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';