background image

Język strukturalny ST 

– Structured Text

Wykład w ramach przedmiotu Sterowniki programowalne 

Sem. V, AiR 

background image

Język ST – z normy IEC61131-3 [1]

background image

Język ST – język tekstowy [1]

background image

LD, FBD a ST [1]

background image

Deklaracje zmiennych [1]

background image

Wyrażenia (ang. expressions)

background image

Operatory (ang. operators) – i priorytety ich 
stosowania

background image
background image

Polecenia (ang .statements) [1]

background image

Polecenia cd.

background image

Elementy wspólne programów w różnych 
językach

background image

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).

background image

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.

background image

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);

background image

Kolejność działań

background image

Zestaw funkcji w ST dla PACs

background image

Zaawansowane 
funkcje 
matematyczne

background image

Funkcje sterujące

background image
background image

Funkcje konwersji danych

background image
background image

Funkcje przesyłania danych

background image

Operatory matematyczne

background image

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

background image

Operatory bitowe

background image

Operatory relacji i wykorzystanie

background image
background image
background image

Przekaźniki czasowe

background image

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

background image

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!

background image

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