SCADA系统开发关键技术(二)

发布时间:2026/10/28 7:21:47
SCADA系统开发关键技术(二) 框架技术选型在技术选择之前我们先考虑需求需要同时满足跨平台、实时性、可视化等功能需求。技术前后端跨平台实时性可视化Web前端是一般丰富C偏后端前端艰难需多次编译强弱WPF前端后端只适配Windows较强丰富ASP.NET后端是一般/Java偏后端前端艰难部分支持一般/根据上面的分析ScadaSystem选择了前后端分离前端使用Web后端使用ASP.NET的技术框架。经过实践在应用过程中有以下的经验.NET确实是优秀的跨平台技术框架不仅能同时在Windows和Linux上运行在x86、x64和ARM等多种CPU架构下都能正常运行。ScadaSystem能够安装在较低运算能力、较低内存的网关设备中但若配置实在过低则无法支持。这种设备只能使用C进行开发但鱼和熊掌不可兼得只能选择放弃支持这种设备。前后端通信技术选型确定了后端使用.NET前端使用Web的主体架构后两者的通信方式就是第一个技术难点。对于一般的Web系统采用的通信方式是调用API接口。但SCADA系统不同于一般的Web系统实时性要求极高而且要求双向通信。例如要实时显示通信日志在10ms内就要传输大量数据。要做到这一点WebSocket是一个不二的选择。微软推出了SignalR技术其背后大多数情况下也是在用WebSocket。经过包装后SignalR适应于服务端作中间传输模块客户端之间相互通信的场合。但我们需要的是服务端直接向客户端推送数据所以SignalR不太适合。WebSocket不仅能够支持字符串传输也支持二进制传输。原则上来说二进制传输的效率会更高。Google的Protobuf是一个高效的二进制通信协议。Protobuf严格要求数据格式定义这在开发过程中有不少限制。而且通信内容事实上基本为字符串Protobuf压缩效果不明显。所以系统中仍然使用字符串作为传输内容。在某些场合WebSocket难以完成Web显示需求。例如显示一张图片img的src里必然是一个API GET需求。这又必定要求后端提供RESTful API的支持。基于上面的分析前后端主要使用WebSocket通信在不得已的情况下使用RESTful API。前后端实际使用技术框架在实际的项目中ScadaSystem后端使用的项目类型是ASP.NET Core API在路由时加入对WebSocket的支持同时添加Worker服务运行SCADA主线程。前端使用Vue。没有特殊理由只是因为熟悉。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询