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

Podobne dokumenty
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.

Podstawy programowania w LabView (3) Tablice i klastry danych

Lab. 3 Typy danych w LabView, zapis do pliku

Programowanie w języku G - Laboratorium 4

Tworzenie i zapis plików w VI

Lab. 3 Typy danych w LabView, zapis do pliku

Maszyna stanu State Machine

Reprezentacja zmiennych numerycznych

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

G PROGRAMMING. Part #4

Database Connectivity

ZROZUMIENIE MODUŁOWOŚCI (Understanding Modularity)

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

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

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

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

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

Konfiguracja karty akwizycji danych pomiarowych DAQ

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

Programowanie w języku G - Laboratorium 7

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Programowanie w języku G - Laboratorium 6

Właściwości i metody obiektu Comment Właściwości

Bloki anonimowe w PL/SQL

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

BAZY DANYCH Panel sterujący

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.

Lab. 3 Tablice, struktura warunkowa

Wstęp do graficznego programowania w środowisku LabVIEW

Podstawy budowy wirtualnych przyrządów pomiarowych

15. Funkcje i procedury składowane PL/SQL

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

Lab. 2 Tablice, struktura warunkowa

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 1. Wprowadzenie do Labview

Przykład. LabVIEW TM Core 1 Ćwiczenia

Baltie - programowanie

Typoszeregi - SolidWorks <- Excel

VI od podstaw. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 30 minut.

Visual Basic Debugging and Error Handling

MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Utworzenie interfejsu graficznego za pomocą formularza użytkownika w VBA

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

Programowanie w języku G - Laboratorium 12

WinSkład / WinUcz 15.00

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

Podręczna pomoc Microsoft Power Point 2007

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Zadanie 9. Projektowanie stron dokumentu

Aplikacje WWW - laboratorium

Podstawy Programowania C++

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

EXCEL TABELE PRZESTAWNE

Modelowanie części w kontekście złożenia

Zadanie 3. Praca z tabelami

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru

Program ćwiczenia: SYSTEMY POMIAROWE WIELKOŚCI FIZYCZNYCH - LABORATORIUM

Tworzenie i modyfikowanie wykresów

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

UONET+ moduł Dziennik. Praca z rozkładami materiału nauczania

Programowanie w języku G - Laboratorium 3

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podstawy programowania w LabView (1)

TURNINGPOINT KROKI DO URUCHOMIENIA TESTU NA PC

Idea przyrządów wirtualnych Virtual Instruments - VI

Programowanie w języku Python. Grażyna Koba

Zadanie 11. Przygotowanie publikacji do wydrukowania

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych

Program APEK Użytkownik Instrukcja użytkownika

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Aplikacje WWW - laboratorium

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

Jedno okienkowy GIMP.

Nowości. SEE Electrical Expert V4R3 Service Pack 5

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

Wirtualne przyrządy pomiarowe

Podstawy programowania w LabView (2) Instrukcje strukturalne

Tworzenie prezentacji w MS PowerPoint

Podstawy użytkowania programu LabView

ACCESS ćwiczenia (zestaw 1)

imei CYFROWE PRZETWARZANIE SYGNAŁÓW Laboratorium Temat: Tworzenie aplikacji w środowisku LabWindows/CVI Instytut Metrologii, Elektroniki i Informatyki

for - instrukcja pętli "dla" umożliwia wielokrotne obliczenie sekwencji wyrażeń s s + k s while z j

2. Tworzenie tabeli przestawnej. W pierwszym oknie dialogowym kreatora określamy źródło danych, które mamy zamiar analizować.

Formy dialogowe w środowisku Gnome

Tomasz Greszata - Koszalin

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

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

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Jak dopasować pola szablonu świadectwa, aby na stronie z wynikami klasyfikacji rocznej poprawnie drukowały się długie nazwy przedmiotów?

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Tablice, DataGridView

Zaawansowane aplikacje internetowe - laboratorium

Transkrypt:

Prof. Krzysztof Jemielniak k.jemielniak@wip.pw.edu.pl http://www.cim.pw.edu.pl/kjemiel ST 107, tel. 234 8656 PRZYRZĄDY WIRTUALNE Część 6 Macierze, klastry, wzory

Macierze (Arrays) Zbiór elementów tego samego typu Jeden lub więcej wymiarów, do 2 wymiar elementów na Dostęp do poszczególnych elementów przez indeks Pierwszy element ma indeks 0 indeks 0 1 2 3 4 5 6 7 8 9 Macierz 10-elementowa 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7 31 Macierz 2D 0 1 2 3 4 0 1 2 3 4 5 6 5 wierszy, 7 kolumn: macierz o 35 elementach

