本页目录
实务 III · PLC、总线与工业系统
层次:本科接触 + 业界日常 | 这是自动化毕业生最可能真正从事的工作。 前面十二页讲的是"控制回路"。但一座工厂有成千上万个回路,还有联锁、报警、操作界面、数据记录、批次管理。本页讲工业自动化的实际形态——它与实验室里的传递函数相距甚远,却是这个专业最大的就业出口。
学习层:把一次 PLC 扫描拆成输入映像、逻辑、输出映像和总线延迟
1. 具体工程谜题:一个 5 ms 的传感器脉冲为什么可能没有触发输出?
假设 PLC 名义扫描周期为 \(20\ \mathrm{ms}\),输入总线耗时 \(1\ \mathrm{ms}\),逻辑执行耗时 \(5\ \mathrm{ms}\),输出总线耗时 \(1\ \mathrm{ms}\)。现场传感器只在某个时刻保持高电平 \(5\ \mathrm{ms}\),而扫描时钟还有确定的抖动。工程师需要回答:输入何时进入 image table,逻辑何时能看到它,输出何时真正刷新,以及短事件会不会落在两次采样之间。
预测门,必须先作答:
- 输入在一次扫描中途变化,正在执行的逻辑会立即看到它吗?
- 宽度小于扫描周期的脉冲是否一定能被 PLC 捕获?
- 现场总线延迟和抖动应放进平均延迟,还是最坏情况账本?
2. 正式模型:四个时间戳比一句“扫描很快”更有用
本实验采用周期扫描的最小时序模型。第 \(k\) 次扫描有开始时刻 \(t_k\),输入映像在
冻结;逻辑读到的是这一时刻的快照,逻辑完成于 \(t_{in,k}+\tau_{logic,k}\),输出映像在
送到现场。名义周期和总线抖动决定下一次 \(t_{k+1}\);平均延迟可以描述典型响应,但输入事件捕获、 watchdog 和安全联锁必须看最坏情况。若事件只在 \([t_a,t_b)\) 内为高,只有某个 \(t_{in,k}\) 落在这个区间内时,普通周期输入才会把它记入 image table;高速计数器、硬件锁存或异步 I/O 是另一种架构,不能套用这个结论。
3. 动手实验:用时间线和扫描 ledger 检查“看见”和“动作”不是同一时刻
先提交三项预测,再调扫描周期、输入/逻辑/输出耗时、总线抖动和事件脉冲的起止时间。SVG 画输入事件、输入映像、逻辑完成和输出更新的时间线;ledger 逐行列 \(t_k,t_{in,k},t_{out,k}\)(ms)、输入是否被采样、输出是否置位,以及相邻扫描的实际周期。结果区把周期范围/平均值、首次输出响应、保守最坏响应界、脉冲 miss 和 jitter 分开,避免把一个持续高电平的重复采样误当成多次独立事件延迟。
JavaScript 失效时的静态 fallback:取名义扫描周期 \(20\ \mathrm{ms}\)、输入/逻辑/输出耗时分别为 \(1/5/1\ \mathrm{ms}\),总线抖动幅值 \(2\ \mathrm{ms}\),事件区间为 \([8,13)\ \mathrm{ms}\)。输入映像采样只发生在离散的输入时间戳,事件宽度虽为 \(5\ \mathrm{ms}\),也不能从“宽度小于扫描周期”直接推出一定捕获;输出更新还要在逻辑和输出总线完成后才发生。数值都是时间单位 ms,不是归一化分数。
| 账本栏 | 含义 |
|---|---|
input image |
输入总线完成时冻结的快照 |
logic result |
只使用该快照计算出的输出映像 |
output update |
输出总线完成后现场才看到的动作 |
miss |
事件没有覆盖任何输入采样时间 |
4. 误区与模型边界
- “PLC 是实时的”需要限定为可证明的时间界:平均扫描时间不能替代最坏逻辑执行时间、通信重传、任务抢占和 watchdog 分析。
- 普通周期输入不是事件捕获器:短脉冲可能 miss;要用硬件锁存、高速计数器、输入中断或改变传感器协议,并重新核对异步竞态。
- 输入映像消除了一类竞态,不会消除全部时序风险:异步总线、跨任务共享、输出刷新顺序和故障安全状态仍需单独定义。
- 工业以太网的“微秒级”是配置和负载相关的:拓扑、同步机制、排队、重传和设备实现会改变延迟/抖动,不能从协议名称直接推导。
5. 正式回到工业控制:把动作链写成可审计的时间契约
一条联锁或闭环至少要给出输入采样、逻辑完成、输出更新和故障反应四个时间点,并同时报告平均值、最大值、抖动范围和事件 miss 机制。只有这样,扫描周期才可以进入第十页的延迟/相位预算,也才能判断某个传感器应留在周期扫描中,还是需要异步硬件路径。
迁移问题:一条高速包装线的光电传感器脉冲宽度只有 \(2\ \mathrm{ms}\),普通 PLC 扫描最坏为 \(18\ \mathrm{ms}\)。你会选择硬件锁存、输入中断、缩短扫描还是改变工艺节拍?请写出捕获率、最坏输出延迟、总线抖动和断电安全状态各自需要的证据。
一、工业控制系统的层级
经典的自动化金字塔(今天正在被扁平化,但仍是有用的框架):
| 层 | 内容 | 时间尺度 |
|---|---|---|
| 现场层 | 传感器、执行器、变频器 | 毫秒 |
| 控制层 | PLC / DCS,执行逻辑与回路控制 | 毫秒–秒 |
| 监控层 | SCADA/HMI,操作画面、报警、趋势 | 秒 |
| 制造执行层 | MES:排产、追溯、质量 | 分钟–小时 |
| 企业层 | ERP:订单、库存、财务 | 天 |
PLC(可编程逻辑控制器)与 DCS(分散控制系统)的传统分工:
- PLC:源于离散制造(装配线、机床),擅长快速逻辑与顺序控制;
- DCS:源于流程工业(化工、电力),擅长大量模拟回路的稳定运行与整体组态;
- 两者的界限今天已相当模糊。
二、PLC 为什么长这样
PLC 的设计哲学与通用计算机完全不同,理解这一点很重要:
扫描循环(scan cycle)——PLC 的核心执行模型:
关键特性:
- 输入映像按具体实现的采样点一次性冻结,程序全程使用这份快照;输出映像在规定的刷新点更新。这消除了程序执行过程中一类输入竞态,但总线、任务和异步 I/O 仍需单独计时;
- 名义扫描周期不天然恒定,也不自动拥有可证明的最坏上界。上界取决于程序 WCET、通信/诊断、任务调度、设备配置和 watchdog 规则;只有把这些纳入测量或分析,才能称为实时约束。
- 看门狗监控超时,程序结构上禁止不确定的长循环。
为什么不能把未做实时配置的普通桌面系统直接当硬实时控制器:通用操作系统通常不承诺所需的最坏调度延迟,垃圾回收、换页或后台任务都可能制造长尾抖动。工业 PC、实时 Linux 与专用运行时可以承担控制,但仍要给出 WCET、调度、I/O 与环境适应性证据。
编程语言(IEC 61131-3:2025 的核心语言表述):
- 梯形图(LD):模仿继电器电路,电气工程师最熟悉;
- 功能块图(FBD):适合表达信号流与 PID 等模块;
- 结构化文本(ST):类 Pascal,适合复杂算法;
- 顺序功能图(SFC):作为组织顺序控制的结构元素,适合批次与流程步骤;
- 指令表(IL):属于历史遗留表示,不再作为当前核心语言依赖。
一个文化观察:梯形图在计算机专业者看来相当"落后",但它让熟悉继电器逻辑的电气技术人员能够直接读懂与维护——在一个必须由现场人员长期维护的系统里,这个可读性优先于表达能力。这与第六页 PID 的胜出逻辑同源:生态与人的因素,常比技术先进性更决定成败。
三、现场总线与工业以太网
现场设备与控制器之间的通信,要求与办公网络完全不同:确定性(延迟有上界)优先于吞吐量。
| 代际 | 代表 | 特点 |
|---|---|---|
| 模拟 | 4–20 mA | 一线一信号;抗干扰、断线可检测(0 mA ≠ 0 值);至今大量使用 |
| 现场总线 | PROFIBUS、Modbus、CAN | 数字、多设备共线 |
| 工业以太网 | PROFINET、EtherCAT、EtherNet/IP | 高速、与 IT 网络融合 |
| 时间敏感网络 | TSN | 在标准以太网上提供确定性 |
4–20 mA 为什么能活这么久:在发射器/接收器满足规定的供电和负载电压合规范围时,电流环对线阻变化不敏感、抗电磁干扰较强,且"活零点"设计使断线(0 mA)可与真实的零值(4 mA)区分。若线阻使设备掉出合规电压范围,信号会失真或无法维持,不能笼统说成不受线阻影响。
EtherCAT 等运动控制总线能做到微秒级同步与百微秒级的循环周期,使多轴协同(数控机床、机器人)成为可能——这直接支撑了第十九页的机器人应用。
四、可靠性与工程实践
工业系统的评价标准与实验室不同——正确性与可用性远高于性能:
- 冗余:双 CPU、冗余电源、冗余网络、热备份切换;
- 无扰维护:在线修改程序、热插拔 I/O(生产线不能停);
- 诊断:设备自诊断、通道级故障定位——维修时间比故障率更影响可用性;
- 报警管理:报警泛滥(alarm flood)是真实事故原因之一——异常时数百条报警同时涌出,操作员无法判断根因。报警的设计与分级本身是一门工程学科(有专门标准);
- 变更管理:任何修改需记录、审核、可回滚。
HMI/SCADA 的设计原则近年有显著变化:从"逼真的彩色仿真画面"转向高性能人机界面——灰底、低饱和度、只用颜色表示异常,使操作员能一眼看出偏离。这是人因工程对自动化的重要贡献:过度装饰的画面反而掩盖了异常信号。
五、工业信息安全(OT 安全)
工业控制系统曾长期依赖"物理隔离",随着 IT/OT 融合,这个假设已不成立。
OT 安全与 IT 安全的优先级不同:
| IT | OT | |
|---|---|---|
| 首要目标 | 机密性 | 可用性与安全(safety) |
| 打补丁 | 按风险尽快处置 | 要经过兼容性验证,并安排维护/停机窗口 |
| 设备寿命 | 3–5 年 | 15–30 年 |
| 后果 | 数据泄露 | 物理伤害、环境事故 |
结构性困难:大量在役设备的协议设计之初没有认证与加密(那个年代假定网络是可信的),且不能随意升级——停机代价极高,且改动需重新验证安全功能。
主流防护思路是纵深防御与分区隔离(如按 IEC 62443 的区域与管道模型划分安全区),配合单向网关、白名单、异常流量监测。本课只讲防护架构的思路,不涉及任何攻击技术细节。
OT 安全的重要性会随联网范围、威胁模型与法规要求变化;无论市场增速如何,它都是一个真实的社会责任问题,因为工业控制系统的失效后果可能直接进入物理世界。
六、这一页与理论的关系
一个诚实的观察:很多工业自动化岗位的日常工作,与前面十二页的理论关系不大——更多是逻辑编程、设备选型、接线调试、故障排查、系统集成。
但理论并非无用,而是分布不均:
- 回路整定、抑制振荡、处理时滞——需要第五、六页;
- 伺服调试、消除机械谐振——需要第五、十二页;
- 先进过程控制(APC)岗位——直接使用 MPC(第十七页);
- 出了问题时,懂理论的人能定位根因,而只会试参数的人只能碰运气。
一个务实的判断:理论的价值在困难场合才显现,而困难场合虽少,却决定了工程师的层次。
七、要点
- 扫描循环 + 确定性是 PLC 的设计核心,实时性优先于算力;
- 梯形图的胜出源于可维护性——生态与人的因素常胜过技术先进性;
- 4–20 mA 的活零点是把故障检测内建进信号的经典设计;
- 工业系统以可用性与安全为第一指标,冗余、诊断、报警管理、变更管理是日常;
- OT 与 IT 的风险排序不同但并非简单相反:机密性、完整性、可用性和 safety 都要按场景权衡,长寿命设备与停机代价会改变处置顺序;
- 理论在困难场合才显价值,但那正是区分工程师水平的地方。
下一页:当控制系统的失效会伤人时——功能安全。这是工业自动化中最严肃、也最有方法论价值的一部分。