ÅBO AKADEMI LOGIKSTYRNING. Hannu Toivonen Jari Böling. Augusti Biskopsgatan 8 FIN Åbo Finland

Storlek: px
Starta visningen från sidan:

Download "ÅBO AKADEMI LOGIKSTYRNING. Hannu Toivonen Jari Böling. Augusti 2012. Biskopsgatan 8 FIN 20500 Åbo Finland"

Transkript

1 ÅBO AKADEMI TEKNISKA FAKULTETEN Laboratoriet för reglerteknik DEPARTMENT OF ENGINEERING Process Control Laboratory LOGIKSTYRNING Hannu Toivonen Jari Böling Augusti 202 Biskopsgatan 8 FIN Åbo Finland

2

3 Innehåll 0 Inledning 5 0. Litteratur Klassisk logik och boolesk algebra 9. Insignaler, utsignaler och tillstånd Propositionskalkyl Boolesk algebra Något om implementeringen av logiska funktioner Booleska funktioner 7 2. Disjunktiv och konjunktiv normalform Förenkling av booleska uttryck Karnaugh-diagram QMC-metoden System med flera utsignaler Konjunktiv minimalform Kombinatoriska automationsproblem Sekvensstyrningsproblem Syntes av sekventiella system Deterministiska sekvensstyrningsproblem Programmerbar logik Funktionssättet hos en PLC Programmering av en PLC Låg-nivå programmeringsspråk (IL) Kontaktdiagram (LD) Function Block Diagram (FBD) Petri nät 53 6 Planering av säkerhet för styrsystem 59 3

4 4 INNEHÅLL

5 Kapitel 0 Inledning Man kan dela in regler- och styrproblem i tre grupper:. 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 logikstyrning är inriktad på grupp 2. Exempel på logikstyrningsproblem Processindustrin: Start och nedkörning av processer Byte av driftstillstånd Säkerhetssystem, åtgärder vid felsituationer Operation av batch-processer Styckegodsindsutrin Operation av verktyg Robotar Vardagen Tjuvlarm Bankomater All slags elektronik Telefonväxlar 5

6 6 KAPITEL 0. INLEDNING Angränsande områden: Digitalteknik och elektronik Datateknik: Realtidssystem Denna kurs fokuserar på industriella sekvensstyrningsproblem och implementering med hjälp av programmerbar logik. Exempel 0. Blandningsprocess A B V A V B Reaktor V R Önskad funktion för blandningsprocessen: Reaktorna skall fyllas med innehållen i behållarna A och B, reaktorns innehåll skall omröras och uppvärmas till 80 o C, varefter reaktorn skall tömmas.

7 7 Schematiskt: Reaktorn tom V R stängd Öppna V A och V B A töms B töms Stäng V A då A tom Stäng V B då B tom A tömd B 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 A 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 8 KAPITEL 0. INLEDNING 0. 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:. L. Alm: Styrteknik. Studentlitteratur 99. Fokuserar på verkstads- och styckegodsprocesser. 2. W. Bolton: Programmable logic controllers. Newnes, fjärde upplagan, G.C. Cassandras och S Lafortune: Introduction to discrete event systems. Kluwer 999 och Springer Ganska teoretisk, behandlar Petri-nät utförligt. 4. M. Costanza: Programmable logic controllers - The industrisl computer. Arnold A.J Crispin: Programmable logic controllers and their engineering applications. McGraw-Hill 997. Innehåller IEC-standarden för programmering av PLC:n. 6. K.H. Fasol: Binäre steuerungstechnik. Springer T. Floyd: Digital fundamentals. Prentice-Hall S. Friedman: Logical design of automation systems. Prentice-Hall B. Haag: Industriell systemteknik Ellära, elektronik och automation. Studentlitteratur T.R. McCalla: Digital logic and computer design. MacMillan E.W. Kamen: Industrial controls and manufacturing. Academic Press J. Palmer och D. Perlman: Introduction to digital systems (Schaum s outline). McGraw-Hill M. Treseler: Designing state machine controllers using programmable logic. Prentice Hall 992.

9 Kapitel Klassisk logik och boolesk algebra. Insignaler, utsignaler och tillstånd Ett sekvensstyrsystem kan schematiskt framställas i form av följande diagram: Insignaler (från process) Utsignaler(till process) u y u 2 Logisk. y 2. funktion. u. n y m.. Nytt tillstånd Tillstånd..x x p x +,..., 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 + = {x + i } nya värden bestäms som funktioner av insignalerna U = {u i} och de tidigare tillstånden X = {x i }. Dessa funktioner kan i praktiken beskrivas med hjälp av klassisk logik eller, analogt, med boolesk algebra. Exempel. Transportör A B Insignaler: U = {u i }. Gå till vänster ( -knapp) 2. Gå till höger ( -knapp) 3. Stopp (STOP-knapp) 4. Lägessensor vid A (A) 5. Lägessensor vid B (B) 9

10 0 KAPITEL. KLASSISK LOGIK OCH BOOLESK ALGEBRA Tillstånd: X = {x i }. Stillastående vid A 2. Stillastående vid B 3. Stillastående mellan A och B 4. På väg mot höger (mot B) 5. På väg mot vänster (mot A) Utsignaler: Y = {y i }. 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 Exempel.2 Tillståndsgraf för styrsystemet i exempel.. 4 /H A/S /H ST OP/S /V ST OP/S A/S /V 5 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. Exempel.3 Tillståndstabell för styrsystemet i exempel.. Insignaler STOP A B Tillstånd Vid A /S 4/H /S /S (/S) 2. Vid B 5/V 2/S 2/S (2/S) 2/S 3. Mellan A och B 5/V 4/H 3/S /S 2/S 4. Mot B 3/S 4/H 3/S 4/H 2/S 5. Mot A 5/V 3/S 3/S /S 5/V 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 sekvensstyrningsproblem ofta leda till tämligen komplicerade operationer. Det krävs då systematiska metoder vid planeringen av systemet. Analys 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.

11 .2. PROPOSITIONSKALKYL.2 Propositionskalkyl Propositionskalkylen eller propositionslogiken är en del av den formella logiken som kan härledas tillbaka till Aristoteles ( f.kr.). I propositionskalkylen är grundbyggstenarna påståenden, eller propositioner. Ett påstående är antingen sant (S) eller falskt (F ). Exempel.4 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 (AND) 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 ) 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 (R) 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 2 KAPITEL. KLASSISK LOGIK OCH BOOLESK ALGEBRA.3 Boolesk algebra Boole introducerade år 854 en tvåvärd algebra som är isomorf 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. Operationerna i boolesk algebra är 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 x och x används även. Operationerna definieras med hjälp av följande postulat: Operationerna kan sammanfattas i form av en sanningstabell: = 0 (P ) + = (P 2) 0 + = + 0 = (P 3) = (P 4) 0 0 = 0 (P 5) 0 = 0 = 0 (P 6) 0 = (P 7) = 0 (P 8) A B A A + B Förutom ovannämnda operationer brukar man införa ytterligare ett antal operatationer: Dessa operationer beskrivs av sanningstabellen NOR (icke eller) A + B XOR (exklusivt eller) A B XNOR (exklusivt NOR) A B NAND (icke och) A B A + B A B A B Den egenskap som gör boolesk algebra speciellt viktig är dess isomorfi med propositionskalkylen. Denna isomorfi ges enligt följande: isomorf = med samma struktur Boolesk algebra Propositionskalkyl S 0 F + x x

13 .3. BOOLESK ALGEBRA 3 Postulaten (P ) (P 8) för propositionskalkyl respektive boolesk algebra är ekvivalenta om man substituerar konstanter och operationer enligt ovan. Alla de lagar i logiken som följer ur propositionskalkylens postulat (P ) (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 (R) (R9) givna tidigare för propositionskalkylen blir för boolesk algebra: x + x = x (R) x + x = (R2) x + = (R3) x + 0 = x (R4) x x = x (R5) x x = 0 (R6) x 0 = 0 (R7) x = 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 ) (P 8). Associationslagar: (R0) x + (y + z) = (x + y) + z (R) x(yz) = (xy)z Kommutationslagar: (R2) x + y = y + x (R3) xy = yx Distributionslagar: (R4) x(y + z) = xy + xz (R5) x + yz = (x + y)(x + z) Absorptionslagar: (R6) x + xy = x (R7) x(x + y) = x Transivitetslagar (konsensus): (R8) xy + xz + yz = xy + xz (R9) (x + y)(x + z)(y + z) = (x + y)(x + z) de Morgans lagar: (R20) x + y = x y (R2) xy = x + y Lagarna kan direkt generaliseras till flera variabler. De Morgans lagar generaliseras t.ex. till (R20) x + x x n = x x 2... x n (R2) x x 2... x n = x + x x n Anm. 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. Ange de Morgans lagar med hjälp av propositionskalkyl. Alla lagar i boolesk algebra följer ur postulaten (P ) (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.

14 4 KAPITEL. KLASSISK LOGIK OCH BOOLESK ALGEBRA Vi skall illustrera procedurerna med exempel: Uppgift.2 Visa a) de Morgans lagar b) transivitetslagen (R8).4 Något om implementeringen av logiska funktioner C.E. Shannon visade år 938 (i sitt diplomarbete) 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 = x = 0 då kontakten är sluten då kontakten är öppen och låt en spänningsnivå representera en variabel z, enligt z = då spänningen är hög (typiskt V ) z = 0 då spänningen är låg (typiskt 0 0.4V ) 5.5V 2.4V z = 0.4V 0 z = 0 Operationerna i den booleska algebran kan då implementeras med hjälp av s.k. logiska grindar. T.ex. x y z = xy (AND) x z = x + y (OR) y I praktiken är den elektroniska realiseringen av olika grindtyper betydligt mer komplicerad. Tabell. ger en sammanfattning av symbolerna för de enkla logiska grindarna.

