Beckhoff M510与SIEMENS PN/CAN-Link CANopen通信问题及解决方案

需积分: 4 0 下载量 176 浏览量 更新于2024-08-30 收藏 475KB PDF 举报
本文档详细介绍了如何实现Beckhoff的CANopen模块M510与SIEMENS的PNCAN-Link之间的通信,包括组网、CANopen配置、通信异常现象的分析及解决方法。 一、组网 在构建网络时,选用Beckhoff的M510作为主站,它被设定为节点号127,而SIEMENS的PN/CAN-Link模块作为从站,其节点号为1,两者之间采用500Kbps的波特率进行通信,传输类型为1,同步信号间隔为10ms。这种网络架构旨在确保CANopen设备间的高效数据交换。 二、CANopen配置 配置阶段,首先扫描并识别从站节点,即PN/CAN-Link,然后导入其EDS(电子数据表)文件以获取PDO(过程数据对象)信息。设置从站的PDO传输类型为1,通信周期设为10ms,并将PDO与相应的变量关联,以便数据的正确传输。 三、通信异常 在激活配置并运行后,发现通信异常。通过CANMonitor工具捕获的报文显示,虽然存在TxPDO的COB-ID,但数据区为空,而非数据值为0。这一问题在多次测试中持续出现。 四、启动报文分析 正常启动时,主站会通过SDO(服务数据对象)获取PDO的通信参数(如1400、1800及其子索引信息)和映射参数(如1600、1A00及其子索引信息)。然而,在异常情况下,主站只查询了从站的PDO通信参数,未获取映射参数,导致无法确定PDO的数据长度和对应的数据输入输出区域,从而出现空数据报文。 五、解决办法 针对上述问题,解决步骤如下: 1. 清除从站节点PN/CAN-Link的SDO配置。 2. 使用CreatePDOPar创建PDO参数,此时应注意只有通信参数,缺少映射参数。 3. 手动添加映射参数1600和1A00,子索引分别为0, 1, 2, 3, 4, 0,且需按照特定顺序插入,否则会导致错误。这些参数应与从站的EDS文件完全一致。 通过以上步骤,可以成功配置并实现Beckhoff M510与SIEMENS PNCAN-Link之间的CANopen通信,解决了数据传输异常的问题。在配置CANopen网络时,理解不同设备的特性和正确设置参数是关键,特别是对于像PN/CAN-Link这样的特殊模块,可能需要额外的配置步骤来确保数据映射的正确性。