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

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

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

Извлечение информации о времени и дате из часов вашего компьютера.

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

Палитра Time & Dialog содержит также ВП для обработки ошибок. Более подробно об использовании ВП для обработки ошибок см. в

разделе Проверка и обработка ошибок в Главе 6 Запуск и отладка виртуальных приборов.

Функции файлового ввода/вывода

Используйте функции файлового ввода/вывода (File I/O) для выполнения следующих задач:

Открытие и закрытие файлов.

Чтение из и запись в файлы.

Создание директорий и файлов, заданных в путевом элементе управления.

Извлечение информации о директории.

Запись строк, числе, массивов и кластеров в файлы.

Палитра File I/O содержит также ВП, которые выполняют общие задачи файлового ввода/вывода. Более подробно об использовании ВП и функций файлового ввода/вывода см. в Главе 14 Файловый ввод/вывод.

Функции работы с осциллограммами

Используйте функции для работы с осциллограммами (Waveform) при решении следующих задач:

Построение осциллограмм, которые включают значения осциллограмм, информацию о канале и временной привязке.

Извлечение отдельных элементов данных из осциллограммы.

Редактирование отдельных элементов осциллограммы.

Более подробно о создании и использовании осциллограмм в ВП см. в Главе 5 Создание типовых измерительных приложений в Ру-

91

ководстве по измерениям в LabVIEW (LabVIEW Measurements Manual).

Функции управления приложениями

Используйте функции управления приложениями (Application Control) для программного управления ВП и LabVIEW-приложениями на Вашем локальном компьютере или через компьютерную сеть. Более подробно об использовании функций управления приложе-

ниями см. в Главе 17 Программное управление ВП.

Дополнительные функции

Используйте дополнительные (Advanced) функции для вызова программного кода из библиотек, таких как динамически связываемые библиотеки (dynamic link libraries – DLL), чтобы манипулировать данными LabVIEW для использования их в других приложениях, для создания и манипуляции регистрационными ключами Windows и для вызова сегментов кода на текстовых языках программирования. Более подробно об использовании дополнительных функций см. в руководстве Using External Code in LabVIEW.

Добавление терминалов у функций

Вы можете изменять количество терминалов у некоторых функций. Например, для построения массива из 10 элементов, Вы можете увеличить до 10 количество терминалов у функции Build Array.

Вы можете добавлять терминалы для растягиваемых (expandable) ВП и функций, используя инструмент Positioning для оттягивания нижней или верхней границы функции вниз или вверх, соответственно. Вы можете также использовать инструмент Positioning для удаления терминалов у растягиваемых ВП или функций, но Вы не сможете удалить уже подсоединенные терминалы.

Вы можете также добавлять или удалять терминалы, щелкая правой кнопкой по терминалам функции и выбирая Add Input (добавить вход), Add Output (добавить выход), Remove Input (удалить вход) или Remove Output (удалить выход) из контекстного меню. Для разных функций Вы можете добавлять терминалы для входов, выходов или для элементов управления ссылочными номерами (refnum). Пункты контекстного меню Add Input и Add Output добавляют терминалы сразу же после того, как Вы щелкните правой

92

кнопкой по терминалу. Пункты контекстного меню Remove Input и Remove Output удаляют терминалы после того, как Вы щелкните правой кнопкой по терминалу. Если для удаления подсоединенных терминалов Вы используете пункты контекстного меню, то LabVIEW удаляет терминалы и разрывает проводники.

Использование проводников для связи объектов блокдиаграммы

Данные передаются через объекты блок-диаграммы посредством проводников (wires). Каждый проводник имеет единственный источник данных, но Вы можете подсоединять его ко многим ВП или функциям, которые читают эти данные. Вы должны подсоединить все обязательные (required) терминалы блок-диаграммы. В противном случае, ВП оказывается поврежденным (broken) и не будет запускаться. Отобразите окно Context Help, чтобы увидеть, какие терминалы узлов блок-диаграммы являются обязательными. Обязательные терминалы помечены в окне Context Help метками в жирном шрифте. Более подробно об обязательных терминалах см. в

разделе Установка обязательных, рекомендуемых и необязательных входов и выходов в Главе 7 Создание ВП и ВПП. Более под-

робно о поврежденных ВП см. в разделе Исправление поврежден-

ных виртуальных приборов в Главе 6 Запуск и отладка ВП.

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

LabVIEW Quick Reference Card (Карта быстрых ссылок LabVIEW).

Когда Вы перемещаете инструмент Wiring над узлом ВП или функции, около не присоединенных терминалов появляются обрывки проводников. Они показывают тип данных каждого терминала. Появляются также краткие подсказки (tip strip) с именами терминалов. После того, как Вы подсоедините терминал, обрывок проводника для такого терминала перестанет появляться при перемещении инструмента Wiring над его узлом.

Сегмент (segment) проводника это одна горизонтальная или вертикальная часть проводника. Изгиб (bend) проводника – это место,

93

где сливаются два сегмента. Точка, в который два или более сегмента сливаются, есть соединение (junction). Одна ветвь (branch) проводника содержит все сегменты проводника от соединения до соединения, от терминала до соединения или от терминала до терминала, если между ними нет соединений. На Figure 5-1 показаны сегмент, изгиб и соединение проводника.

Figure 5-1. Сегмент (Segment), изгиб (Bend) и соединение (Junction) проводника

Во время соединения терминалов может быть сделан однократный изгиб проводника на угол 90 градусов перемещением курсора в вертикальном или горизонтальном направлении. Чтобы сделать несколько изгибов на проводнике, щелкните клавишей мыши, чтобы зафиксировать сегмент проводника и затем перемещайте курсор в новом направлении. Вы можете многократно фиксировать сегменты проводника и перемещаться в новых направлениях. Чтобы отменить последнюю точку, в которой Вы зафиксировали сегмент проводника, нажмите клавишу <Shift> и щелкните еще раз на блокдиаграмме.

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

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

94

Более подробно о рекомендациях и способах соединения провод-

ников см. в разделе Wiring Techniques в Главе LabVIEW Style Guide руководства LabVIEW Development Guidelines.

Автоматическое соединение объектов

LabVIEW автоматически соединяет объекты, когда Вы их только помещаете на блок-диаграмму. Вы также можете автоматически соединять объекты, которые уже помещены на блок-диаграмму. LabVIEW соединяет терминалы, которые лучше подходят, и оставляет несоединенными терминалы, которые не подходят друг к другу.

Если Вы переместите селектированый объект близко к другому объекту на блок-диаграмме, то LabVIEW начертит временные проводники, чтобы показать Вам правильные соединения. Когда Вы отпускаете кнопку мыши, чтобы поместить объект на блокдиаграмму, LabVIEW автоматически подсоединит проводники.

Включение/выключение автоматического соединения проводников осуществляется нажатием клавиши пробела при перемещении объекта с помощью инструмента Positioning.

По умолчанию автоматическое соединение активно, когда Вы выбираете объект из палитры Function, или, когда Вы копируете объект уже имеющийся на блок-диаграмме, нажимая клавишу <Ctrl> и перемещая этот объект. Автоматическое соединение по умолчанию отключено, когда Вы используете инструмент Positioning для перемещения уже имеющегося на блок-диаграмме объекта.

Вы можете отключить автоматическое соединение, выбирая

Tools»Options и затем Block Diagram из выпадающего меню. В

диалоговом окне нужно снять птичку с опции Enable auto wiring.

Соединение объектов вручную

Используйте инструмент Wiring для соединения вручную терминалов одного узла блок-диаграммы с терминалами другого узла блокдиаграммы. Курсорной точкой этого инструмента является конец распущенной катушки с проводом. Когда Вы перемещаете инструмент Wiring над терминалом, этот терминал мерцает. При этом появляется также подсказка с указанием имени терминала. Если подключение к терминалу будет давать поврежденный проводник

95

(broken wire), то курсор перестанет иметь вид катушки и превратится в текстовое предупреждение. Вы можете создавать поврежденные проводники, но их нужно исправить прежде, чем Вы сможете запускать ВП. Более подробно об исправлении поврежденных проводников см. в разделе Исправление поврежденных проводни-

ков в этой Главе.

Для точного определения того, как правильно подсоединять проводники, пользуйтесь окном контекстной помощи Context Help. Когда Вы перемещаете курсор над ВП или функцией, в окне Context Help появляется перечень всех терминалов ВП или функции. Окно Context Help не показывает терминалы для растягиваемых (expandable) ВП и функций, таких, например, как функция Build Array. Чтобы отобразить необязательные терминалы соединительной панели, щелкните кнопку Show Optional Terminals and Full Path в

окне Context Help. Более подробно о необязательных терминалах см. в разделе Установка обязательных, рекомендуемых и необязательные входов и выходов в Главе 7 Создание ВП и ВПП.

Прокладка проводников

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

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

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

96

нажатой клавиши мыши, пока Вы не подсоедините к другому терминалу или не установите точку и затем отпустите кнопку мыши. После отпускания кнопки мыши LabVIEW восстановит режим автоматической прокладки.

Вы можете отключить автоматическую прокладку маршрутов проводников для всех новых проводников, выбирая Tools»Options и затем Block Diagram из спадающего меню.

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

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

Селектирование проводников

Селектирование проводников осуществляется с помощью одно-

кратного (single-click), двойного (double-click) или тройного (tripleclick) щелчка с помощью инструмента Positioning. Однократный щелчок проводника селектирует один сегмент проводника. Двойной щелчок проводника селектирует ветвь. Тройной щелчок проводника селектирует весь проводник.

Исправление поврежденных проводников

Поврежденные проводники имеют вид пунктирных черных линий с красным символом ³ посредине. Поврежденные проводники возникают по различным причинам, например, когда Вы пытаетесь соединить два объекта с несовместимыми типами данных. Подвигайте инструментом Wiring над поврежденным проводником, чтобы отобразить подсказку с причиной повреждения проводника. Эта информация появляется также в окне Context Help, когда Вы перемещаете инструмент Wiring над поврежденным проводником. Щелкните правой кнопкой и выберите List Errors (выдать список

97

ошибок) из контекстного меню, чтобы отобразить окно Errors list. Щелкните кнопку Help для более подробной информации о причине повреждения проводника.

Для удаления конкретного поврежденного проводника сделайте по нему тройной щелчок инструментом Positioning и затем нажмите клавишу <Delete>. Вы можете также щелкнуть проводник правой кнопкой и выбрать из контекстного меню такие опции как Delete Wire Branch (удалить ветвь проводника), Create Wire Branch

(создать ветвь проводника), Remove Loose Ends (удалить потерянные концы), Clean Up Wire (упорядочить проводник), Change to Control (заменить на элемент управления), Change to Indicator (заменить на индикатор), Enable Indexing at Source (разрешить индексацию источника) и Disable Indexing at Source (запретить индексацию источника). Эти опции изменяются в зависимости от причины повреждения проводника.

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

Edit»Remove Broken Wires или нажимая клавиши <Ctrl-B>.

Предупреждение. Будьте осторожны, удаляя все поврежденные проводники. Иногда проводники выглядят поврежденными из-за того, что Вы еще не завершили соединения на блок-диаграмме.

Точки принудительного преобразования

Точки принудительного преобразования (coercion dots) появляются на блок-диаграмме, чтобы предупредить Вас о том, что Вы соединяете вместе два различных числовых типа данных. Точка означает, что LabVIEW конвертирует величину, поступающую в данный узел, к другому представлению (representation). Например, функция Add (сложение) ожидает на обоих своих входах величины удвоенной точности с плавающей точкой. Вы можете изменить один из входов к целому типу, и тогда на функции Add появится точка принудительного преобразования типа, как это показано на Figure 5-2.

98

Figure 5-2. Точка принудительного преобразования (Coercion Dot)

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

Точки принудительного преобразования появляются также на терминалах, когда Вы подключаете любой тип данных к терминалу вариантного (variant) типа, за исключением случая, когда соединяются два терминала вариантного типа. Более подробно о вариант-

ном типе данных см. разделе Обработка вариантных данных в

данной Главе.

Точки принудительного преобразования вынуждают ВП использовать больше памяти и снижают быстродействие. Старайтесь быть последовательными при выборе типов данных в ваших ВП.

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

Полиморфные ВП и функции могут подстраиваться к входным данным различного типа. Большинство структур LabVIEW являются полиморфными, таковыми являются некоторые ВП и функции.

Полиморфные ВП

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

99

Например, ВП Read Key (прочесть клавишу) является полиморфным. Его терминал default value может принимать данные следующих типов: булевы, числовые двойной точности с плавающей точкой, числовые 32-битовые знаковые целые, путевые, строковые и числовые 32-битовые беззнаковые целые.

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

Чтобы выбрать конкретного представителя вручную, щелкните правой кнопкой полиморфный ВП, выберите Select Type из контекстного меню и затем выберите конкретного представителя для использования. Вы также можете использовать инструмент Operating, чтобы щелкнуть селектор полиморфного ВП, показанный слева, и выбрать представителя из выпадающего меню. Щелкните правой кнопкой полиморфный ВП на блок-диаграмме и выберите Visible Items»Polymorphic VI Selector из контекстного меню, чтобы отобразить такой селектор. Для изменения полиморфного ВП так, чтобы он вновь мог принимать все поддерживаемые типы данных, щелкните такой полиморфный ВП правой кнопкой и выберите Select Type»Automatic из контекстного меню или воспользуйтесь инструментом Operating, чтобы щелкнуть селектор этого полиморфного ВП и выбрать Automatic из выпадающего меню.

Построение полиморфных ВП

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

"Примечание. Вы можете создавать и редактировать полиморфные ВП только в LabVIEW Professional Development System.

100