Procesanalyse & Automation 1, 2 & 3

3 × 5 ECTS — reguleringsteknik, PLC, instrumentering og procesanalyse.

Grundlæggende regulering

Lukket sløjferegulering (feedback)
#regulering
Systemet måler outputtet og korrigerer kontinuerligt.
On/off-regulering vs. kontinuerlig regulering
#regulering
On/offPID
PræcisionLav (hysterese)Høj
KompleksitetSimpelKræver tuning
Typisk brugAlarmer, pumpestartTemperaturstyring, tryk
PID-regulator
#regulering #formler
Kombinerer tre bidrag for optimal regulering.
u(t) = Kp · e(t) + Ki · ∫e dt + Kd · de/dt

Instrumentering

4–20 mA signalstandard
#instrumentering
Industristandard for analoge signaler — robust over lange afstande.
P&ID — Rørsystemtegning med instrumentering
#instrumentering
Piping and Instrumentation Diagram viser alle rør, ventiler og instrumenter.

PLC — Programmable Logic Controller

PLC — hvad er det og hvad gør det
#plc
En PLC (Programmable Logic Controller) er en industriel computer designet til at styre maskiner og processer i realtid. Den erstatter relæpaneler og er bygget til at tåle industrimiljø (støv, vibration, temperatur). Typiske fabrikanter: Siemens (S7), Rockwell/Allen-Bradley (ControlLogix), Beckhoff (TwinCAT), Schneider (Modicon), Mitsubishi.
PLC-opbygning
#plc
SignalTypeEksempelTypisk niveau
DIDigital indTrykknap, endestop24 VDC / 0 VDC
DODigital udKontaktor, ventil24 VDC / relæ
AIAnalog indTryktransmitter4–20 mA / 0–10 V
AOAnalog udFrekvensom­former4–20 mA / 0–10 V
PLC scan-cyklus
#plc
PLC'en kører i en kontinuerlig løkke — scan-cyklussen. Typisk scan-tid: 1–20 ms.
  1. Læs inputs: alle fysiske inputs kopieres til process image input (PII)
  2. Udfør program: programmet kører mod PII — ikke direkte mod hardware
  3. Skriv outputs: process image output (PIQ) skrives til fysiske outputs
  4. Kommunikation & diagnostik: netværkspakker, watchdog, selvtest
Fordelen ved process image: outputs ændres ikke midt i en scan — sikrer konsistens.
Watchdog: hardware-timer der genstarter CPU'en hvis scan-tid overskrides.
IEC 61131-3 — PLC-programmeringssprog
#plc #programmering
International standard der definerer fem PLC-programmeringssprog:
SprogTypeEgnet til
LD — Ladder DiagramGrafiskRelælogik, on/off-styring — mest udbredt
FBD — Function Block DiagramGrafiskRegulering, dataflow, PID-blokke
ST — Structured TextTekstKompleks logik, beregninger, algoritmer
IL — Instruction ListTekstAssembler-lignende — forældet i IEC 61131-3 ed. 3
SFC — Sequential Function ChartGrafiskSekventielle processer, tilstandsmaskiner
Alle fem sprog kan blandes i samme projekt — typisk: LD til simpel I/O, ST til beregninger, SFC til sekvenser.

PLC — Ladder Diagram (LD)

Ladder Diagram (LD) — grundelementer
#plc #programmering
LD ligner et relæskema — strøm flyder fra venstre skinne til højre hvis betingelserne er opfyldt.
SymbolNavnFunktion
—| |—NO-kontaktLukket (sand) når bit er 1
—|/|—NC-kontaktLukket (sand) når bit er 0
—( )—Spole (output)Sætter bit til 1 når rung er sand
—(S)—Set (latch)Sætter bit til 1 — forbliver sat
—(R)—Reset (unlatch)Nulstiller bit til 0
—[P]—Positiv flankeÉn scan sand ved stigende flanke
—[N]—Negativ flankeÉn scan sand ved faldende flanke
Eksempel — start/stop-kredsløb med selvholdning:
|--[ Start ]--[/Stop ]--+--[ Motor ]--+--( Motor )--|
|                        |             |             |
|                        +--[ Motor ]--+             |
Ladder Diagram — timere og tællere
#plc #programmering
Timere (IEC 61131-3):
BlokFunktionVigtige pins
TONTimer On-Delay — Q går høj efter PT sekunderIN, PT, Q, ET
TOFTimer Off-Delay — Q forbliver høj i PT sekunder efter IN falderIN, PT, Q, ET
TPPuls-timer — Q er høj i præcis PT sekunder ved IN-stigende flankeIN, PT, Q, ET
IN = start-signal  |  PT = preset tid (f.eks. T#5S, T#500MS)  |  ET = forløbet tid  |  Q = output

Tællere:
BlokFunktion
CTUCount Up — tæller CU-pulser op, Q = 1 når CV ≥ PV
CTDCount Down — tæller ned fra LD-værdien, Q = 1 når CV ≤ 0
CTUDCount Up/Down — kombination af CTU og CTD
CU/CD = tælle-puls  |  R = reset  |  PV = preset  |  CV = aktuel tælling

PLC — Struktureret Tekst (ST)

Struktureret Tekst — syntaks og datatyper
#plc #programmering
ST er et Pascal/C-lignende tekstsprog — kraftfuldt til beregninger og kompleks logik.
DatatypeStørrelseEksempel
BOOL1 bitTRUE / FALSE
INT16 bit-32768 til 32767
DINT32 bit± 2 milliarder
REAL32 bitKommatal: 3.14
TIME32 bitT#5S, T#500MS
STRINGvariabel'Hej verden'
Operatorer: := (tildeling)  ·  + - * / MOD (aritmetik)  ·  AND OR NOT XOR (logik)  ·  = <> < > <= >= (sammenligning)
Kommentarer: (* dette er en kommentar *)

Simpelt eksempel — start/stop med timer:
IF StartButton AND NOT EmergencyStop THEN
    MotorOutput := TRUE;
    Timer1(IN := TRUE, PT := T#5S);
ELSE
    MotorOutput := FALSE;
    Timer1(IN := FALSE);
END_IF;

(* Alarm efter 5 sek uden flow *)
IF Timer1.Q THEN
    Alarm_NoFlow := TRUE;
END_IF;
Struktureret Tekst — kontrolstrukturer
#plc #programmering
IF / ELSIF / ELSE:
IF Tryk > 10.0 THEN
    Alarm := TRUE;
ELSIF Tryk > 8.0 THEN
    Advarsel := TRUE;
ELSE
    Alarm := FALSE;
    Advarsel := FALSE;
END_IF;
CASE (switch):
CASE Tilstand OF
    0: Motor := FALSE; Ventil := FALSE;
    1: Motor := TRUE;  Ventil := FALSE;
    2: Motor := TRUE;  Ventil := TRUE;
ELSE
    Motor := FALSE;
END_CASE;
FOR-løkke:
FOR i := 0 TO 9 DO
    Gennemsnit := Gennemsnit + Maaling[i];
END_FOR;
Gennemsnit := Gennemsnit / 10;
WHILE og REPEAT:
WHILE Tæller < 100 DO
    Tæller := Tæller + 1;
END_WHILE;

REPEAT
    Tæller := Tæller + 1;
UNTIL Tæller >= 100
END_REPEAT;
Undgå WHILE/REPEAT i PLC-kode uden exit-betingelse — de blokerer scan-cyklussen.

Kommunikationsprotokoller

Industrielle busser — overblik
#protokol #plc
ProtokolFysisk lagHastighedTopologiTypisk brug
Modbus RTURS-4859,6–115 kbaudMaster/Slave busSensorer, simple enheder
Modbus TCPEthernet100 Mbit/sClient/ServerPLC↔SCADA, HMI
PROFIBUS DPRS-485op til 12 Mbit/sMaster/Slave busSiemens I/O-moduler, frekvensomformere
PROFINETEthernet100 Mbit/s+Linje/Stjerne/RingSiemens PLC, distribueret I/O
EtherNet/IPEthernet100/1000 Mbit/sStjerneRockwell/Allen-Bradley
CANopenCAN-busop til 1 Mbit/sBusMaskiner, automotive, drives
OPC UAEthernet/TCPClient/ServerPLC↔IT/Cloud, tværfabrikat
Modbus RTU og Modbus TCP
#protokol #plc
Modbus er den enkleste og mest udbredte industriprotokol — åben standard fra 1979. Function codes (FC):
FCFunktionRegisterttype
01Read CoilsDigitale outputs (bit)
02Read Discrete InputsDigitale inputs (bit)
03Read Holding RegistersAnaloge outputs / setpoints (16-bit word)
04Read Input RegistersAnaloge inputs (16-bit word)
05/06Write Single Coil/RegisterSkriv ét element
15/16Write Multiple Coils/RegistersSkriv blok
Registre er 16-bit (0–65535). Float = to på hinanden følgende 16-bit registre (IEEE 754, 32-bit).
PROFIBUS DP
#protokol #plc
Process Field Bus — Siemens-drevet feltbus, IEC 61158. Dominerende i 1990'erne–2010'erne.
BaudrateMax kabellængde pr. segment
9,6 – 187,5 kbaud1200 m
500 kbaud400 m
1,5 Mbit/s200 m
12 Mbit/s100 m
GSD-filer (General Station Description) beskriver enhedens parametre og bruges ved konfiguration.
PROFINET
#protokol #plc #netværk
Siemens Ethernet-baseret efterfølger til PROFIBUS — IEC 61158/61784. Kommunikationsklasser:
KlasseCyklustidBrug
NRT (Non-Real-Time)>100 msParameterisering, diagnostik
RT (Real-Time)1–100 msStandard I/O, standard PLC-kommunikation
IRT (Isochronous Real-Time)31,25 µs – 1 msMotion control, synkroniserede drives
GSDML-filer (XML) beskriver enheder. Understøtter ring-topologi med MRP (Media Redundancy Protocol) for fejltolerance.
OPC UA — dataudveksling på tværs af fabrikanter
#protokol #netværk
OPC Unified Architecture — platform-uafhængig standard for industriel dataudveksling (IEC 62541). OPC UA er "sproget" der gør Industry 4.0 muligt — PLC kan tale direkte med ERP, cloud og historian.

Netværk & TCP/IP

OSI-modellen og TCP/IP-stakken
#netværk
OSI-modellen beskriver kommunikation i 7 lag — TCP/IP bruger i praksis 4 lag.
OSI-lagNavnTCP/IP-lagEksempler
7ApplikationApplikationHTTP, FTP, Modbus TCP, OPC UA, SMTP
6PræsentationSSL/TLS, MIME, kryptering
5SessionRPC, NetBIOS
4TransportTransportTCP (port-til-port, pålidelig), UDP (hurtig)
3NetværkInternetIP (routing), ICMP (ping), ARP
2DatalinkNetværksadgangEthernet (MAC-adresser), VLAN (802.1Q)
1FysiskKabler, switches, RJ45, fibre
Industriel kommunikation bevæger sig typisk: applikationsprotokol → TCP/UDP → IP → Ethernet.
IP-adressering og subnetting
#netværk
IPv4: 32-bit adresse skrevet som 4 oktetter: 192.168.1.100 Privat adresserum (RFC 1918):
KlasseIntervalTypisk brug
A10.0.0.0 – 10.255.255.255Store virksomhedsnetværk
B172.16.0.0 – 172.31.255.255Mellemstore netværk
C192.168.0.0 – 192.168.255.255Industrianlæg, kontor
I industrien: brug altid statiske IP-adresser til PLC'er og instrumenter — DHCP er upålideligt for kritisk udstyr.
TCP vs. UDP
#netværk
TCPUDP
ForbindelsestypeForbindelsesorienteret (3-way handshake: SYN → SYN-ACK → ACK)Forbindelsesløs
LeveringsgarantiJa — gensender tabt data automatiskNej — "fire and forget"
RækkefølgeGaranteretIkke garanteret
OverheadHøj (ACK, flow control)Lav (8-byte header)
HastighedLangsommereHurtigere
Industrielt brugModbus TCP, OPC UA, filoverførselPROFINET RT, realtids-broadcast, IGMP
Port-numre: 502 = Modbus TCP  |  4840 = OPC UA  |  102 = Siemens S7  |  80/443 = HTTP/HTTPS (webserver i PLC)
Industriel netværkssegmentering og VLAN
#netværk
I industrien er det kritisk at adskille OT-netværket (styring) fra IT-netværket (kontor/internet). Eksempel på zoneopdeling (Purdue-model):
NiveauZoneUdstyr
0–1FeltSensorer, aktuatorer, drives
2StyringPLC'er, SCADA, HMI
3MES/DMZHistorian, dataserver, OPC UA gateway
4–5IT / EnterpriseERP, kontor-PC, internet
Aldrig direkte forbindelse fra felt-PLC til internet — al OT/IT-integration skal ske via DMZ.

Regulatorformler

P-regulator
#regulering #formler
U = Kp · e + u0
Proportionalbånd: Pb% = 100% / Kp
PI-regulator
#regulering #formler
U = Kp · (e + 1/Ti · ∫e dt)    (PI-1)
U = Kp · e + 1/Ti · ∫e dt    (PI-2)
PID-regulator
#regulering #formler
U = Kp · (e + 1/Ti · ∫e dt + Td · de/dt)    (PID-1)
U = Kp · e + 1/Ti · ∫e dt + Td · de/dt    (PID-2)
Ziegler-Nicholls indstillingsmetode
#regulering #formler
Lukket sløjfe med P-regulator: Ta = ∞, Tv = 0.
RegulatorKpTi [s]Tv [s]
P0,5 · Ksk
PI0,45 · Ksk0,83 · Tsk
PID0,6 · Ksk0,5 · Tsk0,125 · Tsk
For PID-regulatorformel PID-2: Ti = Tsk / Kp,   Td = Kp · Tv
Digital regulering — samplingsfrekvens
#regulering #formler
fs > 2 · fk
Sampletid: ts = 1 / fs [s]
Praktisk regel: fs > 10 · 1 / τdom, hvor τdom er processens dominerende tidskonstant
1. Lordens støjfilter (digital)
#regulering #formler
yn = (α · yn−1) + (β · xn)
β = 1 − α    α = e−1/τ