Mango M2M开源SCADA平台介绍:Modbus设备监控与数据采集方案

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 数据源的步骤:

  1. 点击菜单 Data SourcesAdd Data Source
  2. 选择协议类型为 Modbus TCP/IP
  3. 设置数据源名称(如”一号配电柜”)
  4. 填写设备 IP 地址和端口(默认 502)
  5. 设置轮询周期(Polling Period),如 5 秒
  6. 设置超时时间和重试次数
  7. 保存配置

添加数据点(Data Points):

  1. 在创建好的数据源下点击 Add Data Point
  2. 设置数据点名称(如”A相电压”)
  3. 选择寄存器类型(Holding Register / Input Register / Coil 等)
  4. 设置从站地址(Slave ID)和寄存器偏移地址
  5. 选择数据类型(Binary / Numeric / Alphanumeric)
  6. 如需单位转换,设置缩放因子和偏移量(如原始值 ×0.1 = 实际温度°C)
  7. 保存

创建仪表盘(Dashboard)

Mango 的图形界面编辑器可以拖拽创建仪表盘:

  1. 点击菜单 Graphical ViewsAdd View
  2. 选择模板(如空模板)
  3. 进入拖拽编辑器,从左侧组件库中选择:
  • Analog Gauge(模拟表盘):适合显示电压、电流、温度等模拟量
  • Digital Display(数字显示):简洁的数值展示
  • Line Chart(折线图):展示历史趋势曲线
  • Binary Indicator(开关指示):显示运行/停止、通/断等状态量

将数据点拖到对应组件上绑定,保存后即可在浏览器中实时查看设备数据。

配置告警规则

以温度过高告警为例:

  1. 点击菜单 Event DetectorsAdd Event Detector
  2. 选择类型为 High Limit(上限告警)
  3. 设置上限值(如 80°C)
  4. 设置告警级别(Critical / Warning / Info)
  5. Event Handlers 中配置通知方式:
  • Email Handler:发送邮件通知
  • Set Point Handler:修改其他数据点(如关闭设备)
  • Script Handler:执行自定义脚本

Mango vs 其他开源 SCADA

平台语言特点适用场景
Mango M2MJava浏览器原生,拖拽编辑器,Modbus 支持好中小型项目、快速原型
Rapid SCADAC#功能全面,Windows 平台中大型工厂监控
FUXANode.js现代化 UI,Docker 部署友好Web 原生监控面板
Grafana + Node-RED混合数据可视化+流程编排,灵活但需组合搭建定制化需求强的项目
ThingsBoardJavaIoT 平台,支持 MQTT/CoAP/Modbus物联网设备管理平台

总结

Mango M2M 在开源 SCADA/HMI 领域有着独特的定位——它不是库、不是命令行工具,而是一个可以直接部署使用的完整平台。从 Modbus 设备数据采集、实时仪表盘展示、历史数据存储到告警通知,Mango 提供了全链路的解决方案。对于需要快速搭建 Modbus 设备监控系统的团队来说,Mango 可以大幅缩短从设备接入到可视化交付的时间。如果你正在寻找一个开源的、支持 Modbus 协议的 SCADA 方案,Mango M2M 值得认真评估。

把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注