1. WinCC 配方基础认知:什么是配方?

大家好,我是老张。做自动化这行十几年了,今天咱们开始聊 WinCC 配方。

很多刚入行的朋友一听到「配方」两个字,第一反应就是:哦,做面包的配方?做药的配方?

嗯,差不多是这个意思。但工业上的配方,说白了就是一组生产参数的集合。

1.1 什么是配方?

举个例子你就明白了。

我在一个饮料灌装厂做过项目。同一个产线,早上生产可乐,下午生产雪碧,晚上生产芬达。三种饮料的灌装温度、压力、流量、时间都不一样。

如果没有配方,操作工就得手动改几十个参数。改错一个,整批报废。

有了配方呢?

  • 可乐配方:温度 4°C,压力 0.3MPa,灌装时间 2.5s
  • 雪碧配方:温度 6°C,压力 0.35MPa,灌装时间 2.8s
  • 芬达配方:温度 5°C,压力 0.32MPa,灌装时间 2.6s

操作工在触摸屏上点一下「切换配方」,所有参数自动写入 PLC。省事,而且不出错。

配方的核心定义:配方是生产某一特定产品所需的全部工艺参数、设备设定值和操作指令的集合。它把「经验」变成了「可复用的数据」。

1.2 配方在工业自动化中的作用

我总结了一下,配方在产线上主要干四件事:

作用 说明 我见过的坑
减少换产时间 从 A 产品切换到 B 产品,一键完成参数切换 曾经有个客户换产要 40 分钟,用了配方后降到 5 分钟
消除人为错误 操作工不再需要手动输入几十个参数 有一次操作工把温度单位搞错了,整批报废,损失十几万
保证产品一致性 同一配方,不管谁操作,产出的产品都一样 这个在食品行业特别重要,口味不能变
便于工艺优化 可以保存多个版本的配方,对比哪个参数组合最好 我习惯在配方名称里加版本号,比如「可乐_v2.1」

注意:配方不是万能的。它只解决「参数切换」的问题,不解决「工艺本身不合理」的问题。如果配方参数本身是错的,切换再快也没用。

1.3 WinCC 配方功能概述

WinCC 的配方功能,说白了就是一套数据管理 + 数据读写的工具。

它包含几个核心部件:

  • 配方数据视图:在 WinCC 里编辑和查看配方内容的表格界面
  • 配方变量:配方里每个参数对应的 PLC 变量
  • 配方数据集:一组完整的配方参数,比如「可乐配方」就是一个数据集
  • 配方控件:放在画面上的操作按钮,用来「下载配方到 PLC」或「从 PLC 上传配方」

我刚开始用 WinCC 配方时,最困惑的就是「下载」和「上传」的方向。这里给你说清楚:

操作 方向 实际含义
下载配方 WinCC → PLC 把 WinCC 里保存的配方数据写入 PLC 的变量
上传配方 PLC → WinCC 把 PLC 当前运行的参数值读回到 WinCC 的配方数据集

嗯,这个方向千万别搞反。我见过有人把「下载」当成「从 PLC 读数据」,结果配方一直写不进去,折腾了半天。

1.4 配方系统的整体架构

下面这张图,是我自己画的一个配方系统架构。你看一眼,就能明白配方在整个自动化系统里的位置。

WinCC 配方系统架构图 人机界面(HMI) 配方控件 · 数据显示 · 操作按钮 WinCC 配方管理引擎 配方数据集 · 变量映射 · 数据校验 通信层(SIMATIC NET / 通道) PLC 控制器 DB 数据块 · 配方变量 · 执行逻辑 数据流向 下载:WinCC → PLC 上传:PLC → WinCC 存储:WinCC 本地/数据库 备份:导出为 CSV 文件 典型应用场景 食品饮料 · 制药 化工 · 塑料加工 汽车零部件 · 电子

你看这个架构,从上到下分四层。操作工在 HMI 上点一下「下载配方」,指令经过 WinCC 引擎处理,通过通信层写到 PLC 的 DB 块里。反过来,点「上传配方」,就把 PLC 里的当前值读回来存到 WinCC 的配方数据集里。

我的习惯:做配方项目时,我一般先在 Excel 里把配方参数列清楚,再在 WinCC 里建变量和数据集。这样不容易漏参数。你想想看,要是直接在 WinCC 里敲,敲到一半发现少了一个变量,多麻烦。

1.5 配方的存储方式

WinCC 配方数据存在哪里?这个问题很多人问过我。

主要有两种方式:

  • 文件存储:配方数据保存在 WinCC 项目目录下的 .CSV 文件中。优点是简单,可以直接用 Excel 打开编辑。缺点是数据量大时读写慢。
  • 数据库存储:配方数据保存在 SQL Server 数据库中。优点是速度快,支持多用户并发访问。缺点是需要配置数据库连接。

我个人习惯:小项目(配方数量少于 50 个)用文件存储,大项目(配方数量几百上千)用数据库存储。

对比项 文件存储(CSV) 数据库存储(SQL)
配置难度 简单,开箱即用 需要配置 ODBC 或 SQL 连接
读写速度 一般,数据量大时慢 快,支持索引和缓存
多用户支持 不支持并发写入 支持,有事务管理
数据安全 容易被误删或篡改 有权限控制和备份机制
适用场景 小型单机设备 大型产线或多站系统

避坑指南:我曾经在一个项目里用了文件存储,结果操作工在配方下载过程中直接断电了。CSV 文件损坏,所有配方数据全丢了。后来我学乖了,重要项目一定用数据库存储,并且定期自动备份。

1.6 配方设计的关键点

最后,给你几个我做配方设计时一直遵守的原则:

  1. 变量命名要规范:比如「温度_灌装_可乐」「压力_灌装_可乐」,一看就知道是哪个参数。别用 Tag1、Tag2 这种名字,三个月后你自己都看不懂。
  2. 数据类型要统一:WinCC 配方变量和 PLC 里的变量类型必须一致。WinCC 里是浮点数,PLC 里是整数,写进去就乱码了。
  3. 做好范围校验:配方参数不能超出设备的物理极限。比如温度最高只能设到 100°C,操作工输了个 200°C,设备就烧了。WinCC 里可以做上下限检查。
  4. 保留历史版本:每次修改配方,最好保留旧版本。万一新配方有问题,还能回退。我习惯在配方名称里加日期,比如「可乐_20250115」。

嗯,这一章的内容就这些。配方的概念其实不复杂,但它是整个 WinCC 配方设计的基石。后面的章节,我会带你一步步把配方做出来,从变量创建到画面组态,再到调试运行。

咱们下章见。