КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Многократные повторения и циклы при создании ВП, работа с массивами в среде LabVIEW
Структуры являются графическим представлением операторов цикла и операторов Case (Варианта), используемых в текстовых языках программирования. Структуры на блок-диаграмме используются для выполнения повторяющихся операций над потоком данных, операций в определенном порядке и наложения условий на выполнение операций. Среда Lab VIEW содержит пять структур: Цикл While (по условию), Цикл For (с фиксированным числом итераций), структура Case (Вариант), структура Sequence ('сиквенс) (Последовательность), структура Event (Событие), а также Formula Node (узел Формулы). Цикл While (по условию). Цикл While (по условию) работает до тех пор, пока не выполнится логическое условие выхода из цикла. · Блок-диаграмма цикла While выполняется до тех пор, пока не выполнится условие выхода из цикла. По умолчанию, терминал условия выхода имеет вид, показанный слева. Это значит, что цикл будет выполняться до поступления на терминал условия выхода значения TRUE. В этом случае терминал условия выхода называется терминалом Stop If True (Остановка если Истина). · Терминал счетчика итераций, показанный слева, содержит значение количества выполненных итераций. Начальное значение терминала всегда равно нулю. · Предусмотрена возможность изменения условия выхода и соответствующего ему изображения терминала условия выхода. Щелчком правой кнопки мыши по терминалу условия выхода или по границе цикла необходимо вызвать контекстное меню и выбрать пункт Continue If True (Продолжение если Истина). Цикл For (с фиксированным числом итераций). Цикл For (с фиксированным числом итераций) выполняет повторяющиеся операции над потоком данных определенное количество раз. 1. Цикл For расположен в палитре Функций в разделе Functions» Structures. Значение, присвоенное терминалу максимального числа итераций N цикла, показанного слева, определяет максимальное количество повторений операций над потоком данных. 2. Терминал счетчика итераций, показанный слева, содержит значение количества выполненных итераций. Начальное значение счетчика итераций всегда равно 0. Организация доступа к значениям предыдущих итераций цикла. При работе с циклами зачастую необходим доступ к значениям предыдущих итераций цикла. Например, в случае ВП, измеряющего температуру и отображающего ее на графике, для отображения текущего среднего значения температуры, необходимо использовать значения, полученные в предыдущих итерациях. Есть два пути доступа к этим данным: Shift Register (сдвиговый регистр) и Feedback Node (узел обратной связи). Сдвиговые регистры. Сдвиговые регистры используются при работе с циклами для передачи значений от текущей итерации цикла к следующей. Сдвиговые регистры аналогичны статическим переменным в текстовых языках программирования. ▼▲ Сдвиговый регистр выглядит как пара терминалов, показанных слева. Они расположены непосредственно друг против друга на противоположных вертикальных сторонах границы цикла. Правый терминал содержит стрелку «вверх» и сохраняет данные по завершению текущей итерации. Lab VIEW передает данные с этого регистра в следующую итерацию цикла. Сдвиговый регистр создается щелчком правой кнопки мыши по границе цикла и выбором из контекстного меню пункта Add Shift Register (Добавить сдвиговый регистр). Чтобы инициализировать сдвиговый регистр, необходимо передать на его левый терминал любое значение извне цикла. Если не инициализировать сдвиговый регистр, он использует значение, записанное в регистр во время последнего выполнения цикла или значение, используемое по умолчанию для данного типа данных, если цикл никогда не выполнялся. Узлы обратной связи. ●◄▬ Узел обратной связи, показанный слева, автоматически появляется в циклах While или For при соединении поля вывода данных подпрограммы ВП, функции или группы подпрограмм ВП и функций с полем ввода данных тех же самых подпрограмм ВП, функций или их групп. Как и сдвиговый регистр, узел обратной связи сохраняет данные любого типа по завершению текущей итерации и передает эти значения в следующую итерацию. Использование узлов обратной связи позволяет избежать большого количества проводников данных и соединений. Можно поместить узел обратной связи внутри цикла While или For, выбрав Feedback Node (Узел обратной связи) в палитре Structures (Структуры). При помещении узла обратной связи на проводник данных до ответвления, передающего данные на выходной терминал цикла, узел обратной связи передает все значения на выходной терминал цикла. При помещении узла обратной связи на проводник после ответвления, передающего данные на выходной терминал цикла, узел обратной связи передаст все значения обратно на поле ввода данных ВП или функции, а затем передаст последнее значение на выходной терминал цикла. Следующее упражнение содержит пример работы узла обратной связи. Структура выбора Case. В структуре выбор Case имеются две или более встроенных блок-схемы. Выбор одной из них, которая будет выполнена, определяется в зависимости от значения, поданного на вход данной структуры. Структура Case включает: · Терминал выбора (?). Значение, подаваемое на него, может быть целым, логическим или строковым. · Переключатель блок-схем (True \ False \ и т.д.). Позволяет переходить от одной блок-схемы к другой. Содержит по умолчанию два окна True и False. При необходимости количество блок-схем выбора может быть увеличено. Кроме True и False в качестве значений переключателя могут использоваться целые числа или строковые значения. Формульный блок Formula Node. Формульный блок Formula Node позволяет вводить формулы в обычном виде прямо в блок-схему. Особенно это удобно, когда выражение имеет много переменных и сложный вид. Формулы вводятся как простой текст. При этом создаются терминалы на границе блока (контекстное меню Add Input или Add Output), в которые вписываются имена переменных. Каждое выражение заканчивается разделителем «;». Структура последовательности Sequence Structure. Структура последовательности Sequence Structure выполняет встроенные в нее блок-схемы последовательно в определенном порядке. Количество встроенных блок-схем определяется числом фреймов данной структуры. Их количество добавляется при помощи контекстного меню - Add Frame After, Add Frame Before. Для передачи значений переменных из фрейма в фрейм используются локальные переменные структуры (контекстное меню – Add Sequence Local variable), создаваемые на границе фрейма. Данные, связанные с такой переменной, доступны во всех последующих фреймах и не доступны в предыдущих.
Задание 4.1. ВП Измерение температуры во времени Ниже приведена последовательность действий для создания ВП, который использует ВП термометр для измерения температуры раз в секунду в течение одной минуты.
Лицевая панель 1. Откройте новый ВП и создайте лицевую панель, как показано ниже на рисунке.
Поместите Термометр, расположенный на палитре Controls» Numeric, на блок-диаграмму для отображения на экране измерений температуры. Поместите на лицевую панель цифровой элемент отображения данных, расположенный в палитре Controls» Numeric. Назовите его Секунды.
Блок-диаграмма 2. Создайте блок-диаграмму, показанную ниже.
Поместите ВП Термометр на блок-диаграмму. Для этого выберите Functions» Select а VI и укажите папку, в которой находится прибор, созданный в задании 3.2. Щелкните правой кнопкой мыши по полю ввода данных Temp Scale (Шкала температур), в контекстном меню выберите пункт Create» Constant. Константе присвойте значение FALSE - для градусов Фаренгейта и TRUE - для градусов Цельсия. Поместите на блок-диаграмму функцию Wait Until Next ms Multiple, находящуюся в палитре Functions» Time and Dialog. Функция Wait Until Next ms Multiple (ждать кратного значения) обеспечивает интервал между итерациями, равный интервалу времени, необходимому для того, чтобы миллисе-кундный счетчик достиг значения, кратного введенному пользователем. Щелкните правой кнопкой мыши по полю ввода данных и выберите пункт Create» Constant. Созданной константе присвойте значение 1000. Теперь каждая итерация цикла выполняется с интервалом времени 1000 мс (раз в секунду). Поместите на блок-диаграмму функцию Increment (приращение), находящуюся в палитре Functions» Numeric. Эта функция добавляет 1 к значению счетчика итераций после завершения выполнения цикла. 3. Сохраните ВП под именем Измерение температуры во времени. 4. Запустите ВП. 5. Закройте ВП.
венно. Используйте последовательность Sequence Structure и функцию Time Delay, расположенную в палитре Functions» Time and Dialog
Контрольные вопросы 1 Из каких основных компонентов состоит Ваш ВП? 2 Какие приемы использования цикла While Вы знаете? 3 Как измерить температуру с интервалом раз в секунду в течение одной минуты? 4 Как и зачем используются сдвиговые регистры в ВП? 5 Зачем нужны узлы обратной связи в ВП? 6 Как добавить 1 к значению счетчика итераций после завершения выполнения цикла? 7 Из каких подпалитр состоит палитра Controls (Элементов)? 8 Из каких подпалитр состоит палитра Functions (Функций)? 9 Назовите назначение управляющих кнопок на блок-диаграмме. 10 Назовите основные типы данных.
Дата добавления: 2013-12-13; Просмотров: 2494; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |