115 lines
5.1 KiB
Markdown
115 lines
5.1 KiB
Markdown
# 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://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. Не все модели были протестированы в реальных условиях |