Controlerele logice programabile sunt dispozitive de calcul mici utilizate în fabrici și în domeniul industrial pentru a rula mașini. Echipate cu propriile sisteme de operare, controlerele logice programabile (PLC) controlează procesele utilizate pentru fabricarea produselor. Programatorii modifică procesele de pe PLC-uri pentru a opera mașini și pentru a face modificări în produsul fabricat. Ei folosesc programarea controlerului logic programabil în domenii precum prelucrarea, ambalarea alimentelor și manipularea materialelor. Unele dintre cele mai bune sfaturi pentru programatori sunt folosirea unui singur control, implementarea unui controler proporțional în logică, crearea unei logici de comutare și reducerea problemelor legate de timpul de scanare a PLC-ului.
Funcția one shot este la îndemână atunci când o condiție comută între pornit și oprit și PLC-ul trebuie să ia măsuri asupra stării reale pentru o singură scanare. Bobina devine adevărată de fiecare dată când inelul de activare este adevărat și totul rămâne adevărat pentru o singură scanare. Uneori, ordinea treptelor devine importantă într-o singură lovitură, deoarece PLC-ul trebuie să finalizeze o scanare completă când bitul de ieșire este pornit și abia apoi vede primul treaptă.
Încorporarea controlerelor proporționale într-un PLC devine foarte utilă în programarea controlerelor logice programabile, mai ales atunci când nu are încorporate instrucțiuni proporționale/integrale/derivate sau PID. Controloarele PID sunt controlere de proces care au caracteristici speciale de răspuns reglabil. Acest lucru le permite să execute corect algoritmi de control care anticipează și măsoară ratele de încălzire și răcire a procesului și corectează automat. Procedurile de control al proceselor folosesc controlori proporționali într-o multitudine de moduri; a avea control total al încălzirii este o aplicație populară. PLC-urile pot fi programate precis pentru a porni încălzitorul sau pentru a-l porni și opri.
O metodă populară în programarea controlerelor logice programabile utilizează conceptul de comutare. Această logică este utilă atunci când programatorul trebuie să aibă un buton pentru a controla un dispozitiv cu aceeași acțiune de comutare. De exemplu, apăsarea unui buton o dată pornește dispozitivul, iar apăsarea din nou îl oprește. Această logică trece de la starea oprit la starea pornit atunci când intrarea devine adevărată. Apoi rămâne aprins până când intrarea devine falsă.
Timpii lungi de scanare PLC pot fi, de asemenea, o problemă în programarea controlerelor logice programabile, în special atunci când se proiectează controale pentru mașini de mare viteză. O abordare populară folosește codificarea incrementală pentru a calcula poziția mașinii. Această abordare, totuși, poate cauza o mulțime de probleme atunci când încercați să faceți mașina să funcționeze mai repede. Dacă ieșirea de la codificatorul care lucrează la viteză crescută trece de la fals la adevărat și înapoi în timpul necesar PLC-ului pentru a efectua o scanare, atunci contorul nu numără corect. Acest lucru face ca mașina să se prăbușească sau piesele în mișcare să piardă sincronizarea atunci când viteza este crescută.
Soluția într-un astfel de scenariu este utilizarea unui encoder de poziție absolută în locul unui encoder incremental. Avantajul acestui tip de encoder este că este mai puțin susceptibil la erori pe măsură ce viteza mașinii crește. Acest encoder, totuși, necesită aproximativ o duzină sau mai multe linii de intrare în comparație cu cele două linii de care are nevoie un encoder incremental. De asemenea, codificatoarele absolute pot produce erori, cum ar fi stări ratate, în care unii biți se schimbă, iar alții nu. Dacă apar stări ignorate cu un encoder absolut, atunci acesta trebuie înlocuit cu altul.