Zintegrowane środowisko programowe Wirtualne przyrządy pomiarowe. LabVIEW. Diagnostyka - monitoring maszyn część IV. Struktura programu

Podobne dokumenty
MATERIAŁY POMOCNICZE DO ZAJĘĆ LABORATORYJNYCH ŚRODOWISKO LABVIEW. ELEMENTY JĘZYKA PROGRAMOWANIA GRAFICZNEGO

Robert Barański, AGH, KMIW For Loops While Loops v1.0

Podstawy użytkowania programu LabView

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Podstawy Programowania C++

Reprezentacja zmiennych numerycznych

Budowa i oprogramowanie komputerowych systemów sterowania. Wykład 2. Labview

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Lab. 3 Typy danych w LabView, zapis do pliku

Robert Barański, AGH, KMIW Struktura petli v1.1. Instrukcja użycia dla For Loop lub While Loop w celu kontrolowania powtarzających się czynności Loop.

LabView Podprogramy. Jakub Gliński

Lab. 3 Typy danych w LabView, zapis do pliku

Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium

1 Podstawy c++ w pigułce.

Materiały do laboratorium MS ACCESS BASIC

PRZYRZĄDY WIRTUALNE. Część 6 Macierze, klastry, wzory. Prof. Krzysztof Jemielniak

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3

Układy VLSI Bramki 1.0

Pętle. Dodał Administrator niedziela, 14 marzec :27

Wirtualne przyrządy kontrolno-pomiarowe

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Ćw. 2. Wprowadzenie do graficznego programowania przyrządów pomiarowych

System wizyjny OMRON Xpectia FZx

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

1. Opis okna podstawowego programu TPrezenter.

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Robert Barański, AGH, KMIW Arrays and Clusters v1.0. Poniższy poradnik wprowadza do tworzenia oraz obsługi tablic i typów danych klastra.

Instalacja MUSB2232FKA w systemie Windows 7

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Tworzenie i zapis plików w VI

Programowanie w języku Python. Grażyna Koba

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Dodawanie grafiki i obiektów

Algorytm. Krótka historia algorytmów

Wykład z Technologii Informacyjnych. Piotr Mika

Maszyna stanu State Machine

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa TECHNIKI REGULACJI AUTOMATYCZNEJ

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

ZROZUMIENIE MODUŁOWOŚCI (Understanding Modularity)

Bloki anonimowe w PL/SQL

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Tworzenie prezentacji w MS PowerPoint

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Opis szybkiego uruchomienia programu APBSoft

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Wirtualne przyrządy pomiarowe

5.4. Tworzymy formularze

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Zaznaczanie komórek. Zaznaczenie pojedynczej komórki polega na kliknięciu na niej LPM

Podstawy budowy wirtualnych przyrządów pomiarowych

1 Podstawy c++ w pigułce.

PROGRAMOWALNE STEROWNIKI LOGICZNE

LabVIEW PLATFORMA EDUKACYJNA Lekcja 1 Pierwsze kroki w środowisku LabVIEW

Definicje. Algorytm to:

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Programowanie w języku C++ Grażyna Koba

Podstawy programowania skrót z wykładów:

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Multimetr cyfrowy VA18B Instrukcja instalacji i obsługi. oprogramowania PC-LINK

EXCEL. Diagramy i wykresy w arkuszu lekcja numer 6. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 20

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Aplikacje w środowisku VBA. Visual Basic for Aplications

Multimetr cyfrowy MAS-345. Instrukcja instalacji i obsługi oprogramowania DMM VIEW Ver 2.0

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Podstawy programowania w LabView (2) Instrukcje strukturalne

POMIARY WIDEO W PROGRAMIE COACH 5

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Ćwiczenie 1. Wprowadzenie do programu Octave

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Kopiowanie, przenoszenie plików i folderów

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Algorytm. a programowanie -

Programowanie w języku G - Laboratorium 12

Bazy danych TERMINOLOGIA

Użycie Visual Basic for Applications ("VBA")

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Dla kas Nano E w wersjach od 3.02 oraz Sento Lan E we wszystkich wersjach.

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

1. CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie studentów ze środowiskiem LabVIEW oraz podstawami programowania w języku graficznym G.

Lab. 3 Tablice, struktura warunkowa

Numeracja dla rejestrów zewnętrznych

2.2 Opis części programowej

Tematy lekcji informatyki klasa 4a styczeń 2013

Symfonia Mała Księgowość 2013 Specyfikacja zmian

Transkrypt:

Diagnostyka - monitoring maszyn część IV Zintegrowane środowisko programowe Wirtualne przyrządy pomiarowe Struktura programu LabVIEW firmy National Instruments Zintegrowane środowisko programowe -LabView Podstawy programowania aplikacji w środowisku graficznym LabView (VI) wprowadzenie W zakresie konfiguracji układów pomiarowo-diagnostycznych, jednym z szeroko rozpowszechnionych systemów jest platforma programowa LabVIEW (VI) firmy National Instruments. LabView dedykowane jest przede wszystkim do budowy zintegrowanych systemów pomiarowych. Jest to program a raczej język programowania, który wykorzystuje graficzny interfejs. Program LabVIEW jest nazywany przyrządem wirtualnym (virtual instrument) lub krótko programem VI. Określenie to wynika z analogi wizualnego obrazu aplikacji oraz jej działania do fizycznego przyrządu takiego jak oscyloskop czy multimetr. Każda aplikacja VI używa elementy nastawcze, które wprowadzają dane z interfejsu użytkownika lub innych źródeł oraz elementy prezentacyjne, które wyświetlają dane wyjściowe na pulpicie interfejsu użytkownika lub wyprowadzają je do innych odbiorców Zintegrowane środowisko programowe -LabView Podstawy programowania aplikacji w środowisku graficznym LabView (VI) Budowa i zasada działania Programowanie w LabView przygotowywane jest w sposób hierarchiczno-modułowy tzn. dany przyrząd wirtualny może być wykorzystany w innym jako podprogram (moduł o jednoznacznie określonej hierarchii działania). Przygotowując aplikacje mamy do dyspozycji dwa okna: panel i diagram. Panel symuluje płytę czołową rzeczywistego przyrządu. Umieszczone są na nim elementy służące do wprowadzania danych do programu np. przełączniki, pokrętła, wyświetlacze (Controls). Diagram zawiera program źródłowy w postaci graficznej z przyrządami wirtualnymi związana jest grupa ikona (Icon) i zaciski (Connector) umożliwiające umieszczenie danego przyrządu w innej aplikacji jako podprogramu.

