多个下位机,一个上位机要实时通信,怎么能实现啊?

nakylin 2018-09-05 01:40:52
现在在做一个上位机项目,是关于数据采集和报警的,下位机用的Modbus TCP协议传到环网上。然后我的上位机要通过环网连接好多个下位机,下位机下面又连了好多个数据采集器。我要实现的是上位机接收到这些数据然后在WinForm上实时的给用户展示出来,并且每隔一段时间就往数据库存记录。
以前都是简单做做WinForm和数据库的增删改查,第一次接触网络通信上位机这部分,求各位大神解答,谢谢
...全文
4027 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzdcf 2019-10-30
  • 打赏
  • 举报
回复 1
引用 7 楼 csulizhang 的回复:
下位机不是用的modbusTCP嘛,上位机也用TCP/IP(传输层和网络层),自己实现modbus协议(应用层),注意:下位机做主站(全都是固定的502端口),上位机做从站(有多少个下位机,就开多少个线程,每个线程做从站),然后就是modbusTCP的协议获取数据,再然后就是如何显示的问题了,我之前做过这种SCADA,一台上位机挂10几个下位机没问题,再多没试过了,可以实现数据的采集和显示,也可以从上位机发指令控制下位机动作
请问,下位机做服务器上位机做客户端的话,一台电脑可以有多个上位机?
jhdxhj 2018-09-14
  • 打赏
  • 举报
回复
串口通信或者socket通信,一般都有硬件设备,有DEMO或者通信协议
Carolwhy 2018-09-14
  • 打赏
  • 举报
回复
PC机做服务端,socket 通讯,多线程,监控端口,接收数据,解释数据,存储数据,展示数据
余缺 2018-09-13
  • 打赏
  • 举报
回复
你把设备作为服务端,客户端是你的winform程序,需要的时候去读取数据
静_心 2018-09-13
  • 打赏
  • 举报
回复
线程和网络通讯
那像机房里控制机器上网,使用代理控制的话,应该属于什么哪方面的知识开发?
tanta 2018-09-08
  • 打赏
  • 举报
回复
1、开多个线程,分别连接下位机;2、轮询。剩下的显示、向数据库写数据都是常规性的东西
csulizhang 2018-09-07
  • 打赏
  • 举报
回复
对了,数据交换方式用的是轮询,上位机做从站是为了方便你自己控制连接对象,想连那个就主动去连
csulizhang 2018-09-07
  • 打赏
  • 举报
回复
下位机不是用的modbusTCP嘛,上位机也用TCP/IP(传输层和网络层),自己实现modbus协议(应用层),注意:下位机做主站(全都是固定的502端口),上位机做从站(有多少个下位机,就开多少个线程,每个线程做从站),然后就是modbusTCP的协议获取数据,再然后就是如何显示的问题了,我之前做过这种SCADA,一台上位机挂10几个下位机没问题,再多没试过了,可以实现数据的采集和显示,也可以从上位机发指令控制下位机动作
stevenjin 2018-09-07
  • 打赏
  • 举报
回复
是用串口通信吗
走好每一步 2018-09-07
  • 打赏
  • 举报
回复
楼主需要恶补多线程和网络通讯的知识,可以考虑第三方库。
不过说实话这对楼主来说是机遇和挑战。
  • 打赏
  • 举报
回复 1
下位机都有站号的,先再下位机上设置号站号,然后上位机读取的时候根据站号来读取
wanghui0380 2018-09-05
  • 打赏
  • 举报
回复
请到nuget下载NModbus库
该库的简单资料
http://www.docin.com/p-870531991.html

当然请注意跟你的下位机开发着沟通清楚,看谁是server端,谁是client端

ps:其实现在的目前流行的趋势是下位机代理程序直接把数据丢到消息中间件(MQ)或流式处理系统中(比如 Kafka stream,spark stream),你不管管采集的事情,你只管订阅这些中间体系的数据,这个主要是因为硬件太多,协议太多,集成不易。所以采用总线类的流式处理比较容易扩展和维护
fantasykakaxi 2018-09-05
  • 打赏
  • 举报
回复
先找找相关传输协议的文章看看
xuzuning 2018-09-05
  • 打赏
  • 举报
回复
既然是 第一次接触网络通信,那就该好好学习前人的经验,又何必自寻烦恼的弄些莫须有的问题吓自己
王志威丶 2018-09-05
  • 打赏
  • 举报
回复
TCP长连接

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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