Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LabView - учеб. пособия / LabVIEW Руководство пользователя

.pdf
Скачиваний:
922
Добавлен:
03.03.2016
Размер:
4.63 Mб
Скачать

внешний массив содержит по одному кластеру на каждую кривую. На Figure 12-4 показан такой массив из кластера y.

Figure 12-4. Массив из кластера y

Используйте такой способ вывода нескольких кривых вместо подключения на вход двумерного массива, если число точек в каждой кривой различно. Например, когда Вы получаете данные от нескольких каналов с разными временными параметрами, используйте такую структуру данных вместо двумерного массива, поскольку все строки двумерного массива должны содержать одинаковое число элементов. Число элементов во внутренних массивах массива кластеров может быть различным. Примером индикатора Waveform Graph, который получает на вход такой тип данных, является инди-

катор (Y) Multi Plot2 в ВП Waveform Graph из библиотеки example\general\graphs\gengraph.llb.

Для построения нескольких кривых на индикатор Waveform Graph можно подать кластер из начального значения x, значения ∆x и массива, который содержит кластеры. Каждый из этих кластеров содержит массив значений данных y. Используйте функцию Bundle для объединения массивов в кластеры и функцию Build Array для построения из полученных кластеров массива. Можно также использовать функцию Build Cluster Array, которая создает массив кластеров, которые содержат то, что Вы подадите на входы. Примером индикатора Waveform Graph, который получает на вход такой тип данных, является индикатор (Xo, dX, Y) Multi Plot2 в ВП

Waveform Graph из библиотеки example\general\graphs\gengraph.llb.

Для построения нескольких кривых на индикатор Waveform Graph можно подать массив кластеров из значений x, значений ∆x и массивов данных y. Это наиболее общий тип данных, который

231

может подключаться к входу индикатора Waveform Graph, поскольку в этом случае можно задавать индивидуальные значения стартовых значений и приращений по оси X для каждой кривой. Примером индикатора Waveform Graph, который получает на вход такой тип данных, является индикатор (Xo, dX, Y) Multi Plot1 в ВП

Waveform Graph из библиотеки example\general\graphs\gengraph.llb.

Типы данных для построения одной кривой на индикаторе XY Graph

Для построения одной кривой на индикатор XY Graph можно подать кластер, содержащий массив x и массив y. Кроме того, для построения одной кривой на индикатор XY Graph можно подать массив точек, где каждая точка сеть кластер, содержащий значение x и значение y. Пример типов данных для построения одной кривой на индикаторе XY Graph можно найти в ВП XY Graph из библиотеки example\general\graphs\gengraph.llb.

Типы данных для построения нескольких кривых на индикаторе XY Graph

Для построения нескольких кривых на индикатор XY Graph можно подать массив кривых, где каждая кривая есть кластер, содержащий массив x и массив y. Кроме того, для построения нескольких кривых на индикатор XY Graph можно подать массив кластеров кривых, где каждая кривая есть массив точек. Каждая точка представляет собой кластер, содержащий значение x и значение y.

Пример типов данных для построения нескольких кривых на индикаторе XY Graph можно найти в ВП XY Graph из библиотеки example\general\graphs\gengraph.llb.

Индикаторы Waveform Chart

Индикаторы Waveform Chart – это специальный тип числовых индикаторов, предназначенных для отображения одной или нескольких кривых. Примеры использования индикаторов Waveform Chart можно найти в библиотеке example\general\graphs\charts.llb

Если Вы подаете на индикатор Chart одно или несколько значений за один раз, то LabVIEW интерпретирует эти данные как точки на

232

диаграмме, при этом аргумент x получает каждый раз приращение 1, начиная с x=0. Индикатор Chart трактует эти данные как новые точки одной кривой. Если Вы подадите на вход индикатора Chart тип данных waveform, то индекс x будет соответствовать формату представления времени.

Частота поступления новых данных на индикатор Chart определяет, как часто будет перерисовываться кривая на диаграмме.

Для построения нескольких кривых на индикатор Waveform Chart нужно подать данные, объединенные в кластер, образованный числовыми скалярами, каждый из которых представляет одну очередную точку на каждой кривой.

Если Вы хотите добавлять несколько точек для кривых за одно обновление, подсоедините массив кластеров из чисел к входу индикатора Chart. Каждое число представляет одну точку значения y на каждой кривой.

Если Вы не можете определить число отображаемых кривых до запуска вашего ВП, или Вы хотите добавлять несколько точек для нескольких кривых за одно обновление, подсоедините к входу индикатора Chart двумерный массив чисел или кластеров типа waveform. Также как и индикатор Waveform Graph, индикатор Waveform Chart по умолчанию интерпретирует строки массива как новые данные для каждой кривой. Если же нужно рассматривать в качестве новых данных для каждой кривой столбцы массива, то щелкните по индикатору правой кнопкой и выберите из контекст-

ного меню пункт Transpose Array.

Индикаторы Intensity Graph и Intensity Chart

Используйте индикаторы Intensity Graph и Intensity Chart (графики и диаграммы интенсивности) для отображения трехмерных данных в виде двумерных изображений посредством раскрашивания областей на декартовой плоскости в различные цвета. Например, Вы можете использовать индикаторы Intensity Graph и Intensity Chart для отображения пространственно распределенных данных, таких как температурные поля или карты местности, на которых числовая величина (температура или высота) отображается цветом. Индика-

торы Intensity Graph и Intensity Chart принимают на входе двумер-

ный массив чисел. Каждое число массива представляет определен233

ный цвет. Индексы элементов в этом двумерном массиве определяют места на плоскости, которые будет закрашены в эти цвета. Принцип действия индикатора Intensity Chart показан на Figure 12-5.

Figure 12-5. Отображение цветов в индикаторе Intensity Chart

Строки данных поступают в индикатор и отображаются на графике или диаграмме в виде столбцов. Если Вы хотите, чтобы строки данных отображались на дисплее в виде строк, щелкните правой кнопкой индикатор Graph или Chart и выберите из контекстного меню пункт Transpose Array.

Индексы элементов массива соответствуют нижнему левому углу цветового блока. Цветовой блок ограничен областью, которая лежит между соседними точками, определяемыми индексами элемен-

тов массива. Индикаторы Intensity Graph и Intensity Chart могут отображать до 256 дискретных цветовых оттенков.

234

После того как блок данных отобразится на индикаторе Intensity Chart, исходная (чистая) плоскость для построения изображения сдвинется вправо относительно последнего блока данных. При получении очередной порции данных, соответствующее им изображение будет появляться справа от уже существующего изображения. Когда область отображения индикатора Intensity Chart полностью заполнится, самые старые данные будут прокручиваться влево и исчезать из поля зрения. Этот процесс происходит точно так же, как и в индикаторе Strip Chart. Более подробно о режимах обновления изображения в индикаторах типа Chart см. в разделе Режимы обновления диаграммы в настоящей Главе.

Примеры использования индикаторов Intensity Graph и Intensity Chart можно найти в библиотеке examples\general\graphs\intgraph.llb.

Схема отображения цветов

Вы можете установить схему отображения цветов (color mapping) для индикаторов Intensity Graph и Intensity Chart интерактивно, точно так же, как это делается для элемента управления Color Ramp (цветовой клин). Более подробно об элементе управления Color Ramp см. в разделе Цветовой клин (Color Ramp) в Главе 4 По-

строение лицевой панели.

Вы можете установить схему отображения цветов для индикаторов

