技术文章迈控星科技

PLC 编程外包的程序交接:源程序、分层结构与离线测试

设备厂把 PLC 程序外包出去,最常见的麻烦出在交付一两年以后:客户要加一个工位、换一个传感器,或者现场出了偶发故障,打开程序却发现块被加了保护,或者逻辑散在几十个块里,没人敢改。原来的外包方联系不上,只能重写。

这类问题在交接那天就能发现。程序交接时,核对三样东西:源程序与注释、程序结构、出厂前的离线测试。

一、源程序与注释

交接的应该是能打开、能编译、能下载的完整工程,而不只是一份能运行的 PLC。以 TIA Portal 项目为例,交接现场可以逐项核对:

核对内容怎么核对
工程完整拿到项目归档文件(.zap),在自己的电脑上用同版本 TIA Portal 打开,硬件组态、PLC 程序、HMI 画面、用到的库都在
没有加保护程序块没有设置专有技术保护(Know-how Protection);如果确需保护,密码随工程一起交接
和现场一致用"在线 / 离线比较"对照现场运行的 PLC,确认交的是最后一版,而不是调试中途的版本
能编译全部编译一遍,没有错误;警告要能说清来源
注释可读变量表有注释,IO 点的注释和电气图上的点位一致;关键程序段有说明

源程序要不要交,最好在合同里写清楚。交接时再谈,往往已经没有余地。

二、程序结构

源程序拿到手,能不能改,取决于结构。同样一台设备,按工程标准分层编写的程序,接手的人能很快找到要改的地方;没有结构的程序,原作者以外的人很难接手。

西门子的 SICAR(汽车行业工程标准)和 Automation Framework(按 ISA-88 分层)都把程序分成几层:设备整体的模式与状态、各工位的流程、单个执行机构(气缸、轴、阀)的控制。每一层只做自己的事,执行机构的程序做成可以重复调用的标准块。

交接时可以请外包方当面演示三件事:

  1. 指定一个工位,说明它的流程在哪个块里、手动和自动模式在哪里切换;
  2. 假设要加一个气缸,演示需要改哪几处;
  3. 触发一个报警,说明报警从哪里产生、在 HMI 上怎么显示、怎么复位。

三件事都能很快讲清楚,说明结构是清楚的。

三、出厂前的离线测试

现场调试时间最贵:设备、人员、客户都在等。程序里的逻辑问题,应该在出厂前解决。

西门子 S7-1500 的程序可以在 PLCSIM 里离线运行:不接实际设备,就能检查流程、联锁和报警。结构复杂的设备,还可以把 PLC 程序接到设备的 3D 模型上做虚拟调试,提前看到动作顺序和节拍。

交接时可以请外包方在 PLCSIM 里跑一遍:

  • 自动流程从头到尾走一个循环;
  • 人为制造一个联锁条件不满足,看设备是否按设计停住;
  • 触发急停,看停机和复位过程。

离线测试做得越充分,到了现场要处理的逻辑问题就越少。

我们的做法

我们的核心团队来自西门子、贝加莱等外资自动化企业,程序按 SICAR、Automation Framework 等工程标准分层编写;出厂前用 PLCSIM 离线测试,复杂设备接 3D 模型做虚拟调试;源程序(含注释)按客户需要完整交付,交付后也可以由我们长期维护。

如果您的设备正在找 PLC 编程外包,欢迎留言写明设备类型、伺服轴数和 PLC 品牌,我们据此给出方案和报价。

微信公众号「MCS迈控星科技」二维码

微信扫码关注公众号「MCS迈控星科技」。

控制系统方案与调试支持

核心团队来自西门子、贝加莱,平均从业 10 年以上。电气设计、电柜、程序与调试,一个团队交付。