Upload
martin-johansen
View
47
Download
0
Embed Size (px)
DESCRIPTION
Introduktion til SFC programmering i GX Works 2 (FXCPU). Dansk tekst.
Citation preview
Automatik Grundforlb
PLC Timere og tllere 27-01-2014 Side 1
PLC SFC-programmering
Baggrund om SFC-programmering SFC Sequential Function Chart er et af de 5 sprog, der defineres i standarden IEC 61131-3. Denne standard bygger
p en ldre standard, IEC 848, som igen bygger p en fransk, national standard for fremstilling af grafiske
diagrammer over produktions- og styresystemer. Denne standard hedder Grafcet, og meget af den gr igen i SFC-
programmering.
Generelt om SFC
Selv om SFC kaldes et programmeringssprog, s er det faktisk ikke et selvstndigt sprog, men et hjlpemiddel til at
lave strukturerede programmer. SFC er specielt velegnet til kontrol af operationer, som krer i en fast sekvens igen
og igen, fx en Pick-and-Place-maskine. En lyskurv er et godt eksempel p et sekventielt system, selv om man
sjldent vil bruge en PLC til at programmere et trafiklys.
Men SFC er meget fleksibelt og kan sagtens bruges p andre programmeringsopgaver. Man kan bruge SFC til at
strukturere programmet p en komplex maskine, der indeholder flere komplicerede delfunktioner. Det kan vre en
maskine, hvor et emne frst skal transporteres ind, s skal det bearbejdes, derefter efterbehandles og til sidst
pakkes. Hver af disse funktioner kan programmeres i selvstndige programmer, der derefter samles i et overordnet
program.
Struktur
Et SFC-program bestr af 3 hovedelementer: Steps, transitioner og aktioner:
Hvert step eller trin er knyttet til en enkelt tilstand i den proces, som skal styres
En transition eller overgangsbetingelse indeholder den eller de betingelser, som skal vre opfyldt, for at
processen kan g fra et step til det nste
Aktioner eller handlinger er knyttet til de enkelte steps og definerer de handlinger i form af outputs eller
instruktioner (fx start af timere eller tllere samt fx regnefunktioner), som skal udfres i de enkelte faser af
processen.
Nr man skal udarbejde et SFC-program, skal man starte med at dele processen op i et funktionsdiagram, hvor de
enkelte dele af processen er opstillet i den rkkeflge, de optrder i. Se eksemplet p nste side.
Et SFC-program skal altid startes med et startstep (ogs kaldet initialiseringstrin). Dette trin tegnes som regel med
dobbelt-streger. Det er her, PLCen begynder at udfre programmet, og det er som regel ogs hertil, at programmet
returnerer, nr hele programsekvensen er udfrt.
Derefter flger en rkke steps. I eksemplet er disse steps markeret med beskrivelser som Fyld tank eller
Omrring. I selve PLC-programmet fr disse steps hvert sit nummer, men kan ogs forsynes med en overskrift.
Hvert step har tilknyttet en eller flere handlinger eller aktioner. Et step kan i virkeligheden ogs udfres som et helt
mini-program, hvor en hel proces gres frdig, inden man skifter til nste step. I de fleste PLC-programmer er det
ogs her, at man skal styre sine timere og tllere.
Mellem de enkelte steps er der indsat overgangsbetingelser eller transitioner, som er markeret med vandrette
streger og en kort beskrivelse af betingelsen.
Automatik Grundforlb
PLC Timere og tllere 27-01-2014 Side 2
En af de strste forskelle p SFC- og almindelig Ladder-
programmering er, at i et SFC-program er det kun den
overgangsbetingelse, som flger efter det aktive trin,
som kan f programmet til at skifte trin. Med andre ord
bliver de andre overgangsbetingelser input fra
trykknapper, flere, timere osv. ignoreret.
Nr en overgangsbetingelse er opfyldt, s skifter
programmet til nste trin og afbryder det forrige. I
simple SFC-programmer er der kun t trin ad gangen,
som m vre aktivt.
Et SFC-program kan godt indeholde forgreninger. Der
kan ogs lgges JUMP-instruktioner ind flere steder,
og man kan eventuelt hoppe til andre SFC-
programmer. Det betyder, at der i praksis godt kan
vre flere aktive trin i et samlet program, men det
krver omhyggelig programmering at undg, at
programmet kommer ud af kurs.
Forklaring p program-eksempel
Programmet i eksemplet ovenfor starter op i Start-trinnet, hvor der ikke er tilknyttet nogen aktioner. Programmet
afventer en start-ordre at en operatr trykker p Start-knappen fr der sker noget.
S snart der er trykket p Start, skiftes der trin til Fyld Tank. Her er der tilknyttet aktionen Pumpe, hvilket i praksis
vil sige, at enten skal der sttes et output, som aktiverer en kontaktor, eller ogs skal der via et output sendes et
signal til en pumpestyring (fx en frekvensomformer).
Dette trin er aktivt, indtil der kommer signal p fleren Tank_fuld. Nr denne fler sender et signal til PLCen, skiftes
til nste trin pumpen stopper og rrevrket gr i gang. Samtidig med rrevrket startes en timer Omrrer.Timer
- som efter 30 sek. skal give signal om at skifte til nste trin.
I det nste trin afbrydes rrevrket, og der bner en ventil, s tanken kan tmmes. Nr tanken er tom, kommer der
signal p fleren Tank_tom, og programmet vender tilbage til Start-steppet.
START
FYLD TANK
OMRRING
TM TANK
PUMPE
RREVRK
VENTIL
Start
Tank_fuld
Tank_Tom
Omrrer.Timer > 30 sek.
Automatik Grundforlb
PLC Timere og tllere 27-01-2014 Side 3
Sdan kommer du i gang Start med at bne et nyt projekt i GX Works. Denne gang skal du vlge SFC, nr du vlger programmeringssprog:
Nu skal du flge godt med! I det nste vindue Block Information Setting - skal du vlge Ladder Block i feltet Block Type. Desuden skal du skrive en overskrift i feltet Title du kan skrive Start eller INIT (forkortelse af Initialisering) eller hvad du nu synes. Hvis du glemmer at vlge Ladder Block, kan du lige s godt starte forfra p et nyt projekt.
Hjreklik p MAIN i navigationsvinduet og vlg Add New Data I det nste vindue New Data skal du bare klikke p OK
Automatik Grundforlb
PLC Timere og tllere 27-01-2014 Side 4
Nu fr du igen vinduet Block Information Setting. Her kommer den frste egentlige programblok, s den kan du kalde Program, Lyskurv, Pick and Place eller hvad du nu synes. Block Type skal denne gang vre en SFC Block. Tryk til sidst p Execute.
Nu skulle du gerne have to programblokke i navigationsvinduet Block 0 og Block 1. Den frste blok skal vre en Ladder-blok. Hvis du har glemt Ladder-blokken, skal du starte forfra. Du kan ikke ndre det senere.
Nu skal du i gang med programmeringen. Start med at vlge Ladder-blokken ved at dobbeltklikke p Block 0. I
Ladder-blokken sker der to ting:
1. PLCen starter automatisk op i Block 0, s der skal ligge en kommando, der dirigerer PLCen videre ind i SFC-
blokken.
2. De input, som du nsker at overvge hele tiden fx ndstop skal ligge i denne blok.
Der kan alts ligge flere ting i Ladder-blokken. Som minimum skal der ligge en kommando, der sender PLCen videre
til SFC-blokken. Det kan gres med et signal fra M8002 som vist p det nste skrmbillede. M8002 giver en enkelt
puls, nr programmet starter derefter er M8002 tavs, indtil programmet starter forfra. I eksemplet giver M8002
en ordre om at sette S1, dvs. den fr programmet til at hoppe til Step 1, som bliver det frste step i SFC-
programmet.
Du kan godt bruge andre kommandoer end M8002, men du skal vre opmrksom p, at hvis du fx bruger signalet
fra en trykknap, s vil programmet hoppe til Step 1, hver gang der bliver trykket p trykknappen.
Automatik Grundforlb
PLC Timere og tllere 27-01-2014 Side 5
Dobbeltklik p Block1. Nu skal du i gang med det egentlige program. Et SFC-program er bygget op af STEPS det
er firkanterne og TRANSITIONS (ogs kaldet overgangsbetingelser) det er de aflange kors mellem firkanterne.
Du kan ikke have to Steps lige efter hinanden, og du kan heller ikke have to transitioner lige efter hinanden.
Strukturen er: Step transition step transition step osv. Hvis dit program skal kre i en lkke, s afsluttes det
med en JUMP-kommando, hvor du fortller, hvilket step programmet skal hoppe tilbage til.
I de enkelte Steps programmerer du dine outputs de handlinger, der skal udfres, fx starte en motor, bne en
ventil, tnde en lampe osv. Imellem dine Steps kommer transitioner overgange hvor du fortller, hvilket signal
der skal f programmet til at hoppe fra t step til det nste.
Som tommelfingerregel glder:
STEP her har du dine output, timere og tllere
TRANSITION her har du dine input fra trykknapper og flere samt fra timere og tllere
I programmeringsomrdet har du to vinduer. I det venstre vindue skal du tegne programmets struktur, i hjre side
programmerer du, hvad der skal ligge i de enkelte steps og transitioner:
I eksemplet til venstre starter programmet i Step 1 og venter p,
at der i Transition 0 kommer et signal om, at programmet skal
hoppe fra Step 1 til Step 10.
Programmet tager sig selv af at nummerere de enkelte steps og
transitioner. Du kan godt ndre p numrene, men du behver
det ikke.
Step nummer 0-9 er reserveret til det frste trin i et step-
program. Derfor har det frste step efter Step 1 fet nummer 10.
Du kan godt have flere step-programmer i det samme program
de skal s ogs have et start-trin med et nummer fra 0 til 9. Du
kan alts maksimalt have 10 step-programmer i samme SFC-
program.
I det viste program er der indsat en JUMP-funktion efter den
sidste transition, hvor programmet hopper tilbage til Step 1. Du
kan godt vlge at lade programmet hoppe til Step 10 eller et andet sted.
Nu skal du i gang med at programmere, hvad der skal se i de enkelt steps og transitioner. Programmeringen foregr
ved at programmere t step og n transition ad gangen. Husk at konvertere (F4) HVER GANG, du er frdig med
et step eller en transition. Hvis du gr fra et step til et andet uden at konvertere, mister du de ndringer, du har
lavet.
Lad os sige, at vi skal lave et program, hvor der sker flgende:
Automatik Grundforlb
PLC Timere og tllere 27-01-2014 Side 6
1. Tnd en lampe.
2. Nr der trykkes p Start, skal Transportbnd 2 starte.
3. Efter 5 sekunder starter Transportbnd 1, og Transportbnd 2 krer stadig.
4. Nr der nu trykkes p Stop, skal begge bnd standse, og vi gr tilbage til trin 1.
I step 1 skal vi bare have tndt en lampe:
I vinduet til venstre markerer du det step, der skal programmeres, klik i vinduet til hjre og skriv den eller de
programlinjer, der er brug for i dette trin. I eksemplet ovenfor sker der det, at nr programmet er i Step 1, s sttes
udgangen Y0.
I transition 0 indstter vi en linje, hvor programmet venter p et signal fra X2, fr det gr videre til nste step:
Marker transitionen i det venstre vindue. Klik i programmeringsvinduet og st den viste linje ind. Linjen afsluttes
med en TRAN-instruktion, som fortller programmet, at nr der er signal p X2, skal programmet hoppe videre.
I nste step skal vi starte Transportbnd 2, dvs. vi skal stte en udgang, som aktiverer en kontaktor fx Y5.
Samtidig skal vi starte en timer, s vi efter 5 sekunder kan g videre:
Nu vil bnd 2 starte og timeren gr i gang. Nr timeren gr ON, skal vi lave en TRAN-instruktion om at g videre:
I Step 11 skal vi srge for, at bde bnd 1 og bnd 2 krer:
Nu er begge bnd startet. Hvis vi nu trykker p Stop, skal begge bnd stoppe, og vi skal hoppe tilbage til frste trin:
Automatik Grundforlb
PLC Timere og tllere 27-01-2014 Side 7
Nr der bliver trykket p Stop-knappen, kommer der signal p X1 og programmet laver en transition til nste
instruktion, som er en JUMP-instruktion, hvor programmet hopper tilbage til Step 1.
Inden du kan overfre programmet til din PLC eller kre en
simulering, skal du vlge Compile Rebuild All for at f
samlet de to programblokke i t program. (I virkeligheden sker
der det, at dit program oversttes til skaldt Step-Ladder, som
er Ladder-program udvidet med step-funktioner. Hvis du
prver at lse dit program tilbage fra PLCen til din PC, vil du
opdage, at det ikke er SFC, men Step-Ladder der kommer p
skrmen).
Hvis du vil kre en monitorering af dit program, s er det en
fordel at vlge funktionen SFC Auto Scroll i Online-menuen.
S vil programmet p skrmen automatisk flge med, nr der
skiftes step i PLCen.
Vr opmrksom p, at kommunikation mellem PC og PLC
samt skrmopdateringen tager tid, og derfor er skrmbilledet
altid lidt bagud i forhold til PLCen.