Des întâlnite în circuitele electrice avansate, sistemele automate de control a proceselor conferă stabilitate, acurateţe şi performanţă. Aceste sisteme înlocuind un conglomerat de dispozitive electronice și electrice, regăsite în sistemele electrice anterioare. Sistemele de operare pot avea diverse forme de implementare pornind de la surse de alimentare și până la mașini. Fiind un rezultat rapid a progresului tehnologic, cele mai complexe operaţii au fost rezolvate prin conectarea în sistem a unor automate programabile şi unităţi centrale de proces. Aceste automate programabile (PLC – Programabille Logic Controller), aşa cum le vom denumi în continuare, pe lângă conexiunile cu instrumentele de măsură şi senzorii din procesul de automatizare, va trebui să permită comanda intregului proces şi ceea ce este şi important, să comunice operatorului stările procesului prin semnale vizuale şi sunet şi/sau printr-o reţea de comunicaţie la un computer. Aceste caracteristici permit exploatarea automatizări la un înalt grad de flexibilitate, prin schimbarea şi monitorizarea mult mai comodă a parametrilor de bază a procesului.
PLC-urile pot fi construite ca un sistem modular, pornind de la un nucleu (Master) și i se pot adăuga suplimentar porturi I/O.
În cea ce privește partea de programare, principalele metode de programare sunt:
- IL (Instruction List) structura este asemănătoare cu limbajele de asamblare ale microprocesoarelor;
- ST (Structured Text) care folosește instrucțiunile de atribuire, selecție și control ale subprogramelor cu o structură apropiată de limbajele de programare de nivel înalt;
- LAD (Ladder Diagram) este un limbaj semigrafic, asemănător schemelor de circuite cu relee și contacte și operează în special cu variabile boolean (logice);
- FBD (Function Block Diagram) este o extensie a limbajului LD care permite și lucrul cu blocuri complexe.
- SFC (Sequential Function Chart) este un limbaj grafic secvențial, asemănător organigramelor funcționale care permite utilizarea de funcții complexe și proceduri
Limbajul de programare LAD (Ladder Diagram)
Structura unei unități de program
Tipuri de variabile și constante
- Booleene, notate cu BOOL;
- Octeți (8 biți), cuvinte (16 biți) și cuvinte duble (32 biți), notate cu BYTE, WORD și respectiv DWORD;
- Întregi, notate cu INT;
- Reale (32 biți), notate REAL;
- Șiruri de caractere, notate cu STRING;
- Variabile de tip timp și dată, notate TIME și respectiv DATE.
Este permisă utilizarea unor date de tip tablou (ARRAY) și
structură (STRUCT), precum și date derivate din acestea.
Moduri de adresare
Adresarea absolută utilizează denumirea zonei de memorie pentru identificarea adresei. Denumirile zonelor de memorie pot cuprinde două prefixe.
Primul prefix poate fi: %I, pentru intrări; %Q, pentru ieșiri; %M, pentru variabile interne. Al doilea prefix poate fi:
x.y, pentru variabile de tip boolean. Valoarea x reprezintă octetul, iar valoarea y reprezintă bitul;
B, pentru octet (Byte); W, pentru cuvânt (Word); D, pentru dublu cuvânt (Double word). Exemple: %Ix.y, %IBx, %IWx, %IDx.
Un program în limbajul LAD este alcătuit din rețele, care utilizează simboluri grafice (obiecte).
Fiecare rețea trebuie să înceapă cu o intrare(i) și să se termine cu o ieșire(o).
Obiectele limbajului
Exemplu. Circuit de blocare.