Top Banner
7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 1/169  talent@work KHBO Campus Oostende  Zeedijk 101  B-8400 Oostende  Tel. +32 59 56 90 00  Fax +32 59 56 90 01  www.khbo.be Departement Industriële wetenschappen en technologie Opleiding elektronica-ICT Afstudeerrichting ICT CAN EDI Diagnostic Tool Eindwerk aangeboden tot het behalen van het diploma van bachelor in de elektronica-ICT door Kristof Ryheul o.l.v. Kris Vanstechelman, DANA Spicer Off-Highway N.V. Tom Langeraet, Dana Spicer Off-Highway N.V. Hans Blondelle, KHBO Academiejaar 2006 - 2007 
169

APC200 CAN EDI DIAGNOSTIC TOOL

Mar 03, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 1/169

 

talent@work

KHBO Campus Oostende ● Zeedijk 101 ● B-8400 Oostende ● Tel. +32 59 56 90 00 ● Fax +32 59 56 90 01 ● www.khbo.be

Departement Industriële wetenschappen en technologie

Opleiding elektronica-ICT

Afstudeerrichting ICT

CAN EDI Diagnostic Tool 

Eindwerk aangeboden tot hetbehalen van het diploma vanbachelor in de elektronica-ICT

door Kristof Ryheul

o.l.v. Kris Vanstechelman, DANA Spicer Off-Highway N.V. Tom Langeraet, Dana Spicer Off-Highway N.V.Hans Blondelle, KHBO

Academiejaar 2006 - 2007 

Page 2: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 2/169

 

Page 3: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 3/169

 

CAN EDI Diagnostic Tool

 Het inlezen van voertuig informatie via de CAN bus

door Ryheul Kristof

Page 4: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 4/169

Ryheul Kristof CAN EDI Diagnostic Tool

 Mededeling

Deze eindverhandeling was een examen, de tijdens de verdediging vastgestelde fouten werden nietgecorrigeerd.Gebruik als referentie in publicaties is toegelaten na gunstig advies van de KHBO-promotor,

vermeld op het titelblad. 

Page 5: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 5/169

Ryheul Kristof CAN EDI Diagnostic Tool

Woord vooraf

Dit eindwerk werd gerealiseerd in het bedrijf DANA Spicer Off-Highway te Brugge.Zowel de Stage als het eindwerk werd ter plaatste uitgevoerd.

Graag had ik van deze gelegenheid gebruik gemaakt om enkele personen te bedanken diegeholpen hebben om dit eindwerk tot een goed einde te brengen.

Mijn ouders die het mogelijk maakten voor mij om verder te studeren.

Luc Formesyn die mij in contact bracht met het bedrijf en altijd klaar stond om te helpen.

Ik dank ook de mensen van de afdeling controls te DANA voor het delen van hun kennis envaardigheden doorheen de stageperiode en mijn eindwerk.Kris Vanstechelman, mijn buiten promotor die alles in goede banen heeft geleid.Tom Langeraet, mijn stagebegeleider die mij doorheen het project geduwd heeft.

Ik dank de docenten van het KHBO, voor hun inzet en gedrevenheid doorheen mijn opleiding.In het bijzonder wil ik nog mijn binnen promotor bedanken Hans Blondelle die mij geholpenheeft met zowel de theoretische en technische kanten van deze eindverhandeling enstagebegeleiding.

Ook het bedrijf DANA Spicer Off-Highway Brugge wil ik bedanken voor het aanbieden van destage en eindwerk opdracht, eveneens voor het gebruik van het nodige materiaal om mijneindwerk tot een goed einde te brengen.

Page 6: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 6/169

Ryheul Kristof CAN EDI Diagnostic Tool

 Abstract

De opdracht van mijn eindwerk was het ontwikkelen van een programma voor het tonen vanapplicatiespecifieke data dat over een CAN bus moet worden verstuurd. Er bestaanverschillende commercieel verkrijgbare programma’s waarbij data kan worden opgehaald uit

een CAN bus met of zonder een database. Met een database is het mogelijk de gewenste berichten met naam te benoemen, evenals de signalen die een bericht kan bevatten. Dezesoftware en de vereiste hardware, evenals de licentie zijn duur. Mede hierdoor is het nietevident deze commercieel verkrijgbare tools in te schakelen voor gebruik in alle centra dieonderhoud en interventies doen voor de producten over de hele wereld. Het zou een pluspuntzijn indien er een bedrijfseigen applicatie zou bestaan dat met een USB naar CAN interfacemodule die reeds beschikbaar is in het bedrijf, de gewenste bedrijfsspecifieke informatie uit deCAN bus ophaalt.

 Naast de hoge kost dient de gebruiker een goede achtergrondkennis te hebben van het CAN protocol en moet deze weten welke berichten er op de bus voorkomen. Door de software internin het bedrijf te ontwikkelen, kan de applicatie deze kennis overbodig maken. Hierdoor is hetmogelijk om deze software beschikbaar te stellen voor klanten. Deze kunnen dan een log file(met vaste opmaak) van een foutsituatie doorsturen naar een DANA center. Via deze log fileskan men dan van op afstand het probleem vaststellen en de nodige support geven.

De applicatie bevat een hoofdscherm waaruit via een menu of toolbar verschillende vensterskunnen worden geopend. In het ‘trace’ venster worden alle gelezen en verzonden berichtenweergegeven. Via een dialoog venster kunnen de berichten in detail bekeken worden: ditvereist een database, gekoppeld aan de software.

Via het ‘generator ’ venster kan men berichten automatisch of manueel versturen. Als hetautomatisch gebeurt kan men de tijd instellen in ms. Via de CAN hardware interface kunnen berichten gefilterd worden zodat enkel de berichten die van belang zijn ingelezen worden.

De implementatie van een database biedt opnieuw meer geavanceerde mogelijkheden voor hetweergeven en bewerken van berichten, signalen en waardetabellen. Door de mogelijkheid omeen database te koppelen aan de software kunnen de berichten in het ‘ trace’ venster bij naamgetoond worden. Elk bericht kan verschillende signalen bevatten met een vaste lengteaangegeven door de database. De waardetabellen maken het mogelijk om data om te zettennaar beschrijvingen die voor de mens onmiddellijk herkenbaar zijn. Ook het verzenden van

 berichten wordt eenvoudiger door het gebruik van deze tabellen. Hierdoor kan aan de hand van

een beschrijving een waarde toegekend worden aan een signaal.

De eindverhandeling bevat een omschrijving van het eindwerk, de CAN bus, de ontworpensoftware en de nodige achtergrondkennis.

Page 7: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 7/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________7

 Inhoudsopgave

Mededeling ............................................................................................................. 4 

Woord vooraf ......................................................................................................... 5 

Abstract .................................................................................................................. 6 Inhoudsopgave ....................................................................................................... 7 

Lijst met illustraties............................................................................................... 9 

Lijst met afkortingen........................................................................................... 12 

1. Inleiding............................................................................................................ 14 

2. Project omschrijving ....................................................................................... 14 2.1 Situering............................................................................................................................14 2.2 Doel...................................................................................................................................14 2.3 Tools & skills:...................................................................................................................16  

3. Stageplaats en stage beschrijving................................................................... 17 

3.1 Voorstelling van het bedrijf ..............................................................................................17  3.2 Bedrijfsorganigram...........................................................................................................21 3.3 Overzicht productiestappen ..............................................................................................21 3.4 Algemene richtlijnen en veiligheidsregels ........................................................................22 

4. CAN & toebehoren.......................................................................................... 23 4.1 Inleiding ingebouwde netwerken ......................................................................................23 4.2 Wat is CAN........................................................................................................................25 4.3 Waarom CAN ?.................................................................................................................27  4.4 Waar wordt CAN gebruikt ? .............................................................................................28  4.5 Voor en nadelen van CAN.................................................................................................28  4.6 CAN berichten...................................................................................................................29 4.7 CAN fysieke lagen.............................................................................................................33 4.8 CAN connectoren..............................................................................................................37  4.9 CAN foutafhandeling ........................................................................................................40 4.10 CAN specificatie 2.0........................................................................................................43 4.11 CAN hogere protocol lagen............................................................................................45 

5. Theoretische & bedrijfsspecifieke kennis...................................................... 48 5.1 Recommended Practice RP1210A ....................................................................................48  5.2 User manual APC.............................................................................................................63 5.3 SAE J1939 Recommended Practice ..................................................................................67  5.4 CAN messages APC214 ....................................................................................................78  

5.5 Error codes & description ................................................................................................81 5.6 General coding rules.........................................................................................................82 

6. Werking APC200 controller........................................................................... 85 6.1 Elektronische shift controllers..........................................................................................85 6.2 APC200 layout..................................................................................................................86  

7. Testbord & opstelling...................................................................................... 89 7.1 Werking testbord...............................................................................................................89 7.2 Verschillende USB dongles (ifak en softing) ....................................................................91 7.3 Verschil met de Vector CANcaseXL .................................................................................93 7.4 Aansluiten APC200 controller..........................................................................................94 7.5 Blokschema meetopstelling...............................................................................................95 

7.6 Verschillende soorten signalen.........................................................................................95 8. Vector CANalyzer software nader bekeken ................................................. 96 

Page 8: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 8/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________8

8.1 Werking CANalyzer ? .......................................................................................................96  8.2 Werking CANdb++ ?......................................................................................................100 8.3 Werking log formaat CANalyzer ?..................................................................................104 8.4 Werking database formaat CANalyzer ? ........................................................................106  

9. Visual Studio, Visual SourceSafe en Office Visio....................................... 110 

9.1 Werking Visual Studio ?..................................................................................................110 9.2 Werking Visual SourceSafe ?..........................................................................................116  9.3 Werking Office Visio voor UML-diagram ? ...................................................................121 

10. Ontwerpen van schema’s............................................................................ 125 10.1 UML Diagrammen........................................................................................................125 10.2 Software flowcharts ......................................................................................................128  

11. Software GUI CAN EDI Diagnostic Tool.................................................. 134 11.1 Het hoofdprogramma....................................................................................................134 11.2 De trace-window...........................................................................................................137  11.3 Het generator venster ...................................................................................................140 

11.4 Het database venster.....................................................................................................141 11.5 Het venster voor de filters.............................................................................................145 11.6 Het configuratie venster voor de logger.......................................................................146  11.7 Het venster voor grafische weergave van signalen ......................................................147  11.8 Inladen van een recent configuratie bestand................................................................147  11.9 Applicatie folder en beschrijving..................................................................................148  

12. Software implementatie C#.NET ............................................................... 149 12.1 Big endian en little endian functies voor de timestamp. ...............................................149 12.2 Informatie uit een signal halen .....................................................................................150 12.3 String formatting...........................................................................................................151 

13. CAN EDI Diagnostic Tool........................................................................... 153 

Besluiten.............................................................................................................. 155 

Documentatie en bijlagen.................................................................................. 160 

Literatuurlijst..................................................................................................... 166 

Page 9: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 9/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________9

 Lijst met illustraties

Fig. 1 Hoofdingang kantoorgebouw te brugge ...........................................................................19 Fig. 2 Grondplan DANA Spicer Off-Highway Brugge..............................................................20 Fig. 3 Bedrijfsorganigram DANA Spicer Off-Highway Products Division...............................21 

Fig. 4 Communicatie in de automatisering (piramide) ...............................................................23 Fig. 5 Broadcast principe CAN bus ............................................................................................26 Fig. 6 CAN 2.0A data frame (Standard CAN)............................................................................29 Fig. 7 CAN 2.0B data frame (Extended CAN)...........................................................................29 Fig. 8 CAN remote frame ...........................................................................................................30 Fig. 9 CAN error frame...............................................................................................................30 Fig. 10 Bus arbitrage en bericht prioriteit (standaard CAN) ......................................................32 Fig. 11 Lengte van de CAN bus volgens de baudrate.................................................................34 Fig. 12 Toevoegen van software redundantie.............................................................................35 Fig. 13 Toevoegen van hardware redundantie............................................................................36 Fig. 14 Toevoegen van redundantie in de bedrading..................................................................36 Fig. 15 9-pin Dsub connector (CAN connector).........................................................................37 Fig. 16 Multipole connector (CAN connector)...........................................................................38 Fig. 17 RJ10 connector (CAN connector) ..................................................................................38 Fig. 18 RJ45 connector (CAN connector) ..................................................................................39 Fig. 19 5-pin Mini-C connector ..................................................................................................39 Fig. 20 Structuur lagen van CAN2.0A volgens het OSI model..................................................43 Fig. 21 Structuur lagen van CAN2.0B volgens het OSI model... ...............................................44 Fig. 22 OSI 7 lagen model ..........................................................................................................45 Fig. 23 Architectural overview ...................................................................................................49 Fig. 24 Dataflow diagram voor Windows...................................................................................50 

Fig. 25 J1939 bericht formaat (zenden) ......................................................................................52 Fig. 26 CAN bericht formaat (zenden) .......................................................................................53 Fig. 27 J1939 bericht formaat (lezen).........................................................................................54 Fig. 28 CAN bericht formaat (lezen) ..........................................................................................55 Fig. 29 Filter parameter frame (command number 4 / J1939)....................................................56 Fig. 30 CAN filter frame.............................................................................................................57 Fig. 31 Depends DLL ifak system..............................................................................................62 Fig. 32 Connector layout APC (TCON) .....................................................................................63 Fig. 33 J1939 29 bit identifier.....................................................................................................68 Fig. 34 Een mogelijke implementatie van een vrachtwagen op de weg (J1939/1).....................68 Fig. 35 Enkelvoudig netwerk (J1939/1)......................................................................................68 

Fig. 36 Meervoudig netwerk (J1939/1). .....................................................................................69 Fig. 37 Representatie fysieke bit.................................................................................................70 Fig. 38 Functionaliteit fysieke laag.............................................................................................70 Fig. 39 Samenstelling van een bit...............................................................................................71 Fig. 40 Topologie van het bedradingsnetwerk (J1939/11) .........................................................71 Fig. 41 Un-Shielded Twisted Pair CAN kabel............................................................................72 Fig. 42 Topologie van het bedradingsnetwerk (Type I ECU’s only)........................................73 Fig. 43 Topologie van het bedradingsnetwerk (één Type II ECU’s geïnstalleerd).................73 Fig. 44 Topologie van het bedradingsnetwerk (twee Type II ECU’s geïnstalleerd)..............73 Fig. 45 CAN Standard Data Frame.............................................................................................74 Fig. 46 CAN Extended Data Frame............................................................................................74 

Fig. 47 OSI model ondersteunt door SAE J1939 (J1939/21) .....................................................75 Fig. 48 J1939 PDU formaat (J1939/21)......................................................................................76 

Page 10: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 10/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________10

Fig. 49 PDU specificatie PDU1 & PDU2 (J1939/21).................................................................76 Fig. 50 J1939 PDU formaten (PDU1 & PDU2 J1939/21)..........................................................76 Fig. 51 J1939 PDU1 formaat (J1939/21)....................................................................................77 Fig. 52 J1939 PDU2 formaat (J1939/21)....................................................................................77 Fig. 53 Transmissie model en mogelijke controller (DANA) ....................................................85 

Fig. 54 Controller systeem mogelijkheden (DANA)..................................................................85 Fig. 55 APC200 hardware blokschema ......................................................................................86 Fig. 56 APC200 hardware connectie schema .............................................................................87 Fig. 57 APC200 controller..........................................................................................................87 Fig. 58 APC200 lokaliseren in een voertuig...............................................................................88 Fig. 59 Testbord APC voorzijde (TCT19)..................................................................................89 Fig. 60 Testbord APC zijkant (TCT19) ......................................................................................90 Fig. 61 Ifak System USB naar CAN interface............................................................................91 Fig. 62 Softing USB naar CAN interface ...................................................................................92 Fig. 63 Vector CAN interfaces ...................................................................................................93 Fig. 64 APC200 voorzijde (DANA)...........................................................................................94 

Fig. 65 APC200 achterzijde (DANA).........................................................................................94 Fig. 66 Snelheidssensor (DANA) ...............................................................................................95 Fig. 67 CANalyzer measurement setup ......................................................................................97 Fig. 68 CANalyzer trace window configuration (Standard).......................................................98 Fig. 69 CANalyzer trace window configuration (Extended)......................................................98 Fig. 70 CANalyzer CAPL browser...........................................................................................100 Fig. 71 CANdb++ overall view ................................................................................................101 Fig. 72 CANdb++ value tables .................................................................................................101 Fig. 73 CANdb++ change value tables.....................................................................................102 Fig. 74 CANdb++ message layout............................................................................................102 Fig. 75 CANdb++ display settings ...........................................................................................103 Fig. 76 CANdb++ message definition ......................................................................................103 Fig. 77 CANdb++ signal definition ..........................................................................................104 Fig. 78 Ontleden van database berichten ..................................................................................108 Fig. 79 Ontleden van database signalen....................................................................................109 Fig. 80 Ontleden van database waardetabellen.........................................................................109 Fig. 81 Visual Studio find in files.............................................................................................111 Fig. 82 Visual Studio find results in entire project ...................................................................111 Fig. 83 Visual Studio replace in files........................................................................................112 Fig. 84 Visual Studio solution explorer Visual Studio class view.......................................113 Fig. 85 Visual Studio properties ...............................................................................................113 

Fig. 86 Visual Studio WYSIWYG interface.............................................................................114 Fig. 87 Visual Studio WYWIWYG interface...........................................................................114 Fig. 88 Gebruik maken van IntelliSense...................................................................................115 Fig. 89 Visual SourceSafe adding an label...............................................................................116 Fig. 90 Visual SourceSafe add comment to label.....................................................................117 Fig. 91 Visual SourceSafe project differences..........................................................................117 Fig. 92 Visual SourceSafe add new file to the project.... ..........................................................118 Fig. 93 Visual SourceSafe show file differences......................................................................118 Fig. 94 Visual SourceSafe file differences ...............................................................................119 Fig. 95 Visual SourceSafe history of file..................................................................................119 Fig. 96 Visual SourceSafe history details.................................................................................120 

Fig. 97 Visual SourceSafe history of project............................................................................120 Fig. 98 Office Visio workplace.................................................................................................121 

Page 11: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 11/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________11

Fig. 99 Office Visio UML class properties (Class) ..................................................................122 Fig. 100 Office Visio UML class properties (Attributes).........................................................123 Fig. 101 Office Visio UML class properties (Operations) .......................................................123 Fig. 102 Office Visio UML Operation Properties (Parameters)...............................................124 Fig. 103 Use Case diagram ‘CAN EDI Diagnostic Tool’ ........................................................125 

Fig. 104 UML Class Diagram database....................................................................................126 Fig. 105 Flowchart logging.......................................................................................................128 Fig. 106 Flowchart ‘trace’ window...........................................................................................129 Fig. 107 Flowchart database .....................................................................................................130 Fig. 108 Flowchart ‘generator’ window ...................................................................................131 Fig. 109 Flowchart messages (received and send)....................................................................132 Fig. 110 Flowchart configuratie bestanden inladen..................................................................133 Fig. 111 CAN EDI Diagnostic Tool (Software) .......................................................................134 Fig. 112 Menubar (CAN EDI Diagnostic Tool) .......................................................................135 Fig. 113 Toolbar (CAN EDI Diagnostic Tool).........................................................................135 Fig. 114 Selecteren van MDI vensters (CAN EDI Diagnostic Tool) .......................................136 

Fig. 115 Trace venster (CAN EDI Diagnostic Tool)................................................................137 Fig. 116 Selecteren van bericht identiteit voor meer informatie (CAN EDI Diagnostic Tool) 138Fig. 117 Informatie van de signalen in een bericht (CAN EDI Diagnostic Tool)....................138Fig. 118 Trace window configuratie (CAN EDI Diagnostic Tool) ..........................................139Fig. 119 Generator venster (CAN EDI Diagnostic Tool).........................................................140Fig. 120 Database inladen en gebruiker (CAN EDI Diagnostic Tool).....................................141Fig. 121 Database venster bericht informatie (CAN EDI Diagnostic Tool).............................141Fig. 122 Database venster signaal informatie (CAN EDI Diagnostic Tool) ............................142Fig. 123 Bericht definities bewerken (CAN EDI Diagnostic Tool) .........................................142Fig. 124 Signalen aan een bericht toevoegen of verwijderen (CAN EDI Diagnostic Tool) ....143Fig. 125 Signaal definities bewerken (CAN EDI Diagnostic Tool) .........................................144Fig. 126 Signaal toevoegen en verwijderen uit berichten (CAN EDI Diagnostic Tool) ..........144Fig. 127 Signaal waardetabel (CAN EDI Diagnostic Tool) .....................................................145Fig. 128 Filter vensters (CAN EDI Diagnostic Tool) ...............................................................145Fig. 129 Configuratie venster voor de logger (CAN EDI Diagnostic Tool) ............................146Fig. 130 Waarschuwing bij overschrijven log bestand.............................................................146Fig. 131 Graphic Signal Monitor (CAN EDI Diagonstic Tool) ...............................................147Fig. 132 Recente configuratie bestanden (CAN EDI Diagnostic Tool) ...................................147Fig. 133 Gebruik maken van het run venster (Windows) .........................................................147Fig. 134 Register variabelen in Windows (Registry Editor).....................................................148Fig. 135 Applicatie folder (CAN EDI Diagnostic Tool) ..........................................................148

Fig. 136 UML Class Diagram Configuration ...........................................................................161Fig. 137 Circuit 1 (J1939/11)....................................................................................................162Fig. 138 Circuit 2 (J1939/11)....................................................................................................163Fig. 139 Circuit 3 (J1939/11)....................................................................................................164Fig. 140 MAPPING OF SAE J1939 INTO CAN’S ARBITRATION AND CONTROL FIELDS...................................................................................................................................................165

Page 12: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 12/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________12

 Lijst met afkortingen

APC Advanced Programmable ControllerAPC Automatic Powershift ControlAPI Application Programming Interface

CAPL CANalyzer Programming LanguageCAPL Communication Access Programming LanguageCAN Controller Area NetworkCiA CAN in AutomationCPU Central Processing UnitCRC Cyclic Redundancy CheckCSMA/CA Carrier Sense Multiple Access with Collision AvoidanceCSMA/CD Carrier Sense Multiple Access with Collision DetectCVC Central Vehicle ControllerC# C sharpDA Destination AddressDB DatabaseDP Digital PeriodDPRAM Dual-Ported RAMDLC Data Length CodeDLL Dynamic Link LibraryECU Electronic Control UnitEDI Electronic Data InterchangeEMI Electro Magnetic InterferenceEOF End Of FrameFIFO First In First Out

GDE Generic Data EditorHLP Higher Layer ProtocolIC Integrated CircuitID IdentifierIDE Integrated Development EnvironmentISO International Standards OrganizationKBPS Kilo Bit Per SecondLAN Local Area NetworkLIFO Last In First OutLIN Local Interconnect NetworkLSB Least Significant Bit

MBPS Mega Bit Per SecondMCU MicroController UnitMDI Multiple Document InterfaceMSB Most Significant BitMSDE Microsoft SQL Server Desktop Engine

 NC Not Connected NRZ Non Return to ZeroOO Object OrientedOOP Object Oriented ProgrammingOSI Open System InterconnectPC Personal Computer

PCI Peripheral Component InterconnectPCMCIA Personal Computer Memory Card International Association

Page 13: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 13/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________13

PDO Process Data ObjectPGN Parameter Group NumberRAM Random Access MemoryRF Radio FrequencyRP Recommended Practice

RFC Request For CommentRS232 Recommended Standard number 232SA Source AddressSAE Society of Automotive EngineersSDO Service Data ObjectSOF Start Of FrameTC Transmission ControllerTTCAN Time Triggered CANUART Universal Asynchronous Receiver/TransmitterUML Unified Modeling LanguageUSB Universal Serial Bus

WYSIWYG What You See Is What You GetWYWIWYG What You Write Is What You Get

Page 14: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 14/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________14

1.Inleiding

Het ontwikkelen van een software programma dat applicatiespecifieke gegevens uit een CAN bus kan halen en deze kan weergeven in een ‘trace’ venster. De data wordt weergegeven in eenruw formaat die aan de hand van een database moet kunnen omgezet worden naar begrijpbare

tekst. Het verzenden van berichten moet zowel cyclisch als manueel kunnen gebeuren, ook hierdient er een mogelijkheid te zijn om berichten via een database aan te maken. Dit heeft alsvoordeel dat de softwaregebruiker een minimale kennis nodig heeft over het CAN protocol.Hierdoor kan men deze software beschikbaar stellen voor klanten, die dan bij een foutsituatieeen log bestand kunnen doorsturen naar een DANA center.

Verdere informatie vind je bij de project omschrijving.

 2. Project omschrijving

2.1 Situering

Tegenwoordig beschikken vele Off-Highway machines over een CAN bus. Op dit moment zijnheel wat machinecomponenten aangesloten, die een schat aan informatie uitwisselen metelkaar, aan de hand van een berichten systeem. Om bepaalde problemen te kunnen vaststellenof onderzoeken is het noodzakelijk dat deze informatie kan worden ingelezen.

Voor het inlezen van dergelijke CAN boodschappen met een PC is een extra CAN chip nodigdie verwerkt zit in een USB dongle. Dit USB apparaat wordt aangesloten op de CAN bus. Desoftwaredriver van dit USB apparaat bevat heel wat functies om communicatie via de CAN bus

mogelijk te maken. Elke functie is echter beschreven in een hiervoor bestemde standaard, deRP1210A standaard.

Voor het interpreteren van deze CAN data maken we dan weer gebruik van een anderestandaard, namelijk de J1939 standaard. Deze standaard beschrijft hoe we de CAN bus moetengaan gebruiken om op een gestandaardiseerde manier data te definiëren en te interpreteren.Deze data beschrijft de status van heel wat machinesignalen en hun overeenkomstige waarde.

2.2 Doel

Vertrekkende vanuit een bestaande applicatie, gegevens vanuit een CAN bus halen om deze

chronologisch te presenteren op naam. Deze gegevens komen van een APC controller dieinformatie bevat over de aangesloten motor. Er kunnen natuurlijk ook berichten op de busverschijnen van andere controllers.

De opdracht is opgesplitst in drie fases, die telkenmale op elkaar verder bouwen.

•  Uitbreiden functionaliteit van bestaande modules.

- Nood aan een relatieve presentatie van de ontvangen boodschappen, zodat eenzelfde bericht slechts éénmalig weergegeven wordt.

Page 15: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 15/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________15

- Alle ingelezen boodschappen moeten naar een bestand kunnen worden geschreven.Dit bestandsformaat staat vast door een reeds gebruikt en aangekocht systeem, namelijkVector CANalyzer.

- Mogelijk maken om berichten cyclisch, met een instelbare tijd automatisch te laten

versturen.

- Mogelijk maken om configuratie bestanden aan te maken en in te lezen.In het configuratie bestand komt informatie over de verschillende vensters die gebruiktkunnen worden (zichtbaar, locatie, lengte, breedte en andere specifieke informatie).

•  Implementatie signaal database.

- De ruwe data door een database kunnen omzetten naar bruikbare signalen. Hetformaat van deze database ligt terug vast door een reeds gebruikt en aangekocht

 programma.

- Een dergelijke database kunnen inlezen en gebruiken.

- De database kunnen aanpassen en opslaan.

•   Nieuwe functionaliteit op basis van de database.

- Waar de boodschappen gepresenteerd worden in ruw formaat, omzetten via dedatabase zodat deze met hun naam kunnen worden weergegeven.

- Een CAN boodschap wordt geïdentificeerd door een ID opgebouwd uit vieronderdelen:

  De prioriteit (priority)  De PGN  Het destinatie adres of adres van de ontvanger (destination address)  Het bron adres of adres van de zender (source address)

- Optie nodig om de prioriteit en/of het adres uit de identificatie te negeren bij opzoekenin de database.

- De boodschappen die de gebruiker wil versturen voorstellen bij naam en de bevatte signalen presenteren op naam.

- Signalen in een apart venster tonen, zodat de gebruiker de gewenste signalen kan bekijken gedurende het uitvoeren van een meting.

- Grafische voorstelling van een selectie beschikbare signalen.

•  Bijkomende functionaliteit

- De hardware en software filters in een klasse apart plaatsen. De software filters zo

 programmeren dat deze ook kunnen filteren op data die in het bericht zit, terwijl dehardware filters enkel kunnen filteren op de identiteit.

Page 16: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 16/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________16

2.3 Tools & skills:

•  Computer met Windows besturingssysteem (XP Pro)•  Microsoft Visual Studio 2003 for C#.NET, .NET framework 1.1•  Vector CANalyzer•  Ifak System isCAN USB interface, Softing CAN Usb interface•  RP1210A drivers•  Testopstelling met APC en CAN bus

Page 17: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 17/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________17

 3. Stageplaats en stage beschrijving

3.1 Voorstelling van het bedrijf

 3.1.1 Situering van het bedrijf binnen DANA

De Dana Corporation is een Amerikaanse multinational, met hoofdkwartier in Toledo, Ohio. Zeis één van de grootste onafhankelijke producenten van onderdelen voor de automobielindustrie.Ze is wereldleider op het vlak van engineering, onderzoek en productie van systemen en

 producten voor de off-highway industrie.Dana staat bekend om haar specifieke managementstijl en haar drang naar vernieuwing.Ze heeft fabrieken, ontwikkel- en ontwerpcentra verspreid over 30 landen en telt z’n 45.000werknemers. Dana realiseert wereldwijd een omzet van meer dan 8 miljoen euro. Dana maaktonderdelen voor zowel de auto-industrie als de ‘Off-Highway’-markt.

De multinational kan men opdelen in een vijftal groepen:

o  Automotive Systemso  Automotive Aftermarketo  Commercial Vehicle Systems Groupo  Engine and Fluid Management Groupo  Off-Highway Systems and DCC.

Het bedrijf in Brugge ‘Spicer Off-Highway Belgium nv’ maakt deel uit van de Off-HighwaySystems.

 3.1.2 De geschiedenis van het bedrijf

De naam Clark werd in 1903 voor het eerst gebruikt toen Eugene Clark in Chicago de ClarkEquipment Company oprichtte. Oorspronkelijk werden enkel heftrucks en trekkers met

 bijhorende assen geproduceerd. In 1927 begon men met transmissies bouwen. Het bedrijf, datals een familiebedrijf startte, groeide door de jaren heen uit tot een multinational.

In 1968 werd de vennootschap ‘Clark Automotive Europe N.V.’ opgericht. De oprichting vande vennootschap in België en de vestiging ervan in Brugge was een gevolg van een projecttussen Clark Equipment Company en La Brugeoise et Nivelles N.V. om samen ‘powershift’

transmissies te produceren voor de Europese markt. Powershift transmissies zijnversnellingsbakken met een ‘natte’ platenkoppeling per versnelling. Bij dit typeversnellingsbakken is de overgang tussen de ene versnelling en de andere met een minimumaan koppelverlies mogelijk.In 1971 werd de onderneming in Brugge 100% dochteronderneming van Clark EquipmentCompany en telde het bedrijf reeds 276 werknemers.Door de toenemende verkoop en ontwikkeling van nieuwe types transmissies was er in 1975een eerste uitbreiding nodig van de fabriekshallen. In 1980, 1988 en 1993 volgden verdereuitbreidingen. Sindsdien bedraagt de totale bebouwde oppervlakte ruim 29000 m² en biedtonderdak aan een modern en efficiënt machinepark. Het kantoorgebouw kreeg in 1981 eentweede verdieping en werd in 1991 verder uitgebouwd om zo alle administratieve afdelingen

degelijk te kunnen huisvesten. Vandaag beslaat dit 3500 m².

Page 18: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 18/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________18

Op 1 augustus 1990 werd de Noord-Italiaanse onderneming Hurth Axle door de Clark-groepovergenomen. Zo ontstond de naam Clark-Hurth Components.Het bedrijf kende zijn zwarte dagen in het begin van de jaren negentig. Er warenherstructureringen en meerdere zware afvloeiingen nodig om het bedrijf te behoeden voor eennakend faillissement. Deze periode blijft een zware bladzijde in de geschiedenis van het bedrijf,

maar betekende ook het begin van een nieuwe bloei.

In 1992 werd de afdeling Clark Material Handling (de constructie van de befaamdevorkheftrucks) verkocht aan Terex. De Clark Equipment Company bestond dan nog slechts uit4 divisies. In mei 1995 werd de volledige groep Clark Equipment Company verkocht aan deAmerikaanse groep Ingersoll Rand.

Op 14 februari 1997 volgde dan de uiteindelijke verkoop van de volledige Clark-HurthComponents divisie aan Dana Corporation. Sindsdien behoort het bedrijf tot de Spicer Off-Highway Components Group van Dana.

 Nauwelijks 1 maand later werd aan Brugge de verantwoordelijkheid toevertrouwd voor de

ontwikkeling van alle nieuwe transmissies voor de wereld markt en werden financiële middelenvrijgemaakt voor de uitbouw van een onderzoeks- en ontwikkelingslaboratorium voorcomponenten en nieuwe transmissies.Het deel Off-Highway in de naam duidt op het toepassingsgebied waarin de versnellingsbakkenterechtkomen. Voertuigen die gedurende de bedrijfsomstandigheden niet op de weg rijden

 bijvoorbeeld kranen, bulldozers, heftrucks, graafmachines, mijnvoertuigen, tractievoertuigen.

Alle onderzoek en product-ontwikkeling gebeurt te Brugge. In ons testlaboratorium voeren wetesten uit op zowel onderdelen als op volledig afgewerkte producten. We hebben ook een eigentestpiste.

De producten worden ingezet in machines voor wegen-, land- en mijnbouw. Daarnaast is Danaook zeer sterk vertegenwoordigd in de markt van de goederenbehandeling.

De toepassingen zijn vooral bedoeld voor machines die weinig of niet op de openbare wegrijden, vandaar ook de naam ‘Off-Highway’. Wij bieden bij onze producten ook elektronischestuursystemen aan. Dit laat de klant toe het maximale rendement uit hun voertuigen te halen,zonder echter de kwaliteit van hun uitrusting in gevaar te brengen.

 3.1.3 Fabricatieprogramma

De producten die ontwikkeld en vervaardigd worden zijn bestemd voor de Off-Highwayindustrie. Er wordt aan de klanten een volledig gamma ‘powershift’ transmissies enkoppelomvormers aangeboden. Daarnaast biedt men de klanten ook elektronischecontrolesystemen aan, die hen toelaten om het maximale rendement uit hun voertuigen te halenzonder dit te beschadigen.De producten zijn bestemd om ingebouwd te worden in heavy-duty off-highway-machines,zoals:

o  Telescopische hoogtewerkerso  Asfalteermachines

o  Graafmachineso  Mijnbouwmachines

Page 19: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 19/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________19

o  Kraneno  Bosontginningsmachineso  Vorkheftruckso  …

Alle producten worden op bestelling vervaardigd en er wordt zoveel mogelijk gewerkt volgenshet ‘Just In Time’-systeem (JIT), waardoor de stock tot een minimum beperkt wordt. De

 producten zijn meestal bestemd voor privé-ondernemingen zoals Caterpiller, Volvo, Manitou,Case New Holland, …

De productie van koppelomvormers en transmissies vormt het leeuwendeel van onzeactiviteiten. Zowel de afwerking van de onderdelen op CNC-gestuurde machines, dewarmtebehandeling als de montage tot volledig afgewerkte transmissies gebeurt in onzevestiging. Op gesofisticeerde testapparatuur, door onze eigen ingenieurs ontwikkeld, wordt elketransmissie grondig getest voor levering.

Het bedrijf heeft op vandaag meer dan 700 technisch geschoolde medewerkers. De expansie ophet vlak van tewerkstelling gedurende de afgelopen periode is voornamelijk te danken aan decombinatie van drie factoren. Vooreerst is er het feit dat begin 2006 het zusterbedrijf in deVerenigde Staten werd gesloten. De machines en bijbehorende productievolumes werdenhierbij overgebracht naar Brugge. De succesvolle lancering van een aantal nieuwe productengedurende de afgelopen jaren is een tweede factor. Hierbij werden de mechanica en deelektronica met elkaar gecombineerd. Daar bovenop komt nog het feit dat onze afzetmarkt eensterke heropleving kent.

 3.1.4 Situering van het bedrijfscontact

Mijn stageplaats is op de tweede verdieping van het kantoorgebouw bij de afdeling controls. Inhet totaal werkt men met ongeveer 45-50 personen in de afdeling engineering (bovensteverdieping).

Fig. 1 Hoofdingang kantoorgebouw te brugge

Page 20: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 20/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________20

 3.1.5 Grondplan van het bedrijf

Op onderstaande foto vind je het grondplan van DANA Spicer Off-Highway Brugge.Ik bevind mij in het rode gedeelte rechtsboven (‘offices’).

Fig. 2 Grondplan DANA Spicer Off-Highway Brugge

        •             E             N            G

  . 

             L            A             B

   P   A   R   K   I   N   G

   P   A   R   K   I   N   G

   P  a i  n t   &   P  a  c  k

      R      O      U      G      H

      S      T      O      R      E      S

   S   H   I   P   P   I   N   G

   S   T   O   R   E   S

   S   T   E   E   L   P   R   O   D .

   T   O   O   L  -

   R   O

   O   M

   &   C

   R   I   B

   O   F   F   I   C   E   S

   M   A   I   N   T   E   N   A   N   C

   E

   H   E   A   T  -

   T   R   E   A   T

W  

   A   S   S   E   M   B   L   Y

   N  e  w

  a  s  s  e  m   b   l  y

   M  e   d   i  s  c   h  e   d   i  e  n  s   t

   T  e  n   B  r   i  e   l  e   1

   T  e  n   B  r   i  e   l  e   3

  r  e  c  e  p   t   i  e

   S

   S

   S

   V

   V

  :  c  a   f  e   t  a  r   i  a

  :  s  p  u   i   t   k  a   b   i  n  e

  :  v  e  r   f  o  p  s   l  a  g

  :   E   H   B   O

      2      0

   P   l  a  n   t   L  a  y  o  u   t   S  p   i  c  e  r

   O   f   f  -   h   i  g   h  w  a  y   P  r  o   d  u  c   t  s   D   i  v   i  s   i  o  n

  :  v  e  r  z  a  m  e   l  p   l  a  a   t  s

   b   i   j  e  v  a  c  u  a   t   i  e

        •             E             N            G

  . 

             L            A             B

   P   A   R   K   I   N   G

   P   A   R   K   I   N   G

   P  a i  n t   &   P  a  c  k

      R      O      U      G      H

      S      T      O      R      E      S

   S   H   I   P   P   I   N   G

   S   T   O   R   E   S

   S   T   E   E   L   P   R   O   D .

   T   O   O   L  -

   R   O

   O   M

   &   C

   R   I   B

   O   F   F   I   C   E   S

   M   A   I   N   T   E   N   A   N   C

   E

   H   E   A   T  -

   T   R   E   A   T

W  

   A   S   S   E   M   B   L   Y

   N  e  w

  a  s  s  e  m   b   l  y

   M  e   d   i  s  c   h  e   d   i  e  n  s   t

   T  e  n   B  r   i  e   l  e   1

   T  e  n   B  r   i  e   l  e   3

  r  e  c  e  p   t   i  e

   S

   S

   S

   V   V

   V   V

  :  c  a   f  e   t  a  r   i  a

  :  s  p  u   i   t   k  a   b   i  n  e

  :  v  e  r   f  o  p  s   l  a  g

  :   E   H   B   O

      2      0      2      0

   P   l  a  n   t   L  a  y  o  u   t   S  p   i  c  e  r

   O   f   f  -   h   i  g   h  w  a  y   P  r  o   d  u  c   t  s   D   i  v   i  s   i  o  n

  :  v  e  r  z  a  m  e   l  p   l  a  a   t  s

   b   i   j  e  v  a  c  u  a   t   i  e

Page 21: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 21/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________21

3.2Bedrijfsorganigram

Fig. 3 Bedrijfsorganigram DANA Spicer Off-Highway Products Division

3.3Overzicht productiestappen

Enkele productiestappen:

•  Vertanding•   Normaliseren•  Hardingsproces•  Draaien/frezen•  Slijpen/harddraaien•  Wassen, drogen en schilderen van transmissie•  Inpakken en stockeren

In totaal zijn er 22 productiestappen.

Page 22: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 22/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________22

3.4 Algemene richtlijnen en veiligheidsregels

 3.4.1 Toegang

- Uitsluitend hoofdingang gebruiken bij het betreden of verlaten van fabriek

- Iedere bezoeker/contractor zal zich vrijwillig onderwerpen aan controle door bewaking, indien hierom verzocht wordt.

- Personenwagens zijn niet toegelaten op het bedrijfsterrein, tenzij goedkeuring van bewaking.

- De 10 regels van orde en netheid worden strikt gevolgd.

 3.4.2 Veiligheid

- Er is een algemene verplichting in de werkplaatsen om een veiligheidsbril te dragen.- Veiligheidsschoenen zijn verplicht tijdens het werken in de werkplaatsen.

- Er is een rookverbod van kracht binnen en buiten alle gebouwen.Roken is enkel toegelaten in de aangeduide rooklokalen.

- De max. toegelaten snelheid op het bedrijf is 20 km/u.Verdere verkeersaanduidingen dienen steeds nageleefd te worden.

- Betreden van werkplaatsen of installaties is verboden zonder voorafgaandelijketoelating van de desbetreffende Spicer verantwoordelijke.

- Het is verboden, zonder voorafhaandelijke goedkeuring, werken te verrichten die:

  een risico veroorzaken tot brand – en explosiegevaar (vuurvergunning verplicht)  toegang vereisen tot enge ruimtes, tanks, …  foto-, film, of videoapparatuur vereisen.

- Bij brand, ongeval of noodsituatie: blijf kalm, bel 2500 en begeef u naar een veilige plaats.

- Bij hoogtewerk: veiligheidsgordel, helm en afbakening werkzone verplicht.- Er worden geen machines, gereedschappen of producten van SOH gebruikt zonder

toestemming van de Spicer coördinator.

 3.4.3 Milieu

- Alle geproduceerde afvalstoffen dienen te worden verwijderd volgens afspraak en‘flowcharts’ in de afdelingen.- Er wordt niets in de riool gedumpt.- Er worden geen gechloreerde koolwaterstoffen gebruikt.- Er wordt maximaal gesorteerd.- Alle gebruikte scheikundige producten moeten goedgekeurd zijn door SOH.

 3.4.4 Bijkomende info

- Extra richtlijnen steeds bij de bewaking of uw ‘Spicer Off-Highway Coördinator’.

Page 23: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 23/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________23

 4.CAN & toebehoren

4.1 Inleiding ingebouwde netwerken

 4.1.1 Wat is een ingebouwd netwerk ?

Sinds de introductie van de PC kregen de halfgeleider componenten vooral de CPU en hetgeheugen de meeste aandacht in de media. De chip fabrikanten bouwen lage prestatiemicrocontrollers steeds kleiner en kleiner. Dit maakt ze niet alleen goedkoper maar ook hetverbruik daalt. Bijna in elk toestel zitten er één of meerde microcontrollers verwerkt.(keuken toestellen, telefoons, computers, computer toebehoren, radio’s, tv’s, auto’s, …)

De trend van de meer betaalbare microcontrollers resulteert in systemen waar meerderemicrocontrollers gebruikt worden. Er is dan nood aan een communicatie kanaal tussen dezecontrollers die in het systeem zijn verwerkt, namelijk ‘embedded networking’.

Typische voorbeelden van multi-controller systemen met communicatie vereisten zijn auto’s encamions, huishoudelijke toestellen, lift systemen, en een hele rij industriële machines.

 4.1.2 Communicatie in de automatisering.

Fig. 4 Communicatie in de automatisering (piramide)

De automatiseringspiramide symboliseert de verschillende controle niveaus en het aantal

gecomputeriseerde systemen in een bedrijfsautomatiseringssysteem. De 3 laagste niveaus zijndeze die geïmplementeerd worden in een complexe machine. Het ‘Sensor and Actuator’ niveau

Page 24: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 24/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________24

 bevat simpele sensoren (contact sensoren, afstandssensoren, temperatuur sensoren, …) enactuators gebruikt in proces. Het controller niveau implementeert onmiddellijke communicatietussen de sensoren en actuators.

Vroeger was communicatie op dit niveau niet mogelijk, wat wil zeggen dat elke sensor of

actuator onmiddellijk gekoppeld moest zijn met zijn eigen draden aan het volgende niveau.

Vandaag worden meer en meer sensoren en actuators ontwikkeld met een netwerk kaart.

Doordat verschillende componenten in grote hoeveelheden op het laagste niveau nodig zijn, isde kost nog altijd een belangrijk punt. Het ontwerpen van sensoren die enkele gegevensdoorgeven met hoge prestatie processoren en netwerk adapters zoals ethernet is geen optie.Andere technologieën gebaseerd op seriële bussen worden al jaren gebruikt, omdat zeontvangen kunnen worden door de laagste prestatie microcontrollers en microprocessoren.

CAN is één van de vele, die op het gebied van netwerk technologieën bruikbaar zijn op het

laagste niveau van de automatiseringspiramide.

Op controller niveau worden microcontrollers gebruikt om alle inputs te verwerken. Een soortcontrole algoritme wordt toegepast en verstuurd de nodige commando’s naar de actuators deoutputs.

Voor elk hoger niveau in de automatiseringspiramide dient de prestatie van het systeem hogerte zijn. In deze niveaus wordt hardware naar het ingebouwde netwerk enkel gebruikt als eendirecte link naar de laagste niveaus.

Plaatsen van systemen in de automatiseringspiramide.

‘Embedded systems’ die meerdere microcontrollers gebruiken en gelijk welke soort vancommunicatie gebruikt kan dikwijls onmiddellijk vergeleken worden met de laagste niveausvan de automatiseringspiramide.Hoe dichter een module bij de sensoren en actuators staat, hoe meer kostgevoelig het is en hoemeer de communicatie vereisten tot de basis kunnen herleid worden.

Page 25: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 25/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________25

4.2 Wat is CAN

Het CAN protocol is een ISO standaard (ISO 11898) voor seriële datacommunicatie. Het protocol werd ontworpen gericht naar de automobiel applicaties in de begin jaren 80. Vandaagis CAN wereldwijd verspreid en wordt gebruikt in industriële automatisatie als ook in auto’s en

mobiele machines.

De CAN standaard bevat een fysieke laag en een datalink laag waarin een aantal verschillendetypes berichten beschreven staan, botsing (arbitration / collision) regels voor bus toelating enmethodes voor foutdetectie en foutbeperkingen.

 4.2.1 Het CAN protocol

  Het is een seriële data communicatie bus voor real-time controletoepassingen.  Data rates tot 1 Mbps.  Het was origineel ontworpen voor gebruik in auto’s.

  De fysieke laag gebruikt ‘twisted pair’ draden voor transmissie (transport van gegevens)  Een op bit gebaseerde arbitrage om toegang op de bus te controleren.  De berichten zijn klein (max. 8 bytes) en zijn beschermd door een checksom.  Er is geen expliciet adres aanwezig in het bericht, in de plaats daarvan bevat elk bericht

een getal die zorgt voor de prioriteit op de bus, en ook een identificatie van de data inhet bericht.

  Een uitgewerkte foutafhandeling schema dat het opnieuw sturen van berichten mogelijkmaakt wanneer deze niet goed werd ontvangen.

  Er zijn efficiënte middelen om fouten te isoleren en defecte apparaten te verwijderen uitde bus.

  Een multi-master hiërarchie, die het mogelijk maakt om intelligente en redundantesystemen te maken. (Als één controller defect is, blijft het netwerk in werking).

  Broadcast communicatie. Een zender stuurt naar alle controllers in het netwerk, allecontrollers lezen het bericht en beslissen of het bruikbaar is voor hen.

 4.2.2 Hogere protocol lagen

Het CAN protocol zegt enkel hoe kleine pakketten van data veilig getransporteerd kunnenworden van punt A naar punt B, gebruikmakend van een gedeeld communicatie medium.Het bevat niets over onderwerpen zoals ‘flow control’, transport van data groter dan 8 byte,

apparaat adressering, onderneming van communicatie, enz.. Deze onderwerpen worden dooreen hogere protocol laag omvat (HLP). De term HLP is afgeleid van het OSI model en dezeven lagen.

Hogere protocol lagen worden gebruikt voor:

  Gestandaardiseerde opstart, procedures voor het regelen van de bit rate.  Adressen verdelen onder deelnemende apparaten of soorten berichten.  Het uitzicht van het bericht bepalen.  Routines voor foutafhandeling op systeemniveau.

Page 26: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 26/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________26

 4.2.3 CAN producten

Op het laagste niveau zijn er in principe twee soorten CAN producten beschikbaar op de markt,CAN chips en CAN ontwikkelingshulpmiddelen. Op een hoger niveau zijn er nog twee soort

 producten namelijk CAN modules en CAN ontwerp hulpmiddelen. Een groot aantal van deze

zijn verkrijgbaar op de open markt.

 4.2.4 De CAN bus

De CAN bus is een broadcast type bus. Dit betekent dat alle apparaten die op de bus zijnaangesloten alle transmissies kunnen “horen”. Er is geen enkele manier om een bericht tezenden naar één enkel apparaat. De CAN hardware heeft wel de mogelijkheid om lokaal filtersin te stellen zodat het apparaat enkel reageert op het gewenste bericht.

Fig. 5 Broadcast principe CAN bus

CAN gebruikt NRZ encodering (met bit-stuffing) voor data communicatie op een differentiëletwee draadbus. Het gebruik van NRZ codering verzekert compacte berichten met eenminimumaantal overgangen en een hoge weerstand tegen externe storing.De modules worden op een telegrafen manier op de bus aangesloten (bus structuur).Als een apparaat een nul op de bus stuurt, dan is heel de bus in die status ongeacht of er eenandere node een één op de bus stuurt. (de nul overheerst).

De CAN standaard definieert vier verschillende types berichten. De berichten gebruikenslimme schema’s of een op bit gebaseerde arbitrage om de toegang tot de bus te controleren,het bericht bevat ook een prioriteit.

Page 27: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 27/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________27

4.3 Waarom CAN ?

Er zijn enkele goede redenen waarom het CAN protocol de goede keuze is.

 4.3.1 Volwassen standaard

Het CAN protocol bestaat al meer dan 15 jaar (sinds 1986). Er zijn nu veel CAN producten enhulpmiddelen beschikbaar op de markt.

 4.3.2 Hardware implementatie van het protocol

Het CAN protocol is geïmplementeerd in de hardware van allerhande IC’s. Dit maakt hetmogelijk om de foutafhandeling en foutbeperkingen van CAN te combineren met een hogetransport snelheid. De methode die gebruikt wordt voor het versturen van berichten naar de

 juiste ontvanger draagt bij tot het bereiken van een goed gebruik van de beschikbare bandbreedte.

 4.3.3 Simpel transmissie medium

Het transport medium maakt gebruik van ‘twisted pair’ draden. Een CAN systeem kan ookwerken met één enkele draad. In sommige applicaties zijn andere oplossingen beter geschiktzoals optische kabels of RF (radio frequency) verbindingen. Niettegenstaande er een transporthardware standaard is (twisted pair), is het mogelijk om andere oplossingen te gebruikenafhankelijk van de systeem eisen.

 4.3.4 Excellente foutafhandeling

De foutafhandeling van CAN is een van de heel sterke voordelen van het protocol.De foutdetectie systemen zijn uitgebreid, en de foutbeperkingen zijn goed ontworpen.De foutafhandeling en het opnieuw versturen van berichten wordt automatisch gedaan door deCAN hardware.

 4.3.5 Goede foutbeperking

Een optredende fout in het systeem (netwerk) kan het transport van heel het systeem stil leggen(bv. door de totale bandbreedte te gebruiken). Het CAN protocol heeft een ingebouwde functiedat voorkomt dat een fout het volledige systeem blokkeert.

Het apparaat dat de fout veroorzaakt heeft wordt uitgesloten voor verder verkeer op de CAN bus.

Page 28: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 28/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________28

4.4 Waar wordt CAN gebruikt ?

CAN komt voort uit de automobiel industrie waar het gebruikt wordt als het overheersende bussysteem voor ‘in-vehicle’ netwerken. Vijf of meer CAN netwerken connecteren meer dan 60ECU’s in afgewerkte (high-end) personen auto’s. De laatste tijd ontwierp CiA open netwerken

voor speciale auto’s zoals taxi’s en politie auto’s om diensten te connecteren in de auto. Bv.taximeter, printer, blauw licht, creditkaart lezer, en andere.

CAN wordt niet enkel gebruikt in auto’s maar ook in gelijk welk ander applicatie veld. Demeeste applicaties vereisen hoge niveau compatibiliteit. Voor deze reden zijn er hogere

 protocol lagen ontworpen.

 4.4.1 CAN toepassingsgebieden:

•  Personen auto’s•  Camions en bussen•  Off-highway en off-road voertuigen•  Maritieme elektronica•  Vliegtuig en ruimtevaart elektronica•  Fabrieksautomatisatie•  Machine besturing•  Gebouw automatisatie, liften en roltrappen•  Medisch materiaal en toestellen

4.5 Voor en nadelen van CAN

 4.5.1 Voordelen van CAN:

•  Kortere installatietijd•  Minder gewicht, door afname van de hoeveelheid kabels•  Minder aansluitingen en aftakkingen en dus minder storingsoorzaken•  Ruimtebesparend•  Minder kans op variabele magnetische velden•  Storingen zoeken biedt meer mogelijkheden•  Een sensor geeft informatie aan verschillende stuureenheden door, waardoor het aantal

componenten vermindert•  Meer comfortmogelijkheden en een beter rijgedrag door communicatie tussen de

verschillende systemen•  Extra functies zijn mogelijk mits andere programmatuur•  Het systeem is gemakkelijk aan te passen per land en aan de behoeften van de klant•  Minder wisselstukken waardoor een eenvoudiger en goedkoper voorraadbeheer•  Ook kostenbesparing was één van de doorslaggevende redenen voor het invoeren van

CAN. Er waren immers minder draden en sensoren nodig bij een CAN-netwerk.

Page 29: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 29/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________29

 4.5.2 Er zijn echter ook enkele nadelen:

•  Door de ingewikkelde constructie is het nodig dat de mecaniciens in de werkplaats extrageschoold worden.

•  Specifieke merkgebonden apparatuur dringt zich op met de daarbij horende kennis.

•  Soms is de snelheid van de bus te traag, en gaat men voor bepaalde snelle toepassingentoch klassieke bedrading nemen

4.6 CAN berichten

 4.6.1 Vier verschillende soorten CAN berichten

4.6.1.1 Data frame

Het data frame is het meest gebruikte bericht type. Het bevat de volgende belangrijke delen:

o  Het arbitrage veld, die de prioriteit van het bericht bepaalt wanneer twee of meerapparaten op de bus vechten (als ze tezelfdertijd een bericht sturen).Het arbitrage veld bevat:

