连续发送方式1(F1.3=0):
技术参数: 波特率: B=1200/s,2400/s,4800/s,9600/s可选。
起始位: 1位。 数据位: 7位。 停止位: 2位。 奇偶校验方式: 偶校验。
数据格式:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
显 示 的 重 量 值 皮 重 值
S 状 状 状 M L M L C 检
T 态 态 态
X 字 字 字 S S S S 查
节 节 节 R
A B C D D D D 和 注:STX=02H(文本起始码); CR=0DH(回车码);
显示的重量值和皮重值均为6位有效数字。
检查和是对包括STX和CR在内的全部字符的低7位求和,将和数的低7位对2的补码作为检查和的低7位,检查和的第8位是其低7位的偶校验位。
状态字节A定义:
D2、D1、D0——— 小数点位置
D2 D1 D0 小数点位置
0 1 0 X(无小数)
0 1 1 .X(1位小数)
1 0 0 .XX(2位小数)
1 0 1 .XXX(3位小数)
1 1 0 .XXXX(4位小数)
D3 = 1; D4 = 0; D5 = 1; D6 = 0; D7为偶校验位。
状态字节B定义:
D0 = 0; D1 = 0 为正重量; D1 = 1 为负重量。
D2 = 0 正常; D2 = 1 超载。 D3 = 0 称量稳定; D3 = 1 称量未稳。
D4 = 1; D5 = 1; D6 = 0 称重; D6 = 1 加电自检。
D7为偶校验位。
状态字节C忽略。
(b)连续发送方式2(F1.3=1):
技术参数: 波特率: B=1200/s,2400/s,4800/s,9600/s可选。
起始位: 1位。 数据位: 8位。 停止位: 2位。
数据格式:0FFH(起始位),MARK,W1,W2,W3
其中:MARK为状态位,D0~D2 —— 小数点位置(0~4)
D3—— NC ; D4=0——秤量未稳,D4=1—— 称量已稳;
D5=0——重量为正,D5=1—— 重量为负;
D6—— NC; D7—— NC
W3,W2,W1为从高到低的重量值BCD码
技术参数: 波特率: B=1200/s,2400/s,4800/s,9600/s可选。
起始位: 1位。 数据位: 7位。 停止位: 2位。 奇偶校验方式: 偶校验。
数据格式:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
显 示 的 重 量 值 皮 重 值
S 状 状 状 M L M L C 检
T 态 态 态
X 字 字 字 S S S S 查
节 节 节 R
A B C D D D D 和 注:STX=02H(文本起始码); CR=0DH(回车码);
显示的重量值和皮重值均为6位有效数字。
检查和是对包括STX和CR在内的全部字符的低7位求和,将和数的低7位对2的补码作为检查和的低7位,检查和的第8位是其低7位的偶校验位。
状态字节A定义:
D2、D1、D0——— 小数点位置
D2 D1 D0 小数点位置
0 1 0 X(无小数)
0 1 1 .X(1位小数)
1 0 0 .XX(2位小数)
1 0 1 .XXX(3位小数)
1 1 0 .XXXX(4位小数)
D3 = 1; D4 = 0; D5 = 1; D6 = 0; D7为偶校验位。
状态字节B定义:
D0 = 0; D1 = 0 为正重量; D1 = 1 为负重量。
D2 = 0 正常; D2 = 1 超载。 D3 = 0 称量稳定; D3 = 1 称量未稳。
D4 = 1; D5 = 1; D6 = 0 称重; D6 = 1 加电自检。
D7为偶校验位。
状态字节C忽略。
(b)连续发送方式2(F1.3=1):
技术参数: 波特率: B=1200/s,2400/s,4800/s,9600/s可选。
起始位: 1位。 数据位: 8位。 停止位: 2位。
数据格式:0FFH(起始位),MARK,W1,W2,W3
其中:MARK为状态位,D0~D2 —— 小数点位置(0~4)
D3—— NC ; D4=0——秤量未稳,D4=1—— 称量已稳;
D5=0——重量为正,D5=1—— 重量为负;
D6—— NC; D7—— NC
W3,W2,W1为从高到低的重量值BCD码
接收数据为ASCII字符,接收字节长18,MSComm控件主要属性设置:
MSComm1.Settings = "9600,E,7,2"
MSComm1.RThreshold = 18
MSComm1.InputMode = comInputModeText
检查和复核由接收代码处理接收和判别连续发送方式2(F1.3=1):
接收数据为BYTE类型,接收字节长4,MSComm控件主要属性设置:
MSComm1.Settings = "9600,N,8,2"
MSComm1.RThreshold = 4
MSComm1.InputMode = comInputModeBinary
MARK,W1,W2,W3
在接收代码中按二进制方式接收,然后处理为16进制的字符形式
将前2字长16进制处理成二进制字符形式,按位读取0或1值取出状态值
将后6字长的16进制由W1,W2,W3处理成W3,W2,W1,然后按ASCII字符直接处理为BCD码数值。
关于BCD码请参阅:
http://iask.sina.com.cn/b/8576002.html
的答复。