Een programmable logic controller (PLC, programmeerbare logische sturing) is een elektronisch apparaat met een microprocessor, dat op basis van de informatie op zijn diverse ingangen zijn uitgangen aanstuurt.
In de industrie worden machines vaak aangestuurd met PLC's en die zijn daarmee een belangrijk onderdeel in de automatisering. Hoe de PLC zijn gegevens precies inleest hangt af van de geïnstalleerde interfacekaarten en van de veldbusnetwerken waarlangs verschillende apparaten met elkaar gegevens uitwisselen.
Van oorsprong bevatte een PLC geen volledige microprocessor, maar in de jaren 90 is het verschil tussen een computer en een PLC vervaagd.
De eerste PLC's bestonden uit logische poorten (AND, OR) en timer IC's die met bedrading verbonden waren. Door aanpassing van de bedrading werd de functionaliteit en dus het programma aangepast. Met de komst van de microprocessor werd deze functionaliteit in geheugen gestopt en waren de eerste echte PLC's een feit. Men kreeg nu meer flexibiliteit en meer mogelijkheden.
De PLC en de interface-software voor het debuggen en het schrijven van de software hebben een grote ontwikkeling doorgemaakt.
Er kan sprake zijn van een Slot PLC en een Soft PLC.