通信配置及示例程序使用(PLC内置以太网模块)
本节介绍三菱iQ-R系列PLC(内置以太网模块)与梅卡曼德视觉系统进行Mitsubishi MC标准接口通信。
此处使用的通信协议为SLMP通信协议(Seamless Message Protocol)。SLMP的3E帧是与MC协议的QnA系列3E帧相同的报文格式,因此使用MC协议的QnA系列3E帧的对象设备(即视觉系统)可以与三菱iQ-R系列PLC进行SLMP通信。 |
所需软硬件
创建和配置PLC工程
创建PLC工程
-
打开GX Works3软件,单击工具栏中的新建项目。在新建窗口中,系列选择RCPU,机型选择R00,程序语言选择梯形图,最后单击确定。
-
在弹出的如下窗口中,单击设置更改。
-
在弹出的如下窗口中,在运行设置处,使用模块标签选择是,单击确定。返回上图界面,单击确定。
-
在左侧
下,双击Connection。 -
在弹出的连接目标指定Connection窗口中,进行以下操作。
-
计算机侧选择串行USB,可编程控制器侧选择CPU模块,确认CPU类型为RCPU,单击CPU模块直接连接设置 。
-
在弹出窗口中,选择USB,单击是。
-
返回连接目标指定Connection窗口,单击通信测试,若弹窗提示已成功与R00CPU连接,则表示计算机中GX Works3软件与硬件PLC通信成功。
-
单击连接目标指定Connection窗口的确定,返回GX Works3软件主窗口。
-
-
在GX Works3软件主窗口的左侧导航中,进行以下操作。
-
导航至参数,双击系统参数。
-
在弹出的系统参数窗口中,在I/O分配设置选项下,选中基板/电源/扩展电缆设置,然后单击
旁的…。 -
在弹出的型号选择窗口,按照实际情况选择主基板模块和电源模块型号,本示例选择R33B和R61P,单击确定。
-
在弹出的如下窗口中,单击确定。返回系统参数窗口,单击确定。
-
配置SLMP通信参数
-
在
下,双击模块参数。 -
在弹出的R00CPU模块参数窗口中,单击基本设置。
-
在IP地址设置区域内,设置PLC的IP地址,例如,本示例的IP地址为192.168.1.22(需与工控机的IP地址在同一网段),子网掩码为255.255.255.0,默认网关IP地址为192.168.1.0。
-
将通过网络号/站号通信设置为启用,网络号与站号的设置方法选择不使用IP地址,网络号与站号均设置为1。
-
将RUN中的写入设置为批量允许(SLMP)。
-
通信数据代码选择二进制。
-
单击
旁的…,弹出以太网配置(内置以太网端口)窗口。在如下窗口右侧的模块一览中,依次单击
,选择并拖拽SLMP连接设备至本站释放,将第一行参数设置为下图中所示的参数,单击反映设置并关闭。返回R00CPU模块参数窗口,单击该窗口的应用,返回GX Works3 软件主窗口。
-
导入例程文件
导入和测试例程文件,请使用新建的PLC工程;如需添加到已存在的PLC工程中,建议先创建新工程,再进行导入和测试,最后复制到已存在的工程中。 |
-
在GX Works3软件窗口的菜单栏中,依次单击
。弹出提示“将用户库登录至一览”窗口,单击确定。
-
在将库登录至库一览窗口中,查找本地
iQ-R_SLMP.usl
文件(需提前从工控机复制该文件),单击打开。 -
在GX Works3软件主窗口的右侧部件选择窗口中,选择库选项卡,依次单击
,右键依次选择 。 -
弹出数据是否覆盖提示,单击是,返回GX Works3软件主窗口。
-
在导航栏窗口下,确认工程下的程序、功能块、标签均已导入。依次单击菜单栏中
,弹出全部转换窗口。 -
在全部转换窗口中,进行如下操作。
-
单击选项设置,弹出选项窗口。
-
在
内,将执行全部转换时,重新分配标签设置为是,单击确定。 -
返回全部转换窗口,单击确定。
-
设置“机器人通信配置”
-
单击 Mech-Vision 工具栏中 机器人通信配置 。
-
在 机器人通信配置 窗口,进行如下配置。
-
单击 选择机器人 下拉框,选择 品牌机器人,然后单击 选择机器人型号,选择具体机器人型号,单击 下一步。
-
在 通信方式 下,接口服务类型 选择 标准接口,协议 选择 Mitsubishi MC Client,通信帧 选择 3E,寄存器(D)起始地址 可根据实际情况设置(MM_Interface结构体共占用728个D寄存器,本示例设置为10000)。
-
PLC IP地址 设置为具体PLC的IP地址,其后的端口设置为具体PLC的端口。
-
(可选)建议勾选 方案打开时自动打开接口服务。
-
单击 应用。
-
-
在 Mech-Vision 主界面,确认工具栏中的接口服务已开启。
检查通信是否成功
-
在导航窗口中,依次展开
,双击程序本体。 -
在菜单栏中,单击
。 -
在监看窗口内,添加并展开MM_Camera。若连接成功,Heartbeat心跳信号值在不断变化。
-
在Mech-Vision主窗口中,若连接成功,则在日志窗口的控制台标签页下会显示Connect to Melsec PLC successfully。
若无该日志,请确保以下各项正常:
-
硬件网络连接正确;
-
Mech-Vision工具栏中的机器人通信配置处于开启状态;
-
PLC程序已成功下载到PLC硬件。
-
视觉工程测试
本部分介绍如何使用例程功能块触发Mech-Vision工程运行并获取视觉结果,以及触发Mech-Viz工程运行并获取规划路径。
准备工作
-
搭建Mech-Vision方案。在Mech-Vision软件的工程列表窗口中,右键单击方案名称并勾选自动加载当前方案,此时方案下的工程也会设置为自动加载,同时工程名称前会出现具体工程编号。
-
搭建Mech-Viz工程。在Mech-Viz工程资源面板中,右键单击工程名称,勾选设为自动加载。 测试所使用的Mech-Viz工程中需使用一个步骤名称为1的“消息分支”步骤,如下图所示。
从Mech-Vision获取视觉结果
设置参数
-
将Vision_Proj_Num的端口值设为1,表示将要运行工程编号为1的Mech-Vision工程。
-
将Req_Pose_Num的端口值设为0,表示Mech-Vision返回全部视觉点。
-
将Robot_Pose_Type的端口值设为0,表示不需要向Mech-Vision工程发送拍照位姿,例如工程的相机安装方式是Eye to Hand。
触发Mech-Vision工程运行
-
右键单击MM_Start_Vis功能块输入侧Camera_User.Start_Vis,依次选择
,将Camera_User.Start_Vis值修改为1,以触发Mech-Vision工程运行,然后将Camera_User.Start_Vis值修改为0。 -
在监看窗口内,若Status_Code值为1102,则表示成功触发Mech-Vision工程运行。
若Status_Code值为10XX,请参考《标准接口状态码及错误排查》进行错误排查。
获取Mech-Vision视觉结果
-
右键单击MM_Get_VisData功能块输入侧Camera_User.Get_VisData,将Camera_User.Get_VisData值修改为1,以获取视觉结果,然后将Camera_User.Get_VisData值修改为0。
-
在监看窗口,若Status_Code值为1100,则表示成功获取视觉结果。
若Status_Code值为10XX,请参考《标准接口状态码及错误排查》进行错误排查。 查看Target_Pose值,该值表示视觉点的位姿数据。
从Mech-Viz获取规划路径
设置参数
-
右键单击MM_Get_VisData功能块输入侧Camera_User.Start_Empty,将Camera_User.Start_Empty值修改为1,以清除上一次获取的视觉结果,然后将Camera_User.Start_Empty值修改为0。
在监看窗口,观察到Target_Pose值全为0。
-
将Branch_Name、Branch_Exit_Port的端口值分别设为1,表示Mech-Viz工程执行到消息分支1时沿第1个出口继续执行。
-
将Request_Pose_Type的端口值设为1,表示Mech-Viz规划的路径点最终以关节角形式返回。
触发Mech-Viz工程运行
-
右键单击MM_Start_Viz功能块输入侧Camera_User.Start_Viz,将Camera_User.Start_Viz值修改为1,以触发Mech-Viz工程运行,然后将Camera_User.Start_Viz值修改为0。
-
在监看窗口,若Status_Code值为2103,则表示成功触发Mech-Viz工程运行。
若Status_Code值为20XX,请参考《标准接口状态码及错误排查》进行错误排查。
设置Mech-Viz消息分支出口
-
右键单击MM_Set_Branch功能块输入侧Camera_User.Set_Branch,将Camera_User.Set_Branch值修改为1,以设置Mech-Viz消息分支出口,然后将Camera_User.Set_Branch值修改为0。
-
在监看窗口,若Status_Code值为2105,则表示成功设置Mech-Viz消息分支出口。
若Status_Code值为20XX,请参考《标准接口状态码及错误排查》进行错误排查。
获取Mech-Viz规划路径
-
右键单击MM_Get_VizData功能块输入侧Camera_User.Get_VizData,将Camera_User.Get_VizData值修改为1,以获取Mech-Viz规划路径,然后将Camera_User.Get_VizData值修改为0。
-
在监看窗口,若Status_Code值为2100,则表示成功获取规划路径。
若Status_Code值为20XX,请参考《标准接口状态码及错误排查》进行错误排查。 查看Target_Pose值,该值表示路径点的位姿数据。