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

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

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

Развертывание .NET приложений

После того, как Вы создадите ВП, содержащий .NET компоненты, на его основе можно построить либо исполняемый модуль, либо библиотеки LLB или DLL.

Развертывание исполняемого модуля

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

Развертывание виртуальных приборов

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

Развертывание библиотек DLL

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

Конфигурирование приложения .NET клиента

.NET позволяет администрировать приложения с помощью конфигурационных файлов. Конфигурационный файл содержит XML текст и обычно имеет расширение .config. Чтобы настроить приложение .NET клиента в LabVIEW, можно создать конфигурационный файл для ВП верхнего уровня или для стандартного приложения. Дайте этому файлу имя, совпадающее с именем приложения, и добавьте расширение .config. Например,

My App.vi.config или My App.exe.config.

331

Объекты, свойства, методы и события ActiveX

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

Более подробно об объектах, свойствах и методах в системе программирования LabVIEW см. в разделе Манипуляция установками приложения и ВП а Главе 17 Программное управление ВП.

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

Более подробно об использовании узла Register Event Callback для обработки событий ActiveX см. в разделе События ActiveX в настоящей Главе.

Виртуальные приборы, функции, элементы управления и индикаторы, работающие с ActiveX

Используйте следующие ВП, функции, элементы управления и индикаторы для доступа к объектам, свойствам, методам и событиям, ассоциированным с другими приложениями, имеющими доступ к

ActiveX:

Используйте элемент управления Automation Refnum, чтобы создать ссылку на об объект ActiveX. Щелкните правой кнопкой этот элемент управления на лицевой панели, чтобы выбрать из списка библиотеку типов и объект, к которому Вы хотите получить доступ.

Используйте функцию Automation Open, чтобы открыть объект

ActiveX.

332

Используйте ActiveX контейнер для доступа и отображения объекта ActiveX на лицевой панели. Щелкните правой кнопкой этот контейнер, выберите из контекстного меню пункт Insert ActiveX Object и затем выберите нужный вам объект.

Используйте узел свойств для получения (чтения) или установки (записи) свойств, связанных с объектом ActiveX.

Используйте узел вызовов для вызова методов, связанных с объ-

ектом ActiveX.

Используйте узел Register Event Callback для обработки событий, которые происходят в объекте ActiveX.

Используйте элемент управления или индикатор Variant для передачи данных в элементы управления ActiveX и из них. Более подробно об использовании вариантных данных см. в разделе

Обработка вариантных данных в Главе 5 Построение блокдиаграммы.

LabVIEW в качестве клиента ActiveX

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

Откройте приложение, такое как Microsoft Excel, создайте документ и добавьте данные в этот документ.

Внедрите в контейнер на лицевой панели документ, такой как до-

кумент Microsoft Word или электронная таблица Microsoft Excel.

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

Свяжите элемент управления ActiveX, созданный вами, с другим приложением.

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

333

кнопка или документ. Оба объекта появятся на блок-диаграмме как элементы управления Automation Refnum.

Доступ к ActiveX приложениям

Чтобы получить доступ к ActiveX приложениям, используйте элемент управления Automation Refnum на блок-диаграмме для получения ссылки на приложение. Подсоедините этот элемент управления к входу функции Automation Open, которая откроет вызываемое приложение. Используйте узел свойств для выбора нужных свойств, связанных с объектом. Используйте узел вызовов для вызова нужных методов, связанных с объектом. Затем закройте ссылку на объект с помощью функции Close Reference. Закрытие ссылки удаляет объект из памяти.

К примеру, Вы можете построить ВП, который открывает Microsoft Excel, в результате чего его окно появляется на пользовательском экране. Затем создает рабочую книгу, создает электронную таблицу, создает таблицу в LabVIEW и записывает эту таблицу в электронную таблицу Excel.

Примером использования LabVIEW в качестве клиента Excel является ВП Write Table To XL из библиотеки examples\comm\ExcelExamples.llb.

"Примечание. Приложения, которые включают настраиваемые ActiveX

интерфейсы, появляются с иконкой . Щелкните эту иконку, чтобы выбрать объект такого интерфейса. Более подробно о настраиваемых интерфейсах см. в разделе Поддержка настраиваемых автоматических интерфейсов ActiveX в настоящей Главе.

Вставка объекта ActiveX на лицевую панель

Чтобы вставить объект ActiveX на лицевую панель, щелкните правой кнопкой элемент управления ActiveX Container, выберите из контекстного меню пункт Insert ActiveX Object и затем выберите нужный ActiveX элемент управления или документ, который Вы хотите вставить. Вы можете установить свойства для ActiveX объекта либо интерактивно с помощью броузера свойств ActiveX (ActiveX Property Browser) или вкладок свойств, либо программно с помощью узла свойств. Более подробно об установке свойств

334

ActiveX объекта см. в разделе Установка свойств ActiveX в настоящей Главе.

Используйте узел вызовов (Invoke Node) для вызова методов, ассоциированных с объектом.

Например, Вы можете отобразить Web страницу на лицевой панели с помощью элемента управления ActiveX Container, чтобы получить доступ к управлению Web броузером (например, Microsoft Web Browser). Для этого нужно выбрать класс методов Navigate, затем выбрать метод URL и указать нужный URL.

Если Вы используете элемент управления ActiveX Container, то нет необходимости подсоединять на блок-диаграмме элемент управле-

ния Automation Refnum к функции Automation Open или закрывать ссылку на объект с помощью функции Close Reference. Вы можете подсоединяться непосредственно к узлу вызовов или к узлу свойств, поскольку ActiveX Container внедряет вызываемое приложение в LabVIEW. Однако, если ActiveX Container включает свойства или методы, которые возвращают ссылки на другие объекты ActiveX, то эти дополнительные ссылки Вы должны закрывать сами.

Режим конструирования (design mode) для ActiveX объектов

Щелкните правой кнопкой элемент управления ActiveX Container и выберите из контекстного меню пункт Advanced»Design Mode, чтобы отображать этот элемент управления в режиме конструирования во время редактирования ВП. В режиме конструирования события (events) не генерируются и соответствующие процедуры для их обработки не вызываются. Исходным режимом по умолчанию является режим запуска (run mode), при котором Вы можете взаимодействовать с объектом так же, как потом это будет делать пользователь.

Установка свойств ActiveX

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

335

Броузер свойств ActiveX

Используйте броузер свойств ActiveX (ActiveX Property Browser)

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

Tools»Advanced»ActiveX Property Browser. Броузер свойств

ActiveX дает легкий способ интерактивной установки свойств объекта ActiveX, но его нельзя использовать для программной установки свойств и можно использовать только с объектами ActiveX, находящимися в контейнере на лицевой панели. Броузер свойств ActiveX не доступен в режиме запуска (run mode) и при запущенном ВП.

Страницы свойств ActiveX

Многие ActiveX объекты обладают страницами свойств (property pages), которые группируют свойства, связанные с объектом на отдельных вкладках. Для активизации страниц свойств ActiveX, щелкните правой кнопкой контейнер на лицевой панели и выберите из контекстного меню имя объекта.

Также как и броузер свойств ActiveX, страницы свойств ActiveX дают легкий способ интерактивной установки свойств ActiveX, но их нельзя использовать для программной установки свойств и они имеются только у ActiveX объектов, помещенных в контейнер. Кроме того, страницы свойств ActiveX имеются не у всех ActiveX объектов. Страницы свойств также не доступны в режиме запуска (run mode) и при запущенном ВП.

Узлы свойств

Используйте узел свойств (Property Node) для программной установки свойств ActiveX объектов. Например, если Вы используете ActiveX объект для выдачи пользователю сообщения о том, что температура вышла за заданный предел, то используйте узел свойств, чтобы установить свойство объекта Value для указания этого предела.

Ниже приведен пример, в котором при превышении температуры порога 85 градусов по Фаренгейту изменяется свойство Value для

336

ActiveX элемента управления CWButton, который входит в состав библиотеки пользовательского интерфейса ActiveX системы про-

граммирования National Instruments Measurement Studio.

В этом примере элемент управления CWButton действует как лампочка, изменяющая свой цвет и отображающая предупреждение Warning, когда температура превысит порог. Это предупреждение появляется в качестве текста включенного состояния (свойство OnText) элемента управления CWButton.

"Примечание. В этом примере для установки свойств OffText, OffColor, OnText и OnColor Вы могли бы использовать броузер свойств ActiveX или страницы свойств ActiveX, поскольку нет необходимости устанавливать эти свойства программно. Более подробно об использовании броузера свойств ActiveX и страниц свойств ActiveX см. в разделах на-

стоящей Главы Броузер свойств ActiveX и Страницы свойств ActiveX,

соответственно.

LabVIEW в качестве сервера ActiveX

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

337

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

Примером использования свойств и методов LabVIEW в электронной таблице Excel является файл examples\comm\freqresp.xls.

Поддержка настраиваемых автоматических интерфейсов ActiveX

Если Вы пишите клиент ActiveX, который запрашивает свойства и методы из сервера ActiveX с помощью LabVIEW, то Вы можете получить доступ к настраиваемым интерфейсам, которыми располагает сервер. Чтобы сделать это вам нет необходимости использовать IDispatch. Однако разработчик сервера ActiveX должен сделать так, чтобы параметры свойств и методов в этих настраиваемых интерфейсах имели типы данных Automation (IDispatch). Разработчик сервера должен это сделать для того, чтобы сделать доступными несколько интерфейсов для одного объекта, а не для нескольких объектов. Вы сможете использовать эти интерфейсы в среде LabVIEW. Более подробно относительно настраиваемых интерфейсов см. в документации на среду программирования, в которой разработан сервер.

Использование констант для установки параметров в виртуальных приборах с возможностями ActiveX

Некоторые параметры узлов ActiveX требуется выбирать из списка правильных значений. Устанавливайте значения таких параметров путем выбора их описательных имен из кольцевых констант (ring constant). Чтобы установить кольцевую константу при построении ВП, щелкните правой кнопкой параметр узла, который принимает значения данных, и выберите из контекстного меню пункт Create Constant. Значения, доступные в кольцевой константе, будут зависеть от ссылочного номера, поступающего на данный узел. На Figure 19-1 и Figure 19-2 показаны примеры использования кольцевой и числовой констант для установки значения параметра.

338

Figure 19-1. Установка значения с помощью кольцевой константы

Figure 19-2. Установка значения с помощью числовой константы

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

ню пункт Visible Items»Digital Display.

Виртуальные приборы на Figure 19-1 и на Figure 19-2 оба обращаются к приложению Microsoft Excel и выполняют метод. Параметр Index метода ActivateMicrosoftApp имеет следующие опции: MicrosoftWord, MicrosoftPowerPoint, MicrosoftMail, MicrosoftAccess, MicrosoftFoxPro и MicrosoftSchedulePlus.

Чтобы указать, какое числовое значение параметра Index соответствует опции MicrosoftAccess на Figure 19-1, выберите опцию MicrosoftAccess из спадающего меню кольцевой константы. Числовое значение, соответствующее выбранной опции, появится в окошке рядом с кольцевой константой. Вместо использования кольцевой константы Вы можете ввести числовое значение опции прямо в числовую константу, как это показано на Figure 19-2.

События ActiveX

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

339

пит. Регистрация события ActiveX подобна динамической регистрации событий, которая объяснялась в разделе Динамическая реги-

страция событий в Главе 9 Событийно управляемое программиро-

вание. Однако, архитектура ВП с событиями ActiveX отличается от архитектуры ВП с обработкой событий, которая описана в Главе 9

Событийно управляемое программирование. Следующие компо-

ненты образуют типичный ВП с событиями ActiveX:

ActiveX объект, для которого Вы хотите сгенерировать событие.

Узел Register Event Callback (обработчик зарегистрированного события) для описания и регистрации типа события, которое Вы хотите сгенерировать.

ВП-обработчик (callback VI), который содержит код, созданный вами и предназначенный для обработки описанного вами события.

Вы можете генерировать и обрабатывать события объектов ActiveX в контейнере или события объектов ActiveX, которые указаны с помощью ссылки Automation Refnum. Например, Вы можете вызвать элемент управления Windows tree (дерево директорий) через контейнер ActiveX и указать, что Вы хотите сгенерировать событие Double Click для пунктов, отображенных в этом элементе управления.

Узел Register Event Callback является растягиваемым узлом; он позволяет обрабатывать несколько событий, подобно узлу Register For Events.

Когда Вы присоединяете ссылку на объект ActiveX к узлу Register Event Callback и указываете событие, которое Вы хотите сгенерировать для этого объекта, происходит регистрация этого события для указанного объекта ActiveX. После такой регистрации, Вы создаете ВП-обработчик (callback VI), который содержит код, предназначенный для обработки этого события.

Обработка событий ActiveX

Вы должны создать ВП-обработчик (callback VI), который обрабатывает события от элементов управления ActiveX, когда этот элемент управления вырабатывает зарегистрированные события. ВПобработчик запускается при возникновении таких событий. Чтобы создать ВП-обработчик, щелкните правой кнопкой вход VI Ref уз-

340