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

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

所需软硬件

硬件

  • Mitsubishi PLC:内置以太网模块。

    本示例使用的 CPU 系列为 QCPU(Q模式),机型为 Q03UDV,电源模块为 Q61P,基板为 Q33B。

  • 工控机。

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

  • 交换机和网线。

硬件连接如下图所示。

hardware connection

软件

软件 说明 安装位置

GX Works2

三菱 PLC 编程软件

用于三菱 PLC 编程的计算机

Mech-Vision和Mech-Viz软件(1.7.2及以上)

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

工控机

除了上述软件外,请将 MC Protocol_Q_Simple_Label.GXW 例程文件(用于实现各种接口指令的功能)复制到已安装 GX Works2 的计算机中。例程文件位于Mech-Vision和Mech-Viz软件安装路径下 Mech-Center/Robot_Interface/Mitsubishi MC 文件夹内。

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

创建和配置 PLC 工程

创建 PLC 工程

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

    create plc 1
  2. 导航  连接目标  当前连接目标下,双击 Connection1

    create plc 2
  3. 弹出 连接目标设置 Connection1 窗口,然后进行以下操作。

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

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

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

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

      create plc 3

配置 MC 通信参数

  1. 导航  工程  参数下,双击 PLC 参数

    configure plc 1
  2. 弹出 Q参数设置 窗口,单击 内置以太网端口设置 选项卡。

    1. 在 IP 地址设置区域内,设置 PLC 的 IP 地址,例如 192.168.1.22(需与工控机的 IP 地址在同一网段),子网掩码为 255.255.255.0,默认路由器 IP 地址为 192.168.1.0。

    2. 在通信数据代码设置区域内,选择 二进制码通信

    3. 勾选 允许RUN中写入(FTP与MC协议)

    4. 单击 打开设置 ,弹出 内置以太网端口打开设置 窗口。

      configure plc 2
  3. 在如下窗口中,将第一行参数设置为下图中所示的参数,单击 设置结束。返回 Q参数设置 窗口,单击该窗口的 设置结束 ,返回 GX Works2 软件窗口。

    configure plc 3

导入例程文件

导入和测试例程文件,请使用新建的 PLC 工程;如需添加到已存在的 PLC 工程中,建议先创建新工程,再进行导入和测试,最后复制到已存在的工程中。
  1. 返回 GX Works2 软件窗口,在菜单栏中,依次单击工程  库操作  在工程中获取库

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

    import file 2
  3. 在工程中获取库 窗口中,单击 FB一览更新 。在 FB一览 区域,选中全部选项,单击 确定

    import file 3
  4. 弹出 “是否覆盖” 提示,单击 ,返回 GX Works2 软件窗口。

    import file 4
  5. 在 GX Works2 软件窗口,单击菜单栏工具  自动分配软元件设置

    import file 5
  6. 弹出 自动分配软元件设置 窗口,修改字软元件 D 的分配选择,单击 确定

    import file 6
  7. 在提示窗口中,单击 ,返回 GX Works2 软件窗口。

    import file 7

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

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

    download configuration 1
  2. 单击工具栏 转换+全部编译

    download configuration 4
  3. 提示 是否执行全部编译 窗口,单击

    download configuration 5
  4. 单击工具栏 PLC写入

    download configuration 6
  5. 弹出 在线数据操作 窗口,选择 写入 ,单击 参数+程序 ,然后单击 执行

    download configuration 7
  6. 弹出如下提示窗口,单击

    download configuration 8
  7. 弹出 “是否覆盖原有参数” 提示,单击 全部是

    download configuration 9
  8. 待进度条下文本框提示 “PLC写入:结束” ,单击 关闭

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

    download configuration 11

设置“机器人通信配置”

  1. 单击 Mech-Vision 工具栏中 机器人通信配置

  2. 机器人通信配置 窗口,进行如下配置。

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

    2. 通信方式 下,接口服务类型 选择 标准接口协议 选择 Mitsubishi MC Client通信帧 选择 3E寄存器(D)起始地址 可根据实际情况设置(MM_Interface结构体共占用728个D寄存器,本示例设置为10000)。

    3. PLC IP地址 设置为具体PLC的IP地址,其后的端口设置为具体PLC的端口。

    4. (可选)建议勾选 方案打开时自动打开接口服务

    5. 单击 应用

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

    interface service

检查通信是否成功

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

    establish communication 1
  2. 弹出如下窗口,单击

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

    establish communication 3
  4. 在 Mech-Vision 主窗口中,若连接成功,则在日志窗口的 控制台 标签页下会显示 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 的“消息分支”步骤,如下图所示。

    preparation 4

从 Mech-Vision 获取视觉目标点

打开监视(写入模式)

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

    test vision 1
  2. 弹出如下窗口,单击 确定

    test vision 2

添加和设置 MM_Start_Vis 功能块

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

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

    test vision 4
  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 端口。

    test vision 5
    test vision 6

添加和设置 MM_Get_VisData 功能块

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

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

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

    test vision 8

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

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

    test vision 9
  2. 弹出 转换+编译+RUN中写入执行确认 窗口,单击 确定

    test vision 10
  3. 弹出如下窗口,单击

    test vision 11
  4. 最后,单击 确定 ,完成将最新程序下载到 PLC。

    test vision 12

触发 Mech-Vision 工程运行

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

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

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

    test vision 15
    若 MM_Camera.Status_Code 返回值为 10XX,请参考《标准接口状态码及错误排查》进行错误排查。

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

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

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

    test vision 17
    若 MM_Camera.Status_Code 返回值为 10XX,请参考《标准接口状态码及错误排查》进行错误排查。

从 Mech-Viz 获取规划路径

添加和设置 MM_Start_Empty 功能块

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

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

    test viz 2

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

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

    test viz 3
    test viz 4
    test viz 5
  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 端口。

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

    test viz 7
  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 端口。

    test viz 8

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

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

    test viz 9
  2. 弹出 转换+编译+RUN中写入执行确认 窗口,单击 确定

    test viz 10
  3. 弹出如下窗口,单击

    test viz 11
  4. 最后,单击 确定 ,完成将最新程序下载到 PLC。

    test viz 12

触发 Mech-Viz 工程运行

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

    test viz 13

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

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

    test viz 15
  3. 监看 窗口,输入全局标签 MM_Camera.Status_Code,其返回值为 2103 ,则表示工程启动正常。

    test viz 16
    若 MM_Camera.Status_Code 返回值为 20XX,请参考《标准接口状态码及错误排查》进行错误排查。

设置 Mech-Viz 的分支出口

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

    test viz 17
  2. 监看 窗口,输入全局标签 MM_Camera.Status_Code,其返回值为 2105 ,则表示分支设置成功。

    test viz 18
    若 MM_Camera.Status_Code 返回值为 20XX,请参考《标准接口状态码及错误排查》进行错误排查。

获取 Mech-Viz 规划路径

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

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

    test viz 20
    若 MM_Camera.Status_Code 返回值为 20XX,请参考《标准接口状态码及错误排查》进行错误排查。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。