rsiot/components/cmp_plc/plc/library/event_processing/
define_max_severity.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use super::{event, EventSeverity};

/// Определить макс. уровень из текущих аварий
pub fn define_max_severity(events: &[event::QHmiStatus]) -> EventSeverity {
    let mut max_severity = EventSeverity::default();
    for event in events {
        if event.state == event::State::NoAct_Ack {
            continue;
        }
        if event.event_severity > max_severity {
            max_severity = event.event_severity.clone();
        }
    }
    max_severity
}