通信配置及示例程序使用
本节介绍汇川H5U或EASY系列PLC(内置以太网模块)与梅卡曼德视觉系统进行Modbus TCP标准接口通信。
所需软硬件
软件
软件 | 说明 | 安装位置 |
---|---|---|
AutoShop V4.8.2.4 |
汇川PLC编程软件 |
用于汇川PLC编程的计算机 |
Mech-Vision和Mech-Viz软件 |
提供梅卡曼德视觉系统的软件 |
工控机 |
除了上述软件外,请将如下例程文件复制到已安装AutoShop的计算机中。例程文件位于Mech-Vision和Mech-Viz软件安装路径下Communication Component/Robot_Interface/Modbus TCP/Inovance H5U&Easy
文件夹内。
-
Modbus_TCP_Configuration.xls:用于建立Modbus TCP通信。
-
MM_Modbus_TCP_Interface_Program-v1.0.fe:用于实现各种接口指令的功能。
-
MM_Modbus_TCP_Interface.csv和Camera_User.csv:用于导入例程所需的结构体。
-
Variable_Table.csv:用于导入例程所需的变量。
工控机或计算机需关闭防火墙软件。 |
配置工控机及启动通信
创建和配置PLC工程
创建PLC工程
-
打开AutoShop软件,单击工具栏中的新建工程。在新建工程窗口中,输入工程名,并选择工程保存路径,编辑器选择梯形图,单击确定。
-
依次单击菜单栏中
。 -
在如下窗口中,通讯类型选择以太网,设备IP填写PLC设备的IP地址(本示例使用192.168.1.22),单击测试。
若连接状态提示已接通,表示AutoShop软件与硬件PLC通讯成功,然后单击确定,返回AutoShop软件窗口。
配置Mitsubishi MC通信参数
-
在左侧工程管理栏,依次导航至以太网,右键单击以太网,选择添加以太网配置。
-
在如下窗口中,IP地址处填写工控机的IP地址(需与PLC设备的IP地址在同一网段,本示例使用192.168.1.20),端口号处填写工控机服务端口号(需与Mech-Vision中设置的主机端口号保持一致,本示例使用2000),其余选项使用默认设置,单击确定。
-
鼠标左键双击新添加的以太网配置,弹出Modbus Tcp配置窗口。
-
在如下窗口中,单击导入,查找并选中Modbus_TCP_Configuration.xls文件,单击打开。
Modbus_TCP_Configuration.xls文件位于Mech-Vision和Mech-Viz软件安装路径下 Communication Component/Robot_Interface//Modbus TCP/Inovance H5U&Easy
文件夹内。用户需提前将该文件从工控机复制到安装AutoShop的计算机中。若打开成功,则弹窗提示导入数据成功,最后单击确定,返回AutoShop软件窗口。
上图中从站站号需与Mech-Vision中设置的从站设备地址保持一致。本例程未读取从站寄存器预留(Reserved)地址。
导入例程文件
导入和测试例程文件,请使用新建的PLC工程;如需添加到已存在的PLC工程中,建议先创建新工程,再进行导入和测试,最后复制到已存在的工程中。 |
-
在左侧工程管理栏中,右键单击结构体,选择新建数据结构。
在如下窗口中,名称处填写MM_Modbus_TCP_Interface,单击确定,此时会自动打开该结构体表格。
-
在MM_Modbus_TCP_Interface结构体表格内,右键单击选择导入。
查找并选中MM_Modbus_TCP_Interface.csv文件,单击打开。若打开成功,则弹窗提示导入数据成功,最后单击确定,返回AutoShop软件窗口。
MM_Modbus_TCP_Interface.csv文件位于Mech-Vision和Mech-Viz软件安装路径下 Communication Component/Robot_Interface//Modbus TCP/Inovance H5U&Easy
文件夹内。用户需提前将该文件从工控机复制到安装AutoShop的计算机中。 -
重复上述1和2步骤,新建Camera_User结构体并导入成员变量数据。
-
在工程管理栏中,右键单击变量表,选择打开。
-
在变量表格内,右键单击选择导入。
查找并选中Variable_Table.csv文件,单击打开。
Variable_Table.csv文件位于Mech-Vision和Mech-Viz软件安装路径下 Communication Component/Robot_Interface//Modbus TCP/Inovance H5U&Easy
文件夹内。用户需提前将该文件从工控机复制到安装AutoShop的计算机中。若打开成功,则弹窗提示导入数据成功,此处软元件地址需与上一节中Modbus Tcp配置窗口的映射地址保持一致,最后单击确定,返回AutoShop软件窗口。
-
在工程管理栏中,右键单击函数(FC),选择导入FC。查找并选中MM_Modbus_TCP_Interface_Program-v1.0.fe文件,单击打开。
MM_Modbus_TCP_Interface_Program-v1.0.fe文件位于Mech-Vision和Mech-Viz软件安装路径下 Communication Component/Robot_Interface//Modbus TCP/Inovance H5U&Easy
文件夹内。用户需提前将该文件从工控机复制到安装AutoShop的计算机中。导入成功的函数如下图所示。
检查通信是否成功
-
在AutoShop软件窗口的工具栏中,单击监控图标。在出现的弹窗中,单击是。
-
在如下窗口中,单击监控选项卡,添加MM_Camera变量。若连接成功,Heartbeat的当前值在不断变化。
-
在Mech-Vision主窗口中,若连接成功,则在日志窗口的控制台标签页下会显示成功连接到Modbus TCP从站。
若无该日志,请确保以下各项正常:
-
硬件网络连接正确;
-
Mech-Vision工具栏中的机器人通信配置处于开启状态;
-
PLC程序已成功下载到PLC硬件。
-
视觉工程测试
本部分介绍如何使用例程功能块触发Mech-Vision工程运行并获取视觉结果,以及触发Mech-Viz工程运行并获取规划路径。
准备工作
-
搭建Mech-Vision方案。在Mech-Vision软件的工程列表窗口中,右键单击方案名称并勾选自动加载当前方案,此时方案下的工程也会设置为自动加载,同时工程名称前会出现具体工程编号。
-
搭建Mech-Viz工程。在Mech-Viz工程资源面板中,右键单击工程名称,勾选设为自动加载。 测试所使用的Mech-Viz工程中需使用一个步骤名称为1的“消息分支”步骤,如下图所示。
从Mech-Vision获取视觉结果
设置参数
-
在AutoShop软件窗口中,单击工具栏中在线修改图标。
-
在工程管理中,双击MAIN。在网络1处,输入比较指令LD= Camera_User.Step_Num K2,并应用指令MM_Start_Vis。
-
设置MM_Start_Vis的输入与输出端口,如下图所示。
-
将Vision_Proj_Num的端口值设为1,表示将要运行工程编号为1的Mech-Vision工程。
-
将Req_Pose_Num的端口值设为0,表示Mech-Vision返回全部视觉点。
-
将Robot_Pose_Type的端口值设为0,表示不需要向Mech-Vision工程发送拍照位姿,例如工程的相机安装方式是Eye to Hand。
-
其余的端口如下图所示添加相应的变量。
-
-
在网络2处,输入比较指令LD= Camera_User.Step_Num K4,并应用指令MM_Get_VisData。
-
设置MM_Get_VisData的输入与输出端口,如下图所示。
-
将Vision_Proj_Num的端口值设为1,表示将要获取Mech-Vision工程1的视觉结果。
-
其余的端口如下图所示添加相应的变量。
-
-
在工具栏中,单击下载图标。
-
在信息输出窗口中,单击通讯选项卡。若下载成功,此处会提示下载成功的信息。
触发Mech-Vision工程运行
-
在AutoShop软件的工具栏中,单击写入图标。
-
在写入元件窗口中,进行如下操作。
-
在字软元件下,软元件选择Camera_User.Step_Num,值设置为2,单击设置,以使能MM_Start_Vis函数。
-
在位软元件下,软元件选择Camera_User.Start_Vis,单击强制ON,以触发Mech-Vision工程运行。随后单击强制OFF,即将CameraUser.Start_Vis复位。
-
-
在信息输出窗口窗口内,单击监控选项卡。若Status_Code值为1102,则表示成功触发Mech-Vision工程运行。
若Status_Code值为10XX,请参考《标准接口状态码及错误排查》进行错误排查。
获取Mech-Vision视觉结果
-
在写入元件窗口中,进行如下操作。
-
在字软元件下,软元件选择Camera_User.Step_Num,值设置为4,单击设置,以使能MM_Get_VisData函数。
-
在位软元件下,软元件选择Camera_User.Get_VisData,单击强制ON,以获取视觉结果。随后单击强制OFF,即将CameraUser.Get_VisData复位。
-
-
在信息输出窗口窗口内,单击监控选项卡。若Status_Code值为1100,则表示成功获取视觉结果。查看Target_Pose值,该值表示视觉点的位姿数据。
若Status_Code值为10XX,请参考《标准接口状态码及错误排查》进行错误排查。
从Mech-Viz获取规划路径
设置参数
-
在工程管理中,双击MAIN。在网络3处,输入比较指令LD= Camera_User.Step_Num K6,并应用指令MM_Empty_Target。
-
按下图所示将各变量添加至MM_Empty_Target的输入与输出端口。
-
在网络4处,输入比较指令LD= Camera_User.Step_Num K8,并应用指令MM_Start_Viz。
-
在网络5处,输入比较指令LD= Camera_User.Step_Num K10,并应用指令MM_Set_Branch。
-
在网络6处,输入比较指令LD= Camera_User.Step_Num K12,并应用指令MM_Get_VizData。
-
设置MM_Start_Viz的输入与输出端口,如下图所示。
-
将Robot_Pose_Type的端口值设为0,表示不需要向Mech-Viz工程发送拍照位姿,例如工程的相机安装方式是Eye to Hand。
-
其余的端口如下图所示添加相应的变量。
-
-
设置MM_Set_Branch的输入与输出端口,如下图所示。
-
将Branch_Name、Branch_Exit_Port的端口值分别设为1,表示Mech-Viz工程执行到消息分支1时沿第1个出口继续执行。
-
其余的端口如下图所示添加相应的变量。
-
-
设置MM_Get_VizData的输入与输出端口,如下图所示。
-
将Request_Pose_Type的端口值设为1,表示Mech-Viz规划的路径点最终以关节角形式返回。
-
其余的端口如下图所示添加相应的变量。
-
-
在工具栏中,单击下载图标。
-
在信息输出窗口中,单击通讯选项卡。若下载成功,此处会提示下载成功的信息。
触发Mech-Viz工程运行
-
在AutoShop软件的工具栏中,单击写入图标。
-
在写入元件窗口中,进行如下操作。
-
在字软元件下,软元件选择Camera_User.Step_Num,值设置为6,单击设置,以使能MM_Empty_Target函数。
-
在位软元件下,软元件选择Camera_User.Start_Empty,单击强制ON,以清除获取的视觉结果。随后单击强制OFF,即将CameraUser.Start_Empty复位。
-
-
在信息输出窗口窗口内,单击监控选项卡。若Status_Code值为3103,则表示成功清空Camera_User.Target_Pose、Camera_User.Target_Label和Camera_User.Target_Tool_ID变量值。
-
在写入元件窗口中,进行如下操作。
-
在字软元件下,软元件选择Camera_User.Step_Num,值设置为8,单击设置,以使能MM_Start_Viz函数。
-
在位软元件下,软元件选择Camera_User.Start_Viz,单击强制ON,以触发Mech-Viz工程运行。随后单击强制OFF,即将CameraUser.Start_Viz复位。
-
-
在信息输出窗口窗口内,单击监控选项卡。若Status_Code值为2103,则表示成功触发Mech-Viz工程运行。
若Status_Code值为20XX,请参考《标准接口状态码及错误排查》进行错误排查。
设置Mech-Viz消息分支出口
-
在写入元件窗口中,进行如下操作。
-
在字软元件下,软元件选择Camera_User.Step_Num,值设置为10,单击设置,以使能MM_Set_Branch函数。
-
在位软元件下,软元件选择Camera_User.Set_Branch,单击强制ON,以设置Mech-Viz消息分支出口。随后单击强制OFF,即将CameraUser.Set_Branch复位。
-
-
在信息输出窗口窗口内,单击监控选项卡。若Status_Code值为2105,则表示成功设置Mech-Viz消息分支出口。
若Status_Code值为20XX,请参考《标准接口状态码及错误排查》进行错误排查。
获取Mech-Viz规划路径
-
在写入元件窗口中,进行如下操作。
-
在字软元件下,软元件选择Camera_User.Step_Num,值设置为12,单击设置,以使能MM_Get_VizData函数。
-
在位软元件下,软元件选择Camera_User.Get_VizData,单击强制ON,以获取Mech-Viz规划路径。随后单击强制OFF,即将CameraUser.Get_VizData复位。
-
-
在信息输出窗口窗口内,单击监控选项卡。若Status_Code值为2100,则表示成功获取规划路径。查看Target_Pose值,该值表示路径点的位姿数据。
若Status_Code值为20XX,请参考《标准接口状态码及错误排查》进行错误排查。