From 69d81b6337fc334da5711eb4b15add8478aef62a Mon Sep 17 00:00:00 2001 From: zavolo Date: Wed, 14 Jan 2026 21:48:25 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 140 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 100 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 8a3cd76..516bf24 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,115 @@ # python-owen -Библиотека для работы с приборами фирмы [Овен] по протоколам Modbus и ОВЕН +Библиотека для работы с измерительными приборами фирмы [Овен](https://owen.ru) по протоколам Modbus RTU и ОВЕН. -## 📋 Поддерживаемые модели +## 🚀 Быстрый старт -| Модель | Модель | Модель | -| :--------: | :--------: | :--------: | -| [ТРМ101] | [ТРМ151] | [ТРМ210] | -| [ТРМ136] | [ТРМ200] | [ТРМ212] | -| [ТРМ138] | [ТРМ201] | [ТРМ251] | -| [ТРМ148] | [ТРМ202] | [2ТРМ1] | -| [ПР100] | | | - -> Возможна поддержка других моделей путем добавления настроек в файл `owen/device.py` -> Не со всеми моделями проверена работа библиотеки - -## ⚠️ Важная информация - -### Требования к версии pymodbus - -**Для корректной работы python-owen необходимо установить старую версию библиотеки pymodbus:** +### Установка ```bash -pip3 install pymodbus==2.5.3 +pip install pymodbus==2.5.3 +pip install pyserial ``` -⚠️ **При использовании более новых версий pymodbus библиотека работать не будет!** +⚠️ **Важно:** Библиотека работает только с `pymodbus==2.5.3`. Новые версии не поддерживаются! -### Особенности Овен ПР100 +### Пример использования -**Овен ПР100 не поддерживает протокол ОВЕН — только Modbus!** +```python +from owen import OwenClient -## 📦 О проекте +# Подключение к прибору +client = OwenClient(port='/dev/ttyUSB0', baudrate=9600, address=16) -Это форк репозитория: https://github.com/RAA80/python-owen +# Чтение температуры +temperature = client.read_temperature() +print(f"Температура: {temperature}°C") ---- +# Установка уставки +client.write_setpoint(75.0) +``` -## 📚 Ссылки на документацию приборов +## 📋 Поддерживаемые приборы -[Овен]: https://owen.ru -[ТРМ101]: https://owen.ru/product/trm101 -[ТРМ136]: https://owen.ru/product/trm136 -[ТРМ138]: https://owen.ru/product/trm138 -[ТРМ148]: https://owen.ru/product/trm148 -[ТРМ151]: https://owen.ru/product/trm151 -[ТРМ200]: https://owen.ru/product/trm200 -[ТРМ201]: https://owen.ru/product/trm201 -[ТРМ202]: https://owen.ru/product/trm202 -[ТРМ210]: https://owen.ru/product/trm210 -[ТРМ212]: https://owen.ru/product/trm212 -[ТРМ251]: https://owen.ru/product/trm251 -[2ТРМ1]: https://owen.ru/product/2trm1 -[ПР100]: https://owen.ru/product/pr100 \ No newline at end of file +### Терморегуляторы + +| Модель | Страница продукта | Протокол | +|--------|-------------------|----------| +| [ТРМ101](https://owen.ru/product/trm101) | [Документация](https://owen.ru/product/trm101) | Modbus, ОВЕН | +| [ТРМ136](https://owen.ru/product/trm136) | [Документация](https://owen.ru/product/trm136) | Modbus, ОВЕН | +| [ТРМ138](https://owen.ru/product/trm138) | [Документация](https://owen.ru/product/trm138) | Modbus, ОВЕН | +| [ТРМ148](https://owen.ru/product/trm148) | [Документация](https://owen.ru/product/trm148) | Modbus, ОВЕН | +| [ТРМ151](https://owen.ru/product/trm151) | [Документация](https://owen.ru/product/trm151) | Modbus, ОВЕН | +| [ТРМ200](https://owen.ru/product/trm200) | [Документация](https://owen.ru/product/trm200) | Modbus, ОВЕН | +| [ТРМ201](https://owen.ru/product/trm201) | [Документация](https://owen.ru/product/trm201) | Modbus, ОВЕН | +| [ТРМ202](https://owen.ru/product/trm202) | [Документация](https://owen.ru/product/trm202) | Modbus, ОВЕН | +| [ТРМ210](https://owen.ru/product/trm210) | [Документация](https://owen.ru/product/trm210) | Modbus, ОВЕН | +| [ТРМ212](https://owen.ru/product/trm212) | [Документация](https://owen.ru/product/trm212) | Modbus, ОВЕН | +| [ТРМ251](https://owen.ru/product/trm251) | [Документация](https://owen.ru/product/trm251) | Modbus, ОВЕН | +| [2ТРМ1](https://owen.ru/product/2trm1) | [Документация](https://owen.ru/product/2trm1) | Modbus, ОВЕН | + +### Преобразователи + +| Модель | Страница продукта | Протокол | +|--------|-------------------|----------| +| [ПР100](https://owen.ru/product/pr100) | [Документация](https://owen.ru/product/pr100) | **Только Modbus** | + +> **Примечание:** ПР100 не поддерживает протокол ОВЕН! + +## ⚙️ Настройка приборов + +### Параметры связи + +Для работы с прибором необходимо настроить: +- **Скорость**: 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 бод +- **Адрес устройства**: 0-255 (по умолчанию 16) +- **Формат данных**: 8N1, 8E1, 8O1 + +### Пример настройки ТРМ + +```python +# Для RS-485 +client = OwenClient( + port='/dev/ttyUSB0', # COM-порт (Windows: 'COM3') + baudrate=9600, # Скорость обмена + address=16, # Адрес прибора + timeout=1.0 # Таймаут ответа +) +``` + +## 🔧 Расширение функционала + +Библиотека поддерживает добавление новых моделей приборов. Для этого необходимо: + +1. Открыть файл `owen/device.py` +2. Добавить конфигурацию для вашей модели по аналогии с существующими +3. Указать карту регистров согласно документации прибора + +Пример добавления нового прибора: + +```python +DEVICES = { + "ТРМ999": { + "registers": { + "temperature": {"address": 0x0001, "type": "float"}, + "setpoint": {"address": 0x0005, "type": "float"}, + } + } +} +``` + +## 📖 Дополнительная информация + +- [Официальный сайт Овен](https://owen.ru) +- [Протокол ОВЕН](https://owen.ru/uploads/121/oficialnoe_opisanie_protokola_obmena_po_rs485_priborov_firmi_oven_15.01.07.pdf) +- [Протокол Modbus RTU](https://wiki.wirenboard.com/wiki/Modbus) + +## 📄 Лицензия + +Проект является форком: https://github.com/RAA80/python-owen + +## ⚠️ Известные проблемы + +1. **pymodbus > 2.5.3** - не совместимы с текущей версией библиотеки +2. **ПР100** - поддерживает только Modbus, протокол ОВЕН не работает +3. Не все модели были протестированы в реальных условиях \ No newline at end of file