EVENT DRIVEN CAN & VIDEO LOGGER FOR UNAMBIGUOUS
VEHICLE DIAGNOSTICS
1.1 De opdrachtgevers
1.1.1 CIT
Het CIT is gesitueerd in de Kleinhoefstraat 6 te Geel en staat voor “Centrum voor
Industriële Toepassingen”. Als spin-off van de KHK zijn ze gestart en ze hebben
ondertussen vestigingen in België, Polen en Nederland. Ze hebben o.a. een grote
expertise in LabVIEW opgebouwd.
Meer informatie vind u op www.citengineering.com.
1.1.2 DAF Trucks Eindhoven
DAF Trucks is onderdeel van de PACCAR groep waar o.a. ook Kenworth en Peterbilt toe
behoren. Deze 2 laatste vrachtwagenmerken genieten het meeste aandacht in Amerika.
DAF staat voor “van Doorne's Automobiel Fabriek” en werd in 1932 opgericht door de
Nederlander Hub Van Doorne. Na een bewogen geschiedenis werd DAF in 1996
overgenomen door PACCAR.
De productie van motoren en componenten gebeurt in Eindhoven, waar het
hoofdkwartier van het bedrijf gevestigd is. De cabines en de assen krijgt de
assemblagelijn in Eindhoven toegeleverd vanuit Westerlo.
Meer informatie vind u op www.daftrucks.com.
1.2 De opdracht
De opdracht bestond er in om een synchrone video/CAN-bus logger te maken. Deze
logger zal ingebouwd worden in een testvrachtwagen. Die vrachtwagen dient uitsluitend
om testen/proeven uit te voeren op nieuwe systemen, bijvoorbeeld een nieuwe
versnellingsbak.
Wanneer een nieuw systeem dient getest te worden, wordt dit ingebouwd in de
testvrachtwagen. Waarna die er mee gaat rondrijden. Zodra de chauffeur iets raar
opmerkt, zoals bijvoorbeeld het even niet functioneren van het te testen systeem, dan
dient dit gelogd te worden. De trigger voor het starten van een logfile wordt gegeven
door het indrukken van een hardware-knop die de chauffeur ter beschikking heeft.
Wanneer de testvrachtwagen, bijvoorbeeld na een week, terugkeert van zijn rit, is het de
bedoeling dat de testingenieurs bij DAF de gelogde data kunnen analyseren.
Een “Viewer” is daarom noodzakelijk om de gelogde data op een overzichtelijke manier
op het scherm weer te geven. Hij verzorgt ook de synchronisatie tussen video en CANdata.
De Viewer is dus een onmisbare tool om de gelogde data te analyseren.
Er zullen 2 zaken moeten gerealiseerd worden:
• Logger
• Viewer
Van Dyck Sven
1.3 De oplossing
1.3.1 De logger
1.3.1.1 Onderdelen
• een embedded PC met speciale voeding voor gebruik in een vrachtwagen
• een USB-webcam
• een hardware trigger-knop met status LED’s
• een USB-CAN DAQ kaart
• een USB DAQ kaart met digitale in –en uitgangen (aanstuurbaar vanuit LabVIEW)
• een externe USB hard disk
• een USB2.0 Hub
Alle onderdelen worden in de vrachtwagen geplaatst en op de embedded PC aangesloten.
De software is volledig in LabVIEW geschreven.
1.3.1.2 Algemene werking logger
Men start met het inbouwen van het te testen systeem in de testvrachtwagen. In deze
vrachtwagen is de logger al reeds ingebouwd, behalve de externe HD.
Voor het starten van de proef stelt de testingenieur de pretrigger en posttrigger tijd in.
Dit gebeurt door het manueel aanpassen of aanmaken van een .ini bestand. In Figuur 1
kan men de inhoud van zo een bestand waar de post –en pretrigger tijd op 60 seconden
zijn ingesteld, zien.
[TriggerSettings]
PreTrigger=60
PostTrigger=60
Figuur 1: Voorbeeld van het configuratiebestand
Vervolgens hernoemt de testingenieur het bestand naar
“DataLoggerConfiguration.experiment” en kopieert het naar de volgende folder op de
externe schijf: \Configuration\. Als deze map nog niet bestaat, dan dient de testingenieur
deze zelf aan te maken. Wanneer deze procedure afgehandeld is, plaatst de testingenieur
de externe HD in de vrachtwagen en koppelt hij hem aan de embedded PC via USB. De
logger weet nu welke instellingen hij moet gebruiken voor de post –en pretrigger tijd.
De logger is op dit moment operationeel en de proef kan starten. Wanneer de chauffeur
zijn vrachtwagen start, zal de embedded PC automatisch mee opstarten. De logger start
op zijn beurt mee op. Het programma zal meteen beginnen met het bijhouden van een
buffer op de interne schijf van de embedded PC. De buffer bestaat uit video en CAN-data
en bedraagt x-aantal(instelbaar) minuten. Deze instelbare tijd wordt vanaf nu de
pretrigger time genoemd.
Wanneer de logger een trigger detecteert, die gegeven wordt door de hardware-knop, is
het de bedoeling dat hij de data van de webcam en de CAN-bus gaat loggen op de
externe harde schijf. De gelogde data per trigger zal bestaan uit een tijdsspanne van de
Van Dyck Sven
pretrigger time + x-aantal instelbare minuten nadat de trigger gegeven is. De instelbare
tijd na de trigger wordt de post-trigger time genoemd. Dus met andere woorden, de
tijdspanne van de gelogde data van een trigger bestaat uit de pretrigger time + de
posttrigger time.
Tijdens het loggen worden van zowel de video als van de CAN data, timestamps
bijgehouden. Zo is het mogelijk om nadien in de “Viewer” te bepalen welke videoframe er
bij welke CAN-data hoort. Op die manier kan men video met CAN synchroniseren.
Dus samengevat: wanneer de chauffeur een fout in het te testen systeem detecteert,
duwt hij op de hardware-knop, waarna de logger de data begint te loggen op een wijze
die hierboven beknopt beschreven staat (met pre –en posttrigger).
Alle gelogde data komen op de externe HD te staan onder de folder: \Logs\. Voor elke
trigger wordt een nieuwe map aangemaakt die als naam het formaat heeft van
<Trigger_”jaar”-“maand”-“dag”_”uur”-“min”-“microseconden”>. Het volledige pad is
bijvoorbeeld \Logs\Trigger_2008-02-28_14-20-36.375.
In elke triggermap komen 3 bestanden te staan:
• Een videobestand met de extensie .avi
• Een bestand dat een tijdstip bijhoudt van de start van elk videoframe. Men noemt
dit de timestamp file met de extensie .ts
• Een bestand waarin alle data van de CAN-bus vervat zit. (extensie .CANlog)
Trigger_2008-02-28_14-20-36.375.avi
Trigger_2008-02-28_14-20-36.375.ts
Trigger_2008-02-28_14-20-36.375.CANlog
Figuur 2: Voorbeeld van de triggerbestanden in een triggermap
Men hoeft voor het CANlog bestand geen aparte timestamp file bij te houden, omdat de
timing bij in het CANlog bestand zit. Een CANlog bestand wordt in een binair formaat
opgeslagen op de harde schijf.
Als de chauffeur zijn vrachtwagen afzet, detecteert de logger dit en zorgt het programma
ervoor dat de embedded PC correct afgesloten wordt.
Na de proefrit wordt de externe HD uit de vrachtwagen gehaald en aangesloten op een
gewone PC waar de Viewer op geïnstalleerd staat. De Viewer herkent alle triggers op de
externe HD en de testingenieur kan beginnen met zijn analyse.
Van Dyck Sven
1.3.2 De Viewer
Zoals reeds vermeld, wordt (wanneer de vrachtwagen teruggekeerd is van zijn test) de
externe harde schijf uit de vrachtwagen genomen en aangesloten op een computer waar
de Viewer is geïnstalleerd.
In de Viewer zal men moeten specificeren waar het experiment, dat men wil analyseren,
zich bevindt. In dit geval staat het dus op de externe harde schijf. Voor archief
doeleinden kan men het ganse experiment, dat bestaat uit gelogde data en configuratie
bestanden, verplaatsen naar een meer geschikte locatie.
Eenmaal het experiment gekozen, detecteert de Viewer alle triggers, waarna men kan
selecteren welke trigger men van naderbij wil bekijken. De Viewer heeft een grafiek en
een videovenster. Zo kan men CAN en video gesynchroniseerd bekijken. Een "play"
functie mag natuurlijk ook niet ontbreken. Bovendien bestaat de mogelijkheid om een
tweede scherm met het videobeeld op te roepen. Op deze manier is het mogelijk om met
een “dual screen setup” te werken, dewelke het analyseren vereenvoudigt.
BOSCH. (1991). CAN specification version 2.0. 73 p.
Cia. (s.a.). Controller Area Network. 46 p.
Cia. Can In Automation: http://www.can-cia.org (2008).
Colleman, P. (2007). Datacommunicatie, 298 p.
Colleman, P. (2007). Datacommunicatie: Digitale communicatie
Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, Philips. (2000). Universal
Serial Bus Specification: Revision 2.0, 622 p.
Corrigan, S. (2003). Introduction to the Controller Area Network (CAN). 16 p.
Johansson, K., Törngren, M., Nielsen L. (s.a.). Vehicle Applications of Controller Area
Network 25 p.
Martin, T. (2006). CAN Controller. In the insider’s guide to the Philips ARM 7. (pp.105 -
119).
National Instruments. (s.a.). CAN: Controller Area Network. In LabVIEW Introduction
Course Manual. (pp.9-1 - 9-49).
National Instruments. (2006). CAN: NI-CAN Hardware and Software Manual.
National Instruments: http://www.ni.com (2008)
Peacock, C. (2002). USB in a Nutshell: Making Sense of the USB Standard. 30 p.
http://www.beyondlogic.org
Renesas. (2006). Introduction to CAN. 44 p.
VECTOR. (2004). Introduction to J1939: Version 1.0, 6 p.
Universal Serial Bus. http://www.usb.org (2008)
Wikipedia. http://en.wikipedia.org (2008)
Zeltwanger, H. J1939-based application profiles. 15 p.