大家来一起讨论一下,在工业控制系统中,常通过扩展串口连接多个外设,该怎么做呢?

XDvlper 2003-08-26 09:39:32
我在一些书上看到,这样的程序一般都是用VC++作串口通信类,然后用多线程监控。
那Delphi该怎么办呢?比方说有1000多台同样的外设要控制,怎样才能在一个屏幕内实时的看到每台设备的状态呢?希望有经验的高手进来讨论讨论。
...全文
108 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
XDvlper 2003-08-28
  • 打赏
  • 举报
回复
请问evilch(evilch)
重叠(Overlapped)IO模式是什么?
我没用过,请指教
evilch 2003-08-27
  • 打赏
  • 举报
回复
多路串口设备,如果控制串口较多的话应该考虑用重叠(Overlapped)IO模式。
XDvlper 2003-08-27
  • 打赏
  • 举报
回复
jpyc(九品御厨)
控件动态生成,线程也动态生成,速度会不会很慢
沾上了甩不掉 2003-08-26
  • 打赏
  • 举报
回复
还是用vc写吧,用delphi也是调用api写串口,要实时的肯定要多线程.
而且不能用控件.你不可能放1000个spcomm或者mscomm在上面.我现在用的
时moxa c320turbo(pci),就是vc的线程.至于一个屏幕内实时显示就看自己的
想象力了,应该不是问题
jpyc 2003-08-26
  • 打赏
  • 举报
回复
hellowbh(OneBowie) 我调试过,可能是由于你的文件是从网页或什么其他文件中获得的,所以有不可见字符,普通的字符和数据是没问题的。试过其他几个串口工具,都存在类似的问题。恐怕是短期内的难题了,最近看看能否解决。
a8604 2003-08-26
  • 打赏
  • 举报
回复
我做过多串口的项目,简单介绍一下,希望对你能有所借鉴
工控主板提供4串口,需要进行TTL与232的电平转换,或者购买一块串口扩展卡(PCI总线)
在窗体上放置4个控件VACOMM1,VACOMM2,VACOMM3,VACOMM4,通过VACOMM1.RXONCHAR来接收数据,可以显示在MEMO1中,因为数据包中的数据的ASCII值从0到255的都可能有,因此有时无法正常显示,你可以使用2进制,10进制,16进制的转化来观察数据.监护仪的程序就是这样做的.
我也是知道一点皮毛.
hellowbh 2003-08-26
  • 打赏
  • 举报
回复
jpyc(九品御厨)

你的串口调试程序怎么收到的文字有乱码呢?
我发的是一小篇文章,用你的发到超级终端或别的串口测试程序中则没有乱码。
我修改了你的程序,在接收同时保存到一个文件中,结果保存的文件正常,而你的程序显示的有乱码。
说明你的程序发送,接收都没有问题,只是在Memo_show中显示有问题,请问怎么改正?
jpyc 2003-08-26
  • 打赏
  • 举报
回复
控件是可以动态生成的,线程也是可以动态生成的,为什么DELPHI不行呢?我认为没问题,不用直接调用API,控件完全可以。

---------------------------------------------------------------
提供参考的例子,非此题范例:

http://218.56.11.178:8020/web/index.aspx

-》 下载基地-》例程-硬件控制-》串口通讯控制器/spcom事例程序


-》控件-硬件控制-》TurboPower Async Professional/spcom

http://218.56.11.178:8020/web/technology/chuangkou.htm

-------------------

TurboPower Async Professional是专业的控件,强烈建议使用。

如果确实需要多个串口,可以动态生成。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