Aiepco 工业智能体
外包 PLC 编程,该要哪 6 份文档
很多工厂花钱拿到了一套「能跑的程序」,却没拿到让自己日后能独立维护的东西。这一页列出 6 份应当写进合同的交付文档 —— 以及每一份缺了会发生什么。
从一句最常见的话说起
产线一停,第一个问题永远是:我们有程序备份吗?有谁看得懂它?这份清单就是为回答这两个问题准备的。它不是「乙方应该更努力」的道德建议,而是可以逐条写进合同的验收项。
6 份文档
- ① 程序本体(SCL / LAD / FBD)
- 能在 TIA Portal 里打开并重新编译的完整源码。注意:不是「PLC 里正在跑的那一版」—— 只有设备里的程序,意味着每次改动都只能在线改,风险和成本都成倍。
- ② I/O 分配表
- 地址、符号名、工艺含义、信号类型四项齐全。这是电气图纸与程序之间的字典;没有它,每次查一个信号都要靠猜,排查故障的时间会成倍拉长。
- ③ POU 结构说明
- 哪个块负责什么、块与块之间怎么调用。程序难不在于语法,而在于要把几十条因果关系同时装在脑子里 —— 一张好的结构图把它变成看地图。
- ④ 编译日志
- TIA Portal 的真实编译结果,以及每条警告的处置记录。「没有报错」和「能不能编译」是两件事;日志是硬证据,不是承诺。
- ⑤ 静态检查报告
- 按规则做的自动检查结果(除零风险、数组越界、魔法数字、嵌套深度、注释率等),并写明它检查了哪一层、没检查哪一层。
- ⑥ 验证记录与未决项清单
- 仿真轨迹比对、状态转换与定时器时序的核对结果;以及现场未确认条件的清单 —— 每条写明「若是/若否」两种分支动作。这一份几乎没人主动交,但它告诉你:程序对你的厂做了哪些假设。
一句必须说清的实话:静态检查看不见语义错误。把启动条件的 AND 改成 OR(逻辑完全反了),任何基于文本或结构的工具都发现不了。别让任何人用「已经做过静态检查」来暗示「逻辑保证正确」。
把这三句话写进合同
- 交付物清单:逐条列出上面 6 项,并写明文件格式
- 验收标准:写成可验证的断言(例如「按 3.2 节的动作时序连续执行 10 次无误」),而不是「逻辑正确」
- 范围声明:写明哪些事不在范围内 —— 电气设计、成套配电、功能安全(SIL/PL)签字必须由具备资质的一方完成
我们的做法
我们做西门子 S7-1200/1500 的 PLC 程序开发与验证(SCL、LAD、FBD),上述 6 份文档属于标准交付清单,不是加购项。我们同样把边界写在前面:只做程序与验证,不做电气设计,不代签功能安全。