01-16-2018 11:19 PM - edited 01-16-2018 11:21 PM
Hi all,
I have a VI in my Process Setup which output my device analog channel name. I set the output variable as "Fileglobals.AI_Socket_Channel".
I need to use the variable as input in my another VI in the main sequence.
However, I realised that the "Fileglobals.AI_Socket_Channel" in Process Setup Sequence doesn't pass to the "Fileglobals.AI_Socket_Channel" in the Main Sequence.
Can anyone please advise on this?
**I have tried to change to Locals.AI_Socket_Channel in both sequence and allow data propagation among them but doesn't work as well.
Solved! Go to Solution.
01-17-2018 02:30 AM
The simplest answer (probably not the best) is to define a StationGlobal as it will have the scope to be available to both sequences (StationGlobals.AI_Socket_Channel).
01-17-2018 03:24 AM
Is your ProcessSetup Callback sequence in the same sequence file as your MainSequence that you wish to use the FileGlobals.AI_Socket_Channel?
The Locals data progagation probably wouldn't work for you because your locals would have to propagate to the Process Model from which the ProcessSetup is called, then in the Process Model sequence, you would have to propagate it to the Top Level MainSequence of the Client Sequence File.
I suspect that your MainSequence isn't your Top Level sequence?
If this is correct then your options are:
1) Use a StationGlobal
2) Use a Sub-sequence call not the MainSequence so that you can pass a parameter.
01-17-2018 04:13 AM
01-17-2018 04:18 AM
Hi Ray Farmer,
Thank you for your reply.
Is your ProcessSetup Callback sequence in the same sequence file as your MainSequence that you wish to use the FileGlobals.AI_Socket_Channel?
Yes they are in the same sequence file.
I suspect that your MainSequence isn't your Top Level sequence?
How to know whether my MainSequence is actually the Top Level Sequence?
I am sorry my questions might sounds stupid but i am just a beginner for NI Teststand.
Thanks a lot if you could give me some advice.
Best regards,
XJ
01-17-2018 04:33 AM
Hi XJ,
It's the Sequence that is directly called by the ProcessModel: Single Pass or Test UUTs.
Check out "process models, architecture" in the NI TestStand Help
01-17-2018 07:20 PM
Hi Ray Farmer,
I am using NI Teststand default model, which is ParallelModel.seq.
And i realised that Main Sequence is actually call back type.
Does that means that my main sequence is directly called by the ProcessModel?
However i am still unable to pass the variable from Process Setup to Main Sequence by using the Fileglobals.XXX.
Is there any other way to achieve the goal without using Stationglobals.XXX?
Best regards,
Xui Jing
01-18-2018 12:39 AM
Are the one piece of information that was missing - ParallelModel.seq.
In your sequencefile, open up the sequence file properties and on the General tab, change the Sequence File Globals setting to:
All Executions Share the Same File Globals.
This should sort your problem out.
01-19-2018 12:16 AM
Hi Ray Farmer,
I am trying to avoid all executions share the same Fileglobals as I have set some output reading from UUTs (or sockets) as Fileglobals too.
In this case, if all 4 executions output reading have different values, then the Fileglobals variables which is sharing among all 4 executions will ended up to have all sockets(or all 4 executions) having similar reading.
Hopefully you could understand my concern. Do you have any other suggestions that might help?
Thanks a lot!
Best regards,
Xui Jing
01-22-2018 04:43 AM
Can you not use arrays and use the TestSocket index?