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ęść  5
Pętla for, przebiegi czasowe, 
struktury, wzory

background image

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

background image

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

background image

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

background image

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

background image

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

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Charts – przykłady

background image

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

background image

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

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Dostosowywanie przebiegów czasowych

background image

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

background image

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

background image

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

)

background image

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

Zakład Automatyzacji, Obrabiarek i Obróbki Skrawaniem

Warunki tekstowe

background image

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

background image

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

ł

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

background image

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)

background image

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

background image

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.

background image

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

background image

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:

background image

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

background image

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

background image

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

background image

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

All controls>Graph

a

3

-> a**3

background image

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 

background image

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: