11-11-2020 09:46 PM
I use labview2017 programming and usb-4065 to measure the resistance of multiple lines, which are switched through relays. Now there are two problems, one is accuracy, the other is speed.
For accuracy. The line resistance measured by me has a reference value. I often encounter the insulation resistance which is originally infinite. The actual measured value is only 30m or 40m. In this way, it does not meet the range of the reference value. I mark it as abnormal.
I optimized it by measuring the mechanism of voting three times. If it is normal twice and abnormal once, it is considered normal. When measuring 1000 times, there will be one abnormal and two normal conditions in about 20 times. As shown in the figure below.
I want to know what the mechanism of usb-4065 is. Is there a FIFO queue? Only when I read it, it will output. At this time, it will not read the real-time value, but the resistance value earlier in the queue. Or when it is measuring infinite resistance, it selects the range from small to large, and every time it tries to measure the range, it will output a measured value, so that every time I read it out, it is the middle value, not the final value. My program is shown below.
Forgive me for being a new LabVIEW programmer.
I have also considered whether to put the DMM measurement in a separate while loop, and read the measured results in the main loop through a global variable. I wonder if this can solve the problem of accuracy.
For speed, measure 10 Ω and other smaller resistance, about 0.8s per point, and infinite insulation resistance, about 1.4s point. This is unacceptable and even slower than manual measurement. I know that the Ni 4065 measurement cycle is made up of three measurement phases: switch time, setting time, and aperture time. Setting time and aperture can be set using the nidmm property node.Would it help to set the Setting time and Aperture time?
Thank you for any reply
Solved! Go to Solution.
11-23-2020 08:42 PM
I put the measurement in a separate loop and i was shown. And set the aperture time and settle time to 0. that is to make 4065 work at the minimum time interval and the fastest measurement speed. But I counted it. 60 seconds can only measure 143 points, and it took 60 seconds for i to go from 0 to 143. The resolution is 4.5. I have read the manual, and it was mentioned that resolution of 4.5 can measure 3000 points per second. Why is it so slow, do I need to set up anything else?Look forward to your reply
11-25-2020 11:06 AM
In this latest code, please initialize and configure once, place the read/measure API in the loop. Reducing the aperture time and averages will help speed up the measurement at the cost of accuracy.
Example, with 1 PLC aperture time, you could literally make only 50/60 samples per second (based on power line frequency 50/60Hz) assuming 0 overhead. In reality, there are multiple overheads when making a measurement at the hardware level and software level.
What is the sampling rate you are targeting?
Please do note that sampling rate come at the cost of accuracy. Example, for comparison 3458A DMM can make 6 readings per second at 10PLC for 8.5digit with auto-zero off and only 3 readings per second with autozero on.
11-30-2020 02:33 PM
In addition, you should configure the instrument to perform 1000 multipoint measurements one time, rather than a single-point measurement 1000 times. Please look at the installed examples.
12-08-2020 07:05 PM
My target sampling rate is about 3-4 times per second. The latest code is useful. By adjusting the parameters, it is found that the aperture time of 0 seconds and the setting time of 0.07 seconds can achieve better speed and accuracy. Now I measure 2500 points, and it is almost 17 minutes. It's almost satisfactory. Thank you for your reply.