08-24-2012 09:42 AM
Thanks....
Can you please check the attachment.....Can you please tell me whether what I have done is right or wrong?
I am forcing some voltage and after a 200ms delay am measuring voltages from the 3 different DVMs and am closing all the VISA sessions simulataneosly. Can that be done?
08-24-2012 09:52 AM
It is wrong. GPIB communication is sequential. That is how it is designed in general. If you want parallel measurements, you need to trigger them at the same time. However, since you have the same instruments, you can use low level GPIB functions to write at the same time, your reads would still be sequential.
08-24-2012 10:58 AM
Sorry, I didn't get you. I am very new to this. Can you please explain?
08-24-2012 11:20 AM
There are numerous tutorials available on GPIB and the handshaking that is done. You can google for 'GPIB tutorial'.
On the GPIB 488.2 palette is the SendList that allows you to provide an array of addresses to write to multiple listeners. The driver you have does not use this so you would have to write this yourself. Reading in parallel is just not supported by the technology. You have to address one instrument at a time and do a read. So, if you want measurements in parallel, trigger the instruments at the same time and then sequentially read.
08-24-2012 11:35 AM
We should probably specify something here. If you mean parallel meaning that the measurements are all taken at the same time (synchronized), then you need to setup digital line triggers. If you mean parallel as in the measurements are taken relatively quickly, but not exactly synchronized, readings within 100ms of each other, then your code is just fine.
The problem is that the GPIB bus is a resource that only 1 process can use at a given time. So all three of your DMMs cannot talk over the bus at the exact same time. One of the DMMs will be querried, then the second, and finally the third, all in no particular order (first come first serve).
Which brings me back to the definition of parallel. If you don't care too much about the timing, then your code is fine. If you truely care about all of the measurements taken at the exact same time, you need to setup triggers.
08-24-2012 12:43 PM
Here parallel means not exactly synchronized. That means for a given input voltage we need to take the corresponding voltage across three different pins.
Is it necessary to take synchronized measurements for voltage and current measurements?
If we don't take measurements at the exact synchronization will it make any difference?
08-24-2012 12:50 PM
You're the one that needs to answer that question. We have no idea how fast your voltage and currents are changing or what your requirements are for doing comparisons. I really don't know the time difference between samples without looking at the instrument manual. You'll get 20 readings from instrument 1 (for however long that takes), then at some unknown time later, 20 measurements from instrument 2, etc.
08-24-2012 12:53 PM
If you are not worried about the synchronization (which it sounds like you shouldn't), then your code will work just fine.
Make sure you have reached a steady state voltage before you take the readings. It really depends on the circuit, but you may have to increase your wait time. I have had UUTs that took seconds for the power supplies to settle.