通信协议

您正在查看最新版本(V2.1.0)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持。

寄存器映射表

字节地址(十进制) 位地址 名称 数据类型 所占数量 PLC输入/输出

0

CONTROL_OUTPUT

BITS8

1

PLC输入,即从视觉系统到PLC,共114个字节或57个字

0.0

HEARTBEAT

BIT

1

0.1

TRIGGER _ACKNOWLEDGE

BIT

1

0.2

EXPOSURE_COMPLETE

BIT

1

0.3

DATA_READY

BIT

1

0.4

COMMAND_COMPLETE

BIT

1

0.5

/

BIT

1

0.6

/

BIT

1

0.7

/

BIT

1

1

CONTROL_O_RESV

BITS8

1

2

CALIB_CAM_STATUS

UINT8

1

3

SEND_POSE_NUM

UINT8

1

4

SEND_POSE_TYPE

UINT8

1

5

VISUAL_PT_INDEX

UINT8

1

6

DO_LIST

BITS8

8

14

DI_LIST

BITS8

8

22

NOTIFY_MSG

SINT32

1

26

RESV_OUTPUT_1

UINT32

1

30

RESV_OUTPUT_2

UINT32

1

34

RESV_OUTPUT_3

UINT32

1

38

STATUS_CODE

SINT32

1

42

TARGET_POSE

SINT32

6

66

TARGET_LABEL

SINT32

1

70

TARGET_TOOL_ID

SINT32

1

74

EXT_OUTPUT_DATA

SINT32

10

0

CONTROL_INPUT

BITS8

1

PLC输出,即从PLC到视觉系统,共118个字节或59个字

0.0

COMM_ENABLE

BIT

1

0.1

TRIGGER

BIT

1

0.2

RESET_EXPOSURE

BIT

1

0.3

DATA_ACKNOWLEDGE

BIT

1

0.4

CLEAR_NOTIFY

BIT

1

0.5

/

BIT

1

0.6

/

BIT

1

0.7

/

BIT

1

1

CONTROL_I_RESV

BITS8

1

2

CALIB_ROB_STATUS

UINT8

1

3

ROBOT_POSE_TYPE

UINT8

1

4

REQ_POSE_NUM

UINT8

1

5

REQ_POSE_TYPE

UINT8

1

6

VISION_PROJ_NUM

UINT8

1

7

VISION_RECP_NUM

UINT8

1

8

VIZ_TASK_NAME

UINT8

1

9

VIZ_TASK_VALUE

UINT8

1

10

RESV_INPUT_1

UINT32

1

14

RESV_INPUT_2

UINT32

1

18

RESV_INPUT_3

UINT32

1

22

RESV_INPUT_4

UINT32

1

26

COMMAND

SINT32

1

30

ROBOT_POSE_JPS

SINT32

6

54

ROBOT_POSE_TCP

SINT32

6

78

EXT_INPUT_DATA

SINT32

10

从视觉系统到PLC

CONTROL_OUTPUT

Bit 位 数据

7

/

6

/

5

/

4

指令执行完成(布尔值)

3

数据已更新(布尔值)

2

相机曝光完成(布尔值)

1

系统触发成功(布尔值)

0

心跳(布尔值)

COMMAND_COMPLETE

该信号用于指示指令执行完成,用户可以读取端口返回的状态码和其他数据。对于 102 和 205 指令,只有当最后一组位姿数据传输完成时,该信号才会被置高。

DATA_READY

该信号用于指示位姿数据可读。专用于 102 或 205 指令接收多组机器人位姿数据时。

EXPOSURE_COMPLETE

当相机曝光完成时,该信号被置高。用于指示被拍目标物体或 EIH 机器人可以从拍照位置移动。

TRIGGER _ACKNOWLEDGE

TRIGGER _ACKNOWLEDGE 等于 1 表示视觉系统被 TRIGGER 信号成功触发。该信号会保持高位直至 TRIGGER 信号复位。

HEARTBEAT

系统心跳,1 秒反转一次。

STATUS_CODE

状态码,INT32。

视觉系统返回的执行状态码,包括正常状态与错误码。

CALIB_CAM_STATUS

标定进行状态,INT8。

专用于 701 指令标定。0:标定中。1:标定结束。

SEND_POSE_NUM

发送的位姿数量,INT8。 通过此次执行指令传输的位姿数。

VISUAL_POINT_INDEX(简写VISUAL_PT_INDEX)

“视觉移动”步骤目标点在整个路径中的位置。“视觉移动”步骤即移动至视觉点(抓取物体的点)的移动步骤。

比如,如果规划路径由以下步骤组成:“定点移动_1”,“定点移动_2”,“视觉移动”,“定点移动_3”,则“视觉移动”步骤位置为3。

如果路径中无“视觉移动”步骤,则该参数值为 0。

数据类型:INT8

DO_LIST

用于控制多个吸盘分区或阵列夹具的 64 个 INT8 DO 信号。

Byte Bit 0~7

0

DO 列表 0,信号 0~7

1

DO 列表 1,信号 8~15

2

DO 列表 2,信号 16~23

3

DO 列表 3,信号 24~31

4

DO 列表 4,信号 32~39

5

DO 列表 5,信号 40~47

6

DO 列表 6,信号 48~55

7

DO 列表 7,信号 56~63

NOTIFY_MESSAGE(简写NOTIFY_MSG)

Mech-Viz/Mech-Vision 的“通知”步骤发送的自定义整数消息。

以整数为格式的消息,INT32。

SEND_POSE_TYPE

发送的位姿类型,INT8。

  • 1:机器人关节角 JPs。

  • 2:机器人工具中心点 TCP。

TARGET_POSE

