找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4281

积分

0

好友

557

主题
发表于 2 小时前 | 查看: 3| 回复: 0

开发者社区中,常看到各种 AI 辅助工业项目的分享。最近碰巧在 GitHub 上发现了一个用 Claude Code 生成的监控平台,把画好界面之后那些头疼的事都盖了——设备管理、数据持久化、报警引擎、三级权限……拿来直接参考,能省不少时间。

写上位机监控画面,画界面本身倒还好。头疼的是后面一堆事情,比如设备怎么管、数据怎么存、报警怎么触发、权限怎么分。用 WPF 拖几个控件画一个仪表盘不难,难的是把 MVVM 架构搭对、DI 容器配好、实时数据流跑通。就算一个有经验的 .NET 工程师,从头开始也要折腾一两周。

最近在 GitHub 上刷到了一个叫做 smartfactory-monitor 的项目,把上面提到的事都做了一遍。

工业监控平台首页总览界面

01 项目简介

smartfactory-monitor 是基於 .NET 8 和 WPF 构建的工业设备实时监控平台。技术栈采用 MVVM 架构,搭配 HandyControl 做企业级 UI,LiveCharts2 绘制实时图表,SQLite 进行数据持久化。

作者在 README 里写得很实在——这就是他在学习 WPF 时和 Claude Code 一起做的练习项目。我看了下,完成度很高。登录系统、仪表盘、设备管理、实时监控、报警中心、历史记录、系统设置、用户管理等八个模块一个不少,而且每个模块都有细节,并不是只搭了一个壳子。

设备管理界面

02 几个核心亮点

① MVVM + 依赖注入

WPF 上手容易,但要写出可维护的代码可不容易。不少人写法是 Code‑Behind 一把梭,所有逻辑都堆在 .xaml.cs 里,改个功能要翻半天。IndustrialMonitor 从一开始就好在走了 MVVM 架构:View 只管展示,ViewModel 负责逻辑,Model 负责数据。DI 容器用的是 Microsoft.Extensions.DependencyInjection,Singleton 和 Transient 的生命周期分得清清楚楚。后续接手的同事一看就懂,不用猜“这段逻辑到底在哪儿”。

② 实时监控做得相当到位

监控看板的核心就是对数据进行实时可视化。IndustrialMonitor 用 LiveCharts2 绘制温度、压力双通道折线图,并在图上加入阈值警戒虚线。报警引擎自带 3 秒防抖,数据瞬间抖动不会误报,报警灯还带呼吸闪烁动画。多设备之间通过 TabControl 切换,点一下就能切换不同设备的监控画面。

实时监控曲线与报警记录

③ RBAC 三级权限管理

自带三级权限:管理员、操作员、只读用户。管理员可管理全部功能,操作员能正常使用但不可修改配置,只读用户仅能查看数据。不同角色看到的页面也不一样,没有权限的按钮根本不会显示出来。

④ 修改配置无需重启

所有配置都放在 appsettings.json 里,像温度上限、压力阈值、刷新频率、数据滑动窗口大小等参数,改完立即生效,不用关闭程序再启动。现场调试尤其实用——阈值设太低导致报警过多,改一下配置文件里的数字即可,生产线不用停。

报警中心列表

03 本地跑起来也很简单

用 git 把代码拉到本地:

git clone https://github.com/agentthink/smartfactory-monitor
cd smartfactory-monitor
dotnet run

也可以用 Visual Studio 打开 .sln 文件。首次启动时自动生成 users.db 数据库,并创建三个默认账号:admin、operator、viewer。代码结构很清晰,Models、Services、ViewModels、Views 四个层次分明,每个文件只负责一件事,学习成本很低。

04 注意事项

该项目目前用的是模拟数据,并没有真正与 PLC 对接。温度和压力的数据通过 MockDataService 生成,图表上显示的数值也是模拟的。如果想直接对接西门子、AB 的 PLC,需要自己补齐通讯层。另外,项目没有开源许可证声明,作者也明确这是学习项目,存在未知问题。它不是拿来就能上生产的东西,但作为 WPF 上位机的参考架构,价值巨大。

05 写在最后

.NET 在工业控制领域一直很稳。从 WinForms 到 WPF,很多上位机都是用 C# 来写的。可网上能找到的 WPF 开源项目,要么太简单只是个 demo,要么太老还停留在 .NET Framework 4.x。可这个项目底层直接上了 .NET 8,MVVM、DI、实时曲线、权限管理这些该有的能力,都搭好了。像这样高质量的项目在 GitHub 上越来越多,需要的话可以过去给个 Star。


开源地址:https://github.com/agentthink/smartfactory-monitor



上一篇:无需历史数据的风险模型:CD-DFM如何用基本面预测协方差矩阵?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-7 06:50 , Processed in 0.767378 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表