我们原先一直用托利多的秤,,现在有个耀华仪表,,我把数据从内存中读取出来了,,就是不知道怎么取重量!请做过的朋友帮忙看一下!!
  
     //
  SetLength(Str,BufferLength);
  move(buffer^,pchar(@Str[1])^,BufferLength);
  //
  for i:=3 to 8 do vxx1:=vxx1 + chrtoint(Ord(str[i]));
  Edit3.Text:=vxx1;
  Memo4.Text:=str[10];

解决方案 »

  1.   

    所传送的数据为仪表显示的当前称量(毛重或净重),每帧数据由12 组数据组成 。
    格式如下:
    第X 字节 内 容 及 注 解
    1 02(XON) 开始
    2 +或- 符号位
    3 称量数据 高位
    : 称量数据 :
    : 称量数据 :
    8 称量数据 低位
    9 小数点位数 从右到左(0~4)
    10 异或校验 高四位
    11 异或校验 低四位
    12 03(X0FF) 结束
    异或=2⊕3⊕ ……8⊕9
      

  2.   

    注1:异或校验高、低4 位的确定:异或和高、低4 位如果小于、等于9,则加上30h,成为
    ASCII 码数字发送,例如:异或校验高4 位为6,加30h 后,为36h 即ASCII 码的6
    发送;异或和高、低4 位如果大于9,则加上37h,成为ASCII 码字母发送,例如:异
    或校验高4 位为B,加37h 后,为42h 即ASCII 码的B 发送。
      

  3.   

    耀华的表除了上面的通讯协议之外,还有另外一种
    连续通讯格式,数据以ASCⅡ码方式输出,每帧9 个字节(包括小数点)。
    数据先传低位后高位,各帧之间用“=”分割。发送数据为净重(即仪表显示值),如当
    前仪表显示值为70.15,则仪表连续发送51.07000=51.07000=51.07000……就这两种格式