SP 11

background image

28

1

Wykład 11

Wykład 11

Sprawy organizacyjne

Sprawy organizacyjne

Translacja oprogramowania napisanego w

Translacja oprogramowania napisanego w

różnych językach,

różnych językach,

Graf Sekwencji ( SFC)

Graf Sekwencji ( SFC)

Uwagi wstępne,

Uwagi wstępne,

Etapy, przejścia, działania,

Etapy, przejścia, działania,

Sekwencje,

Sekwencje,

Reguły konstrukcji grafów,

Reguły konstrukcji grafów,

Dobry styl programowania”

Dobry styl programowania”

Przykłady błędów oraz „niebezpiecznych

Przykłady błędów oraz „niebezpiecznych

konstrukcji grafów,

konstrukcji grafów,

Forma tekstowa SFC,

Forma tekstowa SFC,

Uwagi końcowe.

Uwagi końcowe.

background image

28

2

UWAGA!

UWAGA!

19 05 2009 ( za tydzień) – w terminie

19 05 2009 ( za tydzień) – w terminie

wykładu

konsultacje

dotyczące

pytań

wykładu

konsultacje

dotyczące

pytań

egzaminacyjnych,

egzaminacyjnych,

26 05 2009 – termin „0” egzaminu

26 05 2009 – termin „0” egzaminu

( godzina i sala ta sama, co wykład),

( godzina i sala ta sama, co wykład),

Wpis ocen z terminu „0”: 02 06 termin i

Wpis ocen z terminu „0”: 02 06 termin i

sala tam gdzie wykład,

sala tam gdzie wykład,

Termin 1 egzaminu: 16 06 2009 – godzina i

Termin 1 egzaminu: 16 06 2009 – godzina i

sala będą podane.

sala będą podane.

background image

28

3

Możliwości translacji oprogramowania

Możliwości translacji oprogramowania

napisanego w różnych językach.

napisanego w różnych językach.

Uwagi wstępne.

Uwagi wstępne.

Łatwa

i

pełna

możliwość

translacji

Łatwa

i

pełna

możliwość

translacji

oprogramowania napisanego w różnych

oprogramowania napisanego w różnych

językach była jednym z fundamentalnych

językach była jednym z fundamentalnych

założeń podczas tworzenia normy IEC 1131.

założeń podczas tworzenia normy IEC 1131.

Niestety, było to tylko „myślenie życzeniowe”,

Niestety, było to tylko „myślenie życzeniowe”,

ponieważ w praktyce taka translacja nie zawsze

ponieważ w praktyce taka translacja nie zawsze

jest możliwa. Utrudnienia są spowodowane

jest możliwa. Utrudnienia są spowodowane

różnymi czynnikami, które zostaną omówione.

różnymi czynnikami, które zostaną omówione.

background image

28

4

LD

LD

FBD

FBD

IL

IL

ST

ST

L

L

D

D

Prosta ( oba

Prosta ( oba

języki zbliżone

języki zbliżone

do siebie).

do siebie).

Możliwa,

ale

Możliwa,

ale

nie

zawsze

nie

zawsze

prosta

prosta

( problemy z

( problemy z

EN i ENO –

EN i ENO –

mogą one być

mogą one być

używane jako

używane jako

dodatkowe

dodatkowe

wejścia

i

wejścia

i

wyjścia)

wyjścia)

Funkcje

logiczne

Funkcje

logiczne

łatwe do translacji

łatwe do translacji

Problemy z EN i

Problemy z EN i

ENO.

ENO.

F

F

B

B

D

D

Prosta ( oba

Prosta ( oba

języki

zbliżone

języki

zbliżone

do siebie).

do siebie).

Możliwa, ale nie

Możliwa, ale nie

zawsze łatwa. EN

zawsze łatwa. EN

i ENO mogą być

i ENO mogą być

używane

jako

używane

jako

dodatkowe

dodatkowe

wejście i wyjście.

wejście i wyjście.

Funkcje

logiczne

Funkcje

logiczne

łatwe do translacji

łatwe do translacji

Problemy z EN i

Problemy z EN i

ENO.

ENO.

IL

IL

Bardzo

trudna

i

Bardzo

trudna

i

możliwa

tylko

w

możliwa

tylko

w

niektórych

niektórych

przypadkach

(

nie

przypadkach

(

nie

wszystkie funkcje IL

wszystkie funkcje IL

są dostępne w innych

są dostępne w innych

językach)

językach)

Bardzo

trudna

i

Bardzo

trudna

i

możliwa

tylko

w

możliwa

tylko

w

niektórych

niektórych

przypadkach ( nie

przypadkach ( nie

wszystkie funkcje IL

wszystkie funkcje IL

dostępne

w

dostępne

w

innych językach)

innych językach)

Bardzo

trudna

i

Bardzo

trudna

i

możliwa

tylko

w

możliwa

tylko

w

niektórych

niektórych

przypadkach

(

nie

przypadkach

(

nie

wszystkie funkcje IL są

wszystkie funkcje IL są

dostępne

w

innych

dostępne

w

innych

językach)

językach)

S

S

T

T

Nie zawsze możliwa

Nie zawsze możliwa

( np. pętle, IF THEN

( np. pętle, IF THEN

ELSE, itp.)

ELSE, itp.)

Odwołania do tablic i

Odwołania do tablic i

struktur niemożliwe w

struktur niemożliwe w

LD

LD

Nie zawsze możliwa (

Nie zawsze możliwa (

np. pętle, IF THEN

np. pętle, IF THEN

ELSE, itp.)

ELSE, itp.)

Odwołania do tablic

Odwołania do tablic

i struktur niemożliwe

i struktur niemożliwe

w LD

w LD

Zawsze możliwa

Zawsze możliwa

(

wykonywana

(

wykonywana

podczas

podczas

kompilacji).

kompilacji).

background image

28

5

Graf Sekwencji ( SFC)

Graf Sekwencji ( SFC)

Uwagi wstępne.

Uwagi wstępne.

SFC jest narzędziem dedykowanym do budowy

SFC jest narzędziem dedykowanym do budowy

programów

programów

sterowania sekwencyjnego

sterowania sekwencyjnego

(tzn. takich,

(tzn. takich,

które zawierają łatwe do zdefiniowania etapy, działania

które zawierają łatwe do zdefiniowania etapy, działania

wykonywane w każdym etapie oraz jednoznacznie

wykonywane w każdym etapie oraz jednoznacznie

zdefiniowane warunki przejść pomiędzy etapami )

zdefiniowane warunki przejść pomiędzy etapami )

Dobry

przykład

sterowania

sekwencyjnego

to

Dobry

przykład

sterowania

sekwencyjnego

to

sterowanie pralką.

sterowanie pralką.

Metodologia SFC bazuje na sieciach Petriego P/T oraz

Metodologia SFC bazuje na sieciach Petriego P/T oraz

Grafcecie.

Grafcecie.

SFC pozwala opisać: wszystkie możliwe etapy

SFC pozwala opisać: wszystkie możliwe etapy

programu, wszystkie warunki przejścia pomiędzy

programu, wszystkie warunki przejścia pomiędzy

etapami i działania wykonywane w każdym z etapów .

etapami i działania wykonywane w każdym z etapów .

Element oprogramowania zbudowany z użyciem SFC

Element oprogramowania zbudowany z użyciem SFC

jest zawsze elementem dynamicznym – musi to być FB

jest zawsze elementem dynamicznym – musi to być FB

lub program.

lub program.

Plik źródłowy zbudowany z użyciem SFC musi zawsze

Plik źródłowy zbudowany z użyciem SFC musi zawsze

być kompilowany.

być kompilowany.

Graf jest budowany z użyciem innych języków

Graf jest budowany z użyciem innych języków

programowania.

programowania.

Graf jest budowany z trzech typów elementów:

Graf jest budowany z trzech typów elementów:

etapów,

etapów,

przejść,

przejść,

działań.

działań.

background image

28

6

Etap reprezentuje określony, konkretny stan programu.

Etap reprezentuje określony, konkretny stan programu.

