3. 生产数据对象建模
在PCS 7中,工艺对象、设备模块、参数与状态量原本服务于过程控制与监视,而运营系统(如MES、LIMS、能源管理或数据平台)需要的是可寻址、可订阅、可追溯的数据标签。两者之间的桥梁就是生产数据对象建模:把PCS 7工程中的层级结构、功能块实例和过程值,映射为一套命名稳定、语义清晰、方向明确的数据标签体系。若跳过这一步,直接按PLC地址或画面变量采集,后期一旦设备增删或程序优化,运营侧就会出现大量断链、错位和重复定义。
一、从PCS 7对象层级到标签命名空间
PCS 7的工程视角天然是层级化的:项目(Project)→ 工厂层级(Plant Hierarchy,PH)→ 单元(Unit)→ 设备模块(Equipment Module)→ 控制模块(Control Module,CM)→ 功能块实例与I/O。运营系统需要的标签,应当继承这条层级路径,而不是另起一套命名。推荐采用“区域.单元.设备.功能.参数”的点分命名空间,例如:
AR1.LINE2.REACTOR01.TIC101.PV // 反应器温度过程值
AR1.LINE2.REACTOR01.TIC101.SP // 反应器温度设定值
AR1.LINE2.REACTOR01.PUMP01.RUN // 泵运行状态
AR1.LINE2.REACTOR01.PUMP01.FLT // 泵故障状态
AR1.LINE2.REACTOR01.BATCH01.PHASE // 批次当前阶段
这种命名与PCS 7的PH路径一一对应,既保留了工程语义,又便于运营系统按区域、产线、设备维度做聚合查询。命名中应避免使用中文、空格和特殊符号,统一用大写字母、数字和下划线,长度控制在64字符以内,以兼容主流历史库和消息中间件。
二、工艺对象、设备模块与参数状态量的映射规则
PCS 7中的工艺对象通常对应一个Unit或Equipment Module,其内部由若干Control Module组成。映射时,需要区分三类数据:
- 过程参数(PV/SP/OP):来自模拟量输入、PID等功能块,映射为浮点型标签,需带工程单位、量程和死区。
- 状态量(RUN/FLT/OPEN/CLOSE):来自电机、阀门等设备模块的状态输出,映射为布尔型标签,需明确0/1对应的物理含义。
- 批次与配方信息:来自Batch或配方管理,映射为字符串或枚举型标签,用于批次追溯。
映射的核心原则是:一个运营标签只对应一个PCS 7过程值,不允许多个标签指向同一地址,也不允许一个标签混合多个语义。对于设备模块,建议按“状态+参数”成组映射,例如泵对象映射为RUN、FLT、MODE、CURRENT四个标签,而不是把整个设备压成一个字符串。
三、数据方向与集成接口的对应关系
标签不仅有“读”的方向,也有“写”的方向。PCS 7到运营系统的数据流通常是单向采集,而运营系统下发的配方切换、设定值调整、批次指令则属于反向写入。建模时必须为每个标签标注方向:
- 只读(R):过程值、状态、报警、批次阶段,由PCS 7发布,运营系统订阅。
- 只写(W):配方号、批次指令、设定值,由运营系统下发,PCS 7接收。
- 读写(RW):少数需要双向确认的参数,如模式切换,需带写确认和超时回读。
方向标注直接决定了集成接口的配置。例如采用OPC UA时,只读标签放入Server的AddressSpace供订阅,只写标签通过Method或Write服务暴露;采用SIMATIC IT或开放接口时,则需在接口表中明确每个标签的读写权限和刷新周期。
四、标签属性与质量码的建模
一个可集成的标签,除了名称和地址,还应携带足够的元数据。建议每个标签至少包含以下属性:标签名、中文描述、数据类型、工程单位、量程下限、量程上限、采集周期、数据方向、所属设备、所属工序、质量码规则。其中质量码是运营系统判断数据可用性的关键:PCS 7侧的过程值可能因通道故障、模块失效或通信中断而变为无效,标签必须能传递Good、Bad、Uncertain三种状态,而不是简单地把无效值当0处理。
例如,当TIC101的PV通道断线时,标签值应保持上一次有效值或置为NaN,同时质量码置为Bad,运营系统据此在报表中标记该时段数据不可用,而不是把0℃当作真实温度参与能耗计算。
五、建模成果示例:反应器单元标签清单
以下给出一份可直接参考的标签建模清单示例,覆盖反应器单元的温度、泵、阀门和批次信息。参数为教学示例,实际工程中应按设备手册和工艺要求填写。
| 标签名 | 中文描述 | 类型 | 单位 | 量程 | 方向 | 周期 |
|---|---|---|---|---|---|---|
| AR1.LINE2.REACTOR01.TIC101.PV | 反应器温度过程值 | Float | ℃ | 0~200 | R | 1s |
| AR1.LINE2.REACTOR01.TIC101.SP | 反应器温度设定值 | Float | ℃ | 0~200 | RW | 1s |
| AR1.LINE2.REACTOR01.PUMP01.RUN | 进料泵运行状态 | Bool | - | 0/1 | R | 500ms |
| AR1.LINE2.REACTOR01.PUMP01.FLT | 进料泵故障状态 | Bool | - | 0/1 | R | 500ms |
| AR1.LINE2.REACTOR01.VALVE03.OPEN | 出料阀开到位 | Bool | - | 0/1 | R | 500ms |
| AR1.LINE2.REACTOR01.BATCH01.PHASE | 批次当前阶段 | String | - | 枚举 | R | 事件 |
| AR1.LINE2.REACTOR01.BATCH01.RECIPE | 当前配方号 | String | - | - | W | 事件 |
完成上述映射后,PCS 7中的工艺对象就不再是孤立的控制逻辑,而是运营系统可理解、可查询、可追溯的数据资产。标签清单本身也成为工程与运营之间的接口契约:工程侧按清单发布数据,运营侧按清单订阅和消费,双方对数据含义、方向和质量判断保持一致,后续的接口配置、数据校验和故障排查才有共同依据。