Die Funktion stellt eine geschützte Verbindung über das angegebene Protokoll her. Zum Schutz Ihres Programms sowie zur Trennung der Zugriffsrechte auf die Programmfunktionen wird der Befehl PassThruSecurityConnect verwendet.
long PassThruConnect(unsigned long DeviceID, unsigned long ProtocolID, unsigned long Flags, unsigned long BaudRate, unsigned long *pChannelID)
| Definition | Pins | Beschreibung |
|---|---|---|
| J1850VPW | 2 VPW | Definiert durch die Standards SAE J1850 und SAE J2178. Kann gleichzeitig mit CAN und ISO15765 betrieben werden, nicht kompatibel mit geschalteten Protokollen. |
| J1850PWM | 2, 10 PWM | Definiert durch den Standard SAE J1850. Kann gleichzeitig mit CAN und ISO15765 betrieben werden, nicht kompatibel mit geschalteten Protokollen. |
| ISO9141 | 7K,15L Line | Definiert durch die Standards ISO 9141 und SAE J1979. Kann gleichzeitig mit CAN und ISO15765 betrieben werden, nicht kompatibel mit geschalteten Protokollen. |
| ISO14230 | 7K,15L Line | |
| CAN | 6H,14L CAN | Unverarbeiteter CAN-Datenstrom. Kann gleichzeitig mit allen Protokollen betrieben werden. |
| ISO15765 | 6H,14L CAN | Definiert durch die Standards ISO 15765-4 und ISO 14229-1 UDS Kann gleichzeitig mit allen Protokollen betrieben werden. |
| SCI_A_ENGINE | Nicht unterstützt | |
| SCI_A_TRANS | Nicht unterstützt | |
| SCI_B_ENGINE | Nicht unterstützt | |
| SCI_B_TRANS | Nicht unterstützt | |
| J1850VPW_PS | Geschaltetes VPW | Definiert durch die Standards SAE J1850 und SAE J2178. Kann gleichzeitig mit CAN und ISO15765 betrieben werden, nicht kompatibel mit geschalteten Protokollen. |
| J1850PWM_PS | Geschaltetes PWM | Definiert durch den Standard SAE J1850. Kann gleichzeitig mit CAN und ISO15765 betrieben werden, nicht kompatibel mit geschalteten Protokollen. |
| ISO9141_PS | Geschaltete K L Line | Definiert durch die Standards ISO 9141 und SAE J1979. Kann gleichzeitig mit CAN und ISO15765 betrieben werden, nicht kompatibel mit geschalteten Protokollen. |
| ISO14230_PS | Geschaltete K L Line | Definiert durch die Standards ISO 9141 und SAE J1979. Kann gleichzeitig mit CAN und ISO15765 betrieben werden, nicht kompatibel mit geschalteten Protokollen. |
| CAN_PS | Geschaltetes CAN | Unverarbeiteter CAN-Datenstrom. Kann gleichzeitig mit allen Protokollen betrieben werden. |
| ISO15765_PS | Geschaltetes CAN | |
| J2610_PS | Geschaltet | |
| SW_ISO15765_PS | 1 CAN | |
| SW_CAN_PS | 1 CAN | |
| GM_UART_PS | Geschaltete K Linee |
| Definition | Code | Pins | Beschreibung |
|---|---|---|---|
| TP1_6_PS | 0x8FFE | 6H,14L CAN | |
| HONDA_DIAGH_PS | 0x800B | Geschaltete K L Line | |
| J1939_PS | 0x800C | 6H,14L CAN | |
| KWP2000_PS | 0x800D | Geschaltete K L Line | |
| TP2_0_PS | 0x800E | 6H,14L CAN | |
| ISO14230_TP2_0_PS | 0x800F | 6H,14L CAN | |
| ISO14230_TP1_6_PS | 0x8010 | ||
| KW1281_PS | 0x8011 | ||
| KW1281_TP1_6_PS | 0x8012 | ||
| ISO5_PS | 0x8013 | Geschaltete K Linee | |
| ISO8_PS | 0x8014 | Geschaltete K Linee | |
| DS2_PS | 0x8015 | Geschaltete K Linee | |
| DAIHATSU_PS | 0x8016 | 7K Linee | |
| ISOFORD_PS | 0x8017 | Geschaltete K Linee | |
| KW81_PS | 0x8018 | 7K Linee | |
| KW82_PS | 0x8019 | 7K Linee | |
| MB_PS | 0x801A | Geschaltete K Linee | |
| MBHFM_PS | 0x801B | 7K Linee | |
| NISSAN_PS | 0x801C | 12K 13L Line | |
| MITSUBISHI_PS | 0x801D | 7K Linee | |
| PEUGEOT_PS | 0x801E | Geschaltete K Linee | |
| TOYOTA_PS | 0x801F | 7K Linee | |
| KIA_PS | 0x8020 | Geschaltete K Linee | |
| WABKO_PS | 0x8021 | Geschaltete K Line | |
| J4_PS | 0x8022 | 7K Linee | |
| ALDL160_PS | 0x8023 | Geschaltete K Linee | |
| CUMMINS | 0x8024 | 6H, 14L CAN |
| Konstantenname | Bit | Beschreibung |
|---|---|---|
| ISO9141_K_LINE | 12 | Verwendung der L-Leitung zur Initialisierung der Protokolle. 0 = L-Leitung und K-Leitung werden zur Initialisierung verwendet 1 = Nur die K-Leitung wird zur Initialisierung verwendet |
| CAN_ID_BOTH | 11 | Empfang beider CAN-Kennungstypen für die Protokolle CAN und ISO 15765 (siehe auch Bit 8) 0 = Es wird eine 11- oder 29-Bit-Kennung verwendet, wie durch Bit 8 festgelegt 1 = 11- und 29-Bit-Kennungen werden vom Adapter empfangen. Die Einstellung von Bit 8 wird ignoriert. |
| ISO9141_NO_CHECKSUM | 3 | Prüfung der Paket-Prüfsumme für ISO9141 und ISO14230 0 = Der Adapter erzeugt und prüft die Prüfsumme gemäß den Standards ISO 9141-2 und ISO 14230-2. 1 = Der Adapter erzeugt und prüft die Prüfsumme nicht. |
| CAN_29BIT_ID | 8 | Typ der CAN-Kennung für die Protokolle CAN und ISO 15765 0 = Pakete mit 11-Bit-Kennung werden empfangen. 1 = Pakete mit 29-Bit-Kennung werden empfangen. |
| Definition | Beschreibung |
|---|---|
| STATUS_NOERROR | Funktion erfolgreich ausgeführt |
| ERR_DEVICE_NOT_CONNECTED | Keine Verbindung zum Adapter. Mögliche Ursachen: Adapter ausgeschaltet, kein Netzwerk oder falsch angegebene IP-Adresse. |
| ERR_INVALID_DEVICE_ID | Es wurde eine nicht existierende Adapterkennung DeviceID angegeben |
| ERR_NOT_SUPPORTED | Die SCI-Protokolle werden vom Adapter nicht unterstützt. Dieser Fehler tritt außerdem auf, wenn inkompatible Protokolle angegeben werden. Zum Beispiel, wenn VPW und PWM gleichzeitig angegeben sind |
| ERR_INVALID_PROTOCOL_ID | Es wurde eine nicht existierende ProtocolID angegeben. |
| ERR_NULL_PARAMETER | Der Zeiger pDeviceID wurde nicht angegeben. |
| ERR_INVALID_FLAGS | Es wurde ein nicht existierendes Flag angegeben |
| ERR_INVALID_BAUDRATE | Es wurde eine falsche Übertragungsgeschwindigkeit angegeben |
| ERR_CHANNEL_IN_USE | Der Kanal wird bereits verwendet. Definiert durch den Standard J2534.
In der Praxis tritt dieser Fehlercode niemals auf. Denn bei einem erneuten Aufruf des Befehls PassThruConnect erfolgt ein automatischer Aufruf des Befehls PassThruDisconnect und der Kanal wird neu geöffnet.
|
| ERR_FAILED | Interner Fehler in der DLL oder in der Firmware des Adapters. Etwa ein Speicherzuteilungsfehler oder ein Stapelüberlauf. Für Einzelheiten ist die Funktion PassThruGetLastError() zu verwenden |
#include "j2534_lib.hpp"
unsigned long DeviceID;
long Ret;
unsigned long ChannelID;
unsigned long Flags = ISO9141_K_LINE_ONLY;
Ret = PassThruConnect(DeviceID, ISO14230, Flags, 10400, &ChannelID);
if (Ret != STATUS_NOERROR)
{ // Fehlerbehandlung
}