Files
python-owen/README.md
2026-01-14 21:54:47 +03:00

113 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# python-owen
Библиотека для работы с измерительными приборами фирмы [Овен](https://owen.ru) по протоколам Modbus RTU и ОВЕН.
## 🚀 Быстрый старт
### Установка
```bash
pip install pymodbus==2.5.3
pip install pyserial
```
⚠️ **Важно:** Библиотека работает только с `pymodbus==2.5.3`. Новые версии не поддерживаются!
### Пример использования
```python
from owen import OwenClient
# Подключение к прибору
client = OwenClient(port='/dev/ttyUSB0', baudrate=9600, address=16)
# Чтение температуры
temperature = client.read_temperature()
print(f"Температура: {temperature}°C")
# Установка уставки
client.write_setpoint(75.0)
```
## 📋 Поддерживаемые приборы
### Терморегуляторы
| Модель | Страница продукта | Протокол |
|--------|-------------------|----------|
| [ТРМ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://github.com/RAA80/python-owen
## ⚠️ Известные проблемы
1. **pymodbus > 2.5.3** - не совместимы с текущей версией библиотеки
2. **ПР100** - поддерживает только Modbus, протокол ОВЕН не работает
3. Не все модели были протестированы в реальных условиях