在PXI/cRIO与Nidec Unidrive电机驱动器之间建立EtherCAT通信与控制
对 Kollmorgan和其他NI支持的第三方电机驱动器,我们可以使用LabVIEW工具网络中的LabVIEW Softmotion模块和SDI插件来调用一些集成好的API或Express VI来开发我们的控制和通信代码。
参考:
- Using EtherCAT Motion Drives with NI Real-Time Controllers
- Working With the NI SoftMotion Drive Interface (SDI)
- SoftMotion Drive Interface (SDI) Plug-in Feature Compatibility
但是,遇到与NI未密切合作的供应商且不受高层级API和软件模块支持的电机/驱动器,又该怎么做呢?在本例中,我们以Nidec Unidrive M700为例。
注意:PXI和CRIO平台的操作方法步骤几乎相似,因此本文仅以PXI为例。
1. 创建LabVIEW项目并在网络中添加实时PXI控制器。
2. 确保NI-Industrial Communications for EtherCAT驱动程序已正确安装在PXI RT控制器中。
3. 在NI MAX中,将PXI控制器以太网适配器eth1配置为“EtherCAT”适配器模式。如果找不到EtherCAT选项,则需要检查驱动程序版本或软件环境是否正确安装。
4. 将您的PXI EtherCAT接口资源添加到您的项目中。(在本例中为Intel 82574L)
5. 将Nidec Unidrive M700 XML文件(驱动器厂商提供,需与驱动器/EtherCAT通讯模块固件一致,请与驱动器供应商确认)导入NI LabVIEW。
注意:不要重命名xml文件,这可能会导致未知错误。
导入成功后,LabVIEW现在可以检测到连接到PXI控制器的现有EtherCAT从设备,并自动导入xml文件里开放的IO以供后续使用。
如果要在LabVIEW中修改开放的IO变量,需要修改XML文件,请咨询驱动器供应商的专家,否则不建议这样做,参考Change PDO Mappings for a Third Party EtherCAT XML File
6. 要查找EtherCAT从设备(驱动器)的Online state and parameters,右键单击LabVIEW项目中的从设备并选择“Online Slave Device State”。
正常通讯时,以太网网口的绿灯会持续闪烁。绿灯常亮表示连接成功,但未建立数据通讯。
7. 将EtherCAT从设备的Distributed Clock配置为与NI Scan Engine period相同,本例中1ms为Scan Engine的周期。启用分布式时钟并将Shift Time设置为扫描周期的一半。
8. 为从设备配置一些Initial Commands data,以确保它在pre-operational状态下按预期工作。这种情况下,需要配置0x60C2,subindex 0x1为01,0x2为FD。不同的硬件有不同的配置要求,具体信息请咨询您的驱动器供应商。
9. 在运行您的VI代码之前,将扫描引擎从配置模式切换到Active Mode,并检查EtherCAT从站是否已成功进入Operational状态。
10. 运行你的LabVIEW RT vi,根据驱动的开放IO开发代码。(附代码作为参考)
11、“Control word”依次发送0110B、0111B、1111b启动驱动器,驱动器面板显示“Run”;
12.修改“Target Position”的值。可以发现,在Position模式下,电机轴随着数值的变化而旋转。
13. 参考驱动器厂商的EtherCAT通讯文档,检查“Status word”IO 返回值的含义,它对应驱动器的当前状态。
14、“Position Actual Value”来自电机编码器的返回值。当轴的位置发生变化时,会有不同的返回值。
Refernence: