BSR Prestandaverktyg Prestandamätning via diagnosuttag över CAN BSR Performance tool Performance measure through diagnostic socket over CAN
|
|
- Ann-Charlotte Larsson
- för 8 år sedan
- Visningar:
Transkript
1 School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI BSR Prestandaverktyg Prestandamätning via diagnosuttag över CAN BSR Performance tool Performance measure through diagnostic socket over CAN Andreas Sjöberg June 2009 MSI Report Växjö University ISSN SE VÄXJÖ ISRN VXU/MSI/ED/E/ /--SE
2 Organisation/Organization Författare/Author(s) VÄXJÖ UNIVERSITET Matematiska och systemtekniska institutionen Andreas Sjöberg Växjö University/ School of Mathematics and System Engineering Dokumenttyp/Type of document Examensarbete/Diplomawork Titel och undertitel/title and subtitle BSR Prestandaverktyg - Prestandamätning via diagnosuttag över CAN BSR Performance tool - Performance measure through diagnostic socket over CAN Sammanfattning (på svenska) Denna rapport beskriver ett examensarbete för högskoleingenjörsexamen i datorteknik vid Växjö universitet. Företaget BSR i Växjö har önskat ett program som kan mäta en bils prestanda, med attribut som accelerationstider och effektuppskattning. Kommunikationen mellan bil och dator sker via USB-port på datorn och OBD-II-uttag på bilen med protokollet CAN, controller area network. Bilar från VAG har i första hand varit målgruppen och programmet har testats på en Volkswagen Passat CC från Systemet har utvecklats i programspråket C# och i utvecklingsmiljön Visual Studio med ramverket.net. Rapporten beskriver nätverksprotokollet CAN, vilket är en väsentlig del i att förstå hur kommunikationen går till. Även tillvägagångssätt, analys och implementering beskrivs. Nyckelord: CAN, controller area network, prestanda, VAG, diagnosuttag, OBD-II, BSR Abstract (in English) This abstract describes the bachelor degree thesis in computer technology at Växjö University. The company BSR in Växjö has requested an application that can measure a cars performance, with attributes like acceleration times and engine power estimation. The communication between car and computer is via the USB port on the computer and the OBD-II socket on the car with the network protocol CAN, controller area network. Cars from VAG have been the primary focus group and the application has been tested on a Volkswagen Passat CC from The system is developed in the programming language C# in the environment Visual Studio with the framework.net. This report describes the network protocol CAN, which is an essential part in understanding how the communication works. Also approach, analyze and implementation is described. Keywords: CAN, controller area network, performance, VAG, diagnostic socket, OBD-II, BSR Utgivningsår/Year of issue 2009 Språk/Language Swedish Antal sidor/number of pages 40 1
3 Innehållsförteckning 1. Inledning Problemställning Uppgiftsbeskrivning Projektbeskrivning Mål Projektmodell CAN Controller Area Network Vad är CAN? Egenskaper och tillämpningsområden Frames Ramar Data/Remote Frame Error Frame Overload Frame Bus Arbitration Förhandling om mediet Synkronisering Bit stuffing Bit sampling Feldetektering Bit monitoring CRC kontroll Bit stuffing error Frame check Acknowledge check Felhantering Error active Felaktiv Error passive Felpassiv Bus-off Felräknare Analys av kommunikationen USR programmering Initiera kommunikationssession med bilen Hastighet och motorvarvtal Implementering Klasser och metoder About Block CanMessage
4 DisplayChart DistanceRpm Initialize PerformanceControl Program Settings Testprogram Resultat Litteraturförteckning Övrig litteratur Bilagor Kommunikationslogg Skärmdump av det grafiska gränssnittet Implementerad källkod
5 1. Inledning BSR Svenska AB är ett marknadsledande företag inom optimering av bilmotorer för prestanda och miljö. De har fått utnämnelser som Superföretag 2005 och 2006 av Veckans Affärer och Årets Företagare 2008 av Växjö kommun och föreningen Företagarna. Vid företagets lokaler i Växjö pågår ständigt utveckling av nya produkter och nya bilar tas in för att trimmas genom att främst förse dem med ny programvara. BSR har önskat ett PC-baserat program som, genom kommunikation med bilen, kan beräkna och presentera vissa prestandamått, som till exempel accelerationstider och tidtagning på en sträcka. Tanken är att kunderna senare ska kunna använda programmet i någon form och kunna mäta sin bils prestanda innan och efter trimning för att kunna se bilens prestandaförändring. För bara tio år sedan hade bilarna inte alls lika mycket elektronik som de har idag. Dagens bilar har väldigt mycket information som i vanliga fall används internt i bilen för att kontrollera att inget går sönder och för att göra bilen mer säker. När bilen körs till en verkstad kopplas en dator till bilen och genom att kommunicera med bilen kan felen lokaliseras. Genom att skapa ett eget program kan önskade parametrar hämtas från bilen och genom att tolka dessa samt utföra vissa beräkningar kan önskad information presenteras. Kommunikationen med bilen sker via bilens diagnosuttag, OBD-II, som ska finnas på alla bilar tillverkade efter Det finns en standard för hur kommunikationen ska se ut, men den lämnar visst spelrum till biltillverkaren, vilket gör att bilar från olika tillverkare kommunicerar på olika sätt. Genom programmeringen i projektet har modifierbarhet därför funnits i tanken för att göra ett program som lätt kan modifieras för att passa fler bilmodeller. För detta projekt har en Volkswagen Passat CC årsmodell 2009 med turbomatad dieselmotor valts. Protokollet som används för kommunikationen kallas CAN, Controller Area Network, och är skapat med målsättningen att det ska fungera väl i bullriga och störande miljöer. Detta gör CAN passande för, till exempel, fordon och inom industrin. Rapporten beskriver protokollet eftersom viss förståelse för CAN är väsentlig för att kunna analysera kommunikationen. 4
6 2. Problemställning 2.1. Uppgiftsbeskrivning BSR i Växjö har flera produkter som kopplas till bilen via OBD-II 1, till exempel deras produkt kallad PPC, liknande en handdator, som trimmar bilen genom att ge den en modifierad mjukvara. BSR har önskat ett verktyg som kan kopplas till detta uttag och sedan mäta bilens prestanda, exempelvis accelerationstider och tidtagning på en kvarts mile 2. Min uppgift blir att, genom att koppla in en dator till bilens OBD-II, kommunicera med bilen, hämta nödvändig information, utföra beräkningar och behandla informationen för att kunna presentera önskad data. För att kunna kommunicera med bilen över CAN-bussen används ett Kvaser verktyg och deras API 3. Verktyget är en Kvaser USBcanII HS/HS och kopplas till datorn USB-port samt till fordonets diagnosuttag. För att kommunicera behövs även analysering av trafiken på bussen med hjälp av diagnosverktyg och tolkning av trafiken sker med hjälp från ISO-standarder 4. BSR önskade även att verktyget initialt skulle utvecklas till en bil från biltillverkaren VAG 5. Programmet implementeras med programspråket C# och med hjälp av Visual Studio skapas det grafiska användargränssnittet Projektbeskrivning Beskrivningen av projektet är framtagen från samtal med Stefan Olsson, grundare till BSR, och Philip Albertsson, handledare för projektet Mål Målet är att enkelt kunna mäta prestanda på bilar och i första hand till bilar från VAG. Vidareutveckling för kompabilitet med andra bilmärken kan komma att ske senare, men är utanför detta projekt. Privatpersoner ska även kunna använda verktyget senare för att kunna mäta skillnaden mellan bilen som original och när den är trimmad Projektmodell Här följer en modell över projektet och de olika delar som innefattas samt vilka verktyg som använts för att upprätta kommunikation. Dator o Logga kommunikationen med bilen med befintlig programvara o Analysera kommunikationen och försök återskapa den i ett eget program o Skicka meddelandenn och tolka svaren genom att plocka ut önskade parametrar o Utför beräkningar på hämtad information o Presentera resultaten Kvaser USBcanII o Medföljande API används för initiering samt sändning och mottagning av data på nätverket o Sköter kommunikationen över CAN-bussen Bil o Ett fordon att kunna testa programmet på 1 On Board Diagnostics 2 En engelsk mil = 1,609 kilometer 3 Application Programming Interface e 4 International Organization for Standardization 5 Volkswagen Auto Group 5
7 3. CAN Controller Area Network 3.1. Vad är CAN? Controller Area Network (CAN) är en seriell nätverksteknik som från början var tänkt och designad för bilindustrin men som, bland annat, även används i inbyggda system och inom automation i industrin. CAN erbjuder snabb kommunikation mellan mikrokontrollers med realtidskrav och eliminerar behovet av en dyrare och mer komplex teknologi. CAN är ett nätverkssystem med hög hastighet bestående av två ledare och stöd för halvduplex 6 och är överlägsen tekniker som RS vid jämförelse mellan funktionalitet, pålitlighet och kostnadseffektivitet. Spänningsskillnaden mellan dessa två ledare representerar dominant nivå (en nolla, 0 V) och recessiv nivå (en etta, 5 V), där den dominanta nivån alltid upphäver den recessiva nivån. Till skillnad från TCP/IP 8, som är designat för att skicka stora datamängder, är CAN designat för realtidsprestanda. Med baud rate 9 på 1 Mbit/s kan CAN vara snabbare än en 100 Mbit/s TCP/IP uppkoppling när det gäller snabba reaktionstider och tid för feldetektering och felkorrigering. Felhanteringen är noggrann och viktig i CAN eftersom kommunikationen ska kunna används i störande och bullriga miljöer. Idén om CAN kläcktes i Tyskland på tidigt 1980-tal av ingenjörer vid Bosch. De fann en marknad för en teknologi att användas i bilar och som skulle möjliggöra fortsatt utveckling av funktionalitet. Deras fokus var ett kommunikationssystem mellan ett antal ECUs 10 i Mercedes-Benz bilar. Ett system som skulle minska antalet kablar och centrera kontrollen till ett multiprocessorsystem samt resultera i ökad prestanda. Utvecklingen kunde fortsätta tack vare inblandning av Mercedes-Benz, Intel och flera tyska universitet som tillsammans gjorde CAN ett lyckat koncept. CAN standarden introducerades 1986 under en kongress i Detroit och de första CAN kontrollerna var från Intel och Philips och introducerades under Sedan dess har många tillverkare producerat flera fristående CAN kontrollers eller implementerat dem i befintliga kretskort (Voss, 2005) Egenskaper och tillämpningsområden Några viktiga egenskaper hos CAN är: Bussaccess beroende av prioritet Riskfri förhandling om tillträde att sända på bussen Meddelande förlorat på grund av lägre prioritet medför automatisk omsändning Sändnings- och mottagningsfel på meddelande medför automatisk omsändning Feldetektering och felsignalering Felaktiga noder upptäcks och deaktiveras automatiskt CAN används bland annat i: Personbilar, bussar och lastbilar Offroad fordon Flygplans- och rymdskeppselektronik Industriautomation Liftar och hissar Medicinsk utrustning Med mera 6 Kommunikationen går enbart i en riktning åt gången 7 En standard för seriell binär datakommunikation och används i datorers seriella port 8 En arkitektur för datakommunikation över nätverk som delas upp i olika lager, lik OSI-modellen 9 Baud rate innebär antalet ändringar på det digitala överföringsmediet per sekund 10 Electronic Control Units 6
8 3.3. Frames Ramar CAN definierar fyra olika typer av meddelanderamar: Data Frame Skickar data från en sändande nod 11 till en eller flera mottagande noder Remote Frame Begär data från någon annan nod, följs alltid av en dataram som innehåller begärd data Error Frame Alla deltagare på nätverket, sändare och mottagare, kan rapportera felvillkor när som helst under pågående sändning av data- eller remoteram Overload Frame En nod kan begära fördröjning mellan två data- eller remoteramar för visa att noden är överbelastad och behöver mer tid mellan sändningarna Data/Remote Frame Figur Data/Remote Frame (Voss, 2005, p.44) SOF Start Of Frame anger början på data- och remoteramar med en dominant bit, till skillnad från de tidigare recessiva bitarna som indikerar Buss Idle 12 Arbitration Field Innehåller meddelandets ID och RTR (Remote Transmission Request) bit Control Field Används för att bestämma datafältets längd och längden på meddelandets ID Data Field Den data, information, som vi vill överföra CRC Field Cyclic Redundancy Check används för feldetektering EOF End Of Frame Anger slutet på en data- eller remoteram Den enda skillnaden mellan en dataram och en remoteram är att en remoteram inte har något datafält. Denna skillnad anges med biten RTR, som är dominant (RTR = 0) för en dataram och recessiv (RTR = 1) för en remoteram. En dataram har högre prioritet än en remoteram. 11 En CAN enhet som kan sända och ta emot data över nätverket 12 Innebär att kommunikationsmediet är ledigt 7
9 Figur Control Field (Voss, 2005, p.47) Kontrollfältet (Control Field) innehåller sex bitar. Den första biten är IDE (Identifier Extension Bit) och används för att ange att meddelandets ID utökas till 29 bitar istället för de elva bitar som används annars. Den andra biten är reserverad för framtida användning och de fyra sista bitarna anger DLC 13 som sätts till ett värde mellan noll och åtta för att indikera datafältets längd mellan noll och åtta bytes. Datafältet (Data Field) innehåller den data man vill kommunicera mellan noderna. Detta fält är högst åtta bytes och första biten är den mest signifikanta, MSB 14. Avsändaren beräknar 15 bitar CRC 15 och bifogar detta efter datafältet. Den sextonde biten i CRC fältet heter CRC delimiter och ska alltid vara recessiv (en etta, 5 V) och ger de lyssnande noderna den tid de behöver för att kontrollera om checksumman stämmer. De nästkommande två bitarna är ACK 16 och ACK delimiter, även denna recessiv. Till skillnad från RS-232 kommunikation, där ACK fältet används för att mottagaren ska berätta om meddelandet tagits emot korrekt, används det här istället för att mottagaren ska berätta om CRC (checksumman) beräknats korrekt. Den sändande noden ändras till mottagande nod genom att sända en recessiv signal på bussen samtidigt som de andra noderna i nätverket har utfört sina CRC kontroller och skickar en dominant signal på bussen om checksumman var korrekt. Den sändande noden avlyssnar mediet och förväntar sig en dominant nivå under ACK luckan. En recessiv nivå sker endast om alla mottagande noder beräknat fel checksumma och ingen skickar ut en dominant nivå. Detta innebär ett lokalt fel hos den sändande noden som beräknat fel checksumma. Om någon mottagande nod upptäcker felaktig checksumma kommer denna att skicka en felram direkt efter ACK fältet. I det fall där flera noder avlyssnar mediet kan ACK skickas från en nod som mottagit meddelandet korrekt och en felram skickas efter ACK fältet av en annan nod som inte fått korrekt checksumma. Alla data- eller remoteramar avslutas med en bitsekvens på sju recessiva bitar, EOF, förutom om en overloadram skickas. Tre recessiva bitar kallade IFS, Interframe Space, skickas efter EOF för att representera det minsta möjliga hålrum mellan ramar av alla typer (data, remote, error eller overload). Under Interframe Space kan ingen nod skicka en data- eller remoteram, däremot finns inte IFS mellan error- och overloadramar (Voss, 2005) Error Frame En felram, Error Frame, uppmärksammar nätverket om att fel har uppstått genom att bryta mot regeln om bit stuffing, att fem bitar i följd med samma polaritet måste följas av en bit med omvänd polaritet. I vanliga fall läggs denna bit till hos sändaren och filtreras bort hos mottagaren på alla fält från SOF till och med CRC fältet. En felram inleds med sex dominanta bitar och gör övriga noder uppmärksammade på att ett fel uppstått, vilket gör att även de övriga noderna skickar en felram på bussen (Voss, 2005). 13 Data Length Code 14 Most Significant Bit 15 Cyclic Redundancy Check 16 Acknowledgement 8
10 Figur Error Frame (Voss, 2005, p.57) Eftersom noderna i nätverket kan upptäcka felet vid olika tidpunkter, och då börja skicka sina felramar vid olika tidpunkter, kan fältet Error Flag variera i längd. När en nod skickat sin felram skickar den ut en recessiv nivå, och fortsätter med det till bussen faktiskt når recessiv nivå. Detta inträffar när alla noder nått sin första bit i error delimiter fältet. Därefter kommer alla noder hålla recessiv nivå de resterande sju bitarna av fältet. Algoritmen används för att synkronisera alla noder i nätverket samt för att avgöra om noden var den första att felrapportera eller inte, för att bestämma och avlägsna defekta noder (Voss, 2005) Overload Frame En overloadram är en speciell version av en felram som inte orsakar omsändning av den senaste ramen. Figur Overload Frame (Voss, 2005, p.66) Precis som en felram består ramen av en flagga med sex dominanta bitar i följd. Därefter kommer en, precis som i felramen, liknande åtta bitars delimiter. En nod kan begära fördröjning mellan två data- eller remoteramar, alltså kan en overloadram endast finnas mellan data- eller remoteramar i kommunikationen. Precis som namnet anger, skickas ramen av noden som är överbelastad och inte kan delta i kommunikation (Voss, 2005) Bus Arbitration Förhandling om mediet CAN är ett seriellt kommunikationssystem baserat på en två-ledningskoppling mellan noder i ett nätverk, vilket innebär att alla noder dela samma fysiska buss. För att kunna ha en säker dataöverföring krävs därför en metod för att undvika kollisioner och återställa bussens tillstånd efter en kollision. Noderna kontrollerar alltid att bussen är ledig innan de försöker skicka, däremot kan det inträffa en kollision då två eller fler noder börjar skicka vid samma tidpunkt. I vissa system används tekniken där de sändande noderna slutar att sända vid kollision, väntar en slumpmässig tid och försöker sedan att skicka igen. CAN avvärjer problemet med kollision genom att använda sig av meddelandets ID, den noden med lägst ID har högst prioritet och får därför tillgång till kommunikationsmediet vid en kollision (Voss, 2005). 9
11 Till Arbitration Field (se Figur ) räknas Message Identifier och RTR (Remote Transmission Request). Det är under denna period som det görs upp om vem som ska fortsätta sända och vilka som ska sluta sända och istället börja lyssna. Figur Bus Arbitration (Voss, 2005, p.86) En etta är recessiv och en nolla är dominant, vilket innebär att bussen kommer vara noll om någon av noderna skickar en nolla. I exemplet ovan börjar tre noder sända vid samma tidpunkt. Meddelandena har följande ID: Nod A = 32C hexadecimalt Nod B = 330 hexadecimalt Nod C = 328 hexadecimalt Noderna begär kommunikationsbussen genom att skicka en dominant bit på bussen (SOF). Nod D, som inte begär bussen, slår då automatiskt över till att motta data. Nod A, B och C skickar ut sina meddelandeidentifierare med MSB först. Mellan bit tio och bit sex är det ingen skillnad på bussens signalnivå. Efter sändning av den femte biten förlorar nod B förhandlingen om bussen eftersom nod A och C skickar dominant nivå och nod B skickar recessiv nivå. Nod B ställer då om till att lyssna. När tredje biten sänts förlorar även nod A förhandlingen eftersom den skickar recessiv nivå då nod C skickar dominant nivå och nod A ställer om till att lyssna. Nod C får kontrollen över kommunikationsmediet och fortsätter att sända sitt meddelande medan de andra noderna lyssnar (Voss, 2005) Synkronisering Varje nod i ett CAN nätverk har en egen oscillator och det går inte garantera att oscillatorerna är synkroniserade. SOF biten, som inleder varje ram, fungerar även som en synkroniseringsbit då den ger en fallande flank på bussen, till vilken de övriga noderna synkroniserar sina oscillatorer. 10
12 Figur NRZ jämfört med Manchester (Voss, 2005, p.92) CAN använder sig av NRZ 17 och det medför att en bitström med samma polaritet (som Buss Idle) inte ger någon möjlighet att synkronisera. För att kompensera för avsaknaden av signalflanker används även Bit Stuffing (Voss, 2005) Bit stuffing CAN standarden tillåter endast fem bitar i följd med samma polaritet från SOF biten till och med CRC fältet i en meddelanderam. Om fler än fem bitar har samma polaritet i följd, oavsett dominanta eller recessiva, innebär det fel och kommer leda till att alla noder skickar ut felramar. Detta förhållande används även i felramar där man skickar sex dominanta bitar i följd för att visa att ett fel har inträffat (se Error Frame). Bit stuffing är inte tillåtet i fälten: CRC Delimiter ACK Field EOF Intermission Field Bit stuffing implementeras genom att sändaren lägger till en komplementbit, stuff bit, med omvänd polaritet efter fem skickade bitar av samma polaritet. Mottagaren tar sedan bort denna bit när den mottagit fem bitar i följd med samma polaritet (Voss, 2005) Bit sampling För att alla mottagare i CAN nätverket ska läsa de sända ramarna korrekt måste de synkronisera sina interna tidsbaser med den mottagna bitströmmen. Detta sker hos mottagaren genom att den kontinuerligt omjusterar sin bitsamplingspunkt. Avsikten med att synkronisera bittimingen är att koordinera oscillatorfrekvenserna i nätverket för att resultera i en systemspecifik tidsreferens. För att kunna avgöra den exakta bitsamplingspunkten delar CAN standarden in varje bittid i fyra tidssegment. 17 Non-Return-to-Zero 11
13 Figur Bittidsuppdelning (Voss, 2005, p.97) När en nod skickar en SOF bit som, efter vissa fördröjningar, når den mottagande noden, startar den mottagande noden om sin interna bittimer och får därigenom sin referens till början av Sync_Seg (se Figur 3.7.1). Därefter räknar noden ut när samplingspunkten ska inträffa genom olika givna tidskvanta och frekvensen på den interna oscillatorn. Det totala antalet tidskvanta per bit är programmerbart från åtminstone åtta till 25. Bitsamplingspunkten ligger närmare slutet av biten (se Figur 3.7.2) för att kompensera för signalstörningar och fördröjningar i CAN nätverket och fördröjningar inom själva sändar- /mottagarkretsen (Voss, 2005). Figur Bitsamplingspunkter (Voss, 2005, p.96) 3.8. Feldetektering CAN erbjuder fem metoder för att upptäcka fel när ramar skickas på nätverket: Bit monitoring, CRC kontroll, Bitstuffing error, Frame check och Acknowledge check (Voss, 2005, pp ) Bit monitoring Den nod som sänder på CAN bussen övervakar samtidigt bussnivån och jämför med sin egna sända nivå. Bussen kommer alltid vara dominant om någon nod skickar en dominant nivå, därför kan endast fel upptäckas av den sändande noden när den skickar en recessiv nivå. Det finns dock undantag när en nivåskillnad, mellan den sända nivån och bussnivån, inte leder till ett fel. En dominant bit på bussen leder inte till ett fel om en recessiv nivå skickas under Arbitration eller ACK fältet (se 3.3 Frames Ramar). Ett fel sker inte heller om en nod skickar en felram, bestående av sex recessiva bitar, och upptäcker en dominant bit (Voss, 2005) CRC kontroll I data- och remoteramar finns en 15 bitars lång checksumma (CRC) som är beräknad från SOF till och med datafältet. En något komplex uträkning av checksumman sker för att göra denna så felfri som möjligt. Binär division tillämpas på den sända informationen med ett fördefinierat polynom, som för CAN är specificerat som följande: X 15 + X 14 + X 10 + X 8 + X 7 + X 4 + X
14 Meddelandet som ska skickas utökas med 15 nollor, samma antal som polynomgraden, efter den minst signifikanta biten (i slutet) och divideras sedan med det givna polynomet. Detta lämnar en rest lika stor som polynomgraden och genom den logiska operation OR läggs denna rest på slutet av meddelandet och ersätter de tidigare tillagda nollorna. I CAN tillämpas en 15 bitars CRC och detta polynom kallas därför CRC-15. När meddelandet når mottagaren sker en uträkning hos denna, där det mottagna meddelandet divideras (hela meddelandet inklusive de 15 CRC bitarna) med samma polynom som sändaren använde. Om divisionens resultat blir noll innebär det att meddelandet mottagits korrekt, annars har någon bit förändrats under överföringen och omsändning kommer behövas (Voss, 2005) Bit stuffing error Ett bit stuffing fel kan endast inträffa från SOF till och med CRC fältet eftersom det endast är där bitstuffing är tillåtet. En bitsekvens på fler än fem bitar i följd med samma polaritet, dominanta eller recessiva, i en data- eller remoteram, anses vara ett bit stuffing fel. En felram (se även Error Frame) överstrider denna princip för att påvisa att ett fel har inträffat och för att upplysa övriga noder om det påträffade felet. Ett annat undantag är overloadramen (se även Overload Frame) som använder liknande format som en felram (Voss, 2005) Frame check Genom vissa statiska (recessiva) fält i data- och remoteramar kan fel påvisas genom att den nod som upptäckt felet skickar dominant nivå, vilken uppfattas av de övriga noderna. Dessa fält är: CRC delimiter, ACK delimiter, EOF och Intermission fältet (se Figur ). Det finns dock undantag som inte generar fel även här. Dessa undantag är: En mottagande nod upptäcker dominant bit på EOF En nod upptäcker dominant bit på den sista Error delimiter (se Error Frame) En nod upptäcker dominant bit på den sista Overload delimiter (se Overload Frame) Acknowledge check ACK fältet används för att bekräfta att mottagarna beräknat korrekt checksumma och därmed tagit emot meddelandet korrekt. Den sändande noden övervakar bussen och förväntar sig en dominant nivå som bekräftelse på att någon mottagande nod fått korrekt checksumma. Om ingen nod bekräftar korrekt meddelande genom dominant nivå under ACK luckan kommer sändaren registrera att ett fel har inträffat (Voss, 2005) Felhantering Ett CAN nätverk utan felhantering, i form av avaktivering av defekta noder, skulle kunna leda till att omsändning av ramar sker utan avbrott och blockerar bussen. Följande två scenarios kan tänkas uppstå: 1. Sändningsfel En defekt nod med lågt ID (hög prioritet) skickar en defekt ram på bussen, efter att ha vunnit förhandlingen med lägst ID. De fungerande noderna i nätverket upptäcker felet och rapporterar detta. CAN standarden tillåter då omsändning av samma defekta ram och eftersom noden med lägst ID alltid vinner förhandlingen om bussen kommer samma defekta ram omsändas hela tiden och bussen blir blockerad (Voss, 2005). 2. Mottagningsfel En defekt nod mottar ett felfritt meddelande men upptäcker fel och rapporterar detta. CAN standarden tillåter då omsändning av ramen och den felaktiga noden kommer rapportera felet igen, vilket leder till en liknande situation som exemplet ovan, där ramen sänds om hela tiden och bussen blir blockerad (Voss, 2005). Dessa händelser förutsätter att noden är permanent defekt och så är inte alltid fallet. Till exempel kan störningar från omgivningen orsaka tillfälliga fel som då inte ska tolkas som permanent defekta noder. CAN standarden kräver att noderna i nätverket ska kunna skilja mellan dessa två feltyper och 13
15 att en permanent defekt nod ska lokaliseras och logiskt kopplas bort från bussen. En logiskt frånkopplad nod kan varken skicka eller ta emot ramar på nätverket. För att kunna avgöra om ett fel som inträffat beror på en defekt nod eller på ett tillfälligt fel förses varje CAN nods kretskort med två räknare, en för sändningsfel och en för mottagningsfel. Om ett fel uppstår ökas respektive räknare och om en korrekt ram skickas eller mottas minskas respektive räknare. För maximal pålitlighet ökas i regel räknarna snabbare än de minskas. Beroende på nodens räknare kan noden bete sig som aktiv eller passiv (Voss, 2005) Error active Felaktiv Att en nod är felaktiv innebär att noden fungerar korrekt och noden är felaktiv om räknarna för sändningsfel och mottagningsfel är strängt mindre än 128. En felaktiv nod deltar i kommunikationen på bussen utan begränsningar och kan skicka felrapporter (Voss, 2005) Error passive Felpassiv En nod är felpassiv när räknaren för sändningsfel eller mottagningsfel har ett värde som överstiger 127. En felpassiv nod deltar i busskommunikationen utan restriktioner men om den upptäcker ett fel skickas en felrapport bestående av sex recessiva bitar (inte dominanta som i ett felaktivt tillstånd). Efter sändning kommer en felpassiv nod att vänta en viss tid innan den initierar någon kommunikation. En felpassiv nod återgår till att bli en felaktiv nod när båda räknarna antar värdet 127 eller lägre (Voss, 2005) Bus-off Om nodens räknare för sändningsfel överstiger 255 kommer noden stängas ute från busskommunikationen och kan inte skicka några ramar men kan i vissa implementationer fortfarande ta emot ramar. En nod kan endast lämna detta läge på begäran av användaren, till exempel genom att återställa (starta om) noden eller genom att systemet startas om, vilket indikeras genom 128 följder av elva recessiva bitar i följd på bussen (Voss, 2005) Felräknare Felräknarna för sändningsfel och mottagningsfel räknar enligt följande: Räknaren för mottagningsfel ökas med ett när en mottagande nod upptäcker ett fel, med undantag när en error- eller overloadflagga skickas. Räknaren för mottagningsfel ökas med åtta när en mottagande nod upptäcker en dominant nivå direkt efter att ha skickat en errorflagga. Räknaren för mottagningsfel ökas med åtta när en mottagande nod upptäcker ett bitfel under tiden för sändning av error- eller overloadflagga. Räknaren för mottagningsfel ökas med åtta när en sändande nod upptäcker 14 eller fler dominanta bitar i följd efter att ha skickat en aktiv error- eller overloadflagga. Efter en passiv errorflagga ökas räknaren med åtta efter var åttonde dominanta bit i följd. Räknaren för mottagningsfel minskas med ett om en ram mottas utan fel fram till ACK luckan, den skickar en ACK bit korrekt och räknaren har ett värde mellan 1 och 127. Räknaren för sändningsfel ökas med åtta när den sändande noden skickar en errorflagga, med undantag om den sändande noden är felpassiv och upptäcker ett ACK fel, eller om den sändande noden skickar en errorflagga på grund av bit stuffing fel under Arbitration. Räknaren för sändningsfel ökas med åtta när den sändande noden upptäcker ett bitfel under sändning av error- eller overloadflagga. Räknaren för sändningsfel minskas med ett om en ram skickas korrekt och får ett godkänt ACK utan felrapportering innan EOF (Voss, 2005). 14
16 4. Analys av kommunikationen För att kunna göra de mätningar och beräkningar som är önskade behövs information från bilen, så som aktuellt varvtal och bilens hastighet. Det skickas mycket information mellan bilen och diagnosverktyget och endast en liten del av informationen är intressant. Genom att studera trafiken mellan dessa och med hjälp av ISO-standarder har de intressanta parametrarna hittats och tolkats från digitala bitar till förståelig information. Till att börja med är den väsentliga delen att förstå grundprincipen för hur kommunikationen går till. Med hjälp av loggningsprogrammet Kvaser Navigator (Kvaser AB, 2009) kan denna kommunikation sparas i textfiler för att sedan analyseras. Eftersom väldigt mycket information sparas tar det mycket tid att analysera denna och genom att göra mätningar när bilen befinner sig i olika tillstånd kan de eftersökta parametrarna lättare identifieras. För att, till exempel, försöka hitta information om bilens varvtal, kan mätningar ske när motorn är avstängd, alltså vid noll varv per minut, när motorn ligger på tomgång och man vet vilket varvtal bilen har, samt att mäta vid variabelt varvtal för att lättare hitta den parameter som varierar i takt med motorns varvtal. Kommunikationen mellan bilen och diagnosverktyget avlyssnades via Kvaser Navigator men inleddes och upprätthölls med hjälp av VCDS 18 (Ross-Tech AB, 2009). VCDS är ett program som används för att kommunicera med bilar från VAG. I VCDS kan det anges vilken enhet att kommunicera med, i vårt fall motorstyrenheten. Sedan kan olika block med information läsas. I ett block hittades information om både motorns varvtal och bilens hastighet, vilket gör det väldigt praktiskt då detta block kan efterfrågas och all nödvändig information hittas där, istället för att behöva begära flera olika block, vilket också tar längre tid och då ger sämre samplingstid USR programmering USR, Universal Scripting Language, är ett språk där skript kan skrivas till PC-programmet Kvaser Navigator (Kvaser AB, 2009). Språket är baserat på programmeringsspråket C och kunskap i detta underlättar enormt då endast mindre avvikelser och begränsningar är det som skiljer språken åt. I USR finns funktionalitet för att enkelt initiera kommunikationen och en fördefinierad struktur för CAN-meddelanden där information som ID, flaggor, tidsstämpel och data kan lagras för att sedan skickas över bussen med ett enkelt funktionsanrop. Språket är händelsestyrt och olika rutiner kan startas beroende på vad som händer. Till exempel kan meddelanden från ett speciellt ID starta en rutin medan en timer som går igång med jämna mellanrum startar en annan. Skripten gör det enkelt att kommunicera med bilen utan att behöva tänka allt för mycket på initiering och annat, utan bara fokusera på den information man vill ha, vilket gör språket väldigt användbart i undersökningssyfte Initiera kommunikationssession med bilen För att kunna begära önskad information från bilen krävs en viss initieringsprocess. Meddelanden markerat med T-flagga (transmit) skickas från klienten, det vill säga från ett skript eller från loggningsprogrammet, övriga skickas från servern, alltså bilen. Kommunikationsflödet ser ut som följande (all data i flödet anges hexadecimalt): CAN ID Flags DLC Data Kommentar 200 T 7 1f c Byte ett (1f) anger meddelandets mottagare byte fem (00) och sex (03) anger, i omvänd ordning, vilket ID som kommer att vara server i sessionen (se CAN ID 300 senare i kommunikationen). 21f 7 00 d e 0301 I svaret från servern anger, i omvänd ordning, byte tre (00) och fyra (03) serverns ID (300) och byte fem (2e) och sex (03) anger klientens ID (32e). 18 VAG-COM Diagnostic System är ett program för att kommunicera med bilar från Volkswagen Auto Group 15
17 32e T 6 a0 0f 8a ff 32 ff Observera CAN ID från tidigare kommentarer a1 0f 8a ff 4a ff Detta är svar på testerpresent, som sedan visas genom att klienten skickar a3 för att visa att sessionen fortfarande är aktiv. 32e T a 9b När kommunikationen är upprättad är den första byten i varje meddelande (i detta fallet 10) en meddelanderäknare. Är den större än eller lika med 0x20 innebär det att mer data kommer i nästa meddelande. Är den däremot mindre än 0x20 innebär det ett ensamt meddelande eller det sista meddelandet i en sekvens. Meddelandets tredje byte (02) anger meddelandets längd från och med byte fyra. Den fjärde byten är den som innehåller information vi vill komma åt. 1a innebär readecuidentification och efterföljande byte (9b) är en parameter till denna begäran som innebär calibrationdate (ISO 14230) b1 Detta är serverns ACK på föregående meddelande och även information om vilket som är nästa förväntade meddelanderäknare. I ett ACK-meddelande är alltid de första fyra bitarna b hexadecimalt. De andra fyra bitarna är räknaren, som går från 0-F hexadecimalt och börjar sedan om från 0 igen a 9b c bf 4a f 25 5f Byte tre (30) innehåller meddelandesekvensens totala längd från och med byte fyra (0x30 = 48). Byte fyra (5a) är positivt svar till readecuidentification (7f hade varit negativt svar) och från och med byte fem kommer svaret på förfrågan. Svaret avslutas med räknaren 0x17, där ettan alltså innebär att det är sista meddelandet i sekvensen (eftersom svaret är mindre än 0x20) och sjuan att det är meddelande nummer sju skickat av servern (ISO 14230). 32e T 1 b8 ACK med nästkommande räknare, alltså 8. 32e T 1 a8 Meddelande quitsession som avslutar sessionen (ISO 14230) a8 ACK på att sessionen nu är stängd. Nu kan kommunikation med önskad styrenhet upprättas. 200 T 7 07 c Samma struktur som i den föregående d T 6 a0 0f 8a ff 32 ff a1 0f 8a ff 4a ff sessionen fast med nya id. Klienten ges 740 och servern 300 (se byte 3 till och med 6). 740 T Byte fyra (10) innebär startdiagnosticsession med parametern i femte byten (89) som är tillverkarspecifik (ISO 14230) b1 ACK med nästa förväntade ramnummer, 1, från klienten.
18 Svaret i byte fyra (50) är positivt svar och innebär att diagnostiksessionen är inledd. 740 T 1 b1 ACK med nästa förväntade ramnummer, 1, från servern. 740 T a 9b b a 9b 30334c d dc 5a bf c 26304c Samma meddelande som i föregående session (readecuidentification). 740 T 1 b9 740 T b Byte fyra (31) innebär startroutinebylocalidentifier och parametern, i följande byte (b8), betyder routinelocalidentifier och används av biltillverkaren för att referera till olika rutiner hos servern, ECUn (ISO 14230) b b (byte fyra) innebär positivt svar från a servern (ISO 14230) b a 740 T 1 bc 740 T 1 a3 testerpresent skickas från klienten för att meddela övriga anslutna till nätverket att klienten fortfarande är aktiv. Servern stänger automatiskt sessionen efter en viss tid (i vårt fall cirka två sekunder) om detta inte skickas a1 0f 8a ff 4a ff Svaret från servern på klientens testerpresent visar att sessionen fortfarande är aktiv. Notera att det är samma meddelande som skickas i de initierande meddelandena. 740 T a 91 Här skickas igen readecuidentification (1a) fast här med parametern 91, som innebär vehiclemanufacturerecuhardwarenumber (ISO 14230) b c 001a 5a 910e a innebär positivt svar och meddelandet som d 4c följer är svar på den begärda förfrågan e f ff 740 T 1 b0 740 T 1 a3 Här skickas testerpresent igen med mellanrum på ungefär en halv sekund och fortsätter så tills sessionen avslutas a1 0f 8a ff 4a ff Mellan de testerpresent som skickas två
19 gånger i sekunden hinner man ställa andra frågor till servern, till exempel om bilens hastighet, varvtal, miltal med mera. Denna kommunikation går relativt snabbt och dessa värden kan uppdateras med intervall på cirka millisekunder. 740 T 1 a8 Sessionen avslutas med quitsession. Tabell Initiering med Volkswagen Passat CC TDI Hastighet och motorvarvtal Efter att ha loggat och analyserat kommunikation med bilens motorstyrenhet har nedanstående kommunikationsflöde hittats för att få information om bilens hastighet och motorvarvtal. Vid loggningen står bilen stilla och motorn ligger konstant på tomgång, vilket visat sig vara 782 varv/min enligt VCDS. CAN ID Flags DLC Data Kommentar Initiering med bilen sker som i kommunikationen i Tabell T f Meddelande skickas från klienten och byte fyra (21) innebär readdatabylocalidentifier med parameter 6f, vilket är en biltillverkar specifik identifierare (ISO 14230) b5 ACK från servern a 616f (byte fyra) är positivt svar från servern och efterföljande meddelande är svaret på förfrågan. Följden har visat sig ge motorvarvtalet i efterföljande parameter (22 i detta fall). Parametern multipliceras sedan med 0x17 för att ge det verkliga värdet i varv/minut. 0x22 * 0x17 = 0x30e = 782, vilket stämmer med VCDS och bilens varvtalsmätare a 8008 I meddelandet hittar vi även följden 07 64, vilket har visat sig föregå parametern med bilens hastighet (i detta fall 0). Denna parameter läses bara av decimalt och ger bilens hastighet i km/h a T 1 b4 ACK skickas från klienten. 740 T f Samma meddelande kan skickas igen och parametrarna hämtas på nytt. Tiden mellan förfrågningarna ligger på mellan millisekunder b a 6a 6f Svar ges på nytt från servern och önskad a 8008 information kan plockas ut på nytt a T 1 b8 ACK skickas från klienten. Tabell Efterfrågan av önskade parametrar med Volkswagen Passat CC TDI
20 Varvtalsparametern multipliceras med 0x17, 23 decimalt, vilket ger ett intervall från (255x23) med en noggrannhet på 23 varv/min. Hastigheten läsas av direkt och detta ger ett intervall från och noggrannhet på en (1) km/h. 19
21 5. Implementering Programmet som hämtar information från bilen och utför de nödvändiga beräkningarna ska fungera under Windows plattformar. Språket väljs till C# med ramverket.net och utvecklingsmiljön Visual Studio, där ett grafiskt användargränssnitt enkelt kan skapas och felsökning kan ske. Totalt innehåller projektet nio klasser varav tre är relativt små och de övriga är större. Antal rader kod är cirka 2000, exklusive den grafiskt genererade koden, och den största klassen är på drygt 700 rader kod. Det första steget i utvecklingen är hanteringen av CAN-meddelanden, som ska kunna skickas och tas emot. För detta skapas en egen klass, kallad CanMessage, som sedan används för att skapa objekt för varje meddelande som ska skickas och fungerar som en mall för meddelanden som tas emot för att kontrollera korrekta svarskoder och id från sändaren. Initieringen av sessionen låg först som en metod i huvudklassen men för att strukturera koden och dela upp ansvaret fick initieringen bli en egen klass, kallad Initialize. Denna klass använder sig av definierade CAN-meddelanden som skickas till servern och kontrollerar sedan svaren för att se till så att sessionen initieras korrekt (se även Tabell 4.2.1). Blocket med information om bilens hastighet och motorns varvtal har identifierare 0x69, eller 111 decimalt (se Tabell 4.3.1), vilket givit upphov till ytterligare en klass, kallad Block111, där information från detta block kan sparas. Fyra grafiska klasser finns; About, DisplayChart, PerformanceControl och Settings, där huvudklassen är PerformanceControl från vilken man styr vilka mätningar man vill utföra. Klassen About visar en ruta med information om programmet och Settings öppnar en dialog där vissa ändringar kan göras. Till exempel kan inställningar som vilket hastighetsintervall man vill mäta accelerationstid på ändras. Även om man har däck med annan dimension än originaldäcken kan anges, vilket påverkar den verkliga hastigheten mot vad bilen uppfattar att hastigheten är. DisplayChart visar diagram över varvtalet när en sträcka körs (exempelvis en kvarts mile) för att växlingarna ska kunna kontrolleras i efterhand för att se om någon växling kunde skett bättre. Den sista klassen är Program, som är inträdespunkten i programmet, vilken skapar ett objekt av PerformanceControl och kör igång detta. Utöver klasserna har även bilder och ikoner skapats för att ge ett professionellt intryck och för ett användarvänligt grafiskt gränssnitt. Vissa bilder och ikoner har även hämtats från BSR Klasser och metoder Metoder för att hämta, get, och sätta, set, attribut i klasserna förklaras inte då detta inte är väsentligt för klassernas funktionalitet internt, utan endast gentemot andra klasser About Klassen About är en grafisk klass som visar en ruta med information om programmet, som aktuell version, årtal och skapare. Klassen innehåller även metoder som inte redogörs för nedan, då de endast är till för grafisk hanterbarhet. About() Den här metoden är klassens konstruktor och används för att skapa ett objekt av klassen About. Här hämtas information om vilken version av programmet som är installerad och visar detta tillsammans med information om skaparen och vilket årtal versionen publicerades Block111 Klassen Block111 är en mindre klass som används för att samla väsentlig information om bilens hastighet och motorns varvtal. Block111(int rpm, int speed, int timestamp) Klassens konstruktor tar tre argument och dessa måste anges för att ett objekt av klassen ska kunna skapas. Dessa värden från argumenten sparas i objektet och kan sedan hämtas av något annat objekt. 20
22 override String ToString() Den fördefinierade metoden ToString() överskrivs med denna metod för att ge en bättre utskrift av objekt av typen Block CanMessage Denna klass används för att samla intressant information om CAN-meddelanden och metoder för att kunna skicka och ta emot meddelanden över nätverket. CanMessage() CanMessage(int id, int dlc, byte data) CanMessage(int id, int dlc, byte[] data) Tre olika konstruktorer skapar ett objekt av klassen CanMessage. Den översta skapar ett tomt meddelande där information sedan får anges via sättare (setters), och de två nedre skapar ett meddelande med all nödvändig information. Den andra konstruktorn tar en byte som data, vilket innebär att DLC måste anges till ett, och den sista konstruktorn tar en vektor med bytes, där längden ska överrensstämma med DLC och innehålla högst åtta positioner. void Send(int handle) void Send(int handle, byte ackmsg) Metoden Send skickar meddelandet på CAN-nätverket och ett handtag (handle) till en initierad uppkoppling måste anges. Det andra metodanropet används för att skicka ACK till servern och där anges den senaste räknaren (ackmsg) för att kunna beräkna korrekt Ack-meddelande. void Receive(int handle, byte[] rmsg, out int rdlc, out int rflag, out long rtime) Metoden Receive tar emot ett meddelande på CAN-nätverket där ID stämmer överrens med det angivna CAN-meddelandet. Prefixet out används för att tala om att variabeln som skickas till metoden kan ändras av metoden. Meddelandet med överrensstämmande ID tas emot på nätverket och meddelandets information lagras i variablerna rmsg, rdlc, rflag och rtime. Boolean DataEquals(byte[] msg, int start, int end) Denna metod används för att jämföra ett meddelande (msg) med informationen i CAN-meddelandet. Jämförelsen sker mellan de indexpositioner som anges i start och end. void SetElementAtIndex(int index, byte element) Denna metod används för att byta ut en specifik byte i datafältet hos CAN-meddelandet. Oftast används metoden för att uppdatera den första byten i varje meddelande, som fungerar som en meddelanderäknare. byte[] GetAllData() Denna metod används för att hämta datafältet i meddelandet som en vektor (informationen lagras annars som en lista). Boolean Incorrect Detta get-attribut används för att ta reda på om meddelandet är korrekt genom att kontrollera så att information i datafältet finns och att längden stämmer överrens med DLC. byte GetData(int index) Med denna metod hämtas endast en byte data från CAN-meddelandet med angivet index DisplayChart Detta är en grafisk klass för att kunna presentera diagram över varvtal och hastighet under mätning av sträcka. DisplayChart(List<int> rpm, List<double> distance, List<int> speed) 21
23 Klassens konstruktor kräver tre listor med information om varvtal, distans och hastighet. Dessa listor innehåller många punktvärden som sedan presenteras i form av kurvor i ett diagram. Save() En metod som sparar diagrammet som en bild med formatet jpeg. Föraren ska kunna koncentrera sig på vägen och därför sparas diagrammen så dessa kan granskas efter körningen DistanceRpm Detta är en mindre klass som samlar information om distans, varvtal och hastighet. DistanceRpm(double distance, int rpm, int speed) Konstruktorn tar de intressanta värdena som argument och sparar dessa i det aktuella objektet Initialize Denna klass tar hand om initieringen med bilen och upprättar kommunikationssessionen. Initialize(int handle) Konstruktorn skapar ett objekt och anger vilket handtag (handle) som ska användas för kommunikationen. void InitVariables() Denna metod används endast internt och initierar variablerna och alla CAN-meddelande. Denna metod kallas mellan varje initieringsförsök för att nollställa meddelanden som modifieras under initieringen. void Start() Metoden Start kallas från huvudklassen för att påbörja initieringsförsöken och en timer används för att påkalla nya försök om initieringen inte lyckas direkt. int ClientID int ServerID Två get-attribut som används för att kommunicera aktuella ID till huvudklassen när initieringen är klar och har lyckats PerformanceControl Detta är huvudklassen som består av en kärna med viktig funktionalitet och ett grafiskt gränssnitt för att kunna kontrollera de mätningar som ska utföras. Endast de viktigaste metoderna tas upp då klassen innehåller många metoder med varierande storlek och väsentlighet. Knapparna på den grafiska kontrollen är knutna till olika metoder. PerformanceControl() I konstruktorn initieras vissa globala värden och standardinställningarna som senare kan ändras genom Settings-kontrollen. Alla grafiska komponenter och CAN-meddelanden initieras samt trådar och timers. void InitCan(out int handle, int channel) Med hjälp av Kvasers API skapas här en uppkoppling på angiven kanal (channel) och tillbaka ges (notera prefixet out) ett handtag till uppkopplingen (handle). void CloseCan(int handle) Metod stänger uppkopplingen till det handtag (handle) som anges. Detta kräver att uppkopplingen tidigare blivit skapade med metoden InitCan. void measurespeedblock() 22
BSR Diagnostic tool Communcation over CAN and K-line bus
School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI BSR Diagnostic tool Communcation over CAN and K-line bus Vladimir Jukic Thom Wikingsson Aug 2008 MSI Report 08088 Växjö
CAN 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-
WBD Web Based Diagnostics Identifying parameters on the CAN-bus
School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI WBD Web Based Diagnostics Identifying parameters on the CAN-bus Philip Albertson Oct 2007 MSI Report 07144 Växjö University
Kihl & Andersson: , 4.5 Stallings: , , (7.3)
Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) (eller digital signal) Om en sändare bara skickar en bitström över länken skulle mottagaren ha väldigt svårt för att tolka datan. Det krävs
Tillförlitlig dataöverföring. Jens A Andersson
Kapitel 4: Tillförlitlig dataöverföring Kapitel 5:Lokala nät Jens A Andersson (Maria Kihl) Repetition Protokoll: Överens om vilket språk vi pratat Paket: Dela upp datamängden i småbitar Tillförlitlig dataöverföring
Telia Connect för Windows
Telia Connect för Windows Version 3.0 Användarguide Updaterad: 3 juli 2007 Innehåll Ansluta till Internet...3 Information som presenteras av Telia Connect...4 Konfiguration av Telia Connect...7 Fliken
Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.
Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning
Kapitel 3 o 4. Tillförlitlig dataöverföring. (Maria Kihl)
Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring Jens A Andersson (Maria Kihl) Att sända information mellan datorer 11001000101 värd värd Två datorer som skall kommunicera. Datorer
TUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
PROGRAMMERINGSTEKNIK TIN212
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:
Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson
Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder Jens A Andersson Digitalisering av ljud Omvandling av ljud till binär data sker i tre steg: 1) Sampling 2) Kvantisering 3) Kodning Detta
Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl
Länkhantering (feldetektering, felhantering, flödeskontroll) Maria Kihl Läsanvisningar Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) 2 Repetition (eller digital signal) 3 Att skicka
Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit
Vad är en UART? Beteckningen UART är en förkortning för det engelska uttrycket Universal Asynchronous Receiver Transmitter, vilket översatt till svenska blir ungefär Universell Asynkron Mottagare/Sändare.
Tentamen ID1004 Objektorienterad programmering October 29, 2013
Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Datorbaserad mätteknik
Datorbaserad mätteknik Distribuerade mät- och kontrollsystem I 1:32 Mätbuss för instrumentering - GPIB (IEE-488) Skapades av Hewlett-Packard vid sent 60-tal HP-IB (Hewlett-Packard Interface Bus) Kom att
DATALINK-NÄTVERK. Hårdvarubyggklossar
2.1 DATALINK-NÄTVERK Fysisk koppling av värdar Hårdvarubyggklossar Ett nätverk uppbyggs av noder och länkar Noder: CPU Cache nätverks adaptor Minne I/O buss Nätverks adaptorn överför data mellan nätets
Tentamen i Datorkommunikation den 10 mars 2014
Tentamen i Datorkommunikation den 10 mars 2014 Tillåtna hjälpmedel: räknedosa Varje uppgift ger 10 poäng. För godkänt krävs 30 poäng. Uppgift 1 Antag att man ska skicka en fil av storleken 10 kbit från
Ladda upp filer fra n PLC till PC
Supportdokument Ladda upp filer fra n PLC till PC 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. Installation
Instruktioner för uppdatering av enheter med ISP
För AP produkter som använder ISP måste flashuppdateringen göras med hjälp av den medföljande MPC Manager. För att utföra en firmware uppdatering, följ dessa instruktioner: 1. Ladda ner och installera
Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring. Att göra. Att sända information mellan datorer
Kapitel 3 o 4 Att skicka signaler på en länk Tillförlitlig dataöverföring Jens A Andersson (Maria Kihl) Att göra Kursombud 2 Att sända information mellan datorer 11001000101 värd värd Två datorer som skall
Godkännande av kundapplikationer
samhällsskydd och beredskap 1 (9) Godkännande av kundapplikationer MSB-50.2 samhällsskydd och beredskap 2 (9) Innehållsförteckning 1 Alla applikationer måste godkännas... 3 1.1 Hur går ansökan om godkännande
Tips & Trix - Teknik Jeeves World 2011. Copyright 2011 Jeeves Information Systems AB
Tips & Trix - Teknik Jeeves World 2011 Copyright 2011 Jeeves Information Systems AB Agenda Formulärdesign Förbättra användarvänlighet För systemadministratören Tips vid sökning Nätverkskonfigurering Säkerhet
Dokumentation för funktionsblocksbibliotek MwaCOMLI
Dokumentation för funktionsblocksbibliotek MwaCOMLI 1. Allmänt... 2 1.1. Versionshistoria... 2 1.2. Implementerade Telegram... 3 1.3. Adressering Flaggor... 4 1.4. Registervärden... 5 2. Fboxar... 6 2.1.
Antares Användning och installation
Antares Användning och installation Sidan 1 av 13 Innehåll 1. Introduktion...... 2. Antares programvara installation...... 3. Antares programvara uppdatering...... 4. Data Linker anslutning... 5. Funktioner...
Datalänklagret. Datalänklagret ska:
Datalänklagret Datalänklagret ska: Erbjuda tjänster till det överliggande lagret (nätverkslagret) Paketera data (framing) Hantera fel i överföringen Hantera flödeskontroll Tjänster som datalänklagret erbjuder
TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
VERKTYG FÖR BILKOMMUNIKATION VIDA ALL-IN-ONE
VIDA ALL-IN-ONE INNEHÅLL 1 OM VERKTYG FÖR BILKOMMUNIKATION... 3 1.1 DiCE... 3 1.2 J2534... 3 1.3 VCT2000... 3 1.4 Volvo System Tester (VST)... 3 2 DICE... 4 2.1 Support... 4 2.2 Komponenter... 4 2.3 Produktöversikt...
Detta dokument beskriver enbart konfigurering av FX3U-ENET för att programmera/monitorera via Ethernet.
FX1S FX1N FX2N(C) FX3U(C) 1 Funktion och användningsområde Genom att använda FX3U-ENET kan man kommunicera med ett FX3U-system via Ethernet. Kommunikationsmodulen stödjer funktioner som överföring av PLC-program,
Omtentamen i Datakommunikation för E2
Högskolan i Halmstad Institutionen för teknik och naturvetenskap/centrum för datorsystemarkitektur Magnus Jonsson Omtentamen i Datakommunikation för E2 0 januari 2000. Tillåtna hjälpmedel utöver bifogat
Datakommunika,on på Internet
Webbteknik Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2015 Rune Körnefors rune.kornefors@lnu.se Internet Inter- = [prefix] mellan, sinsemellan, ömsesidig Interconnect = sammanlänka Net =
Quick start manual. Smart-House 2015-04-20. Rev 1.1
Quick start manual Smart-House 2015-04-20 Rev 1.1 Innehåll Förord... 3 Programvara... 4 Hämta programvara... 4 PC krav... 4 Dokumentation... 5 Manualer... 5 Projektdokumentation... 5 Smart-Dupline... 5
Classes och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Laborationer onsdag/fredag. Laborationer onsdag/fredag. Tillförlitlig dataöverföring Multiplexering Lokala nät (inledning) Labbmanual
Laborationer onsdag/fredag Labbmanual Obligatorisk Säljs på KF Sigma Förberedelseuppgifter (se webben) Obligatoriska Till första labben: Kolla teoriavsnitt i förväg Förhör/kontroll innan labb (ej skriftligt
Swema 05. Bruksanvisning vers 1.01 MB20130530
Swema 05 Bruksanvisning vers 1.01 MB20130530 SWEMA AB Pepparv. 27 SE-123 56 FARSTA Tel: +46 8 94 00 90 Fax: +46 8 93 44 93 E-mail: swema@swema.se Hemsida: www.swema.se Innehållsförteckning: 1. Introduktion...
FIRSTCLASS. Innehåll:
FIRSTCLASS Innehåll: Hämta klient...2 Installera klient...2 Konfigurera klient...2 Koppla upp...3 Skrivbordet...3 Mailbox...3 Presentation...3 Skapa ett nytt meddelande...4 Söka mottagare för nytt meddelande...4
Quickstart manual. Rev SHTOOL Quickstart manual Smart-House
Quickstart manual Rev. 2.3 2017-09-14 SHTOOL 6.5.33 1 Innehåll 1 FÖRORD... 3 2 PROGRAMVARA... 4 2.1 Hämta programvara... 4 2.2 PC krav... 4 3 DOKUMENTATION... 5 3.1 Manualer... 5 3.2 Projektdokumentation...
Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document
Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se
Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...
Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss
M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med IBR enheter
24 IBR UT 8 IBR IN Matematikföretaget jz www.m7005.metem.se 151108/160119/SJn M7005 Fischer/Weisser mätstyrningsserver M9003 ersatt med IBR enheter M7005 Com MätStyrsevere Com 24 ledare 4 ledare M9002
Filöverföring i Windowsmiljö
Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i
Inlämningsuppgifter, EDAF30, 2015
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Programmering i C++ Inlämningsuppgifter, EDAF30, 2015 Det finns två deluppgifter som båda ska lösas: 1. skriv ett program för att hantera bankkonton
Datum 2012-12-28. Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta.
Installation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare Installationen består av tre steg som automatiskt körs efter varandra. Steg 1: Programmet installeras och man
1. Introduktion Instruktionen utgörs av Radian Innovas handledning för ML-1.
1(6) 1. Introduktion Instruktionen utgörs av Radian Innovas handledning för ML-1. 1.1 Allmänt ML-1 1. 2. 3. Strömbrytare, av/på Anslutning för datorkommunikation Manöverknappar ML-1 startar alltid i klockläge.
DIG IN TO Nätverksteknologier
DIG IN TO Nätverksteknologier CCNA 1 Nätverksskikt Agenda Host-till-host kommunikation IPv4 protokoll förbindelselös IPv4 protokoll otillförlitlig leverans IPv4 protokoll media oberoende Styrinformation
Seriellmeny. PS SmartSwitch. Baud. Robust XON. Databitar. Svara på DSR RS-232/RS-422. Jobb-buffring. RS-422-polaritet. NPA-läge.
I n kan du ändra skrivarinställningar för jobb som skickas till skrivaren via en seriell port (Standardseriell eller Seriellt tillval
3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.
Routingprocessen Vid kommunikation mellan datorer måste de känna till var och hur de skall skicka paketen, om de datorer som ska kommunicera ligger på samma IP-nät är det ju inget problem. Men är det så
Läs anvisningarna noga, och följ dem!
LUNDS TEKNISKA HÖGSKOLA Institutionen för elektro- och informationsteknik EITA55 Kommunikationssystem 2018-10-29 14:00-19:00 version 2018-10-29 Anvisningar Svara kortfattat och tydligt på varje fråga.
DIG IN TO Nätverksteknologier
DIG IN TO Nätverksteknologier CCNA 1 Datalänkskikt - Ethernet Agenda Ethernet Datalänksskiktets grundtjänster Ethernet ramformat Adressering i Datalänkskiktet Unicast MAC adresser Broadcast MAC adresser
Hi-O. Intelligent teknologi för dörrmiljöer. ASSA ABLOY, the global leader in door opening solutions.
Hi-O Intelligent teknologi för dörrmiljöer ASSA ABLOY, the global leader in door opening solutions. 1 Vad är Hi-O? Innehåll Hi-O, Highly intelligent opening, är en standardiserad teknologi som gör att
Introduktion till E-block och Flowcode
Introduktion till E-block och Flowcode Vad är E-blocks? E-blocks är små kretskort som innehåller block av elektronik som man vanligtvis kan hitta elektroniska eller inbyggda system Det finns över 50 olika
Lab5 för prgmedcl04 Grafik
Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna
Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia
Konstruktion av en radiostyrd legobil Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia 1 1.Innehållsförtäckning Rapport Radiostyrd LEGO bil...1 1. Innehållsförtäckning...2 2.0 Inledning...3
Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson
Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson Att sända information mellan datorer värd 11001000101 värd Två datorer som skall kommunicera. Datorer förstår endast
Roboten. Sida 1 av 11
EV3 ipad Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg
Manual Sportident Onlinekontroll via GPRS
Manual Sportident Onlinekontroll via GPRS 2010-08-22 Komponenter För att använda onlinekontroll över GPRS behövs tre delar: GPRS modul (GPRS-modem med samlingsbox och batterier). PC-mjukvara BBRClient
Malmö högskola 2007/2008 Teknik och samhälle
Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa
Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Triggningar och händelser
Net2 Triggningar och händelser Viktigt För att funktionen Aktiveringar och åtgärder ska fungera korrekt måste Net2-servern alltid vara igång. Aktiveringar och åtgärder är en kraftfull funktion. Funktionen
PROGRAMMERING-Java TENTAMINA
PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För
Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:
Föreläsning 5 Mål: Förstå begreppet vägval Känna till vägvalsstrategier förstå växlingen i Internet Förstå grundfunktionaliteten i TCP och UDP Först skillnaderna mellan TCP och UDP Förstå grundfunktionaliteten
Grundläggande nätverksteknik. F2: Kapitel 2 och 3
Grundläggande nätverksteknik F2: Kapitel 2 och 3 Kapitel 2 COMMUNICATING OVER THE NETWORK Grundstenar i kommunka;on Tre grundläggande element Message source The channel Message des;na;on Media Segmentering
LTH, Institutionen för Elektro- och Informationsteknik (EIT)
LTH, Institutionen för Elektro- och Informationsteknik (EIT) Instruktioner: Svara tydligt på varje uppgift. Du får lov att använda en miniräknare. Alla svar och uträkningar måste vara väl motiverade! Denna
Java, klasser, objekt (Skansholm: Kapitel 2)
Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma
Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll
Brad Hards Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Protokollet Remote Frame Buffer 6 3 Använda Dela Skrivbord 7 3.1 Dela Skrivbords huvudfönster............................... 7 3.1.1
Användarhandbok OE/OSSpeaker V.10.3
Användarhandbok OE/OSSpeaker V.10.3 OESpeaker Version 10.3 OSSpeaker Version 10.3 Status: 26.2.2007 Vi tar tacksamt emot alla kommentarer, tips och felrapporter på denna handbok. Skriv till författaren!
MAC-(sub)lagret. Nätlagret. Datalänklagret. Fysiska lagret LLC MAC. LLC = Logical Link Control-sublager MAC = Media Access Control-sublager
MAC-(sub)lagret Datalänklagret är uppdelat i två sublager, LLC (Logical Link Control) och MAC (Media Access Control). MAC-sublagret har till uppgift att hantera anslutningen mot valt nät och LLC döljer
F8 Meddelandesändning med UDP
F8 Meddelandesändning med UDP EDA0965 Nätverksprogrammering Per Andersson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret
PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation
PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt 14 mars 2012 OMRON Corporation 2/24 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna
Kontorsinstallation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare
Kontorsinstallation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare Vid installation kommer programmet att automatiskt att sparas på datorns C-enhet. Det går inte att ändra
PROGES PLUS THERMOSCAN RF. Instruktionsmanual V. 061115
ThermoScan RF användarinstruktioner 1 PROGES PLUS THERMOSCAN RF Instruktionsmanual V. 061115 Viktigt! Den här manualen innehåller ett antal lösenord som endast är avsedda för administratörerna. Glöm inte
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Manual Skogsappen - Hemkomstkontroll
Manual Skogsappen - Hemkomstkontroll Detta dokument utgör användarhandledningen till funktionen hemkomstkontroll i mobilappen Skogsappen som tillhör tjänsten epiforest. E p i s c o p e M o n i t o r i
Tentamen i datakommunikation EDA343/DIT420 Vt 2011
1. Internet-modellen är liksom OSI-modellen baserad på att dela upp funktionerna för datakommunikation i ett antal lager layers. Datamängden efter bearbetningen av ett protokoll vid varje lager kallas
Styrteknik 7.5 hp distans: E-1000 och E-Designer
PLC8A:1 E1000 operatörsterminaler En operatörsterminal ger ett gränssnitt mellan männinska-maskin, (MMI människa-maskininteraktion, HMI Human Machine Interface) Alla terminalerna i E1000-serien är utvecklade
Modbus. Supportdokument. Lathund för att använda Modbus över RS XXX eller TCP/IP.
Supportdokument Modbus Lathund för att använda Modbus över RS XXX eller TCP/IP. Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_LHA T_Modbus.docx Innehållsförteckning 1. Allmänt...
Instuderingsfrå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.
Installationsguide. Nimbus Alarm Server för Fidelix
Installationsguide Nimbus Alarm Server för Fidelix TroSoft AB Box 2055 144 02 RÖNNNINGE www.automatisera.nu Fidelix Sverige AB Box 114 647 23 Mariefred www.fidelix.se Om larmöverföring Överföringen görs
WAGO 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
Generisk felkodsfunktionalitet
Sida 1 av 40 School of Mathematics and Systems Engineering Reportsfrom DFM Generisk felkodsfunktionalitet Av: Ideal Berisha och Jesper Svensson Sida 2 av 40 Organisation/ Organization Linnéuniversitetet
Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
IndraDrive Open-loop. Styrning av asynkronmotor över Profibus. Version 1
IndraDrive Open-loop Styrning av asynkronmotor över Profibus Version 1 1. Inställningar för master kommunikation Öppna inställningarna för master kommunikationen genom att expandera mappen Master communication
VERSION 3.2 KLIENTMANUAL NETALERT CS
KLIENTMANUAL NETALERT CS Om NetAlert Allmänt NetAlert är ett säkerhetssystem med en Serverprogramvara och en klientprogramvara. Serverprogramvaran installeras på en eller flera servrar. Klientprogramvaran
DAT043 - Föreläsning 7
DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar
Allmänt om CAN. Allmänt. Mer information om CAN finns i följande dokument:
Allmänt Styrenheter behöver ofta utbyta information med varandra. Traditionellt ansluts styrenheter som ska kunna kommunicera direkt till varandra. Om en styrenhet behöver information om till exempel hastighet
Manuell installation av SQL Server 2008 R2 Express SP2 fo r SSF Timing
Manuell installation av SQL Server 2008 R2 Express SP2 fo r SSF Timing 1 Förutsättningar 1.1 Windows 7 och nyare DotNet Framework 3.5 SQL server 2008R2 kräver dotnet framework(.net) 2.0 för att fungera.
Följande signaler har kodats med Manchester. Hur ser bitströmmen ut om den inleds med en 0:a?
Följande signaler har kodats med Manchester. Hur ser bitströmmen ut om den inleds med en 0:a? Övergång från hög-låg spänning = 0 Övergång från låg-hög spännning = 1 0 1 1 1 0 1 0 0 0 1 0 0 Koda bitsekvensen
teknisk manual Direktbetalning handelsbanken.se/e-handel
Direktbetalning handelsbanken.se/e-handel Innehållsförteckning Beskrivning av tjänsten...3 Direktbetalning...4 Från företaget till Handelsbanken...4 Från Handelsbanken till företaget...6 Betalningskontroll...8
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
Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl 14.00 17.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna
Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Installationsguide. Nimbus Alarm Server för Fidelix
Installationsguide Nimbus Alarm Server för Fidelix TroSoft AB Box 2055 144 02 RÖNNNINGE 08 532 57262 Fidelix Sverige AB Sokraftsvägen 16A 135 70 Stockholm 08 556 558 30 Om larmöverföring Överföringen görs
Felsökning av kommunikation mellan DLS och GPS mottagare.
Felsökning av kommunikation mellan DLS och GPS mottagare. 1. Anslut GPS mottagaren till datorn med en kommunikationskabel. Starta sedan både GPS och datorn. En förutsättning för att kunna presentera positionen
Kihl & Andersson: , 3.1-2, (ej CDM) Stallings: 3.1-4, 5.1, 5.2, 5.3, 8.1, 8.2
Kihl & Andersson: 2.1-2.3, 3.1-2, 3.5-6 (ej CDM) Stallings: 3.1-4, 5.1, 5.2, 5.3, 8.1, 8.2 Hej Hej Vad är klockan? 14.00 Hej då New connection Connection approved Request for data Data transfer End connection
Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).
Nätverkssäkerhet Site-to-site VPN med pfsense I denna laboration kommer vi att skapa en så kallad Site-to-site VPN tunnel (baserad på IPSec) mellan två brandväggar som kör pfsense. Detta ska simulera att
AVR 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