
- •Базовий курс програмування у середовищі розробки віртуальних приладів LabVіew Методичні вказівки
- •Базовий курс програмування у середовищі розробки віртуальних приладів LabVіew Методичні вказівки
- •Комп’ютерний практикум №1
- •Створення віртуальних приладів в середовищі labview. Цифрові прилади та індикатори
- •Мета роботи: ознайомитись з особливостями роботи в середовищі LabView, розглянути технологію побудови віртуальних приладів.
- •Теоретичні відомості
- •1 Запуск системи LabVіew
- •2 Головне меню
- •2.1 Меню File
- •2.2 Меню Edit
- •3 Панель інструментів Toolbar
- •4.1 Палітра Tools (Інструментів)
- •4.2 Палітра Controls (управління)
- •4.3 Палітра Functіons (функцій)
- •5 Створення vі
- •5.1 Фронтальна панель vі
- •5.2 Блок-схема vі
- •5.3 Проводка
- •5.4 Спливаючі підказки
- •5.5 Створення об’єктів фронтальної панелі за допомогою блок-схеми
- •5.6 Використання допомоги
- •6 Особливості роботи та налаштування цифрових і булевих об’єктів фронтальної панелі
- •6.1 Цифрові елементи управління та індикатори
- •6.2 Булеві об’єкти
- •7 Приклади розробки простих віртуальних приладів
- •7.1 Віртуальний прилад, що моделює визначення температурних показників
- •7.2 Віртуальний прилад, що моделює за допомогою датчиків визначення показників температури та об’єму
- •7.3 Віртуальний прилад із застосуванням булевих функцій та процедури дослідження потоку даних
- •Індивідуальні завдання
- •Комп’ютерний практикум №2
- •Розв’язання лінійних алгебраїчних рівнянь в середовищі labview
- •Теоретичні відомості
- •1 Розрахунок схеми електричного кола із застосуванням арифметичних операцій
- •2 Розрахунок схеми електричного кола за допомогою формульного вузла Formula Node
- •3 Розрахунок схеми електричного кола за допомогою матричних методів
- •4 Доповнення. Матричні операції в середовищі LabView
- •Індивідуальні завдання
- •Комп’ютерний практикум №3
- •Організація масивів
- •Мета роботи: вивчити поняття масивів даних і математичних операцій над масивами. Освоїти технологію роботи з масивами даних у LabView.
- •Теоретичні відомості
- •1 Створення масиву елементів управління та індикації
- •2 Двовимірні масиви
- •3 Математичні функції (поліморфізм)
- •4 Основні функції роботи з масивами
- •5 Автоматичне масштабування функцій роботи з масивами
- •6 Додаткові функції роботи з масивами
- •7 Функції для роботи з масивами логічних змінних
- •Індивідуальні завдання
- •Комп’ютерний практикум №4
- •Організація циклів
- •Мета роботи: вивчити теоретичні дані про організацію циклів у LabView, навчитися самостійно створювати програми, використовуючи нові функції.
- •Теоретичні відомості
- •1 Цикл For
- •1.1 Автоматична індексація
- •1.2 Індексація декількох масивів в одному циклі
- •1.3 Організація доступу до значень попередніх ітерацій циклу
- •1.3.1 Регістр зсуву (Shift Register)
- •1.3.2 Стек регістрів зсуву
- •1.3.3 Вузол зворотного зв’язку
- •2 Цикл за умовою While
- •2.1 Доступ до значень попередніх ітерацій циклу
- •2.2 Автоіндексація в циклі за умовою
- •3 Структура вибору Case
- •4 Структура послідовності (Sequence)
- •4.1 Структура відкритої послідовності (Flat Sequence Structure)
- •4.2 Структура багатошарової послідовності (Stacked Sequence Structure)
- •Індивідуальні завдання
- •Комп’ютерний практикум №5
- •Графічне надання даних
- •Мета роботи: вивчити інструменти LabView та їх можливості з візуалізації даних, що включають графік діаграм, графік осциллограмм та двокоординатний графік.
- •Теоретичні відомості
- •1 Графік діаграм
- •1.1 З’єднання графіків
- •2 Графік осциллограм та двокоординатний графік осцилограм
- •2.1 Поодинокий графік осцилограм
- •2.2 Графік множини осцилограм
- •2.3 Поодинокі двокоординатні графіки осцилограм
- •2.4 Двокоординатні графіки множини осцилограм
- •3 Графіки інтенсивності
- •3.1 Налаштування графіків і таблиць інтенсивності
- •Індивідуальні завдання
- •Комп’ютерний практикум №6
- •Мета роботи: вивчити можливості LabView при роботі з даними рядкового типу, розглянути інструменти обробки тексту, подання даних у табличній формі тощо.
- •Теоретичні відомості
- •1 Створення рядкових елементів управління і індикації
- •2 Функції роботи з рядками
- •3 Перетворення числа в рядок. Функція Format Into String
- •4 Перетворення рядків в числові дані
- •5 Таблиці
- •Індивідуальні завдання
- •Комп’ютерний практикум №7
- •Функції файлового вводу/виводу високого рівня
- •Мета роботи: вивчити можливості LabView при роботі з файлами , а саме : збереження даних у файл та їх зчитування з файлу.
- •Теоретичні відомості
- •1 Основи файлового вводу/виводу
- •2 Функції файлового вводу/виводу низького рівня
- •3 Збереження даних в новому або вже існуючому файлі
- •4 Форматування рядків таблиці символів
- •5 Функції файлового вводу/виводу високого рівня
- •6 Експрес вп
- •Список літератури
- •Зразок оформлення результатів виконання завдання з комп’ютерного практикуму
3 Перетворення числа в рядок. Функція Format Into String
Функція Format Into String перетворює дані різних типів в рядок.
Наприклад, якщо необхідно отримати у вигляді одного рядка слово «Напруга» і чисельне значення, слід зібрати такий ВП (рис. 5)
Рисунок 5 – Приклад реалізації функції Format Into String
Далі, для визначення формату перетвореного числа, в контекстному меню можна вибрати пункт Edit Format String (або просто двічи натиснути мишею на іконці функції). За замовчуванням формат числа дробовий.
У діалозі (рис. 6) можна змінити формат відображення для кожного вхідного параметра: подання числа, вирівнювання, точність. У даному прикладі виберемо кількість знаків після коми (use specified precision).
Рисунок 6 – Діалогове вікно для зміни формату відображення кожного вхідного параметра
Після виходу з діалогу на блок діаграмі з’явитися рядок-шаблон для виводу (рис. 7). У даному випадку %.1f означає виведення числа в дробовому вигляді з 1 знаком після коми.
Рисунок 7 – Рядок-шаблон для виводу
Для отримання більш докладної інформації про синтаксис форматів, слід звернутися до вбудованої в LabVIEW довідкової інформації (LabVIEW Help).
Є можливість збільшити кількість параметрів, змінивши розміри іконки.
4 Перетворення рядків в числові дані
Для перетворення рядка в числові дані слід використовувати функцію Scan From String.
Функція Scan From String перетворює рядок, що містить допустимі числові символи, такі як «0» - «9», «+», «-», «е», «Е» і роздільник «.», у дані числового формату. Функція починає перегляд рядка, що подається на поле введення даних input string з номера символу, що задається на поле initial search location. Грунтуючись на форматі рядка, функція може переглядати вхідний рядок і шукати різні типи даних, такі як числові або логічні дані. Для збільшення кількості полів виводу даних слід змінити розмір іконки функції.
Наприклад, при значеннях на полях вводу даних «Напруга: 14,1» функція видає результат 14.1, як показано на рисунку 8.
Рисунок 8 – Рядок-шаблон для виведення
У форматі рядка % – вказує початок формату рядка, f – вказує тип даних з плаваючою комою. Для створення і редагування формату рядка слід в контекстному меню вибрати пункт Edit Scan String.
5 Таблиці
Елемент управління Таблиця, розташований в палітрі Controls => List & Table, призначений для створення таблиць на фронтальній панелі. Кожна комірка знаходиться в рядку і стовпці таблиці. Тому таблиця є двовимірним масивом рядків. На рисунку 9 показана таблиця та її складові частини.
1 – Комірка таблиці 2 – Заголовок стовпця 3 – Вертикальна смуга прокрутки 4 – Горизонтальна смуга прокрутки 5 – Заголовок рядка 6 – Індекс по горизонталі 7 – Індекс по вертикалі
Рисунок 9 – Таблиця і її складові частини
Для ініціалізації значень елементів таблиці використовується інструмент управління або вводу тексту, за допомогою яких достатньо ввести текст у виділену комірку.
Таблиця є двовимірним масивом рядків. Для її використання як елемента індикації, необхідно двовимірний масив чисел перетворити в двовимірний масив рядків.
Приклад 1:
Сортування стовпців таблиці за зростанням.
Для того, щоб була можливість сортувати різні стовпчики таблиці за зростанням, необхідно обробити таблицю в ВП наступним чином. Саме сортування здійснюється за допомогою функції Sort ID Array, яка знаходиться в палітрі Functions => Array.
Ця функція сортує елементи одновимірного масиву за зростанням. Якщо масив складається з кластерів, функція сортує масив по першім елементам кластерів. У зв’язку з цим таблицю слід перетворити в масив таким чином, щоб стовпець, який цікавить користувача, став першим. І потім сформувати з отриманого масиву кластер, який і потрібно сортувати.
Після здійснення сортування кластер слід перетворити в масив і повернути стовпці на свої первинні місця.
Отже, створимо саму таблицю і цілочисельний елемент управління, який буде вказувати стовпець для сортування. Заповнимо таблицю довільними даними.
Рисунок 10 – Приклад заповненої даними таблиці
За замовчуванням заголовки стовпців і рядків не видимі. Щоб заголовки стовпців стали видимі у властивостях таблиці (діалогове вікно властивостей викликається з контекстного меню пунктом Properties) необхідно поставити прапорець навпроти Show Column Headers. Крім цього, щоб з’явилася можливість редагувати заголовки, необхідно включити в контекстному меню таблиці опцію Editable Headers.
Як здійснити зрушення стовпця, за яким буде проводитися сортування? Зрушення стовпця здійснюється за допомогою Rotate ID Array з тієї ж палітри Functions => Array.
Одновимірний масив, який подається на вхід функції Rotate ID Array, є рядками таблиці. Кожний рядок отримується за допомогою циклу For.
Якщо для кожного рядка окремо поміняти елементи місцями, то в цілому в таблиці місцями поміняються стовпці. Припустимо, як і на рисунку 10, необхідно сортувати таблицю за третім стовпцем (відлік починається з нуля). Інакше кажучи, цей стовпець треба помістити на перше місце. Функція Rotate ID Array переміщує n елементів з початку в кінець, якщо n > 0. І навпаки, переміщує n елементів з кінця на початок, якщо n < 0. Якщо на вхід n поданий 0, функція рядок не змінює. Стовпці таблиці треба зрушити на 2 стовпці вліво до сортування, і на 2 стовпці вправо після.
Тому до використання функції сортування необхідно подати -2 на вхід n функції Rotate ID Array, а після +2.
Перетворення масиву в кластер і кластера в масив здійснюють функції Array To Cluster і Cluster To Array відповідно. При перетворенні кластера в масив ніяких додаткових операцій проводити не потрібно. А при перетворенні масиву в кластер слід вказати розмір кластера. Передбачається, що структура таблиці відома заздалегідь. Виконується це через пункт cluster size контекстного меню функції. У даному випадку розмір кластера дорівнює 4.
Отже, таблицю розбито на окремі рядки. У кожному рядку в циклі For замінені місцями стовпці. Сформовано з елементів рядка кластер. На виході з циклу For зібрано з кластерів масив. Відсортовано масив кластерів за першим елементом в кластері. Знову використано цикл For, в якому з кожного елемента масиву кластерів отримано одновимірний масив. Замінено місцями стовпці назад. На виході циклу For зібрано відсортовані рядка в таблицю. Залишається вивести цей результат в ту ж таблицю. Варіант з новою таблицею на фронтальній панелі у вигляді елемента індикації, безумовно, можливий. Однак такий спосіб відображення інформації при роботі з таблицями з цілком зрозумілих причин не є загальноприйнятим. Необхідно, щоб відсортована таблиця відображалася в початковій таблиці. У таких випадках зручно використовувати локальні змінні. Локальну змінну для будь-якого елемента управління або індикації можна створити з контекстного меню елемента, вибравши пункт Create => Local Variable. Цей пункт контекстного меню доступний як на фронтальній панелі, так і на блок-діаграмі. Після створення локальної змінної, її термінал з’явиться поруч з терміналом елемента управління або індикації на блок-діаграмі (рис. 11).
Рисунок 11 – Локальна змінна і елемент управління/індикації
Локальну змінну можна використовувати в будь-якому місці блок-діаграми (якщо це не суперечить логіці виконання програми). Її можна використовувати як для читання даних, так і для запису. У якості останнього необхідно використовувати локальну змінну, з’єднавши її з отриманою відсортованою таблицею.