【发布时间】:2014-07-18 09:17:49
【问题描述】:
像上面一样启动SDO普通(分段)下载协议后,客户端是否可以在下载协议仍在进行中时随时从服务器接收到任何心跳消息或与我们的下载协议无关的CAN消息?
【问题讨论】:
像上面一样启动SDO普通(分段)下载协议后,客户端是否可以在下载协议仍在进行中时随时从服务器接收到任何心跳消息或与我们的下载协议无关的CAN消息?
【问题讨论】:
是的,SDO 事务在定义的消息 ID 上位于客户端和服务器之间,因此任何其他消息都可能合法地存在于这些事务中(在其他消息 ID 上),并且诸如心跳和 PDO 之类的东西继续并行运行到 SDO 事务。从 SDO 服务器请求响应的典型超时时间为 500 毫秒。这对于停止执行 CAN 总线所需的所有其他任务来说太长了。
没有理由不能在不同节点服务器和客户端之间进行并发 SDO 事务。唯一的大 SDO NO-NO 是在前一个事务完成之前在服务器上启动一个新事务。这肯定会导致 SDO 错误。
【讨论】: