1

If the data contains more than one value, how do I know what these values represent? And how do I break up the data into individual values? Am I right to say that the relationship between the PDOs and data to be transmitted are defined in the communication profile?

(I thank Matli for having explained that the CAN interface API probably has functions to retrieve the ID, data length and the data of a CANopen message. Based on the explanation, one could tell if the frame is a PDO and derive the sender node's ID from the COB-ID.)

4

2 回答 2

2

PDO 和数据之间的关系在对象字典的 PDO 映射条目中定义。但这可能不是最简单的找出方法。

由于我不知道您尝试与哪个设备通信,因此我无法向您提供有关其数据输出的任何信息。您必须查阅设备的文档或询问制造商。但是,例如,如果您有一个完全符合特定设备配置文件的通用 I/O 模块(例如,通用 I/O 模块的 401),它可能会根据该设备配置文件具有默认映射。

我建议您阅读 CiA DS 301 以及任何适用的设备配置文件。这些文件可从CiA获得

于 2009-01-14T12:47:04.530 回答
1

OD 中有两个地方,您可以在其中获得有关围绕公共汽车旋转的 PDO 的所有信息。前提是您知道所有连接的节点:

  1. PDO 参数(R:0x14xx 和 T:0x18xx)。在每个子索引 1 中,您可以找到特定 PDO 使用的COB-ID
  2. PDO 映射(R:0x16xx 和 0x1Axx):每个大于 0 的子索引包含一个字典对象的映射以及在该 PDO 的 8 字节块中的位置。

了解更多信息:

与 PDO 的过程数据交换(“过程数据对象”)

于 2014-07-07T16:52:11.000 回答