rsiot/components/cmp_plc/plc/library/event_processing/event/
i.rs

1use serde::{Deserialize, Serialize};
2use uuid::Uuid;
3
4use super::super::EventSeverity;
5
6/// Входная структура
7#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
8pub struct I {
9    /// Идентификатор события
10    pub id: Uuid,
11
12    /// Сигнал наступления события
13    pub signal: bool,
14
15    /// Уровень события
16    pub event_severity: EventSeverity,
17
18    /// Текст события
19    pub text: String,
20
21    /// Команда с hmi
22    pub hmi_command: IHmiCommand,
23}
24
25/// Команда с hmi
26#[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, Serialize)]
27pub enum IHmiCommand {
28    /// Нет команды - по-умолчанию
29    #[default]
30    NoCommand,
31
32    /// Квитирование сообщения из Hmi
33    Ack(Uuid),
34
35    /// Квитирование всех сообщений
36    AckAll,
37}