MATERIAŁY POMOCNICZE DO ZAJĘĆ LABORATORYJNYCH ŚRODOWISKO LABVIEW. ELEMENTY JĘZYKA PROGRAMOWANIA GRAFICZNEGO

Podobne dokumenty
Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy użytkowania programu LabView

Podstawy programowania w języku C

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

Instrukcje sterujące. Programowanie Proceduralne 1

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Podstawy i języki programowania

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Laboratorium Programowanie Obrabiarek CNC. Nr H7

Podstawy Programowania C++

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Sterowniki Programowalne (SP)

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Języki programowania wysokiego poziomu. PHP cz.2.

Programowanie w języku C++ Grażyna Koba

Robert Barański, AGH, KMIW State Machine v1.0. Maszyna stanów (State Machine)

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

Definicje. Algorytm to:

Wirtualne przyrządy kontrolno-pomiarowe

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

JAVAScript w dokumentach HTML (1)

Podstawy Programowania Podstawowa składnia języka C++

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Zintegrowane środowisko programowe Wirtualne przyrządy pomiarowe. LabVIEW. Diagnostyka - monitoring maszyn część IV. Struktura programu

Cw.12 JAVAScript w dokumentach HTML

LabVIEW PLATFORMA EDUKACYJNA Lekcja 1 Pierwsze kroki w środowisku LabVIEW

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

PROGRAMOWALNE STEROWNIKI LOGICZNE

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

Podstawy programowania skrót z wykładów:

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

1 Podstawy c++ w pigułce.

Synteza układów kombinacyjnych metodą tablic Karnaugha - ćwiczenie 10

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

2 Przygotował: mgr inż. Maciej Lasota

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Wykład z Technologii Informacyjnych. Piotr Mika

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

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

Technologie informacyjne - wykład 12 -

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.

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

Reprezentacja zmiennych numerycznych

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Idea przyrządów wirtualnych Virtual Instruments - VI

Lab. 3 Typy danych w LabView, zapis do pliku

Odczyt danych z klawiatury Operatory w Javie

CoDeSys 3 programowanie w języku FBD

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

Język ludzki kod maszynowy

Zapis algorytmów: schematy blokowe i pseudokod 1

Podstawowe wyrażenia matematyczne

Wprowadzenie LabVIEW interfejs użytkownika. Zajęcia: Cele: Materiały źródłowe:

Układy VLSI Bramki 1.0

Podstawy budowy wirtualnych przyrządów pomiarowych

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Podstawy programowania w języku C i C++

PUKP Programowanie urządzeń kontrolno-pomiarowych. ztc.wel.wat.edu.pl

Ćw. 2. Wprowadzenie do graficznego programowania przyrządów pomiarowych

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

Wirtualne przyrządy pomiarowe

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

CoDeSys 3 programowanie w języku drabinkowym LD

Modelowanie układów sekwencyjnych w LabView - ćwiczenie 8

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

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

Wstęp do Programowania Lista 1

2.2 Opis części programowej

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

Algorytm. a programowanie -

Algorytmika i Programowanie VBA 1 - podstawy

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

dr inż. Artur Zieliński Katedra Elektrochemii, Korozji i Inżynierii Materiałowej Wydział Chemiczny PG pokój 311

Wykład 2 Składnia języka C# (cz. 1)

Ćwiczenie 1. Wprowadzenie do programu Octave

Lab. 3 Typy danych w LabView, zapis do pliku

Kiedy i czy konieczne?

LibreOffice Calc VBA

Wprowadzenie do algorytmiki

Warunki logiczne instrukcja if

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

1 Wprowadzenie do algorytmiki

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Site Installer v2.4.xx

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Wprowadzenie do MS Excel

LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.

POLITECHNIKA ŚLĄSKA WYDZIAŁ GÓRNICTWA I GEOLOGII. Roman Kaula

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki MATERIAŁY POMOCNICZE DO ZAJĘĆ LABORATORYJNYCH ŚRODOWISKO LABVIEW. ELEMENTY JĘZYKA PROGRAMOWANIA GRAFICZNEGO Laboratorium z przedmiotu: Metody Identyfikacji i Diagnostyki (dla kierunku Elektrotechnika sem. VII) Kod: ES1C721 359 Opracowali: dr inż. Andrzej Sobolewski (Białystok, jesień 2010 r.) dr hab. inż. Mirosław Świercz (Białystok, jesień 2015 r.)

