设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
【CANopen系列】CANopen进阶:TPDO触发条件与映射资源 ...
返回列表
发新帖
【CANopen系列】CANopen进阶:TPDO触发条件与映射资源
[复制链接]
69250
|
0
|
2024-10-31 10:16:03
|
显示全部楼层
|
阅读模式
本期,我们将探讨CANopen协议中TPDO的三种触发条件,并解释如何通过访问特定的SDO参数来查询TPDO映射到的资源。这将帮助您更好地理解TPDO的工作原理及其在CANopen网络中的应用。
TPDO触发条件
在上一期中,我们了解到TPDO(传输过程数据对象)的传输类型有很多种:同步周期性传输、RTR(远程传输请求)以及异步制造商特定事件等。这些类型的触发条件主要分为三种:同步(SYNC)、远程请求(RTR)和事件(Event)。
同步报文(SYNC):这是一种周期性的传输方式,要求主站定期发送ID为0x80的数据帧,且数据段长度为0字节。
远程传输请求(RTR):在这种模式下,主站只需发送一个远程帧,指定TPDO的ID,从站就会响应并上传相应的TPDO。
事件(Event):当从站的TPDO映射区间内的数值发生变化时,从站会主动触发事件并进行数据传输。
理解了这些触发条件后,我们可能会好奇:如何确定当前TPDO映射的具体资源呢?
TPDO映射资源
在CANopen协议中,TPDO的映射参数存储在0x1A00~0x1BFF的索引区间内,我们可以通过SDO访问TPDO1的映射参数0x1A00,如下图:
0x00子索引存放TPDO1的映射数量,从0x01子索引开始会告诉我们,它映射到0x2000以后的索引区中哪一条子索引,并且会注明存放对象的长度。举个例子:
假设0x1A00的01子索引的值为0x2000 0108,这意味着:
TPDO1映射到0x2000索引的子索引01。这个子索引的资源长度为一个字节(8位)。
由于CAN帧的数据段最大为8个字节,因此每条TPDO映射的索引对象总长度不能超过8个字节。当这些映射的资源区发生任何数据变化时,就会触发一个事件。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
liaoyi422
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』