Programowanie w języku tekstowym STL


Język tekstowy STL(ang.Statement List) jest zbiorem instrukcji obejmujących operacje logiczne, relacje, jak również funkcje przerzutników, Timerów, Liczników itp., które umożliwiają odpowiednie zaprogramowanie przekaźnika. Używanie języka tekstowego do programowania przekaźnika NEED jest bardzo efektywne i najbardziej przybliża kod wynikowy do struktury wewnętrznej programu.

Struktura programu STL

Program w STL jest ciągiem kolejno wykonywanych instrukcji. Każda instrukcja składa się z dwóch elementów:
1) Symbolu Instrukcji - identyfikatora (tzw. kodu), który w języku STL pełni role tzw. słowa kluczowego.
2) Argumentu czyli zmiennej programu.


                      <kod>                                              
<argument>
A, A(, AN, AN(, O,O(, ON, ON(, X, X(, XN, XN(,

SET, CLR,

S, R, =, FP,

SD, SF, SE, SL,

CU, CD,

L, SET, CLR
I, Q, M, MDIR, H, A, T, C, HC1

L-Licznik1),

L- Timer2)

1  -  L - Licznik - jest liczbą zadanych zliczeń dla Licznika.
2  -  L - Timer - jest zadanym czasem do odmierzenia dla
Timera
.


W zapisie logicznym pewnych sekwencji, z których składa się program możemy wyróżnić część warunkową (tzw. poprzedzającą) i część wynikową (tzw. następującą). Innymi słowy: jeśli spełnione są pewne warunki zapisane za pomocą określonych instrukcji i zmiennych, to ta sytuacja wywoła pewien skutek, który także jest określony za pomocą odpowiednich instrukcji i zmiennych. Taki zestaw części warunkowej i wynikowej nazywamy obwodem.


Część warunkową w tym przykładzie będą stanowić instrukcje zapisane w liniach 1, 2. Jeśli oba warunki będą spełnione,na wejściu I1 i wyjściu Komparatora A2 będzie stan wysoki, to wyjście Q4 zostanie ustawione (stan ‘1’), a wyjście Q1 zostanie zresetowane (stan ‘0’). Czyli instrukcje ‘S Q4’ oraz ‘R Q1’ stanową część wynikową. Instrukcje: A, A(, AN, AN(, O, O(, ON, ON(, X, X(, XN, XN( składają się na część warunkową obwodu a instrukcje S, R, =,FP, SD, SF, SL, SE, CD, CU tworzą część wynikową obwodu. Każdy oddzielny obwód powinien zaczynać się częścią warunkową a kończyć częścią wynikową.

W przekaźniku programowalnym znajduje się tylko jeden program, którego nie można dzielić na żadne wywoływane podprogramy. Procesor w sterowniku realizuje poszczególne instrukcje kolejno, poczynając od pierwszej a kończąc na ostatniej. Po wykonaniu ostatniej instrukcji cykl programu powtarza się. Przetwarzanie programu sterownika przedstawiono na rysunku poniżej.

W tabeli poniżej przedstawiono wykaz wszystkich dostępnych instrukcji STL.

STL
Instrukcja
Opis Operandy
A Instrukcja AND I,Q,M,MDIR,A,H,C,HC1,T
A( Instrukcja nawiasów AND  
AN Instrukcja AND NOT I,Q,M,MDIR,A,H,C,HC1,T
AN( Instrukcja nawiasów AND NOT  
O Instrukcja OR I,Q,M,MDIR,A,H,C,HC1,T
O( Instrukcja nawiasów OR  
ON Instrukcja OR NOT I,Q,M,MDIR,A,H,C,HC1,T
ON( Instrukcja nawiasów OR NOT  
X Instrukcja XOR I,Q,M,MDIR,A,H,C,HC1,T
X( Instrukcja nawiasów XOR  
XN Instrukcja XOR NOT I,Q,M,MDIR,A,H,C,HC1,T
XN( Instrukcja nawiasów XOR NOT  
S Instrukcja ustawiająca Q,M
R Instrukcja resetujaca Q,M,C,HC1,T
= Instrukcja przyporządkowująca Q,M
FP Przekaźnik impulsowy Q,M
L Instrukcja ładująca Stała wartość
operandu
SD Timer - Opóźnione włączenie T
SF Timer - Opóźnione wyłączenie T
SE Timer - Pojedynczy impuls T
SL Timer - Impulsy T
CU Licznik w górę C,HC1
CD Licznik w dół C,HC1
SET Instrukcja zawsze ustawiająca  
CLR Instrukcja zawsze kasująca