设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
【CANopen系列】CANopen从站为什么总不上传PDO报文? ...
返回列表
发新帖
【CANopen系列】CANopen从站为什么总不上传PDO报文?
[复制链接]
48920
|
0
|
2024-10-31 09:55:45
|
显示全部楼层
|
阅读模式
在CANopen网络中无法获取从站的TPDO数据?本文将为您解析可能的原因及解决方案。通过检查TPDO的通信参数和传输类型,确保主站与从站的数据同步,快速定位问题所在。
如果你的CANopen网络中已经确保接线和波特率都没有问题,但无论主站如何发送网络管理命令,都无法使从站切换操作模式,并且反复给从站上下电也无法获取到从站的TPDO数据,这该怎么办呢?别急!很有可能是因为从站发送的TPDO ID与主站设置的ID不符,或者是从站根本就没有满足TPDO上传的条件,因此没有发送TPDO数据。
如何判断ID是否正确?
根据CANopen协议,TPDO1的通讯参数固定在索引0x1800中。我们可以通过SDO(服务数据对象)来访问这个索引,获取TPDO1的COB-ID(通讯对象标识符)和传输类型。
获取TPDO1的COB-ID
要获取TPDO1的COB-ID,我们需要发送SDO指令:
指令ID为0x600 + NodeID(节点号)。
输入段部分:命令符0x40读取01子索引的内容,例:40 00 18 01(子索引) 00 00 00 00。
通过从站的SDO回复,我们就可以知道TPDO1的COB-ID。
检查传输类型
如果发现ID已经对上了,但还是没有收到TPDO数据,说明从站可能没有满足TPDO上传的条件。通过SDO指令访问02子索引来获取TPDO1的传输类型,传输类型可以根据以下表格参考:
只有在满足触发条件时,从站才会上传TPDO数据。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
liunuj
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』