大家好,我是一个做硬件产品的,大部分是和串口有关。(事先说下,本人不懂delphi编程技术)
是这样的我们为一家自控系统集成商提供了一套串口传输的产品(软件是他们写的),客户在远端有一个485设备,需要连接到本地进行数据采集和控制,我们提供的方案是使用一个串口连网服务器(MOXA的Nport产品,http://www.moxa.com.cn/product/NPort_Device_Servers.htm 作用是将485口转换为以太网口,将串口通过映射到本地PC),我们现在用串口调试助手就可以打开这个虚拟的串口(映射过来的),一切通讯正常(对远端的485设备发送命令,能正常收到数据)。可是使用他们开发的软件却不行,根本打不开该串口。和他们写软件的工程师联系后,听说他们这个部分是基于comm32写的,听说comm32是根据硬件中断来操作串口的,只能识别本地的硬件串口(主板自带或串口扩展卡的)而我们的设备是将远段的串口映射过来的虚串口,所以不行。我们现在想改写软件,我想问下是否必须更换其他控件来做呢?或者说必须自己用API写呢?这几种控件在操作串口的方式上有哪些不同呢?怎么做才能尽量降低改写代码的成本呢?急。谢谢大家。

解决方案 »

  1.   

    底层都是用API写的,用控件快一点
      

  2.   

    目前最紧要问题时comm32访问串口是据说是基于硬件中断的,而我们的串口是从远端映射过来的,所以无法识别。Spcomm访问也是基于硬件中断的么?或者其他的。有没有对这些控件底层比较了解的,麻烦解释下。谢谢。
      

  3.   

    记得 串口调试助手 就是用 DELPHI编的
    ======
    MOXA 的要装虚拟串口的驱动就可以了 。直接跟 COM一样编程的。COMM32 没有试过。不过觉得只要 虚拟串口能够出来,因改 COMM32 也可以通讯 。
    虚拟串口本身就相当于自己本地机器多了一个串口。