Musi mieć swoją jednoznaczną nazwę i w każdym grafie

Musi mieć swoją jednoznaczną nazwę i w każdym grafie

jeden etap może pojawić się tylko jeden raz. Dla

jeden etap może pojawić się tylko jeden raz. Dla

pojedynczego grafu etap ma charakter

pojedynczego grafu etap ma charakter

lokalny.

lokalny.

{

nazwa

}

Etap początkowy

Etap początkowy

Dla każdego grafu może być zdefiniowany

Dla każdego grafu może być zdefiniowany

tylko jeden

tylko jeden

etap początkowy, jest on

etap początkowy, jest on

aktywowany wyłącznie podczas

aktywowany wyłącznie podczas

zimnego

zimnego

restartu.

restartu.

{

nazwa

}

Zwykły

Zwykły

etap

etap

Rodzaje etapów:

Rodzaje etapów:

Etap

Etap

y

y

background image

28

7

Z każdym etapem są skojarzone dwie zmienne,

Z każdym etapem są skojarzone dwie zmienne,

przydatne do synchronizacji i monitorowania etapu. Ich

przydatne do synchronizacji i monitorowania etapu. Ich

wartość jest dostępna w innych częściach grafu:

wartość jest dostępna w innych częściach grafu:

<

<

Nazwa Etapu

Nazwa Etapu

>.X – flaga aktywności etapu

>.X – flaga aktywności etapu

Zmienna typu BOOL, równa TRUE podczas aktywności

Zmienna typu BOOL, równa TRUE podczas aktywności

etapu.

etapu.

<

<

Nazwa Etapu

Nazwa Etapu

>.

>.

T – czas trwania etapu

T – czas trwania etapu

Zmienna typu TIME. Gdy etap startuje, jest ustawiany na

Zmienna typu TIME. Gdy etap startuje, jest ustawiany na

0. Podczas aktywności etapu jest aktualizowany przez

0. Podczas aktywności etapu jest aktualizowany przez

RTC i opisuje czas trwania tego etapu. Wartość tej

RTC i opisuje czas trwania tego etapu. Wartość tej

zmiennej jest pamiętana po zakończeniu etapu i jest

zmiennej jest pamiętana po zakończeniu etapu i jest

kasowana i uruchamiana ponownie przez jego następne

kasowana i uruchamiana ponownie przez jego następne

uruchomienie.

uruchomienie.

Przykład zastosowania:

Przykład zastosowania:

Fill

Stir

Fill.T > T#10m

Fill.T > T#10m

background image

28

8

Przejścia

Przejścia

Przejście

opisuje

warunki

zakończenia

Przejście

opisuje

warunki

zakończenia

poprzedniego etapu i rozpoczęcia następnego.

poprzedniego etapu i rozpoczęcia następnego.

Każde przejście musi mieć zdefiniowany

Każde przejście musi mieć zdefiniowany

warunek.

warunek.

Przejście jest zawsze opisane przez zmienną

Przejście jest zawsze opisane przez zmienną

lub wyrażenie typu boolowskiego, w przejściu

lub wyrażenie typu boolowskiego, w przejściu

można też użyć jako warunek stałą: TRUE lub

można też użyć jako warunek stałą: TRUE lub

FALSE ( np. gdy wymaga tego poprawna

FALSE ( np. gdy wymaga tego poprawna

konstrukcja grafu)

konstrukcja grafu)

Warunek przejścia może być opisany każdym

Warunek przejścia może być opisany każdym

z języków programowania PLC.

z języków programowania PLC.

Przejście może być też reprezentowane przez

Przejście może być też reprezentowane przez

swoją nazwę lub etykietkę.

swoją nazwę lub etykietkę.

background image

28

9

s2

s3

a

b

Język LD:

Język LD:

s2

s3

&

b

a

Język FBD:

Język FBD:

s2

s3

a AND NOT b

Język ST:

Język ST:

background image

28

10

Użycie konektora (etykietki):

Użycie konektora (etykietki):

s2

s3

warunek_1 >

a

b

warunek_1

>

Etykietka może być użyta do opisania warunku

Etykietka może być użyta do opisania warunku

