Architektúra časovačov v CPU S7-1200
Na rozdiel od starších PLC, ktoré disponovali pevne pridelenými hardvérovými časovačmi, systém S7-1200 využíva softvérový model časovačov. Tento model je výrazne pružnejší, pretože umožňuje vytvárať prakticky neobmedzený počet časovačov bez ohľadu na konkrétny typ použitej CPU. Každý časovač pracuje s vlastnou dátovou štruktúrou uloženou v Data Blocku (DB), konkrétne so štruktúrou typu IEC_Timer, ktorá má veľkosť 16 bajtov.
V jadre CPU nepretržite beží interný systémový časovač. Je to časová referencia, ktorú využívajú všetky časové funkcie v PLC. Ak dôjde k aktivácii časovača (napríklad pri nábežnej hrane na vstupe TON), uloží sa aktuálna hodnota interného časovača do poľa START v DB. Toto pole zostáva nemenné počas celého obdobia, keď časovač meria čas.
Pri každom cykle vykonania programu PLC odčíta aktuálnu hodnotu systémového času a porovná ju s hodnotou v poli START. Výsledkom tohto porovnania je hodnota ELAPSED, ktorá udáva čas, ktorý uplynul od začiatku merania. Ak hodnota ELAPSED dosiahne alebo prekročí hodnotu PRESET (PT), časovač dosiahne svoj koncový stav a výstupná premenná Q sa nastaví podľa logiky časovača (napr. pri TON sa nastaví na 1, pri TOF naopak na 0).
