1. AVEVA系统配置治理导论
在AVEVA工业软件体系中,System Platform、InTouch、PI System等产品往往同时承载着实时监控、历史归档、报警管理、批次控制与数据集成等多重职责。一个中型工厂的AVEVA环境里,可能包含数十个Galaxy、上百个InTouch窗口、数千个PI Tag以及跨多个站点的历史数据库。当这些对象发生版本升级、补丁安装、模型修改或点位增删时,如果没有一套明确的治理机制,系统就会逐渐陷入"能跑但说不清"的状态——没人知道当前生产环境到底运行的是哪个版本,也没人能回答"上周三谁改了那个报警限值"。
这正是配置治理要解决的问题。配置治理(Configuration Governance)是指对AVEVA系统运行所依赖的全部配置对象、版本状态、变更过程与责任归属进行系统化管理的一整套规则、流程与工具。它不等同于简单的备份或文档记录,而是要在"变更发生前有审批、变更过程中有记录、变更完成后可追溯、异常时可回退"四个环节上形成闭环。版本变更管理(Version Change Management)则是配置治理中最活跃的部分,关注的是当软件版本、模型版本或配置版本发生迁移时,如何保证变更受控、影响可评估、结果可验证。
核心定义:配置治理 = 配置项识别 + 版本基线 + 变更控制 + 审计追溯 + 回退能力。缺少任何一项,治理链条都会断裂。
治理的目标与范围
配置治理的目标可以归纳为四个可检验的方向。第一是一致性:开发、测试、生产三套环境的配置差异必须可解释、可枚举,而不是靠记忆。第二是可追溯性:任何一个配置项的当前值,都能回答"谁在什么时候、因为什么、把它从什么改成了什么"。第三是可恢复性:当变更导致异常时,能在可接受的时间内回到已知良好的基线。第四是合规性:满足制药、食品、能源等行业对电子记录与电子签名的审计要求。
治理范围通常覆盖以下对象层次:
- 平台层:System Platform的Galaxy、Engine、Area、AppEngine实例及其部署状态;
- 可视化层:InTouch的Application、Window、Tag定义、脚本与安全配置;
- 数据层:PI System的PI Data Archive、PI AF、PI Vision、接口实例与点位属性;
- 集成层:OPC UA/DA连接、SQL连接、脚本引用、外部系统映射关系;
- 运行环境层:操作系统补丁、.NET版本、授权文件、服务账户与端口配置。
需要强调的是,治理范围不是"所有文件",而是"影响系统行为且变更后需要被感知的对象"。一个InTouch窗口的背景颜色通常不需要纳入治理,但同一个窗口里绑定报警优先级的脚本逻辑必须纳入。
典型AVEVA产品中的治理挑战
不同产品带来的治理难点各有侧重。System Platform的Galaxy采用集中式对象模型,一个模板的修改可能通过继承关系影响数十个实例,这种"一处改、多处动"的传播效应使得变更影响评估变得复杂。InTouch的Tag定义与窗口脚本常常分散在多个开发人员手中,历史上容易出现"同名不同义"或"同义不同名"的情况。PI System的接口与点位数量庞大,点位命名、工程单位、压缩偏差等属性的微小差异,可能在数月后导致历史数据无法对比。
更现实的挑战来自版本升级本身。例如从System Platform 2020 R2升级到2023时,部分AppEngine行为、脚本函数签名或安全模型可能发生变化;InTouch从旧版迁移到新版时,ActiveX控件与脚本兼容性需要逐项验证;PI AF的模板版本升级可能要求重新映射属性。这些变更如果不在受控环境下先验证,直接在生产系统执行,风险极高。
从定义到落地:治理的最小可行起点
对于尚未建立治理体系的团队,不必一开始就追求完整的CMDB或自动化平台。一个可操作的起点是:先为生产环境建立一份"配置基线快照",明确记录当前Galaxy导出包、InTouch应用版本、PI AF模板版本以及关键接口配置。这份快照不需要覆盖所有细节,但必须包含"如果系统崩溃,重建所需的最小信息集"。
接下来,把变更分为三类:常规变更(如新增一个画面、调整一个报警限值)、重要变更(如修改模板继承关系、升级接口版本)、紧急变更(如故障恢复中的临时修改)。常规变更走简化审批,重要变更必须先在测试环境验证并保留验证记录,紧急变更允许先执行但必须在24小时内补录并复核。这种分级策略比"一刀切"更容易在工程团队中持续执行。
判断治理是否有效的三个信号:① 任意时刻能说出生产环境当前运行的具体版本号;② 任意一个配置项能查到最近一次变更的责任人与时间;③ 发生异常时能在30分钟内回到上一个已知良好基线。