Labview les7 (1031616)
Текст из файла
в ПОМОЩЬ инженеруУроки по LabVIEWОсновные элементы графического программированияосвоены Вами в полном объеме. Уроки базового курса как быпозади, но тема не исчерпана. LabVIEW вообще неисчерпаем,поскольку это не просто программный продукт, LabVIEW этопрофессия. Поэтому материалы последующих выпусков весьмаусловно можно считать уроками, скорее это очередные темы дляосвоения, которые будут полезны для решения круга задач, нерассматривавшихся ранее.На этом уроке Вы научитесь создавать и использовать файлыконфигурации, подпрограммы для записи и чтения данных в/изфайла конфигурации, а также обрабатывать события, связанные,например, с перемещением манипулятора.аботая с платами расширения, очень часто приходится выдумывать свой собственный формат данныхдля записи или чтения параметров конфигурации.Причем фрагменты программ или подпрограммы получаются достаточно громоздкими и нечитаемыми.
Приходится делать анализ файла, создавать обработчик строковыхи числовых выражений и т.д. Чтобы избежать всей этойкропотливой работы по созданию и отладке таких подпрограмм, в LabVIEW реализован очень удобныймеханизм для работы с файлами конфигурации. Наборвиртуальных инструментов (подпрограмм) находитсяв функциональной панели: Functions >> File I/O >> Configuration File Vis.Давайте создадим библиотеку, вкоторую поместим две подпрограммыпо работе с файлами конфигурации.Первая подпрограмма будет формировать такой файл и обеспечивать запись в него необходимой информации, а вторая будет использоватьсядля чтения параметров из него.№7РПредставим себе, что мы работаем с платой многоканального АЦП и хотим создать файл отчета, которыйбудет содержать интересующие нас параметры: количество каналов аналогового ввода, номера каналов, частотудискретизации, количество регистрируемых отсчетов илиинтервал времени наблюдения, рабочие диапазоны иликоэффициенты усиления, и просто текстовые замечания, аможет быть чтото еще.Создайте новый VI c именем SaveConfigFile и установите элементы управления и индикации на интерфейснуюпанель как это показано ниже.
Как это сделать, объяснятьВам не нужно. Ведь базовый курс уроков по LabVIEW позади. Работы всего максимум на три минуты.542/2005А теперь сделаем функциональную "начинку" программы. Для записи данных в файл любого формата, какВы уже знаете, необходимо сначала открыть доступ к файлу, затем записать данные и наконец, "закрыть" работу сфайлом. Файлы конфигурации не являются исключением.Следует обратить внимание на то, что массив чисел в рассматриваемом примере сначала преобразовывается встроку, а уж потом только записывается. Чтобы не создавать дополнительных строковых констант или элементовуправления, для заголовков следует использовать свойство Label Text.
Причем сделать это нужно для каждогоэлемента, параметр которого Вы хотите сохранить в файле конфигурации. Для записи параметра используйтефункцию Write Key.vi. Выполните терминальные соединения как это показано ниже на диаграмме и можно считать, что работа сделана. Почти! Это ведь подпрограмма иВы ее будете использовать в своих приложениях. Не забудте нарисовать иконку.Несмотря на кажущуюся на первый взгляд сложность графической диаграммы, выглядит она абсолютночитаемой и простой для понимания и создания аналогичного алгоритма, но уже для Ваших задач. Можно сказать,что алгоритм получается "линейным", т.е.
не содержащимникаких циклов и условных переходов.Следует отметить, что данные сохраняются в общепринятом текстовом формате. Введите необходимые значения и пути и запустите программу на выполнение.В результате работы Вашей программы будет созданв ПОМОЩЬ инженерутекстовый файл, который можно просмотреть с помощьюлюбого текстового редактора:Следующий шаг создание библиотеки, куда и следует поместить подпрограммы для работы с файламиконфигурации:По аналогии с предыдущей подпрограммой, напишите программу для чтения файла конфигурации. Толькопри этом вместо функции записи Write Key.vi используйте функцию чтения Read Key.vi.
В результате у Вас должно получиться чтото похожее на представленные нижеинтерфейсную панель и графическую диаграмму. И у этойпрограммы "исходный текст" получился простым.Действительно, механизм взаимодействия с файламиконфигурации в LabVIEW реализован очень удобно. Онпозволяет избежать многих проблем и сократить срокинаписания программ. Не забывайте об этом.Вводим путь, где находится файл конфигурации изапускаем программу на выполнение. Задача решена:552/2005в ПОМОЩЬ инженеруПереходим ко второй части урока.
Такие действия,как нажатие пользователем клавиш клавиатуры,“кликанье” кнопкой мышки или ее перемещение генерируют события. Эти события передаются компоненту, в котором произошло событие. При каждом воздействии на аппаратуру генерируется свое событие. События могут бытьочень детализированными. Например, событие для клавиатуры генерируется при нажатии и отпускании клавиши.Событие для клавиатуры генерируется также, когда на клавиатуре происходит автоматический повтор. Но давайте не562/2005будем усложнять картину, а лучше продемонстрируем обработку событий на примере манипулятора "мышь".Находясь в определенной области экрана, указатель мышки занимает конкретную позицию, а значитимеет вертикальную и горизонтальную координату. Раз так, то установимна интерфейсную панель четыре однотипных компоненты:Controls >> Graph >>Ctls >> Picture.ctl.Это наиболее подходящий элементинтерфейса для отслеживания двухкоординатного манипулятора.
Врезультатеполучаем четыре пустыхбелых квадрата.Дляпервого изних (верхнийлевый) создадим свойство Mouse, а из него с помощьюфункции для работы с кластерами Unbundle By Name,выделим горизонтальную и вертикальнуюкоординаты положения мышки для текущего элемента.
Установим два элементаиндикации для полученных координат.Запускайте программу на выполнениев циклическом режиме. Что Вы видите, манипулируя "мышью"?Если указатель манипулятора находитсявнутри объекта, то его координаты не нулевые, а принимают значения от нуля домаксимума, взависимости отразмеров объекта. Попробуйтеизменить размеробъекта Еслиже указательнаходится внеобласти объекта, то возвращается значение равное 1.Теперь сделаем интересный и хитрый ход. Хотя первый хитрый ход уже сделан. Те из Вас, кто не просто читает эти заметки, а сидит у компьютера, должен был обратить внимание на то, что приведенная диаграмма повнешнему виду несколько отличается от того, что Вы видите на экране своего монитора.
Почему?в ПОМОЩЬ инженеруВесь мир уже год, как перешел нановую версию LabVIEW. И Вам пора. Соследующего урока работаем в LabVIEW 7.1!Но продолжим. Сделайте элемент иего рамку невидимыми. Для этого нужновыбрать "невидимый" цвет закраски. Запускайте программу на выполнение и поводите указателем манипулятора внутриневидимой области. Координаты всетакивозвращаются несмотря на то, что областьпрозрачная. Ну и что? А то, что поместив такой невидимый объект, например, поверх картинки, Вы сможете отслеживать положение указателя "мыши" как бы для рисунка, а не для заданной области.Давайте создадим новое приложение, в которомбудет только один элемент Picture. В первую очередь,поместите рисунок на интерфейсную панель. Сделайте егофоновым.
Для этого в выпадающем меню выберитепоочередно Move Backward и Move To Back:Draw Grayed Out Rect.vi, которая находится в Functions >> Graphics & Sound >> Picturefunctions >> Draw Grayed Out Rect.vi.В рассматриваемом примере используетсярисунок с интерьером, но это может бытьне обязательно комната, а например мнемосхема технологического процесса.
И подводя указатель манипулятора к необходимому объекту, можно реализовать более сложную структуру,например, вызов подпрограммы и т.п.Какую диаграмму в результате Вы должны получить:А в работе программа будет выглядеть так:Далее проделайте операции, которые Вы выполнялив предыдущем примере. Установите элемент Picture.ctl наинтерфейсную панель, измените размер до размера картинки и сделайте его невидимым.Теперь Вам предстоит "написать" фрагмент программы, который будет называть предмет интерьера комнаты,когда указатель "мышки" находится на нем, и, кроме того,при нажатии левой клавиши "мышки" фрагмент интерьера будет выделяться полупрозрачным фоном. Для этогопросто необходимо проанализировать текущие координаты положения указателя манипулятора.
Константы, которые используются для сравнения, подбираются экспериментальным путем. Для этих целей как раз и следует использовать индикаторы положения указателя. Это необходимо во время отладки программы. Но после ее завершения можно их и удалить.Составьте диаграмму как показано ниже. Следуетобратить внимание на то, что в программе используютсядве структуры выбора. Причем в обоих случаях при значениях False области будут пустыми.Обработка события реализована только для одногоэлемента интерьера камина.
Вы можете проделать самостоятельно действия для выделения остальных элементов, например, двери, кресла или окна. Структура будетабсолютно аналогичной, только координаты будут разными. Особое внимание следует обратить на то, что для"подсветки" выбранного объекта используется функцияЗдорово, не правда ли? Наверное многим из Вас ужехочется, чтобы компьютер голосом называл предметы. Вычувствуете, что с LabVIEW это можно сделать очень просто? Действительно можно и действительно просто. Но “неследует бежать впереди паровоза”.
:) Лучше подготовьтесь к работе в новой версии LabVIEW.572/2005.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.