PassThru – SAE J2534
Die PassThru Spezifikation (SAE J2534) wurde erstmals im Jahr 2002 von der SAE (Society of Automotive Engineers) veröffentlicht und in den Jahren 2004 und 2006 weiterentwickelt. Die EPA (U.S. Environmental Protection Agency) und das ARB (California Air Resources Board) stellten neue Anforderungen an die Fahrzeughersteller: Fahrzeuge ab dem Modelljahr 2004 müssen demnach auch durch freie Werkstätten umprogrammierbar sein. Im europäischen Markt wurde 2009 die Euro 5-Norm mit vergleichbaren Anforderungen eingeführt. Bisher hatten die Hersteller proprietäre Systeme und sicherten so den Systemzugang. PassThru stellt eine API zur Verfügung, nach der sowohl Fahrzeughersteller als auch andere Firmen Diagnosesoftware entwickeln können. Zudem wird eine Hardware bereitgestellt, die über einen OBD2-Stecker (SAE J1962) mit dem Fahrzeug verbunden wird. Wie das Diagnosegerät (VCI) am Diagnose-PC angeschlossen wird (z. B. USB, RS232 oder Ethernet), liegt beim PassThru API Hersteller. Als Betriebssystem wird Windows vorausgesetzt.
Nutzer einer PassThru kompatiblen Diagnose Software können nun ein beliebiges PassThru Gerät am Markt auswählen und verwenden. Es werden sowohl KLINE als auch CAN Bus abgebildet und zu der Zeit gängige Protokolle wie KWP2000, UDS und RAW CAN unterstützt.
Die folgenden Protokolle sollten unterstützt werden:
- ISO9141
- ISO 14230-4 (KWP2000)
- SAE J1850 41.6 KBPS PWM (PULSE WIDTH MODULATION)
- SAE J1850 10.4 KBPS VPW (VARIABLE PULSE WIDTH)
- CAN
- ISO 15765-4 (CAN)
- SAE J2610 DAIMLERCHRYSLER SCI
Ablauf
Das nachfolgende Diagramm zeigt einen vereinfachten Ablauf, wie PassThru von einer Applikation genutzt wird:

Im Gegensatz zu RP 1210 wird durch PassThru ein Plausibilitätscheck des Nachrichtenformats durchgeführt. Auch bei PassThru liegt die Verantwortung für die Aufbereitung der Daten in einem zum Protokoll passenden Format bei der Applikation.
Die API bietet folgende Funktionen an:
| Funktion | Beschreibung |
|---|---|
| PassThruOpen | Herstellen einer Verbindung zum PassThru Device. |
| PassThruClose | Beenden der Verbindung zum PassThru Device. |
| PassThruConnect | Herstellen einer Verbindung mit einem protocol channel. |
| PassThruDisconnect | Beenden der Verbindung zu dem protocol channel. |
| PassThruReadMsgs | Liest Nachrichten vom protocol channel. |
| PassThruWriteMsgs | Schreibt Nachrichten auf protocol channel. |
| PassThruStartPeriodicMsg | Startet das periodische Senden einer Nachricht mit einem festgelegten Zeitintervall auf dem protocol channel. |
| PassThruStopPeriodicMsg | Beendet das periodische Senden einer Nachricht. |
| PassThruStartMsgFilter | Startet Filterung eingehender Nachrichten auf dem protocol channel. |
| PassThruStopMsgFilter | Beendet die Filterung eingehender Nachrichten auf dem protocol channel. |
| PassThruSetProgrammingVoltage | Setzt die Programmierspannung für einen bestimmten PIN. |
| PassThruReadVersion | Liest die Versionsinformation der PassThru DLL und API. |
| PassThruGetLastError | Gibt die Beschreibung des zuletzt aufgetretenen Fehlers zurück. |
| PassThruIoctl | Allgemeine I/O-Steuerungsfunktion zum Lesen und Schreiben der Protokoll Konfigurationsparameter (z.B. Initialisierung, Baudraten, Programmierspannung, usw.) |
Mit der Version 04.04 wurden die Funktionen PassThruOpen und PassThruClose ergänzt und dabei auch die Parameter anderer Funktionen erweitert. So wird beispielsweise die DeviceID ergänzt, die mit PassThruOpen zurückgegeben wird und zur Unterscheidung mehrerer VCIs im Parallelbetrieb dient.
Merkmale
- Es ist die Aufgabe der Client-Applikation die Nachrichten korrespondierenden Steuergeräten zuzuordnen
- Reine C-API mit 12 Funktionen
- Fehlerbehandlung durch Auswertung von Rückgabewerten (keine Exceptions)
- Hauptsächlich für Windows spezifiziert
Integration in einer Applikation
In der Theorie spielt es keine Rolle, welches PassThru Gerät ausgewählt wird. In der Praxis können sich der Funktions- und der Protokollumfang jedoch unterscheiden. Es ist auch möglich, mehrere Geräte parallel zu installieren und zu nutzen. Dazu wird die Software in der Windows-Registry eingetragen und kann anschließend von der Diagnosesoftware ausgewählt und verwendet werden.

Mit Version 5.0 der Spezifikation sieht PassThru auch die Verwendung von DoIP vor.
