rsiot::components::cmp_plc::plc

Trait IFunctionBlock

source
pub trait IFunctionBlock<I, Q, S> {
    // Required method
    fn logic(input: &mut I, stat: &mut S, fb_system_data: &FbSystemData) -> Q;
}
Expand description

Трейт для логики выполнения блока

Required Methods§

source

fn logic(input: &mut I, stat: &mut S, fb_system_data: &FbSystemData) -> Q

Основная логика выполнения блока

Нужно переопределить для своего функционального блока. Вызывать самому не нужно, вызывается функцией call

TODO: рассмотреть возможность добавления аргумента fn_output, чтобы блок самостоятельно мог генерировать исходящие сообщения

Object Safety§

This trait is not object safe.

Implementors§

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl IFunctionBlock<I, Q, S> for FunctionBlockBase<I, Q, S>

source§

impl<TState> IFunctionBlock<I<TState>, Q<TState>, S<TState>> for FunctionBlockBase<I<TState>, Q<TState>, S<TState>>
where TState: Copy + Default + PartialEq + Serialize,