(Microsoft PowerPoint
Transkrypt
(Microsoft PowerPoint
Reprezentacja zmiennych numerycznych W menu podręcznym wybieramy Representation, a tam taki format zmiennej, który nam jest potrzebny. UWAGA! Trzeba zwracać uwagę na właściwy dobór formatu zmiennych, aby niepotrzebnie nie zwiększać rozmiaru aplikacji (zobacz Numeric Data Types Table w pomocy LabVIEW aby dowiedzieć się o wymaganiach dotyczących rozmiaru pamięci potrzebnej na przechowanie poszczególnych typów danych). Prosta aplikacja Aplikacja tworzona będzie interaktywnie w czasie trwania wykładu, na slajdzie przedstawiono jedynie jej końcowy wygląd. Uwaga! Elementy na panelu czołowym jak i na diagramie blokowym można w prosty sposób kopiować metodą drag&drop. Przy przeciąganiu elementu myszką należy wcisnąć klawisz Ctrl.) Zmienne 1 i 2 ustawiamy jako Word (I16), podobnie sumę i różnicę. Zmieniamy zakres zmiennych 1 i 2 na od 0 do 255. Do programu dodamy pętlę While Loop oraz opóźnienie czasowe wykonania pętli Wait (ms), 100ms. PRZEDYSKUTUJEMY JESZCZE, CO ZROBIĆ, ABY PO PONOWNYM WCZYTANIU APLIKACJI WYBRANE KONTROLKI MIAŁY USTAWIONE DOMYŚLNE WARTOŚCI. (Make Current Value(s) Default) Tworzymy podprogram –subVI Usuńmy pętlę While Loop i opóźnienie czasowe Wait (ms) oraz przycisk Stop. Zapiszmy naszą prostą aplikację pod nową nazwą: prosta aplikacja subvi.vi. Następnie zmieńmy wygląd ikony, tak aby symbolizowała ona możliwie jak najbardziej funkcję lub procedurę, którą nasz podprogram będzie realizował. Na ikonie wywołujemy prawym przyciskiem myszy funkcję Edit Icon Tworzymy podprogram –subVI Ustalimy wejścia i wyjścia naszego podprogramu, tak aby można go było wykorzystać w programie nadrzędnym. Na ikonie wywołujemy prawym przyciskiem myszy funkcję Show Connector Liczba prostokątów dobierana jest domyślnie na podstawie liczby wejść i wyjść dostępnych na panelu czołowym. Prostokąty po lewej stronie odpowiadają wyjściom (controls), po prawej wejściom (indicators). Wybierając z Tools Palette szpulke (o ile nie mamy włączonego automatycznego wybierania narzędzi z Tools Palette) klikamy na wybrany prostokąt w ikonie a następnie na wybraną kontrolkę na panelu czołowym. Po podłączeniu wszystkich koniecznych wejść i wyjść, wywołujemy ponownie wygląd ikony (Show Icon) z menu podręcznego ikony. Tworzymy podprogram –subVI Można teraz wykorzystać nasz podprogram w innym programie. Spróbujmy! Aby wprowadzić nasz subVI na diagram blokowy, korzystamy z funkcji Select a VI... z palety All Functions Potrzebne kontrolki tworzymy szybko, wykorzystując funkcję Create Control/Indicator z menu podręcznego wywołanego na wybranym wejściu bądź wyjściu naszego subVI (pamiętajmy, że wejście ikony subVI to control, a wyjście to indicator!. Następnie porządkujemy ikony na diagramie blokowym oraz na panelu czołowym. Tworzymy podprogram –subVI w trybie przyspieszonym! Omówimy, jak na skróty zamienić część diagramu blokowego na subVI. Otwórzmy nasz pierwszy program: prosta aplikacja.vi (powinien być w menu File/Recently Opened Files). Na diagramie blokowym zaznaczamy część schematu, z której chcemy stworzyć subVI. W menu Edit wybieramy polecenie Create SubVI. Nie zapomnijmy otworzyć panelu czołowego nowego subVI (dwukrotne kliknięcie na jego ikonie) i przeprowadzić edycję ikony. Na koniec trzeba zapisać nowe subVI na dysku. Tworzymy większy projekt – zapisywanie podprogramów w bibliotece llb Tworzone programy i podprogramy można przechowywać na dysku w postaci oddzielnych plików z rozszerzeniem vi. Przy tworzeniu większej aplikacji, dla której tworzymy swoje podprogramy, warto je wszystkie umieścić albo w jednym katalogu, albo w jednym pliku, tzw. bibliotece llb. Plik ten można porównać do skompresowanego archiwum zip, w którym przechowywane są podprogramy składające się na aplikację główną, która to aplikacja również może być zapisana w tej samej bibliotece llb. Zaleca się aby biblioteka llb nie przekraczała rozmiaru 1MB, ze względu na dłuższy czas dostępu do skompresowanych plików vi. Nową bibliotekę llb tworzymy przy pierwszym zapisywaniu naszej aplikacji lub podprogramu ją tworzącego. Z menu File wybieramy polecenie Save lub Save as, a następnie w wyświetlonym oknie wybieramy New VI Library. Wpisujemy nazwę nowo tworzonej biblioteki i zatwierdzamy. Procedurę zobrazowano na następnym slajdzie. Tworzymy większy projekt – zapisywanie podprogramów w bibliotece llb Wpisujemy nazwę naszego programu, np. podprocedura filtracji.vi Wybieramy New VI Library Wpisujemy nazwę biblioteki llb (nie jest konieczne podawanie rozszerzenia llb). Zatwierdzamy wybór. Zadanie: zbudować wirtualny termometr (symulator) Stworzyć ikonę Zapamiętać jako wartości domyślne Konektor – kolor odpowiada typowi zmiennej! Zapisać VI do nowej biblioteki tempmonitor.llb pod nazwą Termometr (symulacja).vi Wykorzystanie wirtualnego termometru w nowym programie Property Node (patrz następny slajd) UWAGA! Program zapisać pod nazwą Monitor temperatury.vi „Select a VI...” otwiera okno dialogowe, w którym można wybrać dowolny przyrząd wirtualny VI. Użyj go aby umieścić na diagramie blokowym wirtualny termometr. Waveform Chart Property Node Property Node umożliwia zmianę wielu parametrów i zachowań elementów panelu czołowego w sposób programowy. Wybieramy z menu podręcznego (dla wybranego elementu – tutaj jest to Waverorm Chart 2) polecenie Create->Property Node Standardowo wybierana jest własność „Visible” Property Node Klikając na własności „Visible” (lewy przycisk lub prawy – wtedy z menu podręcznego wybrać „Properties”) wybieramy własność „History Data”. Standardowo mała strzałka widoczna na ikonie umieszczona jest po lewej stronie, co oznacza, że własność ustawiona jest do odczytu. Aby zapisać coś do niej należy z menu podręcznego wybrać polecenie „Change to Write”. Strzałka pojawi się wtedy po stronie lewej własności. W naszym przypadku wpisujemy do niej zerowy wektor danych, wymazując tym samym zawartość bufora pamięci wykresu Waveform Chart 2. UWAGA! Należy zwrócić baczną uwagę na kolejność przepływu danych (kolejność „wykonywania” ikon), tak aby najpierw wyczyszczony został bufor pamięci. Można np. podłączyć property node do pętli, tak jak to zrobione w przykładowej aplikacji Monitor temperatury.vi Mała przerwa w tworzeniu aplikacji Wyjaśniamy różnicę pomiędzy Waveform Graph a Waveform Chart Różnice zostaną omówione krok po kroku, przy tworzeniu aplikacji, nieco innej niż ta, widoczna na slajdzie. Dodatkowo, pojawi się krótka wzmianka o funkcji property node (na następnym slajdzie, gdzie pokażemy, w jaki sposób programowo kasować stare dane z Waveform Chart. Mała przerwa w tworzeniu aplikacji Wyjaśniamy różnicę pomiędzy Waveform Graph a Waveform Chart Różnice zostaną omówione krok po kroku, przy tworzeniu aplikacji, nieco innej niż ta, widoczna na slajdzie. Dodatkowo, pojawi się krótka wzmianka o funkcji property node. Wystarczy kilkukrotnie uruchomić program aby zobaczyć różnicę. Bez wykorzystania Property Node Z wykorzystaniem Property Node Zamiana Waveform Chart na Waveform Graph i konieczne do tego celu modyfikacje diagramu blokowego UWAGA! Program zapisać pod nazwą Monitor temperatury (wersja1).vi Przerywnik – wyjaśniamy jak formatować osie wykresu! Szukać w All Functions/Analyze/Signal Processing/ Signal Generation/Sine Wave.vi Wejście „f” dla funkcji Sine Wave.vi określa częstotliwość znormalizowaną wyrażoną w cyklach/l.próbek (cycles/samples). Domyślnie jest to 1/128. W przykładzie zastosowano takie przeliczenia, aby na wykresie w czasie 1s rysowane było tyle okresów przebiegu ile wynika z ustawionej częstotliwości (frequency). Wprowadzenie skalowania osi X (czasu) oraz automatycznej zmiany nazwy osi Y (skala temperatury) – przykład wykorzystania Property Node UWAGA! Program zapisać pod nazwą Monitor temperatury (wersja2).vi Zapis danych do pliku tekstowego Wczytać program Monitor temperatury.vi i zapisać go pod nową nazwą Rejestrator temperatury.vi. Dokonać stosowane zmiany, tak jak na poniższym diagramie blokowym. Prawym przyciskiem myszki na kwadracie wybrać Enable Indexing Stworzyć program do odczytu danych (temperatury) z pliku. Zapisać go pod nazwą: Dane z pliku.vi. Zbudować program Monitoring temperatury.vi. Wybór przycisku z panelu czołowego powinien wywołać panel czołowy odpowiedniego podprogramu. Wykorzystać programy Monitor temperatury.vi, Rejestrator temperatury.vi oraz Dane z pliku.vi. Pętle „False” są puste Dla każdego przycisku ustawić Mechanical Action tak jak pokazano poniżej. UWAGA! Jak szybko skonfigurować podprogram tak, aby jego panel czołowy został automatycznie otwarty w momencie wywołania podprogramu a następnie automatycznie zamknięty po naciśnięciu odpowiedniego przycisku (np. STOP lub Koniec)? Z menu podręcznego wywołanego na wybranym podprogramie wywołujemy polecenie SubVI Node Setup. W otwartym oknie wybieramy opcje jak pokazano poniżej UWAGA! Program zapisać pod nazwą Monitoring temperatury.vi