A: Is a legacy application which can unfortunately only partially be altered. Until now, it relies exclusively on on a GPIB library to communicate with the device (B).
B: Is a device which can only use GPIB but not VISA . Additionally it is a prober (e.g. UF2000 etc.) instead of a measurement device !
C: As (A) cannot be altered (and for now not be substitued), there are communication sequences where (C) also wants to talk with (B).
Further constraints: (A) and (C) reside on the same workstation and should ideally share one single GPIB-Card. Most hosts have NI-hardware but I guess there exist some which don't have NI-hardware. Furthermore: (A) can run on various windows versions, Linux, Solaris 🙂 ...
From the sktech, there follow classical communication scenarios:
1. E.g. (A) sends a message M1 to (B) and blocks until the result arrives, (C) is not interested in the result. The same example can be created vice versa.
2. It is also possible that (A) sends a message M2 and (C) is interested in the result (this can be handeled by VISA-events ?!).
3. There may be phases in which C is not allowed to "interrupt" the communication between A and B. A theoretical aspect: If deadlocks or
even livelocks (?) occur, how can this be avoided or minimized ? Timeouts in VISA ?
As I'm fairly unexperienced with VISA, I hope someone can point out if it is worth trying to establish this concept with VISA or not ...
Best regards,
TestcellGuy