Ladderprogrammering steg för steg - iea.lth.se steg för... · Ladderprogrammering steg för steg…

  • Published on
    13-Sep-2018

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • 1

    Ladderprogrammering steg fr steg En introduktion till LD-programmering fr kursen

    EIEF35 Elektroteknikens Grunder vid LTH. Gunnar Lindstedt

    Introduktion Den dominerande typen av styrsystem fr binra logiska signaler i industrin r de s kallade PLC-systemen. Ngra exempel p PLC:er visas i Figur 1. PLC str fr Programmable Logic Controller. Nstan alla programmeringssprken fr dessa styrsystem skiljer sig en hel del frn traditionella sekventiella sprk som java eller sprket C. De senaste decennierna har det funnits en IEC-standard fr PLC-programmeringssprk. Denna heter IEC 61131-3 och innehller fem sprk eller om man s vill fyra sprk och ett strukturverktyg. Sprken r:

    Instruction list (IL), Ladder (LD), Function block diagram (FBD), Structured text (ST) och Sequential function chart (SFC)

    Av dessa r det SFC som ibland betraktas som ett struktureringsverktyg mer n ett sprk eftersom det kan forma en struktur som inrymmer kod frn ngot av de andra sprken. Avsikten med detta dokument r att ge en introduktion fr att skriva ladder-kod.

    Figur 1 Olika typer av PLC-system

  • 2

    PLC-systemet

    PLC:er finns av mnga olika typer. Vissa har ett fast antal ingngar och utgngar, I/O, ssom den vnstra i Figur 1 medan andra konfigureras med moduler fr sitt I/O och kan d skrddarsys fr en viss applikation. En vanlig egenskap r att de kan monteras p den typen av stlskena, DIN-skena, som ofta anvnds fr automationsutrustning.

    Den centrala delen av en PLC r en datorenhet/mikroprocessor/CPU, minne och strmfrsrjning. Minnet kan ofta vara av icke spnningsflyktig typ dvs programmet ligger kvar efter strmavbrott. Till den centrala datorenheten r in och utgngarna kopplade.

    Eftersom applikationsprogrammet normalt r skrivet i ett sprk ur IEC61131-3 s r datorenhetens uppgift att utfra detta program. Oftast utvecklas programmet p en persondator och verfrs till PLC:n via ett ntverk (ex: Ethernet, fltbuss) eller ngon annan kommunikationslnk (ex:RS232, USB). Nr applikationsprogrammet vl skall kras s sker detta i cykler. En cykel bestr av:

    inlsning av alla insignaler, utvrdering av alla logiska samband enligt applikationsprogrammet samt uppdatering av alla utgngar enligt resultatet.

    Att detta sker i cykler beror p att mnga av sprken (exempelvis LD) r parallella till sin natur. Det finns allts ingen sekvens i programmet utan allt utvrderas samtidigt. Cykeltiderna kan variera mycket mellan olika system men ligger ofta i trakten av 10 ms.

    Reler och kontaktorer

    Bakgrunden till ladderprogrammering r egentligen relteknik och det ger oss anledning att studera detta. Ett rel bestr av en elektromagnet som pverkar en eller flera strmbrytare/switchar. Nr det gr strm genom elektomagnetens spole pverkas strmbrytarna. En normalt ppen strmbrytare (NO:normally open) sluts d det gr strm genom spolen medan en normalt sluten strmbrytare (NC:normally closed) ppnas. Det r inte ovanligt att praktiska reler har vxlande kontakter s att det fr samma gemensamma anslutning finns en anslutning man kan anvnda fr NO- och en annan fr att f NC-funktion. I Figur 2 visas ett rel och i Figur 3 illustreras den principiella funktionen.

    Figur 2 Rel med fyra vxlande kontaktfunktioner

  • 3

    Figur 3 Relets grundfunktion med en slutande (NO) och en brytande (NC) kontakter. Observera att man normalt alltid ritar en krets i vilolget dvs som den vnstra figuren.

    I elkraftsammanhang anvnds ofta termen kontaktor istllet fr rel. Till sin funktion r en kontaktor egentligen samma sak som ett rel men kontaktorn r avsedd fr strre strmmar och effekter. Sledes anvnds i svagstrms och automationssammanhang oftast termen rel.

    Booelska funktioner och Sjlvhllning

    Om vi antar att vi har en last, L, som skall kopplas till en spnning via switchar s kan man exempelvis koppla via switcharna A och B som visas i Figur 4. Det r d ganska uppenbart att bde A och B mste vara slutna fr att lasten skall vara inkopplad. Detta r allts en logisk OCH-funktion dvs L= AB.

    Figur 4 Booelskt OCH med switcharna A och B.

  • 4

    Det senare sttet att rita anvnds ofta fr att ge en versiktlig bild och r det stt vi nu kommer att anvnda. Tanken r att man har en skena med den positiva matningsspnningen till vnster och en med den negativa, eller jord, till hger. Mellan dessa kopplar man strmbrytare och last.

    P motsvarande stt kan man koppla en ELLER-funktion enligt Figur 5 dr L2=C+D. Hr visas ocks vad anvndningen av en NC-switch fr fr betydelse. Detta blir allts invers funktion eftersom en sdan switch r sluten nr den r opverkad och ppen nr den r pverkad.

    Figur 5 Booelskt ELLER och anvndning av invers (NOT) dvs NC-switch.

    Antag nu att vi har en maskin med en startknapp och en stoppknapp. Startknappen r en NO-switch medan stoppknappen r en NC-switch. Man vill anvnda ett rel (en kontaktor) fr att styra maskinen s att nr relet r spnningssatt (aktiverat) s gr maskinen och nr det r i vilolge s str maskinen stilla. Relet har ett antal NO-switchar fr att sluta och bryta kraften till maskinens motor, men ocks ngon NO-switch som r tillgnglig fr den logiska kopplingen. Vi har ju tidigare sett att ett rel kan ha flera switchar som manvreras synkront. (Jmfr Figur 4.)

    Nr man har en relspole och flera switchar fr dessa samtliga samma logiska beteckning och man symboliserar den logiska kopplingen p det viset. Vi anvnder hr M fr maskinrelets delar. Man kopplar nu start och stoppknapp tillsammans med relet enligt Figur 6.

    Figur 6 Start/stopp-logik kring en rel-/kontaktor-styrd maskin.

  • 5

    Vad figur 6 visar r det man kallar sjlvhllning dvs relet M ser genom en egen strmbrytare till att det behller sin matningsspnning. Om man trycker p START s blir relet M aktivt. Drefter kan man slppa START fr nu sjlvhller relet sig genom sin kontakt. Om man trycker p STOPP bryts kretsen och sjlvhllningen upphr.

    Innan vi gr vidare skall vi dock frenkla sttet vi ritar kretsarna p enligt Figur 7.

    Figur 7 Frenklat stt att rita relschema/LD-program.

    Tillstndsgraf implementerad med rellogik

    En eftertanke kring automaten i Figur 6 ger att det vi faktiskt implementerade hr var en form av Set/Reset-krets SR-krets dvs ett minne. Lt oss fundera vidare kring hur detta minne kan anvndas i implementation av tillstndsautomater. Fr att kunna hantera tillstndsrepresentationen p ett enkelt stt s lter vi en aktiverad relspole (kallas ibland draget rel) symbolisera ett tillstnd dvs vi fr lika mnga relspolar som tillstnd i vr graf. En vergng till och frn ett tillstnd kan d bli som visas i Figur 8.

    Figur 8 Implementation (kodning) av tillstndet B

  • 6

    Detta stt r inte sjlvklart men lt oss analysera delarna och jmfra med kretsen i Figur 6. Att relet har sjlvhllning genom den undre grenen (B-switchen) har vi tidigare diskuterat s detta r ju en del av frutsttningen fr att det skall finnas ngon minnesfunktion. Dr vi tidigare hade start-knappen finns nu en AND-konstruktion med A och x som operander. Detta r ocks logiskt eftersom det innebr att frutsttningen fr att g in i tillstndet B r att man r i A och villkoret x blir sant.

    Det som dremot kan verka konstigt r att villkoret fr att lmna B r C och inte villkoret Y. Det som ligger bakom r dock en ndvndig skerhetsfunktion. Villkoret fr att aktivera C r ju i analogi med det tidigare att vi r i B och y blir sann. Om vi d lt y pverka lmnandet av B direkt finns en risk att vi lmnar B innan C hunnit aktiveras. C kommer d aldrig att kunna bli sann eftersom vergngsvillkoret krver B och y. Vi undviker denna kapplpning genom att lmna B frst d vi kommit till C och p s stt fr vi en sker verlmning av stafettpinnen.

    Detta tillvgagngsstt r ett grundrecept som gr det mjligt att g frn en tillstndsgraf till ett LD-program. I mnga praktiska fall kan man fundera ver genvgar och frenklingar. Hr mste man dock vara frsiktig. Denna typ av smarta lsningar har ofta ngon lucka och visar sig inte fungera i alla tnkbara fall. Det finns ganska lite att vinna p frenklingar eftersom det ofta bara handlar om enskilda interna bitvariabler i PLC:n s en varm rekommendation r att flja grundreceptet.

    Alternativa tillstndsvergngar

    Mnga tillstndsgrafer har alternativa vergngar mellan tillstnden. Detta kan ltt hanteras genom ett tillgg i grundreceptet enligt Figur 9.

    Figur 9 Alternativa vergngar

  • 7

    Ingngsvillkoren i C och D blir som vanligt men nu mste man lmna B bde i fallet att man kommit till C och till D. Drav de dubbla NC-switcharna i serie. Ett varningens tecken kan dock hr vara p sin plats. Se till att villkoren y och z i alla fall r msesidigt uteslutande dvs det finns ingen risk att bda blir sanna samtidigt. Om s skulle bli fallet kommer vi ju att vara i flera tillstnd samtidigt och d faller vr implementation.

    P samma stt som man kan dela upp i alternativa vgar kan ocks vgar sammanstrla igen. I Figur 10 visas hur detta implementeras med alternativa ingngsvillkor.

    Figur 10 Alternativa vergngar

    Dummy-tillstnd behvs

    Det finns dock en svaghet hos detta stt att implementera tillstndsautomater. Grafen i Figur 11 hade inte varit ngot problem att implementera med exempelvis D-vippor och grindar i digitaltekniken. Hr blir dock resultatet inte rtt om man fljer grundreceptet.

    Vi ser att B kommer i serie med sin invers i versta grenen och A med sin invers i den andra grenen. Detta kan inte fungera! Anledningen till att det blivit s r den skra verlmningen att man inte lmnar ett tillstnd frrn man kommit till nsta. Det gr dock inte att undvika detta utan lsningen r att man s fort det finns vergngar fram och tillbaka mellan tv tillstnd s infr man ett dummy-tillstnd dr PLC:n kommer att befinna sig ett mycket kort gonblick. Detta lser problemet enligt Figur 12.

  • 8

    Figur 11 Fungerar INTE i ladder-kod!!!

    Figur 12 Lsning av dubbelpilsproblemet med ett dummy-tillstnd, D.

  • 9

    Att starta upp automaten

    Mnga PLC-system har en speciell funktion som heter init eller first pass. Syftet med denna funktion, som ofta i LD utgrs av en frdefinierad switch, r att kunna initialisera automater. Alla relspolar r vid start i vilolget men genom att koppla in denna init-switch kan man se till att i exempelvis vra automater man startar i ett visst tillstnd. Om vi i fregende exempel vill starta i tillstnd A kommer graf och kod att se ut enligt Figur 13.

    Figur 13 Start av automaten sker i tillstnd A.

    Om ingen frdefinierad init-funktion finns kan man gra en egen enligt Figur 14. Denna fungerar s att eftersom POSTINIT r falsk vid uppstart kommer vid frsta cykeln INIT att bli sann. Nr INIT blir sann kommer POSTINIT under nsta cykel att bli sann. POSTINIT frblir sann fr alltid eftersom den har en sjlvhllning som inte kan brytas. S fort POSTINIT blivit sann blir ju INIT falsk och kommer d fljaktligen att frbli falsk.

    Figur 14 Egentillverkad INIT-signal.

  • 10

    Utgngar/utsignaler

    ven om principen fr LD-programmering bygger helt p reler s r det naturligtvis inte frga om fysiska reler i en PLC utan ett program som emulerar relfunktion och uppdaterar de simulerade relernas status varje cykel. Dock har vi ju faktiska ingngar och utgngar dvs de signaler som ligger p PLC:ns anslutningsplintar. I programmet gr man ingen skillnad p dessa och p de enbart simulerade signalerna men vid konfigureringen specificerar men vilka signaler som har en fysisk koppling och s att sga blir en riktig relsignal.

    Ofta uppkommer frgan om man vid ladderprogrammering skall anvnda tillstnd som utgngar. Ta exempelvis om man i ett visst tillstnd skall kra en motor d skall anvnda den fysiskt kopplade signalen som tillstnd och tillstndet sledes fr samma namn som styrsignalen. Detta gr alldeles utmrkt i mindre system men generellt kan man nog sga att det r mindre lmpligt. En ngot ndrad logik kring motorn kan leda till att man behver kra motorn i flera tillstnd och d fungerar inte lsningen lngre utan behver rivas upp. Vidare r det viktigt att komma ihg att sparsamheten i dubbelanvndningen inskrnker sig till att spara en bit i PLC:ns minne vilket ofta r helt betydelselst.

Recommended

View more >