Применение современных информационных технологий и технических средств при создании систем автоматизации экспериментальных исследований, промышленного производства и обучения: Методические указания к лабораторным работам, страница 3

2.2 Создайте прибор, который выполняет определенную операцию над каждым элементом массива.

2.2.1  Сначала сформируйте массив значений с помощью автоиндексации в цикле For Loop. Затем выполните операцию над каждым элементом 3-я разными способами: с использованием автоиндексации на входе массива; с использованием регистра сдвига; с использованием полиморфизма операций. Варианты заданий указаны ниже.

2.2.2  Варианты заданий выбираются по номеру рабочей станции:

1)  значения случайной величины, операция умножения на число

2)  значения синуса, операция вычитания из числа

3)  значения экспоненты, операция деления на число

4)  значения логарифма, операция сложения с числом

5)  значения прямой 3х+5, операция возведения в квадрат

6)  значения косинуса, операция умножения на число

7)  значения прямой 5х+2, операция извлечения квадратного корня

8)  значения кривой х^2 + 0.5х-10, значения вычитания числа

9)  значения случайной величины в пределах 0…100, операция деления на число

10) значения синуса, операция обратного синуса.

2.2.3  Изучите работу прибора.

2.3 Создайте прибор, демонстрирующий «бегущий огонек».

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

2.3.2  Разместите на блок-диаграмме функции инициализации массива, замены значения элемента в массиве и поворота массива так, как представлено на рисунке.

2.3.3  Добейтесь теперь, чтобы лампочка начинала загораться с первой по счету позиции, а не со второй.

2.3.4  Сделайте, чтобы огонек бежал в другую сторону.

2.4 Реализуйте прибор, вычисляющий сумму всех нечетных элементов массива

2.4.1  Сформируйте цикл, создающий массив из 100 элементов, содержащих случайные значения в диапазоне от -10 до +10.

2.4.2  Воспользовавшись автоиндексацией, осуществите поиск и вычисление суммы нечетных по номеру индекса в массиве элементов. Для этого можно использовать либо регистр сдвига, либо узел обратной связи.

2.4.3  Исследуйте работу прибора.

2.4.4  Какую функцию из палитры All Functions-> Programming->Array можно применить для получения четных и нечетных по номеру индекса в массиве элементов?

3 Контрольные вопросы

3.1 С какого номера начинается индексация массива?

3.2 Назовите 3 способа создания массива.

3.3 Как можно реализовать «бегущий огонек» без применения массивов?

3.4 Какие из встроенных функций LabVIEW обладают полиморфизмом применительно к массивам, а какие – нет?

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

Графики

1 Цель работы

Ознакомление с видами графиков Chart, Graph и XY Graph, получение навыков визуализации данных на графиках.

2 Порядок выполнения работы

2.1 Создайте прибор, демонстрирующий бегущее среднее температуры на графике вида Chart.

2.1.1  Используйте в качестве основы прибор, созданный ранее в п.2 лабораторной работы №2 для вычисления среднего случайной величины. Замените функцию Random Number на прибор Digital Thermometer.vi (из C:\Program Files\National Instruments\LabVIEW 8.0\activity\).

2.1.2  На передней панели поместите график Chart. Соедините его терминал на блок-диаграмме с выходом прибора температуры. Запустите программу и исследуйте её работу.

2.1.3  Поместите теперь в цикл функцию Bundle из палитры All Functions->Programming->Cluster & Variant. Подайте её выход на график Chart, а на входы – значение температуры и среднее значение. Проверьте работу программы.

2.1.4  Как теперь добиться отображения третьего графика – максимального значения температуры? Используйте для определения максимального значения функцию Max & Min из палитры All Functions->Programming->Comparison.

2.1.5  Поэкспериментируйте с внешним отображением графиков – видом, типом линий, точек, масштабированием по осям.

2.2 Сконструируйте прибор, демонстрирующий графики на индикаторе вида Graph.

2.2.1  Создайте на блок-диаграмме цикл For Loop с количеством итераций 100, и поместите внутрь прибор Generate Waveform.vi (из C:\Program Files\National Instruments\LabVIEW 8.0\activity\) и функцию синуса. Для синуса пересчитайте входную величину из терминала счетчика итераций цикла по формуле: i*p/50. Выведите выходы синуса и Generate Waveform.vi на границу цикла и убедитесь, что выходные туннели обеспечивают автоиндексацию.

2.2.2  Умножьте каждый элемент массива значений синуса на величину 0.5.

2.2.3  Заведите оба массива на функцию Build Array палитры All Functions->Programming->Array, а с этой функции – на индикатор Waveform Graph.

2.2.4  Как изменятся работа программы и отображение данных на графике в зависимости от включения/выключения опции Concatenate Inputs функции Build Array?

2.2.5  При включенной опции Concatenate Inputs функции Build Array, добейтесь получения отдельных графиков Waveform и синуса, использовав функции Array Subset или Split 1D Array палитры All Functions->Programming->Array. Как при этом добиться независимости работы программы от размера входного массива?

2.3 Создайте прибор, демонстрирующий бегущее среднее температуры на графике вида Graph.

2.3.1  Используйте как основу прибор, разработанный в первом пункте данной лабораторной работы. Удалите график вида Chart, и поместите на переднюю панель график вида Graph.

2.3.2  Используйте регистры сдвига и функцию Build Array, для того, чтобы добиться поведения графика, аналогичного графику вида Chart – обновляющийся на каждой итерации график температуры, с добавлением новых точек справа.