通信配置及示例程序使用

您正在查看最新版本(V2.2.0)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持

倍福(Beckhoff)PLC 与 梅卡曼德 视觉系统进行 EtherCAT 通信时,可通过标准 PCI-e 通讯板卡 HMS IXXAT INpact 40 实现。

所需软硬件

本文所列的型号与版本是适配时所用的型号与版本。对于其他型号与版本,用户可参考本文尝试操作,若遇到问题,请联系梅卡曼德技术支持。

硬件

  • PC 或者 IPC。

  • 梅卡曼德 软件系统工控机或主机已安装标准 PCI-e 通讯板卡:HMS IXXAT INpact 40(支持 EtherCAT 协议)。

  • 交换机和网线。

硬件连接图:

用一根网线将 ETHERCAT Master(主站控制器)的以太网口和视觉工控机通信板卡的 port1(对应 EtherCAT 输入)端口连接起来。

+

ethercat beckhoff 01

软件

软件 说明 安装位置

TwinCAT 3

BECKHOFF PLC 编程软件。

用于 BECKHOFF PLC 编程的计算机。

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

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

工控机。

工控机安装 Ixxat VCI 通讯板卡驱动软件。

工控机。

HMS ipconfig,用于设定通讯板卡的 IP 地址。

工控机。

除上述软件外,还需将以下文件复制到已安装 TwinCAT 3 软件的电脑上。

  • 视觉系统 ESI 文件:梅卡曼德 Robotics Technoligies LtdESI.xml

    ESI 文件位于 Mech-Vision 和 Mech-Viz 软件安装路径下 Communication Component/Robot_Interface/EtherCAT 文件夹内。
  • 接口文件。

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

    • fcCameraTestManually:视觉系统功能手动模式样例。

    • fbCameraTestAuto:视觉系统功能自动模式样例。

    • fbCameraTestAuto_Notify:视觉系统功能自动模式获取通知样例。

    • MM_XXX_XXX 功能块:用于实现各种接口指令的功能。

      上述文件位于 Mech-Vision 和 Mech-Viz 软件安装路径下 Communication Component/Robot_Interface/EtherCAT/Programming Samples/BECKHOFF PLC EtherCAT 文件夹内。

工控机配置及启动通讯

检查视觉工控机通讯板卡及驱动

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

    ethercat beckhoff 02
  2. 鼠标右键单击 Windows 图标,打开设备管理器,确认已安装板卡驱动软件 VCI4 INpact PCIe

    ethercat beckhoff 03

Mech-Vision 端配置及启动通讯

  1. 运行 Mech-Vision,打开机器人通信配置。

  2. 选择需要的机器人品牌、型号,单击 下一步

  3. 接口服务类型选择 标准接口

  4. 协议选项选择 EtherCAT,默认勾选 方案打开时自动打开接口服务,单击 应用

    ethercat beckhoff 04
  5. 在日志窗口的 控制台 标签页下,提示 ETHERNET IP接口服务,等待 ETHERNET IP 扫描器(主站)设备建立通信连接。

    待补图:二-二-5 Mech-Vision 日志界面

设定视觉系统工控机通讯板卡 IP 地址

  1. 设定通讯板卡 IP 地址需要使用 HMS 公司的 IPconfig 软件。使用网线将安装有 IPconfig 的电脑网口和 IXXAT INpact 通讯板卡网口连接。

    设定 IP 地址需要一个临时对接的网线,设定完成后可以去除。
  2. 打开 HMS IPconfig 软件,单击扫描,取消勾选 DHCP,并设定板卡 IP 地址和子网掩码。设置的 IP 地址需和 PLC 中配置的 IP 地址相同。然后单击 Apply 确认并退出软件。

    待补图:二-三-2 HMS IPconfig 设置界面

TwinCAT工程创建和配置

创建TwinCAT工程

  1. 打开 TwinCAT 3 软件,在新建项目下方单击 New TwinCAT Project 创建新项目,弹出 新建项目 窗口。

    ethercat beckhoff 05
  2. 新建项目 窗口中,选择 TwinCAT XAE Project(XML format),根据实际情况输入项目名称、选择保存位置,其余选项保持默认,然后单击 确定

    ethercat beckhoff 06
  3. 在左侧导航栏 解决方案资源管理器 中,双击 SYSTEM,进入 MM_Camera 属性界面。

    ethercat beckhoff 07
  4. 在 MM_Camera 属性界面的 General 选项卡下,单击 Choose Target…​,弹出 Choose Target System 窗口。

    ethercat beckhoff 08
  5. Choose Target System 窗口中,本例选择默认值 <Local>(192.168.137.1.1.1),即本地 PC 操作系统,单击 OK

    若选择其他操作系统,可通过网络查找按钮 Search(Ethernet)…​ 搜索并连接目标操作系统,具体请参考倍福官网连接控制器、扫描 IO、简单硬件调试相关说明。

    ethercat beckhoff 09

添加倍福ETHERCAT Master设备

  1. 在菜单栏中单击 TwinCAT,再单击 Show Realtime Ethernet Compatible Devices

    ethercat beckhoff 10
  2. Installation of TwinCAT RT-Ethernet Adapters 弹框中,选择连接视觉从站设备的以太网卡,单击 Install,之后关闭窗口。

    ethercat beckhoff 11
  3. 在左侧导航栏 解决方案资源管理器 中,双击展开 I/O,右键单击 Devices,选择 添加新项

    ethercat beckhoff 12
  4. Insert Device 窗口中,添加 EtherCAT Master 设备。

    ethercat beckhoff 13
  5. Devices Found At 弹框中,选择已安装的以太网卡,单击 OK。Adapter 内容显示如下图所示。

    ethercat beckhoff 14
    ethercat beckhoff 15

ESI文件安装及配置

  1. 将视觉从站的 ESI 文件拷贝至安装有 TwinCAT 3 软件的电脑上 C:\TwinCAT\3.1\Config\Io\EtherCAT 文件路径下。

    该文件需要提前从视觉工控机拷贝。
  2. 在菜单栏中单击 TwinCAT,再单击 EtherCAT Devices  Reload Device Descriptions

    ethercat beckhoff 16
  3. ESI 文件重新加载后,右键单击 Devices,选择 添加新项

    ethercat beckhoff 17
  4. Insert EtherCAT Device 窗口中,下拉滚动条,依次展开 梅卡曼德 Robotics Technologies Ltd.Vision Controller,选择 Ixxat INpact EtherCAT,Name 可自行定义,然后单击 OK

    ethercat beckhoff 18
  5. 展开新添加的 Box 1(Ixxat INpact EtherCAT) 视觉适配器设备(从站设备),确认 TransmitReceive PDO Mapping 如图所示。

    ethercat beckhoff 19

TwinCAT工程导入plc例程文件并激活配置

梅卡曼德 例程文件的导入和测试,请使用新建 TwinCAT 工程;如需添加到已存在的 TwinCAT 工程中,建议先创建新工程进行导入和测试,然后复制到已存在工程中去。

导入梅卡曼德例程文件

  1. 在左侧导航栏 解决方案资源管理器 中,右键单击 PLC 图标,选择 添加现有项,弹出 打开 窗口。

    ethercat beckhoff 20
  2. 打开 窗口中,选择 MM_Camera_ECAT.tpzip 文件后,单击 打开

    MM_Camera_ECAT.tpzip 文件位于 Mech-Vision 和 Mech-Viz 软件安装路径下 Communication Component/Robot_Interface/EtherCAT/Programming Samples/BECKHOFF PLC EtherCAT 文件夹内。
    ethercat beckhoff 21
  3. 在 TcXaeShell 弹框中,提示 是否导入变量链接,单击

    ethercat beckhoff 22
  4. 展开 MM_Camera Instance,保证 Plc Task Inputs 下的 CameraSignalsMove.FromCamera1Plc Task Outputs 下的 CameraSignalsMove.ToCamera1 均已经链接至 I/O 下视觉设备从站 Connection 1 (Input/Output) 变量。

    ethercat beckhoff 23
    ethercat beckhoff 24
  5. 如果自动导入变量链接失败,可以单击 Linked to,在弹出的 Attach Variable…​ 窗口中分别选择 I/O 下视觉设备从站 Connection 1 (Input/Output) 变量,单击 OK,依次按照寄存器使用说明进行手动链接变量。

