JĘZYK SFC

Transkrypt

JĘZYK SFC
Sequential Function Chart
Graf sekwencji
dr inż. Konrad Urbański 2004
JĘZYK SFC
TRANSITION
tranzycja, przejście
START
INITIAL STEP
blok/krok
startowy/początkowy/
inicjujący
blok aktywny
blok nieaktywny
Zawsze
bloki
i
tranzycje patrząc w
pionie są umieszczone
na przemian:
blok-tranzycja-bloktranzycja...
JUMP
skok
START
dr inż. Konrad Urbański 2004
STEP
blok, krok
dr inż. Konrad Urbański 2004
dr inż. Konrad Urbański 2004
ELEMENTY
SKŁADOWE SFC
BLOK STARTOWY
tylko jeden w całym schemacie
●
musi być na początku
●
służy np. do inicjacji zmiennych
●
oznaczony (zazwyczaj) podwójną ramką
START
dr inż. Konrad Urbański 2004
●
BLOK NR n
dr inż. Konrad Urbański 2004
BLOK
●
jest aktywny (wykonują się działania skojarzone z danym
blokiem) tak długo, jak długo tranzycja znajdująca się
bezpośrednio pod nim jest zamknięta
●
działania skojarzone z blokiem mogą być zapisane w
różnych językach (np. w logice drabinkowej) lub jako
zestaw ściśle określonych akcji
tranzycja tr
dr inż. Konrad Urbański 2004
TRANZYCJA
●
jeżeli tranzycja znajdująca się poniżej aktywnego bloku
ma stan logiczny zero, to sterowanie jest zatrzymane w
tym bloku
●
jeżeli tranzycja znajdująca się poniżej aktywnego bloku
ma stan logiczny jeden, to sterowanie jest przekazane do
bloku lub bloków znajdujących się poniżej danej tranzycji
ROZGAŁĘZIENIE
ALTERNATYWNE (WYBÓR)
dr inż. Konrad Urbański 2004
Strumień programowy płynie tylko jednym wybranym torem
poprzez jedną z otwartych tranzycji
Jeżeli otwarta jest więcej niż jedna tranzycja, system wybiera
jedną z nich w sposób zależny od realizacji/ustawień danego
modelu sterownika
Jeżeli wcześniej było rozgałęzienie alternatywne, to powinien
być też w programie powrót z rozgałęzienia alternatywnego
dr inż. Konrad Urbański 2004
POWRÓT Z ROZGAŁĘZIENIA
ALTERNATYWNEGO
dr inż. Konrad Urbański 2004
SEKWENCJA
WSPÓŁBIEŻNA
POWRÓT Z SEKWENCJI
WSPÓŁBIEŻNEJ
tranzycja
synchronizująca
dr inż. Konrad Urbański 2004
Jeżeli wcześniej była sekwencja współbieżna, to powinien
być też w programie powrót z sekwencji współbieżnej.
Tranzycja synchronizująca powinna się otwierać dopiero
wtedy, kiedy sterowanie przekazane jest do ostatniego bloku
w każdej kolumnie.
Zazwyczaj realizuje się to np. poprzez sterowanie
tranzycji synchronizującej z ostatniego bloku wybranej
kolumny – czas przebywania w ostatnich blokach
pozostałych kolumn ustala się wtedy samoistnie.
dr inż. Konrad Urbański 2004
Czas wykonywania sekwencji we wszystkich kolumnach
musi być równy.
dr inż. Konrad Urbański 2004
dr inż. Konrad Urbański 2004
PRZYKŁAD REALIZACJI
ZADANEJ SEKWENCJI
W JĘZYKU SFC
PRZYKŁAD REALIZACJI ZADANEJ SEKWENCJI
wy 0:1
3s
1s
t
dr inż. Konrad Urbański 2004
Zadanie:
wygenerować na wyjściu dyskretnym o adresie
0:1 okresowy sygnał o parametrach jak na
rysunku:
SPOSÓB NAJŁATWIEJSZY:
Każdej niezmiennej wartości zadanej sekwencji
odpowiada 1 blok programu
3s
1s
blok nr 1
blok nr 2
t
dr inż. Konrad Urbański 2004
wy 0:1
MOŻLIWE AKCJE W BLOKU
N
(none)
zmienna/adr._bezpośr.
S
(set/saved) zmienna/adr._bezpośr.
R
(reset)
P
(pulse)
zmienna/adr._bezpośr.
L
(limited)
czas
zmienna/adr._bezpośr.
D
(delayed)
czas
zmienna/adr._bezpośr.
DS
(delayed+saved)
czas
zmienna/adr._bezpośr.
dr inż. Konrad Urbański 2004
zmienna/adr._bezpośr.
WERSJA 1 (concept)
-ustawienie na czas przebywania w bloku na
stan wysoki wyjścia 0:1
-odmierzenie czasu 3s
START
AKCJA 1:
N
0:1
-odmierzenie czasu 1s
pusty: odczekujemy tylko 1s
stale otwarta (bo blok “sam” odmierza czas 1s)
START
dr inż. Konrad Urbański 2004
stale otwarta (bo blok “sam” odmierza czas 3s)
WERSJA 2
(zgodna z innymi odmianami języka SFC)
START
oczekuje na otwarcie przez akcję zdefiniowaną w
bloku poprzedzającym
tr1
-ustawienie (na czas przebywania w bloku)
stanu niskiego wyjścia 0:1
-odmierzenie czasu 1s
oczekuje na otwarcie przez akcję zdefiniowaną w
bloku poprzedzającym
AKCJA 1:
AKCJA 2:
AKCJA 1:
AKCJA 2:
tr1
START
S
D
R
D
3s
1s
0:1
tr1
0:1
tr1
dr inż. Konrad Urbański 2004
-ustawienie (na czas przebywania w bloku)
stanu wysokiego wyjścia 0:1
-odmierzenie czasu 3s
WERSJA 3
(na jednym bloku)
wy 0:1
1s
x
t
tlim
t
nasze zadanie
-ustawienie na czas 3s stanu wysokiego
wyjścia 0:1
-odmierzenie czasu 4s
START
oczekuje na otwarcie przez akcję zdefiniowaną
w bloku poprzedzającym
tr1
START
AKCJA 1:
AKCJA 2:
L
D
3s
4s
0:1
tr1
dr inż. Konrad Urbański 2004
3s
tak działa akcja L (limit)

Podobne dokumenty