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ęść 5
Pętla for, przebiegi czasowe,
struktury, wzory
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Pętla For
Wykonuje diagram wewnątrz
pętli zadaną liczbę razy
Terminal zadanej liczby przebiegów
(wejście numeryczne)
Licznik iteracji (wyjście numeryczne)
podaje liczbę wykonanych iteracji,
poczynając od 0 (tu 0..9)
Można dodać rejestry przesuwne, jeśli
potrzebne jest przekazywanie wartości
jednej iteracji do następnej
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Węzeł sprzężenia zwrotnego
(Feedback Node)
45
45
Węzeł zawiera dane z
poprzedniej iteracji!
36
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Przebiegi czasowe
(
Waveform Charts
)
Waveform Chart
– to specjalny
rodzaj wykresu służący do
wyświetlania przebiegu wartości
w czasie
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Łączenie przewodów do przebiegów czasowych
Przebiegi pojedyncze
Przebiegi wielu zmiennych
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Charts – przykłady
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Ćwiczenie: Przebieg ruchomej średniej.VI
Zmodyfikuj
Ruchoma średnia.vi
tak, by widoczny by
ł
przebieg tej
średniej w czasie. Zapisz jako
Przebieg ruchomej średniej.vi
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Dostosowywanie przebiegów czasowych
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Struktury i wzory
• Struktura sekwencji (
Sequence structure
) —
zawiera jeden lub więcej podprogramów
wykonywanych kolejno
• Struktura warunkowa (
Case structure
) —zawiera
szereg podprogramów, z których wykonywany
jest tylko jeden – spełniający zadany warunek
• Węze
ł
wzorów (
Formula Node
) — wykonuje zaprogramowane
tekstowo operacje matematyczne w oparciu o podane na wejściach
wartości
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Struktury warunkowe
(
Case
)
•
Pozwala na alternatywne wykonanie fragmentów
programu zawartego w niej, w zależności od wartości
zmiennej sterującej
•
Zmienna sterująca może być
•
boolowska (prawda – fałsz)
•
tekstowa
•
numeryczna
•
Widoczny jest tylko jeden przypadek
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Warunki logiczne i numeryczne
Uwaga! Wszystkie możliwe przypadki muszą być „obsłużone”. Dla
zmiennych sterujących o możliwej większej niż „obsłużona” liczbie
przypadków, jeden musi być oznaczony jako domyślny
(
Default
)
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Warunki tekstowe
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
•Algorytm:
if (liczba >= 0) then
pierwiastek = SQRT (liczba)
else
pierwiastek = -99999
Wyświetl komunikat o błędzie
end if
Ćwiczenie: Pierwiastek.VI
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Zmodyfikuj
Przebieg ruchomej średniej.vi
tak, by przekroczenie zadanego progu by
ł
o
sygnalizowane zapaleniem czerwonej lampki (gdy sygna
ł
poniżej, świeci na zielno) oraz
sygna
ł
em dźwiękowym.
Zapisz jako
Nadzor sredniej.vi
.
Ćwiczenie: Nadzór średniej.VI
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
• Znajduje się na palecie
All Functions>Structures
• Wykonuje diagramy zawarte w ramkach
KOLEJNO
ramka po
ramce, jak klatki filmu (0..x), gdzie x – numer ostatniej ramki
• Ułożone jedna za drugą jak talia kart (
Stacked
), widoczna tylko
jedna (dowolna wybrana)
Struktura Sekwencji
(Sequence Structure)
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Terminal
stworzony w
ramce 1
Dane
niedostępne
w ramce 0
Przekazywanie danych w sekwencji
Do przekazywania danych między
ramkami (tylko w przód) służą terminale
lokalne sekwencji
(sequence local)
tworzone na brzegach ramek
(klik prawym
klawiszem).
Dane
dostępne
w ramce 2
Dodawanie ramek: klik
prawym klawiszem
Na zewnątrz sekwencji można przekazać dane z dowolnej ramki, jednak są
dostępne dopiero po zakończeniu całej sekwencji
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Struktura Sekwencji
(Sequence Structure)
Druga wersja (
Flat
), znajduje się także na palecie
Functions>Execution
Control.
Tu widoczne są wszystkie ramki jednocześnie.
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Ćwiczenie Time2Match.vi
Zmodyfikuj
Auto Match.vi
tak by wskazywał
czas potrzebny na znalezienie dopasowania.
Zapisz jako
Time2Match.vi
Stacked
flat
lub
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Zastępowanie sekwencji strukturą warunkową
Time2Match
w wersji warunkowej:
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Węzeł wzorów
(
Formula Nodes)
•
Znajduje się na palecie
All Functions>Structures
•
Umożliwia wprowadzenie złożonych wzorów w trybie tekstowym
•
Zmienne wejściowe i wyjściowe tworzy się na brzegach
•
Zmienne pomocnicze deklaruje się na wstępie lub tworzy na brzegach
•
Każdy wzór musi kończyć się średnikiem (;)
•
Help kontekstowy pokazuje dostępne funkcje
lub
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Przykłady zastosowania węzła wzorów
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
warunek
Operator warunkowy
Wynik dla
prawda
Wynik dla
fałsz
Operacje warunkowe w węzłach wzorów
if (x >= 0) then
y = SQRT (x)
else
y = -99999
end if
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
x
y
Ćwiczenie: Wykres funkcji.VI
Opracuj program wykreślający przebieg dowolnej
funkcji zapisanej węźle wzorów, np.:
y = a
3
+ a;
gdzie
a = tanh(x) + cos(x);
w zadanym przedziale, z zadanym krokiem.
Wykorzystaj
XYGraph
z
All controls>Graph
a
3
-> a**3
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Express Formula.vi
Umożliwia wykonanie obliczeń
jak na kalkulatorze naukowym
z 8-ma zmiennymi
wejściowymi
Patrz też przykład:
Moonlanding.vi
Politechnika Warszawska, Wydział Inżynierii Produkcji, Instytut Technik Wytwarzania
Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem
Węzeł wyrażenia
(Expression Node)
Przydatne do z
ł
ożonych wzorów z jedną zmienną, np.:
y=45*x
2
+12*(x+5*sin(x))
Zamiast z
ł
ożonego diagramu...
...można zastosować proste: