Il PLC per ottemperare ai suoi compiti deve essere programmato. La programmazione del PLC è effettuata normalmente con un PC sul quale un software specializzato permette di creare programmi da scaricare nella memoria di programma del PLC. Questi software di programmazione possono inoltre leggere il programma direttamente dalla memoria del PLC, e visualizzare il programma sul PC. La normativa internazionale IEC 61131-3 (prima chiamata IEC1131-3) ha standardizzato 5 linguaggi di programmazione, di cui 3 grafici e 2 testuali:
Ladder diagram (LD o KOP) detto Linguaggio a contatti - È il linguaggio più usato fino a pochi anni fa, in quanto era la trasposizione informatica dei circuiti elettrici usati dagli elettrotecnici.
Sequential Function Charts (SFC) detto Diagramma funzionale sequenziale - Viene usato anche come strumento di specifica. Tale linguaggio permette di implementare facilmente una macchina (o automa) a stati finiti.
Function Block Diagram (FBD o FUP) detto Diagramma a blocchi funzionali - Analogo ai diagrammi circuitali.
Instruction List (IL o AWL) detto Lista di istruzioni - Linguaggio di basso livello molto simile all'Assembler. Può essere facilmente ricavato dal Ladder.
Structured Text (ST) detto Testo strutturato - Linguaggio di alto livello simile al Pascal.
In realtà ogni casa costruttrice di PLC estende poi questi linguaggi con delle proprie personalizzazioni e funzionalità. E’ pertanto difficile realizzare un recensione in grado di esplicitare in dettaglio come programmare un generico PLC. E’ forse più opportuno analizzare un PLC facilmente reperibile in commercio. A tal proposito viene suggerito il seguente approfondimento: