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 изменение свойства.