TIA Portal - SCL programování PLC, part 3

  • pondělí, 01 červenec 2019 06:03

Programování v jazyku SCL (Structured Control Language), rozhodování v programu. S použitím příkazu IF, následně THEN a ELSIF, ELSE.


Příkaz IF je možné použít pro všechny druhy proměnných, bitové stavy, hodnoty proměnných, skoky, prostě všude kde v programu potřebujeme něco rozhodnout. Pro pochopení a ukázku jsme si vybrali proměnnou, která mění hodnotu od 1 do padesáti každých 100ms a podle aktuální hodnoty rozhodneme, co v programu uděláme.
Aktuální proměnná ve žlutém poli, podle její hodnoty se rozsvítí jednotlivé LED.

tia scl3 01


TIA Portal V15.1 online zobrazení PLC programu. Takto to bude vypadat na závěr lekce.

tia scl3 03


Jestliže nemáme HMI, klidně si těch několik proměnných vrazíme do VAT tabulky proměnných. V MW12 budeme mít hodnotu 1 .. 50 z MW22, v MW14 předvolbu pro rozhodnutí a použijeme bitové proměnné m11.0 až m11.3. Příkaz IF přesně odpovídá logice českého překladu „když, pokud“.

tia scl3 10


Začneme již rovnou v SCL, porovnávat s LADDER již není nutné, to jsme si objasnili v minulých dílech. Příkaz IF se pojí s dalším doplněním jako THEN, ELSE a ELSIF, záleží jak hluboce chceme rozhodovat, nebo kolik výsledků chceme. Stačí jej přetáhnout myší do programového bloku.

tia scl3 14


A doplníme podmínky. Jako první bude rozhodnutí, zda proměnnou z generátoru čísla „out_gen“ přesunout do MW12. Tedy „IF“ - když bude vstup I10.2 v hodnotě logické „H“ - true, pak přesuň hodnotu proměnné do MW12. Jestliže podmínka splněna nebude, řádek 10 se neprovede. IF končí vždy příkazem „END_IF“.
Abychom si byli jisti že merkry m11.x máme v definovaném stavu, že si je třeba někde předtím v programu nějak neměníme, na řádku 8 si je nastavíme do hodnoty logické „L“.

tia scl3 11


Takto to následně vypadá online v TIA Portal.
Klikněte na obrázek pro zvětšení

tia scl3 12b


Přidáme nyní další podmínku na řádku 16, ale již uděláme dvě rozhodnutí. Do MW14 si natvrdo napíšeme hodnotu 25, pokud řádek „zaremujeme“, můžeme si tuto úroveň nastavovat z HMI panelu. A „IF“ - když, pokud je hodnota v MW12 větší než hodnota v MW14, „THEN“ - pak nastavíme m11.0 na úroveň „H“. „ELSE“ - jinak na úroveň „H“ nastavíme m11.1. Znamená to že podle splnění podmínky řádku 16 vykoná program řádek 17, nebo řádek 18. Končíme opět příkazem „END_IF“. Na tohle zakončení nezapomeneme, TIA Portal nám místo pro „END_IF“ označí.

tia scl3 13


Příkazy „IF“ můžeme psát z paměti, nebo je přetáhnou myší z knihovny základních instrukcí. Když si je vezmeme z knihovny, tak se nám celá příkaz napíše i s nápovědou co kde dopsat, tedy podmínky a příkazy. Řádek 25 .. 34. Ale klidně si je napíšeme sami po jednotlivých řádcích a vždy si doplníme co potřebujeme, jako nyní další podmínku „ELSIF“ na řádku 19 pro další merkr m11.3.

tia scl3 15


Takto to vypadá online v PLC programu. Jako obvykle tento PLC program je ke stažení na odkazu níže v závěru.
Klikněte na obrázek pro zvětšení

tia scl3 16b


Aktuální hodnota ve žlutém poli podle její hodnoty se rozsvítí jednotlivé LED. Tedy přesně rozhodnutí v programu co udělat, jak dále pokračovat, nebo přerušit vykonání nějaké funkce. Místo rozsvícení LED si pak v PLC programu můžeme napsat jakékoliv příkazy.

tia scl3 02


Jak příkazy vypadají online, se podívejte na naší videoukázce:

https://www.youtube.com/watch?v=wLvay4_fgm4&feature=youtube

 

Jaroslav Blažek


Doplňující odkazy k článku: 

Uvedený PLC program včetně HMI pro TIA Portal V15.1 si stáhněte tady. (registered users only)

Nový systémový manuál S7-1200 z 08/2018 je tady.
TIA Portal pro Simatic S7-1200/1500, více tady.

Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209