I don't think that VISA allows this. It would be a great feature, though.
One way to attack the problem would be to create "wrapper" LabView VISA routines
for OPEN, READ, WRITE, and CLOSE. These wrapper routines would call a server
process on the remote machines (if applicable), either via TCP/IP client server
or via VIServer. To discriminate between local and remote resources, you could
define the resource name as something like:
R(FOO.BAR.NET:6000)GPIB0::1::INSTR (for remote machine FOO.BAR.NET at port 6000)
GPIB0::1::INSTR (for local machine).
The wrapper routine would look for the presence of the "R" in front.
One difficulty is writing a server with the capability to "listen" to multiple
potential clients (the wrapper routines). I have (or had) something which
worked remotely, so it is possible. The other main issue I dealt with (and
haven't successfully solved) is dealing with setting VISA properties remotely.
It is oftentimes necessary to set the timeout, the termination character, etc.
As far as I could tell, I would need to build a command parser into the server,
to deal with (SET TIMEOUT 2000) or (GET TIMEOUT VALUE). This seems painful, so
I haven't done this yet.
HTH,
Andy