pokazanego w innej części grafu ( w celu poprawienia

pokazanego w innej części grafu ( w celu poprawienia

jego czytelności ).

jego czytelności ).

background image

28

11

Przejścia z własnymi nazwami ( ang. Named Transitions):

Przejścia z własnymi nazwami ( ang. Named Transitions):

s2

s3

Trans_23

Definicja w języku LD:

Definicja w języku LD:

a

b

Trans_23

TRANSITION Trans_23:

TRANSITION Trans_23:

END_TRANSITION

END_TRANSITION

Przejście z nazwą zdefiniowane jeden raz, może być

Przejście z nazwą zdefiniowane jeden raz, może być

wielokrotnie użyte w programie,

wielokrotnie użyte w programie,

Definicja przejścia może się znajdować np. na innej

Definicja przejścia może się znajdować np. na innej

stronie programu.

stronie programu.

Do zdefiniowania może być użyty każdy z języków.

Do zdefiniowania może być użyty każdy z języków.

Ogólna

postać

Ogólna

postać

wywołania przejścia z

wywołania przejścia z

nazwą:

nazwą:

background image

28

12

Język FBD:

Język FBD:

TRANSITION Trans_23:

TRANSITION Trans_23:

END_TRANSITION

END_TRANSITION

&

b

a

Trans_23

Trans_23

Język ST:

Język ST:

TRANSITION Trans_23:

TRANSITION Trans_23:

:= a & NOT b;

:= a & NOT b;

END_TRANSITION

END_TRANSITION

Język IL:

Język IL:

TRANSITION

TRANSITION

Trans_23:

Trans_23:

LD a

LD a

AND N b

AND N b

END_TRANSITION

END_TRANSITION

background image

28

13

Działania

Działania

Działanie opisuje, co musi być wykonane

Działanie opisuje, co musi być wykonane

podczas aktywności etapu, z którym jest

podczas aktywności etapu, z którym jest

skojarzone.

skojarzone.

Każdy etap w SFC może być skojarzony z jednym lub

Każdy etap w SFC może być skojarzony z jednym lub

kilkoma działaniami ( etapy nie zawierające działań też

kilkoma działaniami ( etapy nie zawierające działań też

są dopuszczalne)

są dopuszczalne)

Są także dopuszczalne tzw. „działania permanentne”

Są także dopuszczalne tzw. „działania permanentne”

( tzn. nie skojarzone z żadnym etapem). Są one

( tzn. nie skojarzone z żadnym etapem). Są one

wykonywane w sposób ciągły przez cały czas

wykonywane w sposób ciągły przez cały czas

aktywności FB zawierającego graf, niezależnie od

aktywności FB zawierającego graf, niezależnie od

aktywności etapów)

aktywności etapów)

Korelacja czasowa pomiędzy aktywnością etapu i

Korelacja czasowa pomiędzy aktywnością etapu i

skojarzonego z tym etapem działania jest określona

skojarzonego z tym etapem działania jest określona

przez tzw.

przez tzw.

kwalifikatory

kwalifikatory

,

,

Działanie może być zdefiniowane z użyciem dowolnego

Działanie może być zdefiniowane z użyciem dowolnego

języka programowania PLC

języka programowania PLC

.

.

UWAGA:

UWAGA:

Norma nie ogranicza złożoności i typów

Norma nie ogranicza złożoności i typów

instrukcji użytych do opisu działań, ale w praktyce takie

instrukcji użytych do opisu działań, ale w praktyce takie

ograniczenia występują: np. w SIEMENSIE mogą być

ograniczenia występują: np. w SIEMENSIE mogą być

użyte wyłącznie instrukcje logiczne oraz wywołania FC i

użyte wyłącznie instrukcje logiczne oraz wywołania FC i

instancji FB.

instancji FB.

background image

28

14

Ogólna

graficzna

reprezentacja

Ogólna

graficzna

reprezentacja

działania:

działania:

Kwalifikat

Kwalifikat

or

or

działania

działania

Nazwa

Nazwa

działania

działania

Zmienna

Zmienna

zwrotna

