3. 报警分级与联动策略设计原则
温室报警联动系统的设计难点,不在于“能不能报警”,而在于“报得准、报得对、报得有用”。如果所有异常都用同一种方式提醒,操作人员很快会陷入报警疲劳;如果联动动作没有边界,又可能造成过度调节甚至设备损坏。因此,本节围绕三个核心问题展开:如何定义预警、报警、严重报警三个等级;如何确定每个等级的联动触发条件与动作序列;如何为联动动作设置安全边界,避免“越联越乱”。
一、三级报警的定义逻辑
报警分级的本质是对“偏离程度”和“后果紧迫性”的二维判断。偏离程度指当前值超出目标区间的幅度与持续时间;后果紧迫性指若不干预,多快会造成作物受害或设备故障。据此可建立如下分级口径:
- 预警(一级):参数已偏离适宜区间,但仍在作物可耐受范围内,属于“趋势性提醒”。例如温度目标 22~26℃,实测 26.5℃ 且持续 5 分钟,或夜间温度下降速率超过 1.5℃/h。预警不要求立即人工干预,但应记录并提示趋势。
- 报警(二级):参数超出耐受区间,若不处理将在数十分钟至数小时内产生可见影响。例如温度达到 29℃ 持续 10 分钟,或 CO₂ 浓度低于 350 ppm 持续 15 分钟。报警应触发自动联动,并通知值班人员。
- 严重报警(三级):参数已进入危险区,或关键设备失效导致调节能力丧失。例如温度 ≥ 33℃、CO₂ 浓度高于 1500 ppm、加热与通风同时失效、传感器断线。严重报警必须触发强制保护动作,并升级通知到负责人。
分级阈值不能照搬,应结合作物种类、生育期和季节调整。以番茄结果期为例,白天适宜温度 22~28℃,夜间 15~18℃;而育苗期对低温更敏感,预警阈值应相应收紧。工程上建议把阈值做成“作物—生育期—时段”三维参数表,而不是写死在程序里。
二、联动触发条件与动作序列
触发条件应同时包含“阈值 + 持续时间 + 方向”三要素,避免瞬时抖动误触发。例如“温度 ≥ 29℃ 且持续 10 分钟”比“温度 ≥ 29℃”更稳健。对于波动大的参数,可加入回差(死区),如温度报警解除阈值设为 27.5℃,防止在阈值附近反复启停。
动作序列的设计原则是“先软后硬、先局部后全局、先调节后保护”。以夏季高温报警为例,一个合理的动作序列是:
- 二级报警触发后,先开启外遮阳与顶部通风,观察 3 分钟;
- 若温度仍上升至 30.5℃,启动湿帘风机降温;
- 若温度达到 33℃(严重报警),强制开启全部通风并关闭补光等发热设备,同时推送电话通知;
- 若 5 分钟内温度未回落,记录为“联动失效”事件,提示人工到场处置。
动作之间应设置“观察窗口”,而不是所有设备同时全开。这样既能观察每一步的调节效果,也便于事后复盘定位是哪一级联动起了作用。
三、安全边界:联动的“刹车”
联动策略必须有边界约束,否则自动调节可能演变为新的风险源。常见边界包括:
- 设备保护边界:湿帘风机连续运行不超过设定时长,避免电机过热;加热器与通风不得同时满负荷运行。
- 作物安全边界:冬季夜间通风降温时,温度不得低于作物低温下限,否则应停止通风并转为内循环。
- 执行互锁边界:CO₂ 施放期间禁止开启外通风,二者互锁;补光开启时避免遮阳幕完全闭合。
- 频率与次数边界:同一设备在 10 分钟内启停次数不超过 3 次,防止频繁动作缩短寿命。
这些边界应作为联动动作的“前置判断”写入控制逻辑:每次准备执行动作前,先检查边界条件是否满足,不满足则跳过该动作并记录原因。这样即使传感器漂移或阈值设置不当,系统也不会做出危险动作。
四、参数配置示例与结果判读
下面给出一段可直接参考的阈值与联动配置样例(示例参数,需按实际作物与设备调整):
alarm_levels:
temp_high:
warning: { threshold: 26.5, duration: 300s, hysteresis: 0.5 }
alarm: { threshold: 29.0, duration: 600s, hysteresis: 1.0 }
critical: { threshold: 33.0, duration: 60s, hysteresis: 1.5 }
co2_low:
warning: { threshold: 400, duration: 600s }
alarm: { threshold: 350, duration: 900s }
linkage:
temp_high_alarm:
- action: open_roof_vent
observe: 180s
- action: start_fan_pad
condition: temp >= 30.5
observe: 300s
temp_high_critical:
- action: force_full_vent
- action: stop_supplement_light
- action: notify_phone
safety_limits:
fan_max_continuous: 1800s
vent_min_temp_night: 15.0
device_max_starts_10min: 3
interlock: [co2_injection, roof_vent]
配置完成后,判断联动是否“设计正确”,不能只看报警有没有响,而要看三件事:一是分级是否区分度足够,预警与报警之间是否有明显的行为差异;二是动作序列是否可观察,每一步是否有观察窗口和条件判断;三是安全边界是否真正生效,可在测试中人为制造边界冲突(如夜间低温时触发通风请求),观察系统是否按预期跳过动作并记录日志。若日志中出现大量“边界拦截”,说明阈值或联动条件设置偏激进,应回头调整阈值与观察窗口,而不是简单关闭边界。
综上,报警分级解决“轻重缓急”,联动动作序列解决“先做什么、后做什么”,安全边界解决“什么不能做”。三者共同构成温室报警联动策略的设计骨架,也是后续异常处置流程能够稳定运行的前提。