资源描述:
《DDK-210 485协议(赵).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MODBUS通信规约串口调试工具设置:电导率仪与上位机之间采用MODBUS协议进行通信,波特率固定为9600bps。读取数据或查询数据之间的时间间隔不小于500毫秒。具体协议如下:1读取测量信息和状态命令格式:了;地址功能码起始地址数据个数CRC校验数据ADDR0x030x00000x0010CRC16字节数11222返回格式:定义地址功能码数据个数数据CRC校验数据ADDR0x030x10DataCRC16字节数111162注释:(1)数据个数:为返回数据的实际字节长度固定为12个字节;(2)DATA数据:按照先后顺序为:4电导率模式举
2、例说明:计算机发送:080300000010449F电导率表返回:0803100130323030302E30302032352E310000C1BB返回命令注释:08为485地址(16进制);03为功能码,读取电导率值(16进制);10为电导率值和温度值及报警的数据长度,固定值为16(16进制);01显示模式(16进制)01:电导;00:TDS;30323030302E3030为电导率值(ASCII码)02000.00us;20为空格(ASCII码);32352E31为温度(ASCII码):25.1度,精度为0.1度;00为电导报警(r
3、ely1)状态(16进制);00:无报警;01:有报警;00为温度报警(rely2)状态(16进制);00:无报警;01:有报警;C1BB为CRC校验值(16进制);TDS模式举例说明:计算机发送:080300000010449FTDS表返回:0803100030313030302E30302032352E3100000328返回命令注释:08为485地址(16进制);03为功能码,读取电导率值(16进制);10为电导率值和温度值及报警的数据长度:固定值为16(16进制);00显示模式(16进制)01:电导;00:TDS;30313030
4、302E3030为电导率值(ASCII码)01000.00ppm;20为空格(ASCII码);32352E31为温度(ASCII码):25.1度,精度为0.1度;00为电导报警(rely1)状态(16进制);00:无报警;01:有报警;00为温度报警(rely2)状态(16进制);00:无报警;01:有报警;0328为CRC校验值(16进制);42错误响应如果监测器不能正确执行上位机命令,返回如下格式:定义地址功能码CODECRC校验数据ADDRCOM+80H1CRC16字节数1112▲CODE:01–功能码错03–数据错▲COM:接收到
5、的功能码5CRC检测CRC添加到命令中时,低字节先加入,然后高字节。 CRC简单函数如下: unsignedshortCRC16(puchMsg,usDataLen)unsignedchar*puchMsg;/*要进行CRC校验的消息*/unsignedshortusDataLen;/*消息中字节数*/{unsignedcharuchCRCHi=0xFF;/*高CRC字节初始化*/unsignedcharuchCRCLo=0xFF;/*低CRC字节初始化*/unsigneduIndex;/*CRC循环中的索引*/while(usDataL
6、en--)/*传输消息缓冲区*/{uIndex=uchCRCHi^*puchMsgg++;/*计算CRC*/uchCRCHi=uchCRCLo^auchCRCHi[uIndex];uchCRCLo=auchCRCLo[uIndex];}return(uchCRCHi<<8
7、uchCRCLo);} /*CRC高位字节值表*/staticunsignedcharauchCRCHi[]={0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,40x80,0x41,0x00,0xC1,0x81,0x4
8、0,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,
9、0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0