[EtherCAT]TwinCAT扫描CIA402例程时会添加3个Axis的情况说明
现象
在SSC Tool中使用配置模板生成ECAT_CIA402例程从站协议栈和从设备描述文件xml,生成出来的协议栈和设备描述文件xml支持2个cia402轴。
但当将生成出来的从站设备描述文件xml复制到TwinCAT中,并连接烧录好cia402程序的EVK板子,进行设备扫描时,我们会发现twinCAT自动添加NC轴配置时,会添加3个Axis。
在TwinCAT中我们将Axis与设备进行绑定,会发现最多只能绑定2个Axis,会多出一个Axis没有设备可与之绑定,这是因为从设备只支持2个Axis。
原因
那为何TwinCAT扫描过程中会添加出3个Axis,这是因为SSC生成出来的从设备描述文件存在一些格式问题。
当从设备的channel支持相同的Profile,不应该同时在Devices/Device和Modules/Module下描述ProfileNo属性。
处理
可以修改xml文件:
- 选择移除Modules/Module下ProfileNo属性
- 修正Devices/Device下第2个channel的addinfo属性值从“0”到“2”(If ProfileNo = 402, Default AddInfo Value = 2 (Servo drives).)
在TwinCAT中使用更新后的xml再次进行扫描,添加NC轴的时候就会自动添加2个NC轴。
在从设备Device的Slots为其支持的2个Axis分配具体的控制模式后, 即可将其与NC轴连接。
总结
以上问题是TwinCAT在自动添加NC轴时,因为从设备xml的描述问题,认为有3个轴所以添加了3个NC轴。
通过修改从设备描述文件xml可以修正这个问题,当然也可以选择手动添加NC轴,而非自动添加。
该问题带来了一些理解上的误导,但并不影响TwinCAT与从设备之间的实际工作。
修改前后的ECAT_CIA402 xml见附件:ECAT_CIA402 xml
更多关于XML的描述规范可查询ETG网站:ETG2000.EtherCATSlaveInformationSpecification