Друкувати цей розділДрукувати цей розділ

ЛР1. Основи роботи з Node-RED

5. Робота з Modbus

Node-RED, як правило використовується або на стороні Edge або в якості хмарного додатку. Якщо  Node-RED використовується на стороні Edge в якості програми для концентратора або шлюзу чи маршрутизатору, наприклад на апаратній платформі Raspberry PI, він може збирати дані з різних пристроїв по протоколам промислових мереж. Найбільш поширеним і простим протоколом на сьогоднішній день є Modbus, тому в спільноті Node-RED розробили кілька бібліотек з ним. Таким чином, як варіант Raspberry PI буде взаємодіяти з пристроями по протоколу Modbus TCP/IP, а з іншого боку він буде взаємодіяти з хмарними додатками та сервісами(рис.35)

Для тестування такого рішення можна на перших порах обійтися тільки програмними складовими. Замість ПЛК можна використати імітатор ПЛК, що підтримує Modbus TCP/IP, а замість Raspberry PI – віртуальну машину з ОС Raspbian з усім встановленим ПО, як в реальному залізі. Ще простіше – використовувати тільки Node-RED, який буде з’єднуватися з імітатором ПЛК або імітатором Modbus TCP/IP Server (рис.36). У даній лабораторній роботі в якості імітатора PLC буде використаний пакет Mod_RSsim, який треба попередньо встановити. А в якості бібліотеки Modbus для Node-RED - node-red-contrib-modbustcp.

5.1. Встановити пакет Modbus (node-red-contrib-modbustcp) використовуючи Manage Palette (рис.37)

5.2. Завантажте Modbus PLC Simulator (Mod_RSsim)

5.3. Запустіть на виконання Modbus PLC Simulator C:\Program Files (x86)\EmbeddedIntelligence\Mod_RSsim

Виставте значення в Prot: Modbus TCP

5.4. Ознайомтеся з правилами роботи з бібліотекою https://flows.nodered.org/node/node-red-contrib-modbustcp

5.5. З розділу палітри Inputs вставте елемент modbustcp-read, зайдіть в налаштування. Праворуч поля Server натисніть кнопку з олівцем для створення нового серверу (рис.39).

Після створення серверу налаштуйте зчитування десяти Holding регістрів починаючи з 0-го, як це показано на рис.40.

Зробіть фрагмент програми, показаний на рис.41. Зробіть розгортання проекту,  деактивуйте усі виводи debug окрім останнього.

Змініть значення перших десяти регістрів у програмі Mod_RSsim. Активуйте вікно виводу Debug, там повинні виводитися значення регістрів у вигляді масиву.

Зверніть увагу, що тепер msg.payload є масивом з десяти елементів (Array[10]), тому для роботи з цими значеннями, наприклад виводу на відображення на ВЕБ-сторінці необхідно їх попередньо обробити.

5.6. Модифікуйте програму відповідно до рис.43 – 46. Зробіть розгортання та перевірте чи вірно відображаються значення.

5.7. Для запису по Modbus використайте вузол modbustcp-write з розділу палітри outputs. Модифікуйте програму відповідно до рис.47. Зробіть розгортання проекту і перевірте чи змінюється значення Holding регістру в Mod_RSsim при зміні його через елемент «Задана температура»

5.8. Необов’язкове завдання.

Спробуйте в якості імітатора ПЛК використати: