Hello,
I’m trying to read the Robot Comm message of type Error using the port 30001. Specifically, I’m interested in reading the exact message “Position close to joint limits”
In the simulator I constrained the joint 6 and move the joint such that a protective stop message is encountered. Simultaneously I run the primary parser.
I notice the packet length of Message type 20 (Robot Comm) and subtype 6 (Error code) I receive is of length 35 bytes. Therefore, the fields: uint32_t robotMessageDataType; uint32_t robotMessageData; charArray robotCommTextMessage
are empty.
I would highly appreciate if anyone can please suggest how to get the exact message from the port?
Thank you,
Akgr
Hi @gargsonu0414,
As I count it. robotMessageDataType and robotMessageData is also included in 35 bytes?
Ebbe
Hi @Ebbe ,
Thank you for the reply.
You’re correct.
field : total bytes
messageSize : 4
messageType : 5
timestamp : 13
source : 14
robotMessageType : 15
robotMessageCode : 19
robotMessageArgument : 23
robotMessageReportLevel : 27
robotMessageDataType : 31
robotMessageData : 35
robotCommTextMessage
Since the packet length is 35 bytes, that means the robotCommTextMessage is not received from the controller. Also, robotMessageDataType and robotMessageData are 0.
My motivation is to read the message “Position close to joint limits” remotely using the 30001 port.
Please suggest.
Thank you in advance!
Akgr
Hi Akgr,
Unfortunately the robotCommTextMessage does not contain this information. It is implemented so PolyScope(the frontend) contain a translation from the error code to the message “Position close to joint limits”. The list of error codes can be found on myUR: ErrorCodes
I acknowledge this is not convenient. I will let you know if a better approach shows up.
Ebbe
Hi @Ebbe ,
Thank you for your response.
I understand, for now I manually map the error code to the error message in my program.
Thanks again!
Akgr