exponenta event banner

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

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

Максимальное время в секундах ожидания ответа от сервера 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++ с помощью MATLAB ® Coder™

.
Представлен в R2017a