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