Structured Text (ST) er et tekstbaseret programmeringssprog, der indgår i IEC 61131-3-standarden for programmerbare logiske styringer (PLC'er). Sproget minder om Pascal og Ada, men er lavet til industriel automation, hvor koden skal køre deterministisk og tæt på hardwaren. Med ST skrives maskinlogikken som læsbare, strukturerede sætninger frem for kun i grafiske sprog som Ladder Diagram (LD) eller Function Block Diagram (FBD).
Grundlæggende egenskaber
- Standardiseret: Syntaks og semantik er de samme hos de fleste PLC-fabrikater (Siemens, Beckhoff, Schneider, Rockwell m.fl.), så et projekt er lettere at flytte.
- Læsbarhed: IF-THEN-ELSE, FOR- og WHILE-løkker, egne funktioner og strukturerede datatyper gør koden nem at overskue og gennemgå.
- Determinisme: Koden kompileres til maskininstruktioner, der afvikles i faste scancyklusser. Sikkerheds- og bevægelsesopgaver kan derfor beregnes præcist inden for millisekunder.
- Flere sprog i samme projekt: IEC 61131-3 tillader, at ST-blokke blandes med LD, FBD og Sequential Function Chart (SFC), så hver delopgave løses i det bedst egnede sprog.
Hvorfor ST i tavlebygning og procesanlæg?
- Matematik: PID-regulatorer, trigonometri til robotkinematik eller komplekse filteralgoritmer fylder langt mindre som tekst end som kontaktsymboler.
- Data: Opskrifter, batchlog og sporbarhed ligger ofte i arrays eller strukturer, og ST har indbyggede funktioner til at behandle og søge i dem.
- Moduler og genbrug: Funktionsblokke kan samles i biblioteker, der kopieres fra projekt til projekt. Det giver kortere idriftsættelse og færre fejl.
- Versionsstyring: ST er ren tekst, så Git eller Subversion kan spore ændringerne linje for linje. Det er en fordel, når flere programmører arbejder på samme tid.
Derfor vælger vi ofte ST, når logikken skal kunne udvides og vedligeholdes over tid. Læs mere om, hvordan vi arbejder med PLC styring med Structured Text i konkrete anlæg.
Typisk arbejdsgang i et ST-projekt
- Hardwareplan: El-konstruktøren vælger I/O-kort, sikkerhedsrelæer og netværkskomponenter til styretavlen.
- Signalliste: Hver ind- og udgang får et navn og en datatype i PLC-softwaren.
- Kodning: Programmøren skriver ST-programmer og funktionsblokke til start/stop-sekvenser, alarmer og procesregulering.
- Simulering: Logik og timing testes offline, før der kommer spænding på anlægget.
- Idriftsættelse: Den kompilerede kode downloades via industrielt Ethernet, og feltudstyret sættes i gang trin for trin.
Gode kodevaner
- Kommentarer: Skriv formål, måleenheder og antagelser ved hvert afsnit. Det sparer fejlsøgningstid for den, der vedligeholder koden.
- Hold øje med scantiden: ST ligner højniveausoftware, men kører cyklisk. Uendelige løkker eller tung strengbehandling kan ødelægge processorens realtidsegenskaber.
- Strukturerede datatyper: Saml variabler, der hører sammen, f.eks. Motor.Speed, Motor.Torque og Motor.Faults, i en RECORD eller STRUCT, så programmet bliver lettere at overskue.
- Hold styringslogik og visning adskilt: PLC'en tager sig af styring og sikkerhed, HMI'en af tekster og grafer. Så er der flere ressourcer til de tidskritiske beregninger.
- Navngivning: Med en fast konvention som "MTR1_SpdCmd" eller "VALVE_A_Open" kan mekanik, el og software hurtigt genkende signalerne.
ST kontra Ladder Diagram
Ladder er let at gå til for elektrikere, fordi symbolerne minder om relætegninger. Men store tabeller eller iterative beregninger kræve mange rækker og hopkontakter. I ST fylder samme funktion få linjer, og indrykning, funktionskald og moduler holder styr på kompleksiteten. Mange projekter blander derfor de to: sikkerhedskredse og simpel ON/OFF-logik i Ladder, datalogning, receptstyring og avanceret motion i ST.
Vedligehold og fejlfinding
I tekstfiler kan du søge direkte efter variabelnavne eller fejlkoder, så produktionsstop bliver kortere. God dokumentation og kommentarer ved de enkelte enheder hjælper serviceteknikeren med hurtigt at finde årsagen til en alarm. En softwareopdatering kræver ofte kun ændringer i enkelte linjer, uden at grafiske netværk skal tegnes om.
Med læsbar syntaks, deterministisk afvikling og biblioteker tager ST moderne softwaremetoder med ind i styringen af maskiner og procesanlæg.
Spørgsmål om Structured Text (ST)?
Vi bygger tavler og automation til industri og forsyning. Ring eller skriv, så svarer en af vores teknikere.