15 .4. NÅGOT OM IMPLEMENTERINGEN AV LOGISKA FUNKTIONER 5 Tabell.: Symbolerna för de logiska grindarna (Källa: Sten Gustafsson) Grind Funktion IEC symbol Amerikansk symbol Buffert X = A A X A X Inverterare X = A A X A X OCH X = A. B A B & X A B X NAND X = A. B A B & X A B X ELLER X = A + B A B > X A B X NOR X = A + B A B > X A B X XOR X = A + B A B = X A B X Förutom symbolerna i tabell. anges invertering av insignalen symboliskt, t.ex.: x = A B: A & B x A B & x x = A + B: A B x A B 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.3 Planera ett nät som med hjälp av logiska grindar realiserar den logiska funktionen x = + AC

16 6 KAPITEL. KLASSISK LOGIK OCH BOOLESK ALGEBRA 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.: Exempel på mekaniska logiska grindar Figur.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 sekvensstyrningsproblem i industriell miljö. Också vanliga mikrodatorer används. Realiseringen av sekvensstyrningsproblem med hjälp av programmerbara datorer tas upp i kapitel 4.

17 Kapitel 2 Booleska funktioner 2. Disjunktiv och konjunktiv normalform Låt x,..., x n vara booleska variabler. En boolesk funktion f(x,..., x n ) är då en funktion av variablerna x,..., x n som antar något av värdena 0 eller. Funktionen kan beskrivas fullständigt med en funktionstabell, i vilken funktionens värde anges för alla de olika kombinationer av variabelvärden. Följande exempel illustrerar hur funktionstabellen på ett helt naturligt sätt kan konstrueras på basen av specifikationerna för ett logikstyrningsproblem. Exempel 2. Funktionstabell Betrakta en konsol som styr en maskin. Maskinen kan startas och stoppas med en ON/OFF switch. Dessutom finns en nyckel utan vilken konsolen ej kan opereras. Styrsystemet har följande insignaler: A representerar ON/OFF switchen: A =, om switchen befinner sig i ON läget A = 0, om switchen befinner sig i OFF läget B representerar låset: B =, om nyckeln är i B = 0, om nyckeln inte är i C representerar maskinen: C =, om maskinen går C = 0, om maskinen står Utsignalen X från styrsystemet skall styra maskinen: X = anger att maskinen skall gå, X = 0 anger att maskinen skall stanna eller stå. Utsignalen X skall vara definierad för varje tänkbar kombination av insignalerna A,B och C. Detta kan sammanfattas i nedanstående funktionstabell. Observera att man kan ta bort nyckeln utan att motorn stängs av, men att ON/OFF switchen då slutar fungera. Funktionstabell Minterm Maxterm A B C X p i p i A B C A + B + C 0 0 A BC A + B + C C A + B + C 0 0 C A + B + C C A + B + C 0 C A + B + C 0 C A + B + C C A + B + C 7

18 8 KAPITEL 2. BOOLESKA FUNKTIONER Funktionstabellen definierar X som en boolesk funktion X(A, B, C). Oberoende av sättet på vilket logikstyrningsproblemet realiseras bör den booleska funktionen X = X(A, B, C) uttryckas i form av ett explicit booleskt uttryck i variablerna A, B och C. Vi söker alltså ett funktionsuttryck som antar de värden som kolumnen för X anger för de olika variabelkombinationerna. Ett sådant kan enkelt konstrueras på följande sätt. För givna värden på variablerna A, B och C så finns enbart en term p i bestående av produkten av alla variabler (med eller utan icke) som tar värdet (nämligen det som finns angivet i motsvarande rad i tabellen), medan de övriga är 0. Vi kan ta en p i för varje situation vid vilken X skall bli, och uttrycka X som summan dessa termer (jmf. tabellen) X = A BC + C + C + C I uttrycket ovan kallas A BC, osv., termer, och uttrycket för X är ett exempel på disjunktiv form (summa av produkter). En disjunktiv form där varje variabel förekommer i varje term kallas disjunktiv normalform. En term där varje variabel förekommer kallas minterm (minimalpolynom, elementarprodukt). Termerna p i i tabellen är mintermer. Vi kan även konstruera termer p i som för givna värden på variablerna A, B och C är den enda summan av alla variabler (med eller utan icke) som är 0. Man kan på motsvarande sätt välja alla termer p i som motsvaras av variabelvärden för vilka X skall vara noll, och uttrycka X som produkten av dessa. I det här fallet fås X = (A + B + C) (A + B + C) (A + B + C) (A + B + C) Detta uttryck är ett exempel på konjunktiv form (produkt av summor). Faktorerna i en konjunktiv form kallas altermer. En konjunktiv form i vilken varje variabel förekommer i varje alterm kallas konjunktiv normalform. Altermerna i en konjunktiv normalform kallas maxtermer (maximalpolynom, elementarsummor). Termerna p i i tabellen är maxtermer. Ur konstruktionerna ovan är det uppenbart att vilken som helst boolesk funktion kan beskrivas med ett uttryck i disjunktiv form, eller alternativt ett uttryck i konjunktiv form (Shannons expansionsteorem). Dessa uttryck kan konstrueras direkt på basen av funktionstabellen. Detta resultat visar också att en godtycklig boolesk funktion alltid kan uttryckas med hjälp av ett algebraiskt uttryck i den booleska algebran, vilket inte är helt självklart på förhand. 2.2 Förenkling av booleska uttryck Då ett logikstyrningsproblem karakteriseras med hjälp av en eller flera booleska funktioner blir de erhållna booleska funktionsuttrycken ofta onödigt komplicerade. För att kunna realisera en funktion möjligast enkelt (minsta antalet logiska grindar, eller minsta antalet programsteg) är det av vikt att kunna förenkla booleska uttryck. Förenklingen kan alltid göras algebraiskt, genom att använda den booleska algebrans räknelagar. Uppgift 2. Hur många logiska grindar behövs att realisera den booleska funktionen i exempel 2.? Uppgift 2.2 Förenkla uttrycket x = (A + B)(B + C)(C + A)(C + A B C) Den algebraiska metoden har åtminstone följande nackdelar:. Klar systematik saknas 2. Metoden besvärlig i synnerhet då variablernas antal ökar 3. Metoden ger ingen garanti för att det uttryck som erhålls faktiskt är det enklaste, och ej kan förenklas vidare. Det har utvecklats systematiska metoder för förenkling av booleska funktionsuttryck, med vilka förenklingen kan göras effektivare, och vilka producerar det enklast möjliga uttrycken.

19 2.2. FÖRENKLING AV BOOLESKA UTTRYCK Karnaugh-diagram En standard procedur för förenkling av booleska funktioner baserar sig egenskaperna hos s.k. Karnaughdiagram. I dessa anges funktionsvärdena i rutor i ett diagram. Varje ruta motsvarar en kombination av variabelvärden. Nedan ges exempel på Karnaugh-diagram (utan insatta funktionsvärden) för två, tre, fyra och fem variabler. Två variabler: Tre variabler: A B 0 C 0 Fyra variabler: Fem variabler: C CD 0 DE Karnaugh-diagrammen är så konstruerade, att variabelvärdena för två avgränsande (närbelägna, adjacenta) rutor skiljer sig i en och endast en variabel. Omvänt skall två variabelkombinationer som skiljer sig i exakt en variabel finnas i närbelägna rutor. Härvid uppfattas radernas och kolumnernas ändrutor som angränsande. Diagrammet för fem variabler kan uppfattas som tredimensionell, så att den högra delen av diagrammet ligger bakom den vänstra. Förenklingen av booleska funktioner med hjälp av Karnaugh-diagram baserar sig på ovannämnda egenskaper hos närbelägna rutor, vilket illustreras av följande exempel. Exempel 2.2 Karnaugh-diagram Betrakta den booleska funktionen X = A BC + C + C + C från exempel 2.. Karnaugh-diagrammet får följande utseende (med endast ettorna insatta): C 0 X = + BC Tack vare diagrammets konstruktion kan förenklingarna C + C = A BC + C = BC upptäckas direkt från diagrammet. Man ser ytterligare att förenklingen C + C = AC kan göras men detta leder ej till ett lika enkelt uttryck för X.

20 20 KAPITEL 2. BOOLESKA FUNKTIONER C 0 X = A BC + C + AC Man kan formulera fem regler för förenklingsproceduren:. Varje ruta som inehåller en etta måste täckas av minst en cell (en ruta får täckas av flera celler). 2. Endast rutor med ettor får täckas av celler. 3. Cellerna måste vara rektangulära, och täcka en potens av 2 (, 2, 4, 8,...) antal rutor. 4. Antalet celler bör vara så litet som möjligt 5. Varje cell bör vara så stor som möjligt Av dessa är reglerna -3 ovillkorliga medan 4-5 strävar till att hitta den enklaste realisationen. Det faktum att man får täcka ettor med flera olika celler innebär i ovanstående exempel att användande av alla tre möjliga celler som täcker två rutor ger X = + BC + AC. Detta kan i sin tur förenklas till + BC, m.h.a. transivitetslagen (R8). Om vi följer regel 4 så kommer man direkt till detta uttryck Förenkling av booleska uttryck med hjälp av Karnaugh-diagram grundar sig således på att mintermer som kan kombineras till enklare termer upptar närbelägna rutor i diagrammet. Förenklingarna kan därmed ses direkt från diagrammet. För fyra variabler har vi fyra typer av termer:. Mintermer med alla fyra variabler, som täcker en ruta, och som ej kan kombineras med andra termer: CD 0 CD 0 2. Termer med tre variabler, som täcker två rutor (två skilda exempel): CD 0 CD BCD B CD 3. Termer med två variabler, som täcker fyra rutor (tre skilda exempel):

21 2.2. FÖRENKLING AV BOOLESKA UTTRYCK CD 0 CD 0 CD CD AD B D 4. Termer med en variabel, som täcker åtta rutor (två skilda exempel): CD 0 CD D D Karnaugh-diagrammen lämpar sig bäst för funktioner med högst fyra variabler. Det går emellertid att använda metoden även för funktioner med upp till åtta variabler. Exempel 2.3 Fem variabler C DE 0 C + D 0 Exempel 2.4 Sex variabler CD EF + BCDE F + A BCDE F + AC D EF + AC DEF + ACDE

22 22 KAPITEL 2. BOOLESKA FUNKTIONER Primimplikatorer En funktion f(x, x 2,..., x n ) säges inkludera en annan funktion g(x, x 2,..., x n ) om de värden för variablerna x, x 2,..., x n för vilka g =, också ger f =. Således inkluderar f t.ex. termerna i ett disjunktivt uttryck för f. En primimplikator π för en funktion f(x, x 2,..., x n ) definieras som en term i ett disjunktivt uttryck för f som har den egenskapen, att om någon av de i termen ingående variablerna avlägsnas, så inkluderar f inte den återstående produkten. Exempel 2.5 har primimplikatorerna f(x, x 2, x 3, x 4 ) = x x 2 x 4 + x 2 x 3 x 4 + x x 3 x 4 Obs. att x x 3 x 4 är inte en primimplikator. π = x x 2 x 4, π 2 = x 2 x 3 x 4, π 3 = x x x 3 x 4 0 x x Vid förenkling av en boolesk funktion är man i första hand intresserad av att uttrycka funktionen som en summa av primimplikatorer, ty man kan visa att detta resulterar i det i en viss mening enklaste uttrycket. I praktiken så skall man just följa reglerna 4 och 5 givna ovan, d.v.s. vi bör försöka täcka ettorna med möjligast få och möjligast stora celler. Och typiskt så är antalet viktigare än storleken vid minimiering av uttryck. Utvecklingen av en funktion i primimplikatorer behöver inte vara entydig. En väsentlig (essential) primimplikator är en primimplikator som alltid bör ingå i varje minimalform. En väsentlig primimplikator kännetecknas i ett Karnaugh-diagram av att den inkluderar åtminstone en ruta som ej kan ingå i någon annan primimplikator. Det är viktigt att man börjar med att ringa alla väsentliga primimplikatorer för att det minimala uttrycket skall erhållas. Exempel 2.6 anger rutor som definierar en väsentlig primimplikator. C + ACD + C + ACD CD Notera att vi enbart introducerar en term till (BD) om vi introducerar den största möjliga cellen i det här fallet.

23 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 23 Uppgift 2.3 Bestäm de väsentliga primimplikatorerna och den minimala formen för funktionen i diagrammet nedan. Tillåtet att lösa denna uppgift i kompendiet. CD Sedan de väsentliga primimplikatorerna uttagits, kan de återstående oinringade rutorna med ettor inkluderas av primimplikatorer på ett antal alternativa sätt. Dessa skall väljas så att möjligast enkla termer fås. Exempel 2.7 Flera minimala uttryck CD Väsentliga primimplikatorer: BD, A B D Termen C D kan inkluderas antingen i A C D eller i C (icke-väsentliga primimplikatorer). Detta ger två alternativa minimala uttryck: eller Ofullständigt specificerade funktioner BD + A B D + A C D BD + A B D + C De booleska funktioner som uppträder i praktiska logikstyrningsproblem är ofta ofullständigt specificerade, dvs. funktionens värde för vissa kombinationer av variabelvärden är likgiltig. Vissa kombinationer av variabelvärden kan t.ex. vara fysikaliskt omöjliga (jmf. Ex..), så att de aldrig förekommer. Funktionsvärdet för dessa omöjliga variabelkombinationer är då likgiltigt. Sådana likgiltiga funktionsvärden kallas don t care tillstånd. I ett Karnaugh-diagram anges de med ett streck,, och anger således att funktionsvärdet kan vara 0 eller. Detta kan utnyttjas för att konstruera ett möjligast enkelt funktionsuttryck. Exempel 2.8 Don t care tillstånden kan utnyttjas så att funktionen kan uttryckas i den minimala formen BD + AD + D CD

24 24 KAPITEL 2. BOOLESKA FUNKTIONER QMC-metoden Den grafiska metoden med Karnaugh-diagram blir givetvis oanvändbar då antalet variabler ökar. För större problem fordras algoritmer som kan programmeras. Den vanligaste algoritmen för förenkling av booleska funktioner är en metod enligt Quine och McClusky (QMC-metoden), som skall beskrivas nedan. Vi börjar med att numrera funktionstabellens rader i enlighet med det binära talsystemet. För tre variabler identifierar vi således de olika variabelkombinationerna enligt följande tabell. j A B C ( ) Proceduren är sedan följande. Först uppställs en funktionstabell med endast de rader för vilka funktionen antar värdet insatta. En funktion med Karnaugh-diagrammet nedan får således funktionstabellen i Tab. 2.. CD Nästa steg är att undersöka vilka rader i tabellen som kan kombineras till en enklare term. Detta är möjligt då två rader överensstämmer så när som i en variabel. Raderna 0 och 2 i Tab. 2.(a) kombineras t.ex. till den nya raden (Detta motsvarar kombination av termer enligt A B C D + A BCD = A B D) De på detta sätt konstruerade nya raderna samlas till en ny tabell, Tab. 2.(b). Proceduren upprepas tills ytterligare kombinationer inte mera kan göras i Tab. 2.(c). De termer som i denna procedur inte mera kan förenklas är primimplikatorer. Dessa har i Tabell 2. betecknats p, p 2,..., p 7. Såsom vi tidigare sett, ger en disjunktion av primimplikatorerna i allmänhet ej ett minimalt funktionsuttryck, eftersom alla primimplikatorer inte behöver medtas. För att finna vilka primimplikatorer som bör medtas uppgörs en primimplikatortabell, Tabell 2.2. I denna anger kolumnerna den ursprungliga funktionstabellens termer (Tab. 2. (a)), och raderna anger primimplikatorer. De termer som inkluderas av en primimplikator anges med x. Proceduren är sedan följande.. De kryss som förekommer ensamma i en kolumn omringas ( x ). Motsvarande primimplikator är en väsentlig primimplikator och bör medtas i funktionsuttrycket. De väsentliga primimplikatorerna anges med asterisk. 2. Alla kryss som förekommer i en rad med omringat x anges med klammer, [x]. 3. Ange alla de kryss som förekommer i en kolumn med [x] med parentes, (x). Detta anger att motsvarande term redan ingår i de primimplikatorer som medtagits och inte behöver beaktas i fortsättningen.

25 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 25 Tabell 2.: Stegvis förenkling (a) (b) (c) {j} A B C D 0, , , p 2, , p 2 5, p 3 5, 3-0 p 4 8, , , 4-0 2, p 5 2, 4-0 j A B C D {j} A B C D 0, 2, 8, p 6 8, 0, 2, p 7 4. Välj från de återstående valbara primimplikatorerna (p p 5 ) ett antal så att de återstående kryssen medtas. Ange raderna med dubbel asterisk. Valet skall göras så att funktionsuttrycket blir minimalt, dvs. Antalet termer (primimplikatorer) är minimalt, Termerna (primimplikatorerna) är korta (av två primimplikatorer i tabellen är den vars rad innehåller de flesta kryssen den kortare). Tabell 2.2: Primimplikatortabell j p (x) x p 2 x x p 3 x x p 4 x x p 5 (x) x p 6 x [x] [x] [x] p 7 [x] [x] [x] x I Tabell 2.2 är de valbara primimplikatorerna p p 5 alla lika långa. Det optimala valet är p 2 och p 4, ty alla andra val skulle kräva minst tre primimplikatorer. Enligt Tabell 2.2 ges det minimala funktionsuttrycket som en disjunktion av primimplikatorerna p 2, p 4, p 6 och p 7, av vilka p 6 och p 7 är väsentliga primimplikatorer. Uttrycket blir (jmf. Tab. 2.) B D + AD + ACD + BCD I exemplet i Tabell 2. var funktionen fullständigt specificerad. Proceduren kan emellertid enkelt anpassas för ofullständigt specificerade funktioner, med don t care funktionsvärden för vissa variabelkombinationer. Härvid inkluderar man de rader för vilka funktionsvärdet är ospecificerat ( don t care ) i funktionstabellen (Tab. 2.), och bildar primimplikatorerna såsom ovan. Vid uppställningen av primimplikatortabellen (Tab. 2.), lämnas emellertid motsvarande kolumner bort. (Då funktionens värde för dessa tillstånd inte spelar någon roll, behöver de ju ej beaktas då primimplikatorerna väljs ut. Däremot bör de beaktas i det första skedet då primimplikatorerna bildas, ty de kan endast leda till kortare primimplikatorer, ej längre.) Denna procedur leder till ett minimalt funktionsuttryck för ofullständigt specificerade funktioner.

