Automatisering

Programmerbar logisk controller / PLC - De vigtigste spørgsmål og svar

Programmerbare logiske controllere er kernen i industriel automatisering og muliggør præcis styring og regulering af maskiner og processer. De giver fleksibilitet, pålidelighed og effektivitet i mange applikationer. Detaljerede oplysninger og svar på ofte stillede spørgsmål kan findes i vores FAQ-tekst.

Indholdsfortegnelse

Hvorfor er automatiseringssystemer så udbredte?

Automatisering af elektriske og mekaniske systemer er implementeret i næsten alle procesanlæg. Det betyder f.eks., at komponenter styres automatisk ud fra kontaktpositioner eller efter en bestemt tid. Nogle gange er der kun brug for enkle binære forbindelser, men ofte er der brug for komplekse sekvensstyringer. Programmerbare logiske controllere (PLC'er) bruges normalt til automatisering.

Hvad er en PLC?

En programmerbar logisk controller (PLC) kan betragtes som en lille computer, der genererer output baseret på input og operationer. En PLC består som minimum af en central behandlingsenhed (CPU) og input/output-moduler (I/O-moduler). I/O-modulerne er som regel forbundet med den centrale processorenhed via en systembus og forsynes med strøm via den centrale processorenhed.

JUMO variTRON 500 centralbehandlingsenhed med PLC-funktionalitet, input/output-moduler og webpanel (bagved)

JUMO variTRON 500 centralbehandlingsenhed med PLC-funktionalitet, input/output-moduler og webpanel (bagved)

Hvilke programmerbare logiske controllere er tilgængelige?

PLC'er fås i forskellige versioner, der er forskellige med hensyn til funktionalitet og anvendelse:

Kompakt PLC

Disse controllere er integreret i et enkelt hus og indeholder alle de nødvendige komponenter som CPU, ind- og udgange og kommunikationsgrænseflader. De er ideelle til mindre applikationer med minimale pladskrav.

Modular PLC

Disse systemer består af en central CPU og separate input/output-moduler, som kan tilføjes eller fjernes efter behov. De giver fleksibilitet og udvidelsesmuligheder til mere komplekse applikationer. Det gælder også automatiseringssystemerne i JUMO variTRON-familien, selv om de har et meget bredere udvalg af funktioner end standard-PLC'er.

Sikkerhed-SPS

Disse styreenheder er specielt udviklet til sikkerhedskritiske applikationer og opfylder strenge sikkerhedsstandarder. De bruges i områder, hvor beskyttelse af mennesker og systemer har højeste prioritet.

Hvorfor har en PLC input- og outputmoduler?

Signalerne fra kontakter og sensorer osv. når den centrale enhed via inputmoduler og er dermed tilgængelige i PLC'en. Eksempler på signaler fra systemet er den respektive status for grænseafbrydere, termostater, flowmonitorer og niveauafbrydere eller de tilsvarende målte værdier fra temperatur-, tryk- eller fugtighedssensorer. PLC'en forbinder signalerne og skaber et resultat, som stilles til rådighed for outputmodulerne. Relæer bruges f.eks. til at aktivere magnetventiler og motorer. Funktionaliteten i en PLC er derfor implementeret i den centrale enhed, den er så at sige kontrolcenteret.

Hvordan blev processer automatiseret, før PLC'en blev introduceret?

Før indførelsen af PLC'er blev styresystemer realiseret ved at forbinde relæer og tidsrelæer. Et sådant styresystem krævede et stort materialeinput, og funktionen kunne kun ændres ved at ændre ledningerne. Systemerne var også udsatte for fejl, og fejlfinding var tidskrævende. Opgaven for de første programmerbare logiske controllere var at erstatte disse relænetværk.

Hvad er et PLC-program, og hvordan skabes det?

Alle indgangssignaler behandles cyklisk af et PLC-program og sammenkædes i programmet. Udviklingsmiljøer som CODESYS er tilgængelige for PLC-programmering, dvs. programmerne udvikles i CODESYS og overføres derefter til PLC'en.

Hvilke PLC-programmeringssprog er tilgængelige?

Programmering af en PLC er mulig i forskellige programmeringssprog, der er defineret i IEC 61131-3-standarden. Programmøren kan derfor vælge det programmeringssprog, der passer bedst til det pågældende krav. Her følger en oversigt over de vigtigste PLC-programmeringssprog:

Stigediagram

Programmeringssproget KOP (stigediagram), som har eksisteret siden 1960'erne, er velegnet til at erstatte relænetværk. Det er det ældste af de kendte programmeringssprog, og dets programrepræsentation ligner den for elektriske kredsløb.

Forestil dig en meget enkel applikation, hvor status for en grænseværdiafbryder i en tank og for to trykknapper registreres af et inputmodul. De respektive tilstande er tilgængelige i PLC-programmet ved hjælp af variabler med navnene "Grænseniveau underskredet", "Knap venstre" og "Knap højre". En pumpe styres via relæet i et udgangsmodul; den adresseres i programmet via navnet "PumpOn". Pumpen skal kun aktiveres, hvis der trykkes på begge knapper (begge af sikkerhedsmæssige årsager), og niveauet er faldet under grænsen. Det enkle program i COP-programmeringssproget vises i CODESYS på følgende måde:

Eksempel på program i stigediagram

Eksempel på program i stigediagram

Du kan genkende en struktur, der ligner et kredsløbsdiagram, og som består af kontakter/knapper og relæer. Når programmet er oprettet, overføres det til PLC'en og kontrolleres. Herefter er CODESYS-udviklingsmiljøet ikke længere nødvendigt.

Timere var tilgængelige i KOP på et meget tidligt tidspunkt, hvilket muliggør forsinket tænd/sluk eller aktivering af deres output i et bestemt tidsrum efter aktivering. For eksempel er der en funktionsblok kaldet TON, som kun aktiverer sit udgangssignal, når dens indgang er aktiveret i et minimum af tid. Hvis pumpen f.eks. skal aktiveres, når knapperne er aktiveret i mindst 5 sekunder, skal det lille program ændres på følgende måde:

Modificeret eksempelprogram i stigediagram

Modificeret eksempelprogram i stigediagram

Standardfunktionsblokkene omfatter også RS-flip-flops, tællere, timing-elementer (såsom til- og frakoblingsforsinkelser) og kantdetektering. Matematiske operatorer er også en del af det programmatiske standardudstyr.

Funktionsdiagram

Et meget lignende sprog er det netværksorienterede FBD (funktionsblokdiagram). I dette sprog er det lille program struktureret på følgende måde:

Eksempel på program i funktionsblokdiagram

Eksempel på program i funktionsblokdiagram

Kontinuerligt funktionsdiagram

CFC (continuous function chart) er en videreudvikling af FBD og giver mulighed for fri placering af elementer. Ellers er CFC meget ens med hensyn til visualisering. Programmeringssproget er meget almindeligt, og programmet ser ud som følger i dette sprog:

Eksempel på program i kontinuerligt funktionsdiagram

Eksempel på program i kontinuerligt funktionsdiagram

Instruktionsliste

Et sprog, der bruges relativt sjældent i dag, er instruction list language (IL), som minder meget om programmeringssproget assembler. Hver instruktion i IL er primært baseret på at indlæse værdier i en akkumulator, hvilket gøres ved hjælp af LD-instruktionen. Derefter udføres den tilsvarende operation med den første parameter fra akkumulatoren. Resultatet af denne operation skrives tilbage i akkumulatoren. Det lille program er struktureret i IL på følgende måde:

Eksempel på program i instruktionsliste

Eksempel på program i instruktionsliste

Struktureret tekst

Et andet programmeringssprog er ST-kode (struktureret tekst). ST-kode er et tekstbaseret programmeringssprog, som gør det muligt at løse komplekse kontrolopgaver. Syntaksen ligner programmeringssproget Pascal og gør det muligt at bruge variabler, funktioner, løkker og betingede udsagn. ST-kode er særligt velegnet til programmering af komplekse sekvenser og matematiske beregninger og muliggør struktureret og klar programmering, hvilket gør det lettere at vedligeholde og videreudvikle styringsprogrammer. Der kræves kun to linjer til eksempelprogrammet i ST-kode.

Eksempler på programmer i struktureret tekst

Eksempler på programmer i struktureret tekst

Hvordan kan sekvensstyring realiseres med en PLC?

Sproget Sequential Function Chart er ideelt til at realisere sekvensstyring på fremragende vis. Forestil dig et varmebehandlingsanlæg, hvor det materiale, der skal behandles, føres ind via et transportbånd. De første tre trin er som følger:

  1. Når der trykkes på en startknap, opvarmes et varmelegeme, og næste trin begynder, når den indstillede temperatur er nået...
  2. Døren til behandlingskammeret åbnes, og et transportbånd startes, som fører materialet ind i kammeret. Når materialet er ført helt ind (registreres af en nærhedsafbryder), begynder næste trin...
  3. Døren lukkes, og kammerets temperatur reguleres til en bestemt temperatur. Når en bestemt temperatur er nået i kernen af produktet, slukkes styringen, og døren åbnes. Det næste trin begynder...

I programmer i sekventielt funktionsdiagramsprog er der trin (f.eks. opvarmning og indkøring), som er forbundet med hinanden ved hjælp af skiftebetingelser eller overgange. De første 3 trin (+ grundposition) i det program, der kræves til eksemplet, ser ud som følger i sekventielt funktionsdiagramsprog:

Kædning af sekvenser i sekventielt funktionsdiagram

Kædning af sekvenser i sekventielt funktionsdiagram

Der kan defineres programmer for hvert trin, men de behandles kun, hvis det tilsvarende trin er aktivt. Behandlingen begynder med trinnet "Grundposition", hvor der ikke er defineret noget program, og hvor der derfor ikke sker nogen aktivitet.

For alle andre trin er der defineret separate programmer (f.eks. i stigediagrammet). Hvis der trykkes på startknappen fra startpositionen, aktiveres trinnet "Varmeapparat", og varmegeneratoren aktiveres af det gemte program. Trinnet forbliver aktivt, indtil varmetemperaturen når 200 °C, og trinnet "Indkøring" bliver aktivt. Programmet i trinnet "Tilbagetrækning" implementerer den tilsvarende styring af dørmotoren og båndmotoren.

Yderligere trin med overgange tilføjes i overensstemmelse hermed. Trinnet "Startposition" aktiveres igen med den sidste overgang.

Hvilke andre funktioner har PLC'er?

En af kernefunktionerne i en programmerbar logisk controller er automatisering af processer, hvilket kræver programmering i et af de førnævnte programmeringssprog. Men nutidens PLC'er er automationens allroundere og tilbyder meget mere:

  • Tilvejebringelse af forskellige grænseflader til kommunikation med systemer på højere niveau
  • Gør variabler tilgængelige i Cloud, så systemet kan tilgås fra et hvilket som helst sted ved hjælp af forskellige slutenheder
  • Editor til visualisering af procesbilleder til kundespecifik visning
  • Tilvejebringelse af en webserver, der kan bruges til at visualisere systemet med en browser eller et webpane