在NI PXI/cRIO与Nidec Unidrive电机驱动器之间建立EtherCAT通信与控制

更新 Jul 15, 2024

环境

硬件

  • PXIe-8135
  • cRIO-9038

软件

  • LabVIEW
  • LabVIEW Real-Time Module

驱动

  • NI-Industrial Communications for EtherCAT

对 Kollmorgan和其他NI支持的第三方电机驱动器,我们可以使用LabVIEW工具网络中的NI LabVIEW Softmotion模块和SDI插件来调用一些集成好的API或Express VI来开发我们的控制和通信代码。
参考:
但是,遇到与NI未密切合作的供应商且不受高层级API和软件模块支持的电机/驱动器,又该怎么做呢?在本例中,我们以Nidec Unidrive M700为例。

注意:PXI和CRIO平台的操作方法步骤几乎相似,因此本文仅以PXI为例。

1. 创建LabVIEW项目并在网络中添加实时PXI控制器。
图片1.png

2. 确保NI-Industrial Communications for EtherCAT驱动程序已正确安装在PXI RT控制器中。
图片2.png

3. 在NI MAX中,将PXI控制器以太网适配器eth1配置为“EtherCAT”适配器模式。如果找不到EtherCAT选项,则需要检查驱动程序版本或软件环境是否正确安装。
图片3.png
图片4.jpg

4. 将您的PXI EtherCAT接口资源添加到您的项目中。(在本例中为Intel 82574L)
图片5.png

5. 将Nidec Unidrive M700 XML文件(驱动器厂商提供,需与驱动器/EtherCAT通讯模块固件一致,请与驱动器供应商确认)导入NI LabVIEW。
图片6.png
注意:不要重命名xml文件,这可能会导致未知错误。
图片7.png

导入成功后,LabVIEW现在可以检测到连接到PXI控制器的现有EtherCAT从设备,并自动导入xml文件里开放的IO以供后续使用。
图片8.png
如果要在LabVIEW中修改开放的IO变量,需要修改XML文件,请咨询驱动器供应商的专家,否则不建议这样做,参考Change PDO Mappings for a Third Party EtherCAT XML File

6. 要查找EtherCAT从设备(驱动器)的Online state and parameters,右键单击LabVIEW项目中的从设备并选择“Online Slave Device State”。
图片9.png
图片10.png
正常通讯时,以太网网口的绿灯会持续闪烁。绿灯常亮表示连接成功,但未建立数据通讯。
图片11.jpg

7. 将EtherCAT从设备的Distributed Clock配置为与NI Scan Engine period相同,本例中1ms为Scan Engine的周期。启用分布式时钟并将Shift Time设置为扫描周期的一半。
图片12.png
图片13.png

8. 为从设备配置一些Initial Commands data,以确保它在pre-operational状态下按预期工作。这种情况下,需要配置0x60C2,subindex 0x1为01,0x2为FD。不同的硬件有不同的配置要求,具体信息请咨询您的驱动器供应商。
图片14.png

9. 在运行您的VI代码之前,将扫描引擎从配置模式切换到Active Mode,并检查EtherCAT从站是否已成功进入Operational状态。
图片15.png

10. 运行你的LabVIEW RT vi,根据驱动的开放IO开发代码。(附代码作为参考)
图片16.png

11、“Control word”依次发送0110B、0111B、1111b启动驱动器,驱动器面板显示“Run”;
图片17.jpg

12.修改“Target Position”的值。可以发现,在Position模式下,电机轴随着数值的变化而旋转。

13. 参考驱动器厂商的EtherCAT通讯文档,检查“Status word”IO 返回值的含义,它对应驱动器的当前状态。

14、“Position Actual Value”来自电机编码器的返回值。当轴的位置发生变化时,会有不同的返回值。
图片18.png
 

Attachments