I ett ställverk i Trollhättan klickar en kontaktor när en operatör trycker på startknappen. Bakom det enkla klicket ligger flera tusen rader logik i en Siemens S7-1500. Logiken är inte skriven i C eller Python. Den är skriven i ladder — det grafiska språket som ser ut som relädiagram och har styrt fabriker sedan tidigt 1970-tal.
PLC-programmering är osynlig. Den dyker aldrig upp i pressmeddelanden. Men utan den stannar svensk industri på minuten. Varje pumpstation, varje transportbana, varje tryckpress, varje robotcell — allt går genom en PLC. Och någon har programmerat den.
Vad en PLC faktiskt är
En Programmable Logic Controller är en industriell dator. Den läser av ingångar (sensorer, tryckknappar, gränslägen), kör ett program och sätter utgångar (motorer, ventiler, larmsignaler). Cykeln upprepas i millisekunder, ofta tusen gånger per sekund.
Tekniskt består varje PLC av:
- CPU — den processor som exekverar programmet
- Ingångsmoduler — omvandlar elektriska signaler från sensorer till digitala värden
- Utgångsmoduler — driver reläer, ventiler, motorer
- Minne — programlogiken (i ROM eller flash) och variabeldata (i RAM)
- Kommunikationsmoduler — Ethernet, Profinet, EtherCAT, Modbus
Skillnaden mot en vanlig dator är realtidsbeteendet. PLC:n får inte hänga, krascha eller pausa för uppdatering. Den körs deterministiskt med fast cykeltid.
IEC 61131-3 — standarden som enade världen
Innan 1993 hade varje PLC-tillverkare sitt eget språk. En Siemens-programmerare kunde inte läsa Allen-Bradley-kod. IEC 61131-3 ändrade det. Standarden definierar gemensamma programmeringsspråk, datatyper och programstrukturer.
Den fjärde utgåvan av standarden släpptes i maj 2025. Den definierar idag fyra språk:
Ladder Diagram (LD)
Grafiskt språk där logiken visualiseras som en stege — vänster lodrät linje är spänning, höger är jord, och horisontella “rungs” innehåller kontakter och spolar. Ser bokstavligen ut som elektriska kretsscheman.
Styrkor: Intuitivt för elektriker och servicetekniker. Lätt att felsöka — du ser strömmen flöda.
Svagheter: Otympligt för komplex matematik och datastrukturer. Hundra rungs ger snart oöverskådlig kod.
Function Block Diagram (FBD)
Också grafiskt, men inspirerat av elektronikens funktionsblock. Block med ingångar och utgångar kopplas ihop med linjer.
Styrkor: Bra för signalflöden och reglerteknik (PID-regulatorer, filter).
Svagheter: Komplexa beslutsstrukturer blir röriga.
Strukturerad Text (ST)
Textbaserat språk som liknar Pascal. Variabeldeklarationer, if/then/else, for-loopar, funktionsanrop.
Styrkor: Hanterar komplex matematik, dataaggregat, recept, kommunikation med överordnade system. Lätt för programmerare med traditionell IT-bakgrund.
Svagheter: Otympligt för enkel reläogik och svårare för elektriker att felsöka.
Sequential Function Chart (SFC)
Grafiskt språk för att beskriva sekvensiella förlopp som tillståndsmaskiner. Boxar är steg, pilar är transitioner.
Styrkor: Naturligt för stegvisa processer — fyllning, värmning, blandning, tömning.
Svagheter: Inte tänkt för kontinuerlig styrning.
Instruction List (IL) — det femte språket i tidigare utgåvor — togs bort i 2025-utgåvan. Det var ett lågnivåspråk som liknade assembler och hade nästan ingen modern användning.
Vilket språk används till vad
I praktiken kombineras språken i samma program. Vanligaste fördelningen i svensk industri:
- Ladder för säkerhetslogik, blockeringar, basala reläfunktioner — ofta krav från säkerhetsstandarder att kritisk logik är i ladder eftersom det är lätt att granska.
- Strukturerad text för matematik, datakommunikation, recepthantering, integration med MES-system.
- Funktionsblock för regulatorer och signalbehandling.
- SFC för batchprocesser, transportbanor med flera stationer, automatiska tester.
Yngre PLC-programmerare — särskilt de som kommer från IT-utbildning snarare än ellinjen — väljer ofta ST framför ladder. Trenden förstärks av att moderna IDE:er som CODESYS, TwinCAT 3, TIA Portal och Studio 5000 Logix Designer stödjer object-orienterad programmering med funktionsblock, arv och gränssnitt.
De svenska tillverkarna och deras verktyg
Den svenska PLC-marknaden domineras av en handfull tillverkare, var och en med sin egen utvecklingsmiljö.
| Tillverkare | PLC-serier | Utvecklingsmiljö | Vanligast i |
|---|---|---|---|
| Siemens | S7-1200, S7-1500, S7-300/400 | TIA Portal | Process, tillverkning, energi |
| ABB | AC500, AC800M | Automation Builder, Control Builder | Processindustri, kraft |
| Rockwell (Allen-Bradley) | CompactLogix, ControlLogix | Studio 5000 | US-ägda industrier |
| Mitsubishi | MELSEC iQ-R, FX | GX Works3 | Maskinleverantörer Asien |
| Beckhoff | CX-serien | TwinCAT 3 | Motion control, snabba maskiner |
| Omron | NX, NJ | Sysmac Studio | Förpackning, mat |
| Schneider | M340, M580 | EcoStruxure Control Expert | Vatten, bygg, fastighet |
Att kunna Siemens TIA Portal är i praktiken en grundkompetens för svensk automationsingenjör. Många tjänster kräver det explicit.
Nya trender: IT/OT-konvergens och högnivåspråk
Tre trender förändrar PLC-programmeringen just nu.
1. Objektorienterad PLC-programmering. Med IEC 61131-3 Edition 3 (publicerad redan 2013) infördes klasser, arv och polymorfism för funktionsblock. Det möjliggör återanvändbar kod på ett sätt som tidigare var näst intill omöjligt. Trenden adopteras snabbt i maskinbygge.
2. Containers och cloud-tools. Större tillverkare experimenterar med att köra delar av styrlogiken i Docker-containers parallellt med PLC:n. Edge-applikationer för dataanalys och AI körs sida vid sida med realtidsstyrningen.
3. AI-stöd i kodning. GitHub Copilot, ChatGPT och specialiserade verktyg som CODESYS AI Assistant börjar generera PLC-kod ur naturliga språkbeskrivningar. Resultatet är fortfarande blandat — säkerhetslogik kan man inte AI-generera utan granskning — men för rutinmässiga sekvenser sparas tid.
Hur svensk industri rekryterar
Trots automatiseringens framväxt är PLC-programmerare en bristyrkesgrupp. Antalet utbildade per år täcker inte ens pensioneringen av äldre kollegor. Branschen rekryterar idag aktivt från:
- Yrkeshögskolor (Skövde, Norrköping, Trollhättan, Karlskoga) — ettåriga eller tvååriga YH-program
- Civilingenjörer med automationsinriktning (KTH, Chalmers, LTU)
- Elektriker med påbyggnadsutbildning
- Servicetekniker som lär sig genom on-the-job training
Lönerna har stigit kraftigt — en erfaren PLC-programmerare med Siemens-djup kan i Stockholm ta ut 750 000–900 000 kronor per år. För konsulter ligger nivåerna ännu högre.
Standardisering eller specialisering?
En klassisk fråga i branschen: ska man satsa på bred IEC 61131-3-kompetens eller djup i en specifik plattform? Marknaden ger ambivalent svar. För en konsult lönar sig bredden. För en in-house automation engineer hos exempelvis Volvo, SKF eller Sandvik premieras djupkunskap i den plattform företaget redan kör — vanligen Siemens.
Det som inte förändras är grundkravet: en PLC-programmerare måste kunna läsa scheman, tänka i tillstånd, debugga i realtid och kommunicera med driftpersonal. Verktygen ändras varje årtionde. Hantverket består.
Sources: