本页目录

实务 III · PLC、总线与工业系统

层次:本科接触 + 业界日常 | 这是自动化毕业生最可能真正从事的工作。 前面十二页讲的是"控制回路"。但一座工厂有成千上万个回路,还有联锁、报警、操作界面、数据记录、批次管理。本页讲工业自动化的实际形态——它与实验室里的传递函数相距甚远,却是这个专业最大的就业出口。

学习层:把一次 PLC 扫描拆成输入映像、逻辑、输出映像和总线延迟

1. 具体工程谜题:一个 5 ms 的传感器脉冲为什么可能没有触发输出?

假设 PLC 名义扫描周期为 \(20\ \mathrm{ms}\),输入总线耗时 \(1\ \mathrm{ms}\),逻辑执行耗时 \(5\ \mathrm{ms}\),输出总线耗时 \(1\ \mathrm{ms}\)。现场传感器只在某个时刻保持高电平 \(5\ \mathrm{ms}\),而扫描时钟还有确定的抖动。工程师需要回答:输入何时进入 image table,逻辑何时能看到它,输出何时真正刷新,以及短事件会不会落在两次采样之间。

预测门,必须先作答:

  1. 输入在一次扫描中途变化,正在执行的逻辑会立即看到它吗?
  2. 宽度小于扫描周期的脉冲是否一定能被 PLC 捕获?
  3. 现场总线延迟和抖动应放进平均延迟,还是最坏情况账本?

2. 正式模型:四个时间戳比一句“扫描很快”更有用

本实验采用周期扫描的最小时序模型。第 \(k\) 次扫描有开始时刻 \(t_k\),输入映像在

\[ t_{in,k}=t_k+\tau_{in,k} \]

冻结;逻辑读到的是这一时刻的快照,逻辑完成于 \(t_{in,k}+\tau_{logic,k}\),输出映像在

\[ t_{out,k}=t_{in,k}+\tau_{logic,k}+\tau_{out,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 为什么长这样

PLC 的设计哲学与通用计算机完全不同,理解这一点很重要:

扫描循环(scan cycle)——PLC 的核心执行模型:

\[\text{读输入映像} \to \text{执行全部程序} \to \text{写输出映像} \to \text{通信与自检} \to \text{循环}\]

关键特性:

为什么不能把未做实时配置的普通桌面系统直接当硬实时控制器:通用操作系统通常不承诺所需的最坏调度延迟,垃圾回收、换页或后台任务都可能制造长尾抖动。工业 PC、实时 Linux 与专用运行时可以承担控制,但仍要给出 WCET、调度、I/O 与环境适应性证据。

编程语言(IEC 61131-3:2025 的核心语言表述):

一个文化观察:梯形图在计算机专业者看来相当"落后",但它让熟悉继电器逻辑的电气技术人员能够直接读懂与维护——在一个必须由现场人员长期维护的系统里,这个可读性优先于表达能力。这与第六页 PID 的胜出逻辑同源:生态与人的因素,常比技术先进性更决定成败。

三、现场总线与工业以太网

现场设备与控制器之间的通信,要求与办公网络完全不同:确定性(延迟有上界)优先于吞吐量。

代际 代表 特点
模拟 4–20 mA 一线一信号;抗干扰、断线可检测(0 mA ≠ 0 值);至今大量使用
现场总线 PROFIBUS、Modbus、CAN 数字、多设备共线
工业以太网 PROFINET、EtherCAT、EtherNet/IP 高速、与 IT 网络融合
时间敏感网络 TSN 在标准以太网上提供确定性

4–20 mA 为什么能活这么久:在发射器/接收器满足规定的供电和负载电压合规范围时,电流环对线阻变化不敏感、抗电磁干扰较强,且"活零点"设计使断线(0 mA)可与真实的零值(4 mA)区分。若线阻使设备掉出合规电压范围,信号会失真或无法维持,不能笼统说成不受线阻影响。

EtherCAT 等运动控制总线能做到微秒级同步与百微秒级的循环周期,使多轴协同(数控机床、机器人)成为可能——这直接支撑了第十九页的机器人应用。

四、可靠性与工程实践

工业系统的评价标准与实验室不同——正确性与可用性远高于性能:

HMI/SCADA 的设计原则近年有显著变化:从"逼真的彩色仿真画面"转向高性能人机界面——灰底、低饱和度、只用颜色表示异常,使操作员能一眼看出偏离。这是人因工程对自动化的重要贡献:过度装饰的画面反而掩盖了异常信号。

五、工业信息安全(OT 安全)

工业控制系统曾长期依赖"物理隔离",随着 IT/OT 融合,这个假设已不成立。

OT 安全与 IT 安全的优先级不同:

IT OT
首要目标 机密性 可用性与安全(safety)
打补丁 按风险尽快处置 要经过兼容性验证,并安排维护/停机窗口
设备寿命 3–5 年 15–30 年
后果 数据泄露 物理伤害、环境事故

结构性困难:大量在役设备的协议设计之初没有认证与加密(那个年代假定网络是可信的),且不能随意升级——停机代价极高,且改动需重新验证安全功能。

主流防护思路是纵深防御与分区隔离(如按 IEC 62443 的区域与管道模型划分安全区),配合单向网关、白名单、异常流量监测。本课只讲防护架构的思路,不涉及任何攻击技术细节。

OT 安全的重要性会随联网范围、威胁模型与法规要求变化;无论市场增速如何,它都是一个真实的社会责任问题,因为工业控制系统的失效后果可能直接进入物理世界。

六、这一页与理论的关系

一个诚实的观察:很多工业自动化岗位的日常工作,与前面十二页的理论关系不大——更多是逻辑编程、设备选型、接线调试、故障排查、系统集成。

但理论并非无用,而是分布不均:

一个务实的判断:理论的价值在困难场合才显现,而困难场合虽少,却决定了工程师的层次。

七、要点


下一页:当控制系统的失效会伤人时——功能安全。这是工业自动化中最严肃、也最有方法论价值的一部分。