读取人数命令
触发方式:调度终端需要当前人数时触发。
人数统计终端反馈:返回数据包。
命令:0x30
数据组成及格式:
<1>读取属性:1字节,0标识读取即时人数,此时以下起始终止时间不用处理;1标识按时间段读取。
<2>起始日期时间:6字节。依次为年(仅取后两位)、月、日、时、分、秒的16进制数据。
<3>终止日期时间:6字节。
<4>保留:3字节。
命令头(1字节)   命令字(1字节)  长度(1字节)   数据(16字节)  异或校验(1字节)
0x55              0x30           16                          异或校验
注1:读取即时人数=读取的是上次清除命令后到当前时间的人数进出数据。
注2:按时间段读取:由用户输入指定时间段统计周、月、年或其它任意时间段统计人数数据。 人数统计终端发送数据命令
触发方式:人数统计终端在收到调度终端的读取人数命令后触发。
调度终端反馈:无。
命令:0x34
数据的组成及格式:
命令头(1字节) 命令字(1字节) 长度(1字节) 数据(12字节) 异或校验(1字节)
  0x55           0x34            16           见下           异或校验
<1>通道1进入人数:2字节,低字节在前。
<2>通道1离开人数:2字节,低字节在前。
<3>通道2进入人数:2字节,低字节在前。
<4>通道2离开人数:2字节,低字节在前。
<5>通道3进入人数:2字节,低字节在前。
<6>通道3离开人数:2字节,低字节在前。
<7>通道4进入人数:2字节,低字节在前。
<8>通道4离开人数:2字节,低字节在前。
注:人数数据超过65534,直接设为65535。VB代码用串口命令读取设备人数数据。如何写?

解决方案 »

  1.   

    用MsComm控件,以2进制字节流数组方式发送指令.采用OnComm事件接收.
      

  2.   

    zdingyun
     
      这个我基本知道,我是想知道上面的协议,我具体在 mscomm.output=这里怎么写发送命令?
      我写mscomm.output=chr(0x30) 是错的。  
      

  3.   

        Dim sendSj(0)
        sendSj(0) = &H30
        MsComm1.OutPut = sendSj
      

  4.   

    sendsj怎么为空呢?sendsj(0)才有值
      

  5.   

    以下是发送字节数组的代码,修正3L代码的错误.
    Option Explicit
        Dim sendSj() As BytePrivate Sub Command1_Click()
        ReDim sendSj(0)
        sendSj(0) = &H30
        MSComm1.Output = sendSj
    End SubPrivate Sub Form_Load()
        MSComm1.PortOpen = True
    End Sub
      

  6.   

    参阅:http://topic.csdn.net/u/20101207/20/cc030a0c-f68f-47ec-8764-2cac78af039b.html