全球旧事资料 分类
8个字节命令:01
设备地址
04
功能码
10
寄存器地址高位
20
寄存器地址高位9
00
寄存器长度高位
01
寄存器长度低位
34
CRC高位
C0
CRC低位
fLmag电磁流量计转换器通讯协议
主站接收到从站回传7个字节数据:01
设备地址
04
功能码
02
数据长度
00
05
79
CRC高位
33
CRC低位
2个字节整型(瞬时流量单位)
根据表3查得:流量单位为M3H5读总量流量单位主站发送读瞬时流量单位8个字节命令:01
设备地址
04
功能码
10
寄存器地址高位
21
寄存器地址高位
00
寄存器长度高位
01
寄存器长度低位
65
CRC高位
00
CRC低位
主站接收到从站回传7个字节数据:01
设备地址
04
功能码
02
数据长度
00
01
78
CRC高位
F0
CRC低位
2个字节整型(累积量单位)
B型及511型根据表4查得:流量单位为M3C型根据表5查得:流量单位为L6读报警状态主站发送读报警8个字节命令:01
设备地址
04
功能码
10
寄存器地址高位
24
寄存器地址高位
00
寄存器长度高位
01
寄存器长度低位
75
CRC高位
01
CRC低位
主站接收到从站回传7个字节数据:01
设备地址
04
功能码
02
数据长度
00
01
78
CRC高位
F0
CRC低位
2个字节整型(报警)
状态为1表示空管是报警状态。其他报警依次类推。
10
fLmag电磁流量计转换器通讯协议
七、应用举例
1C语言MODBUS示例程序
1CRC16算法:INT16UCRC16INT8UpuchMsgINT16UusDataLe
INT8UuchCRCHi0xFF高CRC字节初始化INT8UuchCRCLo0xFF低CRC字节初始化INT8UuI
dexCRC循环中的索引whileusDataLe
传输消息缓冲区uI
dexuchCRCHipuchMsg计算CRCuchCRCHiuchCRCLoauchCRCHiuI
dexuchCRCLoauchCRCLouI
dexretur
uchCRCHi8uchCRCLo(2)发送命令程序本例程以Mag64为核心CPU
voidRead_I
PutINT8UAddrINT16UStartINT16ULe
INT16UCRCSe
dBuffer_4850AddrSe
dBuffer_48510x04Se
dBuffer_4852Start256Se
dBuffer_4853Start256Se
dBuffer_4854Le
256Se
dBuffer_4855Le
256CRCCRC16Se
dBuffer_4856Se
dBuffer_4856CRC256Se
dBuffer_4857CRC256R485_OUTSe
dLe
_4858Se
dNum_4850CloseINT0UCSR0BBITUDRIE0
11
设备地址modbus功能码Start为寄存器地址Le
为读取寄存器长度
CRC校验高位CRC校验低位使能RS485发送
关闭串口接受中断打开串口发送中断
fLmag电磁流量计转换器通讯协议
(3)返回数据解析(只以瞬时流量为例)数据接收使用串口中断,ReceivedBuffer_485为接收数据组,ReceivedNum_485为接收到数据
长度,ReceivedFlag_485接收到数据标志。函数floatDatasumINT8UBYTE1INT8UBYTE2INT8UBYTE3INT8UBYTE4把浮点数的4个字节转r
好听全球资料 返回顶部