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
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
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Tradycyjny NI-DAQ - woltomierz
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
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
„Ekspresowe” VI z DAQ Assistant
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
DAQ Assistant - konfiguracja
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
DAQ Assistant – możliwe opcje
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
DAQ Assistant – konfiguracja, cd.
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.
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Pomiary napięcia z wykorzystaniem DAQ
Assistant
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
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
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Konfiguracja Symulatora i konwersja danych
4
5
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
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
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
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
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
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Unikanie nieskończonej pętli
ŹLE!
DOBRZE
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
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
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
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
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Funkcje opóźniające
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
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.