Zintegrowane środowisko programowe -LabView Podstawy programowania aplikacji w środowisku graficznym LabView (VI) Budowa i zasada działania LV, tak jak C, lub BASIC jest środowiskiem ogólnego zastosowania z obszernymi bibliotekami funkcji oraz programami wspomagającymi programowanie. LV zawiera również specjalistyczne biblioteki umożliwiające akwizycję danych, kontrolę portu szeregowego oraz GPIB, analizę danych, prezentację danych i zapis danych. LV umożliwia interaktywne sprawdzanie budowanego programu (debugger), ustawianie przerwań, śledzenie przechodzenia sygnałów. Programowanie stanowiska badawczego jest tworzone w postaci diagramu, na którym poszczególne operacje przedstawione są w postaci symboli i łączone są z sobą zgodnie z przepływem informacji (taki system tworzenia programów jest coraz bardziej rozpowszechniony i wykorzystany przez inne firmy, ponieważ obsługa jest wtedy intuicyjna i dostosowana do środowiska operacyjnego Windows, w którym pracuje). Modułowa budowa programów umożliwia łatwiejsze śledzenie tworzenia diagramu i weryfikacje potencjalnych błędów. Zintegrowane środowisko programowe -LabView VI składa się z trzech komponentów: Pulpitu (front panel), który pełni rolę interfejsu użytkownika; Diagramu (block diagram), który jest graficznym zapisem kodu programu. Definiuje funkcjonalność aplikacji w języku graficznym G. Ikony i złącza (icon & connector pane). Ikona identyfikuje VI tak, że dany VI można użyć w innym programie VI. Tak użyty program VI jest określany podprogramem VI (subvi). Odpowiada on procedurze w tekstowych językach programowania. Złącze (connector pane) definiuje wejścia i wyjścia podprogramu oraz ich przyporządkowanie i odpowiada definicji argumentów procedury w językach tekstowych. Przycisk do uruchamiania przyrządów wirtualnych Wyrównanie położenia elementów Wyrównanie odległości między elementami Przewijanie Przyrząd do uruchamiania przyrządów wirtualnych w sposób ciągły Przycisk przerywający działanie programu Przycisk do zatrzymania lub wznowienia działania programu Wybór rodzaju czcionki LabView wygląd panelu do komunikacji z użytkownikiem

Zintegrowane środowisko programowe -LabView Diagram - do zapisu programu wykorzystuje się: końcówki (terminals), węzły (nodes), przewody (wires) oraz konstrukcje sterujące (structures): końcówki są portami wejściowymi i wyjściowymi przesyłającymi informacje pomiędzy pulpitem i diagramem. Dane wprowadzone do elementów kontrolnych pulpitu wpływają do diagramu przez końcówki wejściowe (kontrolne). Dane wpływające do końcówek wyjściowych (wskaźnikowych) opuszczają diagram i przechodzą do odpowiednich elementów prezentacyjnych pulpitu. Końcówka jest generowana automatycznie w diagramie w momencie postawienia elementu kontrolnego lub prezentacyjnego na pulpicie. Reprezentuje ona port do określonego elementu pulpitu oraz typ danych wchodzących lub wychodzących, np. DBL -double. węzły są obiektami wyposażonymi w wejścia i wyjścia danych realizującymi określone operacje podczas działania programu. W języku graficznym pełnią podobne role jak wyrażenia, operatory, funkcje i procedury w językach tekstowych. przewody służą do budowania połączeń (dróg przepływu danych) pomiędzy elementami diagramu. Każde połączenie może mieć tylko jedno źródło danych lecz może być rozgałęzione do wielu punktów odbioru danych. W zależności od typu przesyłanych danych połączenia są wyróżniane kolorami, stylem linii łączącej oraz jej grubością. Złe połączenia są zaznaczane czarną linią przerywaną. konstrukcje sterujące języka graficznego zapewniają specyficzny sposób wykonania fragmentów kodu. Pozwalają realizować powtarzanie bloków kodu (pętle), warunkowy wybór wykonania bloków kodu (case) lub określić sekwencję wykonania bloków kodu. LabView Diagram = program źródłowy LabView Cechy środowiska Ikona i złącze sub VI Ikony i złącza -jeśli opracowany program VI ma służyć jako podprogram dla innych aplikacji VI, konieczne jest zbudowanie unikalnej ikony stanowiącej jego graficzną reprezentację oraz zdefiniowanie złącza. W diagramach aplikacji wykorzystujących taki podprogram występuje on w postaci zdefiniowanej dla niego ikony. Złącze definiuje wejścia i wyjścia podprogramu i tym samym umożliwia wykonanie odpowiednich połączeń w diagramie programu wykorzystującego go jako podprogram. Złącze jest zestawem końcówek odpowiadających określonym elementom kontrolnym i prezentacyjnym danego podprogramu. Zaciski wejściowe złącza przekazują dane do diagramu podprogramu za pośrednictwem elementów kontrolnych pulpitu podprogramu. Z kolei zaciski wyjściowe złącza otrzymują dane z diagramu za pośrednictwem elementów prezentacyjnych pulpitu podprogramu.

LabView Zasady tworzenia kodu programu Końcówki i węzły połączone liniami przepływu danych tworzą diagram programu VI. Rozpoczyna się on: końcówkami wejściowymi elementów kontrolnych pulpitu (np. Input 1 i 2) oraz węzłami stałych (np. Const DBL), które są źródłem stałych wartości określonego typu. Linie łączące źródła danych oraz odbiorniki wyznaczają drogi przepływu danych. Zbiegają się w wielowejściowych węzłach (np. w węźle Subtract), jak również rozgałęziają doprowadzając dane z określonego źródła do wejść różnych węzłów (np. wyjście węzła Decrement). LabView zasady wykonywania kodu programu Każdy węzeł diagramu wykonuje tylko raz swoje operacje. Kolejność wykonania operacji przez węzły diagramu jest określona przepływem danych (data flow). Węzeł diagramu rozpoczyna działanie po otrzymaniu wszystkich danych wejściowych. Po wykonaniu charakterystycznych dla niego operacji dostarcza wyniki na swoje wyjścia. Przewody przenoszą dane wyjściowe do następnych węzłów diagramu, które rozpoczną działanie po uzyskaniu wszystkich danych wejściowych Zasady obowiązujące przy wykonywaniu kolejnych faz opracowania danych przez węzeł Węzeł rozpoczyna działanie po otrzymaniu wszystkich danych wejściowych. Dane na wyjściach węzła (węzeł może mieć kilka wyjść) pojawiają się jednocześnie po wykonaniu charakterystycznych dla niego operacji. Uzyskane dane wyjściowe są jednocześnie dostarczone do węzłów odbierających LabView zasady wykonywania kodu programu W przypadku prostego diagramu określenie kolejności wykonywanych operacji nie budzi istotnych wątpliwości. Rzeczywiste diagramy są bardziej złożone. Mogą mieć wiele rozgałęzień dróg przepływu danych jak również węzłów korzystających z wielu wejść. W rezultacie może on mieć wiele równoległych gałęzi obejmujących szeregowo połączone węzły. LabView jest środowiskiem wielozadaniowym i może wykonywać pseudo-jednocześnie wiele operacji. Węzły, które otrzymają w danej chwili wszystkie dane są wykonywane pseudo-jednocześnie. Nie można jednak zakładać kolejności wykonania operacji przez węzły, które uzyskały stan gotowości. Środowisko samo decyduje o kolejności wykonania stosując technikę arbitralnego przeplotu. W ten sposób węzły lub grupy węzłów różnych gałęzi są wykonywane przemiennie co skutkuje równoległością ich realizacji.

