CANopen编码器使用USB转CAN模块调试教程-上海了淼
相关资料教程链接:
●淘宝购买链接:
多圈绝对值编码器 PROFINET EtherCAT CANopen RS485 4~20mA SSI-淘宝网
拉线编码器 PROFINET EtherCAT CAN RS485 4~20mA SSI 本安防爆-淘宝网
58多圈编码器支架 多圈绝对值编码器262144圈 上海了淼-淘宝网
●产品手册下载链接:
●3D外形图下载链接:
●EDS文件下载链接:CANopen编码器EDS文件
●PLC项目工程例程下载链接:
●图文教程链接:
现场总线编码器图文教程:
●视频教程链接:
拉线编码器-RS485接口多圈编码器与西门子S7-1200PLC CB1241博途应用教程
多圈绝对值编码器RS485接口-USB转485模块修改参数教程视频
1. 上海了淼CANopen编码器调试教程
上海了淼CANopen协议编码器通过CANopen接口输出位置数据、转速数据,可以设置零点,旋转方向,分辨率参数
1. 通讯协议符合CANopen CiA301标准,CiA406 C1标准,CiA305(LSS) 标准。
2. 波特率 10K~1000Kbps
编码器出厂波特率为250K,节点号设置为32(0x20),TPDO1循环时间为100ms。
一般情况下编码器的CAN波特率和节点ID可以通过LSS进行配置,也可以使用SDO指令直接修改对象3000h和3001h。
对于具备RS485通讯接口的双输出型CANopen编码器可以使用485接口修改CAN节点地址和波特率。
RS485通讯接口信号:RS485,
通讯协议:Modbus-RTU,
通讯波特率19200,
通讯地址:32(0x20),无校验,数据位8,停止位1。
CANopen协议的编码器符合DS301标准,设备子协议(CIA 406),C1类。物理层CAN标准为ISO11898-2,过程数据通过事件触发的TPDO1发送,或者通过预定义的TPDO2同步发送。TPDO1的时间计时器直接与循环计数器(对象6200h)相关联,也就是说只要其中一个计数值变化,另一个也随之变化。
CANopen参数修改时,需要在预操作状态下进行,通过SDO服务器读取对象字典中的所有参数,并借此配置设置参数。对象2002h、对象2003h、对象2004h、对象2005h、对象6000h、对象6003h和对象6200h参数配置会后自动保存。
(1) boop-UP启动指令
CANopen编码器出厂默认波特率为250K,默认节点为0x20(十进制32),编码器上电时会发出boot-up指令,表明编码器已上线。
设备上电后主动发送BOOT-UP:
发送 | 帧ID | 帧格式 | 帧类型 | DLC | Data |
0x720 | 数据帧 | 标准帧 | 0x01 | 0x00 |
说明:CANopen设备启动并完成内部初始化后,就会自动进入预操作状态。然后通过启动消息报文(Boot up),将这一状态改变事件通知NMT主机。启动消息有内容为0的一个字节构成。CAN标识符由功能代码0x700+节点ID组成。
(2) 接收过程数据TPDO1
CANopen主站发送NMT start指令后 编码器周期上报PDO数据,前4个字节为32位无符号位置值,单位脉冲步;后4个字节为32位有符号转速值,转速扩大10000倍,单位rpm
接收过程数据对象TPDO1:
接收 | 帧ID | 帧格式 | 帧类型 | DLC | Data |
0x1A0 | 数据帧 | 标准帧 | 0x08 | 0xD7 0xC7 0x00 0x00 0x34 0x07 0x52 0x01 |
说明:帧ID = 0x180+Node_ID,数据:0x0000C7D7,0x01520734。
Position Value位置数据是0x0000C7D7,
若编码器为多圈CANopen出厂单圈分辨率为13位,换算到十进制为51159,分解出多圈值为51159/8192=6圈;单圈值为51159%8192=2007,换算单圈角度为2001/8192*360=88.198°。
若编码器为单圈CANopen出厂单圈分辨率为16位,换算到十进制为51159,转换角度为51159/65536*360=281.024°。
SpeedValue编码器转速数据是0x01520734,换算到有符号十进制为+22153012,转速=+22153012/10000=+2215.3012转/分钟,注:转速为32进制有符号,数值扩大10000倍。
注意:TPDO1默认传输类型是254,为异步传输,出厂默认情况下编码器周期性主动发送过程数据对象TPDO1,发送周期由对象6200h内数据决定;默认是100ms间隔。
(3) 发送同步对象,接收过程数据TPDO2
同步对象发送:
发送 | 帧ID | 帧格式 | 帧类型 | DLC | Data |
0x080 | 数据帧 | 标准帧 | 0x00 |
说明:同步对象的CAN标识符为0x80
接收过程数据对象TPDO2:
接收 | 帧ID | 帧格式 | 帧类型 | DLC | Data |
0x2A0 | 数据帧 | 标准帧 | 0x08 | 0xD7 0xC7 0x00 0x00 0x34 0x07 0x52 0x01 |
说明:帧ID = 0x280+Node_ID,数据:0x0000C7D7,0x01520734。
Position Value位置数据是0x0000C7D7,
若编码器为多圈CANopen出厂单圈分辨率为13位,换算到十进制为51159,分解出多圈值为51159/8192=6圈;单圈值为51159%8192=2007,换算单圈角度为2001/8192*360=88.198°。
若编码器为单圈CANopen出厂单圈分辨率为16位,换算到十进制为51159,转换角度为51159/65536*360=281.024°。
SpeedValue编码器转速数据是0x01520734,换算到有符号十进制为+22153012,转速=+22153012/10000=+2215.3012转/分钟,注:转速为32进制有符号,数值扩大10000倍。
注意:TPDO2默认传输类型是1,为同步循环传输,编码器每收到1个同步消息TPDO2数据发送一次。
(4) 使用SDO写指令修改节点ID号
电脑与编码器点对点设置节点ID,
编码器出厂Node_ID:0x20,波特率250K,配置新Node_ID为0x05,电脑端使用USB转CAN模块收发数据帧。
(5) 使用SDO写指令修改波特率代码
电脑与编码器点对点设置波特率代码,
编码器出厂Node_ID:0x20,波特率250K,配置新波特率为125K,电脑端使用USB转CAN模块收发数据帧。
2. LSS协议设置编码器节点号和波特率教程
LSS配置编码器时需要vendor ID, revision number, product code and serial number参数,
vendor ID = 0x0000063C(固定值),
revision number = 0x00000001(固定值),
product code = 0x00000001(固定值),
serial number显示在编码器壳体铭牌上如241000888,每台编码器SN数值不相同。
在对某个编码器进行LSS配置前,也可以先通过LSS地址查询协议来获取编码器的Identity Object1018h
No | DIR | ID(HEX) | 帧类型 | 帧格式 | 长度 | 数据 | 备注 |
1 | RX | 720 | DATA | STANDARD | 1 | 00 | 节点0x20上电信号boot-up |
2 | TX | 000 | DATA | STANDARD | 2 | 80 20 | NMT指令,节点0x20(32)进入Preop状态 |
3 | TX | 7E5 | DATA | STANDARD | 8 | 04 01 00 00 00 00 00 00 | LSS指令,节点进入lss配置模式 |
4 | TX | 7E5 | DATA | STANDARD | 8 | 5A 00 00 00 00 00 00 00 | LSS,查询Vendor-ID标识协议 |
5 | RX | 7E4 | DATA | STANDARD | 8 | 5A 3C 06 00 00 00 00 00 | 从机反馈:Vendor-ID=0x0000063C(1596) |
6 | TX | 7E5 | DATA | STANDARD | 8 | 5B 00 00 00 00 00 00 00 | LSS,查询Product code |
7 | RX | 7E4 | DATA | STANDARD | 8 | 5B 01 00 00 00 00 00 00 | 从机反馈:Product code=0x00000001 |
6 | TX | 7E5 | DATA | STANDARD | 8 | 5C 00 00 00 00 00 00 00 | LSS,查询Software version |
7 | RX | 7E4 | DATA | STANDARD | 8 | 5B 01 00 00 00 00 00 00 | 从机反馈:Product code=0x00000001 |
8 | TX | 7E5 | DATA | STANDARD | 8 | 5D 00 00 00 00 00 00 00 | LSS,查询Serial number |
9 | RX | 7E4 | DATA | STANDARD | 8 | 5D B8 61 5D 0E 00 00 00 | 从机反馈:Product code=0x0E5D61B8(241000888) |
(1) LSS协议点对点设置CANopen编码器参数:
1、CANopen编码器LSS协议 电脑与编码器点对点设置节点ID,
编码器出厂Node_ID:0x20,波特率250K,配置新Node_ID为0x05,电脑端使用USB转CAN模块收发数据帧。
No | DIR | ID(HEX) | 帧类型 | 帧格式 | 长度 | 数据 | 备注 |
1 | RX | 720 | DATA | STANDARD | 1 | 00 | 节点0x20上电信号boot-up |
2 | TX | 000 | DATA | STANDARD | 2 | 80 20 | NMT指令,节点0x20进入Preop状态 |
3 | TX | 7E5 | DATA | STANDARD | 8 | 04 01 00 00 00 00 00 00 | LSS指令,节点进入lss配置模式 |
4 | TX | 7E5 | DATA | STANDARD | 8 | 11 05 00 00 00 00 00 00 | LSS,配置新的节点号为0x05 |
5 | RX | 7E4 | DATA | STANDARD | 8 | 11 00 00 00 00 00 00 00 | 从机反馈:配置成功 |
6 | TX | 7E5 | DATA | STANDARD | 8 | 17 00 00 00 00 00 00 00 | 保存LSS配置 |
7 | RX | 7E4 | DATA | STANDARD | 8 | 17 00 00 00 00 00 00 00 | 从机反馈:配置成功 |
8 | TX | 000 | DATA | STANDARD | 2 | 81 20 | NMT指令,节点32重启新参数生效 |
9 | RX | 705 | DATA | STANDARD | 1 | 00 | 节点0x05 上电信号boot-up |
2、CANopen编码器LSS协议 电脑与编码器点对点设置节点波特率,
编码器出厂Node_ID:0x20,波特率250K,配置新波特率为125K,电脑端使用USB转CAN模块收发数据帧。
No | DIR | ID(HEX) | 帧类型 | 帧格式 | 长度 | 数据 | 备注 |
1 | RX | 720 | DATA | STANDARD | 1 | 00 | 节点0x20上电信号boot-up |
2 | TX | 000 | DATA | STANDARD | 2 | 80 20 | NMT指令,节点32进入Preop状态 |
3 | TX | 7E5 | DATA | STANDARD | 8 | 04 01 00 00 00 00 00 00 | LSS指令,节点进入lss配置模式 |
4 | TX | 7E5 | DATA | STANDARD | 8 | 13 00 04 00 00 00 00 00 | LSS,配置新的波特率0x04(125K) |
5 | RX | 7E4 | DATA | STANDARD | 8 | 13 00 00 00 00 00 00 00 | 从机反馈:配置成功 |
6 | TX | 7E5 | DATA | STANDARD | 8 | 17 00 00 00 00 00 00 00 | 保存LSS配置 |
7 | RX | 7E4 | DATA | STANDARD | 8 | 17 00 00 00 00 00 00 00 | 从机反馈:配置成功 |
8 | TX | 000 | DATA | STANDARD | 2 | 81 20 | NMT指令,节点32重启新参数生效 |
9 | RX | 720 | DATA | STANDARD | 1 | 00 | 电脑端更换新波特率125K后 节点0x20上电信号boot-up |
(2) LSS协议多节点配置CANopen编码器参数
1、通信对象Object 1018h: Identity Object(设备ID)
读取设备ID。
1018H | VAR | Identity Object | ro | M |
数据内容:
Sub-Index 0h : ro发送固定值4
Sub-Index 1h : ro 发送Vendor-ID为0x0000063C(1596)
Sub-Index 2h : ro发送Product code为0x00000001(1)
Sub-Index 3h : ro 发送software version为0x00000001(1)
Sub-Index 4h : ro 发送serial number为241000888(编码器铭牌上SN编号各不相同)
2、在多个从站配置时,首先依据1018h中的4个参数来选定要配置的编码器。
使用LSS中Switch Mode Selective协议,只有当1018h中4个与编码器一致时才会做出应答。
No | DIR | ID(HEX) | 帧类型 | 帧格式 | 长度 | 数据 | 备注 |
1 | TX | 000 | DATA | STANDARD | 2 | 80 20 | NMT指令,节点32进入Preop状态 |
2 | TX | 7E5 | DATA | STANDARD | 8 | 40 3C 06 00 00 00 00 00 | LSS指令,Vendor ID:0x0000 063C |
3 | TX | 7E5 | DATA | STANDARD | 8 | 41 01 00 00 00 00 00 00 | LSS指令,Product code:0x0000 0001 |
4 | TX | 7E5 | DATA | STANDARD | 8 | 42 01 00 00 00 00 00 00 | LSS指令,Software version:0x0000 0001 |
5 | TX | 7E5 | DATA | STANDARD | 8 | 43 B8 61 5D 0E 00 00 00 | LSS指令,Serial number:0x0E5D 61B8举例编码器铭牌SN序号 SN=241000888(0x0E5D61B8) |
6 | RX | 7E4 | DATA | STANDARD | 8 | 44 00 00 00 00 00 00 00 | 从机反馈:选取成功 |
收到选定成功的回复后,就可以按照点对点配置方式修改编码器节点ID和波特率。