joi, 31 mai 2012

Initiere in Programare



 Programarea in C/C++
Programele se scriu in general pentru rezolvarea unor probleme (calcul, grafica etc). In general urmaresc simplificarea anumitor proceduri. Programul in sine este algatuit din dintr-un cod complex care poarta denumirea de Algoritm. Structura generala a unui program.
1. Depistarea problemei;
2. Gasirea algoritmului;
3. Codificarea sa intr-un limbaj de programare C/C++, Pascal etc.;
4. Testarea codului.
Un calculator este o masina electronica digitala compusa din trei componente:
1. procesor (central processing unit sau CPU);
2. memorie;
3. dispozitive de intrare/iesire.


Procesorul lucreza cu instructiuni care se inregistreaza in memoria RAM (memoria de lucru a calculatorului). Tot acolo se inregistreaza si date (valorile variabilelor etc.).
Sistemul de operare consta intr-o colectie de programe speciale si are doua scopuri principale:
1. coordoneaza resursele (memoria, procesorul, imprimanta) masinii. De exemplu, daca un fisier este creat pe disc sistemul de operare are grija de detaliile localizarii acestuia si memoreaza numele, lungimea si data creearii;
2. produce instrumente necesare utilizatorilor, multe dintre ele sunt folositoare utilizatorilor C. De exemplu, doua dintre acestea sunt un editor de texte si un compilator de C.
Pentru a incepe sa programati in C aveti nevoie de un compilator.
Aici sunt cateva compilatoare pe care le recomand din propria mea experianta:
  • Code::Blocks
  • Bloodshed Software - Dev-C++
Ce face un compilator
Preprocesorul modifica o copie a codului sursa prin includerea altor fisiere si facand alte schimbari. Compilatorul traduce aceasta in cod obiect folosit de incarcator pentru producerea fisierului executabil final. Fisierul care contine codul obiect se numeste fisier obiect. Fisierele obiect, spre deosebire de fisierele sursa, nu se pot intelege asa usor. Cand spunem deci compilare, de fapt invocam preprocesorul, compilatorul si apoi incarcatorul.
Dupa ce scriem un program, acesta trebuie compilat si testat. Daca sunt necesare modificari, atunci codul sursa trebuie editat din nou. Asadar, partea proceselor de programare consta din ciclul:
1. editare > 2. compilare > 3. executie

miercuri, 30 mai 2012

Automate programabile.

Automate programabile.


Controler-ul logic programabil (PLC) a aparut ca o alternativa reutilizabila, ieftina, flexibila si sigura la panourilor cu relee cablate. De la acest inceput, din 1986 PLC-urile s-au dezvoltat si diversificat continuu. PLC-urile moderne realizeaza o multime de functii cum ar fi cele logice, de timp, de numarare, de secventiere, de control PID si logica fuzzy. Ele pot efectua operatii aritmetice, analiza datelor si pot comunica cu alte PLC-uri si cu calculatoare de tip server.
Scopul acestui capitol este de a va face cunostinta cu controler-ele logice programabile. Dupa parcurgerea acestui capitol, veti reusi urmatoarele:
1. Sa descrieti componentelor unui PLC: alimentarea, procesorul, modulul de intrare, modulul de iesire si unitatea de progaramare.
2. Sa descrieti pas cu pas functionarea unui PLC cand ruleaza un mic program secvential dupa o diagrama.
3. Sa schitati o diagrama intrare/iesire a unui PLC.
4. Sa schitati un program secvential al unei diagrame.
5. Sa folositi functiile de timp intr-o digrama PLC.
6. Sa utilizati functiile de numarare intr-o diagrama PLC.
7. Sa folositi functiile de secventiere intr-o diagrama PLC.


1 INTRODUCERE

Un PLC este un dispozitiv electronic digital, construit pentru a controla masini si procese efectuand operatii de coducere a evenimentelor si a timpului. PLC-ul este construit pentru medii industriale eterogene. Poate fi programat fara aptitudini speciale in programare, si poate fi intretinut de tehnicienii fabricii.

Industria de automobile a introdus PLC-ul pentru a elimina costul mare al panourilor cablate, neflexibile, cu relee. Divizia Hydramatic a Corporatiei General Motors a elaborat specificatiile de proiectare pentru primul contr 434d34e oler logic programabil in 1986. Ei au solicitat un sistem numeric fiabil si flexibil care ar suparavietui in mediul industrial, care ar putea fi usor de programat si de intretinut de personalul din uzina si care ar putea fi reutilizabil. De fiecare data cand era schimbat modelul de masina sute de panouri cablate cu relee erau aruncate la gunoi.
De la acest inceput din 1986, PLC-urile s-au dezvoltat mult mai mult decat doar ca un inlocuitor ieftin al panourilor logice cu relee. PLC-urile recente includ module care realizeaza o multitudine de functii cum ar fi: logice, de temporizare, de numarare, de secventiere, de control PID si logica fuzzy. Ele pot realiza operatii aritmetice, de analizare a datelor si pot comunica cu alte controlere programabile si cu alculatoare de tip server. Cateva avantaje ale PLC-urilor includ:

Flexibilitate.Un PLC poate conduce multe operatii diferite, iar modificarile se realizeaza la nivel software si sunt mai usor de implementat decat modificarile la nivel hardware.
Siguranta.Dispozitivele electronice sunt mai sigure si mai usor de intretinut decat temporizatoarele si releele mecanice.

Cost sacazut. Avantajul PLC-urilor provine din capacitatea sistemelor numerice de a realiza mai multe functii complexe la un cost  mai scazut.
Documentarea. Echipamentul de programare a PLC-urilor poate furniza o listare
imediata  a circuitului de control curent.

Tendinta in controlul industrial e de a utiliza PLC-uri mai mici plasate langa proces in locul PLC-urilor centralizate cu multe intrari si iesiri. Un calculator supervizor comunica cu PLC-urile individuale printr-o retea locala (LAN) pentru a coordona activitatile lor. Un motiv pentru impunerea acestei tendite este programul deosebit de complex cerut pentru a controla un sistem centralizat cu un PLC de dimensiuni mari. Divizand procesul in parti mai mici si mai usor de administrat specialistii vor recunoaste aceasta teorie ca o aplicatie a unei tehnici demonstrate de rezolvare a unei probleme denumita divide si stapaneste. Aceasta metoda rezolva probleme dificile divizandu-le intr-un numar de probleme mai mici si mai usor de rezolvat.
2 HARDWARE-UL PLC-ULUI
In Figura sunt prezentate componente functionale mai importante care pot intra in configuratia PLC-urilor.
1.      Sursa de alimentare;
2.      Modulul procesor;
3.      Modulele de intrare;
4.      Modulele de iesire;
5.      Unitatea de programare;
6.      Unitatea controler-ului PID;
7.      Unitatea de comunicatii de date.

·        Figura 1 Componentele unui sistem cu PLC includ o sursa se alimentare, un modul procesor, module de intrare, module de iesire si o unitate de programare.
Sursa de alimentare.
Un PLC are de regula doua surse de alimentare. Una este sursa exterioara conectata direct la priza de120 sau 240V curent alternativ si furnizeaza curent alternativ si curent continu pentru dispozitivele de intrare si iesire. Cealalta este o sursa de alimentatre interioara, in modulul procesor care alimenteaza unitatea centrala de procesare (CPU).
Modulul procesor.
Modulul procesor poate fi considerat o unitate centrala de procesare (sau CPU). Contine un microprocesor, o unitate de memorie care poate fi numai citita (ROM), o unitate de memorie cu acces aleator (RAM) si o interfata de I/O (intrare/iesire) (vezi figura ? C.18). Informatia stocata in ROM este permanenta. Este setate o data si apoi nu mai poate fi modificata. Informatia stocata in RAM este temporara. Ea poate fi modificata in orice moment si este pierduta cand modulul procesor pierde alimentarea.
Sistemul de operare al PLC-uli (OS) este stocat in ROM  (OS este un program care serveste aceluias scop  ca si DOS sau Windows intr-un calculator). Programul utilizator poate fi stocat in RAM sau in una din urmatoarele cipuri de memorie nevolatila:
     Memorie programabila care poate fi numai citita (PROM). Poate fi programata doar o data, apoi ea este permanenta.
  
     Memorie programabila care poate fi cititta si stearsa (EPROM). Poate fi programata de mai multe ori stergand vechiul program cu lumina ultravioleta.
    
     Memorie programabila care poate fi citita si stearsa electric (EEPROM). Poate fi programata de mai multe ori stergand vechiul program cu un semnal electric.
    
     Memorie nevolatila cu acces aleatoriu (NVRAM). Poate fi programata de mai multe ori, dar spre deosebire de RAM-ul obisnuit, continutul NVRAM-ului nu se pierde cand memoria nu mai este alimentata.
            Datele folosite de PLC sunt stocate in RAM. Aceste date sunt organizate in sectiuni care depind de natura datelor. Fiecare sectiune este definita de o litera mare care este utilizata ca parte a adresei de locatii in acea sectiune de memorie. Sectiunile de memorie includ, dar nu sunt limitate la acestea, urmatoarele:
Imaginea starii intrarilor (I). Stocheaza starea (1 sau 0) a intrarilor de la intrerupatoare si de la semnalele ON/OFF din proces.
     Imaginea starii iesirilor (O). Stocheaza datele binare (1 sau 0) care vor activa sau dezactiva dispozitivele ON/OFF in proces.
     Starea temporizatorului (T). Stocheaza baza de timp, valoarea prezenta, valoarea acumulata si bitii de stare ai temporizatorului in programul  utlizator.
     Starea numaratorului (C). Stocheaza valoarea pezenta, valoarea acumulata si bitii de
stare a numaratoarelor din programul utilizator.
     Datele numerice (N). Stocheaza datele utilizate pentru conversiile de numere, etc.
     Functii (F). Stocheaza starea si datele folosite de alte functii in programul utilizator.
Procesorul are doua moduri de functionare, PROGRAM si RUN. In modul  PROGRAM procesorul permite utilizatorului sa faca modificari in program. Procesorul are mai multi indicatori de stare care furnizeaza informatii programatorului sau operatorului. In modul RUN procesorul repeta sub controlul sistemului de operare ciclul urmator de patru secvente:
1.      Scanarea intrarii. Procesorul scaneaza intrarile si stocheaza o noua imagine a conditiilor la intrare.
2.      Scanarea programului. Procesorul scaneaza programul si obtine o noua imagine a conditiilor de iesire din noua imagine a intrarilor si vechea imagine a iesirilor.
3.      Scanarea iesirii. Noua imagine a conditiilor de iesire este transferata dispozitivelor de iesire.
4.      Sarcinile de intretinere. Comunicarea si alte sarcini sunt terminate intr-o baza de timp disponibila.
Ciclul poate incepe din nou imediat dupa terminarea sarcinilor de intretinere, sau poate incepe la un interval fixat.
Modulele de intrare.
Exista doua tipuri de module de intatre, discrete si analogice. Majoritatea intrarilor PLC-ului sunt de tip discret, furnizand intrari inchise si deschise de la contactele de tip buton actionat prin apasare, de la intrerupatoarele de limita, diferiti senzori de tip ON/OFF, etc. Pot fi utilizate atat module de intrare in curent alternativ cat si in curent continu, in functie de sursa de alimentare folosita pe intrerupatorul de intrare.
Un modul tipic de intrare are 4, 8, 16, sau 32 terminale de intrare, plus un terminal comun si un terminal de masa. Un terminal al modulului de intrare este conectat la o parte a unui contact din proces. Cealalta parte a contactului este conectata borna calda a sursei de alimentare in curent continu sau de curent alternativ. Borna de masa (comun) a sursei de alimentatre este conectata la terminalul comun de la modulul de intrare si modulul de intrare furnizeaza starea intrarii prin circuitul sau de detectie.
Modulul de intrare converteste fiecare intrare intr-o tensiune de nivel logic si izoleaza intrarile de circuitele PLC-ului. Modulul de intrare converteste un contact deschis intr-o tensiune de nivel logic 0 (0V), si converteste un contact inchis intr-o tensiune de nivel logic 1 (5V).
Cand procesorul scaneaza intrarile, el citeste nivelele logice ale toturor intrarilor si stocheaza nivelele logice in sectiunea imaginii intrarilor din RAM. Contactele inchise sunt stocate ca 1 logic, iar contactele deschise ca 0 logic.Imaginea poate indica numai daca un contact este inchis sau deschis; nu poate indica daca contactul de intatre este NO sau NC.
Desi majoritatea intrarilor PLC-urilor sunt discrete, pot fi folosite si intrari analogice pentru controlul si achizitia datelor. In sistemele de control a proceselor continue cele mai multe variabile de proces sunt analogice si trebuie convertite intr-o forma digitala pentru intrarea intr-un procesor digital. Modulul analogic de intrare realizeaza aceasta functie cu ajutorul unui convertor analog digital.
Modulele de iesire.
Modulele discrete de iesire furnizeaza semnale ON/OFF pentru a actiona lampi, relee, motoare pas cu pas etc. Cand procesorul scaneaza sectiunea imaginii iesirilor din RAM, un 1 logoic rezulta pentru un semnal ON la iesirea dispozitivului, si 0 logic rezulta pentru un semnal OFF. Pentru a controla dispozitive de iesire in curent alternativ sunt folosite triace sau relee, iar pentru a controla dispozitive de iesire in curent continu sunt folosite tranzistoare sau relee. Un modul tipic de iesire are 4, 8, 16, 32 terminale de iesire, plus un terminal comun si un terminal de masa.
Iesirile analogice necesita de la 4 la 12 biti pentru sectiunea imagii iesirilor din memorie. Un convertor digital analogic converteste numarul binar stocat in imaginea de iesire intr-o tensiune (sau curent) analogic intre un terminal de iesire si un terminal comun.
Modulele PID si de Comunicatii.
            Modulul PID  asigura controlul de de tip PID a doua variabile de proces. Modulul de comunicatii asigura comunicarea directa cu operatorul, un terminal de programare, alte PLC-uri, sau un calculator supervizor. 
Unitatea de programare.
Unitatea de programare da posibilitatea operatorului sa introduca un nou program, sa examineze programul din memorie, sa modifice programul din memorie, sa monitorizeze starea intrarilor sau a iesirilor, sa afiseze continutul registrilor si sa afiseze valorile temporizatoarelor sau ale contoarelor. In plus, pentru a proteja programul din memorie de modificari neautorizate poate fi introdusa o parola.
Dispozitivele de programare includ console de programare, terminale CRT si calculatoare personale (cu software special). Consola de programare sau programatorul manual este asemanator cu un calculator de buzunar cu LCD pentru afisarea instructiunilor, a adreselor, a valorilor temporizatoarelor sau ale contoarelor, datele si asa mai departe. Are de asemenea o tastatura pentru introducerea instructiunilor, adreselor si a datelor. Un terminal CRT arata ca un calculator personal, dar este special proiectat pentru programarea unui PLC. Terminalele CRT si calculatoarele personale permit utilizatorului sa scrie un program folosind o varietate de limbaje de programare incluzand limbajul de tip diagrama cu functii secventiale (Sequential Function Chart), limbajul de tip diagrama structurata (Ladder Diagram), limbajul de de tip diagrama cu functii bloc (Function Block Diagram) si limbajul de tip text structurat (Structured Text).
12.3 PROGRAMAREA SI FUNCTIONAREA PLC-ULUI       
Aceasta sectiune prezinta un program simplu prin diagrama structurata pentru un PLC urmat de o analiza pas cu pas a functionarii PLC-ului ca si cum ar rula programul respectiv.
Programarea prin diagrama structurata.

Limbajul de programare prin diagrama structurata foloseste simboluri de contact si de bobina pentru a construi diagrame care sunt foarte similare cu diagramele structurate folosite pentru releul logic. Simbolul pentru un contact normal deschis se aseamana cu simbolul pentru un condensator electric. Simbolul pentru un contact normal inchis este simbolul pentru cel deschis cu o linie diagonala prin el. Simbolul pentru o iesire consta din mai multe spatii inchise intre paranteze. Fiecare simbol de contact si de iesire are un numar scris imediat sub (sau deasupra) acetuia. Acest numar identifica locatia din memoria procesorului (RAM) unde imaginea contactului sau iesirii este stocata. Figura 2 arata un exemplu simplu de implementare a diagramei logice structurate intr-un controler logic programabil.



Figura 2 Implementarea unui circuit de control pentru un cilidru pneumatic.
Figura 2a arata diagrama schematica, si figura 2b arata diagrama structurata a unui circuit pentru comanda unui cilindru pneumatic. Comutatorul de lumina a fost introdus pentru a ilustra o functie secundara de control fara complicarea nejustificata a circuitului. Prima treapta din diagrama structurata include contactele de start, stop si retinere intr-o configuratie conventionala plus un comutator de limita normal inchis si bobina unui releu de control. A doua treapta include un contact de releu normal deschis si solenoidul pentru cilindrul pneumatic. A treia treapta consta dintr-un comutator si o sursa de lumina.
            Figura 2c arata unitatile de intrare, de procesare si de iesire a unui PLC utilizat pentru a controla cilindrul pneumatic si semnalizarea luminoasa. Casutele (1,2,3 si 4) din modulul de intrare IM:1 contin conditionarile de semnal care covertesc intrarile in nivele logice de tensiune. Patru linii conecteaza casutele de intrare la celulele de memorie care retin starea intrarilor din acele casute. Celula din dreapta sus a sectiunii de memorie a imaginii de intrare este conectata la
casuta de intrare 1, si este identificata ca celula de memorie IM:1-1. Deplasandu-ne la stanga celulei de memorie IM:1-1 sunt celulele IM:1-2, IM:1-3 si IM:1-4. Zeroul din celula de memorie IM:1-1 arata ca comutatorul START conectat la terminalul 1 este deschis. 1 din celulele de memorie  IM:1-2 si IM:1-3 arata ca comutatorul de STOP si limitatorul LS1 sunt inchise. Zeroul din celula de memorie IM:1-4 rata ca SW1 este deschis. Imaginea intrarilor arata ca contactele conectate la IM:2 si IM:3 sunt inchise, dar nu poate indica daca ele sunt contacte (NC) neactivate, sau contacte (NO) activate.
Casutele (1, 2, 3 si 4) din modulul de iesire OM:1 contin circuitele de comutare care utilizeaza tensiunile de nivel logic de la celulele de memorie a imaginii iesirilor pentru a comuta dispozitivele de iesire pe ON (pornit) sau OFF (oprit). Linia de la intrarea casutei 1 o conecteza la celula de memorie din dreapta sus din sectiunea de memorie a imaginii iesirilor, adica celula de memorie OM:1-1. Deplasandu-ne la stanga celulei OM:1-1 sunt celulele OM:1-2, OM:1-3 si OM:1-4. Zerourile din celulele de memorie OM:1-1 si OM:1-2 deconecteaza solenoidul a si sursa de lumina.
Figura 2d arata programul PLC folosind limbajul diagramei structurate de programare. Daca se compara programul PLC cu diagrama structurata din figura 2b., se pot observa multe asemanari si putine diferente. Diagrama structurata are trei trepte, iar programul are numai doua. A doua trapta lipseste deoarece solenoidul a este de fapt un dispozitiv de iesire conectat la terminalul de iesire 0:1. Pentru acest motiv nu apare in program. Iesirea 0:1 din prima treapta a programului este de fapt releul de control, CR1, care activeaza solenoidul a. Prima treapta din program este echivalenta cu primele doua trepte din diagrama structurata.
Limbajul de diagrama structurata impune un numar de restrictii asupra programelor, si restrictiile variaza in functie de fabricanti. Limitari tipice includ urmatoarele:
1.      Iesirea trebuie sa fie la sfarsitul din partea dreapta a treptei.
2.      Puterea trebuie sa circule de la stanga la dreapta, sus sau jos.
3.      Puterea trebuie sa nu circule niciodata de la dreapta la stanga.
4.      Numarul contactelor in serie este limitat la 11 (sau alt numar stabilit de fabricant).
5.      Numarul contactelor in paralel este limitat la 7 (sau alt numar stabilt de fabricant).
6.      O treapta poate avea numai o iesire.
7.      Iesirea singulara trebuie sa fie pe linia de top intr-o treapta.
In limbajul de programare al diagramei structurate, simbolurile contactactelor deschise si inchise sunt de fapt instructiuni de programare. Ele spun calculatorului cum sa interpreteze 1 sau 0 din celula de memorie a imaginii intrarii pentru fiecare contact. Simbolul de contact normal deschis - NO (┤├) informeaza PLC-ul pentru a interpreta un 1 ca adevarat (TRUE) si un 0 ca fals (FALSE). Daca PLC-ul gaseste o cale de contacte adevarate de la L1 la iesire, iesirea este activata (ON) si un 1 este plasat in celula de memorie a imaginii iesirii. Daca este gasita o cale falsa, iesirea este dezactivata (OFF), si un 0 este plasat in celula de memorie a imaginii iesirii.
Simbolul de contact NO poate fi folosit atit cu comutatoarele fizice NO cat si cu cele NC, si rezultatele sunt cele pe care le-am astepta sa fie. Un comutator fizic NO este evaluat la valoarea adevarat (TRUE) daca el este actionat si la valoarea fals (FALSE) daca nu este actionat.Un comutator fizic NC este evaluat la adevarat (TRUE) daca el nu este actionat si la fals (FALSE) daca el este activat. Cand comutatorul STOP nu este activat imaginea sa este un 1, si este evaluat la adevarat (TRUE), ceea ce este corect. Cand comutatorul STOP este activat, imaginea sa este un 0, si este evaluat la fals (FALSE), cum ar trebui sa fie. Aceasta analiza se aplica si comutatorului LS1.
Intr-un program PLC, simbolul de contact normal inchis este diferit, si folosirea lui poate duce la un efect negativ dublu care poate cauza confuzii considerabile ( a nu mentiona rezultate eronate). Simbolul de contact NC ( -|/|-) informeaza PLC-ul sa interpreteze un 1 dintr-o celula a imaginii de intrare ca fals (FALSE), si un 0 ca adevarat (TRUE). Daca folosim un comutator fizic NO cu un simbol de contact NC, comutatorul NO este evaluat ca si cum ar fi un comutator NC. Daca folosim un comutator fizic NC cu un simbol de contact NO, comutatorul NC este evaluat ca si cum ar fi un comutator NO.

FUNCTIONAREA PLC-ULUI

