Методические рекомендации для первого знакомства со средой программирования Labview 5 и для освоения элементарных навыков работы в ней
Скачать 1.09 Mb.
|
И.В.Федосов Основы программирования в LabVIEW Саратов 2010 1 ГОУ ВПО «Саратовский государственный университет имени Н.Г. Чернышевского» Кафедра оптики и биофотоники СГУ И.В.Федосов Основы программирования в LabVIEW Учебное пособие Саратов 2010 2 Предисловие Данное учебное пособие ориентировано на студентов, начинающих свое знакомство с пакетом программ National Instruments LabVIEW. Оно содержит указания и методические рекомендации для первого знакомства со средой программирования LabVIEW 8.5 и для освоения элементарных навыков работы в ней. Пособие состоит из четырех частей, и приложения. В первой части излагаются основные приемы работы в среде программирования LabVIEW на примере простой программы с графическим интерфейсом пользователя. В этой части рассмотрены элементарные понятия и особенности среды программирования. Вторая часть посвящена приемам работы с файлами. Третья часть посвящена программированию пользовательского интерфейса. В ней рассмотрены особенности элементов управления передней панели, а также работа со строками символов. Четвертая часть посвящена работе с массивами. Объем данного пособия соответствует вводной части курса программирования и цифровой обработки изображений в среде LabVIEW разработанного автором в 2010 году и изучаемого студентам кафедры оптики и биофотоники СГУ в рамках практических занятий по дисциплинам «Фотография и цифровая обработка изображений», «Современные оптические системы» и «Оптические приборы в биомедицинских исследованиях». Изучение вводной части курса завершается выполнением студентами заданий для самостоятельной работы, примеры которых приведены в приложении. 3 1. Блок схема. Элементы управления и индикаторы Программа в среде LabVIEW называется Virtual Instrument (VI) – виртуальный прибор (ВП), чтобы подчеркнуть, что она предназначена для управления лабораторным оборудованием и приборами и способна выполнять некоторые их функции. Запустим программу LabVIEW 8.5, при этом откроется стартовое окно (рис.1.1.). В левой части диалогового окна (Files) выберем пункт BlankVI (пустой виртуальный прибор (ВП)). При этом откроются два окна – Untitled Front Panel (рис.1.2) и Untitled Block Diagram (рис.1.3). Слово Untitled – "не имеющий наименования" указывает на то, что мы еще не назвали наш виртуальный прибор и не сохранили его на диск компьютера. Если окно Block Diagram скрыто, то его можно вызвать через меню Window Show Block Diagram или нажав клавиши Сохраним новый ВП. Для первого сохранения ВП в меню File любого из этих окон выберем пункт Save. В открывшемся диалоговом окне выберем или создадим новую папку для наших ВП, введем имя файла – Example01 и подтвердим сохранение, нажав OK. Файл сохранится с расширением .viот Virtual Instrument – Виртуальный прибор. Чтобы не потерять сделанную работу, время от времени следует сохранять ВП в процессе его редактирования. Для этого можно использовать меню File Save, или сочетание клавиш Рис. 1.1. Стартовое окно LabVIEW 8.5 4 Рис.1.2. Окно Front Panel (передняя панель) Рис.1.3. Окно Block Diagram (блок- схема) Передняя панель (Front panel) виртуального прибора служит для размещения на ней элементов управления и индикаторов – то есть элементов, при помощи которых этот виртуальный прибор будет взаимодействовать с человеком (или с другим виртуальным прибором, как мы увидим немного позже). Для начала создадим виртуальный прибор, который может складывать два числа. Поместим на переднюю панель простейший элемент управления (Control). Переместим указатель мыши на рабочую (клетчатую) поверхность передней панели и нажмем правую кнопку мыши. Рис.1.4. Меню Controls и раздел Modern Рис.1.5.Меню Numeric. Элемент управления Numeric Control выделен рамкой 5 Рис.1.6. Элементы управления и индикатор на передней панели Рис.1.7. Терминалы элементов управления и индикатора на блок схеме В появившемся меню элементов управления Controlsиз раздела Modern (современные) выберем пункт Numeric (числовые, цифровые) (рис.1.4). В раскрывшемся меню Numeric выберем Numeric control(числовой элемент управления) (рис.1.5). Указатель мыши примет вид руки, держащей пунктирные прямоугольники – контур элемента управления. Переместим указатель на переднюю панель, и установим элемент, нажав один раз на левую кнопку мыши. Два раза щелкнем левой кнопкой мыши на надпись Numeric над элементом управления и введем текст: Число А. Добавим на переднюю панель еще один элемент управления и назовем его Число Б; Аналогичным образом добавим на переднюю панель индикатор (Controls Modern Numeric Numeric Indicator). Назовем его Сумма. Теперь передняя панель выглядит так, как показано на рис.1.6 – на ней расположены два элемента управления, используя которые можно ввести в компьютер два числа, и индикатор, который будет отображать результат операции с этими числами. А на блок схеме появились соответствующие им терминалы(рис.1.7), при помощи которых введенные числа Число A и Число B передаются в программу, а результат выполнения программы выводится на индикатор Cумма. Обратите внимание, что терминалы элементов управления находятся слева, а индикатора – справа. Они расположены так, потому что общепринятое направление передачи данных и сигналов на блок схемах – слева направо, и сверху вниз. Этого правила следует обязательно придерживаться при оформлении программ в среде 6 LabView! Выходы терминалов элементов управления (маленькие треугольники) расположены справа на иконках этих терминалов, а вход индикатора – слева (рис.1.7). В среде LabView все процедуры и функции представлены виде иконок. Поместим на нашу блок-схему иконку операции сложения. Нажмем правуюкнопку мыши на белом поле окна блок схемы. В появившемся меню Functions (функции), выберем раздел Programming (программирование) Numeric Add (сложить). Поместите на блок схему иконку оператора сложения Подведите курсор к иконке. По краям иконки появятся точки с отрезками линий – контакты,при помощи которых элементы блок- схемы соединяются между собой. Подведите курсор к контакту x+y оператора сложения. При этом он примет вид катушки с проводом (Wiring tool – инструмент для соединения проводами), а внизу появится подсказка – назначение данного контакта. Щелкните левой кнопкой мыши и подведите Wiring toolк терминалу Сумма. За курсором потянется пунктирная линия – набросок будущего провода. Его направление можно задавать, нажимая на левую кнопку мыши. Нажатие на правую кнопку отменяет рисование провода. Подведите курсор к контакту терминала Сумма и, нажав левую кнопку мыши, соедините их между собой. Аналогично соедините терминал Число А и вход xоператора сложения, а затем терминал Число Б и контакт y. Выделяя провода и терминалы при помощи мыши и перемещая их при помощи клавиш <←>, <→>, <↑>и <↓>, придайте блок-схеме вид, показанный на рис.1.8. Рис.1.8. Элементы управления и индикатор на передней панели 7 Аккуратный вид блок схемы важен не только с эстетической точки зрения. Блок схема должна легко читаться, иначе через несколько минут вы уже не сможете разобраться, каким образом соединены между собой операторы и как работает данная программа. Поэтому не жалейте времени на то, чтобы сделать блок схему аккуратной и понятной. Соединяя контакты проводами, следует руководствоваться следующими правилами: 1. Передача данных в блок-схеме осуществляется слева направо. 2. Проводники ВСЮДУ на виду – их нельзя перекрывать иконками или другими проводниками. 3. В одной точке могут соединяться НЕ БОЛЕЕ ТРЕХ проводников (рис.1.9). 4. Блок схема должна полностью помещаться на экране монитора. Рис.1.9. Третье правило исключает опасность перепутать соединение и пересечение проводников в случае, если вы не заметите точку. После того, как редактирование завершено, необходимо сохранить программу, используя меню File Save, или сочетание клавиш Теперь программа полностью готова, и ее можно запустить. Для этого нажмем кнопку циклического выполнения программы (Run Continuously) Убедимся в ее работоспособности, изменяя при помощи мыши и клавиатуры значения в полях ввода элементов управления и наблюдая как изменяется значение индикатора. Чтобы остановить выполнение программы, нажмем кнопку прервать выполнение (Abort Execution) 8 При запуске наша программа однократно опрашивает состояние элементов управления, передает их значения операции сложения, а затем результат сложения индикатору и завершается. Для того чтобы она непрерывно отслеживала изменения состояния элементов управления, мы использовали возможности среды программирования – режим Run Continuously, в котором программа запускается снова и снова сразу же после ее завершения. Теперь сделаем так, чтобы программа самостоятельно периодически опрашивала элементы управления, складывала полученные числа и отображала результат сложения на индикаторе. Для этого поместим нашу программу в цикл While Loop (while – пока, в то время как; loop – петля). Щелкнем правой кнопкой мыши блок-схеме и выберем в меню Functions Programming Structures While Loop Курсор мыши примет вид маленького пунктирного прямоугольника с черным левым верхним уголком Поместим курсор левее и выше группы терминалов и процедур, которую мы хотим заключить в цикл, нажав и удерживая левую кнопку, обведем группу пунктирным прямоугольником. После того, как мы отпустим левую кнопку мыши, программа будет выглядеть так, как показано на рис.1.10. Если действие не получилось с первого раза, можно его отменить, нажав клавиши После того, как мы поместили цикл While Loop на блок- схему, кнопка циклического выполнения заблокировалась, а на кнопке запуска программы появилось изображение сломанной стрелочки. Рис.1.10. Цикл While Loop 9 Это произошло потому, что среда программирования LabView проверяет программу непосредственно в процессе ее составления. Она обнаружила ошибку и запретила запуск программы. Выясним причину ошибки. Нажмем на кнопку со сломанной стрелкой List Errors (составить список ошибок), откроется окно списка ошибок (рис.1.11) Окно списка ошибок состоит из трех частей: Items with errors (объекты с ошибками), в этом окне указан наш виртуальный прибор Example01.vi; 1 errors and warnings (1 ошибка(и) и(или) предупреждение(ия)), это перечень ошибок в котором указан тип ошибки – Block Diagram Errors (ошибки в блок схеме), и ее причина – While Loop: conditional terminal is not wired (Цикл While: не подключен провод к терминалу условия); Details (подробности) – объяснение ошибки, выделенной в списке. В нашем случае The conditional terminal is not wired to anything and must be wired to a boolean data source such as a button or the result of a comparison. (Терминал условия ни с чем не соединен и должен быть соединен к источнику данных логического (Булева) типа, такому как кнопка или результат сравнения). Рис. 1.11. Окно списка ошибок 10 Чтобы выяснить, в каком именно месте блок-схемы обнаружена ошибка, нажмем кнопку Show Error (Показать ошибку). При этом окно блок- схемы станет активным, а цикл While Loopбудет кратковременно выделен черным цветом. Для того чтобы получить информацию о неизвестном элементе блок-схемы, можно воспользоваться окном контекстной помощи, которое открывается при нажатии клавиш |