最近发现了一个开源的 HMI 项目,体验下来感觉挺不错,推荐给大家。
项目叫 HMI Studio,是一套支持多品牌 PLC 的开源 HMI 组态软件。
传统组态软件很多都有一个问题:要么绑定自家的 PLC 生态,要么需要购买授权才能使用。
而在实际项目中,经常会遇到不同品牌设备混用的情况,通讯和维护成本都会增加。
HMI Studio 一套系统就可以连接 Siemens S7、Modbus TCP、OPC UA、EtherNet/IP 等多种工业设备。
界面设计延续了传统组态软件的操作方式,拖拽控件、绑定变量、设置属性,就可以快速完成画面开发。
报警、历史数据、趋势图、配方等常用功能也都已经集成。
更重要的是,代码全部开源,如果遇到特殊需求,可以直接修改源码。
对于经常做非标设备和自动化集成的工程师来说,这一点非常重要。
01 多品牌 PLC 通讯直接内置,不需要单独开发驱动。
添加 PLC 控制器时,只需要选择对应驱动即可。
例如 Siemens S7 会自动显示 IP、Rack、Slot 等配置参数,Modbus TCP 则只需要填写 IP 地址和端口。
变量标签配置也比较简单,只需要设置地址、数据类型、访问权限以及采集周期,就可以开始读取数据。
同时支持 Modbus、FINS 等协议的数据类型转换,包括 signed、unsigned、16/32 位数据等多种格式。
02 报警、历史、配方、趋势图等工业监控功能都有。
做一个监控系统,真正麻烦的地方往往不是画界面,而是后面的报警逻辑、历史数据保存以及查询分析。
HMI Studio 已经把这些基础功能提前做好。
报警支持布尔判断、比较条件、区间判断、位运算等多种方式。
同时可以设置报警等级、过滤规则,历史数据支持保存为 JSON,并配置存储周期。
配方管理支持在线创建、修改、删除配方。
既可以读取 PLC 当前参数,也可以将配方数据写入 PLC。
趋势图支持多曲线显示,每个 Tag 都可以单独设置名称,可以同时查看实时数据和历史数据。
03 支持 MySQL 历史归档,方便后续数据分析。
如果项目需要长期保存生产数据,HMI Studio 支持接入 MySQL 数据库。
可以根据数据变化保存,也可以按照固定周期采集存储,同时支持设置数据保留时间,自动清理历史数据。
历史查询支持文本、时间范围、最大数量等条件筛选,方便后续统计分析。
04 Runtime 导出 ZIP,现场部署更加方便。
项目完成后,可以直接导出 Runtime。
生成的 ZIP 包包含运行程序、依赖文件以及项目配置。
客户现场只需要安装 .NET 10 Desktop Runtime,解压后运行 HMI.exe 即可使用。
另外项目还提供 Simulator 驱动,不连接真实 PLC 也可以模拟运行。
对于演示、培训以及开发测试场景来说,非常方便。
05 用户权限和冗余功能,满足一些关键项目需求。
权限方面支持用户管理、密码保护以及对象级访问控制。
同时支持登录失败锁定、会话记录保存等安全功能。
如果项目对稳定性要求较高,还提供了冗余机制。
可以配置多个面板优先级,并支持 Standby、Failover、Failback 等切换逻辑。
适用于一些需要双机热备的工业监控场景。
看到这里,想体验一下?
从 GitHub 下载源码后,用 Visual Studio 2022 打开即可。
git clone https://github.com/agentthink/hmi-design编译完成后,运行 HMI.exe 就可以看到组态编辑器。
这个项目最大的价值,并不是简单做了一个画面编辑器。
而是把 PLC 通讯、报警、历史、趋势、权限等工业监控系统常用能力提前集成好了。
工程师不用再重复开发这些基础模块。
配置设备、绑定变量、设计界面之后,就可以快速搭建一个属于自己的监控系统。
有兴趣的朋友可以体验一下。
开源地址:https://github.com/agentthink/hmi-design 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!