/*!
Попытка разработать подход к программированию на Rust в стиле промышленных ПЛК.
## Структурные единицы
- Функциональные блоки (FB)
### Организационные блоки (OB)
Верхнеуровневые элементы. Выполнены в виде задач tokio. Параллельно можно запускать несколько OB. Поскольку задачи выполняются в разных потоках, нет необходимости вытеснять OB по приоритетам - они выполняются параллельно.
plc-rs не заботится, откуда данные приходят и куда отправляются. Входные данные поступают из брокера сообщений и передаются по каналу в OB. Выходные данные также отправляются в брокер сообщений. Коммуникации с устройствами также программируются во внешних крейтах.
### Функциональные блоки (FB)
Базовые компоненты для построения программы. Сохраняют состояние между вызовами.
*/
mod config;
mod fn_process;
mod new;
pub mod plc;
mod template;
pub use rsiot_component_core::ComponentCollection;
pub use rsiot_messages_core::IMessage;
/// Компонент для исполнения логики наподобие PLC.
///
/// См. [документацию](https://docs.rs/rsiot-plc/latest/)
pub mod cmp_plc {
pub use crate::config::Config;
pub use crate::new::new;
pub use crate::plc;
}