G PROGRAMMING Part #1
Program zajęć Środowisko LabVIEW charakterystyka, instalacja, panel czołowy, schemat blokowy, palety Typy danych Analiza błędów Modularyzacja (subvi) Pętle while i for Funkcjonowanie przełączników logicznych Rejestr przesuwny Wykresy Tablice /funkcje tablicowe Klastry /funkcje klastrowe Struktury wyboru i sekwencyjne
Program zajęć (cd.) Funkcje matematyczne Expression i Formula Node Dane łańcuchowe Operacje plikowe we/wy Indywidualizacja programów panel czołowy, klawisze skrótów, modyfikacja właściwości, palety Planowanie aplikacji planowanie, projektowanie, implementacja, obsługa błędów Projektowanie panelu czołowego zagadnienia podstawowe, klastry logiczne Zdalne sterowanie panelem, dostęp przeglądarką WWW Techniki zarządzania danymi zmienne lokalne i globalne, datasocket Sprzęt pomiarowy (DAQ, GPIB, VISA, Serial)
Literatura, materiały Dokumentacja: G Programming Reference Manual, BridgeVIEW and LabVIEW. National Instruments. LabVIEW Express Basics Interactive Training CD. National Instruments. Środowisko LabVIEW w eksperymencie wspomaganym komputerowo. Tłaczała W., WNT, W-wa 2002. Graficzne zintegrowane środowiska programowe do projektowania komputerowych systemów pomiarowo-kontrolnych. Winiecki W., Nowak J., Stanik S., MIKOM, W-wa 2001. Systemy pomiarowe laboratorium. Świsulski D., Wyd. PG, Gdańsk 2001. LabVIEW w praktyce. Chruściel M. Wyd. BTC, Legionowo 2008.
LabVIEW - charakterystyka Programowanie graficzne Graficzny interfejs użytkownika Graficzny kod źródłowy Łatwość korzystania = ograniczenie czasu tworzenia aplikacji Prosta modularyzacja Łatwość tworzenia samodzielnych aplikacji (Application Builder) Lokalizacja (wersje angielska, francuska, niemiecka, japońska) Zgodność międzyplatformowa (Windows, Mac OS, Linux, Solaris)
LabVIEW - charakterystyka Graficzny język programowania pozwalający na tworzenie aplikacji do: przetwarzania danych, prowadzenia testów i pomiarów, akwizycji danych (za pomocą np. DAQ), sterowania sprzętem, rejestracji danych, analizy wyników pomiarów, generowania raportów dotyczących sposobu działania aplikacji.
Konkurencyjne produkty National Instruments LabVIEW Full Dev System - 2395 $ (Prof. 4,099 $ / 19,560 PLN?) Hewlett Packard/Agilent VEE Pro 7.0 1495 $ Keithley Instruments TestPoint 5.1 Software Application Programming Package - 1,295 $ DasyLab DASYLab 8 Full Development License -1,785$ Advantech GenieDAQ for Windows 825 $
LabVIEW historia rozwoju 2004 Styczeń 2002 Sierpień 2000 Luty 1999 Marzec 1998 Czerwiec 1997 Marzec 1996 Grudzień 1994 Sierpień 1993 Październik 1992 Wrzesień 1992 Styczeń 1990 Październik 1986 Kwiecień 1983 7.1 (Express) Express VI, DAQmx drivers = 25 % podwyższenie wydajności obsługi punktów I/O 6.1 Ułatwienia, przyśpieszenie obsługi, zdalne panele 6i Pomiary i automatyzacja zadań z wykorzystaniem Internetu 5.1 Wykresy 3D, poprawa wydajności, narzędzia sieci WWW 5.0 ActiveX, wielowątkowość, Undo 4.1 Kreatory DAQ dla platformy Windows 4.0 Dostosowywanie interfejsu 3.1 Wprowadzenie obsługi platform HP-UX i Power Mac 3.0 Wieloplatformowa wersja LabVIEW, dodatki (toolkits, np. Signal Processing, Sound and Vibration, ) LabVIEW dla Sun LabVIEW dla Windows 2.0 dla Macintosh (wbudowany kompilator) 1.0 dla Macintosh Uruchomienie przez National Instruments projektu LabVIEW
LabVIEW wersje 8.0 i 8.20 Obsługa systemów rozproszonych i czasu rzeczywistego 8.0 Rozdzielenie zadań na grupę komputerów /urządzeń Zarządzanie urządzeniami zdalnymi Współdzielenie danych pomiędzy zdalnymi węzłami i za pomocą współdzielonych zmiennych Synchronizacja wykonywania za pomocą sieci (np. Internet) Nowe technologie współpracy ze sprzętem Poprawiony kreator - Instrument I/O Assistant Nowa wyszukiwarka - Instrument Driver Finder Nowy kreator sterowników - Instrument Driver Project Wizard Nowe mechanizmy szybkiego tworzenia aplikacji dzięki: technologii Express, zastosowaniu konfiguratorów. Narzędzia rozwijania kodu i integracji z zewnętrznymi aplikacjami: wykorzystanie struktur programistycznych bazujących na obiektach, integracja usług sieciowych.net oraz bibliotek DLL, tworzenie zaawansowanych interfejsów użytkownika z wykorzystaniem wizualizacji 3D bazującej na Open-GL, łączenie z narzędziami projektowymi i matematycznymi takimi jak MATLAB 8.20
LabVIEW wersja 8.5 Synchronizacja folderów projektowych z katalogami dysku (nowa karta konfiguracyjna do modyfikacji lokalizacji dyskowych) Graficzne narzędzia do łączenia pojedynczych programów (automatyczne narzędzie do łączenia podprogramów będących wynikiem pracy grupowej w jeden) Lepsze zarządzanie pamięcią dzięki nowym obiektom (wykonywanie operacji bez kopiowania danych i dzięki temu obniżających zużycie pamięci) Wyjście warunkowe z pętli For (Zatrzymanie pętli przed jej typowym zatrzymaniem) Obsługa procesorów wielordzeniowych (poprawienie wydajności aplikacji modułów Real-Time przez zapewnienie pełnej obsługi procesorów wielordzeniowych i wprowdzenie instrukcji poprawiających przewidywalność wykonywania kodu) Sterowanie kontrolerami PLC za pomocą OPC (Moduły/funkcje OPC (OLE for Process Controll) do tworzenia sieci kontrolerów PLC) Dystrybucje: Base - 1199 USD (interfejs, akwizycja danych, sterowanie sprzętem, zapis/odczyt danych z plików), Full - 2399 USD (ponad 500 funkcji analizy matematycznej i statystycznej, integracja kodu z programami zewnętrznymi, wykorzystanie sieci Web), Professional - 4099 USD (dystrybucja aplikacji, zarządzanie projektami, komunikacja sieciowa), Developer Suite - 4300 USD (wszystkie dodatki (add-ond/toolkits), aktualizacja oprogramowania).
LabVIEW - charakterystyka Zebrać (w dowolnym punkcie) Sieć Przeanalizować (w dowolnym punkcie) Sieć Pokazać (w dowolnym punkcie) Urządzenia: GPIB Urządzenia szeregowe Karty pomiarowe (DAQ) Zdalne karty pomiarowe (RDA) Urządzenia (PXI) Urządzenia IMAQ Karty RT Sterowniki PLC (przez serwer OPC) Przyrządy wirtualne do analizy: równania różniczkowe, optymalizacja, dopasowanie do krzywych, algebra liniowa, statystyka, Przyrządy wirtualne do przetwarzania sygnału: filtrowanie, windowing, transformacje, wykrywanie szczytów, analiza harmonicznych, analiza widmowa Lokalnie: wykresy, grafiki, tabele, wskaźniki, zbiorniki, raporty, Internet: publikacja WWW, datasocket, obsługa TCP/IP, serwer VI, Enterprise Connectivity Toolset: - SQL Tools, Internet Tools (FTP, E-mail, Telnet, HTML)
LabVIEW Instrumenty wirtualne (VI) Instrumenty wirtualne (Virtual Instruments) programy (aplikacje) tworzone w LabVIEW. Wygląd zgodny/podobny do urządzeń fizycznych. Front panel interfejs użytkownika do sterowania urządzeniami, wprowadzania danych i odczytywania wyników Block diagram graficzny kod źródłowy odzwierciedlający zawartość panelu użytkownika, wykorzystywane funkcje, komunikację ze sprzętem CTRL+E
Instalacja 1/3 Standardowy instalator Nazwa użytkownika i i numer licencji Wybór składników Zatwierdzenie 2 umów licencyjnych Kopiowanie składników
Instalacja 2/3 Instalacja sterowników urządzeń Wybór składników Zatwierdzenie umowy licencyjnej Kopiowanie składników (2 (2 x CD) Ponowne uruchomienie
Instalacja 3/3 Dysk ok. 900 MB Menu Start Usługi: - NI Service Locator (nisvcloc.exe) - element sieci sterowników do lokalizacji i komunikacji z innymi sterownikami - nidevldu (nipalsm.exe) menedżer komunikacji pomiędzy sterownikami NI na poziomie jądra - nipxirmu (nipalsm.exe) menedżer komunikacji pomiędzy sterownikami pxi
Front Panel first look Podstawowe typy obiektów - Controls (regulatory, wejścia) / Indicators (wskaźniki, wyjścia) Paleta Controls Menu Window, right-click na panelu Przed uruchomieniem/obejrzeniem diagramu trudno określić, co jest regulatorem, a co wskaźnikiem Pełny dostęp All Controls CONTROLS - WEJŚCIA INDICATORS - WYJŚCIA
Front Panel operacje na obiektach Umieszczanie obiektów (niekonieczne przeciąganie) Formatowanie wyglądu obiektów menu kontekstowe Formatowanie zachowania obiektów (sposób wyświetlania, rodzaj danych)
Front Panel - narzędzia Pasek narzędzi (toolbar) Paleta narzędzi - Tools (Window / Show Tools Palette) Automatyczny wybór narzędzia (Automatic Tool Selection) Obsługa (Operating tool) Pozycjonowanie (Positioning tool) Etykietowanie (Free label) Menu skrótów (Object shortcut menu) Przesuwanie (Scrolling tool) Próbnik kolorów (Color copy) Paleta kolorów (Coloring tool)
Block diagram first look Dodatkowe typy obiektów np. pętle, klastry, macierze, Podstawowa paleta Functions (pełny dostęp All Functions) Łatwiejsze określanie roli regulatora i wskaźnika Dodatkowe przyciski Paska narzędzi do analizy błędów Połączenia (Wiring) Breakpoint (Breakpoint) Próbówka (Probe)
Block diagram podstawowe elementy Terminal (złącze) porty we/wy pomiędzy panelem a diagramem Node (węzeł) obiekt wykonujący operacje w czasie pracy programu (VI) Terminale regulatorów (controls terminals) wejściowe Połączenia (wires) do transferu danych pomiędzy obiektami Terminal wskaźnika (indicator terminal) wyjściowy
Wiring tool drutowanie ;-) Tworzenie połączeń 1xclick przypięcie trasy (zakręt) 2xclick przypięcie tymczasowe spacja zmiana kierunku Zaznaczanie 1xclick prosty odcinek 2xclick odcinek do połączenia 3xclick całe połączenie Inne pożyteczne polecenia menu kontekstowe Clean up wire CTRL+B - Remove all broken wires
Block diagram Typy danych Liczbowe (Numeric) Logiczne (Boolean) Łańcuchowe (String) Dynamiczne Skalar Macierz 1D Macierz 2D Zmiennoprzecinkowe Całkowite (Integer) Zielone Fiolet Niebieska kratka
Typy danych liczbowych
Enumerated Logiczne Łańcuchowe Macierz dane jednego typu zamknięte w nawiasy kwadratowe o kolorze zgodnym z kolorem typu danych Klaster dane różnego typu; brązowy zawiera dane liczbowe, różowy dane mieszane Ścieżka dostępu Dynamiczne - (Express VI) zawiera dane sygnału oraz dodatkowe atrybuty sygnału (np. nazwa sygnału wraz z datą i czasem jego wygenerowania) Przebieg (waveform) zawiera dane, czas wystąpienia, odstępy czasowe próbek. Przebieg cyfrowy (digital waveform) zawiera dane, czas wystąpienia, odstępy czasowe próbek dla przebiegów cyfrowych Dane cyfrowe (digital) dane sygnału cyfrowego Refnum (reference number) liczba identyfikacyjna obiektu Variant zawiera nazwę regulatora lub wskaźnika, informacje o typie danych raz same dane. Nazwa we/wy (I/O name) do przekazywania danych konfiguracyjnych przy komunikacji z urządzeniami we/wy za pomocą instrumentów wirtualnych Obraz (picture) zawiera zestaw instrukcji do wyświetlania grafik (tj. linii, okręgów, tekstu i innych typowych kształtów graficznych.
Format i dokładność Domyślny typ danych double precision floating point Podstawowe operacje to deklarowanie zakresu danych formatu danych dokładności Automatyczne dopasowanie Niedopasowanie szara kropka (coercion dot) Dla wartości x,5 występuje zaokrąglanie do najbliższej parzystej (np. 4,5 -> 4,0, 5,5 ->6,0)
Podsumowanie Program w języku G (instrument wirtualny, VI) składa się z 2 elementów: panelu czołowego, diagramu blokowego (dodatkowo ikona i panel konektora). Panel czołowy stanowi interfejs użytkownika; diagram blokowy stanowi kod wykonywalny. Użytkownik posługuje się pływającymi paletami: narzędzi (Tools), regulatorów (Controls) (aktywne okno front Panel), funkcji (Functions) (aktywne okno front Diagram). Pomoc kontekstowa (Context Help, CTRL+H) wyświetla ogólne informacje o obiektach i sposobie podłączenia. Terminale regulatorów mają grubsze ramki niż terminale wskaźników.
End of Part #1