08-04-2022 03:47 AM
I need to offload certain parts of my test sequence into a separate program called by a CallExecutable adapter.
Since this sub process runs for quite a long time, I'd like to provide some feedback to the test operator about the status of the running test.
Assuming the sub process can provide this kind of data, like a progress bar value (percent done) or some live measurement data of the DUT - what is the best way to transfer this kind of data into TestStand for displaying purposes, already during the run-time of the sub process, before it's finished.
I'm thinking of some kind of inter-process communication where TestStand can poll this data. Is this supported via some kind of test step module? For example using any kind of TCP or UDP based protocol?
I know that I could work around this by using files to save the data in the sub process and load it back into TestStand. But this has disadvantages like concurrent file IO from different processes, especially when data is frequently updated. Aside from the unnecessary hard drive load.
Any suggestions appreciated.
08-05-2022 08:29 AM
Hello. Do you have a custom operator interface you are using? I was thinking you could use UI (User Interface) Messages from your off-load process as there is one that gives a progress percent value (but you would need to keep posting this with updated % values and modify that code). Plus you would then need to modify the operator interface to handle these appropriately.
Here is some details about UI Messages:
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000x3tWCAQ&l=en-US-US
PH
08-05-2022 08:57 AM - edited 08-05-2022 09:08 AM
Can these UIMessages be sent from or to external processes? Seems like this is only internal to TestStand and its sequence editor or user interface. If so, at least I can't find any technical details like what protocol it uses and on which ports.
In general: no I don't have any operator interface yet. I'm just trying to evaluate how to pass this kind of live data into TestStand. As a proof of concept, it would be sufficient to write it on some local variables.