通讯包结构组成
名称类型长度描述
包头字符 2 固定为##
数据段长度十进制整数 4 数据段的 ASCII 字符数,例如:长
255,则写为“0255”
数据段字符 0≤n≤1024 变长的数据
CRC 校验十六进制整数 4 数据段的校验结果,如 CRC 错,即
执行超时
包尾字符 2 固定为<CR><LF>(回车、换行)
包头
固定为##
数据段长度
数据段的 ASCII 字符数,例如:长 255,则写为“0255”
数据段
ST=31; 大气环境污染源
CN=2011;上传污染物实时数据
PW=123456; PW=访问密码
MN=42362620000344; MN=监测点编号,
CP=&&DataTime=20040516020111; 系统时间,YYYYMMDDHHMMSS
S01-Rtd=; S01-Flag=N; O2 含量为 %, 正常数据
S02 烟气流速单位 m3 /h
S03 烟气温度单位℃
S05 烟气湿度单位%
S07 烟道截面积单位 M2
S08 烟气压力单位 MPa
01 烟尘单位 mg/m3
02 二氧化硫单位 mg/m3
03 氮氧化物单位 mg/m3
04 一氧化碳单位 mg/m3
08 氯化氢单位 mg/m3
30 二氧化碳单位 mg/m3
南京卓成自动化设备有限公司顾爱峰 ********** G_AF@
例如:
数据段为:
ST==2011;PW=123456;MN=42362620000344;CP=&&DataTime=201**********;S01-Rtd
=10; S01-Flag=N; 02-Rtd=,02-Flag=N; 03-Rtd=,03-Flag=N&&
组包后为:
##0140ST==2011;PW=123456;MN=42362620000344;CP=&&DataTime=201**********;S
01-Rtd=10;S01-Flag=N;02-Rtd=,02-Flag=N;03-Rtd=,03-Flag=N&&1380
CRC 校验:循环冗余校验(CRC)算法
CRC 校验(Cyclic Redundancy Check)是一种数据传输错误检查方法,CRC 码两个字
节,包含一 16 位的二进制值。它由传输设备计算后加入到数据包中。接收设备重新计算收
到消息的 CRC,并与接收到的 CRC 域中的值比较,如果两值不同,则有误。
具体算法如下:
CRC 是先调入一值是全“1”的 16 位寄存器,然后调用一过程将
卓成232通信协议 来自淘豆网m.daumloan.com转载请标明出处.