标准接口指令说明

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

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

本文介绍Siemens SIMATIC S7系列PLC通过TIA Portal软件与梅卡曼德视觉系统之间进行Snap7协议通信的标准接口指令。其中,PLC(客户端)发送指令给梅卡曼德视觉系统(服务端),梅卡曼德视觉系统将处理后的数据返回给PLC。

send receive

注意事项

  • 指令的数据单位:

    • 关节角的单位是度(°)。

    • 机器人法兰位姿或机器人工具位姿由位置和姿态组成,位置(XYZ坐标值)单位为毫米(mm);姿态使用欧拉角表示,单位为度(°)。

  • 视觉点或路径点:

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

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

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

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

运行Mech-Vision工程

功能介绍

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

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

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

调用顺序

功能块

start mech vision 1

输入参数

Vision_Proj_Num

该参数表示Mech-Vision工程编号。数据类型为Int。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。

Req_Pose_Num

该参数表示期望从Mech-Vision工程获取的视觉点或路径点数量。数据类型为Int。取值为0或大于0的整数,具体说明如下。

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

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

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

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

运行Mech-Vision工程指令并不返回视觉点或路径点,调用获取视觉结果指令才会返回视觉点,调用获取Mech-Vision规划路径指令才会返回路径点。

Robot_Pose_Type

该参数指定真实机器人的位姿将以何种形式传入Mech-Vision工程。数据类型为Int。取值为0、1、2或3,具体说明如下表。

Robot_Pose

该参数指定机器人的位姿。数据类型为Array[0..1, 0..5] of Real。该参数的数据结构为二维数组,其中Array[0]为机器人关节角,Array[1]为机器人法兰位姿。

下表为Robot_Pose_Type与Robot_Pose参数取值的关系及说明。

Robot_Pose_Type Robot_Pose 说明 适用场景

0

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

该指令无需向Mech-Vision工程传入机器人位姿。

若Mech-Vision工程中使用“路径规划”步骤,则路径规划的起始点为路径规划工具中设置的Home点。

相机的安装方式为Eye To Hand,并且项目无需进行提前拍照,则使用该设定。

1

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

该指令需要将机器人的关节角和法兰位姿传入Mech-Vision工程。

相机的安装方式为Eye In Hand,则必须使用该设定。

除使用桁架机器人的场景外,大多数场景推荐使用该设定。

2

机器人当前法兰位姿

该指令需要将机器人的当前法兰位姿传入Mech-Vision工程。

场景中使用桁架机器人,推荐使用该设定。

3

用户自定义的关节角

该指令需要将用户自定义的关节角传入Mech-Vision工程。

此关节角数据将发送给Mech-Vision工程的“路径规划”步骤作为起始点,即机器人从该起始点向路径规划的第一个路径点进行移动。

相机的安装方式为Eye To Hand,并且项目需要进行提前拍照,则使用该设定。

Start_Vision

该参数触发Mech-Vision工程运行,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Start_Vision是否出现上升沿。数据类型为Bool。1表示Start_Vision出现上升沿,0表示Start_Vision未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示Mech-Vision工程编号。数据类型为Int。

Req_Pose_Num_O

该参数表示期望从Mech-Vision工程获取的视觉点或路径点数量。数据类型为Int。0表示从Mech-Vision工程获取所有视觉点或路径点。

Robot_Pose_Type_O

该参数表示真实机器人的位姿将以何种形式传入Mech-Vision工程。数据类型为Int。取值为0、1、2或3。

Robot_JPS

该参数表示机器人关节角。数据类型为Array[0..5] of Real。

Robot_FL_Pose

该参数表示机器人法兰位姿。数据类型为Array[0..5] of Real。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为1102。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

start mech vision 2

上述示例表示,将"Camera_User".Step_Num设置为6,当"Camera_User".Start_Vis出现上升沿时,PLC将触发Mech-Vision工程1运行,且希望Mech-Vision工程1返回所有视觉点或路径点,同时将机器人当前的关节角和法兰位姿传入Mech-Vision。

获取视觉结果

功能介绍

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

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

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

    convert tcp

调用顺序

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

功能块

get mech vision data 1

输入参数