LabView zasady wykonywania kodu programu Program VI może składać się z wielu niezależnych poddiagramów. Podobnie jak równoległe gałęzie diagramu, są one wykonywane współbieżnie. Również w tym przypadku nie można zakładać kolejności wykonania operacji przez węzły będące w stanie gotowości. Technika wyboru z przeplotem gwarantuje jednak, że niezależne poddiagramy są wykonywane przemiennie co skutkuje równoległością ich realizacji. Przykład kolejności wykonania węzłów dwóch niezależnych poddiagramów programu VI (numery przy węzłach podają kolejność wykonania). LabView zasady wykonywania kodu programu Węzły diagramu jednocześnie uzyskujące komplet danych wejściowych wykonują się w nieznanej programiście kolejności. Jeżeli istotna jest kolejność ich wykonania to musi to zapewnić przepływ danych pomiędzy nimi. Konieczność zapewnienia określonej sekwencji działań dotyczy między innymi operacji plikowych lub operacji na urządzeniach pomiarowych, np. najpierw operacja przesłania zapytania do urządzenia a następnie operacja odczytu odpowiedzi z urządzenia. Stąd węzły funkcji I/O posiadają wejścia deskryptorów i błędów oraz takie same wyjścia. Po wykonaniu operacji, taki węzeł dostarcza między innymi danych wyjściowych na wyjście deskryptora i wyjście błędu. Połączenie tych wyjść z odpowiadającymi wejściami kolejnego podobnego węzła zapewnia żądaną kolejność ich wykonania wynikającą z przepływu danych. Przykład zapewnienia kolejności wykonania węzłów funkcji I/O za pomocą przepływu danych (Deskryptor i błąd). LabView konstrukcje sterujące graficznego języka G Konstrukcja sekwencji operacji - wygląda jak ramka filmu i składa się z jednej lub kilku ramek ( klatek filmu ). Wykonuje ona kolejno kody programu umieszczone w ramkach 0, 1, 2, 3 itd. Konstrukcje sekwencyjne stosuje się do wymuszenia określonej kolejności wykonywania fragmentów kodu, gdy nie daje się tego uzyskać przepływem danych. Diagramy kodu umieszczone w ramkach konstrukcji są realizowane kolejno, zgodnie z numerami ramek. Sekwencję można rozbudowywać do dowolnej liczby ramek Przykład konstrukcji sekwencyjnej oraz kolejne jej ramki

LabView konstrukcje sterujące graficznego języka G Tunele wejść i wyjść konstrukcji sekwencji operacji - tworzą się automatycznie podczas prowadzenia połączeń przez kontury konstrukcji. Dane wejściowe konstrukcji są dostępne dla wszystkich jej ramek. Wyjścia danych z konstrukcji mogą mieć tylko jedno źródło informacji, czyli każde z wyjść struktury jest związane z jedną z ramek, ale tunele wyjściowe są widoczne we wszystkich ramkach. Dane opuszczają strukturę w momencie, gdy ostatnia ramka zakończy wykonanie zawartego w niej kodu. Oznacza to, że dane wyjściowe określonej ramki opuszczają strukturę po jej całkowitym wykonaniu, a nie kiedy skończy się wykonanie danej ramki Przekazywanie danych z jednej ramki do ramek występujących po niej realizuje się za pomocą terminala zwanego lokalną sekwencją. Do uzyskania lokalnej sekwencji, wykorzystuje się operację Add Sequence Local ze specjalnego menu, uaktywnianego przyciśnięciem prawego klawisza myszki. Lokalna sekwencja jest zaznaczona końcówką przenoszenia danych we wszystkich ramkach sekwencji. W ramce będącej źródłem danych dla lokalnej sekwencji punkt przekazywania danych jest zaznaczony zewnętrznym zwrotem strzałki a w ramce odbiorczej strzałką zwróconą do jej wnętrza. Ramki poprzedzające ramkę będącą źródłem danych nie mogą oczywiście korzystać z danych przenoszonych lokalną sekwencją i w nich punkt przenoszenia nie jest zaznaczony strzałką. Konstrukcja sekwencyjna może wykorzystywać kilka lokalnych sekwencji przekazywania danych. LabView konstrukcje sterujące graficznego języka G Rysunek pokazuje cztero-klatkową konstrukcję z lokalną sekwencją przekazywania danej wypracowanej przez diagram klatki numer 1. Kolejne klatki (tutaj 2 i 3) dostają daną za pośrednictwem terminala wejściowego lokalnej sekwencji ale nie muszą jej wykorzystywać. Ramka numer 0 wykonuje się przed ramką numer 1 i nie może korzystać z terminala sekwencji lokalnej. Ramki konstrukcji sekwencyjnej z lokalną sekwencją przekazywania danych Przykład wykorzystania konstrukcji sekwencyjnej do odmierzenia czasu wykonania kodu umieszczonego w ramce 0. LabView konstrukcje sterujące graficznego języka G Konstrukcja wyboru (case) - umożliwia alternatywne wykonywanie bloków kodu objętych tą konstrukcją. Funkcjonalnie odpowiada instrukcji if...then...else lub switch języka C. Konstrukcja posiada minimum dwie ramki. Każda ramka zawiera blok programowy realizujący określone operacje oraz deklarację wartości wybierających. Wykonanie konstrukcji polega na wykonaniu kodu jednej z jej ramek. Wybór ramki jest realizowany na podstawie danej dostarczonej do wejścia selekcyjnego konstrukcji case. Postać graficzna konstrukcji case

