反馈系统(feedback) 用传感器检查自己输出的效果,然后做出调整。固定顺序 则无论发生什么,都按同样的顺序执行同样的步骤。判断方法很简单:下一个决定是否取决于新的读数?
拓展:反馈回路稍微超出 Cambridge 大纲列表。放进来是为了帮助你理解自动化系统如何自我修正。
本课建立在追踪系统阶段之上,属于自动化与新兴系统。考试情境常常描述一个系统,问它是否使用反馈,所以读题时先找有没有读数。
怎样区分两者?
针对情境问三个问题:
- 有没有传感器测量被控制的对象?
- 处理器是否用这个读数来选择下一个动作?
- 这个动作是否会改变传感器接下来读到的数值?
三个答案都是“是”,就是反馈系统。如果动作按时间表或计数器进行,并且无视传感器的读数,就是固定顺序。
例题
房间起始温度为 18 °C,目标是 22 °C。每一步中,加热器为 ON 时温度上升 2 °C,为 OFF 时温度下降 1 °C。
反馈版本。 处理器读取温度并套用 IF temp < 22 THEN heater ← "ON" ELSE heater ← "OFF"。
temp ← 18
FOR step ← 1 TO 6
IF temp < 22
THEN
heater ← "ON"
newTemp ← temp + 2
ELSE
heater ← "OFF"
newTemp ← temp - 1
ENDIF
OUTPUT step, temp, heater, newTemp
temp ← newTemp
NEXT step
| step | temp read | heater | temp after |
|---|---|---|---|
| 1 | 18 | ON | 20 |
| 2 | 20 | ON | 22 |
| 3 | 22 | OFF | 21 |
| 4 | 21 | ON | 23 |
| 5 | 23 | OFF | 22 |
| 6 | 22 | OFF | 21 |
固定版本。 第 1 至 3 步加热器为 ON,第 4 至 6 步为 OFF,不管温度是多少。
| step | temp read | heater | temp after |
|---|---|---|---|
| 1 | 18 | ON | 20 |
| 2 | 20 | ON | 22 |
| 3 | 22 | ON | 24 |
| 4 | 24 | OFF | 23 |
| 5 | 23 | OFF | 22 |
| 6 | 22 | OFF | 21 |
两次运行都停在 21 °C,但固定版本把房间推到了 24 °C,比目标高了两度,因为它从不看读数。反馈版本在第 2 步之后一直保持在目标的 1 °C 以内。
要留意的错误
常见的错误是只因为系统有传感器,就称它为“反馈”。
错误答案: “洒水器有湿度传感器,所以一定是反馈。”
学生只看到传感器,没有检查处理器如何使用读数。
如果洒水器只是记录湿度,却仍然每天 06:00 浇水 20 分钟,读数从未改变动作,所以是固定顺序。如果它在湿度达到设定水平时停止浇水,输出就改变了下一个读数,那才是反馈。
自我检测
1. 学校的铃声每天在固定时间响起。是反馈还是固定顺序?
显示答案
固定顺序。 铃声按时间表运行,不读取自己输出的效果。
2. 水箱水泵在水位传感器读到已满时关闭。是反馈还是固定顺序?请说明原因。
显示答案
反馈。 水泵抬高水位,传感器读到新的水位,处理器用它来停止水泵。
3. 在上面的反馈加热器追踪中,为什么第 3 步加热器是 OFF,尽管房间仍低于 24 °C?
显示答案
规则比较的是目标 22,而不是 24。第 3 步的读数是 22,22 < 22 为假,所以加热器 OFF。
接下来学什么
接下来,在解释简单的决策模型中,从一条规则扩展到多个输入。要逐步运行像上面这样的循环,请使用伪代码追踪训练器。
计算机科学补习的老师每次都可以为你设计新的情境,让你在没见过的系统上练习这三个问题的判断法。