2.3 Kombinatoriska automationsproblem
I ett kombinatoriskt automationsproblem best¨ams utsignalerna fr˚an styrsystemet som booleska funktio-ner av insignalerna.
(fr˚an process) (till process)
... ...
J¨amf¨or Ex. 2.1. De booleska funktionerna f¨oljer ur specifikationerna och kan sammanfattas i form av en funktionstabell. De i avsnitt 2.2 diskuterade metoderna kan sedan till¨ampas f¨or att vid behov f¨orenkla de booleska uttrycken.
Hasard
D˚a ett kombinatoriskt automationsproblem realiseras med hj¨alp av logiska grindar b¨or man beakta even-tuell f¨orekomst av sk. statisk hasard, och konstruera n¨atet s˚a att det ¨ar hasardfritt. Problemet illustreras av f¨oljande exempel.
Exempel 2.11 Betrakta en funktion X med Karnaugh-diagrammet nedan.
AB
Funktionen har tv˚a v¨asentliga primimplikatorer vilka ger den disjunktiva minimala formen X = AC + AB
Funktionen kan tydligen realiseras med hj¨alp av tv˚a AND- och en OR-grind:
C
Betrakta nu vad som h¨ander d˚a insignalerna ¨andras fr˚an 011 till 111:
AB
34 KAPITEL 2. BOOLESKA FUNKTIONER Funktionen X har fortfarande v¨ardet 1 och ¨andras s˚aledes ej. I praktiken ¨ar emellertid tv˚a grindar aldrig exakt lika snabba. Om den nedre grinden i figuren ¨ar n˚agot snabbare ¨an den ¨ovre, s˚a ¨ar utsignalerna fr˚an AND-grindarna 0 under ett kort ¨ogonblick efter att den nedre grindens utsignal ¨andrats fr˚an 1 till 0, men innan den ¨ovre grindens utsignal ¨andrats fr˚an 0 till 1. Systemets utsignal ser d˚a ut s˚a h¨ar:
0
-1 X
t Detta o¨onskade beteende kallas statisk hasard.
Statisk hasard kan undvikas genom att observera att hasard inte f¨orekommer f¨or variabelf¨or¨andringar som sker inom en primimplikator som medtagits i realiseringen (t.ex. ¨andringen 001 till 011 f¨ororsakar ej hasard f¨or n¨atet ovan). Vi inkluderar d¨arf¨or l¨ampliga icke-v¨asentliga primimplikatorer f¨or att undvika hasard:
AB 00 01 11 10
C 0
1
1
1 1 1
I icke-v¨asentlig primimplikator X uttrycks nu i den icke-minimala formen
X = AC + AB + BC Denna funktion kan realiseras med tre AND- och en OR-grind:
C B A
X
&
&
&
≥ 1
Denna realisering ¨ar hasardfri.
Nuf¨ortiden f¨orverkligas logikstyrningsproblem oftast med hj¨alp av programmerbar logik eller mikrodato-rer, i vilka de booleska funktionerna programmeras. Dessa fungerar s˚a att utsignalerna ges nya v¨arden f¨orst d˚a hela programmet utf¨orts, varefter cykeln upprepas, osv. S˚aledes uppst˚ar problemet med statisk hasard inte vid implementering med hj¨alp av programmerbar logik resp. mikrodatorer.
Kapitel 3
Sekvensstyrningsproblem
Vid kombinatoriska styrproblem av den typ som betraktades i avsnitt 2.3, och i Ex. 2.1, best¨amdes utsignalerna fr˚an styrsystemet som booleska funktioner av insignalerna. F¨or att f¨orverkliga mera generella sekvensstyrningsproblem b¨or systemet ocks˚a h˚alla reda p˚a tillst˚andet som processen befinner sig i vid en given tidpunkt. Detta sker i praktiken genom att inf¨ora tillst˚andsvariabler{xi}, vilkas v¨arden definierar systemets olika tillst˚and. Styrsystemet kan schematiskt beskrivas med f¨oljande figur.
Insignaler (fr˚an process) Utsignaler(till process)
Figur 3.1: Styrsystem med minne
H¨ar ¨ar utsignalerna y1, . . . , ymtill processen och tillst˚andsvariablernas nya v¨arden x+1, . . . , x+p (det nya till-st˚andet) booleska funktioner av insignalerna u1, . . . , unfr˚an processen samt tillst˚andsvariablerna x1, . . . , xp
(det tidigare tillst˚andet).
De booleska funktionerna kan behandlas med de metoder som diskuterades i avsnitt 2. Det nya problemet som tillkommer vid sekvensstyrningsproblem ¨ar att definiera tillst˚and och tillst˚andsvariabler samt att best¨amma hur de nya v¨ardena x+1, . . . , x+p skall best¨ammas.
Sekvensstyrningsproblem kan ytterligare indelas i deterministiska sekvensstyrningsproblem, d¨ar processen skall genomg˚a en p˚a f¨orhand best¨amd sekvens (t.ex. fyllning och t¨omning av reaktor), och stokastis-ta sekvensstyrningsproblem, d¨ar systemet skall funktionera rationellt f¨or godtyckliga insignalsekvenser (jmf. Ex. 1.1). De stokastiska sekvensstyringsproblemen ¨ar i allm¨anhet besv¨arligare att behandla ¨an de deterministiska.
Vippor
Medan kombinatoriska styrproblem kan realiseras enbart med hj¨alp av logiska grindar, fordrar sekventiella styrproblem dessutom element som h˚aller reda p˚a tillst˚andet, dvs. fungerar som minne. I elektroniken realiseras minnesfunktioner med hj¨alp av vippor (flip-flops).
Den viktigaste typen av vippa ¨ar RS-vippan (Reset-Set) (¨aven SR-vippa), vars symbol och sanningstabell ges i Fig. 3.2
Vippan fungerar allts˚a s˚a, att f¨or S = 1 (Set) blir x = 1, f¨or R = 1 (Reset) blir x = 0, och f¨or R = S = 0 f¨orblir x vid sitt tidigare v¨arde. Vippan fungerar allts˚a som en minnesfunktion, d¨ar v¨ardet hos variabeln
35
36 KAPITEL 3. SEKVENSSTYRNINGSPROBLEM
x anger vilkendera av signalerna S och R senast haft v¨ardet 1. F¨or insignalkombinationen R = S = 1 ¨ar x ej definierad. Funktionen hos en RS-vippa kan beskrivas av ekvationen
x+= (x + S)· R (3.1)
Uppgift 3.1 Verifiera ekvation 3.1 p˚a basen av sanningstabellen i Fig. 3.2.
En RS-vippa kan realiseras i form av tv˚a ˚aterkopplade NOR-grindar (jmf. f¨orel¨asningarna i elektronik).
F¨orutom RS-vippan anv¨ands andra typer av vippor: JK-vippan, D-vippan och T-vippan ¨ar de vanligaste.
Dessa skall dock ej behandlas h¨ar.
3.1 Syntes av sekventiella system
Det existerar flera syntesmetoder med vilka styrsystem f¨or sekventiella processer kan planeras. Den klas-siska metoden i detta sammanhang ¨ar en syntesmetod f¨orst presenterad av Huffman ˚ar 1954, och senare vidareutvecklad av andra. Huffmans metod ¨ar ursprungligen utvecklad f¨or den situation d˚a systemet skall realiseras med hj¨alp av logiska grindar och vippor. Proceduren ¨agnar d¨arf¨or stor uppm¨arksamhet vid att systemet skall kunna realiseras med s˚a f˚a vippor som m¨ojligt, och vid att undvika s˚adana o¨ onska-de funktioner som beror p˚a att de olika elementen reagerar olika snabbt, s˚asom (dynamisk) hasard och sk. kappl¨opningar. D˚a man i praktiken nuf¨ortiden vanligen implementerar sekvensstyrning med hj¨alp av datorer s˚a ¨ar ovan n¨amnda aspekter av underordnad betydelse. Detta leder till en avsev¨ard f¨orenkling av syntesproceduren.
Vi skall h¨ar beskriva en f¨orenklad version av Huffmans metod, som ¨ar l¨ampad f¨or styrsystem som imple-menteras med dator.
F¨or att illustrera syntesproceduren skall vi betrakta alarmsystemet enligt figuren. Systemet skall fungera p˚a f¨oljande s¨att. D˚a u1= 1, vilket representerar en alarmsignal fr˚an processen, skall y1= 1, vilket sl˚ar p˚a alarmsiren. Operat¨oren kan kvittera signalen med en kvitteringsknapp (u2), s˚a att en (momentan) signal u2= 1 sl˚ar av sirenen (y1= 0), som ers¨atts av en blinkande alarmlampa (y2= 1). Lampan b¨or forts¨atta att blinka s˚a l¨ange u1= 1. D˚a u1→ 0, skall y2= 0.
Dessutom skall i det fall d˚a den farliga situationen (u1 = 1) f¨orsvinner av sig sj¨alv (u1 = 0), innan kvittering getts, sirenen forts¨attningsvis vara p˚a. Detta f¨or att operat¨oren skall tvingas observera att en farosituation f¨orekommit. Vid kvittering i detta fall skall emellertid alarmlampan inte b¨orja blinka.
3.1. SYNTES AV SEKVENTIELLA SYSTEM 37
Tillst˚ andsgraf
Ur de verbalt givna systemspecifikationerna b¨or i n¨asta skede en kvantitativ modell f¨or systemets funk-tion konstrueras. Systemets funkfunk-tion kan ˚ask˚adligg¨oras grafiskt med en tillst˚andsgraf (fl¨odesdiagram,
¨overg˚angsdiagram). I denna representeras systemets tillst˚and av noder, och de m¨ojliga tillst˚ands¨ over-g˚angarna anges av riktade l¨ankar mellan noderna. F¨or alarmsystemet i Ex. 3.1 f˚as tillst˚andsgrafen i Fig.
3.3.
I det normala h¨andelsef¨orloppet med inkommande alarmsignal och kvittering av denna genomg˚ar syste-met tillst˚anden 1,2,3,4,1. ¨Overg˚angarna fr˚an tillst˚and 2 till 6 resp. 3 till 5 representerar situationen d˚a alarmsignalen f¨orsvinner av sig sj¨alv (observera dubbelriktningen). ¨Overg˚angarna fr˚an tillst˚and 1 till 5 resp. 4 till 3 representerar de fall d˚a kvitteringsknappen trycks vid ifr˚agavarande tillst˚and hos systemet.
Tillst˚ andstabell
Informationen i tillst˚andsgrafen representeras i f¨oljande skede i form av en tillst˚andstabell (fl¨odestabell, primitiv tillst˚andstabell, primitiv fl¨odestabell). I denna representeras varje tillst˚and av en rad, de olika insignalkombinationerna uts¨atts kolumnvis, och l¨angst till h¨oger anges systemets utsignaler vid ifr˚ agava-rande tillst˚and.
I tabellen anges systemets nya tillst˚and f¨or varje kombination av tillst˚and och insignaler . Ett tillst˚and s¨ags vara stabilt f¨or en given uppst¨allning insignaler, om systemet f¨orblir i tillst˚andet i fr˚aga (tillst˚and och insignaler konsistenta med varandra). Ett tillst˚and s¨ags vara instabilt f¨or en given upps¨attning insignaler, om systemet ¨overg˚ar till ett annat tillst˚and (tillst˚and och insignaler inkonsistenta med varandra). I detta fall ¨ar det nya tillst˚andet stabilt. I tillst˚andstabellen anges de stabila tillst˚anden genom inrigning, t.ex.
1 .
Tabell 3.1 visar en tillst˚andstabell f¨or systemet som beskrivs av tillst˚andsgrafen i Fig. 3.3. Observera att det antagits att det f¨or de olika systemtillst˚anden finns vissa insignalkombinationer som ej kan f¨orekomma.
Detta motsvarar ett ”don’t care” tillst˚and i tillst˚andstabellen och anges d¨ar med ett streck ”-”. (I detta fall har det antagits att tv˚a insignaler ej kan ¨andras (exakt) samtidigt; ett antagande vars giltighet kan diskuteras.)
I praktiken ¨ar konstruktionen av tillst˚andsgraf och tillst˚andstabell ofta det sv˚araste, och samtidigt det viktigaste, skedet av syntesproceduren. I detta skede b¨or systemets funktion definieras exakt, vilket kr¨aver
38 KAPITEL 3. SEKVENSSTYRNINGSPROBLEM en genomg˚aende analys av problemst¨allningen. I motsats till detta skede ¨ar de senare faserna av syntes-proceduren mera rutinm¨assiga. Observera att tillst˚andsgrafen och tillst˚andstabellen inneh˚aller samma information, och det ¨ar m¨ojligt (˚atminstone med lite rutin) att konstruera tillst˚andstabellen direkt p˚a basen av systemspecifikationerna. Det brukar dock rekommenderas att ocks˚a tillst˚adsgrafen uppst¨alls, ty tack vare sin ˚ask˚adlighet ¨ar det enklare att med hj¨alp av denna hitta eventuella felaktiga funktionss¨att.
Uppgift 3.2 Systemet i Fig. 3.4 skall uppt¨acka passagen av ett f¨orem˚al vars l¨angd ¨overstiger L. H¨arvid skall utsignalen y f˚a v¨ardet 1, efter att f¨orem˚alet fullst¨andigt passerat sensorn u2. (Signalen y kan t.ex.
ange f¨or en efterf¨oljande del av processen, att f¨orem˚alet skall skjutas ˚at sidan). Signalen y till˚ats f¨orbli vid v¨ardet 1 tills ett nytt f¨orem˚al ger signal. Endast f¨orem˚al som r¨or sig fr˚an v¨anster till h¨oger skall ge y = 1, men systemet skall reagera f¨ornuftigt ocks˚a i en situation d˚a ett f¨orem˚al r¨or sig fr˚an h¨oger till v¨anster. Konstruera tillst˚andsgraf och tillst˚andstabell f¨or systemet.
---
-
-u1 u2
y L
Figur 3.4: Sensorsystem
Tillst˚ andsminimering
Den primitiva tillst˚andstabellen enligt ovan kan i princip som s˚adan utnyttjas f¨or att konstruera det slutliga styrsystemet. I praktiken tenderar emellertid antalet tillst˚and hos systemet h¨arvid bli t¨amligen stort, vilket motiverar att man str¨avar till att f¨orenkla systemet. En tillst˚andstabell kan f¨orenklas genom kombination av tillst˚and. Tillst˚and kan kombineras genom att man ¨aven utnyttjar informationen hos insignalerna. P˚a detta s¨att kan tv˚a, eller flera, tillst˚and kombineras f¨orutsatt att de ¨ar konsistenta i den meningen att de tillst˚ands¨overg˚angar som f˚as f¨or olika insignalkombinationer, och som kan avl¨asas i tillst˚andstabellen, inte ¨ar motstridiga. P˚a detta s¨att f˚as f¨oljande regler f¨or kombinering av tillst˚and (rader i tillst˚andstabellen):
1. Tv˚a eller flera rader (tillst˚and) i tillst˚andstabellen kan kombineras om raderna har samma tal i de kolumner som anger n¨asta tillst˚and.
2. Ett stabilt (inringat) och ett icke-stabilt tillst˚and kombineras till stabilt (inringat) tillst˚and.
3. Ett tillst˚and (stabilt eller icke-stabilt) och ett ”don’t care” kombineras till ifr˚agavarande tillst˚and (stabilt eller icke-stabilt).
4. Tv˚a ”don’t care” kombineras till ”don’t care”.
5. Tv˚a stabila tillst˚and (dvs med olika nummer) kan kombineras om tillst˚anden har identiska utsig-naler.
6. Tv˚a eller flera instabila tillst˚and (dvs med olika nummer) kan kombineras om de tillst˚ands¨overg˚angar som sl˚as ihop sker mellan de sammanslagna tillst˚anden, och om alla tillst˚and har identiska utsignaler.
Betrakta som exempel den primitiva tillst˚andstabellen 3.1. Enligt reglerna ovan f˚as f¨oljande kombina-tioner: (1,5), (2,6), (3,4,5). I allm¨anhet kan antalet tillst˚and reduceras p˚a flera olika s¨att genom olika tillst˚andskombinationer. De olika kombinationsm¨ojligheterna brukar ˚ask˚adligg¨oras i form av ett samman-sm¨altningsdiagram (e. ”merger diagram”). I denna anges raderna (tillst˚anden) i den primitiva tillst˚ andsta-bellen i form av noder i en graf, och noderna f¨orenas med en l¨ank om motsvarande rader kan kombineras.
F¨or tillst˚andstabellen 3.1 f˚as diagrammet i Fig. 3.5. Varje grupp av noder i diagrammet med den egen-skapen att varje nod i gruppen ¨ar f¨orenad med alla andra noder i gruppen kan kombineras till ett nytt tillst˚and. I detta enkla exempel ger diagrammet direkt, att tillst˚anden kan reduceras antingen enligt
(1), (2, 6), (3, 4, 5),
3.1. SYNTES AV SEKVENTIELLA SYSTEM 39
5 6
4 1
3 2
Figur 3.5: Sammansm¨altningsdiagram
eller
(1, 5), (2, 6), (3, 4)
B˚ada alternativen leder i detta fall till tre tillst˚and hos det reducerade systemet. I praktiken kan antalet s¨att att reducera tillst˚anden bli mycket stort, och det optimala valet blir n¨odv¨andigtvis en kompromiss mellan olika kriterier. F¨oljande tumregler har visat sig vara nyttiga:
1. F¨or att f¨orenkla funktionerna f¨or utsignalerna yi, ¨ar det f¨ordelaktigt att kombinera rader (tillst˚and) med liknande eller identiska utsignaler yi.
2. F¨or att f¨orenkla de booleska uttryck som beh¨ovs f¨or att ange tillst˚ands¨overg˚angar, ¨ar det f¨ordelaktigt att v¨alja kombinationer som eliminerar m¨ojligast m˚anga instabila tillst˚and, och bevarar m¨ojligast m˚anga ”don’t care” tillst˚and.
F¨or exemplet i tabell 3.1 och 3.5 f˚as enligt regel 1 att kombination enligt (1,5), (2,6), (3,4) ¨ar att f¨oredra, ty enligt denna kombination kombineras endast tillst˚and med ekvivalenta utsignaler. Det reducerade systemet beskrivs med hj¨alp av en reducerad tillst˚andstabell. I denna introduceras tillst˚andsvariabler xi f¨or de nya tillst˚and som skapats genom tillst˚andskombination. Dessa variabler brukar anges till h¨oger i den reducerade tillst˚andstabellen.
F¨or det betraktade exemplet f˚as den reducerade tillst˚andstabellen 3.2.
Tabell 3.2: Reducerad tillst˚andstabell
u1 0 1 1 0
u2 0 0 1 1
1,5 1 2 3 5 x1
2,6 6 2 3 5 x2
3,4 1 4 3 5 x3
I detta fall har det f¨orenklade systemet tre tillst˚and. Tillst˚andsvariablerna xi (i = 1, 2, 3) kommer att best¨ammas s˚a, att xi = 1 (i = 1, 2, 3), d˚a systemet befinner sig i tillst˚and i (i = 1, 2, 3), och xi = 0, annars.
Uppgift 3.3 Best¨am en reducerad tillst˚andstabell f¨or systemet i Uppgift 3.2.
Best¨ amning av utsignalfunktionerna
Vi skall nu best¨amma utsignalfunktionerna yi f¨or det reducerade systemet. Varje utsignal yi ¨ar d˚a en boolesk funktion av tillst˚anden x1, x2, . . ., och insignalerna u1, u2, . . .. F¨or dessa booleska funktioner kan ett minimalt funktionsuttryck best¨ammas med hj¨alp av de metoder som behandlats i avsnitt 2.2.
Betrakta ˚ater exemplet med den primitiva tillst˚andstabellen 3.1 och den reducerade tillst˚andstabellen 3.2. I detta exempel blir utsignalfunktionerna triviala, eftersom endast tillst˚and med identiska utsignaler kombinerats (enligt tumregel A). Enligt tabell 3.1 ¨ar y1= 1 i de stabila tillst˚anden 2 och 6 dvs. d˚a x2= 1, och y2= 1 i de stabila tillst˚anden 3 och 4 , dvs. d˚a x3= 1, och vi f˚ar:
y1= x2, y2= x3 (3.2)
40 KAPITEL 3. SEKVENSSTYRNINGSPROBLEM Mera allm¨ant kan stabila tillst˚and som befinner sig p˚a samma rad i den reducerade tillst˚andstabellen ha olika utsignaler. Utsignalfunktionerna b¨or d˚a best¨ammas genom att betrakta varje stabilt tillst˚and i den reducerade tillst˚andstabellen. F¨or exemplet i fr˚aga f˚as att y1 = 1 f¨or de stabila tillst˚anden 2 och 6 varvid tabell 3.2 ger:
y1= u1u2x2+ u1u2x2
Detta uttryck kan f¨orenklas genom att observera att utsignalernas v¨arden ¨ar likgiltiga f¨or instabila till-st˚and. Vi kan beskriva y1 med hj¨alp av Karnaugh-diagrammet nedan.
1 - - 1
Best¨ amning av tillst˚ ands¨ overg˚ angar
Den reducerade tillst˚andstabellen (3.2) anger systemets tillst˚ands¨overg˚angar. I ett stabilt tillst˚and sker ingen tillst˚ands¨overg˚ang. I ett instabilt tillst˚and anger tabellen det nya stabila tillst˚andet till vilket
¨overg˚angen sker.
F¨or att beskriva tillst˚ands¨overg˚angarna definieras f¨or varje tillst˚andsvariabel xi en funktion av typen (3.1):
xi= (xi+ Si)· Ri
d¨ar (Set) funktionen Si= 1 ger en ¨overg˚ang till tillst˚andet i, xi = 1. Och (Reset) funktionen Ri= 1 ger en ¨overg˚ang fr˚an tillst˚andet i, xi = 0. Samt att Si = Ri = 0 f¨ororsakar ingen f¨or¨andring, xi f¨orblir vid sitt tidigare v¨arde. Situationen Si= Ri= 1 ¨ar s˚adan att den ej kan f¨orekomma.
F¨or systemet i tabell 3.2 har vi att ¨overg˚ang till det stabila tillst˚andet x1 f˚as om systemet befinner sig i tillst˚andet x3 och u1= u2= 0 eller u1 = 0, u2 = 1, eller om systemet befinner sig i tillst˚andet x2 och
(x1kan bortl¨amnas, ty R1= 1 g¨or ingen skada, fast¨an systemet skulle befinna sig i n˚agot annat tillst˚and.) P˚a samma s¨att f˚as f¨or de ¨ovriga tillst˚anden
S2= u1u2x1, R2= u1u2+ u1u2= u2
S3= u1u2, R3= u1u2+ u1u2= u1 (3.5) och f¨or tillst˚andsvariablerna f˚as slutligen uttrycken
xi= (xi+ Si)· Ri (3.6)
De booleska funktionerna 3.2 - 3.6 beskriver fullst¨andigt det i Ex. 3.1 s¨okta styrsystemet. Observera, att konstruktionen av funktionerna gjorts s˚a, att Si och Ri ¨ar funktioner av de nya insignalerna och de gamla tillst˚andsvariablerna, medan utsignalerna yi ¨ar funktioner av de nya insignalerna och de nya tillst˚andsvariablerna. Detta ¨ar viktigt att beakta vid implementering (programmering) av funktionerna.
T.ex. i ladder-diagram som anv¨ands i laborationsuppgiften s˚a utf¨ors de f¨ordefinerade set- och reset-funktionerna genast. Detta ¨ar typiskt inte ett problem, d˚a reset-funktioner i allm¨anhet ¨ar oberoende av tillst˚and (undantag f¨orekommer t.ex. p˚a sidan 52).
Uppgift 3.4 Slutf¨or syntesen av styrsystemet i Uppgift 3.2 och 3.3
Uppgift 3.5 Planera styrsystemet f¨or Ex. 3.1 i det fall d˚a tillst˚anden i den primitiva tillst˚andstabellen 3.1 kombineras enligt (1), (2, 6), (3, 4, 5).