ЛР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)
- завантажте та встановіть дистрибутив https://sourceforge.net/projects/modrssim2/
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. Необов’язкове завдання.
Спробуйте в якості імітатора ПЛК використати:
- імітатор Unity PRO з демо-проектом, наприклад з лабораторних робіт по ЛМІ https://drive.google.com/open?id=0B2FfwwwweBSVRWw4eDVreE1Lb1k
- імітатор Unity PRO або М221 з проектом керування роботизованою установкою http://www.iasu-nuft.pp.ua/virtualnij-trenazer-projectprogrammer