1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//! Шаблон для нового функционального блока

use serde::{Deserialize, Serialize};

use crate::plc::function_block_base::{FunctionBlockBase, IFunctionBlock};

#[derive(Clone, Default, Deserialize, Serialize)]
pub struct I {}

#[derive(Clone, Default, Deserialize, Serialize)]
pub struct Q {}

#[derive(Clone, Default, Deserialize, Serialize)]
pub struct S {}

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S> {
    fn logic(&mut self) -> Q {
        Q {}
    }
}

#[allow(dead_code)]
pub type FB = FunctionBlockBase<I, Q, S>;