Protocol¶
From Mech-Center to PLC¶
Module Data Structures¶
Control_Output¶
Bit |
Data |
---|---|
7 |
/ |
6 |
/ |
5 |
/ |
4 |
Command execution complete (Bool) |
3 |
Data ready (Bool) |
2 |
Camera exposure complete (Bool) |
1 |
Trigger Acknowldge (Bool) |
0 |
Heartbeat (Bool) |
Status Code¶
Status code. INT32
Calib_Cam_Status¶
Calibration status. INT8
Send_Pose_Num¶
Number of poses sent. INT8
Visual_Point_Index¶
Position of visual_move in the planned path. INT8
DO List¶
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¶
Integer message. INT32
Send_Pose_Type¶
Type of pose sent. INT8
Target_Pose¶
A pose in Cartesian coordinates and Euler angles can be represented by:
[X, Y, Z, A, B, C]
JPS consists of up to 6 joint angles:
[J1, J2, J3, J4, J5, J6]
Byte |
Data |
---|---|
0 to 3 |
X or J1 |
4 to 7 |
Y or J2 |
8 to 11 |
Z or J3 |
12 to 15 |
A or J4 |
16 to 19 |
B or J5 |
20 to 23 |
C or J6 |
Target_Label¶
Label of target point. INT32
Target_Speed¶
Velocity of target point. sINT32
Ext_Output_Data¶
Reserved module for other data for transmission.
This moduel takes up 40 bytes (INT32[1: 10], 10 INT32 integers in total).
Module Functions¶
Heartbeat¶
System heartbeat that flips every 1 second.
Trigger Acknowledge¶
Trigger Acknowledge = 1 means Mech-Mind Software Suite has been triggered sucessfully by the Trigger signal.
Tigger Acknowledge will stay at 1 until the Trigger signal is reset to 0.
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.
..Please see :ref:`` for instructions on using this module.
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.
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 command 102 and 205, only when the last byte of data has been returned will this module’s signal be set to 1.
Status Code¶
The command execution status code returned from Mech-Center.
It may be a normal status code or an error code.
Calib_Cam_Status¶
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.
Visual_Point_Index¶
The position of of the visual_move Task in the planned path.
For example, if the planned path consists of the following move Tasks: move_1, move_2, move_3, visual_move, move_4, then Visual_Point_Index = 4.
DO List¶
The 64 INT8 DO signals for controlling multiple suction cup sections or array gripper.
Notify Message¶
The customized integer message sent by a Notify Task/Step named “Standard Interface Notify” from Mech-Viz/Mech-Vision.
Send_Pose_Type¶
1 means JPS. 2 means TCP.
Target_Pose¶
Cartesian coodinates and Euler angles, or JPS.
Note
The data from this module should be divided by 10000 before using.
Target_Label¶
Correspoinding non-negative integer labels corresponding to the poses.
From PLC to Mech-Center¶
Module Data Structures¶
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) |
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.
Robot_Pose_Type¶
Type of robot pose.
Req_Pose_Num¶
Number of target points requested. INT8
Vision_Proj_Num¶
Mech-Vision project ID number.
Vision_Recipe_Num¶
Mech-Vision parameter recipe number.
The identification number of the parameter recipe to switch to, i.e., the number on the left of the parameter recipe name in
in Mech-Vision.Viz_Task_Name¶
Mech-Viz branching Task name.
Viz_Task_Value¶
Mech-Viz branching Task out port number.
Req_Pose_Type¶
Type of target points requested. INT8
Robot_Pose_JPS¶
JPS includes 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¶
A TCP 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 moduel takes up 40 bytes (INT32[1: 10], 10 INT32 integers in total).
Module Functions¶
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.
Trigger¶
If Trigger = 1, Mech-Center will read the command sent and the command will be executed.
Trigger Acknowlege can be reset once Mech-Center receives the Trigger signal.
The upward segment of the signal is considered as 1.
Reset_Exposure¶
If Reset_Exposure = 1, Exposure Complete will be set to 0.
Data Acknowledge¶
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 is for acknowledging having read the data returned by executing command 102 or command 205.
Data Acknowledge can be reset at heartbeat flip or when Data Ready = 0.
Reset Notify¶
If Reset Notify = 1, the content of Notify Message will be cleared.
Command¶
The command code.
Calib_Rob_Status¶
0: Calibration starts, and command 701 is sent.
1: Calibration in progress and the robot moves normally.
Robot_Pose_Type¶
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.
Req_Pose_Num¶
Number of vision points to request from Mech-Vision.
0: Request all the available vision points from the vision results in Mech-Vision.
Vision_Proj_Num¶
Mech-Vision project ID number.
Vision_Recipe_Num¶
Mech-Vision parameter recipe numner
Viz_Task_Name¶
Mech-Viz Task name.
Viz_Task_Value¶
The value to set in the Mech-Viz Task’s index parameter.
Robot_Pose_JPS¶
Robot JPS for image capturing.
Please multiply the JPS data by 10000 before setting to the module.
Robot_Pose_TCP (Robot_Pose_Flange)¶
Robot flang pose for image capturing.
Please multiply the pose data by 10000 before setting to the module.
Ext_Input_Data¶
Reserved module for other data for transmission.
This moduel takes up 40 bytes (INT32[1: 10], 10 INT32 integers in total).