Im am using v9.8.0 of NI-DAQmx, the NI hardware is a PCIe 6320 in a Siemens IPC running Windows 7 Enterprise. My software is writte in Delphi (and uses a Delphi adaptation of the C API).
We have been using this and similar setups very successfully for over a decade.
I am setting up an implicit buffered pulse measurement (for obtaining the high and low pulse lengths of a TTL encoder signal, counted in ticks) like this (only the parts that I think are relevant):
- I am calling DAQmxCreateCIPulseChanTicks with a minVal of 2 and a maxVal of 1000000.
- I am calling DAQmxCfgImplicitTiming, choosing continuous sampling
- After starting the task (which is done using an arm start trigger), I am calling DAQmxReadCtrTicks, where I choose to read whatever values are present (-1) with no timeout (0).
The error code returned by DAQmxReadCtrTicks is -224707 (which is undocumented), the error message reads "Internal Software Error occurred in C_API software. Please contact National Instruments Support. (-224707)".
(Note: I am also doing some other stuff in my setup, e.g. another one of the 6320's counters is used for a different counting task (quadrature encoder position). There is also other NI hardware present & used, like a PCI 6133 and a PCIe 6509. The error message happens only if I add the above to my otherwise happily working setup. So there is a possibility of "interference" with the stuff I do. Normally the NIDAQmx error messages are quite helpful in pinpointing the root cause. In this case, however, I triggered something bad ...)
Has anyone ever encountered this error message / code?