LabView konstrukcja wyboru (case) (cd) Wejście selektora może przyjmować dane boolowskie (domyślny typ), całkowite, stringowe oraz numeryczne. W przypadku, gdy wejście selektora korzysta z danych boolowskich konstrukcja posiada dwie ramki odpowiednio dla wartości FALSE i TRUE. Jeśli selektor korzysta z pozostałych typów danych struktura może mieć do 2^32-1 przypadków (ramek). Konstrukcja case z selektorem Int32 oraz przykładem deklaracji wartości wybierających LabView konstrukcja wyboru (case) (cd) Dla każdej z możliwych wartości selektora musi być przypisana jedna z ramek konstrukcji case. Określenie wartości wybierających daną ramkę realizuje się przez wpisanie ich listy w okienku wartości wybierających. W konstrukcji case z selektorem boolowskim ramkom przypisane są wartości True i False. W sytuacji wyboru przy użyciu danych całkowitych pole wartości wybierającej daną ramkę może mieć postać: Pojedynczej wartości całkowitej, np. 12 - ramka jest wykonywana, gdy selektor konstrukcji otrzyma wartość 12. Listy wartości całkowitych, np. 2, 4, 6, 7 - ramka jest wykonywana, gdy selektor konstrukcji otrzyma jedną z wartości podanej w liście. Listy wartości określonych zakresem, np. 5..25 - ramka jest wykonywana, gdy selektor konstrukcji otrzyma wartość z podanego zakresu. Wartości domyślnej (Default) - ramka jest wykonywana, gdy selektor konstrukcji otrzyma wartość różną od wartości określonych dla innych ramek konstrukcji. Przykład diagramu z konstrukcją case w zastosowaniu do obliczania pierwiastka kwadratowego (oba przypadki wykorzystują ten sam tunel wyjściowy) LabView konstrukcje sterujące graficznego języka G Konstrukcje pętli programowych for -konstrukcję pętli for stosuje się w celu cyklicznego wykonania wybranego bloku kodu, gdy liczba wymaganych powtórzeń (iteracji) wykonania jest znana w danym miejscu programu. W środowisku LabVIEW pętla for ma postać ramki obejmującej poddiagram stanowiący blok kodu programu, który ma być wykonany określoną ilość razy. Konstrukcja pętli for Ramka pętli for posiada predefiniowane wejście liczby iteracji oraz terminal wyjścia licznika iteracji. Wejście liczby iteracji jest typu long integer. Dołączenie danej numerycznej zmiennoprzecinkowej do wejścia liczby iteracji spowoduje zaokrąglenie tej liczby do wartości całkowitej. Licznik iteracji jest zerowany w momencie rozpoczęcia działania pętli, dostarcza aktualny numer wykonywanej iteracji (od 0 do N-1) i jest inkrementowany po każdej iteracji. Sprawdzenie warunku zakończenia (i<n) jest wykonywane przed rozpoczęciem kolejnej iteracji, dlatego dla N=0 pętla nie wykonana ani razu swojego diagramu i zakończy działanie

LabView konstrukcje sterujące graficznego języka G Konstrukcje pętli programowych while - stosuje się w celu cyklicznego wykonania wybranego bloku kodu, gdy liczba wymaganych powtórzeń (iteracji) wykonania nie jest znana. Pętla while ma postać ramki obejmującej diagram stanowiący blok kodu programu, którego wykonanie jest powtarzane aż do momentu przerwania działania pętli. Ramka pętli while posiada predefiniowany terminal wyjścia licznika iteracji oraz terminal warunku kontynuowania działania pętli. Licznik iteracji jest zerowany w momencie rozpoczęcia działania pętli, dostarcza aktualny numer wykonywanej iteracji (od 0) i jest inkrementowany po każdej iteracji. Terminal kontynuacji działania pętli korzysta z wartości logicznych (boolowskich) wypracowanych przez diagram pętli. Konfigurowanie terminala kontynuacji pozwala ustalić wartość logiczną przerywającą działanie pętli (Continue IF True lub Stop If True). Sprawdzenie warunku zakończenia jest realizowane po wykonaniu każdej iteracji, dlatego zawsze jest wykonana przynajmniej jedna iteracja pętli. Działanie pętli jest podobne jak pętli do...while języka C. LabView konstrukcje sterujące graficznego języka G Tunele wejściowe i wyjściowe konstrukcji pętlowych, auto-indeksacja - konstrukcje pętli for i while mogą posiadać wejścia i wyjścia danych. Tunel wejściowy danych tworzy się automatycznie w momencie prowadzenia połączenia pomiędzy wyjściem węzła znajdującego się na zewnątrz pętli a wejściem węzła poddiagramu pętli. Podobnie tunel wyjścia danych powstaje podczas łączenia wyjścia węzła poddiagramu pętli z wejściem węzła znajdującego się poza konstrukcją pętli Pętla for i while z tunelami wejściowymi LabView Pętla for i while z tunelami wejściowymi (cd) Pętla rozpoczyna działanie po otrzymaniu wszystkich danych wejściowych. W tym momencie są one też przekazywane do pętli i ich wartości są takie same we wszystkich iteracjach pętli. Jeśli zatem do tunelu wejściowego pętli jest dołączony terminal obiektu nastawczego to pętla dysponuje jego stanem uzyskanym w momencie rozpoczęcia swojego działania. Zatem zmiany stanu tego obiektu nastawczego w czasie działania pętli nie są w niej zauważane. Jeśli pętla ma reagować na aktualny stan obiektu nastawczego, to jego terminal musi być umieszczony wewnątrz pętli. Wtedy każda iteracja pętli dysponuje aktualnym stanem nastawnika. Rozbiór tablicy na elementarne składniki za pomocą wejść z auto-indeksacją

