Opracowany przez | Instrumenty krajowe |
---|---|
Pierwsza wersja | 1986 |
Ostatnia wersja | 2019 (Maja 2019) |
System operacyjny | Microsoft Windows , macOS i Linux |
Środowisko | Windows , Mac OS , Linux |
Języki | Francuski , angielski , niemiecki , japoński |
Rodzaj | Warsztat inżynierii oprogramowania , łańcuch akwizycji , przetwarzanie sygnału , system wbudowany |
Polityka dystrybucji | Sprzedawane komercyjnie |
Licencja | Właściciel |
Stronie internetowej | www.ni.com/labview |
LabVIEW ( skrót od Laboratory Virtual Instrument Engineering Workbench) jest sercem platformy do projektowania systemów pomiarowych i kontrolnych, zbudowanej na graficznym środowisku programistycznym firmy National Instruments .
Język graficzny używany na tej platformie nosi nazwę „G”. Pierwotnie stworzony na Apple Macintosh w 1986 roku, LabVIEW jest używany głównie do pomiarów poprzez akwizycję danych , do sterowania instrumentami i do automatyzacji przemysłowej. Rozwój platformy jest uruchamianie różnych systemów operacyjnych, takich jak Microsoft Windows , Linux i Mac OS X . LabVIEW może generować kod w tych systemach operacyjnych, ale także na platformach czasu rzeczywistego , systemach wbudowanych lub reprogramowalnych komponentach FPGA . Od 2009 r. LabVIEW ewoluuje w tempie jednej dużej, klasycznej wersji rocznie.
Tradycyjne obszary zastosowania LabVIEW to sterowanie / sterowanie, pomiary, oprzyrządowanie, a także testy automatyczne z komputera PC ( zbieranie danych , kontrola-polecenie , sterowanie przyrządami pomiarowymi , urządzeniami eksperymentalnymi, stanowiskami testowymi). To powołanie jest zapisane w bibliotekach wyspecjalizowanych funkcji ( karty akwizycji GPIB , VXI , PXI , DAQ, przetwarzanie danych itp.), Ale także przez specyfikę języka G (paralelizm związany z wykonywaniem przez przepływ danych) i środowisko programistyczne ( standardowe sterowniki urządzeń, kreatory instalacji sprzętu).
Koncepcja instrumentu wirtualnego, która dała nazwę LabVIEW (Laboratory Virtual Instrument Engineering Workbench), przejawia się w trwałości interfejsu graficznego dla każdego modułu (funkcji) programu. Elementy sterujące i wskaźniki na tym panelu przednim stanowią interfejs, za pośrednictwem którego program współdziała z użytkownikiem (odczytywanie poleceń i parametrów, przeglądanie wyników). Funkcje kontrolno-decyzyjne tablic lub przyrządów stanowią interfejs, za pośrednictwem którego program współdziała z zespołem.
Dlatego program LabVIEW automatyzuje zespół łączący kilka programowalnych urządzeń i łączy dostęp do funkcjonalności tego zespołu w pojedynczym interfejsie użytkownika, prawdziwym panelu przednim wirtualnego instrumentu.
Język programowania używany w LabVIEW, nazwany G, działa na zasadzie przepływu danych. O wykonaniu kodu decyduje schemat graficzny, diagram, który jest kodem źródłowym . Programator łączy różne funkcje jako ikony na schemacie za pomocą przewodów poprowadzonych między zakończeniami bloków ikon. Każdy wątek propaguje zmienne kodu , a każdy węzeł jest wykonywany, gdy tylko dostępne są wszystkie dane wejściowe funkcji ikony.
Barwiących składni , urodzony w LabView w 1980 połowy, podano w elementach postaci schematu edytor (grubość, wzory, symbole) i geometrii (rozmiar, wyrównanie układ), które silnie wpływać na czytelność dla dobra jak w przypadku złej Według The opieką redaktora.
Ten sposób programowania oferuje wewnętrzną zdolność do opisywania niezależnych procesów, dzięki czemu LabVIEW umożliwia wykonywanie kodu w wielozadaniowości . Na maszynach wielordzeniowych LabVIEW automatycznie rozdziela te zadania na różne rdzenie, wykorzystując wielowątkowość systemów operacyjnych.
Programy są często uruchamiane ze środowiska programistycznego w ramach wysoce iteracyjnego tworzenia oprogramowania . Najbardziej kompletne wersje systemu deweloperskiego oferują jednak możliwość tworzenia plików wykonywalnych lub instalatorów aplikacji do wdrożenia na innych maszynach. Wykonawcze muszą być następnie zainstalowane w systemie hosta obok rzeczywistego pliku wykonywalnego.
Schemat blokowy LabVIEW jest połączony z graficznym interfejsem użytkownika zwanym panelem przednim. Programy i podprogramy w postaci ikon nazywane są instrumentami wirtualnymi (VI), a pliki źródłowe zapisane na dysku mają rozszerzenie nazwy pliku .VI .
Każdy VI ma trzy komponenty: schemat blokowy, który zawiera kod graficzny, panel przedni z możliwością dostosowania przez użytkownika oraz panel krosowy , który ma wygląd małej kwadratowej ikony.
Poprzez skojarzenie pewnych kontrolek i wskaźników na przednim panelu VI ze złączami na jego panelu złączy, programista umożliwia wywołanie schematu blokowego w celu wymiany zmiennych z VI w postaci przewodów. Po napisaniu VI można go w ten sposób umieścić i wywołać na schemacie blokowym innego VI, gdzie będzie reprezentowany przez jego ikonę i będzie odgrywał rolę podprogramu , funkcji lub procedury (mówimy o podVI ). Podobnie jak nazwa, ikona VI musi być spersonalizowana za pomocą rysunku lub tekstu, aby jej funkcja była jawna dla recenzentów kodu.
Panel przedni jest zbudowany z obiektów zwanych kontrolkami i wskaźnikami. Elementy sterujące to dane wejściowe używane do wprowadzania wartości na ekranie, a flagi to dane wyjściowe używane do wyświetlania zmiennych lub wyników. Elementy dekoracyjne (kształty, dowolny tekst, obrazy ...) mogą wizualnie wzbogacić graficzny interfejs użytkownika. Te istnieją tylko na przedniej stronie VI. Z kolei kontrolki i wskaźniki pojawiają się zarówno na panelu przednim, jak i na schemacie ( terminal w postaci ikony), dzięki czemu można je powiązać z operacjami, które wymieniają z nimi dane.
Na koniec diagram zawiera struktury sterujące (pętle, warunki, zdarzenia, sekwencje, itp.) W celu określenia wykonywania lub kolejności operacji, tak jak we wszystkich językach programowania. Wszystkie obiekty poleceń, wskaźniki, funkcje, struktury są dostępne dla programisty za pośrednictwem palet, menu lub kombinacji klawiszy klawiatury ( Quick Drop ). Ikony funkcji umieszczone na schemacie stają się węzłami połączonymi ze sobą przewodami wejściowymi i wyjściowymi. Na przykład funkcja dodawania oferuje dwa złącza wejściowe i jedno złącze wyjściowe dla wyniku. Każdy subVI w większym programie zachowuje możliwość niezależnego wykonania przez użytkownika za pośrednictwem panelu przedniego.
Dla czytelnika program w języku G jest przedstawiony jako diagram, diagram, który łączy różne ikony połączone kolorowymi nitkami. Każdy przewód symbolizuje przejście danych ze źródła, z którego wychodzi (w rezultacie), do celu, do którego wchodzi (jako parametr).
Dlatego diagramy języka G mają bardzo odmienne znaczenie niż diagramy elektroniczne, które czasami przywołują. Na schemacie blokowym LabVIEW dane nie przepływają przez źródło, dopóki nie zostaną wygenerowane przez ikonę źródła. Ikona docelowa nie zacznie działać, dopóki wszystkie jej dane wejściowe nie będą dostępne. Ten model planowania przepływu danych określa domyślną kolejność wykonywania procesów programu. Ważną konsekwencją tej zasady jest to, że procesy, które nie wymieniają danych, mogą przebiegać równolegle. Ta właściwość języka G ułatwia tworzenie aplikacji wieloprocesowych , szczególnie interesujących w ramach kontroli systemów reaktywnych (wbudowanych lub nie).
Projektowanie programów w języku G zachowuje zasadniczo podejście proceduralne. W połączeniu z realizacją przez strumienie danych podejście to zapewnia dobre wyniki w dziedzinie oprzyrządowania. Jest również najbardziej intuicyjny dla inżynierów lub badaczy, którzy często lepiej znają protokoły eksperymentalne niż koncepcje komputerowe.
Wsparcie dla projektowania zorientowanego obiektowo zostało opracowane w sposób poufny w latach 90. w LabVIEW, aby w 1999 r. Doprowadzić do sprzedaży przez szwedzką firmę Endevo zestawu „GOOP”, a następnie natywnego wsparcia od 2006 r. (Wersja 8.2). Wiele elementów jest obsługiwanych przez metody i właściwości.
Koncepcja projektu pojawiła się w edytorze z 2005 roku (wersja 8.0) w celu konfiguracji, w szczególności, nowych celów kompilacji, które stały się wówczas dostępne (systemy czasu rzeczywistego, układy FPGA, mikroprocesory).
Od 2018 roku wpływ Pythona odczuwalny jest dzięki możliwości wywoływania skryptów w tym języku, a następnie natywnej obsłudze koncepcji zbioru i tablicy asocjacyjnej .
Graficzne programowanie LabVIEW jest popularne wśród nie-informatyków, którzy potrafią przeciągać i upuszczać programy oraz wirtualne interfejsy graficzne, przypominające panele przednie prawdziwych instrumentów laboratoryjnych. To programistyczne podejście do rozwoju jest wspierane przez intuicyjne środowisko, bogate w dokumentację i przykłady.
Brak dyscypliny, znajomość dobrych praktyk i specyfiki kompilatora niemniej jednak zagraża jakości i wydajności programów, jak w przypadku każdego języka programowania. Aby uzyskać bardziej złożone lub wydajniejsze algorytmy, decydująca jest dogłębna wiedza (na przykład zarządzanie pamięcią, która jest domyślnie przydzielana automatycznie, oraz kompilator). Istnieją również narzędzia inżynierii oprogramowania do tworzenia wielkoskalowych aplikacji LabVIEW jako zespół.
W 1986 roku na komputerach Macintosh ukazała się pierwsza wersja LabVIEW, stworzona przez Jeffa Kodosky'ego . Jest to ciągła praca nad doskonaleniem środowiska programistycznego (ergonomia edytora, obsługa nowych koncepcji, ulepszenia kompilatora), ale także dostosowywanie go do ewolucji jego środowiska sprzętowego (instrumenty, karty danych). Akwizycja danych, łącza komunikacyjne, cele kompilacji) i oprogramowanie (standardy wymiany danych, łączność z innym oprogramowaniem i innymi językami programowania). Od 2009 r. LabVIEW ewoluuje w tempie jednej dużej, klasycznej wersji rocznie.
W 2017 roku National Instruments prowadził strategiczny fork i rozwija swój produkt w ramach dwóch gałęzi: „klasycznej” oraz „NXG” (NeXt Generation). LabVIEW NXG jest reklamowany jako przyszłość LabVIEW. Dwa lata po wydaniu, kompatybilność LabVIEW NXG z innymi produktami programowymi i sprzętowymi National Instrument nadal pozostaje w tyle za tradycyjną branżą. Ale oferuje również nowe ekskluzywne funkcje, a firma pracuje nad odwróceniem równowagi sił między dwiema gałęziami.
Możesz rozszerzyć funkcjonalność LabVIEW, dodając zestawy narzędzi, które są dystrybuowane oddzielnie. Poniższa lista zawiera niewyczerpujący spis jego suplementów:
Otwarcie VI ze starszą wersją LabVIEW niż ta użyta do jego stworzenia jest generalnie niemożliwe. Jednak każda wersja może zapisać kod dla ograniczonej liczby wcześniejszych wersji, aby można go było w nich otworzyć.
Kod utworzony z LabVIEW 6 można otworzyć w dowolnej nowszej wersji LabVIEW.
LabVIEW jest dostępny dla Windows od wersji 2.5 (1992, Windows 3.1).
LabVIEW | Wygraj 95 | Win NT | Wygraj 98 | Wygrać mnie | Wygraj 2000 | Wygraj XP | Win Vista | Wygraj 7 | Wygraj 8 | Wygraj 10 |
---|---|---|---|---|---|---|---|---|---|---|
5.1.1 (2000) | X | X | X | - | X | - | - | - | - | - |
6.0.2 (2001) | X | X | X | - | X | - | - | - | - | - |
6,1 (2002) | X | X | X | X | X | X | - | - | - | - |
7,0 (2003) | - | X | X | X | X | X | - | - | - | - |
7,1 (2004) | - | X | - | - | X | X | - | - | - | - |
8.0.1 (2006) | - | - | - | - | X | X | - | - | - | - |
8,2 (2006) | - | - | - | - | X | X | - | - | - | - |
8.5.1 (2008) | - | - | - | - | X | X | X | - | - | - |
8.6.1 (2008) | - | - | - | - | X | X | X | - | - | - |
2009 | - | - | - | - | X | X | X | - | - | - |
2009 z dodatkiem SP1 | - | - | - | - | X | X | X | X | - | - |
2010 | - | - | - | - | - | X | X | X | - | - |
2010 z dodatkiem SP1 | - | - | - | - | - | X | X | X | - | - |
2011 | - | - | - | - | - | X | X | X | - | - |
2011 z dodatkiem SP1 | - | - | - | - | - | X | X | X | - | - |
2012 | - | - | - | - | - | X | X | X | - | - |
2012 z dodatkiem SP1 | - | - | - | - | - | X (z dodatkiem SP3) | X | X | X | - |
2013 | - | - | - | - | - | X (z dodatkiem SP3) | X | X | X | - |
2013 z dodatkiem SP1 | - | - | - | - | - | X (z dodatkiem SP3) | X | X | X | - |
2014 | - | - | - | - | - | X (z dodatkiem SP3) | X | X | X | - |
2014 z dodatkiem SP1 | - | - | - | - | - | X (z dodatkiem SP3) | X | X | X | - |
2015 | - | - | - | - | - | X (z dodatkiem SP3) | X | X | X | X |
2015 z dodatkiem SP1 | - | - | - | - | - | X (z dodatkiem SP3) | X | X | X (8,1) | X |
2016 | - | - | - | - | - | - | - | X | X (8,1) | X |
2017 | - | - | - | - | - | - | - | X | X (8,1) | X |
2018 | - | - | - | - | - | - | - | X | X (8,1) | X |
LabVIEW jest dostępny dla Linuksa od wersji 5.1 (1999). Jednak jego kompatybilność pozostaje ograniczona, podobnie jak w przypadku zestawów narzędzi, a zwłaszcza sterowników sprzętowych, które należy sprawdzać indywidualnie dla każdego przypadku.
LabVIEW dla systemu Linux | Silnik wykonawczy | Środowisko programistyczne |
---|---|---|
2014 z dodatkiem SP1 | Jądro Linuksa 2.4x, 2.6x lub 3.xi biblioteka GNU C (glibc) w wersji 2.5.1 lub nowszej dla architektury Intel x86 (32-bitowej); Jądro Linuksa 2.6x lub 3.x i biblioteka GNU C (glibc) w wersji 2.5.1 lub nowszej dla architektury Intel x86_64 (64-bitowej) | Red Hat Enterprise Linux Desktop + Workstation 6 lub nowszy; openSUSE 12.3 lub 13.1; Scientific Linux 6 lub nowszy |
2015 z dodatkiem SP1 | Jądro Linuksa 2.6x lub 3.x oraz GNU C Library (glibc) w wersji 2.11 lub nowszej dla architektury Intel x86 (32-bitowej); Jądro Linuksa 2.6x lub 3.x i biblioteka GNU C (glibc) w wersji 2.11 lub nowszej dla architektury Intel x86_64 (64-bitowej) | Red Hat Enterprise Linux Desktop + Workstation 6.5 lub nowszy; openSUSE 13.2 lub Leap 42.1; Scientific Linux 6.5 lub nowszy |
2016 | Jądro Linux 2.6x lub 3.x i biblioteka GNU C (glibc) w wersji 2.11 lub nowszej dla architektury Intel x86_64 | Red Hat Enterprise Linux Desktop + Workstation 6.5 lub nowszy; openSUSE 13.2 lub LEAP 42.1; Scientific Linux 6.5 lub nowszy; CentOS 7 |
2017 z dodatkiem SP1 | Jądro Linux 2.6x lub 3.x i biblioteka GNU C (glibc) w wersji 2.11 lub nowszej dla architektury Intel x86_64 | openSUSE LEAP 42.1 i 42.2; Red Hat Enterprise Linux Desktop + Workstation 6.x i 7.x; Scientific Linux 6.x; CentOS 7 |
2018 z dodatkiem SP1 | Jądro Linux 2.6x lub 3.x i biblioteka GNU C (glibc) w wersji 2.11 lub nowszej dla architektury Intel x86_64 | openSUSE LEAP 15.0, 42.2 i 42.3; Red Hat Enterprise Linux Desktop + Workstation 6.x i 7.x; CentOS 7 |
2019 | Jądro Linux 2.6x lub 3.x i biblioteka GNU C (glibc) w wersji 2.11 lub nowszej dla architektury Intel x86_64 | openSUSE Leap 42.3 i 15.0; Red Hat Enterprise Linux 7 i 8; CentOS 7 i 8 |
W zakresie sterowania, testowania i pomiarów możemy rozwijać oprogramowanie takie jak:
Możliwe jest oczywiście programowanie oprogramowania testowo-pomiarowego we wszystkich językach programowania bez korzystania z funkcji przeznaczonych dla tego obszaru. Rozwój potrwa dłużej, ale może mieć tę zaletę, że jest niezależny od komercyjnego i zamkniętego produktu.