modbus имеет следующие свойства.
| Собственность | Тип транспорта | Описание |
|---|---|---|
'DeviceAddress' | Только TCP/IP | IP-адрес или имя хоста сервера MODBUS, например, '192.168.2.1'. Требуется при создании объекта, если транспорт TCP/IP.
|
Port | Только TCP/IP | Удаленный порт, используемый сервером MODBUS. Значение по умолчанию - 502. Необязательно во время создания объекта, если транспорт TCP/IP.
|
'Port' | Только последовательный RTU | Последовательный порт сервера MODBUS подключен, например, к 'COM1'. Требуется при создании объекта, если транспорт является последовательным RTU.
|
Timeout | TCP/IP и последовательный RTU | Максимальное время в секундах ожидания ответа от сервера MODBUS, указанное как положительное значение типа double. Значение по умолчанию: 10. Значение можно изменить либо во время создания объекта, либо после его создания.
|
NumRetries | TCP/IP и последовательный RTU | Число повторных попыток при отсутствии ответа от сервера по истечении тайм-аута. При использовании транспорта Serial RTU сообщение передается повторно. При использовании транспорта TCP/IP соединение закрывается и открывается повторно.
|
'ByteOrder' | TCP/IP и последовательный RTU | Порядок байтов значений, записанных в 16-разрядные регистры или считанных из них. Допустимые варианты: 'big-endian' и 'little-endian'. Значение по умолчанию: 'big-endian'в соответствии со стандартом MODBUS.
|
'WordOrder' | TCP/IP и последовательный RTU | Порядок слов для операций чтения и записи, охватывающий несколько 16-разрядных регистров. Допустимые варианты: 'big-endian' и 'little-endian'. Значение по умолчанию: 'big-endian', и это зависит от устройства.
|
BaudRate | Только последовательный RTU | Скорость передачи битов для связи через последовательный порт. Значение по умолчанию - 9600 бит в секунду, но фактическое требуемое значение зависит от устройства.
|
DataBits | Только последовательный RTU | Количество передаваемых битов данных. Значение по умолчанию - 8, что является стандартом MODBUS для последовательного RTU. Другие допустимые значения: 5, 6 и 7.
|
Parity | Только последовательный RTU | Тип проверки четности. Допустимые варианты: 'none' (по умолчанию), 'even', 'odd', 'mark', и 'space'. Фактическое требуемое значение зависит от устройства. Если установлено значение по умолчанию noneпроверка четности не выполняется, и бит четности не передается.
|
StopBits | Только последовательный RTU | Количество битов, используемых для указания конца передачи данных. Допустимыми вариантами являются 1 (по умолчанию) и 2. Фактическое требуемое значение зависит от устройства, хотя 1 является типичным для четной/нечетной четности и 2 для отсутствия четности.
|
Задание свойства при создании объекта
Значения свойств можно изменить либо во время создания объекта, либо после его создания.
Вы можете создать modbus использование пары имя-значение для задания значения во время создания объекта.
В этом примере создается объект MODBUS и увеличивается Timeout кому 20 секунд.
m = modbus('serialrtu','COM3','Timeout',20)
m =
Modbus Serial RTU with properties:
Port: 'COM3'
BaudRate: 9600
DataBits: 8
Parity: 'none'
StopBits: 1
Status: 'open'
NumRetries: 1
Timeout: 20 (seconds)
ByteOrder: 'big-endian'
WordOrder: 'big-endian'Выходные данные отражают Timeout изменение свойства от значения по умолчанию 10 секунд до 20 секунд.
Задание свойства после создания объекта
Можно изменить свойство в любое время, задав значение свойства с помощью этого синтаксиса после создания объекта MODBUS.
<object_name>.<property_name> = <property_value>
В этом примере используется тот же объект с именем m увеличивает Timeout до 30 секунд.
m = modbus('serialrtu','COM3');
m.Timeout = 30В этом примере изменяется Parity от значения по умолчанию none кому even.
m = modbus('serialrtu','COM3');
m.Parity = 'even';