LabView Pętla for i while z tunelami wejściowymi (cd) W przypadku tuneli wejściowych przekazujących tablice można ustalić charakter wejścia tak, aby pętla uzyskała całą tablicę (Disable Indexing) lub określone elementy tablicy dla kolejnych iteracji (Enable Indexing). Auto-indeksowanie wejściowe rozpoczyna się od zera i polega na przekazaniu kolejnym iteracjom pętli danych o rozmiarze zmniejszonym o 1 z N wymiarowej tablicy wejściowej (rozkładanie tablicy). W przypadku tablicy N wymiarowej iteracje dostają kolejne podtablice o rozmiarze skalarny element z N-1. Iteracja i otrzymuje i-ty jednowymiarowej tablicy, i-tą jednowymiarową tablicę z dwuwymiarowej tablicy, itd. Wejście z auto-indeksowaniem wpływa na liczbę iteracji pętli for, która jest wtedy określona przez wartość z wejścia liczby iteracji lub rozmiaru tablicy wejściowej. Obowiązuje mniejsza z tych wartości. Wejście liczby iteracji może pozostać niepołączone, jeśli pętla korzysta z auto-indeksowanego wejścia. W przypadku kilku wejść z auto-indeksowaniem liczba iteracji jest określona rozmiarem najmniejszej tablicy. Stąd jeśli dwie tablice 20- i 50-elementowa poprzez wejścia z auto-indeksacją inicjują działanie pętli for z zadeklarowaną liczbą 25 iteracji, to pętla realizuje 20 iteracji wykorzystując w nich wszystkie elementy tablicy pierwszej oraz 20 pierwszych elementów tablicy drugiej. LabView Auto-indeksowanie (cd) Auto-indeksowanie dotyczy także tuneli wejściowych pętli while. Obowiązują te same zasady z wyjątkiem ograniczenia liczby iteracji. Rozmiar tablicy nie ma wpływu na liczbę iteracji pętli while, ponieważ są one realizowane dopóki terminal przerwania otrzymuje określoną wartość boolowską. Kiedy liczba iteracji przekroczy rozmiar tablicy, wejście dostarcza wartości domyślne tego samego typu jak dostarczane dotąd. W przypadku jednowymiarowej tablicy double są to zerowe wartości numeryczne. Dane wyjściowe są generowane po zakończeniu działania pętli. Tunel wyjściowy pętli for i while może pracować z auto-indeksacją lub bez niej, niezależnie od rodzaju danych doprowadzonych z wnętrza pętli. Jeśli pracuje bez auto-indeksacji dostarcza wartość wyprowadzoną na wyjście podczas ostatniej iteracji wykonanej przez pętlę. Tryb auto-indeksacji tworzy na wyjściu tablicę z danych dostarczanych na wyjście po każdej iteracji pętli. Tablica wyjściowa dostępna po zakończeniu działania pętli ma rozmiar równy liczbie wykonanych iteracji. Jej wymiar zależy od wymiaru danych produkowanych w iteracjach. W przypadku produkcji danych skalarnych powstają tablice jednowymiarowe. Jednowymiarowe tablice są gromadzone w dwuwymiarowej, itd. LabView Pętla for i while uwagi praktyczne Pętle for są wydajniejsze od pętli while w obsłudze operacji tablicowych. Wynika to stąd, że liczba iteracji pętli for jest znana w momencie rozpoczęcia jej działania i można zarezerwować odpowiednie obszary pamięci dla tworzonych tablic. W przypadku pętli while w każdej iteracji trzeba rozszerzyć rozmiary tworzonych tablic czyli musi być wykonana realokacja pamięci oraz przeniesienie dotychczasowych danych do nowego obszaru. Skutkuje to mniejszą wydajnością operacji tablicowych. Mimo tego mankamentu pętle while są niezbędne do realizacji algorytmów, w których nie można z góry określić liczby wymaganych iteracji. Pętle for są domyślnie przystosowane do tworzenia tablic. Kreowany tunel wyjściowy pętli for jest domyślnie ustawiany w trybie autoindeksacji niezależnie od rodzaju wyprowadzanych danych. Również tunele wejściowe przekazujące tablice uzyskują domyślnie tryb autoindeksacji. Tunele wejściowe i wyjściowe pętli while domyślnie pracują bez autoindeksacji.

LabView konstrukcje sterujące graficznego języka G Operator rejestru przesuwnego konstrukcji pętlowych (shift registers) Operator rejestru przesuwnego służy do przenoszenia danych pomiędzy kolejnymi iteracjami pętli for i while. Składa się z dwóch terminali umiejscowionych na przeciwległych stronach ramki konstrukcji pętli. Terminal ze strzałką skierowaną w górę jest wejściem rejestru. Do niego realizuje się połączenie z wyjściem wybranego węzła poddiagramu pętli, który dostarcza danej przekazywanej do następnej iteracji. Wyjściem rejestru jest terminal ze strzałką skierowaną w dół. Dostarcza on danej z poprzedniej iteracji lub wartość początkową w pierwszej iteracji. Wykorzystanie rejestru przesuwnego do obliczania średniej z czterech wartości losowych generowanych w kolejnych iteracjach pętli LabView Operator rejestru przesuwnego konstrukcji pętlowych Uwagi praktyczne: Rejestr można inicjalizować daną z węzła lub terminala znajdującego się na zewnątrz pętli dołączonego do terminala ze strzałką skierowaną w dół. Jeśli rejestr nie jest jawnie inicjalizowany przyjmuje domyślne wartości początkowe danego typu (0 dla typów numerycznych) lub korzysta z danych uzyskanych podczas wcześniejszego działania pętli, jeśli program wykonuje pętlę wielokrotnie. Rejestr przesuwny można stosować do dowolnego typu danych, ale utworzony rejestr dotyczy jednego typu danych. Rejestr tworzy się wybierając z menu konstrukcji pętli pozycję Add Shift Register. Można utworzyć wieloelementowy rejestr przesuwny wybierając z menu terminala rejestru pozycję Add Element. Każde dodanie elementu tworzy dodatkowy terminal ze strzałką skierowaną w dół. Terminale te są sklejone ze sobą. Utworzenie wieloelementowego rejestru pozwala korzystać z kilku danych pochodzących z kolejnych poprzedzających iteracji. Pętla może korzystać z wielu rejestrów przesuwnych. LabView Konstrukcja bloku Node węzeł Formula Konstrukcję formuły używa się do utworzenia węzła diagramu realizującego operacje zdefiniowane w ramce konstrukcji i zapisane w formie tekstowej, np.: y = 3 * x ^ 2 + x * log(x); Węzeł Formula jest użyteczny do realizacji operacji, które korzystają z wielu zmiennych oraz produkują jeden lub więcej rodzajów danych wyjściowych. Syntaktyka zapisu bloku programu węzła Formula jest podobna do zapisu bloku instrukcji programu w języku C. Blok może zawierać deklaracje zmiennych (dostępny tylko typ float oraz int) oraz wyrażenia. Można korzystać z instrukcji sterujących if..then..else, switch..case, pętli for, while, do..while itp. Wyrażenia wykorzystują takie same operatory jak język C (te same oznaczenia i priorytety). Wyjątkiem jest dodatkowy operator podnoszenia do potęgi (wyrażenie x**y oznacza x do potęgi y). Przykład wykorzystania węzła Formuła do realizacji obliczeń

LabView Zmienne lokalne i globalne programów VI Obiekty nastawcze pulpitu dostarczają dane do diagramu za pośrednictwem końcówek wejściowych a obiekty wskaźnikowe pulpitu uzyskują dane z diagramu za pośrednictwem końcówek wyjściowych. Z każdym obiektem pulpitu jest związana jedna i tylko jedna końcówka wyjściowa lub wejściowa diagramu. Aplikacja może potrzebować dostępu do tych danych w różnych miejscach a jednocześnie nie zawsze można to uzyskać przewodami przepływu danych. Problem ten rozwiązują zmienne lokalne i globalne. Zmienne lokalne zapewniają dostęp do danych obiektu pulpitu w różnych miejscach pojedynczego programu VI, natomiast zmienne globalne udostępniają i przenoszą dane pomiędzy różnymi, jednocześnie realizowanymi programami VI. Nie zaleca się stosowania zmiennych w programach VI, ponieważ przesłaniają one przepływ danych a tym samym utrudniają analizę kodu i usuwanie ewentualnych błędów. Mogą być też przyczyną wielu dodatkowych problemów (większe narzuty, niejednoznaczne zachowanie programu itp.). Istnieją jednak sytuacje, gdy zastosowanie zmiennych lokalnych lub globalnych jest w pełni uzasadnione. Przykładowo aplikacja może stosować dwie równolegle działające pętle while. W jednej z nich są generowane dane, z których na bieżąco korzystają operacje drugiej, równolegle działającej pętli. Nie ma innej metody udostępnienia danych z wnętrza działającej pętli niż przekazanie ich za pomocą zmiennej. LabView Zmienne lokalne.. Zmienna lokalna pozwala zapisać lub odczytać daną obiektu panelu niezależnie czy jest on obiektem sterującym czy wskaźnikowym. Operacje te funkcjonują tak samo jak przeniesienie danych do lub z końcówki obiektu w diagramie z tym, że przykładowo zapis zmiennej jest dostępny również w stosunku do obiektów sterujących pulpitu, które formalnie są źródłami danych. Dzięki temu, zmienne lokalne można wykorzystać nie tylko do uzyskania aktualnego stanu określonego obiektu sterującego w różnych miejscach diagramu programu ale także do modyfikacji jego ustawienia, np. ustawienia przełącznika w pewnym stanie. To samo dotyczy obiektów wskaźnikowych panelu. Przykładowy diagram z zastosowaniem zmiennej lokalnej związanej z obiektem Stop do przerwania działania niezależnych pętli. LabView Zmienne lokalne.. uwagi praktyczne: Zastosowanie zmiennej lokalnej w diagramie wymaga jej wykreowania oraz powiązania z określonym obiektem pulpitu i określenia jej przeznaczenia ( odczyt lub zapis stanu obiektu). Do utworzenia zmiennej lokalnej można wykorzystać ikonę znajdującą się w palecie struktur. Po jej przeciągnięciu do edytora diagramu pojawia się symbol zmiennej za znakiem zapytania wskazującym na potrzebę jej powiązania z konkretnym obiektem pulpitu. Powiązanie i określenie przeznaczenia zmiennej wykonuje się wykorzystując menu zmiennej (pozycje Select Item oraz Change To Read/Write). Proste zastosowanie zmiennej lokalnej ilustruje przykład diagramu wykorzystującego równolegle działające pętle while, których działanie przerywa przycisk STOP. Końcówka wejściowa obiektu STOP znajduje się wewnątrz jednej z pętli. Z powodu założenia równoległości działania obu pętli, nie można zastosować połączenia przepływu danych z tej końcówki do terminala kontynuacji drugiej pętli. Można jednak utworzyć zmienną lokalną związaną z obiektem STOP i wykorzystać ją w drugiej pętli. Po zakończeniu działania obu pętli przełącznik jest ustawiany w stanie spoczynkowym (odwrotne wykorzystanie zmiennej lokalnej). Wykorzystanie zapisu do zmiennej powoduje, że przełącznik zachowuje się tak jak przycisk.

LabView Zmienne globalne.. Zmienne globalne zapewniają dostęp do wspólnych danych wykorzystywanych przez kilka programów VI realizowanych równocześnie. Są one wbudowanymi obiektami LabView. Kreowanie zmiennej globalnej powoduje automatyczne wytworzenie specjalnego globalnego VI, który posiada tylko panel i nie ma diagramu. Wprowadzenie obiektów nastawczych i wskaźnikowych do tego panelu określa typy danych i składniki takiego obiektu globalnego. Zmienna globalna może mieć zatem postać złożoną, zapewniającą przekazywanie bardzo różnych danych. Jej panel można traktować jako kontener, z którego mogą korzystać różne programy VI. Zastosowanie zmiennej globalnej do przekazywania danych pomiędzy dwoma programami VI LabView Zmienne globalne.. Utworzenie zmiennej globalnej realizuje się przez wybranie ikony GLOB z palety struktur i przeciągnięcie jej do diagramu aplikacji. Zostaje utworzony symbol graficzny zmiennej w postaci prostokąta ze znakiem zapytania sygnalizującym brak jej pełnego zdefiniowania oraz niewidoczny VI z pustym pulpitem. W celu zdefiniowania zmiennej należy otworzyć pulpit (z menu zmiennej wybrać pozycję Open Front Panel) i umieścić na nim odpowiednie obiekty odpowiadające typom danych, które składają się na tworzoną zmienną globalną. Zdefiniowaną zmienną globalną wprowadza się do aplikacji przez otwarcie określonego globalnego VI i przeciągnięcie jego ikony do jej diagramu. W miejscu docelowym należy jeszcze skonfigurować ją w sensie określenia sposobu wykorzystania (zapis lub odczyt) oraz wybrania odpowiedniego składnika, w przypadku złożonej budowy zmiennej. Diagram pokazany na rysunku powyżej, przedstawia prosty przykład zastosowania zmiennej globalnej do przekazywania danych pomiędzy dwoma równolegle wykonywanymi programami VI. Pierwszy generuje cyklicznie w odstępach jednosekundowych wartości a drugi prezentuje je na swoim pulpicie. Uaktualnianie następuje co dwie sekundy na podstawie zawartości składnika Number to Pass zmiennej globalnej. Składnik Stop Button tej samej zmiennej pozwala przerwać działanie programu Generate Number wraz z zatrzymaniem programu Display Number za pomocą przycisku Stop. Podstawowa różnica pomiędzy zmiennymi lokalnymi i globalnymi dotyczy zakresu ich dostępności. Zmienna lokalna jest dostępna tylko w kodzie diagramu, w którym została wykreowana. Zmienna globalna może być użyta w każdym programie lub podprogramie VI, a ponieważ jest ona ładowana z pliku to dowolny program VI może mieć do niej dostęp. W rezultacie można bardzo łatwo stracić kontrolę nad danymi i programy będą korzystały z błędnych wartości. Między innymi mogą to spowodować warunki wyścigu zaistniałe, gdy kilka równolegle wykonywanych kodów równocześnie aktualizuje zmienną. W przypadku zmiennych lokalnych znane są miejsca ich modyfikacji w diagramie programu i problem danych jest łatwiejszy do śledzenia. LabView Tools paleta narzędziowa Wybierając z opcji Windows polecenie Show Tools Palette, otworzymy okno, w którym dostępne są narzędzia do edycji przyrządów wirtualnych 1 zmiana nastaw obiektów na panelu 2 zmiana położenia, wymiarów i wyboru obiektów 3 edycja tekstów i tworzenia napisów 4 łączenie obiektów na diagramie 5 rozwijanie menu z dostępnymi obiektami 1 2 4 7 8 3 5 6 9 10 6 Przewijanie zawartości okna 7 usuwanie punktów przerwania programu 8 sonda pokazująca wartość sygnału w wybranym punkcie programu Tools Palette 9 kopiowanie (pobieranie) kolorów 10 zmiana kolorów