Wstawianie macierzy na panelu czołowym Z palety Controls >> All Controls >> Array and Cluster wybierz Array Zrzuć skorupę na panel

Wstawianie macierzy na panelu czołowym (cd.) Umieść odpowiedni obiekt (np. zadajnik numeryczny Numeric Control) w skorupie Dodawanie wymiaru macierzy

Tworzenie stałej macierzowej (diagram) 1. Wybierz skorupę Array Constant z palety Array 2. Umieść potrzebny obiekt w skorupie (tu stała boolowska)

Tworzenie macierzy przy pomocy pętli Pętle domyślnie kumulują macierze (auto indeksowanie) Auto indeksowanie można wyłączyć

Tworzenie macierzy 2D

Działania na macierzach Array Size Index Array Replace Array Subset Insert Into Array Delete From Array Initialize Array Build Array Array Subset Rotate 1D Array Reverse 1D Array Search 1D Array Split 1D Array Sort 1D Array Array Max & Min Transpose 2D Array Interpolate 1D Array Threshold 1D Array Interleave 1D Arrays Decimate 1D Array Array Constant Array To Cluster Cluster To Array Reshape Array

Wymiar macierzy, dostęp do elementu lub części macierzy Array Size Index Array, Array Subset

Tworzenie macierzy Inicjalizacja macierzy Budowanie macierzy

Inne działania na macierzach Replace Array Subset zastąp część macierzy Insert Into Array wstaw do macierzy Delete From Array usuń z macierzy Array Subset fragment macierzy Rotate 1D Array obróć macierz 1D Reverse 1D Array odwróć macierz 1D

Pozostałe działania na macierzach Search 1D Array przeszukaj macierz Split 1D Array podziel macierz Sort 1D Array posortuj elementy macierzy Array Max & Min maksymalny i minimalny element macierzy Transpose 2D Array obróć macierz Interpolate 1D Array interpoluj macierz Threshold 1D Array znajdź przekroczenie progu Interleave 1D Arrays spleć macierze Decimate 1D Array przerzedź macierz Reshape Array zmień kształt macierzy

Polimorfizm Wszystkie funkcje LabVIEW są polimorficzne Wejścia funkcji mogą być różnych typów Kombinacja Skalar+skalar 5 2 7 wynik skalar macierz+ skalar 1 4 2 2 3 6 4 macierz macierz+macierz 3 2 5 1 4 2 4 6 7 macierz macierz+macierz 1 4 2 3 2 5 7 4 6 7 macierz Polimorfizm nie oznacza, że np. gdy na wejściach funkcji mnożenie są dwie macierze 2D, funkcja realizuje mnożenie macierzy! Otrzymamy iloczyny poszczególnych elementów macierzy parami. macierz*macierz 1 4 2 3 2 5 7 3 8 10 macierz

Ćwiczenie: skalowanie, fragment macierzy Napisać program tworzący losową macierz 10-elementową, skalujący ją i wyjmujący fragment

Ćwiczenie: wybór opcji 6 keys.vi Napisać program stwierdzający, który z sześciu klawiszy został naciśnięty i przekazujący na wyjście jego numer. Użyj funkcji: Build Array Boolean To (0,1) Search 1D Array Zapisz jako 6 keys.vi

Wywoływanie subvi z widocznym panelem czołowym Jeśli subvi ma swój panel czołowy, z którego użytkownik ma korzystać, musi się on po wywołaniu pokazać. Najczęściej po zakończeniu działania, powinien się schować. Kliknij jego ikonę na diagramie programu głównego i ustaw opcje jego zachowania:

Ćwiczenie: Przegląd.VI Opracuj Przegląd.VI, który będzie wywoływał na życzenie jeden z VI: Sygnal losowy.vi MultiWaveformChart.vi Ruchoma średnia.vi Przebieg ruchomej średniej.vi Nadzor sredniej.vi

Klastry (Clusters) Struktura grupująca dane różnych typów, analogiczna do record w Pascalu lub struct w C. Klaster zawiera same zadajniki (controls) lub wskaźniki (indicators). Klaster można porównać do kabla złożonego z wielu różnych przewodów

Tworzenie klastra na panelu czołowym 1. Z palety Controls >> All Controls >> Array and Cluster wybierz Cluster 2. Zrzuć skorupę na panel 3. Umieść pożądane obiekty w skorupie

Tworzenie stałej klastrowej na diagramie a) Wybierz skorupę Cluster Constant z palety Cluster, po czym umieść potrzebne obiekty w skorupie b) Kliknij prawym klawiszem myszy na istniejący klaster i wybierz Create > Constant

Kolejność elementów w klastrze Elementy w klastrze są uporządkowane logicznie (od 0) W celu zmiany uporządkowania kliknij prawym klawiszem na jego granicy i wybierz Reorder Controls in Cluster...

