Siemens PLC Snap7 指令说明

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

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

本文介绍基于Siemens PLC Snap7协议(简称S7协议)的标准接口指令。

寄存器使用说明

在PLC和视觉系统进行Siemens PLC Snap7协议通信时,各变量的寄存器信息如下表所示。

名称 数据类型 偏移量 注释

ToCamera

Struct

0.0

PLC输出,即从PLC到视觉系统

Command Trigger

Bool

0.0

触发信号

Command

Int

2.0

指令码

Pose Type

Int

4.0

位姿类型

Pose Number

Int

6.0

预期视觉点或路径点数量

Vision Project No.

Int

8.0

Mech-Vision工程编号

Recipe No.

Int

10.0

参数配方编号

Joint Position

Array[0..5] of Real

12.0

关节角数据

Flange Pose

Array[0..5] of Real

36.0

法兰位姿数据

Branch Name

Int

60.0

消息分支的步骤编号

Branch Exit Port

Int

62.0

“消息分支”步骤的出口号

Index Name

Int

64.0

索引类步骤的步骤编号

Index Counter

Int

66.0

索引类步骤的当前索引值

External Input Box Dimension

Array[0..2] of Real

68.0

传入Mech-Vision工程的物体尺寸

External Input Pose

Array[0..5] of Real

80.0

传入Mech-Viz工程的外部机器人工具位姿

Robot Move Status

Int

104.0

机器人移动状态

Depalletize Tool Section Count

Int

106.0

吸盘分区数量

FromCamera

Struct

108.0

PLC输入,即从视觉系统到PLC

Reserved

Array[0..42] of Int

108.0

预留

Trigger Acknowledge

Bool

194.0

触发确认

Notify

Int

196.0

“通知”步骤的消息

Heartbeat

Bool

198.0

心跳值

Status Code

Int

200.0

状态码

Status of Pose Sent

Bool

202.0

数据传输状态

Number of Pose Sent

Int

204.0

视觉点或路径点的数量

Index of Vision Picking Point

Int

206.0

“视觉移动”在路径中的位置

Target Pose

Array[0..39, 0..5] of Real

208.0

此次获取的所有视觉点或路径点的位姿

Target Label

Array[0..39] of Int

1168.0

此次获取的所有视觉点或路径点的标签

Target Tool ID

Array[0..39] of Int

1248.0

此次获取的所有路径点的末端工具编号

Digital Output

Array[0..63] of Int

1328.0

视觉系统返回的64个DO信号

Custom Vision Output

Array[0..39, 0..9] of Real

1456.0

此次获取的所有视觉点或路径点的自定义数据

Target IsVisualMove

Array[0..39] of Int

3056.0

是否是视觉移动路径点

Target Move Type

Array[0..39] of Int

3136.0

机器人移动类型

Speed Percentage

Array[0..39] of Int

3216.0

路径点的速度

VisualMove Planning Result

Array[0..39, 0..39] of Real

3296.0

视觉移动规划数据

101指令——运行Mech-Vision工程

功能介绍

该指令用于触发Mech-Vision工程运行。在Mech-Vision工程运行期间,视觉系统会执行相机拍照,并对图像数据进行一系列的视觉算法处理,最终得到一系列视觉点或路径点。

  • 视觉点:Mech-Vision识别的目标物体,一个视觉点包括物体位姿、标签、物体尺寸、自定义数据等信息。

  • 路径点:机器人沿着规划路径需逐一到达的点位,一个路径点包括机器人位姿、标签、移动类型等信息。

调用顺序

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为101

Vision Project No.

Int

8.0

Mech-Vision工程编号

Pose Number

Int

6.0

预期视觉点或路径点数量

Pose Type

Int

4.0

机器人位姿类型

Joint Position、Flange Pose

Array[0..5] of Real

12.0、36.0

机器人位姿,Joint Position为关节角数据,Flange Pose为法兰位姿数据

Vision Project No.

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

Pose Number

该参数表示期望从Mech-Vision工程获取的视觉点或路径点数量。

若Mech-Vision工程中存在“路径规划”步骤,该参数表示预期路径点数量,否则表示预期视觉点数量。
  • 0:从Mech-Vision工程获取所有视觉点或路径点。

  • 大于0的整数:从Mech-Vision工程获取指定数量的视觉点或路径点。

    • 如果Mech-Vision工程输出的视觉点或路径点总数小于指定的参数值,则获取输出的所有视觉点或路径点。

    • 如果Mech-Vision工程输出的视觉点或路径点总数大于或等于指定的参数值,则获取指定数量的视觉点或路径点。

Pose TypeJoint Position/Flange Pose

  • 机器人位姿类型 指定真实机器人的位姿将以何种形式传入Mech-Vision工程,其取值范围为0~3。

  • 机器人位姿 取决于 机器人位姿类型

下表为两参数取值的关系及说明。

机器人位姿类型 机器人位姿 说明 适用场景

0

0, 0, 0, 0, 0, 0

无需向Mech-Vision传入机器人位姿

相机的安装方式为Eye To Hand。若Mech-Vision工程中使用“路径规划”步骤,则路径规划的起始点为路径规划工具中设置的Home点。

1

机器人当前关节角+当前法兰位姿

需要将机器人的关节角和法兰位姿传入Mech-Vision

相机的安装方式为Eye In Hand。除桁架机器人外,大多数机器人适用该设定。

2

机器人当前法兰位姿

需要将机器人的当前法兰位姿传入Mech-Vision

相机的安装方式为Eye In Hand,机器人无关节角数据,仅有法兰位姿数据(如桁架机器人)。

3

机器人路径规划起始点的关节角

需要将机器人路径规划起始点的关节角传入Mech-Vision

相机的安装方式为Eye To Hand,并且Mech-Vision工程中存在“路径规划”步骤,且需要从机器人端设置“路径规划”步骤的起始点。

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 1102。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

102指令——获取视觉结果

功能介绍

该指令用于获取Mech-Vision输出的视觉结果(一系列视觉点)。视觉点的物体位姿(即“输出”步骤的poses端口数据)将会由视觉系统自动转换为对应机器人的工具位姿,具体转换流程如下。

get tcp
  1. 将物体位姿由四元数形式转换为欧拉角形式。

  2. 将物体位姿绕X轴旋转180°,使其Z轴朝下。

    convert tcp

调用顺序

该指令需在101指令——运行Mech-Vision工程之后被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为102

Vision Project No.

Int

8.0

Mech-Vision工程编号

Vision Project No.

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

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status of Pose Sent

Bool

202.0

数据传输状态

Number of Pose Sent

Int

204.0

视觉点数量

Target Pose

Array[0..39, 0..5] of Real

208.0

此次获取的所有视觉点的位姿

Target Label

Array[0..39] of Int

1168.0

此次获取的所有视觉点的标签

Status Code

若指令执行正常,则状态码为 1100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

Status of Pose Sent

该参数表示数据传输状态。1表示从视觉系统获取的数据是新数据。在PLC读取新数据后,请将该寄存器复位。

Number of Pose Sent

该参数表示获取的视觉点数量。视觉系统默认单次发送视觉点的最大数量为20,因此该参数默认最大值为20。

Target Pose

该参数表示此次获取的所有视觉点的位姿,且位姿类型为机器人工具位姿。

视觉系统会将视觉点的物体位姿(即“输出”步骤的poses端口数据)自动转换为对应的机器人工具位姿。
get tcp
  1. 将物体位姿由四元数形式转换为欧拉角形式。

  2. 将物体位姿绕X轴旋转180°,使其Z轴朝下。

    convert tcp

Target Label

该参数表示此次获取的所有视觉点的标签(“输出”步骤中labels端口数据)。

  • 标签必须是一个数字字符串。若标签不是数字字符串,请在“输出”步骤前,使用“标签映射”步骤将其映射为数字字符串。

  • 若“输出”步骤上没有labels端口,则标签值默认为0。

103指令——切换Mech-Vision参数配方

功能介绍

该指令用于切换Mech-Vision工程所使用的参数配方。下图表示手动为Mech-Vision工程切换配方A或配方B。参数配方相关的知识,可参考《 参数配方》。

set recipe

调用顺序

该指令需在101指令——运行Mech-Vision工程之前被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为103

Vision Project No.

Int

8.0

Mech-Vision工程编号

Recipe No.

Int

10.0

参数配方编号

Vision Project No.

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

Recipe No.

Mech-Vision工程中参数配方的编号,为正整数,取值范围为1~99。如何查看参数配方的编号,可参考《查看参数配方的编号》。

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 1107。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

105指令——获取Mech-Vision规划路径

功能介绍

该指令用于获取Mech-Vision规划的路径(一系列路径点)。此处的路径由“路径规划工具”(从下图的 打开编辑器 进入)规划。“路径规划”步骤相关的内容,可参考《路径规划》。

Mech-Vision “输出”步骤的 端口类型 参数需要设置为“预定义(机器人路径)”。
get plan path step

调用顺序

该指令需在101指令——运行Mech-Vision工程之后被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为105

Vision Project No.

Int

8.0

Mech-Vision工程编号

Pose Type

Int

4.0

路径点的位姿类型

Vision Project No.

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

Pose Type

该参数用于指定获取路径点的位姿类型。

  • 1:机器人关节角(JPs)。

  • 2:机器人工具位姿。

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status of Pose Sent

Bool

202.0

数据传输状态

Number of Pose Sent

Int

204.0

路径点数量

Index of Vision Picking Point

Int

206.0

“视觉移动”在路径中的位置

Target Pose

Array[0..39, 0..5] of Real

208.0

此次获取的所有路径点的位姿

Target Label

Array[0..39] of Int

1168.0

此次获取的所有路径点的标签

Target Tool ID

Array[0..39] of Int

1248.0

此次获取的所有路径点的末端工具编号

Status Code

若指令执行正常,则状态码为 1103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

Status of Pose Sent

该参数表示数据传输状态。1表示从视觉系统获取的数据是新数据。在PLC读取新数据后,请将该寄存器复位。

Number of Pose Sent

该参数表示获取的路径点数量。视觉系统默认单次发送路径点的最大数量为20,因此该参数默认最大值为20。

在调用105指令——获取Mech-Vision规划路径前,请务必将101指令——运行Mech-Vision工程预期视觉点或路径点数量 设置为0,以减少调用105指令——获取Mech-Vision规划路径的次数。若101指令——运行Mech-Vision工程指令的 预期视觉点或路径点数量 设置为1,则每次调用105指令——获取Mech-Vision规划路径只会获取一个路径点,只有多次调用才能获取全部路径点。

Index of Vision Picking Point

该参数表示路径规划工具中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置。如果路径中无视觉移动路径点,则该参数值为0。

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

若需多次发送该指令才可接收整条路径,则该参数在第一次返回结果中表示视觉移动路径点在整条规划路径中的位置,在后续返回结果中表示视觉移动路径点在剩余路径点中的位置。

Target Pose

该参数表示此次获取的所有路径点的位姿。位姿类型可以为机器人工具位姿或关节角。位姿类型由发送该指令时指定的 Pose Type 参数决定。

Target Label

该参数表示此次获取的所有路径点的标签(“输出”步骤中labels端口数据)。

  • 标签必须是一个数字字符串。若标签不是数字字符串,请在“输出”步骤前,使用“标签映射”步骤将其映射为数字字符串。

  • 若“输出”步骤上没有labels端口,则标签值默认为0。

Target Tool ID

该参数表示此次获取的所有路径点的末端工具编号(路径规划工具中设置的末端工具编号)。

110指令——获取Mech-Vision自定义数据

功能介绍

该指令用于从Mech-Vision“输出”步骤获取自定义端口的数据。 自定义端口的设置可从“输出”步骤参数的 打开编辑器 处进入,其中自定义通信键名就是自定义端口名称,例如下图中customeData1和customeData2端口就是自定义端口。

  1. 预设通信键(下图中的poses、labels、sizes、offsets等)所代表的端口数据不属于自定义数据。

  2. Mech-Vision “输出”步骤的 端口类型 参数需要设置为“自定义”,且必须存在poses端口。

custom data

调用顺序

该指令需在101指令——运行Mech-Vision工程之后被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为110

Vision Project No.

Int

8.0

Mech-Vision工程编号

Mech-Vision工程编号

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

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status of Pose Sent

Bool

202.0

数据传输状态

Target Pose

Array[0..39, 0..5] of Real

208.0

此次获取的所有视觉点的位姿

Target Label

Array[0..39] of Int

1168.0

此次获取的所有视觉点的标签

Custom Vision Output

Array[0..39, 0..9] of Real

1456.0

此次获取的所有视觉点的自定义数据

Status Code

若指令执行正常,则状态码为 1100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

Status of Pose Sent

该参数表示数据传输状态。1表示从视觉系统获取的数据是新数据。在PLC读取新数据后,请将该寄存器复位。

Target Pose

该参数表示此次获取的所有视觉点的位姿,且位姿类型为机器人工具位姿。

视觉系统会将视觉点的物体位姿(即“输出”步骤的poses端口数据)自动转换为对应的机器人工具位姿。
get tcp
  1. 将物体位姿由四元数形式转换为欧拉角形式。

  2. 将物体位姿绕X轴旋转180°,使其Z轴朝下。

    convert tcp

Target Label

该参数表示此次获取的所有视觉点的标签(“输出”步骤中labels端口数据)。

  • 标签必须是一个数字字符串。若标签不是数字字符串,请在“输出”步骤前,使用“标签映射”步骤将其映射为数字字符串。

  • 若“输出”步骤上没有labels端口,则标签值默认为0。

Custom Vision Output

此次获取的所有视觉点的自定义数据。例如,“输出”步骤各端口的数据如下表所示,则第一个视觉点的 自定义数据 为 [0, 0, 1] 与 [0, 0], 第二个视觉点的 自定义数据 为 [1, 0, 0] 与 [1, 1]。

端口名称

poses

labels

customData1

customData2

端口数据

[

[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0]

]

[

"0",
"1"

]

[

[0, 0, 1],
[1, 0, 0]

]

[

[0, 0],
[1, 1]

]

第一个视觉点

[0, 0, 0, 1, 0, 0, 0]

0

[0, 0, 1]

[0, 0]

第二个视觉点

[0, 0, 0, 1, 0, 0, 0]

1

[1, 0, 0]

[1, 1]

自定义数据按照自定义端口名称的字母顺序(A—Z)排列。

201指令——运行Mech-Viz工程

功能介绍

该指令用于触发Mech-Viz工程运行。Mech-Viz是基于Mech-Vision输出的视觉结果规划机器人的移动路径。

在Mech-Viz工程资源面板中,右键单击工程名称,勾选 设为自动加载

调用顺序

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为201

Pose Type

Int

4.0

机器人位姿类型

Joint Position、Flange Pose

Array[0..5] of Real

12.0、36.0

机器人位姿,Joint Position为关节角数据,Flange Pose为法兰位姿数据

Pose TypeJoint Position/Flange Pose

  • 机器人位姿类型 指定真实机器人的位姿将以何种形式传入Mech-Viz工程,其取值范围为0~2。

  • 机器人位姿 取决于 机器人位姿类型

下表为两参数取值的关系及说明。

机器人位姿类型 机器人位姿 说明 适用场景

0

0, 0, 0, 0, 0, 0

无需向Mech-Viz工程传入机器人位姿,Mech-Viz工程中仿真机器人将从初始位姿 JPs = [0, 0, 0, 0, 0, 0] 开始移动到第一个路径点。

相机的安装方式为Eye To Hand。

1

机器人当前关节角+当前法兰位姿

需要将机器人的当前关节角和法兰位姿传入Mech-Viz工程,Mech-Viz工程中仿真机器人将从传入的关节角开始移动到第一个路径点。

相机的安装方式为Eye In Hand,推荐使用该设定。

2

机器人端自定义的关节角

需要将机器人的一个示教点(非当前关节角)传入Mech-Viz工程,用于在机器人处于拍照区域外时,提前触发Mech-Viz工程规划下一轮路径(如下图),Mech-Viz工程中仿真机器人将从传入的示教点开始运动到第一个路径点。

相机的安装方式为Eye To Hand,推荐使用该设定。

相机的安装方式为Eye To Hand,为何 机器人位姿类型 推荐使用2?

在下图中,机器人正在放置区进行作业。

若在此种场景中,将 机器人位姿类型 设置为 1,表示将机器人当前位姿发送给Mech-Viz,真实机器人可能在移动至其他位置后才移动至第一个路径点。仿真机器人将直接从当前位置移动至Mech-Viz工程中的第一个路径点,在这段移动过程中可能会检测到碰撞而发出警告。

若在此种场景中,将 机器人位姿类型 设置为 2,表示将机器人端设置的示教拍照点发送给Mech-Viz,这样真实机器人在放置区即可提前触发Mech-Viz规划下一轮路径,从而缩短节拍。

以上就是Eye To Hand模式下,机器人位姿类型 推荐使用2的原因。

robot example

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 2103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

202指令——停止Mech-Viz工程

功能介绍

该指令用于停止正在运行的Mech-Viz工程。

调用顺序

该指令需在201指令——运行Mech-Viz工程之后被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为202

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 2104。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

203指令——设置Mech-Viz消息分支出口

功能介绍

该指令用于设定“消息分支”步骤的出口。Mech-Viz工程运行至“消息分支”步骤时,将等待该指令指定出口。

set branch

调用顺序

该指令需在201指令——运行Mech-Viz工程之后被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为203

Branch Name

Int

60.0

消息分支的步骤编号

Branch Exit Port

Int

62.0

“消息分支”步骤的出口号

Branch Name

该参数用于指定消息分支的步骤编号,取值为正整数。步骤编号可在步骤参数中获取,例如上图中的步骤编号为1。

Branch Exit Port

该参数用于指定“消息分支”步骤的出口号,其值为正整数。若将该参数值设置为N,则Mech-Viz工程将沿“消息分支”步骤的N-1出口继续执行。 例如,将Branch Name设置为2,Branch Exit Port设置为1,在PLC向视觉系统发送该指令后,Mech-Viz工程运行至步骤编号为2的消息分支时,将沿出口0继续执行。

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 2105。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

204指令——设置Mech-Viz当前索引

功能介绍

该指令用于设定索引类步骤的当前索引值。索引类步骤是指包含“索引”参数的步骤,例如“按阵列移动”、“按序列移动”、“自定义垛型”、“预设垛型”等步骤。

set index

调用顺序

通常在索引类步骤前存在一个“消息分支”步骤,机器人端首先调用201指令——运行Mech-Viz工程,然后调用204指令——设置Mech-Viz当前索引,最后调用203指令——设置Mech-Viz消息分支出口。如此,Mech-Viz将有充足时间设置当前索引值。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为204

Index Name

Int

64.0

索引类步骤的步骤编号

Index Counter

Int

66.0

索引类步骤的当前索引值

Index Name

