Chris,
Perhaps I can offer you some more information for this.
As for creating a constant, TestStand does not provide a method for creating a constant that cannot be modified at run-time. The non-editable flag is the closest that TestStand offers at this time.
Regarding sharing client sequence file and process model data, I think that a Discussion Forum post by one of my collegues may be of help to you.
""Run Sequence in New Execution - parameters passing"Another option is to pass all the parameters to your client sequence by value. Then when you change these variables, your process model copy of the variables will also reflect those changes.
In addition, I recommended that you should use "RunState.Caller.Locals.ProcessModelVariable" to access a process model variable from your client sequence file. However, using the path "RunState.Root.Locals.ProcessModelVariable" would be a better solution. Using "Root" instead of "Caller" will ensure that you will always access the process model. If you use "Caller" you are referencing the sequence that called the current sequence which may not necessarily always be the process model.
You cannot see the expression "RunState.ProcessModelClient.Data.Seq["MainSequence"].Locals.i" in the Build Expression dialog because this expression is dependent on the sequences that you choose to execute. Many different properties of TestStand depend on the exact system settings and sequence files that you are using. These different properties are not loaded until run-time since before run-time TestStand does not know which sequences you plan to execute. If you wish to see the available properties at run-time, you can insert a breakpoint into your sequence file and start the execution. When the execution stops, change to the context tab. This will have the current information that TestStand has gathered about the current execution.
Hopefully that will clarify my first attempt to answer your questions.
Regards,
Shannon