4. 生产数据集成总体方案设计
在WinCC与MES集成的项目中,总体方案设计决定了后续所有组态、脚本和接口开发的方向。如果方案阶段只画一张“WinCC→MES”的箭头图,实施时往往会在数据分类、接口选型和实时性要求上反复返工。本节围绕集成层次、数据流向、实时与历史数据分类、接口选型原则以及架构图绘制方法展开,目标是形成一份可直接指导实施的总体方案。
一、集成层次划分
WinCC与MES的集成通常划分为三个层次,每层承担不同的职责,不能混为一谈。
- 现场控制层:PLC、仪表、执行机构,负责产生原始过程数据。WinCC通过S7、Modbus、OPC UA等驱动采集这些数据。
- 监控与集成层:WinCC作为SCADA/HMI系统,负责数据采集、报警、趋势、画面展示,同时作为与MES交互的“数据出口”。这一层是集成的核心,需要明确哪些变量对外发布、以什么频率发布、以什么格式发布。
- 业务管理层:MES负责工单、物料、质量、设备绩效等业务逻辑。MES不直接访问PLC,而是通过WinCC或中间件获取生产数据。
三层之间的边界必须清晰:WinCC不承担MES的业务计算,MES不直接轮询PLC寄存器。集成层的关键设计对象是“数据出口”,即WinCC对外暴露的数据集合及其访问方式。
二、数据流向设计
生产数据集成不是单向的,而是双向的。典型的数据流向包括三条路径:
- 上行数据流(WinCC→MES):设备状态、产量计数、工艺参数、报警事件、质量检测结果等。这是最主要的数据流,通常按周期或事件触发上传。
- 下行数据流(MES→WinCC):工单下发、配方参数、生产指令、目标产量等。MES将工单信息写入WinCC,WinCC再传递给PLC或显示给操作员。
- 横向数据流(WinCC内部):不同产线、不同WinCC站点之间的数据汇总,通常通过WinCC的分布式系统或中央归档实现。
设计数据流向时,必须明确每个数据点的“源”和“目的”,以及触发方式。例如,产量计数适合“变化即上传”,而设备综合效率(OEE)适合“班次结束时批量上传”。
三、实时数据与历史数据的分类
实时数据和历史数据在集成中的处理方式完全不同,必须分类对待。
| 分类 | 典型数据 | 更新频率 | 集成方式 |
|---|---|---|---|
| 实时数据 | 当前温度、压力、运行状态、报警位 | 100ms~1s | OPC UA订阅、WinCC Tag Logging实时接口 |
| 准实时数据 | 产量计数、批次进度、设备状态切换 | 1s~10s | 事件触发写入、WinCC脚本调用MES接口 |
| 历史数据 | 趋势曲线、班次报表、报警历史、质量记录 | 分钟级~班次级 | 数据库查询、WinCC归档导出、MES定时抽取 |
分类的核心依据是“MES需要多快拿到数据”以及“数据是否需要持久化”。实时数据通常不落库,直接通过接口推送;历史数据必须落库,并支持按时间范围查询。在WinCC侧,实时数据对应“变量”,历史数据对应“归档变量”或“用户归档”。
四、接口选型原则
接口选型不是越先进越好,而是要与现有系统、数据量和实时性要求匹配。以下是几条实用原则:
- 优先使用WinCC原生支持的接口:OPC UA是WinCC与MES集成的首选,支持订阅、安全认证和跨平台。如果MES不支持OPC UA,再考虑其他方式。
- 实时性要求决定接口类型:秒级以下用OPC UA订阅或WinCC脚本直接调用;分钟级以上可以用数据库中间表或文件交换。
- 数据量决定传输方式:单点数据用接口调用;批量数据(如班次报表)用数据库或文件方式,避免逐点调用造成性能瓶颈。
- 考虑网络与安全边界:WinCC通常位于控制网,MES位于信息网,之间可能有防火墙。OPC UA over TCP或MQTT适合穿越网络边界,数据库直连则需要开放端口,风险较高。
- 可维护性优先:接口应支持日志记录、断线重连和错误重试。避免使用无日志、无重试机制的“裸Socket”方案。
五、架构图绘制方法
架构图是总体方案的核心交付物,必须让开发人员、MES厂商和现场工程师都能看懂。绘制时遵循以下要点:
- 用分层结构表示控制层、监控层、业务层,层与层之间用箭头标注数据流向和接口协议。
- 在WinCC侧标注具体的数据出口:OPC UA服务器、归档数据库、脚本接口。
- 在MES侧标注接收模块:实时数据服务、工单管理、报表系统。
- 用不同颜色区分实时数据流、历史数据流和控制指令流。
- 标注关键参数:采集周期、批量大小、重试次数、超时时间。
下面是一张典型的WinCC与MES集成架构示意图,展示了三个层次、双向数据流以及接口选型。
绘制架构图时,建议先用纸笔或白板画出三层结构和主要数据流,再补充接口协议和参数。图中每个箭头都应能回答三个问题:传什么数据、用什么协议、多久传一次。如果某个箭头无法回答,说明方案设计还不够细致。
六、方案设计检查要点
完成总体方案后,用以下问题自查:
- 每个数据点是否明确了源、目的、触发方式和频率?
- 实时数据和历史数据是否分开处理,避免用同一条通道传输?
- 接口是否支持断线重连和错误日志?
- 网络边界是否明确,是否需要防火墙规则或DMZ?
- MES侧是否清楚WinCC提供的数据格式和访问方式?
- 架构图是否能让第三方厂商在不看文档的情况下理解数据流向?
总体方案设计完成后,后续的WinCC变量组态、脚本编写、MES接口开发都将以此为依据。方案阶段多花一天时间理清数据流向和接口选型,实施阶段往往能节省一周以上的联调时间。