标准接口指令说明
本文介绍基恩士PLC与梅卡曼德视觉系统之间Mitsubishi MC协议通信的标准接口指令。其中,PLC(客户端)发送指令给梅卡曼德视觉系统(服务端),梅卡曼德视觉系统将处理后的数据返回给PLC。
在开始前,请注意以下事项:
-
指令的数据单位:
-
关节角的单位是度(°)。
-
机器人法兰位姿或机器人工具位姿由位置和姿态组成,位置(XYZ坐标值)单位为毫米(mm);姿态使用欧拉角表示,单位为度(°)。
-
-
视觉点或路径点:
-
视觉点:Mech-Vision识别的目标物体,一个视觉点包括物体位姿、标签、速度、物体尺寸、自定义数据等信息。
-
路径点:机器人沿着规划路径需逐一到达的点位,一个路径点包括机器人位姿、标签、移动类型、速度等信息。路径点可分为以下两种类型:
-
视觉移动路径点:“视觉移动”步骤对应的路径点。
-
非视觉移动路径点:除“视觉移动”步骤外,其他移动类步骤对应的路径点。
-
-
运行Mech-Vision工程
功能介绍
该指令用于触发Mech-Vision工程运行。在Mech-Vision工程运行期间,视觉系统会执行相机拍照,并对图像数据进行一系列的视觉算法处理,最终得到一系列视觉点或路径点。
|
调用顺序
-
工程中的步骤参数需要在运行Mech-Vision工程之前被设置,因此切换Mech-Vision参数配方指令或向Mech-Vision工程传入物体尺寸指令需先于运行Mech-Vision工程指令被调用。
-
只有运行Mech-Vision工程后,视觉系统才得到视觉点或路径点,因此运行Mech-Vision工程指令需先于获取视觉结果指令、获取Mech-Vision规划路径指令或获取Mech-Vision自定义数据指令被调用。
功能块
输入参数
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工程输出的视觉点或路径点总数大于或等于指定的参数值,则获取指定数量的视觉点或路径点。
-
|
Robot_Pose_Type
该参数指定真实机器人的位姿将以何种形式传入Mech-Vision工程。数据类型为INT。取值为0、1、2或3,具体说明如下表。
Robot_Joint_Position
该参数指定机器人关节角。数据类型为ARRAY[0..5] OF REAL。
Robot_Flange_Pose
该参数指定机器人法兰位姿。数据类型为ARRAY[0..5] OF REAL。
下表为Robot_Pose_Type与Robot_Joint_Position和Robot_Flange_Pose参数取值的关系及说明。
Robot_Pose_Type | Robot_Joint_Position | Robot_Flange_Pose | 说明 | 适用场景 |
---|---|---|---|---|
0 |
0,0,0,0,0,0 |
0,0,0,0,0,0 |
该指令无需向Mech-Vision工程传入机器人位姿。 |
相机的安装方式为Eye To Hand。若Mech-Vision工程中使用“路径规划”步骤,则路径规划的起始点为路径规划工具中设置的Home点。 |
1 |
机器人当前关节角 |
机器人当前法兰位姿 |
该指令需要将机器人的当前关节角和法兰位姿传入Mech-Vision工程。 |
相机的安装方式为Eye In Hand。除桁架机器人外,大多数机器人适用该设定。 |
2 |
0,0,0,0,0,0 |
机器人当前法兰位姿 |
该指令需要将机器人的当前法兰位姿传入Mech-Vision工程。 |
相机的安装方式为Eye In Hand,机器人无关节角数据,仅有法兰位姿数据(如桁架机器人)。 |
3 |
机器人路径规划起始点的关节角 |
0,0,0,0,0,0 |
该指令需要将用户自定义的关节角传入Mech-Vision工程。 |
相机的安装方式为Eye To Hand,并且Mech-Vision工程中存在“路径规划”步骤,且需要从机器人端设置“路径规划”步骤的起始点。 |
Start_Vis
该参数触发Mech-Vision工程运行,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
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。
Joint_Position_O
该参数表示机器人关节角。数据类型为ARRAY[0..5] OF REAL。
Flange_Pose_O
该参数表示机器人法兰位姿。数据类型为ARRAY[0..5] OF REAL。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为1102。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
获取视觉结果
功能介绍
该指令用于获取Mech-Vision输出的视觉结果(一系列视觉点)。视觉点的物体位姿(即“输出”步骤的poses端口数据)将会由视觉系统自动转换为对应机器人的工具位姿,具体转换流程如下。
-
将物体位姿由四元数形式转换为欧拉角形式。
-
将物体位姿绕X轴旋转180°,使其Z轴朝下。
调用顺序
该指令需在运行Mech-Vision工程指令之后被调用。
功能块
输入参数
Vision_Proj_Num
该参数表示Mech-Vision工程编号。数据类型为INT。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
Get_VisData
该参数触发获取视觉结果,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Vision_Proj_Num_O
该参数表示Mech-Vision工程编号。数据类型为INT。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为1100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
调用该指令后,视觉系统默认在10秒内未返回处理结果,则将返回超时错误状态码。在Mech-Vision工具栏的 下,可根据需求更改此默认超时时间。 |
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。
切换Mech-Vision参数配方
调用顺序
该指令需在运行Mech-Vision工程指令之前被调用。
功能块
输入参数
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信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Vision_Proj_Num_O
该参数表示Mech-Vision工程编号。数据类型为INT。
Vision_Recipe_Num_O
该参数表示Mech-Vision工程中参数配方的编号。数据类型为INT。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为1107。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
获取Mech-Vision规划路径
功能介绍
该指令用于获取Mech-Vision规划的路径(一系列路径点)。此处的路径由“路径规划工具”(从下图的打开编辑器进入)规划。“路径规划”步骤相关的内容,可参考《路径规划》。
Mech-Vision“输出”步骤的端口类型参数需要设置为“预定义(机器人路径)”。 |
调用顺序
该指令需在运行Mech-Vision工程指令之后被调用。
功能块
输入参数
Vision_Proj_Num
该参数表示Mech-Vision工程编号。数据类型为INT。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
Request_Pose_Type
该参数用于指定获取路径点的位姿形式。数据类型为INT。取值为1或2。
-
1:关节角。
-
2:工具位姿。
Get_VisData
该参数触发获取Mech-Vision规划路径,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Vision_Proj_Num_O
该参数表示Mech-Vision工程编号。数据类型为INT。
Request_Pose_Type_O
该参数表示获取路径点的位姿形式。数据类型为INT。1表示关节角,2表示工具位姿。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为1103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
调用该指令后,视觉系统默认在10秒内未返回处理结果,则将返回超时错误状态码。在Mech-Vision工具栏的 下,可根据需求更改此默认超时时间。 |
Status_of_Pose_Sent
该参数为1,表示写入的位姿数据是新数据。数据类型为INT。PLC在读取位姿数据之后,请将此参数复位。
Number_of_Pose_Sent
该参数用于保存视觉系统返回的路径点数量。数据类型为INT。视觉系统默认单次发送路径点的最大数量为20,因此该参数默认最大值为20。 在Mech-Vision工具栏的
下,可根据需求更改默认最大数量,但最大数量的上限为30。在调用获取Mech-Vision规划路径指令前,请务必将运行Mech-Vision工程指令的Req_Pose_Num设置为0,以减少调用获取Mech-Vision规划路径指令的次数。若运行Mech-Vision工程指令的Req_Pose_Num设置为1,则每次调用获取Mech-Vision规划路径指令只会获取一个路径点,只有多次调用才能获取全部路径点。 |
Index_of_Vision_Picking_Point
该参数表示路径规划工具中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置编号。数据类型为INT。如果路径中无视觉移动路径点,则该参数值为0。
例如,如果规划路径由以下路径点组成:“定点移动_1”,“定点移动_2”,“视觉移动”,“定点移动_3”,则视觉移动路径点的位置编号为3。
Target_Pose
该参数表示获取的规划路径中各路径点的位姿。位姿形式为工具位姿或关节角,具体形式取决于Request_Pose_Type参数值。数据类型为ARRAY[0..39,0..5] OF REAL。
Target_Label
该参数表示获取的规划路径中各路径点的标签。该标签与位姿一一对应。数据类型为ARRAY[0..39] OF INT。
Target_Tool_ID
该参数表示获取的规划路径中各路径点的末端工具编号。该末端工具编号与位姿一一对应。数据类型为ARRAY[0..39] OF INT。
获取吸盘DO信号
功能介绍
该指令用于获取Mech-Vision或Mech-Viz工程规划的多分区吸盘的控制信号。在使用该指令前,用户需提前在Mech-Vision或Mech-Viz软件中进行如下配置。
-
配置Mech-Vision工程
-
在“路径规划”步骤参数中,单击配置向导。在全局配置中,将箱子拆垛开关置于打开状态。
-
在“路径规划”步骤参数中,单击配置向导,双击末端工具名称,工具类型选择拆垛吸盘,单击拆垛吸盘配置,根据需求配置DO信号。
-
-
配置Mech-Viz工程
-
在Mech-Viz软件中,“视觉移动”步骤的 抓取工艺 选择 箱子拆垛。
-
在Mech-Viz软件中,双击末端工具名称,工具类型选择拆垛吸盘,单击拆垛吸盘配置,根据需求配置DO信号。
-
调用顺序
该指令需在获取Mech-Vision规划路径指令或获取Mech-Viz规划路径指令之后被调用,即PLC先获取规划路径,再获取视觉移动路径点对应的吸盘DO信号。
功能块
输入参数
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信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Vision_Proj_Num_O
该参数表示DO信号列表的来源。数据类型为INT。
Depalletize_Tool_Section_Count_O
该参数表示吸盘分区数量。数据类型为INT。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令成功从Mech-Viz获取DO信号列表,则状态码为2102。若指令成功从Mech-Vision获取DO信号列表,则状态码为1106。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
DO_LIST
该参数表示指令返回的64个DO信号。数据类型为ARRAY[0..63] OF INT。
根据所搭建工程的不同,该指令返回的DO信号会有所不同,具体如下。
-
Mech-Vision工程规划的吸盘DO信号
-
在路径规划的全局配置中,若规划全部视觉结果开关处于关闭状态,则该指令返回64个DO信号,表示本轮规划的吸盘DO信号,其中有效的DO信号为非负整数,范围为 0~999;无效的DO信号为-1(作为占位值)。
例如,在下表中,返回的有效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信号。
例如,吸盘分区数量为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(作为占位值)。
例如,在下表中,返回的有效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信号。
例如,吸盘分区数量为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-Vision自定义数据
功能介绍
该指令用于从Mech-Vision“输出”步骤获取自定义端口的数据。该指令调用一次便可将“输出”步骤的所有端口数据存放到指定寄存器中。
自定义端口的设置可从“输出”步骤参数的打开编辑器处进入,其中自定义通信键名就是自定义端口名称,例如下图中customeData1和customeData2端口就是自定义端口。
|
自定义端口的数据不能超过10个。获取的自定义数据是按照端口字母顺序(A~Za~z)排序。 |
调用顺序
该指令需在运行Mech-Vision工程指令之后被调用。
功能块
输入参数
Vision_Proj_Num
该参数表示Mech-Vision工程编号。数据类型为INT。Mech-Vision工程编号可在Mech-Vision工程列表窗口中查看,工程名称前的数字表示工程编号。
Get_VisData
该参数触发获取Mech-Vision自定义数据,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Vision_Proj_Num_O
该参数表示Mech-Vision工程编号。数据类型为INT。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
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_Vision_Output
该参数表示获取的视觉结果中各视觉点的自定义数据。该自定义数据与位姿一一对应。数据类型为ARRAY[0..39,0..9] OF REAL。
运行Mech-Viz工程
功能介绍
该指令用于触发Mech-Viz工程运行。Mech-Viz是基于Mech-Vision输出的视觉结果规划机器人的移动路径。
在Mech-Viz工程资源面板中,右键单击工程名称,勾选设为自动加载。 |
功能块
输入参数
Robot_Pose_Type
该参数指定真实机器人的位姿将以何种形式传入Mech-Viz工程,取值为0、1或2,具体说明如下表。数据类型为INT。
Robot_Joint_Position
该参数指定机器人关节角。数据类型为ARRAY[0..5] OF REAL。
Robot_Flange_Pose
该参数指定机器人法兰位姿。数据类型为ARRAY[0..5] OF REAL。
下表为Robot_Pose_Type与Robot_Joint_Position和Robot_Flange_Pose参数取值的关系及说明。
Robot_Pose_Type | Robot_Joint_Position | Robot_Flange_Pose | 说明 | 适用场景 |
---|---|---|---|---|
0 |
0,0,0,0,0,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 |
机器人路径规划起始点的关节角 |
0,0,0,0,0,0 |
该指令需要将机器人的一个示教点(非当前关节角,而是自定义关节角)传入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的原因。
Start_Viz
该参数触发运行Mech-Viz工程,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Robot_Pose_Type_O
该参数表示真实机器人的位姿将以何种形式传入Mech-Vision工程。数据类型为INT。取值为0、1或2。
Joint_Position_O
该参数表示机器人关节角。数据类型为ARRAY[0..5] OF REAL。
Flange_Pose_O
该参数表示机器人法兰位姿。数据类型为ARRAY[0..5] OF REAL。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为2103。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
停止Mech-Viz工程
调用顺序
该指令需在运行Mech-Viz工程指令之后被调用。
功能块
输入参数
Stop_Viz
该参数触发停止正在运行的Mech-Viz工程,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为2104。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
设置Mech-Viz消息分支出口
调用顺序
该指令需在运行Mech-Viz工程指令之后被调用。
功能块
输入参数
Branch_Name
该参数用于指定消息分支的步骤编号。数据类型为INT。取值为正整数。步骤编号可在步骤参数中获取,例如上图中的步骤编号为1。
Branch_Exit_Port
该参数用于指定“消息分支”步骤的出口号。数据类型为INT。取值为正整数。若将该参数值设置为N,则Mech-Viz工程将沿“消息分支”步骤的N-1出口继续执行。
Set_Branch
该参数触发设置Mech-Viz消息分支出口,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Branch_Name_O
该参数表示消息分支的步骤编号。数据类型为INT。
Branch_Exit_Port_O
该参数表示“消息分支”步骤的出口号。数据类型为INT。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为2105。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
设置Mech-Viz当前索引
调用顺序
通常在索引类步骤前存在一个“消息分支”步骤,PLC端首先调用运行Mech-Viz工程指令,然后调用设置Mech-Viz当前索引指令,最后调用设置Mech-Viz消息分支出口指令。如此,Mech-Viz将有充足时间设置当前索引值。
功能块
输入参数
Index_Name
该参数用于指定索引类步骤的步骤编号。数据类型为INT。取值为正整数。步骤编号可在步骤参数中获取,例如上图中的步骤编号为3。
Index_Counter
该参数用于指定索引类步骤的当前索引值。数据类型为INT。取值为正整数。若将该参数值设置为N,则相应步骤的当前索引值为N-1。
Set_Index
该参数触发设置Mech-Viz当前索引,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Index_Name_O
该参数表示索引类步骤的步骤编号。数据类型为INT。
Index_Counter_O
该参数表示索引类步骤的当前索引值。数据类型为INT。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为2106。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
获取Mech-Viz规划路径
功能介绍
该指令用于获取Mech-Viz工程规划的移动路径(一系列路径点)。
路径点:机器人沿着规划路径需逐一到达的点位,一个路径点包括机器人位姿、标签、移动类型、速度等信息。路径点可分为以下两种类型:
|
调用顺序
该指令需在运行Mech-Viz工程之后被调用。
功能块
输入参数
Request_Pose_Type
该参数用于指定获取路径点的位姿形式。数据类型为INT。取值为1或2。
-
1:关节角。
-
2:工具位姿。
Get_VizData
该参数触发获取Mech-Viz规划路径,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Request_Pose_Type_O
该参数表示获取路径点的位姿形式。数据类型为INT。1表示关节角,2表示工具位姿。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为2100。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
调用该指令后,视觉系统默认在10秒内未返回处理结果,则将返回超时错误状态码。在Mech-Vision工具栏的 下,可根据需求更改此默认超时时间。 |
Status_of_Pose_Sent
该参数为1,表示写入的位姿数据是新数据。数据类型为INT。PLC在读取位姿数据之后,请将此参数复位。
Number_of_Pose_Sent
该参数用于保存视觉系统返回的路径点数量。视觉系统默认单次发送路径点的最大数量为20,因此该参数默认最大值为20。 在Mech-Vision工具栏的
下,可根据需求更改默认最大数量,但最大数量的上限为30。Index_of_Vision_Picking_Point
该参数表示Mech-Viz工程中“视觉移动”步骤对应的路径点(视觉移动路径点)在路径中的位置编号。数据类型为INT。如果路径中无视觉移动路径点,则该参数值为0。
例如,如果规划路径由以下路径点组成:“定点移动_1”,“定点移动_2”,“视觉移动”,“定点移动_3”,则视觉移动路径点的位置编号为3。
Target_Pose
该参数表示获取的规划路径中各路径点的位姿。位姿形式为工具位姿或关节角,具体形式取决于Request_Pose_Type参数值。数据类型为ARRAY[0..39,0..5] OF REAL。
Target_Label
该参数表示获取的规划路径中各路径点的标签。该标签与位姿一一对应。数据类型为ARRAY[0..39] OF INT。
Target_Tool_ID
该参数表示获取的规划路径中各路径点的末端工具编号。该末端工具编号与位姿一一对应。数据类型为ARRAY[0..39] OF INT。
向Mech-Vision工程传入物体尺寸
调用顺序
该指令需在运行Mech-Vision工程指令之前被调用。
功能块
输入参数
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信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
输出参数
Vision_Proj_Num_O
该参数表示Mech-Vision工程编号。数据类型为INT。
External_Input_Box_Dimension_O
该参数表示传入Mech-Vision工程的物体尺寸。数据类型为ARRAY[0..2] OF REAL。
Command
该参数表示指令码,通过功能块自动赋值。数据类型为INT。
Command_Trigger
该参数表示指令开关,通过功能块自动触发。数据类型为INT。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为1108。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
获取通知的消息
功能介绍
当Mech-Vision工程或Mech-Viz工程运行至“通知”步骤时,视觉系统会返回“通知”步骤中预先设置的消息。
当Mech-Vision或Mech-Viz工程运行至“通知”步骤时,设置的消息只会在视觉系统中缓存1秒,因此用户在使用该指令时需要控制好调用时间才能获取到消息内容。另外,PLC在使用该消息后,需要自行清除该寄存器数据。 |
在使用该指令前,“通知”步骤需满足以下设置。
-
Mech-Vision工程中的“通知”步骤
-
将“通知”步骤连接在其他步骤的右侧(此处以“输出”步骤为例)。
-
在“输出”的步骤参数处,勾选有输出时触发控制流。
-
在“通知”的步骤参数处,服务名称填写Standard Interface Notify(不可更改),消息填写1001(根据需求填写,但必须为正整数)。
-
-
Mech-Viz工程中的“通知”步骤
-
将“通知”步骤连接在工作流程中的合适位置。
-
在“通知”的步骤参数处,勾选标准接口,消息填写1000(根据需求填写,但必须为正整数)。
-
调用顺序
该指令需在运行Mech-Vision工程指令或运行Mech-Viz工程指令之后立即被调用。
获取工程状态
功能块
输入参数
Get_Status
该参数触发检测Mech-Vision工程是否已就绪,上升沿有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。
全局变量MM_Camera返回数据
Status_Code
该参数用于保存该指令执行的状态码。数据类型为INT。若指令执行正常,则状态码为1101。 若指令执行异常,则状态码为对应的错误码,具体可参考《标准接口状态码及错误排查》。
清空目标数据
功能块
输入参数
Start_Empty
该参数触发清空已经获取的位姿、标签和末端工具编号,置位有效。数据类型为BOOL。
Trigger_Acknowledge
该参数反馈Command_Trigger信号是否成功触发视觉系统。数据类型为INT。1表示触发成功,0表示未收到Command_Trigger信号。