🤔 Af hverju er til staðall fyrir PLC?

Hugsa þér að sérhver PLC-framleiðandi notaði sitt eigið forritunarmál sem enginn annar skildi. Ef þú lærðir á Siemens gast þú ekki notað Allen-Bradley — og öfugt. Þetta var raunveruleikinn fyrir 1993.

IEC 61131-3 er alþjóðlegur staðall sem var búinn til til að samræma PLC forritun. Hann skilgreinir 5 forritunarmál sem allir PLC-framleiðendur eiga að styðja. Þetta þýðir að ef þú lærir Ladder á einni vél, þá skilur þú Ladder á öðrum vélum líka.

💡 Eins og USB

Áður en USB kom þurfti hvert tæki sérstaka innstungu. Nú passar einn tengill í allt. IEC 61131-3 gerir það sama fyrir PLC forritun — samræmir og einföldar.

📜 Saga PLC og staðalsins

PLC-vélar eiga sér áhugaverða sögu. Fyrsta PLC-vélin var hönnuð árið 1968 af Dick Morley, bandarískum verkfræðingi, fyrir bílaframleiðandann General Motors. Hún hét Modicon 084.

Fyrir PLC voru hundruð segulliða (relays) notaðir til að stýra vélum. Ef breyta þurfti rökfræðinni þurfti maður að endurtengja víra — sem gat tekið vikur. PLC gerði breytingar mögulegar á mínútum með því einfaldlega að breyta forritinu.

1968
Dick Morley hannar Modicon 084 — fyrsta PLC-vél heimsins, fyrir General Motors
1970
Fyrsta PLC-vélin sett í notkun í GM Oldsmobile verksmiðju
1979
Modbus samskiptastaðall kynntur — PLC-vélar geta nú talað saman
1993
IEC 61131-3 gefinn út — 5 forritunarmál samræmd í alþjóðlegum staðli
2013
3. útgáfa staðalsins — bætir við stuðningi við hlutbundna forritun (OOP)
2025
4. útgáfa — Instruction List (IL) fjarlægt úr staðlinum vegna úreldingar

💻 Fimm forritunarmálin

Staðallinn skilgreinir 5 mismunandi leiðir til að forrita PLC. Þrjú eru „myndræn" (þú teiknar rökfræðina) og tvö eru „textamiðuð" (þú skrifar kóða). Öll málin geta gert sömu hlutina — það er bara spurning um hvað hentar best hverju sinni.

Stigarrit LD
Myndrænt · Ladder Diagram
Líkist rafrásateikningu — tengiliðir og spólur á „þrungum" (rungs). Hannað fyrir rafvirkja sem þekkja segulliðaskýringamyndir. Þetta er langalgengasta PLC forritunarmálið og er aðalforritunarmálið sem við notum í þessum áfanga.
Notum í áfanganum Algengast
Þrepastýring SFC
Myndrænt · Sequential Function Chart
Sýnir ferli sem þrep í röð — skref, skiptingar og aðgerðir. Fullkomið til að skipuleggja stýringar áður en þú forritar. Við notum SFC sem hönnunartæki og umbreytum svo í Ladder.
Notum í áfanganum → Lesa meira um SFC
Rökrásarhlið FBD
Myndrænt · Function Block Diagram
Tengir saman „blokkir" — hvert blokk hefur inntak og úttak. Gott fyrir tímalið, teljara og flókna stýrifræði eins og PID. Mikið notað í Evrópu. Við notum FBD aðeins í áfanganum — t.d. þegar við setjum inn tímalið eða teljara, en Ladder er aðalforritunarmálið okkar.
Notum aðeins
Skipulagður texti ST
Textamiðað · Structured Text
Líkist forritunarmálum eins og Python eða C. Hentar fyrir flókna útreikninga, gagnameðhöndlun og lykkjur (FOR/WHILE). Vinsælt hjá þeim sem kunna að forrita.
Skipanalisti IL
Textamiðað · Instruction List
Líkist assembly-máli — einfaldar skipanir eins og LD, ST, AND. Erfitt að lesa og viðhalda. Var fjarlægt úr staðlinum árið 2025 vegna þess að enginn notar þetta lengur. Þú munt sjá þetta í gömlu kerfum en aldrei þurfa að skrifa það.
Úrelt – fjarlægt 2025

⚖️ Samanburður — hvenær á að nota hvað?

Hér er einföld tafla sem sýnir hvaða mál hentar í hvaða aðstæður:

