做上位机开发的时候,界面总是要一遍又一遍地搭。
报警模块,趋势曲线,参数配置等每个项目都要重新编写一遍。
不仅费时间,每个项目的界面风格还不统一,老板还经常催着看效果。
只做一个简单的监控界面,又不想花上几万元去买组态王,WinCC这样的商用软件,有没有更好的方案?
最近在 GitHub 上看到了一个用 C# 写的上位机模板。
把工业项目中常用的界面都提前做好了,稍作修改就可以直接使用。
它叫 WL.Mock_SWJDemo2,里面包含有六个常用的模块,可以作为工业HMI项目开发的模板。
简单概括一下:
这是一个面向工业设备的HMI监控模板。
监控总览,参数配置,报警记录,趋势曲线,设备维护,系统设置六大模块都已经完成了界面设计。
项目使用了 MVVM 架构和模块化的设计,代码结构很清晰,可以直接进行二次开发。
下面看一下它都有哪些功能。
监控总览将设备的运行状况集中到一个页面上进行展示。
实时数据,统计数据和设备状态分别放在不同的区域,页面布局很清晰,一眼就可以看到重要的数据。
数据支持自动刷新,也可以手动刷新,刷新周期可以按照需要来设置。
用不同的颜色来表示状态,设备是否正常,有没有报警,一目了然,不用逐项查看数据。
整个页面都包含了日常监控以及异常处理的场景,作为首页很合适。
参数配置可以对各种设备参数进行集中管理。
系统参数,工艺参数,设备参数都做了分类,每一项参数都有名称,单位和默认值。
还包含参数校验,如数值范围,输入格式和逻辑关系等常见的检查。
参数可以保存到配置文件中,也可以通过串口或者网络协议下发到PLC上,整个配置过程比较完整。
报警记录模块把常见的报警管理功能都做好了。
支持高限报警,低限报警,设备故障和通讯异常等常见的报警类型。
查询可以按照时间,报警类型以及报警级别来进行组合筛选,查找历史记录会更方便一些。
报警确认有权限控制,确认记录会完整保存,可以导出多种格式。
报警数据也可以设置自动清理和保留策略,整体的设计比较全面。
趋势曲线支持对实时趋势和历史趋势进行分析。
提供实时曲线,历史曲线和多曲线对比三种模式,可以满足不同的分析需求。
采样周期,时间范围以及数据密度都可以随意调节。
曲线支持缩放,拖动和数据导出等交互操作,查看历史数据更加方便。
数据可以来自实时缓存也可以来自历史数据库,显示效果比较流畅,不需要再自己集成曲线控件。
设备维护模块也把调试界面提前做好了。
支持设备启停,运行模式切换等基本操作,在调试设备的时候不需要再单独开发控制页面。
IO 调试支持输入监测,输出测试以及信号强制,排查 PLC 问题更加方便。
通讯检测可以查看连接状态和进行通讯测试,在出现问题的时候可以很快地定位到问题所在。
还提供了运行日志,报警日志和系统日志查看的功能,并且有权限控制来保证维护操作的安全性。
系统设置模块已经集成了常用配置功能。
通讯配置支持串口,网络以及协议参数设置。
数据库支持连接配置,备份和恢复。
PLC配置包括地址映射,寄存器配置以及通信参数设置,在接入设备的时候直接修改配置就可以。
日志模块可以设置日志级别,存储路径以及保存时间。
如果配置出问题了,也可以用系统初始化来快速恢复到默认设置或者重置数据。
看到这里,想装上试试?
直接用 Git 下载代码。
git clone https://github.com/agentthink/WL.Mock_SWJDemo2项目用的是C# WPF,采用MVVM架构和模块化的设计,运行之后就可以体验到完整的界面。
ScadaTemplate 目录里已经有六个功能模块的界面和代码了,只需要按照自己设备的情况来修改数据和业务逻辑就可以了。
有了这个模板之后,大部分的基础界面已经做好了。
感兴趣的话,可以下载体验一下。
开源地址:https://github.com/agentthink/WL.Mock_SWJDemo2 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!