通信配置及示例程序使用

本节介绍 Allen‑Bradley PLC(简称 AB PLC)与梅卡曼德视觉系统进行 EtherNet/IP 通信。

所需软硬件

硬件

  • AB PLC:本示例使用 1769-L19ER-BB1B 机型。

  • 电源适配器:220V AC 转 24V DC。

  • 工控机:已安装标准 PCI-e 通讯板卡 HMS IXXAT INpact 40。

  • 交换机和网线。

硬件连接如下图所示。

ethernet ip ab 1

软件

软件 说明 安装位置

AB PLC Studio 5000

AB PLC 编程软件

用于 AB PLC 编程的计算机

通讯板卡驱动软件

工控机

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

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

工控机

设置通讯板卡的IP地址

工控机

除了上述软件外,请将下列文件复制到已安装 Studio 5000 的计算机中:

  • EDS 文件:005A002B003A0100.EDS,用于提供工控机在 EtherNet/IP 网络中的身份信息。 EDS 文件位于Mech-Vision和Mech-Viz软件安装路径下 Mech-Center/Robot_Interface/EthernetIP 文件夹内。

  • PLC 例程文件:

    • CameraSignalsMove.L5X:视觉系统信号传送。

    • CameraTest.L5X:视觉系统测试。

    • MM EtherNet IP Interface Program.L5X:用于实现各种接口指令的功能。

例程文件位于Mech-Vision和Mech-Viz软件安装路径下 Mech-Center/Robot_Interface/EthernetIP/Programming Samples/AB PLC EthernetIP 文件夹内。

配置工控机及启动通信

检查工控机通信板卡及驱动

  1. 在工控机 PCI-e 插槽中,确认已安装 INpact EIP 从站 PCIe 板卡。

    ethernet ip ab 2
  2. 在工控机上,鼠标右键单击 Windows 图标,打开设备管理器,确认已安装板卡驱动软件 VCI4 INpact PCIe。

    ethernet ip ab 3

设置“机器人通信配置”

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

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

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

    2. 通信方式 下,接口服务类型 选择 标准接口协议 选择 ETHERNET IP

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

    4. 单击 应用

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

    interface service

设置工控机通信板卡 IP 地址

  1. 使用一根网线将工控机的一个网口和 IXXAT INpact 通信板卡网口连接。

    在设置通信板卡并成功通信后,临时网线便可拔掉。
  2. 打开 HMS IPconfig 软件,单击扫描,取消勾选 “Retrieve IP Settings Dynamically from a DHCP server”,并设置板卡 IP 地址和子网掩码,然后单击 Apply 确认并退出软件。

    ethernet ip ab 6

创建和配置 PLC 工程

创建 PLC 工程

  1. 在计算机上,打开 Studio 5000 软件,单击 New Project,弹出 New Project 窗口。

    ethernet ip ab 7
  2. 单击 Logix 选项,根据实际使用的 AB PLC 选择对应的 CPU 系列、型号(本示例使用 1769-L19ER-BB1B),然后填写工程名称 Name,并选择保存位置 Location,最后单击 Next

    ethernet ip ab 8
  3. 根据实际使用情况,选择 RevisionExpansion I/O,单击 Finish,进入工程界面。

    ethernet ip ab 9

设置 PLC 的 IP 地址

  1. 在计算机上,依次单击开始  所有程序  Rockwell Software  BOOTP-DHCP Tool  BOOTP-DHCP Tool,弹出 Select Network Interface 窗口。

    ethernet ip ab 10
  2. 选择与 PLC 连接的以太网卡驱动,单击 OK

    ethernet ip ab 11
  3. BootP DHCP EtherNet/IP Commissioning Tool 窗口,依次单击 Tools  Network Setting

    ethernet ip ab 12

    设置计算机的子网掩码和网关,单击 OK

    ethernet ip ab 13
  4. 单击 Add Relation,在弹框内输入 PLC 的硬件 MAC 地址和 IP 地址(图示为示例使用的地址),单击 OK

    ethernet ip ab 14
  5. 选中新建的 Relation,单击 Enable BOOTP/DHCP 以启用 BOOTP 功能。若启用成功,则状态栏提示“[Enable BOOTP/DHCP] Command successful”。

    ethernet ip ab 15

    随后断电并重新启动PLC,然后重新打开 BootP DHCP EtherNet/IP Commissioning Tool(无需保存配置文件),等待Discovery History区域出现PLC的MAC地址,双击该MAC地址,然后在弹窗中修改PLC的IP地址(图示为示例使用的地址),单击OK

    ethernet ip ab 15 1

    等待状态栏提示“Sent 192.168.1.22 to Ethernet address 5C:88:16:D6:BF:C0”,同时Discovery History区域出现设置的PLC IP地址,则表示上述设置成功。

    ethernet ip ab 15 2

    若上述过程出现失败,请检查网络连接及 IP 设置。

  6. 选中Entered Relations区域的MAC地址,单击 Disable BOOTP/DHCP 以禁用 BOOTP 功能。若禁用成功,则状态栏先提示“[Disable BOOTP/DHCP] Command successful”,后提示“Unable to service DHCP request from 5C:88:16:D6:BF:C0”,最后关闭 BootP DHCP EtherNet/IP Commissioning Tool 窗口。

    ethernet ip ab 16

    若上述过程出现失败,请检查网络连接及 IP 设置。

连接控制器

  1. 在计算机上,依次单击开始  所有程序  Rockwell Software  RSLinx  RSLinx Classic,弹出 RSLinx Classic Gateway 窗口。

    ethernet ip ab 17
  2. 在菜单栏中,依次单击Communications  Configure Drivers

    ethernet ip ab 18
  3. 在 Configure Drivers 窗口,执行以下操作。

    1. Available Driver Types 选项的下拉框中选择 EtherNet/IP Driver ,然后单击 Add New

    2. 在弹出的 Add New RSLinx Classic Driver 窗口中,可使用默认名称,最后单击 OK

      ethernet ip ab 19
    3. 在弹出的 Configure driver:AB_ETHIP-1 窗口中,选择连接 PLC 的本地网口,最后单击 确定

      ethernet ip ab 20
    4. 返回 Configure Drivers 窗口,单击 Close

      ethernet ip ab 21
  4. 在 Studio 5000 工程界面的 Controller Organizer 窗口中,依次单击IO Configuration  Ethernet,选中具体 CPU 模块,单击工具栏 RSWho 图标。

    ethernet ip ab 22
  5. 在 Who Active(RSLinx Classic)窗口,展开 AB_ETHIP-1,选中将要连接的具体 CPU 模块,单击右下角 Set Project Path 设置工程通信路径。 通信路径由 <none> 变为 AB_ETHIP-1\192.168.1.22,表示设置成功。单击 Close 关闭该窗口。

    ethernet ip ab 23

安装及配置 EDS 文件

  1. 在 Studio 5000 工程界面,依次单击TOOLS  EDS Hardware Installation Tool

    ethernet ip ab 24
  2. 在 Rockwell Automation’s EDS Wizard 窗口内,执行以下操作。

    1. 单击 下一步

      ethernet ip ab 25
    2. 选择 Register an EDS file(s),单击 下一步

      ethernet ip ab 26
    3. 选择 Register a single file,单击 Browse。在文件资源管理器中,选择相应 EDS 文件(需提前从工控机复制该文件),单击 下一步

      ethernet ip ab 27
    4. 单击 下一步

      ethernet ip ab 28
    5. 使用默认 icon,单击 下一步

      ethernet ip ab 29
    6. 继续单击 下一步

      ethernet ip ab 30
    7. 出现下图中提示后,单击 完成

      ethernet ip ab 31
  3. 在 Studio 5000 工程界面的 Controller Organizer 窗口中,依次单击IO Configuration  Ethernet,右键单击 Ethernet,选择 New Module

    ethernet ip ab 32
    1. 在 Select Module Type 窗口,过滤框内输入 Ixxat,选中 Ixxat INpact EtherNet/IP™,单击 Create

      ethernet ip ab 33
    2. 在 New Module 窗口,选择 General 选项,输入设备名称 MM_Camera (不可修改名称,因为需要和例程定义保持一致),设置视觉系统(从站设备)IP 地址:192.168.1.10(与 HMS IPconfig 中设置的 IP 地址保持一致),单击 Change

      ethernet ip ab 34

      弹出如下窗口,修改 Size 单位为 INT ,单击 OK

      ethernet ip ab 35

      出现如下提示窗口,单击 Yes

      ethernet ip ab 36

      返回 New Module 窗口,单击 OK

    3. 上述操作完成后,如下图所示表示设备Ixxat INpact EtherNet/IP™ MM_Camera 成功添加至 Ethernet 网络。在 Select Module Type 窗口,单击 close

      ethernet ip ab 37

导入例程文件并下载 PLC 程序至 PLC

导入例程文件

导入和测试例程文件,请使用新建的 PLC 工程;如需添加到已存在的 PLC 工程中,建议先创建新工程,再进行导入和测试,最后复制到已存在的工程中。
  1. 在 Studio 5000 工程界面,在菜单栏中,依次单击FILE  Import Component  Add-On Instruction

    ethernet ip ab 38

    弹出如下窗口,选择例程文件 MM EtherNet IP Interface Program.L5X (需提前从工控机复制该文件),单击 Open

    ethernet ip ab 39

    弹出如下窗口,单击 OK

    ethernet ip ab 40
  2. 在菜单栏中,依次单击FILE  Import Component  Routine

    ethernet ip ab 41

    弹出如下窗口,选择 CameraSignalsMove.L5X 文件(需提前从工控机复制该文件),单击 Open

    ethernet ip ab 42

    弹出如下窗口,单击 OK

    ethernet ip ab 43
  3. 参照上一步操作,将 CameraTest.L5X 文件(需提前从工控机复制该文件)导入工程。

    ethernet ip ab 44

下载 PLC 程序至 PLC

  1. 在 Studio 5000 工程界面,依次单击Tasks  Main Task  MainProgram,双击 MainRoutine,打开主程序。

    ethernet ip ab 45

    选中 Rung 0 行,依次单击工具栏的Program Control  JSR,调用 CameraSignalsMove 程序。

    ethernet ip ab 46

    选中 Rung 0 行,右键单击选择“Copy Rung”;选中 Rung End,右键单击选择“Paste”,从而添加 Rung 1 行,然后将调用程序修改为 CameraTest。

    ethernet ip ab 47
  2. 单击 offline 下拉框,选择 Download

    ethernet ip ab 48

    弹出如下窗口,单击 Download

    ethernet ip ab 49
  3. 下载成功后,弹出如下窗口。在确保安全的前提下,单击

    ethernet ip ab 50

    控制器进入Rem Run(远程运行)模式。

    ethernet ip ab 51

检查通信是否成功

  1. 在 Studio 5000 工程界面,依次单击Tasks  Main Task  MainProgram,双击 CameraSignalsMove,打开程序。

    ethernet ip ab 52

    若连接成功,Rung 21 行处的 FromCamera.HEARTBEAT 心跳信号监视值在不断改变。

    ethernet ip ab 53
  2. 在 Mech-Vision 主窗口中,若连接成功,则在日志窗口的 控制台 标签页下会显示 连接ETHERNET IP控制器成功 。 若无该日志,请检查以下是否正常:

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

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

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

视觉工程测试

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

准备工作

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

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

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

    ethernet ip ab 54

从 Mech-Vision 获取视觉点

设置参数

  1. 在 Studio 5000 工程界面,在 CameraTest 程序的 Rung 0 行处,将使能开关 ToCamera.COM_ENABLE 处于常开状态。

    ethernet ip ab 55
  2. 在 CameraTest 程序的 Rung 3 行处,设置如下值。

    1. 将 Vision_Proj_Num 的端口值设为 1 ,表示运行工程编号为 1 的 Mech-Vision 工程。

    2. 将 Req_Pose_Num 的端口值设为 0 ,表示 Mech-Vision 返回全部位姿结果。

    3. 将 Robot_Pose_Type 的端口值设为 0 ,表示工程是 Eye to Hand 模式,不需要发送拍照位姿。

      ethernet ip ab 56

触发 Mech-Vision 工程运行

  1. 在 CameraTest 程序的 Rung 3 行处,将 Camera_User.Step_Num 值设置为 5。单击 MM_Start_Vis 的 Camera_User.Start_Vis 标签值,将其修改为 1 以触发 Mech-Vision 工程运行,然后将此标签复位。

    ethernet ip ab 57
  2. 检查 STATUS_CODE 的返回值是否为 1102。

    1. 单击状态栏 Watch 选项卡以登录至监看窗口,在名称栏添加 FromCamera 标签。

      ethernet ip ab 58
    2. 展开标签层级,查看 STATUS_CODE 的返回值。

      ethernet ip ab 59
      若返回值为 1102 ,则表示成功触发 Mech-Vision 工程。若返回值为 10XX,请参考《标准接口状态码及错误排查》进行错误排查。

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

  1. 待 STATUS_CODE 反馈 1102 后,在 CameraTest 程序的 Rung 4 行处,将 Camera_User.Step_Num 值设置为 10。单击 MM_Get_VisData 的 Camera_User.Get_VisData 标签值,将其修改为 1 以获取位姿结果,然后将此标签复位。

    ethernet ip ab 60
  2. 在监看窗口内,查看 STATUS_CODE 的返回值。

    ethernet ip ab 61
    若返回值为 1100 ,则表示从 Mech-Vision 成功获取视觉点。若返回值为 10XX,请参考《标准接口状态码及错误排查》进行错误排查。
  3. 检查 Target_Pose 的返回值。

    1. 在监看窗口的名称栏中添加 Target_Pose 标签。

      ethernet ip ab 62
    2. 展开标签层级,查看 Target_Pose 的返回值,图中为本例收到视觉系统软件发送的 2 组位姿数据(数值为实际值乘以 10000)。

      ethernet ip ab 63

自动从 Mech-Vision 获取视觉结果

上述小节实现手动从 Mech-Vision 获取视觉结果,参照下图中各程序间的连接,即可实现自动从 Mech-Vision 获取视觉结果。

ethernet ip ab 77
ethernet ip ab 78
ethernet ip ab 79
ethernet ip ab 80

从 Mech-Viz 获取规划路径

设置参数

  1. 在 CameraTest 程序的 Rung 14 行处,将 Camera_User.Step_Num 值设置为 50。单击 MM_Empty_Target 的 Camera_User.Start_Empty 标签值,将其修改为 1 以清除上一次获取的视觉结果,然后将此标签复位。

    ethernet ip ab 64

    在监看窗口内,查看清除视觉结果后的 Target_Pose 值。

    ethernet ip ab 65
  2. 在 CameraTest 程序的 Rung 10 行处,将 Branch_Name 的端口值设为 1 ,表示分支编号为 1。

  3. 在 CameraTest 程序的 Rung 10 行处,将 Branch_Exit_Port 的端口值设为 1 ,表示 Mech-Viz 工程执行到分支 1 时沿出口 1 继续执行。

    ethernet ip ab 66
  4. 在 CameraTest 程序的 Rung 11 行处,将 Request_Pose_Type 的端口值设为 1 ,表示 Mech-Viz 返回的数据是关节角类型。

    ethernet ip ab 67

触发 Mech-Viz 工程运行

  1. 在 CameraTest 程序的 Rung 7 行处,将 Camera_User.Step_Num 值设置为 20。单击 MM_Start_Viz 的 Camera_User.Start_Viz 标签值,将其修改为 1 以触发 Mech-Viz 工程运行,然后将此标签复位。

    ethernet ip ab 68
  2. 在监看窗口内,查看 STATUS_CODE 的返回值。

    ethernet ip ab 69
    若返回值为 2103 ,则表示成功触发 Mech-Viz 工程。若返回值为 20XX,请参考《标准接口状态码及错误排查》进行错误排查。

设置 Mech-Viz 的分支出口

  1. 在 CameraTest 程序的 Rung 10 行处,将 Camera_User.Step_Num 值设置为 30。单击 MM_Set_Branch 的 Camera_User.Set_Branch 标签值,将其修改为 1,以选择 Mech-Viz 分支出口,然后将此标签复位。

    ethernet ip ab 70
  2. 在监看窗口内,查看 STATUS_CODE 的返回值。

    ethernet ip ab 71
    若返回值为 2105 ,则表示分支设置成功。若返回值为 20XX,请参考《标准接口状态码及错误排查》进行错误排查。

获取 Mech-Viz 规划路径

  1. 在 CameraTest 程序的 Rung 11 行处,将 Camera_User.Step_Num 值设置为 35。单击 MM_Get_VizData 的 Camera_User.Get_VizData 标签值,将其修改为 1,以获取 Mech-Viz 规划的路径,然后将此标签复位。

    ethernet ip ab 72

    观察到上图中 Send_Pose_Num 值为 9,表示本例程获取到 9 组关节角数据。

  2. 在监看窗口内,查看 STATUS_CODE 的返回值。

    ethernet ip ab 73
    若返回值为 2100 ,则表示成功获取规划路径。若返回值为 20XX,请参考《标准接口状态码及错误排查》进行错误排查。
  3. 在监看窗口内,查看 Target_Pose 的返回值(数值为实际值乘以 10000)。

    ethernet ip ab 74
    ethernet ip ab 75
    ethernet ip ab 76

自动从 Mech-Viz 获取规划路径

上述小节实现手动从 Mech-Viz 获取规划路径,参照下图中各程序间的连接,即可实现自动从 Mech-Viz 获取规划路径。

ethernet ip ab 81
ethernet ip ab 82
ethernet ip ab 83

我们重视您的隐私

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