MálHentar best fyrirDæmi
LD – Stigarrit Einfaldar stýringar, on/off rökfræði, sjálfhald Umferðarljós, mótorræsir, færiband
SFC – Þrepastýring Ferli í þrepum, skipulagning Þvottavél, lyfta, pökkunarvél
FBD – Rökrásarhlið Tímaliðir, teljarar, PID, flókin rökfræði Hitastýring, þrýstingsstjórnun, teljari á færibandi
ST – Skipulagður texti Útreikningar, gagnameðhöndlun, lykkjur Uppskriftareikningar, gagnavinnsla
💡 Í þessum áfanga

Við notum SFC (Þrepastýring) til að hanna stýringar (teiknuð á pappír eða Whiteboard), LD (Stigarrit) sem aðalforritunarmálið í EasySoft, og stundum FBD (Function Block Diagram) þegar við setjum inn tímalið og teljara. Þetta er algengasta samsetningin í iðnaðinum.

📝 Hvernig lítur kóðinn út?

Hér eru dæmi um sömu rökfræði — sjálfhald á mótori með start og stop — skrifuð í mismunandi forritunarmálum. Taktu eftir hversu ólík málin líta út, en gera allt þetta sama hlutinn:

Ladder Diagram (LD) — myndrænt
(* Network 1: Sjálfhald á mótori *)

  I1          Q1            (Q1)
──┤ ├────┬──┤ ├─────────────( )──
          │
  I2    │
──┤/├────┘
          
(* I1 = Start, I2 = Stop (NC), Q1 = Mótor *)
Structured Text (ST) — textamiðað
(* Sjálfhald á mótori *)
IF I1 OR Q1 THEN
    Q1 := TRUE;
END_IF;

IF NOT I2 THEN
    Q1 := FALSE;
END_IF;
Instruction List (IL) — úrelt
(* Sama rökfræði — en erfiðara að lesa *)
LD    I1
OR    Q1
ANDN  I2
ST    Q1

Sérðu hvers vegna Ladder er vinsælast hjá rafvirkjum? Þú getur „séð" straumhringinn. Structured Text er svo vinsælast hjá þeim sem kunna tölvuforritun. Instruction List — ja, það er bara ruglingslegt.

🎮 Prófaðu sjálf(ur) — Stigarrit (Ladder)

Sjálfhald á mótori

Hér er gagnvirkt Ladder rit sem sýnir sjálfhald (self-hold / latch). Ýttu á Start til að kveikja á mótori — hann helst í gangi þangað til þú ýtir á Stop. Fylgstu með hvernig straumurinn flæðir í gegnum þrungurnar.

Network 1: Sjálfhald
── ┤ I1 ├ ──┬── ┤ Q1 ├ ────── ( Q1 ) ──
└── ┤/I2 ├ ──┘
I1 = Start (NO) · I2 = Stop (NC) · Q1 = Mótor
I1 (Start): OFF
I2 (Stop): ON (NC)
Q1 (Mótor): OFF
Hvernig virkar sjálfhald? Þegar þú ýtir á Start (I1) lokar straumhringurinn og Q1 kveikir. Q1 tengiliðurinn í samhliðagrein heldur straumnum gangandi jafnvel þegar þú sleppir Start. Eina leiðin til að stoppa er að ýta á Stop (I2) — þá opnast NC tengiliðurinn og slítur strauminn.

🏭 Helstu PLC-framleiðendur

Þessir framleiðendur styðja allir IEC 61131-3 staðalinn. Hér á VMA notum við Eaton EasyE4:

Eaton
EasyE4
Notum þetta
Siemens
S7-1200, LOGO!
Allen-Bradley
Micro800
Schneider
Modicon M221
Omron
CP1L, NX1

Vegna staðalsins getur þú farið á milli þessara framleiðenda án þess að byrja frá grunni. Ladder er Ladder, SFC er SFC — útlitið er svipað á öllum kerfum.

🎯 Hvað skiptir þig máli?

Þetta er mikið efni — en þú þarft ekki að kunna allt strax. Hér er þitt „cheat sheet":

Vita: IEC 61131-3 er staðallinn sem skilgreinir PLC forritunarmál
Kunna: Ladder Diagram / Stigarrit (LD) — aðalforritunarmálið okkar
Kunna: SFC / Þrepastýring — skipulagstækið, notað áður en forritun
Kunna aðeins: FBD / Function Block Diagram — notum fyrir tímalið og teljara
📌 Þekkja: ST (Structured Text) er til, en við notum það ekki í þessum áfanga
🗑️ Gleyma: IL (Instruction List) — úrelt og fjarlægt úr staðlinum
← Til baka í viku 3