Vision_Proj_Num

该参数表示Mech-Vision工程编号。数据类型为Int。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。

Get_VisData

该参数触发获取视觉结果,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_VisData是否出现上升沿。数据类型为Bool。1表示Get_VisData出现上升沿,0表示Get_VisData未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示Mech-Vision工程编号。数据类型为Int。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为1100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

调用该指令后,视觉系统默认在10秒内未返回处理结果,则将返回超时错误状态码。在Mech-Vision工具栏的机器人通信配置  下一步  高级设置 下,可根据需求更改此默认超时时间。

set vis time

Status of Pose Sent

该参数为1,表示写入的位姿数据是新数据。数据类型为Int。PLC在读取位姿数据之后,请将此参数复位。

Number of Pose Sent

该参数表示Mech-Vision返回的视觉点数量。数据类型为Int。取值为0或大于0的整数。

Target Pose

该参数表示获取的视觉结果中各视觉点的位姿。位姿形式为工具位姿。数据类型为Array[0..39, 0..5] of Real。

Target Label

该参数表示获取的视觉结果中各视觉点的标签。该标签与位姿一一对应。数据类型为Array[0..39] of Int。

示例

get mech vision data 2

上述示例表示,将"Camera_User".Step_Num设置为8,当"Camera_User".Get_VisData出现上升沿时,获取Mech-Vision工程1的视觉结果。

切换Mech-Vision参数配方

功能介绍

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

set recipe

调用顺序

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

功能块

set formula 1

输入参数

Vision_Proj_Num

该参数表示Mech-Vision工程编号。数据类型为Int。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。

Vision_Recipe_Num

该参数表示Mech-Vision工程中参数配方的编号。数据类型为Int。如何查看参数配方的编号,可参考《查看参数配方的编号》。

Switch_Recipe

该参数表示触发切换Mech-Vision参数配方,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Switch_Recipe是否出现上升沿。数据类型为Bool。1表示Switch_Recipe出现上升沿,0表示Switch_Recipe未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示Mech-Vision工程编号。数据类型为Int。

Vision_Recipe_Num_O

该参数表示Mech-Vision工程中参数配方的编号。数据类型为Int。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为1107。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

set formula 2

上述示例表示,将"Camera_User".Step_Num设置为4,当"Camera_User".Switch_Recipe出现上升沿时,Mech-Vision工程1的参数配方将切换成编号为2的参数配方。

获取Mech-Vision规划路径

功能介绍

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

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

调用顺序

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

功能块

get planned visdate 1

输入参数

Vision_Proj_Num

该参数表示Mech-Vision工程编号。数据类型为Int。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。

Request_Pose_Type

该参数用于指定获取路径点的位姿形式。数据类型为Int。取值为1或2。

  • 1:关节角。

  • 2:工具位姿。

此处Request_Pose_Type和功能块MM_Start_Vis、MM_Start_Viz中Robot_Pose_Type,对应数据块MM Interface中同一Pose Type变量。因此,Request_Pose_Type和Robot_Pose_Type设定的值不同,则两者无法同时生效。

Get_VisData

该参数触发获取Mech-Vision规划路径,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_VisData是否出现上升沿。数据类型为Bool。1表示Get_VisData出现上升沿,0表示Get_VisData未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示Mech-Vision工程编号。数据类型为Int。

Request_Pose_Type_O

该参数表示路径点的位姿形式。数据类型为Int。1表示关节角,2表示工具位姿。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为1103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

调用该指令后,视觉系统默认在10秒内未返回处理结果,则将返回超时错误状态码。在Mech-Vision工具栏的机器人通信配置  下一步  高级设置 下,可根据需求更改此默认超时时间。

set vis time

Status of Pose Sent

该参数为1,表示写入的位姿数据是新数据。数据类型为Int。PLC在读取位姿数据之后,请将此参数复位。

Number of Pose Sent

该参数表示Mech-Vision返回的路径点数量。数据类型为Int。取值为0或大于0的整数。

Index of Vision Picking Point

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

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

Target Pose

该参数表示获取的规划路径中各路径点的位姿。数据类型为Array[0..39, 0..5] of Real。

Target Label

该参数表示获取的规划路径中各路径点的标签。该标签与位姿一一对应。数据类型为Array[0..39] of Int。

Target Tool ID

该参数表示获取的规划路径中各路径点的末端工具编号。该末端工具编号与位姿一一对应。数据类型为Array[0..39] of Int。

示例

get planned visdate 2

上述示例表示,将"Camera_User".Step_Num设置为12,当"Camera_User".Get_VisData出现上升沿时,获取Mech-Vision工程1返回的规划路径,路径点的位姿形式为关节角。

获取Mech-Vision自定义数据

功能介绍

该指令用于从Mech-Vision“输出”步骤获取自定义端口的数据。该指令调用一次便可将“输出”步骤的所有端口数据存放到指定寄存器中。

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

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

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

custom data
自定义端口的数据不能超过10个。获取的自定义数据是按照端口字母顺序(A~Za~z)排序。

调用顺序

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

功能块

get custom visdate 1

输入参数

Vision_Proj_Num

该参数表示Mech-Vision工程编号。数据类型为Int。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。

Get_VisData

该参数触发获取Mech-Vision自定义数据,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Int。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_VisData是否出现上升沿。数据类型为Bool。1表示Get_VisData出现上升沿,0表示Get_VisData未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示Mech-Vision工程编号。数据类型为Int。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Int。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为1100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

Status of Pose Sent

该参数为1,表示写入的位姿数据是新数据。数据类型为Int。PLC在读取位姿数据之后,请将此参数复位。

Number of Pose Sent

该参数用于保存Mech-Vision返回的视觉点数量。数据类型为Int。

Target Pose

该参数表示获取的视觉结果中各视觉点的位姿。位姿形式为工具位姿。数据类型为Array[0..39, 0..5] of Real。

Target Label

该参数表示获取的视觉结果中各视觉点的标签。该标签与位姿一一对应。数据类型为Array[0..39] of Int。

Custom Data Output

该参数表示获取的视觉结果中各视觉点的自定义数据。该自定义数据与位姿一一对应。数据类型为Array[0..39, 0..9] of Real。

示例

get custom visdate 2

上述示例表示,将"Camera_User".Step_Num设置为10,当"Camera_User".Get_VisData出现上升沿时,获取Mech-Vision工程1的自定义数据。

获取吸盘DO信号

功能介绍

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

  • 配置Mech-Vision工程

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

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

      sucker vis
  • 配置Mech-Viz工程

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

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

      sucker viz

调用顺序

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

功能块

get do list 1

输入参数

Vision_Proj_Num

该参数指定DO信号列表的来源。数据类型为Int。取值为0或正整数,具体说明如下。

  • 0:从Mech-Viz获取DO信号列表。

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

Depalletize_Tool_Section_Count

该参数表示吸盘分区数量。数据类型为Int。

Get_DoList

该参数触发获取吸盘DO信号,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_DoList是否出现上升沿。数据类型为Bool。1表示Get_DoList出现上升沿,0表示Get_DoList未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示DO信号列表的来源。数据类型为Int。

Depalletize_Tool_Section_Count_O

该参数表示吸盘分区数量。数据类型为Int。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令成功从Mech-Vision获取DO信号列表,则状态码为1106。若指令成功从Mech-Viz获取DO信号列表,则状态码为2102。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

DO

该参数表示指令返回的64个DO信号。数据类型为Array[0..63] of Int。

根据所搭建工程的不同,该指令返回的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

示例

get do list 2

上述示例表示,将"Camera_User".Step_Num设置为30,当"Camera_User".Get_DoList出现上升沿时,若Vision_Proj_Num为0,Depalletize_Tool_Section_Count为3,则Mech-Viz返回的DO列表将保存到DO数组内。

运行Mech-Viz工程

功能介绍

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

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

功能块

start mech viz 1

输入参数

Robot_Pose_Type

该参数指定真实机器人的位姿将以何种形式传入Mech-Viz工程,取值为0、1或2,具体说明如下表。数据类型为Int。

Robot_Pose

该参数指定机器人的位姿。数据类型为Array[0..1, 0..5] of Real。该参数的数据结构为二维数组,其中Array[0]为机器人关节角,Array[1]为机器人法兰位姿。

