Hi all, Thanks for reading this. I have a problem with getting an application controlling an instument to work from a virtual machine. the reason for using a virtual machine is to avoid the problem of having 2 controllers on 1 bus, and to be able to download parameters to one of the controllers.
I am using a PC running Linux with the NIGPIB drivers. A piece of control s/w is running in NT4 on a virtual platform. There is communication between the virtual machine and the host machine on a tcp/ip layer, and SAMBA is running. I can use the NIenet linux driver to produce a second ethernet port (really the GPIB PCI card). What is causing me real problems is how to get the control application running in NT4 on the virtual machine
to see either the GPIB card on the PCI bus of the host machine, or to see the second ethernet port.
The advantage if this can be made to work is that the nedd for 2 controllers is removed, at the moment its 1 pc dedicate to just 1 item of test equipment, and the main control system running labview controlling he rest. This will also mean that the main control function can be made via ethernet , and that means of course from anywhere.
If you are using a GPIB-ENET you can talk to it from many different computers. With Windows NT there is a special driver for the ENET that you will have to install. See this page http://www.ni.com/support/gpib/enetnt/default.htm
My answer is based on the assumption that you will be using LabVIEW to develop the software for this application.
If this is the case, I would suggest using GOOP (http://www.ni.com/goop/) to develop an instrument driver for your instrument and then develop a proxy for the instrument driver using techniques outlined in this nice presentation on "Distributed GOOP objects" by Endevo:
IMHO, Distributed GOOP objects are a very clean way to use LabVIEW's VI server to communicate with instruments/objects over the network. If you use this method, the application will not communicate directly with the GPIB card from the remote computer. The remote computer will use VI server to make remote calls to instrument driver VI's on the Linux machine.
If you are new to LabVIEW GOOP may be a little overwhelming at first. Read up on the GOOP info on the ni web site and then look at the link above.
Also, If you don't have LabVIEW 6, you will have to download the GOOP files to get started.