І функцій у середовищі labview
Мета роботи: вивчення способів групування даних у масиви й кластери та їх використання для графічного відображення інформаційних потоків.
Сигнали в середовищі LabVIEW подаються послідовністю вибіркових значень аналогових сигналів, що отримуються після їх аналого-цифрового перетворення в підключених до ПК інтерфейсних модулях (платах). В LabVIEW сигнали, що обробляються, обмежені в часі й представляються у вигляді реалізацій, які складаються із N вибікових значень (виборок) аналогового сигналу, отриманих з частотою дискретизації FA (тобто з інтервалом дискретизації ТА=1/FA). Використовуючи цифрову обробку реалізацій сигналу в LabVIEW отримується корисна інформація, що закладена у його інформативному параметрі. При цьому використовуються методи цифрової обробки такі як статистичний аналіз, спектральний аналіз, кореляційний аналіз та ін. Сигнали є функцією зміни фізичної величини, наприклад напруги або струму в часі. Тому все вищесказане відноситься й до представлення функцій в середовищі LabVIEW. Для представлення послідовністей вибіркових значень сигналів та функцій в LabVIEW використовуються масиви та кластери. Масиви. Масив в LabVIEW являє собою упорядковану сукупність даних тільки одного типу. Масиви містять елементи й характеризуються розмірністю та розміром. Взагалі елементами масиву можуть бути такі типи даних: числові, булеві, строки, кластери, сигналограми, шляхи та інші, але тільки одного типу з числа перелічених. Не можна створити масив масивів, замість цього використовуються масиви більшої розмірності. Розмірність масивів не обмежується, а кількість елементів кожної розмірності не перевищує 231. Кожний елемент масиву має свої індекси, які забезпечують його однозначне позначення серед інших. Кількість індексів визначається розмірністю масива. Якщо порівнювати масив із книгою, то індекси позначають номер стовпчика, рядка, сторінки, тому, коробки і так далі, тобто координати елемента.
Для дослідження сигналів та функцій використовуються масиви числового типу з розмірністю, що зазвичай не переверщує двох. Одновимірні масиви позначаються як 1D й їх елементи аі мають один індекс і, який позначає порядковий номер елемента починаючи з 0. За допомогою одновимірних масивів у LabVIEW представляються реалізації окремих сигналів Елементи двовимірного 2D масиву аji мають два індекси: і – номер стовпчика та j – номер рядка матриці, що відповідає цьому масиву. За допомогою двовимірних масивів в LabVIEW представляються реалізації декількох сигналів, причому кожному сигналу відповідає рядок елементів масиву. Розмір масиву визначається загальною чисельністю його елементів. Розмір можна обчислити, якщо перемножити максимальні значення індексів елементів масиву, збільшених на одиницю. Для одновимірного масиву розмір дорівнює N = іmax+1. В LabVIEW масиви можна сформувати декількома способами: - за допомогою елементів, розташованих на передній панелі; - за допомогою циклічних структур; - за допомогою спеціальних функцій. Найпростішим способом створення й індикації масивів є використання елементів передньої панелі. На передню панель викликається оболонка масиву Controls» Array&Cluster» Array (рис.21), що має індикатори індексів (ліворуч) та поле для розміщення елементів масиву. Індикатори індексів мають вигляд цифрових пристроїв введення даних. Їх кількість визначає розмірність масиву й може бути змінена за допомогою контекстного меню опціями Add Dimension (Додати розмірність) та Remove Dimension (Видалити розмірність). Для двовимірного масиву нижній індекс відповідає стовпчику, а верхній - рядку матриці даних (рис. 21). У полі елементів масиву (праворуч від індикаторів індексів) розміщається елемент того типу, що відповідає створюваному масиву. Це можуть бути пристрої введення або виведення даних цифрового, булевого або рядкового типу та ін. Відповідно до цього на функціональній панелі з’явиться термінал масиву відповідного типу даних (термінал масиву має квадратні дужки всередені).
Розміри поля елементів масиву можуть бути збільшені за допомогою ЛКМ, що дозволяє збільшити кількість елементів масиву, які можна переглядати одночасно. Елемент, що задається індексами, розташовується у верхньому лівому куті поля. Зміняючи індекси, можна переглянути всі елементи масиву. Якщо в полі розмістити елементи введення даних, то можна виконати поелементне введення даних в ручному режимі. При розміщенні елементів виведення отримаємо пристрій індикації елементів масиву. Аналогічним способом можна створити масиви на функціональній панелі, що містять як елементи, константи. Зазначений спосіб створення й індикації масивів доцільно використовувати при їх незначному розмірі. Формування масиву за допомогою циклічних структур виконується з окремих вибіркових значень, що отримуються при виконанні кожної ітерації. Масив формується з виходу тунелю циклічної структри, що працює в режимі автоіндексації. Такий спосіб формування масиву був ретельно розглянутий в лаботорній роботі 4. Вибіркові значення отримуються під час опитування АЦП інтерфейсних модулів, або генеруються програмно в ході виконання кожної ітерації циклу. На рис. 22 зображена блок-діаграма формування двовимірного масиву (2D), який містить два рядки по сто випадкових значень в діапазоні від 0 до 1. Внутрішний цикл формує 1D масив реалізації випадкового сигналу об’ємом N=100, а зовнішний – 2D масив, що містить дві таких реалізації. Для формування та маніпулювання даними масивів в LabVIEW передбачені функції роботи з масивами, які знаходяться в підменю Functions» Array. Розглянемо деякі з них. Функція Initialize Array (Ініціалізація масиву) формує масив потрібний за розміром та розмірністю й заповнює його елементами однакового розміру й типу (рис. 23). На вхід element подаються елементи числового, булевого, строкового та інших типів, що заповнюють масив. Входи demention size m (розмір розмірності) задають розмір масиву по кожній розмірності, а їх кількість дорівнює розмірності масиву, що формується на виході функції. Під час виклику функція має тільки один вхід demention size, що відповідає одновимірному масиву. За необхідності кількість входів може бути збільшено простим розтягуванням іконки функції до низу. Входи, що з’являться, відповідають індексам масиву, які позначають, починаючи знизу: номер стовпчика, рядка, сторінки й так далі.На рис. 23 праворуч наведений приклад застосування функції для формування 1D масиву із 100 нульових елементів числового типу. Функція Initialize Array використовується, наприклад, для резервування пам’яті, для початкової ініціалізації шифтів циклічних структур, що оперують з масивами та ін.
Функція Build Array (Побудова масиву) об’єднує або додає елементи у вигляді скалярних величин або підмасивів у масив тієї самої або на одиницю більшої розмірності в залежності від конфігурації, що задається контекстним меню (рис. 24). Функція має іконку, що розтягується на необхідне число елементів. Функція використовується для побудови масивів із окремих елементів або для об’єднання масивів в масив, розмірність якого на одиницю більша. Наприклад, якщо до входів підключити два або більше 1D масивів, то їх можна об’єднати послідовно в 1D масив або створити на їх основі 2D масив. Функція Replace Array Subset (Заміна елементів масиву) виконує заміну елементу або підмасиву в існуючому масиві, що підключається до входу n-dimension array (рис. 25). Елемент для заміни визначається індексами, кількість яких задається масивом, що підключається, або розтягуванням іконки до необхідного розміру. Індекси функції позначають, починаючи знизу: номер стовпчика, рядка, сторінки й так далі. Функція Index Array (вибірка з масиву) призначена для виділення елемента масиву або його частини, що вибирається індексами (рис.26). Функція розтягується. Індекси функції позначають, починаючи знизу: номер стовпчика, рядка, сторінки й так далі. Якщо індекс або індекси не визначені, то вибираються всі елементи з невизначеними індексами послідовно у вигляді підмасиву. Наприклад, якщо не визначити індекс стовпчика у 2D масиві, визначивши тільки індекс рядка, то на виході з’явиться 1D масив, що містить всі елементи вказаного рядка. Якщо навпаки не визначити індекс рядка, то будуть виділені всі елементи визначеного стовпчика.
Інші аналогічні функції роботи з масивами дозволяють визначати розмір масивів (Array Size), виділяти частину масиву заданого розміру (Array Subset), вставляти (Insert Into Array) та видаляти (Delete From Array) окремі елементи або підмасиви із заданих масивів, виконувати різні маніпуляції із перестановкою елементів, їх сортуванням, вибором максимуму і мінімуму та ін. Ознайомитись з функціями роботи з масивами можна через вікно контекстної допомоги. Формування масивів також виконується за допомогою функцій, що знаходяться в підменю Functions» Analyze в опціях Signal Procesing» Signal Generation (Генератори сигналів) та Mathematics (Математичні функції). Виходом цих функцій є масиви розмір, розмірність та функціональна залежність елементів яких задається вхідними параметрами функцій. Над масивами можна виконувати різні дії аналогічно діям над скалярними величинами. Більшість функцій, що виконують дії в LabVIEW мають властивість поліморфізму. Це означає, що функції, які містяться у підменю Numeric, Boolean, Comparison панелі Functions можуть виконувати дії над даними різних типів (в тому числі скалярними та масивами), причому не обов’язково однакових. Наприклад, при додаванні двох масивів, додавання виконується поелементно. При додаванні масиву й константи, додавання константи виконуться до кожного елемента масиву. Поліморфізм функцій можна уточнити використовуючи вікно контекстної допомоги. Кластери. Іншим видом групування даних в LabVIEW є кластери. На відміну від масивів, кластери можуть включати елементи різних типів. Але всі елементи повинні вводити дані або їх виводити. В кластерах також відсутні індекси, хоча нумерація елементів присутня. Кластери використовуються для зменшення числа ліній зв’язку на блок-діаграмі, для формування даних, що використовуються для індикації сигналів та функцій. Формування кластера може виконуватись декількома способами: - за допомогою оболонки, розташованій на передній панелі; - спеціальними функціями. Оболонка кластера, що викликається на передню панель по шляху Controls» Array&Cluster, аналогічна оболонці масиву, але не має індексних індикаторів (рис.27). Шляхом перетягування до оболонки заносяться елементи введення або виведення різного чи однакового типів. Кожному із елементів привласнюється номер (починаючи з 0) за порядком їх внесення. Ці номери можуть бути змінені, якщо використати опцію контекстного меню кластера Reorder Controls In Cluster (Змінити елементи в кластері). Під час зміни номерів елементів або їх видаленні, порядкові номери решти елементів будуть автоматично змінюватись для збереження їх послідовності без пропусків. Таким чином кожний елемент кластера має свій номер. На функціональній панелі кластер зображується терміналом загального вигляду лілового або коричневого кольору для кластерів, що мають тільки числові елементи.
Кластери формуються в ході установлення багатоканальних цифрових приладів із декількома показчиками (див. лабораторну роботу 2). Порядок розташування даних в кластрі від кожного показчика встановлюється відповідно до порядку виклику показчиків на передню панель. На функціональній панелі можна формувати кластери з констант різного або однакового типу. Для формування кластера констант також викликається оболонка (але на функціональній панелі) по шляху Functions» Cluster» Cluster Constant й заповнюється необхідними константами. Формування кластерів із вже встановлених елементів виконується на функціональній панелі за допомогою функцій Bundle (Об’єднання) та Bundle by Name (Об’єднання за ім’ям), що знаходяться в підменю Functions»Cluster. Функція Bundle (рис.28) формує кластер із компонентів, що подаються до входу. Функція розтягується на необхідну кількість таких компонентів. Функція також використовується для заміни даних в існуючому кластері, який підключається до функції (на рис.28 підключення показано зверху). При підключенні існуючого кластера кількість входів функції установлюєтья відповідно до його розміру. Якщо до входів функції підключити деякі компоненти, то під час виконання функції заміняються тільки ті елементи кластера, які відповідають підключеним компонентам за номером. Інші компоненти залишаться без змін. Функція Bundle by Name відрізняється присутністю на терміналі функції найменувань компонентів, що підключаються. Ім’я компонента вибирається з контектного меню входу функції. Це дозволяє вилучати окремі елементи кластера за ім’ям для подальшої роботи. Для вилучення елементів із кластера використовуються функції Unbundle (Роз’єднання) та Unbundle by Name (Роз’єднання за ім’ям), що знаходяться в підменю Functions»Cluster. Функція Unbundle вилучає всі елементи по порядку їх номерів ( рис. 29), а функція Unbundle by Name дозволяє виборочне вилучення за ім’ям, що вказується в полі виведення функції й вибирається із контекстного меню опцією Select Item (Вибрати елемент). Ще одним способом є формування кластерів із масивів за допомогою функції Array To Cluster. В цьому випадку отримаємо елементи кластера одного типу. Можливе й перетворення навпаки функцією Cluster To Array, але тільки якщо кластер вміщає елементи одного типу. Графіки. Відображення сигналів та графіків функцій в LabVIEW найчастіше виконується за допомогою екранних панелей Waveform Chart, Waveform Graph та XY-Graph, які використовують двовимірне відображення інформації. Ці екрани знаходяться на вкладці Controls»Graph й установлюються на передню панель ВІ. Термінали екранних панелей на блок-діаграмі мають вигляд терміналів цифрових приладів. Всі екранні панелі містять поле відображення графіків та декілька атрибутів, що встановлюються за бажанням. Поле відображення графіків має осі координат Х та У, які можуть бути розмічені мітками та оцифровані. Тип розмітки (лінійний або логарифмічний масштаб), вигляд, формат і точність оцифровки шкал, початкове значення Х0 та приріст аргументу DХ, нанесення сітки й вибір її кольору виконується опцією X(Y)Scale» Formatting, або просто Formatting контекстного меню відповідних елементів екранних панелей. Границі відтворення даних на шкалах Х(У) можуть бути змінені шляхом простого текстового редагування. Зручним в роботі виявляється й передбачений у LabVIEW автоматичний режим вибору границь відтворення даних, що може бути увімкнений (вимкнений) відповідною опцією AutoScale X(Y) (Автоматична шкала) контекстного меню Х(У) шкали екранів. Очищення екранів може виконуватись при увімкненому ВІ за допомогою опції Clear Chart (Graph) контекстного меню, а у вимкненому режимі - опцією Data Operations» Clear Chart (Graph). Кожна з екранних панелей має свої атрибути, які викликаються через контекстне меню опцією Visible Item. До атрибутів відносяться елементи, що використовуються для керування режимом відображення інформації в полі екрана. Для керування виглядом відображення графіків використовується атрибут Plot Legend, який дозволяє вибрати тип та колір ліній, стиль точок, форму графіка, вид інтерполяції даних. За замовчуванням атрибут викликається на передню панель разом із екранною панеллю. Панель атрибута може розтягуватись залежно від кількості графіків, що відображуються, й показувати зразок вигляду кожної лінії. Атрибут Scale Legend застосовується для керування властивостями шкал екрану й дозволяє встановлювати тип шкал, властивості оцифровки, підписи, колір сітки екрану, вмикати режим автоматичного вибору границь відображення даних (AutoScale X(Y)). Атрибут Graph Palette використовується для керування виділенням фрагментів зображення графіків, їх масштабування та детального перегляду. Тільки з екраном Waveform Chart використовується атрибут цифрового дисплея Digital Display для індикації поточних даних, що поступають, а також елемент прокрутки даних на екрані Scrollbar. Разом із екранними панелями Waveform Graph та XY-Graph може бути використаний атрибут керування курсорами Cursor Legend, що дозволяє встановлювати курсори на екрані (їх може бути декілька), редагувати їх вигляд, показувати дані, які зчитуються курсорами, керувати їх переміщенням, встановлювати режим їх роботи, виконувати прив’язку до графіків. Кожна з екранних панелей має свої особливості й переваги практичного застосування. Панель Waveform Chart використовується для поточного відображення даних, що поступають. Його робота нагадує роботу самописця. По осі У відкладається значення вибірки даних, а по осі Х – їх порядковий номер або значення аргументу. Дані, що надходять до екрану Waveform Chart запам’ятовуються у буфері пристрою обсягом, який встановлюється опцією Chart History Length… його контекстного меню. Для відображення інформації до терміналу екрана можуть підключатися скалярнні величини, кластери скалярних величин, одновимірні масиви даних, одновимірні масиви кластерів, двовимірні масиви (рис.30). Підключення терміналу безпосередньо у місті генерації даних (Chart 0) виконується для негайної поточної індикації у вигляді графіків скалярних даних, що поступають поодинці. За необхідності такої самої індикації одночасно двох і більше графіків виконується об’єднання даних у кластери (Chart 1). При підключенні 1D масиву даних (скалярних або кластерів) до терміналу панелі графік на екрані оновлюється ділянками, розмір яких відповідає розміру масиву (Chart 2 для одного графіка, Chart 3 –для двох). Аналогічно при підключені двовимірного масиву (2D), кожен рядок цього масиву буде виводитись на екран окремим графіком (Chart 4). При відображенні одночасно двох і більше графіків тільки у Waveform Chart передбачено два режими виведення: всіх разом в одному вікні (полі) або поодинці в окремих вікнах, що розташовуються один під одним. Переключення цих режимів відбувається за допомогою опцій Stack Plot (Пакетний графік) й Overlay Plot (Сумісний графік) контексного меню екрана, що встановлений на передній панелі. Тільки у Waveform Chart передбачено три режими оновлення зображеня графіків: Strip Chart, Scope Chart та Sweep Chart що встановлюються опцією контекстного меню Advanced»Update Mode. Режим Strip Chart (стрічковий поточний графік) формує графік, що поступово просувається даними, які поступають й працює аналогічно самописцю. Режим Scope Chart (поточна осцилограма) формує графік покадрово із очищенням екрана після закінчення заповнювання кожного кадру. Режим Sweep Chart (скануючий поточний графік) відрізняється від Scope Chart тим, що екран в кінці кадру не очищується, його заповнення починається з початку, причому нові дані відділяються від старих вертикальним маркером. Характерною особливістю Waveform Chart є те, що по осі Х відкладається номер (або аргумент) вибірки даних, який неперервно збільшується. Для перегляду даних, що надходили раніше, використовується атрибут прокрутки Scrollbar, а для індикації значення останньої вибірки – атрибут цифрового дисплея Digital Display. Глибина прокрутки визначається об’ємом буфера екрана, що резервується опцією Chart History Length…. Екранна панель Waveform Graph використовується для відображення реалізації із N виборок даних, що поступають у вигляді 1D та 2D масивів. По осі У виводится значення виборок, а по осі Х – їх номер або відповідне значення аргументу. Двовимірні масиви містять декілька графіків - по одному в кожному рядку. Підключення терміналів екранних панелей виконуються так, як у Waveform Chart (див. рис. 30 Chart 2, Chart 4). Панель Waveform Graph також дозволяє програмно змінювати оцифровку шкали осі абсцис за допомогою схеми, наведеної на рис. 31. За допомогою функції Bundle (Об’єднання) формується кластер, що містить відображуваний масив даних (1D або 2D), початкове значення осі Х0 та прирощення аргументу DХ. Відмінністю Waveform Graph є те, що кількість точок, що відкладається по осі Х не змінюється й дорівнює об’єму реалазації N. Перевагою панелі Waveform Graph також є атрибут для встановлення й керування курсорами Cursor Legend. Індикатор XY-Graph використовується для точкового відтворення графіків, коли задаються координати точок по Х та У у вигляді двох одновимірних масивів (1D). Таким чином дані можуть подаватися на екранну панель не послідовно в порядку наростання аргументу, а довільно. Схема формування кластера для підключення XY-Graph наведена на рис. 32. Інші характеристики індикаторної панелі XY-Graph збігаються із характеристиками екрана Waveform Graph. Ідикатор XY-Graph використовується для побудови характеристик при дослідженні пристроїв різного призначення. Наприклад, для зображення вольт-амперних характеристик, амплітудно-частотних (дослідження двополюсників або чотириполюсників), гістограм під час дослідження випадкових сигналів тощо.
Читайте также: Аналіз функцій моделювання Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|