FX3 - Kom i Gang Med SFC

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.