zwrotna

(opcjonaln

(opcjonaln

a)

a)

<Instrukcje>

<Instrukcje>

Zmienna zwrotna może być użyta np. do

Zmienna zwrotna może być użyta np. do

sprawdzania, czy wykonanie etapu zostało

sprawdzania, czy wykonanie etapu zostało

zakończone i można przejść do etapu

zakończone i można przejść do etapu

następnego.

następnego.

background image

28

15

Kwalifikatory działania.

Kwalifikatory działania.

Kwalifikator

określa

korelację

czasową

pomiędzy

Kwalifikator

określa

korelację

czasową

pomiędzy

aktywnością etapu i aktywnością skojarzonego z tym

aktywnością etapu i aktywnością skojarzonego z tym

etapem działania.

etapem działania.

Norma opisuje następujące kwalifikatory:

Norma opisuje następujące kwalifikatory:

Kwalifikato

Kwalifikato

r

r

Opis

Opis

(brak), N

(brak), N

Kwalifikator domyślny: działanie jest wykonywane przez cały czas

Kwalifikator domyślny: działanie jest wykonywane przez cały czas

aktywności etapu, nie jest wykonywane, gdy etap nie jest aktywny.

aktywności etapu, nie jest wykonywane, gdy etap nie jest aktywny.

R

R

Kasuje aktywność działania ( które było wykonywane po użyciu

Kasuje aktywność działania ( które było wykonywane po użyciu

kwalifikatora S )

kwalifikatora S )

S

S

Ustawia aktywność działania ( działanie jest wykonywane dopóty, dopóki

Ustawia aktywność działania ( działanie jest wykonywane dopóty, dopóki

nie zostanie skasowane kwalifikatorem R )

nie zostanie skasowane kwalifikatorem R )

L

L

Działanie jest wykonywane co najwyżej przez określony czas. Jeżeli etap się

Działanie jest wykonywane co najwyżej przez określony czas. Jeżeli etap się

zakończy wcześniej, to działanie także się kończy.

zakończy wcześniej, to działanie także się kończy.

D

D

Załączenie działania z opóźnieniem – jeżeli etap się zakończy przed

Załączenie działania z opóźnieniem – jeżeli etap się zakończy przed

zadanym czasem opóźnienia, to działanie nie będzie wykonywane,

zadanym czasem opóźnienia, to działanie nie będzie wykonywane,

zakończenie wykonywania wraz z zakończeniem aktywności etapu.

zakończenie wykonywania wraz z zakończeniem aktywności etapu.

P

P

Działanie „pulsacyjne” – jeden raz wykonane przy starcie i jeden raz przy

Działanie „pulsacyjne” – jeden raz wykonane przy starcie i jeden raz przy

zakończeniu aktywności etapu.

zakończeniu aktywności etapu.

P1

P1

Działanie „pulsacyjne” – jeden raz wykonane przy starcie etapu.

Działanie „pulsacyjne” – jeden raz wykonane przy starcie etapu.

P0

P0

Działanie „pulsacyjne” – jeden raz wykonane przy zakończeniu etapu.

Działanie „pulsacyjne” – jeden raz wykonane przy zakończeniu etapu.

SD

SD

Załączenie z opóźnieniem i z zapamiętaniem – działanie startuje po

Załączenie z opóźnieniem i z zapamiętaniem – działanie startuje po

zadanym czasie nawet jak etap przestał być wcześniej aktywny.

zadanym czasie nawet jak etap przestał być wcześniej aktywny.

DS

DS

Załączenie działania z opóźnieniem – jeżeli etap się zakończy przed

Załączenie działania z opóźnieniem – jeżeli etap się zakończy przed

zadanym czasem opóźnienia, to działanie nie będzie wykonywane,

zadanym czasem opóźnienia, to działanie nie będzie wykonywane,

zakończenie wykonywania po zadanym czasie .

zakończenie wykonywania po zadanym czasie .

SL

SL

Działanie jest wykonywane przez określony czas ( niezależnie od

Działanie jest wykonywane przez określony czas ( niezależnie od

aktywności etapu).

aktywności etapu).

