ВУЗ:
Составители:
Организация доступа к значениям предыдущих итераций цикла. При работе с циклами зачастую необходим
доступ к значениям предыдущих итераций цикла. Например, в случае ВП, измеряющего температуру и отобра-
жающего ее на графике, для отображения текущего среднего значения температуры необходимо использовать
значения, полученные в предыдущих итерациях. Есть два пути доступа к этим данным: Shift Register (сдвиговый
регистр) и Feedback Node (узел обратной связи).
Сдвиговые регистры. Сдвиговые регистры используются при работе с циклами для передачи значений от те-
кущей итерации цикла к следующей. Сдвиговые регистры аналогичны статическим переменным в текстовых язы-
ках программирования
Сдвиговый регистр выглядит как пара терминалов, показанных слева. Они расположены непосредственно
друг против друга на противоположных вертикальных сторонах границы цикла. Правый терминал содержит стрелку «вверх»
и сохраняет данные по завершению текущей итерации. LabVIEW передает данные с этого регистра в следующую итерацию
цикла. Сдвиговый регистр создается щелчком правой кнопки мыши по границе цикла и выбором из контекстного меню
пункта Add Shift Register (Добавить сдвиговый регистр).
Чтобы инициализировать сдвиговый регистр, необходимо передать на его левый терминал любое значение извне цикла.
Если не инициализировать сдвиговый регистр, он использует значение, записанное в регистр во время последнего выполне-
ния цикла или значение, используемое по умолчанию для данного типа данных, если цикл никогда не выполнялся.
Предусмотрена возможность создания нескольких сдвиговых регистров в одной структуре цикла. Если в одном цикле
выполняется несколько операций, следует использовать сдвиговый регистр с несколькими терминалами для хранения дан-
ных, полученных в результате выполнения различных операций цикла. На рис. 4.1 показано использование двух инициали-
зированных сдвиговых регистров.
Рис. 4.1. Использование сдвиговых регистров в цикле For
Узлы обратной связи. Узел обратной связи, показанный слева, автоматически появляется в циклах While
или For при соединении поля вывода данных подпрограммы ВП, функции или группы подпрограмм ВП и функций с полем
ввода данных тех же самых подпрограмм ВП, функций или их групп. Как и сдвиговый регистр, узел обратной связи сохра-
няет данные любого типа по завершению текущей итерации и передает эти значения в следующую итерацию. Использова-
ние узлов обратной связи позволяет избежать большого количества проводников данных и соединений.
Можно поместить узел обратной связи внутри цикла While или For, выбрав Feedback Node (Узел обратной связи) в па-
литре Structures (Структуры). При помещении узла обратной связи на проводник данных до ответвления, передающего дан-
ные на выходной терминал цикла, узел обратной связи передает все значения на выходной терминал цикла. При помещении
узла обратной связи на проводник после ответвления, передающего данные на выходной терминал цикла, узел обратной свя-
зи передаст все значения обратно на поле ввода данных ВП или функции, а затем передаст последнее значение на выходной
терминал цикла.
Структура выбора Case. В структуре выбора Case имеются две или более встроенных блок-схемы. Выбор одной из
них определяется в зависимости от значения, поданного на вход данной структуры. Структура Case включает:
• Терминал выбора ?. Значение, подаваемое на него, может быть целочисленным, логическим или строковым.
• Переключатель блок-схем (True \ False \ и т.д.). Позволяет переходить от одной блок-схемы к другой. Содержит по умол-
чанию два окна True и False. При необходимости количество блок-схем выбора может быть увеличено. Кроме True и False, в каче-
стве значений переключателя могут использоваться целые числа или строковые значения.
В качестве примера использования структуры Case вместо функции Select приведена измененная блок-диаграмма ВП Термо-
метр (рис. 4.2). На переднем плане структуры Case показан логический вариант TRUE (рис. 4.2, а).
а)
б)
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »