I've attached a number of PNGs (contained in one zip file) in hopes of providing enough insight into our problem. I have two File Globals that I created to keep track of whether our power meter and VectorNetworkAnalyzer have been calibrated. I perform the calibration in the Setup group of the RF Test subsequence. I then use the FileGlobal values as preconditions to allowing some tests (in the MainSequence of the RF Test Main Sequence) to run. In the sequence file, I've made the step (VNA Gain Cal) a multiNumeric step since I needed to pass back two items of interest (1) whether the calibration was successful, (2) whether the user chose to bypass the calibration.
In the GainCal.vi, I convert the boolean version of these determinations into numerics, and stuff them into array position 0 and 1 of the Cal Results array. At TestStand, I try to extract the numeric values and set the FileGlobals appropriately.
What's bizarre is that (in the VI) the SuccessfulCal is True, the Cal bypassed is false, CalResults[0] =1, and CalResults[1] = 0, as expected, yet my Expression doesn't seem to change the state of my File Globals . I setup a watch on the VNA Calibrated, and triggered it to stop if changed, but it doesn't. I think in the PNG I sent, the VNACalibrated variable is set to True. This is because I changed it to allow the precondition to pass, so I could continue testing. However, it's normally False.
I'm only usiing (or trying to use) the value of Step.NumericArray[0] as the basis for pass/fail of the test. I think I'm setting that up correctly. Anyway, is this a scope issue (again) where FileGlobals are only visible in the Group in which they're set? Any suggestions would be appreciated.