Dear NI Community,
I am currently involved in a project where we work with a PXI 4072 for 2-wire and 4-wire measurements and I encountered an issue which heavily influences the execution time of the measurement process. After successfully setting up the system to perform one measurement, our main goal for the moment is to reduce the time of a single measurement as much as possible, as during the execution of the whole process around 8000 measurements will be carried out (thus reducing the time for one measurement will have a huge impact on the speed of the whole process). After looking at timing data from the built-in LabVIEW profiler, I saw that the niDMM Initialize VI takes the most time in a single measurement, so I decided to put the initialization process in front of the loop. After this step my execution time was reduced drastically, but the DMM is now not capable to gather the data after the second iteration of the loop.
The measurement system contains one PXI 4072 DMM and nine PXI 2535 Switch Matrices, all built in an NI STS T2. The application is written in LabVIEW 2012.
As you can see on the images below, I am working with a state machine architecture to ensure that the order of execution is correct. All the three states are also described.
NOTE: The images are not of the actual VI that I am working with, as I am not entitled to share those.
Figure 1. Initial, working, setup - slow execution time due to constant initialization
Figure 2. Very fast execution time, incorrect data
Ultimately, my question would be if it is possible or not to avoid constant re-initializations of the DMM every time I need to measure. I have tried substituting the niDMM Read VI with the sequence of niDMM Initiate, Fetch and Abort, but it resulted in the same problem. A solution that I have found was to always reset the DMM after every measurement, using the niDMM Reset VI, however, it did not decrease the execution time (reseting took as much time as initializing). I have also tried introducing a delay between loop iterations, but without any success.
I hope my explanation was clear enough, but if there are any uncertanties, let me know and I will try to clarify it.
Thank you for your help.
Ferenc Fodor