Protocol¶
From Mech-Center to PLC¶
Control_Output¶
Bit
Data
7
/
6
/
5
/
4
Command execution complete (Bool)
3
Data ready (Bool)
2
Camera exposure complete (Bool)
1
Trigger Acknowledge (Bool)
0
Heartbeat (Bool)
Command_Complete¶
This module is for indicating that the execution of a command has been completed, and the data returned by the command can be read.
For commands 102 and 205, only when the last byte of data has been returned will this module’s signal be set to 1.
Data_Ready¶
This module is for indicating that new data has been sent from Mech-Center to the PLC, and the PLC can read the data.
This module’s signal is for command 102 or command 205.
Exposure_Complete¶
When the camera completes the exposure, Exposure Complete will be set to 1, indicating that the object can be moved or the robot working eye-in-hand can move.
Trigger_Acknowledge¶
Trigger Acknowledge = 1 means Mech-Mind Software Suite has been triggered successfully by the Trigger signal.
Tigger Acknowledge will stay at 1 until the Trigger signal is reset to 0.
Heartbeat¶
System heartbeat that flips every 1 second.
Status_Code¶
The command execution status code returned from Mech-Center.
It may be a normal status code or an error code.
Status code. INT32
Calib_Cam_Status¶
Calibration status. INT
For command 701: calibration.
1
means the calibration is in progress.
0
means the calibration has been completed.
Send_Pose_Num¶
The number of poses sent by executing the command at the time.
INT8
Visual_Point_Index¶
Position of visual_move in the planned path. INT8
For example, if the path is composed of Tasks move_1, move_2, visual_move, move_3 sequentially, the position of visual_move is 3.
If in the path there is no visual_move Task, the returned value will be 0.
DO_List¶
The 64 INT8 DO signals for controlling multiple suction cup sections or array grippers.
Byte
Data
0
DO list 1: signal 0 to 7
1
DO list 2: signal 8 to 15
2
DO list 3: signal 16 to 23
3
DO list 4: signal 24 to 31
4
DO list 5: signal 32 to 39
5
DO list 6: signal 40 to 47
6
DO list 7: signal 48 to 55
7
DO list 8: signal 56 to 63
Notify_Message¶
The customized integer message sent by a Notify Task/Step from Mech-Viz/Mech-Vision.
Integer message. INT32
Send_Pose_Type¶
1 means JPs. 2 means TCP.
Type of pose sent. INT8
Target_Pose¶
Robot pose of the target in either robot TCP or JPs.
Note
The data from this module should be divided by 10000 before use.
A pose in Cartesian coordinates and Euler angles can be represented by:
[X, Y, Z, A, B, C]
JPs consist of up to 6 joint angles:
[J1, J2, J3, J4, J5, J6]
Byte
Data
0 to 3
X or J1, INT32
4 to 7
Y or J2, INT32
8 to 11
Z or J3, INT32
12 to 15
A or J4, INT32
16 to 19
B or J5, INT32
20 to 23
C or J6, INT32
Target_Label¶
Non-negative integer labels of targets. INT32
Target_Speed¶
Velocity parameter percentage values of the move-type Tasks of targets. INT32
Ext_Output_Data¶
Reserved module for other data for transmission.
This module takes up 40 bytes (INT32[1: 10], 10 INT32 integers in total).
From PLC to Mech-Center¶
Control_Input¶
Bit
Data
7
/
6
/
5
/
4
Reset Notify (Bool)
3
Data Acknowledge (Bool)
2
Reset Exposure_Complete (Bool)
1
Trigger (Bool)
0
Comm Enable (Bool)
Reset_Notify¶
If Reset Notify = 1, the content of Notify Message will be cleared.
Data_Acknowledge¶
Data_Acknowledge is for acknowledging having read the data returned by executing command 102 or command 205.
If Data_Acknowledge = 0, the PLC has not read the data from Mech-Center and the data are kept at the port.
If Data_Acknowledge = 1, the PLC has read the data from Mech-Center and Mech-Center can write the data of the next round.
Data_Acknowledge can be reset at heartbeat flip or when Data_Ready = 0.
Reset_Exposure¶
If Reset_Exposure = 1, Exposure Complete will be set to 0.
Trigger¶
If Trigger = 1, Mech-Center will read the command sent and the command will be executed.
Trigger Acknowledge can be reset once Mech-Center receives the Trigger signal.
The upward segment of the signal is considered as 1.
Comm Enable¶
0
: Communication disabled. Mech-Center will ignore the Trigger signal.
1
: Communication enabled. The Trigger signal will work and Mech-Center will receive commands.
Command¶
Command code.
INT32.
Calib_Rob_Status¶
0
: The calibration starts.
1
: The robot has normally moved to the last calibration point sent.
2
: The robot failed to move to the last calibration point sent.INT8.
Vision_Proj_Num¶
Mech-Vision project ID number.
The integer ID number of the Mech-Vision project in Mech-Center, i.e., the number shown on the left of the project path in
in Mech-Center. The number can be adjusted by dragging the projects.INT8.
Vision_Recipe_Num¶
Mech-Vision parameter recipe number.
The ID number of the parameter recipe to switch to, i.e., the number on the left of the parameter recipe name in
in Mech-Vision.Recipe number range: 1—99.
INT8.
Viz_Task_Name¶
The Task ID of the Mech-Viz Task involved. It can be read and set in the Task’s parameters.
INT8.
Viz_Task_Value¶
The value to set in the Mech-Viz Task’s index parameter, or Mech-Viz branching Task exit port number.
INT8.
Req_Pose_Num¶
Number of targets to request from Mech-Vision.
0
: Request all the available vision points from the vision results in Mech-Vision.INT8.
Req_Pose_Type¶
Type of targets requested. INT8.
0
: No image-capturing robot pose is needed (eye-to-hand mode).
1
: The image capturing robot pose sent is in JPs.
2
: The image capturing robot pose sent is a flange pose.INT8.
Robot_Pose_JPS¶
Robot JPs for image capturing.
Please multiply the JPs data by 10000 before setting it to the module.
JPs include up to 6 joint position data (6 INT32 integers):
[J1, J2, J3, J4, J5, J6]
Byte
Data
0 to 3
J1
4 to 7
J2
8 to 11
J3
12 to 15
J4
16 to 19
J5
20 to 23
J6
Robot_Pose_TCP (will be renamed to Robot_Pose_Flange)¶
Robot flang pose for image capturing.
Please multiply the pose data by 10000 before setting it to the module.
A flange pose includes Cartesian coordinates (X, Y, Z) and Euler angles (A, B, C), 6 INT32 integers in total.
[X, Y, Z, A, B, C]
Byte
Data
0 to 3
X
4 to 7
Y
8 to 11
Z
12 to 15
A
16 to 19
B
20 to 23
C
Ext_Input_Data¶
Reserved module for other data for transmission.
This module takes up 40 bytes (INT32[1: 10], 10 INT32 integers in total).