通信配置及示例程序使用(PLC 外置 QJ71E71 以太网模块)

本节介绍三菱 Q 系列 PLC(外置 QJ71E71 以太网模块)与梅卡曼德软件系统进行 Mitsubishi MC 标准接口通信。

所需软硬件

硬件

  • Mitsubishi PLC:外置 QJ71E71 以太网模块。

    本示例使用的外置以太网模块型号为 QJ71E71-100,CPU 系列为 QCPU(Q模式),机型为 Q03UDV,电源模块为 Q61P,基板为 Q33B。

  • 工控机。

  • USB Type-A 转 USB Mini-B 数据线。

  • 交换机和网线。

硬件连接如下图所示。

../../../../_images/hardware_connection11.png

软件

软件

说明

安装位置

GX Works2

三菱 PLC 编程软件

用于三菱 PLC 编程的计算机

梅卡曼德软件系统(1.7.2及以上)

提供梅卡曼德视觉系统的软件

工控机

除了上述软件外,请将 MC Protocol_Q_Simple_Label_E71.GXW 例程文件(用于实现各种接口指令的功能)复制到已安装 GX Works2 的计算机中。例程文件位于梅卡曼德系统软件安装路径下的 Mech-Center/Robot_Interface/MITSUBISHI Melsec 文件夹下。

注意

工控机或计算机需关闭防火墙软件。

创建和配置 PLC 工程

创建 PLC 工程

  1. 打开 GX Works2 软件,单击工具栏中的 新建项目 。在新建窗口中,系列选择 QCPU(Q 模式) ,机型选择 Q03UDV ,工程类型选择 简单工程 ,勾选 使用标签 ,程序语言选择 梯形图 ,最后单击 确定 。

    ../../../../_images/create_plc_13.png
  2. 在 导航 ‣ 连接目标 ‣ 当前连接目标 下,双击 Connection1 。

    ../../../../_images/create_plc_23.png
  3. 弹出 连接目标设置 Connection1 窗口,然后进行以下操作。

    1. 计算机侧选择 Serial USB ,可编程控制器侧的 CPU 模式选择 QCPU(Q模式) ,单击 可编程控制器直接连接设置 。

    2. 在弹出窗口中,选择 USB ,单击 是 。

    3. 返回 连接目标设置 Connection1 窗口,单击 通信测试 ,若弹窗提示 已成功与 Q03UDVCPU 连接 ,则表示计算机中 GX Works2 软件与硬件 PLC 通信成功。

    4. 单击连接目标设置 Connection1 窗口的 确定 ,返回 GX Works2 软件窗口。

    ../../../../_images/create_plc_33.png

配置 MC 通信参数

  1. 在 导航 ‣ 工程 ‣ 参数‣ 网络参数 下,双击 以太网/CC IE/MELSECNET 。

    ../../../../_images/external_configure_plc_1.png
  2. 弹出 网络参数 窗口,根据具体以太网硬件进行网络配置,下图为本示例配置的选项,最后单击 运行设置 。

    ../../../../_images/external_configure_plc_2.png
  3. 弹出 以太网运行设置 窗口,然后进行以下操作。

    1. 通信数据代码设置选择 二进制码通信 。

    2. IP 地址设置为以太网模块 QJ71E71-100 的IP地址,例如 192.168.1.22,需与工控机的 IP 地址在同一网段。

    3. 勾选 允许RUN中写入 。

    4. 初始时间设置选择 始终OPEN等待(STOP状态下可通信) 。

    5. 发送帧设置和TCP生存确认设置使用默认值。

    6. 单击 设置结束 。

    ../../../../_images/external_configure_plc_3.png
  4. 返回 网络参数 窗口,单击 打开设置 。弹出如下窗口,将第一行和第二行的参数设置为下图中所示的参数,单击 设置结束。返回 网络参数 窗口,单击该窗口的 设置结束 ,返回 GX Works2 软件窗口。

    ../../../../_images/external_configure_plc_4.png

导入例程文件

注意

