Mnoge vrste programabilnih logičkih kontrolera često se koriste u proizvodnji, industriji, pa čak i vožnjama u zabavnim parkovima. Različiti tipovi mogu uključivati ljestvenu logiku, tradicionalno programiranje, logiku stanja, sučelje čovjek-stroj i udaljene terminalne jedinice. Većina ovih kontrolera definirana je fizičkom konfiguracijom hardvera, kao i vrstama softvera ili programskih jezika koji se koriste. Hardver programabilnog logičkog kontrolera često je napravljen da izdrži intenzivne vremenske uvjete ili fizičko trošenje, a softver je često napravljen da bude donekle elastičan kako bi se prilagodio mnogim različitim situacijama. Kao rezultat toga, različiti kontroleri često su dizajnirani za sustave proizvodnje i automatizacije.
Ladder logika se smatra jednom od najčešćih programabilnih tipova logičkih kontrolera. U tim se sustavima hardver relejne logike često automatizira i održava pomoću programabilne logike. To ovu vrstu čini korisnim u industrijskim sustavima, jer se mnoge funkcije mogu održavati uz minimalnu interakciju ljudi. Dodatno, ljestvica logika može se kombinirati s više oblika programabilnih kontrolera za stvaranje naprednih sustava.
Tradicionalni logički kontroleri programiranja često koriste uobičajene računalne jezike, kao što je BASIC, za unos naredbi i održavanje sustava. Ovaj tip često uključuje određenu razinu ljudske interakcije. Logički kontroleri koji koriste tradicionalno programiranje također se mogu koristiti za upravljanje relejnim sustavima ili tvorničkim proizvodnim procesima koji moraju biti fleksibilni.
Logika stanja se često smatra jednom od fleksibilnih vrsta programabilnih logičkih kontrolera. Izgradnjom kompjuteriziranog modela zadatka u stvarnom svijetu, programabilni logički kontroleri stanja često se koriste za pomoć u zadacima koji se mogu brzo promijeniti. Logika stanja omogućuje simulaciju donošenja odluka, jer će se stanje programa često mijenjati na temelju ulaznih i izlaznih podataka. Mnoge vrste programabilnih logičkih sustava mogu se modelirati pomoću logike stanja.
Sučelja čovjek-stroj često kombiniraju različite kontrolere kako bi omogućili automatizaciju i rutinsku interakciju s ljudima. Ovi se sustavi mogu oslanjati na naredbe za unos ili davati podatke korisnicima kada se to zatraže. Ova vrsta je često naprednija od potpuno automatiziranih sustava, jer su često potrebni različiti programski jezici kako bi se olakšala dosljedna interakcija.
Udaljene terminalne jedinice općenito su dizajnirane da pružaju statičku funkciju. Često se koriste na daljinu i mogu pružiti dosljedan tok podataka unatoč teškim okolišnim uvjetima ili uvjetima obrade podataka. Ovi su sustavi često dizajnirani da funkcioniraju bez puno ljudske interakcije, što ih može učiniti idealnim za praćenje u usporedbi s drugim kontrolnim sustavima.