Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Конструкция Последовательность (Flat Sequence)





Лабораторная работа №2

РАБОТА СО СТРУКТУРАМИ в LabVIEW

Цель работы: Изучение приемов работы со структурами на примере создания ВП для вычисления по заданным формулам математических выражений.

 

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Основные принципы работы с циклическими конструкциями

В LabView используется два варианта конструкции "цикл":

· цикл с известным числом итераций For Loop (рис. 2.1, а);

· цикл с неизвестным числом итераций с постпроверкой условия продолжения цикла While Loop (рис. 2.1, б).

Данные конструкции расположены в палитре Functions пункт Programming подпункт Structures.

А) Цикл For Loop б) Цикл While Loop

Рис. 2.1.

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

Для ввода/вывода данных в/из циклов используются Входные и Выходные туннели, которые могут работать в одном из трех режимов:

1. В индексирующем режиме (Auto-Indexed Tunnel) – применяется для работы с массивами;

2. В режиме туннеля без индексирования (Loop Tunnel);

3. В режиме сдвигового регистра (Shift Rеgister).

Изменения режимов работы туннелей выполняется с помощью контекстного меню.

Индексный режим работы входных и выходных туннелей широко используется для работы с массивами. В общем случае действует правило: входной индексирующий туннель уменьшает на 1 размерность данных, т.е. если снаружи цикла двумерный массив (таблица), то внутри индексирующий туннель на каждой итерации будет выбирать отдельную строку – одномерный массив (на "нулевой" итерации – строка с индексом 0, на первой – строка с индексом 1 и т.п.) Если снаружи одномерный массив, то внутри цикл будет последовательно перебирать отдельные элементы. Выходной индексирующий туннель увеличивает на 1 размерность данных (если внутри скаляр-снаружи одномерный массив, если внутри одномерные массивы (строки), то снаружи двумерный массив (таблица) и т.п.). При этом количество "элементов" в получившемся массиве будет соответствовать числу итераций цикла.

Во многих циклических алгоритмах предполагается передача информации с одной итерации на другую.

Для передачи данных с текущей итерации цикла на следующую используется элемент "регистр сдвига" (Shift Register). Регистр сдвига состоит из двух контактов на левой и правой сторонах рамки конструкции "цикл". Правый контакт позволяет запомнить значение на текущей, " i -ой" итерации, а левый – вспомнить его на следующей, " i плюс первой". Для выполнения "нулевой" итерации левый контакт регистра сдвига можно инициализировать нужным значением.

 

 

Рис. 2.2

 

Например, рассмотрим алгоритм вычисления факториала. Если "N" целое неотрицательное число, то функция "N!" определяется следующим образом:

При N=0: N!=1;

При N>0: N!=1*2*…*(N-1)*N

Бок-схема алгоритма вычисления факториала выглядит следующим образом:

 

Ниже приведены примеры фрагменты программ расчета факториала на языках "C" и Pascal:

f=1; for (i=1; i<=N; i=i+1) f=f*i; f:=1; for i:=1 to N do f:=f*i;

 

Последняя строка означает

f(текущей итерации)=f(с предыдущей итерации) *i;

В текстовых языках программирования это означает буквально следующее: надо взять значение из ячейки памяти с именем "f", умножить его на "i" и поместить обратно в ячейку памяти "f". Программируя в LabVIEW, мы не работаем с понятиями "ячейка памяти", мы работаем с потоками данных в соответствие с технологией Dataflow.

 

Цикл While-Loop

Ø Всегда выполняется по крайней мере 1 раз.

Ø Позволяет менять правило проверки продолжения и остановки цикла (два режима)

q Stop if True (остановить если истина);

q Continue of True (продолжать если истина).

Изменить правило проверки можно вызвав контекстное меню на :

 

Конструкция Последовательность (Flat Sequence)

Позволяет определить порядок выполнения узлов ВП.

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

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

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

Также конструкция последовательность позволяет передавать данные из одной страницы в последующие. Для этого на границе конструкции можно поместить элемент Sequence Local.

 

Date: 2016-07-25; view: 495; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию