Maga a CPU működési cilusa nagy vonalakban az alábbi lépésekből áll:
- önellenőrzés, belső tesztek
- a bemenetek olvasása-
- program végrehajtás
- kimenetek írása
Ezeknek a lépéseknek a sorrendje kis mértékben változhat az eszköz gyártója szernit, de a légnyeg nem változik. A ciklus során a CPU a felhasználói programot mindig végrehajtja, az abban használt változókat minden ciklusban írja/olvassa. Az alábbi ábrán egy egyszerű logikai kapcsolat látható:
C = A * B
Melynek igazságtáblája:
A | B | C |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Hogy érzékeltessem azt, hogy mit is értek azon, hogy a felhasználói programot mindig végrehajtja és a kimeneti változót mindig írja a fenti,létradiagramban írt programot C nyelvi megfelelője:
if (A && B)
{
C=true;
}
else
{
C=false;
}
A példában (amennyiben mondjuk ez egy while loopban van) C minden ciklusban értéket kap. A kapott érték nyílván A és B értékeitől függ. Azért is jó a C nyelvvel való összehasonlítás mert a PLC program futása olyan, mint egy C while loop, ahol a loop feltétele mindig igaz. Tehát a PLC program olyan, mintha az egész egy while loopban lenne.
Persze, lehet, hogy kora még a programozási részéről beszélni, de a program végrehajtásának magyarázatához ezek mindenképpen kellettek.