26 26 KAPITEL 2. BOOLESKA FUNKTIONER Uppgift 2.4 Förenkla den logiska funktionen X med följande Karnoughdiagram (- motsvar don t care tillstånd): C QMC-metoden kan enkelt programmeras. I Friedman Logical Design of Automation Systems (Prentice Hall, 990), ges ett Fortran-program primp, som förenklar booleska uttryck. På denna kurs hemsida så finns även en Matlab-implementering av QMC-metoden tillgänglig, och en Scilab-version är också under arbete. Nedan visas en exempelkörning där programmet tillämpats för funktionen i Tabell 2. (a). Funktionsvärdena läses in i ordningsföljd, och programmet ger en förteckning över primimplikatorerna (observera att numreringen ej överensstämmer med den i Tabellerna 2. och 2.2, primp sorterar primimplikatorerna, så de kommer i ordningen p 6, p, p 2, p 4, p 3, p 7, p 5 ), samt anger vilka som är väsentliga och vilka som väljs bland de valbara. I constraint table anges slutligen vilka mintermer de olika icke-väsentliga primimplikatorerna inkluderar (täcker). % ~jboling/sst/primp SIMPLIFICATION OF BOOLEN FUNCTIONS BY PRIME IMPLICANT ANALYSIS ************************************************************** NUMBER OF VARILES : 4 INPUT FUNCTION VALUES IN TRUTH TLE ( 6 VALUES: = TRUE / 0 = FALSE / - = DON T CARE ) : *** BOOLEAN MINIMIZATION PROGRAM *** THIS FUNCTION CONTAINS 4 VARILES A LISTING OF THE INPUT DATA FOLLOWS TRUE MINTERMS = FALSE MINTERMS = 0 REDUNDANT MINTERMS (DON T CARES) = =, = 0, 2 =, 3 =, 4 = 0, 5 =, 6 = 0, 7 =, 8 =, 9 = 0, 0 =, = 0, 2 =, 3 =, 4 =, 5 = 0, 0 THE FOLLOWING IS A LIST OF THE PRIME IMPLICANTS OF THE MINIMIZED FUNCTION. ESSENTIAL PRIME IMPLICANTS ARE SO LELED, AND PRIME IMPLICANTS SELECTED FROM A CYCLIC CHART ARE LELED AS CHOSEN.

27 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 27 NO. COST PRIME IMPLICANTS A B C D ESSENTIAL CHOSEN CHOSEN ESSENTIAL INDICATES A MISSING VARILE, 0 INDICATES A COMPLEMENTED VARILE AND INDICATES A TRUE VARILE. THE FUNCTION IS REPRESENTED BY THE SUM OF BOTH THE ESSENTIAL AND THE CHOSEN PRIME IMPLICANTS. CONSTRAINT TLE COVERED COVERING PRIME MINTERM IMPLICANTS Samma problem kan också lösas med matlab-rutinen qmc, hittas alltså på kursens hemsida: >> qmc Program for minimizing Boolean expressions with the QMC-method Either a truth table or a boolean expression should be given. Use standard MATL logical operators: AND = & OR = NOT = ~ Logical terms should be separated with parentesis: (A ~B) & (B ~C) & (C ~A) & ((A & B & C) (~A & ~B & ~C)) Logical expression (L) or truth table (T)): T Number of variables: 4 A B C D 0: : : : 0 0 4: : 0 0 6: : 0 8: : : 0 0 : 0 0 2: 0 0 3: 0 4: 0 5: 0 Processing...

28 28 KAPITEL 2. BOOLESKA FUNKTIONER Truth table: i A B C D f Prime implicants: : : : : : : : Essential prime implicants: 2 Chosen prime implicants: 4 6 Logical expression: (~B & ~D) (A & ~D) (~A & C & D) (B & ~C & D) Matlab-programmet klarar också av att förenkla logiska uttryck, det generar själv en sanningstabell och sedan beräknar minimalt uttryck. Nedan löses uppgift 2.2. >>qmc Program for minimizing Boolean expressions with the QMC-method Either a truth table or a boolean expression should be given. Use standard MATL logical operators: AND = & OR = NOT = ~ Logical terms should be separated with parentesis: (A ~B) & (B ~C) & (C ~A) & ((A & B & C) (~A & ~B & ~C)) Logical expression (L) or truth table (T)): L Give logical function: (A ~B)&(B ~C)&(C ~A)&((A&B&C) (~A&~B&~C)) Processing...

29 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 29 Truth table: i A B C f Prime implicants: : 0 2: 7 Essential prime implicants: 2 Logical expression: (~A & ~B & ~C) (A & B & C) System med flera utsignaler I praktiken har man ofta inte en, utan flera funktioner x, x 2,..., x n, som är funktioner av variablerna A, B,.... I sådana fall kan man givetvis konstruera ett minimalt uttryck för varje funktion separat enligt metoderna som behandlats ovan. En förenkling kan emellertid fås om man beaktar att vissa termer kan vara gemensamma för de olika funktionerna. Sådana termer som delas av flera funktioner fås fram genom att betrakta produkter av formen x x 2, x x 3, x x 2 x 3,.... Vi skall illustrera proceduren med ett exempel. Exempel 2.9 Flera utsignaler Betrakta funktionerna x, x 2 och x 3 med Karnaugh-diagrammen i Fig 2.. I Fig 3.5 ges Karnaughdiagrammen för x, x 2 och x 3 samt produktfunktionerna x x 2, x x 3, x 2 x 3 och x x 2 x 3. Primimplikatorerna införs nu som normalt men så att man startar med produkten av högsta grad, x x 2 x 3, fortsätter med x x 2, x x 3 och x 2 x 3, och därefter betraktar x, x 2 och x 3. Härvid markeras en primimplikator inte om den redan förekommer i en produktfunktion av högre grad CD 0 CD 0 CD Proceduren ger primimplikatorer i Tab x x 2 x 3 Figur 2.: Utsignalerna x, x 2 och x 3

30 30 KAPITEL 2. BOOLESKA FUNKTIONER CD 0 CD 0 CD x x 2 x CD 0 CD 0 CD 0 CD x x 2 x x 3 x 2 x 3 x x 2 x 3 Figur 2.2: Förenkling av x, x 2 och x 3 Tabell 2.3: Primimplikatorer x x 2 x 3 : p = C x x 3 : p 2 = C D p 3 = BCD x x 2 : p 4 = C D p 5 = CD x 3 : p 6 = A BD p 7 = BC x 2 : p 8 = C p 9 = BCD x p 0 = BC D p = C Eftersom termen p = C kan användas i alla tre funktioner bör den medtas. Termerna p 2 p 5 uppträder i två funktioner och är således lovande kandidater för att medtas. Primimplikatorn p 6 hos x 3 är väsentlig och bör medtas. Termen p 7 inkluderas däremot av p, p 3 och p 6. Alltså medtas även p 3. Även p 2 måste medtas för att funktionen x 3 skall kunna beskrivas. Återstår de fyra rutor som täcks av termerna p 4, p 5, p 8, p 9, p 0 och p. Från figuren ses att minst tre termer bör medtas: antingen p 4, p 9 och p, eller p 5, p 8 och p 0. Detta resulterar i de minimala formerna x = C + BCD + C D + C x 2 = C + C D + BCD x 3 = C + C D + BCD + A BD respektive x = C + BCD + CD + BC D x 2 = C + CD + C x 3 = C + C D + BCD + A BD Uppgift 2.5 Konstruera ett nät som med hjälp av logiska grindar realiserar funktionerna x, x 2 och x 3. Man kan även förenkla logiska uttryck med flera utsignaler med QMC-metoden. Man börjar med att söka efter primimplikatorer som vanligt, fast man skall göra det för samtliga utsignaler och samtliga kombinationer av produkter av utsignaler. Varje kombination betraktas som separat fall, med separata primimplikatorer. I exempel 2.9 innebär det att man skall bestämma primimplikatorer för alla 7 Karnough-diagram. Det har vi i praktiken redan gjort, så låt oss gå till följande steg, som är att bilda en primimplikatortabell, som ser ut enligt följande: Sedan skall följande steg utföras:

31 2.2. FÖRENKLING AV BOOLESKA UTTRYCK 3 Tabell 2.4: Primimplikatortabell x x 2 x p x x p 3 x x x p 0 x x p x x p x x p 8 x x x 2 p 9 x x p x x p 2 p 6 x x x 3 p 7 x x x x p x x x x p 4 x x x x 2 p 5 x x p x x x x p 2 x x x x 3 p 3 x x x x p x x x x x x x x 2 x 3 x. De kryss som är ensamma i en kolumn skall inringas x, de motsvarar en väsentlig primimplikator. Märk motsvarande rader med asterisk. 2. Kontrollera även väsentliga primimplikatorer för de enskilda utsignalerna. Om de övriga kryssen i samma kolumn kommer från samma primimplikator, så är denna primimplikator oundviklig, och krysset skall inringas (på den plats där det förekommer längst ner). Märk även dessa rader med asterisk. Övriga kryss i kolumnen anges med parentes. 3. Alla rader där inringat kryss förekommer skall anges med klammer [x]. 4. Ange alla de kryss som förekommer i en kolumn med [x] med parentes, (x). Detta anger att motsvarande term redan ingår i de primimplikatorer som medtagits och inte behöver beaktas i fortsättningen. 5. Välj från de återstående valbara primimplikatorerna ett antal så att de återstående kryssen medtas. Märk raderna med dubbel asterisk. Valet skall göras så att funktionsuttrycket blir minimalt. 6. Funktionerna konstrueras genom att ta summan av de för varje enskild funktion väsentliga, oundvikliga och valda primimplikatorer. Dvs man tittar på en kolumn åt gången och tar alla primimplikatorer som har kryss med ring runt, eller som är vald. De primimplikatorer som har kryss med enbart klamrar behövs eventellt inte, detta måste skilt kontrolleras. I exemplet ovan så är p 2 oundviklig för x 3, men ej för x (därför att p 2 täcks av p 0 eller p som är valbara för x ), och den behöver således enbart medtas i x 3. Vi kommer givetvis till samma resultat som i exempel 2.9 på detta sätt. Då vi gör ovannämnda procedur så kommer vi att, som tidigare, se att p 6 är en väsentlig primimplikator. Det som inte tidigare framgick är att p, p 2 och p 3 är oundvikliga för en disjunktiv form, vilket nu inses via punkt 2 i proceduren ovan Konjunktiv minimalform De minimala uttryck som studerats ovan är disjunktiva minimalformer (summor av produkter). Det är ofta av vikt att också undersöka den konjunktiva minimalformen (produkt av summor). Enligt de Morgans lag (R2) kan ett konjunktivt uttryck för en funktion x uttryckas med hjälp av ett disjunktivt uttryck för x. Den konjunktiva minimalformen kan således bestämmas genom att bestämma den disjunktiva normalformen för x.

32 32 KAPITEL 2. BOOLESKA FUNKTIONER Exempel 2.0 Betrakta en funktion X med följande Karnaugh-diagram. CD Den minimala disjunktiva formen är För X fås ett minimalt uttryck enligt följande. X = BD + BC + AD + AC CD Disjunktiv minimalform för X: X = A B + CD Den konjunktiva minimalformen för X fås med hjälp av de Morgans lagar (R2), (R20) : X = A B + CD = A B CD = (A + B) (C + D) I detta exempel leder den konjunktiva minimalformen till ett enklare uttryck än den disjunktiva. Man kan även bestämma den konjuktiva minimalformen med QMC-metoden. Man skall då ställa upp funktionstabellen med endast de rader för vilka funktionen antar värdet 0 (i stället för ), övriga steg oförändrade. Detta ger på samma sätt som med Karnough-diagram en disjunktiv minimalform för X, som kan omvandlas till konjunktiv minimalform för X med de Morgans lagar. Vid användning av programmet primp eller qmc så skall man ta logisk icke på varje enskilt funktionsvärde, så beräknar programmet disjunktiv minimalform för X, som kan omvandlas till konjunktiv minimalform för X. Man kan även se att man från Karnoughdiagram eller QMC-primimplikatorer direkt kan utläsa den konjunktiva minimalformen. Man skall göra som när man utläser den disjunktiva normalformen, men byta ut + mot och vise versa (och sätta parenteser där det behövs, för + skall ju ske före ), samt ta logiskt icke på alla enskilda variabler. Detta är analogt med hur konjunktiv normalform bestämdes i kapitel 2.. För att det minimala uttrycket skall hittas bör såväl den disjunktiva som den konjunktiva minimalformen undersökas. Observera att för programmering av uttrycken kan det totala antalet operationer (additioner och multiplikationer) ofta ytterligare minskas genom distributionslagarna (R4), (R5). T.ex. X = BD + BC + AD + AC = B (D + C) + A (D + C) = (A + B) (D + C) I detta fall råkade detta leda till den konjunktiva minimalformen. Detta gäller dock ej allmänt.

33 2.3. KOMBINATORISKA AUTOMATIONSPROBLEM Kombinatoriska automationsproblem I ett kombinatoriskt automationsproblem bestäms utsignalerna från styrsystemet som booleska funktioner av insignalerna. u u 2. u n Insignaler (från process). Utsignaler (till process) y y 2 y n Jämför Ex. 2.. De booleska funktionerna följer ur specifikationerna och kan sammanfattas i form av en funktionstabell. De i avsnitt 2.2 diskuterade metoderna kan sedan tillämpas för att vid behov förenkla de booleska uttrycken. Hasard Då ett kombinatoriskt automationsproblem realiseras med hjälp av logiska grindar bör man beakta eventuell förekomst av sk. statisk hasard, och konstruera nätet så att det är hasardfritt. Problemet illustreras av följande exempel. Exempel 2. Betrakta en funktion X med Karnaugh-diagrammet nedan. C Funktionen har två väsentliga primimplikatorer vilka ger den disjunktiva minimala formen X = AC + Funktionen kan tydligen realiseras med hjälp av två AND- och en OR-grind: A B & & X C AC Betrakta nu vad som händer då insignalerna ändras från 0 till : C

34 34 KAPITEL 2. BOOLESKA FUNKTIONER Funktionen X har fortfarande värdet och ändras således ej. I praktiken är emellertid två grindar aldrig exakt lika snabba. Om den nedre grinden i figuren är något snabbare än den övre, så är utsignalerna från AND-grindarna 0 under ett kort ögonblick efter att den nedre grindens utsignal ändrats från till 0, men innan den övre grindens utsignal ändrats från 0 till. Systemets utsignal ser då ut så här: X 0 t Detta oönskade beteende kallas statisk hasard. Statisk hasard kan undvikas genom att observera att hasard inte förekommer för variabelförändringar som sker inom en primimplikator som medtagits i realiseringen (t.ex. ändringen 00 till 0 förorsakar ej hasard för nätet ovan). Vi inkluderar därför lämpliga icke-väsentliga primimplikatorer för att undvika hasard: C icke-väsentlig primimplikator X uttrycks nu i den icke-minimala formen X = AC + + BC Denna funktion kan realiseras med tre AND- och en OR-grind: A & B & X C & Denna realisering är hasardfri. Nuförtiden förverkligas logikstyrningsproblem oftast med hjälp av programmerbar logik eller mikrodatorer, i vilka de booleska funktionerna programmeras. Dessa fungerar så att utsignalerna ges nya värden först då hela programmet utförts, varefter cykeln upprepas, osv. Således uppstår problemet med statisk hasard inte vid implementering med hjälp av programmerbar logik resp. mikrodatorer.

35 Kapitel 3 Sekvensstyrningsproblem Vid kombinatoriska styrproblem av den typ som betraktades i avsnitt 2.3, och i Ex. 2., bestämdes utsignalerna från styrsystemet som booleska funktioner av insignalerna. För att förverkliga mera generella sekvensstyrningsproblem bör systemet också hålla reda på tillståndet som processen befinner sig i vid en given tidpunkt. Detta sker i praktiken genom att införa tillståndsvariabler {x i }, vilkas värden definierar systemets olika tillstånd. Styrsystemet kan schematiskt beskrivas med följande figur. Insignaler (från process) Utsignaler(till process) u y u 2 Logisk. y 2. funktion. u. n y m.. Nytt tillstånd Tillstånd..x x p x +,..., x+ p. Minne. Figur 3.: Styrsystem med minne Här är utsignalerna y,..., y m till processen och tillståndsvariablernas nya värden x +,..., x+ p (det nya tillståndet) booleska funktioner av insignalerna u,..., u n från processen samt tillståndsvariablerna x,..., x p (det tidigare tillståndet). De booleska funktionerna kan behandlas med de metoder som diskuterades i avsnitt 2. Det nya problemet som tillkommer vid sekvensstyrningsproblem är att definiera tillstånd och tillståndsvariabler samt att bestämma hur de nya värdena x +,..., x+ p skall bestämmas. Sekvensstyrningsproblem kan ytterligare indelas i deterministiska sekvensstyrningsproblem, där processen skall genomgå en på förhand bestämd sekvens (t.ex. fyllning och tömning av reaktor), och stokastista sekvensstyrningsproblem, där systemet skall funktionera rationellt för godtyckliga insignalsekvenser (jmf. Ex..). De stokastiska sekvensstyringsproblemen är i allmänhet besvärligare att behandla än de deterministiska. Vippor Medan kombinatoriska styrproblem kan realiseras enbart med hjälp av logiska grindar, fordrar sekventiella styrproblem dessutom element som håller reda på tillståndet, dvs. fungerar som minne. I elektroniken realiseras minnesfunktioner med hjälp av vippor (flip-flops). Den viktigaste typen av vippa är RS-vippan (Reset-Set) (även SR-vippa), vars symbol och sanningstabell ges i Fig. 3.2 Vippan fungerar alltså så, att för S = (Set) blir x =, för R = (Reset) blir x = 0, och för R = S = 0 förblir x vid sitt tidigare värde. Vippan fungerar alltså som en minnesfunktion, där värdet hos variabeln 35