导入和测试例程文件,请使用新建的 PLC 工程;如需添加到已存在的 PLC 工程中,建议先创建新工程,再进行导入和测试,最后复制到已存在的工程中。

  1. 返回 GX Works2 软件窗口,在菜单栏中,依次单击 工程 ‣ 库操作 ‣ 在工程中获取库 。

    ../../../../_images/import_file_13.png
  2. 弹出 在工程中获取库 窗口,库一览选择 选择库(工程) ,单击 浏览 ,查找本地 MC Protocol_Q_Simple_Label_E71.gxw 文件(需提前从工控机复制该文件),单击 打开 。

    ../../../../_images/external_import_file_2.png
  3. 在 在工程中获取库 窗口中,单击 FB一览更新 。在 选择要获取的 FB 区域,选中全部选项,单击 确定 。

    ../../../../_images/external_import_file_3.png
  4. 弹出 “是否覆盖” 提示,单击 是 ,返回 GX Works2 软件窗口。

    ../../../../_images/import_file_42.png
  5. 在 GX Works2 软件窗口,单击菜单栏 工具 ‣ 自动分配软元件设置。

    ../../../../_images/import_file_51.png
  6. 弹出 自动分配软元件设置 窗口,修改字软元件 D 的分配选择,单击 确定。

    ../../../../_images/import_file_61.png
  7. 在提示窗口中,单击 是 ,返回 GX Works2 软件窗口。

    ../../../../_images/import_file_71.png

下载通信配置及例程文件至 PLC

  1. 在 GX Works2 软件窗口,展开左侧导航中的程序设置,将 无执行类型指定 下的 MAIN 拖拽至 扫描程序 下并展开,双击 程序本体 。

    ../../../../_images/download_configuration_12.png
  2. 单击工具栏 转换+全部编译 。

    ../../../../_images/download_configuration_42.png
  3. 提示 是否执行全部编译 窗口,单击 是 。

    ../../../../_images/download_configuration_51.png
  4. 单击工具栏 PLC写入 。

    ../../../../_images/download_configuration_6.png
  5. 弹出 在线数据操作 窗口,选择 写入 ,单击 参数+程序 ,然后单击 执行 。

    ../../../../_images/download_configuration_7.png
  6. 弹出如下提示窗口,单击 是 。

    ../../../../_images/download_configuration_8.png
  7. 弹出 “是否覆盖原有参数” 提示,单击 全部是 。

    ../../../../_images/download_configuration_9.png
  8. 待进度条下文本框提示 “PLC写入:结束” ,单击 关闭 。

    ../../../../_images/download_configuration_10.png
  9. 弹出如下提示,确认安全后,单击 是 ,返回 在线数据操作 窗口,单击 关闭 。最后,关闭 PLC CPU 单元电源,并重新上电启动。

    ../../../../_images/download_configuration_111.png

设置 Mech-Vision 中“机器人与通信配置”

  1. 单击 Mech-Vision 工具栏中 机器人与接口配置 。

  2. 单击 选择机器人 下拉框,选择 品牌机器人 ,然后单击 选择机器人型号 ,选择具体机器人型号,单击 下一步 。

  3. 在 通信方式 下,进行如下操作:

    • “接口类型”选择 标准接口 ;

    • “协议” 选择 Mitsubishi MC Client ;

    • “PLC IP地址” 设置为具体 PLC 的 IP 地址,其后的端口设置为具体 PLC 的端口;

    • “通信帧格式” 选择 3E ;

    • “寄存器(D)起始地址” 可根据实际情况设置,共占用 728 个 D 寄存器,本示例设置为 10000;

    • 单击 应用 。

  4. 在 Mech-Vision 主界面,确认工具栏中的接口服务已开启。

