Wykorzystaj technologie wielowątkowe LabVIEW 8.6 w systemach pomiarowych i sterujących

„Świat jest równoległy. Ludzie żyją równolegle. Komputery wykonują obliczenia równolegle. Dlaczego mamy ograniczać się do stosowania technik programowania sekwencyjnego?” - zapytał kiedyś uznawany za twórcę LabVIEW Jeff Kodosky. Obecnie LabVIEW oferuje funkcjonalność pozwalającą na tworzenie wielowątkowych i działających równolegle systemów pomiarowych i sterujących. Sposoby na uzyskiwanie wiążącego się z tym zwiększania ich wydajności i redukowania kosztów wdrożeń opisano w artykule.
Posłuchaj
00:00

Ponieważ programowanie tekstowe cechuje z natury sekwencyjność wykonywania kodu, tworzenie aplikacji wielowątkowych, w których zachodzi konieczność zrównoleglenia wykonywanych obliczeń, jest trudne. Z tych powodów LabVIEW jest środowiskiem programistycznym, które jest o wiele lepiej niż np. język C przystosowane do tworzenia systemów działających równolegle. Wykorzystuje ono graficzny język programowania, co znacznie ułatwia tworzenie omawianych systemów i pozwala na ich wizualizację. Aplikacje, gdzie procesy wykonywane są równolegle, tworzone są wręcz automatycznie podczas programowania, gdyż tworzony w LabVIEW kod zawiera oddzielne wątki dla wykonywanych równolegle sekcji programu. Pozwala to projektantowi skupić się na rozwijaniu systemu, a nie zajmować problemami związanymi z jego niskopoziomową implementacją.

Rys. 1. Porównanie wielowątkowości w LabVIEW i tekstowych językach programowania
Nowa wersja LabVIEW 8.6 bazuje na równoległej naturze przetwarzania danych, oferując narzędzia pozwalające na wykorzystanie w tworzonych aplikacjach zalet procesorów wielordzeniowych i układów FPGA. Korzystając z nich, inżynierowie mogą tworzyć wielowątkowe systemy testowania i sterujące, jednocześnie redukując całkowite koszty wdrożeń.

WYKONUJ OBLICZENIA WIELORDZENIOWE

W niedawno opublikowanym rankingu (top500.org) dotyczącym 500 superkomputerów dysponujących najwiekszą na świecie mocą obliczeniową, aż 77% z nich bazuje na wykorzystaniu klastrów procesorów wielordzeniowych. Tymczasem w 2007 roku było to jedynie 22%. Komputery te wykorzystują często takie same procesory, jak te dostępne we współczesnych PC, chociaż do ich obsługi stosowane jest wyspecjalizowane oprogramowanie. Również LabVIEW projektowany był z myślą o wykorzystaniu przetwarzania równoległego i od ponad 10 lat wspierał wykorzystanie wielowątkowości.

Rys. 2. Różne funkcje przetwarzania obrazu w module NI Vision Development mogą być automatycznie wykonywane w kilku rdzeniach
Nowa wersja LabVIEW 8.6 rozszerza możliwości użycia procesorów wielordzeniowych i znacznie zwiększa wydajność przetwarzania danych w tworzonych systemach. Ponad 1200 funkcji w bibliotekach matematycznych i przetwarzania sygnałów zostało zoptymalizowanych do wykorzystania w systemach z procesorami wielordzeniowymi. Przykładowa aplikacja testowa, w której wykorzystano system przetwarzania sygnałów, wskazała na ponad 6,6-krotne zwiększenie jego wydajności przy korzystaniu z procesora ośmiordzeniowego zamiast układu jednordzeniowego. Z kolei wykorzystując moduł projektowania i symulacji układów sterowania (LabVIEW 8.6 Control Design and Simulation Module) w systemach z procesorami wielordzeniowymi, można wykonywać dynamiczne symulacje pracy systemu do pięciu razy szybciej.

Zmiany zaszły również w module NI Vision Development, gdzie wiele funkcji przetwarzania obrazu zostało zoptymalizowanych do automatycznej dystrybucji danych do wielu rdzeni procesora. Przykładowo funkcja splotu obrazu wykonywana może być do 15 razy szybciej z wykorzystaniem systemu z procesorem dwurdzeniowym. Pozwala to na uzyskanie w projektowanych systemach pomiarowych i sterowania wydajności oraz funkcjonalności dostępnych dotychczas tylko w superkomputerach.

SKRÓĆ CZAS PROJEKTOWANIA SYSTEMÓW Z FPGA

Rys. 3. LabVIEW 8.6 jest zaawansowaną platformą umożliwiającą programowanie układów FPGA
FPGA to układy pozwalające na największe ze wszystkich dostępnych obecnie technologii zrównoleglenie obliczeń. Pozwalają one na tworzenie układów pomiarowych i sterowania o wysokiej wydajności i niezawodności. Pomimo tych zalet wielu inżynierów nie wykorzystuje ich z powodu relatywnie dużego stopnia komplikacji związanego z tworzeniem systemów z FPGA. Nawet osoby specjalizujące się w tego typu projektach mogą mieć nieraz problemy aplikacyjne - np. z implementacją operacji stałoprzecinkowych.