Intensity Graph и Intensity Chart программно с помощью узла свойств (Property Node), который может быть использован двумя способами. Обычно соответствие значение-цвет указывается в узле свойств. В рамках этого способа нужно специфицировать свойство Z Scale: Marker Values []. Это свойство содержит массив кластеров, в котором каждый кластер содержит числовое граничное значение и соответствующий ему цвет. Когда Вы задаете схему отображения цветов таким способом, Вы можете задать цвет, соответствующий верхней границе, с помощью свойства Z Scale: High Color, и цвет, соответствующий нижней границе, с помощью свойства Z Scale: Low Color. Индикаторы Intensity Graph и Intensity Char допускают до 254 различных цветов, что вместе с верхним и нижним граничными цветами составляет 256. Если Вы все же зададите более 254 цветов, то будет создана таблица соответствия из 254 цветов, полученная интерполяцией заданных цветовых соответствий.

235

Если Вы отображаете побитовое отображение (bitmap) на индикаторе Intensity Graph, то задавайте цветовую таблицу с помощью свойства Color Table. Согласно этому способу Вы можете задать массив до 256 цветов. Данные, поступающие на индикатор, отображаются в индексы этой таблицы, основываясь на цветовой шкале (color scale) индикатора. Если этот диапазон установлен от 0 до 100, то значение 0 данных отображается в индекс 1, а значение 100 отображается в индекс 254. Все, что меньше 0, отображается в нижний граничный цвет (индекс 0), а все, что больше 100, отображается в верхний граничный цвет (индекс 255).

"Примечание. Цвета, которые Вы хотите отобразить на индикаторах Intensity Graph или Intensity Chart, ограничены чистыми цветами и возможностями вашей видео карты и монитора.

Необязательные компоненты индикатора Intensity Chart

Индикатор Intensity Chart имеет много общих с индикатором Waveform Chart необязательных элементов, которые можно сделать видимыми или скрытыми, щелкая по индикатору правой кнопкой и выбирая из контекстного меню пункт Visible Item. Кроме того, поскольку индикатор Intensity Chart имеет цвет в качестве третьей координаты, то имеется шкала похожая на элемент управления Color Ramp (цветовой клин), которая определяет диапазон и схему отображения значений цвета.

Подобно индикатору Waveform Chart, индикатор Intensity Chart

поддерживает функцию сохранения данных от предыдущих обновлений входных данных (предыстория данных), для чего используется буфер. Для настройки этого буфера щелкните индикатор и выберите из контекстного меню пункт Chart History Length. По умолчанию размер этого буфера составляет 128 точек данных. Индикатор Intensity Chart довольно интенсивно использует память. Например, отображение диаграммы чисел с однократной точностью с предысторией из 512 точек и со 128-ю значениями y потребует 512*128*4 байт (размер числа с однократной точностью), или

256 KB.

Необязательные компоненты индикатора Intensity Graph

Индикатор Intensity Graph работает так же, как и индикатор Waveform Chart, за исключением невозможности сохранения предыду-

236

щих данных и отсутствия режимов обновления изображения. Каждый раз при поступлении новых данных на вход индикатора Intensity Graph новые данные будут замещать старые.

Индикатор Intensity Graph может иметь курсоры, так же, как и другие индикаторы типа Graph. Каждый курсор отображает значения x, y и z для выбранной точки графика.

Индикаторы Digital Waveform Graph

Используйте индикатор Digital Waveform Graph для отображения цифровых данных, особенно когда Вы работаете с временными диаграммами или логическими анализаторами. Более подробно о вводе/выводе цифровых данных см. в руководстве LabVIEW Measurements Manual.

Индикатор Digital Waveform Graph допускает на входе данные типа digital waveform (цифровая осциллограмма), digital data (цифровые данные) и массивы этих типов данных. По умолчанию индикатор Digital Waveform Graph сжимает цифровые шины так, что индикатор отображает цифровые данные в виде одной кривой. Если Вы подключите массив цифровых данных, то индикатор Digital Waveform Graph отобразит каждый элемент массива в виде отдельной кривой в том порядке, как элементы идут в массиве.

Индикатор Digital Waveform Graph, показанный на Figure 12-6, ото-

бражает цифровые данные в виде одной кривой. В этом примере ВП конвертирует числа из массива Numbers в тип digital data (цифровые данные) и отображает двоичные представления этих числе в цифровом индикаторе Binary Representation. На индикаторе Digital Waveform Graph число 0 отображается без линии сверху; это символизирует, что все биты этого числа равны нулю. Число 255 отображается без линии снизу; это символизирует, что все биты этого числа равны 1.

237

Figure 12-6. Отображение цифровых данных в виде отдельной кривой

Более подробно о конфигурировании кривых на индикаторе Digital Waveform Graph см. в справочной системе LabVIEW Help.

Чтобы изобразить в виде кривой каждую выборку (sample) цифровых данных, щелкните правой кнопкой ось y и выберите из контекстного меню пункт Expand Digital Buses. После этого каждая кривая будет соответствовать своей выборке из цифровых данных.

Индикатор Digital Waveform Graph, показанный на Figure 12-7, ото-

бражает шесть чисел, заданных в элементе управления Number.

Figure 12-7. Поразрядное отображение целых чисел

238

Цифровой индикатор Binary Representations отображает двоичные представления чисел. Каждый столбец в этой таблице представляет один бит. Например, число 89 представляется в памяти 7-ю битами (0 в столбце 7 означает, что этот бит не используется). Точка 3 на графике в индикаторе Digital Waveform Graph отображает 7 бит, необходимых для представления числа 89 и нулевое значение для представления неиспользуемого восьмого бита на кривой Plot 7.

ВП на Figure 12-8 преобразует массив чисел в цифровые данные и использует функцию Build Waveform для объединения начального времени (start time), временного шага (dt) и чисел, введенных в

цифровой элемент управления, чтобы потом отобразить цифровые данные.

Figure 12-8. Преобразование массива чисел в цифровые данные

Более подробно об элементе управления Digital Data (цифровые данные), о типе данных digital waveform (цифровая осциллограмма) и о конвертировании данных к типу digital data (цифровые данные)

см. в разделе Элемент управления цифровая осциллограмма (Digital Waveform Control) и Элемент управления цифровыми данными (Digital Data Control) в Главе 4 Построение лицевой панели.

Маскирование данных

ВП на Figure 12-7 выводит график, в котором каждая кривая представляет один бит данных. Вы можете также селектировать, переупорядочивать и комбинировать биты в данных перед их отображением на графике. Селектирование, переупорядочивание и комбинирование битового представления называется маскированием

(masking) данных.

239

Используйте маску для комбинирования кривых двух или более различных битов и отображения их затем на одной кривой. Если у Вас есть массив 8-битных целых чисел, то Вы можете отображать до 8 бит на одной кривой. Если у Вас есть массив из 16-битных целых чисел, то Вы можете отображать до 16 бит на одной кривой и т.д. Вы также можете отображать один и тот же бит дважды или большее число раз на одной кривой.

Трехмерные графики

"Примечание. Трехмерные элементы управления и индикаторы доступны только в пакетах LabVIEW Full Development System и LabVIEW Professional Development System, работающих в среде Windows.

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

Доступны следующие индикаторы для трехмерной графики:

3D Surface Graph (график трехмерной поверхности) – Рисует поверхность в трехмерном пространстве. Когда Вы перетаскиваете этот индикатор с палитры на лицевую панель, LabVIEW соединяет его с ВПП, который принимает данные, представляющие эту поверхность.

3D Parametric Graph (параметрический трехмерный график) – Рисует сложную поверхность в трехмерном пространстве. Когда Вы перетаскиваете этот индикатор с палитры на лицевую панель, LabVIEW соединяет его с ВПП, который принимает данные, представляющие эту поверхность.

3D Curve Graph (график трехмерной кривой) – Рисует линию в трехмерном пространстве. Когда Вы перетаскиваете этот индикатор с палитры на лицевую панель, LabVIEW соединяет его с ВПП, который принимает данные, представляющие эту поверхность.

240