Контрольная работа: Генерирование детерминированных процессов в среде LabVIEW
Рис. 4
Имена всех входных и выходных переменных вводятся соответственно во входные и выходные терминалы. Терминалы образуются щелчком ПКМ на границе структуры в предполагаемом месте терминала и выбором команд AddInput (Добавить вход) или AddOutput (Добавить выход). В появившемся зачерненном прямоугольнике записывается имя переменной.
В структуре FormulaNode рассчитывается только одно значение переменной Y при заданных входных переменных. Чтобы рассчитать все N значений при изменяющемся i, нужно использовать структуру ForLoop (Цикл с фиксированным числом итераций). Она эквивалентна текстовому оператору: fori = 0 toN – 1 do На рис. 5 приведена схема генерации отрезка синусоиды со всеми элементами управления и индикации. Количество рассчитываемых значений равно количеству циклов N, которое задается подачей на терминал числа итераций (прямоугольник с буквой N в левом верхнем углу структуры) соответствующего числа. Текущее число завершенных итераций цикла содержится в терминале счетчика итераций (прямоугольник с буквой i внизу слева).
Рис. 5
В LabVIEW генерируемый процесс представляет собой массив чисел. Поэтому выходной терминал структуры ForLoop по умолчанию находится в состоянии формирования массива EnableIndexing (Включить индексирование). При этом выходной терминал имеет вид . Если индексирование отключено (DisableIndexing), то на выходе будет последнее рассчитанное значение. Переключить состояние терминала можно, щелкнув по нему ПКМ и выбрав соответствующую команду. Сформированный массив подается на другие узлы только после завершения цикла.
Формирование процесса с использованием имеющихся в LabVIEW элементарных функций. Для формирования процесса используется та же формула ( 1), только для выполнения математических операций сложения, вычитания, умножения, деления, а также нелинейных операций используются функциональные узлы. Они находятся в подпалитре Numeric палитры Functions. Блок-схема программы, реализуемой таким образом, показана на рис. 6.
Рис. 6
Использование имеющихся в LabVIEW генераторов детерминированных процессов. В LabVIEW имеется большой набор ВП, генерирующих различные детерминированные процессы. Их можно разделить на три группы, различающиеся представлением выходного процесса и заданием его параметров. Это группы: Pattern (отрезок, образчик, шаблон), Wave (колебание, волна) и Waveform (сигнал, осциллограмма). Рассмотрим генераторы синусоидальных процессов.
ВП SinePattern (рис. 7) генерирует массив SinusoidalPattern, содержащий отрезок синусоидального сигнала. На рисунке приведены названия терминалов ВП и тип данных, подаваемых на терминалы.
Рис. 7
Значения массива рассчитываются по формуле (1). Массив задается следующими параметрами:
samples (выборки) – количество отсчетов на весь процесс (количество элементов в массиве) – N. Обозначение I32 означает, что это число целое, 32 бита;
amplitude (амплитуда) – амплитуда синусоиды – А. (DBL означает действительное число двойной точности);
phase (degrees) (фаза в градусах) – начальная фаза – φ0 ;
cycles (циклы) – количество периодов отрезка синусоиды – k.
ВП SineWave (рис. 8) генерирует массив sinewave, представляющий синусоидальное колебание. Значения массива рассчитываются по формуле
U = Asin(2πfi + φ0 π/180).
Рис. 8
По сравнению с предыдущим ВП по другому задается частота и начальная фаза.
Frequency (частота) – выражается в относительных единицах как величина, обратная количеству отсчетов на период: f = k/N.
Resetphase (сбросить фазу) – логический вход, определяющий начальную фазу выходного процесса. По умолчанию на этом входе установлено состояние ИСТИНА. При этом начальная фаза синусоиды устанавливается равной значению на входе phasein (вход фазы). Если на входе Resetphase установить состояние ЛОЖЬ, то начальная фаза устанавливается равной значению фазы на выходе phaseout (выход фазы) при последнем выполнении этого ВП.
На входы samples, amplitude – подается то же, что и в предыдущем ВП.
ВП SineWaveform (рис. 9) генерирует кластер signalout, в котором вместе с массивом синусоидального сигнала содержится информация о частоте сигнала (временной шкале).
Выходной кластер задается следующими параметрами.
Offset (смещение) – постоянная составляющая сигнала.