下表为Robot_Pose_Type与Robot_Pose参数取值的关系及说明。

Robot_Pose_Type Robot_Pose 说明 适用场景

0

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

该指令无需向Mech-Viz工程传入机器人位姿,Mech-Viz工程中仿真机器人将从设置的Home点开始移动到第一个路径点。

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

1

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

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

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

2

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

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

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

相机的安装方式为Eye To Hand,为何Robot_Pose_Type推荐使用2?

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

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

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

以上就是Eye To Hand模式下,Robot_Pose_Type推荐使用2的原因。

robot example

Start_Viz

该参数触发运行Mech-Viz工程,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Start_Viz是否出现上升沿。数据类型为Bool。1表示Start_Viz出现上升沿,0表示Start_Viz未出现上升沿。

输出参数

Robot_Pose_Type_O

该参数表示真实机器人的位姿将以何种形式传入Mech-Viz工程。数据类型为Int。取值为0、1或2。

Robot_JPS

该参数表示机器人关节角。数据类型为Array[0..5] of Real。

Robot_FL_Pose

该参数表示机器人法兰位姿。数据类型为Array[0..5] of Real。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为2103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

start mech viz 2

上述示例表示,将"Camera_User".Step_Num设置为18,当"Camera_User".Start_Viz出现上升沿时,触发Mech-Viz工程运行。

停止Mech-Viz工程

功能介绍

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

调用顺序

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

功能块

stop mech viz 1

输入参数

Stop_Viz

该参数触发停止正在运行的Mech-Viz工程,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Stop_Viz是否出现上升沿。数据类型为Bool。1表示Stop_Viz出现上升沿,0表示Stop_Viz未出现上升沿。

输出参数

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为2104。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

stop mech viz 2

上述示例表示,将"Camera_User".Step_Num设置为20,当"Camera_User".Stop_Viz出现上升沿时,Mech-Viz工程将停止运行。

设置Mech-Viz消息分支出口

功能介绍

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

set branch

调用顺序

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

功能块

set branch 2

输入参数

Branch_Name

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

Branch_Exit_Port

该参数用于指定“消息分支”步骤的出口号。数据类型为Int。取值为正整数。若将该参数值设置为N,则Mech-Viz工程将沿“消息分支”步骤的N-1出口继续执行。

Set_Branch

该参数触发设置Mech-Viz消息分支出口,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Set_Branch是否出现上升沿。数据类型为Bool。1表示Set_Branch出现上升沿,0表示Set_Branch未出现上升沿。

输出参数

Branch_Name_O

该参数表示消息分支的步骤编号。数据类型为Int。

Branch_Exit_Port_O

该参数表示“消息分支”步骤的出口号。数据类型为Int。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为2105。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

set branch 3

上述示例表示,将"Camera_User".Step_Num设置为24,当"Camera_User".Set_Branch出现上升沿时,Mech-Viz工程在编号为1的“消息分支”步骤处将沿出口0继续执行。

设置Mech-Viz当前索引

功能介绍

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

set index

调用顺序

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

功能块

set index 2

输入参数

Index_Name

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

Index_Counter

该参数用于指定索引类步骤的当前索引值。数据类型为Int。取值为正整数。若将该参数值设置为N,则相应步骤的当前索引值为N-1。

Set_Index

该参数触发设置Mech-Viz当前索引,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Set_Index是否出现上升沿。数据类型为Bool。1表示Set_Index出现上升沿,0表示Set_Index未出现上升沿。

输出参数

Index_Name_O

该参数表示索引类步骤的步骤编号。数据类型为Int。

Index_Counter_O

该参数表示索引类步骤的当前索引值。数据类型为Int。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为2106。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

set index 3

上述示例表示,将"Camera_User".Step_Num设置为22,当"Camera_User".Set_Index出现上升沿时,设置Mech-Viz工程中编号为5的步骤的当前索引值为3。

获取Mech-Viz规划路径

功能介绍

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

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

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

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

调用顺序

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

功能块

get mech viz date 1

输入参数

Request_Pose_Type

该参数用于指定获取路径点的位姿形式。数据类型为Int。取值为1或2。

  • 1:关节角。

  • 2:工具位姿。

