要将电子台秤与电脑232接口相联,且用commportDriver这个控件,控件的参数要设置哪些才能与电子称匹配?OnReceiveData事件是如何触发的?希望有这方面经验的兄弟姐妹帮忙

解决方案 »

  1.   

    电子称的协议是这样的-----
    传输格式:串行异步传输
    串口通讯协议:
    波特率:600;数据位:8位;起始位:1位;停止位:1位
    数据格式:起始空格   数据    符号    停止    回车
              2位       7位      3位     1位      1位
    无校验我的控件设置默认,并没有自动触发OnReceiveData事件(没有接受到数据)
    ,请大家帮帮忙!!!!!!!!!!!!!!!
      

  2.   

    用微软的一个mscom组件,很好用的...串口还是比较简单的..
      

  3.   

    原来我的电子称需要给它命令才能要求它发送数据,命令是1BH+70H
    这样应该怎么办,或者有没有电子称接上就能自动发送数据过来的?
      

  4.   

    OnReceiveData事件是如何触发的?
    它是控件的一个监视器,时刻检测缓冲区里面有无数据返回,一旦检测到有数据就马上出发该事件。
    电子天称是需要你通过com口发送命令才会启动的吧???你发送启动命令之后,电子称启动,然后把称出来的重量返回到com口,你只要发送完启动命令后,就可以在OnReceiveData里面写代码接受返回的值.
      

  5.   

    nojave说的非常对!!我看过说明书才知道确实需要发送命令给它才能返回数据,它要发送的命令为:1BH+70H,这是十六进制吗?怎么中间还有加号,用commportDriver又怎么发送?
      

  6.   

    aStr := Char($1B) + Char($70);
    commportDriver.Send(PChar(aStr);//这个发送命令的函数,纯属猜测
    //你这个是被动应答模式,你发送了请求以后,电子秤才会回答你.如果你发送了,没有反应
    //你需要检查:1)通讯线的接法(9-9,25-25是否交叉,9-25是否平行);2)通讯口设置是否符合下位机要求;3)你的通讯命令是否正确
      

  7.   

    是十六进制的数据,加号不用发送,我用过spcomm控件操作串口,当时是先定义一个byte数组,把指令按字节放入数组,然后发送,在接受事件中获取返回数据,你可以在网上搜一下,前一阵有好多人问过电子秤的串口操作
      

  8.   

    如果你用commportDriver控件,先了解一下他怎么使用
      

  9.   

    我用过几台电子秤,有的是自动不断地往上发数据,有的需要电脑发送数据给电子秤才能获取获取数据,有的可以电子秤自带按键,可以通过按键发送数据!我建议使用SPCOMM,用MSCOMM在DELPHI中可能会出错,因为我以前使用MSCOMM时接收ACSII码为128以上的数据时会出错!
    如果使用SPCOMM可以使用以下语句:
    aStr := Char($1B) + Char($70);
    Comm1.WriteCommData(pchar(astr),2);
    如果收到数据会触发OnReceiveData事件,在那里可以取道你的数据!buffer中!
      

  10.   

    對,用SPCOMM,我一直都用這個.
      

  11.   

    我知道电子台秤可以自动发数据的,需要请与我联系:[email protected]