Шлюз протоколов промышленного интернета вещей. Быстрый старт.
Шлюзы Weintek IIoT cMT-G0X позволяют передавать данные в сервисы Интернета Вещей, облегчая интеграцию, например, диспетчерских систем, систем планирования ресурсов предприятия (ERP) или новых облачных приложений в проектируемую или уже существующую систему.
Шлюзы от Weintek поддерживают ряд функций, среди которых можно выделить следующие:
- OPC UA-сервер для интеграции существующей системы в SCADA программы и др.;
- MQTT брокер для обмена сообщениями по принципу издатель-подписчик;
- Шлюз Modbus TCP/IP;
- Макросы, объект передача данных (Глобальная);
- Функция Pass-through;
- EasyAccess 2.0 (опционально) – сервис удаленного доступа.
В этой статье объясняется:
- Создание проекта для cMT-G01, базовая настройка и использование в качестве сервера OPC UA.
- Настройка и использование устройства 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.