核心原则:STOP 模式是完整工程下载,不是在线增量修改;兼容性风险主要来自【固件版本、硬件型号、库版本、原有变量 / IO 映射、驱动器参数】,修改编辑、编译、下载前,逐层校验。
一、先锁定硬件 + 固件版本
联机读取目标控制器固件版本联机后查看驱动器 / MCi 模块固件版本,工程设备树必须选择完全匹配的硬件型号 + 固件版本,不能选更高 / 更低固件的设备描述文件。
Machine Control Studio:工程设备选型版本要和驱动器固件严格对齐;固件低于程序要求版本,编译不会报错,但下载后运行异常、指令不支持。 例:MCi210 固件 V01.12,工程不能选用 V01.13 的设备包。
禁止跨硬件系列混用工程
Unidrive M 内置 PLC / MCi200 / MCi210 工程互相不能直接复用;
SyPTPro 老工程(SM-Applications 模块)迁移到 M 系列,要用 SI-APPS 选件做兼容转换,不能直接导入 MCS 工程。
固件升级建议: 现场不轻易升级固件;如果必须升级固件,先备份完整工程 + 驱动器全部参数,固件升级后,重新打开工程,重新编译校验。
二、软件与库文件版本兼容
软件版本匹配使用和目标固件配套的 Machine Control Studio 版本,高版本 MCS 打开旧工程后不要自动升级工程格式,一旦升级,低版本固件无法加载。
操作:打开旧工程时,弹窗提示升级工程,选择【否】,保持原有工程格式。
标准库 / 运动库版本锁定
编辑新增功能块时,不要随意更新库文件;固定当前工程库版本。
编译时看输出窗口警告:如果提示 “库版本不匹配、函数块定义变更”,停止修改,回退到原有库。
典型问题:新版本运动库新增的凸轮、电子齿轮指令,老固件不支持,编译通过但下载后程序报错停机。
三、编辑程序时的代码层面兼容性规范
IO 地址、驱动器参数索引不要改动原有映射(如无必要)尼得科 PLC 大量直接访问驱动器菜单参数(MM.PPP)。原有成熟程序的参数索引、IO 物理地址不要随意修改;新增变量不要占用原有已经在用的地址。
推荐:新增逻辑用新变量,不要复用原有全局变量;变量命名、地址保持和旧工程一致。
变量保持(Retain)兼容性STOP 下载完整工程会重置非保持变量。
原有需要断电保持的变量,保持 Retain 属性不变;新增保持变量不要占用原有保持区。
下载前导出变量表,对比新旧变量结构,防止保持区溢出、变量错位。
任务配置不能随意改动任务周期、任务优先级、任务触发源(如 EtherCAT 同步任务)是强硬件绑定。
现场工程:不要修改原有主任务周期;新增任务前确认固件支持多任务,否则下载后直接任务报错。
指令兼容性 只使用当前固件支持的 IEC61131 标准指令,不要使用固件不支持的扩展函数块。
编译信息窗口会提示不支持的指令;有红色报错不能下载;黄色警告必须逐条评估。
四、工程备份与比对
修改前联机,上载现场原有完整工程 + 驱动器全部参数,单独存档,命名标注版本号;SmartCard 可以备份驱动器参数与 PLC 程序作为应急回滚包 。
编辑完成编译后,离线比对新旧工程差异:
变量列表、POU 程序、硬件配置、任务、EtherCAT / 现场总线 PDO 映射;
重点检查:IO 映射、驱动器参数读写地址、全局变量结构。
只保留本次需要修改的逻辑,无关配置全部不动,最大限度减少兼容性变更点。
五、STOP 下载前的预校验流程
PLC 切 STOP;
Build 编译,清除全部 Error,评估所有 Warning;
查看【设备信息】核对固件型号,确认工程设备描述与硬件固件一致;
离线仿真测试(MCS 自带仿真),验证新增逻辑无语法、运行时异常;
小系统优先先下载到同型号备用驱动器做台架测试,验证运行兼容性,再到现场设备下载。
六、下载后验证 + 回滚预案
STOP 下载完成,不直接上负载 RUN,先空载 RUN,观察报警、任务状态、变量初始值;
出现兼容性异常:立即切 STOP,使用之前备份工程回刷,恢复原有驱动器参数;
总线系统(EtherCAT):下载后检查从站配置,PDO 映射变更极易造成通讯不兼容。
七、常见兼容性故障清单
编译成功,下载后一 RUN 就报错:固件版本低于工程库 / 功能块要求;
变量数值错乱:Retain 保持区结构改动,变量偏移错位;
EtherCAT 从站掉线:PDO 映射修改,固件不支持新的 PDO 配置;
驱动器参数读写出错:参数菜单索引写法变更,老固件不支持新参数编号;
同样工程,A 驱动器正常、B 驱动器报错:两台驱动器固件版本不一致。
极简操作流程总结
备份现场工程 + 驱动器参数 → STOP 联机 → 修改程序(不改动硬件 / 任务 / 原有变量地址)→ Build 编译检查库 / 指令警告 → 核对固件与工程设备版本 → 台架测试(可选)→ STOP 下载 → 空载试运行验证。

