设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
CANOpen通信协议1
返回列表
发新帖
[三菱]
CANOpen通信协议1
[复制链接]
14694
|
0
|
2024-6-21 18:27:18
|
显示全部楼层
|
阅读模式
在《CANOpen对象字的理解》中,分享了如何去理解对象字这个概念,那么CANOpen通信协议是如何实现不同的设备之间通信呢?
主站读取2号站的温度传感器问题(对象字主索引为0x1000,子索引为0x00),需要如何通知2号站?如何发数据报文?
发送报文:
CAN ID:0x602
CAN Data: 0x40 0x00 0x10 0x00 0x00 0x00 0x00 0x00
如果温度是个32位数据,值为0x12345678,
回复报文:
CAN ID:0x582
CAN Data: 0x43 0x00 0x10 0x00 0x78 0x56 0x34 0x12
上面的发送和回复报文,就是一个SDO通信,下面分析发送和回复报文。
发送报文解析:
0x602: CAN ID,就是发送的CAN报文的ID,0x600 + NodeID,NodeID表示设备的节点ID,2号站的NodeID就是2
0x40:表示读数据
0x00 0x10:对象字的主索引
0x00:对象字的子索引
0x00 0x00 0x00 0x00:因为是读,所以默认都是写0
回复报文解析:
0x582: CAN ID,就是回复的CAN报文的ID,0x580 + NodeID,NodeID表示设备的节点ID,2号站的NodeID就是2
0x43:表示数据的有效字节数为4个字节
0x00 0x10:对象字的主索引
0x00:对象字的子索引
0x78 0x56 0x34 0x12:温度的值
本例子只是对CANOpen报文协议的一个基础认知,后续会具体分享报文协议。
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
cj9030
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』