会员专享服务

免费注册会员在线购买立享9折

(▸查看会员在线订购教程)


  SSL GlobalSign Site Seal

List of Q&A 2.0 > Q(ts_net002). 485通信如何写入负值
Q&A
Q

485通信中,针对速度、位置等可能需要写入负数值的寄存器,应该如何写入负数值?

A

需要同时写入寄存器的上、下位,共8位16进制数。
① 将需要写入的负数取绝对值后换算为32位二进制数值。
② 将①中得到的32位二进制数值取反后加一,得出一个新的32位二进制数值。
③ 将②中得到的32位二进制数值换算位8位16进制数,该数值就是需要写入的数值。


例:驱动器AZD-KD(站号设定为1),需要写入No.0的位置为-1000step。
通过AZ功能篇说明书中可以确认到N0.0位置的寄存器地址为上位1802、下位1803。


将-1000转换为十六进制。
●-1000取绝对值为1000,换算为32位二进制数值0000 0000 0000 0000 0000 0011 1110 1000。
●取反:1111 1111 1111 1111 1111 1100 0001 0111。
●加一:1111 1111 1111 1111 1111 1100 0001 1000。
●换算为8位16进制数:FFFF FC18。

使用10H功能码同时写入上位和下位,即写入指令:01 10 1802 0002 04 FFFF FC18 9958。