赞
踩
我在上年做了一些工控软件开发的介绍(可参考我之前发过的博文),解决了两个主要问题:
1、无需修改代码,简单配置,即可支持几十上百种不同通讯协议的仪器。
2、开发了类似组态软件的功能,像画图软件一样编辑一个流程图,图像元素能够根据仪器数据和状态进行实时变化。
当然还有其他解决的问题,但比较突出的是上面两点。
(组态)
(设备配置)
(设备面板)
(数据图表)
今年接触到几位同行的朋友,他们提出了能不能提供在Web上运行的组态图的想法。确实,Web早已大行其道,之前只是因为觉得Web实时性不够而没有往这方面考虑。要真论起桌面软件和Web的实时性哪个好,结论当然是桌面软件要好一些,毕竟Web还有一个跟服务器交互的过程,这是毋庸置疑的。但这个延时真的不能接受吗?如果桌面软件是1秒,Web是1.01秒,那又有什么关系呢?
本人之前所开发的工控软件,使用的技术是C#/WPF,只能运行在Windows系统下。一不做二不休,本次所开发的SCADA系统,能够运行在Windows和Linux系统下,能够以桌面软件的形式展现,也能以网页的形式展现。
SCADA系统的功能可以分为几大块:数据采集、数据展现、报表、数据存储、反控、组态和上传数据。其中,报表和组态其实都是数据展现的一种形式,因为它们比较重要,所以单列出来。在仪器多种多样的场合下,设备配置也是系统中很重要的一个模块。
根据应用场景,SCADA系统的部署架构可能是以下几种情况:
仪器-工控机
仪器-工控机-服务器-客户端
这是最常见的一种模式。功能模块在各端中的分布可能会有些差异,例如,工控机端一般也会保存一份数据。
仪器-服务器-客户端
考虑到开发成本和维护成本,我们肯定希望系统只有一套代码。借助.NET技术,我所开发的SCADA系统做到了这一点。在不同的系统、不同的平台下,只有一套代码。大致的实现方法是:
1、类库的目标框架同时包含.NET Framework和.NET Core。
2、服务端使用.NET Core开发。
3、界面主要使用Web去做,在桌面版中使用容器。
具体的开发细节在后续的文章中讲述。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。