• No results found

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 = 0orblir 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 yior 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

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).

Related documents