检查通信是否成功

  1. 返回 GX Works2 软件窗口,单击工具栏的 监视开始(全窗口) 。

    ../../../../_images/establish_communication_13.png
  2. 弹出如下窗口,单击 是 。

    ../../../../_images/establish_communication_22.png
  3. 在监看 1 窗口内,添加并展开 MM_Camera 软元件。若连接成功,Heartbeat 心跳信号监视值在不断变化。

    ../../../../_images/establish_communication_31.png
  4. 在 Mech-Vision 主窗口中,若连接成功,则在日志窗口的 Console 标签页下会显示 Connect to Melsec PLC successfully 。

    若无该日志,请检查以下是否正常:

    1. 硬件网络连接是否正常;

    2. Mech-Vision 的接口服务是否开启;

    3. PLC 程序是否成功下载到 PLC 硬件。

视觉工程测试

本部分介绍如何使用例程功能块触发 Mech-Vision 工程并获取视觉点,以及触发 Mech-Viz 工程并获取规划路径。

准备工作

  1. 搭建 Mech-Vision 方案。在窗口列表中,右键单击方案名称并勾选 自动加载当前方案,此时方案下的工程也会设置为自动加载,同时工程名称前会出现具体工程编号。

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

    测试所使用的 Mech-Viz 工程中需使用一个步骤名称为 1 的“消息分支”步骤,如下图所示。

    ../../../../_images/preparation_43.png

从 Mech-Vision 获取视觉目标点

打开监视(写入模式)

  1. 返回 GX Works2 软件窗口,在 导航/工程 下,单击工具栏中 监视(写入模式) 。

    ../../../../_images/test_vision_13.png
  2. 弹出如下窗口,单击 确定 。

    ../../../../_images/test_vision_23.png

添加和设置 MM_Start_Vis 功能块

  1. 展开 程序部件/FB管理 ,将 MM_Start_Vis 拖拽至 MAIN/0行 处。弹出如下窗口,此处使用默认名,单击 确定 。

    ../../../../_images/test_vision_33.png
  2. 单击工具栏 横线输入 ,出现如下弹窗,单击 确定 ,将左侧母线和功能块输入 EN1 端口连接。

    ../../../../_images/test_vision_43.png
  3. 设置 Mech-Vision 工程编号,即 Mech-Vision 工程列表中工程名称前的数字编号。将 Vision_Proj_Num 的端口值设为 1 ,则运行工程编号为 1 的 Mech-Vision 工程。

  4. 设置 Mech-Vision 工程返回的位姿数量。将 Req_Pose_Num 的端口值设为 0 ,表示 Mech-Vision 返回全部位姿结果。

  5. 设置机器人发送的拍照位姿类型。将 Robot_Pose_Type 的端口值设为 0 ,表示工程的相机安装方式是 Eye to Hand,不需要发送拍照位姿。

  6. 双击 MM_Start_Vis 功能块输入侧 Start_Vision 端口同行的最左侧,选择常开触点,输入全局标签 Camera_User.Start_Vis ,单击 确定 ,将左侧母线连接至 Start_Vision 端口。

    ../../../../_images/test_vision_53.png
    ../../../../_images/test_vision_63.png

添加和设置 MM_Get_VisData 功能块

  1. 将 MM_Get_VisData 拖拽至 MAIN/0行 处,弹出 FB实例名输入 窗口,此处使用默认名,单击 确定 。单击工具栏 横线输入 ,单击 确定 ,将左侧母线和功能块输入 EN1 端口连接。

    ../../../../_images/test_vision_73.png
  2. 设置 Mech-Vision 工程编号,即 Mech-Vision 工程列表中工程名称前的数字编号。将 Vision_Proj_Num 的端口值设为 1 ,则获取 Mech-Vision 工程编号为 1 的视觉识别结果。

  3. 双击 MM_Get_VisData 功能块输入侧 Get_VisData 端口同行的最左侧,选择常开触点,输入全局标签 Camera_User.Get_VisData ,单击 确定 ,连接至 Get_VisData 端口。

    ../../../../_images/test_vision_82.png

转换、编译和写入程序到PLC

  1. 单击工具栏中的 转换+编译+RUN中写入 图标。

    ../../../../_images/test_vision_91.png
  2. 弹出 转换+编译+RUN中写入执行确认 窗口,单击 确定 。

    ../../../../_images/test_vision_101.png
  3. 弹出如下窗口,单击 是 。

    ../../../../_images/test_vision_112.png
  4. 最后,单击 确定 ,完成将最新程序下载到 PLC。

    ../../../../_images/test_vision_121.png

