NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How to constantly check for signal when sequence or tests are executing

I have PLC and Teststand that communicate TCP/IP Modbus over Ethernet (reading PLC registers as signals).

I'm using Teststand Parallel proces model with 4 test sockets.

Each of the Testsockets can execute tests only if "General Ready Signal" from PLC is at state 1. If some error in PLC program accurs, PLC returns Teststand General Ready Signal = 0. 

 

The question is:

How to constantly check for this signal? For example, at the beginning of the socket start I check for signal, and if it is 1 I execute some tests. But what if PLC returns General Ready Signal = 0 in the meantime tests are executing? I don't know that if I don't use LV VI to check it? Does this can be realized somehow?

For example: 

In the setup state, I check if Ready = 1, and then I constantly check (example every 50 ms) if this signal is 1, also in-between tests are executing...

0 Kudos
Message 1 of 4
(2,508 Views)

What do you want to happen when the General Ready Signal goes to 0?  Do you want the tests to terminate?  Or do you just want them to pause until it goes back to 1?

 

What version of TestStand and LV are you using?

 

I threw this together in like 5 minutes.  Hopefully it can demonstrate the point.  The key is to start the monitoring thread outside of any of the sockets.

 

Cheers,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Download All
0 Kudos
Message 2 of 4
(2,495 Views)

Can You please save Teststand file with compatibility to version 16.0.0.193? I cannot open file that was saved in TestStand 17.0.0.184 version.

 

So "Start monitoring thread out of any socket" -> this means that I have to open another test socket in witch I will only call your vi that checks for signal?

 
0 Kudos
Message 3 of 4
(2,483 Views)

Ok

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
Download All
0 Kudos
Message 4 of 4
(2,475 Views)