background image

Prof. Krzysztof Jemielniak

k.jemielniak@wip.pw.edu.pl

http://www.cim.pw.edu.pl/kjemiel

ST 107, tel. 234 8656

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

PRZYRZĄDY 

WIRTUALNE

Część 4
Akwizycja danych, pętla while

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Tradycyjne NI-DAQ
Określone VI do 
obsługi:
• wejść analogowych
• wyjść analogowych
• we/wy cyfrowych
• liczników

NI-DAQmx
Następna generacja
driverów: 
• VI do wykonywania 
zadań
• Jeden zestaw VI do 
wszytkich typów 
pomiarów

Akwizycja danych w LabVIEW

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Tradycyjny NI-DAQ - woltomierz

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Tradycyjny NI-DAQ – symulowany woltomierz

All Functions>Time&Dialog>Tick Count

All Functions>NI Measurements> 

Data Acquisition>Traditional DAQ Channel

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

„Ekspresowe” VI z DAQ Assistant

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

DAQ Assistant - konfiguracja

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

DAQ Assistant – możliwe opcje

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

DAQ Assistant – konfiguracja, cd.

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Konfigurowanie zadania

1. Określ zakres sygnału mierzonego. 

Jeśli go nie znasz, możesz 

wykorzystać domyślne max 5 V, 

min -5 V.

2. Wybierz konfigurację podłączenia 

sygnału. 

3. W zakładce

Task Timing

wybierz 

liczbę próbek (1, określona ich 

liczba lub próbkowanie ciągłe).

4. Określ częstotliwość 

próbkowania.

5. Możesz także określić tryb 

wyzwalania i skalowanie.

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Pomiary napięcia z wykorzystaniem DAQ 

Assistant

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Symulacja z wykorzystaniem Express VI

1

Zaznacz AI Sample Channel 

Demo.vi wraz z wejściami i 

skasuj

2

Wybierz z palety Functions>Input funkcję

Simulate Signal i nanieś na schemat blokowy w 

opróżnione miejsce

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Konfiguracja Symulatora Sygnałów

3

Skonfiguruj jak 

na rysunku obok

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Konfiguracja Symulatora i konwersja danych

4

5

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Symulowany Woltomierz (Express VI)

Dokończ połączenia i zapisz jako WoltomierzExpressSym.vi

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Pętle (Loops)

• For Loop— wykonuje podprogram 

zadaną liczbę razy

• While Loop—wykonuje podprogram spełnienia warunku końca

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Pętla While

Ma terminal licznika iteracji

Zawsze jest wykonywana 

przynajmniej raz

Jest wykonywana do 

spełnienia warunku końca

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

1. Wybierz pętlę While

(

Functions>All Functions>While Loop

)

Pętla While cd.

3. Puść klawisz myszy.

2. Obrysuj kod, który ma być powtarzany

4.   Dodaj funkcję lub 

zadajnik kończący 

powtarzanie

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Pętla While Express

1. Wybierz While Loop

2. Obrysuj kod, który ma być powtarzany

3. Puść klawisz myszy. 

Boolean control 
utworzy się 
samoczynnie

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Unikanie nieskończonej pętli

ŹLE!

DOBRZE

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Ćwiczenie – Auto Match.vi

Zadanie: napisać program poszukujący losowo zadanej liczby całkowitej 

z zakresu 0-10000 i pokazujący liczbę iteracji

Uwaga!

Ustaw typ liczby do zgadnięcia na Word (I16), zakres na 0-10000

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

• Dostępne na lewej lub prawej krawędzi struktury pętli
• Kliknij prawym klawiszem na krawędzi i wybierz Add 

Shift Register 

• Prawy terminal przechowuje wynik na koniec iteracji
• Lewy terminal dostarcza wynik z poprzedniej iteracji

Pierwsza

iteracja

Druga 

iteracja

Ostatnia

iteracja

Initial Value

Value 1

Value 1

Value 2

Value 2

Value 3

wynik

a

Rejestry przesuwne

Shift Registers

a+5

a+5

a+10

a+n*5

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Inicjalizacja wartości rejestrów przesuwnych

przebieg 1

Wartość 

początkowa = 5

Zainicjowane

Niezainicjowane

Wartość 

początkowa = 5

Wartość 

początkowa = 0

Wartość 

początkowa = 8

przebieg 2

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

“Prawy klik” 
na terminalu 
i dodanie 
elementu

Dodatkowe elementy rejestrów przesuwnych

Z poprzedniej iteracji
Dwie iteracje temu
Trzy iteracje temu

wartości poprzednie są 

dostępne w terminalach 

po lewej stronie

Wynik bieżącej iteracji 

przekazywany do 

prawego terminala

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Funkcje opóźniające

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Ćwiczenie: Ruchoma średnia.vi

Opracuj program losujący co 0,1 s liczby (0-1), 

wyświetlający je oraz obliczający i wyświetlający 

średnią z trzech ostatnich do odwo

ł

ania. W pętli 

dodaj opóźnienie. 

Zapisz jako Ruchoma średnia.vi

background image

Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Działanie przełączników boolean

Switch When Pressed

—Zmienia wartość zadajnika przy każdym razem jego 

przełączeniu (kliknięciu). Działanie podobne do wyłącznika światła na ścianie. 

Switch When Released

— Zmienia wartość zadajnika dopiero po zwolnieniu 

klawisza myszy w trakcie klikania w jego obrębie. 

Switch Until Released

— Zmienia wartość zadajnika gdy klikniesz w jego obrębie, 

jednakże zmieniona wartość trwa do chwili gdy zwolnisz klawisz myszy, po czym 

wraca do pierwotnej wartości. Działanie podobne do dzwonka przy drzwiach. 

Latch When Pressed

— Zmienia wartość zadajnika gdy go klikniesz. Zmieniona 

wartość trwa do chwili, gdy VI odczyta ją raz, po czym wraca do domyślnego 

stanu. 

Latch When Released

—Zmienia wartość zadajnika po zwolnieniu klawisza 

myszy po kliknięciu. Zmieniona wartość trwa do chwili, gdy VI odczyta ją raz, 

po czym wraca do domyślnego stanu. 

Latch Until Released

— Zmienia wartość zadajnika gdy go klikniesz i utrzymuje 

zmienioną wartość do chwili gdy zwolnisz klawisz myszy lub gdy VI odczyta tę 

wartość – zależnie od tego, co nastąpi później.