ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

用开源Scada-LTS搭建工业监控与数据采集平台:从零上手的完整指南

用开源Scada-LTS搭建工业监控与数据采集平台:从零上手的完整指南

用开源Scada-LTS搭建工业监控与数据采集平台:从零上手的完整指南

【免费下载链接】Scada-LTSScada-LTS is an Open Source, web-based, multi-platform solution for building your own SCADA (Supervisory Control and Data Acquisition) system.项目地址: https://gitcode.com/gh_mirrors/sc/Scada-LTS

Scada-LTS 是一款基于 Web 的开源、跨平台 SCADA(数据采集与监控)系统,用来把分散的设备数据汇聚到同一个浏览器界面里,统一监视和控制。这篇文章不堆术语,按"先理解、再上手、后实战"的顺序,带你把这套系统从代码变成真正在跑的监控平台。

工厂里那些没人看的监控数据,问题出在哪

许多中小型工厂、仓库和园区,其实并不缺数据——PLC、仪表、传感器每天都在产生数值,真正的难题是这些数据各自为政:A 设备的数据留在工控屏上,B 设备的记录躺在 Excel 里,值班员想统一看一遍,得跑好几个地方。SCADA 系统解决的就是这件事:把不同协议、不同位置的设备数据集中采集,再做统一展示和异常提醒。

Scada-LTS 是什么,和商业 SCADA 有什么区别

你可以把 Scada-LTS 理解为"开源的商业级 SCADA 底座"。它把最常见的监控需求——数据采集、界面组态、报警通知、历史存储——都做成了开箱即用的功能,而且:

  • 纯 Web 架构:无需安装客户端,任何带浏览器的电脑都能打开监控画面;
  • 多平台运行:Linux、Windows、服务器或开发机都能部署;
  • 协议覆盖广:内置 Modbus、SNMP、MQTT、OPC 等常见工业协议驱动;
  • 开源免费:没有按点数收费的许可费用,适合预算有限又需要真实监控能力的团队。

和商业 SCADA 相比,它用"学习成本"换掉了"采购成本":你需要自己部署和维护,但换来的是完全可控的二次开发空间,甚至可以修改源码,定制出贴合自己业务的版本。

什么人适合用它

  • 工厂自动化工程师:想给现有产线快速加一套集中监控界面;
  • 系统集成商:需要一个可定制、可交付源码的项目底座;
  • 高校与实验室:教学演示、课题研究需要一套真实可用的数据采集平台;
  • 个人开发者:自学工业物联网,需要一个能跑通的完整样例。

一句话:只要你的场景是"把一堆设备的数值统一收起来、画出来、管起来",它就值得一试。💡

从下载到看见登录页,最快只需一杯咖啡的时间

这一阶段的目标只有一个:让系统先跑起来,亲眼看到登录页,再谈其他。别急着研究细节,先获得"看得见摸得着"的正反馈。

提前准备好这两样东西

  • Docker 与 Docker Compose:最省心的部署方式,项目已内置编排文件,省去手工配置数据库和 Tomcat 的麻烦;
  • 一台能联网的电脑:2GB 以上可用内存即可,跑测试环境绰绰有余。

想从源码编译的话,备好 JDK 11 和 Gradle 6.8.1 也行,但第一次跑通,用 Docker 最不容易卡壳。

一条命令拉起全套服务

把仓库代码克隆到本地,然后直接启动:

# 拉取项目代码 git clone https://gitcode.com/gh_mirrors/sc/Scada-LTS cd Scada-LTS # 后台启动数据库、应用和 MQTT 服务 docker-compose up -d # 查看启动日志,等 tomcat 就绪 docker-compose logs -f scadalts

项目根目录的docker-compose.yml里定义了三个服务:MySQL 8 数据库、Scada-LTS 应用本身,以及一个 MQTT 消息服务(供物联网设备接入)。等日志里出现 Tomcat 启动完成的信息,打开浏览器访问http://localhost:8080/ScadaBR就能看到登录页。

第一次登录后的三个必看位置

默认账号密码都是admin(生产环境务必改掉)。登录后建议先逛三个地方,形成整体印象:

  1. 数据源列表:今后所有设备接入都在这里登记;
  2. 监控视图:最终呈现给操作员看的画面;
  3. 系统设置:全局参数所在,其中数据库连接配置集中在webapp-resources/env.properties,改地址、账号密码都在这个文件里。

把这三个入口的位置记住,后面的操作全都围绕它们展开。

把设备数据变成看得懂的界面:核心能力逐个拆解

跑通之后,我们顺着数据流动的方向,依次过一遍四大核心能力:接入、呈现、告警、留存。每部分都采用"先讲你得到什么,再讲怎么配"的方式。

第一步:让数据进来——数据源与数据点怎么配

SCADA 里有两个容易混淆的概念,先分清它们:数据源(Data Source)代表"一条采集通道",比如一台 Modbus 网关、一个 MQTT 主题;数据点(Data Point)则是通道里的"具体参数",比如温度、电压、开关状态。一个数据源下可以挂几十上百个数据点。

新建数据源时,系统会列出所有可用驱动类型,选好后填写连接参数(IP、端口、轮询周期等)。前端界面的完整实现位于scadalts-ui/src/views/DataObjects/DataSources/,配置流程对应下图:先建数据源,再在数据源下逐个创建数据点,每个点都能单独设置数据类型、单位、采集频率和报警阈值。

新手没有真实设备也不用担心:系统内置了"虚拟数据源",可以模拟产生随机或正弦波数值,是学习数据接入流程的最佳练习场。

第二步:把数字画出来——监控界面与实时图表

