DB 块指令说明¶
通过基于 Siemens PLC Client 的标准接口,梅卡曼德软件系统可以与支持 Snap7 协议的 PLC 进行通讯。
详细内容可参考 标准接口 。
101指令——启动 Mech-Vision 工程¶
功能介绍:用于只用到 Mech-Vision 工程、无需用到 Mech-Viz 工程的场景。该指令用于启动 Mech-Vision 工程,进行相机拍照和视觉识别。
发送指令¶
格式说明:
指令 |
Mech-Vision 工程号 |
位姿数量 |
位姿类型 |
JPS 数据或 TCP 数据 |
|
DB 偏移量 |
2.0 |
8.0 |
6.0 |
4.0 |
JPS 12.0 或 Pose 36.0 |
参数说明:
Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 软件中的注册序号,可以在 Mech-Center 软件
处查询和调整。Mech-Vision 工程号范围[1-99]。
位姿数量:希望 Mech-Vision 输出的视觉结果数量。参数范围[0-20]。0 表示获取识别到的全部数量,单次反馈最大数量是 20 个。若该数值大于 Mech-Vision 实际识别总数,返回值则以 Mech-Vision 识别数量为准。
位姿类型:参数 4 拍照位姿的位姿类型。0 表示不需要拍照位姿,比如在 Eye To Hand 模式下位姿类型可为 0 ;1 表示拍照位姿是 JPS 形式;2 表示拍照位姿是法兰位姿。参数范围[0-2]。
JPS 数据或 TCP 数据:拍照时机器人的位置,需要机器人发送当前位置给 Mech-Center 。JPS 或法兰位姿。6 个 Real 类型数据。
102指令——获取视觉结果¶
功能介绍:该指令用于执行指令 101 后获取视觉结果(视觉点)。
注意
默认设置下,该指令每次最多能获取 40 个视觉点,若需要获取的视觉点数量大于 40,则需重复调用该指令。
发送指令¶
格式说明:
指令码 |
Mech-Vision 工程号 |
|
DB 偏移量 |
2.0 |
8.0 |
参数说明: Mech-Vision 工程号:Mech-Vision 工程在 Mech-Center 中的注册序号,可以在 Mech-Center 软件
处查询。Mech-Vision 工程号范围[1-99]。返回数据¶
格式说明:
状态码 |
是否发送完成 |
视觉点数量 |
预留字段 |
位姿 |
标签 |
|
DB 偏移量 |
200.0 |
202.0 |
204.0 |
208.0 |
1168.0 |
参数说明:
状态码:若无错误,则返回 1100 成功获取视觉点 状态码,否则返回对应的错误码。调用该指令时,若 Mech-Vision 结果还未返回,则 Mech-Center 会等待 Mech-Vision 结果返回后再返回给机器人,默认等待 10s ,若发生超时,返回超时错误状态码。
是否发送完成:1 表示写入的位姿数据为新数据(PLC 读取位姿数据之后请将此寄存器复位)。
视觉点数量:视觉返回的识别结果个数。范围[1-20]。
注意
当 101 指令请求位姿数量大于 Mech-Vision 识别数量,实际发送的位姿数量为 Mech-Vision 识别数量;当 101 指令请求位姿数量小于 Mech-Vision 识别数量,实际发送的位姿数量为请求位姿数量。
预留字段:该字段未使用,默认值为 0 。
位姿:Mech-Vision 返回的机器人位姿数据。
标签:位姿对应的整数标签,返回标签值为整数。当 Mech-Vision 工程中使用字符标签时,需在 Mech-Vision 工程中把标签单词映射为整数。若 Mech-Vision 输出中不存在标签,则发送字段对应位置用 0 填充。
注意
若位姿数量大于 1,参数 5 和参数 6 会包含多组数据。
103指令——切换 Mech-Vision 配方¶
功能介绍:Mech-Vision 的配方功能,用于不同工件识别时,修改 Mech-Vision 工程各步骤的参数,包括图像匹配模板、感兴趣区域、置信阈值等。
注意
该指令需在指令 101 之前执行,即在启动工程前执行。
201指令——启动 Mech-Viz 工程¶
功能介绍:用于既用到 Mech-Vision 工程又用到 Mech-Viz 工程的场景。该指令用于启动 Mech-Viz 工程,调用相应的 Mech-Vision 工程,并规划抓取路径,并且要启动的 Mech-Viz 工程需要在 Mech-Viz 中设置该工程为 自动加载 。
发送指令¶
格式说明:
指令码 |
位姿类型 |
JPS数据 |
|
DB 偏移量 |
2.0 |
4.0 |
12.0 |
参数说明:
位姿类型:0 表示不需要拍照位姿;1 表示当前机器人位姿是 JPS 形式;2 表示位姿 XYZ 形式(暂不支持)。参数范围[0-2]。
位姿类型设置为 0 时,Mech-Viz 中仿真机器人会从初始位姿 JPS=[0,0,0,0,0,0] 开始运动到第一个移动点;
位姿类型设置为 1 时,Mech-Viz 中仿真机器人会从初始位姿 JPS=输入的 JPS 开始运动到第一个移动点。
小技巧
当场景中存在碰撞模型,干扰机器人从初始位姿 JPS=[0,0,0,0,0,0] 运动到第一个移动点时,则位姿类型必须设置为 1 。
JPS 数据:机器人的当前 JPS 数据。
202指令——停止 Mech-Viz 工程¶
203指令——选择 Mech-Viz 分支¶
功能介绍:该指令用于指定工程将沿哪个分支运行。分支机制通过 分支(根据服务消息) 技能建立,该指令则通过指定该技能的出口来指定分支。 在调用该指令之前,需要先启动 Mech-Viz , Mech-Viz 运行到 分支(根据服务消息) 技能时,将等待该指令指定技能出口。
发送指令¶
格式说明:
指令码 |
分支技能名 |
出口号 |
|
DB偏移量 |
2.0 |
60.0 |
62.0 |
参数说明:
分支技能名:在运行之前需要在 Mech-Viz 工程中修改对应的分支名字为纯数字格式(每个分支的名字不能重复)。参数范围[1-99]。
出口号:给定分支的出口号,该参数用于指定工程将沿分支技能的哪个出口运行。参数范围[1-99]。
204指令——设置移动索引¶
功能介绍:索引类的移动技能,比如按序列移动、按阵列移动、自定义垛型、预设垛型等,可通过调用该指令来设置索引类移动技能属性中的索引序号。
注意
在调用该指令之前,需要先执行 201 指令启动 Mech-Viz 。
发送指令¶
格式说明:
指令码 |
技能名 |
索引值 |
|
DB偏移量 |
2.0 |
64.0 |
66.0 |
参数说明:
技能名:该参数指定哪个技能需要索引参数设定。该参数值应为整数([1, N]),对应的技能应命名为整数,且工程中技能名不能重复。
索引值:上述技能的索引参数将被设定为该参数的值。
205指令——获取规划路径¶
功能介绍:该指令可以使用户获取 Mech-Viz 规划的路径。应在执行指令 201 启动工程后获取规划路径。
注意
默认设置下,该指令每次最多能发送 40 个路径目标点,若路径含有的目标点数量大于 40,则需重复调用该指令。
小技巧
如果工程中某个“移动”类技能的目标点不应发给机器人,请将该技能名字的结尾加上 _internal (带下划线,忽略大小写)。
格式说明:
指令码 |
位姿类型 |
|
DB 偏移量 |
2.0 |
4.0 |
参数说明:
位姿类型:需指定要获取的路径点位类型,1 表示 JPS ,2 表示位姿。
返回数据¶
格式说明:
状态码 |
位姿发送状态 |
发送位姿数量 |
视觉点位置 |
位姿 |
标签 |
速度百分比 |
|
DB 偏移量 |
200.0 |
202.0 |
204.0 |
206.0 |
208.0 |
1168.0 |
1248.0 |
参数说明:
状态码:若无错误,则返回 2100 获取成功 状态码;否则返回对应的错误码。调用该指令时,若 Mech-Viz 结果还未返回(正在运行中),则 Mech-Center 会等待 Mech-Viz 结果返回后再给机器人返回,默认等待 10s ,若发生超时,则给机器人返回超时错误。
位姿发送状态:1 表示写入的位姿数据为新数据。 PLC 读取位姿数据之后请将此寄存器复位。
发送位姿数量:接收到的位姿数量,对应 Mech-Viz 工程中发出来的移动技能数量。 若 Mech-Viz 中移动技能数量大于 20 ,机器人需要多次调用 205 指令接收。参数范围[0-20]。
视觉点位(即工程中的视觉移动)在路径中的位置:例如路径是:移动-1,移动-2,视觉移动,移动-3,则视觉点位置是 3。若路径中无视觉移动,则返回值为零。
位姿:数据格式 JPS 或者 XYZ 欧拉角,取决于 205 发送指令中设置的位姿类型。
标签:是 Mech-Vision 识别的该物体标签信息,返回标签值为整数。当 Mech-Vision 工程中使用字符标签时,需在 Mech-Vision 工程中把标签单词映射为整数。若 Mech-Vision 输出中不存在标签,则对应字节数值为零。
若位姿数量大于 1,参数 5、6、7 会包含多组数据。
206指令——获取 DO 信号列表¶
功能介绍:该指令用于获取规划的 DO 信号列表。DO 信号列表用于控制多个夹具或吸盘分区。
注意
请根据模板工程来部署 Mech-Viz 工程, 模板工程路径为
Mech-Center/tool/viz_project/suction_zone
,并在运行之前在工程中设置对应的吸盘配置文件。调用该指令之前需要先执行 205 指令获取 Mech-Viz 规划路径。
返回数据¶
格式说明:
状态码 |
DO |
|
DB 偏移量 |
200.0 |
1408.0 |
参数说明:
状态码:若无错误,则返回 2102 获取DO列表正常 ;否则返回对应的错误码。
DO 端口值:该指令返回 64 个 DO 端口值,其中有效 DO 值为[0-999],-1 为无效的占位值。
例如:设置 DO 信号 1、3、5、6 为 ON 。
1 |
3 |
5 |
6 |
-1 |
-1 |
-1 |
-1 |
… |
-1 |
-1 |
第1位 |
第2位 |
第3位 |
第4位 |
第5位 |
第6位 |
第7位 |
第8位 |
… |
第63位 |
第64位 |
501指令——向 Mech-Vision 传入物体尺寸¶
功能介绍:向 Mech-Vision 工程中动态传入物体尺寸,需要在 Mech-Vision 工程运行之前设置。
Mech-Vision 工程中应有 读取物体尺寸 步骤。该步骤参数 从参数读取物体尺寸 应设定为 True
。
502指令——向 Mech-Viz 传入 TCP¶
功能介绍:该指令用于向 Mech-Viz 工程中动态传入机器人 TCP ,配合 Mech-Viz 中的外部移动技能使用。
注意
该指令需要配合
Mech-Center/tool/viz_project/outer_move
路径下的工程使用,并在运行之前把其中的外部移动技能放到合适的位置。该指令需要在调用 201 指令之前执行。