Spracovanie cyklu skenovania v režime RUN
Počas každého cyklu skenovania CPU zapisuje výstupy, číta vstupy, vykonáva používateľský program, aktualizuje komunikačné moduly a reaguje na používateľské prerušovacie udalosti a komunikačné požiadavky. Komunikačné požiadavky sa spracúvajú periodicky počas celého cyklu.
Tieto činnosti (okrem používateľských prerušovacích udalostí) sú vykonávané pravidelne a v postupnom poradí. Povolené používateľské prerušovacie udalosti sú spracované podľa priority, v poradí, v akom sa vyskytnú. Pri prerušovacích udalostiach CPU načíta vstupy, vykoná príslušný OB blok a potom zapíše výstupy, pričom využíva príslušnú časť obrazu procesu (PIP – Process Image Partition), ak je to relevantné.
Systém zaručuje, že cyklus skenovania bude dokončený v časovom intervale nazývanom maximálny čas cyklu; inak sa vygeneruje časová chyba (time error event).
● Každý cyklus skenovania začína načítaním aktuálnych hodnôt digitálnych a analógových výstupov z obrazu procesu a ich zápisom do fyzických výstupov CPU, SB a SM modulov nakonfigurovaných na automatickú aktualizáciu I/O (predvolené nastavenie).
Keď je fyzický výstup spracovaný inštrukciou, aktualizuje sa tak obraz výstupu procesu, ako aj samotný fyzický výstup.
● Cyklus skenovania pokračuje načítaním aktuálnych hodnôt digitálnych a analógových vstupov z CPU, SB a SM modulov nakonfigurovaných na automatickú aktualizáciu I/O (predvolené nastavenie) a následným zápisom týchto hodnôt do obrazu procesu.
Keď je fyzický vstup spracovaný inštrukciou, inštrukcia priamo číta hodnotu fyzického vstupu, ale obraz vstupov procesu sa neaktualizuje.
● Po načítaní vstupov sa vykonáva používateľský program od prvej až po poslednú inštrukciu.
To zahŕňa všetky cyklické programové OB bloky spolu so všetkými priradenými FC a FB blokmi.
Programové cykly OB sa vykonávajú v poradí podľa čísla OB, pričom najnižšie číslo OB sa vykoná ako prvé.