Programovací jazyk Strukturovaný Text (ST)
tutoriál
Tutoriál porogramování PLC systémů
Základní principy jazyka ST
Úkol této kapitoly:
- naučíme se deklarovat lokální a globální proměnné
- seznámíme se s příkazy jazyka ST
- naprogramujeme jednoduché algoritmy
Založení programu v jazyce ST
Do našeho projektu přidáme další program, který nebude mít s posuvovou jednotkou nic společného, bude sloužit jen k vyzkoušení příkazů jazyka ST.
Program nazveme např. prgJazykST, zvolíme ST programovací metodu a potvrdíme. Po deklaraci instance programu se otevře záložka s textovou podobou programu.
Principy jazyka ST
Jazyk strukturovaného textu je jedním z jazyků definovaných normou IEC61131-3.
Algoritmus zapsaný v jazyce ST lze rozdělit na jednotlivé příkazy (statements). Příkazy se používají pro výpočet a přiřazení hodnot, řízení toku vykonávání programu a pro volání resp. ukončení POU. Část příkazu, která vypočítává hodnotu, je nazývána výraz. Výrazy produkují hodnoty nezbytné pro provádění příkazů.
Výraz se skládá z operátorů a operandů. Operandem může být hodnota, proměnná, volání funkce nebo jiný výraz.
Operátory jazyka strukturovaného textu ST jsou přehledně uspořádány v tabulce na obrázku
Příkazy jazyka ST
Všechny příkazy vidíme v tabulce. Nejčastěji budeme používat přiřazení, volání funkčního bloku, IF a CASE
Proměnné a jejich deklarace
Proměnná je název datového objektu paměti PLC, která může měnit svou hodnotu. Podle rozsahu platnosti dělíme proměnné na lokální a globální.
Lokální proměnné platí jen v POU, kde jsou deklarovány. Globální proměnné jsou platné pro všechny POU projektu.
Proměnné definujeme v deklarační části POU mezi klíčovými slovy VAR a END_VAR ve tvaru:
jmeno_promenne : datovy_typ := incializační hodnota;
Příklady deklarace vidíme na obrázku:
Proměnnou můžeme deklarovat přímo v textu, nebo využijeme vizard, který vyvoláme pravým tlačítkem myši, případně klávesovou zkratkou CTRL + D.
Přiřazovací příkaz
Přiřazovací příkaz nahrazuje aktuální hodnotu jednoduché nebo složené proměnné výsledkem, který vznikne po vyhodnocení výrazu. Přiřazovací příkaz se skládá z odkazu na proměnnou na levé straně, za ním následuje operátor přiřazení „:=“, za kterým je uveden výraz, který se má vyhodnotit.
Všechny proměnné a konstanty výrazu musí být stejného datového typu
Příkaz IF
Příkaz IF je základem většiny programovacích jazyků. Syntaxi příkazu si předvedeme na příkladu
Nejprve se vyhodnotí hlavní podmínka IF (cislo1=1), pokud je pravdivá, pak vysledek=100 a příkaz se ukončí. Pokud je nepravdivá testuje se podmínka ELSIF a provádí se příslušný příkaz/příkazy. ELSIF se může vyskytnout víckrát.
Pokud není pravdivá žádná z podmínek provede se příkaz/příkazy za ELSE
Příkaz CASE
Příkaz CASE obsahuje výraz, který se vyhodnotí do proměnné typu INT (tzv. „selektor“), a dále seznam skupin příkazů, kde každá skupina je označena jedním nebo více přirozenými čísly nebo rozsahem přirozených čísel. Tím je vyjádřeno, že se bude provádět první skupina příkazů, do jejíchž mezí patří vypočítaná hodnota selektoru. Pokud se vypočítaná hodnota nehodí ani do jedné skupiny příkazů, provede se sekvence příkazů, které jsou uvedeny za klíčovým slovem ELSE (pokud se v příkazu ELSE vyskytuje). Jinak se neprovede žádná sekvence příkazů.
Příklad vidíme na obrázku