我正在工作的芯片,应该是一个功能,作为一个可编程控制器(主控)通过一个EtherCAT连接。该芯片包括一个Atmega2560和一个LAN9252,它是EtherCAT从控制器。
我已经编写了xml文件。通过在奴隶上闪烁这个ESI,我面临以下问题:
奴隶在PLC的Config模式下工作(基于它的工作方式)。数据从从发送到主从,也从主从接收到从。但是,通过启动运行模式,我得到以下错误和警告:
810 ms | 'TcSysSrv' (10000): Sending ams command >> Init16\IO: Set State TComObj SAFEOP OP: Device Gerät 2 (EtherCAT Slave) (set to OP)AdsWarning: 1803 (0x70b, NoString) << failed!
793 ms | 'TCOM Server' (10): SAFEOP to OP of 'Gerät 2 (EtherCAT Slave)' (0x03010020) failed - 'invalid parameter' 0x9811070B
这里指出,错误是: DeviceInavlidParam:(无效的参数值,.Error代码: 1803(0x70b) )。
我试图找出它的含义以及它指向的参数,这样我就可以修改它了。但我并不能真正理解。
我的问题是,首先,为什么ESI实现似乎是在Config模式下完成的,并且它可以工作。但不是在跑步模式下。造成错误的原因是什么?
其次,也许有人看到了这样的错误,可以善意地帮助我,或者带我找到一个我可以继续进行的文档?
提前谢谢你。如果需要一些数据,请让我知道,通过编辑或评论,我可以提供它。
发布于 2022-05-03 13:46:03
因此,在与EtherCAT支持进行了讨论之后,我了解到问题不是来自主端,而是设备树中的EtherCAT从服务器到EtherCAT从服务器的错误裁剪器。如果没有在项目中使用它,您应该删除它或禁用它,这就是我的情况。
但是运行模式问题仍然存在。支持提到,当发生这种情况时,可能意味着在Run Mode中没有更新流程数据,因为在预操作状态下,流程数据通道还没有打开。因此,EtherCAT网络需要在运行模式下从软件实时任务中触发.根据这个文档网第3.2部分的说明,解决了该问题,并在运行模式下实现了从主通信。
我希望这会对将来面对同样问题的人有所帮助。
https://stackoverflow.com/questions/72030214
复制相似问题