例如,Plc Task Inputs / CameraSignalsMove.FromCamera1 / HEARTBEAT 的手动链接变量如下。

ethercat beckhoff 25

Plc Task Outputs / CameraSignalsMove.ToCamera1 / COMM_ENABLE 的手动链接变量如下。

ethercat beckhoff 26

激活配置并登录PLC程序

  1. 在 TwinCAT 3 工程界面的工具栏中,单击 Activate Configuration 图标。

    beckhoff 28
  2. Activate Configuration 弹框中保持默认设置,单击 OK;在 real-time start diagnostic 弹框中保持默认设置,单击 Continue

    beckhoff 29
    beckhoff 30
  3. 在 TcXaeShell 弹框中,提示 Restart TwinCAT System in Run Mode,单击 确定

    beckhoff 31
  4. 在 TwinCAT 3 工程界面的工具栏中,单击 登录到 图标,PLC 进入 Run 模式。

    beckhoff 32
  5. 在 Mech-Vision 主窗口中,若连接成功,则在日志窗口的 控制台 标签页下会显示 连接ETHERCAT控制器成功

设置参数

  1. 在 TwinCAT 3 软件的导航栏中,双击 fcCameraTestManually

    beckhoff 35
  2. 在 fcCameraTestManually 程序的第 1 节处,将使能开关 MM.ToCamera.COM_ENABLE 置于常开状态。

    beckhoff 36
  3. 在 fcCameraTestManually 程序的第 4 节处,设置如下值。

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

    2. 将 Req_Pose_Num 的端口值设为 0 ,表示期望 Mech-Vision 返回全部视觉点。

    3. 将 Robot_Pose_Type 的端口值设为 0 ,表示不需要向 Mech-Vision 工程发送拍照位姿,例如工程的相机安装方式是 Eye to Hand。

      beckhoff 37

触发 Mech-Vision 工程运行

  1. 在 fcCameraTestManually 程序的第 4 节处,双击 MM.Camera_User.Step_Num 变量。在如下输入框中,输入 4,将 MM.Camera_User.Step_Num 下一次写入值设置为 4,然后单击 确定

    beckhoff 38
  2. 在 fcCameraTestManually 程序的第 4 节处,双击 MM.Camera_User.Start_Vis 变量,将其修改为 TRUE

    beckhoff 39
  3. 在工具栏中,单击 写入值,便可触发 Mech-Vision 工程运行。

    beckhoff 40
  4. 再次双击 MM.Camera_User.Start_Vis 变量,将其修改为 FALSE

  5. 检查 STATUS_CODE 值是否为 1102。

    1. 单击状态栏 监视 1 选项卡以登录至监视窗口,然后添加 MM.FromCamera 变量。

      beckhoff 41
    2. 展开 MM.FromCamera 变量,查看 STATUS_CODE 值。

      beckhoff 42
      • 若 STATUS_CODE 值为 1102 ,则表示成功触发 Mech-Vision 工程运行。

      • 若 STATUS_CODE 值为 10XX,请参考《标准接口状态码及错误排查》进行错误排查。

获取 Mech-Vision 视觉结果

  1. 待 STATUS_CODE 反馈 1102 后,在 fcCameraTestManually 程序的第 5 节处,将 MM.Camera_User.Step_Num 下一次写入值设置为 6

    双击 MM.Camera_User.Get_VisData 变量,将其修改为 TRUE,以获取视觉结果。

    beckhoff 43
  2. 在工具栏中,单击 写入值,便可获取视觉结果。

    beckhoff 40
  3. 再次双击 MM.Camera_User.Get_VisData 变量,将其修改为 FALSE

  4. 在监视窗口内,查看 STATUS_CODE 值。

    beckhoff 44
  5. 查看 Target_Pose 值。

    1. 在监视窗口中,添加 MM.Camera_User 变量。

      beckhoff 45
    2. 展开 MM.Camera_User 变量,查看 Target_Pose 值,图中为本例收到视觉系统软件发送的 2 组位姿数据(数值为实际值乘以 10000)。

      beckhoff 46

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

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

