连续发送方式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码

解决方案 »

  1.   

    连续发送方式1(F1.3=0)
    接收数据为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
    的答复。