Files
python-owen/example/example.py
2026-01-14 21:33:17 +03:00

55 lines
2.2 KiB
Python
Raw Permalink 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.

#! /usr/bin/env python3
"""Пример использования библиотеки."""
import logging
from pymodbus.client.sync import ModbusSerialClient
from serial import Serial
from owen.client import OwenModbusClient, OwenSerialClient
from owen.device import TRM201
logging.basicConfig(level=logging.INFO)
if __name__ == "__main__":
transport = Serial(port="COM5",
baudrate=115200,
stopbits=1,
parity="N",
bytesize=8,
timeout=0.1)
trm = OwenSerialClient(transport=transport, device=TRM201, unit=1, addr_len_8=True) # длина адреса в битах: True=8, False=11
# transport = ModbusSerialClient(method="rtu",
# port="COM5",
# baudrate=115200,
# stopbits=2,
# parity="N",
# bytesize=8, # "rtu": bytesize=8, "ascii": bytesize=7
# timeout=0.1,
# retry_on_empty=True)
# trm = OwenModbusClient(transport=transport, device=TRM201, unit=1)
print(trm)
""" !!!
Если параметр не использует индекс, т.е. index=None,
либо прибор одноканальный и у параметра index=0,
то индекс указывать необязательно
Для многоканальных приборов (например ТРМ202) и протокола Modbus названия
параметров (например IN.T1, IN.T2) для совместимости с протоколом ОВЕН
преобразуются в:
IN.T1 --> name="IN.T", index=0
IN.T2 --> name="IN.T", index=1
"""
name = "SP" # Остальные названия параметров в файле 'device.py' для конкретного устройства
value = trm.get_param(name=name, index=0)
print(f"{name} = {value}")
result = trm.set_param(name=name, index=0, value=value)
print(f"{name} = {result}")