Mango M2M 是什么?
Mango M2M(现更名为 Mango Automation)是由 Serotonin Software(加拿大)开发的一款基于浏览器的人机交互(HMI)和数据采集与监视控制(SCADA)平台。它是 modbus.org 官方推荐页面中少数几个”完整平台级”项目之一,不同于单一的调试工具或协议库,Mango 提供了一整套从数据采集到可视化的完整解决方案。
Mango Automation 的开源模块托管在 GitHub:github.com/MangoAutomation/ma-modules-public。最新版本为 v4.5.x(2024 年 7 月更新)。
Mango M2M 核心功能
- 多协议支持:内置支持 Modbus TCP/RTU、BACnet、SNMP、HTTP、MQTT、OPC 等多种工业通信协议
- Web 可视化:基于 Ajax 的浏览器界面,无需安装客户端软件,在任意浏览器中即可查看实时数据和历史趋势
- 数据日志:支持将采集数据存储到 SQL 数据库(MySQL、H2、Derby),便于历史数据分析和报表生成
- 告警管理:可配置阈值告警,通过邮件、短信等方式通知运维人员
- 自动化脚本:支持 JavaScript/Python 脚本,实现复杂的业务逻辑和自动化控制
- 用户与权限管理:支持多用户、多角色权限控制
安装 Mango Automation
Linux 安装
# 下载 Mango Automation(Java 应用,需要 JRE 8+)
wget https://github.com/MangoAutomation/ma-core-public/releases/latest
# 解压并运行
unzip mango-*.zip
cd mango
./bin/start.sh
# 默认访问地址: http://localhost:8080/mango
# 默认用户名/密码: admin/admin
Windows 安装
下载 ZIP 包后解压,运行 binstart.bat 启动服务。Mango 也可以注册为 Windows 服务实现开机自启动。
配置 Modbus TCP 数据源
启动 Mango 后,通过浏览器进入管理界面。添加 Modbus TCP 数据源的步骤:
- 点击菜单 Data Sources → Add Data Source
- 选择协议类型为 Modbus TCP/IP
- 设置数据源名称(如”一号配电柜”)
- 填写设备 IP 地址和端口(默认 502)
- 设置轮询周期(Polling Period),如 5 秒
- 设置超时时间和重试次数
- 保存配置
添加数据点(Data Points):
- 在创建好的数据源下点击 Add Data Point
- 设置数据点名称(如”A相电压”)
- 选择寄存器类型(Holding Register / Input Register / Coil 等)
- 设置从站地址(Slave ID)和寄存器偏移地址
- 选择数据类型(Binary / Numeric / Alphanumeric)
- 如需单位转换,设置缩放因子和偏移量(如原始值 ×0.1 = 实际温度°C)
- 保存
创建仪表盘(Dashboard)
Mango 的图形界面编辑器可以拖拽创建仪表盘:
- 点击菜单 Graphical Views → Add View
- 选择模板(如空模板)
- 进入拖拽编辑器,从左侧组件库中选择:
- Analog Gauge(模拟表盘):适合显示电压、电流、温度等模拟量
- Digital Display(数字显示):简洁的数值展示
- Line Chart(折线图):展示历史趋势曲线
- Binary Indicator(开关指示):显示运行/停止、通/断等状态量
将数据点拖到对应组件上绑定,保存后即可在浏览器中实时查看设备数据。
配置告警规则
以温度过高告警为例:
- 点击菜单 Event Detectors → Add Event Detector
- 选择类型为 High Limit(上限告警)
- 设置上限值(如 80°C)
- 设置告警级别(Critical / Warning / Info)
- 在 Event Handlers 中配置通知方式:
- Email Handler:发送邮件通知
- Set Point Handler:修改其他数据点(如关闭设备)
- Script Handler:执行自定义脚本
Mango vs 其他开源 SCADA
| 平台 | 语言 | 特点 | 适用场景 |
|---|---|---|---|
| Mango M2M | Java | 浏览器原生,拖拽编辑器,Modbus 支持好 | 中小型项目、快速原型 |
| Rapid SCADA | C# | 功能全面,Windows 平台 | 中大型工厂监控 |
| FUXA | Node.js | 现代化 UI,Docker 部署友好 | Web 原生监控面板 |
| Grafana + Node-RED | 混合 | 数据可视化+流程编排,灵活但需组合搭建 | 定制化需求强的项目 |
| ThingsBoard | Java | IoT 平台,支持 MQTT/CoAP/Modbus | 物联网设备管理平台 |
总结
Mango M2M 在开源 SCADA/HMI 领域有着独特的定位——它不是库、不是命令行工具,而是一个可以直接部署使用的完整平台。从 Modbus 设备数据采集、实时仪表盘展示、历史数据存储到告警通知,Mango 提供了全链路的解决方案。对于需要快速搭建 Modbus 设备监控系统的团队来说,Mango 可以大幅缩短从设备接入到可视化交付的时间。如果你正在寻找一个开源的、支持 Modbus 协议的 SCADA 方案,Mango M2M 值得认真评估。
发表回复