2. 旧产线程序资产盘点与逆向分析

把一条运行了十几年的旧产线迁移到 TIA Portal,第一步不是打开软件建项目,而是先把旧系统里"有什么、在哪里、值多少"摸清楚。这一步做不扎实,后面移植时就会出现"程序块搬过去了,但符号全丢""HMI 画面能打开,但变量对不上""驱动参数抄错一位,设备一动就报警"这类返工。资产盘点的目标很明确:把 STEP 7 V5 项目、S7-300/400 站、HMI、驱动装置中的可迁移资产逐项识别、记录、评估,最终输出一份可执行的迁移资产清单。

一、盘点对象:旧系统里到底有哪些资产

一条典型旧产线的程序资产可以分成五类,盘点时要按类逐项过一遍,避免遗漏。

  • 硬件组态:机架、电源、CPU 型号与固件版本、信号模块、通信模块、分布式 I/O(ET200)、总线拓扑。这些决定了迁移后能否用 TIA Portal 的硬件目录重新组态,以及是否需要更换模块。
  • 符号表:共享符号表(Symbols)、符号优先级、数据类型定义(UDT)。符号是程序可读性的根基,旧项目里常见"绝对地址编程 + 少量符号"的混合风格,盘点时要区分哪些块依赖符号、哪些依赖绝对地址。
  • 程序块:OB、FB、FC、DB 的清单,包括块号、块名、语言(LAD/FBD/STL/SCL)、调用关系、是否加密、是否有密码保护。这是迁移工作量的主要来源。
  • HMI 资产:画面数量、变量连接、报警记录、配方、用户管理、脚本。HMI 迁移往往比 PLC 更耗时,因为画面元素和变量绑定关系复杂。
  • 驱动参数:变频器、伺服驱动器的参数集、报文类型、通信地址、电机数据。这部分参数一旦丢失,设备可能无法正常启动。

盘点不是简单列清单,而是要为每一项标注"可迁移性"。例如,S7-300 的 CPU 314C-2DP 在 TIA Portal 中仍有对应型号,属于可直接迁移;而某些早期 CP 通信模块可能已停产,需要评估替代方案。符号表中使用了系统保留字或与 TIA Portal 冲突的名称,也要提前标记,迁移时统一改名。

旧产线程序资产盘点与迁移评估 STEP 7 V5 旧项目 硬件组态 机架/CPU/模块/总线 符号表与 UDT 共享符号/数据类型 程序块 OB/FB/FC/DB 及调用关系 HMI 资产 画面/变量/报警/配方 驱动参数 参数集/报文/电机数据 通信与网络 MPI/DP/PN 地址与拓扑 逆向分析与可迁移性评估 ① 块清单与调用树 块号/语言/加密/被调用次数 ② 符号一致性检查 冲突名/保留字/绝对地址依赖 ③ 硬件型号比对 TIA 目录可替代性/停产风险 ④ HMI 变量映射 连接/变量/画面元素对应 ⑤ 驱动参数导出 参数备份/报文/通信配置 风险标注:加密块/停产模块/缺失源文件 可迁移资产清单 直接迁移 标准 LAD/FBD 块、UDT 需修改后迁移 STL 块、符号冲突、HMI 变量 需重写/替换 加密块、停产模块、旧通信 待确认 源文件缺失、第三方库 清单字段 资产名称 | 类型 | 位置 迁移等级 | 风险 | 备注 输出物 资产清单表 + 风险登记表 + 块调用关系图

二、逆向分析:从"能打开"到"看得懂"

拿到旧项目后,第一步是确认能否正常打开。如果项目有密码保护或源文件缺失,需要先联系原厂或设备供应商获取。打开项目后,不要急着看程序逻辑,先做三件事。

第一,导出块清单。在 STEP 7 V5 的"Blocks"文件夹中,按块号排序,记录每个块的名称、类型、语言、大小、是否加密。重点关注加密块——这些块无法直接查看源码,迁移时只能重写或找原厂要密码。同时用"Reference Data"功能生成调用结构图,看清 OB1 调用了哪些 FB/FC,哪些块是核心逻辑,哪些是辅助功能。

第二,检查符号表。打开 Symbol Table,导出为 Excel 或 CSV。逐项检查:是否有与 TIA Portal 保留字冲突的名称(如 "Time"、"Counter" 等);是否有重复定义;是否有只用了绝对地址而没定义符号的变量。对于 UDT,要确认其成员结构和数据类型是否与 TIA Portal 兼容。旧项目中常见的 "ANY" 指针、间接寻址在 TIA Portal 中语法不同,需要标记出来。

第三,比对硬件型号。在硬件组态中记录每个模块的订货号(Order Number)。到 TIA Portal 的硬件目录中搜索对应型号,确认是否支持。如果模块已停产,需要找替代型号,并评估接线和参数差异。例如,SM 321 数字量输入模块在 TIA Portal 中可能有新型号替代,但端子定义可能不同,需要记录。

三、HMI 与驱动参数的盘点要点

HMI 盘点容易被忽视,但工作量往往很大。打开旧 HMI 项目(如 WinCC flexible 或 ProTool),记录画面数量、每个画面上的元素类型(按钮、指示灯、输入域、趋势图)、变量连接方式。重点检查变量地址是否与 PLC 符号表一致——如果 HMI 用的是绝对地址,而 PLC 迁移后符号变了,HMI 变量就会全部失效。建议在盘点阶段就建立"HMI 变量—PLC 符号"对照表。

驱动参数方面,用驱动调试软件(如 Starter 或 DriveMonitor)连接设备,导出参数集。记录报文类型(如 PZD 字数)、通信地址、电机铭牌数据、加减速时间、限幅值。这些参数在迁移后需要重新写入新驱动或新 PLC 的通信配置中。如果驱动支持参数备份到存储卡,优先做一份完整备份。

四、输出可迁移资产清单

盘点的最终成果是一份结构化的资产清单。清单不需要复杂,但字段要够用。下面是一个示例表格,实际使用时可根据项目规模调整。

资产名称类型位置/块号迁移等级风险说明
OB1程序块OB1直接迁移LAD 语言,无加密
FB10 电机控制程序块FB10需修改使用 ANY 指针,需改为 TIA 语法
FC20 报警处理程序块FC20需重写加密块,无源码
共享符号表符号Symbols需修改含保留字 "Time",需改名
CPU 314C-2DP硬件机架0/槽2直接迁移TIA 目录中有对应型号
CP 342-5硬件机架0/槽4需替换已停产,需评估替代通信方案
HMI 画面 "主界面"HMIScreen1需修改变量使用绝对地址,需重新绑定
变频器 MM440 参数驱动DP 地址 3直接迁移参数已备份,报文类型 PP01
盘点阶段建议遵循"先全后细"的原则:先快速过一遍所有资产,建立总清单;再对高风险项(加密块、停产模块、缺失源文件)逐项深入分析。不要一开始就陷入某个块的逻辑细节,否则容易遗漏整体资产。

完成清单后,还需要做一次交叉验证:把清单中的每个块与调用树对照,确认没有遗漏未被调用的块;把 HMI 变量与 PLC 符号对照,确认没有孤立变量;把驱动参数与通信组态对照,确认地址和报文一致。这一步做完,迁移的"底账"才算真正清楚,后续在 TIA Portal 中建项目、导块、改符号、配硬件时,才能按清单逐项推进,不丢项、不返工。