•  voor CAN 2.0A, een 11-bit identiteit en één bit RTR die overheersend is voordata frames.

•  voor CAN 2.0B, een 29-bit identiteit (met twee bits extra voor SRR en IDE) enéén bit RTR die overheersend is voor data frames.

o  Het data veld die 0 tot 8 bytes aan data bevat.o  Het CRC veld die een 15-bit checksom bevat, berekend op de meeste delen van het

 bericht. Deze checksom wordt gebruikt voor fout detectie.o  Een erkenning (acknowledgement) slot, elke CAN controller die een bericht correct

ontvangt zend een erkenning bit. De verzender controleert of de erkenning bit aanwezigis, zoniet herstuurt hij het bericht opnieuw.

Fig. 6 CAN 2.0A data frame (Standard CAN)

Fig. 7 CAN 2.0B data frame (Extended CAN)

Page 30: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 30/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________30

4.6.1.2 Remote frame

Het remote frame is identiek aan de data frame, met twee belangrijke verschillen:

o  Het is expliciet gemarkeerd als remote frame.

o  Er is geen data veld.

Het voorgenomen doel van het remote frame is het verzoeken van transmissies van hetovereenkomstige data frame. Vb. als node A een remote frame verstuurt naar B met in hetarbitrage veld 234, dan kan node B een date frame versturen met ook 234 in zijn arbitrage veld.

De ‘Data Length Code’ dient ingevuld te worden met de lengte van het verwachte antwoord bericht, anders werkt de arbitrage niet.

Fig. 8 CAN remote frame

4.6.1.3 Error frame

Simpel gezegd is de error frame een special bericht dat zich niet aan de frame regels houdt vaneen CAN bericht. Het wordt verstuurd wanneer een apparaat een fout detecteert, hierdoorzullen alle apparaten aangesloten op de bus de fout detecteren. De verzender zal automatischhet bericht opnieuw versturen. Er is een uitgewerkt schema van fout tellers zodat de node het

 busverkeer niet onmogelijk maakt.

Het error frame bevat een fout vlag met 6 gelijke bits (overtreding van de bit-stuffing regel) eneen fout afbakening van 8 bits. De fout afbakening verstrekt plaatst voor andere apparaten opde bus om ook hun fout vlagen te zenden wanneer deze de eerste fout vlag detecteert.

Fig. 9 CAN error frame

Page 31: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 31/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________31

4.6.1.4 Overload frame

Het overload frame wordt hier vermeld voor de volledigheid. Het is bijna identiek als het errorframe met een gelijkaardig formaat en wordt verstuurd door een apparaat dat het te druk heeft.Het overload frame wordt niet veel gebruikt, doordat de CAN controllers vandaag slim genoeg

zijn om het niet meer nodig te hebben. De enige controller die het nu nog gebruikt is deverouderde 82526 MCU.

 4.6.2 Standard vs Extended CAN

Oorspronkelijk definieerde de CAN standaard de lengte van de identiteit in het arbitrage veldop elf. Later werden ze door de eisen van de kopers verplicht om de standaard uit te breiden.Het nieuwe formaat wordt Extended CAN genoemd en laat niet minder dan 29-bits toe in deidentiteit. Om onderscheid te kunnen maken tussen deze twee frame types werd eengereserveerde bit gebruikt in het controle veld.

De standaarden worden als volgt genoemd:

•  2.0A, met 11-bit identiteit.•  2.0B, de uitgebreide versie met 29-bit identiteit (of 11-bit, je kan ze mixen)

Een 2.0B apparaat kan:  Actief zijn: Verzenden en ontvangen van uitgebreide berichten  Passief zijn: Stil verwerpen van uitgebreide ontvangen berichten.

•  1.x, verwijst naar de oorspronkelijke specificaties en zijn revisies.

 Nieuwe CAN controllers zijn meestal van het 2.0B type. Een 2.0A controller kan geen 29-bitarbitrage veld ontvangen.

Sommige mensen verdedigen de standaard CAN berichten als beter dan de uitgebreide CAN berichten, omdat de bus meer belast wordt met uitgebreide CAN berichten. Dit is niet altijd zo,als je het arbitrage veld gebruikt om data te versturen kan deze voor minder busverkeer zorgen.Dan is de busbelasting kleiner dan met standaard CAN berichten.

 4.6.3 Basic CAN vs Full CAN

De termen “Basic CAN” en “Full CAN” komen nog uit de kindertijd van CAN. Intel met zijn82526 CAN controller verstrekte een DPRAM interface voor de programmeur, Philips

gebruikte in zijn 82C200 een FIFO (Queue) georiënteerd programmeermodel met gelimiteerdefilter mogelijkheden. Om deze twee types te onderscheiden benoemde men Intel als “FullCAN” en Philips als “Basic CAN”. Vandaag ondersteunen de meeste CAN controllers beide

 programmeermodellen.

Er is geen compatibiliteitsprobleem tussen de twee types, dus een “Full CAN” controller kancommuniceren met een “Basic CAN” en omgekeerd.

Page 32: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 32/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________32

 4.6.4Bus Arbitrage en bericht Prioriteit

De bericht arbitrage (het proces waarin twee of meer CAN controllers overeenkomen wie de bus mag gebruiken) is van groot belang voor de echt bruikbare bandbreedte voor data transport.

Fig. 10 Bus arbitrage en bericht prioriteit (standaard CAN)

Elke CAN controller mag een bericht versturen als er gedetecteerd werd dat de bus nietsuitvoert. Dit kan resulteren dat twee of meer controllers een bericht tezelfdertijd versturen.Het apparaat dat een bericht verstuurd bekijkt de bus tijdens het verzenden, als het apparaat een

waarde op de bus ziet dat hij zelf niet heeft gestuurd dan stopt hij onmiddellijk met hetversturen van zijn bericht en wordt hij een ontvanger. Dit is identiek aan de arbitrage van eenI²C netwerk. De arbitrage gebeurt over het hele arbitrage veld, als dit veld verstuurd is blijft erexact één zender over. Dit apparaat gaat door met het verzenden alsof niets gebeurd is. Deandere apparaten proberen hun bericht opnieuw te sturen wanneer de bus terug vrij komt.

 Er is geen tijdsverlies in het arbitrage proces.

Een belangrijke conditie voor deze op bit gebaseerde arbitrage is dat er geen twee apparatenhetzelfde arbitrage veld hebben. Een uitzondering hierop is wanneer een bericht geen data

 bevat. Dan mag elk apparaat het bericht versturen.

Zoals eerder vermeld is de nul dominant bij de arbitrage. Hieruit volgt dat hoe hoger de prioriteit is, hoe kleiner het getal moet zijn. Dus als bijvoorbeeld de prioriteit één byte is, heeftFFh de kleinste prioriteit en 00h de hoogste prioriteit.

 4.6.5 Bericht adressering en identificatie

Er is geen expliciet adres in een CAN bericht. Elke CAN controller neemt alle verkeer op de bus aan, door het gebruik van een combinatie van hardware filters en software filters kan ervast gesteld worden of het bericht interessant is of niet.

Alle CAN controllers zullen het arbitrage veld of een deel ervan gebruiken als een sleutel in hethardware filtering proces.

Page 33: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 33/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________33

De standaard zegt niet dat het arbitrage veld gebruikt moet worden als bericht identificatie,niettegenstaande het heel veel gebruikt wordt.

4.7 CAN fysieke lagen

 4.7.1 Verschillende fysieke lagen

Een fysieke laag definieert:

•  het elektrische niveau•  het signaal schema op de bus•  de kabelimpedantie•  andere

Er zijn meerdere verschillende fysieke lagen:

•  Het meest gebruikte type is deze die de CAN standaard definieert, ISO 11898-2, het iseen tweedraad bus en gekend als “high-speed CAN”.

•  Een ander deel van dezelfde ISO standaard, ISO 11898-3 definieert een anderetweedraad bus voor lagere bus snelheden. Het is fout tolerant, dus transport kan verdergaan zelfs als één draad kortgesloten is naar massa.Deze standaard is beter gekend als “low-speed CAN”.

•  SAE J2411 definieert een ééndraad fysieke laag (plus massa). Het wordt voornamelijkgebruikt in auto’s (vb. GM-LAN)

•  Er bestaan verscheidene merkgebonden fysieke lagen.

•  De wijzigingen van RS485 werden vroeger gebruikt toen CAN drivers nog niet bestonden.

Verschillende fysieke lagen kunnen niet (is een regel) samenwerken. Sommige combinatieskunnen werken, of blijken te werken, onder zeer goede condities.

 4.7.2 Maximum bus snelheid

De maximum snelheid van een CAN bus is volgens de standaard 1Mbps. Sommige CANcontrollers kunnen toch sneller dan 1Mbps en worden gebruikt in speciale applicaties.

Low-speed CAN werkt tot 125 kbps.

Single-wire CAN werkt tot 50kbps in standaard mode, tot 100kbps in high-speed mode.

Op een volledig belaste bus met een snelheid van 1Mbps kunnen er 6 à 7 berichten permilliseconde op de bus komen.

Page 34: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 34/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________34

 4.7.3 Minimum bus snelheid

Sommige controllers kunnen niet lager dan een bepaalde bit snelheid. Voor de 82C250 –82C251 is de minimum bus snelheid 10kbps.

Om de echte minimale bus snelheid te weten moet je de datasheet van de fabrikant bekijken.

 4.7.4 Maximum kabel lengte

Snelheid (kbps) Kabel lengte (m)

1000 40

500 100

250 200125 500

10 6000

Fig. 11 Lengte van de CAN bus volgens de baudrate

 4.7.5 Bus afsluiting (terminator)

Een ISO 11898 CAN bus moet afgesloten worden, dit wordt gedaan met een weerstand van120 Ohm op beide einden van de bus.

De afsluiting heeft 2 doelen:•  Het verwijderen van signaal reflecties aan het einde van de bus.•  Er voor zorgen dat de bus de goede DC niveaus krijgt.

Een ISO 11898 CAN bus moet altijd  worden afgesloten ongeacht de bus snelheid.

 4.7.6 De kabel

De ISO 11898 bepaalt dat de kabel een impedantie dient te hebben van 120 ohm.Een impedantie tussen de 108 en 132 ohm is toegelaten.

Er zijn niet veel kabels op de markt die aan deze eisen voldoen. Het interval waarin dezeimpedantie moet vallen zal waarschijnlijk nog worden verruimt.

ISO 11898 is beschreven voor twisted pair kabels, shielded en unschielded.

Page 35: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 35/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________35

 4.7.7 Spanningsniveaus

4.7.7.1 Low Speed CAN

Recessieve toestand (rust) Dominante toestand (actief)Signaal

Min Nominaal Max Min Nominaal Max

Eenheid

CAN_H 1.6 1.75 1.9 3.85 4.0 5.0 VoltCAN_L 3.1 3.25 3.4 0 1.0 1.15 Volt

4.7.7.2 High Speed CAN

Recessieve toestand (rust) Dominante toestand (actief)SignaalMin Nominaal Max Min Nominaal Max

Eenheid

CAN_H 2.0 2.5 3.0 2.75 3.5 4.5 VoltCAN_L 2.0 2.5 3.0 0.5 1.5 2.25 Volt

 4.7.8 Opbouwen van redundantie

Het verhogen van de veiligheid kan door het toevoegen van redundantie in verschillendeniveaus. Een microcontroller communiceert met een CAN controller die gebruik maakt van eentransceiver om berichten (signalen) uit te wisselen met de fysische media. Softwareredundanties kunnen toegevoegd worden zonder de structuur te veranderen. Berichten kunnengekloond worden en twee maal over het netwerk verstuurd worden. Enkel wanneer beide

 berichten verzonden zijn wordt de transmissie als succesvol gezien. (zie fig. 12)

Fig. 12 Toevoegen van software redundantie

In sommige gevallen kunnen applicaties ook hardware redundantie vereisen. Dit is vooral omveilige en relevante communicatie op te bouwen. Hier worden twee microcontrollers en twee

CAN controllers gebruikt, maar ze gebruiken beide dezelfde transceiver. Dit wordt in de eerste plaats gebruikt waar elektronische schakelingen verantwoordelijk zijn om naar een veilige

Page 36: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 36/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________36

toestand over te schakelen (bijvoorbeeld een shut-down). Zoals het uitschakelen vanverschillende componenten in een bepaalde volgorde. (zie fig. 13)

Fig. 13 Toevoegen van hardware redundantie

In sommige maritieme applicaties is het nodig om veiligheid in te bouwen in het geval er ietsgebeurt met de bedrading van het netwerk of met een controller aangesloten op het netwerk.

Het idee is niet alleen om de bedrading naar de controller te beveiligen maar ook het helenetwerk. (zie fig. 14)

Fig. 14 Toevoegen van redundantie in de bedrading

Page 37: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 37/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________37

 4.7.9 CAN connectoren

Er is geen standaard voor CAN bus connectoren. Meestal definieert elke hogere protocol laagéén of enkele voorkeur connector types.

•  9-pin DSUB, voorgesteld door CiA•  5-pin Mini-C of Micro-C, gebruikt bij DeviceNet en SDS•  6-pin Duitse connector, voorgesteld door CANHUG voor mobiele hydrolica

Meer info over de CAN bus connectoren vind je in het volgende deel punt 4.8.

4.8 CAN connectoren

 4.8.1 9-pin DSUB

De connector layout wordt geadviseerd door CiA en is vrij wel de industriële standaard.

Fig. 15 9-pin Dsub connector (CAN connector)

Pin Signaal Beschrijving

1 - Gereserveerd2 CAN_L CAN_L bus line (dominant low)3 CAN_GND CAN massa4 - Gereserveerd5 (CAN_SHLD) Optioneel CAN schild6 (GND) Optionele massa7 CAN_H CAN_H bus line (dominant high)

8 - Gereserveerd9 (CAN_V+) Optionele voeding

Page 38: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 38/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________38

 4.8.2 Multipole connector

Fig. 16 Multipole connector (CAN connector)

Pin Signaal Beschrijving

1 - Gereserveerd

2 (GND) Optionele massa3 CAN_L CAN_L bus line (dominant low)4 CAN_H CAN_H bus line (dominant high)5 CAN_GND CAN massa6 - Gereserveerd7 - Gereserveerd8 (CAN_V+) Optionele voeding9 - Gereserveerd10 - Gereserveerd

 4.8.3 RJ10 Connector

Fig. 17 RJ10 connector (CAN connector)

Pin Signaal Beschrijving

1 (CAN_V+) Optionele voeding2 CAN_H CAN_H bus line (dominant high)3 CAN_L CAN_L bus line (dominant low)4 CAN_GND CAN massa

Page 39: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 39/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________39

 4.8.4 RJ45 Connector

Fig. 18 RJ45 connector (CAN connector)

Pin Signaal Beschrijving

1 CAN_H CAN_H bus line (dominant high)2 CAN_L CAN_L bus line (dominant low)3 CAN_GND CAN massa4 - Gereserveerd5 - Gereserveerd

6 (CAN_SHLD) Optioneel CAN schild7 CAN_GND CAN massa8 (CAN_V+) Optionele voeding

 4.8.5 5-pin Mini-C

Gebruikt bij DeviceNet en SDS en is compatible tussen deze twee protocollen.

Fig. 19 5-pin Mini-C connector

Pin Signaal Beschrijving

1 CAN-SHLD Optioneel CAN schild2 (CAN_V+) Optionele voeding3 CAN_GND CAN massa4 CAN_H CAN_H bus line (dominant high)5 CAN_L CAN_L bus line (dominant low)

Er zijn nog meer CAN connectoren maar dit zijn de meest gekende.Er is een nieuwe standaard aan het opkomen voor de automobielindustrie en deze standaard

zou tegen 2008 overal moeten worden geïmplementeerd. De OBD (On Board Diagnostics)connector.

Page 40: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 40/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________40

4.9 CAN foutafhandeling

 4.9.1 Hoe CAN fouten afhandelt

Foutafhandeling is ingebouwd in het CAN protocol en is van groot belang voor de prestaties

van het CAN systeem. De foutafhandeling richt zich op het detecteren van fouten in berichtendie zich op de bus bevinden, zodat de zender een onjuist bericht opnieuw kan versturen. ElkeCAN controller aangesloten op de bus zal proberen om fouten te ontdekken in een bericht. Alseen fout gevonden is zal de controller die deze heeft gevonden een bericht versturen met eenfout vlag, dit resulteert in het vernietigen van het bus verkeer. Andere controllers zullen dezefout vlag detecteren en het huidige berichten verwerpen.

Elke controller bevat twee fout tellers: de Transmit Error Counter en de Receive Error Counter.Er zijn verschillende regels over hoe deze tellers verhoogd en/of verlaagd worden. In essentiezal een zender die een fout detecteert sneller zijn Transmit Error Counter verhogen dan deluisterende apparaten hun Receive Error Counter zullen verhogen. Wanneer een fout teller

verhoogd wordt tot een bepaalde waarde zal het apparaat eerst in een “Error Passive” modekomen. Het zal niet actief het bus verkeer vernietigen wanneer het een fout detecteert, het komtdan in “Bus Off” mode. Dit betekent dat het apparaat niet meer deelneemt aan het bus verkeer.

Door het gebruik van fouttellers kan een CAN node niet alleen fouten detecteren maar ookfoutbeperking uitvoeren.

 4.9.2 Fout detectie systemen

Het CAN protocol definieert niet minder dan vijf verschillende manieren om fouten tedetecteren. Twee van de vijf werken op bit niveau, en de andere drie werken op bericht niveau.

4.9.2.1 Bit Monitoring

Elke zender op de CAN bus leest op het verzonden signaal niveau (verzonden signalen terug binnen lezen ter controle). Als de zender een ander bit niveau inleest dan hij heeft verzondenwordt een bit fout (Bit Error) gesignaleerd (Bit fouten worden tijdens het arbitrageproces nietopgeheven).

4.9.2.2 Bit stuffing

Wanneer vijf opeenvolgende bits met hetzelfde niveau door een controller worden verstuurt zalhet een zesde bit toevoegen dat het tegenovergesteld is aan de vorige. De ontvangers zullendeze extra bit negeren. Dit wordt gedaan om bovenmatige DC componenten op de bus tevoorkomen, het geeft de ontvangers ook een extra gelegenheid om fouten te detecteren.Als meer dan vijf opeenvolgende bits op de bus hetzelfde niveau hebben wordt een Stuff Errorgesignaleerd.

Page 41: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 41/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________41

4.9.2.3 Frame Check

Sommige delen van een CAN bericht hebben een vast formaat, de standaard bepaalt exactwanneer welk niveau moet opkomen. (Deze delen zijn de CRC afbakening, ACK afbakening,frame einde). Als een CAN controller een ongeldige waarde detecteert in een van deze vaste

velden wordt een “Form Error” gesignaleerd.

4.9.2.4 Acknowledgement Check

Alle controllers aanwezig op de bus die een goed bericht ontvangen, worden verwacht eenerkenning bit te versturen via het Acknowledgement veld in het bericht. Als de zender geen

 bericht ontvangt met een erkenning bit wordt een “Acknowledgement Error” gesignaleerd.

4.9.2.5 Cyclic Redundancy Check

Elk bericht heeft een 15-bit CRC veld, elke controller die een verschillende CRC detecteert ineen bericht dan deze dat hij zelf heeft uitgerekend zal een “CRC Error” signaliseren .

 4.9.3 Fout beperkingtechnieken

Elke CAN controller aangesloten op de bus zal fouten proberen te detecteren in elk ontvangenen verzonden bericht. Als een fout gevonden is zal de controller die hem gevonden heeft een

 bericht zenden met een fout vlag (Error Flag), zodat alle verkeer op de bus vernietigd wordt.De andere controllers detecteren de fout gemaakt door de fout flag (als ze zelf de fout nog niet

hadden gedetecteerd). Hierdoor zal elke controller het huidige bericht verwerpen.

Elke controller bevat twee fouttellers: de Transmit Error Counter en de Receive Error Counter.Er zijn verschillende regels over hoe deze tellers verhoogd en/of verlaagd worden. In essentiezal een zender die een fout detecteert sneller zijn Transmit Error Counter verhogen dan deluisterende apparaten hun Receive Error Counter zullen verhogen. Wanneer een fout tellerverhoogd wordt tot een bepaalde waarde zal het apparaat eerst in een “Error Passive” modekomen. Het zal niet actief het bus verkeer vernietigen wanneer het een fout detecteert, het komtdan in “Bus Off” mode. Dit betekent dat het apparaat niet meer deelneemt aan het bus verkeer.

Een controller start in de “Error Active” mode. Wanneer één van de twee tellers groter wordtdan 127 zal de controller over gaan naar de “Error Passive” mode en wanneer deze nog groterwordt dan 255 zal de controller over gaan naar de “Bus Off” mode.

•  Error Active: de controller verstuurt actief foutberichten wanneer een fout wordtgedetecteerd.

•  Error Passive: de controller verstuurt passieve foutberichten wanneer een fout wordtgedetecteerd.

•  Buss Off : de controller verstuurt niets meer op de bus.

Page 42: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 42/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________42

De regels voor het verhogen en verlagen van de fouttellers zijn behoorlijk complex, maar het berust op het volgende principe:Verzendingsfouten geven acht foutpunten, ontvangstfouten geven één punt. Verzonden enontvangen berichten zonder fouten verlagen de teller.

De meeste CAN controllers verstrekken statusbits (en interrupt mogelijkheden) voor 2toestanden:

•  “Error Warning” één of twee fouttellers hoger dan 96•  “Bus Off” mode

Voor meer informatie over andere interrupt mogelijkheden bij deze modes, zie datasheet van degebruikte CAN controller.

De gewoonte van CAN controllers om automatisch berichten opnieuw te versturen nadat eenfout voorkwam kan vervelend zijn. Er is alleszins één controller op de markt van Philips(SJA1000) die het toelaat om volledig manueel de foutafhandeling in te stellen.

 4.9.4 Bus foutmodes

De ISO 11898 standaard beschrijft verschillende foutmodes van de CAN bus kabel:

1.  CAN_H onderbroken2.  CAN_L onderbroken3.  CAN_H kortgesloten met voeding

4.  CAN_H kortgesloten met massa5.  CAN_L kortgesloten met voeding6.  CAN_L kortgesloten met massa7.  CAN_L kortgesloten met CAN_H8.  CAN_H en CAN_L onderbroken op dezelfde plaats9.  Verlies van verbinding door beëindigingverbinding

Er zijn fouttolerante drivers zoals de TJA1053 die alle fouten kan verwerken. Normaal betaal jevoor deze fouttolerantie een beperkte maximum snelheid van 125kbps.

Page 43: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 43/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________43

4.10 CAN specificatie 2.0

 4.10.1 Deel 1 (2.0A)

De fysieke laag bepaalt hoe de signalen worden overgebracht. Binnen deze specificatie wordt

de fysieke laag niet bepaald om implementaties van transmissiemiddelen en signaal niveaus toete laten in hun applicaties.

De transport laag vertegenwoordigt de kern van het CAN protocol. Het legt ontvangen berichten voor aan de object laag en keurt berichten goed die van de object laag moeten wordenovergebracht. De transport laag is verantwoordelijk voor bittiming en synchronisatie, berichtontwerp, arbitrage, erkenning (acknowledge), foutdetectie en foutsignalisatie, en foutbeperking.

De object laag zorgt voor het filteren van berichten evenals status- en berichtverwerking.

Fig. 20 Structuur lagen van CAN2.0A volgens het OSI model

Page 44: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 44/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________44

 4.10.2 Deel 2 (2.0B)

Fig. 21 Structuur lagen van CAN2.0B volgens het OSI model

De fysieke laag bepaalt hoe de signalen worden overgebracht en daarom de beschrijving van de bittiming, synchronisatie en codering behandelt.

De MAC sublaag vertegenwoordigt de kern van het CAN protocol. Het legt ontvangen berichten voor aan de LLC sublaag en keurt berichten goed die van de LLC sublaag moetenworden overgebracht. De MAC sublaag wordt gecontroleerd door een beheerseenheid ‘FaultConfinement’ genoemd. Het is een zelfcontrolerend mechanisme om korte storingen en

 permanente mislukkingen te onderscheiden.

De LLC sublaag zorgt voor het filteren van berichten, notificatie bij overbelasting enbeheer van herwinning (recovery).

Page 45: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 45/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________45

4.11 CAN hogere protocol lagen

De CAN standaard definieert de hardware en de communicatie op een basis niveau. Het CAN protocol zelf zegt enkel hoe het transport van data in kleine pakketten van punt A naar punt Bmoet gebeuren. Het bevat niets over onderwerpen zoals flow control, transport van data langer

dan 8 byte, controller adressen, communicatie vastleggen, …

Om communicatie tot stand te brengen is een hogere protocol laag (HLP) nodig. De term HLPis afgeleid van het OSI model en zijn zeven lagen. De HLP specificeert:

•  Opstart gedrag•  Hoe de verdeling van berichtidentiteiten gebeurt onder de verschillende controllers in

een systeem•  Hoe het vertalen van de inhoud gebeurt in een data frame•  Status mededeling in het systeem

CAN hardware implementaties ondersteunen de twee laagste lagenvan het OSI model, terwijl verschillende software oplossingen(HLP) de lagen drie tot zeven implementeren. Modellen wordengebruikt om de communicatie beter te begrijpen.

Het OSI model wordt veel gebruikt om de functionaliteit vancommunicatie systemen te beschrijven op basis van een hiërarchischgelaagde benadering.

In de CAN wereld bestaan er verschillende gestandaardiseerde

applicatie protocol lagen. Sommige zijn heel specifiek en verwantmet het applicatie gebied.

Fig. 22 OSI 7 lagen model

 4.11.1 Verschillende hogere protocol lagen

Er zijn veel HLP’s in het gebied van CAN. De meest gebruikte zijn:

4.11.1.1 CanKingdom

CanKingdom laat de volledige kracht van CAN los. Het geeft een systeemontwerper maximumvrijheid om zijn eigen systeem te ontwerpen. De systeemontwerper is niet verbonden aan hetmulti-master protocol van CAN maar kan systemen ontwikkelen gebruikmakend van vrijwelelk type busbeheer en topologie. CanKingdom opent de mogelijkheid voor eenmoduleontwerpen voor het ontwerpen van algemene modules zonder te weten in welk systeemzij definitief zullen geïntegreerd worden en welk type van hogere protocol laag CAN zalgebruiken. Aangezien de systeemontwerper slechts specifieke modules kan toelaten om in zijnsysteem te gebruiken, kan het kostenvoordeel van een open systeem met de veiligheid van eenmerkgebonden systeem worden gecombineerd.Aangezien de identiteit van een CAN bericht niet alleen het bericht maar ook de bustoegang

regeert is een zeer belangrijke factor de opsomming van de berichten. Een andere belangrijkefactor is ervoor te zorgen dat de gegevensstructuur in het data veld hetzelfde is in zowel de

Page 46: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 46/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________46

overbrengende als ontvangende modules. Door enkele eenvoudige ontwerpregels goed tekeuren kunnen deze factoren volledig worden gecontroleerd en de mededeling geoptimaliseerdvoor om het even welk systeem.

4.11.1.2 CANopen

CANopen is een gestandaardiseerd protocol, dat communicatie mogelijk maakt tussentoestellen van verschillende fabrikanten en dat de uitwisselbaarheid van gegevens tussen dezetoestellen garandeert. Het protocol werd ontwikkeld door CiA en werd gestandaardiseerd alsCENELEC en 50325-4.

CAL (CAN Application Layer) werd origineel ontworpen door CiA. CAL is gesplitst inverschillende stukken.

•  CMS (CAN-based Message Specification) definieert protocollen om data tetransporteren tussen CAN modules.

•   NMT (Network Management Service) definieert de protocollen voor systeem opstartingen afsluiting, fout logging, en andere

•  DBT (Distributor Service) definieert een protocol om identiteiten te verdelen aan deverschillende modules in een systeem.

CANopen kent een breed toepassingsgebied, vooral in Europa, waar het de toonaangevendestandaard vormt voor industriële, automatiserings- en embedded systemen.

CANopen is een op CAN gebaseerde hogere protocol laag. Het was ontwikkeld als eengestandaardiseerd embedded netwerk met hoge flexibele configuratie mogelijkheden.

CANopen werd ontworpen voor bewegende machine controle netwerken. Nu wordt hetgebruikt in verschillende toepassingsgebieden zoals medische toestellen, off-road voertuigen,maritieme elektronica, publieke transport, gebouw automatisatie, liften, …

4.11.1.3 DeviceNet

DeviceNet is ontwikkeld door de Allen Brandley divisie van Rockwell. Inmiddels is er eenonafhankelijke stichting voor opgericht, de ODVA (Open DeviceNet Vendor Association).Deze doet het beheer en de marketing voor het netwerk en inmiddels is het netwerk met namein de V.S., maar ook in het verre oosten uitgegroeid tot waarschijnlijk de belangrijkste veldbusin productieomgevingen. De veldbustoepassing zit in het algemeen echter een niveau hoger dan

de bij CANopen omschreven embedded omgeving. We koppelen hiermee machines enapparaten aan elkaar. Voor de gebruiker is het dan ook veel meer een plug & play netwerk,waarbij kennis van het CAN-netwerk bij de gebruiker niet vereist is.

DeviceNet is speciaal ontwikkeld voor industriële automatisatie en vormt daardoor eenrechtstreekse concurrent voor protocollen als Profibus-DP en Interbus. Bij deviceNet is elkedeelnemer op het netwerk verantwoordelijk voor het managen van zijn eigen CAN-identiteiten.Dit betekent, dat bij uitbreiding van een netwerk, de nieuwe toegevoegde controller, zichzelfkenbaar maakt en zoekt naar identiteiten voor communicatie. Evenals bij CANopen is er bijDeviceNat ook weer sprake van toestelprofielen. Hierin staat het object volledig beschrevenmet klassen, instanties en attributen.

Page 47: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 47/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________47

4.11.1.4 J1939

J1939 gebruikt het CAN protocol die elke controller toelaat om berichten te versturen over eennetwerk wanneer de bus niet bezig is. Elk bericht bevat een identiteit welke de bericht prioriteit

 beschrijft, wie hem zend, en welke data het bericht bevat. Botsingen worden vermeden door het

arbitrage proces die voorkomt tijdens het verzenden van de identiteit (CSMA/CA). Dit laat toeom berichten met een hoge prioriteit door te laten met een kleine vertraging.J1939 bestaat uit verschillende delen gebaseerd op het ISO OSI model. Het OSI modeldefinieert zeven communicatie lagen die elk een andere functie hebben. De fysieke laag

 beschrijft de elektrische interface naar de media. De datalink laag beschrijft de protocol regelsvoor het aanmaken van berichten, toegang tot de bus en detecteren van transmissie fouten. Deapplicatie laag bevat de specifieke data uit elk verzonden en ontvangen bericht.

Meer informatie over deze standaard vind je bij hoofdstuk 5.

4.11.1.5 OSEK

De personenwagen is een embedded omgeving waarin men zich niet druk zal maken over eenstandaard protocol voor CAN. Toch is er hier wel sprake van enige standaardisatie onder drukvan de overheden. Een van de belangrijke Europese normen die hierdoor is ontstaan is OSEK.Dit is eigenlijk een normering van de gebruikte besturingssystemen voor de elektronica in deauto. Op datalink niveau is CAN één van de opties om te communiceren. Hoewel je hier nietecht kan spreken over een applicatielaag op CAN, geeft het wel een eerste aanzet tot eventueleverdere standaardisatie in deze sector.

4.11.1.6 SDS

Dit standaard protocol is ontwikkeld door Honeywell. Deze firma voert ook zelf het beheerover dit protocol en daarom is het misschien minder open dan CANopen en DeviceNet. Er zijnoverigens wel een groot aantal andere leveranciers, die het protocol ondersteunen met huncontrollers. De controllers die op een SDS netwerk aangesloten worden zijn meestal sensorenof eenvoudige I/O modules. Er moet dan ook altijd een master in het netwerk zijn. Dit kan eenPC of PLC zijn. Er zijn twee soorten berichten. De statusveranderingen en berichten waarmee

 je andere informatie uit een sensor of I/O-module kan opvragen of invoeren.

Het protocol is duidelijk geoptimaliseerd voor een sensor-/actuatorbus en vindt zijntoepassingen vooral in grotere systemen, waar sensoren als foto-cellen en

 benaderingsschakelaars worden toegepast.

Page 48: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 48/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________48

 5. Theoretische & bedrijfsspecifieke kennis

5.1 Recommended Practice RP1210A

 5.1.1 Introductie

Dit document beschrijft een gestandaardiseerde interface voor PC naar ‘on-vehicle’ datalinkcommunicatie onder Microsoft Windows. (TMC’s RP1210 Windows CommunicationApplication Program Interface).

5.1.1.1 Doelstelling en toepassingsgebied

Deze RP vestigt een standaard tussen de fysische datalink laag (J1708, J1587, J1922, CAN,J1939 of J1850) en de Windows software applicatie voor de PC.Deze RP is verenigbaar met de RP1208 (PC Service Tool Hardware Selection Guidelines).

5.1.1.2 Waargenomen behoeften

  Doorzichtig maken van hardware adapters voor de software ontwikkelaar.Geen enkele interface moet gekoppeld worden aan fabrikant specifieke methodes ofhardware configuraties.

  Hardware verschillen van merkgebonden producten toelaten terwijl de softwareonveranderd blijft tussen de verschillende hardware ontwerpers.

  Ondersteuning van SAE J1708, SAE CAN/J1939, en SAE J1850 netwerk protocollen.

5.1.1.3 Potentiële communicatie software

Een grote variatie aan hardware toestellen kan gebruikt worden om een PC aan te sluiten op dedatalink laag. In theorie kunnen deze interfaces gelijktijdig communiceren.

Enkele voorbeelden:

•  Een PDA aangesloten op de RS232 poort van een PC en de datalink laag.•  Een RS485 naar RS232 omvormer aangesloten op een PC en de datalink laag.•  Een PCMCIA adapter aangesloten op de PC en de datalink laag.•  Een PC interfacekaart aangesloten op de PC en de datalink laag.•  Een hardware toestel aangesloten op de PC en de datalink laag.

Page 49: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 49/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________49

Fig. 23 Architectural overview

 5.1.2 Functionele specificaties

5.1.2.1 Meerdere cliënten

De API ondersteunt een minimum van 16 cliënten en een maximum van 128 cliënten.

5.1.2.2 Verzend en ontvangst buffer

Er is ondersteuning voor zowel synchrone als asynchrone communicatie.

5.1.2.3 Initialisatie en reset

In de applicatie is het mogelijk om de hardware te initialiseren en te resetten via APIgebaseerde functies.

5.1.2.4 Timestamp van berichten

Omdat ontvangen berichten van de CAN bus gebufferd worden moet de tijd van ontvangst inelk bericht geplaatst worden. Dit om dubbelzinnigheid van berichten tegen te gaan, en devolgorde van de ontvangen berichten te behouden. De timestamp bestaat uit vier bytes en is inBig Endian of Motorola formaat genoteerd.

Page 50: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 50/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________50

5.1.2.5 Bericht filtering

De API ondersteunt berichtfiltering. Dit gebeurt gewoonlijk door het laagste interface niveau.Een implementatie van deze API zal enkel de berichten in zijn filter specificaties aanbieden aaneen cliënt. Commando nummers 4, 5 en 7 zijn gereserveerd om deze filters in te stellen.

Commando nummers 3, 17 en 18 zijn gereserveerd voor extra filter mogelijkheden.

 5.1.3 High-level ontwerp

Een high-level ontwerp beschrijving van TMC’s RP1210 communicatie API isgeïmplementeerd als een Windows DLL. Het hoofddoel van deze DLL, die verschillendefabrikant specifieke implementaties bevat is om veralgemeende interfaces tussen hardwarespecifieke besturing en applicaties werkende onder Microsoft Windows te verstrekken.

Elke fabrikantimplementatie moet ingebouwde interfaces hebben met onderliggende fysiekelagen, ondersteund door deze fabrikant. Informatie over de DLL van de fabrikant als ook de

 protocollen en toestellen, ondersteund in elke implementatie, kan gevonden worden in INI bestanden. Zie 5.1.6 INI file format.

Fig. 24 Dataflow diagram voor Windows

Page 51: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 51/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________51

 5.1.4 RP1210 API vereiste functies

Beschrijving van de vereiste functies:

Voor alle vermelde foutcodes kan je kijken in tabel 5.1.

5.1.4.1 RP1210_ClientConnnect

Deze functie wordt opgeroepen door de applicatie die connectie zoekt met een DLL diecorrespondeert met de implementatie van deze API. In de API DLL zal de functie cliënt datastructuren toewijzen en initialiseren. De functie laadt, initialiseert of activeert gelijk welketoestel sturing om te communiceren met de hardware. Als de connectie gelukt is retourneert defunctie een unieke identiteit die correspondeert met de ID van het cliënt programma.

De normale connectie is in Converted Mode. In Converted Mode kunnen meerdere cliëntenconnectie maken.

Protocolnamen gebruikt in cliënt connecties

Protocol String Protocol Description

J1708 SAE J1708 network protocol

J1850 SAE J1850 network protocolJ1939 SAE J1939 network protocolCAN CAN network protocol

Opmerkingen

Voor een applicatie die toekomstige transacties wil uitvoeren met de API DLL moet deapplicatie eerst een succesvolle connectie hebben. In andere woorden moet de applicatie eersteen succesvolle terugkeerwaarde krijgen die lager is dan 128 voordat deze andere commando’saanroept. In een applicatie wordt deze functie eerst opgeroepen voordat de applicatie in een

 bericht verwerkingscyclus terecht komt.

5.1.4.2 RP1210_ClientDisconnect

Deze functie wordt opgeroepen door de applicatie die de connectie wil verbreken met een DLLdie correspondeert met de implementatie van deze API. Intern in de DLL wordt alle cliënt dataverwijderd, alle actieve filters die bij de applicatie behoren worden afgezet.Als de laatst geconnecteerde cliënt deze functie aanroept zal de DLL de apparaatbesturing diecommuniceerde met de hardware deactiveren.

Opmerkingen

Deze functie kan enkel aangeroepen worden nadat er succesvol een connectie werd gelegd metde API DLL. De parameter die als argument wordt meegegeven is de identiteit van hetgeconnecteerde toestel waarvan de connectie moet afgezet worden. Deze functie wordt typisch

aangeroepen wanneer de applicatie afgesloten wordt. Het is aan de programmeur om allegemaakte threads die gebruik maken van de IO af te sluiten.

Page 52: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 52/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________52

5.1.4.3 RP1210_SendMessage

Deze functie wordt opgeroepen door de applicatie om berichten te versturen naar hetgeselecteerde toestel. Het bericht wordt geplaatst in een buffer en wordt uitgevoerd in de ordevan ontvangst (FIFO principe).

Opmerkingen

De constructie van de berichten van verschillende protocollen, ondersteund door deze APImoeten overeenstemmen met de specificaties hieronder beschreven.

 J1939

Fig. 25 J1939 bericht formaat (zenden)

De J1939 standaard bestaat uit 5 velden:•  Parameter Group Number

Bestaat uit 3 bytes in little endian of Intel formaat.

  How To Send/PriorityBestaat uit 1 byte waarvan bit 7 het transport type bepaalt voor het data veld als dezegroter is dan 8 bytes. De laagste 3 bits bepalen de prioriteit van het bericht.

•  Source AddressBestaat uit 1 byte en bevat het adres van het zendende toestel.

•  Destination AddressBestaat uit 1 byte en bevat het adres van het toestel naar waar het bericht verstuurdmoet worden.

•  DataBevat alle data elementen van het bericht en kan tot 1785 bytes bevatten.

Page 53: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 53/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________53

 Aanmaken van pakketten en hermontage

Doordat een CAN data frame een data lengte heeft van 8 bytes worden grote berichten inkleinere pakketten gesneden met een data lengte van 7 bytes. Omdat de individuele pakkettendie uit een groot bericht bestaan individueel geïdentificeerd moeten worden zodat zij opnieuw

correct kunnen samen gebracht worden wordt de eerste byte van het data frame gedefinieerd alsopeenvolgingsgetal van het pakket.

De nummers die toegekend worden aan deze eerste byte liggen tussen 1 en 255 dus kunnen ermaximum 255 pakketten na elkaar verstuurd worden. Dit geeft een totaal van (255 * 7

 bytes/pakket) 1785 bytes, dit noemt men een “Jumbo” CAN frame.

CAN

De eerste byte van een CAN bericht geeft aan of het een standaard of een uitgebreid CAN bericht is. Als deze byte 0 is dan is het een standaard CAN bericht, in alle andere gevallen is

het een uitgebreid CAN bericht. Gebaseerd op de vorige byte zijn de volgende bytes ofwel eentwee-byte standaard CAN identiteit of een vier-byte uitgebreide CAN identiteit. Het laatstefragment bevat de data met een maximum lengte van 8 bytes.

Fig. 26 CAN bericht formaat (zenden)

5.1.4.4 RP1210_ReadMessage

Deze functie wordt opgeroepen door de applicatie om berichten te lezen die zich op de CAN bus bevinden via het geselecteerde toestel. De berichten wordt geplaatst in een buffer enworden uitgevoerd in de orde van ontvangst (FIFO principe).

Opmerkingen

Deze functie kan aangeroepen worden op twee manieren.

- Wanneer de inkomende bericht buffer van leeg naar niet leeg overgaat zal de API DLL eenevent plaatsen voor de aangewezen applicatie. Als resultaat op die gebeurtenis kan deapplicatie in een lus de RP1210_ReadMessage functie aanroepen tot deze een nul retourneert.

- De applicatie kan op discrete intervallen deze functie aanroepen om te kijken of er een berichtontvangen werd.

Page 54: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 54/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________54

In Windows 95 en Windows NT kan gebruik gemaakt worden van dezelfde methodes maar bijdeze laatste kan de nBlockOnRead gezet worden zodat deze intern zelf wacht tot er een berichtontvangen wordt.

 J1939

De J1939 standaard bestaat uit zeven velden.

•  Time StampBestaat uit 4 bytes en geeft aan wanneer het bericht ontvangen werd door de lage niveauinterface. Dit veld wordt aan het hoofd van het pakket geplaatst door de lage niveauinterface. Voor berichten groter dan 8 bytes bevat het tijdsveld de tijd wanneer hetlaatste pakket ontvangen werd.

•  EchoAls het commando Set Echo Transmitted Messages de API geconfigureerd heeft om

verzonden berichten te echoën zal het volgende veld het echo veld zijn. Dit veld bevateen één in het geval dat het bericht verzonden werd door de API, een nul indien het

 bericht niet werd verzonden via de applicatie. Als het commando Set Echo TransmittedMessages niet werd uitgevoerd zal het echo veld niet aanwezig zijn in het bericht.

•  Parameter Group NumberBestaat uit 3 bytes in little endian of Intel formaat.

•  How To Send/PriorityBestaat uit 1 byte waarvan bit 7 het transport type bepaalt voor het data veld als deze

groter is dan 8 bytes. De laagste 3 bits bepalen de prioriteit van het bericht.

•  Source AddressBestaat uit 1 byte en bevat het adres van het zendende toestel.

•  Destination AddressBestaat uit 1 byte en bevat het adres van het toestel naar waar het bericht verstuurdmoet worden.

•  DataBevat alle data elementen van het bericht en kan tot 1785 bytes bevatten.

Fig. 27 J1939 bericht formaat (lezen)

Page 55: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 55/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________55

CAN

De eerste vier bytes bevatten de tijd. Als het commando Set Echo Transmitted Messages deAPI geconfigureerd heeft om verzonden berichten te echoën zal het volgende veld het echoveld zijn. Dit veld bevat een één in het geval dat het bericht verzonden werd door de API, een

nul indien het bericht niet werd verzonden via de applicatie. Als het commando Set EchoTransmitted Messages niet werd uitgevoerd zal het echo veld niet aanwezig zijn in het bericht.De volgende byte geeft aan of het een standaard of een uitgebreid CAN bericht is. Als deze

 byte 0 is dan is het een standaard CAN bericht, in alle andere gevallen is het een uitgebreidCAN bericht. Gebaseerd op de vorige byte zijn de volgende bytes ofwel een twee-bytestandaard CAN identiteit of een vier-byte uitgebreide CAN identiteit. Het laatste fragment

 bevat de data met een maximum lengte van 8 bytes. Als het bericht correct ontvangen werd zalde terugkeerwaarde gelijk zijn aan de grootte van het bericht samengeteld met de vier tijd

 bytes, het bericht type en de CAN identiteit.

Fig. 28 CAN bericht formaat (lezen)

5.1.4.5 RP1210_SendCommand

Deze functie wordt opgeroepen door de applicatie om commando berichten te sturen naar hetgeselecteerde toestel. Het commando wordt typisch onderschept door het toestel en volgens hetcommando getal verwerkt. Deze methode wordt in het bijzonder gebruikt om filters te plaatsenvoor verschillende protocollen op apparaat niveau.

Gereserveerde commando getallen

TMC heeft enkele waarden voor de nCommandNumber gereserveerd om de overwogenvereiste functionaliteit te ondersteunen.

RP1210_SendCommand Command Number

Reset Device 0Set All Filter Statest o Pass 3Set Message Filtering for J1939 4Set Message Filtering for CAN 5Set Message Filtering for J1708 7Generic Driver Command 14Set J1708 Mode 15Set Echo Transmitted Messages 16

Page 56: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 56/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________56

Set All Filter States to Discard 17Set Message Receive 18Protect J1939 Address 19

nComandNumber = 0 (Reset Device)

Dit commando laat de gebruiker toe om het fysische apparaat opnieuw in te stellen. Ditcommando is enkel toegelaten als er maar één cliënt aangesloten is. Als er meerdere cliëntenaangesloten zijn stuurt de functie een ERR_MULTIPLE_CLIENTS_CONNECTED fout terug.

 Na dit commando dient de cliënt opnieuw te connecteren door de functieRP1210_ClientConnect aan te roepen.

nCommandNumber = 3 (Set All Filter States To Pass)

Dit commando zet alle filters uit, de API laat alle berichten toe die voor de applicatie bestemdzijn.

nCommandNumber = 4 (Set Message Filtering for J1939)

De API kan bericht filters zetten of de lage niveau componenten aan zetten. Dezeondersteuning is nodig voor alle J1939 interface implementaties van de RP1210 API.Door meerdere malen deze functie aan te roepen worden de actieve filters uitgebreid.De lage niveau lagen zullen alle binnenkomende berichten verwerpen die niet overeenstemmenmet de lijst gespecificeerd door dit commando.

Fig. 29 Filter parameter frame (command number 4 / J1939)

Byte 1 bepaalt welk veld er gebruikt dient te worden voor de filtering van een bericht.

Name Value Comments

FILTER_PGN 1 Gebruik de PGN waarde voor filteringFILTER_PRIORITY 2 Gebruik de Prioriteit voor filteringFILTER_SOURCE 4 Gebruik het bron adres voor filtering

FILTER_DESTINATION 8 Gebruik het destinatie adres voor filtering

nCommandNumber = 5 (Set Message Filtering for CAN) 

De API kan bericht filters zetten of de lage niveau componenten aan zetten. Dezeondersteuning is nodig voor alle CAN interface implementaties van de RP1210 API.Door meerdere malen deze functie aan te roepen worden de actieve filters uitgebreid.De lage niveau lagen zullen alle binnenkomende berichten verwerpen die niet overeenstemmenmet de lijst gespecificeerd door dit commando.

De filter bestaat uit drie delen. De eerste byte vertegenwoordigt voor welk CAN formaatstandaard of uitgebreid een filter gezet wordt. Nul staat voor het filteren van een standaard

Page 57: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 57/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________57

CAN bericht en een één staat voor het filteren van een uitgebreid CAN bericht. De viervolgende bytes representeren de mask. De mask geeft weer welke bits in de header moetenovereenstemmen. Een één betekent dat de waarde van de bit belangrijk is een nul betekent datde waarde van de bit niet belangrijk is. De laatste 4 bytes representeren de header. De headergeeft weer welke waarde nodig is voor elke belangrijke bit.

Fig. 30 CAN filter frame

5.1.4.6 RP1210_ReadVersion

Deze functie wordt opgeroepen door de applicatie om de versie te lezen van de API DLL.

Opmerkingen

Deze functie is enkel voor informatieve doeleinden.

5.1.4.7 RP1210_GetErrorMsg

Opmerkingen

De terugkeerwaarde is afhankelijk in welke orde de functie opgeroepen wordt. De teruggestuurde string kan niet langer zijn dan 80 bytes.

5.1.4.8 RP1210_GetHardwareStatus

Deze functie wordt opgeroepen door de applicatie om de hardware interface status te bekijkenen of het apparaat fysisch aangesloten is of niet.

 5.1.5 Return code equivalenciesDescription Return Code

ERR_ADDRESS_LOST 153

ERR_CLIENT_ALREADY_CONNECTED 130

ERR_CLIENT_DISCONNECTED 148

ERR_COMMAND_NOT_ALLOWED 143

ERR_CONNECT_NOT_ALLOWED 149

ERR_DEVICE_IN_USE 135

ERR_DLL_NOT_INITIALIZED 128

ERR_HARDWARE_NOT_RESPONDING 142

Page 58: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 58/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________58

 5.1.6 INI file format

5.1.6.1 Bestandsformaat van het RP121032.INI bestand

Elke fabrikant mag zijn eigen implementatie van de RP1210 API maken. Elke PC kan een

aantal DLL’s met namen zoals VENDORX.DLL, VENDORX32.DLL, VENDORY.DLL ofVENDORY32.DLL hebben. Deze DLL’s zijn implementaties van de RP1210 API standaard.

 Natuurlijk weet de applicatie niet welke DLL aanwezig is, daarom zou hij de mogelijkheidmoeten hebben om naar een vaste bron te gaan om te kijken welke DLL’s aanwezig zijn.Het .INI bestand is te vinden in de Windows directory.

De vaste bron is het RP121032.INI bestand met een minimaal formaat zoals hieronder:

[ RP1210Suppor t ]API I mpl ement at i ons=[ str i ng] , [ str i ng] , [ str i ng] , …, [ str i ng]  

De strings bevatten de naam van het DLL-INI koppel geassocieerd met een bepaalde fabrikantimplementatie.

Voorbeeld:

[ RP1210Suppor t ]API I mpl ement at i ons=is121032,  SOFTRP32 

In het voorbeeld kun je zien dat er twee fabrikant implementaties aanwezig zijn, één van ifaksystem en één van softing. Nu weet je dat er een “is121032.INI”, een “is121032.DLL”, een“SOFTRP32.INI” en een “SOFTRP32.DLL” bestaat en mogelijk aanwezig is. Dit moet dan

gecontroleerd worden in de software.

Het installatie programma van een fabrikant zou deze stappen moeten ondernemen:

1.  Controleren of een RP121032.INI bestand aanwezig is in de Windows directory.2.  Als deze niet bestaat moet deze gecreëerd worden.

Als deze toch bestaat kan men met de functie GetPrivateProfileString onderzoeken alsde fabrikant al bestaat in de lijst. Indien deze niet bestaat gewoon de fabrikant stringachter de laatst ingelezen string plakken.

3.  Controleren of de fabrikant INI bestand aanwezig is in de Windows directory.4.  Als deze niet bestaat moet deze aangemaakt worden.

Doordat de RP1210.INI file gebruikt wordt door alle fabrikanten, moet men opletten dit bestand niet corrupt te maken door het gebruik in een applicatie.

5.1.6.2 Bestandsformaat van het door een fabrikant gemaakte INI bestand

Elke fabrikant die een API DLL implementeert van de RP1210 API zal ook een bijkomend INI bestand moeten maken. Het bestand bevat informatie over de hardware toestellen en de door defabrikant gebruikte protocollen en dient telkens aangepast te worden wanneer een nieuw toestelwordt aangesloten op de gebruikte PC. Applicaties zullen dit bestand inlezen voor hetverkrijgen van de connectie parameters. Het bestand mag ook informatie bevatten over hoe

men de fabrikant kan contacteren.

Page 59: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 59/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________59

 Het bestandsformaat:

[VendorInformation] Name=[string] De naam van de fabrikantAddress1=[string] Eerste adres van de fabrikant (optioneel)

Address2=[string] Tweede adres van de fabrikant (optioneel)City=[string] Gemeente/stad waar de fabrikant gelegen isState=[string] Staat waar de fabrikant gelegen isCountry=[string] Land waar de fabrikant gelegen isPostal=[string] Postcode van de fabrikantTelephone=[string] Telefoonnummer voor supportFax=[string] Faxnummer van de fabrikantMessageString=[string] Een unieke bericht string voor de DLLErrorString=[string] Een unieke error string voor de DLLTimeStampWeight=[number] Vertegenwoordigt het gewicht, per bit, in microseconden

van de tijd

Devices=[d1], [d2], … , [dn] De d’s representeren de toestel ID’s voor de support doorde fabrikant, elke d is een nummer tussen 0 en 255. Detoestellen worden gescheiden door komma’s zonderspaties er tussen.

Protocols=[p1], [p2], … , [pn] De p’s representeren de protocollen ondersteunt door defabrikant, elke protocol ID is een nummer tussen 0 en255. De protocollen worden gescheiden door komma’szonder spaties er tussen.

[DeviceInformationd1]DeviceID=[number] Nummer tussen 0 en 255 (number == d1)DeviceDescription=[string,p] De string is een beschrijving voor het toestel, dit is

meestal de naam van het product. P representeert de poort waarop het toestel aangesloten is. Er kunnenverschillende waarde aan toegekend worden zoals:

•  COM1•  COM2•  COMN•  LPT1•  LPT2

•  LPTN•  PCMCIA•  USB

DeviceName=[string] Toestel naam staat meestal vermeld op het toestel zelf.DeviceParameters=[string] Fabrikant specifieke parameters.

[DeviceInformationd2] Idem als voor d1DeviceID=[number]DeviceDescription=[string,p]DeviceName=[string]DeviceParameters=[string]

.

Page 60: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 60/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________60

.

.[DeviceInformationdn] Idem als voor d1DeviceID=[number]DeviceDescription=[string,p]

DeviceName=[string]DeviceParameters=[string]

[ProtocolInformationp1]ProtocolDescription=[string] De string is een beschrijving voor het protocolProtocolString=[string] De protocol string is deze die verwacht wordt bij het

gebruik van de RP1210_ClientConnect functie.ProtocolParameters=[string] Fabrikant specifieke parameters.Devices=[k1, k2, … , kn] De lijst met toestelen die gebruik maken van dit protocol.

[ProtocolInformationp2] Idem als voor p1

ProtocolDescription=[string]ProtocolString=[string]ProtocolParameters=[string]Devices=[k1, k2, … , kn]

.

.

.[ProtocolInformationpn] Idem als voor p1ProtocolDescription=[string]ProtocolString=[string]ProtocolParameters=[string]Devices=[k1, k2, … , kn]

Voorbeeld implementatie van INI bestand ifak system

[Vendorinformation] Name=ifak system GmbH MessageString=ISCANRP1210MESSAGE ErrorString=ISCANRP1210ERRMESSAGE TimestampWeight=1 

Devices=0 Protocols=0,1 

[DeviceInformation0]DeviceID=0 DeviceDescription=isCAN USB Adapter (90010001)

DeviceName=isCAN USB Adapter (90010001) 

[ProtocolInformation0]ProtocolDescription=J1939 Link Layer Protocol ProtocolString=J1939 

Devices=0 

Page 61: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 61/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________61

[ProtocolInformation1]ProtocolDescription=Generic CAN

ProtocolString=CAN

Devices=0 

Voorbeeld implementatie van INI bestand softing

[VendorInformation] Name=Noregon Systems Address1=500 Shepherd Street Address2=Suite 300 City=Winston-Salem State=NC

Country=USA Postal=27103 

Telephone=336-768-4337 Fax=336-760-2540 MessageString=RP1210_READ_NOTIFY_JD ErrorString=RP1210_SEND_NOTIFY_JD TimeStampWeight=1 Devices=1,2,3,4,7 Protocols=1,2 

[ProtocolInformation1]ProtocolString=J1939 ProtocolDescription=J1939 ProtocolParams=Devices=1,2,3,4,7 

[ProtocolInformation2]ProtocolString=CAN ProtocolDescription=CAN ProtocolParams=Devices=1,2,3,4,7 

[DeviceInformation1]

DeviceID=1 DeviceName=Softing GmbH CANcard PCMCIA DeviceDescription=Softing CANcard Transmit on Channel 1 DeviceParams=

[DeviceInformation2]DeviceID=2 DeviceName=Softing GmbH CANcard PCMCIA DeviceDescription=Softing CANcard Transmit on Channel 2 DeviceParams=

[DeviceInformation3]DeviceID=3 

Page 62: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 62/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________62

DeviceName=Softing GmbH AC2-PCI DeviceDescription=Softing AC2-PCI Transmit on Channel 1 DeviceParams=

[DeviceInformation4]

DeviceID=4 DeviceName=Softing GmbH AC2-PCI DeviceDescription=Softing AC2-PCI Transmit on Channel 2 DeviceParams=

[DeviceInformation7]DeviceID=7 DeviceName=Softing GmbH CANusb Adapter CD-L2 DeviceDescription=Softing CANusb Adapter DeviceParams=

 5.1.7 Bekijken van de DLL’s

Met dependency walker van Microsoft Corporation kun je bekijken welke functies er in eenDLL gebruikt kunnen worden. Deze functies kunnen dan gebruikt worden in de applicatie om

 bijvoorbeeld een bericht te lezen of te versturen.

Voorbeeld implementatie van DLL ifak system

Fig. 31 Depends DLL ifak system

Page 63: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 63/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________63

5.2User manual APC

 5.2.1 Transmission controller (TCON)

5.2.1.1 Algemeen

De TCON APC brengt een nieuw niveau van technologie om alle powershift transmissies tedienen, waarbij minimaal een elektronische modulatie zonder enkele pedaal bediening enzonder rem door koppeling technologie.

Het zorgt voor drivetrain protectie en snelheid- of laadsensor automatische verschuiving.

5.2.1.2 Externe interfaces

De APC is aangesloten aan de voertuig bedrading met een 48 polige Packard Metripackconnector. De 48 polige connector bestaat uit een 30 en 18 polige component.

Connector layout

Fig. 32 Connector layout APC (TCON)

5.2.1.3 Mens/Machine interface

Shift lever

De hoofd interface met de bestuurder is de shift lever. Het laat de bestuurder toe de rij richtingen de verschillende versnellingen te bedienen. De shift lever signaal uitgangen dienen als inputvoor de APC. De APC ondersteunt remote support via de CAN bus, dit is gedocumenteerd inde CAN messages APC214.

 Display

De display aan de voorkant van de APC bestaat uit:

•  4 rode 7-segment LED cijfers•  3 status LED’s (‘D’, ‘E’, ‘F’)•  2 drukknoppen ‘M’ en ‘S’ voor display mode selectie.

De LED met het label ‘D’ is geel en wordt gebruikt om ‘Diagnostic modes’ aan te geven.De LED met het label ‘E’ is geel en wordt gebruikt om ‘Errors’ aan te geven.De LED met het label ‘F’ is rood en gaat aan wanneer de APC in de reset conditie komt door

de bootstrap of ‘Fault’ mode.

Page 64: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 64/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________64

 Na het opstarten komt de APC standaard in de laatste display mode geselecteerd wanneer decontroller uitgeschakeld werd. Meestal zal dit de ‘gear position mode’ zijn.

Er zijn 3 verschillende display groepen, de meest algemeen gebruikte laat het toe om tewisselen tussen ‘gear display’, ‘vehicle speed’ en ‘travelled distance’ display.

5.2.1.4 Operation modes

•   Normal driving•  Diagnostic mode•  Limp home mode•  Shutdown mode

5.2.1.5 Operating characteristics

System

Operating temperature range -40°C to +80°CSealing IP67Supply Voltage nominal

min – max.24V18V-30V

Over voltage conditions 5 min @ 48V500ms @ 220V2ms @ 300V

Maximum continuous total load current @ 24V 12 Amperes

On/Off inputs

Low input level < 0.8VHigh input level > 2.3VMinimum DC voltage level -60VMaximum DC voltage level +60V

 Analogue inputs

Internal pull up resistor (8V) 3 kOhmInput voltage range 0 to 5 V

Resolution 10 bitMinimum voltage level -60VMaximum voltage level +60V

Speed sensor inputs

Sensor type Inductive Magneto resistiveElectrical interface Unbalanced Current sensing

 Normal operating current N/A 7 / 14 mAShort circuit detect Yes YesOpen circuit detect Yes YesReverse polarity detect N/A Seen as short circuitFully protected Yes Yes

Page 65: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 65/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________65

On/Off outputs

Maximum continuous load current 1.5 AmperesShort circuit detect YesOpen circuit detect Yes

Fully protected Yes

 Analogue outputs

Output current 0mA – 1200mAResolution 10 bitShort circuit detect YesOpen circuit detect YesFully protected Yes

Communication interfaces

RS232

Bitrate 38400bpsProtocol 8 bit 1 stop bit

no parityHandshake xon/xoff

SOH protocol

CAN

Bitrate Programmable up to 1MbpsPhysical layer ISO 11898CAN compatibility REV2.0BSAE/J1939 Yes (@ 250kbps)Termination External 120 Ohm

Page 66: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 66/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________66

 5.2.2 Functies

•  Direction change protection•  Downshift protection•  Overspeeding control•  Automatic shifting•  Automatic shifting in neutral•  Declutch•  Engine control

 5.2.3 APC200 ECM/ECI CAN EDI protocol description

Zie 5.4 CAN messages APC214

 5.2.4 Fout detectie & afhandeling

5.2.4.1 Algemeen

Het veiligheidsconcept is gebaseerd op de systeem veiligheidsclassificatie volgens de ISO 1508standaard en op de definitie van de ‘fail safe state’ voor powershift transmissie gebruikt in

 bewegend materiaal.

5.2.4.2 APC implementatie

De APC houdt de ingangen en uitgangen onder controle om interne of externe fouten te

detecteren. Door hardware limieten is het niet altijd mogelijk om fouten te detecteren.

5.2.4.3 Considered faults

•  Over voltage•  Under voltage•  Internal faults•  Program out of control•  Single faults on outputs•  Incorrect input patterns•  Intermittent power loss•  Speed sensor faults•  Analogue sensor failure

Page 67: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 67/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________67

5.3 SAE J1939 Recommended Practice

J1939 gebruikt het CAN protocol die elke controller toelaat om berichten te versturen over eennetwerk wanneer de bus niet bezig is. Elk bericht bevat een identiteit welke de bericht prioriteit

 beschrijft, wie hem zend, en welke data het bericht bevat. Botsingen worden vermeden door het

arbitrage proces die voorkomt tijdens het verzenden van de identiteit (CSMA/CA). Dit laat toeom berichten met een hoge prioriteit door te laten met een kleine vertraging.

J1939 bestaat uit verschillende delen gebaseerd op het ISO OSI model. Het OSI modeldefinieert zeven communicatie lagen die elk een andere functie hebben. De fysieke laag

 beschrijft de elektrische interface naar de media. De datalink laag beschrijft de protocol regelsvoor het aanmaken van berichten, toegang tot de bus en detecteren van transmissie fouten. Deapplicatie laag bevat de specifieke data uit elk verzonden en ontvangen bericht.

 5.3.1 Standaarden

De SAE J1939 familie van netwerken volgt de 7 lagen van de OSI netwerk architectuur metverschillende documenten voor elke laag die gebruikt word (niet alle 7 lagen worden gebruikt).

Standaard Beschrijving

J1939 Recommended Practice for a Serial Control and Communications Vehicle Network

J1939/1 Recommended Practice for Control and Communications Network for On-Highway Equipment

J1939/11 Physical Layer, 250K bits/s, Twisted Shielded Pair

J1939/13 Off-Board Diagnostic Connector

J1939/15 Reduced Physical Layer, 250K bits/sec, Un-Shielded Twisted Pair (UTP)

J1939/21 DATA LINK LAYER

J1939/31  Network LayerJ1939/71 Vehicle Application Layer

J1939/73 Application Layer -Diagnostics

J1939/74 Application Layer - Configurable Messaging

J1939/75 Application Layer - Generator Sets and Industrial

J1939/81  NETWORK MANAGEMENT

OSI laag Standaard

Applicatie laag SAE J1939/71

SAE J1939/73SAE J1939/75Presentatie laagSession laagTransport laag SAE J1939/21

 Netwerk laag SAE J1939/31Datalink laag SAE J1939/21Fysieke laag SAE J1939/11

SAE J1939/13SAE J1939/15

Page 68: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 68/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________68

 5.3.2 J1939

De SAE J1939 profiel reeksen is gebaseerd op de CAN datalink laag, gebruikmakend van eenuitgebreid frame formaat (29-bit identiteiten). J1939 is een ‘high speed’ communicatie netwerkdat ontworpen is om real-time gesloten functies van de lijncontrole tussen ECU’s te steunen die

fysisch door het voertuig kan worden verdeeld.

Fig. 33 J1939 29 bit identifier

 5.3.3J1939/1

De netwerken mogen bestaan uit een enkele fysieke laag of meerdere subnetwerkenaangesloten op deze laag. De op de figuur getoonde toestellen zijn informatief, de echtgebruikte toestellen kunnen verschillen van voertuig tot voertuig.

Fig. 34 Een mogelijke implementatie van een vrachtwagen op de weg (J1939/1).

Fig. 35 Enkelvoudig netwerk (J1939/1).

Page 69: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 69/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________69

Fig. 36 Meervoudig netwerk (J1939/1).

Het aantal subnetwerken en de selectie van apparaten die aan elkaar worden gesloten wordtovergelaten aan de voertuigfabrikant. Het gebruik van SAE J1939 voor om het even welkgesleept voertuig zal automatisch gebruik maken van minstens twee subnetwerken, één voor detrekker en één voor het gesleepte voertuig.

De brug tussen subnetwerken kunnen berichten filteren zodat enkel de berichten die van belangzijn toegestaan worden om over de brug te gaan.

 5.3.4 J1939/11

5.3.4.1 Beschrijving fysiek netwerk

•  Fysieke laagDe fysieke laag is een realisatie van een elektrische connectie van een aantal ECU’s opeen netwerk. Het maximum aantal ECU’s staat vast op 30.

•  Fysieke mediaShielded twisted pair, deze twee draden hebben een karakteristieke impedantie van 120Ohm en zijn symmetrisch aangestuurd om de elektrische stroom te respecteren.De benoeming van de individuele draden zijn CAN_H en CAN_L. De overeenkomstige

 pinnen van de ECU’s worden ook CAN_H en CAN_L genoemd. De derde connectievoor de beëindiging van het schild wordt aangeduid met CAN_SHLD.

•  VoltageDe voltages van CAN_H en CAN_L ten opzichte van de massa van elke individueleECU zijn VCAN_H en VCAN_L. Het verschil tussen VCAN_H en VCAN_L wordt gedefinieerddoor: Vdiff  = VCAN_H VCAN_L 

•  Bus niveausDe bus lijnen kunnen één van de twee logische niveaus hebben, recessief of dominant.In het recessieve niveau, worden VCAN_H en VCAN_L bevestigd op een gemiddeldvoltageniveau. Vdiff is ongeveer nul op een geëindigde bus. Dit niveau wordt verstuurd

Page 70: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 70/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________70

tijdens dat de bus niets doet (idle). Het dominante niveau wordt vertegenwoordigd dooreen differentieel spanning groter dan een minimumdrempel.

•  Bus niveau’s tijdens arbitrageEen dominante en recessieve bit dat aan de buslijn tijdens een bepaalde bittijd door

twee verschillende ECU’s wordt opgelegd zal in een dominante bit resulteren.

Fig. 37 Representatie fysieke bit

•  Bus terminatieDe buslijn is op elk einde elektrisch afgesloten met een weerstand beschreven door RL.RL wordt niet geplaatst in een ECU omdat de bus de beëindiging zou verliezen als éénvan deze ECU’s weg zou zijn.

Fig. 38 Functionaliteit fysieke laag

Page 71: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 71/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________71

•  BittijdDe bittijd wordt gedefinieerd als de nodige tijd voor één bit. Bus management functiesuitgevoerd in de bittijd, zoals ECU synchronisatie, compensatie van netwerktransmissie vertraging worden gedefinieerd door de programmeerbare bittijd logica vande CAN protocol IC.

Fig. 39 Samenstelling van een bit

SYNC_SEG dit stuk wordt gebruikt om de verschillende ECU’s op de bus te synchroniseren.Een rand (edge) wordt verwacht in dit bit segment.

PROP_SEG dit stuk wordt gebruikt om de fysische vertragingstijden van het netwerk tecompenseren. Deze vertragingstijden worden veroorzaakt door de propagatietijd van de buslijnen de interne vertragingstijd van de ECU’s.

PHASE_SEG1, PHASE_SEG2 deze buffer segmenten worden gebruikt om fase fouten tecompenseren en kunnen langer of korter gemaakt worden door het opnieuw synchroniseren.

Sample Point is het tijdspunt waar het bus niveau gelezen en geïnterpreteerd wordt als dewaarde van de respectievelijke bit. De locatie is aan het einde van PHASE_SEG1.

5.3.4.2 Topologie

Fig. 40 Topologie van het bedradingsnetwerk (J1939/11)

Page 72: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 72/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________72

 5.3.5J1939/13

Dit deel beschrijft de ‘Off-Board Diagnostic’ connector gebruikt op het voertuig om toegang tekrijgen tot de voertuig communicatie bus.

De connector zal binnen de cabine in een plaats worden opgezet die gemakkelijk toegankelijkis volgens de volgende richtlijnen:

•  Voor op de weg komende vrachtwagens zal de connector geplaatst worden aan de kantvan de bestuurder als dit mogelijk is. Toegankelijk vanaf de grond naast de cabine.

•  Voor bussen zal de connector geplaatst worden in het bereik van de zetel van de bestuurder. Voor bussen met een achtermotor kan de connector gemonteerd worden inhet compartiment van de motor die toegang vanaf de grond mogelijk maakt.

•  Voor bouw en landbouw materiaal is het aangeraden dat de connector geplaatst wordtachter de zetel van de bestuurder of onder het dashboard aan de bestuurder zijn knieen.Deze connector moet gelabeld worden als de kenmerkende connector.

•  De lengte van de kabel voor de kenmerkende connector wordt beschreven in hetdocument J1939/11.

 5.3.6 J1939/15

Deze standaard is net zoals de J1939/11 standaard een beschrijving van een fysiek netwerk. Demeest beschreven onderwerpen zijn identiek aan deze standaard.

5.3.6.1 Beschrijving fysiek netwerk

  Bus terminatieDe buslijn is op elk einde elektrisch afgesloten met een weerstand beschreven door RL.RL wordt niet geplaatst in een ECU omdat de bus de beëindiging zou verliezen als éénvan deze ECU’s weg zou zijn.De J1939/15 definieert Type I en Type II ECU’s. Type I ECU’s bevatten geen busafsluitingsweerstand RL. Type II ECU’s bevatten een bus afsluitingsweerstand en zalgeplaatst worden op één of beide uiteinden van een J1939/15 netwerk.

•  Fysieke media

Fig. 41 Un-Shielded Twisted Pair CAN kabel

De bus bestaat uit een CAN_H en CAN_L geleider. De CAN_H geleider moet geel zijn en deCAN_L geleider groen.

Page 73: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 73/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________73

5.3.6.2 Topologie

Fig. 42 Topologie van het bedradingsnetwerk (Type I ECU’s onl y)

Fig. 43 Topologie van het bedradingsnetwerk (één Type II ECU’s geïnstalleerd)

Fig. 44 Topologie van het bedradingsnetwerk (twee Type II ECU’s geïnstalleerd)

 5.3.7J1939/21

De datalink laag zorgt voor een betrouwbaar transport van data over een fysieke link. Dit bestaat uit het zenden van de CAN Data Frame met de nodige synchronisatie, sequentiecontrole, foutcontrole, en flow control. De flow control wordt bereikt door een samenhangendmessage/frame formaat.

5.3.7.1 Message/Frame format

Het bericht formaat stemt overeen met de CAN vereisten. De CAN specificaties doorheen ditdeel zijn besproken in ‘CAN Specification 2.0 Part B’. Als er verschillen zijn tussen de CANspecificaties en deze standaard, dan moet de standaard gevolgd worden.De CAN specificaties zeggen dat toestel adressen niet gebruikt worden. Dit is juist voor desommige CAN applicaties, maar is niet juist voor de SAE J1939 standaard.De definitie van een SAE J1939 netwerk vereist dat toestel adressen gebruikt worden om tevermijden dat meerdere toestellen dezelfde identiteit gebruiken.

Page 74: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 74/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________74

CAN 2.0B bevat specificaties voor twee bericht formaten, de standaard en uitgebreide frames.CAN 2.0B impliceert dat berichten van beide formaten op één netwerk mogelijk zijn door hetgebruik van bepaalde bit coderingen die het formaat kunnen herkennen. SAE J1939 heeft ookaanpassingen voor beide CAN data formaten. De J1939 standaard definieert enkel de volledigestrategie voor gestandaardiseerde communicatie die het uitgebreide formaat gebruiken. Alle

standaard frames zijn enkel voor merkgebonden gebruik die de regels volgen beschreven indeze standaard. Daarom moeten alle toestellen de uitgebreide frames gebruiken. Standaardframe toestellen reageren niet op netwerk management berichten en hebben niet demogelijkheid om de strategie voor gestandaardiseerde berichten te ondersteunen.

CAN standaard bericht kaders hebben een identiteit van 11 bits in het arbitrage veld. CANuitgebreide bericht kaders hebben een identiteit van 29 bits in het arbitrage veld.

Fig. 45 CAN Standard Data Frame

Fig. 46 CAN Extended Data Frame

SAE J1939 Message Frame Format (“CAN 2.0B” Extended Frame Format)

Het CAN uitgebreide bericht formaat omvat één PDU. Een PDU bestaat uit zevenvoorgedefinieerde velden. Deze zijn achtereenvolgens prioriteit, gereserveerd, data page, PDUformaat, PDU specifiek (destinatie adres of groep uitbreiding), bron adres en data veld. Zijworden dan verpakt in één of meer CAN data kaders en verzonden over de fysieke media naar

andere netwerkapparaten. Doorheen deze standaard is byte 1 MSB (bit 8) en byte 8 LSB (bit 1).SAE J1939 ondersteunt 3 lagen van het OSI model.

Page 75: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 75/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________75

Fig. 47 OSI model ondersteunt door SAE J1939 (J1939/21)

Parameter Group Number (PGN)

Wanneer het nodig is om een PG te plaatsen in een CAN data frame zal deze een lengte hebbenvan 24 bit. De 24 bit waarde wordt ‘least significant byte’ eerst verstuurd. De PGN is een 24 bitwaarde die de volgende componenten bevat: 6 bits nul, gereserveerde bit, data page bit, ‘PDU

 format ’ veld (8 bit) en een ‘Group Extensio’ veld (8 bit). De procedure voor de bit velden is als

volgt:

•  de 6 MSB van de PGN zijn nul•  de gereserveerde bit, de data page bit en de ‘PDU format’ veld worden gekopieerd in de

volgende 18 bits.•  als de PF waarde kleiner is dan 240 (F0

16) dan wordt de ‘least significant byte’ van de

PGN op nul gezet. Anders krijgt deze de waarde van de ‘Group Extension’ veld.

In de bijlage vind je een tabel met de plaatsing van alle bits in een uitgebreid en standaardframe.

5.3.7.2 Protocol Data Unit

De toepassingen en/of de netwerklaag verstrekken informatie dat in een eenheid van protocolgegevens aangegeven is. De eenheid van protocolgegevens verstrekt een frame om deinformatie te organiseren die heel belangrijk is om aan elk CAN data ontwerp toe te voegen dieverzonden wordt. De SAE J1939 PDU bestaat uit zeven velden:

•  Priority (P)•  Reserved (R)•  Data page (DP)•

  PDU format (PF)•  PDU specific (PS)

Page 76: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 76/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________76

•  Source address (SA)•  Data fields (DF)

 Na het invullen van deze velden worden ze verpakt in één of meerdere CAN data frames enverzonden over de fysieke media naar een ander netwerkapparaat. Er is maar één PDU per

CAN data frame. Sommige CAN data frame velden werden niet toegevoegd aan de PDUdefinitie omdat deze volledige beheerd worden door de CAN specificaties. Deze velden zijnook onzichtbaar voor alle OSI lagen die hoger liggen dan de datalink laag. Ze bevatten de SOF,SRR, IDE, RTR, CRC, ACK en EOF velden.

Fig. 48 J1939 PDU formaat (J1939/21)

Fig. 49 PDU specificatie PDU1 & PDU2 (J1939/21)

5.3.7.3 Protocol Data Unit formaten

Fig. 50 J1939 PDU formaten (PDU1 & PDU2 J1939/21)

Page 77: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 77/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________77

PDU1 format

Fig. 51 J1939 PDU1 formaat (J1939/21)

Dit formaat laat het toe parameter groepen te versturen naar een specifieke of globale bestemming. Het PDU specifieke gebied bevat een destinatie adres. PDU1 formaat berichtenkunnen gevraagd of ongevraagd verzonden worden. PDU1 formaat berichten worden bepaalddoor het PF veld. Wanneer de waarde van het PDU formaat tussen de 0 en 239 ligt is het eenPDU1 formaat. (zie fig. 51)

PDU2 format

Dit formaat kan slechts worden gebruikt om de parameter groepen als globale berichtenversturen. PDU2 formaat berichten kunnen gevraagd of ongevraagd verzonden worden. Bij deselectie van een PDU2 formaat bericht wordt tegelijkertijd een PGN toegewezen, dit verhindertdat de PGN ooit aan een specifieke bestemming zou gekoppeld worden. PDU Specifiek (PS)

 bevat een uitbreiding van de groep. PDU2 formaat berichten worden bepaald door een PDUformaat waarde tussen 240 en 255. (zie fig. 52)

Fig. 52 J1939 PDU2 formaat (J1939/21)

Page 78: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 78/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________78

5.4CAN messages APC214

 5.4.1 CVC_TO_TC_1: Remote Control MessageCentral vehicle controller to transmission controller

Message identifier: 1CFF20xx (CAN 2.0B 29 bit identifier)Repetition rate: 20 ms DLC: 8

 Bevat de volgende informatie:

•  Shift lever position (neutral, forward, reverse)•  Auto/manual shift•   Neutral lock•  Parking brake•  Throttle pedal position•  Brake pedal position•  Maximum speed•  Brake pressure

 5.4.2 CVC_TO_TC_2: Setup ConversionsCentral vehicle controller to transmission controller

Message identifier: CFF21xx (CAN 2.0B 29 bit identifier)Repetition rate: once after powerup DLC: 8

 Bevat de volgende informatie:

•  Axle ratio•  Tire size•  Empty vehicle weight•  Maximum engine speed

 5.4.3 CVC_TO_TC_3: General Explanation

CVC_TO_TC_3 zijn berichten die aangevraagd worden voor het lezen en schrijven van data opeen niet cyclische manier. De meeste data die bereikt kan worden via dit bericht zijn setupinformatiegegevens die eigenlijk niet nodig zijn voor de werking van de machine, maar bepalen

hoe de machine zal functioneren.

 5.4.4 CVC_TO_TC_3: Data RequestCentral vehicle controller to transmission controller

Message identifier: 18FF22xx (CAN 2.0B 29 bit identifier)Repetition rate: as required DLC: 8

 Bevat de volgende informatie:

•  Controller serial number•  Controller part number

Page 79: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 79/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________79

•  Input/output state•  Speed sensor rpm•  Traveled distance (reset able)•  Total traveled distance

 5.4.5 CVC_TO_TC_3: Data ProgramCentral vehicle controller to transmission controller

Message identifier: 18FF22xx (CAN 2.0B 29 bit identifier)Repetition rate: as required DLC: 8

 Bevat de volgende informatie:

•  Program type•  Information to program

 5.4.6 CVC_TO_TC_3: Start Calibration

Central vehicle controller to transmission controller

Message identifier: 18FF22xx (CAN 2.0B 29 bit identifier)Repetition rate: as required DLC: 8

 Bevat de volgende informatie:

•  Calibration type•  Calibration process

 5.4.7 CVC_TO_TC_3: Reset Counters / TimersCentral vehicle controller to transmission controller

Message identifier: 18FF22xx (CAN 2.0B 29 bit identifier)Repetition rate: as required DLC: 8

 Bevat de volgende informatie:

•  Reset type•  Reset process

 5.4.8 CVC_TO_TC_3: APC214’s User InterfaceCentral vehicle controller to transmission controller

Message identifier: 18FF22xx (CAN 2.0B 29 bit identifier)Repetition rate: as required DLC: 8

 Bevat de volgende informatie:

•  User interface type•  7 segment digit 1-4•  Buttons and leds

Page 80: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 80/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________80

 5.4.9 CVC_TO_TC_3: Display Mode SelectionCentral vehicle controller to transmission controller

Message identifier: 18FF22xx (CAN 2.0B 29 bit identifier)Repetition rate: as required DLC: 8

 Bevat de volgende informatie:

•   Normal display mode•  Display test mode•  On/off input test mode•  Analogue input test mode•  Speed sensor test mode•  Output test mode•  Voltage test mode

 5.4.10 CVC_TO_TC_3: Request Configuration Set SelectionCentral vehicle controller to transmission controller

Message identifier: 18FF22xx (CAN 2.0B 29 bit identifier)Repetition rate: as required DLC: 8

 Bevat de volgende informatie:

•  Configuration set selection•  Configuration set process

•  Configuration set index

 5.4.11 TC_TO_CVC_1: Broadcasted Transmission Controller Info

Transmission controller to central vehicle controller

Message identifier: 18FF2303 (CAN 2.0B 29 bit identifier)Repetition rate: 20 ms DLC: 8

 Bevat de volgende informatie:

•  Vehicle speed•  Transmission temperature•  Engine speed•  Auto/manual mode•  Warning light state•  Operating mode

 5.4.12 TC_TO_CVC_2: Context Specific Reply – Data RequestTransmission controller to central vehicle controller

