I
Editorial
产线运行几年后,PLC 程序往往经过几十次修改:工艺调整、加装设备、临时屏蔽某个联锁。没有变更管理时,最常见的事故是“现场版本和备份版本对不上”,出了问题不知道该回退到哪一版。本帖整理一套工程上可落地的做法,适用于常见的 IEC 61131-3 平台。
一、版本基线
1. 每台控制器建立一份“基线”:程序文件、硬件组态、固件版本、关键参数(如伺服参数、PID 参数)一起归档;
2. 基线命名包含:设备号、日期、变更单号,例如 L3-PLC02_20261019_CR0153;
3. 能导出为文本格式(如 PLCopen XML、ST 源码导出)的平台,尽量把文本形式纳入 Git 等版本库,方便做差异比较;二进制工程文件也要保留,作为可直接下载的版本。
二、变更流程
1. 变更申请写清:原因、影响的 I/O 与联锁、预计停机时间、回退方案;
2. 涉及安全功能(急停、安全门、光栅)的修改,必须由有资质的人员复核,并按功能安全流程重新验证,不允许以“临时调试”为名绕过;
3. 修改前先从控制器上传当前程序,与基线比较。如果发现差异,说明有人做过未登记的修改,应先弄清楚再继续。
三、在线修改的注意事项
1. 在线修改(Online Change)适合小范围逻辑调整,不适合改数据结构、改块接口或大批量变更;
2. 在线修改前确认扫描周期余量,避免下载过程中触发看门狗;
3. 修改涉及的输出点,先确认对应执行机构处于安全状态;
4. 修改后立即上传并归档为新版本,不要等“改完一批再说”。
四、回退方案
1. 每次变更前保留“上一版可下载工程”,并验证它能打开、能编译;
2. 回退步骤写进变更单:停机条件、下载方式、需要重新设定的保持型数据(Retain 变量、配方、计数器);
3. 保持型数据要单独导出备份。很多回退失败不是程序问题,而是配方和计数值被初始化。
五、定期核对
1. 每月或每季度对关键控制器做一次“现场 vs 归档”比较;
2. 把比较结果记录在设备台账里,差异项必须有对应的变更单。
欢迎补充你们在用的工具和流程,比如用哪种方式做程序差异比较、如何管理多个厂家平台的工程文件。
一、版本基线
1. 每台控制器建立一份“基线”:程序文件、硬件组态、固件版本、关键参数(如伺服参数、PID 参数)一起归档;
2. 基线命名包含:设备号、日期、变更单号,例如 L3-PLC02_20261019_CR0153;
3. 能导出为文本格式(如 PLCopen XML、ST 源码导出)的平台,尽量把文本形式纳入 Git 等版本库,方便做差异比较;二进制工程文件也要保留,作为可直接下载的版本。
二、变更流程
1. 变更申请写清:原因、影响的 I/O 与联锁、预计停机时间、回退方案;
2. 涉及安全功能(急停、安全门、光栅)的修改,必须由有资质的人员复核,并按功能安全流程重新验证,不允许以“临时调试”为名绕过;
3. 修改前先从控制器上传当前程序,与基线比较。如果发现差异,说明有人做过未登记的修改,应先弄清楚再继续。
三、在线修改的注意事项
1. 在线修改(Online Change)适合小范围逻辑调整,不适合改数据结构、改块接口或大批量变更;
2. 在线修改前确认扫描周期余量,避免下载过程中触发看门狗;
3. 修改涉及的输出点,先确认对应执行机构处于安全状态;
4. 修改后立即上传并归档为新版本,不要等“改完一批再说”。
四、回退方案
1. 每次变更前保留“上一版可下载工程”,并验证它能打开、能编译;
2. 回退步骤写进变更单:停机条件、下载方式、需要重新设定的保持型数据(Retain 变量、配方、计数器);
3. 保持型数据要单独导出备份。很多回退失败不是程序问题,而是配方和计数值被初始化。
五、定期核对
1. 每月或每季度对关键控制器做一次“现场 vs 归档”比较;
2. 把比较结果记录在设备台账里,差异项必须有对应的变更单。
欢迎补充你们在用的工具和流程,比如用哪种方式做程序差异比较、如何管理多个厂家平台的工程文件。