1. WinCC生产报表工程概述
在工业自动化项目中,WinCC 常被用作上位监控组态软件,负责画面显示、报警记录和趋势归档。但当生产管理人员提出“每班产量是多少”“某台设备今天的停机时间有多长”“这批产品的关键工艺参数是否稳定”这类问题时,仅靠画面和趋势往往无法直接回答。生产报表工程要解决的,正是把运行过程中分散在归档、报警、变量和数据库中的数据,按班次、批次、设备或时间区间整理成可阅读、可打印、可追溯的报表。
本章不急于进入具体组态,而是先建立整体认识:WinCC 报表系统由哪些部分组成,生产报表的典型需求有哪些,数据分析在工业场景中能带来什么价值,以及本课程最终要交付一个什么样的项目对象。理解这些内容后,后续章节的归档配置、变量记录、报表布局和脚本计算才有明确的落点。
1.1 WinCC 报表系统的组成
WinCC 的报表能力并不是单一功能,而是由若干相互配合的部分构成。可以把它理解为一条从“现场数据产生”到“报表输出”的数据链:
- 数据源层:包括过程变量、归档变量、报警记录和用户归档。过程变量来自 PLC 或现场仪表;归档变量由变量记录系统按周期或变化触发保存;报警记录保存报警发生、确认和消失的时间;用户归档则用于保存批次、配方或人工录入的数据。
- 数据组织层:包括变量记录组态、归档组态和数据库。WinCC 将归档数据写入 SQL Server 数据库,报表通过查询这些数据获得原始记录。
- 报表生成层:包括报表布局编辑器(Report Designer)和报表运行系统。布局编辑器定义报表的页面、页眉页脚、表格、趋势曲线和变量输出;运行系统按时间或事件触发打印、预览或导出。
- 输出与分发层:报表可以输出到打印机、PDF 文件、Excel 或通过脚本写入自定义数据库,供生产管理系统进一步使用。
这四层之间的关系可以用下面的结构图表示。图中同时标出了本课程后续会重点操作的对象,便于建立整体印象。
需要特别说明的是,WinCC 报表的“数据”并不等于画面上的实时值。报表读取的是归档后的历史数据,因此归档周期、归档触发方式和归档时间范围会直接影响报表的精度和可查范围。例如,若某温度变量按 1 分钟周期归档,那么报表中该温度的最小时间分辨率就是 1 分钟;若按变化归档,则只在数值变化超过死区时记录,适合记录状态量而不适合做平均值计算。这些细节会在后续章节展开。
1.2 生产报表的典型需求
不同行业的生产报表差异很大,但归纳起来,常见的需求集中在以下几类:
- 班次产量统计:按早、中、晚班统计合格品数、废品数和总产量,通常需要与班次时间表对应。
- 设备运行与停机分析:统计设备运行时间、停机时间、停机次数和停机原因,用于计算 OEE 或可用率。
- 工艺参数追溯:记录每批产品的关键温度、压力、流量、速度等参数的最大值、最小值和平均值,用于质量追溯。
- 能耗统计:按班次或日统计电、水、气消耗量,常需要将瞬时流量对时间积分。
- 报警汇总:统计某时间段内各类报警的发生次数、持续时间和确认情况。
这些需求的共同点是:数据来自现场,但最终要以“人可读、可核对、可存档”的形式呈现。报表不是简单地把数据库记录打印出来,而是要按照业务口径进行筛选、分组、计算和格式化。例如“合格品数”可能来自一个计数器变量,但需要按班次清零;“平均温度”需要在归档数据上做算术平均,而不是取某个瞬时值。理解业务口径,是报表工程能否真正可用的关键。
1.3 数据分析在工业场景中的价值
报表解决的是“把数据整理出来”,数据分析解决的是“从数据中看出问题”。在工业场景中,数据分析的价值通常体现在三个层面:
第一,发现异常。通过对比不同班次、不同设备的产量和停机时间,可以快速定位哪台设备拖了后腿。例如某台包装机白班运行 7.2 小时、中班运行 5.8 小时,差异明显,就需要进一步查看中班是否有频繁的短时停机。
第二,支持决策。能耗报表可以反映某条产线在低谷电价时段是否安排了足够的生产,工艺参数报表可以判断某批次产品是否偏离了历史稳定区间。这些信息比单点报警更有利于管理人员做排产和维护计划。
第三,形成追溯依据。当客户投诉某批产品时,能够调出该批次生产时的关键参数记录,判断是否存在工艺偏离。这要求报表数据在时间上连续、在批次上可关联,也要求归档和用户归档设计合理。
需要提醒的是,数据分析的前提是数据可信。如果归档周期设置过粗、变量量程与实际不符、班次时间定义混乱,那么再漂亮的报表也可能得出错误结论。因此,报表工程往往需要和现场仪表、PLC 程序、生产管理制度一起核对。
1.4 课程项目对象与最终交付物
为了让后续章节有统一的练习对象,本课程设定一个典型的教学项目:一条小型灌装生产线。该产线包含进瓶、灌装、旋盖、贴标和装箱五个工位,由一台 S7-1200 PLC 控制,上位机使用 WinCC 7.5 SP2。主要变量包括:
| 变量名 | 含义 | 数据类型 | 归档方式 |
|---|---|---|---|
| Line_Speed | 产线速度 | Real | 周期 1 min |
| Fill_Temp | 灌装温度 | Real | 周期 1 min |
| Good_Count | 合格品计数 | Int | 变化归档 |
| Reject_Count | 废品计数 | Int | 变化归档 |
| Run_Status | 运行状态(1运行/0停机) | Bool | 变化归档 |
| Energy_kWh | 电能累计 | Real | 周期 5 min |
课程最终要交付的成果包括:一份可按班次打印的生产班报,一份可按批次查询的工艺参数追溯表,以及一份可导出为 Excel 的设备停机统计表。班报中需要出现产量、废品率、平均灌装温度、运行时间和停机时间;追溯表需要按批次号列出温度最大值、最小值和平均值;停机统计表需要按停机原因分类汇总停机时长。