数据接进来只是第一步,值班人员要看的是"一眼就能读懂的界面"。Scada-LTS 的监控视图提供了一套可视化组件库:折线图、柱状图、仪表盘、指示灯、开关按钮等,都能通过配置方式组装成页面,再把组件绑定到具体数据点。

多个关键参数(比如同一台设备的温度、压力、流量)可以放进同一张图表叠加对比,帮助值班员快速发现参数之间的联动关系;需要看细节时,还可以对图表做时间范围的缩放。

第三步:异常时有人管——告警规则与通知

监控系统真正的价值,在于"异常时第一时间被发现"。给数据点设置上下限阈值后,数值越界就会产生告警事件,并按你配置的方式通知出去:Web 界面弹提醒、发送邮件、或者推送到 MQTT 主题。还可以区分多个报警级别(信息、紧急、严重),不同级别走不同的通知渠道,避免关键告警被淹没在普通提示里。

第四步:历史数据去哪了——存储与查询

实时画面是"现在",历史数据是"证据"。系统会把采集到的数值写入数据库(默认 MySQL),你可以按时间范围回查任意数据点的历史曲线,也可以导出分析。如果要把数据对接给其他系统,doc/RESTAPI/目录下提供了基于 OpenAPI 3 规范的接口说明(ScadaLTS_API_OAS3.yaml),用 Postman 之类的工具可以直接导入调试,获取实时值、历史数据和事件信息都有现成接口。

实战:给冷链仓储做一套温湿度监控看板

前面的能力单独看都简单,真正有价值的是把它们串起来。下面用一个完整案例演示:假设你管理一个冷链仓库,需要持续监视库内温度和湿度,超限时报警。整个过程不需要任何真实硬件,用虚拟数据源即可完成。

搭建虚拟数据源模拟传感器

在数据源页面新建一个"虚拟数据源",命名为"冷库环境"。然后创建两个数据点:

  • 冷库温度:数值型,取值范围 0~30,模拟正弦波动;
  • 冷库湿度:数值型,取值范围 30%~90%,同样用模拟波形。

这样系统就会像真实传感器一样,每隔几秒产出新的数值。

绑定数据点并设置告警

为温度点设置报警阈值:低于 2℃ 或高于 10℃ 时触发"紧急"级告警(冷链温控的典型区间);湿度点阈值设为低于 35% 或高于 75%。配置好邮件通知后,一旦数值越界,责任人就能收到提醒,不必等到巡检时才发现问题。

组装监控界面

新建一个监控视图,拖入两块图表组件分别绑定温度点和湿度点;再放一个状态指示灯绑定温度点,让颜色直观反映当前是否在安全区间。保存后刷新页面,你得到的就是一个能实时刷新、带状态颜色、超限会告警的冷库监控看板。

这套流程里,接入、可视化、告警、存储四个能力全部用上了,换到任何真实场景(车间、机房、养殖场),只是换数据源类型和阈值参数的区别。界面组态相关的可复用配置示例,还可以参考doc/components/cmp/下的 JSON 文件。

新手最容易踩的坑,以及踩完之后怎么走

最后把大家高频遇到的问题集中说一遍,省得你卡在同样的地方。⚠️

高频问题速查

  1. 容器起来了但页面打不开:多半是数据库还没就绪、应用启动失败。用docker-compose logs -f scadalts看日志,等 MySQL 完全启动后再刷新页面。
  2. 改数据库配置不生效:连接参数在webapp-resources/env.properties里改完后,需要重启应用才会重新读取。
  3. 告警邮件发不出去:优先检查邮件服务器地址、端口和账号授权码,很多邮箱需要开启第三方客户端授权。
  4. 界面加载慢:先看是不是同一页面绑定了过多数据点,图表太多时优先缩小历史加载范围,而不是急着怀疑服务器性能。

从这里继续深入

  • 想验证系统稳定性?项目自带一套单元测试,运行gradle test即可,测试代码在test/目录,也是学习数据流逻辑的好教材;
  • 想对接自己的协议?查看现有驱动实现,仿照新增一个数据源类型即可;
  • 想给前端加功能?scadalts-ui/是独立的 Vue 工程,接口对接后可以自由扩展页面。

总结:从"看数据"到"用数据"

Scada-LTS 的价值在于,它把商业 SCADA 最核心的能力——数据采集、界面组态、异常告警、历史留存——用开源的方式完整呈现出来,让中小团队和个人开发者也能拥有专业级的监控底座。只要你的场景对上"多设备、要集中监控、预算有限、想自己掌控"中的任意两条,就值得花一个下午把它跑起来。

接下来按这个顺序行动:

  1. 用 Docker 跑通默认环境,完成第一次登录;
  2. 用虚拟数据源创建 2~3 个数据点,体验数据流动;
  3. 组一个简单监控视图,把数据画成图表;
  4. 给一个数据点设置告警,测试通知是否送达;
  5. 浏览doc/RESTAPI/的接口文档,尝试调一次历史数据查询。🚀

延伸资源

  • 官方说明与构建任务:README.md
  • 部署与示例配置:docker-compose.ymlwebapp-resources/env.properties
  • 数据源前端实现:scadalts-ui/src/views/DataObjects/DataSources/
  • REST API 文档:doc/RESTAPI/ScadaLTS_API_OAS3.yaml
  • 后端测试用例:test/

【免费下载链接】Scada-LTSScada-LTS is an Open Source, web-based, multi-platform solution for building your own SCADA (Supervisory Control and Data Acquisition) system.项目地址: https://gitcode.com/gh_mirrors/sc/Scada-LTS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表