Lekcja 1 Nawigacja w LabView środowisko LabView, tworzenie i wykorzystywanie projektów, zrozumienie modelu przepływu danych, wyszukiwanie elementów interfejsu użytkownika, funkcji oraz programów VI, wykorzystywanie pomocy. Środowisko LabVIEW LabVIEW (Laboratory Virtual Instrument Engineering Workbench) firmy National Instruments jest graficznym językiem programowania wykorzystywanym szczególnie w pomiarach, testowaniu, lub sterowaniu. Język ten często nazywa się językiem G (Graphics). Tak naprawdę wielka przewaga LabVIEW nad innymi językami programowania objawia się dopiero gdy współpracuje ze sprzętem sprzętem. W tym kursie będziemy jednak poznawać LabVIEW bez fizycznego podłączenia komputera z aparaturą. Programy napisane w LabVIEW nazywane są Virtualanymi Instrumentami (w skrócie VI - czytaj vi aj) nazwa ta wynika z tego że ich wygląd i działanie są bardzo podobne do wyglądu i działania rzeczywistych urządzeń. Każdy VI składa się z trzech podstawowych komponentów: okna panelu czołowego (Front Panel Window), okna diagramu blokowego (Block Diagram Window) oraz z ikony i związanego z nią connector pane używanych w przypadku użycia VI jako subvi (podprogramu) - więcej na ten temat w dalszych częściach kursu. Ikona/connector pane Panel czołowy Schemat blokowy
W zależności od wersji LabVIEW po uruchomieniu programu Start>Wszystkie programy>national Instruments>LabVIEW (wersja) pojawi się okno podobne do poniższego: Korzystając z okna startowego można: utworzyć nowy VI lub projekt, wybierać ostatnio używane VI- e lub projekty, wyszukiwać przykłady oraz przeszukiwać pomoc LabVIEW. Okno startowe zamyka się po otwarciu VI- a lub projektu, można je jednak wyświetlić ponownie poprzez View>Getting Started Window. Pracę z LabVIEW możesz zacząć od utworzenia: nowego pustego VI-a, nowego pustego projektu lub od otworzenia istniejącego już VI-a lub projektu. Możesz również użyć istniejącego szablonu dla nowego Vi-a lub projektu. Tworzenie nowego projektu możesz zrealizować następująco: wybierz Empty Project z listy New. Tworzenie nowego VI-a możesz zrealizować wybierając Blank VI z listy New w oknie Getting Started. Tworzenie nowego VI z szablonu możesz zrealizować poprzez wybór New w oknie startowym Getting Started (rysunek poniżej). Otwarcie istniejącego VI-a możesz zrealizować poprzez File >Open w oknie startowym.
W tym przypadku podczas ładowania się VI-a może pojawić się okno podobne do poniższego W sekcji Loadings wyszczególnione są subvi-e (podprogramy zawarte w programie głównym), które będą ładowane do pamięci, a tkże ich ilość załadowana do pamięci. Przyciskiem Stop można przerwać ładowanie subvi do pamięci. Można zignorować ładowanie wszystkich subvi przyciskiem Ignore Item. Przyciskiem Ignore All można zignorować ładowanie wszystkich subvi. Przyciskiem Browse można uruchomić wyszukiwanie zaginionego subvi. LabVIEW będzie przeprowadzał wyszukiwanie zaginionych subvi tylko w lokalizacjach określonych w menu Tools>Options i wybranie Paths z listy Category. Zapisywanie VI-a Aby zapisać VI musisz wybrać File>Save. Jeżeli VI był wcześniej zapisany wybierz File>Save As. Pojawi się wówczas okno podobne do poniższego Możesz w nim stworzyć kopię VI-a, lub skasować oryginalny VI i zastąpić go nowszą wersją.
Tworzenie i wykorzystywanie projektów Projekty w LabVIEW używane są do grupowanie plików utworzonych w LabVIEW lub w innych programach, tworzenia specyfikacji kompilacji oraz umieszczania plików na urządzeniach, pobierania plików z urządzeń. Projekty w LabVIEW to pliki o rozszerzeniu rozszerzenie.lvproj. Użycie projektów jest konieczne w przypadku: - programowania urządzeń RT (real time) - programowania FPGA (programowalna macierz bramek) - programowania PDA Eksplorer projektów W oknie startowym wybierz File>New Project (mogą wystąpić różnice w zależności od wersji LabVIEW) otwarte zostanie wtedy okno eksploratora projektu. W oknie projektu znajdują się: - Korzeń projektu (odpowiednik katalogu głównego w odniesieniu do projektu) - Mój komputer (reprezentujący lokalny kompter jako urządzenie w projekcie) - Dependencies (zawierające VI-e wymagane przez dane urządzenie) - Build Specifikations (zawiera konfigurację kompilacji aplikacji, instalatorów, zmiennych dzielonych itp.) Dodawanie plików do projektu Dodać plik do projektu można na kilka sposobów: - Kliknij prawym klawiszem na My Computer w eksploratorze projektu wybierz Add>File - Z menu głównego projektu wybierz Project>Add To Project>File - Kliknij prawym klawiszem myszy na My Computer i wybierza Add>Folder (auto populating) - Z menu głównego projektu wybierz Project>Add To Project>Add Folder (auto populating) W wypadku wykorzystania dwu ostatnich sposobów LabVIEW na bieżąco monitoruje zawartość tego folderu uwzględniając wszystkie poczynione w nim zmiany.
- Kliknij prawym klawiszem myszy na My Computer i wybierza Add>Folder (Snapshot) - Z menu głównego projektu wybierz Project>Add To Project>Add Folder (Snapshot) W wypadku dwu ostatnich sposobów LabVIEW tworzy wirtualny folder w projekcie o tej samej nazwie co folder na dysku z całą jego zawartością. LabVIEW w tym przypadku nie dokonuje automatycznie zmian w folderze wirtualnym jeżeli takie zostały wprowadzone w folderze na dysku. - Kliknij prawym klawiszem na urządzeniu i wybierz New>VI - Wybierz File>New VI lub Project>Add To Project>New VI - Przeciągnij ikonę VI z folderu i przeciągnij ją na target (urzadzenie) w eksploratorze projektu - Ikony VI można też przeciągać z diagramu blokowego lub panelu czołowego bezpośrednio na target w eksploratorze projektu. Uwaga: Pliki i foldery można tworzyć na dowolnym targecie (urządzeniu). Nie musi być to tylko Mój Komputer. Jeżeli mamy podłączone np. urządzenie RT to w projekcie będzie widoczne to urządzenie i pliki pod nim widoczne będą wykonywane na tym targecie. Usuwanie elementów z projektu Dowolny składnik projektu można usunąć poprzez kliknięcie na nim prawym klawiszem myszy i wybranie Remove From Project z menu. Usunięcia można również dokonać poprzez zaznaczenie element i wciśnięcie klawisza Delete. Można również zaznaczyć element i z menu głównego wybrać Remove From Project (ikona czerwonego krzyżyka). Podglądanie zawartości plików w projekcie -Kliknij prawym klawiszem myszy na pliku w eksploratorze projektu i wybierz Open. Plik zostanie otwarty w domyślnym programie. -Kliknij prawym klawiszem na projekcie w eksploratorze projektu, wybierz View>Full Paths aby podejrzeć lokalizację plików znajdujących się w projekcie. -Wybierz Project>File Information aby wyświetlić okno dialogowe Project File Information. Zapisywanie projektu -Wybierz File>Save Project - Wybierz Project>Save Project - Kliknij prawym klawiszem na projekcie i wybierz Save z menu podręcznego
- Kliknij przycisk Save Project na pasku narzędziowym eksploratora projektu. Zrozumienie modelu przepływu danych W LabVIEW przepływ danych opiera się na założeniu, że na diagramie blokowym dane przepływają z lewej do prawej strony diagramu. Elementy wykonawcze (węzły) na diagramie blokowym wykonają się dopiero wtedy, jeżeli otrzymają wszystkie konieczne dane. Po wykonaniu operacji na wyjściu węzła pojawia się wynik, który jest dostępny dla innych węzłów. Przykład 1 Poniższy rysunek przedstawia schemat blokowy VI-a, który wykonuje dodawanie dwóch liczb i dzielnie sumy przez 2. Zgodnie z modelem przepływu danych dzielenie wykona się po dodawaniu. Dzielenie wykona się dopiero gdy na wyjściu dodawania pojawi się wynik. Dzielenie nie może wykonać się przed dodawaniem ponieważ nie ma wszystkich danych wejściowych przed wykonaniem się dodawania. Przykład 2
W tym przypadku nie można ściśle określić które operacje wykonają się najpierw ponieważ dodawanie, odejmowanie otrzymują dane wejściowe w tym samym czasie a Random Number nie posiada wejścia. Dzielenie wykona się na pewno po dodawaniu i Random Number. Sinus wykona się na pewno po odejmowaniu. Nieokreślona natomiast jest również kolejność wykonania się dzielenia i Sinus względem siebie. W aplikacjach LabVIEW gdzie wymagana jest kolejność wykonywania się kodu używamy specjalnych technik programistycznych, o których będzie mowa w następnych częściach kursu. Możesz samodzielnie napisać powyższe dwa programy. Uruchom je białą strzałką w menu głównym na schemacie blokowym z włączoną opcja Highligt Execution ikona lampki w menu głównym schematu blokowego. Obserwuj przepływ danych pomiędzy węzłami. Skrót klawiszowy Ctr-E przełącza widok panel frontowy na schemat blokowy i odwrotnie. Wyszukiwanie elementów interfejsu użytkownika, funkcji oraz programów VI W oknie panelu frontowego VI wybierz View>Controls Palette pojawi się wtedy paleta kontrolek. Kontrolkami nazywamy elementy interfejsu użytkownika dostępne z poziomu panelu frontowego za pomocą których możemy kontrolować lub wprowadzać jakąś daną wejściową (np. wartość liczbową, stan przycisku itp.). W palecie Controls znajdują się również Indykatory (co może prowadzić do nieporozumień) wyprowadzające dane wyjściowe, które wskazują jakąś wartość, własność, wyświetlają wykresy itp. Przykładowe kontrolki Przykładowy indykator Kontrolki i indykatory są widoczne również w schemacie blokowym, można je rozróżnić po kierunku strzałeczki na ikonie: indykatory mają strzałkę z lewej strony ikony skierowaną w prawo, natomiast kontrolki z prawej strony ikonki skierowaną w prawo. Odszukaj i zidentyfikuj na dowolnym schemacie blokowym indykatory i kontrolki.
Wyszukiwanie kontrolek można rozpocząć od przeglądania kategorii znajdujących się w palecie Controls. Bardziej zaawansowani użytkownicy, znający nazwy kontrolek i indykatorów mogą korzystać z przycisku Search w palecie wpisując nazwę szukanego indykatora. Szybciej wyszukiwać i umieszczać (tzw. Quick Drop) na panelu można używając skrótu klawiaturowego Ctr spacja. Funkcje widoczne są jedynie na schemacie blokowym View>Function Palette wyszukiwać je możemy (podobnie jak kontrolki) na palecie według kategorii lub znając nazwę poszukiwanej funkcji poprzez przycisk Search, albo szybko umieszczać (Quick Drop) na schemacie blokowym Ctr spacja. Wypróbuj wyszukiwanie kontrolek, indykatorów i funkcji, zauważ, że niektóre z nich mają rozszerzenie VI czyli są osobnymi programami, które ponadto mogą zawierać podprogramy, tzw. subvi. Wykorzystywanie pomocy Narzędzia pomocy w LabVIEW są bardzo rozbudowane i stanowią znakomite wsparcie dla programistów LabVIEW. Często używanym narzędziem jest pomoc kontekstowa (Context Help) pomocna w trakcie pisania aplikacji. Można ją włączyć poprzez Help>Show Context Help lub korzystając ze skrótu Ctr H. Przy uruchomionej pomocy kontekstowej, po najechaniu na dowolny element w programie otrzymujemy pełną informację na temat tego elementu. W przypadku funkcji otrzymuje informacje o danych wejściowych niezbędnych dla danej funkcji a także o danych wyjściowych. W przypadku indykatorów i kontrolek otrzymujemy informację na temat typu danych reprezentowanych przez dany element interfejsu użytkownika. Klikając w Pomocy kontekstowej na przycisk Show Optional Terminals w oknie pomocy wyświetlą się opcjonalne terminale wejściowe dla danej funkcji. Terminale wejściowe to wejścia po lewej stronie ikony, natomiast terminale wyjściowe po prawej strony ikony. W każdej chwili można wyświetlić pomoc szczegółową na temat elementu klikają link Detailed Help. Okno pomocy kontekstowej z informacjami dla funkcji sinus.
Gorąco polecam stosowanie pomocy kontekstowej, ponieważ stanowi ona doskonałe źródło wiedzy dostępnej podczas pisania programu. Pomoc LabVIEW możesz uruchomić poprzez skrót Ctr -?, której zagadnie są pogrupowane tematycznie a także wyposażona jest w wyszukiwarkę oraz linki do Dokumentacji LabVIEW oraz wsparcia technicznego. Doskonałym i bardzo pomocnym narzędziem jest wyszukiwarka przykładów Example Finder. Pozwala ona wyszukiwać wśród zainstalowanych na dysku komputera oraz na stronie ni.com/zone przykładów na których można się oprzeć podczas pisania konkretnej aploikacji. Wybieramy Help>Find Examples aby uruchomić wyszukiwarkę przykładów, którą możemy przeglądać według kategorii przykładów albo skorzystać w dostępnej w tym narzędziu wyszukiwarki tekstowej w zakładce Search. Example Finder Aby utrwalić wiadomości znajdujące się w tym dokumencie, rozwiąż quizy obowiązujące dla lekcji 1 na platformie Moodle.