此处Request_Pose_Type和功能块MM_Start_Vis、MM_Start_Viz中Robot_Pose_Type,对应数据块MM Interface中同一Pose Type变量。因此,Request_Pose_Type和Robot_Pose_Type设定的值不同,则两者无法同时生效。

Get_VizData

该参数触发获取Mech-Viz规划路径,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_VizData是否出现上升沿。数据类型为Bool。1表示Get_VizData出现上升沿,0表示Get_VizData未出现上升沿。

输出参数

Request_Pose_Type_O

该参数表示路径点的位姿形式。数据类型为Int。1表示关节角,2表示工具位姿。

Robot_JPS

该参数表示机器人关节角。数据类型为Array[0..5] of Real。

Robot_FL_Pose

该参数表示机器人法兰位姿。数据类型为Array[0..5] of Real。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为2100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

调用该指令后,视觉系统默认在10秒内未返回处理结果,则将返回超时错误状态码。在Mech-Vision工具栏的机器人通信配置  下一步  高级设置 下,可根据需求更改此默认超时时间。

set viz time

Status of Pose Sent

该参数为1,表示写入的位姿数据是新数据。数据类型为Int。PLC在读取位姿数据之后,请将此参数复位。

Number of Pose Sent

该参数表示Mech-Viz返回的路径点数量。数据类型为Int。取值为0或大于0的整数。

Index of Vision Picking Point

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

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

Target Pose

该参数表示获取的规划路径中各路径点的位姿。数据类型为Array[0..39, 0..5] of Real。

Target Label

该参数表示获取的规划路径中各路径点的标签。该标签与位姿一一对应。数据类型为Array[0..39] of Int。

Target Tool ID

该参数表示获取的规划路径中各路径点的末端工具编号。该末端工具编号与位姿一一对应。数据类型为Array[0..39] of Int。

示例

get mech viz date 2

上述示例表示,将"Camera_User".Step_Num设置为26,当"Camera_User".Get_VizData出现上升沿时,获取Mech-Viz工程规划的路径,路径点的位姿形式为工具位姿。

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

功能介绍

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

使用该指令时,Mech-Vision工程中只能存在一个“读取物体尺寸”步骤,否则视觉系统将返回错误。
read object dimensions

调用顺序

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

功能块

read object dimensions 2

输入参数

Vision_Proj_Num

该参数表示Mech-Vision工程编号。数据类型为Int。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。

External_Input_Box_Dimension

该参数表示传入Mech-Vision工程的物体尺寸(依次为长、宽、高,单位为毫米)。尺寸值将被“读取物体尺寸”步骤读取并分别写入X轴上的长度Y轴上的长度Z轴上的长度。数据类型为Array[0..2] of Real。

Set_Box_Dimension

该参数触发向Mech-Vision工程传入物体尺寸,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Set_Box_Dimension是否出现上升沿。数据类型为Bool。1表示Set_Box_Dimension出现上升沿,0表示Set_Box_Dimension未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示Mech-Vision工程编号。数据类型为Int。

External_Input_Box_Dimension_O

该参数表示传入Mech-Vision工程的物体尺寸。数据类型为Array[0..2] of Real。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为1108。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

read object dimensions 3

上述示例表示,将"Camera_User".Step_Num设置为2,当"Camera_User".Set_Box_Dimension出现上升沿时,Mech-Vision工程中“读取物体尺寸”步骤的物体尺寸将设置为External_Input_Box_Dimension参数值。

获取通知的消息

功能介绍

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

当Mech-Vision或Mech-Viz工程运行至“通知”步骤时,设置的消息只会在视觉系统中缓存3秒,因此用户在使用该指令时需要控制好调用时间才能获取到消息内容。另外,PLC在使用该消息后,需要触发变量"CameraIO".MM.ToCamera.CLEAR_NOTIFY,以产生一个信号交互周期的脉冲,用于清除该寄存器数据。

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

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

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

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

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

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

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

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

      notify 4

调用顺序

该指令需在运行Mech-Vision工程指令或运行Mech-Viz工程指令之后立即被调用。

功能块

get notify 1

输入参数

