Język strukturalny ST
– Structured Text
Wykład w ramach przedmiotu Sterowniki programowalne
Sem. V, AiR
Język ST – z normy IEC61131-3 [1]
Język ST – język tekstowy [1]
LD, FBD a ST [1]
Deklaracje zmiennych [1]
Wyrażenia (ang. expressions)
Operatory (ang. operators) – i priorytety ich
stosowania
Polecenia (ang .statements) [1]
Polecenia cd.
Elementy wspólne programów w różnych
językach
ST dla PACs
Logika dla PACs Structured Text (ST) jest podzbiorem języka
zdefiniowanego w normie IEC 61131-3.
Logika ST Jest zapisywana jako ciąg wyrażeń. Przykładowe
wyrażenia to:
Wykorzystanie operatorów do wykonania operacji na
zmiennych, parametrach i/lub stałych i przypisaniu wyników do
zmiennych.
Wyrażenia wywołania funkcji i bloków.
Definiowania własnych bloków użytkownika.
komentarze.
Wyrażenia pętli (repeat, while).
Wyrażenia warunkowe (if).
Wyrażenia sterujące (exit, return).
Typy danych
Logic Developer - PLC, ST obsługuje następujące typy danych:
BOOL (boolean or discrete)
BYTE (8-bit bit string)
INT (16-bit integer)
UINT (16-bit unsigned integer)
WORD (16-bit bit string)
DINT (32-bit integer)
REAL (32-bit floating-point value)
DWORD (32-bit bit string)
LREAL (64-bit floating-point value)
Mogą być także używane struktury i tablice zmiennych.
Parametry
Dwa typy parametrów w logice ST to:
ENO (ENable Output, nazywane także Y0). Ten parametr
wyjściowy jest dostępny dla każdego wywołanego bloku. ENO
może być ustawiane wewnątrz logiki (programu) każdego
bloku, funkcji.
Parametry z bloku ST, parametry z bloku funkcyjnego
definiowanego przez użytkownika (UDFB)
Przykłady parametryzacji
sqrt_real(IN := inReal, Q => outReal, ENO => outBool);
Kolejność działań
Zestaw funkcji w ST dla PACs
Zaawansowane
funkcje
matematyczne
Funkcje sterujące
Funkcje konwersji danych
Funkcje przesyłania danych
Operatory matematyczne
Zgodność typów danych
variable := variable1 + variable2;
myIntResult := myInt + myInt2;
myINT := myINT + 1;
myREAL := myREAL + 1.0;
myUINT := 2.5 + 1.0; 'invalid: a REAL or LREAL result cannot be assigned to a
UINT variable
myREAL := 2 + 1; 'invalid: a DINT, INT, or UINT result cannot be assigned to a
REAL variable
myDINT := myDINT + 1.0;
myREAL := myREAL + 1;
myLREAL := myREAL + 1.0;
'The above three examples are invalid: all operands must be of the same data
type
Operatory bitowe
Operatory relacji i wykorzystanie
Przekaźniki czasowe
Implementacja regulatora dwustanowego w
ST
Gorna := zadana * 1.1;
Dolna := zadana + 0.9;
If (y > Gorna) then u := 0; Moc:= 0;
Endif;
If (y < Dolna) then u := 1; Moc:=100; Endif;
Gorna
Zadana
Dolna
Implementacja zaawansowanych metod
sterowania
Sterowniki posiadają wbudowane algorytmy PID
Istnienie możliwość realizacji programowej dowolnych
algorytmów sterowania
Implementacja zaawansowanych metod sterowania w LD,
IL, FBD jest możliwa, acz kłopotliwa
Języki C oraz ST umożliwiają realizację złożonych
algorytmów
Język ST jest zdefiniowany w normie!
Biblografia
[1] Legierski T., Kasprzyk J., Wyrwał J., Hajda J.:
„Programowanie sterowników PLC”, Wydawnictwo Pracowni Komputerowej
Jacka Skalmierskiego, Gliwice, 1998
[2] Proficy* Logic Developer – PLC, Structured Text (ST) Language, opracowanie GE Fanuc