background image

28

16

Uwagi:

Uwagi:

1.

1.

Kwalifikatory: L, D, SD, DS i SL wymagają

Kwalifikatory: L, D, SD, DS i SL wymagają

dodatkowego parametru – czasu trwania,

dodatkowego parametru – czasu trwania,

2.

2.

Kwalifikatory: P0 i P1 są proponowane w nowej

Kwalifikatory: P0 i P1 są proponowane w nowej

wersji normy.

wersji normy.

Graficzna reprezentacja etapu, przejścia i działania:

Graficzna reprezentacja etapu, przejścia i działania:

Kwalifikat

Kwalifikat

or

or

działania

działania

Nazwa

Nazwa

<Instrukcje>

<Instrukcje>

Etap

Przejście

Przejście

Działanie

Działanie

Uwaga

Uwaga

Forma graficzna tej reprezentacji zależy od konkretnego

Forma graficzna tej reprezentacji zależy od konkretnego

systemu PLC – np. czasem działanie jest ukryte wewnątrz

systemu PLC – np. czasem działanie jest ukryte wewnątrz

etapu.

etapu.

background image

28

17

Reguły konstrukcji grafu:

Reguły konstrukcji grafu:

1.

1.

Dwa etapy nie mogą być bezpośrednio

Dwa etapy nie mogą być bezpośrednio

połączone, muszą być rozdzielone przejściem,

połączone, muszą być rozdzielone przejściem,

2.

2.

Dwa przejścia nie mogą być bezpośrednio

Dwa przejścia nie mogą być bezpośrednio

połączone, muszą być rozdzielone etapem,

połączone, muszą być rozdzielone etapem,

3.

3.

Jeżeli przejście od jednego etapu prowadzi do

Jeżeli przejście od jednego etapu prowadzi do

kilku następnych, to taki etap prowadzi do

kilku następnych, to taki etap prowadzi do

sekwencji

współbieżnych,

które

sekwencji

współbieżnych,

które

wykonywane niezależnie.

wykonywane niezależnie.

4.

4.

Podczas projektowania grafu można też

Podczas projektowania grafu można też

zdefiniować odpowiednią formę graficzną dla

zdefiniować odpowiednią formę graficzną dla

aktywnych i nieaktywnych etapów i przejść.

aktywnych i nieaktywnych etapów i przejść.

background image

28

18

5.

5.

Gdy więcej niż jedno przejście jest aktywne

Gdy więcej niż jedno przejście jest aktywne

w tym samym czasie, wszystkie aktywacje i

w tym samym czasie, wszystkie aktywacje i

deaktywacje pojawiają się w tym samym

deaktywacje pojawiają się w tym samym

czasie. Nie ma różnic czasowych pomiędzy

czasie. Nie ma różnic czasowych pomiędzy

wykonaniami równoległych przejść ( tzn. w

wykonaniami równoległych przejść ( tzn. w

SFC nie występują hazardy)

SFC nie występują hazardy)

Uwaga:

Uwaga:

Czas wykonania instancji FB zawierającej

Czas wykonania instancji FB zawierającej

SFC może być dość długi! ( Należy zwrócić na

SFC może być dość długi! ( Należy zwrócić na

to

uwagę

w

aplikacjach

krytycznych

to

uwagę

w

aplikacjach

krytycznych

czasowo)

czasowo)

background image

28

19

Typy sekwencji.

Typy sekwencji.

s2

s3

t1

Sekwencja prosta:

Sekwencja prosta:

Realizacja wyboru sekwencji:

Realizacja wyboru sekwencji:

Problem pojawia się, gdy t2 i t3 są

Problem pojawia się, gdy t2 i t3 są

jednocześnie

jednocześnie

prawdą, gdyż może być

prawdą, gdyż może być

wybrana

wybrana

tylko jedna

tylko jedna

ścieżka.

ścieżka.

Priorytet

Priorytet

domyślny:

domyślny:

Metody wyboru ścieżki:

Metody wyboru ścieżki:

Priorytet definiowany przez użytkownika :

Priorytet definiowany przez użytkownika :