LabView Controls Palette (paleta elementów do budowy panelu) 1 Numeric elementy do wprowadzenia do programu i odczytywania z programu danych liczbowych (pokrętła, wskaźniki cyfrowe ) 2 Boolean elementy danych typu logicznego (przełączniki, diody ) 3 String & Table elementy do wprowadzania do programu i odczytywania z programu danych w postaci tekstu lub tabeli 4 List & Ring - elementy do wprowadzenia do programu informacji z wybranych menu 5 Array & Cluster Elementy do wprowadzania do programu i odczytywania z niego danych w postaci macierzy lub rekordów 6 Graph elementy do tworzenia wykresów 7 Path & Refnum ścieżki dostępu do pliku oraz elementy do identyfikacji operacji wejścia / wyjścia. 8 Decorations elementy dekoracyjne 9 User Controls własne elementy użytkownika 10 Select a Control własne elementy użytkownika zapisane w pliku 11 Active X - wykorzystanie Microsoft Excel WorkSheet. 1 2 4 7 8 11 Controls Palette 3 5 6 9 10 Wybierając z opcji Windows polecenie Show Controls Palette, otworzymy okno, z którego wybierzemy obiekty które chcemy umieścić na panelu. LabView Functions Palette (paleta elementów funkcyjnych) 1 Structures sekwencje, instrukcje wyboru, pętle, struktura do wpisania wzorów, zmienne globalne, zmienne lokalne 2 Numeric operacje na liczbach 3 Boolean operacje na zmiennych typu logicznego 4 String operacje na łańcuchach znaków 5 Array operacje na macierzach 1 2 4 7 3 5 6 9 6 Cluster operacje na rekordach 7 Comparison operacje porównania 8 Time & Dialog funkcje związane z czasem i tworzeniem okien dialogowych 9 File I/O funkcje do obsługi plików 10 Communication funkcje związane z komunikacją komputera 11 Instrument I/O Funkcje do obsługi urządzeń peryferyjnych 12 Data Acquisition Funkcje do obsługi kart akwizycji sygnałów pomiarowych 8 10 13 14 16 19 11 12 15 17 18 13 Analysis funkcje do analizy sygnałów 14 Tutorial przykładowe przyrządy wirtualne 15 Advanced operacje do zaawansowanych zastosowań 16 Instrument Drivers driver ydo urządzeń Aby umieścić ikony w diagramie należy otworzyć okno Functions 17 User Librraries biblioteki użytkownika 18 Aplication Controls funkcje związane z tworzeniem aplikacji 19 Select a VI - Wyszukiwanie przyrządów wirtualnych LabView konstrukcje pętli for, while, node. Podczas przed tworzenie programu należy się zapoznać z działaniem funkcji (pętli) umieszczonej w grupie Structures (umożliwiają one programowanie w sposób znany nam z Turbo Pascala) 1 Sequence umożliwia określenie kolejności wykonywanych operacji 2 Case -W zależności od wartości zmiennej wykonywane są operacje (pętla if then else ) 3 For Loop umieszczona w tej ramce część programu jest wykonywana N razy (pętla for i = 0 to n do ) 4 While Loop analogicznie do poprzedniego polecenia ale wykonuje do określonego stanu (pętla while do ) 5 FormulaNode blok służy do wprowadzania wzorów matematycznych w przypadku gdy nie chcemy wybierać ich z okna Functions gdy się posługujemy tym poleceniem musimy na zaciskach wejściowych zdefiniować nazwę zmiennej używaną we wzorach umieszczonych wewnątrz ramki

LabView wprowadzanie zmian w elementach na panelu Każdy element na panelu możemy zmienić i dostosować do naszych potrzeb zmian dokonujemy narzędziami wybranymi z okna Tools lub z menu rozwijalnego przypisanego obiektowi Z menu możemy wybrać pozycję: Change to Idicator zmiana z elementu wejściowego na wyjściowy Find Terminal odszukuje na diagramie zacisk danego obiektu Show pokazuje lub ukrywa etykiety Data Operations umożliwia zadanie ustawień początkowych Create umożliwia zmianę obiektu w czasie wykonywania programu Key Navigation wybór klawisza skrótu Replace zmiana obiektu na inny Representation zmiana reprezentacji liczby Data Range zmiana zakresu danych Format & Precision zmiana formatu i liczby miejsc po przecinku Add Needle dodanie nowej wskazówki do pokrętła Scale zmiana skali Text Labels zmiana skali z liczbowej na tekstową LabView Pomiar i akwizycji danych Graficzny język programowania systemu Lab View umożliwia skorzystanie z gotowych funkcji i procedur przygotowanych w postaci przyrządów wirtualnych Znajdują się tu przyrządy wirtualne do obsługi: wejść i wyjść analogowych (1,2), wejść i wyjść cyfrowych (3), do obsługi układów licznikowych (4), do kalibracji i konfiguracji (5) oraz do kondycjonowania sygnału (6). LabView Budowa danych przekazywanych do obiektu XY Graph Środowisko LabView posiada szereg różnych możliwości graficznej prezentacji danych. Prezentację danych w przestrzeni kartezjańskiej X-Y zapewnia obiekt prezentacyjny pulpitu XY Graph. Jego port wejściowy z diagramu przyjmuje złożone typy danych na podstawie, których są kreślone wykresy (pojedynczy lub cała rodzina). Dane dla pojedynczego wykresu muszą być przekazane w postaci tablicy z współrzędnymi kolejnych punktów lub w postaci dwóch tablic zawierających odpowiednio współrzędne x i y. Kreślenie wykresu po zgromadzeniu danych XY Sposób prezentacji punktów Zbiór koordynat punktów (x,y). Zbiór koordynat punktów (x,y). Osobne zbiory współrzędnych x i y punktów. Osobne zbiory współrzędnych x i y punktów. Typ wykresu Single Plot Multi Plot Single Plot Multi Plot

