2026-01-14 21:57:51 +03:00
2026-01-14 21:33:17 +03:00
2026-01-14 21:33:17 +03:00
2026-01-14 21:33:17 +03:00
2026-01-14 21:33:17 +03:00
2026-01-14 21:33:17 +03:00
2026-01-14 21:57:51 +03:00
2026-01-14 21:33:17 +03:00

python-owen

Библиотека для работы с измерительными приборами фирмы Овен по протоколам Modbus RTU и ОВЕН.

Быстрый старт

Установка

pip install pymodbus==2.5.3
pip install pyserial

⚠️ Важно: Библиотека работает только с pymodbus==2.5.3. Новые версии не поддерживаются!

Пример использования

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 Документация Modbus, ОВЕН
ТРМ136 Документация Modbus, ОВЕН
ТРМ138 Документация Modbus, ОВЕН
ТРМ148 Документация Modbus, ОВЕН
ТРМ151 Документация Modbus, ОВЕН
ТРМ200 Документация Modbus, ОВЕН
ТРМ201 Документация Modbus, ОВЕН
ТРМ202 Документация Modbus, ОВЕН
ТРМ210 Документация Modbus, ОВЕН
ТРМ212 Документация Modbus, ОВЕН
ТРМ251 Документация Modbus, ОВЕН
2ТРМ1 Документация Modbus, ОВЕН

Программируемые реле

Модель Страница продукта Протокол
ПР100 Документация Только Modbus

Примечание: ПР100 не поддерживает протокол ОВЕН!

Настройка приборов

Параметры связи

Для работы с прибором необходимо настроить:

  • Скорость: 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 бод
  • Адрес устройства: 0-255 (по умолчанию 16)
  • Формат данных: 8N1, 8E1, 8O1

Пример настройки ТРМ

# Для RS-485
client = OwenClient(
    port='/dev/ttyUSB0',  # COM-порт (Windows: 'COM3')
    baudrate=9600,         # Скорость обмена
    address=16,            # Адрес прибора
    timeout=1.0            # Таймаут ответа
)

Расширение функционала

Библиотека поддерживает добавление новых моделей приборов. Для этого необходимо:

  1. Открыть файл owen/device.py
  2. Добавить конфигурацию для вашей модели по аналогии с существующими
  3. Указать карту регистров согласно документации прибора

Пример добавления нового прибора:

DEVICES = {
    "ТРМ999": {
        "registers": {
            "temperature": {"address": 0x0001, "type": "float"},
            "setpoint": {"address": 0x0005, "type": "float"},
        }
    }
}

📖 Дополнительная информация

📄 Лицензия

Проект является форком: https://github.com/RAA80/python-owen

⚠️ Известные проблемы

  1. pymodbus > 2.5.3 - не совместимы с текущей версией библиотеки
  2. ПР100 - поддерживает только Modbus, протокол ОВЕН не работает
  3. Не все модели были протестированы в реальных условиях
Description
Библиотека для работы с приборами фирмы Овен по протоколам Modbus и ОВЕН
Readme MIT 109 KiB
Languages
Python 100%