我正在研究CANopen体系结构,我有三个问题:
1-当“同步窗口”关闭直到下一条同步消息时,我们是否应该发送SDO消息?在这段时间内,我们可否不发信呢?
2-是否可以在同时窗口期间不发送PDO消息?
3-奴隶在同步信息中给出的答案是什么?

发布于 2022-08-23 05:10:27
免责声明:我没有确切的答案,但我只想分享我的假设和想法。
以下是CiA 301的引用:
,如果同步窗口长度过期,则可以丢弃所有同步TPDO,并且可以发送EMCY消息;所有同步RPDO都可以被丢弃,直到接收到下一同步消息为止。使用下一条同步消息恢复同步RPDO处理。
发布于 2022-08-23 06:49:40
同步窗口仅用于特定的PDO同步。对于硬实时系统,数据可能需要在一定的固定时间间隔内到达--不太早,也不太晚。也就是说,它是一个实时的最后期限。如果启用了这些特性,则在执行特定的CANopen总线实现时需要考虑到这一点。
例如,如果某些SDO通信占用了总线,以致PDO无法满足其时间窗口,这将是一个问题。但是这很容易通过给PDO提供比SDO更低的COBID来解决,在大多数默认的设备配置文件设置(如"DS401 GPIO模块“)中,都应该是这样。除此之外,您还必须确保没有荒谬的总线负载,或者节点挂起或忙着做其他事情。
在具有硬实时需求的系统中,您可能不希望在操作模式开始时允许任何SDO通信。
,奴隶在同步消息中给出的答案是什么?
这个问题没有任何意义。您需要研究同步消息的功能以及它的用途。
https://stackoverflow.com/questions/73452991
复制相似问题