Печатать книгуПечатать книгу

Лабораторне заняття 3. Основи функціонування MODBUS.

Лабораторне заняття 3. Основи функціонування MODBUS.

Сайт: Школа автоматики
Курс: Промислові мережі
Книга: Лабораторне заняття 3. Основи функціонування MODBUS.
Напечатано:: Гость
Дата: Friday, 19 April 2024, 22:00

ЛАБОРАТОРНА РОБОТА

Основи функціонування MODBUS.

Тривалість: 1 акад. година.

Мета: Ознайомитися з принципами роботи Modbus, отримати навики роботи з пристроями Modbus та діагностичними утилітами Modbus Client/Server.

Лабораторна установка.

Мінімально необхідне апаратне забезпечення. Для проведення віртуальної лабораторної роботи потрібен комп’ютер з характеристиками, наведеними в лабораторній роботі №1.  

Апаратне забезпечення, матеріали та інструменти для проведення лабораторної роботи з фізичними пристроями (див.рис.3.1).

  1. Комп’ютер (ПК1) та ПЛК (з підтримкою Modbus RTU Slave та Modbus TCP Server), які з’єднані між собою:
    1. послідовним  інтерфейсом (RS-232 або RS-485);
    2. мережею Ethernet;

Апаратне забезпечення, матеріали та інструменти, що використані у віртуальній лабораторній роботі.

  1. Усі досліди проводяться на віртуальній машині.

 

Програмне забезпечення для проведення лабораторної роботи з фізичними пристроями.

  1. Утиліта CAS Modbus Scanner http://www.chipkin.com/products/software/modbus-software/cas-modbus-scanner/
  2. Середовище виконання та виконавчий проект для ПЛК, з функціоналом, аналогічним описаному в додатку 3.3.

 

Програмне забезпечення, що використане у віртуальній лабораторній роботі.

  1. Утиліта Modbus PLC Simulator http://www.plcsimulator.org/ (необхідно завантажити та встановити на віртуальній машині)
  2. Утиліта CAS Modbus Scanner http://www.chipkin.com/products/software/modbus-software/cas-modbus-scanner/ (вже встановлено на образі віртуальної машини)
  3. Віртуальний нуль-модемний емулятор (com0com) http://sourceforge.net/projects/com0com/?source=navbar (вже встановлено на образі віртуальної машини)
  4. CoDeSys Control Win http://store.codesys.com/codesys-control-win-sl.html (вже встановлено на образі віртуальної машини)
  5. Виконавчий проект CoDeSys  https://drive.google.com/file/d/0B2FfwwwweBSVTm4xTThySm5KSjA/view?usp=sharing (необхідно завантажити і встановити на віртуальну машину)

 

Загальна постановка задачі.

Цілі роботи:

  1.  навчитися працювати з програмним утилітами для Modbus;
  2. перевірити на практиці принципи роботи Modbus: клієнт-серверну взаємодію, Modbus mapping; 
  3. використовуючи Modbus та утиліту Modbus-клієнту керувати та контролювати об’єктом. 

 

Послідовність виконання роботи.

1. Ознайомитись з додатками 3.1-3.3.

2.Реалізувати з’єднання між пристроями.

а)Для реальної установки. Реалізувати з'єднання відповідно до рис.3.1, зробити необхідні налаштування, в тому числі Ethernet, IP-адреси, тощо.

При з’єднанні пристроїв через порти RS-232, один з них повинен обов’язково бути вимкнений!     

б)Для віртуальної установки. Реалізуйте віртуальне нуль-модемне з’єднання між COM3 та COM4, імітуючи роботу ПОВНОГО нуль-модемного кабелю

3. Налаштувати Modbus Server (Modbus RTU Slave та Modbus TCP Server).

а) Для реальної установки. З’єднатися середовищем розробки з ПЛК? налаштувати його на наступні параметри:

  • адреса пристрою (адреса Modbus RTU Slave)

адреса_пристрою = номер_варіанту + 100;

  • бітова швидкість: 19200 для парного варіанту, 9600 - для непарного;
  • паритет: парна - для парного варіанту, непарна - для непарного;

Для усіх вікон налаштувань зробити копії екрану для звіту.        

б) Для віртуальної установки. Завантажити з сайту розробника на віртуальну машину Modbus PLC Simulator (див. Д.3.1). Запустити на виконання. Налаштувати наступні параметри Modbus RTU:

  • вибрана активна адреса веденого пристрою (номер Slave) розраховується за формулою:

адреса_пристрою = номер_варіанту + 100;

  • деактивувати в Modbus PLC Simulator п’ять адрес до і після розрахованої адреси пристрою;
  • виставити максимальну кількість змінних для кожного типу рівною 200 + номер_варіанту
  • налаштувати комунікацію на СОМ3
  • з’єднатися з портом

Для усіх вікон налаштувань зробити копії екрану для звіту.        

4. Налаштувати з’єднання Modbus Client

Запустити на виконання CAS Modbus Scanner. Налаштувати задачі на два з’єднання:

  • з пристроєм Modbus RTU Slave, налаштованим в п.3;
  • з Modbus TCP Slave, відповідно:
  • до його IP адреси (для реальної установки);
  • з IP=127.0.0.1 , Port=502 (для віртуальної установки)     

Зробити копію екранів налаштувань;

5. Зчитування Holding Registers.

У CAS Modbus Scanner добавте запит на читання 5-ти Holding Registers починаючи з номер_варіанту для Modbus RTU.

Змініть у Modbus Server значення цих 5-ти змінних на довільні але різні значення. Запустіть на виконання задачу. Зробіть копії екранів.  

 

6. Читання Input Registers, Coils, Input Bits

Пункт 5 повторіть для Input Registers, Coils, Input Bits.

7. Читання по Modbus TCP.

Пункти 5 та 6 повторіть для Modbus TCP.

8. Одиничний та груповий запис.

У CAS Modbus Scanner для Modbus RTU добавте один груповий запит на запис 5-ти Holding Registers, починаючи з номер_варіанту, та один запит на запис одного Coils. Перевірте як вони працюють. Дискретні значення переведіть в логіну 1. Зробіть копії екранів.    

9. Запуск ПЛК.

Для віртуальної установки. Закрийте програму Modbus PLC Simulator. Завантажте файли середовища виконання для віртуальної лабораторної установки (див. додаток 3.3) та установіть їх на віртуальну машину. Запустіть віртуальний контролер на виконання, введіть свій варіант, впевніться що Ви вірно ввели варіант та перезапустіть контролер.   

10. Керування об’єктом.

Використовуючи CAS Modbus Scanner та зв'язок Modbus RTU добийтесь того, щоб:

  • рівень в баці досягнув значення рівним: номер_варіанту*100+1000;
  • клапан був відкритий на значення: 5000 + номер_варіанту;
  • температура в баці досягнула усталеного значення (не змінювалася);

Після досягнення необхідних вимог зробити копії екранів віртуальної установки та основного вікна CAS Modbus Scanner. Значення усіх змінних запишіть в таблицю в 16-ковому та десятковому вигляді. Поясніть яким чином визначається значення температури.

  

Оформлення звіту.

Після закінчення роботи, відправте звіт у форматі DOC чи PDF, оформлений у вигляді, наведеному в додатку 3.4.

 

Перевірка виконання роботи та питання до захисту.

Викладачем перевіряється виконання всіх пунктів роботи відповідно до занотованих у звіті результатів. Оцінюється повнота результатів. Кінцева оцінка коригується по усному опитуванню при очному спілкуванню. Кожен результат студент повинен пояснити. У випадку виникнення помилок або запитань щодо проведення певного пункту, його необхідно буде повторити.

 

 

ДОДАТОК 3.1. УТИЛІТА MODBUS PLC SIMULATOR.