Cand un PLC se afla in modul de functionare (RUN), procesorul repeta urmatorul ciclu de patru pasi:
  1. Scanarea intrarii (Imput scan). Memoreaza o noua imagine a conditiilor de intrare.
  2. Scanarea programului (Program scan). Capteaza noua imagine a conditiilor de iesire.
  3. Scanarea iesirii (Output scan). Transfera noua imagine a conditiilor de iesire dispozitivelor de iesire.
  4. Sarcinile de administrare(Housekeeping tasks). Comunicatiile si alte sarcini.
Discutia care urmeaza se va referii la rularea a patru cicluri a unui PLC cu configuratia si programul  aratat in figura 12.4. Rularea noastra incepe cu imaginea de intrare, imginea de iesire, si patru comutatoare cum este aratat in figura 12.4c.
     Ciclu 1. START si SW1 sunt deschise, STOP si LS1 sunt inchise.
   Scanarea intrarii. Noua imagine de intrare este IM:1-1=0, IM:1-2=1, IM:1-3=1, IM:1-4=0    
  Scanarea programului. Treapta 1: IM:1-1=FALSE, OM:1-1=FALSE, IM:1-2=TRUE, IM:1-3=TRUE, calea este FALSE, deci 0 este stocat inn celula OM:1-1.
Treapta 2: IM:1-4=FALSE deci 0 este stocat in celula OM:1-2.
  Scanarea iesirii. Atat solenoidul a cat si sursa de lumina sunt inchise (OFF).
     Ciclul 2. START, SW1, STOP, si LS1 sunt toate inchise.
   Scanarea intrarii. Noua imagine de intrare: IM:1-1=1, IM:1-2=1, IM:1-3=1, IM:1-4=1.
 Scanarea programului. Treapta 1: IM:1-1=TRUE, OM:1-1=FALSE, IM:1-2=TRUE, IM:1-3=TRUE, calea este TRUE, deci 1 este stocat inn celula OM:1-1.
Treapta 2: IM:1-4=TRUE, deci 1 este stocat in celula OM:1-2.
  Scanarea iesirii. Atat solenoidul a cat si sursa de lumina sunt deschise (ON). 
   
     Ciclul 3. START este deschis, SW1, STOP, si LS1 sunt toate inchise.
   Scanarea intrarii. Noua imagine de intrare: IM:1-1=0, IM:1-2=1, IM:1-3=1, IM:1-4=1.
 Scanarea programului. Treapta 1: IM:1-1=FALSE, OM:1-1=TRUE, IM:1-2=TRUE, IM:1-3=TRUE, calea este TRUE, deci 1 este stocat inn celula OM:1-1.
Treapta 2: IM:1-4=TRUE, deci 1 este stocat in celula OM:1-2.
  Scanarea iesirii. Atat solenoidul a cat si sursa de lumina sunt deschise (ON). 
     Ciclul 4. START si LS1 sunt deschise, STOP si SW1 sunt inchise.
   Scanarea intrarii. Noua imagine de intrare: IM:1-1=0, IM:1-2=1, IM:1-3=0, IM:1-4=1.
 Scanarea programului. Treapta 1: IM:1-1=FALSE, OM:1-1=TRUE, IM:1-2=TRUE, IM:1-3=FALSE, calea este FALSE, deci 0 este stocat inn celula OM:1-1.
Treapta 2: IM:1-4=TRUE, deci 1 este stocat in celula OM:1-2.
  Scanarea iesirii. Solenoidul a este inchis (OFF),  sursa de lumina este deschisa (ON).
O multime de obsevatii sunt evidente din functionarea unui PLC. Prima, ordinul operatiilor poate fi important deoarece PLC-ul evalueaza programul  o treapta la un moment dat. A doua, exista o intarziere mica intre actiunea unui dispozitiv de intrare si schimbarea rezultatului in dispozitivele de iesire. Aceasta intarziere poate fi tot atat de mare cat si timpul de rulare a unui ciclu de catre PLC.