Instrument Control Toolbox™ поддерживает интерфейс MODBUS по TCP/IP или Последовательному RTU. Можно использовать его, чтобы связаться с серверами MODBUS, такими как PLC. Типичный рабочий процесс:
Создайте связь 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
. Свойство Timeout
задает максимальное время в секундах, чтобы ожидать ответа с сервера MODBUS, и значением по умолчанию является 10
. Можно изменить значение или во время создания объекта или после того, как вы создадите объект.
Для списка и описания свойств можно установить для обоих транспортных типов, видеть Configure Properties для Коммуникации MODBUS.
Этот пример создает объект MODBUS с помощью Последовательного 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
.