beckhoff 47
beckhoff 48

从 Mech-Viz 获取规划路径

设置参数

  1. 在 fcCameraTestManually 程序的第 7 节处,将 MM.Camera_User.Step_Num 下一次写入值设置为 10

    双击 MM.Camera_User.Start_Empty 变量,将其修改为 TRUE,以清除上一次获取的视觉结果。

    beckhoff 49
  2. 在工具栏中,单击 写入值

    beckhoff 40
  3. 再次双击 MM.Camera_User.Start_Empty 变量,将其修改为 FALSE

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

    beckhoff 50
  5. 在 fcCameraTestManually 程序的第 12 节处,将 Branch_Name、Branch_Exit_Port 的端口值分别设为 1 ,表示 Mech-Viz 工程执行到消息分支 1 时沿第 1 个出口继续执行。

    beckhoff 51
  6. 在 fcCameraTestManually 程序的第 13 节处,将 Request_Pose_Type 的端口值设为 1 ,表示 Mech-Viz 规划的路径点最终以关节角形式返回。

    beckhoff 52

触发 Mech-Viz 工程运行

  1. 在 fcCameraTestManually 程序的第 9 节处,将 MM.Camera_User.Step_Num 下一次写入值设置为 14

    双击 MM.Camera_User.Start_Viz 变量,将其修改为 TRUE,以触发 Mech-Viz 工程运行。

    beckhoff 53
  2. 在工具栏中,单击 写入值,便可触发 Mech-Viz 工程运行。

    beckhoff 40
  3. 再次双击 MM.Camera_User.Start_Viz 变量,将其修改为 FALSE

  4. 在监视窗口内,查看 STATUS_CODE 值。

    beckhoff 54
    • 若 STATUS_CODE 值为 2103 ,则表示成功触发 Mech-Viz 工程运行。

    • 若 STATUS_CODE 值为 20XX,请参考《标准接口状态码及错误排查》进行错误排查。

设置 Mech-Viz 消息分支出口

  1. 在 fcCameraTestManually 程序的第 12 节处,将 MM.Camera_User.Step_Num 下一次写入值设置为 20

    双击 MM.Camera_User.Set_Branch 变量,将其修改为 TRUE,以设置消息分支出口。

    beckhoff 55
  2. 在工具栏中,单击 写入值,便可设置消息分支出口。

    beckhoff 40
  3. 再次双击 MM.Camera_User.Set_Branch 变量,将其修改为 FALSE

  4. 在监视窗口内,查看 STATUS_CODE 值。

    beckhoff 56

获取 Mech-Viz 规划路径

  1. 在 fcCameraTestManually 程序的第 13 节处,将 MM.Camera_User.Step_Num 下一次写入值设置为 22

    双击 MM.Camera_User.Get_VizData 变量,将其修改为 TRUE,以获取规划路径。

    稍后观察 MM.FromCamera.SEND_POSE_NUM 值。
    beckhoff 57
  2. 在工具栏中,单击 写入值,便可获取规划路径。

    beckhoff 40
  3. 再次双击 MM.Camera_User.Get_VizData 变量,将其修改为 FALSE

  4. 观察到 MM.FromCamera.SEND_POSE_NUM 值为 2,表示本例程获取到 2 组关节角数据。

  5. 在监视窗口内,查看 STATUS_CODE 值。

    beckhoff 58
  6. 在监视窗口内,查看 Target_Pose 值(数值为实际值乘以 10000)。

    beckhoff 59

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

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

beckhoff 60
beckhoff 61
beckhoff 62

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

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