【问题标题】:CANOpen Multi client Single server SDO communicationCANOpen 多客户端 单服务器 SDO 通信
【发布时间】:2021-08-20 19:29:37
【问题描述】:

因为 SDO 通信用于点对点通信。 CANOpen 服务器是否可以同时与两个不同的客户端针对同一个对象进行通信?

例如: 节点 1(服务器):ID-5,OD:6023h,长度:100 字节 节点 2(客户端):ID-10 节点 3(客户端):ID-11

Node-2 和 Node-3 可以同时从 Node-1 上传 6023h 吗?

如果不是,这是对 CANOpen 协议的限制吗?

【问题讨论】:

    标签: canopen sdo


    【解决方案1】:

    对于给定的 CAN 标识符,只能有一个发送器,否则将无法解决总线冲突。因此,单个 SDO 服务器不可能存在多个 SDO 客户端。

    但是,一个 CANopen 设备可以包含/托管多个逻辑 SDO 服务器,这可能允许它们为多个 SDO 客户端提供服务。

    当进行相应的编程和配置时,CANopen 节点也可以充当网关,接受来自多个 SDO 客户端的连接并将它们路由到另一个 SDO 服务器。但是不知道有没有这个的标准协议。

    同样,主要规则是给定 CAN 标识符只有一个发射器。

    【讨论】:

    • 在文档号 CiA 302-7 下有一个 CANopen 网关的 CAN 标准,其中包括多个 CANopen 网络之间的路由。我不确定这个路由是否也适用于同一网络中两个节点之间的路由。
    【解决方案2】:

    不,这是不可能的。 SDO 是一种请求-响应协议,本质上是一对一的。如果您想同时与多个客户端通信,请使用 PDO,它基本上是一种发布-订阅协议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-26
      • 2011-09-05
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多