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

Лабораторне заняття 2. Асинхронні послідовні інтерфейси. Ч2. СИМВОЛЬНИЙ ОБМІН.

Лабораторне заняття 1. Асинхронні послідовні інтерфейси. Ч2. СИМВОЛЬНИЙ ОБМІН.

Сайт: Школа автоматики
Курс: Промислові мережі
Книга: Лабораторне заняття 2. Асинхронні послідовні інтерфейси. Ч2. СИМВОЛЬНИЙ ОБМІН.
Напечатано:: Гость
Дата: Friday, 22 November 2024, 15:11

1. ЧАСТИНА 2. СИМВОЛЬНИЙ ОБМІН.

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

Мета: Ознайомлення з принципами та засобами символьного обміну а також утилітами роботи з СОМ-портом.

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

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

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

  1. Два комп’ютери (ПК) з інтерфейсом RS-232 або з USB при наявності перетворювача USB<->RS-232.
  2. Чотири роз’єми SUB-D 9pin типу розетка.
  3. Два 8-х провідні кабелі – 1 м для нуль-модемного з'єднання;
  4. Паяльник з припоєм, викрутка, кусачки;            

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

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

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

  1. Утиліта для роботи з СОМ-портом "Terminal" https://sites.google.com/site/terminalbpp
  2. Утиліта для роботи з СОМ-портом "COM Port Toolkit V4.0". http://www.compt.ru/ru/download.php

 

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

  1. Утиліта для роботи з СОМ-портом "Terminal" https://sites.google.com/site/terminalbpp (вже встановлено на образі віртуальної машини)
  2. Утиліта для роботи з СОМ-портом "COM Port Toolkit V4.0". http://www.compt.ru/ru/download.php (необхідно завантажити та встановити на віртуальній машині)
  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://cloud.mail.ru/public/28oF/PEWEKYX9g

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

Цілі роботи:

  1. навчитися працювати з програмним утилітами роботи з СОМ-портами;
  2. перевірити на практиці принципи роботи символьного зв’язку; 

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

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

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

Для реальної установки. Зробити повний нуль-модемний кабель. З’єднати комп’ютери через СОМ-порти нуль-модемним з’єднанням. Включити комп’ютери.

При з’єднанні комп’ютерів через СОМ-порти, один з комп’ютерів повинен обов’язково бути вимкнений!   

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

3. Завантажити COM PORT Toolkit з сайту розробника http://www.compt.ru/ru/index.php, інсталювати та запустити на виконання.

Для реальної установки. Інсталювати та запустити на ПК1 та налаштувати на фізичний СОМ-порт. Бітова швидкість 9600, 8 біт даних, паритет – парний, 1 стоповий біт, без управління потоком.   

Для віртуальної установки. Інсталювати на віртуальній машині. Запустити на виконання та налаштувати на порт СОМ3. Бітова швидкість 9600, 8 біт даних, паритет – парний, 1 стоповий біт, без управління потоком. 

4. Запустити утиліту Terminal.

Для реальної установки. Інсталювати та запустити на ПК2 та налаштувати на фізичний СОМ-порт. Інші налаштування відповідно до п.3 

Для віртуальної установки. Запустити та налаштувати на СОМ4. Інші налаштування відповідно до п.3.

5. Відправити/прийняти символьну послідовність.

Для утиліти Terminal виставити режим відображення ASCII, а для COM PORT Toolkit – режим відправки ASCII. Відправити символьну послідовність "ABCDEF abcdef 12345" з COM PORT Toolkit на Terminal та в зворотному напрямку. Зробити копію екрану для звіту.

6. Відправити/прийняти послідовність у вигляді кодів байт.

Для утиліти Terminal виставити режим відображення HEX, а для COM PORT Toolkit – режим відправки HEX. Відправити символьну байтову послідовність

00 10 25 AA FF EE

з COM PORT Toolkit на Terminal та в зворотному напрямку. Зробити копію екрану для звіту.

7. Управління додатковими сигналами.

З боку Terminal включити а потім виключити сигнали RTS та DTR, подивитися на індикатори службових сигналів в  Terminal та COM PORT Toolkit. Повторіть те саме в зворотному напрямку. Результат записати в звіт з поясненнями поведінки.

8. Реалізувати мінімальне нуль-модемне з’єднання.

Повторити пункт 2 але для МІНІМАЛЬНОГО нуль-модемного з’єднання.

9. Повторити пункт 7 при мінімальному нуль-модемі.

10. Отримати додаткове завдання.

 Для реальної установки. Змінити бітову швидкість на РС2 з 9600 на 19200 біт/с. Відправити з РС1 на РС2 байтову послідовність

14 E1

Отримані на РС2 дані занотувати для реалізації завдання, зробити копію екрану.

Для віртуальної установки. Завантажити файли для віртуального ПЛК https://cloud.mail.ru/public/28oF/PEWEKYX9g. Користуючись додатками 2.6 та 2.7 запустити ASCII-BOT та дізнатися завдання. Зробити копію екрану.

11. Для отриманих в п.10 даних нарисувати діаграму з поясненням інтерпретації сигналу приймачем РС2 при бітовій швидкості 19200 біт/с. (Додаток 2.8)

  

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

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

 

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

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

2. ДОДАТОК 2.3. КОРОТКИЙ ОПИС РОБОТИ УТИЛІТИ COM0COM

Утиліта COM0COM (http://sourceforge.net/projects/com0com/?source=navbar) імітує роботу нуль-модемного з’єднання.

Для пояснення призначення та принципів його роботи спочатку розглянемо приклад фізичного нуль-модемного з’єднання (див. рис.Д19). Два комп’ютери ПК1 та ПК2 з'єднані  нуль-модемним кабелем. Це з'єднання  використовують прикладні програми для обміну даними в символьному режимі. Тобто прикладна програма на ПК1 використовує порт "COMx", а на ПК2 – порт "COMy", які фізично з'єднані між собою кабелем.   

Рис.Д19

У деяких випадках потребується обмін програм через нуль-модемне з’єднання на одному і тому ж ПК. Як правило, це робиться для тестування роботи прикладних програм, або для певних комунікаційних утиліт. При використанні фізичного нуль-модемного з'єднання потребується два COM-порти на одному і тому ж ПК, що не завжди можливо і доцільно. Замість цього можна скористатися віртуальним нуль-модемним з'єднанням, яке можна організувати безкоштовною утилітою COM0COM.

Утиліта COM0COM створює два віртуальні СОМ-порти, між якими імітується повнодуплексне з’єднання. Таким чином все, що буде відправлятися на один порт - буде отримуватися на іншому і навпаки. Таке з'єднання не повністю імітує роботу фізичного аналогу, але достатнє для виконання обміну між прикладними програмами по послідовному інтерфейсу.  

На віртуальній машині, що підготовлена для курсу "Промислові мережі та інтеграційні технології" утиліта COM0COM вже інстальована і налаштована на порти COM3 та COM4. Якщо у Вас є необхідність працювати на інших ПК, утиліту можна завантажити з http://sourceforge.net/projects/com0com/?source=navbar. У цьому випадку слід мати на увазі що на 64-розрядних ОС є нюанси використання (деталі описані на сторінці підтримки програми).         

Д2.3.2. Налаштування роботи.

Для налаштування параметрів роботи утиліти, необхідно запустити її конфігуратор

Пуск->Программы->COM0COM->Setup

Перед запуском конфігуратору необхідно закрити усі програми, що використовують віртуальні СОМ-порти з даного віртуального нуль-модема.   

На рис.Д20 показано вікно налаштування віртуальних нуль-модемних з'єднань. Для кожного нуль-модему можна визначити параметри та налаштувати з’єднання віртуальних контактів.  Контакти TX та RX з’єднані між собою перехресно і це з'єднання не може бути змінено. Інші  контакти які можуть бути вихідними (червоні) або вхідними (зелені) можуть бути з’єднані між собою. Кожний червоний контакт (вихідний) може бути з’єднаний з будь-якою кількістю зелених контактів (вихідних).

рис.Д20

Віртуальний нуль-модем дозволяє інвертувати сигнали. Для цього необхідний вхідний контакт "мітиться" трикутником (знаком інверсії). Інвертування ставиться та знімається подвійним кліком по контакту.    

Окрім 9-ти контактів визначених в стандарті RS232-C, є додаткові контакти. Так, наприклад, контакт "ON" використовується для видачі логічної "1". Таким чином, за необхідності подачі постійного сигналу на якийсь зелений контакт, туди підключається ON, а у випадку постійної відсутності сигналу - інвертований ON. Так, наприклад для сигналу "RI" заведений постійний OFF.  

На рис.Д20 показана конфігурація з повним нуль-модемним з’єднанням. На відео продемонстровано, як можна зробити мінімальне нуль-модемне з'єднання.

На наступному відео показано як можна зробити повне нуль-модемне з’єднання.

3. ДОДАТОК 2.4. КОРОТКИЙ ОПИС РОБОТИ УТИЛІТИ TERMINAL

Д2.4.1. Загальні відомості.

Безплатна утиліта TERMINAL від Br@y++ (https://sites.google.com/site/terminalbpp/) призначена для роботи з послідовними портами комп’ютеру: відправки та прийому даних в режимі передачі ASCII символів або байтової послідовності.        

Серед переваг утиліти порівняно з аналогами можна виділити:

  • єдине інтегроване вікно налаштувань і роботи
  • простота
  • наявність макросів
  • безплатність
  • можливість запису в файл та з файлу
  • можливість передачі ASCII-символів та значення байтів в одному посиланні

Тим не менше, утиліта TERMINAL має певні незручності при роботі з байтовою послідовністю, "буферизує" дані при прийомі та інші особливості. Тому в ряді випадків краще користатися іншими програмами такого типу, наприклад Com Port Toolkit. У лабораторній роботі використовуються обидві наведені утиліти:

  • TERMINAL вже встановлений на віртуальній машині, підготовленій для курсу "Промислові мережі та інтеграційні технології"
  • Com Port Toolkit завантажується та інсталюється з сайту самостійно

Д2.4.2. Налаштування та робота.

На рис. Д21 показане вікно утиліти TERMINAL.

рис.Д21

Більшість налаштувань повинна бути розуміла користувачам, які ознайомлені з принципами роботи інтерфейсу RS232.

Тут наведемо декілька:

  • Connect: підключитися до вказаного потру в "COM Port"
  • Handshaking: налаштування управління потоком
  • Clear: очистити вікно прийому/відправки
  • вибір HEX/ASCII: режим відображення основного вікна прийому (HEX- коди, ASCII - символи)
  • опції DEC, HEX, Bin: показати додаткові вікна прийому у відповідному форматі
  • Send: відправити дані

За необхідності відправити дані в форматі ASCII-символів, ці символи вказуються в полі відправки. Якщо необхідно відправляти дані байт-кодами, їх значення вказується після символу $.      

Приклад роботи Terminal можна подивитися на наступному відео, в якому дві утиліти обмінюються даними через віртуальне нуль модемне з’єднання.  

4. ДОДАТОК 2.5. КОРОТКИЙ ОПИС РОБОТИ УТИЛІТИ COM PORT TOOLKIT

 Д2.5.1. Загальні відомості.

"COM Port Toolkit - программа для работы с последовательным портом компьютера, сочетающая в себе возможности терминала, просмотра, журналирования и экспорта данных." (http://www.compt.ru/ru/index.php)

"COM Port Toolkit доступен для бесплатного скачивания и использования в течении 30-дневного периода. Когда период ознакомления с программой истечет, Вы должны зарегистрировать свою копию программы, или прекратить использование и удалить ее из своей системы. Как только мы получим уведомление об оплате программы, на ваш e-mail будет выслана лицензия и регистрационный ключ." (http://www.compt.ru/ru/purchase.php )

Утиліту COM Port Toolkit необхідно завантажити і інсталювати на віртуальну машину самостійно, в комплект встановлених програм віртуальної машини дисципліни вона НЕ ВХОДИТЬ.    

Д2.5.2. Налаштування та робота.

Зовнішній вигляд програми показано на рис.Д22

рис.Д22

Налаштування доступні через головне меню. При завантаженні програми в англомовному варіанті, можна перейти на російськомовний: Options->Language->Russian .

Настройка COM-порту: Настройка->COM-порт

Набрати і відправити послідовність символів: Сообщение->Отправить

Управління сигналами RTS, DTR відбувається за допомогою відповідних кнопок на панелі інструментів: кнопка вверх – увімкнути, кнопка вниз – вимкнути.

Приклад роботи COM Port Toolkit можна подивитися на наступному відео, в якому дві утиліти обмінюються даними через віртуальне нуль модемне з’єднання.   

5. ДОДАТОК 2.6. КОРОТКИЙ ОПИС ТА КОРИСТУВАННЯ CODESYS CONTROL WIN

Д.2.6.1. Призначення.

CodeSys – середовище розробки прикладного програмного забезпечення для різного типу контролерів (https://ru.wikipedia.org/wiki/CoDeSys). Так само як UNITY PRO є середовищем програмування/налагодження ПЛК Modicon M340, Premium, M580 та Quantum, CodeSys використовується для ряду інших контролерів, в яких виконується середовище виконання (так званий Runtime) CodeSys. Середовище виконання CodeSys існує не тільки для промислових контролерів з операційними системами реального часу, а і для платформ Windows, зокрема таким є CodeSys Control Win.

У деяких лабораторних роботах використовується демо-версія CodeSys Control Win, в яких софт-ПЛК працює 2 години неперервно, після чого його необхідно перезапускати. На віртуальній машині, яка підготовлена для даної лабораторної роботи вже інстальований CodeSys Control Win. Якщо у Вас є необхідність завантажити його на інший ПК, це можна зробити на офіційному сайті 3S, попередньо зареєструвавшись  http://store.codesys.com/codesys-control-win-sl.html

Середовище CodeSys Control Win замінює в лабораторних роботах реальний ПЛК. Студенти користуються ним як "чорним ящиком", не вникаючи в подробиці роботи. Тим не менше його необхідно налаштовувати і запускати, коротко про це описано нижче. 

Д.2.6.2. Принципи функціонування.

При старті ОС (у нашому випадку на віртуальній машині), середовище CodeSys Control Win запускається автоматично. Контроль та керування роботою середовища проводиться через панель сповіщень, нажавши мишкою по відповідній піктограмі (рис.Д23).   

рис.Д23

При старті Windows середовище CodeSys Control Win знаходиться в режимі зупинки ПЛК (PLC в Stop). Для запуску ПЛК необхідно викликати команду "Start PLC" а для зупинки - "Stop PLC" (рис.Д24).   

рис.Д24

Надалі софт-ПЛК, що імітується середовищем CodeSys Control Win будемо називати віртуальним ПЛК.

Виконавчі файли середовища CodeSys Control Win а також конфігурація віртуального ПЛК знаходяться в папці "C:\Program Files\3S CODESYS\GatewayPLC". Для кожної лабораторної роботи в курсі "Промислові мережі та інтеграційні технології" створена своя конфігурація та програма віртуального ПЛК. Для того щоб скопіювати в потрібне місце необхідні файли, до лабораторних робіт буде надаватися архів з цими файлами а також файл з розширенням ".CMD", по запуску якого заміна буде проводитись автоматично.

Для даної лабораторної роботи необхідні файли містяться в папці "Lab2_2", для копіювання необхідно запустити lab2_2.cmd. Після чого можна запустити віртуальний ПЛК.

На показаному вище відео видно, що ПЛК супроводжується людино-машинним інтерфейсом, за допомогою якого Ви будете з ним взаємодіяти.

У випадку зависання віртуального ПЛК чи закінчення демонстраційного часу, необхідно зупинити його і запустити знову. 

6. ДОДАТОК 2.7. ПРИЗНАЧЕННЯ ASCII-BOT ТА ОПИС ПРОТОКОЛУ ОБМІНУ З НИМ.

Д.2.7.1. Призначення.

ASCII-BOT – це проект для віртуального ПЛК CodeSys Control Win, розроблений на кафедрі ІАСУ НУХТ спеціально для даної лабораторної роботи. Задача студента – отримати від ASCII-BOTа завдання. Цілю такого спілкування з ботом є розуміння принципів використання протоколів обміну.

ASCII-BOT має візуальний інтерфейс (рис.Д25) за допомогою якого можна побачити його активність (індикатори RX, TX). Бот підключений до віртуального порту COM4, який в свою чергу через віртуальний нуль-модем з’єднаний з COM3. Таким чином, щоб обмінюватися з ботом, необхідно відправляти команди і отримувати відповіді з порту COM3.  

рис.Д25

Д.2.7.2. Опис протоколу обміну.

Для того щоб спілкуватися з будь-яким пристроєм по мережі необхідно визначити правила спілкування. Для спілкування з  ASCII-BOTом визначені наступні правила (протокол обміну).

  1. Обмін відбувається з використанням текстових повідомлень.
  2. Між користувачем (клієнтом) і ботом (сервером) ведеться діалог: ASCII-BOT очікує запит від користувача, після чого надсилає йому відповідь, якщо запит боту зрозумілий. 
  3. Починається обмін з вітання-запиту користувача словом "Привіт". Якщо вітання-запит прийнято, ASCII-BOT відповідає "Привіт!Який у Вас номер варіанту?"
  4. Після виконання п.2 необхідно відправити номер свого варіанту, після чого бот повинен спитати, чи дійсно це варіант згідно Вашого прізвища.
  5. Якщо після п.3 відправити підтвердження "так", бот повідомляє Вам завдання згідно варіанту, якщо інше слово, бот переходить до п.2.         

7. ДОДАТОК 2.8. ОФОРМЛЕННЯ ЗВІТУ ДО ЧАСТИНИ 2.

Додаток 2.8. Оформлення звіту до частини 2.

Пункт 2. Реалізація повного нуль-модемного з’єднання.

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

Рис. Налаштування віртуального повного нуль-модемного з'єднання COM0COM.

Пункт 5. Відправка/прийом символьної послідовності.

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

Рис. Відправка/прийом символьної послідовності.

Пункт 6. Відправка/прийом байтової послідовності.

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

Рис. Відправка/прийом байтової послідовності в HEX-форматі .

Пункт 7. Управління додатковими сигналами.

Коротко описати що відбувалося і чому.

Пункт 8. Реалізація мінміального нуль-модемного з’єднання.

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

Рис. Налаштування віртуального мінімального нуль-модемного з'єднання COM0COM.

Пункт 9. Управління додатковими сигналами.

Коротко описати що відбувалося і чому.

Пункт 10. Отримання додаткового завдання.

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

Рис. Сесія спілкування з ASCII-BOTом.  

Пункт 11. Рисування діаграми.

Навести дані на швидкості 9600 та 19200.

Навести рис. діаграми, за прикладом рис.Д26.