开源SCADA系统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 就是为打破这种"设备在说话、没人听得懂"的局面而生的开源 SCADA 系统:免费、基于 Web、跨平台,把散落在各台设备里的数值汇进同一个浏览器页面,让你随时看得见、看得懂。下面这篇文章,我们就以"冷库温湿度监控"这样的小项目为线索,带你把整个流程完整走一遍:从安装部署、数据源配置,到搭建可视化监控界面和报警规则,全程照着做就能跑通。
设备在不停"说话",可你真的听懂了吗
先看一个常见场景:你负责一间冷库,里面十几个温度探头、三台制冷机组、若干湿度传感器。日常巡检靠人工记录,出故障靠报警灯,想复盘历史趋势?翻台账。这套模式有三个硬伤:
- 反应慢:数据要靠人去看,半夜出问题只能等天亮才发现;
- 看不懂:一个个孤立的数字拼不出整体画面,更难发现两个参数之间的关联;
- 留不下:纸面记录难检索,出了问题说不清是哪一刻开始异常的。
而一套 SCADA(监控与数据采集)系统的价值,恰恰是把"采集、存储、展示、报警"四件事打包:设备的数据被自动收上来、存进数据库,画成曲线,超限就响警报。你不需要守在设备旁边,只需要看屏幕。
为什么选 Scada-LTS:一台跑在浏览器里的"翻译机"
市面上的 SCADA 软件不少,但要么价格劝退,要么绑定专用硬件,要么界面还停留在上个时代。Scada-LTS 走的是另一条路:
- 开源免费:代码开放,没有授权费,也可以按自己的需求二次开发;
- 纯 Web 架构:用浏览器就能访问,不用在每台电脑上装客户端,手机、平板也能看;
- 协议面广:Modbus、SNMP、DNP3、IEC 101、MQTT 等主流工业协议都支持,几乎能对接常见的 PLC、电表、传感器和物联网设备;
- 界面现代:配套的前端工程 scadalts-ui 提供了清爽的现代化交互,不再是老式管理系统的样子。
把它想象成一台"翻译机":左边是各种说着不同"方言"(协议)的设备,右边是统一的监控界面,中间由 Scada-LTS 负责把每句"话"翻译成你熟悉的温度、压力、开关状态。
十分钟装好:Docker 部署只需两条命令
安装部署这块,最省事的方案是 Docker 容器化。先在机器上确认装好了 Docker 与 Docker Compose,然后依次执行:
git clone https://gitcode.com/gh_mirrors/sc/Scada-LTS cd Scada-LTS docker-compose up -d这套编排会一并启动三样东西:MySQL 数据库(负责存历史数据与配置)、Scada-LTS 应用本身(跑在 Tomcat 里),以及一个 MQTT 消息服务(给物联网设备做接入)。第一次启动时系统会自动完成建表与初始化,稍等片刻即可。
容器起来后,在浏览器里访问部署机器的 8080 端口(就是 compose 文件里映射的那个端口),就能看到登录页。系统预置的管理员账号是 admin,登录后第一件事是把它改成自己的强密码——这一步千万别省。💡 如果机器上本来就有 MySQL,也可以跳过容器里的数据库,在webapp-resources/env.properties里把连接信息指到自己的实例上,生产环境更推荐这样做。
第一步配数据源:给设备请一位"翻译官"
登录进系统,先别急着看花哨的图表,一切从"数据源"开始。数据源是一条通往设备群的通道,你可以把它理解成一组翻译官:选对协议(比如 Modbus TCP),填上设备的 IP 和端口,再按协议约定设置参数,Scada-LTS 就能定时去"听"设备说话了。
以冷库为例:温度探头走 Modbus RTU 接到串口网关,制冷机组走 Modbus TCP,湿度计走 SNMP——每种设备配一个数据源,互不干扰。新建数据源时,界面上会给出协议类型、连接地址、扫描周期等选项,多数情况照着设备手册填就能通。下面这张图就是数据源与数据点从创建到编辑的完整流程示意:
第二步建数据点:把寄存器数字翻译成业务语言
数据源是通道,数据点才是真正要监控的参数。每个数据点对应设备里的一个具体数值——用前面的比喻说,数据源是"翻译官",数据点则是它翻译出来的一个个"单词"。
创建数据点时,通常要定义这几样:
- 名称与描述:例如"1号机组回风温度",让人一眼看懂;
- 数据类型:浮点数、整数、布尔值还是多状态值,不同设备返回的格式不一样;
- 采集频率:关键参数可以每几秒采一次,次要参数放宽到分钟级;
- 存储策略:是否写入历史库、保留多久,这直接关系到后续能不能画趋势曲线。
把十几个探头、三台机组的参数都建好后,系统后台就开始自动积累数据了。此时你的监控系统已经"能听",接下来要解决的是"看得懂"。
第三步搭界面:让数据自己开口讲故事
数据光存在数据库里没有意义,把它们画出来才有价值。Scada-LTS 提供了两种主流玩法:
- 监视列表(Watch List):把关心的数据点拖进同一张图表,实时刷新,适合日常值班盯盘;
- 监控视图(View):用图表、仪表盘、指示灯、图片等组件拼出完整的工艺画面,适合做面向车间的展示大屏。
在监视列表里,多个数据点可以叠在一张图上对比,横轴是时间、纵轴是数值,变化趋势一目了然。比如同时看冷库内外温度,就能直观发现"开门的一瞬间温度立刻反弹"这类规律:
如果嫌一张图太挤,还可以把两个数据点拆成上下两张图对齐时间轴,各自看得更清楚:
对于开关状态、阀门开合这类离散信号,系统支持阶梯折线、多状态色块等展示方式,状态切换的瞬间会被清晰标出来,很适合看设备"什么时候动了、动了几次"。
第四步设报警:把夜班交给系统来守
监控界面解决的是"看得见",报警解决的是"看得及时"。给每个数据点设好上下限,越线即触发;还可以按严重程度分成多个级别,重要设备用更严格的门限。下面这张图展示的就是多状态数据的报警与状态可视化效果:
报警触发后怎么通知?邮件是最常用的通道,也可以配置界面弹窗提示、声音提醒。对冷库来说,半夜断电或制冷机组停机会导致温度快速回升,这类报警如果不及时处理可能造成整库货损——把报警规则交给系统后,值班人员收到邮件再行动,比靠运气等天亮靠谱得多。
性能与常见坑:新手最容易踩的几个点
系统跑起来不难,跑得稳才见功夫。几条经验提前说给你听:
- 采集频率别贪高:探头多、频率快,数据库写入压力直线上升。非关键参数放到分钟级,资源立刻宽松不少;
- 历史数据要设保留期:数据库不是无限大的仓库,按业务需要配置历史数据清理策略,避免表越胀越慢;
- 给足内存:Tomcat 是 Java 应用,默认堆内存不够时会出现卡顿或掉线,可按机器配置调整启动参数;
- 常见坑清单:端口被占用导致容器起不来(改 compose 里的映射端口即可);MySQL 与本地实例冲突;首次启动初始化较慢,耐心等日志输出完再登录。
现在,动手做你的第一个 SCADA 项目
从"装好一个系统"到"真正用起来",差的只是一次动手。给你一份可执行的起步清单:
- ✅ 用 Docker 把系统跑起来,登录并修改初始密码;
- ✅ 建一个虚拟或 Modbus 数据源,接上一台真实设备或模拟器;
- ✅ 为 3~5 个参数创建数据点,打开监视列表看实时曲线;
- ✅ 给关键参数设一条报警规则,亲手触发一次看看通知效果;
- ✅ 再往前走一步:研究 REST API 文档(
doc/RESTAPI/目录)把数据接进自己的业务系统。
冷库、车间、泵站、机房……只要设备在产生数据,Scada-LTS 就能帮你看住它。这套开源 SCADA 系统的上限远不止本文这点内容,先跑通最小闭环,再一点点加功能,你会发现工业监控这件事,比想象中简单得多。🚀
【免费下载链接】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),仅供参考