要帮一个朋友写个简单的电子秤数据读取软件,以前也没这串口编程这方面的经验,想用Delphi采用SPCOMM控件也许能快点,但是不知道如何实现。
具体的设备仪器是耀华电子秤XK3190A9(http://www.axdzc.com/jsshow-43583.html)按照说明书好像是要发送指令才能接收到数据的,但是我设置了ReadIntervalTimeout=30,能很快的接收到数据,但是数据格式好像不对。根据说明书应该每隔100ms 发送一组数据,每组数据包含3 帧数据。不知道大家有没有这方面的例子可以参考一下,谢谢了。

解决方案 »

  1.   

    谢谢tianltpzqm,终于有人来看看了。
    有通讯协议的。就是在这个说明文档里面 http://www.axdzc.com/jsshow-43583.html
    我第一次做这个,你能帮我看看里面的协议吗?
    比如我读取数据之前是不是要发送什么指令吗?
    我在超级终端测试过可以读取到数据返回,但是我没有在超级终端输入任何指令的。
      

  2.   

    这样 你问问厂家有没有SDK开发包 你看看demo就明白了。
    比如这个通讯协议上位机开锁通讯协议  10个字节
    上位机发送:B1+柜号低+柜号高+箱号低+箱号高+UID低+ UID 高 + 预留1 + 预留2 + A1 【请求开箱】
    下位机应答:B1+柜号低+柜号高+箱号低+箱号高+UID低+ UID 高 + 预留1 + 预留2 + B1 【开箱成功】
    下位机应答:B1+柜号低+柜号高+箱号低+箱号高+UID低+ UID 高 + 预留1 + 预留2 + B2 【箱号不存在】
    下位机应答:B1+柜号低+柜号高+箱号低+箱号高+UID低+ UID 高 + 预留1 + 预留2 + B3 【开箱失败】比如我发送       B1 ** ** ** ** ** ** ** ** A1
    单片机给我返回个 B1 ** ** ** ** ** ** ** ** B1 就说明开箱成功了
      

  3.   


    和电子设备进行数据通讯,根据电子设备的工作模式,一般有两种通讯模式:
    1、被动召唤式:
    在这种工作模式下,必须要有上位机发送“特殊格式”的指令,电子设备才会返回相应的数据。在这种情况下,上位机程序必须先SendBuffer,然后ReadBuffer才可以获取数据。
    2、主动上发式:
    在这种工作模式下,通常电子设备间隔一定的时间,会向通讯端口主动发送数据。在这种情况下,上位机程序只需要不断的ReadBuffer就可以获取数据根据楼主的描述,“但是我设置了ReadIntervalTimeout=30,能很快的接收到数据”,这个电子设备应该处于主动上发工作模式下。另外关于SPComm组件应用的示例,再网上随便找找就有很多,这里就不在多说了。
      

  4.   

    http://www.yaohua.com.cn/UploadFiles/200911101248599357500-A9.pdf