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

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

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

A.

Организация LabVIEW

В этом приложении описана структура размещения файлов LabVIEW и рекомендуемые места для сохранения файлов.

Структура директорий LabVIEW

В этом разделе описана структура файловой системы LabVIEW для платформ Windows, Mac OS и UNIX. При установке LabVIEW ин-

сталлируется программный драйвер для аппаратуры GPIB, DAQ, VISA, IVI, Monitor Control и IMAQ, рассчитанный на ту платформу,

которая имеется в наличии. Более подробно о конфигурировании вашего оборудования см. в Главе 3 Configuring Measurement Hardware руководства LabVIEW Measurement Manual.

После завершения инсталляции директория LabVIEW имеет следующую структуру.

Библиотеки

user.lib – Директория, в которой Вы можете сохранять созданные вами элементы управления и виртуальные приборы. LabVIEW отображает элементы управления на палитрах User Control, а виртуальные приборы – на палитрах User Libraries. Эта директория не изменяется, даже если Вы обновите или переустановите LabVIEW. Более подробно о сохранении файлов в ди-

ректории user.lib см. в разделе Добавление ВП и элементов управления в пользовательскую подпалитру (User Subpalette) и в подпалитру приборных драйверов (Instrument Drivers Subpalette) в Главе 3 Среда LabVIEW.

vi.lib – Содержит библиотеки встроенных ВП, которые LabVIEW отображает в соответствующих группах на палитре Functions. Не сохраняйте файлы в директории vi.lib, поскольку при обновлении или повторной инсталляции LabVIEW эти директории перезаписываются.

351

instr.lib – Содержит приборные драйвера, используемые для управления приборами PXI, VXI,GPIB, а также приборами последовательного порта и другими приборами компьютера. Когда Вы инсталлируете драйверы приборов National Instruments и помещаете их в эту директорию, LabVIEW добавляет их на палитру

Instrument Drivers.

Структура и поддержка

menus – Содержит файлы, которые LabVIEW использует для конфигурирования структуры палитр Controls и Functions.

resource – Содержит дополнительные файлы поддержки приложений LabVIEW. Не сохраняйте файлы в этой директории, поскольку LabVIEW переписывает эти файлы при обновлении или повторной инсталляции.

project – Содержит файлы, которые становятся пунктами в ме-

ню Tools среды LabVIEW.

templates – Содержит шаблоны типовых ВП.

www – Место размещения HTML файлов, которые можно просматривать с помощью Web сервера.

Изучение и инструкции

examples – Содержит примеры ВП. Для обзора и изучения примеров выберите из главного меню пункт Help»Find Examples.

Документация

manuals – Содержит документацию в формате PDF. Эта директория не содержит файлы справки. Для просмотра PDF файлов выберите из главного меню пункт Help»Search the LabVIEW Bookshelf.

help – Содержит файлы справки. Для доступа к справочной системе LabVIEW Help выберите из главного меню пункт Help»VI, Function, & How-To Help.

Mac OS

В дополнение к перечисленным выше директориям пользователи компьютеров Mac имеют директорию совместных библиотек, в которой находятся файлы поддержки приложений LabVIEW.

352

Предлагаемые места для сохранения файлов

При инсталляции LabVIEW создаются директории vi.lib и resource, предназначенные только для системных целей. Не сохраняйте свои файлы в этих директориях.

Вы можете сохранять свои файлы в следующих директориях:

user.lib – Все элементы управления или ВП, которые Вы хотите отобразить на палитрах User Controls или User Libraries. Более подробно о сохранении файлов в директории user.lib

см. в разделе Добавление ВП и элементов управления в пользовательскую подпалитру (User Subpalette) и в подпалитру приборных драйверов (Instrument Drivers Subpalette) Главы 3 Среда LabVIEW.

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

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

instr.lib – Любой приборный драйвер ВП, который Вы хотите отобразить на палитре Instrument Drivers.

project – ВП, которые Вы используете для расширения возможностей LabVIEW. ВП, которые Вы сохраняете в этой директории, появляются в меню Tools.

www – Место размещения HTML файлов, к которым Вы можете получить доступ через Web сервер.

help – Любые ВП, файлы PDF и .hlp файлы, которые Вы хотите сделать доступными через пункт меню Help.

LabVIEW Data – Любые файлы с данными, которые генерирует LabVIEW. Например, .lvm или .txt файлы.

