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℃,防止在阈值附近反复启停。

动作序列的设计原则是“先软后硬、先局部后全局、先调节后保护”。以夏季高温报警为例,一个合理的动作序列是:

  1. 二级报警触发后,先开启外遮阳与顶部通风,观察 3 分钟;
  2. 若温度仍上升至 30.5℃,启动湿帘风机降温;
  3. 若温度达到 33℃(严重报警),强制开启全部通风并关闭补光等发热设备,同时推送电话通知;
  4. 若 5 分钟内温度未回落,记录为“联动失效”事件,提示人工到场处置。

动作之间应设置“观察窗口”,而不是所有设备同时全开。这样既能观察每一步的调节效果,也便于事后复盘定位是哪一级联动起了作用。

三、安全边界:联动的“刹车”

联动策略必须有边界约束,否则自动调节可能演变为新的风险源。常见边界包括:

  • 设备保护边界:湿帘风机连续运行不超过设定时长,避免电机过热;加热器与通风不得同时满负荷运行。
  • 作物安全边界:冬季夜间通风降温时,温度不得低于作物低温下限,否则应停止通风并转为内循环。
  • 执行互锁边界:CO₂ 施放期间禁止开启外通风,二者互锁;补光开启时避免遮阳幕完全闭合。
  • 频率与次数边界:同一设备在 10 分钟内启停次数不超过 3 次,防止频繁动作缩短寿命。

这些边界应作为联动动作的“前置判断”写入控制逻辑:每次准备执行动作前,先检查边界条件是否满足,不满足则跳过该动作并记录原因。这样即使传感器漂移或阈值设置不当,系统也不会做出危险动作。

报警分级 → 联动动作序列 → 安全边界 预警(一级) 温度 26.5℃ 持续 5min 降温速率 > 1.5℃/h 动作:记录 + 趋势提示 不强制干预 报警(二级) 温度 ≥ 29℃ 持续 10min CO₂ < 350ppm 持续 15min 动作:自动联动 + 通知 值班人员确认 严重报警(三级) 温度 ≥ 33℃ CO₂ > 1500ppm / 设备失效 动作:强制保护 + 升级通知 人工到场处置 高温报警联动动作序列 ① 开外遮阳 + 顶部通风 观察窗口 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]

配置完成后,判断联动是否“设计正确”,不能只看报警有没有响,而要看三件事:一是分级是否区分度足够,预警与报警之间是否有明显的行为差异;二是动作序列是否可观察,每一步是否有观察窗口和条件判断;三是安全边界是否真正生效,可在测试中人为制造边界冲突(如夜间低温时触发通风请求),观察系统是否按预期跳过动作并记录日志。若日志中出现大量“边界拦截”,说明阈值或联动条件设置偏激进,应回头调整阈值与观察窗口,而不是简单关闭边界。

分级阈值、持续时间与回差三者要一起调:只调阈值容易抖动,只调回差会掩盖真实恶化趋势。建议先用历史数据回放验证分级分布,再上线联动。

综上,报警分级解决“轻重缓急”,联动动作序列解决“先做什么、后做什么”,安全边界解决“什么不能做”。三者共同构成温室报警联动策略的设计骨架,也是后续异常处置流程能够稳定运行的前提。