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

Pokračování
V příští kapitole tutoriálu přejdeme ke křižovatce – dalšímu modelu systému EDU-mod. Přitom si vyzkoušíme práci v jazyce Strukturovaného Textu (ST)

Dotazy k této kapitole pište do formuláře v úvodu tutoriálu.