TIA Portal - hardwarové přerušení, interrupt

  • středa, 20 únor 2019 11:02

Hardwarové přerušení v TIA Portal a co s ním? Jak to funguje? Jak jej využít? Nabídneme praktickou a jednoduchou ukázku této funkce.


Za prvé přerušení neboli interrupt, těch existuje v každém PLC a programování celá řada. Jsou přesně rozděleny podle funkce, počínaje hardwarovou událostí pro přerušení, přes softwarové až po časové přerušení programu. Tím je řečeno jednoduše o co se jedná. Jakmile je splněna podmínka pro přerušovací událost, CPU přeruší vykonávání PLC programu a ihned začne vykonávat příkaz, nebo příkazy, které jsou pro tuto událost definovány a programovány. Typický bude příklad přerušení programu při změně signálu na prvním digitálním vstupu PLC, proto abychom zachytili a okamžitě reagovali změnu na logickou „H“ nebo „L“.

tia interrupt 10


Protože se jedná o hardwarové přerušení na nástupnou a sestupnou hranu digitálního signálu na vstupu CPU I0.0, budeme jej definovat v hardwarové konfiguraci TIA Portal. Přerušení je možné definovat pro kterýkoliv vstup, my použijeme zmíněný první kanál a uvolníme detekci na nástupnou a také na sestupnou hranu. Pro každou událost - hardwarový interrupt, přiřadíme programový blok OB41 a OB42. Ten je zde vidět podle názvu.
Klikněte na obrázek pro zvětšení

tia interrupt 01b


Nebudeme se zabývat nastavením vstupního filtru pro digitální vstup, to až ve skutečné aplikaci, ani prioritou, což jsou vlastnosti, které využijeme při složitějších programech.

tia interrupt 02


Tyto přerušovací bloky si vytvoříme před definováním události a nebo až v uvedených vlastnostech, je to celkem jedno. Taky si oba bloky přejmenujeme, abychom to měli srozumitelné.

tia interrupt 03


Co budeme s touto událostí dělat? Jednoduše na zmíněný vstup připojíme obyčejné tlačítko a budeme měřit, jak dlouho bude stisknuto. Proto v každém programovém bloku přerušení - OB41 a OB42 přečteme a zapíšeme systémový čas CPU. Ve wordu MW14 máme jen indikaci, že přerušení skutečně nastalo, neboť tento OB41 se při splněné podmínce pro přerušení programu ihned vykoná, ovšem jen jednou. Proto si zapíšeme čas, kdy událost nastala, jednou v OB41 při nástupní hraně a podruhé v OB42 při sestupní hraně pulsu na vstupu I0.0.

tia interrupt 04


Datový blok DB25 slouží pro ukládání hodnot a pro vykonání matematické operace, jak uvidíme dále.

tia interrupt 05


Kdekoliv v PLC programu pak pro srozumitelnost znovu přepíšeme hodnotu času někam do paměti, abychom ji viděli stále. V přerušovacím OB ji totiž moc nevidíme, nejede online. Pak již stačí jen patřičnou systémovou funkcí oba časy od sebe odečíst.
Klikněte na obrázek pro zvětšení

tia interrupt 06b


Funkce se jmenuje T_DIFF a v kontextové nápovědě je velmi podrobně popsána. Výsledek je pak ve výstupu OUT ve formátu TIME. Ten si zobrazíme na HMI panelu.
Klikněte na obrázek pro zvětšení

tia interrupt 07b


Asi takto 5,963 sekund, což je doba, po kterou jsme měli stisknuté patřičné černé tlačítko.

tia interrupt 13


Jasně že je vše vidět i ve VAT tabulce, ale HMI je HMI. Pro pokusy nemusíme zapínat TIA Portal, ale vše uvidíme online na displeji.

tia interrupt 08


Například nejkratší stisknutí černého tlačítka. Dá se to dosáhnout, podívejte se na video v závěru.
Musíme počítat s drobnou nepřesností vzhledem k nastavení filtru pro digitální vstup, ale to nevadí, jde o princip, ve skutečné aplikaci bychom v případě nutnosti tyto věci ošetřili.

tia interrupt 11


Nebo odhadneme stisk na dvě sekundy? Trochu vedle.

tia interrupt 12


Jak nám to měří s přerušením, to se podívejte na videoukázce:

https://www.youtube.com/watch?v=U-cwM8LFOGc&feature=youtube


Závěr:

Pokud si přerušení vyzkoušíte s něčím podobným jako tahle ukázka, zcela jasně si zapamatujete jak to vlastně funguje a k čemu je to dobré. Jasně že existuje spousta aplikací, kde přerušení není vůbec potřeba, ale i naopak.

Jaroslav Blažek


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

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