Industriella Styrsystem Övningskompendium
|
|
- Hanna Hedlund
- för 4 år sedan
- Visningar:
Transkript
1 Industriella Styrsystem Övningskompendium 27 mars 2012 REGLERTEKNIK AUTOMATIC CONTROL LINKÖPING Reglerteknik, Institutionen för systemteknik, Linköpings universitet, Linköping
2 Detta kompendium har utvecklats under flera år av olika lärare i reglerteknik vid Linköpings universitet.
3 Del I Uppgifter 1
4
5 Kapitel 1 PLC-programmering II Följande uppgifter är av lite mer krävande karaktär än i förra kapitlet och målsättningen är att tillämpa stegkodsprogrammering på mer komplicerade problem. När kommer ni istället för att få en lista på operationer som ska utföras, få ett problem som ska lösas med hjälp av stegkodsprogrammering. Ta för vana att skriva upp en tabell med vilka register som ni använder och vilka skalfaktorer som de innehåller. Definerar flaggor och register när ni tycker att de saknas. 1.1 Överfyllnadsskydd (fort.) Under laboration 1 införde ni ett överfyllnadsskydd till det skelett som visas i figur??. Detta skydd slog om regulatorn till manuellt läge med styrsignal 0 om nivån i någon av tankarna översteg ungefär 90% av maximal nivå. För att komma ur detta läge måste man sedan manuellt återställa regulatorn tillbaka till automatiskt läge. Detta kan vara ett problem i situationer när processer är oövervakade. Vi vill därför införa någon automatik som återställer regulatorn till automatiskt läge om något villkor är uppfyllt. Komplettera därför den struktur som ni använde under laboration 1 som överfyllnadsskydd med följande: a) om nivån i båda tankar är mindre än 60%, så återställs drift i automatiskt läge. (tänk på att detta inte ska ske om vi är i manuellt läge från början, utan bara när ett överfyllnadslarm verkligen har löst ut). b) om överfyllnadslarmet har löst ut och automatisk drift har återsällts enligt villkoret i föregående uppgift, 5 gånger så ska ingen mer automatisk återställning ske. c) inför begränsningen att dessa 5 gånger måste inträffa inom 2 minuter för att ingen mer automatisk återställning ska ske. Programmet körs i 100 Hz och därmed ska time base vara 0.01 sekunder. 3
6 4 KAPITEL 1. PLC-PROGRAMMERING II d) slutligen, ersätt de fasta gränserna för skyddet samt återställningen med variabler. Inför två register där man kan ange vilken nivå (i procent av maximal fyllnadsnivå) då de två händelserna ska utföras. Tips: Skalning, registernamn och stegkodsprogrammet till laboration 1, hittar ni i föregående kapitel i tabell?? samt figur??. För c) använd en timer för att återställa räknaren för antal återställningar. 1.2 Automatisk lastning Ett sätt att utföra en operation med visst intervall är att använda en timer. Tänk dig att du har en process där en vagn ska fyllas med järnmalm ur ett lager. En flagga N11:17/0 indikerar att en ny tom vagn inväntar järnmalm. Använd en timer för att ettsätta variabeln N11:17/4 (som styr att bandet som fyller vagnen med järnmalm körs) under exakt 10 sekunder eller tills dess att N14:1/2 (vagnens överfyllnadsskydd) är ettsatt. PLC-programmet körs i 70 Hertz. Skriv ned både psuedokoden samt ett RSLogixschema som löser detta problem. 1.3 Att undvika förgreningar Antag att vi har ett program med tester och förgreningar till ett djup av 3 enligt: N7:0/1 ADD N9:10 N9:11 N9:12 S:5/0 N9:10/15 MOV N9:12 N9:10/15 MOV N9:12 S:5/0 U Om man vill ha ett test i koden som kräver att flera villkor är uppfyllda samtidigt kan man seriekoppla testen. Till exempel kommer programmet
7 1.4. FYLLNADSBEGRÄNSNING 5 N7:0/1 S:5/0 N9:10/15 MOV N9:12 endast utföra MOV-instruktionen om N7:0/1 är hög, S:5/0 är hög, och N9:10/15 är låg. Antag för övnings skull att förgreningar inte är tillåtna alls. Rita om programmet utan förgreningar! 1.4 Fyllnadsbegränsning Vi har ett system med två likadana tankar. Bordet de står på är feldimensionerat och klarar inte av tyngden om båda tankarna är fyllda, utan riskerar att gå sönder om den totala fyllnadsgraden är större än tyngd motsvarande 1, 4 ggr en fylld tank. Därför vill man larma då de två tankarna tillsammans är fyllda till mer än motsvarande 1, 2 ggr en fylld tank. Nivån för tank 1 lagras i register I:3.0 och nivågivaren ger data i intervallet Nivån för tank 2 lagras i register I:3.1 och nivågivaren ger data i intervallet Ett larm körs då register N10:0 sätts till 1. Det finns även tomma register, N9:0-N9:2. Skriv ett RSLogix-program som larmar då den totala vattenmängden är för stor. (Du behöver inte nollställa larmet.) Tips: Börja med skalning av variabler (här kan t.ex. % vara en lämplig enhet att arbeta i). Skriv sedan upp pseudokod för vad du vill göra och översätt till sist denna till RSLogix-kod. 1.5 Regelbaserad styrning av vattenkokare Vi har en speciell vattenkokare, som kan koka vatten till 70, 80 eller 100 grader. Denna nivå kan man välja med hjälp av en brytare som finns på vattenkokaren. Vi vill nu använda oss av regelbaserad reglering, där man ställer ut en utsignal beroende på regler som beror på insignalen. Lös nu följande uppgifter: a) vad är in- respektive utsignal i detta fall. b) vad är lämpliga regler för styrningen av vårt system? Kom ihåg att vi vill hålla temperaturen kring varje nivå men vi kan tillåta temperaturen att avvika några grader. c) skriv nu ett stegkkodsprogram som ska göra följande: i) ettställer värmaren för alla tre fall när vattnet är för kallt (använd intervallen från b). Börja med att skriva pseudokod om det hjälper dig.
8 6 KAPITEL 1. PLC-PROGRAMMERING II ii) När man programmerar brukar man vilja återanvända så mycket kod som möjligt. Kan du skriva om programmet på endast en rad? iii) Utöka din stegkodning så att en lampan indikerat om vatten är kallt eller varmt för att man inte ska bränna sig. Lampan ska vara blå när vatten är kallare än 40 grader. När vattnet är varmare ska lampan bli röd. Skriv denna utökning på samma rad som ni hade i föregående uppgift. Vattenkokaren har en temperaturgivare som nås genom registret I:1.0 och är kalibrerad så att 0 betyder 0 grader och betyder 100 grader. Värmaren nås genom registret O:1.0 och är endast en binär variabel där 0 betyder att värmaren är avstängd och 1 betyder att värmaren är på maximal effekt. Registren O:1.1 och O:1.2 styr den röda respektive blåa lampan på samma sätt som med värmaren. 1.6 Bilsortering Vi har en bilsorterare som kan detektera om bilen är blå, röd eller gul med hjälp av en sensor. För alla tre fall vill vi transportera bilen till ett och samma magasin. Vi vill också räkna hur många blåa, röda och gula bilar som har passerat sensorn. När vi har antingen tre blåa, röda eller gula bilar, vill vi införa ett alarm så att någon transporterar bilar vidare. Dock vill vi inte att larmet ska låta kontinuerligt utan pipa till vart tredje sekund. Personen som kommer för att transportera bilar ska kunna återställa alarmen. Skriv pseudokod och stegkodningen. Du behöver bara fyra rader för att lösa problemet!
9 Kapitel 2 Överspill 2.1 Addition med binära tal Genomför följande additioner i binära tal. Blir resultatet det förväntade? a) b) ( 10) + 12 c) 10 + ( 12) d) ( 10) + ( 12) 2.2 Multiplikation med överspill Vi vill nu multiplicera följande tal, vad blir resultatet om har obegränsat med bitar? Vad blir det om vi har tillgång till 6 bitar? Om överspill inträffar antar vi att svaret avrundas till det närmaste tal som kan representeras. a) 5 ( 6) b) 7 7 c) Vad måste vi göra för att få plats med alla bitarna i uppgift b)? 2.3 Skalad addition med överspill Vi vill addera två tal a och b, talet a är lagrat som 5 med en skalfaktor på 1, och talet b är lagrat som 7 med en skalfaktor på 2. För att kunna addera talen måste de ha samma skalfaktor. Det finns (minst) två sätt att göra detta. När kan de olika sätten vara bra att använda? Motivera svaret. 7
10 8 KAPITEL 2. ÖVERSPILL 2.4 Överspill i P-regulator Vi har nu bestämt oss för att göra en P-regulator, och vill utföra multiplikationen K e. e har skalfaktorn 1 och K har skalfaktorn 16. Vi vill att resultatet ska ha skalfaktorn 1. Vi har inte möjlighet att utföra multiplikationen först och sedan skala ned resultatet, utan måste skala ner antingen e eller K (eller båda två). Vilken eller vilka variabler skulle du skala ner och varför? 2.5 Skalad multiplikation med överspill I Vi vill nu återigen multiplicera a och b. Denna gång är a representerat som 4 och b representerat som 6 där båda har skalfaktor 2. Vi vill att resultatet ska ha skalfaktor 1. Vi har endast tillgång till 6 bitar. Om överspill inträffar, avrunda till närmaste tal som går att representera. Genomför multiplikationen genom att a) Först genomföra multiplikationen a b och sedan skala resultatet så att skalfaktorn är 1. b) Först skala b så att b har skalfaktorn 1 2, och sedan genomföra multiplikationen. Vad blir resultetet? c) Vilken av ordningarna är att föredra? Varför då? 2.6 Skalad multiplikation med överspill II Samma uppgift som i uppgift 2.5, men nu är a = 4 och b = 14. Både a och b har skalfaktor 2. Vi vill att resultatet ska ha skalfaktor 1. Vi har endast tillgång till 6 bitar. Om överspill inträffar, avrunda till närmaste tal som går att representera. Genomför multiplikationen genom att a) Först genomföra multiplikationen a b och sedan skala resultatet så att skalfaktorn är 1. b) Först skala b så att b har skalfaktorn 1 2, och sedan genomföra multiplikationen. Vad blir resultetet? c) Vilken av ordningarna är att föredra? Varför då? 2.7 Överspillshantering i stegkod Efter att ha gjort uppgifterna 2.5 och 2.6, tänk ut ett bra sätt att genomföra multiplikationen a b. Rita gärna ett stegdiagram (ladder diagram) eller skriv pseudokod för hur du tänkt.
11 2.8. ÖVERSPILL I PID-REGULATORN Överspill i PID-regulatorn I PID regulatorn har vi tre olika bidrag till styrsignalen: bidragen från den proportionella, integrerande och deriverande återkopplingenn. Alla tre bidrag måste adderas för att vi ska kunna ställa ut en styrsignal till pumpen. Kommer ihåg att additionsblocken kan bara addera två olika värden. Vi måste därför addera två bidrag i en första steg och det tredje bidraget i ett andra steg. a) Ställ upp en pseudokod för detta samt ett stegkodsprogram. b) Låt bidraget från P-delen vara 24000, från I-delen vara och från D- delen vara Alla bidrag har skalfaktor 1. Försök nu addera dessa tal i alla möjliga ordningar. Vilka olika svar får vi? Glöm inte att PLC:n har begränsnad precision och maximala värde i PLC:n är 32767! c) Vi kan lösa problemet med överspill för detta fall genom att välja en lämplig ordning vid additionen. Men när talen i de olika delarna förändras, så kan vi råka ut för problem med överspill igen. Hur kan man använda skalning för att lösa detta problem? Lösningen ska inte bli perfekt för det här problemet men ska lösa alla problemen så bra som mögligt.
12 10 KAPITEL 2. ÖVERSPILL
13 Del II Lösningar/Svar 11
14
15 Kapitel 1 PLC-programmering II Vi vill först skala om de två nivåerna med skalfaktorerna 8 resp. 120 för att få båda nivåerna i %. Därefter adderas de (okej eftersom de båda är i %) och den totala volymen beräknas. Om denna är för hög sätts larmregistret. Pseudokod: (:= betyder tilldelas) N9:0 := I:3.0 / 8 [skala om nivå tank 1 till \%] N9:1 := I:3.1 / 120 [skala om nivå tank 2 till \%] N9:2 := N9:0 + N9:1 [total vattenmängd i tankarna i \%] if N9:2 >= 120 [om nivån är för hög] N10:0 := 1 [sätt larmregistret] end if 13
16 14 KAPITEL 1. PLC-PROGRAMMERING II Figur 1.1: Lösningsförslag till uppgift
17 Kapitel 2 Överspill 2.1 a) (22) b) (2) c) (-2) d) (-22) 2.2 a) I båda fallen blir svaret 30 (100010) b) Har vi obegränsat med bitar blir svaret 49, (110001). Har vi endast tillgång till 6 bitar blir svaret 31 (011111). Observera att talet är lika med 15 eftersom den första biten är en teckenbit. c) Vi måste skala ner någon eller båda av talen. 2.3 Vi måste skala bitarna så de har samma skalfaktor. Vi kan antingen skala upp a eller skala ner b. Att skala ner b leder till minskad precision, men svaret tar upp färre bitar. Att skala upp a leder till bättre precision men riskerar att orsaka överspill. 15
18 16 KAPITEL 2. ÖVERSPILL 2.4 Förmodligen är det så att skalfaktorn med för K är vald med omsorg för att få mesta möjliga upplösning i K. Isåfall är det bäst att skala ner e eftersom de sista bitarna är de mest brusiga, och informationen som förloras isåfall inte är viktig a) Då blir svaret 6. b) Då blir svaret 4. c) Det är bäst att först utföra multiplikationen och sedan skala resultatet eftersom man då inte förlorar någon information. a) I multiplikationen inträffar överspill, och svaret blir därför 7. b) Nu inträffar inget överspill, och restultatet blir 12, vilket inte är det rätta värdet (vilket skulle vara 14), men det är bättre än att först utföra multiplikationen och sedan skala resultatet. c) I detta fallet är det bästa att först skala svaret eftersom om överspill inträffar så förloras mer information. Ett bra sätt att göra det på är att först försöka genomföra multiplikationen a b och undersöka om överspill inträffar. Om överspill inte inträffar skalar man ner resultatet och sparar undan det. I annat fall, dvs om överspill har inträffat skalar man först ner en eller båda variablerna och utför därefter multiplikationen. 2.8
19 Del III Bilagor 17
20
21 Bilaga A Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer och strukturer som främst används i programvaran RSLogix. En del av det diskuterade materialet är även tillämpligt i andra programmeringsspråk. Vi skiljer på operationer och villkor när vi programmerar. Vanliga villkor kan exempelvis vara IF-satser och matematiska villkor (såsom olikhet, likhet, osv.). Operationer kan vara multiplikation, addition eller manipulation av enskilda bitar. Vi gör även skillnad på register- och bitvisa operationer/villkor. Den första typen förändrar/kontrollerar talet som lagras i hela registret och den andra typen förändrar/kontrollerar bara värdet av en bit 1. Slutligen kan vi placera operationer och villkor i strukturer är att göra mer avancerade program. Vi kommer nu i tur och ordning redogöra för dessa begrepp i mer detalj och även ge exempel på hur de kan användas. A.1 Datatyper och variabler Datatyper kallas de olika typer av data som man kan spara i variabler och liknande. I de flesta programmeringsspråk idag är dessa av typen double vilket är stora flyttal (decimaltal). Inom PLC-programmering är det dock mer vanligt med typen integers (heltal) av en relativt begränsad storlek. Vanligt är att varje integer (i vårt fall) kan innehålla maximalt 16 bitar (varav en teckenbit). En annan typ av data är flaggor eller booleanska variabler, dessa kan antingen vara 0 (falskt) eller 1 (sant). Varje integer kan således innehåller 16 flaggor. 1 Kom ihåg att ett register Nx:y innehåller 16 bitar. Vi når hela registret om vi använder den tidigare hänvisningen och vi kan nå bit z genom att använda oss av adressen: Nx:y/z där z = 0, 1,..., 15 och 15 betecknar registrets teckenbit. 19
22 20 BILAGA A. GRUNDERNA I STEGKODSPROGRAMMERING Variabler av heltalstyp lagras som ett register under en datafil. En datafil benämner man som Nx där x är något heltal. Ett exempel på detta är det första registret i datafilen N9 som betecknas N9:0. Om vi istället vill använda registret för att lagra flaggor kan vi använda följande beteckning Nx:y/z där y är något register och z är en bit i registret. I N9:0 kan vi därför lagra flaggor med namnen N9:0/0 upp till N9:0/15 (som också är teckenbiten). Egentligen lagras heltalen i varje register som ett binärt tal. Detta innebär att ett 16-bitars heltal egentligen är 16 platser som vardera kan innehålla 0 eller 1. Vi kan därför se ett heltal som 16 lådor där varje låda också kan vara en flagga. Vi kan undersöka innehållet i en låda genom att använda /-operatorn. Om vi använder oss av operationer som påverkar hela registret kommer vi antagligen att påverka alla bitar/lådor som finns på den adressen. Därför kommer vi göra skillnad på register- och bitvisa operationer. Det är även viktigt att endast använda ett register till enbart flaggor (där varje bit/låda representerar en enskild sak) eller för att presentera ett heltal (där alla bitar/lådor används för att representera en sak). A.2 Villkor Vi fortsätter med några speciella villkor som finns att tillämpa i stegkodsprogrammering. Några exempel på dessa villkor finns i tabell A.1 nedan. Det finns två Tabell A.1: Vanliga villkor i stegkodsprogrammering Typ Kod Symbol Förklaring x:x/x Bitvis XIC x:x/x Testa för hög bit XIO Testa för låg bit Registervis EQU Testa = GEQ Testa GRT Testa > LEQ Testa LES Testa < Special TON Timer för nedklockning RES RES Nollställ timer enkla vanliga bitvisa villkor, nämligen testa för hög bit (ettsatt eller sann) och för låg bit (nollsatt eller falsk). Vi får passera genom dessa villkor om registret som villkoret pekar på faktiskt är ettsatt respektive nollsatt. Denna typ av villkor har alltså ett argument, det register som man vill undersöka om det är ettställt eller nollställt. För att använda oss av dessa jämförelser behöver vi bara använda
23 A.2. VILLKOR 21 respektive grind ur tabell A.1 och byta ut argumentet x:x/x till rätt bitadress. Vi förändrar dessa bitar genom de två operation som diskuteras i det kommande avsnittet om operationer. Stegkodningsspråket som vi kommer att nyttja på kursen innehåller även matematiska villkor. Dessa är exempelvis att testa för likhet och olikhet. I tabellen ser ni några exempel på dessa uttryck som har två argument. Vanligtvis fungerar dessa block att om villkoret A B är uppfyllt får vi passera. kan exempelvis vara likhet (=) eller större än eller lika med ( ). I dessa block skriver vi således in argument på två rader där den första raden är källregister A och den andra är källregister B. Vi har därför två argument i denna typ av villkor. Vi avslutar diskussionen om dessa enklare villkoren med två exempel som visas nedan. I det första exemplet är villkoret att 5000 N9:1 och om detta är uppfyllt får vi passera villkoret. Lägg här märke till att vi kan använda oss av både register och tal i vår jämförelse här kan bytas ut till vilket heltal som helst eller ett register, som vi snart kommer att se. I det andra exemplet är villkoret att talen som lagras i register N9:0 och N9:1 ska vara lika. Om talen är lika får vi passera villkoret och då utförs det som står på höger sida av samma rad. Även här är det tillåtet att byta ut ett av registren till ett heltal. Genom att använda förgreningar och placera dessa villkor i rad kan vi vidare skapa de flesta logiska satser. Detta kommer vi att diskutera i ett senare avsnitt. A.2.1 Timers En sista typ av villkor är specialvillkor som bland annat innefattar timer och räknare. Timers byggs upp av ett block som ettsätter en bit när en visst uppräkning är slutförd. Som användare kan man ställa in hur ofta man ska räkna upp räknaren, alltså sätta i = i + 1, och vilket som är målvärdet i end. När man sedan når målvärdet med räknaren, alltså då i = i end ettsätter man biten DN annars (när i i end ) så är istället biten EN ettsatt. Ett timerblock ser i praktiken ut som följer:
24 22 BILAGA A. GRUNDERNA I STEGKODSPROGRAMMERING TON Timer Time Base Preset Accum Tn:0 t i end i start Tn:0/EN Tn:0/DN där Tn:0 är blockets namn, jämför PID-blocket i laboration 1. Time base indikerar hur lång tid som det ska ta innan man räknar upp variabeln Accum, alltså sätter i = i + 1. Time base beskriver denna tid i sekunder, så om man skriver 0.01 i denna variabel räknar man upp i hundra gånger per sekund, eller i 100 Hz. Preset är målvärdet som man önskar och Accum är det nuvarande värdet på i. Bitarna Tn:0/EN samt Tn:0/DN är ettsatta när vi har inte har nått respektive när vi har nått vårt målvärde. Vi avslutar detta med ett exempel där vi har döpt vår timer till T4:0: TON Timer T4:0 Time Base 0.01 Preset 1000 Accum 0 T4:0/EN T4:0/DN T4:0/DN (stuff) Blah... T4:0/DN T4:0 RES här har vi även lagt till ett villkor som kontrollerar om T4:0/DN är ettsatt. När detta villkor är uppfyllt kommer det som står i rutan stuff att utföras samt så kommer timern att nollställas av RES vilket betyder att Accum nollsätts, alltså i sätts till noll och uppräkningen påbörjas igen. I detta exempel har vi time base 0.01 sekunder (vi kommer alltid att använda denna time base, eftersom att vår PLC arbetar i 100 Hz) och preset är 1000, det kommer således att ta 0, = 10 sekunder innan vi ettsätter T4:0/DN. Därmed kommer vi att göra det som står i stuff -rutan vart tioende sekund. Lägg även märke till att vi kan använda oss av flaggan T4:0/EN för att utföra något annat när vi inte har nått målvärdet. Exempelvis kan detta vara en påfyllnadsprocess där påfyllnad sker sålänge som T4:0/DN är ettsatt och när T4:0/EN ettsätts som byts vagnen som ska fyllas på ut.
25 A.3. OPERATIONER 23 A.3 Operationer Operationer används för att förändra data som lagras i olika register. Detta kan vara att sätta registret till ett visst värde eller till något matematiskt uttryck som är funktion av andra register. I tabell A.2 presenterar vi några vanliga operationer Tabell A.2: Vanliga operationer stegkodsprogrammering Typ Kod Symbol Förklaring x:x/x Bitvis OTU U x:x/x Nollställa bit OTL L Ettställa bit Registervis MOV Kopiera ADD Addition SUB Subtraktion MUL Multiplikation DIV Division för både bitar och register. Bitvisa operationer har bara ett argument, nämligen den bit som man vill sätta till noll eller till ett. Vill vi således nollsätta biten som vi hittar på adressen S:5/0 (överspillsindikatorn) byter vi ut x:x/x operationen ovan och får följande: Registervisa operationer har två eller tre argument beroende på vilken typ vi använder oss av. Matematiska operationer har ofta tre argument och följer konventionen att A B = C där är exempelvis addition eller multiplikation. Sådana typ av block har alltså tre rader med register, två som kallas källregister (A och B) samt ett målregister C. Ett exempel på detta är: där A =N9:10, B =N9:11 och C =N9:12. På samma sätt kan vi även skapa block för multiplikation, division och subtraktion. MOV-blocket har endast två argument: källa och mål. Det flyttar således det som finns i källregistret till målregistret. Lägg märke till att vi även här kan byta ut ett av registren till något heltal om vi så vill. Detta kommer vi se exempel på i nästa avsnitt där vi behandlar strukturer i stegkodsprogrammering.
26 24 BILAGA A. GRUNDERNA I STEGKODSPROGRAMMERING A.4 Strukturer Man kan slutligen placera operationer och villkor i strukturer för att skapa avancerade program. Den grundläggande strukuren i stegkodsprogrammering består av olika steg. Varje steg är placerad i en rung eller rad. Ett program exekveras sekvensiellt uppifrån och ned i detta språk. Detta innebär att raderna utförs en och en i den ordning som de står i programmet. Varje rad delas in i en villkors- och operationsdel. Villkor placeras till vänster på raden och operationer till höger. Det är tillåtet att placera flera villkor efter varandra (seriekoppling) men endast en operation tillåts på vardera rad. Ett exempel på en enkel rad med flera villkor är som följer: N7:0/1 S:5/0 N9:10/15 MOV N9:12 där vi flyttar talet till registret N9:12 om följande tre villkor är uppfyllda samtidigt: (i) biten N7:0/1 är ettsatt, (ii) biten S:5/0 (överspillsindikatorn) är ettsatt, samt (iii) biten N9:10/15 (teckenbiten) är nollsatt (positivt tal). I detta exempel kontrollerar vi alltså bland annat om vi har ett överspill (vi försöker lagra ett större tal än som får plats i registret) samt om talet är positivt. När detta är uppfyllt skriver vi det största positiva talet vi kan till registret N9:12. Det föregående exemplet var av en struktur med villkor i serie som motsvarar ett logiskt och. Alltså att alla villkor samtidigt måste vara uppfyllda för att något ska hända. En annan vanlig konstruktion är logiskt eller där det räcker med att ett villkor är uppfyllt. Denna typ av struktur motsvarar en parallellkoppling, där man lägger en förgrening så att villkoren ligger över varandra. Ett exempel på detta är: där operationen (som är utelämnad ur figuren) utförs om minst ett av villkoren är uppfyllt, alltså om N9:0 är större än N9:1 eller om N9:2 är större än N9:1. Vi kan även kombinera denna struktur med ett villkor som är kopplat i serie:
27 A.4. STRUKTURER 25 nu kräver vi även att N9:5/4 är ettsatt för att vi ska multiplicera N9:1 och N9:2 och lagra resultatet i N9:3. På detta sätt kan vi skapa stora komplicerade villkor där vi kombinerar jämförelser med logiskt och samt eller. Tidigare nämnde vi begränsningen med att endast en operation får utföras per rad. Detta är ofta begränsande och skulle leda till att vi måste skapa många rader med samma villkor men olika operationer. Vanligtvis vill vi ha så få rader som möjligt där vi försöker att återanvända (modularisera) så mycket av vår kod som möjligt. Detta brukar man betrakta som god programmeringssed. För att undvika begränsningen kan vi lägga ett antal operationer parallellt med hjälp av en förgrening. Detta leder till strukturer som liknar de som vi introducerade för logiskt eller. Som vanligt beskrivs detta enklast med två exempel. I det första exemplet lägger vi ihop två tal från registren N9:10 och N9:11 samt sparar resultatet i N9:12. Samtidigt så nollsätter vi biten S5:/0 som indikerar överspill (den ettsätts då vi försöker lagra ett större tal än möjligt i ett register). ADD N9:10 N9:11 N9:12 S:5/0 U Det andra exemplet är en multiplikation och omskalning av svaret. Vi kommer först att utföra divisionen och sedan multiplikationen. Kom ihåg att vi läser programmet uppifrån och ned. Först skalar (dividerar) vi om registret N10:13 med 128 och sparar resultatet i N10:14. Sedan utför vi multiplikationen mellan talen i registren N10:14 och N10:2 och lagrar detta i registret N10:14.
28 26 BILAGA A. GRUNDERNA I STEGKODSPROGRAMMERING DIV N10: N10:14 MUL N10:14 N10:2 N10:14 Här ser vi ett exempel på att vi återanvänder ett register. Först läser vi ett tal från ett register genomför någon matematisk operation och slutligen skriver det till samma register. Detta är en tillåten operation och det enda vi behöver tänka på är i vilken ordning saker utförs: läsa register, utföra beräkning, skriva till register. Vi ser också att det är det skalade talet som vi utför multiplikationen med, vi kan därför göra matematiska operationer i sekvens genom att bygga parallella strukturer. Slutligen borde vi även nämna att man kan skapa nestlade strukturer som är mer avancerade än de som vi har gjort här. I sådana strukturer kan man ha parallella rader (fortfarande som tillhör samma huvudrad) där men både utför operationer och villkor. Detta kommer dock att vara utanför denna kurs och är därmed inte intressanta för våra syften. A.5 Praktisk programmering Vi avslutar detta dokument men en kort diskussion om hur man praktiskt går tillväga för att programmera ett program. Vi passar även på att nämna några saker som kan vara bra att komma ihåg och hur man skriver ett snyggt program. Som med de flesta saker blir man enbart duktig på programmering om man övar på att att skriva program. Programmering är till lika stor del en praktisk kunskap som en teoretisk. I princip har vi beskrivit all teori som krävs i detta kapitel för att skapa relativt komplicerade program. Det som inte har diskuterats är implementering, felsökning och andra praktiska aspekter. Dessa lär man sig bäst när man sitter vid datorn och provar själv. Ett bra sätt att strukturera sin programmering är att utgå från problemet och bryta ned det i delproblem. Sedan löser man varje delproblem för sig för att sedan plocka samman allt till en lösning av det ursprungliga problemet. För att underlätta detta är det bäst att börja med att skriva en pseudokod där man med enbart ord skriver ned vad som ska hända. Här identifierar man även de olika delar som programmet och problemet består av. Sedan försöker man hitta lösningar till vardera delproblem. Detta innebär att svara på frågor som vart man hittar den informationen man behöver, vilka villkor
29 A.5. PRAKTISK PROGRAMMERING 27 och vilka operationer som är nödvändiga. Tillslut bygger man upp en struktur som löser det problem man är ute efter. När man sedan har tänkt genom detta försöker man hitta grupper av villkor och operationer som återkommer. Detta kallas att modularisera sin kod och då försöker man återanvända så mycket av den som möjligt. Ska man exempelvis utföra samma beräkning på ett antal rader kanske man istället kan kombinera villkoren i en parallell struktur så att man kan slå ihop flera rungs till en. Detta kan även innebära att man skapar subrutiner där man genomför delberäkningar. Slutligen ska man alltid kommentera sin kod, både för sin egen del och för andras. Ute i industrin arbetar man ofta flera stycken med samma program och då behöver man beskriva vad man har gjort. Ni kanske även måste gå tillbaka i kod som ni skrev för flera år sedan. Att man då har kommenterat kort vad varje grupp av rader gör, kan spara mycket tid och möda. Tillsammans med detta tillhör även att döpa variabler till vettiga saker, detta hjälper både i felsökning och i dokumentation.
Grunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Läs merIndustriella Styrsystem Övningskompendium
Industriella Styrsystem Övningskompendium 13 januari 2012 REGLERTEKNIK AUTOMATIC CONTROL LINKÖPING Reglerteknik, Institutionen för systemteknik, Linköpings universitet, 581 83 Linköping www.control.isy.liu.se
Läs merIndustriella Styrsystem Övningskompendium
Industriella Styrsystem Övningskompendium 14 mars 2013 REGLERTEKNIK AUTOMATIC CONTROL LINKÖPING Reglerteknik, Institutionen för systemteknik, Linköpings universitet, 581 83 Linköping www.control.isy.liu.se
Läs merIndustriella Styrsystem (TSIU04, TSIU06) Övningskompendium
Industriella Styrsystem (TSIU04, TSIU06) Övningskompendium 7 april 2016 REGLERTEKNIK AUTOMATIC CONTROL LINKÖPING Reglerteknik, Institutionen för systemteknik, Linköpings universitet, 581 83 Linköping www.control.isy.liu.se
Läs merPID N7:0 N9:0 N9:2. PID-implementering i PLC. Laboration i industriella styrsystem. Denna version: 2 februari Namn: Personnr: Datum: Godkänd:
Laboration i industriella styrsystem PID-implementering i PLC Denna version: 2 februari 2012 PID N7:0 N9:0 N9:2 REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL Datum: Godkänd: Innehåll 1 Introduktion
Läs merPID N7:0 N9:0 N9:2. PID-implementering i PLC. Laboration i industriella styrsystem. Denna version: 16 april Namn: Personnr: Datum: Godkänd:
Laboration i industriella styrsystem PID-implementering i PLC Denna version: 16 april 2013 PID N7:0 N9:0 N9:2 REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL Datum: Godkänd: Tabell 1. Godkännande
Läs merExempeluppgift 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 merTSIU06 - Lektion 1. Johan Dahlin [johan.dahlin(at)isy.liu.se] 14 mars Mycket viktigt att ni ställer frågor om ni inte förstår!!
TSIU06 - Lektion 1 Johan Dahlin [johan.dahlin(at)isy.liu.se] 14 mars 2012 1 Allmän kursinformation Vem är jag? Johan Dahlin, doktorand, osv. Kontaktuppgifter! johan.dahlin@isy.liu.se, finns i A-korridoren
Läs merHjälp och tips till RSLogix och InTouch
Hjälp och tips till RSLogix och InTouch 30 oktober 2015 RSLogix I RSLogix sköts stegkodsprogrammeringen (ladder diagrams). Här följer några råd och tips kring utvecklingen, överföringen och exekveringen
Läs merPID N7:0 N9:0 N9:2. PID-implementering i PLC. Laboration i industriella styrsystem. Denna version: 31 januari Namn: Personnr: Datum: Godkänd:
Laboration i industriella styrsystem PID-implementering i PLC Denna version: 31 januari 2018 PID N7:0 N9:0 N9:2 REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL Datum: Godkänd: Tabell 1. Godkännande
Läs merLabb i industriella styrsystem. Processdator. Denna version: 13 april 2015. Namn: Personnr: Datum: Godknd: LINKÖPING
Labb i industriella styrsystem Processdator Denna version: 13 april 2015 REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL Datum: Godknd: Innehåll 1 Syfte och organisation 4 1.1 Laborationens syfte
Läs merLABORATIONSINSTRUKTION
Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION PLC-styrning av ett minimalt parkeringsgarage KURS El- och styrteknik för tekniker ET 1015 INNEHÅLL LAB NR 4 Ver 1.0 1. Inledning 2. Laborationskortet
Läs merProgrammerbar 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 merLogik 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 merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merI denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.
Laboration:. Jämförelser mellan assembler och C. I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Förberedelser:
Läs merPer Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647
Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel
Läs merStyrteknik: 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 merLaboration i Industriella styrsystem (TSIU04, TSIU06) Processdator. Denna version: 5 januari Namn: Personnr: Datum: Godknd: LINKÖPING
Laboration i Industriella styrsystem (TSIU04, TSIU06) Processdator Denna version: 5 januari 2018 REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL Datum: Godknd: Innehåll 1 Syfte och organisation
Läs merPC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION
PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg
Läs merÖvning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa
Läs merLathund - Konfiguration av PLC och dator
Lathund - Konfiguration av PLC och dator Johan Dahlin och Ylva Jung 17 januari 2012 1 Introduktion Detta dokument innehåller information om konfigurationen av PLC:n och tillhörande dator för laborationerna
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få
Läs merVilken skillnad gör det var du placerar det? Prova båda.
Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du
Läs merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs merCE_O3. Nios II. Inför lab nios2time
IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",
Läs merIndustriella styrsystem, TSIU06. Föreläsning 2
Industriella styrsystem, TSIU06 Föreläsning 2 Reglerteknik, ISY, Linköpings Universitet Sammanfattning av Föreläsning 1 2(24) Det finns en stor mängd system och processer som behöver styras. Återkopplingsprincipen:
Läs merCPU. Carry/Borrow IX. Programräknare
Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister
Läs merLOGIKSTYRNING/18/2: Laboration. 1 Uppgiften. Figur 1: Tågbanan
LOGIKSTYRNING/18/2: Laboration Figur 1: Tågbanan 1 Uppgiften En programmerbar logik (PLC) skall programmeras för ett transportör-problem med en transportör (tåg) och ett antal stationer (se figur 1). Vid
Läs merFlyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.
FLYTTAL REAL Flyttal används i datorsystem för s k flytande beräkning vilket innebär att decimalkommat inte har någon fix (fast) position. Flyttal består av 2 delar (mantissa och exponent). När ett datorsystem
Läs merLaboration 1 Introduktion till Visual Basic 6.0
Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.
Läs merLösningar till tentamen i styr- och reglerteknik (Med fet stil!)
Lösningar till tentamen i styr- och reglerteknik (Med fet stil!) Uppgift 1 (4p) Figuren nedan visar ett reglersystem för nivån i en tank.utflödet från tanken styrs av en pump och har storleken V (m 3 /s).
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta
Läs merLågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre
Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merDatorsystemteknik DVG A03 Föreläsning 3
Datorsystemteknik DVG A03 Föreläsning 3 Datoraritmetik Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Hur stora tal kan vi få med N bitar? Största
Läs merJavaScript del 3 If, Operatorer och Confirm
JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att
Läs merFör att få ett effektiv driftsätt kan det ibland behövas avancerad styrning.
För att få ett effektiv driftsätt kan det ibland behövas avancerad styrning. Används för att reglera en process. T.ex. om man vill ha en bestämd nivå, eller ett speciellt tryck i en rörledning kanske.
Läs merMMA132: Laboration 2 Matriser i MATLAB
MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merAtt förstå bråk och decimaltal
Att förstå bråk och decimaltal Flera undersökningar som är gjorda visar att elever har svårt att förstå bråk. I undervisningen är det också vanligt att eleverna lär sig olika regler för bråk, men få förstår
Läs merLäran om återkopplade automatiska system och handlar om hur mätningar från givare kan användas för att automatisk göra förändringar i processen.
Reglering Läran om återkopplade automatiska system och handlar om hur mätningar från givare kan användas för att automatisk göra förändringar i processen. Regulator eller reglerenhet används för att optimera
Läs merSekvensstyrning 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 merRepetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor.
Lektion C2 Villkor Repetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor. Du gör ofta val i livet, och valet du gör får olika konsekvenser och följder.
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merLabb i industriella styrsystem. Processdator. Denna version: 10 januari Namn: Personnr: Datum: Godkänd: LINKÖPING
Labb i industriella styrsystem Processdator Denna version: 10 januari 2013 REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL Datum: Godkänd: Innehåll 1 Introduktion 4 1.1 Historik..............................
Läs merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs merÖvningsuppgifter till föreläsning 2 Variabler och uttryck
Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna
Läs merFöreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
Läs merLego Robot [ ] [ ] [ ]
Lego Robot av [ ] [ ] [ ] INNEHÅLLSFÖRTECKNING LABB1 (INFORMATION) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB2 (OPERATÖRER) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB3 (VARIABLER) # UPPGIFT 1 # UPPGIFT
Läs meri LabVIEW. Några programmeringstekniska grundbegrepp
Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar
Läs merTentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp
Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60
Läs mer3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.
Moment 2: Klonspel Instruktioner för deltagare Idag ska du få lära dig om: Kloner - kopior av samma figur (sprajt) Variabler - ett värde, exempelvis antal poäng Slumptal - slå en tärning för att välja
Läs merTENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:
TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga
Läs merDet finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/
CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.
Läs merTentamen i Programmering grundkurs och Programmering C
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Läs merData, typ, selektion, iteration
Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens
Läs merAVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Läs merIntroduktion 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 merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merDenna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk)
UMEÅ UNIVERSITET Institutionen för matematik och matematisk statistik Olof Johansson, Nina Rudälv 2006-10-24 SÄL 1-10p Avsnitt 1.1 Grundläggande begrepp Detta avsnitt behandlar de symboler som används
Läs merIE1205 Digital Design: F6 : Digital aritmetik 2
IE1205 Digital Design: F6 : Digital aritmetik 2 Talrepresentationer Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers)
Läs merÖvning2 Datorteknik, HH vt12 - Programmering
Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merStruktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik
Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform:
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merKort beskrivning av Sveriges första dator BESK
Kort beskrivning av Sveriges första dator BESK Bo Einarsson MAI 10 januari 2005 Den första svenska egentliga datorn är BESK, vilket står för Binär Elektronisk SekvensKalkylator. Den var körklar den 6 november
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #24 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Allmänt Behovet av processorinstruktioner för multiplikation
Läs merFöreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera
Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val
732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==
Läs merStyrenheten styrsignalsekvenser programflödeskontroll
Styrenheten styrsignalsekvenser programflödeskontroll Kontroll av programflöde Instruktionerna är ordnade sekventiellt i minnet och utförs normalt i denna ordning. Vissa programkonstruktioner kräver dock
Läs merProgrammering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:
Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk
Läs merAlla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
Läs merAlla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
Läs merHögskolan Dalarna Sida 1 av 8 Elektroteknik Per Liljas
Högskolan Dalarna Sida 1 av 8 Elektroteknik Per Liljas Tentamen i ET1014 Introduktion till elektroteknik och styrteknik 7.5 hp 2012-08-22 14.00-18.00, Sal Sxxx Hjälpmedel: Miniräknare, formelblad (bifogad)
Läs merFöreläsning 8: Aritmetik och stora heltal
2D1458, Problemlösning och programmering under press Föreläsning 8: Aritmetik och stora heltal Datum: 2006-11-06 Skribent(er): Elias Freider och Ulf Lundström Föreläsare: Per Austrin Den här föreläsningen
Läs merTENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1
Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i
Läs merTentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621
Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en
Läs merIndustriella styrsystem, TSIU04. Föreläsning 1
Industriella styrsystem, TSIU04 Föreläsning 1 Reglerteknik, ISY, Linköpings Universitet Mål Ge kunskaper och färdigheter om reglerteknik närmare verkligheten. Mera precist: Trimning av PID-regulatorer.
Läs merIntroduktion till programmering D0009E. Föreläsning 1: Programmets väg
Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra
Läs merLABORATIONSINSTRUKTION
Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION KURS ET1001 Styrteknik LAB NR PLC 5 INNEHÅLL 1. Inledning 2. Laborationskortet i styrteknik 3. Laborationsuppgifter NAMN KOMMENTARER PROGRAM/KURS
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merIE1204 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 merIE1204/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 merProcessidentifiering och Polplacerad Reglering
UmU/TFE Laboration Processidentifiering och Polplacerad Reglering Introduktion Referenser till teoriavsnitt följer här. Processidentifiering: Kursbok kap 17.3-17.4. Jämför med det sista exemplet i kap
Läs merÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist
ÖH 8.4 7-4-2-1 kod Kodomvandlare 7-4-2-1-kod till BCD-kod. Vid kodning av siffrorna 0 9 användes förr ibland en kod med vikterna 7-4-2-1 i stället för den binära kodens vikter 8-4-2-1. I de fall då en
Läs merTENTAMEN I DYNAMISKA SYSTEM OCH REGLERING
TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING SAL: Ter2 TID:4 mars 207, klockan 8-2 KURS: TSRT2 PROVKOD: TEN INSTITUTION: ISY ANTAL UPPGIFTER: 6 ANSVARIG LÄRARE: Inger Erlander Klein, 0730-9699 BESÖKER SALEN:
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Aritmetik i digitala system Grindnät för addition: Vi
Läs merFörenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4
Ext-6 (Ver 2010-08-09) 1(5) Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4 Tecken-beloppsrepresentation av heltal Hur skall man kunna räkna med negativa tal i ett digitalt system,
Läs merF2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen
68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder
Läs merVi börjar med en penna som ritar när du drar runt den på Scenen.
Nivå 3 Målarlådan All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion
Läs merVariabler, värden och typer
Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Fråga kommentera
Läs merAlgoritmer och interaktiv Python
Algoritmer och interaktiv Python Linda Mannila 11.9.2007 Denna föreläsning Räkneövningstider Algoritmer Interaktiv Python Datatyper Variabler Typning Repetition Vad vi än skall göra måste vi veta hur vi
Läs merLunds Tekniska Högskola Avdelningen för industriell elektroteknik och automation
Lunds Universitet LTH Ingenjörshögskolan i Helsingborg Lunds Tekniska Högskola Avdelningen för industriell elektroteknik och automation REGLERTEKNIK Laboration 2 Empirisk undersökning av PID-regulator
Läs merVariabler, värden och typer
Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! jonas.kvarnstrom@liu.se 2017 Fråga kommentera avbryt! Intro till variabler
Läs mer1Mer om tal. Mål. Grunddel K 1
Mer om tal Mål När eleverna har studerat det här kapitlet ska de: kunna multiplicera och dividera med positiva tal mi ndre än veta vad ett negativt tal är kunna addera och subtrahera negativa tal kunna
Läs mer