在工业自动化产线、智能工厂监控场景中,多 PLC 设备的集中数据采集与远程可视化是核心需求。WPF 作为 C# 高端桌面应用框架,具备美观流畅的界面渲染能力;SignalR 作为实时通信框架,可实现桌面端与 Web 端的毫秒级数据推送。本文介绍如何搭建多 PLC 并行采集(西门子 S7 系列)、WPF 本地监控、SignalR 实时推送及 Web 可视化展示的工业监控系统。
一、项目核心架构与前期准备
1.1 整体架构设计
系统采用'分层架构 + 分布式通信'模式,形成'设备层 - 采集层 - 通信层 - 可视化层'的完整闭环:
- 设备层:多台西门子 PLC(S7-200SMART/300/400/1200/1500),提供产线温度、压力、电机转速、IO 状态等工业数据;
- 采集层:WPF 上位机(.NET 8),封装多 PLC 并行采集工具类,支持断线重连、数据缓存、采集频率配置;
- 通信层:SignalR(ASP.NET Core SignalR),集成在 WPF 上位机中,作为实时通信枢纽,将 PLC 采集数据推送给 Web 客户端;
- 可视化层:Web 前端(HTML+ECharts+SignalR 客户端),实现 PLC 状态监控、实时数据表格、动态曲线、异常告警可视化。


