Multe tipuri de controler logic programabil sunt adesea folosite în producție, industrie și chiar în parcurile de distracție. Diferitele tipuri pot include logica ladder, programarea tradițională, logica de stare, interfața om-mașină și unitățile terminale la distanță. Majoritatea acestor controlere sunt definite de configurația fizică a hardware-ului, precum și de tipurile de software sau limbaje de programare utilizate. Hardware-ul controlerului logic programabil este adesea construit pentru a rezista la intemperii intense sau la uzura fizică, iar software-ul este adesea făcut pentru a fi oarecum elastic pentru a se adapta la multe situații diferite. Ca rezultat, diferitele controlere sunt adesea proiectate pentru sisteme de producție și automatizare.
Logica ladder este considerată a fi unul dintre cele mai comune tipuri de controlere logice programabile. În aceste sisteme, hardware-ul logic releu este adesea automatizat și întreținut folosind logica programabilă. Acest lucru face ca acest tip să fie util în sistemele industriale, deoarece multe funcții pot fi menținute cu o interacțiune umană minimă. În plus, logica ladder poate fi combinată cu mai multe forme de controlere programabile pentru a crea sisteme avansate.
Controlerele logice de programare tradiționale folosesc adesea limbaje de calculator obișnuite, cum ar fi BASIC, pentru a introduce comenzi și a întreține un sistem. Acest tip include adesea un anumit nivel de interacțiune umană. Controlerele logice care utilizează programarea tradițională pot fi, de asemenea, utilizate pentru a controla sistemele bazate pe relee sau procesele de fabricație din fabrică care trebuie să fie flexibile.
Logica de stare este adesea considerată a fi unul dintre tipurile flexibile de controler logic programabil. Prin construirea unui model computerizat al unei sarcini din lumea reală, controlerele logice de stare programabile sunt adesea folosite pentru a ajuta la sarcini care s-ar putea schimba rapid. Logica de stat permite simularea procesului de luare a deciziilor, deoarece starea unui program se va schimba adesea pe baza datelor de intrare și de ieșire. Multe tipuri de sisteme logice programabile pot fi modelate folosind logica de stare.
Interfețele om-mașină combină adesea diferitele controlere pentru a permite automatizarea și interacțiunea umană de rutină. Aceste sisteme se pot baza pe comenzi de intrare sau pot furniza date utilizatorilor la cerere. Acest tip este adesea mai avansat decât sistemele complet automatizate, deoarece sunt adesea necesare diferite limbaje de programare pentru a facilita interacțiunea consecventă.
Unitățile terminale de la distanță sunt în general proiectate pentru a oferi o funcție statică. Ele sunt adesea utilizate de la distanță și pot oferi un flux consistent de date în ciuda condițiilor dure de mediu sau de prelucrare a datelor. Aceste sisteme sunt adesea proiectate să funcționeze fără prea multă interacțiune umană, ceea ce le poate face ideale pentru monitorizare în comparație cu alte sisteme de control.