exponenta event banner

Создание соединения MODBUS

Toolbox™ управления приборами поддерживает интерфейс MODBUS через TCP/IP или последовательный RTU. Его можно использовать для связи с серверами MODBUS, такими как ПЛК. Типичный рабочий процесс:

  • Создайте подключение 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'

Создание объекта с использованием транспорта Serial 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. Значение можно изменить либо во время создания объекта, либо после его создания.

Список и описание свойств, которые можно задать для обоих типов транспорта, см. в разделе Настройка свойств для MODBUS Communication.

В этом примере создается объект 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 изменение свойства.