s2

s3

t2

s4

t3

*

*

s2

s3

t2

s4

t3

*

*

2

2

1

1

background image

28

20

s7

s5

t4

s6

t5

s2

s3

t2

s4

t3

.

.

Sekwencje wykluczające się:

Sekwencje wykluczające się:

Przejście jest realizowane wyłącznie wtedy, gdy

Przejście jest realizowane wyłącznie wtedy, gdy

tylko jeden

tylko jeden

warunek jest prawdą. Jeżeli tak nie jest, to przejście nie jest

warunek jest prawdą. Jeżeli tak nie jest, to przejście nie jest

wykonywane. Jest to

wykonywane. Jest to

zalecany

zalecany

sposób realizacji wyboru

sposób realizacji wyboru

sekwencji.

sekwencji.

Zakończenie

wyboru

Zakończenie

wyboru

sekwencji:

sekwencji:

Są tu te same problemy, co przy

Są tu te same problemy, co przy

początku i są stosowane te

początku i są stosowane te

same podejścia.

same podejścia.

background image

28

21

Specjalne wersje wyboru sekwencji:

Specjalne wersje wyboru sekwencji:

Ominięcie sekwencji:

Ominięcie sekwencji:

Pętla:

Pętla:

s15

s16

t15

t15

s17

t16

t16

t1

t1

7

7

s14

t18

t18

s18

t14

t14

UWAGA:

UWAGA:

W tych konstrukcjach stosujemy te same metody wyboru ścieżki,

W tych konstrukcjach stosujemy te same metody wyboru ścieżki,

jak wyżej ( domyślne, definiowane i wykluczające się)

jak wyżej ( domyślne, definiowane i wykluczające się)

s10

s11

t10

t10

s12

t11

t11

t12

t12

s9

t9

t9

s13

t8

t8

background image

28

22

Sekwencje współbieżne.

Sekwencje współbieżne.

Początek sekwencji współbieżnych:

Początek sekwencji współbieżnych:

s20

s21

s19

t20

t20

Zakończenie sekwencji współbieżnych:

Zakończenie sekwencji współbieżnych:

s22

s23

s24

t21

t21

WAŻNE:

WAŻNE:

Aby

zakończenie

Aby

zakończenie

mogło

być

mogło

być

zrealizowane,

zrealizowane,

wszystkie

wszystkie

współbieżne

współbieżne

sekwencje

muszą

sekwencje

muszą

być aktywne!

być aktywne!

background image

28

23

Dobry styl programowania” z użyciem SFC:

Dobry styl programowania” z użyciem SFC:

Należy używać skojarzeniowych nazw etapów, przejść i

Należy używać skojarzeniowych nazw etapów, przejść i

działań,

działań,

Grafy

powinny

być

możliwie

proste

czytelne.

Grafy

powinny

być

możliwie

proste

czytelne.

„Zagnieżdżanie” grafów jest możliwe i zalecane w celu

„Zagnieżdżanie” grafów jest możliwe i zalecane w celu

poprawy czytelności programu.

poprawy czytelności programu.

Należy unikać lub zredukować do minimum interakcje

Należy unikać lub zredukować do minimum interakcje

pomiędzy różnymi sekwencjami równoległymi.

pomiędzy różnymi sekwencjami równoległymi.

Należy unikać uruchamiania różnych etapów w różnych

Należy unikać uruchamiania różnych etapów w różnych

alternatywnych sekwencjach z użyciem tych samych

alternatywnych sekwencjach z użyciem tych samych

zmiennych.

zmiennych.

Podczas konfiguracji „zagnieżdżonych” grafów należy

Podczas konfiguracji „zagnieżdżonych” grafów należy

dokładnie analizować sytuacje, gdy działanie w

dokładnie analizować sytuacje, gdy działanie w

„podgrafie” ma być zatrzymane z poziomu wyższego. W

„podgrafie” ma być zatrzymane z poziomu wyższego. W

takiej sytuacji należy zawsze sprawdzić, czy takie

takiej sytuacji należy zawsze sprawdzić, czy takie

zatrzymanie działania może być poprawnie zrealizowane.

