Programmerbare styresystemer Programmerbare styresystemer Hvad er et programmerbart system? Et programmerbart styresystem er et styresystem, hvor styringsopgaven løses via et program. Tænker vi tilbage på relæstyringer og fastfortrådede logikstyringer, kan vi tale om, at det program, der udføres, er bestemt af en kombination af komponentvalg samt den måde, vi forbinder de enkelte komponenter på. I et programmerbart system vælger vi også de nødvendige logiske komponenter, men i stedet for at forbinde via konventionelle ledere opbygger vi et program, der udgør disse forbindelser. Fordelen er, at hvor vi tidligere skulle have fat i et stykke værktøj for at foretage en programmering, dvs. flytte ledere, kan dette nu klares ved en ændring i programmet. Det, vi i dag forstår ved programmerbare styresystemer, kom på markedet i årene 1972-73. Fig. 1 Et system indplaceret i forhold til andre systemer Begreberne PSC, PLC og PC Generelt Når talen er om programmerbare styringer, kan vi opdele disse i tre kategorier: PSC: Programmerbare sekventielle styresystemer PLC: Programmerbare logiske styringer PC: Programmerbare logiske/aritmetiske styresystemer PSC - programmerbare sekventielle styringer Dette system er udviklet for at tilgodese det behov, der er i forbindelse med deciderede rækkefølgestyringer (sekvensstyringer). En PSC kan altså erstatte de tidligere anvendte elektromekaniske stepcontrollere eller en kæde af elektroniske flip-flops. Styreenheden indeholder normalt en sekvenskæde med et forud fastlagt antal step. Det skal dog bemærkes, at der eksisterer systemer med flere sekvenskæder. For at avancere fra et step til et andet skal processen via føleorganer give en tilbagemelding til styresystemet, der herefter avancerer Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 1 af 18
et step og foretager de programhandlinger, der er defineret i det pågældende step. Denne styreform anvendes i udstrakt grad ved mindre maskinstyringer. Betingelsen er dog, at den styrede proces kan opdeles i en række veldefinerede på hinanden følgende trin. PLC - programmerbare logiske styringer Et PLC-styresystem kan direkte afløse relæ- og fastfortrådede logiske styringer. Et sådant system betegnes ofte som et frit programmerbart system. Dette betyder, at man ikke som for en PSC er bundet af en sekventiel løsning. En PLC opererer med de logiske funktioner AND, OR og NOT - herudover er det muligt at programmere tids- og tællefunktioner samt sekvenskæder. PC - programmerbare logiske/aritmetiske styresystemer Disse systemer kan alt, hvad der er nævnt vedrørende PSC og PLC. Herudover kan de administrere variabler, hvilket er ensbetydende med, at de kan regne og foretage den for en processtyring nødvendige datamanipulation. Et sådant system kan fra processen tilføres analoge signaler samt binær-kodede signaler og kan til processen afgive samme. Programsproget er noget udvidet i forhold til PLC-systemerne, idet der skal være mulighed for f.eks. at opbygge en reguleringssløjfe. Dette er dog fra fabrikantens side gjort så let som muligt, idet der foreligger et færdigt koncept, og programmeringsenheden beder om de nødvendige data i henhold hertil. Opbygning Generelt En programmerbar styreenhed består normalt af følgende bestanddele: Centralenhed Strømforsyning Lagerenhed Indgangsenhed (input-enhed) Udgangsenhed (output-enhed) Hertil kommer en programmeringsenhed, der dog ikke er nødvendig for, at systemet kan fungere. De ovenfor nævnte enheder kan være mere eller mindre sammenbygget, hvilket søges belyst i det efterfølgende. Sammenbygget enhed Ved en sammenbygget enhed skal her forstås en kompakt enhed, der indeholder alle nævnte bestanddele. Det vil normalt være en enhed af begrænset størrelse - ikke alene rent fysisk, men også med hensyn til de mulige opgaver en sådan kan løse. Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 2 af 18
Begrænsningen ligger normalt i tre forhold: Lagerstørrelse Antal indgangsenheder Antal udgangsenheder Programmerbare styresystemer Løs programmeringsenhed Det vil dog ofte være formålstjenligt af have en løs programmeringsenhed. Fordelene, der anføres herfor, er normalt, at der kun skal investeres i en programmeringsenhed, selv om man har flere systemer. Det er ikke muligt at foretage indgreb i styringen uden programmeringsenhed - det er altså en sikring at fjerne den. Større systemer Kendetegnende for større systemer er, at de er delt i hovedbestanddele: Centralenhed og lager Programmeringsenhed I/O-enheder (I/O = input/output) Disse hovedbestanddele kan være opbygget på forskellig vis. Nogle fabrikanter foretrækker 19 rack-systemer, hvor de enkelte enheder er monteret på printkort, medens andre fabrikanter leverer delene monteret i kasser, der kan sammenkobles via kabler. Det skal dog pointeres, at der eksisterer en standard, hvilket er ensbetydende med, at alle dele fra et fabrikat ofte kan tilkobles et andet. Virkemåde Generelt Styringen foregår ved, at styreenheden undersøger en række indgangsbetingelser og sammenligner disse med det handlingsmønster, der er programmeret i lageret. Den vil nu efter et sæt fastlagte regler fremkomme med et bestemt svar på udgangene. Fig. 2 Styreenheden tilkobles den industrielle proces. Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 3 af 18
Indgangssignalerne kan omfatte: Betjeningskontakter Grænseværdimeldere Endestop Fotoceller Tryk- og temperaturfølere Udgangssignalerne kan sendes til: Relæspoler Magnetventiler Indikations lamper Programmerbare styresystemer For at forstå styreenhedens virkemåde er det nødvendigt at beskæftige sig med følgende to enheder: Centralenhed Lager (hukommelse) Centralenhed I centralenheden findes et såkaldt operativsystem, der administrerer og muliggør alle styreenhedens funktioner som f.eks.: Aflæsning af indgange Aktivering af udgange Operativsystemet styrer data til og fra hukommelsen, sørger for udlæsning af de i lageret indkodede instruktioner samt disses eksekvering. Operativsystemet er et fast program, der er indkodet fra leverandørens side. En cyklus består af den tid, det tager at gennemløbe operativsystem samt styreprogram. Sagt med andre ord: I en programmerbar styreenhed er der ikke som ved relæ eller fast fortrådede logiske styringer en konstant overvågning, men derimod en punktvis overvågning. Hvorledes programmet gennemløbes anskueliggøres i fig. 3. Fig. 3 Styringsopgave Inddata Signal fra en temperaturføler, f.eks. 24 V, når temperaturen er nået 0 V, når den ikke er nået Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 4 af 18
Signal fra pressostat, f.eks. 24 V når trykket er opnået 0 V når det ikke er nået Behandling Logisk kommunikation: når temperaturen er nået (24 V), og trykket er nået (24 V), skal en magnetventil aktiveres. Uddata: Signal til en magnetventil 24 V når denne skal aktiveres 0 V når den ikke skal aktiveres Fig. 4 Princip for løsning af en styringsopgave med en computer At der kun foretages en punktvis overvågning vil i langt de fleste tilfælde være tilstrækkeligt, når blot tiden er hurtig nok. Den vil normalt være så kort, at det fra det styrede anlægs side vil opfattes som en kontinuerlig styring og overvågning. Lager Som tidligere nævnt er det nødvendigt at have en erstatning for de tidligere ledningsforbindelser. Denne erstatning udgøres af et lager, hukommelse, hvori de enkelte logiske elementer sammenkædes til en enhed. Vil man som bruger på en bekvem måde være i stand til både at skrive og læse i hukommelsen, skal systemet være forsynet med RAM-hukommelse. Som det fremgår af nedenstående tabel, er denne hukommelsestype flygtig, hvilket vil sige, at de indkodede informationer forsvinder ved evt. spændingssvigt. Hukommelsestyper Slette Program Hukommelsesindhold, hvis spænding fjernes RAM Random Access Memory Elektrisk Elektrisk Flygtig Read-Write Memory ROM Read Only Memory Ikke muligt Med maske Ikke flygtig PROM Programable ROM Elektrisk EPROM RPROM EEROM EAROM Erasable ROM Reprogramable ROM Electrically Eras. Rom Electric. Alterable. Rom Med UV-lys Elektrisk Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 5 af 18
Spændingssvigt er der taget højde for, idet en RAM-hukommelse vil være forsynet med et batteri (battery back up), således at informationerne ikke slettes. Et sådant batteri har i dag ca. 3 års levetid. Ønsker man ikke denne batteriforsyning, kan RAM-hukommelsen udskiftes med en EPROM-hukommelse. Det er nu muligt at læse i lageret, men ønsker man at foretage ændringer, skal alt i hukommelsen slettes, og der skal foretages en ny programmering. Langt de fleste PLC- og computerfabrikater kan i dag kopiere RAM til EPROM, hvilket betyder, at man kan programudvikle i RAM. Når programmet fungerer tilfredsstillende, kopieres til EPROM. Hukommelsens virkemåde Hukommelsen kan betragtes som et reolsystem, hvor der på hver hylde kan opbevares et antal bit (1 eller 0). Disse udgør tilsammen en instruktion og et elementnr., dvs. nummeret på en bestemt indgang eller udgang. Det, der er mest interessant i denne forbindelse, er antallet af hylder. Fig. 5 Hukommelse Dette tal kan ligge fra ca. 250 og op til flere tusinde, afhængig af fabrikatet og systemets størrelse. Selv om hylderne for de fleste fabrikaters vedkommende er nummereret i decimalsystemet, vil systemet udpege disse binært. Dette betyder, at antallet af hylder plejer at være 10 hele potenser af 2, som f.eks. 2 10 = 1024. Denne størrelse betegnes som K (kilo). Det skal bemærkes, at der eksisterer systemer, hvor hylderne er angivet i oktal- eller hexidecimal-talsystem. Har et system f.eks. 477 8 hyldepladser i oktal-systemet svarer dette til 4 8 2 + 7 8 1 + 7 8 0 = 319 Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 6 af 18
Den tidligere omtalte sekvenstid må nødvendigvis være afhængig af hukommelsens størrelse, idet hvert programstep tager en bestemt tid, ca. 11 sek. Analog/digital omsætter (A/D converter) I procesteknikken anvendes overvejende analoge signaler. Skal disse signaler (f.eks. tryk, temperatur, elektrisk spænding) bearbejdes, er det nødvendigt, at de digitaliseres. Dette gøres i en A/D converter. Efter forarbejdningen bliver resultatet igen omsat - denne gang fra digitalt til analogt signal. Det finder sted i D/A converteren. Fig. 6 Analog/digital Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 7 af 18
PLC-programmeringsenhed Programmerbare styresystemer Anvendelse For at kunne indkode et program er det nødvendigt at have den pågældende fabrikats programmeringsenhed. Det skal her understreges, at en programmeringsenhed fra et fabrikat ikke kan anvendes til et andet. Via tastaturet kan vi indkode informationer på de hyldepladser, vi udpeger. Vi kan aflæse allerede indkodede informationer samt foretage eventuelle ønskede rettelser. Programmeringsenhedens organisering Alment Programmeringsenheden er normal forsynet med følgende enheder: a) Display til indikering af 1. Adressenummer 2. Elementnummer 3. Tids- og tællekonstanter 4. Øjebliksværdier for tids- og tællefunktioner b) Taltastatur, der bruges til 1. Adressenummer 2. Elementnummer 3. Tids- og tællekonstanter c) Instruktionstastatur, der bruges til 1. Logiske instruktioner, AND, OR og NOT - tids- og tælleinstruktioner 2. Blokinstruktioner 3. Output-instruktioner 4. Interne hjælperelæer 5. Ingen operation 6. Slutinstruktion d) Operationstaster, der bruges til step i hukommelsen 1. Skrive og slette i hukommelsen - nulstille programmeringsenhed Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 8 af 18
Display Displayenheden kan være opbygget på to forskellige måder: Fig. 7a Separate display Fig. 7b Display Forskellen er, at der i fig. 7a opereres med separat display for henholdsvis elementnummer og adressenummer. I det display, der er vist i fig. 7b, vises kun et tal, der enten er adresse- eller elementnummer, hvilket f.eks. indikeres af den venstre runde diode. Om der skal vises det ene eller det andet, vælges via operationstasterne. Fig. 8 Funktionstaste Taltastaturet Der er ikke så meget at sige vedrørende taltastaturet, idet det ligner tastaturet på en normal regnemaskine med tallene 0 til 9. Det skal allerede her bemærkes, at nogle PLC-fabrikater har en blanding af instruktionstastatur og taltastatur. Funktionen af tasten er da den, at første gang, tasten aktiveres, er det den logiske operation AND, næste gang tasten aktiveres, er det tallet 7. Programmeringsenhed, betjening Alment Det skal påpeges, at uden en programmeringsenhed, der normalt er fabrikatorienteret, er det umuligt - eller i alle tilfælde meget besværligt - at ændre på eksisterende programmer. Det er derfor af vital betydning, at operatøren kender alle de muligheder, der findes på programmeringsenheden. Det vil her føre for vidt at komme ud i samtlige afkroge af samtlige fabrikater, hvorfor vi i det følgende vil beskæftige os med de generelle ting, vel vidende at selv disse optræder forskelligt fra fabrikat til fabrikat. Indkodning og læsning Betingelsen for at opdatere hukommelsen med de instruktioner og elementer, vi ønsker, er, at disse først sættes op i programmeringsenheden og derefter flyttes over i hukommelsen. Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 9 af 18
Fig. 9 Eksempel på tasterækkefølge i et simpelt kredsløb Eksempel: IZUMI Adresse Instruktion Elementnr. 000 LD a WRITE 001 AND b WRITE 002 OUT x WRITE 003 END WRITE For de fleste fabrikater vil man få en diodeindikering for instruktionen samt en cifferindikering for elementnummeret. Fejlsøgning via programmeringsenheden Programmeringsenheden kan i vid udstrækning anvendes i forbindelse med fejlsøgning, idet denne enhed normalt er forsynet med en diode, der indikerer om: 1. En kontakt er aktiveret 2. En udgang er aktiveret 3. En intern hjælperelæfunktion er aktiveret Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 10 af 18
Dokumentationsformer Programmerbare styresystemer Logiske begreber, repetition Da vi i forbindelse med PLC-systemer anvender de logiske funktioner AND, OR og NOT, vil vi her kort repetere disse. Fig. 10 Funktioner Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 11 af 18
Logik omsat til ladderdiagram Alment Der er ikke noget i vejen for, at vi kan dokumentere et PLC-system ud fra f.eks. nøgleskema, logiske symboler eller Boolske ligninger. Ønsker vi imidlertid at printe et program eller vise dette på en skærmterminal, er det mere praktisk at anvende tegn, der i forvejen eksisterer på terminalen eller printeren. Af ovennævnte årsag vil vi derfor beskæftige os med den diagramform, der kaldes et ladderdiagram. Ladderdiagram I det følgende skal belyses omsætningen fra logiske funktioner til ladderdiagram. Fig. 11 Diagrammer Fig. 12 Rutediagram Med udgangspunkt i et rutediagram kan vi meget let realisere en sekvensstyring, idet betingelsen for at udføre en handling er, at der foran handlingen er et inputsignal, som skal være sandt. Er dette ikke tilfældet, dvs. at vores signal er falsk, lader vi dette falske signal generere en sløjfe tilbage i programmet. Programlisten består af: Nummeret på lageradresserne Instruktioner Elementnummer For en AND-funktion kan programlisten få følgende udseende: Adresse Instruktion Elementnr. 000 LD 000 001 AND 001 002 OUT 030 003 END Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 12 af 18
Et program til et kredsløb, kan få følgende udseende: Adresse Instruktion Elementnr. 000 LDI a 001 AND b 002 LDI c 003 ANI d 004 ORB 005 OUT x 006 END Fig. 13 Logiksymbol PLC-tid og tællefunktion Tidsfunktioner Ud over rent logiske funktioner har man i mange styresystemer ofte brug for tidsforsinkelser af forskellig størrelse. De fleste PLC-systemer er til dette brug udrustet med specielle tidskredse (timere), som kan programmeres til den ønskede værdi. Tidsfunktioner kan i funktionsmæssig henseende direkte sammenlignes med relæteknikkens indstillelige tidsrelæer. En tidsfunktion vises ofte i form af logiksymbolet i fig. 13. Tidsfunktionen startes med et signal på indgangen TI, og når den indstillede tid er udløbet, fås et signal på udgangen T. Funktionen kan illustreres i dette tidsdiagram: Fig. 14 Tidsdiagram Af tidsdiagrammet fremgår, at udgangen T aktiveres (højt niveau), når TI har været aktiveret i hele den indstillede tid. Udgangen forbliver herefter aktiveret, indtil indgangen nulstilles. Den næste tidsforsinkelse opnås, når indgangen atter aktiveres. Hvis indgangen går på nul, inden den indstillede tid er forløbet, starter tidsfunktionen forfra, og udgangen forbliver på nul. Den måde, hvorpå tidsfunktioner indstilles, varierer for de forskellige PLC-systemer. I visse systemer realiseres tidsfunktionerne i særskilte elektronikmoduler, hvor tiderne indstilles separat på omskiftere eller potentiometre. De fleste PLC-systemer udnytter programmerbare tidsfunktioner, der styres af den interne tidsbase (Clock). Tidsforsinkelsen indstilles da med særskilte programinstruktioner under selve programmeringen. Under programmering kan en tidsfunktion betragtes som et fritstående modul med fast indstillet tidsforsinkelse. Tidsfunktionens status anvendes som en betingelse i styreprogrammet. Såvel tidsfunktionens indgang TI som udgang T erstatter da indgangs- og ud- Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 13 af 18
gangsadresserne i de symbolske instruktioner. Tidsfunktionens indgange aktiveres som udgange, og deres udgange anvendes som indgange. Fig. 16 Eksempel på ladderdiagram Fig. 15 Eksempel med logiksymboler I/O -adresserne 010 og 011 er tilsluttet endestop med sluttefunktion, og 012 er tilsluttet endestop med brydefunktion. Funktionen i logikskemaet kan sammenfattes i to satser: Hvis endestop 010 påvirkes, startes tidsfunktionen TS, dersom TS er løbet ud OG endestop 011 påvirkes ELLER-IKKE endestop 012, så aktiveres udgang 210. Tidsforsinkelsen er angivet som 10 sek., men der kan vælges mellem 0,1 sek. og flere timer. Tællefunktion Denne funktion anvendes i styringer, hvor det er impulserne, der bliver talt (f.eks. fra en mikrokontakt). Antallet af tællefunktioner er forskelligt, afhængig af type og fabrikat. Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 14 af 18
TABEL OVER INSTRUKTIONER TIL FABR. MITSUBISHI Instruktion Mærke Udtale Betydning Kontaktinstruktion LD Load Start en sluttekontakt eller et afsnits fælles forbindelse LDI Load inverse Start en brydekontakt eller et afsnits fælles forbindelse AND And Serieforbind en sluttekontakt ANI And inverse Serieforbind en brydekontakt OR Or Parallelforbind en sluttekontakt ORI Or inverse Parallelforbind en brydekontakt Output-instruktion OUT Out Instruktion til output, interne hjælperelæer, timere og tællere Forbindelsesinstruktion RST Reset Nulstilling af tæller og skifteregistre PLS Pulse Impuls output på interne hjælperelæer SFT Shift Skift på skifteregistre ORB Or block Parallelforbindelse af 3 kredsløb (ingen elementnr.) ANB And block Serieforbindelse af delkredsløb (ingen elementnr.) Specialinstruktion NOP Nop Ingen operation (ingen elementnr.) END End Slut på program (ingen elementnr.) Brydekontakt = logisk 0 Sluttekontakt = logisk 1 Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 15 af 18
Eksempler på programmering af Mitsubishi PLC Fig. 17 Programmering af et kredsløb med flere kontakter i serie Fig. 18 Eksempel på dårlig kredsløbsopbygning (instruktionen ORB er unødvendig, se ovenfor) Fig. 19 Programmering af et kredsløb med kontakter i parallelt Fig. 20 Eksempel på dårlig kredsløbsopbygning (instruktionen ANB er unødvendig, se ovenfor) Ordreord til fabrikat Mecman PC 30 L s ordreord består af 9 basis ordreord og 1 hjælpeord. Kombinationen af disse 10 ordreord giver mulighed for at kontrollere et stort antal sekvenser ved hjælp af enkle tasteoperationer. Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 16 af 18
Ordre-ordliste SYMBOL NAVN FUNKTION LOD Load Logisk startoperation. Lagrer midlertidigt resultatet før denne ordre. Aflæser ordren herefter. AND And Logisk AND-operation. Serieforbinder resultatet før denne ordre med den efterfølgende ordre. OR Or Logisk OR-operation. Parallelforbinder resultatet før denne ordre med en efterfølgende ordre. OUT Out Output ANP And point Logisk AND-operation med det lagrede mellemliggende resultat. Serieforbinder resultatet før denne ordre med de midlertidigt lagrede forhold. ORP Or point Logisk OR-operation med det midlertidigt lagrede resultat. Parallelforbinder. Resultatet før denne ordre med de midlertidigt lagrede forhold. TIM Timer Indkoblingsforsinket timer. Sætter tiden i gang, når resultatet før denne ordre giver signal - og giver udgang, når den fastsatte tid er nået. CNT Counter Sumtæller. Indeholder 2 indgangsterminaler, reset - og impulsindgang. Tæller ledende impulssignaler, mens resetindgangen er afbrudt, og giver udgang, når den fastsatte værdi er nået. END End Slut på programmet. Anvendes ved slutningen af et program. Overfører resultaterne, bearbejdet i en scanning, til output og aflæser og lagrer eksterne kontrolsignaler med henblik på næste scanning. NOT Not Logisk NOT (inversion) operation. Anvendes som hjælpeordre for LOD-, AND- og OR-ordrer. Inverterer den aflæste I/O- status under drift. Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 17 af 18
Eksempler på programmering af Mecman PLC Fig. 21 Serie- og parallelforbindelser Fig. 22 Holdekredsløb Fig. 23 Kombination af udgange Maskinsnedkerfagets efteruddannelseskompendie - Programmerbare styresystemer, side 18 af 18