Изучив первоисточники:
Здесь - http://www.scoobymonitor.co.uk/,
Потом - http://www.vwrx.com/index.php?pg=selectmonitor,
И наконец - http://www.alcyone.org.uk/ssm/protocol.html, решил сделать диагностику самостоятельно.
Собирал схему http://www.vwrx.com/selectmonitor/RS232-Discrete-B.pdf на макетке. Стабилизатор U1 – любой с выходным напряжением – 5В. У меня простая советская КРЕН5А. MAX232 – 30руб – не проблема. И наконец кабель RS232 – нашел донора, прозвонкой убедился, что в наличии как минимум 3 провода идущие на контакты 2,3,5, один коцец безжалостно откусил, второй в макетку, согласно схеме. OBD-II разъем – этого так просто не найти, решил - для эксперимента сойдут просто штыри. Провода пометил бирками. Плату заизолировал скотчем. Распечатал страницу EN(SOHC)-31 - ту где рисунок и цоколевка DATA LINK CONNECTOR. На ноут поставил http://www.vwrx.com/selectmonitor/Se...tor_V1.1.0.zip .
Чтобы проще попадать штырьками в разъем, снял панель под рулем на которой смонтирован диагностический разъем, и отсоединил корпус разъема от панели. Панель на место, а разъем болтается, зато стал доступен. Воткнул 4 штырька в разъем, кабель RS232 в ноутбук(ноут д.б. старый, т.е. с RS-ом или адаптер RS-USB) , включил зажигание, запустил SelectMonitor и … работает, и даже лог пишет. Однако скорость считывания параметров никак нельзя назвать достаточной для диагностики.
Дословно:
1)«The baud rate is quite slow, realistically you can only query about 5 memory locations per second»
и
2)«According to Kashima, the 4th byte of the read command is supposed to indicate how many bytes to read. This does not seem to work on the cars I have tested. The byte must be sent, but its value seems to be ignored.»
Проверка показала – 4-й байт в READ COMMAND работает по крайней мере у меня, а так как важные параметры расположены подряд в адресном пространстве контроллера, например в моем случае;
BatteryVoltageAddress=0007
VehicleSpeedAddress=0008
EngineSpeedAddress=0009
CoolantTempAddress=000A
IgnitionAdvanceAddress=000B
AirflowSensorAddress=000C
EngineLoadAddress=000D
ThrottlePositionAddress=000F
InjectorPulseWidthAddress=0010
ISUDutyValveAddress=0011
O2AverageAddress=0012
O2MinimumAddress=0013
O2MaximumAddress=0014
KnockCorrectionAddress=0015
AFCorrectionAddress=001C
AtmosphericPressureAddress=001F
ManifoldPressureAddress=0020
, то ОДНОГО запроса 0x78 0x00 0x07 0x19 достаточно для получения массы информации.
Далее написал небольшую утилиту под ДОС и диагностика готова.
П.С. Беглый анализ лога показал некоторую неточность таблицы параметров.