Д.3.1.1. Призначення (http://www.plcsimulator.org/).     

 Modbus PLC Simulator —  це програма для імітації роботи ПЛК з підтримкою протоколів Modbus RTU Slave, Modbus TCP Server а також деяких інших протоколів промислових мереж. Програма являється безкоштовною, останні версії можна завантажити з сайту автору http://www.plcsimulator.org/downloads. У даній лабораторній роботі ця утиліта використовується для тестування з’єднання програм Modbus -клієнтів з Modbus-сервером.

На віртуальній машині  Modbus PLC Simulator відсутній. Для її встановлення необхідно завантажити зs сторінки автора:

Після завантаження, необхідно запустити на виконання файл Vista_key.reg, для внесення ключа ліцензії в реєстр Windows.

Д.3.1.2. Опис деяких функцій (http://www.plcsimulator.org/documentation ).

Загальний вигляд програми показаний на рис.Д3.1.

Програма може працювати в режимах:

  • перегляду та зміни змінних, або
  • перегляду активності обміну.

Режим перемикається кнопкою "Comms".    

Рис.Д3.1

Перед формуванням з’єднання (до COM-порта або до порту TCP) вибирається потрібний протокол. Далі налаштовуються комунікаційні опції (рис.Д3.2).

Рис.Д3.2

Modbus PLC Simulator може імітувати роботу будь якого Веденого (Slave) і за замовченням імітує їх усіх. У нижній частині вікна видно список вузлів Ведених (Slave), які імітуються. Номер вказує на адресу Веденого, зелений колір вказує на те, що Ведений з даною адресою імітується. Клік по прямокутнику з номером активує/деактивує Веденого зі вказаним номером.

За замовченням змінні Modbus, які імітуються на Ведених є спільними, тобто зміна любої змінної відбувається на усіх Ведених одночасно. Діапазон адрес змінних, які імітуються задається у вікні налаштування імітації ПЛК (рис.Д.3.3). Налаштування "Upper register limits" задає максимальне значення адреси відповідної змінної Modbus.

Змінні Modbus, які необхідно подивитися чи змінити вибираються у верхній частині основного вікна (див.рис.Д3.1) у відповідному спадаючому списку.  Змінні розташовуються в рядках групами. Діапазон
відображених змінних показується в поле Address. Для зміни значення змінної необхідно натиснути на ній і в полі для вводу ввести значення (рис.Д.3.4)

ДОДАТОК 3.2. УТИЛІТА CAS MODBUS SCANNER.

Д.3.2.1. Призначення (http://www.chipkin.com/products/software/modbus-software/cas-modbus-scanner/ ).

CAS Modbus Scanner —  це тестова програма Modbus Client, яка призначена для зчитування/запису змінних Modbus. Вона працює з Modbus RTU та Modbus TCP.

Можливості утиліти:

  • читання coil status (0xxxx), input status(2xxxx), input registers (3xxxx) та holding registers (4xxxx);
  • індивідуальний та груповий запис coil (0xxxx) та holding registers (4xxxx);
  • дані можуть бути відображені в Binary, HEX, Uint16, Int16,Uint32, Int32 та Float32
  • пошук пристроїв в мережі
  • декілька з’єднань
  • працює з RS232, RS485 та TCP
  • безкоштовна

У лабораторних роботах дана програма використовується в якості тестового Modbus Client. Утиліта вже інстальована на віртуальній машині.

Д.3.2.2. Опис деяких функцій.     

Загальний вигляд програми показаний на рис.Д3.5. Для формування запитів, які будуть відправлятися до Modbus Server в даній утиліті використовуються так звані "задачі" (Tasks). Спочатку користувач конфігурує необхідні задачі, а потім запускає їх за допомогою команди Poll. Якщо задача призначена для зчитування змінних, при позитивному результаті виконання задачі, їх значення буде показане у вікні змінних у різному форматі. Журнал повідомлень запитів і відповідей а також результатів виконання задач показаний внизу вікна.  

Рис.Д3.5

Для створення чи редагування задачі необхідно натиснути на кнопку "Edit Tasks". У вікні редагування задачі (Рис.Д.3.6) нові задачі добавляються шляхом поступового створення з'єднання (Add Connection), добавлення пристрою (Add Device), добавлення запиту на читання (Add Request) або на запис (Add Write). При створенні нової задачі слід звернути увагу на наступне:

  • перед добавленням пристрою у списку задач необхідно вибрати з'єднання (Connection)  в межах якого буде даний пристрій
  • перед добавлення запиту треба вибрати пристрій, до якого цей запит буде надсилатися.

Існуючі задачі можна редагувати натиснувши на копку "Edit".

Рис.Д3.6

 

CAS Modbus Scanner має функцію пошуку пристроїв (Discover) на Modbus RTU та в межах однієї IP-адреси  Modbus TCP, а також визначення підтримуваних ним функцій та орієнтовного діапазону досяжних Modbus змінних. Дана функція працює на механізмі поступового формування групових запитів на читання (функції 01,02,03,04) до пристроїв з адресами, визначених в діапазоні Start-End (Рис.Д.3.7). У полі Timeout задається максимальний час очікування відповіді на запит. Рекомендується виставити таймаут в 1 с для пришвидшення пошуку.       

Рис.Д3.7

Приклад роботи CAS Modbus Scanner сумісно з Modbus PLC Simulator показаний на відео.

ДОДАТОК 3.3. ОПИС ВІРТУАЛЬНОЇ ЛАБОРАТОРНОЇ УСТАНОВКИ.

У даній лабораторній роботі використовується віртуальна установка (ПЛК + імітатор об’єкту), які розроблені на базі CodeSys Control Win на кафедрі ІАСУ НУХТ. Віртуальний контролер має інтерфейси Modbus RTU та Modbus TCP. Задача студента – за допомогою утиліти Modbus Client контролювати та керувати об’єктом, маючи карту відображення регістрів (Mapping).

Завантажити файли виконання можна за наступним посиланням. 

https://drive.google.com/file/d/0B2FfwwwweBSVTm4xTThySm5KSjA/view?usp=sharing  Після завантаження Lab3.rar його необхідно розпакувати, скопіювати папку на віртуальну машину та  запустити на виконання  lab3.cmd. 

Д.3.3.2. Опис інтерфейсу. 

На рис.Д.3.8 показаний зовнішній вигляд графічного інтерфейсу віртуальної установки. Після запуску віртуального контролеру CodeSys (див. лабораторну роботу №2), в полі варіанту необхідно вказати свій варіант. Після введення варіанту, в полі ПІБ повинно висвітися прізвище та ім’я студента. Для ініціалізації правильних нааштувань необхідно обов’язково перезавантажити віртуальний ПЛК. Повторне завантаження буде автоматично містити потрібний номер варіанту та потрібні комунікаційні налаштування.

Рис.Д3.8

 

Віртуальний ПЛК має два інтерфейси для роботи з Modbus:

  1. Modbus RTU Slave, 9600 біт/с, без паритету, який використовує на віртуальній машині порт СОМ4; адреса Slave залежить від варіанту і вказується над портом – на вказаному прикладі (рис.Д3.8) – 155.  
  2. Modbus TCP/IP Server, який використовує стек TCP/IP віртуальної машини, до якого можна звернутися через IP адресу 127.0.0.1 (localhost) та TCP-порт 502.  

Таким чином через ці два інтерфейси він виступає в якості Modbus Server (відмінність понять Client-Server, Master-Slave а також деталі роботи Modbus RTU та Modbus TCP/IP розглядаються в наступних темах).     

Віртуальний ПЛК підключений до віртуального об’єкту – баку для нагрівання рідини. Об’єкт керується в дистанційному режимі через Modbus змінні. Номери змінних залежать від варіанту. На рис.Д3.8 показане наступне відображення входів/виходів ПЛК на Modbus змінні:

  • клапан набору (BOOL): 0-й біт в Holdnig Registers 496;
  • клапан зливу (BOOL): 1-й біт в Holdnig Registers 496;
  • клапан нагрівання (INT): Holdnig Registers 497;
  • сигналізатор нижнього рівня (BOOL): 0-й біт в Input Register 496;
  • сигналізатор середнього рівня (BOOL): 1-й біт в Input Register 496;
  • сигналізатор верхнього рівня (BOOL): 2-й біт в Input Register 496;
  • температура (REAL): Input Register 498, 499;

Клапан нагрівання для всіх варіантів змінюється в діапазоні 0-10000. Рівень (номер змінної Modbus необхідно визначити самостійно) в усіх варіантах змінюється в діапазоні 0-10000. Температура має формат REAL і змінюється в залежності від ступені відкриття клапану нагрівання.  

ДОДАТОК 3.4. ОФОРМЛЕННЯ ЗВІТУ.

Пункт 3. Налаштувати Modbus Server (Modbus RTU Slave та Modbus TCP Server).

Навести копії екранів.

Пункт 4. Налаштувати з’єднання Modbus Client.

Навести копії екранів.

Пункт 5. Зчитування Holding Registers.

Навести копії екранів.

Пункт 6. Читання Input Registers, Coils, Input Bits.

Навести копії екранів.

Пункт 7. Читання по Modbus TCP.

Навести копії екранів.

Пункт 8. Одиничний та груповий запис.

Навести копії екранів.

Пункт 10. Керування об’єктом.

Навести копії екранів.

Призначення

Адреса змінної Modbus

Значення в HEX

Значення в DEC

Примітка (для   температури обов’язково)