触发 Mech-Vision 工程运行

  1. 在 MAIN 主程序窗口,右键单击 MM_Start_Vis 功能块输入侧 Camera_User.Start_Vis 变量,依次选择 调试 ‣ 当前值更改 。

    ../../../../_images/test_vision_131.png
  2. 弹出如下窗口,将其修改为 ON(此窗口可以不关闭,继续往下操作),触发 Mech-Vision 工程运行,然后将此变量复位。

    ../../../../_images/test_vision_14.png
  3. 右键单击程序空白处,选择 登录至监看窗口 ,输入全局标签 MM_Camera.Status_Code ,其返回值为 1102 ,则表示工程启动正常。

    ../../../../_images/test_vision_15.png

    注意

    若 MM_Camera.Status_Code 返回值为 10XX,请参考 《标准接口错误码及故障排查手册》 进行错误排查。

获取 Mech-Vision 计算的位姿结果

  1. 选中 MM_Get_VisData 功能块输入侧 Camera_User.Get_VisData 变量,将其修改为 ON,表示获取视觉点,然后将此变量复位。

    ../../../../_images/test_vision_16.png
  2. 在 监看 窗口,输入全局标签 MM_Camera.Status_Code,其返回值为 1100 ,表示成功获取位姿结果。输入全局标签 MM_Camera.Target_Pose ,其返回值为视觉点位姿数据。

    ../../../../_images/test_vision_17.png

    注意

    若 MM_Camera.Status_Code 返回值为 10XX,请参考 《标准接口错误码及故障排查手册》 进行错误排查。

从 Mech-Viz 获取规划路径

添加和设置 MM_Start_Empty 功能块

  1. 将 MM_Start_Empty 拖拽至 MAIN/54行 处,弹出 FB实例名输入 窗口,使用默认值,单击 确定 。单击工具栏 横线输入 ,将左侧母线和功能块输入 EN1 端口连接。

    ../../../../_images/test_viz_14.png
  2. 双击 MM_Start_Empty 功能块输入侧 Start_Empty 端口同行的最左侧,选择常开触点,输入全局标签 Camera_User.Start_Empty,单击 确定 ,连接至 Start_Empty 端口。

    ../../../../_images/test_viz_23.png

添加和设置 MM_Start_Viz、MM_Set_Branch、MM_Get_VizData 功能块

  1. 分别将 MM_Start_Viz、MM_Set_Branch、MM_Get_VizData 拖拽至主程序处,弹出 FB实例名输入 窗口,使用默认名,单击 确定 。单击工具栏 横线输入 ,将左侧母线和功能块输入 EN1 端口连接。

    ../../../../_images/test_viz_33.png
    ../../../../_images/test_viz_43.png
    ../../../../_images/test_viz_53.png
  2. 设置机器人发送的拍照位姿类型。将 Robot_Pose_Type 的端口值设为 0,表示工程的相机安装方式是 Eye to Hand,不需要发送拍照位姿。

    双击 MM_Start_Viz 功能块输入侧 EN1 端口同行的最左侧,输入全局标签 Camera_User.Get_VizData ,选择常闭触点,单击 确定 ,将左侧母线连接至 EN1 端口。

    双击 MM_Start_Viz 功能块输入侧 Start_Viz 端口同行的最左侧,输入全局标签 Camera_User.Start_Viz ,选择常开触点,单击 确定 ,将左侧母线连接至 Start_Viz 端口。

    ../../../../_images/test_viz_63.png
  3. 设置 Mech-Viz 工程中分支参数。将 Branch_Name、Branch_Exit_Port 的端口值分别设为 1,表示控制 Mech-Viz 工程执行到分支 1 时沿出口 1 继续执行。输入全局标签 Camera_User.Set_Branch ,选择常开触点,单击 确定 ,连接至 Set_Branch 端口。

    ../../../../_images/test_viz_73.png
  4. 设置获取的路径点的位姿类型。将 Request_Pose_Type 的端口值设为 1,表示设置 Mech-Viz 返回的是关节角数据。

    注意

    此处 Request_Pose_Type 和功能函数 MM_Start_Vis、MM_Start_Viz 中的 Robot_Pose_Type, 对应全局标签 MM_Camera 中的 Pose_Type 变量,若三者设定的值不同,则无法同时生效。

  5. 双击 MM_Get_VizData 功能块输入侧 EN1 端口同行的最左侧,输入全局标签 Camera_User.Start_Viz ,选择常闭触点,单击 确定 ,将左侧母线连接至 EN1 端口。

  6. 双击 MM_Get_VizData 功能块输入侧 Get_VizData 端口同行的最左侧,输入全局标签 Camera_User.Get_VizData ,选择常开触点,单击 确定 ,将左侧母线连接至 Get_VizData 端口。

    ../../../../_images/test_viz_83.png

转换、编译和写入程序到PLC

  1. 单击工具栏中的 转换+编译+RUN中写入 图标。

    ../../../../_images/test_viz_93.png
  2. 弹出 转换+编译+RUN中写入执行确认 窗口,单击 确定 。

    ../../../../_images/test_viz_102.png
  3. 弹出如下窗口,单击 是 。

    ../../../../_images/test_viz_113.png
  4. 最后,单击 确定 ,完成将最新程序下载到 PLC。

    ../../../../_images/test_viz_121.png

触发 Mech-Viz 工程运行

  1. 在 MAIN 主程序窗口,右键单击 MM_Start_Empty 功能块输入侧 Camera_User.Start_Empty 端口,选择 调试 ‣ 当前值更改 ,将其修改为 ON,清除上一次获取的视觉结果,然后将此变量复位。

    ../../../../_images/test_viz_131.png

    在 监看 窗口,输入全局标签 MM_Camera.Status_Code,其返回值为 3103 ;全局标签 Camera_User.Target Pose、Camera_User.Target Label、Camera_User.Speed Percentage 变量值被清空。

    ../../../../_images/test_viz_141.png
  2. 选中 MM_Start_Viz 功能块输入侧 Camera_User.Start_Viz 变量,将其修改为 ON,启动 Mech-Viz 工程,然后将此变量复位。

    ../../../../_images/test_viz_15.png
  3. 在 监看 窗口,输入全局标签 MM_Camera.Status_Code,其返回值为 2103 ,则表示工程启动正常。

    ../../../../_images/test_viz_16.png

    注意

    若 MM_Camera.Status_Code 返回值为 20XX,请参考 《标准接口错误码及故障排查手册》 进行错误排查。

设置 Mech-Viz 的分支出口

  1. 选中 MM_Set_Branch 输入侧 Camera_User.Set_Branch 变量,将其修改为 ON,选择 Mech-Viz 分支出口,然后将此变量复位。

    ../../../../_images/test_viz_17.png
  2. 在 监看 窗口,输入全局标签 MM_Camera.Status_Code,其返回值为 2105 ,则表示分支设置成功。

    ../../../../_images/test_viz_18.png

    注意

    若 MM_Camera.Status_Code 返回值为 20XX,请参考 《标准接口错误码及故障排查手册》 进行错误排查。

获取 Mech-Viz 规划路径

  1. 选中 MM_Get_VizData 功能块输入侧 Camera_User.Get_VizData 变量,将其修改为 ON,获取 Mech-Viz 的规划路径,然后将此变量复位。

    ../../../../_images/test_viz_19.png
  2. 在 监看 窗口,输入全局标签 MM_Camera.Status_Code,其返回值为 2100 ,则表示获取规划路径成功。输入全局标签 MM_Camera.Target_Pose ,其返回值为路径点的关节角数据。

    ../../../../_images/test_viz_20.png

    注意

    若 MM_Camera.Status_Code 返回值为 20XX,请参考 《标准接口错误码及故障排查手册》 进行错误排查。