modbus

Описание

пример

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'Порт должен быть задан. Этот аргумент является последовательным портом, сервер 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 имя аргумента и 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

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2017a