I am writing a sequence that reads some analog channels, performs some tasks, reads some other analog channels and so on. I am using the batch process model to test multiple DUTs at the same time. Currently, when the sequence gets to a step where I call a LabVIEW VI that handles the data acquisition, each socket perfroms the step in series.
This was fine initially, but now due to the large number of DAQ reads throughout the sequence, the time spent executing the reads in series is becoming an issue. I started to explore using notifications to pass each sockets channel list to the first socket, performing a 'global DAQ read' with all socket channels and then passing the results back to each socket.
I have been unsuccessful with this so far and would appreciate some help.
do you have some examples of your code? that will help...
so what you want to do is having a STEP to make a MULTIPLE read of all the channels. Then pass the data of the channels read to the corresponding socket?
Dont know if this would be like an acceptable practice but i have done somethign similar and it worked.
let me know what you guys think.
Thanks for the response buton.
What I ended up doing was to initialze a DAQ task for a certain signal to include the channels of each socket. Then in the sequence, when I want to read from the DAQ, I have only the first socket execute the read step (which would read the specific signal on all sockets) and then put the array in a FileGlobal. By changing the sequence file setting to have each execution share FileGlobals, the next step has each socket index the FileGlobal array based on the socket number and pull its data from it.
I'm not sure if it's the best way to go about it, but it is working for now.