Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabVIEW_KP.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
22.1 Mб
Скачать

1.3.2 Стек регістрів зсуву

Стек регістрів зсуву – це набір терміналів з лівого боку структури, що зберігають значення змінної в різних ітераціях циклу, який виконується. Для створення стека регістрів зсуву достатньо натиснути правою кнопкою миші на лівий термінал і вибрати пункт контекстного меню Add Element.

При додаванні ще двох регістрів зсуву до лівого терміналу дані останніх трьох ітерацій переносяться на наступну ітерацію. При цьому значення останньої ітерації зберігається в самому верхньому регістрі зсуву. Другий термінал зберігає дані, передані йому з попередньої ітерації, третій термінал зберігає дані, отримані дві ітерації назад тощо. У буквених позначеннях це означає, що зберігаються дані i-1, i-2 та i-3 ітерацій.

Приклад 4:

Стек регістрів зсуву.

Приклад ілюструє застосування стека регістрів зсуву (рис. 10). У циклі протягом 100 ітерацій генерується випадкове число. За допомогою стека регістрів зсуву обчислюється середнє арифметичне чотирьох останніх значень. При запуску ВП в режимі налагодження можна поспостерігати за виконанням блок-діаграми.

Рисунок 10 – Використання стека регістрів зсуву

1.3.3 Вузол зворотного зв’язку

Вузол зворотного зв’язку (Feedback Node) так само як і регістр зсуву відповідає за переведення значення довільної змінної з однієї ітерації в іншу. Він з’являється в циклі автоматично, коли ви поєднуєте поле виводу даних довільного вузла (функції, підпрограми) з його ж полем вводу. Використання вузлів зворотного зв’язку дозволяє уникати великої кількості провідників даних і з’єднань.

Вручну помістити вузол зворотного зв’язку всередину циклу можна, вибравши Feedback Node в палітрі Structures. Залежно від положення вузла зворотного зв’язку щодо функції, яка його використовує, стрілка на іконці може бути спрямована або вправо, або вліво. При цьому напрямок передачі даних завжди визначається стрілкою. Таким чином, поля вводу і виводу також можуть бути або праворуч, або ліворуч. Наочно цю властивість вузла зворотного зв’язку показано на рисунку 11. Всі три ВП виконують одне й те саме, різниця полягає лише в положенні вузла зворотного зв’язку.

Рисунок 11 – Вузол зворотного зв’язку

Вузол зворотного зв’язку і регістр зсуву повністю взаємозамінні, за допомогою пункту контекстного меню replace with ... один можна замінити іншим. Наступний приклад (рис. 12) демонструє відповідність вузла зворотного зв’язку і регістру зсуву. Обидва цикли виконують одну й ту саму дію – підсумовують числа від 0 до 4.

Рисунок 12 – Використання стека регістрів зсуву

2 Цикл за умовою While

Цикл While (за умовою) працює доти, доки логічна умова виходу з циклу не прийме значення «істина». У всьому, що стосується принципу роботи циклу While, а також роботи з об’єктами в циклі While, їх розміщення всередині циклу, використання регістрів зсуву і вузлів зворотного зв’язку, цикл While аналогічний циклу For. Принципова відмінність цих циклів полягає в тому, що цикл For виконується певну кількість разів, що задається явно через термінал загального числа ітерацій або задається неявно як число елементів индексуємого на вході циклу масиву. Цикл While виконується невизначену кількість разів, поки не буде виконана задана умова. На відміну від циклу For цикл While виконується завжди. У разі якщо умова з самого початку виконана, цикл виконується 1 раз.

Елементи циклу While:

термінал умови. Блок-діаграма циклу While виконується доти, доки не виконається умова виходу з циклу. За замовчуванням, термінал умови виходу має вигляд, показаний зліва. Це означає, що цикл буде виконуватися до надходження на термінал умови виходу значення True. У цьому випадку термінал умови виходу називається терміналом Stop If True (зупинити, якщо «істина»). Передбачена можливість зміни умови виходу і відповідного йому зображення терміналу умови виходу. Натисканням правої кнопки миші на терміналі умови виходу або на границі циклу необхідно викликати контекстне меню і вибрати пункт Continue If True (продовжити, якщо «істина»). Також можна скористатися інструментом управління, натиснувши їм на термінал умови. Зображення терміналу умови виходу зміниться на Continue If True (продовжити, якщо «істина»). В результаті умовою виходу з циклу стає значення False, що надходить на термінал умови.

термінал лічильника ітерацій. Містить номер поточної ітерації, починаючи з 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]