LabVIEW портал

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Основы

Об автоматической обработке ошибок

В LabVIEW есть пара опций, которые обычно отключают (хотя они включены по умолчанию):

Суть автоматической обработки ошибок заключается в том, что при возникновении ошибки на выходе VI исполнение программы может быть остановлено (за диалог отвечает как раз вторая опция):

В вышеприведённом примере мы создаём новую папку, но такая папка уже существует, что и вызывает ошибку 10 (если у вас нет папки Windows на диске с:\ просто запустите этот пример дважды). Поскольку выход примитива CreateFolder не подсоединён, то возникающая ошибка вызывает прерывание выполнения программы.

В следующем примере это дилоговое окно не появится:

В ряде случаев подобные сообщения мешают. Например в вышеприведённом примере теоретически надо проверять код возврата для того, чтобы выяснить причину ошибки — либо папка уже существует, либо её создание невозможно по каким-либо причинам (например, недопустимая буква диска, либо нет прав на создание, либо недопустимые символы в имени и т.п.). При "первых набросках" или прототипировании программы проще отключить мешающие сообщения и не проверять ошибки типа описанной выше (большинство программистов — оптимисты и считают, что после вызова CreateFolder требуемая папка непременно будет создана если её ещё не существует).

Однако на заключительном этапе имеет смысл включить эту опцию и вычистить участки кода,  вызывающие "оборванные" ошибки (ну или как минимум обратить внимание на такие места).

Важно также не лениться (вы, конечно, можете просто соединить выход с блишайшей границей цикла или последовательности). Если вы не готовы принять решение о логике обработки какой-то конкретной ошибки немедленно, то лучше сделать SubVI со входом ошибки и подосединить его к выходу ошибки в "проблемном" месте. Внутри этого SubVI вы можете организовать запись в лог-файл или в лог отладки (более детально мы это рассмотрим в другом параграфе). Таким образом вы всегда сможете найти места в программе, где проблема пока не устранена (кстати, это будет работать и в исполняемом приложении).

Первоисточник:

http://labview-rus.blogspot.com/2010/01/2.html

 

Среда разработки LabVIEW

В этом уроке я представлю вам среду разработки LabVIEW.

После старта программы на экране появится стартовое окно загрузки (Splash Screen) среды разработки. Здесь думаю пояснения не требуются.

SredaRazrabotki1

 

Dataflow + G = LabVIEW

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

Dataflow + G = LabVIEW

цикл for в labview

Некоторое время назад я сменил специализацию. Это был не просто переход к другому языку программирования или сосредоточение на иной области задач, но и весьма ощутимое изменение парадигмы, которой я придерживался. Год назад я окунулся в мир dataflow и визуального программирования. Наиболее ярким и мощным представителем этой ветви средств разработки является LabVIEW (National Instruments).

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

* * *

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

Туннели и шифт-регистры.

цикл for в labview

Итак, слева от цикла мы видим скалярную переменную со значением, раным нулю. Пятерка присоединенная к N говорит циклу о пяти итерациях, т.е. i = 0..4.

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

 

Видеоурок: Циклы While и For

В этом видеоуроке вы узнаете что такое циклы While и For, их особенности и применение.

P_Television

 

Видеоурок: Прибор и подприбор

В этом видеоуроке вы ознакомитесь с такими понятиями как прибор (VI) и подприбор (SubVI). Так же увидите как нужно устанавливать входные и выходные параметры подприбора и вызывать его из главного.