We are trying to use the program state in some of our data collection and want to know if its possible to get the states that correspond to the decoded values. I have looked at the RTDE documentation as well as the client_interfaces.xls document and cannot seem to find the states in either location.
Are you looking for whether a program is running or not?
Using the Primary or Secondary client interfaces, check out the value
bool isProgramRunning in the Robot Mode data package. (Message type 16, package type 0)
Using Realtime client, check out
ProgramState which has Gnuplot col. 132 in 3.2/3.3.
Using RTDE, check out
runtime_state which shows program state.
I already use the program state from the realtime client (we display in our mobile app whether the program is running, paused or stopped in real time to the user), there is nothing in the documentation though telling me what the various states actually mean, we have figured out a couple of them by trial and error but would like to know officially all of the states. I am trying to switch to the RTDE and there is nothing in the documentation there either. We would just like official documentation on what the various states of the program actually mean. For example runtime_state has no definition while other UINT32 states tell us what the bits actually mean:
You can see the green “Play” button beside robot names for the robots that are currently playing programs in the field. The other robots are showing as powered off currently (some of these are demo robots for testing purposes, some are in Florida and powered down due to the hurricane)
As we go through the states in either realtime client or RTDE when we hit the states that we do not know we just pass a null value, it would be nice to know what they were actually.
runtime_state register might change in future releases, and is mainly used internally by the controller.
Hence documenting this might not be consistent with future releases.
You are welcome to share what you have found with “trial and error” for these bits.
My guest for run_state values :
Bits 0-2: is program stopped | is program running | is program paused
But why not just give the actual meaning in documentation ?
I agree. Still no documentation for ProgramState or runtime_state? If the meanings for the values change, document those changes. At least that way developers using the state will know when things break. Right now it is in limbo.
Currently, I create and operate this enumeration.
Please refer to this.