通信配置及示例程序使用¶
欧姆龙 PLC 与梅卡曼德软件系统系统进行 EtherNet/IP 通信包含以下流程:
所需软硬件¶
硬件¶
支持 EIP 通信功能的欧姆龙 PLC,包括以下:
集成 EIP 功能的 CPU 本体,如 CJ2H-CPU6□-EIP、CJ2M-CPU3□;
其他可安装 CJ1W-EIP21 或 CS1W-EIP21 通信模块(EtherNet/IP Unit)的 CPU。
USB Type-A 转 USB Type-B 数据线。
电源模块。
Mech-Mind 工控机或主机已安装标准 PCI-e 通信板卡:HMS Ixxat INpact EIP Slave PCIe(INpact EIP 从站 PCIe)。
交换机和网线。
注意
本例程采用 CJ2H CPU65-EIP,UNIT NO. 设置为0, NODE NO. 设置为15(十六进制,十进制为21)。
硬件连接如下图所示。
软件¶
欧姆龙 PLC 编程软件 CX-Programmer 9.70。
梅卡曼德系统软件版本为 1.7.0 及以上。
HMS ipconfig 设定通信板卡的 IP 地址。
Mech-Mind EDS 文件:005A002B003A0100.EDS。
EDS 文件位于梅卡曼德系统软件安装路径下的
Mech-Center/Robot_Interface/EthernetIP
文件夹下。PLC 例程文件:
AUTOEXEC.OBJ(程序);
PROGRAMS.IDX(程序索引);
SYMBOLS.SYM(符号);
COMMENTS.CMT(程序注释)。
例程文件位于梅卡曼德系统软件安装路径下的
Mech-Center/Robot_Interface/EthernetIP/Programming Samples/Omron CX-Programmer CJ2H PLC EthernetIP
文件夹下。请将该例程文件复制到已安装 CX-PROGRAMMER 的计算机中。
配置工控机及启动通信¶
检查工控机通信板卡及驱动¶
在工控机 PCI-e 插槽中,确认已安装 INpact EIP 从站 PCIe 板卡。
在工控机上,鼠标右键单击 Windows 图标,打开设备管理器,确认已安装板卡驱动软件 VCI4 INpact PCIe。
设置 Mech-Vision 中“机器人与通信配置”¶
单击 Mech-Vision 工具栏中 机器人与接口配置 。
单击 选择机器人 下拉框,选择 品牌机器人 ,然后单击 选择机器人型号 ,选择具体机器人型号,单击 下一步 。
在 通信方式 下,进行如下操作:
“接口类型”选择 标准接口 ;
“协议” 选择 ETHERNET IP ;
单击 应用 。
在 Mech-Vision 主界面,确认工具栏中的接口服务已开启。
设定工控机通信板卡 IP 地址¶
设定通信板卡 IP 地址需要使用 HMS 公司的 IPconfig 软件。使用网线将安装有 IPconfig 的工控机网口和 IXXAT INpact 通信板卡网口连接。
注意
在设定通信板卡并成功通信后,临时网线便可取消。
打开 HMS IPconfig 软件,单击扫描,取消勾选 DHCP,并设定板卡 IP 地址和子网掩码。设置的 IP 地址需和 PLC 中配置的 IP 地址相同,然后单击 Apply 确认并退出软件。
创建和配置 PLC 工程¶
创建 PLC 工程¶
打开 CX-Programmer 软件,单击工具栏中 新建 ,弹出 变更 PLC 窗口,根据实物选择 设备类型 ,单击 设定 ,弹出 设备类型设置 窗口,根据实物选择 CPU类型 ,单击 确定 进行保存。
单击工具栏中 保存 ,在弹出窗口中,选择 CX-Programmer 工程文件保存路径,并填写文件名称,单击 保存 。
单击工具栏中 在线 ,在弹出窗口中,单击 是 。
单击工具栏中 编程模式 ,弹窗提示是否可以停止 PLC ,在确认安全情况下,单击 是 。
在工程侧边栏,选择
,弹出 PLC IO 表 窗口。在 PLC IO表 窗口内,展开 内置端口/插入板 (本例情况)。双击 CJ2B-EIP21 ,打开 CJ2B-EIP21编辑参数 窗口,单击 TCP/IP ,输入 IP 地址(确保 IP 地址最后一段的数值与硬件上的 NODE NO. 设置一致)和子网掩码,单击 传送[PC到单元] 。在弹出窗口中,单击 是 。
传送成功后,单击 关闭 。
弹窗提示是否重启单元,单击 是 ,重启后单击 确定 ,返回 CJ2B-EIP21[编辑参数] 窗口,单击 确定 。
安装及配置EDS 文件¶
在 PLC IO表 窗口内,右键选择
。在弹出的 选择特殊程序[CJ2B-EIP21] 窗口中,选择 Network Configurator ,单击 确定 。
在弹出的 Untitled - Network Configurator 窗口中,单击工具栏中的 Install EDS ,弹出 Install EDS File 窗口。
查找并选择相应 EDS 文件,单击 打开 。
注意
该 EDS 文件可以从 Mech-Mind 工控机中获得。EDS 文件位于梅卡曼德系统软件安装路径下的
Mech-Center/Robot_Interface/EthernetIP
文件夹下。将ETHERNETIP
文件夹复制到安装有 CX-PROGRAMMER 的计算机中,然后单击 打开 找到该文件夹。在 Untitled - Network Configurator 窗口中,依次展开 EtherNet/IP HardWare/Vendor/HMS Industrial Networks AB/Generic Device ,右键单击 Ixxat INpact EtherNet/IP(TM) ,单击 Add to Network 。
使用相同方式依次展开 EtherNet/Vendor/OMRON Corporation/Communications Adapter/CJ2B-EIP21 ,右键单击 Rev 3 ,单击 Add to Network 。
在 EtherNet/IP_1 页面下,右键单击 Mech-Mind 设备图标,选择 Change Node Adress ,修改视觉设备 IP 为 192.168.1.10。右键单击 CJ2B-EIP21 设备图标,选择 Change Node Adress ,修改 PLC 主站 IP 为 192.168.1.21,此处 IP 需要与 IO 表中的设置相同,且两者 IP 地址处于同一网段。
在 EtherNet/IP_1 页面下,右键单击视觉设备图标,单击 Property 。
在属性窗口中,单击 I/O Information ,查看并记录输出/输入字节大小,单击 Close 。
在 EtherNet/IP_1 页面下,双击 CJ2B-EIP21 图标,弹出 Edit Device Parameters 窗口,选择 Tag Sets 选项,分别设定 IN、OUT 首软元件(图示首软元件地址分配与本例程匹配),注册结束后,返回 Edit Device Parameters 窗口。
在 Edit Device Parameters 窗口中,选择 INpact EtherNet/IP 设备,单击向下移动,双击注册窗口内的该设备,弹出 Ixxat INpact EtherNet/IP(TM) Edit Connection 窗口。
在 Ixxat INpact EtherNet/IP(TM) Edit Connection 窗口中,主从站 IO 信号交互设置如下图所示。设置完成后,单击 Regist ,之后单击 Close 关闭窗口。
返回 Edit Device Parameters 窗口,出现如下图所示的列表信息后,单击 确定 。
视觉从站被关联后,出现如下图所示的标识:
下载 PLC 硬件配置至 PLC¶
在 Network Configurator 窗口中,单击 Connect ,出现 Setup Interface 弹窗,单击 OK ,弹出 Select Connect Network Port 窗口。
在 Select Connect Network Port 窗口中,依次展开 BackPlane/#0 CJ2B-EIP21/TCP:2 ,单击 OK ,出现 Select Connected Network 窗口,选择 Using the existing network/EtherN IP_1 ,单击 OK 。
在 Network Configurator 窗口中,单击 Download to Network ,在弹出窗口中,单击 是 。
下载成功后,单击 确定 。
检查通信是否成功¶
在 Untitled-Network Configurator 窗口中,单击菜单栏
。弹出 Monitor Device 窗口,单击 Connection 。若连接成功,连接状态指示显示为蓝色。
在 Mech-Vision 主窗口中,若连接成功,则在日志窗口的 Console 标签页下会显示 连接ETHERNET IP控制器成功 。
若无该日志,请检查以下是否正常:
硬件网络连接是否正常;
Mech-Vision 的接口服务是否开启;
PLC 是否下载配置到 PLC 硬件。
导入例程文件并下载 PLC 程序至 PLC¶
注意
Mech-Mind 例程文件的导入和测试,请使用新建 PLC 工程;如需添加到已存在的 PLC 工程中,建议先创建新工程进行导入和测试,然后复制到已存在的工程中。
导入 Mech-Mind 例程文件¶
返回 CX-Programmer 编程器,依次选择
,弹出 从文件传送 窗口。勾选 程序 、 程序索引 、 符号 和 符号注释 。单击 程序 后的 … ,选择相应 OBJ 文件 ,单击 打开 。若其他文件在同一目录下,文件会自动填充,最后单击 确定 。
弹出警告窗口,如加载,所有现存的程序、符号和/或注释将被删除,务必使用新建工程加载,单击 确定 ,将例程工程导入。
下载 PLC 程序至 PLC¶
在 CX-Programmer 编程器中,右键单击 新PLC1[CJ2H] , 再单击 在线工作 ,将工程转至在线状态。
使用相同方式,右键单击 新PLC1[CJ2H] ,再单击
。弹出 下载选型 窗口,单击 确定 。
在确定外围设备安全的前提下,单击提示窗口内 是 。工程下载成功后,单击 确定 。
视觉工程测试¶
本部分介绍如何使用例程功能块触发 Mech-Vision 工程并获取视觉点,以及触发 Mech-Viz 工程并获取规划路径。IO 模块的具体功能和介绍,参见 欧姆龙 PLC 与 Mech-Mind 系统进行 EtherNet/IP 通信的指令说明 。
准备工作¶
搭建 Mech-Vision 方案,并设置 自动加载当前方案 ,此时方案下的工程也会设置为自动加载,同时工程名称前会出现具体工程编号。
搭建 Mech-Viz 工程,并设置 自动加载 。Mech-Viz 工程的搭建,请参考 Mech-Viz 相关教程。
测试所使用的 Mech-Viz 工程中需使用一个步骤名称为 1 的“消息分支”步骤,如下图所示。
从 Mech-Vision 获取视觉点¶
设置参数¶
返回 CX-Programmer 窗口,在项目树中展开程序,双击打开 CameraTest 程序段,使能开关 ToCamera.COM_ENABLE 处于常开状态。
设置 Mech-Vision 工程编号,即 Mech-Vision 工程列表中工程名称前的数字编号。将 VISION_PROJ_NUM 的值设为 1,则运行工程编号为 1 的 Mech-Vision 工程。
设置要求 Mech-Vision 工程返回的位姿数量。将 REQ_POSE_NUM 的值设为 0,表示要求 Mech-Vision 返回全部位姿结果。
触发 Mech-Vision 工程运行¶
双击功能块 MM_Start_Vis 的输入变量 Start_Vis,弹出 设置新值 窗口,将变量值设为 1,单击 设置 ,启动 Mech-Vision 工程,触发相机拍照;随后使用相同方式操作,将该变量值重新置为 0 。
单击 切换查看窗口 ,在 名称 一列中,查找 FromCamera.STATUS_CODE,检查其返回值,若为 1102,则表示工程启动正常。若返回值为 10XX,请参考 《Mech-Mind-标准接口错误码及故障排查手册》 进行错误排查。
获取 Mech-Vision 计算的位姿结果¶
待 FromCamera.STATUS_CODE 反馈 1102 后,双击功能块 MM_Get_VisData 的输入变量 Get_VisData。弹出 设置新值 窗口,将变量值设为 1 ,单击 设置 ,触发获取位姿;随后使用相同方式操作,将该变量值重新置为 0。结果如下图所示,SendPoseNum 值为 3,表示获取到 3 个位姿。
在项目树中,双击 内存 ,出现 PLC内存 窗口,双击 D 内存表,设定首地址为 10000 ,选择数据显示格式为 有符号十进制数 、 双字 ,最后单击 监视 ,本例接收到视觉软件发送的3组位姿数据(传送值已放大10000倍)。
从 Mech-Viz 获取规划路径¶
设置参数¶
返回 CX-Programmer 窗口,双击功能块 MM_Get_VisData 中的输入变量 Start_Empty 。弹出 设置新值 窗口,将变量值设为 1 ,单击 设置 ,触发清除上一次获取的视觉结果;随后使用相同方式操作,将该变量值重新置为 0 。
设置 Branch_Name 的值为 1 ,设置 Branch_Exit_Port 的值为 1 ,控制 Mech-Viz 工程执行到分支 1 时沿出口 1 继续执行。
设置 Request_Pose_Type 的值为 1 ,设置 Mech-Viz 返回的是关节角数据。
触发 Mech-Viz 工程运行¶
在功能块 MM_Start_Viz 中,触发一次变量 Start_Viz,启动 Mech-Viz 工程。
检查 FromCamera.STATUS_CODE 变量的返回值变为 2103,则表示工程启动正常。若返回值为 20XX,请参考 《Mech-Mind-标准接口错误码及故障排查手册》 进行错误排查。
设置 Mech-Viz 的分支出口¶
在功能块 MM_Set_Branch 中,双击输入变量 Set_Branch ,选择 Mech-Viz 分支出口。
检查 FromCamera.STATUS_CODE 变量的返回值变为 2105,则表示分支设置成功。若返回值为 20XX,请参考 《Mech-Mind-标准接口错误码及故障排查手册》 进行错误排查。
获取 Mech-Viz 规划路径¶
在功能块 MM_Get_VizData 中,双击输入变量 Get_VizData ,获取 Mech-Viz 的规划路径。
检查 FromCamera.STATUS_CODE 变量的返回值变为 2100,则表示获取 Mech-Viz 的规划路径成功。若返回值为20XX,请参考 《Mech-Mind-标准接口错误码及故障排查手册》 进行错误排查。结果如下图所示,SendPoseNum 值为 10,表示获取到 10 组关节角数据。关节角数据保存在 TargetPose 中。
返回 PLC内存 窗口,10组位置数据如下图所示(数值为实际值乘10000)。