Beckhoff的CANopen模块M510与SIEMENS的PNCAN—Link通信实现方法.pdf
文件大小: 475k
源码售价: 10 个金币 积分规则     积分充值
资源说明:### Beckhoff的CANopen模块M510与SIEMENS的PNCAN—Link通信实现方法 #### 一、组网概述 在本方案中,采用Beckhoff公司的M510作为CANopen网络的主站,其默认节点号为127;同时选用SIEMENS的PNCAN—Link模块作为从站,节点号设定为1。主从设备之间的通信波特率设定为500Kbps,传输类型为1,同步信号设定为10ms周期。 #### 二、CANopen配置详解 1. **网络架构**: M510模块作为主站负责整个网络的管理,包括初始化、配置和监控等任务;PNCAN—Link作为从站响应主站的请求并执行相应的动作。 2. **从站配置**: 首先需要扫描到从站节点CANnode,并通过下载PNCAN—Link的EDS文件导入PDO信息。接下来设置传输类型为1,通信周期为10ms,并关联相关变量。这一过程确保了从站能够正确地响应主站发送的PDO消息。 3. **导入EDS文件**: EDS文件(Electronic Data Sheet)是CANopen从站的配置文件,它定义了从站的所有对象字典条目。通过导入PNCAN—Link的EDS文件,可以确保主站在配置过程中自动识别从站的PDO信息和其他关键配置。 #### 三、通信异常现象分析 在进行配置激活并运行时,出现通信异常现象。通过CANMonitor功能捕获到的报文显示,虽然存在TxPDO的COB-ID,但没有数据(不是数据为0,而是没有任何数据)。这是不正常的,因为即使没有实际数据传输,通常也会有默认的零值数据。 #### 四、异常启动报文分析 1. **正常启动报文**: 在正常的启动过程中,主站会通过SDO(Service Data Object)获取PDO的通信参数1400,1800以及相关的子索引信息,还包括PDO的映射参数1600,1A00及其子索引的信息。 2. **异常启动报文**: 在本次测试中,主站只获取了从站的PDO通信参数,但没有获取映射参数,这导致主站无法知道每个PDO的数据长度和对应的数据输入区域,从而导致报文中的数据为空。 #### 五、解决办法 针对上述异常情况,需要手动配置从站节点的PDO映射参数。 1. **删除现有配置**: 首先选中从站节点PNCANLink,在SDOs下删除所有已有的配置。 2. **创建PDO参数**: 使用CreatePDOPar功能创建PDO参数,此时应注意,参数列表中仅有通信参数而没有映射参数。 3. **手动添加映射参数**: - 添加1A00的Subindex0, 设置Length及Value(此处Value必须为0)。 - 根据EDS文件依次添加1A00的Subindex1至Subindex4的Length及Value。 - 最后再次添加1A00的Subindex0的Length及Value。 - 重复以上步骤,为其他TxPDO添加相应的映射参数(例如1A01至1A08)。 4. **RxPDO配置**: 根据EDS文件中的1600相关索引区域配置RxPDO的映射参数(本次测试中,添加至1604)。 #### 六、验证结果 完成上述配置后,激活配置并启动运行,通过变量检测确认数据收发正常。从截取的启动报文中可以看到包含了PDO映射参数的SDO通信报文,证明配置成功。此外,捕获的PDO通信报文也表明通信问题已经得到解决。 通过上述步骤可以有效地解决Beckhoff的M510模块与SIEMENS的PNCAN—Link模块之间因PDO映射参数缺失而导致的通信异常问题。这一解决方案不仅适用于本文所提及的具体案例,对于类似的问题也有很好的参考价值。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。