zatrzymanie działania może być poprawnie zrealizowane.

Należy unikać „niebezpiecznych” konstrukcji grafu

Należy unikać „niebezpiecznych” konstrukcji grafu

( zob. przykłady)

( zob. przykłady)

background image

28

24

Przykład błędnej konstrukcji

Przykład błędnej konstrukcji

grafu:

grafu:

background image

28

25

Przykład

„niebezpiecznej”

konstrukcji

Przykład

„niebezpiecznej”

konstrukcji

grafu:

grafu:

background image

28

26

Tekstowa postać SFC.

Tekstowa postać SFC.

SFC może być także zapisany w formie tekstowej. Norma

SFC może być także zapisany w formie tekstowej. Norma

opisuje odpowiednie konstrukcje językowe do zapisu

opisuje odpowiednie konstrukcje językowe do zapisu

etapów, przejść i działań. Poniżej przykład z książki

etapów, przejść i działań. Poniżej przykład z książki

Lewisa:

Lewisa:

Postać graficzna:

Postać graficzna:

background image

28

27

Równoważny zapis w postaci tekstowej:

Równoważny zapis w postaci tekstowej:

background image

28

28

Uwagi końcowe.

Uwagi końcowe.

SFC bazuje na znanych standardach (sieci Petriego i

SFC bazuje na znanych standardach (sieci Petriego i

Grafcet) i jest powszechnie stosowany w praktyce

Grafcet) i jest powszechnie stosowany w praktyce

przemysłowej.

przemysłowej.

Jest to dobre narzędzie do konfiguracji złożonego

Jest to dobre narzędzie do konfiguracji złożonego

sterowania sekwencyjnego z wieloma alternatywnymi

sterowania sekwencyjnego z wieloma alternatywnymi

ścieżkami,

ścieżkami,

SFC zapewnia także możliwość realizacji sekwencji

SFC zapewnia także możliwość realizacji sekwencji

współbieżnych,

współbieżnych,

Przejścia i działania są konfigurowane z użyciem

Przejścia i działania są konfigurowane z użyciem

znormalizowanych języków programowania PLC,

znormalizowanych języków programowania PLC,

Dodatkowe możliwości daje stosowanie kwalifikatorów

Dodatkowe możliwości daje stosowanie kwalifikatorów

działań,

działań,

Jest także możliwa hierarchiczna konstrukcja grafów,

Jest także możliwa hierarchiczna konstrukcja grafów,

SFC jest narzędziem do budowy bloków funkcyjnych i

SFC jest narzędziem do budowy bloków funkcyjnych i

programów.

programów.

Forma tekstowa SFC jest przewidziana w celu

Forma tekstowa SFC jest przewidziana w celu

ułatwienia przenoszenia oprogramowania pomiędzy

ułatwienia przenoszenia oprogramowania pomiędzy

różnymi systemami

różnymi systemami


Document Outline


Wyszukiwarka

Podobne podstrony:
SP 11(1)
DTR.SP-11.01, Instrukcje, aplisens, dtr
SP 11
SP 11(1)
SP 11
eco sciaga, 11. Monopson, Prawo popytu - wraz ze wzrostem ceny danego dobra, zmaleje zapotrzebowanie
11 Kontakty metal półprzewodnik “n” i “p” (złącza omowe i pr
karta rowerowa test 11, szkoła, SP TECHNIKA
11 sp Procedura gospodarowania i zarzadzania wspolnot a mieszkaniowa z udzialem gminy
PH, 11) SP.KOMANDYTOWA, SPÓŁKA PARTNERSKA - szczegóły
11 Sp kom Mat kl 5 podst
27 05 11 Sp 2010 z odwołania
DSW 05 11 matematyka kl 6 sp instrukcja
Ztech SP 4 6 Technika na co dzien Scenariusze MII Temat 11 Bezp
DSW 05 11 matematyka kl 4 sp
Ztech SP 4 6 Technika na co dzien Scenariusze MI Temat 11 Two szt
Firma VTEC sp zarz procesami 06 11 2013 g 23 01

więcej podobnych podstron