modbus

Создайте объект 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) задает дополнительные опции с одним или несколькими аргументами пары "имя-значение", используя любой из предыдущих синтаксисов. Для примера можно задать значение тайм-аута. The 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. 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 изменение свойства.

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

свернуть все

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

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

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

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

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

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

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

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

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

Последовательный порт MODBUS соединяется, например 'COM1', заданный в виде вектора символов или строки. Если transport является Serial 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, а некоторые могут использоваться с обоими типами транспорта. Список всех свойств и способов их установки как во время, так и после создания объекта см. в разделе «Настройка свойств для коммуникации MODBUS».

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

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

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

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

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

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

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

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

.
Введенный в R2017a