C2 | ||
10.0 11 |
S_CUD CU Q |
1 |
1 \ 10.1 |
1 | |
—II- |
CD | |
S | ||
, , , - |
PV cv |
-MW100 |
10.3 -II- |
R CV_BCD |
- ... |
A I 0.0 // sprawdzenie stanu funkcji odpowiedzialnej za inkrementację licznika
CU C 2 // inkrementacja licznika C2 (jeżeli została wykryta zmiana 0 -> 1 w RLO)
A I 0.1 // sprawdzenie stanu funkcji odpowiedzialnej za dekrementację licznika
CD C 2 // dekrementacja licznika C2 (jeżeli została wykryta zmiana 0 -> 1 w RLO)
NOP 0 // nie wykonuj żadnej operacji
NOP 0 // nie wykonuj żadnej operacji
A I 0.3 // sprawdzenie warunku zerowania licznika
R C 2 // zerowanie licznika (jeżeli RLO = 1)
L C 2 // odczytanie stanu bieżącego licznika w kodzie binarnym i zapisanie go do akum. 1
T MW 100 // zapisanie stanu bieżącego akumulatora 1 do komórki MW 100
NOP 0 // nie wykonuj żadnej operacji
NOP 0 // nie wykonuj żadnej operacji
Kurs Podstawowy S7
Zadanie: Zrealizować system nadzorujący ilość klientów znajdujących się na hali w supermarkecie.
Założenia:
• informacja o nowym kliencie dostarczana jest w postaci impulsu przez fotokomórkę - WEJŚCIE - znajdującą się przy wejściu na halę,
• opuszczenie przez klienta hali jest sygnalizowane impulsem generowanym przez fotokomórkę - WYJŚCIE- zainstalowaną przy wyjściu,
• opuszczenie hali nie jest możliwe przez wejście,
• na halę nie można wejść przez wyjście,
• maksymalna liczba klientów - 900,
......(dalszy ciąg zadania opisujący interfejs we/wy - w tym miejscu nieistotny).
Jeżeli zadania związane ze zliczaniem zostaną opisane w formie LAD, to mogą one mieć postać przedstawioną na folii.
Po konwersji tego opisu do postaci STL, w otrzymanym programie pojawiają się rozkazy NOP 0 (No Operation) związane z niewykorzystanymi elementami bloczka reprezentującego licznik. Program w takiej postaci (zawierający rozkazy NOP 0) przesłany zostanie do CPU.
Gdyby te same zadania zostały opisane bezpośrednio w formie STL, wtedy można byłoby zrezygnować z rozkazów NOP, a tym samym program byłby krótszy (zajmował mniej miejsca w pamięci).