Kapitel 0 Inledning Det finns tre typer av regler- och styrproblem 1. Reglering och styrning av procesesser som kan beskrivas med hjälp av differential- eller differensekvationer. Ingående variabler beskrivs av reella tal. T.ex. temperatur, spänning, position och dylikt. r + - u Gk G p y 2. Styrning av sekventiella processer, vars dynamiska egenskaper karakteriseras av diskreta händelser. Ingående variabler beskrivs av logiska tal eller heltal. T.ex. en ventil som kan vara öppen eller stängd, en behållare som kan vara tom, halvfull eller full. 3. Hybrida system, blandning av ovanstående typer. I samtliga fall så önskar man styra processessen så att önskad funktion uppnås. Kursen sekvensstyrning är inriktad på fall 2. Exempel på sekvensstyrningsproblem Processindustrin: Start och nedkörning av processer yte av driftstillstånd Säkerhetssystem, åtgärder vid felsituationer Operation av batch-processer Styckegodsindsutrin Operation av verktyg Robotar 5
6 KPITEL 0. INLEDNING Vardagen Tjuvlarm ankomater ll slags elektronik Telefonväxlar ngränsande områden: Digitalteknik och elektronik Datateknik: Realtidssystem Denna kurs fokuserar på industriella sekvensstyrningsproblem och implementering med hjälp av programmerbar logik. Exempel 0.1 landningsprocess V V Reaktor V R Önskad funktion för blandningsprocessen: Reaktorna skall fyllas med innehållen i behållarna och, reaktorns innehåll skall omröras och uppvärmas till 80 o C, varefter reaktorn skall tömmas.
7 Schematiskt: Reaktorn tom V R stängd Öppna V och V töms töms Stäng V då tom Stäng V då tom tömd tömd Slå på uppvärming Uppvärming Slå av uppvärming och öppna V R då T 80 o C Reaktorn töms Stäng V R då reaktorn tom Slut Problemet att styra sekventiella processer av denna typ är ett exempel på logikstyrning: styrningen kan realiseras med hjälp av logiska funktioner av typen Utför aktionen ifall premissen P är uppfylld Logikstyrning implementerades tidigare med hjälp av reläer, och numera oftast med programmerbar logik. Små sekvensstyrningsproblem kräver ingen djupare analys, utan implementeringen kan vanligen baseras på enkel boolesk algebra. Större system är däremot inte så lätta att överblicka, utan fordrar systematiska analysmetoder.
8 KPITEL 0. INLEDNING 0.1 Litteratur Litteratururvalet på detta område är inte särskilt stort, och det finns egentligen ingen bok som skulle vara riktigt lämplig som kursbok. Följande böcker kan dock nämnas som bredvidläsning för den intresserade: 1. L. lm: Styrteknik. Studentlitteratur 1991. Fokuserar på verkstads- och styckegodsprocesser. 2. W. olton: Programmable logic controllers. Newnes, fjärde upplagan, 2006. 3. G.C. Cassandras och S Lafortune: Introduction to discrete event systems. Kluwer 1999 och Springer 2007. Ganska teoretisk, behandlar Petri-nät utförligt. 4. M. Costanza: Programmable logic controllers - The industrisl computer. rnold 1997. 5..J Crispin: Programmable logic controllers and their engineering applications. McGraw-Hill 1997. Innehåller IEC-standarden för programmering av PLC:n. 6. K.H. Fasol: inäre steuerungstechnik. Springer 1988. 7. T. Floyd: Digital fundamentals. Prentice-Hall 1997. 8. S. Friedman: Logical design of automation systems. Prentice-Hall 1980. 9.. Haag: Industriell systemteknik Ellära, elektronik och automation. Studentlitteratur 1998. 10. T.R. McCalla: Digital logic and computer design. MacMillan 1992. 11. E.W. Kamen: Industrial controls and manufacturing. cademic Press 1999. 12. J. Palmer och D. Perlman: Introduction to digital systems (Schaum s outline). McGraw-Hill 1993. 13. M. Treseler: Designing state machine controllers using programmable logic. Prentice Hall 1992.
Kapitel 1 Klassisk logik och boolesk algebra 1.1 Insignaler, utsignaler och tillstånd Ett styrsystem för logikstyrnings- och sekvensstyrningsproblem kan schematiskt framställas i form av följande diagram: Insignaler (från process) Utsignaler(till process) u 1 y 1 u 2 Logisk y 2.. funktion. u. n y m.. Nytt. 1 tillstånd Tillstånd.x x p x + 1,..., x+ p. Minne. Insignaler, utsignaler och tillstånd antas i denna kurs ha logiska värden. Utsignalernas Y = {y i } och det interna tillståndens + = {x + i } nya värden bestäms som funktioner av insignalerna U = {u i} och de tidigare tillstånden = {x i }. Dessa funktioner kan i praktiken beskrivas med hjälp av klassisk logik eller, analogt, med boolesk algebra. Exempel 1.1 Transportör Insignaler: U = {u i } 1. Gå till vänster ( -knapp) 2. Gå till höger ( -knapp) 3. Stopp (STOP-knapp) 4. Lägessensor vid () 5. Lägessensor vid () 9
10 KPITEL 1. KLSSISK LOGIK OCH OOLESK LGER Tillstånd: = {x i } 1. Stillastående vid 2. Stillastående vid 3. Stillastående mellan och 4. På väg mot vänster 5. På väg mot höger Utsignaler: Y = {y i } 1. Mot vänster (V) 2. Mot höger (H) 3. Stilla (S) Styrsystemets funktion kan representeras med hjälp av en graf, s.k. tillståndsgraf, där tillstånd representeras av noder, tillståndsövergångar representeras av riktade länkar mellan noderna, och insignal resp. utsignal associerade med tillståndsövergången anges vid länken. x i u n /y m x j Uppgift 1.1 Rita tillståndsgrafen för styrsystemet i exempel 2.1. I en tillståndstabell (Huffman-tabell) anges x s /y k = (följande tillstånd/utsignal) som funktion av insignaler och tillstånd i tabellform. Uppgift 1.2 Rita tillståndstabell för styrsystemet i exempel 2.1. Insignaler Tillstånd STOP 1 2 3 4 5 1. Vid 2. Vid 3. Mellan och 4. Mot 5. Mot
1.2. PROPOSITIONSKLKYL 11 Vissa situationerna förekommer ej normalt (beteckna dessa med parentes), endast vid felsituationer. För att felsituationerna skall klaras av, bör man i praktiken definiera förnuftiga tillståndsövergångar och aktioner även för dessa situationer. I praktiken kan logikstyrnings- och sekvensstyrningsproblem ofta leda till tämligen komplicerade operationer. Det krävs då systematiska metoder vid planeringen av systemet. nalys och syntes av sekventiella processer baserar sig i hög grad på klassisk logik och boolesk algebra. Vi skall därför börja med att behandla dessa. 1.2 Propositionskalkyl Propositionskalkylen eller propositionslogiken är en del av den formella logiken som kan härledas tillbaka till ristoteles (382 322 f.kr.). I propositionskalkylen är grundbyggstenarna påståenden, eller propositioner. Ett påstående är antingen sant (S) eller falskt (F ). Exempel 1.2 Propositioner Tydligen gäller P = S, Q = F. P : Granen är ett finskt trädslag Q : Kokospalmen växer vild på Åland I propositionskalkylen sammansätts propositioner till nya propositioner med hjälp av de logiska konnektiven och, eller samt negationen icke. Man brukar använda beteckningarna eller (OR) och (ND) P icke P (NOT P) Propositionkalkylens konstanter är S (sann) och F (falsk). För dessa införs följande postulat, som är i enlighet med vardagens språkbruk och intuition: F F = F (P 1) S S = S (P 2) S F = F S = S (P 3) S S = S (P 4) F F = F (P 5) F S = S F = F (P 6) F = S (P 7) S = F (P 8) Ur dessa postulat följer för en godtycklig proposition x (vars sanningshalt, S eller F, inte är given, dvs. en variabel) följande samband: x x = x (R1) x x = S (R2) x S = S (R3) x F = x (R4) x x = x (R5) x x = F (R6) x F = F (R7) x S = x (R8) x = x (R9) Vidare kan logiska samband för uttryck som innehåller två eller flera propositioner härledas. Några av de viktigaste sambanden i propositionskalkylen kommer att diskuteras nedan i samband med den booleska algebran.
12 KPITEL 1. KLSSISK LOGIK OCH OOLESK LGER 1.3 oolesk algebra oole introducerade år 1854 en tvåvärd algebra som är isomorf 1 med propositionskalkylen. På detta sätt var det möjligt att beskriva den klassiska logiken matematiskt (i form av en tvåvärd algebra). I boolesk algebra antar variabler något av värdena (konstanterna) 0 eller 1. Operationerna i boolesk algebra är ELLER (OR), logisk summa (disjunktion), med beteckningen + (x + y) OCH (ND), logisk produkt (konjuktion), med beteckningen (x y eller xy) ICKE (NOT), logisk invers, med beteckningen x (= icke x). eteckningarna x och x används även. Operationerna definieras med hjälp av följande postulat: Operationerna kan sammanfattas i form av en sanningstabell: 0 + 0 = 0 (P 1) 1 + 1 = 1 (P 2) 0 + 1 = 1 + 0 = 1 (P 3) 1 1 = 1 (P 4) 0 0 = 0 (P 5) 0 1 = 1 0 = 0 (P 6) 0 = 1 (P 7) 1 = 0 (P 8) + 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 Förutom ovannämnda operationer brukar man införa ytterligare ett antal operatationer: Dessa operationer beskrivs av sanningstabellen NOR (icke eller) + OR (exklusivt eller) NOR (exklusivt NOR) NND (icke och) + 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 Den egenskap som gör boolesk algebra speciellt viktig är dess isomorfi med propositionskalkylen. Denna isomorfi ges enligt följande: 1 isomorf = med samma struktur
1.3. OOLESK LGER 13 oolesk algebra Propositionskalkyl 1 S 0 F + x x Postulaten (P 1) (P 8) för propositionskalkyl respektive boolesk algebra är ekvivalenta om man substituerar konstanter och operationer enligt ovan. lla de lagar i logiken som följer ur propositionskalkylens postulat (P 1) (P 8) har således sina exakta motsvarigheter i boolesk algebra. Den klassiska logiken (beskriven av propositionskalkyl) kan således representeras rent algebraiskt i form av den tvåvärda booleska algebran. Sambanden (R1) (R9) givna tidigare för propositionskalkylen blir för boolesk algebra: x + x = x (R1) x + x = 1 (R2) x + 1 = 1 (R3) x + 0 = x (R4) x x = x (R5) x x = 0 (R6) x 0 = 0 (R7) x 1 = x (R8) x = x (R9) I följande tabell anges några av de viktigaste räknereglerna för två och tre variabler, som kan härledas från postulaten (P 1) (P 8). ssociationslagar: (R10) x + (y + z) = (x + y) + z (R11) x(yz) = (xy)z Kommutationslagar: (R12) x + y = y + x (R13) xy = yx Distributionslagar: (R14) x(y + z) = xy + xz (R15) x + yz = (x + y)(x + z) bsorptionslagar: (R16) x + xy = x (R17) x(x + y) = x Transivitetslagar (konsensus): (R18) xy + xz + yz = xy + xz (R19) (x + y)(x + z)(y + z) = (x + y)(x + z) de Morgans lagar: (R20) x + y = x y (R21) xy = x + y Lagarna kan direkt generaliseras till flera variabler. De Morgans lagar generaliseras t.ex. till (R20) x 1 + x 2 +... + x n = x 1 x 2... x n (R21) x 1 x 2... x n = x 1 + x 2 +... + x n
14 KPITEL 1. KLSSISK LOGIK OCH OOLESK LGER nm. Såsom nedan framgått, följer ur isomorfin mellan propositionskalkyl och boolesk algebra att alla lagar som kan härledas för den senare har sin motsvarighet i propositionskalkyl. Uppgift 1.3 nge de Morgans lagar med hjälp av propositionskalkyl. lla lagar i boolesk algebra följer ur postulaten (P 1) (P 8). Lagarna kan visas och härledas, antingen genom att undersöka de ingående uttryckens värden för samtliga kombinationer av variabelvärden med hjälp av en sanningstabell, och konstaterande av ekvivalens (sk. perfekt induktion), eller genom algebraisk härledning och användning av redan bevisade lagar. Vi skall illustrera procedurerna med exempel: Uppgift 1.4 Visa a) de Morgans lagar b) transivitetslagen (R18)
1.4. NÅGOT OM IMPLEMENTERINGEN V LOGISK FUNKTIONER 15 1.4 Något om implementeringen av logiska funktioner C.E. Shannon visade år 1938 att boolesk algebra kan användas för att beskriva funktionen hos vissa elektriska och elektroniska kretsar, t.ex. de som används i telefonväxlar. Omvänt kan varje logisk samband som kan beskrivas med boolesk algebra implementeras elektroniskt. Låt tillståndet hos en kontakt representera en variabel x, så att x = 1 x = 0 då kontakten är sluten då kontakten är öppen och låt en spänningsnivå representera en variabel z, enligt z = 1 då spänningen är hög (typiskt 2.4 5.5V ) z = 0 då spänningen är låg (typiskt 0 0.4V ) 5.5V 2.4V z = 1 0.4V 0 z = 0 Operationerna i den booleska algebran kan då implementeras med hjälp av sk. logiska grindar. T.ex. 1 x y z = xy (ND) x 1 z = x + y (OR) y I praktiken är den elektroniska realiseringen av olika grindtyper betydligt mer komplicerad. Tabell 2.1 ger en sammanfattning av symbolerna för de enkla logiska grindarna.
16 KPITEL 1. KLSSISK LOGIK OCH OOLESK LGER Tabell 1.1: Symbolerna för de logiska grindarna (Källa: Sten Gustafsson) Grind Funktion IEC symbol merikansk symbol uffert = 1 Inverterare = 1 OCH =. & NND =. & ELLER = + > 1 NOR = + > 1 OR = + =1 Förutom symbolerna i tabell 2.1 anges invertering av insignalen symboliskt, t.ex.: x = : 1 & x & x x = + : 1 1 1 x 1 x De enkla logiska grindarna kan användas för implementering av allmänna logiska funktioner, och kan således utnyttjas för processtyrningsproblem. Uppgift 1.5 Planera ett nät som med hjälp av logiska grindar realiserar den logiska funktionen x = + C
1.4. NÅGOT OM IMPLEMENTERINGEN V LOGISK FUNKTIONER 17 Det är lätt att inse att de logiska grindarna också kan implementeras mekaniskt, hydrauliskt eller pneumatiskt. I den sistnämnda representeras variablerna av ventillägen (öppen/stängd) samt tryck (högt/lågt). Dessa metoder finns närmare beskrivna i speciallitteraturen. Figur 1.1: Exempel på mekaniska logiska grindar Figur 1.2: Exempel på pneumatiska logiska grindar I praktiken implementeras åtminstone enklare logiska styrproblem ofta elektroniskt med hjälp av logiska grindar som baserar sig på halvledarteknik, vilken ersatt tidigare reläteknik. I omgivningar där elektroniska komponenter är olämpliga, t.ex. p.g.a. explosionsfara, används även pneumatiska logiska grindar. Mera komplicerade logikstyrningsproblem implementeras nuförtiden med hjälp av s.k. programmerbar logik. Dessa är små, billiga datorer speciellt konstruerade för logik- och sekvensstyrningsproblem i industriell miljö. Också vanliga mikrodatorer används. Om realiseringen av logik- och sekvensstyrningsproblem med hjälp av programmerbara datorer mera senare.