Wykorzystanie klastrów do przekazywania danych do SubVIs Umożliwia przekazanie wielu danych do jednego terminala Umożliwia obejście limitu 28 wejść/wyjść do subvi Upraszcza połączenia

Działania na klastrach Funkcje umożliwiające działania na klastrach: Functions>All functions>cluster Można je uzyskać także klikając prawym klawiszem na terminal klastra Unbundle (rozpakuj) Bundle (spakuj) Unbundle By Name (rozpakuj wg nazwy) Bundle By Name (spakuj wg nazwy)

Działania na klastrach: pakowanie Spakuj Bundle Etykiety terminali odzwierciedlają typ danych Tworzy klaster z indywidualnych elementów. Konieczne jest podłączenie wszystkich terminali w takiej samej kolejności jak elementy w klastrze wyjściowym (output cluster) Można wykorzystać do zmiany istniejącego klastera przez podłączenie go do środkowego terminala klastra wejściowego (input cluster). Wtedy nie jest konieczne podłączenie wszystkich elementów, lecz wszystkie muszą być.

Działania na klastrach: pakowanie wg nazwy Spakuj wg nazwy Bundle By Name Zmienia zawartość istniejącego klastra, podłączonego (koniecznie) do środkowego terminala. Można zmieniać dowolne elementy w dowolnej kolejności, wybierane z menu po nazwie Etykiety terminali odzwierciedlają nazwy własne danych

Działania na klastrach: rozpakowywanie Rozpakuj Unbundle Stosuj gdy potrzebujesz dostępu do wszystkich elementów klastra. Funkcja musi mieć dokładnie tą samą liczbę terminali co liczba elementów w klastrze wejściowym.

Działania na klastrach: rozpakowywanie wg nazwy Rozpakuj wg nazwy Unbundle By Name Stosuj gdy potrzebujesz dostępu do wybranych elementów klastra, wybieranych z menu

Ćwiczenie: działania na klastrach Opracuj VI w którym klaster ustawień początkowych będzie modyfikowany (użyj Bundle By Name) zadajnikami i przekazywany na wyjście jako ustawienia zmienione. Ponadto przekaż na wyjście klaster zawierający wybrane zmienne (użyj Bundle). Klastry niedostępne i poszarzałe: Zadajnik Czujnik w stanie False: Program działa w pętli do naciśnięcia klawisza OK

Klaster błędów Klaster błędów błędów zawiera następujące informacje : Boolean wskazuje czy wystąpił błąd Integer wskazuje kod błędu String podaje opis błędu

Ćwiczenie: obsługa klastra błędów Algorytm: if (liczba >= 0) then pierwiastek = SQRT (liczba) else pierwiastek = -99999 Wskaż błąd klastrem błędów end if

Automatyczna obsługa błędów Szczególnie ważna przy wszelkich operacjach wejścia/wyjścia (operacje na plikach, kartach DAQ itp.) Prawie wszystkie funkcje obsługujące we/wy zwracają informacje o błędach (klaster błędów) Informacje o błędach mogą być przekazywane z jednego subvi do następnego Jeśli w jednym subvi wystąpi błąd, następne subvi bogą być wykonywane w inny sposób Do automatycznej obsługi błędów służą funkcje w palecie Time & Dialog, z których najważniejsze to: Prosta obsługa błędów (Simple Error Handler) oraz Ogólna obsługa błędów (General Error Handler)

Funkcje do automatycznej obsługi błędów Typy dialogu: Ogólna obsługa błędów (General Error Handler) 0 Bez dialogu Użyteczne gdy chcesz błędy obsługiwać programowo. Wskazuje czy błąd wystąpił, a jeśli tak zwraca jego opis i wyświetla opcjonalne okno dialogowe. Prosta obsługa błędów (Simple Error Handler) Działa podobnie jak General Error Handler ma jednak mniej opcji. 1 OK (default) Wyświetla okno dialogowe z klawiszem Continue. Po kliknięciu klawisza program kontynuuje działanie. 2 Kontynuacja lub zatrzymanie Wyświetla okno dialogowe z klawiszami continue i stop użytkownik może wybrać kontynuację programu lub zatrzymanie go. 3 OK z ostrzeżeniem Wyświetla okno dialogowe z klawiszem Continue i komunikatem ostrzegającym. Po kliknięciu klawisza program kontynuuje działanie. 4 Kontynuacja lub zatrzymanie z ostrzeżeniem Wyświetla okno dialogowe z klawiszami continue i stop oraz komunikatem ostrzegającym. Użytkownik może wybrać kontynuację programu lub zatrzymanie go.