该参数用于指定索引类步骤的步骤编号,取值为正整数。步骤编号可在步骤参数中获取,例如上图中的步骤编号为3。

Index Counter

该参数用于指定索引类步骤的当前索引值,其值为正整数。若将该参数值设置为N,则相应步骤的当前索引值为N-1。例如,将Index Name设置为2,Index Counter设置为1,在PLC向视觉系统发送该指令后,步骤编号为2的步骤的当前索引值为0。

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 2106。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

205指令——获取Mech-Viz规划路径

功能介绍

该指令用于获取Mech-Viz工程规划的移动路径(一系列路径点)。

路径点:机器人沿着规划路径需逐一到达的点位,一个路径点包括机器人位姿、标签、移动类型等信息。路径点可分为以下两种类型:

  • 视觉移动路径点:“视觉移动”步骤对应的路径点。

  • 非视觉移动路径点:除“视觉移动”步骤外,其他移动类步骤对应的路径点。

调用顺序

该指令需在201指令——运行Mech-Viz工程之后被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为205

Pose Type

Int

4.0

路径点的位姿类型

Pose Type

该参数用于指定获取路径点的位姿类型。

  • 1:机器人关节角(JPs)。

  • 2:机器人工具位姿。

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status of Pose Sent

Bool

202.0

数据传输状态

Number of Pose Sent

Int

204.0

路径点数量

Index of Vision Picking Point

Int

206.0

“视觉移动”在路径中的位置

Target Pose

Array[0..39, 0..5] of Real

208.0

此次获取的所有路径点的位姿

Target Label

Array[0..39] of Int

1168.0

此次获取的所有路径点的标签

Target Tool ID

Array[0..39] of Int

1248.0

此次获取的所有路径点的末端工具编号

Status Code

若指令执行正常,则状态码为 2100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

Status of Pose Sent

该参数表示数据传输状态。1表示从视觉系统获取的数据是新数据。在PLC读取新数据后,请将该寄存器复位。

Number of Pose Sent

该参数表示获取的路径点数量。视觉系统默认单次发送路径点的最大数量为20,因此该参数默认最大值为20。

Index of Vision Picking Point

该参数表示Mech-Viz工程中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置。如果路径中无视觉移动路径点,则该参数值为0。

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

若需多次发送该指令才可接收整条路径,则该参数在第一次返回结果中表示视觉移动路径点在整条规划路径中的位置,在后续返回结果中表示视觉移动路径点在剩余路径点中的位置。

Target Pose

该参数表示此次获取的所有路径点的位姿。位姿类型可以为机器人工具位姿或关节角。位姿类型由发送该指令时指定的 Pose Type 参数决定。

Target Label

该参数表示此次获取的所有路径点的标签(“输出”步骤中labels端口数据)。

  • 标签必须是一个数字字符串。若标签不是数字字符串,请在“输出”步骤前,使用“标签映射”步骤将其映射为数字字符串。

  • 若“输出”步骤上没有labels端口,则标签值默认为0。

Target Tool ID

该参数表示此次获取的所有路径点的末端工具编号(Mech-Viz工程中设置的末端工具编号)。

206指令——获取吸盘DO信号

功能介绍

该指令用于获取Mech-Vision或Mech-Viz规划的吸盘DO信号。在使用该指令前,用户需提前在Mech-Vision或Mech-Viz软件中进行如下配置。

  • 配置Mech-Vision工程

    • 在“路径规划”步骤参数中,单击配置向导。在全局配置中,将箱子拆垛开关置于打开状态。

      vision move vis
    • 在“路径规划”步骤参数中,单击配置向导,双击末端工具名称,工具类型选择拆垛吸盘,单击拆垛吸盘配置,根据需求配置DO信号。

      sucker vis
  • 配置Mech-Viz工程

    • 在Mech-Viz软件中,“视觉移动”步骤的 抓取工艺 选择 箱子拆垛

      vision move viz
    • 在Mech-Viz软件中,双击末端工具名称,工具类型选择拆垛吸盘,单击拆垛吸盘配置,根据需求配置DO信号。

      sucker viz

调用顺序

该指令需在105指令——获取Mech-Vision规划路径205指令——获取Mech-Viz规划路径指令之后被调用,即PLC先获取规划路径,再获取视觉移动路径点对应的吸盘DO信号。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为206

Vision Project No.

Int

8.0

吸盘DO信号的来源

Depalletize Tool Section Count

Int

106.0

吸盘分区数量

Vision Project No.

该参数指定吸盘DO信号的来源,可以为以下取值:

  • 0:从Mech-Viz获取吸盘DO信号;

  • 正整数:从Mech-Vision获取吸盘DO信号,此处设置的正整数就是Mech-Vision工程编号。

Depalletize Tool Section Count

该参数表示吸盘分区数量。例如,上图中的吸盘分区数量为3。

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Digital Output

Array[0..63] of Int

1328.0

