485通信光栅数显表:协议如下
波特率默认9600,可调, 本系统通讯为只读模式,并遵循485 ModBus通讯协议,读取一次轴数据,需要8个字节。
发送:
1:485通讯地址 2:0x03 读寄存器 3~4:寄存器地址 5~6:本次要读取数据长度(L) 7~8:CRC校验
返回:
1:485通讯地址 2:0x03 读寄存器 3:本次返回数据长度(N) 3+N:数据 4+N~5+N:CRC校验
寄存器地址 0x10 对应X轴 0x11 对应Y轴 0x12 对应Z轴 0x13 对应A轴 一个轴对应四个字节数据 读取长度按字计算 长度(L)则读一个轴L*2个字节数据 并且本系统可以从首寄存器地址开始连续读四个寄存器数据
如上位机发送:01 03 00 12 00 02 C5 CE 八个字节 读取寄存器为0x12 长度为02 则表示 只读取Z轴数据
返回:01 03 04 00 00 00 00 FA 33 返回8个字节 第三位是返回数据长度 四个字节 4~8则为本次数据
连续读取四个轴数据
上位机发送:01 03 00 10 00 08 C5 CE 从寄存器地址0x10 X轴开始读 读取8个字 则为读取4个轴4*4=16个字节数据。
下位机返回:01 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FA 33 同时返回16个字节数据 对应四个轴
数据解析说明:四个字节数据代表一个32位整形变量,并且以16进制的方式表示。只需要将接收到的数据四个字节,按进制转换,转换为十进制并且除以1000,可达到实际轴浮点数据。
如当前轴显示:67.896mm 则数据传输过程中扩大一千倍 以67896进行传输 转换为16进制则表示 0x00 0x01 0x09 0x38 读取该轴后 返回 01 03 04 0001 09 38 FA 33 将00 01 09 38转换为有符号十进制数67896 然后除以1000,得到67.896
联系我时,请说是在找找去看到的,谢谢!