Get_Notify

该参数触发获取通知的消息,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_Notify是否出现上升沿。数据类型为Bool。1表示Get_Notify出现上升沿,0表示Get_Notify未出现上升沿。

输出参数

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Notify

该参数用于保存通知的消息(暂时只支持正整数)。数据类型为Int。

示例

假设“通知”步骤中设置的消息为777,PLC在自动模式获取消息的示例如下。

get notify 2

上述示例表示,在自动模式下将"Camera_User".Step_Num设置为7,此时"MM Interface".FromCamera.Notify不等于777,使能"MM_Get_Custom_Notify"功能;当变量"Camera_User".Get_Notify出现上升沿时,获取“通知”步骤中预先设置的消息。 若成功获取到消息,则"MM Interface".FromCamera.Notify等于777;否则"MM Interface".FromCamera.Notify不等于777,PLC在3秒后提示对应报警信息。

获取工程状态

功能介绍

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

功能块

get software state 1

输入参数

Get_Status

该参数触发检测Mech-Vision工程是否已就绪,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_Status是否出现上升沿。数据类型为Bool。1表示Get_Status出现上升沿,0表示Get_Status未出现上升沿。

输出参数

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

该参数用于保存该指令执行的状态码。数据类型为Int。若指令执行正常,则状态码为1101。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。

示例

get software state 2

上述示例表示,将"Camera_User".Step_Num设置为32,当"Camera_User".Get_Status出现上升沿时,检测Mech-Vision工程是否已就绪。

清空目标数据

功能介绍

该指令用于清空已经获取的位姿、标签和末端工具编号。

功能块

clear target data 1

输入参数

Start_Empty

该参数触发清空已经获取的位姿、标签和末端工具编号,置位有效。数据类型为Bool。

输入/输出参数

Target_Pose

该参数表示已获取的视觉点或路径点的位姿。数据类型为Array[0..19, 0..5] OF DINT。

Target_Label

该参数表示已获取的视觉点或路径点的标签。数据类型为Array[0..19] OF UDINT。

Target_Tool_ID

该参数表示已获取的视觉点或路径点的末端工具编号。数据类型为Array[0..19] OF UDINT。

该功能不能一直处于使能。由于Target_Pose、Target_Label和Target_Tool_ID为功能的输入/输出参数,如果功能一直处于使能,PLC在每个扫描周期都会读、写一次上述参数,偶尔会覆盖视觉系统已发送的数据。

示例

clear target data 2

上述示例表示,将"Camera_User".Step_Num设置为14,当"Camera_User".Start_Empty置位时,将清空Target Pose、Target Label和Target Tool ID。

获取视觉移动规划数据或自定义数据

该指令用于获取Mech-Vision工程的视觉移动规划数据,或者获取Mech-Viz工程的视觉移动规划数据或自定义数据。

  • 对于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

功能块

plan data 1

调用顺序

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

输入参数

Vision_Proj_Num

该参数指定视觉移动规划数据的来源。数据类型为Int。取值为0或正整数,具体说明如下。

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

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

Request_Pose_Type

该参数表示预期的返回数据格式。数据类型为Int。

此处Request_Pose_Type和功能块MM_Start_Vis、MM_Start_Viz中Robot_Pose_Type,对应数据块MM Interface中同一Pose Type变量。因此,Request_Pose_Type和Robot_Pose_Type设定的值不同,则两者无法同时生效。

  • 当Vision_Proj_Num为0时,Request_Pose_Type参数取值范围为1~4,具体说明如下。

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

    1

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

    2

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

    3

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

    4

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

  • 当Vision_Proj_Num为正整数时,Request_Pose_Type参数取值范围为1~2,具体说明如下。

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

    1

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

    2

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

    位姿

    路径点的位姿可以是机器人关节角或工具位姿,具体形式取决于Request_Pose_Type参数值。

    移动类型

    • 1:关节移动。

    • 2:直线移动。

    末端工具编号

    路径点的末端工具编号。若值为-1,表示不使用末端工具。

    速度

    路径点的速度值,使用百分数表示。

    视觉移动规划数据

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

    视觉移动规划数据的具体内容如下表所示。

    名称 说明 维数

    被抓取工件的标签

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

    10

    已抓取的工件总数

    累计已抓取的工件数量

    1

    本次抓取的工件数量

    本次抓取的工件数量

    1

    吸盘边角号

    本次吸盘所使用的边角号

    1

    TCP偏移量

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

    3

    工件组朝向

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

    1

    单个工件朝向

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

    1

    工件组尺寸

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

    3

    自定义数据项

    当 Mech-Vision 工程中“输出”步骤的端口类型为“自定义”时,除 poses 和 labels 等之外其他自定义端口的数据。

    自定义端口的数据不能超过10个。获取的自定义数据是按照端口字母顺序(A~Za~z)排序。

