Обновлен README.md

This commit is contained in:
2026-01-14 21:48:25 +03:00
parent 40d80ef55e
commit 69d81b6337

140
README.md
View File

@@ -1,55 +1,115 @@
# python-owen # 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 ```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 | [ТРМ101](https://owen.ru/product/trm101) | [Документация](https://owen.ru/product/trm101) | Modbus, ОВЕН |
[ТРМ151]: https://owen.ru/product/trm151 | [ТРМ136](https://owen.ru/product/trm136) | [Документация](https://owen.ru/product/trm136) | Modbus, ОВЕН |
[ТРМ200]: https://owen.ru/product/trm200 | [ТРМ138](https://owen.ru/product/trm138) | [Документация](https://owen.ru/product/trm138) | Modbus, ОВЕН |
[ТРМ201]: https://owen.ru/product/trm201 | [ТРМ148](https://owen.ru/product/trm148) | [Документация](https://owen.ru/product/trm148) | Modbus, ОВЕН |
[ТРМ202]: https://owen.ru/product/trm202 | [ТРМ151](https://owen.ru/product/trm151) | [Документация](https://owen.ru/product/trm151) | Modbus, ОВЕН |
[ТРМ210]: https://owen.ru/product/trm210 | [ТРМ200](https://owen.ru/product/trm200) | [Документация](https://owen.ru/product/trm200) | Modbus, ОВЕН |
[ТРМ212]: https://owen.ru/product/trm212 | [ТРМ201](https://owen.ru/product/trm201) | [Документация](https://owen.ru/product/trm201) | Modbus, ОВЕН |
[ТРМ251]: https://owen.ru/product/trm251 | [ТРМ202](https://owen.ru/product/trm202) | [Документация](https://owen.ru/product/trm202) | Modbus, ОВЕН |
[2ТРМ1]: https://owen.ru/product/2trm1 | [ТРМ210](https://owen.ru/product/trm210) | [Документация](https://owen.ru/product/trm210) | Modbus, ОВЕН |
Р100]: https://owen.ru/product/pr100 | [ТРМ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. Не все модели были протестированы в реальных условиях