Idea przyrządów wirtualnych Virtual Instruments - VI Czym jest przyrząd wirtualny? Połączenie sprzętu pomiarowego, czy to wolnostojącego czy w postaci kart rozszerzeń do komputera (PC, Palmtopa itp.) z oprogramowaniem umożliwiającym obsługę tego sprzętu. Przyrząd pomiarowy Interfejs I/O 1
Idea przyrządów wirtualnych Virtual Instruments - VI Zarządzane z poziomu oprogramowania 2
Interfejsy pomiarowe Do komunikacji pomiędzy komputerem a przyrządami pomiarowymi można wykorzystać dowolny interfejs. Istnieje jednak kilka standardów najczęściej wykorzystywanych (w tym również coraz częściej USB). DAQ Data Acquizition PXI PCI extensions for Instrumentation GPIB General Purpose Interface Bus VXI VMEbus extentionst for Instrumentation (VME = Versa Module Europe) 3
Idea przyrządów wirtualnych Virtual Instruments - VI Pomysł nie jest nowy na slajdzie pokazano rozwiązanie lansowane przez firmę Helwett-Packard w 1986 roku (obecnie HP nie produkuje już aparatury pomiarowej wydzielono odrębną firmę Agilent Technologies). Proszę zauważyć, że przyrządy pomiarowe nie mają żadnych przycisków sterujących na panelach czołowych! Sterowanie odbywa się wyłącznie z poziomu oprogramowania zainstalowanego na komputerze PC. 4
Idea przyrządów wirtualnych Virtual Instruments - VI Karta DAQ lub tzw. digitizer czy też karta oscyloskopu cyfrowego w standardzie PCI/PXI/VXI + oprogramowanie na PC Oscyloskop 4,00 3,00 Panel zacisków wejściowych Karta DAQ 2,00 1,00 0,00-1,00-2,00-3,00-4,00 0,000 0,010 0,020 0,030 0,040 0,050 Source CH B EXT TRIGGER Slope POS NEG Level 0 - + PROGRAM CONTROL CHANNEL POSITION MORE INFO... [F5] A Time Base 10 ms/div Volts/Div 1 V/DIV B STOP [F4] A & B 5 ms/div 20 ms/div.5 V/DIV 2 V/DIV Multimetr STOP AC 0,147 mv Device 1 0 Channel 5
Idea przyrządów wirtualnych Virtual Instruments - VI System PXI Oprogramowanie Urządzenie 6
Kontroler (P-IV M) CAN Multimetr +DAQ DAQ MUX Oscyloskop Idea przyrządów wirtualnych Virtual Instruments - VI 7
Multimetr Idea przyrządów wirtualnych Oscyloskop Virtual Instruments - VI Aplikacja własna MUX 8
Idea przyrządów wirtualnych Virtual Instruments - VI Interfejs GPIB 9
Przechodzimy do LabVIEW LabVIEW Laboratory Virtual Instrument Engineering Workbench 10
Literatura, dokumentacja Gdzie szukać informacji (poza www.ni.com) 1. Dokumentacja do LabVIEW jest pełna dokumentacja w formacie Adobe Acrobat (pdf). 2. Polskie centrum LabVIEW www.labview.pl 3. Strony prywatne. 4. Książki w j. polskim: Wiesław T., Środowisko LabVIEW w eksperymencie wspomaganym komputerowo, WNT, 2002 (cena ok. 55-58 zł). Świstulski D., Komputerowa technika pomiarowa: oprogramowanie wirtualnych przyrządów pomiarowych w LabVIEW, Agenda Wydawnicza PAK-u, W-wa 2005 (można zakupić na Wydziale Elektrycznym, gdzie mieści się obecnie redakcja PAKu) 11
Tworzenie aplikacji w LabVIEW Panel czołowy/operatora Controls = kontrolki/zadajniki Indicators = wskaźniki/wejścia Diagram blokowy Kod programu w postaci graficznej Ikony łączone wirtualnymi przewodami 12
Tworzenie aplikacji w LabVIEW Poniżej przykład pokazujący odpowiedniość diagramu blokowego dla kodu źródłowego napisanego w tradycyjnym, tekstowym środowisku programowania. Przykład zaczerpnięto z LabVIEW Development Guidelines, National Instruments. 13
Tworzenie aplikacji w LabVIEW Każda kontrolka i wskaźnik umieszczone na panelu operatora mają swój odpowiednik na diagramie blokowym w postaci tzw. terminala (poniżej pokazano tylko niektóre). Funkcja/procedura wbudowana w LabVIEW lub stworzona przez nas, tzw. SubVI. 14
Przykłady aplikacji Control Mixer Process.vi Signal Generation and Processing.vi Two Channel Oscilloscope.vi Bessel Function - Vibrating Membrane.vi Gabor Order Tracking Start-up.vi 15
Tworzenie aplikacji w LabVIEW Bardzo często przydaje się okienko pomocy podręcznej (Context Help), wywoływane z menu Help lub kombinacją klawiszy Ctrl+h. Wystarczy myszką wskazać kontrolkę na panelu czołowym, lub element na diagramie blokowym aby uzyskać opis (częściej przydaje się to w czasie tworzenia kodu na diagramie blokowym). Z menu podręcznego lub klikając tutaj, można uzyskać szerszy opis. 16
NI Example Finder Można wywołać z menu Help/Find Examples 17
Panel operatora Uruchamianie aplikacji Edytowalna ikona Narzędzia edycji (patrz następny slajd) Kontrolki i wskaźniki 18
Panel operatora paleta narzędzi Tools Palette paleta narzędzi. Służy do edycji elementów znajdujących się na panelu operatora oraz diagramie blokowym. Jeśli jest niewidoczna, można ją wywołać z menu Window/Show Tools Palette. Wskaźnik (zaznaczanie elementów, zmiana rozmiaru, przesuwanie itp.) Zmiana wartości kontrolek Przewód połączeniowy Break points Menu podręczne dla wybranego elementu Próbnik (przydatny do debugowania) Kliknij, aby zmienić pomiędzy automatycznym a ręcznym wyborem narzędzi. Edycja tekstu Przesuwanie okna Pobieranie koloru Paleta kolorów 19
Paleta rozszerzona Panel operatora - kontrolki Podstawowa paleta kontrolek, typu Express. Pozwala na szybki dostęp do najczęściej wykorzystywanych kontrolek Paleta rozszerzona W zależności od ustawień, można wyświetlić domyślnie paletę zaawansowaną (ze wszystkimi kontrolkami), dodatkowo uzupełnioną o opis tekstowy grup kontrolek jak i samych kontrolek (patrz po lewej). 20
Diagram blokowy Uruchamianie aplikacji Ikony debuggowania Paleta funcji Porządkowanie ikon Praca krokowa Wyświetlanie wartości na przewodach Wejdź do Przeskocz Wyjdź 21
Diagram blokowy funkcje i przyrządy wirtualne Paleta rozszerzona Podstawowa paleta funkcji i przyrządów wirtualnych, typu Express. Pozwala na szybki dostęp do najczęściej wykorzystywanych na diagramie blokowym elementów. 22
Funkcja inicjująca Diagram blokowy SubVI stanowią samodzielne programy (VI) Stała numeryczna While Loop Pętla While For Loop Pętla For Funkcja dodaj Zmienna numeryczna Funkcja pomnóż Rejestr przesuwny pętli While Loop Funkcja czekaj Case structure Struktura warunkowa Zmienna logiczna 23
Diagram blokowy hierarchia VI Wyświetlenie hierarchii przyrządów wirtualnych VI składających się na naszą aplikację, pokazuje zależność poszczególnych VI od siebie. Np. Volt. Read wykorzystywane jest w Temp. VI położony najwyżej jest naszą aplikacją główną. 24
Diagram blokowy przepływ danych Przepływ danych zobrazujemy na przykładzie Tank Simulation.vi (znaleźć w NI Example Finder) Elementy umieszczone na diagramie blokowym, często nazywamy węzłami (Nodes). Dany węzeł (Node) wykonywany jest dopiero wówczas, gdy dostępne są wszystkie dane na jego wejściu. Wynika z tego, że nie jest wyróżniona kolejność wykonywania się węzłów, dla których w tej samej chwili dostępne są wszystkie dane potrzebne do jego wykonania. Czasem rodzi to problemy i jest konieczne wymuszanie kolejności wykonywania się poszczególnych części programu. 25
Diagram blokowy przepływ danych Jeszcze jeden przykład dwie pętle While Loop Obie pętle wykonywane są jednocześnie w trybie debugowania wyraźnie widać jaka jest kolejność wykonywania się poszczególnych węzłów w pętlach. 26
Prosta aplikacja Praktycznie każda poważna aplikacja powinna pracować w pętli While Loop. Pętla powinna zawierać warunek STOP (zatrzymania pętli) w najprostszym przypadku kontrolkę STOP. Dodatkowo, jeśli aplikacja nie musi pracować z maksymalną prędkością, warto dołożyć ograniczenie czasowe wykonywania się pętli. Pozwoli to zaoszczędzić zasoby procesora. kontrolka wskaźnik wejście (control) wyjście (indicator) Warunek zatrzymania pętli Ograniczenie czasowe (Wait (ms) z palety Time & Dialog) 27
Prosta aplikacja Uwaga przepływ danych możliwy jest tylko pomiędzy wejściami a wyjściami. Połączenie ze sobą np. dwóch wyjść spowoduje wygenerowanie błędu. Zmiana typu kontrolki z wejścia na wyjście (wywołana z menu podręcznego) Sygnalizacja błędu Tzw. bad wire 28
Prosta aplikacja Próba uruchomienia nie działającej aplikacji spowoduje wyświetlenie listy błędów. Lista błędów może być wywołana również poprzez menu podręczne dla niepoprawnego połączenia. 29
Szybkie tworzenie aplikacji Express VI Express VI to droga na skróty w budowaniu aplikacji akwizycji i analizy danych pomiarowych. Konfiguracja odbywa się z wykorzystaniem okien dialogowych. 30
Szybkie tworzenie aplikacji Express VI Klikając dwukrotnie na elemencie express.vi na diagramie blokowym, możemy zmieniać wybrane parametry. W przykładzie ustalono amplitudę na 10 oraz dodano szum. 31
Prosta aplikacja Express.vi Analiza widmowa sygnału 32
Pomoc podręczna umożliwia szybkie zorientowanie się w konfiguracji danego Express VI Prosta aplikacja Express.vi 33