网站地图
故障与维护
故障与维护
您的位置: 首页 >> 故障与维护 >> 德敏哲194系列CANopen位移传感器波特率设置范例

德敏哲194系列CANopen位移传感器波特率设置范例

发布时间:2026-09-09
德敏哲194系列CANopen位移传感器波特率设置范例

CANopen位移传感器波特率设置说白了就三步:先用SDO把新速率写进去,再用SDO把它存进EEPROM,最后断电重启。波特率是整条总线的公共语言,传感器、PLC、别的从站必须完全一致,差一档就一个字都通不上。下面拿德敏哲194系列、节点ID 0x7F、把速率从500kbps改成1000kbps当例子,把每一帧报文、每一条判据、改完之后怎么复核都摆开讲,照着做就行。

磁致伸缩位移传感器
图:位移传感器现场应用实拍(易测电气)

CANopen位移传感器波特率设置:就两条SDO,别记混

头一条改速率,索引写 0x2010、子索引 0x00,数据段填新速率的值。速率值直接用十进制换算成十六进制,1000 就是 0x03E8。CANopen 走小端,低字节先行,所以数据段里要写 E8 03,千万别写成 03 E8——顺序一颠倒,值就完全变了,轻则连不上,重则写进去一个谁也对不上的速率。

第二条是存 EEPROM,索引 0x1010、子索引 0x01,数据固定是 ASCII 的 73 61 76 65,对应的就是「save」这四个字母。少了这一步,一断电全归零,前一条等于白写。两条都收到传感器的肯定应答之后再断电上电,新速率才真正生效。

SDO 写新速率 0x2010 / 0x00 SDO 存 EEPROM 0x1010 / 0x01 断电重启 从 EEPROM 读新速率
图:改波特率就这三步,写值、存盘、重启;顺序不能反,存盘那步不能省

报文逐条拆开:一共四个来回

整段配置就是四个报文来回。节点ID 全程是 0x7F,没动过,所以控制器发的是 0x67F(0x600 加节点号),传感器回的是 0x5FF(0x580 加节点号)。数据段头一个字节 2F 表示这是「写、数据有效」的 SDO 命令,后面依次跟着索引、子索引和数据。

序号发送者cob-iddlcdata说明
1控制器0x67F (=0x600+node-id)82F 10 20 00 E8 03 00 00向节点 0x7F 写新波特率 E8 03(低字节先行)
2传感器0x5FF (=0x580+node-id)82F 10 20 00 00 00 00 00应答,新值已收下,但还没存储
3控制器0x67F (=0x600+node-id)82F 10 10 01 73 61 76 65向节点 0x7F 发 SDO,存 EEPROM
4传感器0x5FF (=0x580+node-id)860 10 10 01 00 00 00 00应答,存储完成

注意第 3 帧,索引已经换成 10 10,子索引是 01,数据段后四个字节正好是 73 61 76 65。第 4 帧回来的命令字节是 60,跟写值那条回来的 2F 不一样,看到 60 就说明存盘成功了,这个判据很直观。

速率对照表:表外的值别填

常用四档速率和对应的 SDO 数据段都列在下面,抄进去就行。表里没有的速率值不要凭感觉填——CANopen 是按表取速率的,填一个表外的数,传感器可能直接跑进一个谁也跟不上的速率,那就真得返厂处理了。

波特率十六进制SDO 数据段(低字节先行)
1000 kbps0x03E82F 10 20 00 E8 03 00 00
500 kbps0x01F42F 10 20 00 F4 01 00 00
250 kbps0x00FA2F 10 20 00 FA 00 00 00
125 kbps0x007D2F 10 20 00 7D 00 00 00
现场踩坑提醒:这篇节点ID 始终是 0x7F,所以存 EEPROM 那条的 cob-id 还是 0x67F,不是 0x67E——0x67E 是改节点ID 那一篇才用的值,两个混了,那条数据就存不进去。还有,改完一定要断电重启才生效,别以为存进去立刻就变了,很多人就是卡在这一步,以为没成功,反复重发。

现场两个真实状况:现象、原因、处理

现象一:波特率改成 1000kbps、传感器也重启了,PLC 还是报总线错误,一个报文都收不到。原因:九成是控制器那一侧的速率没跟着改。处理:把 PLC、网关、其它从站的速率全部统一到 1000kbps,全总线一致才能通讯;顺便确认两端 120Ω 终端电阻都接上了。

现象二:传感器本来通讯正常,改完速率之后彻底失联,重发也不应答。原因:要么数据段高低字节写反了,要么填了表外的速率值。处理:核对数据段是不是 E8 03 这个顺序;如果是填错值把节点改「木」了,一般要联系厂家用专门工具恢复,现场自己很难救回来,所以改之前务必把原速率记下来。

改完怎么做复核

别改完就撒手,按下面三步走一遍,心里才有底。

  • 看应答:两个 SDO 都要收到传感器的肯定应答,写值那条回 2F、存盘那条回 60,缺一个都不算成。
  • 断电重启:断掉传感器电源,等指示灯完全熄灭再上电,让它老老实实从 EEPROM 里读一遍新速率。
  • 跑一帧实测:上电后看能不能正常收发 PDO,读数随磁环移动连续变化。能稳定读到数,说明速率这一环就稳了。

还有个稳妥做法:把改之前的原速率、节点ID 和这四个报文一起记在设备台账上。下次换 PLC 或者往总线上加节点,翻出来对照,比在现场凭记忆试快得多。

常见问题

问:德敏哲194系列CANopen位移传感器改波特率,索引填哪个?
答:改速率那条,索引写 0x2010、子索引写 0x00,数据填新速率对应的值;存 EEPROM 那条,索引是 0x1010、子索引 0x01,数据是 73 61 76 65。拿 1000kbps 来说,对应 0x03E8,低字节先行,就写成 E8 03。

问:从 500kbps 改到 1000kbps,数据段到底怎么写?
答:数据段写成 2F 10 20 00 E8 03 00 00。另外 500kbps 对应 0x01F4、250kbps 对应 0x00FA、125kbps 对应 0x007D。表外的速率别乱填,填错了传感器可能通讯异常,现场很难救回来。

问:改完波特率还是不通,控制器那一侧要动吗?
答:要动。传感器存完必须断电重启,从 EEPROM 读出新速率才开始按新速率通讯;控制器这一侧的速率也得跟着改成一样的值。全总线速率不统一,怎么调都连不上。

问:改波特率时,存 EEPROM 那条 SDO 的 cob-id 用哪个?
答:节点号还是 0x7F,没动过,存 EEPROM 照旧发 0x67F 就行。0x67E 是改节点 ID 时才用的 cob-id,两个千万别混,混了那条数据就存不进去。

问:数据段高低字节写反了会怎么样?
答:传感器收到的是另一个完全不同的速率值,多半直接失联,重发也不应答。所以发之前先确认「低字节先行」这条,写成 E8 03,别写成 03 E8;改之前把原速率记下来,万一改木了也好恢复。

CANopen位移传感器波特率设置与批量配置,易测电气位移传感器工程师欢迎您的咨询。

版权所有:深圳市易测电气有限公司 备案号:粤ICP备19052563号 网安粤公网安备 44030602003587号 技术支持:星海互联