Get_VizData

该参数触发获取视觉移动规划数据或自定义数据,上升沿有效。数据类型为Bool。

Trigger_Acknowledge

该参数反馈Command Trigger信号是否成功触发视觉系统。数据类型为Bool。1表示触发成功,0表示未收到Command Trigger信号。

输入/输出参数

Set_Flag

该参数表示Get_VizData是否出现上升沿。数据类型为Bool。1表示Get_VizData出现上升沿,0表示Get_VizData未出现上升沿。

输出参数

Vision_Proj_Num_O

该参数表示Mech-Vision工程编号。数据类型为Int。

Request_Pose_Type_O

该参数表示预期的返回数据格式。数据类型为Int。

Command

该参数表示指令码,通过功能块自动赋值。数据类型为Int。

Command Trigger

该参数表示指令开关,通过功能块自动触发。数据类型为Bool。

MM Interface数据块返回数据

Status code

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

Status of Pose Sent

该参数为1,表示写入的位姿数据是新数据。数据类型为Int。PLC在读取位姿数据之后,请将此参数复位。

Number of Pose Sent

该参数表示视觉系统返回的路径点数量。数据类型为Int。取值为0或大于0的整数。

Index of Vision Picking Point

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

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

Target Pose

该参数表示获取的规划路径中各路径点的位姿。数据类型为Array[0..39, 0..5] of Real。

Target Label

该参数表示获取的规划路径中各路径点的标签。该标签与位姿一一对应。数据类型为Array[0..39] of Int。

Speed Percentage

该参数表示获取的规划路径中各路径点的速度。该速度与位姿一一对应。数据类型为Array[0..39] of Int。

Target Tool ID

该参数表示获取的规划路径中各路径点的末端工具编号。该末端工具编号与位姿一一对应。数据类型为Array[0..39] of Int。

Custom Vision Output

该参数表示获取的规划路径中各路径点的自定义数据。该自定义数据与位姿一一对应。数据类型为Array[0..39, 0..9] of Real。

Target IsVisualMove

该参数指示路径点是否是视觉移动路径点,0表示该点不是视觉移动路径点,1表示该点是视觉移动路径点,只有视觉移动路径点才会携带视觉移动规划数据或自定义数据。数据类型为Array[0..39] of Int。

Target Move Type

该参数表示移动类型。数据类型为Array[0..39] of Int。取值为1或2。

  • 1:关节移动。

  • 2:直线移动。

VisualMove Planning Result

该参数表示各路径点的视觉移动规划数据。数据类型为Array[0..39, 0..39] of Real。一个路径点的视觉移动规划数据如下表所示。

名称 说明 维数

被抓取工件的标签

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

10

已抓取的工件总数

累计已抓取的工件数量

1

本次抓取的工件数量

本次抓取的工件数量

1

吸盘边角号

本次吸盘所使用的边角号

1

TCP偏移量

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

3

工件组朝向

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

1

单个工件朝向

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

1

工件组尺寸

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

3

示例

plan data 2

上述示例表示,将"Camera_User".Step_Num设置为4,使能"MM_Get_Planned_Result"功能,此时,Vision_Proj_Num为0,当变量"Camera_User".Get_VizData出现上升沿时,获取Mech-Viz工程输出的路径点数据,路径点的位姿类型为TCP。如果Target IsVisualMove为1,表示从视觉系统获取的路径点是视觉移动路径点,则VisualMove Planning Result保存视觉移动规划数据,Custom Vision Output保存自定义数据。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

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