From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
04-27-2007 03:24 PM
04-30-2007 02:16 PM
04-30-2007 03:41 PM
05-01-2007 07:31 AM
RDA used to be useful for this...
Otherwise VI Served Action Engines could do this work with some support functions that do the actual I/O and keep the AE's updated. The AE could also allow or prevent the same channels to be shared across PC.
Then again there is DSC that could help depending on the throughput requirements.
Ben
05-02-2007 08:08 AM
05-02-2007 10:19 AM
It is still not clear to me EXACTLY what you want to do but maybe if I outline some tools it will help. These are possible things I could see you using to accomplish your goal. I am not sure you are going to be successful with VI Server but it is an option.
1. In LabVIEW 8.0 and greater there is a MAX VI where you can programatically import and export files. One possibility in the beginning of your program would be to go out on the network and export the configuration from your server machine, save that ini file to the local system and then programatically import that file into MAX. Now you have access to all of the global channels that were on the server, but of course the same hardware needs to be on the client (which is kind of what I read from your original e-mail. The ONLY thing I am not sure will work or not is if you can export to an IP address that is running Windows. I know if the target/server was an RT controller it would be no problem, but since in your case it is a Windows machine I am not positive...but it is an easy experiment.
2. You can use the DAQmx I/O server. This uses the LabVIEW shared variable technology in conjunction with MAX. From your client system(s) you can create a variable which points at the global channels on your server. The only issue I see with this is if you create a new global channel you will also need to create a new variable. I can't think of a way to programatically create a variable, but that might be my lack of knowledge on that subject. It might very well be possible to get a list of global channels and then programatically create the variables.
3. As someone else mentioned you could also programatically create all of your global channels on the client. Again, one way you could do this is export the server information to a text file. You could just do this everytime you make a change to the server. Store that file in a common location, then read that file in on the client system, parse through the data, and programatically create the channel in MAX
These are the options I can think of...hope they help.
StuartG
05-02-2007 01:59 PM
05-02-2007 02:09 PM
Hi Steve,
I'll let the NI guys tell you how to go about using the VI server across the network.
Once you figure that out, I'd probably implement this scheme by serving an Action Engine that was tailored to your requirements since they will help you avoid issues with multiple PC trying to fight with each other over the resourse you are sharing.
Ben
05-03-2007 12:50 PM
05-09-2007 02:00 PM