hi all,
我现在用3359 ice v2做ethercat从站,
使用的是,sysbios_ind_sdk_02.01.02.02
当ethercat主站使用的是倍福的TwinCAT的时候,3359作为从站测试效果良好,
但是当主站使用的是IGH ethercat master for linux(在bbb上跑的),
会出现一个问题,在预运行状态下,3359作为从站可以在任意位置加入到从站总线上,且可以由INIT状态切换到预运行状态,
但是,当要把3359由预运行状态切换到OP状态的时候(会切换失败),3359作为从站会把主站发送的数据帧全部吞噬掉(主站发送的数据帧经过3359后,数据帧再也不反回)。
请问这是什么原因?
谢谢。
jason
Jian Zhou:
TwinCAT没有类似问题么?这个会不会和你主站的协议有些关系。
jason Lee5:
回复 Jian Zhou:
TwinCAT可以正常的运行。
我的iGH是在xenomai+linux环境下跑的,运行其他的型号的从站都没有问题,唯独运行3359作为从站出现了上述问题。
Jian Zhou:
回复 jason Lee5:
问下你的Linux+xenomai是用的谁家的主站协议栈?要看他发出的frame的机制是否和从站不匹配,需要调整。
jason Lee5:
回复 Jian Zhou:
你好,
我用的是iGH ethercat master for linux,只不过在linux我打了xenoma补丁,这个主站协议站对其他公司比如倍福的从站支持良好,他发出的帧可以使3359由init转化为预运行状态,说明他的frame的机制是匹配的。
具体的执行过程是这样的:
加载igh开发的ethercat master for linux之后,所有从站都会由init状态转化为预运行状态。
但是当我运行,配置代码把从站转化为op状态的时候,3359好像黑洞似的,所有通往他的帧都被他吸收了。
Jian Zhou:
回复 jason Lee5:
iGH这个主站我没有听说过,这边接触的都是TwinCAT或者Acontics的主站。
有没有比对过AM3359在连接2个不同主站的log信息。
tao zhang16:
回复 jason Lee5:
谢谢楼的主回复
EC MASTER 2.7的文档 果然讲的不是很清楚,
现在用你给的文档里的链接下载了1.1.0.8sdk EC master2.9手上有两块ICE 3359一个做主一个做从
主站程序还是有些问题有些地方没有配置好
007282 : =====================
007282 : Start EtherCAT Master
007282 : =====================
007312 : ecatSetMasterStateEx() Error 0x9811002d in McSm state 'START' for requested state 'START'
007312 : Scan bus mismatch for the first slave on the bus! BUS VendorId: —- (0x0); ProductCode: Unknown (0x0).
007312 : CFG/BUS VendorId: Beckhoff Automation GmbH (0x2) / —- (0x0); ProductCode: EK1100 (0x44c2c52) / Unknown (0x0)
007312 : Scan bus mismatch for the first slave on the bus! BUS VendorId: —- (0x0); ProductCode: Unknown (0x0).
007312 : CFG/BUS VendorId: Beckhoff Automation GmbH (0x2) / —- (0x0); ProductCode: EK1100 (0x44c2c52) / Unknown (0x0)
从站程序用twincat测试可以查找到,但并不能控制LED
好纠结,求助楼主和ti大牛,提供些帮助,谢过LOL
Yaoming Qin:
IGH 主站的兼容性不是很好,我们的industrial sdk的release note中有提到和IGH主站不匹配的地方,您可以对照下。
谢谢!
jason Lee5:
回复 tao zhang16:
是不是xml有问题?
jason Lee5:
回复 Yaoming Qin:
你好,我在勘误表上看到如下:
Slaves do not go to OP state in DC mode when TI ESC is reference slave in DC Slave Mode
• Issue/ Failure Description or state
– SDOCM00121174: Slaves do not go to OP state in DC mode when TI ESC is reference slave in DC slave mode (IgH or Acontis EtherCAT master)
• Conditions in which failures occur
– DC Slave mode is configured at master (IgH or Acontis EtherCAT master) and TI ESC is reference slave
• Root cause
– Firmware used System Time Delay (non-zero) to enable drift compensation loop at slave
• Workaround
– Set non-zero System Time Delay(0x928:0x92b) value for reference slave – say 1ns
首先,我用IGH并没有设置从站为DC模式,但是还是切换不到op模式。
其次在DC模式下,就算我不把3359 slave设置成参考时钟,也会无法切换到OP。
Yaoming Qin:
回复 jason Lee5:
xml 是要根据主站的要求生成的,这边可以识别出从站,但是不能正确切换状态,可以看看xml中对从站属性的配置部分是否正确
建议您看看igh的文档了,这部分我这边也不大懂了。