LabVIEW 2010 - wszystko o czasie
| Prezentacje firmowe ArtykułyCzas ma wielkie znaczenie, gdy podczas pomiarów musisz zrealizować szybką akwizycję danych, zapewnić precyzyjną reprezentację rzeczywistych sygnałów fizycznych w domenie cyfrowej, zsynchronizować działanie kilku oddzielnych systemów lub gdy po prostu musisz szybciej skończyć pracę. Nowa wersja oprogramowania LabVIEW firmy National Instruments w wyjątkowy sposób pozwala skrócić czas pracy nad projektem.
Graficzne podejście do tworzenia systemów kontrolno- pomiarowych zapewnia większą efektywność. Jest to możliwe dzięki poświęceniu większej uwagi przetwarzaniu danych i wykonywanych na nich operacjom niż zagadnieniom związanym ze specyficznymi szczegółami języka programowania, takimi jak przydzielanie pamięci lub składnia języka poleceń. LabVIEW obsługuje też zaawansowane mechanizmy czasowe oraz ma wbudowany interfejs API, definiujący zależności czasowe i synchronizujący działania platformy sprzętowej i oprogramowania.
Firma National Instruments położyła nacisk na optymalizację czasową kluczowych funkcji w LabVIEW 2010. Najnowsza wersja tej platformy zawiera nowe funkcjonalności, których wprowadzenia domagali się klienci, nowe bloki IP dla układów programowalnych FPGA, zaawansowane funkcje czasowe, mechanizm synchronizacji oraz unowocześniony kompilator generujący kod maszynowy, zapewniający o 20 procent szybsze wykonywanie programu.
Kompilator LabVIEW
Zawarty w LabVIEW kompilator to kluczowa technologia, która oddana została do dyspozycji użytkowników. Obsługuje on takie zadania, jak przydział pamięci lub zarządzanie wątkami w czasie. Pomaga w edycji tworzonego programu, gdy nie ma możliwości jego wykonania. Dopracowane w szczegółach procesy kolejnych przebiegów kompilacji i optymalizacji kodu zapewniają tworzonym projektom najwyższy poziom doskonałości inżynierskiej i dają bardziej efektywny kod maszynowy.
Wraz z upływem lat kompilator stał się narzędziem bardziej inteligentnym, został zoptymalizowany i wsparty przez efektywną konwersję typów danych w sposób pozwalający na unikanie wielokrotnych zmian reprezentacji formatów czy też kopiowania danych; wykorzystano rejestry wirtualne oraz wiele innych inteligentnych procesów. Obojętnie czy dotyczy to nowych funkcji, poprawionych błędów czy rozszerzeń systemowych, każda ewolucja oprogramowania ma nową wersją kompilatora i wpływa na wykonywanie kodu wynikowego. Dlatego jednym z najważniejszych celów, na którym skupiono się w wydaniu 2010, było zwiększenie jego wydajności.
Optymalizacja kodu w kierunku zwiększenia wydajności
Programiści NI wprowadzili dwupłaszczyznową hierarchię pracy kompilatora, zapewniającą szybsze działanie aplikacji, bez konieczności wprowadzania jakichkolwiek zmian przez użytkownika. Nowością w LabVIEW 2009 była reprezentacja DFIR (Datafl ow Intermediate Representation), konstrukcja wysokiego poziomu, zapewniająca transformację opisu algorytmu w postaci diagramu blokowego.
W LabVIEW 2010 uzupełniono ją o maszynę wirtualną niskiego poziomu LLVM (Low-Level Virtual Machine), która wspiera pracę kompilatora w zakresie optymalizacji. DFIR i LLVM pracujące razem zapewniają nisko- i wysokopoziomową optymalizację przetwarzania kodu poprzez konwersję na postać pośrednią. Zmiana ta jest zupełnie niewidoczna dla użytkownika, a zapewnia około 20-procentowe przyspieszenie wykonywania aplikacji.
Ułatwienie projektowania rozbudowanych aplikacji
LabVIEW 2010 zawiera nowe funkcje wspomagające pracę z rozbudowanymi aplikacjami dzięki lepszej kontroli kodu źródłowego oraz wspomaganiu modułowej architektury oprogramowania. Nowa wersja ułatwia pracę programistom poprzez odseparowanie skompilowanych bloków od aktualnie tworzonego kodu źródłowego. Z taką funkcją wirtualny przyrząd (VI) nie jest traktowany jako zmodyfikowany po rekompilacji, co eliminuje konieczność zapamiętywania i wysyłania plików do momentu, aż zmieni się projekt.
Nowe pliki bibliotek wspierają modułową architekturę oprogramowania, skracają czas budowania kodu wynikowego i ułatwiają rozwój aplikacji. Pliki z bibliotekami mają nowy format łączący, w jednym pliku, procedury programowe z odpowiadającym im przyrządem wirtualnym. Wyeksportowane przyrządy wirtualne zawarte w tym pliku funkcjonują podobnie, jak inne VI zapisane bez diagramów blokowych, ale ich struktura hierarchiczna jest ukryta. Są tworzone według specyfikacji, w której określony plik .lvlib definiuje, które VI są elementem składowym spakowanego pliku bibliotecznego, a które zostały upublicznione (wyeksportowane).
Rozwijanie funkcjonalności programu przez społeczność użytkowników
Rozwijająca się społeczność internetowa użytkowników programu LabVIEW to dowód, jak wiele korzyści odnosi się obecnie ze wspólnego działania. Jej członkowie zapewniają wsparcie innym użytkownikom oprogramowania NI, omawiając problemy na forach NI Discussion Forums (ni.com/forums) oraz dzieląc się przykładowymi fragmentami kodu w ramach społeczności NI Developer Zone Community (ni.com/community) i innych podobnych grup. Społeczność inżynierska związana z LabVIEW miała duży wpływ nie tylko na kształt LabVIEW 2010, ale i na to, co będzie pojawiać się w nowych wersjach.
LabVIEW - giełda pomysłów
We wrześniu 2009 roku National Instruments zainicjowało projekt wymiany opinii - Idea Exchange, który jest internetowym forum gromadzącym opinie użytkowników LabVIEW. Jego powołanie miało na celu zapewnienie pomocy zespołowi R&D, pracującemu nad rozwojem LabVIEW, w wyborze i ustaleniu kolejności wdrażania nowych funkcjonalności w kolejnych edycjach oprogramowania. LabVIEW 2010 zawiera 14 nowych funkcjonalności, które wywodzą się ze zgłaszanych opinii użytkowników, wymienianych najczęściej jako potrzebne i warte wdrożenia.
Najczęstsze pytania i opinie
Internetowa wspólnota użytkowników LabVIEW jest cennym i chętnie wykorzystywanym przez zespół wsparcia technicznego NI źródłem uwag i opinii. Użytkownicy sygnalizowali, że dostosowanie rozbudowanych systemów oprogramowania do własnych potrzeb jest niełatwym i często zniechęcającym wyzwaniem. Dlatego LabVIEW 2010 wprowadza udoskonalony program instalacyjny, który na początku pracy pozwala na podanie numeru seryjnego, a następnie na jego podstawie określa, które moduły oprogramowania powinny zostać zainstalowane.
Zespół deweloperów NI zintegrował technologię wyszukiwania informacji do środowiska IDE w LabVIEW 2010, co, w efekcie, pozwala łatwo wyszukiwać informacje. Istnieje możliwość wybrania miejsc podlegających przeszukiwaniu, jak na przykład fora wsparcia technicznego, grupy i społeczności internetowe lub informacje o produkcie. Ponieważ LabVIEW jest wykorzystywany przede wszystkim jako funkcjonalna całość w połączeniu ze sprzętem, najczęstszym tematem dla działu pomocy technicznej jest konfiguracja.
Dlatego nowością we wchodzącej na rynek wersji jest nowa aplikacja Web-Based Monitoring and Configuration, która po instalacji i zapewnieniu połączenia z siecią pozwala na konfigurowanie urządzeń z poziomu przeglądarki internetowej. Jest to też sposób na kontrolę dostępu do sprzętu, pamięci i plików oraz na wymianę informacji bezpośrednio z systemem operacyjnym.
Dodatki firm partnerskich do LabVIEW
LabVIEW 2010 zawiera liczne usprawnienia, które ułatwiają wbudowywanie i dystrybucję dodatków i rozszerzeń pochodzących od firm partnerskich. Przykładowo, w trakcie tworzenia oprogramowania inżynierowie mają teraz dostęp do dodatku LabVIEW Scripting, automatyzującego tworzenie kodu. Z kolei system licencjonowania treści i aktywacji modułów pomaga tworzyć wersje ewaluacyjne oraz daje pewność autoryzowanego korzystania z dodatków narzędziowych i aplikacji napisanych przez klientów. Aplikacja VI Package Manager firmy JKI Software, ściśle zintegrowana z systemem licencjonowania, daje możliwość pobierania, tworzenia i udostępniania dodatków innym.
Otwarta integracja FPGA IP
Nowa funkcja IP Integration Node zawarta w module LabVIEW FPGA pozwala na pracę z plikami. xco, pochodzącymi z oprogramowania Xilinx Core Generator. Dodano też możliwość importowania bloków własności intelektualnej Xilinx IP do LabVIEW, w podobny sposób jak w przypadku plików DLL. Integration Node tworzy model behawioralny dla bloku IP, pozwalając na jego symulację na komputerze PC razem z resztą kodu FPGA. Mimo że do obsługi Xilinx Core Generator IP stworzono oddzielny mechanizm, podobne właściwości i funkcje można uzyskać z dowolnym, innym plikiem HDL. Na stronie NI Labs (ni. com/labs) pojawił się nowy odnośnik na temat integracji bloków Xilinx IP wewnątrz LabVIEW FPGA.
Zależności czasowe i synchronizacja
Wiele aplikacji musi przewidywalnie reagować na pojawiające się w czasie pracy zdarzenia płynące z fizycznego systemu, z którym współpracują. Pisanie programu, bazującego na zależnościach czasowych w środowisku, które w swoich założeniach nie opiera się na relacjach czasowych, z pewnością nie jest łatwe. Dlatego LabVIEW zawiera wiele mechanizmów, które rozwiązują problemy z zależnościami czasowymi w oprogramowaniu, czego przykładem są struktury pętli czasowych.
Pozwalają one utworzyć priorytety obsługi i korzystać ze źródła czasu rzeczywistego. Możliwe jest wzajemne synchronizowanie wielu pętli czasowych w ramach jednej maszyny lub wewnątrz części rozproszonego systemu czasu rzeczywistego. LabVIEW 2010 zawiera też nowe mechanizmy synchronizacji, rozszerzające możliwości programów tworzonych dla tego środowiska. Nowy moduł LabVIEW Real-Time zastępujący standardowy Ethernet LabVIEW 2010 ma zaimplementowaną obsługę standardu IEEE 1588, pełniącą rolę źródła czasu dla pętli czasowych, zapewniającego rozdzielczość bezwzględną na poziomie milisekund.
Dodatkowo, LabVIEW 2010 ma nowy mechanizm wewnętrzny sterujący funkcjami czasowymi, aby możliwe było skalowanie działania wzdłuż osi czasu. Korzystając z pętli czasowych, programista jest w stanie poprawić relacje czasowe w takim stopniu, jaki daje przejście z reakcji na poziomie milisekund, charakterystycznych dla procesorów w komputerach PC do nanosekund, charakteryzujących aplikacje sprzętowe bazujące na FPGA.
Nadszedł czas na LabVIEW 2010
LabVIEW 2010 rozwiązuje wiele pojawiających się problemów związanych z dostępem do pomocy technicznej, zapewnia możliwość zgłaszania opinii, zawiera system konfigurowania urządzeń za pośrednictwem przeglądarki internetowej, ma wbudowaną nową wyszukiwarkę, a także daje dostęp do funkcji i dodatków programowych, tworzonych przez firmy partnerskie.
Nowe funkcjonalności LabVIEW 2010 obejmują też zmodyfikowany kompilator, który generuje zoptymalizowany i wydajniejszy o około 20 procent wynikowy kod maszynowy. Rozbudowany mechanizm czasowy oraz nowe technologie synchronizacji zadań czynią z LabVIEW 2010 narzędzie poprawiające wydajność pracy zawodowej, zarówno dla tych, którzy pierwszy raz korzystają z programu, jak i dla ekspertów z wieloletnim doświadczeniem.
Jeffrey Phillips, LabVIEW product manager
Joseph DiGiovanni, LabVIEW group manager
National Instruments Poland Sp. z o.o.
www.ni.com/poland