SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
Промислові мережі та інтеграційні технології. Лабораторний практикум. НУХТ. ІАСУ. О.М.Пупена
ЛАБОРАТОРНА РОБОТА № 5 (Дистанційна форма).
Основи функціонування MODBUS TCP/IP.
Тривалість: 1 акад. година.
Мета: Ознайомитися з принципами роботи Modbus TCP/IP, отримати навики побудови
та розшифрування кадрів Modbus TCP/IP.
Лабораторна установка.
Мінімально необхідне апаратне забезпечення. Для проведення віртуальної
лабораторної роботи потрібен комп’ютер з характеристиками, наведеними в лабораторній
роботі №1.
Апаратне забезпечення, матеріали та інструменти для проведення лабораторної
роботи з фізичними пристроями (див.рис.5.1).
a. Комп’ютер (ПК1) та ПЛК з підтримкою Modbus TCP/IP Server, які з’єднані між собою
Ethernet'ом;
Апаратне забезпечення, матеріали та інструменти, що використані у віртуальній
лабораторній роботі.
1. Усі досліди проводяться на віртуальній машині.
Програмне забезпечення для проведення лабораторної роботи з фізичними
пристроями.
1. Утиліта Packet Sender для відправки та прийому повідомлень поверх TCP/IP
https://packetsender.com (або аналогічна)
2. Середовище виконання для ПЛК, з функціоналом, аналогічним описаному в додатку
3.3 (з лабораторної роботи 3).
Програмне забезпечення, що використане у віртуальній лабораторній роботі.
1. Утиліта Packet Sender для відправки та прийому повідомлень поверх TCP/IP
https://packetsender.com (необхідно завантажити на віртуальну машину)
2. CoDeSys Control Win http://store.codesys.com/codesys-control-win-sl.html (вже
встановлено на образі віртуальної машини)
3. Виконавчий проект CoDeSys
https://drive.google.com/file/d/0B2FfwwwweBSVTm4xTThySm5KSjA/view?usp=sharin
g (встановлений на віртуальній машині в лабораторній роботі №3)
Загальна постановка задачі.
Цілі роботи:
1) навчитися формувати та розшифровувати пакети Modbus TCP/IP;
2) використовуючи Modbus TCP/IP та утиліту роботи з TCP-повідомленнями
керувати та контролювати об’єктом.
Послідовність виконання роботи.
1. Ознайомитись з додатком 5.1, встановити на віртуальну машину утиліту Packet
Sender.
2. Реалізувати з’єднання між пристроями.
а)Для реальної установки. Реалізувати з'єднання відповідно до рис.5.1, зробити необхідні
налаштування.
ПК1 ПЛК
Рис.5.1. Структурна схема лабораторної установки, що використовується у лабораторній
роботі з фізичними пристроями
Eth
Eth
Ethernet
2
б)Для віртуальної установки. IP-з’єднання буде проводитися через спеціальну адресу
127.0.0.1 (localhost), яка посилається на той же вузол. Іншими словами обмін IP-пакетами
буде проходити в межах віртуальної машини.
3. Запуск ПЛК.
Для віртуальної установки. Завантажте файли середовища виконання для віртуальної
лабораторної установки (див. додаток 3.3) та установіть їх на віртуальну машину, якщо
це не було зроблено до тепер. Запустіть віртуальний контролер на виконання, за
необхідності введіть свій варіант, впевніться що він введений вірно.
4. Побудова Modbus TCP/IP повідомлення (ADU) на читання Holding Registers.
Побудуйте Modbus TCP/IP повідомлення (включаючи MBAP Header) на читання п’яти
Holding Registers починаючи з того, який відповідає за клапани для вашого варіанту.
Повідомлення занотуйте згідно формату визначеного в додатку 5.2
5. Відправка кадру на читання Holding Registers на контролер.
Завантажте Packet Sender. Відправте послідовність байт повідомлення на
віртуальний/реальний контролер через 502-й порт TCP. Дочекайтеся позитивної відповіді
(десь біля секунди).
Якщо відповідь не прийшла - повторіть пункти 2-5 з перевіркою усіх кроків.
Якщо відповідь прийшла - перевірте на правильність відповідь, проаналізувавши перші два
байти повідомлення, що йдуть після MBAP Header. Якщо відповідь позитивна - перейдіть на
п.6, якщо негативна (є помилка обробки функції) – повторіть пункти 4-5 уважніше.
6. Розшифрування повідомлення
Зробіть копію екрану з журналом Packet Sender.
Розшифруйте повідомлення і оформіть його, як описано в додатку 5.2. Значення усіх 5-ти
значень змінних дайте в десятковому форматі.
7. Формування всіх необхідних повідомлень
Сформуйте повідомлення-запити на :
- читання п’яти Input Registers починаючи з того, який відповідає за значення
сигналізаторів рівня
- запис значення клапану 5000 + номер_варіанту;
- запис значення Holding Registers для відкриття клапану набору і закриття клапану
зливу
- запис значення Holding Registers для закриття клапану набору і відкриття клапану
зливу
- запис значення Holding Registers для закриття клапану набору і закриття клапану
зливу
Запишіть ці запити в табличному вигляді згідно формату визначеного в додатку 5.2.
Використовуючи Packet Sender та зв'язок Modbus TCP/IP, відправляючи сформовані запити,
добийтесь того, щоб:
- рівень в баці досягнув значення рівним: номер_варіанту*100+1000;
- температура в баці досягнула усталеного значення (не змінювалася);
Кожну відповідь записуйте у відповідну колонку таблиці визначеної в додатку 5.2.
Оформлення звіту.
Після закінчення роботи, відправте звіт у форматі DOC чи PDF, оформлений у вигляді,
наведеному в додатку 5.2.
Перевірка виконання роботи та питання до захисту.
Викладачем перевіряється виконання всіх пунктів роботи відповідно до занотованих у
звіті результатів. Оцінюється повнота результатів. Кінцева оцінка коригується по усному
опитуванню при очному спілкуванню. Кожен результат студент повинен пояснити. У
3
випадку виникнення помилок або запитань щодо проведення певного пункту, його необхідно
буде повторити.
4
ДОДАТОК 5.1. УТИЛІТА ДЛЯ ВІДПРАВКИ/ПРИЙОМУ TCP/UDP ПАКЕТІВ .
Д.5.1.1. Призначення (https://packetsender.com).
Безкоштовна утиліта Packet Sender призначена для відправки та прийому повідомлень
всередині TCP або UDP пакетів. Повідомлення можна задавати як в символьному вигляді
(ASCII) так і у вигляді 16-кових байт-кодів. Утиліта Packet Sender доступна для різних типів
платформ.
У даній лабораторній роботі Packet Sender використовується для обміну з сервером Modbus
TCP, який знаходиться на віртуальному/реальному контролері. На віртуальній машині
підготовленій для даної дисципліни, Packet Sender відсутній, тому актуальну версію
необхідно завантажити зі сторінки сайту автору (https://packetsender.com/download). Ми
рекомендуємо завантажити портативну версію за посиланням
https://github.com/dannagle/PacketSender/releases/download/v4.7/PacketSenderPortable_2016-01-
24.zip. Після завантаження, ZIP-файл необхідно розпакувати і перенести на віртуальну
машину, наприклад в корінь диску C.
Д.5.1.2. Основи роботи з утилітою (https://packetsender.com/documentation)
Загальний вигляд утиліти показаний на рис.Д5.1. Для відправки пакету на конкретний вузол
його адреса IP вказується в поле Address, а TCP порт програми-серверу (у нашому випадку
це Modbus TCP/IP Сервер в контролері) вказується в полі Port. Повідомлення може
задаватися у вигляді байтової послідовності HEX кодів вказуючи їх в полі HEX через пробіл.
Для відправки повідомлення запиту необхідно натиснути кнопку "Send".
Усі відправлені та прийняті повідомлення відображаються в журналі повідомлень. На
рисунку Д.5.1 червоним кольором показане відправлене повідомлення-запит (поле
FromIP=You), а фіолетовим - прийняте повідомлення-відповідь (поле FromIP=127.0.0.1). Для
очистки журналу повідомлень необхідно натиснути "Clear Log"
Рис.Д5.1
.
5
ДОДАТОК 5.2. ОФОРМЛЕННЯ ЗВІТУ.
Пункт 4. Побудова Modbus TCP/IP повідомлення (ADU) на читання Holding Registers.
Байти повідомлення-запиту вписати в таблицю наступного формату:
байти Значення
HEX
Пояснення
1
2
3
…
n
Наприклад.
байти Значення
HEX
Пояснення
1 00 ідентифікатор транзакції (HI) = 0
2 00 ідентифікатор транзакції (LO)
3 00 Protocol ID (HI) = 0
4 00 Protocol ID (LO)
5 00 Length, кількість наступних байт (HI) = 6
6 06 Length, кількість наступних байт (LO)
7 00 Unit ID = 0
8 03 функція – читання Holding Registers
9 01 початкова адреса (HI) = з 40496
10 EF початкова адреса (LO)
11 00 кількість (HI) = 3 шт
12 03 кількість (LO)
Пункт 6. Розшифрування повідомлення
Навести копію екрану Packet Sender з отриманим повідомленням
Байти кадру-відповіді вписати в таблицю наступного формату:
байти Значення
HEX
Пояснення
1
2
3
…
n
Наприклад:
байти Значення
HEX
Пояснення
1 00 ідентифікатор транзакції (HI) = 0
2 00 ідентифікатор транзакції (LO)
3 00 Protocol ID (HI) = 0
4 00 Protocol ID (LO)
5 00 Length, кількість наступних байт (HI) = 13
6 0D Length, кількість наступних байт (LO)
7 00 Unit ID = 0
8 03 функція – читання Holding Registers
6
9 0A лічильник байт = 10
10 00 Значення регістру 40496 (HI) = 0
11 00 Значення регістру 40496 (LO)
12 00 Значення регістру 40497 (HI) = 0
13 00 Значення регістру 40497 (LO)
14 03 Значення регістру 40498 (HI) = 1000
15 E8 Значення регістру 40498 (LO)
16 4C Значення регістру 40499 (HI) = 19519
17 3F Значення регістру 40499 (LO)
18 00 Значення регістру 40470 (HI) =0
19 00 Значення регістру 40470 (LO)
Пункт 7. Формування всіх необхідних повідомлень запитів, керування установкою та
нотування відповідей.
байти Призначення Кадр запиту (байти у
форматі HEX через
пробіл)
Кадри відповідей
(байти у форматі
HEX через пробіл)
1 читання п’яти Input Registers
починаючи з (вказати номер)
для сигналізаторів рівня
2 запис значення регістру (вказати
номер) для вказати значення
3 запис значення Holding Registers
(вказати номер) для відкриття
клапану набору і закриття
клапану зливу
4 запис значення Holding Registers
(вказати номер) для закриття
клапану набору і відкриття
клапану зливу
5 запис значення Holding Registers
(вказати номер) для закриття
клапану набору і закриття
клапану зливу

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOM
 
Підсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПідсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. Modbus
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC
 
пім косп лекц
пім косп лекцпім косп лекц
пім косп лекц
 
Computers and Computing Works lecture №5
Computers and Computing Works lecture №5Computers and Computing Works lecture №5
Computers and Computing Works lecture №5
 
Computers and Computing Works lecture №7
Computers and Computing Works lecture №7Computers and Computing Works lecture №7
Computers and Computing Works lecture №7
 
лаб роботи Zenon Batch Control
лаб роботи Zenon Batch Controlлаб роботи Zenon Batch Control
лаб роботи Zenon Batch Control
 
Промислові мережі та інтеграційні технології курс лекцій
Промислові мережі та інтеграційні технології курс лекційПромислові мережі та інтеграційні технології курс лекцій
Промислові мережі та інтеграційні технології курс лекцій
 
Computers and Computing Works lecture №8
Computers and Computing Works lecture №8Computers and Computing Works lecture №8
Computers and Computing Works lecture №8
 
S88.01 tutorial (укр мова)
S88.01 tutorial (укр мова)S88.01 tutorial (укр мова)
S88.01 tutorial (укр мова)
 
2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси
 
Computers and Computing Works lecture №9
Computers and Computing Works lecture №9Computers and Computing Works lecture №9
Computers and Computing Works lecture №9
 
3 1 Modbus Protocol
3 1 Modbus Protocol3 1 Modbus Protocol
3 1 Modbus Protocol
 
Computers and Computing Works lecture №3
Computers and Computing Works lecture №3Computers and Computing Works lecture №3
Computers and Computing Works lecture №3
 
Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131
 
Лекція №6
Лекція №6Лекція №6
Лекція №6
 
Інші підсистеми
Інші підсистемиІнші підсистеми
Інші підсистеми
 
Підсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПідсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часі
 
UNITY PRO – ШВИДКИЙ СТАРТ
UNITY PRO – ШВИДКИЙ СТАРТUNITY PRO – ШВИДКИЙ СТАРТ
UNITY PRO – ШВИДКИЙ СТАРТ
 
Computers and Computing Works lecture №4
Computers and Computing Works lecture №4Computers and Computing Works lecture №4
Computers and Computing Works lecture №4
 

Semelhante a лр5 основи modbus tcp

Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
Drupal Camp Kyiv
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3
Inna Tuyeva
 

Semelhante a лр5 основи modbus tcp (20)

3 3 modbus tcp
3 3 modbus tcp3 3 modbus tcp
3 3 modbus tcp
 
3 4 modbus utility
3 4 modbus utility 3 4 modbus utility
3 4 modbus utility
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична робота
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
 
Гаврилюк К.docx
Гаврилюк К.docxГаврилюк К.docx
Гаврилюк К.docx
 
4 2 3 ip
4 2 3 ip 4 2 3 ip
4 2 3 ip
 
Стек протоколів IPsec
Стек протоколів IPsecСтек протоколів IPsec
Стек протоколів IPsec
 
2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК 2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК
 
System programing module 2
System programing module 2System programing module 2
System programing module 2
 
4 4 1 app
4 4 1 app 4 4 1 app
4 4 1 app
 
Opc
OpcOpc
Opc
 
Лекція №11
Лекція №11Лекція №11
Лекція №11
 
Лекція №16
Лекція №16Лекція №16
Лекція №16
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
 
Wcf module 3.1
Wcf module 3.1Wcf module 3.1
Wcf module 3.1
 
Profibus (УКР)
Profibus (УКР)Profibus (УКР)
Profibus (УКР)
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична робота
 
Rpc
RpcRpc
Rpc
 

Mais de Пупена Александр

Pac framework v1_250318
Pac framework v1_250318Pac framework v1_250318
Pac framework v1_250318
Пупена Александр
 

Mais de Пупена Александр (20)

Node-RED довідник
Node-RED довідникNode-RED довідник
Node-RED довідник
 
11 Підсистеми захисту
11 Підсистеми захисту11 Підсистеми захисту
11 Підсистеми захисту
 
Розроблення підсистеми трендів
Розроблення підсистеми трендівРозроблення підсистеми трендів
Розроблення підсистеми трендів
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації
 
Анімовані компоненти та навігація
Анімовані компоненти та навігаціяАнімовані компоненти та навігація
Анімовані компоненти та навігація
 
Розроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівРозроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементів
 
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIЗагальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
 
2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0»
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контента
 
Git4 all
Git4 allGit4 all
Git4 all
 
Presentation 111019 1
Presentation 111019 1Presentation 111019 1
Presentation 111019 1
 
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0 Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
 
Vebinar isa88
Vebinar isa88Vebinar isa88
Vebinar isa88
 
Pac framework v1_250318
Pac framework v1_250318Pac framework v1_250318
Pac framework v1_250318
 
Tda18 1
Tda18 1Tda18 1
Tda18 1
 

лр5 основи modbus tcp

  • 1. Промислові мережі та інтеграційні технології. Лабораторний практикум. НУХТ. ІАСУ. О.М.Пупена ЛАБОРАТОРНА РОБОТА № 5 (Дистанційна форма). Основи функціонування MODBUS TCP/IP. Тривалість: 1 акад. година. Мета: Ознайомитися з принципами роботи Modbus TCP/IP, отримати навики побудови та розшифрування кадрів Modbus TCP/IP. Лабораторна установка. Мінімально необхідне апаратне забезпечення. Для проведення віртуальної лабораторної роботи потрібен комп’ютер з характеристиками, наведеними в лабораторній роботі №1. Апаратне забезпечення, матеріали та інструменти для проведення лабораторної роботи з фізичними пристроями (див.рис.5.1). a. Комп’ютер (ПК1) та ПЛК з підтримкою Modbus TCP/IP Server, які з’єднані між собою Ethernet'ом; Апаратне забезпечення, матеріали та інструменти, що використані у віртуальній лабораторній роботі. 1. Усі досліди проводяться на віртуальній машині. Програмне забезпечення для проведення лабораторної роботи з фізичними пристроями. 1. Утиліта Packet Sender для відправки та прийому повідомлень поверх TCP/IP https://packetsender.com (або аналогічна) 2. Середовище виконання для ПЛК, з функціоналом, аналогічним описаному в додатку 3.3 (з лабораторної роботи 3). Програмне забезпечення, що використане у віртуальній лабораторній роботі. 1. Утиліта Packet Sender для відправки та прийому повідомлень поверх TCP/IP https://packetsender.com (необхідно завантажити на віртуальну машину) 2. CoDeSys Control Win http://store.codesys.com/codesys-control-win-sl.html (вже встановлено на образі віртуальної машини) 3. Виконавчий проект CoDeSys https://drive.google.com/file/d/0B2FfwwwweBSVTm4xTThySm5KSjA/view?usp=sharin g (встановлений на віртуальній машині в лабораторній роботі №3) Загальна постановка задачі. Цілі роботи: 1) навчитися формувати та розшифровувати пакети Modbus TCP/IP; 2) використовуючи Modbus TCP/IP та утиліту роботи з TCP-повідомленнями керувати та контролювати об’єктом. Послідовність виконання роботи. 1. Ознайомитись з додатком 5.1, встановити на віртуальну машину утиліту Packet Sender. 2. Реалізувати з’єднання між пристроями. а)Для реальної установки. Реалізувати з'єднання відповідно до рис.5.1, зробити необхідні налаштування. ПК1 ПЛК Рис.5.1. Структурна схема лабораторної установки, що використовується у лабораторній роботі з фізичними пристроями Eth Eth Ethernet
  • 2. 2 б)Для віртуальної установки. IP-з’єднання буде проводитися через спеціальну адресу 127.0.0.1 (localhost), яка посилається на той же вузол. Іншими словами обмін IP-пакетами буде проходити в межах віртуальної машини. 3. Запуск ПЛК. Для віртуальної установки. Завантажте файли середовища виконання для віртуальної лабораторної установки (див. додаток 3.3) та установіть їх на віртуальну машину, якщо це не було зроблено до тепер. Запустіть віртуальний контролер на виконання, за необхідності введіть свій варіант, впевніться що він введений вірно. 4. Побудова Modbus TCP/IP повідомлення (ADU) на читання Holding Registers. Побудуйте Modbus TCP/IP повідомлення (включаючи MBAP Header) на читання п’яти Holding Registers починаючи з того, який відповідає за клапани для вашого варіанту. Повідомлення занотуйте згідно формату визначеного в додатку 5.2 5. Відправка кадру на читання Holding Registers на контролер. Завантажте Packet Sender. Відправте послідовність байт повідомлення на віртуальний/реальний контролер через 502-й порт TCP. Дочекайтеся позитивної відповіді (десь біля секунди). Якщо відповідь не прийшла - повторіть пункти 2-5 з перевіркою усіх кроків. Якщо відповідь прийшла - перевірте на правильність відповідь, проаналізувавши перші два байти повідомлення, що йдуть після MBAP Header. Якщо відповідь позитивна - перейдіть на п.6, якщо негативна (є помилка обробки функції) – повторіть пункти 4-5 уважніше. 6. Розшифрування повідомлення Зробіть копію екрану з журналом Packet Sender. Розшифруйте повідомлення і оформіть його, як описано в додатку 5.2. Значення усіх 5-ти значень змінних дайте в десятковому форматі. 7. Формування всіх необхідних повідомлень Сформуйте повідомлення-запити на : - читання п’яти Input Registers починаючи з того, який відповідає за значення сигналізаторів рівня - запис значення клапану 5000 + номер_варіанту; - запис значення Holding Registers для відкриття клапану набору і закриття клапану зливу - запис значення Holding Registers для закриття клапану набору і відкриття клапану зливу - запис значення Holding Registers для закриття клапану набору і закриття клапану зливу Запишіть ці запити в табличному вигляді згідно формату визначеного в додатку 5.2. Використовуючи Packet Sender та зв'язок Modbus TCP/IP, відправляючи сформовані запити, добийтесь того, щоб: - рівень в баці досягнув значення рівним: номер_варіанту*100+1000; - температура в баці досягнула усталеного значення (не змінювалася); Кожну відповідь записуйте у відповідну колонку таблиці визначеної в додатку 5.2. Оформлення звіту. Після закінчення роботи, відправте звіт у форматі DOC чи PDF, оформлений у вигляді, наведеному в додатку 5.2. Перевірка виконання роботи та питання до захисту. Викладачем перевіряється виконання всіх пунктів роботи відповідно до занотованих у звіті результатів. Оцінюється повнота результатів. Кінцева оцінка коригується по усному опитуванню при очному спілкуванню. Кожен результат студент повинен пояснити. У
  • 3. 3 випадку виникнення помилок або запитань щодо проведення певного пункту, його необхідно буде повторити.
  • 4. 4 ДОДАТОК 5.1. УТИЛІТА ДЛЯ ВІДПРАВКИ/ПРИЙОМУ TCP/UDP ПАКЕТІВ . Д.5.1.1. Призначення (https://packetsender.com). Безкоштовна утиліта Packet Sender призначена для відправки та прийому повідомлень всередині TCP або UDP пакетів. Повідомлення можна задавати як в символьному вигляді (ASCII) так і у вигляді 16-кових байт-кодів. Утиліта Packet Sender доступна для різних типів платформ. У даній лабораторній роботі Packet Sender використовується для обміну з сервером Modbus TCP, який знаходиться на віртуальному/реальному контролері. На віртуальній машині підготовленій для даної дисципліни, Packet Sender відсутній, тому актуальну версію необхідно завантажити зі сторінки сайту автору (https://packetsender.com/download). Ми рекомендуємо завантажити портативну версію за посиланням https://github.com/dannagle/PacketSender/releases/download/v4.7/PacketSenderPortable_2016-01- 24.zip. Після завантаження, ZIP-файл необхідно розпакувати і перенести на віртуальну машину, наприклад в корінь диску C. Д.5.1.2. Основи роботи з утилітою (https://packetsender.com/documentation) Загальний вигляд утиліти показаний на рис.Д5.1. Для відправки пакету на конкретний вузол його адреса IP вказується в поле Address, а TCP порт програми-серверу (у нашому випадку це Modbus TCP/IP Сервер в контролері) вказується в полі Port. Повідомлення може задаватися у вигляді байтової послідовності HEX кодів вказуючи їх в полі HEX через пробіл. Для відправки повідомлення запиту необхідно натиснути кнопку "Send". Усі відправлені та прийняті повідомлення відображаються в журналі повідомлень. На рисунку Д.5.1 червоним кольором показане відправлене повідомлення-запит (поле FromIP=You), а фіолетовим - прийняте повідомлення-відповідь (поле FromIP=127.0.0.1). Для очистки журналу повідомлень необхідно натиснути "Clear Log" Рис.Д5.1 .
  • 5. 5 ДОДАТОК 5.2. ОФОРМЛЕННЯ ЗВІТУ. Пункт 4. Побудова Modbus TCP/IP повідомлення (ADU) на читання Holding Registers. Байти повідомлення-запиту вписати в таблицю наступного формату: байти Значення HEX Пояснення 1 2 3 … n Наприклад. байти Значення HEX Пояснення 1 00 ідентифікатор транзакції (HI) = 0 2 00 ідентифікатор транзакції (LO) 3 00 Protocol ID (HI) = 0 4 00 Protocol ID (LO) 5 00 Length, кількість наступних байт (HI) = 6 6 06 Length, кількість наступних байт (LO) 7 00 Unit ID = 0 8 03 функція – читання Holding Registers 9 01 початкова адреса (HI) = з 40496 10 EF початкова адреса (LO) 11 00 кількість (HI) = 3 шт 12 03 кількість (LO) Пункт 6. Розшифрування повідомлення Навести копію екрану Packet Sender з отриманим повідомленням Байти кадру-відповіді вписати в таблицю наступного формату: байти Значення HEX Пояснення 1 2 3 … n Наприклад: байти Значення HEX Пояснення 1 00 ідентифікатор транзакції (HI) = 0 2 00 ідентифікатор транзакції (LO) 3 00 Protocol ID (HI) = 0 4 00 Protocol ID (LO) 5 00 Length, кількість наступних байт (HI) = 13 6 0D Length, кількість наступних байт (LO) 7 00 Unit ID = 0 8 03 функція – читання Holding Registers
  • 6. 6 9 0A лічильник байт = 10 10 00 Значення регістру 40496 (HI) = 0 11 00 Значення регістру 40496 (LO) 12 00 Значення регістру 40497 (HI) = 0 13 00 Значення регістру 40497 (LO) 14 03 Значення регістру 40498 (HI) = 1000 15 E8 Значення регістру 40498 (LO) 16 4C Значення регістру 40499 (HI) = 19519 17 3F Значення регістру 40499 (LO) 18 00 Значення регістру 40470 (HI) =0 19 00 Значення регістру 40470 (LO) Пункт 7. Формування всіх необхідних повідомлень запитів, керування установкою та нотування відповідей. байти Призначення Кадр запиту (байти у форматі HEX через пробіл) Кадри відповідей (байти у форматі HEX через пробіл) 1 читання п’яти Input Registers починаючи з (вказати номер) для сигналізаторів рівня 2 запис значення регістру (вказати номер) для вказати значення 3 запис значення Holding Registers (вказати номер) для відкриття клапану набору і закриття клапану зливу 4 запис значення Holding Registers (вказати номер) для закриття клапану набору і відкриття клапану зливу 5 запис значення Holding Registers (вказати номер) для закриття клапану набору і закриття клапану зливу