Шлюз протоколов промышленного интернета вещей. Быстрый старт.

27 июня 2024 г.

Шлюзы Weintek IIoT cMT-G0X позволяют передавать данные в сервисы Интернета Вещей, облегчая интеграцию, например, диспетчерских систем, систем планирования ресурсов предприятия (ERP) или новых облачных приложений в проектируемую или уже существующую систему.

Шлюзы от Weintek поддерживают ряд функций, среди которых можно выделить следующие:

  • OPC UA-сервер для интеграции существующей системы в SCADA программы и др.;
  • MQTT брокер для обмена сообщениями по принципу издатель-подписчик;
  • Шлюз Modbus TCP/IP;
  • Макросы, объект передача данных (Глобальная);
  • Функция Pass-through;
  • EasyAccess 2.0 (опционально) – сервис удаленного доступа.

В этой статье объясняется:

  1. Создание проекта для cMT-G01, базовая настройка и использование в качестве сервера OPC UA.
  2. Настройка и использование устройства cMT-G01, как MODBUS TCP/IP шлюз.

В качестве примера, на который будем опираться абсолютно во всей статье, используем следующую схему подключения устройств:

Скачать демо-проект

Создание проекта для cMT-G01, базовая настройка и использование в качестве сервера OPC UA

Основные шаги:

1. Создание нового проекта.

2. Добавление драйверов для подключаемых устройств.

3. Настройка OPC UA сервера, создание и назначение адресов для связи с устройствами.

4. Компиляция и загрузка проекта.

4.1. Конфигурация сетевых параметров.

5. Подключение к OPC UA клиенту.

1. Создадим новый проект

Запустим программное обеспечение EasyBuilder Pro, выберем шлюз IIoT Gateway серии, выберем флажок [Использовать шаблон].

Увидим следующий шаблон для работы.

2. Добавим драйверы для подключаемых устройств

Добавим подключаемые устройства через системные параметры. На главном шаблоне выберем [Настройки].

Откроется окно системных параметров, как показано на рисунке. Нажмите [Новое устройство/сервер], чтобы добавить драйверы для подключаемых устройств.

В этом примере участвуют два устройства ввода/вывода с передачей данных по протоколам Modbus TCP/IP и Modbus RTU. Добавим для них драйверы “MODBUS TCP/IP” и “MODBUS RTU (Adjustable)”, задав соответствующие сетевые параметры.

3. Настроим OPC UA сервер

На главном шаблоне выберем [OPC UA]. Во всплывающем окне выберем флажок [Включить].

Выберите папку “Tags” для необходимого устройства и нажмите [Новый тег], чтобы добавить теги, которые необходимо отслеживать по OPC UA.

Добавим числовой тег для устройства Modbus TCP/IP с возможностью чтения и записи значения.

Добавим числовой тег для устройства Modbus RTU только с возможностью чтения значения.

Большое количество тегов можно импортировать в виде файла .xlsx/xls/csv/xml, а также экспортировать для удобного редактирования.

Расширим список тегов, добавив все каналы устройств ввода/вывода.

4. Скомпилируем и загрузим проект в устройство

На главном шаблоне выберем [Загрузить]. Проект автоматически скомпилируется.

4.1. Конфигурация сетевых параметров

По умолчанию сетевые настройки для cMT-G01 mследующие:

Ethernet LAN1: DHCP

Ethernet LAN2: 192.168.100.1

Вы можете изменить IP-адреса LAN1 и LAN2 cMT-G01 в окне загрузки, перейдя в [Поиск и изменение IP].

Настроим сети, согласно схеме подключения. Для LAN1 отключим DHCP, а затем введем IP-адрес, а также маску подсети. Нажмем [Применить], чтобы завершить.

Дождемся всплывающего окна «Настройки Ethernet успешно обновлены».

Также настроим LAN2.

В окне “Загрузить (ПК->Панель)” нажмем [Загрузить] и дождемся загрузки проекта в cMT-G01.

5. Подключение OPC UA клиента

Для проверки работоспособности нашего OPC UA сервера, которым выступает устройство cMT-G01, подключим любой OPC UA клиент на ПК.

В качестве примера возьмем бесплатный клиент UaExpert для ПК, который можно скачать по ссылке: https://www.unified-automation.com/products/development-tools/uaexpert.html

