Порядок виконання роботи
Завданя 1: виконати налагодження й виправлення помилок у програмі ВІ, розробленій раніше. 1. Викличіть ВІ Convert C-F.vi., розроблений раніше, й видаліть кілька зв'язків на блок-діаграмі. Спостерігайте за кнопкою Пуск. Натисніть кнопку Пуск і перегляньте список помилок. По черзі викликаючи помилки, внесіть необхідні виправлення. Зробіть висновки. 2. Виконайте підсвічування виконання програми (кнопка з лампочкою на панелі керування основної панелі). Запустіть програму і спостерігайте хід виконання. 3. Виконайте програму в покроковому режимі кілька разів, змінюючи вхідні дані й керування ходом виконання програми. Проаналізуйте правильність ходу виконання програми й правильність зроблених обчислень. 4. Установіть кілька пробників. Запустіть програму і перевірте проміжні дані в пробниках. Зробіть перевірку кілька разів змінюючи дані. 5. Виберіть і установіть точки зупину програми. Запустіть ВІ на виконання і продовжіть виконання програми після зупину у звичайному режимі. 6. Виконайте п.5 з продовженням у покроковому режимі. Зробіть висновки. 7. Виправіть помилки і налагодіть програму Debug Exercise (Main).vi. Зробіть опис програми. Нарисуйте блок-схему з указівкою виявлених помилок.
Завдання 2: створіть із розробленого ВІ ПВІ для подальшого використання в інших пристроях. 1. Відредагуйте іконку вашого ПВІ, викликавши редактор іконок за допомогою ПКМ на іконці ВІ у верхньому правому куті передньої панелі. Іконка буде позначати даний ПВІ на блок-діаграмі іншого ВІ. Вигляд іконки повинен відображати функціональні властивості ПВІ й допомагати ідентифікувати його серед інших. 2. Натиснувши ЛКМ на іконці ВІ, розташованій на передній панелі, виберіть опцію Show Connector. Вигляд іконки зміниться на панель з'єднань. Установіть кількість входів і виходів відповідно до кількості пристроїв на передній панелі (опції Add і Remove Terminal). Позначте відводи панелі з'єднань, поставивши у відповідність кожний відвод панелі з'єднань пристрою введення-виведення передньої панелі. Для цього наведіть покажчик миші у вигляді котушки на контактний відвід панелі з'єднань, натисніть ЛКМ, а потім натисніть ЛКМ на відповідний пристрій передньої панелі. Повторіть операції позначення для всіх необхідних пристроїв передньої панелі.
3. Перевірте правильність позначення відводів за допомогою меню контекстної допомоги. 4. Збережіть ПВІ під ім'ям Demo Temp C-F (sub).vi. Закрийте розроблений ПВІ. 5. Відкрийте передню панель для нового ВІ. Ввімкніть функціональну панель і викличте до неї ПВІ під ім'ям Demo Temp C-F (sub).vi. Для цього на панелі Functions виберіть опцію Select a VI… і у вікні, що відкрилося, знайдіть потрібне ПВІ. Знову установіть необхідні елементи на передню панель для повторного відтворення моделі вимірювача температур, але вже з використанням ПВІ. Підключіть термінали елементів передньої панелі до терміналу ПВІ, активно використовуючи вікно контекстної допомоги. 6. Увімкніть знову створений ВІ і перевірте його працездатність. Виконайте налагодження отриманого ВІ в покроковому режимі, виконуючи кроки з входом і минаючи вхід у ПВІ. Перевірте інші операції налагодження. Зробіть висновки. 7. Відредагуйте зовнішній вигляд отриманого ВІ, змінивши фарбування передньої панелі, фарбування окремих елементів і їхні розміри. Змініть елементи керування на аналогічні, але іншого типу, наприклад, цифрові дисплеї на поворотні, стрілочні або повзункові прилади. Установіть цифрові дисплеї для приладів, що показують. Збережіть ВІ під ім'ям Demo Temp C-F.vi. 8. Проаналізуйте ієрархічну схему ВІ Demo Temp C-F.vi через меню Browse» Show VI Hierarchy.
9. Проаналізуйте ієрархічну структуру ВІ Debug Exercise (Main) шляхом послідовного відкриття ПВІ та переглядом ієрархічної схеми, що викликається через меню Browse» Show VI Hierarchy. 10. Перегляньте ієрархічну схему ВІ вимірювача нелінійних спотворень з меню Help» Examples..» Measurements» Distortion Measurements» Advanced Harmonic Analyser. Визначіть рівень ієрархії всього ВІ та кількість ПВІ, що використовуються для його побудови. Відкрийте ПВІ на різних рівнях ієрархії та знайдіть ПВІ, що входять до їх складу відповідно до ієрархічнії схеми. Порівняйте ПВІ найнижчого рівня з ПВІ вищіх рівнів. Зробіть висновки. 11. Зробіть анотацію на розроблений ВІ Demo Temp C-F.vi та на ПВІ, що входять до його складу. Анотацію виконайте у вікні, що відкривається через опцію VI Properties.. Перегляньте коментарі, що супроводжують ВІ або ПВІ у вікні контекстної допомоги при наведенні показника миші на іконку. 12. Задокументуйте розроблений ВІ Demo Temp C-F.vi. Перегляньте процедуру документування на принтер і у файл. Збережіть документацію на ВІ у повному обсязі (включаючи й блок-схему ПВІ) у RTF файлах та роздрукуйте на принтері, використовуючи Microsoft Word.
Контрольні питання
1. В чому полягає основний принцип побудови програмного забезпечення в середовищі LabVIEW? 2. Яким чином вмикається й позначається режим налагодження ПВІ в покроковому режимі? 3. Як зображуються пробники на функціональній панелі? Як відрізнити один пробник від іншого? 4. Яким чином установлюється й знімається зупинка програми біля обраного елемента схеми? 5. Яким чином встановлюється й знімається пробник на блок-діаграмі ВІ? 6. Як виконується процедура пошуку та виправлення помилок пограмного забезпечення ВІ? 7. Як редагується зовнішний вигляд іконок ВІ та ПВІ? Які формати іконок використовуються? 8. Що таке іконка й панель з'єднань і як вони викликаються? Яке їхнє призначення? 9. Яка послідовність створення ПВІ? 10. Які режими покрокового виконання програми ви знаєте? 11. Назвіть етапи налагодження ВІ. 12. Яким чином вводиться анотація на розроблений ВІ, яке її призначення та як вона використовується при розробці? 13. Яким чином друкується документація на розроблений ВІ? 14. Яким чином зберігається на диску документація на розроблений ВІ і як її можна використовувати?
15. Як переглядається й документується ієрархічна схема віртуальних інструментів? 16. Назвіть способи, що дозволяють створювати ПВІ. 17. Яким чином переглядається ієрархічна схема ВІ та яку інформацію можна отримати за її допомогою? 18. Як зберігаються та викликаються ПВІ при розробці нових ВІ?
Лабораторна робота № 4
ВИВЧЕННЯ СТРУКТУРНИХ ЕЛЕМЕНТІВ ПРОГРАМУВАННЯ В СЕРЕДОВИЩІ LabVIEW
Мета роботи: придбання навичок програмування в середовищі графічного пакета LabVIEW із використанням основних структурних елементів організації обчислювального процесу, вивчення умовних та безумовних циклічних структур, послідовних та касетних структур, а також формульних вузлів.
Стислі теоретичні відомості
Структурні елементи застосовуються для організації ходу обчислювального процесу, керування послідовністю виконання програм, організації переходів, проведення окремих обчислювальних операцій. Структурні елементи викликаються на функціональну панель за допомогою панелі Functions» Structures. З меню вибирається відповідна структура, перетягається на функціональну панель, збільшується до розмірів, необхідних для розміщення в ній всіх потрібдних функціональних елементів. Розміщення елементів виконується шляхом їх перетягання із допоміжної панелі Functions чи самої функціональної панелі. Так само, як у традиційних мовах текстового програмування, у LabVIEW застосовуються циклічні структури для організації багаторазово повторюваних операцій обчислювання. Це скорочує об’єм програми, зменшує займаний обсяг пам'яті й спрощує процес розробки програм. Найпростішою циклічною структурою є безумовний цикл (For Loop), зображений на рис.13. Ця структура працює аналогічно оператору циклу із заданим числом ітерацій (кроків) N, записаному у вигляді: For i = 0 to N-1 do… Структура безумовного циклу For Loop має два обов’язкових термінали: термінал кількості ітерацій N (вхідний термінал) та термінал ітерацій і (або поточного номера ітерацій, вихідний термінал). Обидва термінали містять дані цілого типу й тому забарвлені в синій колір. Перед виконанням структури циклу повинно бути визначено значення N (на рис. 13 N=100 й задано числовою константою). Після запуску, програма, що знаходиться усередині циклу виконується N разів, після чого керування передається наступному програмному модулю. Значення терміналу поточного номера ітерації і змінюється від 0 на початку виконання ітерацій безумовного циклу до N-1 у кінці. Це значення може бути прочитано із терміналу ітерацій та використано в процесі програмування. Найпростішим способом підключення зовнішніх приладів числового типу до зазначених терміналів є використання їх контекстного меню (опція Create).
Структура безумовного циклу також має своє контекстне меню, що викликається клацанням ПКМ на її рамці. Меню має опції, аналогічні опціям цифрових приладів. Виключенням є опція Add Shift Register (Додати регістр зсуву), яка буде розглянута далі. Введення та виведення даних у програму циклу може виконуватись в середині структури з терміналів передньої панелі, а також із зовні. При підключенні зовнішніх пристроїв, дані в структуру циклу поступають через термінали введення та виведення, які одержали назву відповідно вхідних та вихідних тунелів. Тунелі створюються будь-де на рамці структури безумовного циклу автоматично при з’єднанні зовнішніх терміналів з терміналами всередині структури і мають вигляд квадратиків (рис.13). Через тунелі можна передавати дані різного типу: числові, булеві, рядкові, масиви та кластери. При передачі скалярних даних тунелі мають тільки затушований вигляд. При передачі масивів (групи даних) тунелі можуть працювати у двох режимах: з автоіндексуванням Enable Indexing (Увімкнене індексування) та без автоіндексування Disable Indexing (Відключене індексування). Залежно від режиму роботи тунелю він змінює свій вигляд (рис.13). В режимі Disable Indexing тунель має затушований вигляд, а в режимі Enable Indexing - має вигляд незатушованого квадратика та ще й з квадратними дужками в середині. Переключення режиму роботи тунелю виконується за допомогою контактного меню тунелю, яке містить відповідні однойменні опції. Відповідно до режиму роботи тунелю, введення масиву може виконуватись у два способи: поелементно або всього масиву в цілому. Уведення всього масиву в цілому виконується тільки в першій ітерації виконання циклу через тунель введення, який працює в режимі Disable Indexing (Відключене індексування) і має затушований вигляд. Поелементне введення масиву (послідовно по одному елементу на кожну ітерацію) виконується, якщо термінал введення працює в режимі Enable Indexing (Увімкнене індексування) та має вигляд не затушованого квадратика з квадратними дужками у середині. Причому розмірність елементів, що вводяться, на одиницю менша розмірності вхідного масиву. Наприклад, якщо подається одновимірний масив (розмірністю 1D), то вводяться скалярні величини, якщо 2D - кожну ітерацію вводять під масиви розмірністю 1D і так далі.
При виведенні даних через тунель, що працює в режимі Disable Indexing, дані на виході терміналу представляють результат виконання останньої ітерації циклу. Режим Enable Indexing дозволяє сформувати вихідний масив з елементів, що обчислюються на кожній ітерації циклу. Причому розмірність вихідного масиву на одиницю вища розмірності елементів на виході кожної ітерації. В обох режимах виведення даних через тунель виконується тільки після завершення виконання програми циклу. Кількість ітерацій безумовного циклу, що виконується, може бути задана не тільки числом на вході терміналу кількості ітерацій циклічної структури, а й числом елементів вхідного масиву при поелементному його введенні в режимі з індексуванням Enable Indexing. Причому кількість ітерацій безумовного циклу задається числом елементів вхідного масиву тільки при умові відсутності числа на вході терміналу кількості ітерацій циклу, або якщо це число більше числа елементів масиву (тобто кількість ітерацій задається найменшим числом). Безумовний цикл може мати регістри зсуву (Shift Register), що позначаються квадратиками жовтого кольору із стрілками (рис.13). Будемо називати їх шифтами. Шифти використовуються для передачі результатів обчислення від поточної ітерації до наступної чи наступним, що еквівалентно наявності зворотного зв'язку в схемному представленні. Трикутник у позначенні шифтів відіграє роль стрілки, що вказує напрямок передачі результатів: від правого до лівого. Поява шифтів викликається натисканням ПКМ на правій або лівій границі структури. У випадаючому контекстному меню структури вибирають опцію Add Shift Register. Після цього з'являється пара шифтів. Кількість пар шифтів може бути значною. Якщо натиснути ПКМ на наявний шифт (один з пари) та у контекстному меню шифта обрати опцію Add Element, то до існуючої пари можна додати шифти, але тільки на лівому боці структури. Кількість додаткових шифтів на лівому боці практично не обмежене і всі вони зв’язані з початковою парою. З шифтів на лівому боці в поточній ітерації і можна отримати дані, які були обчислені на попередніх ітераціях і-1, і-2... та були раніше передані через правий шифт. Видалення шифтів виконується ПКМ на обраному шифті опцією видалення одного елемента Remove Element чи всієї групи Remove All. Прикладом застосування шифтів може бути виконання у кожній ітерації поточного (ковзного) усереднення по M останнім результатам обчислень. Тоді число шифтів на лівій стороні структури повинно дорівнювати M. На рис. 13 наведений приклад поточного усереднення по трьох значеннях, що були отримані в останніх трьох ітераціях із генератора випадкових чисел Random Number (0-1). До шифтів зліва можна підключити за межами структури числові пристрої уведення, які ініціалізують шифти на початку виконання циклу у першій ітерації. Якщо не зробити таку ініціалізацію, то при повторному запуску структури на виконання в шифтах будуть значення, що залишилися від попередньої роботи циклу. До шифтів справа можна підключити пристрої виведення (теж за межами структури). Після завершення роботи циклу пристрої виведення отримають дані, які обчислені на останній ітерації виконання циклу. Умовний цикл (While Loop) за своєю дією аналогічний умовному оператору циклу. Він виконується доти, поки задана булева змінна не прийме значення FALSE чи TRUE (рис.14). Структура викликається з панелі Functions» Structures» While Loop. Усередині петлі циклічної структури розташовується термінал ітерації i та пристрій, що перевіряє стан змінної булевого типу для виходу з циклу - термінал виходу (знаходиться в правому нижньому куті структури). Термінал виходу має два стани. За замовчуванням при виклику структури стан терміналу Continue IF True (Продовжувати, якщо True, рис.14). Це означає наступне: якщо на вході терміналу значення булевої змінної True, то цикл продовжує свою роботу, а для його зупину на вхід потрібно подати значення Fulse. За допомогою ПКМ або через контекстне меню термінала можна перевести його стан у Stop IF True (Зупинити, якщо True), що означає зупинення виконання циклу при подачі на вхід терміналу значення True. Таким чином, усередині структури розташовується підпрограма і виконується доти, поки не виконається умова виходу з циклу. Присутність булевої змінної на вході терміналу виходу обов’язкова. Так само як і у попередній структурі тут можуть застосовуватися шифти та тунелі введення/виведення даних. Послідовнаструктура (Sequence) дозволяє організувати логічну послідовність виконання окремих частин програми (підпрограм). Підпрограма записується на окрему сторінку чи сукупність сторінок (кадрів) структури. Вигляд структури зображений на рис. 15 і нагадує кадр фотоплівки. Виклик структури здійснюється з панелі Functions» Structures» Sequence. Меню структури викликається як і в попередніх структурах ПКМ на рамці структури. За допомогою цього меню можна додати кадр програми до (Add Frame Before) чи після (Add Frame After) вже існуючого кадру. Команди додавання кадрів поворотної дії. Після додавання кадрів зверху поточного кадру вказується його номер і діапазон номерів усіх кадрів структури. Переглянути кадри можна за допомогою лівої чи правої стрілки біля індикатора, або за допомогою ЛКМ, відредагувавши номер кадру. Можна вибрати потрібний кадр за допомогою контекстного меню й опції Show Frame. У кожному кадрі створюється своя схема (підпрограма), не зв'язана (чи зв'язана) зі схемами на інших кадрах. Зв'язок із зовнішніми об'єктами здійснюється через «тунелі» на рамці структури. Тунель має вигляд чорного прямокутника, якщо з'єднання зроблено правильно. Білі тунелі сигналізують про неправильне з'єднання. Тунель утворюється на рамці природним чином при з'єднанні зовнішнього й внутрішнього елементів котушкою. Тунель також утворюється в будь-якому місці рамки, якщо з'єднати зовнішній чи внутрішній елемент схеми з місцем рамки –місцем майбутнього розташування тунелю. Тунелі послідовної структури діють на всіх кадрах. Проте до вхідного тунелю можна підключатися на всіх кадрах, а до вихідного – тільки на одному. Інформація з вихідних тунелів виводиться тільки після закінчення виконання останнього кадру структури. Зв'язок внутрішніх об'єктів, розташованих на різних кадрах, здійснюється за допомогою локального переходу Sequence Local, що викликається ПКМ за допомогою опції контекстного меню структури Add Sequence Local (додати локальний перехід). Локальний перехід у вигляді жовтого квадратика з'являється з внутрішнього боку рамки біля того місця рамки, на яке спрямований покажчик миші (рис.15, знизу). З'єднання «локальний перехід» пронизує всі кадри структури, але на попередні кадри не поширюється. Тому до конкретного локального переходу можна підключатися тільки на кадрі, з якого він викликаний, і на наступних кадрах. Локальний перехід має односпрямований характер передачі даних у напрямку збільшення номерів кадрів. Рекомендується спочатку підключити до локального переходу джерело сигналу. Після цього на ньому з'являється стрілка, що вказує напрямок передачі даних на всіх кадрах, де діє перехід (рис.15). Касетна структура (Case Structure) є багатошаровою керованою структурою, окремі фрагменти якої вибираються й виконуються за умовою. Шлях до структури Functions» Structures» Case. Вигляд її зображено на рис. 16. Структура має декілька сторінок (касет), але виконується тільки одна. Вибір сторінки робиться через селектор (мітка «?»), що міститься на рамці структури. Селектор можна переміщувати як термінал у будь-яке зручне місце лівого боку рамки. На вхід селектора можна підключати булеву (True-False), числову чи строкову змінну. У випадку булевої змінної структура містить дві сторінки, що позначаються зверху значеннями булевої величини (рис. 16). Керуюча змінна формується елементом булевого типу. При пуску програми виконується підпрограма тієї сторінки структури, позначення якої відповідає поточному значенню булевої змінної. Якщо потрібно збільшити кількість керованих сторінок (підпрограм), то для їх вибору переходять до числових змінних. У цьому випадку до мітки селектора «?» на рамці структури підключають елемент числового типу. Після підключення числової змінної, позначення аркушів касетної структури змінюється з булевого на цифрове. За допомогою опцій контекстного меню структури можна додати сторінку після (Add Case After) або перед (Add Case Before) відкритою сторінкою. Таким чином, можна додати необхідну кількість сторінок структури. Відкрита сторінка «вирізається» опцією видалення (Remove Case). Слід зазначити, що при додаванні чи видаленні сторінки відбувається перенумерація інших сторінок із збереженням усіх чисел натурального ряду, для їх позначення. Під час пуску програми виконується підпрограма тієї сторінки, номер якої вказується числом на вході селектора. Для підключення зовнішніх елементів до елементів касетної структури також використовуються вхідні та вихідні тунелі. Тунелі пронизують всі сторінки структури. До вхідного тунелю можна підключатись на будь-якій сторінці. Підключення до вихідного тунелю з кожної сторінки обов’язкове. Робиться це, для того, щоб уникнути можливої невизначеності виходу тунеля для зовнішніх елементів (наприклад, при виборі сторінки, де відсутнє таке підключення). Якщо на сторінці підключення до вихідного тунелю не передбачено блок-схемою, то його виконують, наприклад, встановивши константу того ж типу, що й дані, підключені на інших сторінках. Формульний вузол (Formula Node) — структура, що дозволяє організовувати обчислення за формулами, що записані у середині її контуру. Шлях до структури: Functions» Structures» Formula Node. Вигляд структури після виклику на функціональну панель зображений на рис. 17. Після виклику структури її розміри змінюються звичайним прийомом до необхідних розмірів, що визначаються кількістю й обсягом формул. Для введення тексту формул використовується режим текстового редагування. Текст вводиться відповідно до синтаксису і загальноприйнятого правила запису арифметичних виразів. Позначення функцій і знаків арифметичних виразів наводяться у вікні контекстної довідки. Формули повинні закінчуватися крапкою з комою, тобто знаком «;». Арифметичні вирази можуть мати кілька вхідних та вихідних величин. Місце введення вхідної й вихідної величини розташовується на сторонах рамки структури. Вікна введення і виведення даних відрізняються позначенням. Наприклад, на рис. 17 вхідна величина х поміщена в прямокутник, зображений однією (тонкою) лінією, вихідна величина у - в прямокутник, зображений подвійною (товстою) лінією. Для виклику вікна вхідної величини вказуємо стрілкою миші місце на рамці, де повинне розташовуватися вікно. Натискаємо ПКМ і з контекстного меню вибираємо опцію додавання входу Add Input. У прямокутник, що з'явився, відразу вводимо ім'я вхідної змінної. Для виклику вікна вихідної величини робимо те ж саме, але вибираємо опцію додавання виходу Add Output. Видалення встановленого вікна виконується опцією Remove його контекстного меню. За допомогою опції зміни Change to Output (Змінити на вихід) контекстногоменю вхідного вікна можна змінити вхід на вихід і відповідно вхідну величину на вихідну. І, навпаки, за допомогою опції зміни Change to Input (Змінити на вхід) меню вихідного вікна можна змінити вихід на вхід і відповідно вихідну величину на вхідну. З огляду наведенних структур для управління роботою умовного циклу та касетної структури використовуються елементи булевого типу. До них відносяться й різного роду перемикачі та кнопки, що встановлюються на передній панелі. Перемикачі використовуються для увімкнення або відключення програмних модулів, що виконуються у ВІ. Враховуючи їх важливу роль щодо управління роботою ВІ, отже й процесів що ним керуються, в LabVIEW передбачено шість режимів роботи перемикачів, які відрізняються механічною дією та алгоритмом формування сигналів керування. Можливість зміни механізму дії органів керування булевого типу передбачена для спрощення роботи з кнопками й перемикачами, автоматизації процесу їх повернення у вихідний стан, для зміни алгоритму роботи кнопок, встановлення активної фази їх дії. Зміну механізму дії елемента керування можна здійснити за допомогою опції меню Mechanical Action, вибравши одну з зображених нижче піктограм. ● Перемикання при натисканні. Вихідна величина змінюється при кожному натисканні-відпусканні ЛКМ. Положення кнопки фіксується й залишається незмінним до нового натискання-відпускання. Дія кнопки починається з моменту натискання ЛКМ. ● Перемикання при відпусканні. Вихідна величина змінюється за кожним натисканням-відпусканням на кнопку. Положення кнопки фіксується й залишається незмінним до нового натискання-відпускання. Дія кнопки починається з моменту відпускання ЛКМ. ● Перемикання поки натискання. Вихідна величина змінюється при натисканні на кнопку і залишається незмінним до відпускання. Дія кнопки при натисканні ЛКМ аналогічно кнопці дверного дзвінка. ● Автоповернення при натисканні. Вихідна величина змінюється при натисканні ЛКМ на кнопку. Після зчитування стану кнопки програмою відбувається автоматичне повернення у вихідний стан, навіть якщо кнопка утримується мишею. Для повторної активації кнопки необхідно її повторне натискання. ● Автоповернення при відпусканні. Вихідна величина змінюється при відпусканні ЛКМ. Після зчитування стану кнопки програмою відбувається автоматичне повернення у вихідний стан. Для повторної активації кнопки необхідно її повторне натискання. ● Автоповернення після відпускання. Вихідна величина змінюється при натисканні на кнопку. Зчитування стану кнопки програмою відбуватися до тих пір, поки кнопка утримується мишею. Автоматичне повернення кнопки відбувається після її відпускання і зчитування стану кнопки програмою. При необхідності, початковий стан перемикача або кнопки на передній панелі може бути встановлений за допомогою опції контекстного меню пристрою Data Operations» Make Current Velue Default. Це має особливе значення для останніх трьох механізмів дії, які мають початкове значення, до якого вони повертаються. Порядок виконання роботи Завдання 1: вивчити механізми дії перимикачів та кнопок. 1. Побудуйте пристрій для моделювання механізмів дії перемикачів та кнопок відповідно до рис. 18. 2. Переконайтесь в тому, що перемикач при його установці за замовчуванням має перший режим механічної дії п еремикання при натисканні. Відкрийте в контекстному меню опцію Mechanical Action. Діючий режим механічної дії перемикача позначається 3. Клацаючи ЛКМ на зображені перемикача з різною швидкістю, вивчіть фази, за якими наступає (при натисканні чи при відпусканні ЛКМ) зміна положення перемикача та прийом даних приймачем (світловий індикатор). Змінюючи затримку та швидкість подвійного клацання ЛКМ проаналізуйте надійність перемикання та фіксацію його приймачем. Занотуйте результати спостережень, нарисуйте часові діаграми спрацьовування перемикача та моментів зміни стану приймача. 4. Повторіть п.3 для всіх інших режимів, обираючи відповідну піктограму із контекстного меню. Порівняйте механізми дії перемикача, зробіть висновки. 5. Замініть перемикач на передній панелі пристрою на кнопку «ОК» та повторіть п.3 для всіх режимів роботи кнопки. Порівняйте роботу кнопки із роботою перемикача. Завдання 2: побудувати ВІ для виміру температури із використанням структур умовного та безумовного циклів для побудови й виведення графіків поточної й поточної середньої температури на екрані графічного дисплея. Передня панель
1. Відкрийте передню панель нового ВІ. 2. Побудуйте передню панель, представлену на рис. 19. 2.1. Установіть на передню панель вертикальний тумблер за допомогою панелі Control»Boolean д ля вимикання працюючого ВІ. Надрукуйте «Включення» у поле мітки тумблера. Позначте стани увімкнення й вимикання мітками «Вкл» і «Викл» безпосередньо на передній панелі. Напис зробіть за допомогою покажчика миші в режимі введення тексту, що вибирається на панелі Tools. 2.2. Для регулювання частоти виконуваних вимірів, виберіть повзунковий регулятор затримки за допомогою панелі Control» Numeric» Vertical Pointer Slider і помістіть його на передню панель праворуч. Регулятор затримки буде змінювати період виміру температури. Надрукуйте «Затримка, мс» у поле мітки регулятора. Установіть межі зміни затримки від 0 до 1000 мс за допомогою покажчика миші в режимі введення тексту. 2.3. Виберіть графічний індикатор за допомогою панелі Control» Graph» Waveform Chart і помістіть його на передню панель. Графічний індикатор буде використовуватися для відображення температури в реальному часі. Надрукуйте «Температура» у поле мітки. 2.4. Мітка панелі редагування графіків індикатора Waveform Chart (віконце зверху)містить «Plot 0». Замініть запис на «Темп.», використовуючи покажчик миші в режимі введення тексту. 2.5. Змініть колір зображення графіка. Натисніть ЛКМ на віконці, що відображає вигляд графіка й у контекстному меню виберіть опцію Color. 2.6. На індикаторі буде відображатися температура в діапазоні 0–40°С. Використовуючи покажчик миші в режимі введення тексту, змініть відповідно верхню й нижню цифри вертикальної шкали графічного індикатора. 2.7. Установіть граничні значення горизонтальної шкали індикатора 0-100. 2.8. Змініть напис вертикальної й горизонтальної шкал індикатора на «Температура» і «Час». 2.9. Відкрийте цифровий дисплей графічного індикатора для індикації поточного значення температури. Натисніть ЛКМ на екрані графічного індикатора й у контекстному меню виберіть Visible Items» Digital Display. 2.10. Розташуйте елементи передньої панелі, як показано на рис. 19 за допомогою курсору миші в режимі керування. Блок-діаграма
1. Переключіться на функціональну панель, вибравши Window»Show Diagram. 2. Побудуйте блок-діаграму зображену на рис. 20. 2.1. Виберіть структуру умовного циклу While Loop за допомогою панелі Functions» Structures. Натисніть ЛКМ, перенесіть її на функціональну панель. За допомогою покажчика миші у вигляді стрілки збільшіть розміри структури циклу так, щоб у контур структури помістилися всі елементи-термінали передньої панелі або перетягніть елементи в зону, обмежену контуром структури. 2.2. Виберіть Functions» Select a VI і знайдіть ВІ із ім’ям Digital Thermometer за шляхом Program Files» National Instruments» LabVIEW 6» activity» Digital Thermometer.vi. Двічі натисніть ЛКМ і перенесіть іконку ПВІ на функціональну панель у контур структури циклу. Зазначене ПВІ імітує реальний пристрій виміру температури, видаючи випадкові значення при звертанні до нього. 2.3. Виберіть функцію регульованої затримки часу (Wait Until Next ms Multiple) за допомогою панелі Functions» Time&Diolog і перетягніть її на функціональну панель. Ця функція забезпечує затримку виконання ітерацій виміру на час, що дорівнює числу (в мілісекундах), установленому на її вході. 2.4. З'єднайте об'єкти блок-діаграми, як показано на рис. 20. В результаті буде запрограмований ВІ, що отримує в одному такті ітерації умовної циклічної структури одне виміряне значення температури від ПВІ Digital Thermometer. Вимірювання температури повторюються з інтервалом, що визначається затримкою. Результати вимірювань подаються на графічний дисплей для подальшої індикації. Для виходу із циклу й припинення роботи ВІ використовується тумблер «Включення». Запуск ВІ
1. Переключіться на передню панель, переведіть вимикач у положення «Вкл» і кнопкою запуску на разове виконання (на лінійці керування) запустіть ВІ. Частина блок-діаграми усередині структури циклу буде працювати доки тумблер знаходиться в стані TRUE, що відповідає положенню «Вкл». Стан тумблера перевіряється наприкінці кожної ітерації виміру. При переводі тумблера в положення «Викл», тумблер перейде в стан FALSE і наприкінці ітерації робота в циклі буде зупинена. Пристрій вийде з циклу і продовжить роботу відповідно до програми. У даному прикладі робота ВІ взагалі буде зупинена. 2. Спостерігайте роботу ВІ по відображенню вимірювальної інформації у вигляді графіка на графічному індикаторі. Установіть потрібні межі для відображення вимірюваних даних. Спостерігайте зміну швидкості виведення інформації на екран при зміні положення повзунка регулятора затримки. Зробіть висновки. 3. Перегляньте ієрархію розробленого ВІ. Відкрийте передню панель ПВІ виміру температури подвійним натисканням ЛКМ. Перемикач режиму відображення температури знаходиться в положенні F за замовчуванням, що вказує на відображення температури в градусах по Фаренгейту. Для зміни режиму відображення по Цельсію переведіть перемикач у положення C і зафіксуйте це положення як положення за замовчуванням, вибравши в меню перемикача Data Operations» Make Current Velue Default. Вивчіть роботу перемикача й алгоритм формування відповідного значення температури на блок-діаграмі ПВІ. Нарисуйте схему зміни режиму відображення температур. Відкрийте й вивчіть роботу ПВІ Demo Voltage Read.vi. 4. Переглянете ієрархію розробленого ВІ використовуючи меню лінійки керування Brows» Show VI Hierarchy. Відкрийте ПВІ, що входять до складу ВІ, використовуючи ієрархічну схему. Закрийте усі вікна ПВІ і поверніться до розроблюваного ВІ. 5. Спробуйте запустити розроблене ВІ ще раз. Якщо не перевести вимикач пристрою в положення «Вкл», тобто він залишається в положенні «Викл», то ВІ виконає тільки одне вимірювання і буде зупинений знову. Для його запуску в режимі багаторазового вимірювання необхідно перед запуском програми перемикач перевести в положення «Вкл», а потім зробити запуск програми. Це незовсім зручно. 6. Змініть механізм дії вимикача ВІ на автоповертання при натисканні. Попередньо установіть тумблер у положення «Вкл» і зафіксуйте це положення як стан за замовчуванням. Для цього в меню елемента керування виберіть опцію Data Operations» Make Current Value Default. Виберіть потрібний механізм дії перемикача. Повторіть запуск і зупинку ВІ кілька разів і перевірте механізм дії вимикача. Випробуйте інші механізми дії вимикача. Дайте рекомендації з вибору механізмів дії вимикача зручних для керування ВІ. Обґрунтуйте вибір. 7. Очистіть екран графічного індикатора. Очищення індикатора виконується вибором Data Operations» Clear Chart контекстного меню. Якщо ВІ працює, то очищення екрана може виконуватись просто вибором опції Clear Chart контекстного меню. 8. Побудуйте аналогічний ВІ для циклічного виміру температур, використовуючи модель вимірювача температур, розробленого Вами раніше. Замініть Digital Thermometer на розроблений Вами ПВІ, використовуючи контекстне меню ПВІ Digital Thermometer.vi й вибравши опцію Replace. 9. Установіть елементи управління та індикації, що були присутні в розробленому Вами ПВІ. На передню панель установіть вимикач роботи ВІ, перемикач і світлові індикатори способу відображення температури (по Цельсію чи по Фаренгейту), цифровий дисплей для установлення початкової температури, цифровий дисплей і графічний індикатор вимірюваних значень температури, регулятор часової затримки циклів виміру. Приєднайте вищевказані елементи до Вашого ПВІ. Запустіть ВІ та перевірте його роботу. 10. Скористайтесь спрощенною процедурою виклику й установлення вказанних елементів, що є елементами керування й індикації розробленого раніше ПВІ. Поверніться до п.8. Після заміни Digital Thermometer на розроблений Вами ПВІ, відкрийте функціональну панель та вікно контекстної допомоги, наведіть покажчиком миші у вигляді котушки на вхід чи вихід ПВІ, що відповідає встановлюваному елементу і за допомогою ПКМ відкрийте контекстне меню. Увімкніть опцію Create (Створити) і в запропонованому списку виберіть тип елемента – константа, пристрій введення чи індикатор, що відповідають обраному виведення ПВІ. На передній панелі розроблювального ВІ з'явиться елемент, аналогічний елементу, що був установлений на передній панелі ПВІ, і під тим же ім'ям. На функціональній панелі з'явиться термінал викликаного елемента, що вже підключений до відповідного виведення ПВІ. При необхідності зовнішній вигляд, тип і властивості викликаного елемента і його термінала можна змінити за допомогою меню елементів. Приберіть зайві елементи в структурі циклу розроблюваного ВІ та перевірте його роботу. При необхідності зробіть налагоджування ВІ. 11. Виведіть на екран графічного індикатора графіки поточного значення температури, поточного середнього значення (усереднення по трьом (чотирьом) значенням), а також лінії, що вказують мінімальну і максимальну границі температурного діапазону. Вихід поточного значення температури за межі температурного діапазону будемо вважати небажаним і його необхідно фіксувати відповідними світловими приладами. 11.1. Поточне значення температури отримайте з виходу раніше розробленого ПВІ. 11.2. Поточне середнє значення сформуйте за допомогою шифтів циклічної структури. Установіть пару шифтів на правій і лівій границі умовної циклічної структури. На лівій границі додайте додаткові шифти, довівши їхню кількість до трьох (чи чотирьох) залежно від кількості усереднюваних значень. До правого шифту підключіть вихід ПВІ вимірювача температури. Підсумуйте значення лівих шифтів і поточне значення температури за допомогою термінала підсумовування Functions» Numeric» Compound Arithmetic. При потребі збільшіть кількість входів термінала підсумовування, розтягнувши його зображення за допомогою покажчика миші. Якщо поділити величину суми з виходу термінала підсумовування на три (чотири), то буде отримане поточне середнє з трьох (чотирьох) значень температури. 11.3. Для уведення верхньої і нижньої границь температурного діапазону установіть на передній панелі два цифрових дисплея введення даних і позначити їх Tmin і Tmax. Для контролю поточної температури установіть світлові індикатори відображення моментів виходу значень поточної температури за межі заданого діапазону температур. Позначте їх відповідно «Нижня межа» і «Верхня межа». Термінали цифрових дисплеїв і світлових індикаторів помістіть в межах циклу. Виконайте порівняння поточного значення температури з обраними границями, використовуючи функції порівняння Functions»Comparison. Підключіть до виходу пристроїв порівняння відповідні їм світлові індикатори «Нижня межа» і «Верхня межа». 11.4. Для виведення чотирьох графіків (поточної, поточної середньої температури, а також ліній меж діапазону) їх необхідно об'єднати в кластер за допомогою функції об'єднання Bundle, що знаходиться в Functions»Cluster. Кількість входів функції об'єднання змінюється при розтягуванні термінала функції покажчиком миші. Вихідний кластер підключається до графічного індикатора Waveform Chart, який вже присутній на передній панелі. 11.5. Установіть на цифрових дисплеях Tmax і Tmin (наприклад, верхня межа температури 21°С, нижня межа 19°С), а вхідну температуру установіть 20°С. Перемикач типу відображення температур установіть у положення Deg C. 11.6. Запустіть ВІ на виконання і спостерігайте виведення графіків на екран дисплея. Для розрізнення графіків на екрані пофарбуйте лінії в різні кольори. Для цього вимкніть ВІ і на передній панелі розтягніть вікно Граф. (Plot Legend) до розмірів, що включають чотири зразка графіків. Змініть назви графіків за допомогою редактора тексту. Виберіть форму відображення графіків за допомогою опції Common Plots і колір за допомогою опції Color у контекстному меню кожного з графіків у вікні Plot Legend. Також можна вибрати стиль ліній (неперервна, пунктир, штрих-пунктир й ін.) та їхню товщину. 11.7. Змініть режим роботи графічного індикатора Waveform Chart по виведення на один екран чотирьох графіків на режим виведення на чотири екрани по одному графіку. Виключіть ВІ та виберіть в контекстному меню графічного індикатора опцію Stack Plot (Пакетний графік). Запустіть ВІ на виконання і спостерігайте виведення графіків на екранах дисплея. Для повернення в одноекранний режим роботи виберіть в контекстному меню графічного індикатора опцію Overlay Plot (Сумісний графік), яка є опцією поворотної дії від Stack Plot. 11.8. Запустіть ВІ й перевірте правильність роботи світлових індикаторів виходу поточного значення температури за межі діапазону. При необхідності, виконайте налагоджування програми. Порівняйте графіки поточного значення температури і поточного усередненого значення. Зробіть висновки. 12. Збережіть розроблений ВІ для наступної роботи.
Контрольні питання
1. Які структурні елементи програмування в середовищі LabVIEW ви знаєте? Їх призначення. 2. Як здійснюється введення і виведення даних у циклічні структури в режимах із автоіндексуванням і без автоіндексування? 3. Як працює послідовна структура? 4. Як працює касетна структура? 5. Розкажіть як працює формульний вузол. 6. Чим визначається кількість ітерацій виконання підпрограм у безумовному циклі? 7. Чим відрізняється термінал кількості ітерацій циклу від терміналу ітерацій? 8. Назвіть режими механічної дії перемикачів і кнопок та порядок їх встановлення. 9. Чим відрізняються структури умовного та безумовного циклів? 10. Які особливості введення та виведення даних в касетних структурах? 11. Які особливості введення та виведення даних в послідовних структурах? 12. Яким чином передаються дані по кадрах в послідовних структурах? 13. Яким чином збільшується або зменшується кількість підпрограм в касетних та послідовних структурах? 14. Що таке шифти й для чого вони використовуються? 15. Яка різниця між шифтами на правій та лівій границях циклічних структур? 16. Для чого виконується ініціалізація шифтів? 17. В яких випадках виконується введення скалярних величин в циклічні структури та їх виведення із циклічних структур? 18. Як спрощено виконується установка та підключення елементів передньої панелі до розробленого раніше ПВІ? 19. Які режими виведення графіків використовуються у графічному індикаторі Waveform Chart? 20. Як обчислюється поточне середнє значення числової послідовності з використанням циклічних структур?
Лабораторна робота 5
Читайте также: II. Методика и порядок составления родословной Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|