LabVIEW
Тази статия се нуждае от подобрение. Необходимо е: форматиране. Ако желаете да помогнете на Уикипедия, използвайте опцията редактиране в горното меню над статията, за да нанесете нужните корекции. |
LabVIEW (съкратено от Laboratory Virtual Instrumentation Engineering Workbench) е графичната програмна среда на National Instruments. В дистрибуцията на LabVIEW се съдържа пълноценна развойна среда с много библиотеки и инструменти. Графичният програмен език се нарича G. Първата версия е пусната през 1986 г. за компютри от типа Apple Macintosh. Текущата версия е 2012. LabVIEW се използва за извличане на данни, управление на инструменти и индустриална автоматизация върху множество платформи, включително Microsoft Windows, GNU/Linux, Solaris и MacOS.
Програмите и подпрограмите на LabVIEW се наричат виртуални инструменти (virtual instrument – VI). Всяко VI има два компонента – „блокова диаграма“ и „преден панел“. „Контроли“ и „индикатори“ върху предния панел позволяват на оператора да въвежда и получава данни в/от работещия виртуален инструмент.
G е програмен език базиран на потоци от данни. За разлика от традиционните езици, работата на програмата не се определя от последователното изпълнение на инструкции. Вместо това изпълнението започва, когато всички входни данни за даден модул са налични. Тъй като това може да се случи за няколко модула едновременно, G е по природа приспособен за паралелно изпълнение. Многопроцесорните системи, многоядрените и многонишковите процесори, които напоследък навлизат и в по-ниските ценови сегменти, автоматично се възползват от вградения разпределител на задачите. Той мултиплексира множество ОС-нишки към модулите, готови за изпълнение. Както при всяка друга система за паралелно програмиране недостатъкът на LabVIEW се състои в това, че съществуват предпоставки за състезание на сигналите/резултатите. Също така последователността на изпълнение е по-трудно да бъде обхваната и обмислена за разлика от традиционните последователно-изпълняващи езици като C, Visual Basic и др.
Основното предимство на потока от данни е това, че той може да се представи чрез графична метафора: модулите са графични икони, данните преминават по линии от един модул към следващия. Докато диаграмите се събират на един екран, двуизмерното графично представяне позволява по-ефикасно използване на пропускателния капацитет на човешкото зрение.
LabVIEW отива още по-далеч като обединява изработката на потребителския интерфейс („преден панел“) и писането на програмния код. Потребителските интерфейси изпълняват две функции. Първо тази на виртуален инструмент, който може да се стартира като програма, при който предния панел играе ролята на потребителски интерфейс. Второ, когато виртуалният инструмент се постави като модул в блокова диаграма, елементите на предния панел играят ролята на входове и изходи за модула. По този начин VI могат лесно да се тестват като малки програми, преди да бъдат вградени като подфункция в голямото приложение.
Графичният подход позволява не-програмисти да конструират неголеми програми като просто влачат и пускат (drag’n’drop) виртуалните образи на лабораторни инструменти, с които вече са свикнали. Графичното програмиране заедно с включените примери и документация прави възможна бързата изработка на малки програми. Все пак за сложни алгоритми или по-мащабен код ограничените възможности за абстракция и статичността на езика (G е еквивалентен на C с управление на паметта, но без указатели) бързо се превръщат в пречки. Директната връзка между потребителски интерфейс и изпълним код породена от развойната среда също допринася за някои проблеми със скалируемостта.
Основното предимство на LabVIEW спрямо другите среди за разработка е богатата поддръжка на инструментална техника. Достъпни или дори включени в основния пакет са драйвери и абстракционни слоеве за множество видове инструменти и шини. Те представляват лесни за използване графични модули. Абстракционните слоеве предоставят изолация между конкретната хардуерна реализация и софтуерното решение. Без тези предоставени софтуерни драйвери и интерфейси това би струвало неимоверно много време и усилия. Една от целевите групи на National Instruments са хората с малко или никакъв опит в програмирането, които ще могат да пишат програми и да внедряват тестващи системи за по-малко време в сравнение с обикновените или конкурентните продукти. Като основен конкурент за контрол на измервателна техника и инструменти може да се приеме Agilent VEE. Алтернативна драйверна библиотека за GNU/Linux е Comedi.
LabVIEW съдържа и същински компилатор, който произвежда специфичния код за конкретната CPU платформа (PC, Mac или Sun). Графичният код не се интерпретира, а компилира. Компилацията се осъществява непрекъснато (on-the-fly compiling) докато графичният код на виртуалните инструменти се редактира. Генерираният код е малко по-бавен от еквивалентен компилиран C код, но това е ниска цена за увеличената продуктивност предоставена от уникалната патентована система за разработка чрез графичен код.
Външни препратки
[редактиране | редактиране на кода]- Официална страница на LabVIEW
- Учебни ресурси за LabVIEW Архив на оригинала от 2010-02-23 в Wayback Machine.
- Официален сайт на National Instruments
- National Instruments в България Архив на оригинала от 2010-02-21 в Wayback Machine.
- OpenG Архив на оригинала от 2009-01-18 в Wayback Machine. – Общност за разработка на отворени LabVIEW приложения ((en))
- Форум за LabVIEW[неработеща препратка] ((de))
- LAVA – LabVIEW Advanced Virtual Architects (news and discussion forums) Архив на оригинала от 2006-11-04 в Wayback Machine..
- LAVA Code Repository – Community Supported LabVIEW Downloads Архив на оригинала от 2006-11-04 в Wayback Machine.
- The LabVIEW FAQ Архив на оригинала от 2015-12-22 в Wayback Machine.