+5V. start. Styrsystem. stopp. Tillståndsmaskiner

Relevanta dokument
+5V. start. Styrsystem. stopp. Tillståndsmaskiner

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Sekvensnät i VHDL del 2

Styrteknik: SFC Introduktion

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Digital- och datorteknik

F5 Introduktion till digitalteknik

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Exempel på tentamensfrågor Digitalteknik

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

LABORATIONER I DIGITALTEKNIK. Laboration 3 Speciella sekvenskretsar

Digital elektronik CL0090

Laboration i digitalteknik

Laboration i digitalteknik Speciella sekvenskretsar

SEKVENSKRETSAR. Innehåll

IE1204/IE1205 Digital Design

Exempel på LAX-uppgifter

Programmera i teknik - kreativa projekt med Arduino

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Uppgift 12: Konstruera en elektronisk tärning. Resultatet av ett tärningskast ska visas på en 7- segmentindikator.

LEJON LABORATION3. Laborationens syfte

Beskrivning av sorteringsverket. Automationsteknik Sortering av cylindrar 1(5)

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

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Kodlås. Kopplingsschema över kodlåset PAL-18

AVR 5. Styrning av trafikljus. Digitala system 15 p

Konstruktionsmetodik för sekvenskretsar

Sekvensnät Som Du kommer ihåg

ATU. Användarmanual. Larmöverföringsenhet Firmware Version

Ladderprogrammering steg för steg

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Laboration 2 i Styrteknik

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Ladderprogrammering steg för steg

DIGITALTEKNIK. Laboration D172

Industriella styrsystem, TSIU06. Föreläsning 2

Tentamen i Digitalteknik 5p

Tentamen IE Digital Design Fredag 13/

Laboration i digitalteknik Introduktion till digitalteknik

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Tentamen EDAA05 Datorer i system

LABORATIONSINSTRUKTION

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns )

Kortlaboration DIK. Digitalteknik, kombinatorik.

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

Klientkonfiguration för Ethiris Mobile i Ethiris VMS 8.2

Repetition och sammanfattning av syntes och analys av sekvensnät

(2B1560, 6B2911) HT08

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Instruktion för I/O-Kort, med USB-anslutning.

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Sekvensstyrning Grafcet och IEC

Digital- och datorteknik

12 VDC LED (RGB) Färgpalett (FP) 8 färger. Färgsekvensmotor (FSM) 11 färgscheman 2 justerbara tider

Elektronik grundkurs Laboration 6: Logikkretsar

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Micro:bit. Börja skapa egna program

Felsökning av bakgavellyft

Tentamen i Digitalteknik TSEA22

TSEA22 Digitalteknik 2019!

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

BRUKSANVISNING SmoothTalker

Alltid redo att hjälpa till. Registrera din produkt och få support på SRP3011. Frågor? Kontakta Philips.

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

std_logic & std_logic_vector

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Eftersom det endast är en fristående strömslinga man påverkar då man trycker på knappen säger man att omkopplaren i bild 1 är en enpolig omkopplare.

Styrteknik: MELSEC FX och numeriska värden

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

Handhavandeinstruktion för Igot-U GT-120

Styrsystem till ABAB 255.

HOMEPLUG ADAPTER EXPANSION

IE1204 Digital Design

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

GX IEC Developer Sekvensstyrning och SFC-editor

Avant BRUKSANVISNING. FAKTARUTA AVANT Hög utnivå med förstärkning upp till 57 db. Automatiska funktioner för tilt och förstärkning

Tentamen i Digital Design

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

Tentamen IE Digital Design Fredag 15/

FlyBot. Copyright Sagitta Pedagog AB

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Välkommen Tack för att du väljer Arlo. Det är enkelt att komma igång.

Experiment med schmittrigger

Laboration 1: Styrning av lysdioder med en spänning

K44 Duo. Installation & User Manual EN SV DE FR DA FI NO

Digital Design IE1204

IE1204 Digital Design

MultiDrive 2 PB.F2 / RMS

Laborationshandledning för mätteknik

Tentamen i IE Digital Design Fredag 21/

Sortering av cylindrar

Välkommen Tack för att du väljer Arlo. Det är enkelt att komma igång.

Steglöst reglerbar ljudkänslighet i ett stort område. Digitalt ljudfilter med 4 förprogrammerade nivåer för att undvika felutlösning

Transkript:

Tillståndsmaskiner Beteendet hos en stor klass av tekniska system kan beskrivas, modelleras, med tillståndsmaskiner. En tillståndsmaskin är en sekvens av tillstånd som beror av händelser och som ger olika svar. I ett tillstånd, eller vid uträde ur eller inträde till, kan åtgärder utföras. När en händelse inträffar kan den ge upphov till en övergång från ett tillstånd till ett annat. En bild, eller vy, av ett tekniskt system bestående av en lysdiod och en två återfjädrande tryckknappar visas i figur 1. Funktionen ligger i det som kallas styrsystem. Bilden säger inget om hur systemet fungerar, men troligen kan man ge en bra gissning. Funktionen skall vara att då startknappen trycks in skall lysdioden tändas och när knappen släpps skall lysdioden fortsätta att lysa. När stoppknappen trycks in skall lysdioden släckas och den skall förbli släckt då stoppknappen släpps. +5V start stopp in1 in2 Styrsystem ut Figur 1 Lysdiod som styrs av två knappar. I figur 2 visas en tillståndsmaskin, en annan vy av av systemet, där funktionen framgår. Tillstånden är inringade och namngivna. I tillstånden står även de åtgärder som skall utföras. En åtgärd innebär ofta att en utsignal får ett nytt värde. I detta fall är de två tillstånden namngivna till Tänd och Släckt. Systemet kan endast befinna sig i ett tillstånd i taget. I tillståndet Släckt är åtgärden att signalen ut skall sättas till 5V. Detta innebär att ingen ström flyter genom lysdioden som då är släckt. I tillståndet Tänd är åtgärden att signalen ut sätts till 0V och att ström flyter genom lysdioden som då lyser. Tillstånden är förbundna med pilar som anger övergångar mellan tillstånden. Vid dessa pilar anges övergångsvillkoren. Ett övergångsvillkor anger det villkor som skall vara uppfyllt för att en övergång från ett tillstånd till ett annat skall ske. Ett vanligt övergångsvillkor är att en insignal ändrar sitt värde.

Övergångsvillkoret från tillståndet Släckt till Tänd är att knappen start trycks ned. Detta innebär att insignalen in1 blir 5V. När knappen sedan släpps befinner sig systemet i tillståndet Tänd. Övergången från tillståndet Tänd till tillståndet Släckt sker då knappen stopp trycks ned, vilket innebär att insignalen in2 antar värdet 5V. Figur 2 Tillståndsmaskin eller tillståndsdiagram som beskriver funktionaliteten. Ofta styrs ett system av en enda knapp (kan kanske heta power ) istället för två knappar. Systemet innehåller färre insignaler men det behövs fler tillstånd. Följande funktion önskas. Om lampan är släckt och knappen trycks in tänds lampan som förblir tänd då knappen släpps. Om lampan är tänd och knappen trycks in släcks lampan som förblir släckt även då knappen släpps. +5V +5V knapp Styrsystem ut

Figur 3 Lysdiod som styrs av en knapp. I detta fall är fyra tillstånd lämpligt. Dessa kan heta Släckt, Tänder, Tänd samt Släcker. Det finns ett starttillstånd som alltid skall vara med i alla tillståndsmaskiner. Starttillståndet är temporärt och lämnas efter att systemet har startat upp ordentligt. Startillståndet är symboliserat med en svart punkt och har namnet start skrivet vid punkten. Efter att systemet har startat sker en övergång till tillståndet släckt. Där är åtgärden att sätta variabeln lys till 0 som i sin tur styr utsignalen där lysdioden är ansluten till det värde som ger en släckt lysdiod. Figur 4 Tillståndsmaskin eller tillståndsdiagram med fyra tillstånd och ett obligatoriskt starttillstånd. Ett system som beskrivs med en tillståndsmaskin kan konstrueras eller realiseras med olika typer av teknologier. Tillståndsmaskiner började användas vid konstruktion av digital hårdvara och byggelementen kallades grindar och vippor. Efterhand har utvecklingen av system mer och mer blivit baserad på programvara, men tillståndsmaskinerna är såpass generella och teknologioberoende att de är användbara även vid programvaruutveckling. Vid utvecklingen av programvara har emellertid nya begrepp tillkommit förutom de ursprungliga som har behandlats ovan. Inte nog med det, tillståndsmaskiner har även blivit ett verktyg i en större verktygslåda som kallas UML (Unified Modeling Language).

Nedan beskrivs hur en tillståndsmaskin kan realiseras med i form av ett program. Vi utgår från tillståndsmaskinen i Figur 4 och numrerar först tillstånden: Släckt = 0 Tänder = 1 Tänd = 2 Släcker = 3. OBS! Om LabVIEW används behövs inte while(1), det är en ruta istället.

//Start (det som kommer efter tecknen // är kommentarer och //tillhör inte programmet Tillstand = 0; // Tillståndsmaskinen omsluts av en evighetsslinga genom //while(1) som gör att koden innanför genomlöps igen och igen // Om LabVIEW används behövs inte while(1), det är en ruta //istället. while(1) { switch(tillstand) { case 0 : if (knapp==1) Tillstand = 1; case 1 : lys = 1; if (knapp==0) Tillstand = 2; case 2 : lys = 1; if (knapp==1) Tillstand = 3; } case 3 : if (knapp==0) Tillstand = 0; //Variabeln lys skall styra utgången ut. Till exempel //som nedan, kod kan se olika ut beroende på vilken //processor och hårdvara som används. if (lys==0) ut = 1; //ut = 1 släcker dioden som //nämnts tidigare if (lys==1) ut = 0; }// Här slutar evighetsslingan while(1) }//Här slutar programmet

När programmet körs initieras lys till 0 och tillstand till 0 vilket innebär att dioden släcks och att programmet upprepade gånger kör case 0: if (knapp==1) Tillstand = 1; därefter till if (lys==0) ut = 1; //ut = 1 släcker dioden som //nämnts tidigare if (lys==1) ut = 0; }// Här slutar evighetsslingan. När någon trycker ner knappen ändras variabeln Tillstand till 1 och programmet kör upprepade gånger case 1: enligt nedan. lys = 1; if (knapp==0) Tillstand = 2; därefter till if (lys==0) ut = 1; //ut = 1 släcker dioden som //nämnts tidigare if (lys==1) ut = 0; }// Här slutar evighetsslingan. Dioden tänds och sekvensen genomlöps upprepade gånger tills knappen släpps. 171003/HJ,PK