Driftsättning av ett distribuerat styrsystem på hårdvara
|
|
- Emil Lindqvist
- för 8 år sedan
- Visningar:
Transkript
1 Institutionen för Datateknik Examensarbete 10 p C-nivå Driftsättning av ett distribuerat styrsystem på hårdvara Uppsala Uppdragsgivare: Mälardalens högskola, IDt CC Systems AB Box 883 Fyrisborgsgatan VÄSTERÅS UPPSALA Handledare: Christer Sandberg Handledare: Gunnar Ohlsson Examinator: Henrik Thane
2 rapport_084.doc SAMMANFATTNING CC Systems AB utvecklar styrsystem till kunder med komplexa maskiner och mellanstora serier. För att ta tillvara kompetensen från denna utveckling av skräddarsydda system pågår ett arbete med att ta fram ett mer generellt styrsystem som kan användas av mindre kunder. Detta system går att köra i en simulerad miljö på PC, och huvuduppgiften i detta examensarbete är att driftsätta systemet på Cross Fire, CC Systems hårdvarumodul. För att utföra detta anpassades de lågnivågränssnitt som förekommer i styrsystemet till Cross Fire. För att demonstrera systemet implementerades en demonstrator i form av styrning av en traktor. Denna demonstrator är inte fullständig, eftersom alla delar i driftsättningen inte genomfördes, och det inte fanns tillräckligt med hårdvara tillgänglig för att demonstrera systemet på traktorn. FÖRORD Denna rapport är skriven som en del av ett examensarbete på 10 poäng på C-nivå inom dataingenjörsprogrammet vid Mälardalens högskola i Västerås. Många personer har hjälpt mig med detta arbete. Jag vill främst tacka min handledare på CC Systems AB, Gunnar Ohlsson, som har svarat på otaliga frågor och rätat ut både stora och små frågetecken. Andra anställda på företaget har inte heller sluppit undan mina frågor. Ett stort tack till alla på CC Systems AB, bl.a. Tomas Linde på kontoret i Västerås, som har fått bistå med en hel del hjälp om Cross Fire. Ett stort tack riktas också till de som har agerat handledare och examinator på Institutionen för Datateknik vid Mälardalens högskola, Christer Sandberg och Henrik Thane.
3 rapport_084.doc INNEHÅLLSFÖRTECKNING ORDLISTA BAKGRUND...5 PROBLEMBESKRIVNING TEORI Distribuerade styrsystem PROBLEMANALYS BESKRIVNING AV SYSTEMET System CAN-gränssnittens uppbyggnad IO-gränssnittens uppbyggnad Applikationsbeskrivning Cross Fire LÖSNING Inledning Testprogrammet med befintliga gränssnitt Anpassning av CAN-gränssnitt Anpassning av IO-gränssnitt Applikationsbeskrivningen System 000 på Cross Fire Nedladdning av systemet till flash-minnet Traktorapplikationen RESULTAT Mätning av svarstider Minnesåtgång Problem under arbetet Test, funktionalitet SLUTORD...17 LITTERATUR...17 BILAGOR
4 rapport_084.doc ORDLISTA Här ges en kort förklaring till vissa ord som kommer att förekomma i rapporten. Många av dessa ord kommer att förklaras noggrannare i texten. ABE Application Builder Environment. Ett program utvecklat av CC Systems för System 000 där man grafiskt kan koppla ihop komponenter, in- och utportar för att beskriva hur en applikation ska styras. Applikation - Det som styrsystemet ska styra, t.ex. en traktor. Applikationsbeskrivning En beskrivning av hur styrsystemet ska styra applikationen, vilka komponenter, in- och utportar som ingår, och hur dessa ska kopplas ihop. CAN- Controller Area Network. Kommunikationsbuss som ofta används inom fordonsindustrin där inbyggda system är förekommande. Cross Fire CC Systems hårdvarumodul, med IO-portar och processor. Demonstrator Något som demonstrerar ett system, helt eller delvis simulerat. Distribuerat styrsystem Ett system med fysiskt och logiskt separerade enheter, men som agerar som en enhet mot omvärlden. Gränssnitt kontaktytan mellan två delar i ett system, t.ex. styrsystemet och IO-enheterna. Kan vara uppbyggda i flera lager. IO-port, inport, utport delar som kommunicerar med omvärlden, i detta system är det typiskt analoga och digitala utgångar respektive ingångar. Komponent Komponenter kan motsvara fysiska ut- eller ingångar, eller vara logiska enheter som talar om hur de in- eller utgångar som kopplas till komponenten ska behandlas. I System 000 byggs en applikationsbeskrivning upp av komponenter som kopplas ihop. Lågnivåkod, lågnivågränssnitt Här menas den delen av koden som kommunicerar direkt med hårdvara på Cross Fire. Master Den nod som styr de andra noderna (slavarna) i ett nätverk. Nod En enhet i ett nätverk. Slav - En dum nod i ett nätverk som lyssnar på mastern. 4
5 rapport_084.doc System 000 Arbetsnamn på CC Systems modulbaserade styrsystem. 1 BAKGRUND CC Systems AB har lång erfarenhet av styrsystemutveckling till kunder med komplexa maskiner och mellanstora serier, som oftast ska verka i tuffa miljöer. Företaget har totalt ca 100 anställda i Alfta (där huvudkontoret ligger), Uppsala och Västerås. De styrsystem som CC Systems utvecklar är oftast skräddarsydda för kunden. För att tillvarata kompetensen från de skräddarsydda systemen även till kunder i mer prispressade segment pågår ett arbete med att ta fram ett generellt styrsystem med standardmoduler, där kunden kan designa sitt system med hjälp av ett grafiskt verktyg. Systemet har idag arbetsnamnet System 000 (alternativt Styrsystem 000 eller S000) och går att köra i en simulerad miljö på PC. PROBLEMBESKRIVNING Syftet med detta examensarbete är att driftsätta System 000-plattformen på en av CC- Systems IO-moduler, Cross Fire. En demonstrator ska sättas upp, där System 000 och Cross Fire ersätter befintligt styrsystem på en grävmaskin (traktor), som finns i Alfta. Denna demonstrator ska göra det möjligt att visa systemet till en början internt. För att kunna visa systemet i Uppsala, utan traktor, kopplas delar från traktorn till IO-portarna på Cross Fire. En utvärdering av de realtidsegenskaper som uppkommer med en viss applikation ska göras. Det som ska utvärderas är dels svarstider för traktorapplikationen, men även mindre applikationer. Med svarstider menas den tid det tar för den högst belastade noden i systemet att utföra sina beräkningar. I rapporten ska visioner, specifikationer och testresultat finnas med, och även beslutsunderlag inför eventuella omkonstruktioner av arkitekturen hos den befintliga plattformen. Parallellt med detta examensarbete pågår också ett examensarbete som går ut på att implementera det standardiserade kommunikationsprotokollet CAN-Open för Cross Fire. Dessutom pågår ett arbete med att visa hur Cross Fire klarar av de tuffa miljöer som den är tänkt för, genom att visa hur den kan fungera under vatten. Detta arbete kräver att System 000 är driftsatt på Cross Fire, så att den kan styras under vatten. Ett arbete med användargränssnitt pågår också. 3 TEORI Detta kapitel definierar ett distribuerat styrsystem, och behandlar även den princip för kommunikation mellan noderna, CAN, som förekommer i System
6 rapport_084.doc 3.1 Distribuerade styrsystem System 000 är ett distribuerat styrsystem. Ett distribuerat styrsystem definieras som ett system med fysiskt separerade enheter och logiskt separerad hantering. Hela styrsystemet är en enhet, med avseende på dess uppgift, och det har ett väldefinierat gränssnitt mot sin omgivning, men de logiska funktionerna och fysiska komponenterna är distribuerade. Anledningen till att man distribuerar ett system, trots att det ökar komplexiteten, är flera. En anledning är att många system är distribuerade fysiskt. En annan anledning är kapacitet, den kapacitet man skulle ha fått med endast en processor är inte tillräcklig för systemet. Ur skalbarhetssynpunkt är det också motiverat att distribuera ett system, eftersom det då blir lättare att stegvis bygga ut systemet. För kommunikation mellan de olika enheterna kan olika principer användas: Punkt till punkt-nätverk, där varje enhet är kopplad till alla andra. Stjärnnätverk, där varje enhet är kopplad till en masterenhet. Ringnätverk, där varje enhet bara är kopplad till sina två grannar. Bussnätverk, där alla enheter är kopplade på en buss. Bussnätverk har flera fördelar jämfört med de andra nätverken; varje enhet behöver bara en kommunikationsport och det behövs ingen masterenhet. Bussnätverk har också den fördelen att de är inte så känsliga för nodhaveri. Huvudproblemet med ett bussystem är att ge alla enheter rättvis tillgång till bussen med hög prestanda och hög pålitlighet. En del äldre system använde en masterenhet, som kontrollerade all trafik på bussen. Nyare system använde sig av en virtuell master, en s.k. token, som den enhet som behövde använda bussen fick. Moderna bussar har ingen master, alla enheter som är kopplade till bussen kan har tillgång till den. Master ska i det här fallet inte förväxlas med en master i t.ex. ett styrsystem, här handlar det om en master som kontrollerar trafiken på bussen. Det finns två huvudprinciper för att ge enheter access till bussen, händelsestyrda och tidsstyrda principer. Ethernet och CAN (Controller Area Network) är två exempel på händelsestyrda system. Båda fungerar så att en nod som behöver sända på bussen kontrollerar om bussen är ledig eller upptagen. Om den är ledig börjar noden sända. Om två noder börjar sända samtidigt finns det två principer att lösa detta. På ett Ethernet väntar noderna en viss tid, och försöker sedan sända igen. I ett CAN-nätverk får den nod som har högst prioritet sända. CAN är anpassat för realtidssystem och är också det system som används i System 000 för kommunikation mellan noderna. En ram i ett CAN-nätverk består bl.a. av start- och stoppbitar, kontrollfält, checksumma och kvittensbitar. Dessutom innehåller ramen max 8 byte data och en identifierare. Standardformatet har en identifierare på 11 bitar, det utökade formatets (extended CAN) identifierare är 9 bitar. I identifieraren finns bl.a. information om ramens identitet och prioritet. 4 PROBLEMANALYS Att driftsätta Styrsystem 000 på Cross Fire innebär att de gränssnitt mot hårdvara som systemet använder sig av ska anpassas för den specifika hårdvaran. I simuleringen på PC använder sig systemet av andra gränssnitt, mot dll-filer som simulerar hårdvaran. De hårdvarugränssnitt som finns är anpassade för ett annat projekt med annan hårdvara, och 6
7 rapport_084.doc måste därför ändras. Lågnivåkod finns tillgänglig för Cross Fire, men ändringar kan behöva göras i denna. De gränssnitt som främst behöver ändras är de för CAN-kommunikation och IO-hantering. En del allmänna ändringar behöver göras för att anpassa koden till kompilatorn för målmiljön. Även tillvägagångssättet för systemets inhämtande av applikationsbeskrivningen, som beskriver vad som ska styras, måste ändras. Det ska gå att ladda ner systemet till Cross Fires flash-minne. Utvärderingen av realtidsegenskaper görs genom att svarstider mäts för den nod i systemet som har högst belastning. Eftersom det är masternoden som utför alla beräkningar är det den noden som kommer att ha högst belastning. Tiden mäts från det att mastern börjar samla in värden från sina slavar till att den har beräknat nya värden och skickat ut dessa. Utvärderingen ska göras för ett par olika applikationer som kräver olika sorters beräkningar. 5 BESKRIVNING AV SYSTEMET Detta kapitel beskriver System 000, och de viktigaste delarna, som sedan kommer att anpassas. En kort beskrivning av Cross Fire ges också. 5.1 System 000 System 000 är en avskalad del av ett styrsystem som konstruerades till ett tidigare projekt, som gjordes åt Bromma Conquip. Det ursprungliga styrsystemet används för att hantera containrar inom hamnindustrin. Det avskalade styrsystemet fungerar innan examensarbetets start i simulerad miljö på PC. Systemet består av minst en nod, en master. Utöver mastern kan det även finnas ett antal slavnoder. När en nod startas utförs först initieringar av mjuk- och hårdvara. Sedan avgör noden om den är master eller slav, och vilket nodnummer den har. Detta sker på olika sätt beroende på om noden exekverar simulerat eller på hårdvara. Vid simulerad exekvering får noden sitt nummer genom att titta på vilket process-id den har tilldelats av operativsystemet, och omvandla detta till nodnummer. Master har alltid nodnummer 0, slavar har 1, o.s.v. Sedan exekverar noden olika delar av koden beroende på om den är master eller slav. Masternoden tar reda på vilka andra noder som är närvarande, genom att skicka ut ett broadcast-meddelande, ett meddelande som alla noder på CAN-nätverket kan ta emot, och invänta svar från närvarande noder en viss tid. Sedan läser den in applikationsbeskrivningen, i det simulerade fallet från en fil. Utgående från denna sätter mastern upp de IO-portar och de komponenter som finns angivna i applikationsbeskrivningen. Meddelanden om att sätta upp portar skickas ut till närvarande noder. Efter detta går mastern in i sin huvudloop, där den skickar meddelanden till sina noder om att den vill ha värdena på deras IO-portar. Masternoden tar emot svar på denna förfrågan, och räknar sedan ut nya värden, beroende på applikationens utseende, d.v.s. vilka komponenter och IO-portar som finns. De nya värdena skickas ut till alla slavnoder. I slavnodens huvudloop väntar slaven i princip bara på att uppfylla de olika typer av order den erhåller från mastern. 7
8 rapport_084.doc CAN-gränssnittens uppbyggnad Noderna i Styrsystem 000 kommunicerar med varandra via CAN. Gränssnitten för detta är uppbyggda i flera lager enligt nedanstående bild. Varje ruta representerar en klass eller en samling funktioner. De lager som anpassas är CCS_Can och HAL_Can. De andra lagren är helt oberoende. CanMessage (strukturen för meddelandet. Funktioner finns för att sätta olika typer, sätta data osv) CanBuffer (lagrar inkommande meddelanden, skickar utgående) CCS_Can (lågnivåkod för simulering, anropar något av nedanstående lager beroende på om systemet exekverar simulerat eller på hårdvara) HAL_Can (lågnivåkod direkt anpassad för Cross Fire) Can (lågnivåkod för simulering) HW Cross Fire CanDLL (Lågnivåkod för simulering) 8
9 rapport_084.doc 5.1. IO-gränssnittens uppbyggnad I S000 finns virtuella portar, som kan konfigureras som digitala eller analoga, och som ineller utgångar. På Cross Fire finns 4 A/D-kanaler och 8 PWM-kanaler. Dessa går att använda som fysiska portar, motsvarande de virtuella, i S000. PWM-kanalerna kan användas som digitala respektive analoga utgångar och A/D-kanalerna kan användas som digitala respektive analoga ingångar. Även dessa gränssnitt är i S000 uppbyggda av flera lager. Port (Kan vara in- eller utgång, analog eller digital. Värden kan sättas eller läsas av) CCS_Io (lågnivåkod, anropar något av nedanstående lager beroende på om systemet kör simulerat eller på hårdvara. Innehåller funktioner som port använder för att läsa av och sätta portar) PWM (lågnivåkod direkt anpassad för Cross Fires PWM-kanaler) AD (lågnivåkod direkt anpassad för Cross Fires AD-kanaler) SimIOPort (lågnivåkod för simulering) HW Cross Fire SimIOPortDll (lågnivåkod för simulering) Applikationsbeskrivning Beskrivningen av det som styrsystemet ska styra, inklusive hur många noder det finns och vilka portar som finns, görs i ett grafiskt program, ABE (Application Builder Environment). Här beskrivs hur värden från inportarna ska behandlas för att avgöra vad som ska sättas ut på utportarna. Av beskrivningen i ABE genereras en textfil. Den kallas applikationsbeskrivning och kan även skrivas för hand, om inte programmet ABE finns tillgängligt. Styrsystemet läser sedan denna textfil. Det enklaste exemplet är att två digitala inportar kopplas till en AND-grind och resultatet skickas ut på en digital utport. I systemet innebär det att mastern, efter att ha läst in applikationsbeskrivningen, vet att den ska utföra en logisk AND-operation på värdet på dessa två inportar för att få resultatet som ska sättas ut på utporten. DIGIN1 DIGIN AND1 DIGOUT Värdet på den digitala utgången DIGOUT blir resultatet av en logisk AND-operation mellan de två digitala ingångarna DIGIN1 och DIGIN 9
10 rapport_084.doc Från den grafiska beskrivningen skapas sedan en textfil, som måste göras tillgänglig för systemprogrammet. Denna textfil är fullt läsbar: COMP OUTSIGNAL DIGOUT NODE 0 PORT 1 TYPE DIGITAL BABE "","" ENDCOMP COMP INSIGNAL DIGIN1 NODE 0 PORT 0 TYPE DIGITAL BABE "","" ENDCOMP COMP INSIGNAL DIGIN NODE 0 PORT TYPE DIGITAL BABE "","" ENDCOMP COMP AND AND1 CIN BABE :319,151 ENDCOMP CONN DIGIN1 OUT AND1 IN0 BABEPORT,"DIGIN1" ENDCONN CONN DIGIN OUT AND1 IN1 BABEPORT,"DIGIN" ENDCONN CONN AND1 OUT DIGOUT IN BABEPORT,"DIGOUT" ENDCONN COMP talar om att det som beskrivs är en komponent. OUTSIGNAL är typ av komponent. DIGOUT är namnet på komponenten, som sedan används i applikationsbeskrivningen när man hänvisar till komponenten Om det är en in- eller utsignal talar NODE om vilken nod porten ligger på, och PORT vilket nummer porten har hos den noden. TYPE talar om om porten är DIGITAL eller ANALOG. BABE är ett värde som talar om vart komponenten placeras grafiskt i ABE. Vid beskrivning av andra komponenter än in- och utsignaler finns det olika parametrar som behöver anges, beroende på vilken komponent det är. AND-komponenten kräver att man med CIN talar om hur många ingångar den ska ha. Med CONN talar man om hur komponenter ska kopplas ihop. Först anges vilken utgång det gäller, och sedan till vilken ingång den ska kopplas. Det finns ett antal komponenter tillgängliga, alla kan inte nämnas, men nedan följer en förklaring av några av de som kommer att användas i traktorapplikationen. SCALE Denna komponent har en analog signal som ingång, och skalar om den enligt formeln y=kx+m. Gränser för ingången respektive utgången anges i applikationsbeskrivningen. COMP SCALE SCALE SCALED_MAX_VALUE 103 SCALED_MIN_VALUE 0 MAX_INPUT_VALUE 047 MIN_INPUT_VALUE 0 BABE 1:306,68 ENDCOMP 10
11 rapport_084.doc Värdet som sätts ut på utgången från denna komponent blir halva värdet på ingången. THRESHOLD Tolkar ett analogt ingångsvärde som digitalt och lägger ut det digitala värdet på ingången. Tröskeln för när värdet ska tolkas som en etta anges i applikationsbeskrivningen. COMP THRESHOLD THRESHOLD THRESHOLD 511 BABE 1:68,49 ENDCOMP Gränsen för när den analoga insignalen ska tolkas som etta går för detta exempel vid 511. INC_REF Komponenten har en analog utgång som kan styras via två digitala ingångar. Den ena ingången ökar utgångens värde, om den sätts till etta, den andra ingången minskar utgångens värde. COMP INC_REF INC_REF DEFAULT_OUT_OFF 0 DEFAULT_OUT_ON 55 DELAY 10 INCREMENT 3 MAX_OUT 103 MIN_OUT 0 BABE 1:498,59 ENDCOMP I beskrivningen anges vilket värde komponenten ska ha från början, hur mycket den ska öka varje gång, och hur länge den digitala signalen ska vara aktiv för att ökningen eller minskningen ska ske. SPLIT Delar upp insignalen i ett antal utsignaler av samma typ och med samma värde som insignalen. COMP SPLIT _Stödben_Z COUT BABE 0:0,0 ENDCOMP Hur många utsignaler komponenten ska skapa anges av parametern COUT. I simulerad miljö läses beskrivningen som en textfil, men på målmiljön måste applikationsbeskrivningen göras tillgänglig på något annat sätt. Ett alternativ är att ladda ner applikationsbeskrivningen till flash-minnet, och sedan kan systemet läsa den därifrån. Ett annat alternativ är att kompilera in beskrivningen i koden. Det sistnämnda alternativet valdes, eftersom oklarheter rådde om vilket format filen borde vara på för att kunna laddas ner och hur nedladdningen går till rent praktiskt. Det bedömdes att det skulle vara enklare och mindre 11
12 rapport_084.doc tidsödande för tillfället att kompilera in beskrivningen i koden. En stor nackdel är att hela systemet måste kompileras om vid byte av applikation. 5. Cross Fire CC Systems hårdvarumodul har namnet Cross Fire. Den består bl.a. av en Siemens C167crprocessor (klockfrekvens 0 MHz), fyra AD-kanaler och åtta PWM-kanaler. Det finns 56 kb flash-minne (för systemprogram och applikationsbeskrivning) och 56 kb RAM. 6 LÖSNING 6.1 Inledning Efter studier av styrsystemets funktion och granskning av nödvändiga delar av koden utfördes arbetet enligt följande: Kompilering av System000 i kompilatorn för målmiljön. Konstruktion av ett testprogram, som använder sig av gränssnitten i System 000 och fungerar i simulerad miljö på PC. Anpassning av gränssnitten så att testprogrammet även fungerar på Cross Fire. - Anpassning av ett gränssnitt i taget, med hjälp av delar av testprogrammet som först testar CAN-gränssnittet, och sedan både CAN-gränssnittet och IOgränssnitten Implementation av den modul som genererar källkod av applikationsbeskrivningen Testning av System 000 med små applikationer Implementation av traktorapplikationen Test av traktorapplikationen simulerat på PC Test av traktorapplikationen på HW, försök utförs att ladda ner koden till flashminnet. Mätning av svarstider Den kompilator som används för att kompilera koden för System 000 för målmiljön är Tasking. All kod överfördes till Tasking och kompilerades. Kod som var specifik för simuleringsmiljön eller annan hårdvara kommenterades bort. Systemet använde sig av en klass Istream, för att hantera långa strömmar av tecken, i samband med tolkningen av applikationsbeskrivningen. Denna klass fanns inte att tillgå i Tasking, så en klass Hstream med nödvändig funktionalitet konstruerades. 1
13 rapport_084.doc Hstream get() eof() operator >>() När klassen skapas anges en array av tecken som inparameter till konstruktorn. Tecken kan sedan plockas ut en efter en med metoden get (). Med operatorn >> fås nästa ord. Metoden eof() kontrollerar om det är slut på tecken. En hel del inställningar behövde göras i kompilatorn, mer om detta under rubriken Problem. 6. Testprogrammet med befintliga gränssnitt Ett testprogram konstruerades för att lättare kunna ändra gränssnitten. Detta testprogram använder sig av de befintliga gränssnitten i System 000, och testades först i simulerad miljö. När programmet fungerade i simulerad miljö anpassades gränssnitten till Cross Fire, och programmet testades på hårdvara. Testprogrammet utgörs av en masternod och en slavnod som kommunicerar via CAN. Slaven har ett antal fysiska in- och utgångar som mastern genom CAN-meddelanden tar emot avläsningsresultat ifrån, respektive anger hur de ska sättas. När gränssnitten sedan testades var för sig skalades detta program ner ytterligare för att bara använda de aktuella gränssnitten. För att få detta testprogram att fungera på Cross Fire ska förändringar endast behöva göras i gränssnitten, inte i själva testprogrammet. 6.3 Anpassning av CAN-gränssnitt Styrsystem 000 arbetar med extended CAN-format på CAN-meddelandet medan lågnivågränssnitten till Cross Fire använder sig av standard-can. Detta krävde ändringar i lågnivåkoden till Cross Fire, så att extended CAN-meddelanden kan sändas och tas emot. Test gjordes så att rätt data skickades åt båda håll, och även så att rätt typ (integrerad i identifieraren) kom fram. 6.4 Anpassning av IO-gränssnitt För att sätta en analog utgång skickar System 000 ett värde mellan är maximalt värde ut, alltså 4 V. Lågnivåkoden för Cross Fire tar värden mellan 0-047, för att ställa ut något på PWM-utgångarna. En skalning fick därför göras mellan dessa värden, innan lågnivåkoden kunde användas. För att ställa ut en digital etta, ställs max PWM-värde ut på aktuell port, och för en digital nolla ställs 0 ut. Vid avläsning av en analog ingång används lågnivåkoden för Cross Fire. Värdet omvandlas till mv och skalas om till För att läsa av en digital ingång görs en tolkning av det analoga värdet, där 0-1 V tolkas som nolla, andra värden som etta. Numreringen av portar får vissa begränsningar när S 000 exekverar på Lilla IOn. På grund av antalet in- och utgångar, och den fysiska numreringen i lågnivåkoden, måste alla ingångar vara numrerade 0-3 och alla utgångar 0-7. En digital ingång och en analog ingång kan inte ha samma portnummer, inte heller en digital utgång och en analog utgång. 13
14 rapport_084.doc 6.5 Applikationsbeskrivningen Ett fristående program, ApdGenerator, konstruerades. Programmet tar en fil i textformat som inparameter, och skapar av den källkodsfiler, en.cpp-fil och en.h-fil. I.cpp-filen läggs hela filens innehåll, tecken för tecken, in i en konstant array av tecken. I.h-filen finns definierat hur många tecken det är i applikationsbeskrivningen och en externdeklaration av arrayen. De två filerna kompileras sedan med i hela S000, och på så sätt görs applikationsbeskrivningen tillgänglig för systemet. Detta möjliggjordes genom vissa ändringar i den del av koden som läser in och tolkar applikationsbeskrivningen. Tidigare har applikationsbeskrivningen i simulerad miljö lästs från en fil, eller från flashminnet, med en kod som var anpassad för ett tidigare projekt. *.apd ApdGenerator ApdFile.cpp ApdFile.h ApdFile.h // FILENAME: // ApdFile.h // // DESCRIPTION: // Innehåller antalet tecken i applikationsbeskrivningen // Genereras av ApdGenerator #ifndef APDFILE_H #define APDFILE_H #define APD_SIZE 8178 extern const char apd[ ]; #endif Del av ApdFile.cpp // FILENAME: // ApdFile.cpp // // DESCRIPTION: // Innehåller applikationen i form av en konstant sträng // Genereras av ApdGenerator #include "ApdFile.h" const char apd[apd_size]= {71,69,78,69,8,65,76,10,9,65,80,80,73,68,83, 3,9,9,51,10,9,65,85,84,7,79,8,3,9,9, 3,34,34,10,9,76,65,83,84,95,68,65,84,69,95, 83,65,86,69,68,9,3,50,48,48,48,45,49,56,45, 48,56,95,49,50,58,48,54,10,9,67,8,69,65,84, 14
15 rapport_084.doc 6.6 System 000 på Cross Fire När gränssnitten hade testats med hjälp av testprogrammet ersattes det av hela S 000. En enkel applikation i form av en AND-grind med två ingångar implementerades. Test gjordes både med att exekvera en slav på Cross Fire och en master simulerat på PCn, och det omvända fallet. Eftersom inga timer-funktioner fanns tillgängliga gjordes vissa justeringar. Vid uppstart tar systemet i simulerat utförande reda på närvarande noder genom att skicka ut ett broadcastmeddelande, och invänta svar en viss tid. De närvarande noderna hårdkodas istället beroende på applikation. Nodens identitetsnummer, som avgör om den ska starta som slav eller master, anges också direkt i koden, och ändras genom att kompilera systemet med preprocessordefinitionen MAST (master, nod 0), SLAV (nod 1), NOD eller NOD Nedladdning av systemet till flash-minnet Ett krav är att systemet ska kunna laddas ner till Cross Fires flash-minne. Detta krav uppfylldes inte, trots test av många olika inställningar i kompilatorn. Det går i nuläget endast att exekvera System 000 på Cross Fire genom debugger. 6.8 Traktorapplikationen En applikationsbeskrivning över vad som skulle styras på traktorn fanns tillgänglig. Den anpassades till de in- och utgångar som finns på Cross Fire. Den ursprungliga traktorapplikationen bestod av två noder, med 10 ingångar och 4 utgångar på masternoden, och 5 ingångar och 8 utgångar på slavnoden. Applikationen gjordes om så att den består av 4 noder, och portarna numrerades om, enligt den för Cross Fire tillåtna numreringen. Ett schema över traktorapplikationen finns i bilaga 3. 7 RESULTAT Under denna rubrik beskrivs utvärderingen av svarstider, problem som uppstod under arbetet och hur systemet testades. De begränsningar i funktionalitet som förekommer nämns också. 7.1 Mätning av svarstider I examensarbetet ingick att göra en utvärdering av systemets realtidsegenskaper. Några olika applikationer skulle implementeras, och tid skulle mätas för hur lång tid ett varv i masterns beräkningsloop tog. Mot slutet av examensarbetet visade det sig att en sådan utvärdering inte var möjlig att göra. Minst ett, helst tre till exemplar av Cross Fire skulle behövas, men det skulle inte hinna tillverkas vid CC Systems produktionsenhet i Alfta. Dessutom lyckades ej nedladdningen av systemet till Cross Fires flashminne och timer-funktioner implementerades aldrig. 15
16 rapport_084.doc 7. Minnesåtgång Systemets nuvarande utförande kräver byte ROM och byte RAM, när det exekverar som masternod. Endast de komponenter som är nödvändiga för traktorapplikationen finns med. 7.3 Problem under arbetet Vid arbetet med ett stort system som var helt okänt för författaren, och utvecklingsverktyg som inte heller var bekanta uppstod problem, några av dessa tas upp under denna rubrik. De grundinställningar som behövdes för att kunna kompilera systemet i Tasking fanns tillgängliga, men en hel del ändringar behövdes göras i dessa, vilket orsakade problem. I kompilatorn krävs att minnet definieras upp, vad gäller vilka adresser som tillhör RAM respektive ROM. De ursprungliga inställningarna rymde inte all kod. När dessa ändrades upptäcktes ett problem när pekare skickades som argument till funktioner. Pekaren hade inte samma värde när den kom in i funktionen, som hade när den skickades. Problemet löstes genom att minska på ROM-arean tills koden precis fick plats. Eftersom både ROM och RAM läggs i RAM vid debug ledde detta till att RAM ökade. Detta förhindrade den sönderskrivning av minnet som troligen skedde. En heap måste definieras upp, eftersom koden använder sig av dynamisk allokering, och minnet till detta allokeras på heapen. Detta medförde problem, eftersom det var oklart hur stor den skulle vara. Systemets mjukvarurepresentation av en port (in- eller utgång), Port, finns i sin tur i en klass SetOfPorts, som innehåller alla portar. SetOfPorts Port Ett objekt av denna klass allokeras dynamiskt och detta objekt kräver mycket minne. För att minska storleken på detta objekt, som ska kunna rymma alla portar på alla noder, minskades maxantalet noder till eller 4 för tillfället. 7.4 Test, funktionalitet Test av CAN- och IO-gränssnitt beskrivs i bilaga 4. Styrsystemets funktionalitet testades genom att implementera olika applikationer. Resultatet på utportarna jämfördes med det resultat som erhölls på utportarna när samma applikation exekverade i simulerad miljö. 16
17 rapport_084.doc Systemet fungerar tillfredställande både med mindre applikationer, t.ex. den allra enklaste AND-applikationen, och mer komplicerade applikationer, som traktorapplikationen. Timerfunktioner implementerades aldrig på grund av tidsbrist. Detta får som tidigare nämnts till följd att systemet inte kan avgöra hur många noder som finns närvarande, utan detta finns istället angivet i koden. Systemet klarar inte heller av att detektera om det tappar kontakten med någon nod. Någon fullständig demonstrator sattes inte upp, eftersom det krävde att systemet skulle gå att ladda ner till flash-minnet, vilket inte lyckades. För att kunna sätta upp en demonstrator krävdes också att den hårdvara som behövdes fanns tillgänglig. 8 SLUTORD Målet med examensarbetet, att driftsätta Styrsystem 000 på Cross Fire är i stort uppfyllt. Vissa delar är inte uppfyllda, en demonstrator av traktormodellen i sin helhet har inte satts upp, eftersom all nödvändig hårdvara inte fanns tillgänglig vid tiden för examensarbetet. På grund av tidsbrist implementerades inte heller några timer-funktioner, vilket leder till att systemet inte fungerar fullt ut, eftersom vissa delar av systemet använder sig av en timer. Systemet kan inte heller laddas ner till flash-minnet på Cross Fire, vilket ledde till att utvärderingen av realtidsegenskaper inte kunde genomföras på ett tillfredsställande sätt. Tillvägagångssättet för systemets inläsning av applikationsbeskrivningen måste ändras, eftersom det inte är acceptabelt att systemet måste kompileras om vid ändring av applikation. LITTERATUR Norström C, Sandström K, Mäki-Turja J, Hansson H, Thane H och Gustafsson J (000), Robusta realtidssystem, Mälardalen Real-Time Research Centre, Västerås Edler H, Eriksson, J-E, Hedberg J, Sjöström H, ( ), Definitions, BILAGOR 1. Tidplan. Vision 3. Schema över traktorapplikationen 4. Beskrivning av hur CAN- och IO-gränssnitt testades 17
18 Bilaga 1 AKTIVITET/DELAKTIVITET Inledande studie av System000 Installation/introduktion Studiebesök Alfta Sätta upp simuleringsmiljön Studier av System000 Dokumentation vision, specifikation, arkitektur Inlärning av utvecklingsmiljöer Inlärning av C Tasking Testapplikation i C Tasking Porteringsarbete Anpassa lågnivåinterface till HWdrivrutiner Driftsättning av testapplikation på nya HW Test Utvärdering av realtidsegenskaper Dokumentation utvärderingsplan Implementera applikationer enligt utvärderingsplan Sammanställning av testresultat Implementation av demonstrator Implementera traktormodell i ABE Test av traktormodell simulerat Nedladdning av traktormodell på HW Test av traktormodell på HW, eventuellt med grävmaskin Färdigställande av rapport Granskning, upprättning TIDSÅTGÅNG 5 dgr 1 dag 1 dag 1 dag 1 dag 1 dag 5 dgr dgr 3 dgr 5 dgr 10 dgr 10 dgr 5 dgr 5 dgr 1 dag 3 dgr 1 dag 5 dgr 1 dag 1 dag 1 dag dgr 5 dgr 5 dgr
19 Bilaga VISION Driftsättning av distribuerat styrsystem på hårdvara (Cross Fire) INTRODUKTION Syfte Detta dokument redovisar visionen för examensarbetet Driftsättning av distribuerat styrsystem på hårdvara. isionshistoria Författare Anm HS Första version. Affärsmöjligheter/Problemformulering CC Systems har lång erfarenhet av utveckling av komplexa, skräddarsydda styrsystem till kunder med komplexa maskiner och mellanstora serier. I syfte att tillvarata kompetensen från dessa system även till kunder i mer prispressade segment pågår arbetet med att ta fram ett generellt styrsystem med standardmoduler, där kunden själv kan designa sitt system med ett grafiskt verktyg. Detta system har idag arbetsnamnet System000 och går att köra på en simulerad miljö på PC. Tanken med examensarbetet är att driftsätta System000 på CC Systems hårdvara Lilla IOn. I detta ingår att utvärdera de realtidsegenskaper som uppkommer i systemet när några enkla applikationer körs. En demonstrator ska också implementeras som ska göra det möjligt att visa systemet internt och eventuellt externt. Demonstratorn ska vara i form av en traktormodell. Eventuellt ska testningen av detta göras på en riktig grävmaskin, som finns i Alfta. En rapport ska skrivas, som ska innehålla beslutsunderlag inför eventuella omkonstruktioner i arkitekturen hos den befintliga plattformen, för att erhålla acceptabla realtidsegenskaper för aktuellt marknadssegment.
20 Funktionalitet Följande funktionalitet kan listas: BAS System000 ska driftsättas på Lilla IOn Demonstratorn ska kunna visa hur System000 kan användas för en traktormodell System000 ska kunna användas för traktorapplikationen System000 ska kunna köras på den riktiga grävmaskinen Systemet ska kunna köras med valfri applikation gjord i ABE Applikationen ska kunna laddas med flash-laddare, kodladdning ska EJ kunna göras
21 Bilaga 4 TEST AV CAN-GRÄNSSNITT (Meddelande utan speciella typer) - Slav skickar meddelande till master med HAL_CanSend, rätt data kommer fram. - Slav skickar meddelande till master med CCS_CanSend, rätt data kommer fram. - Slav skickar meddelande till master med CanBufferM.send, rätt data kommer fram. - Slav tar emot meddelande från master med CanBufferM.Receive, rätt data kommer fram. - Meddelandet som slaven skickar visas som extended CAN i CAN-Tool. (Meddelande med typer) - Slav skickar meddelande med viss typ till master med CanBufferM.send, rätt typ kommer fram. - Slav tar emot meddelande med viss typ från master, rätt typ kommer fram. TEST AV IO-GRÄNSSNITT Analog ut: - Sätter ut 0, 50, 50, 999. Det översätts till 0-047, delas upp i hög och låg byte, och sätts ut på PWM-kanalerna. Analog in: - Läser av med ReadAd. Detta värde görs om till volt enligt det förfarande som görs i det grafiska Lilla IO-testprogrammet, och slutligen till mv. Detta värde skalas i sin tur om till ett värde mellan Digital ut: - Sätter ut 047, delar upp i hög och låg byte för 1:a, sätter ut 0 för 0:a på PWMkanalerna Digital in: - Läser av värdet, gör om till mv på samma sätt som vid analog in. Sedan tolkas värden mindre än 1000 mv=1 V som nolla, övriga som etta. Portnummer 0-3 måste vara ingång, port med nummer 0-7 måste vara utgång. En digital utgång och en analog utgång kan inte ha samma portnummer.
Systemkonstruktion SERIEKOMMUNIKATION
Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,
Läs merCAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1
CAN ett kommunikationsprotokoll för realtidssystem 1 Seriekomunikation- Datanät- Topologi Buss Ring Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Stjärna Masknät 2 Seriekomunikation-
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 merElektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Läs merIntroduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
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 merAtt använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Läs merBeskrivning av hur du ansluter en E-terminal från Beijer Electronics till HC900 via Ethernet så att denna kan visa och manipulera data i HC900.
Noterat i labbet om: Anslut en Beijer Electronics E-terminal till HC900 via Ethernet NIL00019 2002/09/03 Vad är Noterat i labbet om? Noterat i labbet om är en samling dokument som skall ses som hjälpmedel
Läs merÖvningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Läs merTentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merDigitala Projekt (EITF11)
Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...
Läs merIntroduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
Läs merObjektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Läs merSynkronisering. Föreläsning 8
Synkronisering Föreläsning 8 Synkronisering Så stort, intrikat och viktigt att det finns hela kurser om det i parallellprogrammering. Vi fuskar lite med några av de viktigaste bitarna! Synkronisering Vad
Läs merCoridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter
Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,
Läs merRVS5000PC. Allmänt. RVS5000PC produktblad
1 RVS5000PC Allmänt RVS5000PC är ett hjälpmedel och ett administrativt verktyg för RVS5000 systemet. Det hjälper och underlättar hanteringar av artiklar och styckevikter, gör att ansvariga kan göra produktionsuppföljningar
Läs merGrunderna 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 merKomma igång med E-Line RIO
Supportdokument Komma igång med E-Line RIO Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_Ladda upp filer från.docx Innehållsförteckning 1. Allmänt... 2 2. Systen setup...
Läs merSenaste version kan hämtas från Internet i PDF 1 format Http://www.e.kth.se/~e92_sli/exjobb/projektplan/projektplan.pdf
SPECIFIKATION 1(11) Projektplan Distribution Detta dokument är ej under kontrollerad distribution. Innehavaren ansvarar själv för att den senaste utgåvan av detta dokument används och att inaktuella kopior
Läs merNät med flera länkar. Vägval. Enklaste formen av kommunikation:
Nät med flera länkar väljarstrukturer Vägval vägvalsalgoritmer Dijkstra Bellman-Ford-Fulkerson ) UHOlVQLQJ 2002-10-11 Gunnar Karlsson, Bengt Sahlin 1 )UnQOlQNWLOOQlW Enklaste formen av kommunikation: kommunikation
Läs merProgrammering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning
Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning Daniel Leonardsson dale0010@student.umu.se Kajsa Persson kape0038@student.umu.se I samarbete med Svensk Maskinprovning,
Läs merTentamen SSY 065, lördag 14/4, 08:30-12:30, M. Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30
Industriautomation Tentamen SSY 065, lördag 14/4, 08:30-12:30, M Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30 Fullständig lösning ska lämnas på samtliga uppgifter. I förekommande
Läs merProjektarbete 2: Interaktiv prototyp
Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition
Läs merTDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan
Läs merD/A- och A/D-omvandlarmodul MOD687-31
D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill
Läs merF5 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 merLära tillsammans som grund för utveckling erfarenheter från förskolan. Sunne 3-4 februari 2010 Katina Thelin
Lära tillsammans som grund för utveckling erfarenheter från förskolan Sunne 3-4 februari 2010 Katina Thelin Problem... Någonting man försöker undervika och om möjligt göra sig av med eller En möjlighet
Läs merProgramvara. A faire Modul 1 utgång Till/Från Elektriska/mekaniska egenskaper: se produktens användarhandbok
Programvara A faire Modul 1 utgång Till/Från Elektriska/mekaniska egenskaper: se produktens användarhandbok Produktreferens Produktbeskrivning Programvarans ref TP-anordning Radioanordning TXB601B 1 utgång
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 merBeskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.
Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är
Läs merDesignmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.
Designmönster - EMW Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.se/~kentp arbetar på Inst. för Datavetenskap, Cth & Gu, 50% och Software
Läs merA-del motsvarande KS1
MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen
Läs merTrajexia Motionenhet
TJ1- Trajexia Motionenhet Motion Fristående avancerad motionstyrning med hjälp av Mechatrolink-II motionbuss 16-axlig avancerad motionkoordination över en robust och snabb motionlänk MECHATROLINK-II Stöder
Läs merOperativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem
Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Slideset 7 Agenda Exempel på operativsystem
Läs merDen här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.
Ver Okt 2011/pls Windows7, GX-IEC Developer, USB-adapter I olika kurser i styrteknik på Högskolan Dalarna används ett styrsystem från Mitsubishi och programvaran GX-IEC Developer. Kurserna går på distans
Läs merwww.telefrang.se Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke 2008-02-18 Sida 1 av 12
Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke MaxiSmoke MidiSmoke File: D:\Projekt\SMOKE CONTROL\MIDI SMOKE\Man\Midisystem_inst_man_V01.odt 2008-02-18 Sida 1 av 12 1. Installation
Läs merAnvändarhandledning Rapportgenerator Version: 1.1
Användarhandledning Rapportgenerator Version: 1.1 Umefast AB 2008 www.umefast.se Innehåll 1. Rapportgenerator... 2 1.1. Syfte och avgränsningar... 2 1.2. Wizards... 2 1.3. Förutsättningar för arbete med
Läs merHjälpmedel för kompilatorkonstruktion, DVB004
Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,
Läs merDatorsystem Laboration 2: Minnesmappade bussar
Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................
Läs merSlutrapport YUNSIT.se Portfolio/blogg
Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merMål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A
Mål Datorteknik Föreläsning 5 Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av fle processer Att du ska förstå begreppet tråd Att du ska veta hur odelba resurser kan
Läs merIntegrering av formgivningsprocessen i en produktutvecklingsprocess
Integrering av formgivningsprocessen i en produktutvecklingsprocess KN3060 Produktutveckling med formgivning Mälardalens Högskola INPRE 4 2006-04-24 Index Inledning... 2 Den klassiska PU-processen... 2
Läs merÅtkomst och användarhandledning
Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merLABORATIONSINSTRUKTION
Högskolan Dalarna Institutionen för Elektroteknik LABORATION LABORATIONSINSTRUKTION LOG/iC, PLD, kombinatorik, sekvensnät KURS Digitalteknik LAB NR 6 INNEHÅLL. Inledning 2. Prioritetskodare 3. Elektronisk
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merRapport från Läkemedelsverket
Utveckla märkning av läkemedelsförpackningar för att minska risken för förväxlingar Rapport från Läkemedelsverket Juni 2012 Postadress/Postal address: P.O. Box 26, SE-751 03 Uppsala, SWEDEN Besöksadress/Visiting
Läs mer725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Läs merInstallationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.
Installationsguide För att installera mjukvara och hårdvara, följ nedanstående anvisningar. Inkoppling av Logger 2020 eller SunLogger 2020 mot PC/LoggerSoft 1. Logger 2020 ansluts alltid via en router,
Läs merEditering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Läs merTentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012
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 merGemensamma riktlinjer fo r genomfo rande av Examensarbete Hing Elkraftteknik
Uppdatering: Datum för anmälan för boende samt datum för middag. Gemensamma riktlinjer fo r genomfo rande av Examensarbete Hing Elkraftteknik Examensarbetet ska ni genomföra på det universitet som ni är
Läs merUppdragsbeskrivning. Markeringssystem. Version 1.0 Mats Persson
Version 1.0 Distributionslista Befattning Bolag/enhet Namn Åtgärd Info. Student KaU Niklas Ivarsson Student KaU Andreas Bergman Konsult/huvudhandledare Sogeti Konsultchef Sogeti Åsa Maspers Konsult/handledare
Läs merEn ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.
F5 LE1460 Analog elektronik 2005-11-23 kl 08.15 12.00 Alfa En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning. ( Impedans är inte samma sak som resistans. Impedans
Läs merProvmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.
Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:
Läs merTeknisk specifikation
Teknisk specifikation FGC 313/323 897096_01 Specifikation för FGC Specifikation för FGC Produkt Flygts allmänna pumpstyrning (FGC) tillverkas för små pumpsystem. Den kan användas i små och stora bostadsområden
Läs merMSR. www.intab.se info@intab.se 0302-24 600 Gjutarevägen 1 443 61 Stenkullen
MSR www.intab.se info@intab.se 0302-24 600 Gjutarevägen 1 443 61 Stenkullen Inledning Intabs MSR är en liten kraftfull datalogger med USB-anslutning som komponeras ihop efter behov. De olika modellerna
Läs merTentamen i Krets- och mätteknik, fk - ETEF15
Tentamen i Krets- och mätteknik, fk - ETEF15 Institutionen för elektro- och informationsteknik LTH, Lund University 2015-10-29 8.00-13.00 Uppgifterna i tentamen ger totalt 60. Uppgifterna är inte ordnade
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merWAGO IO System Service Seminar. Diagnostik
WAGO IO System Service Seminar Diagnostik 1 Dioder på Controller Link 1/2 Ethernet Länk status Av - ingen ethernet anslutning grön - Ethernet anslutning blinkande grön - Ethernet anslutning skickar / tar
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 merProva på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09
Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal
Läs merFöreläsning 2: Avlusning och antilustekniker
2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade
Läs merSammanfattning av kollegialt lärande inom Lärande och inflytande på riktigt när olikheten är normen
Sammanfattning av kollegialt lärande inom Lärande och inflytande på riktigt när olikheten är normen Kollegialt lärande Frågeställningar Hur upplever pedagogerna att processen i förändringsarbetet har förlöpt
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs mer1 VARVTALSREGLERAD VÄRMEPUMP
Q25VK - Q65VK 1 VARVTALSREGLERAD VÄRMEPUMP ELEKTRONISK EXPANSIONSVENTIL STYRSYSTEM Qvantum Serie VK Grundvattenvärmepump VÄRMEEFFEKT - 72 kw KÖLDMEDIER : R07C, R13a Q25VK Q32VK - Q65VK ENERGI AB RINGUGNSGATAN
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merInnehåll. 1 Om detta dokument. 1 Om detta dokument 1. 2 Kundnytta 2 2.1 Introduktion till BACnet 2
Innehåll 1 Om detta dokument 1 2 Kundnytta 2 2.1 Introduktion till BACnet 2 3 Vad ska du tänka på vid projektering? 3 3.1 IP-plan 3 3.2 PICS 3 3.3 BIBBar 4 3.4 Profiler 4 3.5 Certifiering 4 3.6 EDE-filer
Läs merUppgift 1. Kylskåpstransporter
Uppgift 1. Kylskåpstransporter 1. Här kan du se de två bilarna lastade med kylskåp på väg mot stormarknaden En fabrik som tillverkar kylskåp ska leverera ett större parti med n, 1 n 1000, kylar till en
Läs merEnhetlig utformning av lägenhetsnummer
RED O G Ö RELSE Dnr 502-2000/1151 2000-10-20 Dnr 9490-00/100 1 (12) Enhetlig utformning av lägenhetsnummer Regeringens dnr Ju2000/2292/F 1 Sammanfattning Vi föreslår att det informationsbärande lägenhetsnumret
Läs merManual Nedladdningsbara klienten NLK
Manual Nedladdningsbara klienten NLK www.bildtelefoni.net Direktlänk: www.tolk.sip.nu Copyright 2015 bildtelefoni.net Fokus på tillgänglighet Med Nedladdningsbara klienten, NLK, kan alla som har behov
Läs merInstruktioner för lägenhetsnumrering
Version 1.1 2014 03 03 1(11) Instruktioner för lägenhetsnumrering Om det i en byggnad finns fler än en bostadslägenhet med samma belägenhetsadress ska fastighetsägaren ge varje lägenhet ett lägenhetsnummer
Läs merEffektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
Läs merSeriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]
2013 Svenska Motorcykel- och Snöskoterförbundet Box 2314 600 02 NORRKÖPING Tel. 011-23 10 80 www.svemo.se Seriehantering [En enkel guide för hur du som serieadministratör använder SVEMO TA.] Innehåll Inledning...
Läs merInstuderingsfrågor ETS052 Datorkommuniktion - 2014
Instuderingsfrågor ETS052 Datorkommuniktion - 2014 October 13, 2014 Fråga 1. Beskriv de två komponenterna i PCM. Fråga 2. Förklara hur länklagret kan skilja på olika inkommande paket från det fysiska lagret.
Läs mer4:4 Mätinstrument. Inledning
4:4 Mätinstrument. Inledning För att studera elektriska signaler, strömmar och spänningar måste man ha lämpliga instrument. I detta avsnitt kommer vi att gå igenom de viktigaste, och som vi kommer att
Läs merÖverklagande av länsstyrelsens beslut om återförvisning av ärende om fläktbuller, Rindögatan 6, fastighet Nummerhästen 9
Miljöförvaltningen Tjänsteutlåtande Sida 1 (9) 2014-03-04 Handläggare Robert Eriksson Telefon: 508 28 951 Till Stockholms miljö- och hälsoskyddsnämnd Överklagande av länsstyrelsens beslut om återförvisning
Läs merLösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
Läs merInlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1
Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4
Läs merDigital Display VDS / Bus2
3-7449 Digital Display & 3-7447 Digital Knappsats (ref.99622) Se hemsida / support för senaste manualerna. http://www.axema.se/ Ver. 1.2 axema Sida 1 Ändra språk till Svenska. Tryck 0 och efter det ange
Läs merFelsökning av mjukvara
KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att
Läs merPositiv Ridning Systemet Arbetar min häst korrekt? Av Henrik Johansen
Positiv Ridning Systemet Arbetar min häst korrekt? Av Henrik Johansen Detta test på hur din häst arbetar tar ca tre minuter och bör ingå i uppvärmningen varje dag. Du måste veta vad du vill när du sitter
Läs merIn- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.
Fö 3: In/Ut matning och kopplingsstruktur In- och Utenheter In- och Utenheter. Styrning. I/O-kanalenheter Kopplingsstruktur. Buss. Två huvudsakliga typer av I/O enheter: - Interaktiva. Exempelvis en terminal.
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 19 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Konstruktion av egna grafiska komponenter Kontsruktion av egen komponent Att rita upp
Läs merTentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Läs merBekämpningsmedelsregistret
Bekämpningsmedelsregistret Lathund Mall-id: MAG-0007, 2014-10-22 Kemikalieinspektionen Postadress Besök & leverans Faktureringsadress Telefon & fax Internet Org nr Box 2 172 13 Sundbyberg Esplanaden 3A
Läs merMetoden. Om Pilotcirkel. Studiecirkel i kommunikation
Metoden DIGIBOK är en metod för hur man kan arbeta med fysiska kommunikationsböcker och digitala samtalsstöd i form av applikationer till surfplattor. Målet med metoden är att tillhandahålla en fungerande
Läs merInnehåll. 1 Dokumentbeskrivning 3. 2 Användarinformation 3. 3 Installations anvisning 5. 3.1 Starta upp enheten 5
Version: 1.1 1 Innehåll 1 Dokumentbeskrivning 3 2 Användarinformation 3 3 Installations anvisning 5 3.1 Starta upp enheten 5 3.2 Sätta skärmlåskod 8 3.3 Skapa Google konto 10 3.4 Installera Mobileiron
Läs merElektronisk budbok för tidningsbud
Elektronisk budbok för tidningsbud Ett arbete av Johan Millert (millert@home.se) Innehållsförteckning för kursen Interaktionsdesign Sommaren 2004 Inledning...2 Bakgrund...2 Kravanalys...2 Användarintervjuer...2
Läs merKlassuppgift: Hinderrally
Klassuppgift: Hinderrally I detta dokument finns Instruktion till uppgiften Regler för konstruktionen Användarhandledning till Algodoo Uppgift Bygg ett simulerat fordon som ska klara ett antal hinder.
Läs merProgrammering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010
Föreläsning 6 Kapitel 5 5.1 switch-satsen Vi ser på ett par exempel ur boken: int a; srand(time(0)); a=rand()%6+1; if(a==1) printf("hej Du glade\n"); else if(a==2) printf("god dag\n"); else if(a==3) printf("är
Läs merAtt ansluta en fastighet till Karlstads Stadsnät och bygga ett fastighetsnät. www.stadsnat.karlstad.se
Att ansluta en fastighet till Karlstads Stadsnät och bygga ett fastighetsnät www.stadsnat.karlstad.se Inledning Att ansluta en fastighet till Karlstads Stadsnät innebär att i stort sett få obegränsade
Läs merOp-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning.
Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning. I del 1 bekantade vi oss med op-förstärkaren som likspänningsförstärkare. För att kunna arbeta med op-förstärkaren vill vi kunna mäta
Läs merVägledning i att fylla i ansökan om ändrad tilldelning.
Vägledning i att fylla i ansökan om ändrad tilldelning. 2015-11-16 Denna vägledning innehåller instruktioner om hur man ska fylla i ansökningsformuläret om gratis tilldelning av utsläppsrätter när en anläggning
Läs merEXAMENSARBETE. Ventilationskarta, Björkdals underjordsgruva. Mattias Holmgren. Högskoleexamen Bygg och anläggning
EXAMENSARBETE Ventilationskarta, Björkdals underjordsgruva Mattias Holmgren Högskoleexamen Bygg och anläggning Luleå tekniska universitet Institutionen för samhällsbyggnad och naturresurser Ventilationskarta
Läs merLaboration Kombinatoriska kretsar
Laboration Kombinatoriska kretsar Digital Design IE1204/5 Observera! För att få laborera måste Du ha: bokat en laborationstid i bokningssystemet (Daisy). löst ditt personliga web-häfte med förkunskapsuppgifter
Läs merTABELLHANTERING. Formler, fungerar det att ha i tabeller?
TABELLHANTERING Formler, fungerar det att ha i tabeller? Detta lilla kompendium går igenom skillnader i tabeller mellan olika program. Eftersom det finns skillnader på hur tabeller fungerar så skall jag
Läs merStyrdokumentkompendium
Styrdokumentkompendium Information och kommunikation 2 Sammanställt av Joni Stam Inledning Jag brukar säga till mina elever, halvt på skämt och halvt på allvar, att jag förhåller mig till kursens centrala
Läs mer