Вы также можете создать директорию в произвольном месте вашего жесткого диска и сохранять в ней файлы LabVIEW, которые Вы

353

создадите. Более подробно о создании директорий см. в разделе

Сохранение ВП в Главе 7 Создание ВП и ВПП.

354

B.

Полиморфные функции

Функции являются полиморфными в различной степени – ни один, несколько или все их входы могут быть полиморфными. Некоторые входы функций принимают числовые или булевы значения. Некоторые принимают числовые или строковые. Некоторые принимают не только числовые скаляры, но и массивы чисел, кластеры чисел, массивы кластеров чисел и т.п. Некоторые принимают только одномерные массивы, хотя элементы массива могут иметь любой тип. Некоторые функции принимают все типы данных, включая комплексные числа. Более подробно о создании и использовании полиморфных единиц см. в замечаниях к приложению (Application Notes) Polymorphic Units in LabVIEW.

Более подробно…

Более подробно относительно полиморфных функций см. справочную сис-

тему LabVIEW Help.

Преобразование числовых представлений

Вы можете преобразовать произвольное числовое представление к любому другому числовому представлению. Когда Вы подсоединяете два или более числовых входов различного типа к функции, эта функция обычно возвращает результат в том из этих форматов, который является длиннее или шире. Принудительное преобразование меньших представлений к более широким осуществляется перед выполнением функций. В тех случаях, когда такое преобразование имеет место, соответствующие терминалы помечаются точкой (coercion dot).

Некоторые функции, такие как Divide (деление), Sine (синус) и Cosine (косинус) всегда выдают результат в виде числа с плавающей точкой. Если Вы подсоедините к их входам целые числа, то они перед выполнением вычислений будут преобразованы к числам с плавающей точкой удвоенной точности.

355

Для вещественных скалярных величин обычно лучше использовать числовое представление удвоенной точности с плавающей точкой. Использование чисел одинарной точности с плавающей точкой могут дать (а иногда и нет) некоторую экономию в быстродействии, однако значительно более подвержены эффектам переполнения и потери точности. К примеру, функции из библиотеки анализа данных используют числа с плавающей точкой удвоенной точности. При необходимости следует использовать числа с плавающей точкой повышенной точности (extended-precision). Эффективность и точность представление формата повышенной точности варьируется в зависимости от используемой платформы. Более подробно об эффекте переполнения в представлении чисел с плавающей точкой см. в разделе Неопределенные или неожиданные данные в Главе 6 Запуск и отладка виртуальных приборов.

Для целых чисел обычно наилучшим является представление в виде 32-битных целых со знаком.

Если Вы подсоединяете источник данных к приемнику, и они имеют различное числовое представление, то LabVIEW конвертирует данные в соответствии со следующими правилами:

Знаковое или беззнаковое целое к приемнику числа с пла-

вающей точкой – Конвертация является точной, за исключением случая преобразования 32-битного целого в число с плавающей точкой однократной точности, когда LabVIEW уменьшает точность представления с 32 бит до 24 бит.

Число с плавающей точкой к приемнику целого числа со зна-

ком или без знака – LabVIEW заменяет значения, выходящие за диапазон представления целых чисел, на максимальное или минимальное целое значение. Большинство объектов целого типа, такие как терминал итераций цикла For Loop, округляют числа с плавающей точкой. При этом производится округление дробной части 0.5 к ближайшему четному целому значению. Например, число 6.5 будет округлено к числу 6, а не к числу 7.

Целое число к приемнику целого числа – Значения, выходящие за диапазон представления целых чисел приемника, не преобразуются к минимальному или максимальному значению. Если значение числа-источника меньше в его представлении числаприемника, то LabVIEW расширяет знак на старшие разряды чис- ла-приемника, если число-источник со знаком. Если число-

356

источник имеет беззнаковый тип, то старшие разряды числаприемника заполняются нулевым битом. Если представления числа-источника больше представления числа-приемника, то копируются только младшие значащие биты числа-источника.

Полиморфизм числовых функций

Арифметические функции получают числовые входные данные. За некоторыми исключениями, отмеченными в описании функций, выходные данные имеют то же числовое представление, что и входные данные либо, если входы имеют различное представление, выход имеет представление входа с наиболее широким представлением.

Арифметические функции работают с числами, с массивами чисел, с кластерами чисел, с массивами кластеров чисел, с комплексными числами и т.д. Формальное рекурсивное определение допустимых входных типов данных имеет следующий вид:

