rsiot/components/cmp_plc/plc/library/drives/select_mode/i.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
use serde::{Deserialize, Serialize};
/// Входная структура
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
pub struct I {
/// Источник выбора режима:
/// - false => из hmi,
/// - true => из plc
pub mode_source: bool,
/// Переключение в режим auto из контроллера
pub mode_auto: bool,
/// Переключение в режим manual из контроллера
pub mode_man: bool,
/// Переключение в режим local из контроллера
pub mode_local: bool,
/// Переключение в режим oos из контроллера
pub mode_oos: bool,
/// Команда с hmi
pub hmi_command: IHmiCommand,
}
/// Команда с hmi
#[allow(non_camel_case_types)]
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
pub enum IHmiCommand {
/// Нет команды - по-умолчанию
#[default]
no_command,
/// Переключение в режим man из hmi
mode_man,
/// Переключение в режим auto из hmi
mode_auto,
/// Переключение в режим local из hmi
mode_local,
/// Переключение в режим oos из hmi
mode_oos,
}