rsiot_modbus_client/lib.rs
1//! Опрос устройств Modbus, используя библиотеку
2//! [tokio-modbus](https://crates.io/crates/tokio-modbus)
3//!
4//! Ссылки:
5//!
6//! - [Документация docs.rs](https://docs.rs/rsiot-modbus-client/latest/)
7//!
8//! - [Репозиторий
9//! GitHub](https://github.com/Konstantin-Dudersky/rsiot/tree/main/rsiot-modbus-client)
10//!
11//! - [Примеры](https://github.com/Konstantin-Dudersky/rsiot/tree/main/rsiot-modbus-client/examples)
12//!
13//! ## Тестирование
14//!
15//! Готовый docker-образ для тестов - [GitHub](https://github.com/cybcon/modbus-server).
16//!
17//! Запускается через docker compose в корне. [Инструкция](../doc/development.md).
18//!
19//! # Диаграмма
20//!
21//! 
22#![doc = include_str!("../doc/component-modbus-client.svg")]
23//!
24//! # Пример
25//!
26//! ```rust
27#![doc = include_str!("../examples/modbus_tcp_client.rs")]
28//! ```
29//!
30//! TODO - рестарт не работает
31
32#![cfg(any(target_arch = "x86_64", target_arch = "aarch64"))]
33
34mod component;
35mod config;
36pub mod conversion;
37mod error;
38mod fn_process;
39
40/// Обмен данными с устройством, поддерживающим Modbus TCP сервер.
41///
42/// См. [документацию](https://docs.rs/rsiot-modbus-client/latest/)
43pub mod cmp_modbus_client {
44 pub use crate::component::Cmp;
45 pub use crate::config::*;
46 pub use crate::conversion;
47}
48
49type Result<T> = std::result::Result<T, error::Error>;