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 40 41 42 43 44 45 46 47 48 49
//! Опрос устройств Modbus, используя библиотеку
//! [tokio-modbus](https://crates.io/crates/tokio-modbus)
//!
//! Ссылки:
//!
//! - [Документация docs.rs](https://docs.rs/rsiot-modbus-client/latest/)
//!
//! - [Репозиторий
//! GitHub](https://github.com/Konstantin-Dudersky/rsiot/tree/main/rsiot-modbus-client)
//!
//! - [Примеры](https://github.com/Konstantin-Dudersky/rsiot/tree/main/rsiot-modbus-client/examples)
//!
//! ## Тестирование
//!
//! Готовый docker-образ для тестов - [GitHub](https://github.com/cybcon/modbus-server).
//!
//! Запускается через docker compose в корне. [Инструкция](../doc/development.md).
//!
//! # Диаграмма
//!
//! 
#![doc = include_str!("../doc/component-modbus-client.svg")]
//!
//! # Пример
//!
//! ```rust
#![doc = include_str!("../examples/modbus_tcp_client.rs")]
//! ```
//!
//! TODO - рестарт не работает
#![cfg(any(target_arch = "x86_64", target_arch = "aarch64"))]
mod component;
mod config;
pub mod conversion;
mod error;
mod fn_process;
/// Обмен данными с устройством, поддерживающим Modbus TCP сервер.
///
/// См. [документацию](https://docs.rs/rsiot-modbus-client/latest/)
pub mod cmp_modbus_client {
pub use crate::component::Cmp;
pub use crate::config::*;
pub use crate::conversion;
}
type Result<T, TMessage> = std::result::Result<T, error::Error<TMessage>>;