『7x24小时有问必答』

又又又被项目经理催进度了。
上位机开发还得从零搭用户管理、日志、配方这些基础模块。
头都快炸了。
传统的上位机框架一开始就要安装数据库、配置连接、设计表结构,整个过程下来半天就没了。
最近刷到一个开源框架,把所有的重复劳动都打包好了。
它叫 Cheems,一个不用单独装数据库的 SCADA 框架。
该框架直接用了 SQLite 和 LiteDB 这两种嵌入式的数据库,拿来就可以运行,包含了用户管理、日志、配方等基本的功能。
做工控上位机开发的工程师,可以好好看看,真的省时间。
用户管理功能直接可用。
用户管理模块有增删改功能,权限控制也已经做好了,可以直接使用。
它用的是 LiteDB 嵌入式的数据库,不需要安装任何数据库软件,数据直接存储在本地文件中。
初始账号为admin,密码为123456,登录之后就可以看到完整的用户管理界面。
日志系统基于 SQLite,自动记录所有操作。操作日志 用 SQLite 存储。 并且查询、筛选功能都做好了,用起来比传统方式舒服多了。
可以根据时间、操作类型进行筛选,想要查看某个操作记录的话,点击一下就可以找到。
同样 SQLite也属于嵌入式的数据库,不用装直接用。
配方功能支持自定义参数扩展。
配方模块用的是 LiteDB,实现比较轻量。
而且支持参数扩展,你可以自己改结构。
框架里有一个  IRecipe  接口,下面有个  Data_1  类。
配方本质上就是这个类的字段结构。
想加参数也很直接——在类里多加属性就行。
比如原来只有两个参数,现在要扩展到十个,直接往里面加字段即可。
改完之后,删掉旧数据库文件重新生成,就能自动生效。
// 配方参数扩展示例

public  class  Data_1  :  IRecipe

{

       public  int  温度设定 {  get;  set; }

       public  double  压力上限 {  get;  set; }

       public  string  产品批次 {  get;  set; }

}

配方保存和加载也有,想切换配方直接选就行。
曲线显示功能,支持 JSON 文件导入。
上位机做数据可视化时,曲线显示是很常见的需求,这个框架也已经内置好了。
源码里自带了一个测试用的 JSON 文件,在  TestFile  目录下,直接加载就能看到曲线效果。
曲线数据用的是  PlotContext  进行序列化,本质就是把对象转成 JSON 存储和读取。
想接入自己数据,就按照这样的格式生成JSON,加载进来就可以了。
无论是实时监控还是历史数据的分析,这一套都很方便。
技术架构用 WPF 开发,界面现代化。
使用 WPF 做界面,要比传统的 WinForm 界面好看了很多,控件布局也更加灵活。
作者在README里也特别注明了,框架里用到的livecharts只是用来演示效果,并不推荐在真实的项目中使用。
可以按照这样的框架来设计界面,只须改动颜色和布局即可使用。

看到这你想装上试试?

它用的是.NET Framework 4.7.2 开发,需要 Visual Studio 2017 以上版本打开。
代码下载后, 双击  MyWPF.sln  打开解决方案,还原 NuGet 包,按 F5 就能运行。

项目结构清晰,改改就能用

Models 存放数据模型,Views 存放界面,ViewModels 存放业务逻辑。
如果要修改界面的话就在Views文件夹里面找。
如果要修改业务逻辑的话就在ViewModels文件夹里面找。
框架代码量不大,模块划分合理,上手很快。
有兴趣的朋友可以尽快试一试。
开源地址: https://gitee.com/unbengable/my-wpf.git

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码