Функция устанавливает связь по заданному протоколу. Для защиты вашей программы а так же для разделения доступа к функционалу программы, команда PassThruSecurityConnect
long PassThruConnect(unsigned long DeviceID, unsigned long ProtocolID, unsigned long Flags, unsigned long BaudRate, unsigned long *pChannelID)
| Определение | Выводы | Описание |
|---|---|---|
| J1850VPW | 2 VPW | Определён стандартами SAE J1850 и SAE J2178 Может одновременно работать с CAN и ISO15765, Не совместим с коммутируемыми протоколами. |
| J1850PWM | 2, 10 PWM | Определён стандартом SAE J1850 Может одновременно работать с CAN и ISO15765, Не совместим с коммутируемыми протоколами. |
| ISO9141 | 7K,15L Line | Определён стандартами ISO 9141 и SAE J1979 Может одновременно работать с CAN и ISO15765, Не совместим с коммутируемыми протоколами. |
| ISO14230 | 7K,15L Line | |
| CAN | 6H,14L CAN | Не обработанный CAN поток. Может одновременно работать со всеми протоколами. |
| ISO15765 | 6H,14L CAN | Определён стандартами ISO 15765-4 и ISO 14229-1 UDS Может одновременно работать со всеми протоколами. |
| SCI_A_ENGINE | Не поддерживается | |
| SCI_A_TRANS | Не поддерживается | |
| SCI_B_ENGINE | Не поддерживается | |
| SCI_B_TRANS | Не поддерживается | |
| J1850VPW_PS | Коммутируемый VPW | Определён стандартами SAE J1850 и SAE J2178 Может одновременно работать с CAN и ISO15765, Не совместим с коммутируемыми протоколами. |
| J1850PWM_PS | Коммутируемый PWM | Определён стандартом SAE J1850 Может одновременно работать с CAN и ISO15765, Не совместим с коммутируемыми протоколами. |
| ISO9141_PS | Коммутируемый K L Line | Определён стандартами ISO 9141 и SAE J1979 Может одновременно работать с CAN и ISO15765, Не совместим с коммутируемыми протоколами. |
| ISO14230_PS | Коммутируемый K L Line | Определён стандартами ISO 9141 и SAE J1979 Может одновременно работать с CAN и ISO15765, Не совместим с коммутируемыми протоколами. |
| CAN_PS | Коммутируемый CAN | Не обработанный CAN поток. Может одновременно работать со всеми протоколами. |
| ISO15765_PS | Коммутируемый CAN | |
| J2610_PS | Коммутируемый | |
| SW_ISO15765_PS | 1 CAN | |
| SW_CAN_PS | 1 CAN | |
| GM_UART_PS | Коммутируемый K Line |
| Определение | Код | Выводы | Описание |
|---|---|---|---|
| TP1_6_PS | 0x800A | 6H,14L CAN | |
| HONDA_DIAGH_PS | 0x800B | Коммутируемый K L Line | |
| J1939_PS | 0x800C | 6H,14L CAN | |
| KWP2000_PS | 0x800D | Коммутируемый 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 | Коммутируемый K Line | |
| ISO8_PS | 0x8014 | Коммутируемый K Line | |
| DS2_PS | 0x8015 | Коммутируемый K Line | |
| DAIHATSU_PS | 0x8016 | 7K Line | |
| ISOFORD_PS | 0x8017 | Коммутируемый K Line | |
| KW81_PS | 0x8018 | 7K Line | |
| KW82_PS | 0x8019 | 7K Line | |
| MB_PS | 0x801A | Коммутируемый K Line | |
| MBHFM_PS | 0x801B | 7K Line | |
| NISSAN_PS | 0x801C | 12K 13L Line | |
| MITSUBISHI_PS | 0x801D | 7K Line | |
| PEUGEOT_PS | 0x801E | Коммутируемый K Line | |
| TOYOTA_PS | 0x801F | 7K Line | |
| KIA_PS | 0x8020 | Коммутируемый K Line | |
| WABKO_PS | 0x8021 | Коммутируемый K Lin | |
| J4_PS | 0x8022 | 7K Line | |
| ALDL160_PS | 0x8023 | Коммутируемый K Line | |
| CUMMINS | 0x8024 | 6H, 14L CAN |
| Название константы | бит | Описание |
|---|---|---|
| ISO9141_K_LINE | 12 | Использование L линии для инициализации протоколов. 0 = Используется L-линия и K-линия для инициализации 1 = Используется только K-линия для инициализации |
| CAN_ID_BOTH | 11 | Приём обоих типов CAN идентификаторов для протоколов CAN and ISO 15765 (смотрите так же бит 8) 0 = Используется 11 или 29 битный идентификатор как определено битом 8 1 = 11 и 29 битные идентификаторы принимаются адаптером. Установка бита 8 игнорируется. |
| ISO9141_NO_CHECKSUM | 3 | Проверка контрольной суммы пакета для ISO9141 и ISO14230 0 = Адаптер генерирует и проверяет контрольную сумму как определено стандартом ISO 9141-2 и ISO 14230-2. 1 = Адаптер не генерирует и не проверяет контрольную сумму. |
| CAN_29BIT_ID | 8 | Тип CAN идентификатора для протоколов CAN и ISO 15765 0 = Принимаются пакеты с 11 битным идентификатором. 1 = Принимаются пакеты с 29 битным идентификатором. |
| Определение | Описание |
|---|---|
| STATUS_NOERROR | Функция выполнена успешно |
| ERR_DEVICE_NOT_CONNECTED | Нет соединения с адаптером. Возможные причины: Адаптер выключен, нет сети, или не правильно задан IP адрес. |
| ERR_INVALID_DEVICE_ID | Задан не существующий идентификатор адаптера DeviceID |
| ERR_NOT_SUPPORTED | Протоколы SCI на 04.09.16 ещё не поддерживаются адаптером. Так же эта ошибка возникает если задаются не совместимые протоколы. Например одновременно заданы VPW и PWM |
| ERR_INVALID_PROTOCOL_ID | Задан не существующий ProtocolID. |
| ERR_NULL_PARAMETER | Не задан указатель pDeviceID. |
| ERR_INVALID_FLAGS | Задан не существующий флаг |
| ERR_INVALID_BAUDRATE | Задана не правильная скорость обмена |
| ERR_CHANNEL_IN_USE | Канал уже используется. Определён стандартом J2534.
В реальности этот код ошибки никогда не появится. Так как при повторном вызове команды PassThruConnect произойдёт автоматический вызов команды PassThruDiscоnnect и канал будет переоткрыт.
|
| ERR_FAILED | Определён стандартом J2534. В адаптере, для этой функции не используется. |
#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)
{ // Обработка ошибки
}