36 36 KAPITEL 3. SEKVENSSTYRNINGSPROBLEM S R S R S R x x x x Figur 3.2: SR-vippa x anger vilkendera av signalerna S och R senast haft värdet. För insignalkombinationen R = S = är x ej definierad. Funktionen hos en RS-vippa kan beskrivas av ekvationen x + = (x + S) R (3.) Uppgift 3. Verifiera ekvation 3. på basen av sanningstabellen i Fig En RS-vippa kan realiseras i form av två återkopplade NOR-grindar (jmf. föreläsningarna i elektronik). Förutom RS-vippan används andra typer av vippor: JK-vippan, D-vippan och T-vippan är de vanligaste. Dessa skall dock ej behandlas här. 3. Syntes av sekventiella system Det existerar flera syntesmetoder med vilka styrsystem för sekventiella processer kan planeras. Den klassiska metoden i detta sammanhang är en syntesmetod först presenterad av Huffman år 954, och senare vidareutvecklad av andra. Huffmans metod är ursprungligen utvecklad för den situation då systemet skall realiseras med hjälp av logiska grindar och vippor. Proceduren ägnar därför stor uppmärksamhet vid att systemet skall kunna realiseras med så få vippor som möjligt, och vid att undvika sådana oönskade funktioner som beror på att de olika elementen reagerar olika snabbt, såsom (dynamisk) hasard och sk. kapplöpningar. Då man i praktiken nuförtiden vanligen implementerar sekvensstyrning med hjälp av datorer så är ovan nämnda aspekter av underordnad betydelse. Detta leder till en avsevärd förenkling av syntesproceduren. Vi skall här beskriva en förenklad version av Huffmans metod, som är lämpad för styrsystem som implementeras med dator. Exempel 3. Alarmsystem Alarmsignal Kvitteringsknapp u u 2 Styrsystem y y 2 Siren Alarmlampa För att illustrera syntesproceduren skall vi betrakta alarmsystemet enligt figuren. Systemet skall fungera på följande sätt. Då u =, vilket representerar en alarmsignal från processen, skall y =, vilket slår på alarmsiren. Operatören kan kvittera signalen med en kvitteringsknapp (u 2 ), så att en (momentan) signal u 2 = slår av sirenen (y = 0), som ersätts av en blinkande alarmlampa (y 2 = ). Lampan bör fortsätta att blinka så länge u =. Då u 0, skall y 2 = 0. Dessutom skall i det fall då den farliga situationen (u = ) försvinner av sig själv (u = 0), innan kvittering getts, sirenen fortsättningsvis vara på. Detta för att operatören skall tvingas observera att en farosituation förekommit. Vid kvittering i detta fall skall emellertid alarmlampan inte börja blinka.

Inledning. Kapitel 0. Det finns tre typer av regler- och styrproblem

Inledning. Kapitel 0. Det finns tre typer av regler- och styrproblem 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

Läs mer

2.1 Disjunktiv och konjunktiv normalform

2.1 Disjunktiv och konjunktiv normalform Kapitel 2 Booleska funktioner 2. Disjunktiv och konjunktiv normalform Låt x,..., x n vara booleska variabler. En boolesk funktion f(x,..., x n ) är då en funktion av variablerna x,..., x n som antar något

Läs mer

SMD033 Digitalteknik. Digitalteknik F1 bild 1

SMD033 Digitalteknik. Digitalteknik F1 bild 1 SMD033 Digitalteknik Digitalteknik F1 bild 1 Vi som undervisar Anders Hansson A3209 91 230 aha@sm.luth.se Digitalteknik F1 bild 2 Registrering Registrering via email till diglabs@luth.se Digitalteknik

Läs mer

Quine McCluskys algoritm

Quine McCluskys algoritm Quine McCluskys algoritm Tabellmetod för att systematiskt finna alla primimplikatorer ƒ(a,b,c,d) = m(4,5,6,8,9,0,3) + d(0,7,5) Moment : Finn alla primimplikatorer Steg: Fyll i alla mintermer i kolumn.

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Logikgrindar Från data till digitala byggblock: Kursens

Läs mer

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck KOMBINATORISK LOGIK Innehåll Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck Boolesk algebra Karnaugh-diagram Realisering av logiska funktioner

Läs mer

Digitalteknik F2. Digitalteknik F2 bild 1

Digitalteknik F2. Digitalteknik F2 bild 1 igitalteknik F2 igitalteknik F2 bild Återblick från F: Kombinatoriska och sekventiella kretsar Funktionstabeller ooleska funktioner Logiksymboler esignspråk igitalteknik F2 bild 2 Förenkling av komb. funkt.

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE24 F2 : Logiska Grindar och Kretsar, Boolesk Algebra william@kth.se IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska

Läs mer

Digitalteknik syntes Arne Linde 2012

Digitalteknik syntes Arne Linde 2012 Digitalteknik, fortsättningskurs Föreläsning 3 Kombinatoriska nät 202 VHDL repetition + Strukturell VHDL Lite repetition + Karnaughdiagram(4-6var), flera utgångar + Quine-McCluskey + intro tid 2 Entity

Läs mer

Styrteknik: Grundläggande logiska funktioner D2:1

Styrteknik: Grundläggande logiska funktioner D2:1 Styrteknik: Grundläggande logiska funktioner D2:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik: Grundläggande logiska funktioner

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering IE25 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering Mintermer 2 3 OR f En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som

Läs mer

Sekvensstyrningsproblem

Sekvensstyrningsproblem Kapitel 3 Sekvensstyrningsproblem Vid kombinatoriska styrproblem av den typ som betraktades i avsnitt 2.3, och i Ex. 2.1, bestämdes utsignalerna från styrsystemet som booleska funktioner av insignalerna.

Läs mer

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES IE1205 Digital Design F2 : Logiska Grindar och Kretsar, oolesk Algebra Fredrik Jonsson KTH/ICT/ES fjon@kth.se Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen x

Läs mer

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen = = Symbol S Implementering av logiska funktioner Switchen kan användas för att implentera logiska funktioner Power

Läs mer

Grundläggande digitalteknik

Grundläggande digitalteknik Grundläggande digitalteknik Jan Carlsson Inledning I den verkliga världen vet vi att vi kan få vilka värden som helst när vi mäter på något. En varm sommardag visar termometern kanske 6, 7 C. Men när det

Läs mer

Programmerbar logik. Kapitel 4

Programmerbar logik. Kapitel 4 Kapitel 4 Programmerbar logik Programmerbar logik (PLC: Programmable Logic Controller; fi. ohjelmoitava logiikka) är en sorts mikrodatorliknande instrument som är speciellt avsedda för logik- och sekvensstyrningsproblem.

Läs mer

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS. 2008-01-24 v 2.1

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS. 2008-01-24 v 2.1 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Christer Ardlin/Lars Wållberg/ Dan Weinehall/Håkan Joëlson 2008-01-24 v 2.1 ELEKTRONIK Digitalteknik Laboration D181 Kombinatoriska kretsar,

Läs mer

Tentamen i Digitalteknik, EITF65

Tentamen i Digitalteknik, EITF65 Elektro- och informationsteknik Tentamen i Digitalteknik, EITF65 3 januari 2018, kl. 14-19 Skriv anonymkod och identifierare, eller personnummer, på alla papper. Börja en ny uppgift på ett nytt papper.

Läs mer

Mintermer. SP-form med tre mintermer. William Sandqvist

Mintermer. SP-form med tre mintermer. William Sandqvist Mintermer OR f 2 3 En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som tillsammans gör att termen antar värdet. SP-form med tre mintermer. f = m

Läs mer

EDA Digital och Datorteknik 2009/2010

EDA Digital och Datorteknik 2009/2010 EDA45 - Digital och Datorteknik 29/2 EDA 45 - Digital och Datorteknik 29/2, lärobokens kapitel 3 Ur innehållet: Satslogik och Boolesk algebra Grindar Funktionstabell Binär evaluering Normal orm/förenklad

Läs mer

Sanningstabell. En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false)

Sanningstabell. En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false) Sanningstabell En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false) ND OR Logiska grindar ND-grinden (OCH) IEC Symbol (International

Läs mer

IE1204/IE1205 Digital Design

IE1204/IE1205 Digital Design TENTAMEN IE1204/IE1205 Digital Design 2012-12-13, 09.00-13.00 Inga hjälpmedel är tillåtna! Hjälpmedel Tentamen består av tre delar med sammanlagd tolv uppgifter, och totalt 30 poäng. Del A1 (Analys) innehåller

Läs mer

IE1204 Digital Design

IE1204 Digital Design IE1204 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multiplexor KK2 LAB2 Låskretsar, vippor, FSM

Läs mer

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2007-11-19 v 1.1 DIGITALTEKNIK Laboration D173 Grundläggande digital logik Innehåll Mål. Material.... Uppgift 1...Sanningstabell

Läs mer

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett

Läs mer

EDA Digital och Datorteknik 2010/2011

EDA Digital och Datorteknik 2010/2011 EDA45 - Digital och Datorteknik 2/2 EDA 45 - Digital och Datorteknik 2/2, lärobokens kapitel 3 Ur innehållet: Satslogik och Boolesk algebra Grindar Funktionstabell Binär evaluering Normal orm/förenklad

Läs mer

Tentamen i Digital Design

Tentamen i Digital Design Kungliga Tekniska Högskolan Tentamen i Digital Design Kursnummer : Kursansvarig: 2B56 :e fo ingenjör Lars Hellberg tel 79 7795 Datum: 27-5-25 Tid: Kl 4. - 9. Tentamen rättad 27-6-5 Klagotiden utgår: 27-6-29

Läs mer

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL0090 Föreläsning 2 2007-0-25 08.5 2.00 Naos De logiska unktionerna implementeras i grindar. Här visas de vanligaste. Svenska IEC standard SS IEC 87-2 Amerikanska ANSI/IEEE Std.9.984

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #5 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad är ett bra grindnät? De egenskaper som betraktas som

Läs mer

MATEMATIKENS SPRÅK. Avsnitt 1

MATEMATIKENS SPRÅK. Avsnitt 1 Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en

Läs mer

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! En funktion av fyra variabler a b c d Sanningstabellen till höger innehåller 11 st 1:or och 5 st 0:or. Funktionen kan uttryckas

Läs mer

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Lösningsförslag till tentamen i Digitalteknik, TSEA22 Försättsblad till skriftlig tentamen vid Linköpings universitet, Datorteknik, ISY (4) Lösningsförslag till tentamen i Digitalteknik, TSEA Datum för tentamen 3009 Salar U4, U7, U0 Tid 4.00-8.00 Kurskod

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik George Boole och paraplyet F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant p = b! (s " r) George Boole (1815-1864) Professor i Matematik, Queens College, Cork, Irland 2 Exklusiv

Läs mer

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system Vad är det? Översikt Discrete structure: A set of discrete elements on which certain operations are defined. Discrete implies non-continuous and therefore discrete sets include finite and countable sets

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #13 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad kännetecknar en tillståndsmaskin? En synkron tillståndsmaskin

Läs mer

Grundläggande Datorteknik Digital- och datorteknik

Grundläggande Datorteknik Digital- och datorteknik Grundläggande Datorteknik Digital- och datorteknik Kursens mål: Fatta hur en dator är uppbggd (HDW) Fatta hur du du programmerar den (SW) Fatta hur HDW o SW samverkar Digital teknik Dator teknik Grundläggande

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE24 F4 Karnaugh-diagrammet, två- och fler-nivå minimering william@kth.se IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB

Läs mer

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra Logik F4 Logik Boolesk algebra EDAA05 Roger Henriksson Jonas Wisbrant Konsten att, och vetenskapen om, att resonera och dra slutsatser. Vad behövs för att man ska kunna dra en slutsats? Hur kan man dra

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings universitet

Försättsblad till skriftlig tentamen vid Linköpings universitet Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen 08-03-3 Sal (5) Tid 8- Kurskod TSEA Provkod TEN Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som

Läs mer

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind Dagens öreläsning behandlar: Läroboken kapitel 3 Arbetsboken kapitel,3 Ur innehållet: Satslogik och Grindar Funktionstabell Binär evaluering Normal orm/förenklad orm/ Minimal orm Karnaughdiagram Negation,

Läs mer

Ladderprogrammering steg för steg

Ladderprogrammering steg för steg Ladderprogrammering steg för steg En introduktion till LD-programmering för kursen MIE 012 Elektroteknikens Grunder vid LTH. Gunnar Lindstedt Introduktion Den dominerande typen av styrsystem för binära

Läs mer

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH T1-modulen Lektionerna 10-12 Radioamatörkurs OH6AG - 2011 Bearbetning och översättning: Thomas Anderssén, OH6NT Original: Heikki Lahtivirta, OH2LH 1 Logikkretsar Logikkretsarna är digitala mikrokretsar.

Läs mer

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

LMA033/LMA515. Fredrik Lindgren. 4 september 2013 LMA033/LMA515 Fredrik Lindgren Matematiska vetenskaper Chalmers tekniska högskola och Göteborgs universitet 4 september 2013 F. Lindgren (Chalmers&GU) Matematik 4 september 2013 1 / 25 Outline 1 Föreläsning

Läs mer

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden. MATEMATISK LOGIK Matematisk logik formaliserar korrekta resonemang och definierar formellt bindeord (konnektiv) mellan påståenden (utsagor, satser) I matematisk logik betraktar vi påståenden som antingen

Läs mer

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson Repetition TSIU05 Digitalteknik Di/EL Michael Josefsson Här kommer några frågeställningar och uppgifter du kan använda för att använda som egenkontroll på om du förstått huvudinnehållet i respektive föreläsning.

Läs mer

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl Tentamen TSEA22 Digitalteknik 5 juni, 2015, kl. 08.00-12.00 Tillåtna hjälpmedel: Inga. Ansvarig lärare: Mattias Krysander Visning av skrivningen sker mellan 10.00-10.30 den 22 juni på Datorteknik. Totalt

Läs mer

Digitala system EDI610 Elektro- och informationsteknik

Digitala system EDI610 Elektro- och informationsteknik Digitala system EDI610 Elektro- och informationsteknik Digitala System EDI610 Aktiv under hela första året, höst- och vår-termin Poäng 15.0 Godkännande; U,3,4,5 Under hösten i huvudsak Digitalteknik Under

Läs mer

Booleska variabler och översättning mellan programuttryck och booleska variabler

Booleska variabler och översättning mellan programuttryck och booleska variabler Vad är Boolesk algebra Lite förenklat kan man säga att Boolesk algebra är räkneregler konstruerade av den engelske matematikern Gerge Boole för att kunna räkna med logiska uttryck. I den booleska algebran

Läs mer

Logik och kontrollstrukturer

Logik och kontrollstrukturer Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch

Läs mer

Sekvensnät Som Du kommer ihåg

Sekvensnät Som Du kommer ihåg Sekvensnät Som Du kommer ihåg Designmetodik Grundläggande designmetodik för tillståndsmaskiner. 1. Analysera specifikationen för kretsen 2. Skapa tillståndsdiagram 3. Ställ upp tillståndstabellen 4. Minimera

Läs mer

Följddiagram för händelsestyrda rörelser

Följddiagram för händelsestyrda rörelser Följddiagram för händelsestyrda rörelser 2 STYROBJEKT UNIKA FASER Två arbetscylindrar ska röra sig i följande ordning. När man ger startkommando ska kolvstången i cylinder gå ut. När den har nått sitt

Läs mer

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson, John Berge 203 DIGITALTEKNIK I Laboration DE2 Sekvensnät och sekvenskretsar Namn... Personnummer... Epost-adress... Datum för

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE1204 F10 Tillståndsautomater del II william@kth.se IE1204 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska

Läs mer

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar Moment 2 - Digital elektronik Föreläsning 1 Binära tal och logiska grindar Jan Thim 1 F1: Binära tal och logiska grindar Innehåll: Introduktion Talsystem och koder Räkna binärt Logiska grindar Boolesk

Läs mer

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p. HH / Georgi Tchilikov DISKRET MATEMATIK,5p. 8 juni 007, 40 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 5p. för Godkänd, 4p. för Väl Godkänd (av maximalt 36p.). Förenkla (så mycket som

Läs mer

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Tentamensfrågor med lösningsförslag Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista

Läs mer

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs: UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Christer Ardlin/Lars Wållberg/ Håkan Joëlson 2000-01-28 v 2.3 ELEKTRONIK Digitalteknik Laboration D151 Kombinatoriska kretsar, HCMOS Namn:

Läs mer

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/ Tentamen med lösningar för IE4/5 Digital Design Torsdag 5/ 5 9.-. Allmän information Eaminator: Ingo Sander. Ansvarig lärare: Kista, William Sandqvist, tel 8-79 44 87. KTH Valhallavägen, Fredrik Jonsson,

Läs mer

Tentamen i EDA320 Digitalteknik för D2

Tentamen i EDA320 Digitalteknik för D2 CHALMERS TEKNISKA HÖGSKOLA Institutionen för datorteknik Tentamen i EDA320 Digitalteknik för D2 Tentamenstid: onsdagen den 2 mars 997 kl 4.5-8.5. Sal: vv Examinator: Peter Dahlgren Tel. expedition 03-772677.

Läs mer

IE1204 Digital Design

IE1204 Digital Design IE204 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multiplexor KK2 LAB2 Låskretsar, vippor, FSM F0 F

Läs mer

Styrteknik: MELSEC FX och numeriska värden

Styrteknik: MELSEC FX och numeriska värden PLC2C:1 MELSEC FX I kursen styrteknik används styrsystemet FX1S som är ett litet system i MELSEC FX-serien. Vår version av FX1S har endast digitala in- och utgångar men oftast finns det både digitala och

Läs mer

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl Institutionen för systemteknik, ISY, LiTH Tentamen i Digitalteknik TSIU05/TEN1 Tid: 2016 10 26 kl. 14 18 Lokal : TER3 TER4 Ansvarig lärare: Michael Josefsson. Besöker lokalen kl 16. Tel.: 013-28 12 64

Läs mer

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2 IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2 Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör

Läs mer

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I. Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.. Uttryckt i decimal form: A=28+32+8 + 2 =70 B=59 C=7 A+B+C=246 2. Jag låter A' betyda "icke A" A'B'C'D'+ABC'D'+A'BCD'+AB'CD'=D'(A'(B'C'+BC)+A(BC'+B'C))=

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

Sekvensstyrning Grafcet och IEC

Sekvensstyrning Grafcet och IEC Sekvensstyrning Grafcet och IEC 61131-3 Indtroduktion GRAFCET Tekniken grundades i Frankrike på 1970-talet och ligger till grund för ett standardiserat programspråk i enlighet med standard IEC 61131-3.

Läs mer

Introduktion till logik

Introduktion till logik Introduktion till logik Av Johan Johansson Johan.johansson@guldstadsgymnasiet.se Logik sägs som många andra saker komma från de grekiska filosoferna, och ordet kommer också därifrån. Grekerna kallade det

Läs mer

DIGITALA TAL OCH BOOLESK ALGEBRA

DIGITALA TAL OCH BOOLESK ALGEBRA DIGITALA TAL OCH BOOLESK ALGEBRA Innehåll Talsystem och koder Aritmetik för inära tal Grundläggande logiska operationer Logiska grindar Definitioner i Boolesk algera Räknelagar BINÄRA TALSYSTEMET Binärt

Läs mer

Diskret matematik: Övningstentamen 1

Diskret matematik: Övningstentamen 1 Diskret matematik: Övningstentamen 1 1. Bevisa att de reella talen är en icke-uppräknelig mängd.. För två mängder av positiva heltal A och B skriver vi A C B, om det är så att A innehåller ett heltal som

Läs mer

Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0

Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0 1 Föreläsning 2 ht2 Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) Lite om logiska operationer Logiska variabler är storheter som kan anta två värden; sann 1 falsk 0 De logiska variabler

Läs mer

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System 1 TSIU05 Digitalteknik LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System Sammanställning september 2013 Läs detta först Läs igenom hela laborationen så du vet vad du skall göra på laborationspasset. Hela

Läs mer

Tentamen i Digitalteknik, EIT020

Tentamen i Digitalteknik, EIT020 Elektro- och informationsteknik Tentamen i Digitalteknik, EIT020 4 april 2013, kl 14-19 Skriv namn och årskurs på alla papper. Börja en ny lösning på ett nytt papper. Använd bara en sida av pappret. Lösningarna

Läs mer

Tentamen EDAA05 Datorer i system

Tentamen EDAA05 Datorer i system LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen EDAA05 Datorer i system 2011 10 17, 8.00 13.00 Tillåtna hjälpmedel: bifogad formel- och symbolsamling. För godkänt betyg på tentamen

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Instittionen för data- och informationsteknik Chalmers tekniska högskola Från data till digitala byggblock: Krsens inledande föreläsningarna

Läs mer

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1 Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1 Från Wikipedia: Sekvensnät Ett sekvensnäts utgångsvärde beror inte bara på indata, utan även i vilken ordning datan kommer (dess sekvens).

Läs mer

Exempel på tentamensfrågor Digitalteknik

Exempel på tentamensfrågor Digitalteknik Exempel på tentamensfrågor Digitalteknik Till dessa frågor (som kommer från lite olika tidgare tentor) gällde förutsättningen: Hjälpmedel: Kurslitteratur, föreläsningsantecknigar lab. med mätresultat,

Läs mer

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011 EDA 451 - Digital och Datorteknik 2010/2011 Ur innehållet: Vi repeterar kursens lärandemål Diskussion i kring övningstentor t Övriga frågor 1 Lärandemål Det övergripande målet är att den studerande ska

Läs mer

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg/Håkan Joëlson John Berge 2013 DIGITALTEKNIK I Laboration DE1 Kombinatoriska nät och kretsar Namn... Personnummer... Epost-adress...

Läs mer

Ladderprogrammering steg för steg

Ladderprogrammering steg för steg Ladderprogrammering steg för steg En introduktion till LD-programmering för kursen EIEF35 Elektroteknikens Grunder vid LTH. Gunnar Lindstedt Introduktion Den dominerande typen av styrsystem för binära

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Allmän information Exaator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204) Tentamensuppgifterna behöver

Läs mer

D0013E Introduktion till Digitalteknik

D0013E Introduktion till Digitalteknik D0013E Introduktion till Digitalteknik Slides : Per Lindgren EISLAB per.lindgren@ltu.se Ursprungliga slides : Ingo Sander KTH/ICT/ES ingo@kth.se Vem är Per Lindgren? Professor Inbyggda System Från Älvsbyn

Läs mer

Föreläsningsanteckningar och övningar till logik mängdlära

Föreläsningsanteckningar och övningar till logik mängdlära Inledande matematisk analys tma970, 010, logik, mängdlära Föreläsningsanteckningar och övningar till logik mängdlära Dessa öreläsningsanteckningar kompletterar mycket kortattat kap 0 och appendix B i Persson/Böiers,

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 5 27-2-2 8.5 2. Naxos Demonstration av uartus programvara. Genomgång av uartus flödesschema. Detta dokument finns på kurshemsidan. http://www.idt.mdh.se/kurser/cl9/ VHDL-kod

Läs mer

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #9 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola ekvensnät Vad kännetecknar ett sekvensnät? I ett sekvensnät

Läs mer

FUZZY LOGIC. Christopher Palm chrpa087

FUZZY LOGIC. Christopher Palm chrpa087 FUZZY LOGIC 900223-1554 Innehållsförteckning INLEDNING...2 HUR DET FUNGERAR...3 Crisp Sets och Fuzzy Sets...3 Operatorer...5 IF THEN regler...7 FUZZY INFERENCE...7 Fuzzification...8 Regelsättning...8

Läs mer

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ? Styrteknik grundkurs Digitala kursmoment Binära tal, talsystem och koder Boolesk Algebra Grundläggande logiska grindar Minneselement, register, enkla räknare Analog/digital omvandling SR-latch med logiska

Läs mer

Repetitionsuppgifter inför Matematik 1. Matematiska institutionen Linköpings universitet 2013

Repetitionsuppgifter inför Matematik 1. Matematiska institutionen Linköpings universitet 2013 Repetitionsuppgifter inför Matematik Matematiska institutionen Linköpings universitet 0 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Facit 4 Repetitionsuppgifter inför Matematik Repetitionsuppgifter

Läs mer

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik jörne Lindberg/Håkan Joëlson 2003-09-15 v 2.2 DIGITALTEKNIK Laboration D161 Kombinatoriska kretsar och nät Innehåll Uppgift 1...Grundläggande

Läs mer

Tentamen i IE1204/5 Digital Design måndagen den 15/

Tentamen i IE1204/5 Digital Design måndagen den 15/ Tentamen i IE1204/5 Digital Design måndagen den 15/10 2012 9.00-13.00 Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204), Tentamensuppgifterna

Läs mer

Övervakning & Programspråk

Övervakning & Programspråk Övervakning & Programspråk Denna PowerPoint är gjord för att du ska få en inblick i vad ett driftövervakningssystem är. Vad kan man se? Olika tekniska funktioner? Fördelar? Även en inblick i hur man programmerar

Läs mer

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik Kombinationskretsar Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik Dagens föreläsning Laboration 1 Adderare Konstruktion med minne 3 Laborationsinformation TSEA51/52: Deadline

Läs mer

Induktion, mängder och bevis för Introduktionskursen på I

Induktion, mängder och bevis för Introduktionskursen på I Induktion, mängder och bevis för Introduktionskursen på I J A S, ht 04 1 Induktion Detta avsnitt handlar om en speciell teknik för att försöka bevisa riktigheten av påståenden eller formler, för alla heltalsvärden

Läs mer

Diskret matematik: Övningstentamen 4

Diskret matematik: Övningstentamen 4 Diskret matematik: Övningstentamen 22. Beskriv alla relationer, som är såväl ekvivalensrelationer som partiella ordningar. Är någon välbekant relation sådan? 23. Ange alla heltalslösningar till ekvationen

Läs mer

Repetition och sammanfattning av syntes och analys av sekvensnät

Repetition och sammanfattning av syntes och analys av sekvensnät Repetition och sammanfattning av syntes och analys av sekvensnät Sekvensnät = ihopkoppling av sekvenskretsar Består i praktiken av - minnesdel (sekvenskretsar) - kombinatorisk del. Sekvenskretsar = kretsar

Läs mer

Konsten att lösa icke-linjära ekvationssystem

Konsten att lösa icke-linjära ekvationssystem Konsten att lösa icke-linjära ekvationssystem Andreas Axelsson Vi beskriver här de grundläggande teknikerna för att lösa icke-linjära ekvationssystem. Detta är en nödvändig kunskap för att kunna lösa diverse

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner

Läs mer