net-29.qxd 08-11-01 11:24 Page 1 Eksempel på styring af halvautomatisk anlæg Et halvautomatisk anlæg, som består af et elektrisk reversibelt transportbånd, en pneumatisk låsemekanisme og to pneumatiske boremaskiner, skal styres af et PLC-system. Endvidere er der en styretavle til anlægget, som indbefatter et start- og stoptryk, til henholdsvis start af anlæg og til driftstop. Der er endvidere tre signallamper, som henholdsvis fortæller, at anlægget er i drift, samt hvilken af de to boremaskiner der er i drift i øjeblikket. Funktionen af anlægget er skitseret på tegningen. Et emne placeres ved føler 1, F1. Et tryk på start bringer emnet fra position A til position B. Føler 2, F2, registrerer, når emnet er nået til position B. Herefter går C1 plus og spænder emnet fast, og dette forbliver fastspændt. Herefter begynder C2 at gå frem med boremaskinen. Når hullet er halvt boret, hvilket registreres af føler 4, F4, går C1 minus igen for at udspåne hullet. Når boret er helt ude, hvilket registreres af føler 3, F3, begynder C1 at gå plus igen og fortsætter nu til hullet er fuldt boret, hvilket registreres af føler 5, F5. Herefter går C2 minus, og når C2 er minus, hvilket registreres af føler 3, F3, begynder C3 at gå plus og borer hullet til sin fulde dybde, hvilket registreres af føler 7, F7. Herefter går C3 minus og når til føler 6, F6, hvilket sender C1 minus, og samtidig begynder båndmotoren at flytte emnet tilbage til position A. Når emnet når til føler 1, F1, standser båndet, og processen er nu færdig. Når emnet fjernes, og et nyt påsættes båndet, kan en ny proces begynde. Som det fremgår af sekvensdiagrammet, består hele cyklusen af Motor F1 Pos A I drift Bor 1 Bor 2 Start Stop Funktion af anlægget Pos B F2 C1 PUR 0 F1 * Start * Trin 1-10 1 Idriftlampe ind Bånd frem Trin 1-10 ind F2 2 Bånd stop C1+ C2+ F4 3 C2- Bor 1 ind F3 4 F5 5 F3 6 C2+ C2- C3+ Bor1ud Bor 2 ind F7 7 F6 8 C3- C1- Bånd Tilbage Bor 2 ud F1 9 F1 10 Bånd stop Idriftlampe ud Trin 1-10 ud Sekvensdiagram for styringen Sekvensdiagrammet er lavet efter IEC-848. F5 F4 F3 F7 F6 C2 bor 1 C3 bor 2 1
net-29.qxd 08-11-01 11:24 Page 2 10 trin. Disse trin skal nu programmeres, så de kan anvendes til et PLC-system. For en helheds skyld vises programmet i fire forskellige udgaver. Siemens S7 kan anvende både ladderdiagram og anvisningsliste. Siemens S5 kan programmeres i logikskema. Cotas CT1500 kan anvende boolsk algebra. Sekvensdiagrammet er entydigt for så vidt angår anlægsfunktionen. Den egentlige PLC-programmering er dels afhængig af valgt PLC-system og dels af den pågældende programmør. Efterfølgende er vist forfatterens måde, at programmere på, men denne måde vil ikke på noget tidspunkt blive krævet at være den eneste rigtige. Der kan sagtens være andre lige så rigtige måder at løse den samme opgave på. Da et PLC-system er fabrikantfremstillet, kan denne fabrikant jo logisk vis ikke vide, hvad programmøren og maskinkonstruktøren agter at kalde sine følere, betjeningsorganer, cylindre, ventiler, motorer, signallamper og lignende ting. Det er derfor normalt, at man starter en PLC-programmering med at definere navne på henholdsvis ind- og udgange, timere, tællere, hjælperelæer m.m. De fleste PLC-systemer kan dog programmeres med deres egne medfødte navne, men det er normalt uhensigtsmæssigt ved et større program, da men hele tiden skal anvende systemets medfødte navne og numre, og relatere dem til maskinens logiske navne. Typisk hedder de medfødte navne for indgange I1.0, I1.2, I1.3 osv. Udgangene hedder typisk enten Y eller Q til fornavn, og er behæftet med et nummer som f.eks. Y1.0, Y1.1, Y1.3 eller Q3.0, Q3.1, Q3.2 osv. Når maskinens forskellige ind- og udgange forbindes til PLC-systemet, skal man selvfølgelig vide, hvilke de forskellige signaler bliver forbundet til. Før man begynder en programmering, udarbejder man derfor én gang for alle en tabel eller en symbolliste, som den også kaldes, som forbinder maskinens logiske navne med en ind- eller udgang i PLC'en. 2
net-29.qxd 08-11-01 11:24 Page 3 Programmeringsformen fra de to PLC-systemer er vist nedenstående i følgende række: Siemens S7 ladderdiagram Siemens S7 anvisningsliste Cotas CT1500 boolsk algebra Som det vil fremgå af de tre programmer, er det præcis den samme maskine, der programmeres, og med den samme opgave. De to Siemens-eksempler er selvfølgelig fuldkommen identiske, da det er softwaren, som oversætter mellem ladderdiagram og anvisning. Cotas CT1500 systemet har en væsentlig anden struktur i sin programmeringsform, men det er samme opgave, der er løst her. Begge fabrikater indleder med en symbolliste, hvor alle PLC-navne knyttes til et logisk maskinelementnavn. Man kan i begge systemer programmere med PLC'ens egne navne, men de siger ikke ret meget i en større programmeringsopgave. I Siemens-systemerne er symbollisten en liste for sig. I Cotas PLC-systemet kan man lade symbollisten være en integreret del af programmet, eller man kan lade alle definitionerne af symboler være gemt i en liste for sig. Denne liste kan kaldes af programmet, og kan bruges i flere sammenhænge. Kaldet vil da se således ud under forudsætning af, at man har døbt denne liste med definitionerne INDUDDEF.CPL: INCLUDE INDUDDEF.CPL Filen ved navnet INDUDDEF.CPL kan da anvendes i flere forskellige programmer. På samme måde giver Siemens PLC-softwaren mulighed for både at eksportere og importere symbollister. Efterfølgende programmeringseksempler består af følgende Siemens S7 symbolnavne Siemens S7 ladderdiagram Siemens S7 anvisningsliste (statementlist) Cotas CT1500-program indeholdende både symbolliste og program 3
net-29.qxd 08-11-01 11:24 Page 4 Siemens S7 symbolnavne 4
net-29.qxd 08-11-01 11:24 Page 5 Siemens S7 ladderdiagram 5
net-29.qxd 08-11-01 11:24 Page 6 Siemens S7 ladderdiagram 6
net-29.qxd 08-11-01 11:24 Page 7 Siemens S7 ladderdiagram 7
net-29.qxd 08-11-01 11:24 Page 8 Siemens S7 ladderdiagram 8
net-29.qxd 08-11-01 11:24 Page 9 Siemens S7 ladderdiagram 9
net-29.qxd 08-11-01 11:24 Page 10 Siemens S7 ladderdiagram 10
net-29.qxd 08-11-01 11:24 Page 11 Siemens S7 ladderdiagram 11
net-29.qxd 08-11-01 11:24 Page 12 Siemens S7 ladderdiagram 12
net-29.qxd 08-11-01 11:24 Page 13 Siemens S7 ladderdiagram 13
net-29.qxd 08-11-01 11:24 Page 14 Siemens S7 anvisningsliste 14
net-29.qxd 08-11-01 11:24 Page 15 Siemens S7 anvisningsliste 15
net-29.qxd 08-11-01 11:24 Page 16 Siemens S7 anvisningsliste 16
net-29.qxd 08-11-01 11:24 Page 17 Siemens S7 anvisningsliste 17
net-29.qxd 08-11-01 11:24 Page 18 Cotas CT1500-program 18
net-29.qxd 08-11-01 11:24 Page 19 Cotas CT1500-program 19
net-29.qxd 08-11-01 11:25 Page 20 Cotas CT1500-program 20
net-29.qxd 08-11-01 11:25 Page 21 Cotas CT1500-program 21
net-29.qxd 08-11-01 11:25 Page 22 Cotas CT1500-program 22