1. LABVIEW JAKO ŚRODOWISKO PROGRAMOWE Pakiet LabView jest ukierunkowany na programowanie systemów kontrolnoprogramowych w których wykorzystuje się akwizycję danych. Istotą działania programu jest używanie graficznego języka programowania algorytmów komunikacji i wymiany danych pomiędzy urządzeniami wchodzącym w skład systemu kontrolno- pomiarowego. Bardzo często program LabView jest nazywany przyrządem wirtualnym (ang. virtual instrument) lub krótko programem VI. Wynika to z możliwości stosowania aplikacji napisanych w tym środowisku do pełnienia funkcji rzeczywistych przyrządów pomiarowych, takich jak multimetry, oscyloskopy i wiele innych. Każdy wirtualny instrument VI zawiera takie same elementy jak rzeczywiste urządzenie z tą różnicą, że operowanie nimi jest dokonywane za pomocą myszy i klawiatury komputera, na którym uruchomiony jest program. Po zgromadzeniu danych można, korzystając z biblioteki wirtualnych przyrządów pomiarowych, przetworzyć wyniki pomiarów za pomocą różnorodnych procedur np. cyfrowej analizy danych, filtracji cyfrowej, analizy statystycznej, analizy numerycznej, itd. Można również sterować oprogramowaniem i prezentacją wyników pomiaru poprzez interaktywny panel przyrządu pomiarowego. LabView jest w pełni przystosowany do komunikacji z fizycznymi urządzeniami pomiarowymi poprzez oprogramowanie interfejsów cyfrowych, takich jak: GPIB, VXI, PXI, RS485, RS232 integracja środowiska pomiarowego z fizycznymi przyrządami tworzy Cyfrowy System Pomiarowy. LabView jest również przystosowany do połączenia z internetem za pomocą narzędzia LabView web server i standardów programowych takich jak TCP/IP oraz ActiveX. LabView zawiera podstawowe biblioteki narzędziowe do akwizycji, analizy i prezentacji danych. Pozwala również analizować i śledzić poprawność wykonywanego programu, tak jak to się odbywa w językach programowania tekstowego. 2. OPIS ŚRODOWISKA LABVIEW Pakiet LabView składa się z dwóch komponentów: Pulpitu (front panel), który stanowi graficzny interfejs użytkownika i zawiera wszelkie wirtualne narzędzia do komunikacji programu ze światem zewnętrznym ; 2

Rys. 2. 1. Wygląd pustego panelu frontowego projektu Diagramu (block diagram), który stanowi edytor programu i zawiera strategię działania aplikacji zaprogramowaną w języku graficznym G. Rys. 2. 2. Podział rodzajów ikon ze względu na ich funkcje programowe Działanie programu jest możliwe dzięki wykorzystywaniu: Terminali (terminals) są one portami wejściowymi i wyjściowymi przesyłającymi informacje pomiędzy pulpitem i diagramem. Dane wprowadzone do elementów kontrolnych pulpitu wpływają do diagramu przez końcówki wejściowe (kontrolne). Dane wpływające do końcówek wyjściowych (wskaźnikowych) opuszczają diagram i przechodzą do odpowiednich elementów prezentacyjnych pulpitu. Końcówka jest generowana automatycznie w diagramie w momencie umeiszczenia elementu kontrolnego lub prezentacyjnego na pulpicie. Reprezentuje ona port do określonego elementu pulpitu oraz typ danych wchodzących lub wychodzących, np. DBL - double. 3

Węzłów (nodes), które są obiektami wyposażonymi w wejścia i wyjścia danych realizującymi określone operacje podczas działania programu. W języku graficznym pełnią podobne role jak wyrażenia, operatory, funkcje i procedury w językach tekstowych. Przewodów (wires), które służą do budowania połączeń (dróg przepływu danych) pomiędzy elementami diagramu. Każde połączenie może mieć tylko jedno źródło danych, lecz może być rozgałęzione do wielu punktów odbioru danych. W zależności od typu przesyłanych danych połączenia są wyróżniane kolorami, stylem linii łączącej oraz jej grubością. Złe połączenia są automatycznie zaznaczane czarną linią przerywaną. Konstrukcji sterujących (structures) języka graficznego, które zapewniają specyficzny sposób wykonania fragmentów kodu. Pozwalają one realizować powtarzanie bloków kodu (pętle), warunkowy wybór wykonania bloków kodu (case) lub określić sekwencję wykonania bloków kodu. 4

W każdym z dwóch paneli programu dostępne są dwie palety narzędzi do wykorzystywania podczas tworzenia aplikacji, dostępne z Menu głównego okna pulpitu. Palety Pulpitu: Rys. 2. 3. Okna Tools i Controls, dostępne w panelu frontowym 5

Palety Diagramu Blokowego: Rys. 2. 4. Okna Tools i Functions dostępne w panelu diagramu blokowego W paletach znajdują się narzędzia (podprogramy, tzw. SubVi), łatwe do wykorzystania w postaci Ikon. Ikona jest więc swego rodzaju odpowiednikiem procedury w tekstowych językach programowania. Strumień przepływu danych LabView działa na zasadzie przekazywania danych z jednego węzła diagramu do drugiego. Kolejność działania poszczególnych elementów programu jest więc zależna 6

od ukierunkowania strumienia przepływu danych. Węzeł bloku diagramu wykona przypisaną mu operację, kiedy wszystkie jego wejścia będą skompletowane i dostępne. Wówczas dane wejściowe zostają przetworzone i przekazane jako dane wyjściowe bloku do następnego węzła. 3. ELEMENTY JĘZYKA PROGRAMOWANIA GRAFICZNEGO G Instrukcje sterujące Podstawą programowania w języku G jest zrozumienie i opanowanie stosowanie konstrukcji sterujących, do których zaliczamy: konstrukcję sterującą Sequence, konstrukcję sterującą Case, konstrukcję Formula Node, pętlę For Loop, pętlę While Loop oraz operator Shift Register. Struktura Sequence Konstrukcja Sequence odpowiada instrukcji grupującej {} (nawiasowi) w języku C. Służy ona do grupowania obiektów języka G, co zwiększa przejrzystość programu i umożliwia wprowadzenie zależności czasowych pomiędzy fragmentami wykonywanego kodu. Struktura sekwencyjna składa się z jednej lub wielu ramek, które mogą zawierać kody programów wykonywanych etapowo, w kolejności rosnącej zgodnie z numerem ramki sekwencji. Dane opuszczają strukturę w momencie, kiedy ostatnia ramka kończy czynność. Wyjście danych poza strukturę odbywa się poprzez tunel, który może być podłączony tylko do jednego źródła informacji. Dane na wejściu tunelu są dostępne dla wszystkich ramek. 7

Rys. 3. 1. Ramka (frame) struktury Sequence Tworzenie nowych ramek odbywa się poprzez wybranie z menu podręcznego (dostępnego po kliknięciu prawym przyciskiem myszy) opcji Add Frame After bądź Add Frame Before albo Duplicate Frame. Do usunięcia wskazanej ramki służy opcja Remove Frame. Do przenoszenia danych pomiędzy jedną ramką a ramkami niższego poziomu ( podsekwencyjnymi ) służą sekwencje lokalne. Aby utworzyć sekwencję lokalną wybiera się opcję Sequence Local>>Add. Pojawiają się wówczas strzałki na krawędziach ramek, a kierunek strzałek będzie wskazywał na ramkę źródłową i ramki w sekwencjach lokalnych. Struktura wyboru Case Konstrukcja sterująca Case jest odpowiednikiem instrukcji wyboru if i switch w języku C. Konstrukcja ta umożliwia wykonanie odpowiedniego fragmentu kodu programu w zależności od wyników realizacji kodu programu wykonanego wcześniej. Konstrukcja sterująca Case umożliwia realizację jednej z wielu zdefiniowanych operacji. Każda zdefiniowana operacja znajduje się w osobnej ramce konstrukcji sterującej Case. Wybór aktywnej ramki jest dokonywany przez odpowiednie pole 8

selektora. W przypadku, gdy do pola selektora jest dołączone wyrażenie logiczne (typ Boolean ), wybór następuje spośród dwóch: wartości FALSE i TRUE. Jeżeli do selektora jest dołączona wartość liczbowa, struktura może mieć od 0 do 32767 wartości (przypadków). Jeżeli do selektora jest dołączony element typu Numeric, dla każdego elementu musi istnieć jeden podschemat. Konstrukcja sterująca jest identyfikowana tak samo jak nazwa pozycji elementu typu Numeric. Rys. 3. 2. Ramka (frame) struktury Case Selektor można umieścić w dowolnym miejscu obramowania, może on również pozostać niepodłączony. Selektor automatycznie dostosowuje się do typu danych. Jeżeli zmieni się wartość połączenia do selektora z Numeric na Boolean, przypadki 0 i 1 zmienia się na FALSE i TRUE. Pętle w LabView Pętle są realizowane przez konstrukcje For Loop i While Loop i wraz z operatorem Shift Register odpowiadają instrukcją iteracyjnym do... while i for w języku C. Konstrukcje te służą do wielokrotnego wykonywania tego samego fragmentu kodu programu. Po zastosowaniu elementu Shift Register można je wykorzystać do obliczeń iteracyjnych. 9

Pętla For W LabView pętla For pozwala na zdefiniowanie określonej liczby iteracji przez podłączenie do wejścia N stałej o wartości całkowitej, oraz pozwala na odczyt wartości licznika iteracji przez podłączenie się do wyjścia i. Pętla While Rys. 3. 3. Przykład pętli For Podobnie jak w językach tekstowych, pętla While posiada licznik iteracji i, który może być wykorzystywany na przykład do wyznaczenia warunku końca działania pętli. Istnieje również możliwość zdefiniowania innego warunku końca działania pętli. Pętla While wykonuje się, dopóki wartość logiczna elementu podłączonego do warunku końca pętli będzie miała wartość FALSE. Pętla sprawdza wartość warunku końca po zakończeniu każdej iteracji. 10

Rys. 3. 4. Przykład pętli While Rejestry przesuwne ( Shift registers ) Zarówno pętla For, jak i pętla While mogą być wyposażone w rejestry przesuwne (Rys. 3. 4.). W symbolu bloku pętli pojawiają się wówczas prostokąty na przeciwległych krawędziach ramek, ze strzałkami w dół lub górę. Rejestrów przesuwnych używa się do przejścia danych z aktualnego warunku do następnej iteracji. Operatory rejestru przesuwnego są to elementy przesyłu informacji, będące lokalnymi zmiennymi, które przechowują informacje z poprzednich iteracji. Historia danych sięga tak daleko, ile elementów rejestru zostanie zdeklarowanych. Operator rejestru przesuwnego składa się z dwóch pól oznaczonych przez strzałki skierowane przeciwnie. Informacja wychodząca z rejestru przesuwnego, tzn. elementu ze strzałką w górę, jest doprowadzona do elementu ze strzałką skierowaną w dół. Formuła węzła ( Formula Node ) Bardzo ciekawym narzędziem jest formuła węzła. Pozwala ona na realizację zależności matematycznej pomiędzy danymi wejściowymi a wyjściowymi. Innymi słowy formuła ta służy do wyznaczania wartości funkcji jednej bądź wielu zmiennych. Określenie argumentów funkcji jak i jej wartości odbywa się za pomocą podręcznego menu. 11

Rys. 3. 5. Ramka formuły węzła Formula Node Formula Node może więc służyć do wprowadzania wyrażeń znanych z języka C. W obrębie tego obiektu można stosować następujące operatory: arytmetyczne: + - znak plus, - - znak minus, ++ - inkrementacja, -- - dekrementacja, + - dodawanie, - - odejmowanie, * - mnożenie, / - dzielenie, % - reszta z dzielenia, ** - wykładnik potęgi (operator niedostępny w C); logiczne:! - negacja (NOT), && - koniunkcja argumentów (AND), - alternatywa argumentów (OR); bitowe: ~ - negacja zestawu bitów, 12

& - koniunkcja zestawu bitów, ^ - różnica symetryczna zestawu bitów, - alternatywa zestawu bitów, >> - przesunięcie w prawo, << - przesunięcie w lewo, relacji: == - równy,!= - różny, < - mniejszy, > - większy, <= - mniejszy bądź równy, >= - większy bądź równy. inne:?: - operator warunkowy. Dostępne są również funkcje wbudowane: abs, acos, acosh, asin, asinh, atan, atanh, ceil, cos, cosh, cot, csc, exp, expm1, floor, getexp, getman, int, intrz, ln, lnp1, log, log2, max, min, mod, rand, rem, sec, sign, sin, sinc, sinh, sqrt, tan, tanh. 13