Numeric type = numeric scalar OR array [numeric type] OR cluster [numeric types]

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

Массивы могут иметь любое количество измерений (dimension) произвольной размера (длины). Кластеры могут содержать произвольное количество элементов. Тип данных на выходе функций имеет такое же числовое представление, как тип данных на их входе. Функции с одним входом осуществляют поэлементную обработку массива или кластера.

Для функций с двумя входами можно использовать следующие комбинации входов:

Подобие (Similar) – Оба входа имеют одинаковую структуру. В этом случае выход имеет ту же структуру, что и входы.

357

Один скаляр (One scalar) – Один из входов является числовым скаляром, а другой – массивом или кластером. В этом случае выходом будет массив или кластер.

Массив (Array of) – Один из входов является числовым массивом, а другой – имеет числовой тип элементов этого массива. В этом случае выходом будет массив.

Для подобных входов LabVIEW выполняет функцию над соответствующими элементами структур. Например, LabVIEW может сложить два массива элементов поэлементно. Оба массива должны иметь одну и ту же размерность. Вы можете складывать массивы с разным числом элементов; результат такого сложения (массив) будет иметь столько элементов, сколько их у входного массива с наименьшим числом элементов. Кластеры должны иметь одинаковое число элементов, а соответствующие их элементы должны быть одинакового типа.

Нельзя использовать функцию Multiply (умножение) для выполнения матричного умножения. Если Вы примените функцию Multiply к двум матрицам, то LabVIEW возьмет первое число из первой строки первой матрицы, умножит его на первое число первой строки второй матрицы и т.д.

Для операций, принимающих на одном входе скаляр, а на другом входе – структуру в виде массива или кластера, LabVIEW выполнит функцию над скаляром и соответствующими элементами этой структуры. К примеру, LabVIEW может вычесть число из всех элементов массива, независимо от его размерности.

Для операций, принимающих на одном входе данные числового типа, а на другом входе массив элементов того же типа, LabVIEW выполнит функцию над каждым элементом массива. Например, график представляет собой массив точек, каждая из которых задается кластером из двух чисел x и y. Чтобы сместить график на 5 единиц в направлении x и на 8 единиц в направлении y, Вы можете прибавить к графику (как к массиву точек) точку (5,8).

На Figure B - 1 показаны возможные комбинации полиморфизма для функции Add (сложить).

358

Figure B - 1. Комбинации полиморфизма функции Add (сложить)

Полиморфизм булевых функций

Логические функции получают либо булевы, либо числовые входные данные. Если входные данные имеют числовой тип, то LabVIEW выполняет операцию поразрядно (в двоичном представлении). Если входные данные являются числами с плавающей точкой, то LabVIEW округляет их к длинному целому (long integer) и такой же тип будут иметь выходные данные.

Логические функции работают с массивами чисел или булевых величин, с кластерами чисел или булевых величин, с массивами кластеров из чисел или булевых величин и т.д.

Формальное рекурсивное определение допустимых входных типов данных имеет следующий вид:

Logical type = Boolean scalar OR numeric scalar OR array [logical type] OR cluster [logical types]

с тем исключением, что недопустимы комплексные числа и массивы массивов.

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

359

чиной и числом. На Figure B - 2 показаны некоторые допустимые комбинации из булевых величин для функции AND.

Figure B - 2. Комбинации полиморфизма с булевыми данными для функции AND

Полиморфизм для функций обработки массивов

Большинство функций обработки массивов принимают n-мерные массивы данных любого типа. Однако, на схеме подключения в описаниях функций указаны числовые массивы в качестве типа данных по умолчанию.

Полиморфизм строковых функций

Функции String Length (длина строки), To Upper Case (преобразо-

вать к верхнему регистру), To Lower Case (преобразовать к нижне-

му регистру), Reverse String (развернуть строку) и Rotate String (циклически сдвинуть строку) принимают строки, кластеры и массивы строк, массивы кластеров. Функции To Upper Case и To Lower Case могут также принимать числа, кластеры чисел и массивы чисел, интерпретируя их как символы в ASCI I кодах. Входы параметров ширины и точности представления результирующей записи числа в виде строки должны быть скалярами.

Полиморфизм функций для конвертирования строк

Функции Path To String (конвертировать путь в строку) и String To Path (конвертировать строку в путь) являются полиморфными. Это значит, что они работают со скалярными значениями, с массивами скаляров, с кластерами скаляров, с массивами кластеров скаляров и

360