The modbus объект имеет следующие свойства.
| Свойство | Транспортный тип | Описание |
|---|---|---|
'DeviceAddress' | Только TCP/IP | IP-адрес или имя хоста сервера MODBUS, например '192.168.2.1'. Требуется во время создания объекта, если transport является TCP/IP.
|
Port | Только TCP/IP | Удаленный порт, используемый сервером MODBUS. Значение по умолчанию является 502. Необязательно во время создания объекта, если transport является TCP/IP.
|
'Port' | Только последовательный RTU | Последовательный порт MODBUS соединяется, например, с 'COM1'. Требуется во время создания объекта, если transport является Serial 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';