VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Change Stimulus Profile Editor Gateway IP address from within a running stimulus profile

Hi,

   is there any way to change the Gateway IP address (shown bottom right corner of Stim Profile Editor) from within a running stimuls profile? (like you can change the active project)

0 Kudos
Message 1 of 7
(6,787 Views)

Dear Claudio_G,

 

I got your question, but id doesn’t make any sense for me to change the Gateway IP address in the stimulus profile editor while your stimulus profile is running.

 

So could you please explain to me why you are trying to do this and what is it for?

 

 

 

Kind Regards,

Oleg Scherling, M.Eng | Applications Engineering | National Instruments | NIG |

0 Kudos
Message 2 of 7
(6,771 Views)

Lol, I was expecting this question but answering it would just be out of the scope of the topic and not helpful to people trying to find an answer to whether the Gateway IP address on the stimulus profile can be updated from within a profile.

 

 

Anyway, we have a system made of two parts which are connected between themselves but our test setup allows to separate the two and run the offside part as simulation, allowing two teams to work at the same time on each half of the system. Thus we have 2 separate targets and hosts. Now it happens that we got some data coming from a simulated system which is being simulated on HOST1-TARGET1 and is shared across the two parts so when I run automatic tests using the stimulus profile editor to test the system in it's entirety i want to start and control a pair of host-target using a single stimulus profile editor instance.

 

The limitation incur in the fact that the stimulus profile can start and deploy any veristand project no matter the Veristand Gateway defined in the project file, thus a stimulus profile on a given host can deploy any RT target, including those which are connected to remote versitand gateways if they are reachable through the network but the stimulus profile will only deploy realtime sequences to the Veristand Gateway defined in the bottom right corner which is kind a nonsense to me: why allowing to deploy any number of RT targets through any number of gateways if you can deploy RT sequences only to the one defined in the bottom right corner instead of allowing you to send sequences to the ones you choose while the profile is running?

 

Also, connecting two targets to the same gateway is a no go as we want to keep totally separate testing facilities for development purposes (including no deploy/undeploy overlapping, etc)

 

0 Kudos
Message 3 of 7
(6,768 Views)

Dear Claudio_G,

 

The RT sequences are not deployed to the Gateway's IP address, they are deployed to the controller as defined in the system definition. The Gateway is the host computer that deploys the real-time sequence. As the customer states, you can deploy the project/rt sequence from different Gateways on your network, through the stimulus profile, but it all is still getting deployed to the IP address specified in the system definition. Its really a convenience factor for the end user, not having to be connected to the hardware on the development computer.

 

If you are looking to deploy your RT Sequences to multiple targets, the targets will need to be in the system definition of that project. There are a few ways I think you can get what you are looking for. You could have two projects, one for each of their two targets. If the controllers are very similar you could simply go in and change the IP address depending one which target you working with. You could even disable and enable different.

 

 

Kind Regards,

Oleg Scherling, M.Eng | Applications Engineering | National Instruments | NIG |

0 Kudos
Message 4 of 7
(6,726 Views)

I disagree with your sentence. The RT sequences are deployed to the stimulus profile editor defined Gateway and then that specific gateway will "forward" the sequence to whatever target is connected to the gateway. The stimulus profile has no idea if that sequence can be run on that target or even if something is connected.

 

Lets assume the following

You have a sequence Test Channel.nivsseq which does the following

if Targets/Controller/Chassis1/DAQ/PXI6225/AI0 > 5

     Pass = TRUE

 

you have Project1 with defined Veristand Gateway as HOST1 and Target1 in the SDF with a single channel Targets/Controller/Chassis1/DAQ/PXI6723/AO0

 

you have Project2 with defined Veristand Gateway as HOST2 and Target2 in the SDF with a single channel Targets/Controller/Chassis1/DAQ/PXI6225/AI0

 

You run Stimulus Profile Editor on HOST1 and have the Gateway IP Address on the Stimuls Profile Editor bottom right set as HOST1, you do the following in the stimprof:

Open Veristand Project Project2

Run Active VeriStand Project

Call Real-Time Sequence "Test Channel.nivsseq"

 

What happens is:

 

Veristand on HOST1 opens Project2

 

On run command, VeriStand on HOST1 connect to VeriStand gateway on HOST2 and deploys Project2 to Target2. Note that opening and running the project from the Stimulus Profile Editor did not update the Stimulus Profile editor Gateway IP address in the bottom right corner,

 

At this point HOST2 gateway is connected to Target2 and Target 2 is running the SDF of Project2.

 

On call Real-Time Sequence Stimulus Profile Editor tries to connect to HOST1 gateway because thats what is defined in the bottom right corner, which is not running anything, thus Stimulus Profile fails saying that cannot find any gateway connected to target.

 

Now you manually set the bottom right gateway ip to HOST2 in the Stimulus Profile Editor and rerun the same profile, what happens is:

 

Veristand on HOST1 opens Project2

 

On run command, VeriStand on HOST1 connect to VeriStand gateway on HOST2 and deploys Project2 to Target2. Note that opening and running the project from the Stimulus Profile Editor did not update the Stimulus Profile editor Gateway IP address in the bottom right corner,

 

At this point HOST2 gateway is connected to Target2 and Target 2 is running the SDF of Project2.

 

On call Real-Time Sequence Stimulus Profile Editor tries to connect to HOST2 gateway because thats what is defined in the bottom right corner, which is running Project2, thus Stimulus Profile runs fine.

0 Kudos
Message 5 of 7
(6,718 Views)

Hi Claudio_G,

 

I talked to our specialties in the USA and they say that there is no way to change the Gateway IP address from within a running stimuls profile.

The only way to do this programmatically is to write a .NET automation for VeriStand.

 

You could use the .NET API in LabVIEW for this.

 

 

NI VeriStand™ .NET API:

 

http://zone.ni.com/reference/en-XX/help/372846F-01/vsnetapis/bp_vsnetapis/

 

 

 

Kind Regards,

Oleg Scherling, M.Eng | Applications Engineering | National Instruments | NIG |

 

0 Kudos
Message 6 of 7
(6,683 Views)

Thanks Oleg, I am looking into that too.

 

By the way, I implemented something very similar to what you proposed in the other post. As the project file does not really hold any particular information about targets other than a gateway to use, I created a third project that points to the same Workspace and SDF files as my original Project2 but this project (which I call Project2 Automation) has a VeriStand gateway of localhost instead of HOST2, this way the engineers can use Project2 from any machine which has the VeriStand client and connect to the correct gateway, while when we run automated test I use Project2 Automation which will use my testing machine HOST1 (resolved through localhost) so I can deploy any target from the same gateway, then use a sequence of "disconnect, open, run" to connect the gateway to the target I want to control and then deploy sequences as needed. At this point, being the same SDF file used on both project2 and project2 automation, we still have a single point of configuration which is the shared SDF file.

 

Obviously this kind of setup is to run static tests (set some value on target2, go back to target1 and test statically/dinamically target1)

0 Kudos
Message 7 of 7
(6,680 Views)