Kapitel 0
Inledning
Det finns tre typer av regler- och styrproblem
1. Reglering och styrning av procesesser som kan beskrivas med hj¨alp av differential- eller differen- sekvationer. Ing˚aende variabler beskrivs av reella tal. T.ex. temperatur, sp¨anning, position och dylikt.
r-
+ - - Gk u -
Gp
y- 6
2. Styrning av sekventiella processer, vars dynamiska egenskaper karakteriseras av diskreta h¨andelser.
Ing˚aende variabler beskrivs av logiska tal eller heltal. T.ex. en ventil som kan vara ¨oppen eller st¨angd, en beh˚allare som kan vara tom, halvfull eller full.
3. Hybrida system, blandning av ovanst˚aende typer.
I samtliga fall s˚a ¨onskar man styra processessen s˚a att ¨onskad funktion uppn˚as. Kursen sekvensstyrning
¨ar inriktad p˚a fall 2.
Exempel p˚a sekvensstyrningsproblem
• Processindustrin:
– Start och nedk¨orning av processer – Byte av driftstillst˚and
– S¨akerhetssystem, ˚atg¨arder vid felsituationer – Operation av batch-processer
• Styckegodsindsutrin – Operation av verktyg – Robotar
5
6 KAPITEL 0. INLEDNING
• Vardagen – Tjuvlarm – Bankomater – All slags elektronik
• Telefonv¨axlar Angr¨ansande omr˚aden:
• Digitalteknik och elektronik
• Datateknik: Realtidssystem
Denna kurs fokuserar p˚a industriella sekvensstyrningsproblem och implementering med hj¨alp av program- merbar logik.
Exempel 0.1 Blandningsprocess
Reaktor
A B
? ?
VA VB
?
VR
∞
Onskad funktion f¨or blandningsprocessen:¨
Reaktorna skall fyllas med inneh˚allen i beh˚allarna A och B, reaktorns inneh˚all skall omr¨oras och upp- v¨armas till 80oC, varefter reaktorn skall t¨ommas.
7 Schematiskt:
Reaktorn tom VR st¨angd
Oppna V¨ A och VB
A t¨oms B t¨oms
St¨ang VA d˚a A tom
A t¨omd
St¨ang VB d˚a B tom
B t¨omd
Sl˚a p˚a uppv¨arming
Uppv¨arming
Sl˚a av uppv¨arming och
¨oppna VRd˚a T ≥ 80oC
Reaktorn t¨oms
St¨ang VR d˚a reaktorn tom
Slut
Problemet att styra sekventiella processer av denna typ ¨ar ett exempel p˚a logikstyrning: styrningen kan realiseras med hj¨alp av logiska funktioner av typen
Utf¨or aktionen A ifall premissen P ¨ar uppfylld
Logikstyrning implementerades tidigare med hj¨alp av rel¨aer, och numera oftast med programmerbar logik.
Sm˚a sekvensstyrningsproblem kr¨aver ingen djupare analys, utan implementeringen kan vanligen baseras p˚a enkel boolesk algebra. St¨orre system ¨ar d¨aremot inte s˚a l¨atta att ¨overblicka, utan fordrar systematiska analysmetoder.
8 KAPITEL 0. INLEDNING
0.1 Litteratur
Litteratururvalet p˚a detta omr˚ade ¨ar inte s¨arskilt stort, och det finns egentligen ingen bok som skulle vara riktigt l¨amplig som kursbok. F¨oljande b¨ocker kan dock n¨amnas som bredvidl¨asning f¨or den intresserade:
1. L. Alm: Styrteknik. Studentlitteratur 1991. Fokuserar p˚a verkstads- och styckegodsprocesser.
2. W. Bolton: Programmable logic controllers. Newnes, fj¨arde upplagan, 2006.
3. G.C. Cassandras och S Lafortune: Introduction to discrete event systems. Kluwer 1999 och Springer 2007. Ganska teoretisk, behandlar Petri-n¨at utf¨orligt.
4. M. Costanza: Programmable logic controllers - The industrisl computer. Arnold 1997.
5. A.J Crispin: Programmable logic controllers and their engineering applications. McGraw-Hill 1997.
Inneh˚aller IEC-standarden f¨or programmering av PLC:n.
6. K.H. Fasol: Bin¨are steuerungstechnik. Springer 1988.
7. T. Floyd: Digital fundamentals. Prentice-Hall 1997.
8. S. Friedman: Logical design of automation systems. Prentice-Hall 1980.
9. B. Haag: Industriell systemteknik – Ell¨ara, elektronik och automation. Studentlitteratur 1998.
10. T.R. McCalla: Digital logic and computer design. MacMillan 1992.
11. E.W. Kamen: Industrial controls and manufacturing. Academic 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˚ and
Ett styrsystem f¨or logikstyrnings- och sekvensstyrningsproblem kan schematiskt framst¨allas i form av f¨oljande diagram:
- -- --
- --
¾ .. ¾
. ... ...
... ... ... un
... u2
u1
ym
... y2
y1
xp
... x1
x+1, . . . , x+p Minne
Logisk funktion
Nytttillst˚and Tillst˚and
Insignaler (fr˚an process) Utsignaler(till process)
Insignaler, utsignaler och tillst˚and antas i denna kurs ha logiska v¨arden. Utsignalernas Y = {yi} och det interna tillst˚andens X+ = {x+i } nya v¨arden best¨ams som funktioner av insignalerna U = {ui} och de tidigare tillst˚anden X = {xi}. Dessa funktioner kan i praktiken beskrivas med hj¨alp av klassisk logik eller, analogt, med boolesk algebra.
Exempel 1.1 Transport¨or
A B
Insignaler: U = {ui}
1. G˚a till v¨anster (← -knapp) 2. G˚a till h¨oger (→ -knapp)
3. Stopp (STOP-knapp)
4. L¨agessensor vid A (A) 5. L¨agessensor vid B (B)
9
10 KAPITEL 1. KLASSISK LOGIK OCH BOOLESK ALGEBRA Tillst˚and: X = {xi}
1. Stillast˚aende vid A 2. Stillast˚aende vid B
3. Stillast˚aende mellan A och B 4. P˚a v¨ag mot v¨anster
5. P˚a v¨ag mot h¨oger Utsignaler: Y = {yi}
1. Mot v¨anster (V) 2. Mot h¨oger (H)
3. Stilla (S)
Styrsystemets funktion kan representeras med hj¨alp av en graf, s.k. tillst˚andsgraf, d¨ar
• tillst˚and representeras av noder,
• tillst˚ands¨overg˚angar representeras av riktade l¨ankar mellan noderna, och
• insignal resp. utsignal associerade med tillst˚ands¨overg˚angen anges vid l¨anken.
-
xi xj
un/ym
Uppgift 1.1 Rita tillst˚andsgrafen f¨or styrsystemet i exempel 2.1.
I en tillst˚andstabell (Huffman-tabell) anges
xs/yk= (f¨oljande tillst˚and/utsignal) som funktion av insignaler och tillst˚and i tabellform.
Uppgift 1.2 Rita tillst˚andstabell f¨or styrsystemet i exempel 2.1.
Insignaler
Tillst˚and ← → STOP A B
1 2 3 4 5
1. Vid A 2. Vid B
3. Mellan A och B 4. Mot A
5. Mot B
1.2. PROPOSITIONSKALKYL 11 Vissa situationerna f¨orekommer ej normalt (beteckna dessa med parentes), endast vid felsituationer. F¨or att felsituationerna skall klaras av, b¨or man i praktiken definiera f¨ornuftiga tillst˚ands¨overg˚angar och aktioner ¨aven f¨or dessa situationer.
I praktiken kan logikstyrnings- och sekvensstyrningsproblem ofta leda till t¨amligen komplicerade opera- tioner. Det kr¨avs d˚a systematiska metoder vid planeringen av systemet. Analys och syntes av sekventiella processer baserar sig i h¨og grad p˚a klassisk logik och boolesk algebra. Vi skall d¨arf¨or b¨orja med att behandla dessa.
1.2 Propositionskalkyl
Propositionskalkylen eller propositionslogiken ¨ar en del av den formella logiken som kan h¨arledas till- baka till Aristoteles (382 – 322 f.Kr.). I propositionskalkylen ¨ar grundbyggstenarna p˚ast˚aenden, eller propositioner. Ett p˚ast˚aende ¨ar antingen sant (S) eller falskt (F ).
Exempel 1.2 Propositioner
P : ’Granen ¨ar ett finskt tr¨adslag’
Q : ’Kokospalmen v¨axer vild p˚a ˚Aland’
Tydligen g¨aller P = S, Q = F .
I propositionskalkylen sammans¨atts propositioner till nya propositioner med hj¨alp av de logiska konnek- tiven ”och”, ”eller” samt negationen ”icke”. Man brukar anv¨anda beteckningarna
∨ ”eller” (OR)
∧ ”och” (AND)
P ”icke P” (NOT P)
Propositionkalkylens konstanter ¨ar S (sann) och F (falsk). F¨or dessa inf¨ors f¨oljande postulat, som ¨ar i enlighet med vardagens spr˚akbruk 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¨oljer f¨or en godtycklig proposition x (vars sanningshalt, S eller F , inte ¨ar given, dvs.
en variabel) f¨oljande 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¨or uttryck som inneh˚aller tv˚a eller flera propositioner h¨arledas. N˚agra av de viktigaste sambanden i propositionskalkylen kommer att diskuteras nedan i samband med den booleska algebran.
12 KAPITEL 1. KLASSISK LOGIK OCH BOOLESK ALGEBRA
1.3 Boolesk algebra
Boole introducerade ˚ar 1854 en tv˚av¨ard algebra som ¨ar isomorf1med propositionskalkylen. P˚a detta s¨att var det m¨ojligt att beskriva den klassiska logiken matematiskt (i form av en tv˚av¨ard algebra). I boolesk algebra antar variabler n˚agot av v¨ardena (konstanterna) 0 eller 1. Operationerna i boolesk algebra ¨ar ELLER (OR), logisk summa (disjunktion), med beteckningen + (x + y)
OCH (AND), logisk produkt (konjuktion), med beteckningen · (x · y eller xy)
ICKE (NOT), logisk invers, med beteckningen x (= icke x). Beteckningarna x0 och ¬x anv¨ands ¨aven.
Operationerna definieras med hj¨alp av f¨oljande postulat:
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)
Operationerna kan sammanfattas i form av en sanningstabell:
A B A A + B AB
0 0 1 0 0
1 0 0 1 0
1 1 0 1 1
0 1 1 1 0
F¨orutom ovann¨amnda operationer brukar man inf¨ora ytterligare ett antal operatationer:
NOR (icke eller) A + B
XOR (exklusivt eller) A ⊕ B XNOR (exklusivt NOR) A ⊕ B
NAND (icke och) AB
Dessa operationer beskrivs av sanningstabellen
A B A + B A ⊕ B A ⊕ B AB
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¨or boolesk algebra speciellt viktig ¨ar dess isomorfi med propositionskalkylen. Denna isomorfi ges enligt f¨oljande:
1isomorf = med samma struktur
1.3. BOOLESK ALGEBRA 13 Boolesk algebra Propositionskalkyl
1 ←→ S
0 ←→ F
+ ←→ ∨
· ←→ ∧
x ←→ x
Postulaten (P 1) − (P 8) f¨or propositionskalkyl respektive boolesk algebra ¨ar ekvivalenta om man substi- tuerar konstanter och operationer enligt ovan.
Alla de lagar i logiken som f¨oljer ur propositionskalkylens postulat (P 1) − (P 8) har s˚aledes sina exakta motsvarigheter i boolesk algebra. Den klassiska logiken (beskriven av propositionskalkyl) kan s˚aledes representeras rent algebraiskt i form av den tv˚av¨arda booleska algebran.
Sambanden (R1) − (R9) givna tidigare f¨or propositionskalkylen blir f¨or 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¨oljande tabell anges n˚agra av de viktigaste r¨aknereglerna f¨or tv˚a och tre variabler, som kan h¨arledas fr˚an postulaten (P 1) − (P 8).
Associationslagar:
(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)
Absorptionslagar:
(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)0 x1+ x2+ . . . + xn = x1· x2· . . . · xn
(R21)0 x1· x2· . . . · xn = x1+ x2+ . . . + xn
14 KAPITEL 1. KLASSISK LOGIK OCH BOOLESK ALGEBRA Anm. S˚asom nedan framg˚att, f¨oljer ur isomorfin mellan propositionskalkyl och boolesk algebra att alla lagar som kan h¨arledas f¨or den senare har sin motsvarighet i propositionskalkyl.
Uppgift 1.3 Ange de Morgans lagar med hj¨alp av propositionskalkyl.
Alla lagar i boolesk algebra f¨oljer ur postulaten (P 1) − (P 8). Lagarna kan visas och h¨arledas, antingen
• genom att unders¨oka de ing˚aende uttryckens v¨arden f¨or samtliga kombinationer av variabelv¨arden med hj¨alp av en sanningstabell, och konstaterande av ekvivalens (sk. perfekt induktion), eller
• genom algebraisk h¨arledning och anv¨andning av redan bevisade lagar.
Vi skall illustrera procedurerna med exempel:
Uppgift 1.4 Visa a) de Morgans lagar b) transivitetslagen (R18)
1.4. N˚AGOT OM IMPLEMENTERINGEN AV LOGISKA FUNKTIONER 15
1.4 N˚ agot om implementeringen av logiska funktio- ner
C.E. Shannon visade ˚ar 1938 att boolesk algebra kan anv¨andas f¨or att beskriva funktionen hos vissa elekt- riska och elektroniska kretsar, t.ex. de som anv¨ands i telefonv¨axlar. Omv¨ant kan varje logisk samband som kan beskrivas med boolesk algebra implementeras elektroniskt.
L˚at tillst˚andet hos en kontakt representera en variabel x, s˚a att x = 1 d˚a kontakten ¨ar sluten x = 0 d˚a kontakten ¨ar ¨oppen och l˚at en sp¨anningsniv˚a representera en variabel z, enligt
z = 1 d˚a sp¨anningen ¨ar h¨og (typiskt 2.4 − 5.5V ) z = 0 d˚a sp¨anningen ¨ar l˚ag (typiskt 0 − 0.4V )
5.5V
2.4V z = 1
0.4V
0 z = 0
Operationerna i den booleska algebran kan d˚a implementeras med hj¨alp av sk. logiska grindar. T.ex.
x y
1 z = xy (AND)
y x
1 z = x + y (OR)
I praktiken ¨ar den elektroniska realiseringen av olika grindtyper betydligt mer komplicerad. Tabell 2.1 ger en sammanfattning av symbolerna f¨or de enkla logiska grindarna.
16 KAPITEL 1. KLASSISK LOGIK OCH BOOLESK ALGEBRA
Tabell 1.1: Symbolerna f¨or de logiska grindarna (K¨alla: Sten Gustafsson)
OCH &
>1
− X
A B A
B X A
B X
A 1 X
A 1 X
&
A
B X
>1
− X
A B
A X B
=1
A X
X
X
X
X
X A
A
A
A
A B B B B
X = A + B X = A B.
X = A + B X = A B. X = A X = A
X = A + B Buffert
Inverterare
NAND
ELLER
NOR
XOR
Grind Funktion IEC−symbol Amerikansk symbol
F¨orutom symbolerna i tabell 2.1 anges invertering av insignalen symboliskt, t.ex.:
x = A · B:
B
A 1 &
x
≡
B
A &
x
x = A + B:
B
A 1
1
≥ 1 x
≡
B
A ≥ 1
x
De enkla logiska grindarna kan anv¨andas f¨or implementering av allm¨anna logiska funktioner, och kan s˚aledes utnyttjas f¨or processtyrningsproblem.
Uppgift 1.5 Planera ett n¨at som med hj¨alp av logiska grindar realiserar den logiska funktionen x = AB + AC
1.4. N˚AGOT OM IMPLEMENTERINGEN AV LOGISKA FUNKTIONER 17 Det ¨ar l¨att att inse att de logiska grindarna ocks˚a kan implementeras mekaniskt, hydrauliskt eller pneuma- tiskt. I den sistn¨amnda representeras variablerna av ventill¨agen (¨oppen/st¨angd) samt tryck (h¨ogt/l˚agt).
Dessa metoder finns n¨armare beskrivna i speciallitteraturen.
Figur 1.1: Exempel p˚a mekaniska logiska grindar
Figur 1.2: Exempel p˚a pneumatiska logiska grindar
I praktiken implementeras ˚atminstone enklare logiska styrproblem ofta elektroniskt med hj¨alp av logiska grindar som baserar sig p˚a halvledarteknik, vilken ersatt tidigare rel¨ateknik. I omgivningar d¨ar elektro- niska komponenter ¨ar ol¨ampliga, t.ex. p.g.a. explosionsfara, anv¨ands ¨aven pneumatiska logiska grindar.
Mera komplicerade logikstyrningsproblem implementeras nuf¨ortiden med hj¨alp av s.k. programmerbar logik. Dessa ¨ar sm˚a, billiga datorer speciellt konstruerade f¨or logik- och sekvensstyrningsproblem i indust- riell milj¨o. Ocks˚a vanliga mikrodatorer anv¨ands. Om realiseringen av logik- och sekvensstyrningsproblem med hj¨alp av programmerbara datorer mera senare.