视觉系统返回的64个DO信号

Status Code

若指令执行正常,则状态码为 2102(成功从Mech-Viz获取吸盘DO信号)或 1106(成功从Mech-Vision获取吸盘DO信号)。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

Digital Output

该参数表示视觉系统返回的64个DO信号。根据所搭建工程的不同,该指令返回的DO信号会有所不同,具体如下。

  • Mech-Vision工程规划的吸盘DO信号

    • 在路径规划的全局配置中,若规划全部视觉结果开关处于关闭状态,则该指令返回64个DO信号,表示本轮规划的吸盘DO信号,其中有效的DO信号为非负整数,范围为 0~999;无效的DO信号为-1(作为占位值)。

      plan all vis off

      例如,在下表中,返回的有效DO信号为1、3、5、6,即表示机器人需将上述DO信号对应的值设为ON。

      第1个

      第2个

      第3个

      第4个

      第5个

      第6个

      第7个

      第8个

      第63个

      第64个

      1

      3

      5

      6

      -1

      -1

      -1

      -1

      -1

      -1

    • 在路径规划的全局配置中,若规划全部视觉结果开关处于打开状态,则Mech-Vision可以根据同一视觉结果进行多轮规划。该指令返回的64个DO信号是所有轮规划的吸盘DO信号。此时使用吸盘分区数量,即可区分每轮规划的吸盘DO信号。

      plan all vis on

      例如,吸盘分区数量为4,该指令共返回64个DO信号,其中,每4个DO信号为一轮规划的多分区吸盘控制信号。

      第1轮规划

      第2轮规划

      第16轮规划

      第1个

      第2个

      第3个

      第4个

      第5个

      第6个

      第7个

      第8个

      第61个

      第62个

      第63个

      第64个

      1

      3

      4

      -1

      1

      4

      -1

      -1

      -1

      -1

      -1

      -1

  • Mech-Viz工程规划的吸盘DO信号

    • 若“视觉移动”步骤未勾选“复用视觉结果”,则该指令返回64个DO信号,表示本轮规划的吸盘DO信号,其中有效的DO信号为非负整数,范围为 0~999;无效的DO信号为-1(作为占位值)。

      vision move off

      例如,在下表中,返回的有效DO信号为1、3、5、6,即表示机器人需将上述DO信号对应的值设为ON。

      第1个

      第2个

      第3个

      第4个

      第5个

      第6个

      第7个

      第8个

      第63个

      第64个

      1

      3

      5

      6

      -1

      -1

      -1

      -1

      -1

      -1

    • 若“视觉移动”步骤勾选“复用视觉结果”,且“视觉移动”步骤在循环流程中,则Mech-Viz可以根据同一视觉结果进行多轮规划。该指令返回的64个DO信号是所有轮规划的吸盘DO信号。此时使用吸盘分区数量,即可区分每轮规划的吸盘DO信号。

      vision move on

      例如,吸盘分区数量为4,该指令共返回64个DO信号,其中,每4个DO信号为一轮规划的多分区吸盘控制信号。

      第1轮规划

      第2轮规划

      第16轮规划

      第1个

      第2个

      第3个

      第4个

      第5个

      第6个

      第7个

      第8个

      第61个

      第62个

      第63个

      第64个

      1

      3

      4

      -1

      1

      4

      -1

      -1

      -1

      -1

      -1

      -1

210指令——获取视觉移动规划数据或自定义数据

该指令用于获取Mech-Vision工程的视觉移动规划数据,或者获取Mech-Viz工程的视觉移动规划数据或自定义数据。该指令调用一次便可将所有数据存放至机器人内存中。

对于Mech-Viz 2.0版本软件,该指令暂时不支持获取自定义数据,仅支持获取视觉移动规划数据。
  • 对于Mech-Vision工程:此处的“视觉移动规划数据”是指路径规划工具(从“路径规划”步骤处进入)中“视觉移动”步骤规划的数据,包括被抓取工件的标签、已抓取的工件总数、本次抓取的工件数量、吸盘边角号、TCP偏移量、工件组朝向、单个工件朝向、工件组尺寸。

  • 对于Mech-Viz工程:

    • 视觉移动规划数据:Mech-Viz中“视觉移动”步骤规划的数据,包括被抓取工件的标签、已抓取的工件总数、本次抓取的工件数量、吸盘边角号、TCP偏移量、工件组朝向、单个工件朝向、工件组尺寸。

    • 自定义数据:Mech-Vision自定义端口输出的数据,再经Mech-Viz转发后得到的数据。

      自定义端口的设置可从“输出”步骤参数的 打开编辑器 处进入,其中自定义通信键名就是自定义端口名称,例如下图中customeData1和customeData2端口就是自定义端口。

      1. 预设通信键(下图中的poses、labels、sizes、offsets等)所代表的端口数据不属于自定义数据。

      2. Mech-Vision “输出”步骤的 端口类型 参数需要设置为“自定义”,且必须存在poses端口。

      custom data

调用顺序

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为210

Vision Project No.

Int

8.0

视觉移动规划数据的来源

Pose Type

Int

4.0

预期返回的数据格式

Vision Project No.

该参数指定视觉移动规划数据的来源,可以为以下取值:

  • 0:从Mech-Viz获取视觉移动规划数据;

  • 正整数:从Mech-Vision获取视觉移动规划数据。此处设置的正整数就是Mech-Vision工程编号。

Pose Type

该参数表示预期返回的数据格式,取值范围为1~4。

  • 当Vision Project No.为0时,Pose Type 参数取值范围为 1~4,具体说明如下。

    Pose Type 参数值 预期的返回数据 说明(每个字段的具体解释参见下文)

    1

    位姿(JPs 形式), 移动类型, 末端工具编号, 速度, 自定义数据项 1, …, 自定义数据项 N

    2

    位姿(TCP 形式), 移动类型, 末端工具编号, 速度, 自定义数据项 1, …, 自定义数据项 N

    3

    位姿(JPs 形式), 移动类型, 末端工具编号, 速度, Mech-Viz视觉移动规划数据, 自定义数据项 1, …, 自定义数据项 N

    4

    位姿(TCP 形式), 移动类型, 末端工具编号, 速度, Mech-Viz视觉移动规划数据, 自定义数据项 1, …, 自定义数据项 N

  • 当Vision Project No.为正整数时,Pose Type 参数取值范围为 1~2,具体说明如下。

    Pose Type 参数值 预期的返回数据 说明(每个字段的具体解释参见下文)

    1

    位姿(JPs 形式), 移动类型, 末端工具编号, 速度, Mech-Vision视觉移动规划数据

    2

    位姿(TCP 形式), 移动类型, 末端工具编号, 速度, Mech-Vision视觉移动规划数据

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status of Pose Sent

Bool

202.0

数据传输状态

Number of Pose Sent

Int

204.0

路径点数量

Index of Vision Picking Point

Int

206.0

“视觉移动”在路径中的位置

Target Pose

Array[0..39, 0..5] of Real

208.0

此次获取的所有路径点的位姿

Target Label

Array[0..39] of Int

1168.0

此次获取的所有路径点的标签

Speed Percentage

Array[0..39] of Int

3216.0

路径点的速度

Custom Vision Output

Array[0..39, 0..9] of Real

1456.0

此次获取的所有路径点的自定义数据

Target IsVisualMove

Array[0..39] of Int

3056.0

是否是视觉移动路径点

Target Move Type

Array[0..39] of Int

3136.0

机器人移动类型

Target Tool ID

Array[0..39] of Int

1248.0

此次获取的所有路径点的末端工具编号

VisualMove Planning Result

Array[0..39, 0..39] of Real

3296.0

视觉移动规划数据

Status Code

若指令执行正常,则状态码为 2100(成功获取Mech-Viz工程的视觉移动规划数据或自定义数据)或 1103(成功获取Mech-Vision工程的视觉移动规划数据)。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

Status of Pose Sent

该参数表示数据传输状态。1表示从视觉系统获取的数据是新数据。在PLC读取新数据后,请将该寄存器复位。

Number of Pose Sent

该参数表示获取的路径点数量。视觉系统默认单次发送路径点的最大数量为20,因此该参数默认最大值为20。

Index of Vision Picking Point

该参数表示Mech-Viz工程中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置。如果路径中无视觉移动路径点,则该参数值为0。

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

若需多次发送该指令才可接收整条路径,则该参数在第一次返回结果中表示视觉移动路径点在整条规划路径中的位置,在后续返回结果中表示视觉移动路径点在剩余路径点中的位置。

Target Pose

该参数表示此次获取的所有路径点的位姿。位姿类型可以为机器人工具位姿或关节角。位姿类型由发送该指令时指定的 Pose Type 参数决定。

Target Label

该参数表示此次获取的所有路径点的标签(“输出”步骤中labels端口数据)。

  • 标签必须是一个数字字符串。若标签不是数字字符串,请在“输出”步骤前,使用“标签映射”步骤将其映射为数字字符串。

  • 若“输出”步骤上没有labels端口,则标签值默认为0。

Speed Percentage

根据不同的工程,速度的含义也有所不同,具体如下。

  • 对于Mech-Vision工程:速度指路径规划工具中设置的仿真速度值,使用百分数表示。

  • 对于Mech-Viz工程:速度指移动类步骤参数中设置的速度参数值乘以Mech-Viz中设置的全局速度,使用百分数表示。

Custom Vision Output

该参数表示此次获取的所有路径点的自定义数据。例如,“输出”步骤各端口的数据如下表所示,则第一个路径点的 自定义数据 为 [0, 0, 1] 与 [0, 0], 第二个路径点的 自定义数据 为 [1, 0, 0] 与 [1, 1]。