LabVIEW umożliwia radzenie sobie z powyższymi wyzwaniami poprzez wykorzystanie m.in. interaktywnych interfejsów użytkownika (UI), bardzo obszernych bibliotek funkcji do analizy oraz możliwość szybkiego prototypowania sprzętowego systemów. Najnowsza wersja LabVIEW 8.6 pozwala w szczególności rozwiązywać poniżej opisane problemy:

  1. Użycie tradycyjnego oprogramowania do rozwoju układów FPGA wymaga znajomość projektowania układów cyfrowych - w przypadku LabVIEW wykorzystuje się intuicyjny w obsłudze moduł LabVIEW FPGA, który pozwala na programowanie omawianych układów bez konieczności korzystania z języków opisu sprzętu (HDL).
  2. Programowanie FPGA wymagać może czasochłonnych procesów kompilacji i walidacji przed uruchomieniem - LabVIEW 8.6 znacznie ułatwia rozwój aplikacji z FPGA i debugowanie kodu poprzez symulowanie pracy układów FPGA z wykorzystaniem posiadanego komputera (bez kompilowania projektu). Dodatkowo możliwe jest testowanie (testbench) układu FPGA poprzez symulowanie sygnałów wejść/wyjść oraz sprawdzenie projektu przed kompilacją. Wykorzystując moduły NI Compact- RIO, użytkownik uzyskuje również dostęp do nowej funkcji w LabVIEW 8.6, którą jest tryb skanowania (Scan Mode) CompactRIO. Umożliwia on dostęp do wejść/wyjść w czasie rzeczywistym bez konieczności programowania FPGA.
  3. Istnieją trudności w przejściu od prototypu programowego do implementacji sprzętowej - ponieważ LabVIEW pozwala na wykonywanie programu zarówno korzystając z systemu komputerowego, jak i układu FPGA, przejście pomiędzy tymi technologiami jest o wiele prostsze i nie wymaga wprowadzania zmian w projekcie. Do cech ułatwiających pracę należy również wsparcie dla liczb stałoprzecinkowych oraz dostępność gotowych modułów IP (Intellectual Property), takich jak np. szybka transformata Fouriera (FFT).
  4. Uaktualnienie projektu, tak aby wykorzystywał on najnowsze układy FPGA, może być czasochłonne i kosztowne - LabVIEW zapewnia ochronę inwestycji w projekt poprzez jego tworzenie na odpowiednim poziomie abstrakcji, co umożliwia w przyszłości korzystanie z nowych platform sprzętowych. Przykładami tych ostatnich są urządzenia z serii NI R, gdzie wykorzystuje się układy Xilinx Virtex-5, oraz NI Single-Board RIO, które są jednopłytkowymi (nieobudowanymi) platformami rekonfi gurowalnych wejść/wyjść.

Wydarzenia na świecie dzieją się równolegle, a inżynierowie oraz naukowcy muszą mieć możliwość tworzenia odpowiadających temu rozwiązań pomiarowych i systemów automatyzacji. Wykorzystując procesory wielordzeniowe, układy FPGA, moduły Wi-Fi DAQ oraz LabVIEW 8.6, mogą oni korzystać z tego, co było zawsze częścią graficznego środowiska projektowego - możliwości łatwego użycia najnowszych technologii, nieważne, jak bardzo byłyby one same skomplikowane.

National Instruments Poland Sp. z o.o.

Salzburg Center, ul. Grójecka 5

02-025 Warszawa

Bezpłatna infolinia: 00 800 361 1235

tel. 022 328 90 10, faks 022 331 96 40

ni.poland@ni.com

www.ni.com/poland


Zobacz więcej w kategorii: Prezentacje firmowe
Silniki i napędy
Fabryka Grupy Roca oszczędza 30% energii rocznie dzięki technologiom napędowym
Pomiary
Ciśnienie pod kontrolą – nowoczesne rozwiązania dla sektora spożywczego
Obudowy, złącza, komponenty
Nowa generacja zaworów 2-drogowych do wbudowania LC_8X/ zwiększa wydajność i efektywność hydraulicznych zaworów logicznych
PLC, HMI, Oprogramowanie
Zintegrowane technologie dla przemysłu spożywczego - precyzja, kontrola, niezawodność
PLC, HMI, Oprogramowanie
Jak efektywnie wdrażać Edge AI?
Przemysł 4.0
Nowe standardy w przemyśle spożywczym, farmaceutycznym i medycznym
Zobacz więcej z tagiem: Artykuły
Rynek
Nie tylko technologie
Rynek
Produkcja przemysłowa
Rynek
Pomiary i utrzymanie ruchu

Poradnik doboru rozwiązań drukujących - drukarki mobilne, stacjonarne i przemysłowe

Jak dobrać drukarkę do zastosowań w logistyce, przemyśle czy handlu? Na co zwrócić uwagę, jeżeli chodzi o cechy i funkcje urządzenia? Jak zapewnić wysoką niezawodność pracy oraz trwałość systemu drukującego? A co z oprogramowaniem? W artykule odpowiadamy na powyższe pytania, przedstawiając przykłady nowoczesnych urządzeń drukujących, które z powodzeniem sprawdzają się w wymienionych zastosowaniach.
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów