Wegwijs worden in een labyrint van onheilspellende codes
Wat schuilt er achter een waarschuwingslampje
Als operator of machinist krijgt u vroeg of laat wel een keer te maken met een technische storing. Daar valt helaas niet aan te ontkomen. Op het dashboard verschijnt een waarschuwing in de vorm van een lampje, al dan niet vergezeld van een symbool, code of misschien zelfs een korte tekstomschrijving. De verpakking van de boodschap is merkafhankelijk, de wijze waarop aan data-uitwisseling wordt gedaan, niet. Gelukkig maar, want het is dankzij die gemeenschappelijke standaard dat fouten snel gedetecteerd en getraceerd kunnen worden. Een oplossing is dan al een stuk dichterbij. We plukken dus allemaal de vruchten van SAE J1939. Maar hoe werkt zoiets? In dit artikel lichten we een tipje van die mysterieuze sluier.
De taal van moderne machines
Wie vandaag met een graafmachine, een hoogtewerker of een dumper werkt, om maar een paar voorbeelden te noemen, bedient eigenlijk een netwerk van computers of regeleenheden die gevoed worden met data van de bijbehorende sensoren. Cruciaal voor een goede werking van de machine is dat die regeleenheden met elkaar in contact staan.
Wat is SAE J1939?
De motor, de transmissie, het hydraulisch systeem en zelfs het dashboard praten voortdurend met elkaar. Die communicatie verloopt vandaag via SAE J1939, een communicatiestandaard waarmee elektronische regeleenheden (ECU) gegevens uitwisselen. Elke elektronische regeleenheid op het netwerk, krijgt een adres. Zo weet het netwerk wie iets verstuurt en wie iets ontvangt. Een motorcontroller heeft bijvoorbeeld een ander adres dan het dashboard of de transmissie.
Waarom SAE J1939?
De basis van J1939 ontstond in de jaren negentig binnen de Society of Automotive Engineers (SAE) in de Verenigde Staten. Fabrikanten van zware voertuigen liepen toen tegen hetzelfde probleem aan: elke leverancier gebruikte zijn eigen communicatieprotocol. Een motor van merk A sprak een andere taal dan een transmissie van merk B. Dat maakte combineren, storingen zoeken en uitbreiden moeilijk. SAE J1939 moest dat oplossen door één gemeenschappelijke standaard vast te leggen voor mobiele werkmachines en zware voertuigen.
Bouwstenen van SAE J939
SAE J1939 laat elektronische systemen met elkaar praten via vaste, gestandaardiseerde berichten. De kern van die communicatie bestaat uit drie basisbegrippen: PGN, SPN en FMI. Die lichten we graag even toe.
Parameter Group Number
Binnen SAE J1939 is een PGN het nummer dat aangeeft waar een bericht over gaat. In die zin kan u de PGN zien als de titel of het onderwerp van een bericht. Elke boodschap die een ECU verstuurt, bevat zo’n PGN. Stel dat er via de PGN verwezen wordt naar de motor. Dan zal de PGN niet zeggen hoe warm de motor is, bijvoorbeeld, maar wel dat het bericht betrekking heeft op de motor. Ontvangers op het netwerk gebruiken de PGN om te weten of het bericht voor hen relevant is. Omdat J1939 vaste PGN’s hanteert, betekenen dezelfde nummers bij alle merken hetzelfde. Dat maakt het mogelijk om displays, dataloggers en diagnoseapparatuur merkonafhankelijk te gebruiken.
Suspect Parameter Numbers
Laten we een stap verder gaan. Aan de hand van de PGN weten we dat het bericht over de motor gaat. Maar een motor bestaat uiteraard uit diverse subonderdelen. Vandaar dat een PGN meestal meerdere meetwaarden of statussen bevat. Elk zo’n individuele status wordt een SPN genoemd. Een SPN beschrijft met andere woorden één concrete grootheid, zoals motortoerental, olietemperatuur of brandstofdruk. J1939 legt vast in welke eenheid en met welke schaal die waarde wordt verstuurd, zodat elke ontvanger hem op dezelfde manier kan lezen.
Failure mode Identifier
Op het moment dat een waarde buiten zijn normale bereik valt, gebruikt J1939 diezelfde SPN om een fout te melden. Om te achterhalen wat de aard van de fout is, hebben we de FMI nodig. Die geeft door middel van een cijfer aan of een signaal te hoog, te laag, onbetrouwbaar of helemaal verdwenen is. Het cijfer 5 betekent bijvoorbeeld dat de stroom te laag is. Die betekenis maakt deel uit van de communicatiestandaard en is bijgevolg voor elk merk hetzelfde.
Vertaling naar dashboard
Geïsoleerd heeft u weinig aan zowel de SPN als de FMI. Het is pas als beide worden gecombineerd in een diagnostic message (DM) dat het duidelijk wordt wat er precies aan de hand is en er een foutmelding op het dashboard zal verschijnen. Hoe werkt dat precies? Daarvoor moeten we eerst nog een ander stukje van de puzzel introduceren, namelijk CAN.
De rol van CAN
In de praktijk vormt de CAN-bus met J1939 daarop een soort digitale ruggengraat van de machine. Alle ECU’s hangen parallel aan dezelfde twee draden: een CAN-high en -low. Het zou ons te ver leiden om daar veel dieper op in te gaan. Weet gewoon dat digitale informatie zeer gevoelig is voor bijvoorbeeld elektromagnetische storing. De dubbele bedrading moet de impact van dergelijke ongewenste invloeden beperken. Wanneer een sensor in de motor - om nog maar eens dat voorbeeld te gebruiken - een nieuwe waarde meet, zet de motor-ECU die waarde om in een J1939-bericht en stuurt het de bus op. Alle andere ECU’s luisteren mee.
Degene die deze informatie nodig heeft, bijvoorbeeld een datalogger, pikt het bericht eruit en gebruikt de waarde. Er is dus geen centrale computer die alles regelt. Het netwerk werkt als een gedeeld kanaal waarin elk systeem zijn eigen informatie aanbiedt. CAN zorgt ervoor dat belangrijke berichten voorrang krijgen. Een foutmelding van de motor komt bijvoorbeeld eerder door dan een minder kritisch comfortbericht. Zo blijft de machine ook bij druk dataverkeer veilig functioneren. Via de OBD, een diagnosestekker, kan een diagnosetoestel makkelijk aan het CAN-netwerk worden aangesloten zodat een technicus, mits de juiste licentie, de foutcodes kan uitlezen en het probleem op die manier veel makkelijker kan traceren en vervolgens herstellen.
Foutmelding
Terug naar ons dashboard. Hoe resulteren de J1939-diagnoseberichten in een foutmelding? Simpel: de stuurdoos van de display zal niet alleen de DM-berichten oppikken die over het CAN-netwerk worden verstuurd, maar onmiddellijk ook de SPN’s en FMI’s waaruit het diagnosebericht bestaat, vertalen naar een tekstmelding (bv. ‘Engine coolant temperature high’) of een numerieke code (SPN 110 FMI 0). Vaak worden dergelijke meldingen gecombineerd met een waarschuwingslampje of akoestisch alarm. Wat de operator ziet, is meestal niet letterlijk J1939, maar een door de fabrikant geformatteerde interpretatie. Met andere woorden, het formaat van de foutmelding, dat wil zeggen de SPN, FMI, lampstatus en DM, is samen met de betekenis ervan en de manier waarop ECU’s dit via CAN verzenden, universeel, terwijl de verpakking van de boodschap merkafhankelijk is. Daar komt nog bij dat fabrikanten eigen SPN’s mogen definiëren en voor zichzelf kunnen bepalen welke fouten zichtbaar zijn voor de operator en wat vervolgens de reactie van de machine moet zijn.
Hoe reageren op een foutmelding?
Zoals eerder uitgelegd zijn SPN’s gegroepeerd per systeem of functie. Terwijl lage en middelhoge SPN-nummers vaak horen bij de kernsystemen van de machine, kunnen hogere reeksen meestal worden gelinkt aan transmissie, hydrauliek, emissies, voertuigfuncties of comfortsystemen. Het ligt voor de hand dat operatoren extra op hun hoede moeten zijn als een SPN te maken heeft met een kernsysteem. Maar om te bepalen welke actie hij moet ondernemen, heeft een operator toch iets meer aan een FMI-nummer.
Laten we dat verduidelijken aan de hand van een voorbeeld. De SPN 100 refereert aan de motoroliedruk. Hoewel een kernsysteem, stelt de FMI 2 enigszins gerust: het signaal is onbetrouwbaar. De combinatie SPN 100 FMI 2 wijst in dit geval wellicht op een sensor-, stekker- of kabelprobleem. Niets superernstigs. Het is een heel ander verhaal wanneer de SPN 100 wordt gekoppeld aan de FMI 1: signaal te laag. Dit is een van de meest kritieke fouten die u kunt krijgen. Bij SPN 100 FMI 1 moet de motor onmiddellijk worden gestopt, omdat gebrek aan oliedruk binnen enkele seconden ernstige motorschade kan veroorzaken. Dezelfde SPN kan dus zowel een kleine storing als een motorbedreigend probleem betekenen. Het onderscheid tussen beide kan alleen gemaakt worden aan de hand van het FMI-nummer. De onderstaande tabel kan in deze context als algemene leidraad dienen. Maar veel hangt natuurlijk af van de afspraken die binnen elke firma in dit verband gemaakt worden.
Conclusie
SAE J1939 heeft foutanalyse sterk vereenvoudigd door een gestandaardiseerde communicatie tussen ECUs mogelijk te maken. Foutberichten worden uniform verzonden, waardoor storingen snel herkend en geïnterpreteerd kunnen worden. Diagnosetoestellen kunnen eenvoudig live-data en foutcodes uitlezen. Dit vermindert tijdrovende handmatige controles en zoektochten naar storingen. Zo maakt J1939 onderhoud efficiënter en betrouwbaarder.
Met dank aan Educam




