While a program is running, how do I check if the program is in ‘wait’ state?
Is this data exposed over RTDE?
I checked the link RTDE - Read Robot State and Safety State.
couldn’t get the details clearly.
It would be great if someone tells how to get this
Do you mean the program is executing wait instruction? If this is the case, you can get the state until you use script to set some signal, such as register etc. to indicate the state. If you mean the program finishing state, you can get from port 30001/30002 or dashboard with is_ProgramRunning.
Thanks for responding.
Yes. I like to know the wait state and duration of the wait state when a program is executing the wait instruction.
Which communication interface should I use to get this information?
There isn’t a direct way for access this state since from the point view of robot, it is executing the program normally. So a workaround could be you set a register before and after a wait instruction and monitor the register via 30004 or modbus.
Idea for an alternative approach…
If your program is written in Polyscope it will include label messages for every line in the program. These can be read out from the Primary Client Interface Datastream on port 30001, in the LabelMessage message type. You could monitor the last line to be executed and whether it was a wait or not.
Not an ideal solution as it’s quite troublesome and won’t work if you’ve written your program directly in URScript. You may be able to create your own custom label messages in that case, although this is something I haven’t tried.