设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
CANopen SDO浅析
返回列表
发新帖
CANopen SDO浅析
[复制链接]
40410
|
0
|
2024-3-15 09:45:33
|
显示全部楼层
|
阅读模式
SDO主要用于CANopen主站对从站设备的参数进行读写操作。服务确认是SDO的最大的特点,为每个消息生产一个应答,确保数据传输的准确性。
SDO通讯是基于客户端服务器模型,通常CANopen主节点作为客户端,从节点作为SDO服务器。SDO请求和应答报文包含8 字节数据。其通讯原则非常单一,客户端发送COB-ID为600+Node-ID的报文,其中Node-ID为服务器的节点地址,数据长度为8个字节;服务器成功接收后,回应COB-ID为580+Node-ID的报文。
SDO 有两种传送机制:
快速传送(Expedited transfer):最多传输4字节数据
分段传送(Segmented transfer):传输大于4字节数据
下面重点介绍常见的快速SDO协议:
以施耐德ATV71变频器为例,节点地址为4,加速斜坡时间(ACC)地址为16#203C:16#02,发送读ACC请求,返回数值1000(16#03E8):
发送写ACC请求,写的数值为16#03E8,返回命令符为16#60,表示成功应答
注意CANopen报文,低字节在前,高字节靠后。
如果返回命令符为80H,则字节4到7就包含32位中止码,具体含义如下表:
对于普通用户而言,掌握如何通过CANopen主站访问从站设备的对象字典即可。施耐德Unity Pro和Somachine平台,硬件组态中服务数据对象的配置和程序中的SDO_Read、SDO_Write、PLCopen等功能块基本上都属于SDO通讯。
下面举例通过USB-CAN上位机软件发送SDO报文控制施耐德Lexium 32伺服实现速度模式的运行,方便大家进一步了解SDO报文结构。
16#6060:00 控制模式 8位
16#6083:00 加速时间 32位
16#6084:00 减速时间 32位
16#6040:00 控制字 16位
16#60FF:00 目标速度 32位
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
阿蚊在线
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』