我试图执行CANopen PDO映射,只将unsigned32数据的前两个字节映射到PDO。是否有可能这样做,以及如何做到?
我得到了执行上述映射的错误代码0604 0041 (这意味着PDO无法映射)。
发布于 2014-06-01 12:46:27
首先,检查参数是否可映射。如果您有EDS文件,则感兴趣的参数有PDOMapping=1。
如果参数是可映射的,则应该可以将PDO的一个映射变量设置为编码的UNSIGNED32 Idx{16位}、Sidx{8位}、nbit{8位}。例如,如果希望将2000,05编码为第一个TPDO的第一个参数,请将1A00,01设置为0x20000510。
我忘了问:
如果系统由于大小不匹配而拒绝映射PDO条目,那么在映射过程结束时设置子索引0时,系统会报告错误0x06040042 (对象的数量/长度超过PDO大小)。
我相信这是可能的映射一个对象字典条目的较小片段。我重新检查了CiA-301,除了说长度是强制性的之外,在这个问题上似乎没有提及。
https://stackoverflow.com/questions/23783618
复制相似问题