Instrument Control Toolbox™ поддерживает интерфейс MODBUS через TCP/IP или последовательный RTU. Вы можете использовать его для связи с серверами MODBUS, такими как ПЛК. Типичный рабочий процесс:
Создайте соединение MODBUS с сервером или оборудованием.
При необходимости сконфигурируйте соединение.
Выполните операции чтения и записи, такие как связь с контроллером температуры.
Очистите и закройте соединение.
Для связи через интерфейс MODBUS сначала вы создаете объект MODBUS с помощью modbus
функция. Создание объекта также создает соединение. Синтаксис:
<objname> = modbus('Transport', 'DeviceAddress') or <objname> = modbus('Transport', 'Port')
Необходимо задать любой тип транспорта 'tcpip'
или 'serialrtu'
для обозначения протокола, который вы хотите использовать. Затем установите адрес и порт, как показано на следующих разделах. Можно также использовать пары "имя-значение" в создании объекта, чтобы задать такие свойства, как Timeout
и ByteOrder
.
Когда вы создаете объект MODBUS, он соединяется с сервером или оборудованием. Если транспорт 'tcpip'
, затем DeviceAddress
необходимо указать. Порт опциональен и по умолчанию равен 502 (зарезервированный порт для MODBUS). Если транспорт 'serialrtu'
, затем 'Port'
необходимо указать.
Создание объекта с использованием транспорта TCP/IP
Когда транспорт 'tcpip'
, необходимо указать DeviceAddress
. Это IP-адрес или имя хоста сервера MODBUS. Port
- удаленный порт, используемый сервером MODBUS. Порт необязателен и по умолчанию равен 502
, который является зарезервированным портом для MODBUS.
Этот пример создает объект MODBUS m
использование показанного адреса устройства и port
от 308
.
m = modbus('tcpip', '192.168.2.1', 308) m = Modbus TCPIP with properties: DeviceAddress: '192.168.2.1' Port: 308 Status: 'open' NumRetries: 1 Timeout: 10 (seconds) ByteOrder: 'big-endian' WordOrder: 'big-endian'
Создайте объект с использованием последовательного транспорта RTU
Когда транспорт 'serialrtu'
, необходимо указать 'Port'
. Это последовательный порт, к которому подключен сервер MODBUS.
Этот пример создает объект MODBUS m
использование port
от 'COM3'
.
m = modbus('serialrtu','COM3') m = Modbus Serial RTU with properties: Port: 'COM3' BaudRate: 9600 DataBits: 8 Parity: 'none' StopBits: 1 Status: 'open' NumRetries: 1 Timeout: 10 (seconds) ByteOrder: 'big-endian' WordOrder: 'big-endian'
Создайте объект и установите свойство
Можно создать объект с помощью пары "имя-значение", чтобы задать такие свойства, как Timeout
. The Timeout
свойство задает максимальное время в секундах, чтобы дождаться ответа от сервера MODBUS, и значение по умолчанию 10
. Вы можете изменить значение либо во время создания объекта, либо после создания объекта.
Список и описание свойств, которые можно задать для обоих типов транспорта, см. в разделе Настройка свойств для коммуникации MODBUS.
Этот пример создает объект MODBUS с использованием Serial RTU, но увеличивает 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
изменение свойства.