Hi,
I need to write and read to the same VISA device from different
VI´s (or different "threads" in the same vi) at approximately the same
time. Labview should be responsible for the timing. It does not work
as intended. The online help and the VISA programmer/user manuals
don't help me. I tried different setups, but the following seems to be
logical:
Sequence Frame 1: Open VISA Device
Sequence Frame 2:
while loop
Thread 1: [Lock/Asyncronous Lock];Write;Read;Unlock
Thread 2: [Lock/Asyncronous Lock];Write;Read;Unlock
(With a shared VISA reference and error wires from frame 1)
Sequence Frame 3:
Close VISA Device
(With VISA references and error wires from frame 1)
I always get timeout errors on one Thread in frame 2. Increasing the
timeout for the locks from 2 000 to 20 000 milliseconds does not
help. (On most occurrences in the manuals and the online help the unit
millisecond is not mentioned).
I suffer from the same symptoms using a while loop with two complexly
separate threads inside:
Open(share mode=1, timeout=4000 ms);write;read;close
The "quick and dirty" solution is using a sequence. But on an RS485
bus with a lot of devices I want to have all vi´s wired in parallel
instead of hiding them in a sequence.
I am using the evaluation version of Labview (5.0.1) on Windows NT as
a standard user. This shouldn´t be an issue: The evaluation version is
a full version that terminates vi´s after 5 minutes.
I am completely lost. Please help me.
Thank you very much
Johannes Niess