C#上位机源代码,采集西门子200smart温度数据并显示波形曲线,温度到达上限值或下限值进行报警提示。 采集的数据每天生成一个excel报表,全套源代码

本文旨在详细解析一套基于 C# 开发的西门子 S7-200 SMART PLC 温度数据采集与监控上位机系统的整体架构与核心功能。该系统实现了与 PLC 的稳定通信、实时数据可视化、自动化存储、历史数据查询及简单的报警逻辑,适用于工业现场对设备温度进行连续监控的场景。

系统概览

该上位机软件采用 Windows Forms 构建图形用户界面,以 .NET Framework 4.5.2 为运行环境。其核心功能围绕两个主要页面展开:实时监控页面数据记录页面。系统通过开源通信库 HslCommunication 与西门子 S7-200 SMART PLC 建立 TCP/IP 连接,读取位于 PLC 数据块 V0 地址的浮点型温度值,并围绕此数据进行一系列处理与展示。

核心功能详解

1. PLC 通信与状态管理

系统提供了直观的 IP 地址输入框和连接/断开按钮,用于建立和终止与 PLC 的通信链路。连接状态会实时显示在界面上(如“未连接PLC”、“连接PLC成功!”等),方便操作人员掌握系统当前的通信健康状况。底层采用异步非阻塞的通信方式,确保在 PLC 网络波动或断开时,上位机主界面依然保持响应。

2. 实时数据监控与可视化

一旦连接成功并启动运行,系统会以每秒一次的频率从 PLC 读取温度数据。这些数据被送入一个动态更新的曲线图中,该图表基于 System.Windows.Forms.DataVisualization.Charting 控件构建。

  • 图表特性:图表采用平滑样条(Spline)类型绘制,X轴代表时间(以分钟为单位,最多显示最近25分钟的数据),Y轴代表温度值(范围0-100℃)。图表带有网格线和标题,数据点以红色高亮显示,视觉效果清晰直观。
  • 实时数据显示:除了图表,当前读取到的温度值会以高精度数字形式在界面上同步展示。

3. 智能状态判断与报警

系统内置了简单的温度阈值逻辑,用于判断设备的运行状态:

  • 正常状态(OK):当温度值在预设的安全区间(16.0℃ 至 20.0℃)内时,状态指示灯显示为绿色,并显示“OK”。
  • 异常状态(NG):当温度值超出安全区间(高于20.0℃或低于16.0℃)时,状态指示灯变为红色,并显示“NG”,同时在信息栏中提供具体的报警原因,如“设备温度上限报警!”或“设备温度下限报警!”。这种即时反馈机制对于预防设备过热或过冷导致的故障至关重要。

4. 数据持久化与存储

为确保数据不因软件关闭而丢失,系统实现了自动化的数据持久化方案。

  • 存储介质:系统采用 Excel 文件(.xlsx 格式)作为主要的存储载体,而非传统的关系型数据库。这一选择简化了部署,降低了对数据库服务器的依赖。
  • 存储策略:系统按天创建 Excel 文件。每天首次运行时,会检查当天的数据文件是否存在,若不存在则自动创建并初始化表头(包含“VD0 数据值”、“采集时间”和“数据总数”三列)。此后,每5秒钟(由 timer2 控制)将最新的温度值及其精确到秒的时间戳追加写入当日的 Excel 文件中,并实时更新文件内的数据总数。

5. 历史数据查询与管理

系统提供了两种互补的历史数据查询方式:

  • Excel 数据查询页面(Form2):用户可以通过一个独立的窗口,选择具体的年、月、日,直接读取并展示对应日期的 Excel 文件内容。此功能利用 OLE DB 技术直接连接 Excel,将表格数据加载到 DataGridView 控件中,方便用户进行浏览和导出。
  • 数据库查询页面(TabPage2):尽管数据库相关的代码在当前版本中被注释掉了,但界面和逻辑框架(如起止时间选择、查询、删除按钮)已经完整保留。这表明系统设计时预留了与 SQL Server 数据库对接的能力,未来可以轻松启用,以支持更复杂的查询、分析和数据管理需求。

6. 系统控制与交互

  • 运行/停止控制:用户必须手动点击“开始运行”按钮,系统才会启动数据采集和存储的定时器。这为用户提供了对数据记录过程的完全控制权。
  • 系统退出:提供明确的“退出系统”按钮,确保用户操作的规范性。

技术栈与优势

  • 通信层: HslCommunication 库提供了稳定、高效的 S7 协议通信能力。
  • 数据可视化: System.Windows.Forms.DataVisualization.Charting 提供了开箱即用的专业图表功能。
  • 数据持久化: ClosedXML 库使得对 Excel 文件的读写操作变得异常简单和高效,无需依赖 Excel 应用程序本身。
  • 架构清晰: 功能模块划分明确(通信、UI、数据存储、报警逻辑),代码易于维护和扩展。

综上所述,这套上位机系统是一个功能完备、设计合理、易于部署和使用的工业监控解决方案,它有效地将 PLC 的原始数据转化为有价值的信息,为设备的稳定运行和预防性维护提供了有力支持。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