局域网多台电脑的同步通讯有关问题

局域网多台电脑的同步通讯问题局域网中有3台以上的电脑,同一IP网段,都能互相PING通,每台电脑都连接有各自

局域网多台电脑的同步通讯问题
局域网中有3台以上的电脑,同一IP网段,都能互相PING通,每台电脑都连接有各自的下位机设备。

现在的任务要求:
  其中一台电脑,在某一条件成立后,要求其他电脑将自己连接的下位机设备数据进行采集,并告知给任务发起电脑,任务发起电脑将各电脑的采集数据进行汇总并显示,任务完成。

注:要求快速,尽量不延时。我也想到用SQL表储存临时采集数据,让任务发起电脑提取,但这方法效率不高。请各位老大提供解决思路,谢谢!


[解决办法]
虽然我没有亲手写类似您所提的程序,我的想法是,可使用数据库技术了实现,软件分为服务端与客户端与客户端登陆后(Winsock 通信技术),由服务器发送开始、停止数据采集指令(串口通信技术),所采集的数据,实时保存到数据库中(MS Sql/Oracle),然后再通过一定逻辑规则对数据进行处理与显示。为什么这么说呢,因为本人开发过一个光伏电站实时监控系统。
[解决办法]
这样的架构是有许多问题的:

电脑与电脑之间有延时,电脑到下位机有延时,可能电脑到下位机的波特率都不同,电脑到下位机联网方式

可能也不同,每台电脑连接的下位机数量也不同,允许重试次数也不同,可能有些设备一次便读成功,

有些设备可能要几次才读成功。

所以这种架构下高实时性不能保证,对电脑、网络、下位机设备要求很高,特别是下位机设备!!!



另外,能够快速些的方法是:

1. 如果所有下位机都支持以太网(或者用以太网网关,比如RS485转以太网等),在任意电脑都可以即时查询所有下位机(可以同时读),这样实时性更高些。

2. 如果现状设备不允许上诉配置,那么,如果其他电脑都在高速收集数据(每秒一次算是高速吗?),任务机只是同时到各电脑提取,这样会更好些,而不是等到分配任务才去读下位机。--- 这个是类似分布式组态,通用组态软件都支持,当然自己编程也可,我也做过,毕竟老是用盗版组态软件不那么好。


注意:所有的问题中,下位机设备档次是关键!!!舍不得孩子套不到狼,一分钱一分货!!!



[解决办法]
数据量不大的话就用INI存储吧,通信就用winsock部件
[解决办法]
在这种有网络的情况下,下位机干嘛不直接设计成网络接口数据采集,这样效率才高。
如果觉得布置网线成本高,可以考虑用WIFI的呀,如果还是觉得高,上315或433无线
模块也可以呀。弄几台PC来做网络数据采集,长期开的话功耗大(浪费钱)、稳定性
差、成本也搞(如果是对外产品,操作系统也要钱的)、效率自然没有直接用单片机
的高(因为始终要经过转换),而且也没必要这么弄。