Добавим наш сервер по ссылке, которая указана в настройках сервера: opc.tcp://<HMI IP>:4840/G01, где <HMI IP> – IP-адрес cMT-G01; 4848 – стандартный порт OPC UA; G01 – имя сервера.

Все настройки сервера можно настраивать в проекте EasyBuilder Pro.

Выберем параметры безопасности сервера.

Теперь мы можем выводить теги, которые были раннее добавлены и настроены в сервере OPC UA.

Чтобы наглядно показать работу, соединим первый аналоговый вывод (тег AnalogOut_0) и второй аналоговый ввод (тег AnalogIn_1) наших Modbus TCP и Modbus RTU устройств в схеме.

Запишем значение в AnalogOut_0 равное 5. Видим, что значение AnalogIn_1 также поменялось, что говорит о корректной работе сервера OPC UA cMT-G01.

Настройка и использование устройства cMT-G01, как MODBUS TCP/IP шлюз

1. Настройка Modbus TCP шлюза

В качестве подключаемого устройства можно использовать любой поддерживаемый драйвер от Weintek и преобразовывать его в протокол Modbus TCP для связи с верхним уровнем.

Список всех драйверов: https://www.weintek.com/globalw/Software/PLC.htm.

Через системные параметры добавим новое устройство MODBUS Server. Активируем галочку “Шлюз MODBUS TCP/IP”, нажмем [Таблицы привязки].

Отобразится стандартная таблица привязки адресов, которая преобразует локальные системные регистры (LB, LW, RW) в регистры Modbus.

В нашем случае мы не используем системные регистры, поэтому можем их удалить и добавить регистры подключаемых устройств.

Более подробно с типами MODBUS адресов в EasyBuilder Pro можете ознакомиться в нашей статье: https://weintek.pro/blog/tipy-modbus-adresov-v-easybuilder-pro.

Во всплывающем окне “Таблица настроек” выберем:

Режим адреса – Бит, Слово – в примере [Слово].

Тип адреса – Чтение/Запись, Только чтение, Только запись – в примере [Только чтение]

Адрес MODBUS – тип Modbus адреса и начальное значение адреса, по которому будем обращаться к шлюзу по протоколу Modbus TCP – в примере тип адреса 3x (Чтение значений из группы регистров ввода, 04 код функции Modbus), начальный адрес 1 (получается, что это 30001 Modbus регистр).

Адрес подключенного устройства – устройство из списка устройств, адрес и начальное значение адреса – в примере подключенное устройство имеет тот же протокол Modbus, однако со связью по последовательному интерфейсу RS-485 (Modbus RTU), тип адреса 3x, начальный адрес 0.

Напомним, что подключенным устройством может быть любое устройство, поддерживаемое драйверами Weintek, соответственно адресация подключенного устройства там будет уже другая.

Размер таблицы – число слов/бит, которые будут расположены друг за другом.

Преобразование –замена старших/младших байтов или замена старших/младших слов.

Таким образом мы сопоставили регистры сервера Modbus 3x-1…3x-10 c регистрами подключенного устройства 3x-0…3x-9. Теперь данные для чтения из регистров 3x-0…3x-9 доступны по протоколу Modbus TCP из регистров 3x-1…3x-10.

В списке устройств увидим наш локальный сервер, к которому можно обращаться по протоколу Modbus TCP/IP согласно MODBUS адресам таблицы привязки.

2. Проверка работоспособности шлюза

Будем исходить из нашего примера. Посмотрим схему. Нам необходимо с Modbus TCP ведущего устройства, например, панели Weintek, опросить ведомое Modbus RTU устройство. Так как шлюз и переадресация на cMT-G01 уже настроены, то мы можем с панели по Modbus TCP адресам опросить подключенное к шлюзу устройство.

Чтобы наглядно показать работу, соединим первый аналоговый вывод и второй аналоговый ввод наших Modbus TCP и Modbus RTU устройств в схеме.

Настроим панель.

Сетевые настройки для связи со шлюзом:

Для удобства подключим к панели модуль вывода аналогового сигнала:

Запишем значение модуля аналогового вывода равное 5. Видим, что значение по Modbus TCP адресу корректно прочиталось с подключенного к шлюзу устройства, что говорит о корректной работе шлюза cMT-G01.