端口名称

poses

labels

customData1

customData2

端口数据

[

[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0]

]

[

"0",
"1"

]

[

[0, 0, 1],
[1, 0, 0]

]

[

[0, 0],
[1, 1]

]

第一个路径点

[0, 0, 0, 1, 0, 0, 0]

0

[0, 0, 1]

[0, 0]

第二个路径点

[0, 0, 0, 1, 0, 0, 0]

1

[1, 0, 0]

[1, 1]

Target IsVisualMove

该参数表示路径点是否是视觉移动路径点,0表示该点不是视觉移动路径点,1表示该点是视觉移动路径点,只有视觉移动路径点才会携带视觉移动规划数据或自定义数据。

Target Move Type

该参数表示机器人移动类型,取值为1或2。

  • 1:关节移动。

  • 2:直线移动。

Target Tool ID

该参数表示此次获取的所有路径点的末端工具编号。

  • 对于Mech-Vision工程,此处末端工具编号指路径规划工具中设置的末端工具编号。

  • 对于Mech-Viz工程,此处末端工具编号指Mech-Viz工程中设置的末端工具编号

VisualMove Planning Result

Mech-Vision或Mech-Viz中“视觉移动”步骤规划的数据,包括被抓取工件的标签、已抓取的工件总数、本次抓取的工件数量、吸盘边角号、TCP偏移量、工件组朝向、单个工件朝向、工件组尺寸。

名称 说明 维数

被抓取工件的标签

由10个整数组成,默认为10个0

10

已抓取的工件总数

累计已抓取的工件数量

1

本次抓取的工件数量

本次抓取的工件数量

1

吸盘边角号

本次吸盘所使用的边角号

1

TCP偏移量

工件组中心相对于末端工具中心的XYZ偏移量

3

工件组朝向

工件组与吸盘长边的朝向关系,0表示平行,1表示垂直

1

单个工件朝向

单个工件长边与吸盘长边的朝向关系,0表示平行,1表示垂直

1

工件组尺寸

本次抓取的工件组的长宽高

3

501指令——向Mech-Vision工程传入物体尺寸

功能介绍

该指令用于向Mech-Vision工程中传入物体尺寸。传入的物体尺寸就是“读取物体尺寸”步骤的 箱子尺寸设置 参数值,如下图所示。

read object dimensions

调用顺序

该指令需在101指令——运行Mech-Vision工程之前被调用。

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为501

Vision Project No.

Int

8.0

Mech-Vision工程编号

External Input Box Dimension

Array[0..2] of Real

68.0

传入Mech-Vision工程的物体尺寸

Vision Project No.

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

External Input Box Dimension

该参数表示传入Mech-Vision工程的物体尺寸,单位为毫米(mm)。尺寸值将被“读取物体尺寸”步骤读取并分别写入 X轴上的长度Y轴上的长度Z轴上的长度

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 1108。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

601指令——获取通知的消息

功能介绍

当Mech-Vision工程或Mech-Viz工程运行至“通知”步骤时,视觉系统会返回“通知”步骤中预先设置的消息。

在使用该指令前,“通知”步骤需满足以下设置。

  • Mech-Vision工程中的“通知”步骤

    1. 将“通知”步骤连接在其他步骤的右侧(此处以“输出”步骤为例)。

      notify 1
    2. 在“输出”的步骤参数处,勾选 有输出时触发控制流

      notify 5
    3. 在“通知”的步骤参数处,服务名称填写 Standard Interface Notify(不可更改),消息填写 1001(根据需求填写,但必须为正整数)。

      notify 2
  • Mech-Viz工程中的“通知”步骤

    1. 将“通知”步骤连接在工作流程中的合适位置。

      notify 3
    2. 在“通知”的步骤参数处,勾选 标准接口,消息填写 1000(根据需求填写,但必须为正整数)。

      notify 4

调用顺序

所有指令的调用顺序可参考《标准接口指令调用时序》。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为601

输出参数

名称 数据类型 偏移量 注释

Notify

Int

196.0

“通知”步骤的消息

Notify

“通知”步骤的消息参数处填写的内容。

当Mech-Vision或Mech-Viz工程运行至“通知”步骤时,设置的消息只会在视觉系统中缓存1秒,因此用户在使用该指令时需要控制好调用时间才能获取到消息内容。另外,PLC在使用该消息后,需要自行清除该寄存器数据。

901指令——获取软件状态

功能介绍

该指令用于检测Mech-Vision工程是否已就绪。

输入参数

名称 数据类型 偏移量 注释

Command

Int

2.0

指令码为901

输出参数

名称 数据类型 偏移量 注释

Status Code

Int

200.0

状态码

Status Code

若指令执行正常,则状态码为 1101。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

我们重视您的隐私

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