Rozdział 2
Podstawy programowania
graficznego
2.1. Co to jest i jak działa LabVIEW
LabVIEW jest środowiskiem programowym związanym z językiem programowania graficznego –
językiem G. Język ten zachowując większość możliwości języka C (którego jest w dużej mierze
graficznym odpowiednikiem) pozwala znacznie łatwiej programować użytkownikom nie znającym
klasycznych - tekstowo zorientowanych języków programowania. Celowo użyto tu słowa
programować zamiast pisać programy, ponieważ programu graficznego nie pisze się a tworzy się
jego graficzny diagram poprzez łączenie określonego typu liniami (przewodami) elementy
reprezentujące graficzne symbole (ikony). Ikony te są graficzną reprezentacją funkcji i struktur tego
języka. Nie bez znaczenia jest fakt, że kompilacja programu odbywa się automatycznie, na bieżąco,
w trakcie tworzenia diagramu, natomiast uruchomienie lub zatrzymanie wykonania programu
odbywa się przez kliknięcie tylko jednej ikony.
Programować w środowisku LabVIEW można, mając małe doświadczenie w programowaniu.
Wystarczy umieć poruszać się w środowisku Windows. Diagram programu jest tworzony w sposób
wygodny dla użytkowników ponieważ wykorzystuje się znane w technice symbole (na ikonach) i
łączy je tak jak ma działać program.
LabVIEW jest przeznaczone dla budowy własnych instrumentów wirtualnych różnego typu. W
tym celu w LabVIEW są zaimplementowane drajwery do szerokiej gamy urządzeń od
najprostszych komputerowych kart We/Wy do specjalizowanych urządzeń i przyrządów.
Oczywiście przewidziano obsługę standardów RS-232/485 oraz OPC i TCP/IP.
Dla ułatwienia rozwiązywania skomplikowanych problemów numerycznych nawet wersja
podstawowa LabVIEW (tzw. Full Development Package) posiada bardzo bogatą bibliotekę
matematyczną gdzie standardowe procedury numeryczne przedstawione są za pomocą gotowych do
wykorzystania ikon.
Aczkolwiek podstawowym przeznaczeniem LabVIEW jest budowa własnych instrumentów
wykorzystujących komunikację fizyczną z otoczeniem komputera, to bardzo atrakcyjne mogą być
instrumenty komunikujące się z użytkownikiem tylko za pomocą myszki i klawiatury oraz obrazu
na monitorze.
Dla budowy własnego panelu operatorskiego na ekranie monitora, LabVIEW oferuje
wyjątkowo obfity zestaw gotowych do wykorzystania wskaźników i zadajników. Elementy te
można dowolnie ustawiać na panelu, zmieniać ich rozmiary i kolory. Każdy z tych elementów ma
też możliwość wyboru wielu opcji i atrybutów jego wyglądu i działania.
Przy użyciu LabVIEW tworzymy 32 bitowe programy, o szybkości wykonania odpowiadającej
językowi C. Wykorzystując dodatkowy ”Application Builder” możemy tworzyć samodzielne 32
bitowe aplikacje (.exe) oraz biblioteki (.dll) możliwe do rozpowszechniania. LabVIEW posiada
również mechanizmy dla zagnieżdżania zewnętrznych procedur poprzez, między innymi, DLL i
ActiveX.
M.Metzger: Wirtualne układy automatyki
2
2.2. Instalacja oprogramowania
Jak większość narzędzi działających w środowisku Windows oprogramowanie LabVIEW samo się
instaluje po odpowiedniej komendzie. I tak:
LabVIEW wersja studencka jest oferowana na czterech dyskietkach jako dodatek do książki
(LabVIEW – student edition). Celem instalacji należy włożyć pierwszą dyskietkę do napędu (np. a:)
i w Windows wykonać komendę: a:\setup. Następnie należy wykonywać polecenia programu
instalującego.
Z rożnych najnowszych wersji LabVIEW najważniejsze to:
1) Zestaw podstawowy (Full Development Package). Zawiera pełną bibliotekę matematyczną.
2) Wersja profesjonalna (Professional Developers Suite). Zawiera dodatkowo Application
Builder dla tworzenia samodzielnych aplikacji i programów instalacyjnych dla aplikacji.
3) Wersja demonstracyjna (Evaluation Kit). Wersja podstawowa z możliwością
nieograniczonej pracy i z możliwościa zapisywania plików na dysk. Jedynym
ograniczeniem jest możliwość wykonania tylko przez kilka minut. Dostępna również przez
Internet.
Wszystkie te wersje są rozpowszechniane na płytach CD. Należy włożyć płytę do czytnika i
uruchomić program setup.exe. Następnie program instalacyjny prowadzi użytkownika przez
instalację. Należy pamiętać o podaniu kodu, który jest zabezpieczeniem programu. W każdym
legalnym zestawie LabVIEW jest podany kod dla danego egzemplarza oprogramowania. Wersje
sudencka i demonstracyjna nie są chronione kodem.
Uwaga: Dostępna na Wydziale A,EiI wersja wydziałowa może legalnie być używana tylko
na naszym Wydziale!
2.3. Otwarcie LabVIEW oraz panel
operatorski i diagram programu
Po uaktywnieniu w Windows ikony reprezentującej LabVIEW pojawia się na chwilę plansza
informacyjna a następnie okno dialogowe przedstawione na rysunku 2.1.
Rysunek 2.1. Okno dialogowe LabVIEW
M.Metzger: Wirtualne układy automatyki
3
Korzystając z okna dialogowego można rozpocząć edycję nowego programu, otworzyć
program już istniejący oraz wyjść z LabVIEW. W pełnej wersji okna dialogowego mamy trzy
dodatkowe przyciski: „DAQ Solution” (pomaga przy konfiguracji urządzeń We/Wy), „Search
Examples” (udostępnia bogatą bibliotekę gotowych przykładów) oraz LabVIEW Tutorial
(umożliwia dostęp do animowanego kursu LabVIEW). Po przejściu do nowego programu, lub
otworzeniu już istniejącego, otwierają się dwa okna: okno panelu operatorskiego oraz okno
diagramu programu w języku G (rysunek 2.2.).
Jeśli panel operatorski (graficzny interfejs użytkownika) dla danego programu, budowany w
oknie panelu operatorskiego oraz diagram programu w oknie diagramu, są niewielkie to można te
okna mieć na ekranie komputerowego monitora jednocześnie. Gdy jednakże jedno z okien zajmuje
większość ekranu to przechodzenie z okna do okna wymaga wykorzystania odpowiedniego
mechanizmu. Należy z paska menu (w obu oknach jest ten sam) wybrać opcję Windows a następnie
odpowiednio: Show Diagram lub Show Panel.
a) b)
Rysunek 2.2. Okna programu w środowisku LabVIEW,
a) okno panelu operatorskiego, b) okno diagramu
Jeśli panel operatorski (graficzny interfejs użytkownika) dla danego programu, budowany w oknie
panelu operatorskiego oraz diagram programu w oknie diagramu, są niewielkie to można te okna
mieć na ekranie komputerowego monitora jednocześnie. Gdy jednakże jedno z okien zajmuje
większość ekranu to przechodzenie z okna do okna wymaga wykorzystania odpowiedniego
mechanizmu. Należy z paska menu (w obu oknach jest ten sam) wybrać opcję Windows a następnie
odpowiednio: Show Diagram lub Show Panel.
2.4. Program jako instrument wirtualny
Program napisany w środowisku LabVIEW nazywamy instrumentem wirtualnym (nawet jeśli
dotyczy tylko pewnych obliczeń numerycznych i nie wykorzystuje, oprócz klawiatury, myszki i
monitora, żadnych urządzeń We/Wy). Program taki zapisany na dysku przyjmuje automatyczne
nazwę z rozszerzeniem „vi” – skrót od angielskiej nazwy virtual instrument.
Każdy program po dodaniu końcówek umożliwiających jego komunikację może stać się
podprogramem innego programu (instrumentu) nadrzędnego. Reasumując, instrument wirtualny
składa się z panelu operatorskiego i diagramu programu. Oba te elementy są zapisywane razem do
jednego pliku dyskowego o rozszerzeniu „vi”.
M.Metzger: Wirtualne układy automatyki
4
Przy wykonaniu programu korzystamy z panelu operatorskiego aczkolwiek możliwe jest
również uruchomienie programu w oknie diagramu ale z okna diagramu nie mamy możliwości
komunikacji z instrumentem.
2.5. Palety podstawowych narzędzi.
W LabVIEW narzędzia służące do budowy programu zebrane są na paletach, które pojawiają się w
osobnych oknach. Poniżej przedstawione są te palety wraz ze sposobem ich uaktywnienia.
2.5.1. Paleta narzędzi edycyjnych i manipulacyjnych
Paletę tę wywołujemy z paska menu w następujący sposób: Windows>>Show Tools Palette.
Rysunek 2.3. Paleta narzędzi edycyjnych i manipulacyjnych (Tools).
Paleta zawiera szereg narzędzi edycyjnych, które działają w obu oknach programu. Przedstawione
na ikonach palety narzędzia, po uaktywnieniu (kliknięcie lewym klawiszem myszki) ujawniają się
jako kursor odpowiadający symbolowi na ikonie. I tak.
narzędzie manipulacyjne dla zadajników panelu operatorskiego (zmienia wartości
zadajników poprzez ruch np. suwakiem lub uaktywnia zmianę zapisu wartości w
okienku zadajnika)
kursor wskazujący – pozwala wybierać, zaznaczać, przesuwać lub zmieniać wymiary
obiektów (w obu oknach)
narzędzie edycji tekstu (zarówno w etykietach obiektów jak i przy zapisie etykiet z
komentarzami)
szpulka - pozwala na łączenie przewodami obiektów w oknie diagramu
narzędzie pozwalające rozwijać menu obiektów
M.Metzger: Wirtualne układy automatyki
5
Przesuwanie (skrollowanie) zawartości okien (bez użycia pasków przesuwania)
ustawienie punktów przerwania w programie
próbnik – pozwala na “podgląd” przewodów w oknie diagramu
smoczek – pozwala “zassać” kolor z jakiegoś obiektu celem skopiowania do innego
obiektu, skopiowany kolor jes automatycznie umieszczony w pędzelku
pędzelek – narzędzie kolorowania obiektów; lewy klawisz myszki koloruje
wskazany przez kursor obiekt (kolorem zaznaczonym na ikonie); prawy klawisz
myszki otwiera paletę kolorów celem wyboru tego koloru.
2.5.2. Paleta kontrolek ( zadajników i wskaźników)
Paletę tę wywołujemy z paska menu w następujący sposób: Windows>>Show Controls Palette.
Rysunek 2.4. Paleta kontrolek z rozwinięciem wskaźników o postaci wykresów i monitorów.
M.Metzger: Wirtualne układy automatyki
6
Paleta kontrolek udostępnia zadajniki i wskaźniki możliwe do wykorzystania przy programowaniu
graficznego interfejsu użytkownika w oknie panelu. Może zajmować oczywiście dowolne miejsce
na ekranie komputera ale jest widoczna tylko razem z oknem panelu. Również kontrolki mogą być
użyte tylko w oknie panelu.
Zestaw oferowanych kontrolek jest zaiście imponujący. Od kontrolek analogowych i
dwupołożeniowych do okienek monitorowania przebiegów (w tym animowane przebiego 3D) i
dekoracji. Większość kontrolek może być zarówno zadajnikiem (wprowadzającym dane do
programu) lub też wskaźnikiem (pokazującym wartości i przebiegi). Użytkownik sam wybiera czy
dana kontrolka jest zadajnikiem czy też wskaźnikiem. W wersjach LV6 i LV7 są również stare
kontrolki (mniej „przestrzenne – wypukłe” co często jest przydatne).
Paleta kontrolek jest dwustopniowa. Podstawowa paleta ma tylko ikony rodzaju kontrolek a
uaktywniona lewym klawiszem myszki udostępnia paletę ikon konkretnych kontrolek. Na rysunku
2.4 przedstawiono rozwinięcie dla następujących rodzajów wskaźników: wykresy XY, monitory
przebiegów czasowych i monitory pokazujące zmiany wartości przy użyciu zmiany intensywności
barw.
Na rysunku 2.5. przedstawiono najważniejsze, stare kontrolki numeryczne – o działaniu
ciągłym i dyskretnym. W zależności od ustawień, kontrolki te mogą być zarówno wskaźnikami jak i
zadajnikami. W przypadku zadajników zmiany wartości ustawiamy przy użyciu kursora
manipulacyjnego.
Rysunek 2.5. Kontrolki numeryczne i logiczne.
2.5.3. Funkcje (elementy i struktury języka G)
Paletę tę wywołujemy z paska menu w następujący sposób: Windows>>Show Functions Palette.
Paleta funkcji udostępnia funkcje możliwe do wykorzystania przy tworzeniu programu w
języku G w oknie diagramu. Okienko palety funkcji może zajmować oczywiście dowolne miejsce
na ekranie komputera ale jest widoczne tylko razem z oknem diagramu. Również funkcje mogą być
użyte tylko w oknie diagramu.
Paleta oferuje wszystkie elementy języka G oraz elementy dodatkowych narzędzi (np. bogata
biblioteka procedur analizy matematycznej). W zależności od rodzaju funkcji może być rozwijana
wielostopniowo. Na rysunku przedstawiono rozwinięcie dla funkcji realizujących operacje
arytmetyczne z dodatkowym rozwinięciem funkcji trygonometrycznych.
Przy wielostopniowym rozwijaniu palety, ikony wymagające rozwinięcia mają zazwyczaj kolor
szary. Dopiero konkretne funkcje do wykorzystania w programie (mające biały lub żółty kolor)
można przenieść do diagramu.
M.Metzger: Wirtualne układy automatyki
7
Rysunek 2.6. Paleta funkcji z dwustopniowym rozwinięciem funkcji arytmetycznych.
a) b)
Rysunek 2.7. Ważniejsze przykłady rozwinięcia palety funkcji.a) struktury (w tym pętle), b) funkcje logiczne
c) d)
Rysunek 2.7. Ważniejsze przykłady rozwinięcia palety funkcji.
c) funkcje operacji na łańcuchach, d) funkcje operacji macierzowych,
M.Metzger: Wirtualne układy automatyki
8
e) f)
Rysunek 2.7. Ważniejsze przykłady rozwinięcia palety funkcji.
e) funkcje operacji na rekordach, f) funkcje operacji porównania.
Większość symboli na ikonach funkcji powinna być zrozumiała dla programisty (nawet
początkującego). Tym niemniej środowisko LabVIEW oferuje również bieżącą pomoc.
Paleta struktur (Rys. 2.7.a) zawiera graficzną reprezentację najważniejszych struktur
programowych języka G. Są to to kolejno: struktura sekwencji, struktura przypadku, pętla for, pętla
while oraz węzeł formuł matematycznych (w który można wpisać kawałek programu w języku C
aczkolwiek nie wszystkie jego elementy można wykorzystać).
Działanie struktur jest identyczne jak w konwencjonalnych językach programowania (w języku
graficznym nawet lepiej jest zrozumiały żargonowy termin „zawartość pętli” ponieważ obliczenia
prowadzone w pętli muszą być zaprogramowane graficznie wewnątrz graficznego symbolu pętli).
2.6. Bieżąca pomoc.
Środowisko LabVIEW oferuje bardzo przydatną usługę w postaci bieżącej pomocy. Usługę tę
wywołujemy z paska menu w następujący sposób: Help>>Show Help. Na ekranie pojawi się
dodatkowe okienko Help. Dotykając kursorem interesujących nas ikon funkcji (patrz Rys. 2.8)
spowodujemy, że w oknie Help pojawi się automatycznie wyczerpujący opis funkcji i możliwości
jej wykorzystania. Programista może napisać instrukcje pomocy również dla swoich własnych
funkcji (reprezentowanych przez własne ikony).
Rysunek 2.8. Uaktywnienie bieżącej pomocy
M.Metzger: Wirtualne układy automatyki
9
2.7. Pasek menu
Pasek menu jest taki sam w obu oknach (panelu i diagramu). Oferuje następujące usługi.
File – Standardowe działania na plikach w środowisku Windows, takie jak m.in.: New (nowy
plik), Open (otwórz), Close (zamknij), Save (zapisz), Save as (zapisz jako), Save a copy
as (skopiuj jako), Exit (opuszczenie LabVIEW). Szczególnie ważna jest usługa Save
with options (zapisz z opcjami). Umożliwia ona zapis specjalny programu np. bez belek
skrollingu lub bez możliwości dostępu do pasków menu oraz sterowania. Ważne to jest
przy zapisie programu jako osobnej aplikacji.
Edit – Standardowe działania edycyjne, takie jak m.in.: Undo (cofnij ostatnie działanie), Redo
(powtórzenie anulowanego działania), Copy (skopiuj do schowka zaznaczony obiekt),
Paste (wstawienie zawartości schowka w zaznaczone kursorem miejsce), Import
Picture From File (wstawienie rysunku/obrazu z pliku). Opcja Remove Broken Wires
umożliwia usunięcie złych połączeń w diagramie programu graficznego.
Operate – Opcje związane z uruchamieniem programu np. Run. Dla typowych aplikacji
rzadziej stosowane ponieważ program wygodniej uruchomić klawiszem w pasku
sterowania.
Project (Tools) – Zaawansowane usługi związane budową aplikacji. Jeśli LabVIEW jest
wyposażony w Application Builder to tu znajdują się opcje: Build Application
(zbuduj samodzielnie działającą aplikację – plik ”.exe”) oraz Create Distribution Kit
(zbuduj zestaw istalacyjny samodzielnie działającej aplikacji celem
rozpowszechnienia).
Windows – Usługi związane z aktywacją okien takie jak m.in.: Show Diagram (przejście do
okna diagramu jeśli jesteśmy w oknie panelu), Show Panel (przejście do okna
panelu jeśli jesteśmy w oknie diagramu), Show Controls Palette (uaktywnienie
palety kontrolek), Show Functions Palette (uaktywnienie palety funkcji), Show
Tools Palette (uaktywnienie palety narzędzi), Show Clipboard (pokazanie
zawartości schowka).
Help – Pomoc. Opcja Show Help uaktywnia okno bieżącej pomocy. W trakcie budowania
programu w języku G dotknięcie kursorem ikony funkcji (bez kliknięcia) powoduje
pokazanie się w oknie bieżącej pomocy instrukcji użycia tej funkcji).
2.8. Pasek sterowania
Pasek sterowania okna diagramu przedstawiony jest na rysunku 2.9. Pasek sterowania okna panelu
jest prawie identyczny, z tym że w pasku sterowania okna panelu nie występują klawisze 6,7,8,9.
Klawisz enter (1) pojawia się tylko wtedy gdy wpisujemy w danym oknie jakiś tekst – klawisz
ten kończy edycję tekstu np. w etykiecie (na rys.2.9 numerki oznaczające klawisze są właśnie
etykietami na pustym diagramie). Dodajmy, że z kolei klawisz ENTER (klawiatury komputera)
kończy linię tekstu.
M.Metzger: Wirtualne układy automatyki
10
Rysunek 2.9. Pasek sterowania okna diagramu
Poszczególne klawisze oferują następujące usługi.
1. zapis aktu alnie pisanego tekstu,
2. uruchomienie programu (run),
3. uruchomienie z kontynuacją,
4. zatrzymanie wykonania programu,
5. przerwa w wykonaniu programu,
6. wykonanie z podglądem (graficzny debugging)
7. zatrzymaj się przed danym elementem programu,
8. zatrzymaj się za danym elementem programu,
9. zatrzymaj się po tym elemencie programu i zakończ wykonanie,
10. ustawienie rodzajów, wielkości kolorów czcionek (fontów),
11. ustawienie zaznaczonych obiektów (np. w jednej linii)
12. rozproszenie zaznaczonych obiektów,
13. zmiana kolejności ułożonych na sobie obiektów graficznych.
2.9. Idea programowania graficznego – pierwszy prosty
przykład programu
Aczkolwiek język G jest graficznym odpowiednikiem języka C i w zasadzie ma takie same
możliwości, to jednak (ze względu na inną filozofię programowania) jego zastosowanie jest
szczególnie wygodne w tych dziedzinach techniki, które związane są ze sterowaniem,
przetwarzaniem różnego typu sygnałów oraz szeroko rozumianymi miernictwem i kontrolą.
Najprostszy program przedstawiony był już bez wyjaśnień w podrozdziale 2.3 dla pokazania
okienek programu. Na rysunku 2.10 przedstawiony jest diagram tego samego programu z
dopisanymi dodatkowo komentarzami.
Przypomnijmy, że przedstawiony na rysunku 2.2 panel operatorski programu (lub inaczej
graficzny interfejs użytkownika) ma tylko dwa elementy. Przełącznik „noise” właczający lub
wyłączający sygnał szumu (wartości przypadkowe w przedziale od zera do jeden) oraz monitor
M.Metzger: Wirtualne układy automatyki
11
pokazujący otrzymany przebieg sygnału w funkcji czasu. Program ma działać w ten sposób, że dla
wciśniętego przełącznika (położenie „ON”) na monitorze ma być rejestrowany sygnał szumu,
natomiast przy położeniu „OFF” przełącznika sygnał rejestrowany ma mieć stałą wartość równą
0.5.
Aby rejestrowana była nie jedna wartość ale przebieg sygnału w funkcji czasu, rejestracja musi
się powtarzać a więc obliczenia muszą być zorganizowane w pętli. Diagram takiego programu w
języku G jest wyjątkowo prosty (Czytelnik w ramach ćwiczenia raczy się zastanowić jak taki
program wyglądałby w języku C).
Program przy pierwszym spojrzeniu może się wydawać niezrozumiały dla Czytelnika, który
nauczył się już, klasycznych języków tekstowych (takich jak np. Pascal, C i MATLAB) ponieważ
nie ma ani jednej litery tekstu (wszystkie teksty na diagramie są jedynie komentarzami i można je z
diagramu wyeliminować). Przed analizą tego diagramu należy przestawić się na taki sposób
myślenia jaki związany jest z tworzeniem choćby najprostszych obwodów elektrycznych.
Kluczowa jest tu interpretacja zmiennych. Krótko mówiąc, zmienne (w tym i tablice) na
diagramie w języku G interpretujemy jako przewody (jest to zrozumiałe dla każdego kto choć raz
podłączył żarówkę do baterii i potrafi zrozumieć, że w przewodzie płynie prąd reprezentowany
przez jakąś zmienną – w języku G zmiennej nie musi odpowiadać nazwa zmiennej).
Ikony, które są połączone przewodami, reprezentują w języku G funkcje (pewne operacje na
zmiennych) lub końcówki (stałe lub zadawane wartości). Struktura programowa pętli (w tym
przypadku jest to pętla „while”) jest czytelna, mając graficzny kształt pętli obejmującej wszystkie
elementy mające być realizowane wielokrotnie.
Rysunek 2.10. Diagram programu rejestrującego sygnał szumu.
Funkcja wyboru (graficzny odpowiednik instrukcji „if”) sprawdza wartość logiczną s, która jest
generowana przez przełącznik na panelu operatorskim. Jeśli jest to wartość TRUE, na wyściu
będzie wartość podłączona przewodem z generatora liczb przypadkowych, w przeciwnym razie
„przepuszczona” zostanie wartość generowana przez stałą o wartości równej 0.5.
M.Metzger: Wirtualne układy automatyki
12
Wyjście funkcji wyboru podłączone jest na wejście monitora rejestrującego. Aby, jak już
wspominiano, nie rejestrować jednej wartości natomiast ich ciąg (przebieg) w funkcji czasu,
obliczenia zorganizowano wewnątrz pętli „while”. Do warunku logicznego pętli podłączono stałą o
wartości TRUE (program jest włączany i wyłączany klawiszami z paska sterującego). Ikona
reprezentująca zmienną indeksową pętli w tym przykładzie nie jest wykorzystywana.
Ikony warunku logicznego pętli oraz zmiennej indeksu pętli pojawiają się automatycznie wraz
ze strukturą pętli i nie można ich usunąć.
Bardzo pouczające jest dla początkującego programisty w języku G uaktywnienie graficznego
debuggera (klawisz z symbolem żarówki w pasku sterującym okna diagramu) ponieważ pozwala to
na pokazanie jak przebiegają obliczenia w tym programie (ściślej jak sterowany jest przez program
przepływ danych). Należy tu zwrócić uwagę na fakt, że w LabVIEW mamy gotowe dwie
profesjonalne usługi, a mianowicie „data flow computing” oraz „event driven computing” co można
zauważyć własnie za pomocą graficznego debuggera.
Kluczowe znaczenie dla aplikacji typu systemy SCADA, regulatory i sterowniki lub symulatory
procesów przemysłowych ma realizacja obliczeń w „czasie rzeczywistym”. Automatyka i
informatyka przemysłowa do dzisiaj nie dorobiły się ścisłej definicji tego terminu ale jest on dobrze
rozumiany przez inżynierów. Chodzi o to aby wszelkie obliczenia i obsługa zdarzeń były niezależne
od czasu obliczeniowego natomiast ściśle zsynchronizowane z czasem „astronomicznym”.
Standardowy program w LabVIEW jest realizowany w warunkach tzw. „soft real-time”, natomiast
ten sam program skompilowany w środowisku LabVIEW-RT i załadowany (wraz z dołączanym
automatycznie systemem operacyjnym czasu rzeczywistego) do specjalnych kart NI-DAQ-RT lub
modułu sterującego FieldPoint serii 2010 realizuje działanie tzw. „hard real-time”.
O ile realizacja aplikacji w czasie rzeczywistym w standardowych językach programowania jest
trudnym zadaniem to w środowisku LabVIEW to narzędzie jest już przygotowane w postaci
odpowiednich gotowych procedur. Przedstawiona na rys. 2.11 ikona realizuje tzw. „synchronized
waiting” a umieszczona w pętli powoduje synchroniczne wykonywanie pętli z określonym czasem
wykonania. Przedstawiony na rys. 2.11 program to program z rys. 2.10 uzupełniony o realizację
wykonania w czasie rzeczywistym.
Rys. 2.11. Zaprogramowanie realizacji aplikacji w czasie rzeczywistym (real-time).