18680

Структуры в среде LabVIEW

Доклад

Информатика, кибернетика и программирование

Структуры. Структуры на блокдиаграмме используются для повторяющихся операций над потоками данных для выполнения операций над данными в определенном порядке и наложения условий выполнения операций. Среда LabVIEW содержит следующие структуры: цикл While по условию цикл ...

Русский

2013-07-08

19.12 KB

12 чел.

Структуры.

Структуры на блок-диаграмме используются для повторяющихся операций над потоками данных, для выполнения операций над данными в определенном порядке и наложения условий выполнения операций.

Среда LabVIEW содержит следующие структуры: цикл While (по условию), цикл For (с фиксированным числом итераций), структура Case (Вариант), структура Sequence (Последовательность), структура Event (Событие), а также Formula Node (узел Формулы).

Цикл While (по условию) работает до тех пор, пока не выполнится логическое условие выхода из цикла. По умолчанию, цикл While выполняется, пока на терминал условия выхода из цикла не поступит значение TRUE. Цикл While аналогичен циклам Do и Repeat Until, используемым в текстовых языках программирования.

Цикл For (с фиксированным числом итераций) выполняет повторяющиеся операции над потоком данных определенное количество раз (по заданию). Цикл For отличается от цикла While тем, что завершает работу, выполнив заданное максимальное число итераций N. Цикл While завершает работу при выполнении заданного условия выхода из цикла.

Функция Wait Until Next ms Multiple, обеспечивает интервал между итерациями, равный интервалу времени, необходимому для того, чтобы миллисекундный счетчик достиг значения, кратного введенному пользователем. Эта функция используется для синхронизации действий. Функцию Wait Until Next ms Multiple вызывают внутри цикла для контроля скорости выполнения цикла. Функция Wait Until Next ms Multiple обеспечивает заданный интервал времени выполнения итераций цикла.

Функция Wait(ms), добавляет время ожидания ко времени выполнения программы. Это может вызвать затруднения, если время выполнения программы является переменным.

При работе с циклами зачастую необходим доступ к значениям предыдущих итераций цикла. Есть два пути доступа к этим данным: Shift Register (сдвиговый регистр) и Feedback Node (узел обратной связи).

Сдвиговые регистры

Сдвиговые регистры используются при работе с циклами для передачи значений от текущей итерации цикла к следующей. Сдвиговые регистры аналогичны статическим переменным в текстовых языках программирования

Сдвиговый регистр создается щелчком правой кнопки мыши по границе цикла и выбором из контекстного меню пункта Add Shift Register.

Сдвиговый регистр передает данные любого типа, он автоматически принимает тип первых поступивших на него данных. Данные, передаваемые на терминалы сдвигового регистра, должны быть одного типа.

Предусмотрена возможность создания нескольких сдвиговых регистров в одной структуре цикла. Если в одном цикле выполняется несколько операций, следует использовать сдвиговый регистр с несколькими терминалами для хранения данных, полученных в результате выполнения различных операций цикла.

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

Узлы обратной связи

Узел обратной связи, автоматически появляется в циклах While или For при соединении поля вывода данных подпрограммы ВП, функции или группы подпрограмм ВП и функций с полем ввода данных тех же самых подпрограмм ВП, функций или их групп. Как и сдвиговый регистр, узел обратной связи сохраняет данные любого типа по завершению текущей итерации и передает эти значения в следующую итерацию. Использование узлов обратной связи позволяет избежать большого количества проводников данных и соединений.