02-27-2014 07:24 AM
I have three testers which each utilize 2 PXI 4071 DMMs. At least once per day, I see a run time error generated by DMM2. Anyone have any ideas? I've been unable to find any info on the error codes I see. I'm new to the forums and my test stand experience is mainly sequence modifications and troubleshooting. If I'm missing something obvious, feel free to point it out.
Error, An exception occurred calling 'RunStep' in 'ISubstep' of 'TestStand Ivi Step Types' An error occurred while executing the step. Component Works IVI Control Error: The IVI Read operation failed for logical name 'PXI_4071_DMM_2'. Details: The measurement status returned by the hardware was not valid. Try decreasing the acquisition rate or the acquisition size. Alternatively, you may try upgrading your system's performance by increasing the processor speed, memory, or both. [IVI Error Code: BFFA4389] Source: TSIviStepTypes [Error Code: -32405, User-defined error code.]
String not found in the language resource filesMainSequence is empty and/or not executed, An exception occurred calling 'RunStep' in 'ISubstep' of 'TestStand Ivi Step Types' An error occurred while executing the step. Component Works IVI Control Error: The IVI Read operation failed for logical name 'PXI_4071_DMM_2'. Details: The measurement status returned by the hardware was not valid. Try decreasing the acquisition rate or the acquisition size. Alternatively, you may try upgrading your system's performance by increasing the processor speed, memory, or both. [IVI Error Code: BFFA4389] Source: TSIviStepTypes [Error Code: -32405, User-defined error code.]
02-28-2014 01:28 AM
Can you tell us a bit more about your acquisition rate and/or test setup? From your description, the error is caused by DMM2, but I'd like to know more about the rest of the test code. One thing to try would be to acquire on just DMM2 using a piece of test code. For example, if your DUT test acquires samples as fast as possible at 3.5 digits on DMM2, create test code that performs the same on just DMM2 and see if the issue persists.
02-28-2014 07:12 AM
Thanks, I'll do some more digging.....
03-03-2014 03:19 PM - edited 03-03-2014 03:20 PM
Based on my understanding of the spec sheet, valid DC voltage ranges for this card (other than auto ranging) are 100mv, 1v, 10v, 100v and 1000v. I've noticed that within my application the DMM is seemingly configured for any number of ranges that don't correspond to one of the ones mentioned.... 200V in the case of the measurements that I see the run time error on. What am I missing?
03-03-2014 04:12 PM
You've listed the correct ranges for the PXI-4071. Note that if you request other than those values, the driver will just pick the next largest range. You can verify the actual range by requesting a range, then using the range property node to see what the coerced range is. For a '200V' input, the PXI-4071 will use the 1000V range.
03-04-2014 07:15 AM
Ok.... so requesting those ranges is probably sloppy programming practice, but not necessarily the root of my problem. Is the driver pretty reliable about picking the right range, or should I think about changing the range requests to valid ones?
03-04-2014 09:57 AM
If you request an invalid measurement range from an NI DMM the driver will reliably coerce the number up to the next largest valid range. However, if you select a range that is larger than the largest possible range, the device will return an error.
03-04-2014 11:40 AM - edited 03-04-2014 12:01 PM
Ok..... While I see this error originate from a couple of places within the code, I see it originate from one section the most often.....
The DMM is set for a range of 200VDC with a resolution of .1. A Do While loop is executed in which voltage is measured until it drops below a certain point for two consecutive measurements, or 50 measurements are taken..... whichever comes first. There is an interval of .1s in the Do While loop. The voltage measurement has a timeout of 5000 ms and sets an error status on a timeout or an over-range. Following the execution of the Do While loop, two more voltage measurements are taken each from the same points utilizing switch executive calls. The results from these two measurements are placed into separate variables for later use.
The fault normally occurs with the second voltage measurement. The measurements within the Do While loop as well as the two following all use the same DMM settings which were set prior to executing the loop.
Supposing the meter is actually set for a range of 1000VDC, there is no chance that any measurement in the system would exceed that.
05-01-2014 11:21 AM
In case the resolution to this problem is useful to anyone else......
I was able to make this run time error go away by putting a 1/2 second wait statement between the two voltage measurements described in my last post.