Message identifier: 18FF2403 (CAN 2.0B 29 bit identifier)

Repetition rate: on request DLC: 8

Page 81: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 81/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________81

 Bevat de volgende informatie:

•  Type of data (see data request)•  Information

 5.4.13 TC_TO_CVC_2: Context Specific Reply – CalibrationTransmission controller to central vehicle controller

Message identifier: 18FF2403 (CAN 2.0B 29 bit identifier)Repetition rate: 20 ms DLC: 8

 Bevat de volgende informatie:

•  Calibration type•  Information

 5.4.14 TC_TO_CVC_3Transmission controller to central vehicle controller

Message identifier: 18FF26xx (CAN 2.0B 29 bit identifier)Repetition rate: on request DLC: 8

 Bevat de volgende informatie:

•  Automatic/manual mode•  Warning light status•

  Operation mode•  Brake pedal position•  Desired engine speed

5.5 Error codes & description

Fault code Explanation Controllers action

00.50 There is a problem related to the internalRAM

Controller reverts to “shutdown” mode. Force neutral 0

00.51 There is a problem related to the system RAM Controller reverts to “shutdown” mode. Force neutral 0

00.52 There is a problem related to the externalRAM

Controller reverts to “shutdown” mode. Force neutral 0

00.53 There is a problem related to the Flash program memory

Controller reverts to “shutdown” mode. Force neutral 0

21.00 Pressure on sensor 1 too low for command Controller reverts to “shutdown” mode. Force neutral 0

21.01 Pressure on sensor 1 too high for command Controller reverts to “shutdown” mode. Force neutral 0

22.00 Pressure on sensor 2 too low for command Controller reverts to “shutdown” mode. Force neutral 0

22.01 Pressure on sensor 2 too high for command Controller reverts to “shutdown” mode. Force neutral 0

Page 82: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 82/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________82

5.6General coding rules

 5.6.1 GeneralThis document is intended to help developers to create more readable code. Certainly do notexpect you will find an air-tight solution for every case! It is up to every developer to judge

any situation to find the most suitable solution. Try to be consequent!

For more details about design guidelines for developing class libraries, visithttp://msdn2.microsoft.com/en-us/library/ms229042.aspx.

 5.6.2 Capitalization ConventionsMany of the naming conventions pertain to the casing of identifiers. It is important to note thatthe common language runtime (CLR) supports case-sensitive and case-insensitive languages.The capitalization conventions described in this topic make it easy for developers to understandand work with a library

5.6.2.1 Casing styles

Pascal casing

The first letter in the identifier and the first letter of each subsequent concatenated word arecapitalized. You can use Pascal case for identifiers of three or more characters. For example:BackColor

Camel casing

The first letter of an identifier is lowercase and the first letter of each subsequent concatenated

word is capitalized. For example:backColor

Identifier Case Example

Class Pascal AppDomainEnumeration type Pascal ErrorLevelEnumeration values Pascal FatalErrorEvent Pascal ValueChangedException class Pascal WebExceptionRead-only static field Pascal RedValue

Interface Pascal IDisposableMethod Pascal ToString Namespace Pascal System.DrawingParameter Camel typeNameProperty Pascal BackColor

Uppercase

All letters in the identifier are capitalized. For example:IO

Page 83: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 83/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________83

 5.6.3 Data structures

5.6.3.1 Classes

  Every class has its own source file;

  Every class has a fixed prefix, reflecting its type/purpose, e.g.:

“Class” source class“Form” form class, for GUI purposes“I” interface class“Object” user defined GUI object…Exceptions can be made, for example to make it easier to locate the starting point ofthe application (e.g. “MainForm”).

  The name of the class is chosen wisely and describes the object it is meant for. Favorreadability over brevity;

  Do not use underscores, hyphens or any other non alphanumeric characters;

  Avoid using identifiers that conflict with keywords;

  If a class name contains more then one word, each word is written with a capital e.g.“ThisIsAClassName.cs”;

  If you define an object, which is a part of another object, the name of its class shouldrepeat the name of the main object, e.g. “ClassConfiguration”, “ClassConfigurationFile”,ClassConfigurationConstants”, …

 5.6.4 Functions

5.6.4.1 Properties

A property is a special type of get and set accessor, which can be used to make a private datamember available outside its scope.

 5.6.5 Variables

5.6.5.1 Using prefixes

Persistent use of fixed prefixes will create readable code and a prefixed variable canimmediately tell you some important information about its type, accessibility …

Type Preferred prefix bool bool byte bytechar chardecimal decdouble dblfloat flint intuint uintlong l

ulong ulshort short

Page 84: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 84/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________84

ushort uschortstring str

5.6.5.2 Class data members (module variables)

It is strongly recommended to define all class data members as a private member. Never use

 public variables! If you do have to access a certain variable outside its class scope, create a public get or set function or create a property.

Add an “m” to the prefix of each class data member to distinguish a class data member fromany function data member. The keyword “this” can also be used here!

5.6.5.3 Function data members (local variables)

Always try to define all your local variables on top of the function.

 5.6.6 Programming structures

5.6.6.1 Using an if-else-then comparison  An if-then or if-then-else comparison always uses curly brackets for every block of

statements, even if there is only one statement.  The if statement, which defines your comparison, always compares one value to another.

 Never use “if (variable)”, but use “if (variable == true)”

5.6.6.2 Using a loop

Avoid using a “break” statement to exit your loop (for, while). The stop condition of everyloop structure must be complete. Rather create an extra local variable to add to your stopcondition the putting a “break” statement somewhere in your loop!

5.6.6.3 Casting  You can cast an (undefined) object to an object of another type by putting the new data

type between parentheses, in front of the object you want to cast.  Do not put a space between the casting type and the object to cast.

5.6.6.4 Incrementing values

 Never increment a variable when you are using the variables as indexer or in a comparison.Code as “baData[i++] = 8” or “if (a++>0)” is never used!

Page 85: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 85/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________85

6. Werking APC200 controller

6.1 Elektronische shift controllers

6.1.1 APC – Automatic Powershift Control

Spicer’s automatische powershift controllers verbeteren de voertuigprestaties, zodat de bestuurder vrij is om zich te concentreren op de machine taken i.p.v. de machine functies.

De APC werkt met elke dashboard gemonteerde shiftlever

Fig. 53 Transmissie model en mogelijke controller (DANA)

Fig. 54 Controller systeem mogelijkheden (DANA)

Page 86: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 86/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________86

6.1.2 Voordelen van elektronische sturing

•  Verhoogt voertuig prestaties, productiviteit en efficiëntie•  Verhoogt de levensduur van aandrijf componenten•  Verlaagt slechte operaties van het voertuig•  Verlaagt stuurfouten•  Verlaagt training voor bestuurders•  Geïntegreerde display•  Integratie van bestaande voertuignetwerken (CAN)•  Ingebouwde probleemoplossingstool.

6.2 APC200 layout

6.2.1 APC200 hardware blokschema

Fig. 55 APC200 hardware blokschema

Page 87: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 87/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________87

6.2.2 APC200 hardware connectie schema

Fig. 56 APC200 hardware connectie schema

6.2.3 APC200 controller

Fig. 57 APC200 controller

Page 88: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 88/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________88

6.2.4 APC200 lokaliseren in een voertuig

Fig. 58 APC200 lokaliseren in een voertuig

Page 89: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 89/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________89

7.Testbord & opstelling

7.1 Werking testbord

Fig. 59 Testbord APC voorzijde (TCT19)

Freq0-3 Speed regulators (Voertuigsnelheid, motorsnelheid, ..).Ain0-3 Temperatuur, gaspedaal, rempedaal, …Do0-3 WaarschuwingslampjeAo0-6 Variable flow solenoid (VFS)

Drukregelaar

Regelbare contactorenGasklep regelaarDi0-9 handrem aan/uit, schakelpatroon, sensor in zetel

Page 90: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 90/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________90

Fig. 60 Testbord APC zijkant (TCT19)

Parallelle poort (lpt1) Automatiseren van manuele inputs op het testbord.Kan dan bijvoorbeeld via een programma geschreven worden.

2 CAN connectoren CAN connector om een CAN interface op aan te sluiten.

RS232 connector Mogelijkheid om de APC instellingen te configureren (aanpassenvan applicatie parameters) dit gebeurd dan met een software

 programma (GDE). Deze interface wordt ook gebruikt voorfirmware upgrades.

Voedingsaansluiting 12V of 24V al naar gelang de controller die aan het testbord

hangt.

Page 91: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 91/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________91

7.2 Verschillende USB dongles (ifak en softing)

Er zijn tal van bedrijven die verschillende soorten hardware interfaces maken voor de CAN bus. Hardware interfaces van USB, PCMCIA, PCI of UTP naar CAN zijn de meest gebruikte.De software die ontwikkeld werd dient gebruik te maken van een USB naar CAN interface

module. Van dit model zijn er twee types in het bedrijf, een Ifak System en een Softing USBdongle. Het is de bedoeling dat het programma werkt voor alle USB interfaces en niet alleenvoor Ifak System of voor Softing. Dit is natuurlijk geen gemakkelijke klus om compatibel tezijn met verschillende bedrijven. De RP1210 standaard legt nochtans een standaard op die elkefabrikant moet opvolgen, maar er zijn natuurlijk altijd bedrijven die een uitzondering maken.

7.2.1 Informatie ifak system

De mobiele opstelling evenals het monitoren wordt ondersteund. Computers en laptops kunnenzonder geïnstalleerde CAN adapter in werking gesteld worden waar men zich ook bevindt.Door de USB plug & play module kan een connectie met een CAN netwerk gelegd worden in

enkele seconden. Het apparaat krijgt rechtstreeks voeding van de USB er is geen externevoeding nodig.

Fig. 61 Ifak System USB naar CAN interface

Hardware

CAN USBAsic SJA 1000 Snelheid Fullspeed: 12Mbps

Highspeed: 480Mbps

Connector 1 Sub-D 9 pin Werking Tot 16 interfaces parallelSnelheid 10kbps tot 1Mbps

Software

Interfaces DLL OS Window 9x, ME,2000, XP, CE 3.0

Page 92: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 92/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________92

7.2.2 Informatie softing

Actieve één kanaal CAN bus USB interface om een PC op een CAN netwerk aan te sluiten. Deinterface is geschikt voor zowel visualisatietaken, parameterbepaling en analysetoepassingen.

Functies:

•  Actieve interface met ingebouwde microcontroller•  CAN-API•  Lokale buffer en preprocessor•  Hoge prestaties, neemt tijdskritieke taken over van de PC.•  Snelheid tot 1Mbps•  Statische object opslag mode

Fig. 62 Softing USB naar CAN interface

7.2.3 Waargenomen verschillen tussen de twee fabrikanten tijdens het meten

 Nochtans legt de RP1210 standaard regels op over hoe de functies noemen, hoe ze gebruiktkunnen worden en hoe het bericht formaat er dient uit te zien. Er is toch een verschil in het bericht formaat tussen Ifak System en Softing.

Er is een duidelijk verschil in de timestamp van Ifak System en Softing.

Een eerste verschil is de nauwkeurigheid van de timestamp.Ifak System gebruikt intern de tickCount functie van Windows. Deze heeft een nauwkeurigheidtot op één milliseconde. Softing gebruikt een interne timer functie voor de timestamp en dezeheeft een nauwkeurigheid tot op één microseconde. Dit levert een probleem op als je desoftware compatibel wil maken met zowel Ifak System en Softing. Bij Ifak System zou je de

tijd moeten delen door duizend om aan de seconden te komen en bij Softing door een miljoen.Op zich levert dit geen problemen op maar deze zijn er wel als je kijkt naar de berichten die

 binnen komen. Doordat de CAN bus een maximum snelheid heeft van 1Mbps kunnen er zichtot 6700 uitgebreide berichten per seconde op de bus bevinden. Dit betekent dat er ongeveer 6

 berichten per milliseconde op de bus kunnen komen. Het probleem bij Ifak System is dus dat er bij 100% busload 6 tot 7 berichten dezelfde timestamp zullen hebben. Dit is dus een groot probleem als je deze tool wil gebruiken om real-time informatie van de bus te plukken.

Een tweede verschil is de manier van het coderen.De RP1210 standaard legt vast dat de timestamp in Big Endian of Motorola formaat moetgecodeerd zijn. Dit wil dus zeggen dat de MSB bit helemaal vooraan staat. De timestamp is 4

 bytes groot dus dit wil zeggen dat de eerste byte eigenlijk laatst moet staan als je er een getalwil van maken.

Page 93: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 93/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________93

Softing gebruikt Big Endian zoals de standaard voorlegt en Ifak System gebruikt Little Endianof Intel formaat. Dit wil dus zeggen dat voor Ifak System een andere methode moet gebruiktworden om de timestamp om te zetten naar een tijd. Dit levert natuurlijk weer een probleem opals je een software applicatie wil ontwerpen die overweg kan met Softing en met Ifak System.

Een voorbeeld van hoe het Motorola en Intel formaat werkt.Getal 2489 binair uitgeschreven in 4 byte:00000000 00000000 00001001 10111001

Byte Big Endian Litlle Endian

00 00000000 1011100101 00000000 0000100110 00001001 0000000011 10111001 00000000

En als laatste is er nog een onverklaarbaar probleem bij de Ifak System interface.Bij het inlezen van de berichten die zich op de CAN bus bevinden komen soms 10verschillende berichten binnen met dezelfde tijd. Dit kan niet als er maar om de 10milliseconden en 20 milliseconden een bericht op de bus komt.

7.3 Verschil met de Vector CANcaseXL

Fig. 63 Vector CAN interfaces

De Vector CAN interfaces kunnen niet aangesproken worden via een RP1210 DLL. Vector

 biedt hun eigen software aan die speciaal ontworpen is voor hun hardware. Zonder hardwarekan het programma niet gebruikt worden en visa versa.

Page 94: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 94/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________94

7.4 Aansluiten APC200 controller

Fig. 64 APC200 voorzijde (DANA)

Fig. 65 APC200 achterzijde (DANA)

Page 95: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 95/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________95

7.5 Blokschema meetopstelling

7.6 Verschillende soorten signalen

•  Snelheidssensoren•  Druksensoren•  Temperatuursensoren

Fig. 66 Snelheidssensor (DANA)

Page 96: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 96/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________96

8. Vector CANalyzer software nader bekeken

8.1 Werking CANalyzer ?

CANalyzer is een universeel ontwerp middel voor CAN bus systemen, het is software die

gebruikt wordt om berichten aanwezig op de bus op het scherm te zetten. Doormiddel vankrachtige functies en programmeerbaarheid van de gebruiker zijn alle behoeften behandeld.Dit gaat van test signalen tot het problemen oplossen van complexe systemen.

De basis functie van CANanalyzer is het representeren en analyseren van data aanwezig op de bus. Deze basis functies bevatten:

•  Weergeven van data aanwezig op de bus in een trace-window.•  Weergeven van segmenten van bepaalde berichten•  Statistieken op de frequentie van berichten•

  Opslaan van alle informatie voor offline evaluatie•  Het plaatsen van gemaakte blokken zoals filters in het data flow-diagram.

De gebruiker kan extra functionaliteit toevoegen door gebruik te maken van CANalyzer programmeerbaarheid. Functieblokken door de gebruiker geprogrammeerd kunnen geplaatstworden op willekeurige punten in de CANalyzer data flow-diagram. De op C gebaseerde taalCAPL doet dienst als programmeertaal. De CAPL browser is inbegrepen in CANalyzer voorgemakkelijke verwezenlijking, wijziging en compilatie van CAPL programma’s.

Door de programmeerbaarheid biedt het vele mogelijke toepassingen:

•  Emulatie van een busstation•  Emulatie van de systeem omgeving voor het testen van het busstation.•  Onderlinge verbinding tussen twee bussen•  Test generator voor het bestuderen van de fysieke laag.

CANalyzer vereist wel dat men de hardware van Vector gebruikt, dit is tevens de fabrikant vanhet software pakket.

8.1.1 CANalyzer vensters

CANanalyzer bevat zeven verschillende standaard vensters om informatie over de data weer tegeven.

8.1.1.1 Measurement Setup

De data flowchart wordt grafisch voorgesteld in de measurement setup window.

Page 97: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 97/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________97

Fig. 67 CANalyzer measurement setup

8.1.1.2 Graphics Window

De data segmenten van de berichten worden weergegeven in functie van de tijd in een X-Ydiagram.

8.1.1.3 Trace Window

Dient om alle busactiviteiten te tonen tijdens het meten.

Page 98: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 98/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________98

Fig. 68 CANalyzer trace window configuration (Standard)

Fig. 69 CANalyzer trace window configuration (Extended)

Page 99: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 99/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________99

8.1.1.4 Write Window

Informatie over de vooruitgang van de meting wordt hier getoond. Schrijf instructies vanCAPL programma’s verschijnen in dit venster.

8.1.1.5 Bus Statistics Window

Dient als een numerieke display van frequenties van data, fouten, overbelasting en bus verkeer.

Fig. 8.4 CANalyzer bus statistics

8.1.1.6 Statistics Window

De gemiddelde berichtfrequentie of gemiddelde berichtperiode van transmissies wordt grafisch

voorgesteld.

8.1.1.7 Data Window

Het data venster wordt gebruikt om signaal waarden te tonen als een fysieke waarde, als eenruwe waarde of standaard met een staaf (progress bar).

8.1.2 Venster types

8.1.2.1 MDI window

Dit type venster is verwerkt in het programma venster en kan geminimaliseerd worden.

8.1.2.2 Docking window

Dit type vensters staan altijd op de voorgrond. En het programma is terug actief nadat hetvenster gesloten wordt.

8.1.2.3 Floating window

Deze vensters verschijnen niet op de taakbalk, ze kunnen niet overlapt worden door andere

 programma’s. Als het programma venster wordt geminimaliseerd worden deze ookgeminimaliseerd. Ze kunnen niet bereikt worden door de toetsen combinatie <alt>-<tab>.

Page 100: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 100/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________100

8.1.2.4 Standard window

Actieve programma’s kunnen deze vensters overlappen, ze zijn zichtbaar in de taakbalk en viade toetsen combinatie <alt>-<tab>. Dit venster blijft open staan wanneer het programma wordtgeminimaliseerd.

8.1.3 CAPL browser

Fig. 70 CANalyzer CAPL browser

8.2 Werking CANdb++ ?

CANdb++ is een alleenstaand programma die bij de CANalyzer tool geleverd wordt, dit programma kan gebruikt worden om databases aan te maken, om deze later dan toe te voegenaan het CANanalyzer software programma. Als een database toegevoegd werd en er komt een

 bericht binnen op de bus die gekend is in de database wordt er een naam gegeven aan het bericht en worden er verschillende signalen aan toegekend. Al naar gelang hoeveel bytes dezein beslag neemt, krijg je een representatie van het ontvangen bericht.

Page 101: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 101/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________101

Fig. 71 CANdb++ overall view

In bovenstaande figuur staat een overzicht van alle signalen die aanwezig zijn in de database.Door dubbel te klikken op een signaal kan deze bewerkt worden.

Fig. 72 CANdb++ value tables

Aan elk signaal kan een waardetabel gekoppeld worden. Alle waardetabellen die gemaakt zijnworden weergegeven in een venster zoals hierboven. Hier kun je ook door dubbel te klikken de

waardetabellen aanpassen.

Page 102: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 102/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________102

De volgende screenshots tonen enkele functies van het programma aan, deze hebben verdergeen uitleg nodig de figuurnaam zegt al meer dan genoeg.

Fig. 73 CANdb++ change value tables

Fig. 74 CANdb++ message layout

Page 103: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 103/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________103

Fig. 75 CANdb++ display settings

Fig. 76 CANdb++ message definition

Page 104: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 104/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________104

Fig. 77 CANdb++ signal definition

8.3 Werking log formaat CANalyzer ?

Vector heeft een eigen log formaat ingebouwd in hun CANalyzer software, deze is gemakkelijkte ontleden en zelf samen te stellen. Het is de bedoeling dat de ontworpen software dit log

formaat behoud zodat er ook nog altijd met CANalyzer kan gewerkt worden. CANalyzer biedtnamelijk nog een aantal opties die niet onmiddellijk zullen worden geïmplementeerd inCANlogger. De extensie van het bestand waarin de berichten opgeslagen worden is ‘.asc’ ookdit wordt gebruikt in CANlogger om een log file aan te maken.

8.3.1 Log formaat voorbeeld

date di apr 24 12:2:36 am 2007 base hex  timestamp absolute internal events loggedBegin Triggerblock date di apr 24 12:2:36 am 2007

0.000000 Start of measurement. . . . . . .

0.203000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.203000 1  C000003x Rx d 8 39 A8 16 00 00 00 00 000.203000 1 CFF2303x  Rx d 8 00 30 00 00 40 FF 3E 540.218000 1 C000003x Rx  d 8 39 A8 16 00 00 00 00 000.312000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.312000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 54 0.312000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.390000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.390000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 54

0.390000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.390000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 00

Page 105: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 105/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________105

0.390000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 540.406000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.422000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.437000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 540.437000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 00

0.453000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.453000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 540.468000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.468000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.484000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 540.484000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.500000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 000.500000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 54

. . . . . . .24.765000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 5424.781000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 00

24.797000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 0024.797000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 5424.812000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 0024.812000 1 CFF2303x Rx d 8 00 30 00 00 40 FF 3E 5424.828000 1 C000003x Rx d 8 39 A8 16 00 00 00 00 00

End Triggerblock

8.3.2Log formaat ontleden

Het eerste blok geeft wat informatie over het formaat, de start van de meting en de datum enhet uur van de meeting. De opmerkelijkste zijn in het vet gedrukt (hex, absolute en begin).

 Na deze header krijg je de echte start van de meeting bij 0.000000.

In de meeting kun je 6 verschillende kolommen onderscheiden, er is telkens één aangeduid opde 6 eerste regels. Van links naar rechts vind je er de volgende informatie:

•  Timestamp•  CAN channel•  Identiteit (4bytes)

•  Type (Rx of Tx)•  DLC meestal 8•  Data (8bytes)

Zowel de data als de identiteit zijn weergegeven in hex. Als er gebruik zou gemaakt wordenvan het decimale stelsel zouden de kolommen niet mooi onder elkaar staan en wordt het geheelveel onduidelijker.

Op het einde van de meeting dient nog een End te komen zodat het zeker is dat de meetinggestopt is.

Page 106: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 106/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________106

8.4 Werking database formaat CANalyzer ?

 Net zoals bij het log formaat heeft CANalyzer ook zijn eigen database formaat, dat wat meerkennis vergt over de werking van CAN. De extensie van de file waarin de database wordtopgeslagen is ‘.dbc’ om compatibiliteitsredenen wordt dit bestandsformaat ook gebruikt.

Zo is het heel erg handig om bestaande database ontwerpen zonder enige aanpassing teimplementeren in de ontwikkelde software, en visa versa.

8.4.1 Database formaat voorbeeld

VERSION ""

NS_ : NS_DESC_CM_BA_DEF_

BA_VAL_CAT_DEF_CAT_FILTERBA_DEF_DEF_EV_DATA_ENVVAR_DATA_SGTYPE_SGTYPE_VAL_BA_DEF_SGTYPE_BA_SGTYPE_SIG_TYPE_REF_VAL_TABLE_SIG_GROUP_SIG_VALTYPE_SIGTYPE_VALTYPE_BO_TX_BU_BA_DEF_REL_BA_REL_BA_DEF_DEF_REL_

BU_SG_REL_BU_EV_REL_BU_BO_REL_

BS_:

BU_:VAL_TABLE_ TC_TO_CVC_1_OldFaultState 1 "There has been a fault" 0 "No inactive fault is

 present" ;VAL_TABLE_ TC_TO_CVC_1_FaultState 1 "There is a fault active" 0 "No fault is currently present";

VAL_TABLE_ TC_TO_CVC_1_ShiftInProgress 1 "A shift is currently in progress" 0 "Steady state";

Page 107: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 107/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________107

VAL_TABLE_ TC_TO_CVC_1_WarningLightState 1 "Warning" 0 "Normal Driving" ;VAL_TABLE_ TC_TO_CVC_1_AutoMode 1 "Automatic Mode" 0 "Manual Mode" ;VAL_TABLE_ TC_TO_CVC_1_TransmissionPosition 66 "R4" 65 "F4" 64 "N4" 50 "R3" 49 "F3" 48"N3" 34 "R2" 33 "F2" 32 "N2" 18 "R1" 17 "F1" 16 "N1" ;VAL_TABLE_ TC_TO_CVC_1_ShiftLeverPosition 66 "R4" 65 "F4" 64 "N4" 50 "R3" 49 "F3" 34

"R2" 33 "F2" 18 "R1" 17 "F1" 16 "N1" 32 "N2" 48 "N3" ;

BO_ 2365530873 CVC_TO_TC_3: 8 Vector__XXXSG_ CVC_TO_TC_3_DataRequest : 0|8@1- (1,0) [0|0] "CVC_TO_TC_3" Vector__XXX

BO_ 2365531651 TC_TO_CVC_3: 8 Vector__XXXSG_ TC_TO_CVC_3_FunctionLimiting : 56|8@1- (1,56) [0|0] "TC_TO_CVC_3" Vector__XXXSG_ TC_TO_CVC_3_DesEngineSpeed : 40|16@1- (1,40) [0|0] "TC_TO_CVC_3" Vector__XXXSG_ TC_TO_CVC_3_DesEngineSpeedLimit : 24|16@1- (1,24) [0|0] "TC_TO_CVC_3"Vector__XXXSG_ TC_TO_CVC_3_BrakePedalPosition : 16|8@1- (1,16) [0|0] "TC_TO_CVC_3" Vector__XXX

SG_ TC_TO_CVC_3_ShiftInProgress : 8|8@1- (1,8) [0|0] "TC_TO_CVC_3" Vector__XXXSG_ TC_TO_CVC_3_OperationMode : 4|4@1- (1,4) [0|0] "TC_TO_CVC_3" Vector__XXXSG_ TC_TO_CVC_3_WarningLightStatus : 2|2@1- (1,2) [0|0] "TC_TO_CVC_3" Vector__XXXSG_ TC_TO_CVC_3_AutoMode : 0|2@1- (1,0) [0|0] "TC_TO_CVC_3" Vector__XXX

BO_ 2365531139 TC_TO_CVC_2: 8 Vector__XXXSG_ TC_TO_CVC_2_Information : 8|56@1- (1,8) [0|0] "TC_TO_CVC_2" Vector__XXXSG_ TC_TO_CVC_2_TypeOfData : 0|8@1- (1,0) [0|0] "TC_TO_CVC_2" Vector__XXX 

BO_ 2365530883 TC_TO_CVC_1: 8 Vector__XXX SG_ TC_TO_CVC_1_OldFaultState : 63|1@1- (1,63) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_FaultState : 62|1@1- (1,62) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_ShiftInProgress : 61|1@1- (1,61) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_OperatingMode : 58|3@1- (1,58) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_WarningLightState : 57|1@1- (1,57) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_AutoMode : 56|1@1- (1,56) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_EngineSpeed : 40|16@1- (1,40) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_TransmissionTemp : 32|8@1- (1,32) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_VehicleSpeed : 16|16@1- (1,16) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_ShiftLeverPosition : 8|8@1- (1,8) [0|0] "TC_TO_CVC_1" Vector__XXXSG_ TC_TO_CVC_1_TransmissionPosition : 0|8@1- (1,0) [0|0] "TC_TO_CVC_1" Vector__XXX

CM_ BO_ 3221225472 "This is a message for not used signals, created by Vector CANdb++ DBCOLE DB Provider.";CM_ BO_ 2365531139 "Context specific reply - Data requestContext specific reply - Calibration";CM_ BO_ 2365530883 "Broadcasted transmission controller info";VAL_ 2365531651 TC_TO_CVC_3_OperationMode 7 "Limp home interlock" 6 "Calibration mode" 5"Transmission shutdown" 4 "Limp home mode" 3 "Reserved" 2 "Automatic/std inching" 1"Automatic/manual" 0 "Manual only" ;VAL_ 2365531651 TC_TO_CVC_3_WarningLightStatus 3 "Not available" 2 "Error" 1 "Driverrequest not granted" 0 "Normal driving" ;

VAL_ 2365531651 TC_TO_CVC_3_AutoMode 3 "Not available" 2 "Error" 1 "Automatic mode" 0"Manual mode" ;

Page 108: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 108/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________108

VAL_ 2365530883 TC_TO_CVC_1_OldFaultState 1 "There has been a fault" 0 "No inactive fault is present" ;VAL_ 2365530883 TC_TO_CVC_1_FaultState 1 "There is a fault active" 0 "No fault is currently

 present" ;VAL_ 2365530883 TC_TO_CVC_1_ShiftInProgress 1 "A shift is currently in progress" 0 "Steady

state" ;VAL_ 2365530883 TC_TO_CVC_1_OperatingMode 7 "Limphome interlock mode" 6 "Calibrationmode" 5 "Transmission shutdown" 4 "Limphome mode" 3 "reserved" 2 "Automatic & std inchingmode" 1 "Automatic/manual mode" 0 "Manual mode only" ;VAL_ 2365530883 TC_TO_CVC_1_WarningLightState 1 "Warning" 0 "Normal Driving" ;VAL_ 2365530883 TC_TO_CVC_1_AutoMode 1 "Automatic Mode" 0 "Manual Mode" ;VAL_ 2365530883 TC_TO_CVC_1_ShiftLeverPosition 66 "R4" 65 "F4" 64 "N4" 50 "R3" 49 "F3" 34"R2" 33 "F2" 18 "R1" 17 "F1" 16 "N1" 32 "N2" 48 "N3" ;VAL_ 2365530883 TC_TO_CVC_1_TransmissionPosition 66 "R4" 65 "F4" 64 "N4" 50 "R3" 49 "F3"48 "N3" 34 "R2" 33 "F2" 32 "N2" 18 "R1" 17 "F1" 16 "N1" ;

8.4.2 Database formaat ontleden

Het database formaat gebruikt enkele vast gekende parameters zoals:

Parameter Beschrijving

BU_: Toont het begin van de database aan(berichten, signalen en waardetabellen)

BO_ Bericht informatieSG_ Signaal informatie

VAL_TABLE_ Waardetabellen die niet gekoppeld zijn aaneen signaalVAL_ Waardetabellen die gekoppeld zijn aan een

signaalCM_BO_ Commentaar bij een bericht

 NS_: Beschrijft een aantal parameters

8.4.2.1 Berichten ontleden

Fig. 78 Ontleden van database berichten

Page 109: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 109/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________109

8.4.2.2 Signalen ontleden

Fig. 79 Ontleden van database signalen

8.4.2.3 Waardetabellen ontleden

Fig. 80 Ontleden van database waardetabellen

Page 110: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 110/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________110

 9.Visual Studio, Visual SourceSafe en Office Visio

9.1 Werking Visual Studio ?

 9.1.1 Hoe maak je een macro aan ?

Via de Macro Explorer kun je alle toegevoegde macro’s terug vinden.De macro’s zijn geschreven in VB, en kunnen gemakkelijk geopend worden door dubbel op demodule te klikken. Dubbel klikken op de subroutine zal ervoor zorgen dat het geen die in demacro wordt afgedrukt aan het document wordt toegevoegd.

Subroutine InsertTryCatchBlockForDebugClass()

Imports EnvDTEImports System.Diagnostics

Public Module Module1Sub InsertTryCatchBlockForDebugClass()

Dim objectTextSelection As TextSelectionobjectTextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)objectTextSelection.Text = “try” + vbCrLf + “{“ + vbCrLf + “}” + vbCrLf +“catch(Exeption ex)” + vbCrLf + “{“ + vbCrLf + “ ClassMyDebug.MyDebug(ex);” + vbCrLf+ “ throw(ex);” +vbCrLf + “}”

End Sub

End Module

Dit geeft het volgende resultaat:

try{}catch(Exception ex){

ClassMyDebug.MyDebug(ex);trow(ex);

}

Page 111: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 111/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________111

 9.1.2 Zoeken naar variabelen, functies, objecten en andere stukken code

Fig. 81 Visual Studio find in files

 Na een aantal maanden programmeren kan je programma zo gigantisch groot worden dat je nietmeer weet in welke klassen je een variabele, functie, object of andere toegekend of gebruikthebt. Hierdoor wordt het zeer moeilijk om fouten op te sporen. Visual Studio heeft hiervoor eenhandig hulpmiddel “de zoekfunctie”. Deze zoekt in elke klasse van heel het project of solutionwaar een bepaalde zoekterm gebruikt wordt.

Fig. 82 Visual Studio find results in entire project

Het vervangen van een bepaalde naam is handig als het blijkt dat de naam die je gekozen hadvoor een variabele, functie of object niet goed was voor het geen het doet.

Page 112: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 112/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________112

Fig. 83 Visual Studio replace in files

 9.1.3 Gemakkelijkheid van debuggen

Het gebeurt heel vaak dat je ergens een functie schrijft, die niet doet wat je verwachtte. Door deingebouwde debugger functie is het zeer gemakkelijk doorheen lussen, functies en klassen tenavigeren, de waarde van variabelen te bekijken en zo het probleem op te lossen. Zonder dezedebugger zou je uren moeten zoeken op de kleinste programmeerfouten. Als je ergens eenverkeerd argument doorgeeft aan een functie kan deze een fout generen op een plaats waar jeniets fouts opmerkt. Door de opgebouwde programmeerervaring verleer je deze fouten wel.

 9.1.4 Werken met solution explorer, class view, properties

Alle gemaakte klassen in een solution worden weergegeven in de solution explorer. Hierdoorwordt het gemakkelijk om snel naar een andere klasse over te gaan door dubbel te klikken opzijn naam. In de class view kun je alle functies, variabelen en accessors bekijken diegedefinieerd zijn in een klasse. Als je in de grafische omgeving programmeert kan je gebruikmaken van het properties venster. Dit venster maakt het mogelijk om de instellingen van

 bijvoorbeeld knoppen, tekstvakken, tabellen, labels en andere gemakkelijk aan te passen.Al de instellingen die niet standaard zijn worden dan in de ‘Windows Form Designer generated

code’ regio geplaatst hier dient de programmeur niets in te veranderen.

Page 113: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 113/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________113

Fig. 84 Visual Studio solution explorer Visual Studio class view

Fig. 85 Visual Studio properties

Page 114: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 114/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________114

 9.1.5 De WYSIWYG en WYWIWYG IDE (Visual Studio)

Fig. 86 Visual Studio WYSIWYG interface

Fig. 87 Visual Studio WYWIWYG interface

Page 115: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 115/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________115

 9.1.6 Converteren van commentaar naar API in webvorm

In Visual Studio kun je door uitgebreide commentaar te schrijven bij variabelen, functies enklassen via één klik op de knop een soort web API creëren. Dit is vooral handig als je nietalleen aan een project werkt, zo kunnen andere programmeurs kijken welke functie ze nodig

hebben om een bepaalde waarde terug te krijgen die ze op dat moment nodig hebben.

 Niet alleen is het handig om uitgebreide commentaar te schrijven voor een API of voor anderegebruikers. Door deze commentaar toe te voegen aan alle functies, klassen en variabelen kun je

 binnen hetzelfde project met de IntelliSense zien welke beschrijving een bepaalde functie,klasse of variabele heeft.

 9.1.7 Werken met IntelliSense

Het meest gebruikte en handigste hulpmiddel in Visual Studio is wellicht de IntelliSense. Hetmaakt het de programmeur mogelijk om zeer snel bepaalde functies, klassen of variabelen te

gebruiken. De IntelliSense toont een lijst van de leden die voor een klasse of voorwerp beschikbaar zijn na het typen een klasse of object gevolgd door een punt.IntelliSense werkt via een automatisch geproduceerd intern geheugen die klassen, variabelen enandere concepten bevat.

Fig. 88 Gebruik maken van IntelliSense

 9.1.8 Werken met objectbrowser, index, msdn library

Er bestaan duizenden functies en klassen in de object bibliotheek van .NET het is onmogelijkom ze allemaal weer te geven laat staan ze te gebruiken of te kennen. Doordat er zoveel zijnwerd een handige objectbrowser ontwikkeld die het mogelijk maakt om alle functies,variabelen en accessors binnen een klasse weer te geven. Voor meer details en voorbeelden kan

 je gebruik maken van het index venster of de msdn library die zowel online als offline kanworden gebruikt.

Page 116: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 116/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________116

9.2 Werking Visual SourceSafe ?

Bij grote projecten werkt men meestal met meerdere programmeurs tegelijk aan een oplossing(project). Het is zeer moeilijk als deze programmeurs code veranderen in dezelfde klassen. Ditis waar SourceSafe te hulp komt om te voorkomen dat programmeurs elkaars code

overschrijven. Programmeurs kunnen via SourceSafe inloggen op een server via het internenetwerk en de verschillende klassen bekijken. Lokaal op de pc dient een folder aangemaakt teworden waar het project zal geplaatst worden. De programmeur kan dan via SourceSafe eenwerkfolder aanmaken op het pad waar het project geplaatst wordt. Eenmaal dit gebeurd iskunnen bestanden geopend en gesloten worden al naar gelang of de programmeur deze nodigheeft. Een andere programmeur moet dan wachten tot de ene gedaan heeft met zijn/haar

 bewerkingen voordat hij code kan aanpassen. Met dit systeem creëer je een veiligewerkomgeving om meerdere programmeurs op één project te laten werken.

 9.2.1 Aanmaken van een label

 Na een paar aanpassingen doorgevoerd te hebben kan een programmeur een “label” plaatsenom aan te tonen welke aanpassingen hij/zij heeft veranderd sinds het laatste label. Zo wordt hetgemakkelijk om bij plotse problemen terug te kijken wat er op dat moment in een bepaaldeklasse veranderd werd. Zo kunnen problemen sneller opgelost worden, als het heel erg is kanzelfs een vroegere label lokaal ingeladen worden om vanaf dat moment opnieuw te beginnen.

Fig. 89 Visual SourceSafe adding an label

Page 117: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 117/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________117

Fig. 90 Visual SourceSafe add comment to label

 9.2.2 Bestanden toevoegen, bewerken, uit- en in checken, verwijderen, vergelijken

In dit venster kun je zien welke bestanden er veranderd werden (rood) en welke bestanden ertoegevoegd werden aan de werkfolder (groen). De rest van de bestanden (wit) zijn onveranderdgebleven. Je kan ook bekijken welke veranderingen er werden aangebracht aan één bepaald

 bestand.

Fig. 91 Visual SourceSafe project differences

Page 118: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 118/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________118

Fig. 92 Visual SourceSafe add new file to the project

Fig. 93 Visual SourceSafe show file differences

Page 119: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 119/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________119

Via een handig venster die de veranderde code weergeeft met een grijze tint is hetgemakkelijke om aanpassingen te bekijken. Vooral voor het debuggen is dit een handighulpmiddel.

Fig. 94 Visual SourceSafe file differences

 9.2.3 Project geschiedenis, commentaar, pad

Fig. 95 Visual SourceSafe history of file

Page 120: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 120/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________120

Via de geschiedenis en de commentaar kunnen alle veranderingen bijgehouden worden.Zodat het enkel een kwestie van zoeken wordt om te weten wanneer een functie toegevoegdwerd. Dit kan handig zijn als er bijvoorbeeld een fout veroorzaakt werd door een andere functietoe te voegen. Dan kan deze functie herzien worden en indien nodig bewerkt worden.

Fig. 96 Visual SourceSafe history details

Fig. 97 Visual SourceSafe history of project

Page 121: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 121/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________121

9.3 Werking Office Visio voor UML-diagram ?

 Naast het echte programmeerwerk is het ook nodig om een compleet overzicht te krijgen vanhet ontwikkelde project vanuit een ander opzicht. De theoretische achtergrond van hoe eenUML diagram samengesteld wordt, is beschreven in het volgende hoofdstuk. Met Microsoft

Office Visio kunnen alle mogelijke UML diagrammen ontworpen worden.

De voornaamste en meest gebruikte is het UML klassen diagram. Hierbij worden alle functies,variabelen en accessors weergegeven binnen een klasse met hun bijbehorende access modifiers.

 9.3.1 Ontwerpen van een UML-diagram met visio

Fig. 98 Office Visio workplace

Page 122: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 122/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________122

 9.3.2 Toevoegen van variabelen, methoden, klassen en argumenten

Eerst geef je de klasse een naam:

Fig. 99 Office Visio UML class properties (Class)

Daarna kun je alle attributen toevoegen (variabelen):

Page 123: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 123/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________123

Fig. 100 Office Visio UML class properties (Attributes)

Tenslotte kunnen ook de operaties (functies) toegevoegd worden:

Fig. 101 Office Visio UML class properties (Operations)

Page 124: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 124/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________124

Er is natuurlijk nog altijd het probleem met het overladen van methoden (methoden metdezelfde naam). Deze worden onderscheiden door hun argumenten die verschillend zijn. Dezekan je bij de eigenschappen van een functie instellen.

Fig. 102 Office Visio UML Operation Properties (Parameters)

Page 125: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 125/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________125

10. Ontwerpen van schema’s

10.1UML Diagrammen

10.1.1 ‘CAN EDI diagnostic tool’ UML Use Case Diagram

Fig. 103 Use Case diagram ‘CAN EDI Diagnostic Tool’

Page 126: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 126/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________126

10.1.2 ‘Database’ UML Class Diagram

Fig. 104 UML Class Diagram database

Page 127: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 127/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________127

10.1.3 ‘Configuration’ UML Class Diagram

Zie A3 blad in bijlage.

Page 128: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 128/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________128

10.2 Software flowcharts

10.2.1 ‘Logger’ flowchart

Fig. 105 Flowchart logging

Page 129: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 129/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________129

10.2.2 ‘Trace’ window flowchart

Fig. 106 Flowchart ‘trace’ window

Page 130: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 130/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________130

10.2.3 Database flowchart

Fig. 107 Flowchart database

Page 131: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 131/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________131

10.2.4 ‘Generator’ window flowchart

Fig. 108 Flowchart ‘generator’ window

Page 132: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 132/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________132

10.2.5 Messages flowchart

Fig. 109 Flowchart messages (received and send)

Page 133: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 133/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________133

10.2.6 Inladen van laatste configuratie bestand via parameters in het register

Fig. 110 Flowchart configuratie bestanden inladen

Page 134: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 134/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________134

11. Software GUI CAN EDI Diagnostic Tool

11.1 Het hoofdprogramma

11.1.1 CAN EDI Diagnistoc Tool

Fig. 111 CAN EDI Diagnostic Tool (Software)

In de bovenstaande figuur zie je de software applicatie met het ‘trace’ venster, de filter venstersen het venster voor bericht informatie geopend. De software biedt een visueel mooiontwikkelde interface aan voor het bekijken van berichten die aanwezig zijn op de bus. Je kanzowel de bericht identiteit als de naam van het signaal zien. Ook het type bericht als de dataaanwezig in het bericht wordt weergegeven. Het biedt ook de mogelijkheid om filters in testellen om enkel de gewenste berichten te ontvangen. Signalen aanwezig in een bericht kunnenvoorgesteld worden met hun eenheid of beschrijving uit een database. De data die een bericht

 bevat wordt decimaal weergegeven in het veld ‘Value’ van het venster voor bericht informatie.

 Na het opstarten van de applicatie wordt het laatst gebruikte configuratiebestand ingeladen. Ditwordt onthouden via een variabele in het register van de computer. Deze variabele zit onder deCURRENT_USERS hive, dit wil zeggen dat bij een andere gebruiker een anderconfiguratiebestand zal ingeladen worden.

Page 135: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 135/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________135

11.1.2 De menubar

Fig. 112 Menubar (CAN EDI Diagnostic Tool)

De menubar bevat de meest gekende en gebruikte menu’s:

•  File menu•  Edit menu•  View menu•  Measurement menu•  Options menu•  Window menu•  Help Menu

Er zijn nog 2 extra menu’s die zichtbaar worden als het ‘trace’ venster of het database venster

actief wordt. Deze respectievelijke menu’s kunnen dus alleen gebruikt worden wanneer één vande twee vensters geopend en actief zijn.

11.1.3 De toolbar

Fig. 113 Toolbar (CAN EDI Diagnostic Tool)

Via de toolbar kun je bijna alle functies doen als met de menubar:

•  Openen/sluiten van filter vensters•  Openen van ‘trace’ venster•  Openen van generator venster•  Openen van ‘signal monitor’ venster (numeric & graphic)•  Openen van database venster•  Starten/stoppen van log functie•  Inladen/opslaan van configuratie bestanden•  Starte/pauzeren/stoppen van de meeting

Page 136: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 136/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________136

11.1.4 Venster selecteren

Fig. 114 Selecteren van MDI vensters (CAN EDI Diagnostic Tool)

De vensters die opgeroepen kunnen worden en vast zitten in het hoofdprogramma (MDIwindows) worden weergegeven in het menu Window. Als één van deze vensters geselecteerdwordt zal deze actief worden en de focus krijgen.

11.1.5 Starten, pauzeren en stoppen van een meeting

In de toolbar kun je gemakkelijk de meeting starten, pauzeren en stoppen met de bovenstaandeiconen. Door op de startknop te drukken wordt er connectie gelegd met de USB naar CANinterface module en wordt de thread gestart die ontvangen boodschappen verwerkt en opslaat inde buffer. Via de pauzeknop wordt hardwarematig het ontvangen van berichten geblokkeerd.Door op de stopknop te drukken wordt hardware matig de connectie met de USB naar CANinterface module afgesloten en de thread stil gelegd.

11.1.6 Starten en stoppen van de log functie

Het starten en het stoppen van de log functie kan op verschillende manieren.

Starten:•  Door op de startknop te drukken terwijl de logging actief staat.•  Door op de logknop te drukken terwijl de meeting loopt.

Stoppen:•  Door op de stopknop te drukken terwijl de logging actief staat.•  Door op de logknop te drukken terwijl de meeting loopt.

Om een compleet overzicht te krijgen van hoe dit werkt verwijs ik naar de flowchart van delogger.

Page 137: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 137/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________137

11.2 De trace-window

11.2.1 Het trace venster

Fig. 115 Trace venster (CAN EDI Diagnostic Tool)

Dit venster toont alle informatie die een bericht bevat. De lijst heeft de volgende velden:

•   Number Het aantal berichten die ontvangen werd (toegevoegd via software).•  Time De tijd waarop een bericht ontvangen werd door de interface module.

(4 bytes).•  ID De identiteit van het bericht (4 bytes).•   Name De naam van het bericht aan de hand van een database.•  Type Het type bericht ontvangen of verzonden (Rx of Tx).•  Data De data die het bericht bevat (8 bytes).

Page 138: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 138/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________138

11.2.2 Het venster voor het weergeven van bericht informatie

Fig. 116 Selecteren van bericht identiteit voor meer informatie (CAN EDI Diagnostic Tool)

Als het ‘trace’ venster open staat en de meeting loopt kun je aan de hand van het bovenstaandevenster de gewenste berichten selecteren waarvan je meer informatie wil zien. Deze informatiewordt automatisch up-to-date gehouden wanneer er een nieuw bericht met dezelfde identiteitontvangen of verzonden wordt.

Fig. 117 Informatie van de signalen in een bericht (CAN EDI Diagnostic Tool)

Bovenstaande figuur toont het venster waar specifieke bericht informatie weergegeven wordt.Je kan er alle signalen vinden die tot het bericht behoren als ook hun waarde, beschrijving eneenheid.

Page 139: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 139/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________139

11.2.3 Trace venster instellingen

Fig. 118 Trace window configuratie (CAN EDI Diagnostic Tool)

11.2.3.1 Chronologische en vaste weergave

Het is mogelijk om at-runtime deze instelling te veranderen zodat je berichten chronologisch ofvast kunt weergeven. Als berichten chronologisch weergegeven worden kan dit een zeer snel

aangroeiende lijst van berichten worden. Deze lijst wordt telkens uitgebreid naarmate er berichten ontvangen of verzonden worden. Als berichten vast weergegeven worden zal dezelijst enkel de berichten bevatten met verschillende identiteit. Deze berichten worden dantelkens upgedate wanneer een bericht met dezelfde identiteit ontvangen wordt, zodat het meestrecente bericht, met de meest recente waardes getoond wordt.

11.2.3.2 Decimaal en hexadecimale weergave

Het is mogelijk om at-runtime deze instelling te veranderen zodat je de data in een berichtdecimaal of hexadecimaal kan weergeven. Dit is vooral gemakkelijk voor mensen die niet veelervaring hebben in het lezen van hexadecimale getallen of die niet bekend zijn met dit

getalstelsel. Het kan natuurlijk ook gemakkelijk zijn om dan zelf te gaan uitzoeken met welkewaarde de data overeenstemt in een datasheet. Dit wordt dan weer overbodig door een databasein te laden die dit automatisch doet voor de gebruiker.

11.2.3.3 Absolute en relatieve weergave

Het is mogelijk om at-runtime deze instelling te veranderen zodat je de tijd van ontvangen ofverzonden berichten absolute of relatief kan weergeven. In absolute weergave loopt de tijd opaan de hand van de ontvangen of verzonden berichten. In relatieve weergave krijg je telkens tezien wanneer een bericht ontvangen of verzonden wordt ten opzichte van het laatst ontvangenof verzonden bericht.

Page 140: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 140/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________140

11.3 Het generator venster

Fig. 119 Generator venster (CAN EDI Diagnostic Tool)

Via het ‘generator’ venster kun je berichten versturen aan de hand van zelf ingevulde data ofaan de hand van een database. Als er geen database ingeladen werd is de lijst met berichten niet

 beschikbaar. Dan moet je zelf de identiteit, dlc en data invullen. Dit vraagt natuurlijk een behoorlijke kennis van de mogelijke CAN berichten. Als er wel een database ingeladen werdkan er een bericht geselecteerd worden. Door het selecteren van een bericht worden allesignalen die dat bericht bevat helemaal onderaan weergegeven. Door de waarden van designalen te veranderen wordt automatisch de data in het bericht aangepast.

Er is ook een mogelijkheid om berichten toe te voegen, te verwijderen of te klonen. Het klonenvan berichten is handig omdat je dan niet telkens opnieuw alle data hoeft in te vullen.

Page 141: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 141/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________141

11.4 Het database venster

11.4.1 Het venster om databases in te laden en te gebruiken

Fig. 120 Database inladen en gebruiker (CAN EDI Diagnostic Tool)

Wanneer het database venster geopend wordt zal automatisch het ‘load database’ venstergeopend worden die het mogelijk maakt om een database aan de lijst toe te voegen, tegebruiken, te openen of te verwijderen uit de lijst.

11.4.2 Het database venster

Fig. 121 Database venster bericht informatie (CAN EDI Diagnostic Tool)

Page 142: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 142/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________142

Als er een database geopend werd zal deze in het database venster zichtbaar worden. Zowel de berichten, signalen als waardetabellen worden weergegeven. Het is ook mogelijk om berichtenen signalen te bewerken en later terug op te slaan.

Fig. 122 Database venster signaal informatie (CAN EDI Diagnostic Tool)

11.4.3 Het venster om berichten te bewerken

Fig. 123 Bericht definities bewerken (CAN EDI Diagnostic Tool)

Page 143: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 143/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________143

Een bericht bevat vier instellingen die aangepast kunnen worden:

•  De naam van het bericht.•  Het type bericht (Standaard of uitgebreid CAN bericht).•  De identiteit van het bericht (4 bytes).•  Het aantal data bytes die het bericht bevat (max. 8 bytes).

Fig. 124 Signalen aan een bericht toevoegen of verwijderen (CAN EDI Diagnostic Tool)

Als de tab ‘Signals’ geselecteerd is worden alle signalen die tot het bericht behorenweergegeven. Hier is het mogelijk om signalen aan een bericht toe te voegen of te verwijderen.Door het selecteren van een signaal wordt de ‘Remove’ en ‘View’ knop actief. De ‘Apply’knop wordt pas actief als er een aanpassing is gebeurt aan het bericht.

11.4.4 Het venster om signalen te bewerken

Een signaal bevat 11 instellingen die aangepast kunnen worden.

•  De naam van het signaal.•  Het aantal bit (bit lengte).•  Het code formaat (Intel of Motorola).•  Waarde type (Signed of Unsigned).•  De factor waarmee vermenigvuldigd moet worden.•  Minimum en maximum waarde van het signaal.•  De eenheid van het signaal.•  De start positie van het signaal (start bit).•  De offset die opgeteld moet worden met de signaal waarde.•  Selecteren van een waardetabel.

Page 144: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 144/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________144

Fig. 125 Signaal definities bewerken (CAN EDI Diagnostic Tool)

Als de tab ‘Messages’ geselecteerd is worden alle berichten weergegeven waartoe het signaal behoort. Het is mogelijk om berichten toe te voegen of te verwijderen. Door het selecteren vaneen bericht wordt de ‘Remove’ en ‘View’ knop actief. De ‘Apply’ knop wordt pas actief als ereen aanpassing is gebeurt aan het signaal.

Fig. 126 Signaal toevoegen en verwijderen uit berichten (CAN EDI Diagnostic Tool)

Page 145: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 145/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________145

Fig. 127 Signaal waardetabel (CAN EDI Diagnostic Tool)

In het tabblad ‘Value Description’ wordt de waardetabel weergegeven die tot het signaal behoort. Bewerken van de waardetabel in dit venster is onmogelijk. Het dient enkel om te tonenwelke waardetabel aan het signaal gekoppeld is.

11.5 Het venster voor de filters

Fig. 128 Filter vensters (CAN EDI Diagnostic Tool)

Page 146: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 146/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________146

De filter vensters kunnen via een docking manager overal in het applicatie venster geplaatstworden zoals de gebruiker het zelf wil. Alleen de hardware filters kunnen gebruikt worden om

 berichten te filteren via de USB naar CAN interface module. De software filters zijn nog nietgeïmplementeerd in het programma, maar hiermee zou je op data die in het bericht aanwezig ismoeten kunnen filteren. Als er een hardware filter toegevoegd wordt komt deze in de lijst van

filters terecht waar je nogmaals kan selecteren of de filter gebruikt wordt of niet.

11.6 Het configuratie venster voor de logger

Fig. 129 Configuratie venster voor de logger (CAN EDI Diagnostic Tool)

In dit venster kun je een log bestand selecteren om te gebruiken tijdens het loggen.

Als je een nieuwe log start en het gebruikte log bestand bestaat al krijg je een melding of je het bestand wil overschrijven, een nieuw bestand wil selecteren of stoppen met loggen. Als je deoptie ‘nieuw bestand selecteren’ selecteert krijg je het bovenstaande venster waar je een nieuwlog bestand kan selecteren of aanmaken. Er staat ook informatie over het geselecteerde log

 bestand zoals de naam, de extensie en de datum wanneer deze het laatst bewerkt werd.De optie ‘Warn on overwrite file’ staat standaard aan en kan niet afgezet worden.

Fig. 130 Waarschuwing bij overschrijven log bestand

Page 147: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 147/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________147

11.7 Het venster voor grafische weergave van signalen

Fig. 131 Graphic Signal Monitor (CAN EDI Diagonstic Tool)

Hier kunnen geselecteerde signalen grafisch weergegeven worden. Deze functie werd nietverder afgewerkt.

11.8 Inladen van een recent configuratie bestand

Fig. 132 Recente configuratie bestanden (CAN EDI Diagnostic Tool)

Het is mogelijk om de laatst gebruikte configuratie bestanden in te laden via het File menu.De 5 laatst gebruikte configuratie bestanden worden opgeslagen in het register. Dit kun je

 bekijken met de ‘Regitry Editor’ van Windows.

Fig. 133 Gebruik maken van het run venster (Windows)

Page 148: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 148/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________148

Fig. 134 Register variabelen in Windows (Registry Editor)

11.9 Applicatie folder en beschrijving

Fig. 135 Applicatie folder (CAN EDI Diagnostic Tool)

Dit is de werkfolder van het programma waar je het programma terug vind samen met degebruikte mappen configurations, databases, filters, generator en traces. Ook de nodig DLL

 bestanden bevinden zich in deze directory.

Page 149: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 149/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________149

12. Software implementatie C#.NET

“A common mistake that people make when trying todesign something completely foolproof is to

underestimate the ingenuity of complete fools.”

Douglas Adams

12.1Big endian en little endian functies voor de timestamp.

12.1.1 Big Endian

/ / /   <summar y>/ / /   The t i mest amp recei ved f r omt he CAN bus i s i n Bi g Endi an f ormat ./ / /   Bi g Endi an or Motor ol a For mat => Most s i gni f i cant Bi t Fi r st !/ / /   </ summar y>pri vat e  ui nt   readBi gEndi an( byte[ ] r eadByte)

{try{

ui nt   accum= 0;i nt   i = 0;f or   ( i nt   shi f t By=24; shi f t By>=0; shi f t By- =8){

accum | = ( ui nt ) ( r eadByte[ i ] & 0xf f ) << shi f t By;i ++;

}return  accum;

}cat ch( Except i on ex){Cl assMyDebug. MyDebug( ex) ;

throw(ex) ;}

}

12.1.2 Little Endian

/ / /   <summar y>/ / /   The t i mest amp recei ved f r omt he CAN Bus i s i n Bi g Endi an f ormat/ / /   but wi th i f ak i t s Li t t l e Endi an./ / /   Li t t l e Endi an or I nt el For mat => Least Si gni f i cant Bi t Fi r st !/ / /   </ summar y>pri vat e  ui nt   r eadLi t t l eEndi an( byte[ ] r eadByte){

try{ui nt   accum= 0;i nt   i = 0;f or ( i nt   shi f t By=0; shi f t By<32; shi f t By+=8){

accum | = ( ui nt ) ( r eadByte[ i ] & 0xf f ) << shi f t By;i ++;

}return  accum;

}cat ch( Except i on ex){Cl assMyDebug. MyDebug( ex) ;throw(ex) ;

}} 

Page 150: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 150/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________150

12.2 Informatie uit een signal halen

Een bericht kan uit verschillende signalen bestaan, deze worden in het venster voor berichtinformatie weergegeven met hun decimale waarde en beschrijving.Aan de hand van een voorbeeld geef ik de uitwerking van hoe dit gebeurd.

Het ontvangen bericht:

ID Data

0x0CFF2303 00 30 34 FC 41 FF 3E D4

Aan de hand van de ingeladen database kan je het bericht met naam benoemen. De naam die bijdit bericht behoort is TC2CVC1. Dit bericht bevat volgens de database 15 signalen waarvan iker 2 als voorbeeld geef.

Signaal naam Start bit Bit lengte Factor Offset Minimum Maximum

sOperatingState_abiDrivingMode

58 3 1 0 0 7

wVehicleSpeed 16 16 0,00390625

0 0 30

 Nu kunnen we per signaal de decimale waarde weergeven.

sOperatingState_abiDrivingMode

Startbit = 58 dit wil zeggen dat het signaal start in byte (58 / 8)+1 = 8.

Hieruit kunnen we dan ook afleiden op welke plaats het signaal begint in byte 8.8*7 = 56 en startbit = 58 krijg je een rest van 2. Dit is de plaats waar het signaal echt begint.

Als je nu byte 8 van dichterbij bekijkt heeft hij de volgende waarde : D4Dit kun je binair uitschrijven als : 1101 0100

De start positie is op bit 2 en de lengte van het signaal is 3 bit dus krijg je 010 als waarde.Dit is decimaal gelijk aan 2. Als je nu kijkt in de database dan kun je deze waarde gelijkstellenaan de beschrijving Automatic_and_StandardInching. 

wVehicleSpeed

Startbit = 16 dit wil zeggen dat het signaal start in byte (16 / 8)+1 = 3.Hieruit kunnen we dan ook afleiden op welke plaats het signaal begint in byte 3.8*2 = 16 en startbit = 16 krijg je een rest van 0. Het signaal begint dus aan het begin.

De lengte van het signaal is 2 bytes dus moeten we byte 3 & 4 bekijken.Deze hebben de volgende waarde: 34 FCDit kun je binair uitschrijven als 0011 0100 1111 1100, decimaal is dit gelijk aan 13564.Dit getal wordt dan vermenigvuldigd met de factor. Dit komt op 53 km/h 

In dit voorbeeld is de maximum grens van 30 dus overschreden.

Page 151: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 151/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________151

12.3 String formatting

12.3.1 Formateren van getallen

Specifier Type Format Output (double 2.89) Output (integer -9432)

c Currency {0:c} $2.89 -$94,32d Decimal {0:d} System.FormatException -9432e Scientific {0:e} 2.890000e+000 -9.4320000e+004f Fixed point {0:f} 2.89 -9432.00g General {0:g} 2.89 -9432n Numver with

commas forthousands

{0:n} 2.89 -9,432

f Round trippable {0:r} 2.89 System.FormatExceptionx Hexadecimal {0:x4} System.FormatException db28

Specifier Type Format Output(double 2100.67)

Note

0 Zero placeholder {0:00.0000} 2100.6700 Pads with zeroes# Digit placeholder {0(#).##} (2100).67. Decimal point {0:0.0} 2100.67, Thousand

separator{0:0,0} 2,100 Must be between two

zeroes,. Number scaling {0:0,.} 2 Comma adjacent to

 period scales by 1000

% Percent {0:0%} 210067% Multiplies by 100, adds% sign

e Exponent placeholder

{0:00e+0} 21e+2 Many exponent formatsavailable

Page 152: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 152/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________152

12.3.2 Formateren van datums

Specifier Type Examle (Passed System.DateTime.Now)

d Short date 26/04/2007D Long date April 26, 2007

t Short time 11:23 AMT Long time 11:23:23 AMf Full data & time April 26, 2007 11:23 AMF Full date & time (long) April 26, 2007 11:23:23 AMg Default date & time 26/04/2007 11:23 AMG Default date & time (long) 26/04/2007 11:23:23 AMM Month day pattern April 26r RFC1123 date string Thu, 26 Apr 2007 11:23:23 GMTs Sortable date string 2007-04-26T11:23:23u Universal sortable, local time 2007-04-26 11:23:23Z

U Universal sortable, GMT April 26, 2007 11:23:23 AMY Year month pattern April, 2007

Specifier Type Example Example output

dd Day {0:dd} 26ddd Day name {0:ddd} Thudddd Full day name {0:dddd} Thursdayf, ff, … Second fractions {0:fff} 932gg, … Era {0:gg} A.D.hh 2 digit hour {0:hh} 11

HH 2 digit hour, 24hrformat

{0:HH} 11

mm Minute 00-59 {0:mm} 23MM Month 01-12 {0:MM} 04MMM Month abbreviation {0:MMM} AprMMMM Full month name {0:MMMM} Aprilss Seconds 00-59 {0:ss} 23tt AM or PM {0:tt} AMyy Year, 2 digits {0:yy} 07yyyy Year {0:yyyy} 2007

zz Timezone offset, 2digits

{0:zz} +01

zzzz Full timezone offset {0:zzz} +01:00: Separator {0:hh:mm:ss} 11:23:23/ Separator {0:dd/MM/yyyy} 26/04/2007

Page 153: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 153/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________153

13. CAN EDI Diagnostic Tool

Enkele aandachtspunten van de gerealiseerde software en wat nog kan worden gerealiseerd.

‘Trace’ venster

  Relatieve representatie van ontvangen boodschappen.  Boodschappen kunnen bij naam getoond worden.  De vertaling van data naar signalen die in een boodschap vervat zitten kunnen

gevisualiseerd worden.  Configuratie venster voor relatieve of absolute tijden, hexadecimaal of decimale notatie  Prioriteit en/of adres uit de identiteit negeren bij het opzoeken in de database.

 Logger

  Logging in CANalyzer formaat.  Loggen gebeurd automatisch als de buffer vol is.  Interface om log bestand te specifiëren..

‘Interactive message generator’ venster

  Berichten kunnen verstuurd worden via een druk op de knop of cyclisch (periodeinstelbaar in milliseconden).

  Boodschappen die de gebruiker wil versturen voorstellen bij naam.  Mogelijkheid om via waardetabellen signalen een waarde te geven.  Mogelijkheid tot het klonen van berichten, verwijderen,…

‘Message filter’ vensters

  Splitsing van filters klasse en mainform.  Implementatie van softwarefilters.  Verwijderen van toegevoegde filters.

Configuratie bestanden

  Van alle vensters de locatie, grote en zichtbaarheid bijhouden (trace venster, generatorvenster, database venster, filter vensters).

  Opslaan van bericht gegevens die in het generator venster aanwezig zijn.

  Terugzetten van berichten in het generator venster via een configuratie bestand.  Opslaan van database gegevens en opnieuw inlezen van database gegevens.  Opslaan van filter gegevens.  Toevoegen van software filters  Configuratie voor logging niet af (pad naar log bestand, aan bestand toevoegen of niet).  Configuratie voor traceform niet af (Hex./dec. , relatief/absolute , chronologisch/vast).  Configuratie voor bericht informatie vensters.

Page 154: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 154/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________154

‘Database’ venster

  Inlezen van CANalyzer (CANdb++) database bestand (.dbc).  Weergeven van berichten, signalen en waardetabellen.  Bewerken van berichten e signalen.

  Onmiddelijke toepassing van de veranderingen  Terug wegschrijven van database in CANdb++ formaat.  Inlezen van commentaar van zowel berichten en signalen gebeurd niet.  Bewerken van waardetabellen niet mogelijk.  Layout database venster aanpassen.  Bericht layout in het venster om berichten te bewerken nog niet geïmplementeerd.  Verwijderen van databases lukt nog niet.

‘Signal monitor’ vensters

  Vensters voor het bekijken van signalen zowel grafisch als in tekstvorm.

  Tekenpaneel om de signalen op te tekenen.  Weergeven van signalen die de gebruiker kan selecteren (numeric).  Weergeven welke signalen er getoond worden (grafisch).  Welke kleur hoort bij welk signaal en deze ook kunnen aanpassen (grafisch).  Tekenen van signalen op een paneel (grafisch).  Keuze uit verschillende grafieken, in en uitzomen, lopen doorheen de tijd, signalen

toevoegen en verwijderen, …

Page 155: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 155/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________155

 Besluiten

 Reeds uitgevoerde werk

•  Begrip van:

- recommended practice RP1210A- J1939 standaard- CAN standaard- CAN messages APC214

•  Broncode van September opnieuw bekijken

•  Broncode van CANlogger analyseren

  Uittekenen testbord (labview)

•  Uitzoeken werking Vector CANalyzer logging

•  Uitzoeken werking Vector CANalyzer database

•  Berichten op de CAN bus bekijken met Vector CANalyzer en CANloggerBij CANlogger is dit nog met ruwe data, in Vector CANalyzer kun je spelen metdatabases om zo de berichten te onderscheiden en op naam te kunnen weergeven.

•  Bekijken werking configuratie bestanden CANlogger

Dit is in een XML formaat, dit kan nog verder uitgebreid worden om nog meerfunctionaliteit toe te voegen aan de applicatie.

•  Probleem met het opstart scherm opgelost.

•  Ontwerp database voorstelling- Inlezen database file (.dbc)- Gegevens van de berichten en signalen in een boomstructuur weergeven.

•  Start ontwerp van UML-diagram voor CANlogger programma.

Werken in meerdere bestanden om de duidelijkheid te behouden is wel nodig.

•  Bekijken van aangekochte boeken:

- Embedded networking with CAN and CANopen- C# murach, C# for developers.

•  Toepassen van de coding rules

•  Overbodige code weggewerkt

•  Implementeren van log functie in CANlogger

Page 156: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 156/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________156

•  Testen nieuwe USB dongle van SoftingVerschil bekijken tussen de dongle van ifak system en die van Softing

•  Zorgen dat de gegevens in de ‘trace’ venster leesbaar zijn.  Implementatie van nieuwe buffer (object array) met een vaste grote van bv.

10000.  Event creëren als er een buffer overflow is.  Werken met een thread in de traceform om de berichten om de zoveel ms op het

scherm te zetten

•  De UpdateThread van de TraceWindow kan zowel verzonden als ontvangen berichtenonderscheiden en weergeven in de traceForm.

•  Starten met Visual SourceSafe om de software op te slaan op de server, zodat ermogelijkheid is om labels te plaatsen waardoor het gemakkelijker wordt om hetontwerp van het programma te volgen.

•  Aan de hand van een Microsoft artikel de AutoResetEvent’s omvormen naar een arrayvan WaitHandle’s.

•  Cyclische boodschappen versturen met instelbare periode werkt.

•  De ontvangen en gelezen boodschappen worden in het formaat van CANalyzeropgeslagen in een log bestand.

•  Relatieve representatie van de ontvagen boodschappen werkt.

Het verplaatsen van chronologisch naar vaste weergave en omgekeerd kan terwijl de berichten ingelezen worden. De berichten die al op het ‘trace’ venster werdenweergegeven voor er veranderd werd naar chronologisch of vast worden niet opnieuwgetoond.

•  De logger kan aan en af gezet worden zonder dat het ‘trace’ venster zichtbaar is.Telkens als er een bufferoverflow gedetecteerd wordt zal de logger een event krijgenom de gegevens naar een bestand weg te schrijven.

•  Zowel verzonden als ontvangen berichten kunnen worden opgeslagen in het log bestand.

•  Aanpassen van de layout van verschillende formulieren.

•  Aanmaken van verschillende formulieren voor zowel database, logger, ‘trace’ vensterconfiguratie, …

•  Het mogelijk maken om berichten die in het ‘generator ’ venster aanwezig zijn te klonenof te verwijderen. Mogelijk maken om berichten aan te maken via beschrijvingen uit dedatabase.

Page 157: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 157/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________157

•  Bewerken van de configuratie file (.xml document)  DatabaseForm configuration informatie over de grote, locatie, zichtbaarheid en

of de database in gebruik is implementeren.  Gegevens over de GeneratorFormItems verwerken in het configuratie bestand.  Log informatie zoals het pad naar waar hij moet schrijven ook verwerken in de

configuratie file.

•  Het terug inlezen van de configuratie file (.xml document)  De grote, locatie en zichtbaarheid van alle vensters terug inlezen.  Database informatie terug schrijven naar het formulier om een database te laden

of te gebruiken.  Bericht gegevens terug in het ‘generator ’ venster plaatsen

•  Werking van een datagrid leren kennen. Formulier componenten proberen toe te voegenaan een datagrid cel. Dit blijkt dus zeer moeilijk te gaan, de componenten blijven steedsonzichtbaar. Met het .NET framework 2.0 bestaan er speciale componenten om in z’ncel te gebruiken, waardoor het werken met een datagrid veel gemakkelijker gaat.

•  Database voorstelling:  Representeren van waardetabellen, signaal waardetabellen.  Aanmaken van een hash tabel om de waarde en beschrijving die tot een

waardetabel behoren op te slaan.  Gegevens van database opslaan in verschillende klassen zodat het geheel

overzichtelijk blijft en gemakkelijk aanpasbaar is.  Aanmaken van formulieren om signalen en berichten te kunnen bewerken.

  De berichten in het ‘trace’ venster op naam weergeven aan de hand van de ingeladendatabase. Mogelijk maken om een database aan het ‘trace’ venster te koppelen zonderdat deze geopend is.

•  MessageInfoForm enkel openen als er een waardetabel aanwezig is voor minstens éénsignaal die zich in het bericht bevindt die bekeken wordt.

•  Mogelijk maken om extra specifieke informatie van een bericht weer te geven in eenapart venster opgesplitst in verschillende signalen. Meerdere berichten tegelijkertijdkunnen bekijken terwijl de meeting nog loopt.

•  Verschillende fouten opgelost veroorzaakt door nieuwe code toe te voegen die denauwkeurigheid en juistheid verhoogd, waar er vroeger geen problemen waren.

Page 158: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 158/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________158

 Bespreking implementatie van fases

- Bij het terug keren van relatieve naar chronologische presentatie, de lijst bijhoudenof niet ? (Slim of dom ‘trace’ venster ?) Implementatie al naargelang of ervoldoende tijd is.

- De filters voor de berichten in een aparte klasse implementeren. Mogelijkheid omook de filter eigenschappen op te slaan in de configuratie file.

- Implementeren van bericht informatie formulieren in het configuratie bestand.

- Mogelijk maken om database bestand weg te schrijven en opnieuw te kunnen openen.Ook testen of dit bestand geopend kan worden via CANalyzer.

- Mogelijk maken om berichten aan te maken via beschrijvingen uit de database waardetabellen. Aan de hand van een beschrijving de waarde uit een waardetabel halen om zo

deze waarde in de juiste data byte te plaatsen.

- Ervoor zorgen dat de vermenigvuldigingsfactor van een signaal waarde automatischgebeurd in zowel de ontvagen als de verzonden boodschappen.

- De hardware en software filters in een nieuwe klasse schrijven, de software filtersimplementeren zodat er ook op data kan gefilterd worden.

- Configuratie bestand verder bewerken zodanig dat alle gegevens over de venstersopgeslagen wordt.

- Bericht informatie formulieren toevoegen aan het configuratie bestand, opslaan van de bericht identiteit, bericht naam, locatie en grote.

- Implementeren van een grafische voorstelling van een selectie beschikbare signalen.

- Mogelijk maken om bij ontvangen boodschappen die in het ‘trace’ venster komen te staanenkel te controleren of de PGN van het bericht in de database bestaat. Hierdoor creëer je eenmeerwaarde, omdat je dan geen rekening meer dient te houden met de prioriteit, hetdestinatie adres of het bron adres. Dit is uitermate belangrijk omdat elke controller eenandere prioriteit, destinatie adres of bron adres kan hebben.

- Nog enkele layout bewerkingen doorvoeren zodat het geheel visueel mooier wordt.

Page 159: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 159/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________159

 Algemene ervaringen:

•  Oude programmeergewoontes proberen af te leren, nieuwe ontwikkelen, waaronder de‘coding rules’ die in een apart bestand beschreven staan.

•  Leren om programma’s te ontwerpen die de mogelijkheid bieden om latergeïmplementeerd te worden in een ander programma.

•  Om team gericht te kunnen werken dienen er afspraken gemaakt te worden, onderandere om dezelfde stijl van code te behouden zodat deze later gemakkelijk kan wordenaangepast.

•  De ontworpen code voldoende aan commentaar voorzien zodat het na een paarmaanden nog altijd begrijpbaar is.

• Tijdig back-ups nemen om geen gegevensverlies te hebben bij een crash.Via Visual SourceSafe kan alle ontwikkelde software op de intranet server bewaartworden.

•  Het grafische aspect is minder belangrijk dan het functionele aspect.

•  In het maken van de layout kruipt het meeste tijd, het .NET framework 2.0 heeft veelmeer opties en mogelijkheden dan het .NET framework 1.1. Jammer genoeg wordt desoftware nog geschreven op het platform 1.1.

•  Door dagelijks of wekelijks een korte stand van zaken te melden, kan je op nieuwe

ideeën komen. Ook de opvolging van het project wordt gemakkelijker.

•  Kort overleg kan heel wat duidelijkheid brengen op het geheel.

Page 160: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 160/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________160

 Documentatie en bijlagen

 Hexadecimale, decimale en binaire getallen

Hexadecimaal (0x) Decimaal Binair

0 0 00001 1 00012 2 00103 3 00114 4 01005 5 01016 6 01107 7 01118 8 10009 9 1001

A 10 1010B 11 1011C 12 1100D 13 1101E 14 1110F 15 1111

De conversies tussen deze 3 soorten notaties dienen goed gekend te zijn, in alle richtingen.

Page 161: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 161/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________161

Fig. 136 UML Class Diagram Configuration

Page 162: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 162/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________162

CAN fysieke laag circuits

Fig. 137 Circuit 1 (J1939/11).

The circuit has a special short-circuit protection for the CAN_L path. Therefore it uses only low powercomponents but withstands voltages up to +50 V on the bus lines (e.g., load dump). R7, R8, R9, R10form the biasing network for the recessive state; R5, R6, C1, C2 together with the biasing network forman input filter with a corner frequency of about 1.2 MHz. R3, R4, R15, and R16 provide the driveimpedance for Q1, Q2; they should be chosen so that the switching waveforms of CAN_H and CAN_Lare symmetrical during transitions. R1 and R2, together with the on-resistance of Q1 and Q2, set theoutput impedance of the link for the dominant state; D1 and D2 are used for common mode decoupling.

R12, R13, D3, Z1, and Q3 switch Q2 off if voltage levels at CAN_L exceed +10V (Q1 is decoupled byD1 in this case). D3 isolates the capacitance of Z1 from the bus line.L1 is used to reduce the amount of high-frequency microprocessor switching noise coupled on the bus.Testing has shown this component to reduce radiated emissions over the test range of 10 KHz to 200MHz, but particularly below 30 MHz. While this component improves radiated emissions performance,its use is not essential to meeting the requirements of SAE J1939-11 and therefore not required. Theradiated emissions performance of ECU must be addressed on an individual basis.

Page 163: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 163/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________163

Fig. 138 Circuit 2 (J1939/11).

This circuit is designed for surface mount components. The resistorsR7, R8, and R9 form a biasing network which determines the voltages on the link in the recessive state.The network R5, R6, C1, and C2 form a common mode filter with corner frequency of about 1.5 MHz.The resistors R3, R4, R15, R16 provide the drive impedance for the output transistors Q1 and Q2. Toachieve balancing on the link, these components should be adjusted so that drive voltages aresymmetrical during transitions from dominant to recessive and recessive to dominant. The resistors R1

and R2 are located so that a natural link current limit of about 100 mA is achieved. This reduces theoverall power dissipation in the driver when a short to battery occurs. The dissipation in R1 and R2during current limit is about 0.25 W. The dissipation in Q1 during a short of CAN_H to ground is alsoabout 0.25 W. The dissipation in Q2 during a short of CAN_L to 32 V is 2.95 W but is limited in time.L1 is used to reduce the amount of high-frequency microprocessor switching noise coupled on the bus.Testing has shown this component to reduce radiated emissions over the test range of 10 KHz to 200MHz, but particularly below 30 MHz. While this component improves radiated emissions performance,its use is not essential to meeting the requirements of SAE J1939-11 and therefore not required. The

radiated emissions performance of ECU must be addressed on an individual basis. 

Page 164: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 164/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________164

Fig. 139 Circuit 3 (J1939/11).

This circuit provides a solution utilizing surface mount componentsand an integrated circuit, U1, instead of the discrete topologies shown in examples A1 and A2.Capacitor C1 provides power supply decoupling for U1 and is typically between 0.01 UF and 0.1 UF.Resistor R1 determines the slope (rise and fall times) of CAN_H and CAN_L while the IC is transmitting.The VREF output, pin 5 of U1, provides a voltage of approximately VCC/2. VREF is required by some

CAN protocol controllers for proper operation. Refer to Philips Semiconductor’s Application Note, AN96116, “PCA82C250/251 CAN Transceiver” for additional information regarding the features and useof U1. L1 is used to reduce the amount of high-frequency microprocessor switching noise coupled onthe bus. Testing has shown this component to reduce radiated emissions over the test range of 10 KHzto 200 MHz, but particularly below 30 MHz. While this component improves radiated emissionsperformance, its use is not essential to meeting the requirements of SAE J1939-11 and therefore notrequired. The radiated emissions performance of ECU must be addressed on an individual basis

Page 165: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 165/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________165

Plaatsing van alle bits in een uitgebreid en standaard frame

Fig. 140 MAPPING OF SAE J1939 INTO CAN’S ARBITRATION AND CONTROL FIELDS

Page 166: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 166/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________166

 Literatuurlijst

Online geraadpleegde bronnen:

Kvaser AB (2005). CAN (Controller Area Network). http://www.kvaser.com (01-05-2007).

CAN in Automation CiA (2006). Controller Area Network (CAN). http://www.can-cia.org (01-05-2007).

M J Schofield (2006). Controller Area Network (CAN bus). http://www.mjschofield.com/index.htm (01-05-2007).

Tibbett, Steve (2005). String Formatting in C#. http://blog.stevex.net/index.php/string-formatting-in-csharp (01-05-2007).

ifak system GmbH (2007). Is CAN USB – USB Interface for CAN/CANopen Networks. http://www.ifak-system.com/fbk/can/index.php?level=isCANUSB (01-05-2007).

Can-cursus ontwikkeld in het kader van het HOBUCAN-project, Ontwikkeling van eenintelligente interface voor analyse en verificatie van datacommunicatie in modernevoertuigen.http://project.iwt-kdg.be/hobucan/HobuFilesDir/OnzeCursus/MyMainPage.html (01-05-2007).

Braun David, Silvis Jeff, Shapiro Alex (2001). Unified Modeling Language (UML) Tutorial. http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial (01-05-2007).

Mayo Joe. Writing C# Expressions. http://www.csharphelp.com/archives/archive169.html (01-05-2007).

DANA Corporation (2004). Off-Highway Solutions. http://www.dana.com (01-05-2007).Intranet website DANA Spicer Off-Highway.

Geraadpleegde e-books:

SAE International (2005). SAE J1939 standard. http://www.sae.org 

TMC/ATA (2003). RP1210A recommended practice (Windows Communication API). 

DANA Spicer Off-Highway (09/2006). User manuel Tcon.H.

DANA Spicer Off-Highway (01/2003). APC214 CAN EDI Byte/bit description. 

DANA Spicer Off-Highway (09/2006) APC214 ERROR CODES & DESCRIPTION. 

Page 167: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 167/169

Ryheul Kristof CAN EDI Diagnostic Tool

____________________________________________________________________________________167

Geraadpleegde boeken:

Pfeiffer, Ayne, Keydel (2003). Embedded networking with CAN and CANopen.San Clemente, RTC Books. ISBN 0-929392-78-7. 

Murach, Lowe (2004). Murach’s C#. Fresno, Mike Murach & Associates.ISBN 1-890774-22-7.

Gebruikte help-functies in programma’s:

•  Microsoft Visual Studio 2003 professional•  Microsoft msdn library•  Microsoft Visual SourceSafe•  Microsoft Office Visio (UML-diagram)• 

Vector CANalyzer•  Vector CANdb++

Page 168: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 168/169

 

Page 169: APC200 CAN EDI DIAGNOSTIC TOOL

7/26/2019 APC200 CAN EDI DIAGNOSTIC TOOL

http://slidepdf.com/reader/full/apc200-can-edi-diagnostic-tool 169/169