Modbus

Синтаксис

m = modbus(Transport,DeviceAddress)
m = modbus(Transport,DeviceAddress,Port)
m = modbus(Transport,DeviceAddress,Name,Value)
m = modbus(Transport,'Port')
m = modbus(Transport,'Port',Name,Value)

Описание

пример

m = modbus(Transport,DeviceAddress) создает объект MODBUS, m, по транспортному типу Transport с помощью заданного 'DeviceAddress'. Когда транспортом является 'tcpip', DeviceAddress должен быть задан в качестве второго аргумента. DeviceAddress является IP-адрес или имя хоста сервера MODBUS.

пример

m = modbus(Transport,DeviceAddress,Port) дополнительно задает Port. Когда транспортом является 'tcpip', DeviceAddress должен быть задан. Port является удаленным портом, используемым сервером MODBUS. Порт является дополнительным, и он принимает значение по умолчанию к 502, который является зарезервированным портом для MODBUS.

пример

m = modbus(Transport,DeviceAddress,Name,Value) задает дополнительные опции с одним или несколькими аргументами пары "имя-значение" с помощью любого из предыдущих синтаксисов. Например, можно задать значение тайм-аута. Свойство Timeout задает время ожидания, чтобы завершить операции чтения и операции записи в секундах, и значением по умолчанию является 10.

пример

m = modbus(Transport,'Port') создает объект MODBUS m по транспортному типу Transport с помощью заданного 'Port'. Когда транспортом является 'serialrtu', 'Port' должен быть задан. Этот аргумент является последовательным портом, сервер MODBUS соединяется с, такие как 'COM3'.

пример

m = modbus(Transport,'Port',Name,Value) задает дополнительные опции с одним или несколькими аргументами пары "имя-значение" с помощью любого из предыдущих синтаксисов. Например, можно задать NumRetries, количество повторений, чтобы выполнить, если нет никакого ответа с сервера после тайм-аута.

Примеры

свернуть все

Когда транспортом является TCP/IP, необходимо задать IP-адрес или имя хоста сервера MODBUS. Можно опционально задать удаленный порт, используемый сервером MODBUS. Значения по умолчанию порта к 502, который является зарезервированным портом для MODBUS.

Создайте объект MODBUS, к которому m с помощью хоста обращается показанный и порт 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'

Объектный вывод показывает и аргументы, которые вы устанавливаете и значения по умолчанию.

Когда транспортом является '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.

Входные параметры

свернуть все

Физический транспортный уровень для коммуникации устройства, заданной как вектор символов или строка. Задайте транспортный тип в качестве первого аргумента, когда вы создадите объект modbus. Необходимо установить транспортный тип или как 'tcpip' или как 'serialrtu' определять протокол, который вы хотите использовать.

Пример: m = modbus('tcpip', '192.168.2.1')

Типы данных: char

IP-адрес или имя хоста сервера MODBUS, заданного как вектор символов или строка. Если транспортом является TCP/IP, он требуется в качестве второго аргумента во время создания объекта.

Пример: m = modbus('tcpip', '192.168.2.1')

Типы данных: char

Удаленный порт используется сервером MODBUS, заданным как двойное. Дополнительный в качестве третьего аргумента во время создания объекта, если транспортом является TCP/IP. Значение по умолчанию 502 используется, если ни один не задан.

Пример: m = modbus('tcpip','192.168.2.1',308)

Типы данных: double

Последовательный порт сервер MODBUS соединяется с, например, 'COM1', задал как вектор символов или строка. Если транспорт является Последовательным RTU, он требуется в качестве второго аргумента во время создания объекта.

Пример: m = modbus('serialrtu','COM3')

Типы данных: char

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: m = modbus('serialrtu','COM3','Timeout',20)

Существует много пар "имя-значение", которые могут использоваться, когда вы создаете объект modbus, включая два, показанные здесь. Некоторые могут только использоваться или с TCP/IP или с Последовательным RTU, и некоторые могут использоваться с обоими транспортными типами. Для списка всех свойств и как установить их обоих в течение и после создания объекта, смотрите Configure Properties для Коммуникации MODBUS.

Максимальное время в секундах, чтобы ожидать ответа с сервера MODBUS, заданного как пара, разделенная запятой, состоящая из 'Timeout' и положительное значение типа double. Значением по умолчанию является 10. Можно изменить значение или во время создания объекта или после того, как вы создадите объект.

Пример: m = modbus('serialrtu','COM3','Timeout',20)

Типы данных: double

Количество повторений, чтобы выполнить, если нет никакого ответа с сервера после тайм-аута, заданного как пара, разделенная запятой, состоящая из 'NumRetries' и положительное значение типа double. При использовании Последовательного транспорта RTU снова посылается сообщение. При использовании транспорта TCP/IP связь закрыта и вновь открыта. Можно изменить значение или во время создания объекта, или после того, как вы создадите объект.

Пример: m = modbus('serialrtu','COM3','NumRetries',5)

Типы данных: double

Введенный в R2017a