机器人 TCP 或 JPs 形式的目标点机器人位姿。

从此模块的读取的数据在使用前应除以 10000。

以三维坐标和欧拉角表示的位姿数据结构如下:

X, Y, Z, A, B, C

以机器人关节角 JPs 表示的位姿最多包含 6 个关节角度:

J1, J2, J3, J4, J5, J6

Byte Bit 0~7

0~3

目标点 X 坐标或 J1 关节角,INT32

4~7

目标点 Y 坐标或 J2 关节角,INT32

8~11

目标点 Z 坐标或 J3 关节角,INT32

12~15

目标点 A 角度或 J4 关节角,INT32

16~19

目标点 B 角度或 J5 关节角,INT32

20~23

目标点 C 角度或 J6 关节角,INT32

TARGET_LABEL

发送的位姿对应的标签。该值为非负整数。

数据类型:INT32

TARGET_TOOL_ID

发送的位姿对应的末端工具编号。范围:0 到 100。

数据类型:INT32

EXT_OUTPUT_DATA

保留模块,用于传输其他数据。

该模块占用 40 个字节(INT32[1:10],总共 10 个 INT32 整数)。

从PLC到视觉系统

Control_Input

Bit 位 数据

7

/

6

/

5

/

4

重置消息通知(布尔值)

3

数据确认(布尔值)

2

复位 EXPOSURE_COMPLETE “曝光完成”(布尔值)

1

触发信号(布尔值)

0

通信使能(布尔值)

RESET_EXPOSURE

复位 EXPOSURE_COMPLETE “曝光完成”(布尔值)

如果 RESET_EXPOSURE = 1,EXPOSURE_COMPLETE 将被设置为 0。

DATA_ACKNOWLEDGE

数据确认(布尔值)用于确认已读取执行 102 指令或 205 指令返回的数据。

DATA_ACKNOWLEDGE = 0,表示PLC 还没有从视觉系统读取数据,数据保留在端口。

DATA_ACKNOWLEDGE = 1,表示 PLC 已从视觉系统读取数据,视觉系统可以写入下一轮的数据。

DATA_ACKNOWLEDGE 可以在 HEARTBEAT 翻转或 DATA_READY = 0 时重置。

CLEAR_NOTIFY

重置消息通知(布尔值)

如果 CLEAR_NOTIFY = 1,NOTIFY_MESSAGE 的内容将被清除。

TRIGGER

触发信号(布尔值)

如果 TRIGGER = 1,视觉系统将读取发送的指令并执行该指令。

一旦视觉系统接收到触发信号,就可以重置 TRIGGER _ACKNOWLEDGE。

信号的上行部分认为是 1。

COMM_ENABLE

通信使能(布尔值)

0:通信禁用。视觉系统将忽略触发信号。

1:通信使能。触发信号将起作用,视觉系统将接收指令。

COMMAND

指令码,INT32。

CALIB_ROB_STATUS

  • 0:标定开始。

  • 1:机器人已正常移动到发送的最新标定点。

  • 2:机器人未能移动到发送的最新标定点。

数据类型:INT8

VISION_PROJ_NUM

Mech-Vision 工程编号,可在 Mech-Vision 工程列表窗口中查看,工程名称前的数字表示工程编号。

数据类型:INT8

VISION_RECIPE_NUM(简写VISION_RECP_NUM)

Mech-Vision工程中参数配方的编号,为正整数,取值范围为 1~99。在Mech-Vision窗口右下角,单击 工程助手  参数配方,进入参数配方编辑器,查看配方编号。

数据类型:INT8

VIZ_TASK_NAME

指令涉及的 Mech-Viz 步骤的步骤编号。 可以在该步骤的参数中读取。

数据类型:INT8

VIZ_TASK_VALUE

Mech-Viz 分支步骤出口端口号,或给 Mech-Viz 步骤的当前索引参数设置的值。

数据类型:INT8

REQ_POSE_NUM

从 Mech-Vision 请求的视觉点数。

0:从 Mech-Vision 的视觉结果中请求所有可用的视觉点。

数据类型:INT8

Robot_Pose_Type

机器人的位姿类型。

数据类型:INT8

REQ_POSE_TYPE

希望 Mech-Viz 返回的机器人位姿类型。

  • 1:JPs 类型。

  • 2:TCP 类型。

数据类型:INT8

ROBOT_POSE_JPS

发送给 Mech-Vision/Mech-Viz 的机器人关节角 JPs。

设置模块前请先将 JPs 数据乘 10000。

JPs 包含最多 6 个关节角数据(6 个 INT32 整数):

Byte Bit 0~7

0~3

机器人 J1 关节角 INT32

4~7

机器人 J2 关节角 INT32

8~11

机器人 J3 关节角 INT32

12~15

机器人 J4 关节角 INT32

16~19

机器人 J5 关节角 INT32

20~23

机器人 J6 关节角 INT32

ROBOT_POSE_TCP

发送给 Mech-Vision/Mech-Viz 的机器人当前法兰位姿。

在设置到模块之前,请将位姿数据乘 10000。

法兰位姿包括三维坐标(X、Y、Z)和欧拉角(A、B、C),总共 6 个 INT32 整数。

Byte Bit 0~7

0~3

机器人当前 X 坐标 INT32

4~7

机器人当前 Y 坐标 INT32

8~11

机器人当前 Z 坐标 INT32

12~15

机器人当前 A 角度 INT32

16~19

机器人当前 B 角度 INT32

20~23

机器人当前 C 角度 INT32

EXT_INPUT_DATA

保留模块,用于传输其他数据。

该模块占用 40 个字节(INT32[1:10],总共 10 个 INT32 整数)。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。