DLACZEGO LABVIEW? CZĘŚĆ 1

By 22 sierpnia 2019LabView

Dodatki i rozszerzenia

 

W tej serii artykułów opiszę kilka pozytywnych aspektów LabVIEW pozwalających nam używać go jako podstawowego środowiska programistycznego. Lista jest niekompletna i całkowicie subiektywna, ale mam nadzieję, że przynajmniej zabawna. W pierwszej części przedstawię, jak można fajnie rozszerzyć funkcjonalność LabVIEW.

Zacznijmy od kilku spraw, które mają znaczenie, zanim cokolwiek zaprogramujemy. Prawie nigdy nie wystarczają nam podstawowe funkcje LabVIEW, zwykle potrzebujemy dodatkowej obsługi sprzętu i bibliotek związanych z konkretnym zastosowaniem inżynierskim. Co zatem robimy? Instalujemy moduły i toolkity! Od początku mojej przygody w LabVIEW zastanawiałem się, jaka jest dokładna różnica między modułem a toolkitem. Na stronach NI nie ma wyraźnego rozróżnienia między nimi, a wszystkie z nich są określane wspólnym mianem „dodatków”. Teraz z moich obserwacji mogę krótko powiedzieć, że moduł jest dużym dodatkiem stworzonym i licencjonowanym przez NI, niedostępnym przez JKI VI Package Manager. Zestaw narzędzi (toolkit) jest z kolei dodatkiem małym, stworzonym i licencjonowanym przez kogokolwiek, dostępnym poprzez VIPM.

Moduły LabVIEW

Zazwyczaj instaluję je od razu razem z LabVIEW, ponieważ zestaw modułów, których używamy w naszym zespole jest z góry ustalony. Najważniejsze są dla nas moduły do Machine Vision – Vision Acquisition Software oraz Vision Development Module. Dają one nam możliwość szybkiego i wygodnego rejestrowania i przetwarzania obrazów z dowolnej kamery. Istnieje również przyzwoity zestaw modułów dla innych dziedzin współczesnej inżynierii, np. moduł do systemów czasu rzeczywistego (Real-Time Module) czy moduł do robotyki.

Toolkity

Istnieje również baza dodatków, gdzie każdy może się podzielić stworzonym przez siebie narzędziem. W przeciwieństwie do innych języków programowania, w LabVIEW nie potrzebujemy zbyt wiele pracy, aby uruchomić takie narzędzie. Nie ma nawet samouczków opisujących proces instalacji oprogramowania, jak ma to miejsce chociażby w przypadku OpenCV dla C#. Istnieje tylko jedno IDE, w którym możesz korzystać z oprogramowania LabVIEW innej firmy i jest to… LabVIEW. Jedynym poważnym źródłem takich dodatków jest LabVIEW Tools Network. A sam proces instalacji? Po prostu otwieramy VI Package Manager, wybieramy rozszerzenie, klikamy install i działa. Od razu, bez problemu. Inną fajną rzeczą jest to, że mamy naprawdę szeroki wybór toolkitów. Nie wymyślaj na nowo koła, najpierw sprawdź, czy ktoś już tego nie zrobił. Dla przykładu, jednym z naszych standardowych narzędzi jest OpenG – świetne rozszerzenie podstawowych bloczków do tablic, stringów itp. Opracowane przez społeczność. Coś jak Boost dla C ++. Niezależny i uznany.

JKI VI Package Manager

Ktoś za chwilę zainstaluje toolkit do obsługi bazy danych z VI Package Manager

Inny kod zewnętrznych firm

Podczas poszukiwania rozwiązania jakiegoś problemu w Internecie możemy również natknąć się na fragmenty kodu, które nie są dystrybuowane jako toolkity (z własną paletą, dokumentacją itp.). Same VI. Żaden problem. Jeśli mamy wszystkie potrzebne zależności i wersję LabVIEW, która nie jest niższa niż wersja, w której zostały napisane, to po prostu zadziałają.

Pliki binarne zewnętrznych dostawców

W LabVIEW możemy również uruchamiać biblioteki dynamiczne i pliki wykonywalne. Aby wywołać plik EXE, wystarczy użyć System Exec VI. Kilka pierwszych prób zwykle oznacza zmagania z prawidłowym ustawieniem wejść, ale potem jest już łatwiej. W przypadku bibliotek DLL w stylu C możemy ręcznie zdefiniować funkcje lub spróbować użyć automatycznego importu. Wreszcie istnieją biblioteki .NET i są one dość… magiczne. Ich zaimportowanie sprowadza się do wybrania pliku biblioteki i następnie metody za pomocą VI z .NET Palette.

Karta Parametry w węźle funkcji biblioteki połączeń LabVIEW

Call Library Function – konfiguracja wywołania

Wnioski

LabVIEW pozwala nam z sukcesem podejmować prawie wszystkie nasze wyzwania związane z programowaniem. Oferuje dobrą obsługę sprzętu i szeroki wybór rozszerzeń. Wszystko działa bez specjalnej konfiguracji, co oszczędza nasz czas. Daje nam także wygodny sposób użycia zewnętrznego kodu, niekoniecznie napisanego w LabVIEW.


Sławek