LabView Kreślenie kilku wykresów na wspólnym obiekcie Wewnętrzna pętla For produkuje dane XY jednej charakterystyki. Pętla zewnętrzna powtarza operację dla innych danych wejściowych. W rezultacie zostają wytworzone trzy zestawy danych XY stanowiących trzy osobne charakterystyki. Podobnie jak poprzednio są dostępne dwa sposoby uzyskania wymaganej postaci danych przekazywanych do terminala obiektu prezentacyjnego XY Graph. Zgodnie z pierwszym sposobem, każde wykonanie pętli wewnętrznej kończy się zbudowaniem przez węzeł 1 struktury zawierającej dane jednej charakterystyki. Wyprowadzenie tej danej przez wyjście z autoindeksacją pętli zewnętrznej produkuje tablicę struktur. Każde pole tej tablicy tworzy jeden wykres w obiekcie XY Graph. Metody kreowania danych w wypadku kilku wykresów (Multi Plot). LabView Kreślenie wykresu równolegle z zbieraniem danych XY Wizualna postać charakterystyk na XY Graph i XY Graph2. W aplikacjach pomiarowych można z powodzeniem stosować przedstawione metody tworzenia danych dla wykresów szczególnie, gdy proces akwizycji danych jest szybki i obserwacja postępu pomiaru charakterystyki jest zbyteczna. Dane są gromadzone szybko a żądaną postać końcową wymaganą przez obiekty XY Graph uzyskują po wykonaniu części pomiarowej aplikacji. Bieżąca prezentacja graficzna ma istotne zalety: pokazuje postęp pomiarów kolejnych charakterystyk i zbyteczne stają się inne środki ilustrujące działanie aplikacji. Forma graficzna pozwala łatwo ocenić poprawność realizacji pomiarów. W wypadku nie zadawalających wyników użytkownik może przerwać pomiary zamiast oczekiwać w nieświadomości do momentu zakończenia wszystkich przewidzianych w aplikacji pomiarów. Graficzna prezentacja ułatwia ocenę tendencji zmian monitorowanych parametrów LabView Kreślenie pojedynczej charakterystyki (Single Plot). Przykład akwizycji danych z jednoczesnym kreśleniem charakterystyki (Single Plot). Kumulację danych uzyskiwanych w kolejnych iteracjach pętli wykonuje subvi. Jego działanie opiera się na dołączaniu kolejnych danych (Cluster XY) do aktualnej zawartości obiektu 'Array out' stanowiącego wyjście subvi. Każda iteracja realokuje pamięć rozszerzając obszar o jeden dołączany element i wpisuje w to miejsce nowy Cluster XY. Pętla akwizycji danych z bieżącym kreśleniem charakterystyki. Budowa subvi akumulującego dane

LabView Kreślenie wykresów wektorowych (Polar Plot) Użytkownik ma do dyspozycji szereg funkcji pozwalających prezentować dane w postaci specyficznych wykresów, np. polarnego lub Smitha. Funkcje te są firmowymi podprogramami subvi dołączonymi do środowiska projektowego. Można poznać budowę ich diagramów i ewentualnie zbudować własne wersje uwzględniające indywidualne potrzeby. Funkcje tej grupy przyjmują dane charakterystyk, w których punkt jest reprezentowany strukturą z jego koordynatą. W zależności od typu wykresu koordynata jest parą współrzędnych XY (Plot XY.vi) lub składa się z modułu i kąta (Polar Plot.vi) względnie wartości rzeczywistej i urojonej (Smith Plot.vi). Końcówki węzła Polar Plot.vi. Zestaw funkcji tworzących obrazy wykresów Ustawianie własności obrazu wykresu polarnego LabView Kreślenie pojedynczej charakterystyki (Single Plot). Wykres wektorowy (polarny, biegunowy) jest przydatny między innymi do prezentacji charakterystyk częstotliwościowych transmitancji filtrów (moduł transmitancji, przesunięcie fazowe). Niżej pokazano sposoby wykorzystania węzła Polar Plot do uzyskania wykresu wektorowego prezentującego wyniki na bieżąco oraz po zgromadzeniu wszystkich danych. Tworzenie obrazu wykresu polarnego w wersji Multi Plot. Prezentację bieżącą można uzyskać dzięki akumulacji danych za pomocą subvi Real One Plot. Kreślenie kilku charakterystyk uzyskuje się przez kaskadowe połączenie kilku węzłów Polar Plot przekazujących sobie kolejno obraz. Każdy z węzłów dokłada jeden wykres. Wszystkie te węzły muszą być identycznie skonfigurowane w zakresie rozmiarów obrazu, skalowania, rodzaju skali itp. Nie ma możliwości autoskalowania. LabView Przykład budowy generatora liuczb pseudolosowych Krok 1: Na panelu programu umieszczamy dwa obiekty wybrane z grupy Numeric : Digital Conteol (do wyświetlania poprzedniego wyniku) i Digital Indicator (do wyświetlania nowego wyniku) Powoduje to wyświetlenie się ikon dwu zmiennych w drugim oknie. Krok 1 Krok 2: Następnie przechodzimy do operacji na diagramie. Umieszczamy na nim generator funkcji losowych znajdujący się w oknie Numeric. Funkcja ta generuje liczby losowe w zakresie od 0 do 1. Jeżeli założymy, że zasymulowany wynik nowego pomiaru może się różnić od poprzedniego o (- 0.5, + 0.5) musimy odjąć 0.5. Krok 3: Dla przyrządu wirtualnego warto stworzyć ikonę w tym celu klikamy na okno symbolizujące ikonę i dokonujemy edycji. Krok 2 Krok 3