我在做一个串口通讯的DELPHI程序,大概的思路是这样的:
有N台设备,通过集线器和一个COM口相连,我分别向每台设备发出状态查询命令后,设备会返回各自的状态,我再根据不同的状态,进一步发送数据请求命令,获得设备上的数据。
当两台(或两台以上)设备同时处于需要返回数据的状态时,我希望同时获得它们的数据。
我现在想用SPCOMM做,要实现这样的功能,是否必须要用多线程?多个线程要共享一个COM口,需要注意的问题是什么?
怎样才能实现上述的想法?
谢谢!

解决方案 »

  1.   

    集线器怎么和com口相连?用串口转网口设备?这样要同时获得数据好像不行。
    或者用多串口卡吧
      

  2.   

    用485总线方式可以实现,因为RS485一条总线上可以挂接最多64个设备,每个设备有各自的地址码,用轮巡方式获得各个设备的数据,但RS485有个半双工限制,而且每次只能和一个设备交互,如果要实现“当两台(或两台以上)设备同时处于需要返回数据的状态时,我希望同时获得它们的数据”可以多串口卡扩展N个串口连接N个设备,用线程来接收,或者使用RS232<->TCP/IP网关,使用winsock来接收处理数据,网络没有连接限制而且可以并行处理,使用比较简单可靠。
      

  3.   

    不可以的,Moxa卡+多线程才可以解决
      

  4.   

    我这几天正在做232转TCP/IP的通讯东东,用的是海康的NC60X 模块,发现竟然接收过来的东西和实际串口发过来东西相比有数据缺少,,真是的害死我了,
      

  5.   

    有232转TCP/IP的设备,其原理就是将一个IP地址的转换卡映射为本地串口,,但是确有我刚才说的问题
      

  6.   

    >>有232转TCP/IP的设备,其原理就是将一个IP地址的转换卡映射为本地串口,,但是确有我>>刚才说的问题
    我的不会呀(不是海康的东西),同时双向转发5.9K数据连续运行24小时没问题呀。
      

  7.   

    Moxa的东西进价单个口的1600,海康的才900,下面的中间商当然选900的了..
    我也没有办法
      

  8.   

    232通讯距离太短了,485实用一些一般还是要转5的
    Moxa的东西是好啊,不要省这笔钱啊,到时系统不稳定
    你哭都来不及 to tetsuya(小哲)
    关于232转TCP/IP的设备您知道哪里有这方面的资料吗
      

  9.   

    www.ht.com.cn
    我正头痛的东西,
    还有一个www.moxa.com