# El OBDII Completo/OBD En Breve/PID a fondo

El estándar SAE J1979 y su equivalente técnico europeo el ISO15031-5 están enfocados a los requerimientos de reporte de datos de OBD. El J1939 guarda similitudes, pero este último está enfocado a los vehículos de carga pesada. Este estándar está enfocado a ser independiente de región, modelo del vehículo, tipo de motor y de vehículo.
El SAE J1979 especifica:
* Formatos de los mensajes para pedir y recibir mensajes
* Requerimientos de tiempos y secuencia entre requerimientos de mensajes desde equipos externos de prueba y mensajes de respuesta de los vehículos, así como entre estos mensajes y los subsecuentes requerimientos
* Comportamiento entre el vehículo y el equipo externo de prueba si no hay datos disponibles.
* Un conjunto de servicios de diagnóstico, con los correspondientes contenidos de mensajes de requerimiento y respuesta, para satisfacer las regulaciones OBD en los centros de verificación.
El sistema está especificado de manera que los mensajes de requerimiento son mensajes funcionales, es decir que el equipo de prueba externo va a solicitar el dato sin saber que ECUs le van a contestar. En algunos vehículos, múltiples ECUs pueden contestar con la información requerida. Cualquier equipo externo debe ser capaz de procesar múltiples respuestas. Todos los sistemas deben ser capaces de procesar y responder al servicio $01 y PID $00. Este servicio $01 y PID $00 son definidos como el mensaje universal de “ping” el cual en los sistemas que contemplan time out se utiliza para mantener viva la conexión.
Este protocolo maneja una extensa guia de los requerimientos del orden de los mensajes requerido y respuesta, con sus tiempos limites dependiendo del estándar utilizado en capas inferiores así como la condición en la que se encuentra, por decir si no hay respuesta como proceder. La longitud de mensaje máximo es de 7 bytes. Dependiendo del estándar en capas inferiores, esta longitud puede ser fija o variable.
El estándar ISO15765-4 permite algunos bits opcionales extra en el mensaje de requerimiento. Especifica mensajes de respuesta positiva o negativa. Algunos otros mensajes mnemotécnicos como bus ocupado o servicio no soportado son también definidos en este estándar.
En el SAE J1979 Los servicios están definidos del $01 al $09, aunque el mismo estándar se reserva del $01 al $0F. Ver enlace: Modos o servicios PID
La comunicación de comandos OBD se realiza enviando bytes en hexadecimal. El primer byte corresponde al modo OBD en el que se quiere trabajar, el segundo byte corresponde a un parámetro de identificación del modo previsto (PID).
Los modos se son los mencionados anteriormente, por ejemplo 1º Byte 0x01 Muestra flujo de datos en “tiempo real”. El segundo byte, tercer byte, etc., especifican la información que se requiere. Por ejemplo:
Si se quiere preguntar cuál es la temperatura del motor, el primer byte será el modo”01” que muestra flujo de datos y el segundo byte es el PID “05”. En el documento SAE J1979 se establecen todas las regulaciones sobre OBD. Así siguiendo el ejemplo, para conocer la temperatura la comunicación a nivel de bytes se realiza de la siguiente manera:
>01 05 Pregunta >41 05 7B Respuesta
En la respuesta recibida, se suma en hexadecimal 40+01=41, a continuación el PID =05 y después la respuesta recibida será 7B. Este número en decimal es el 123, el cual corresponde en la fórmula de obtención del dato al byte A. Por lo que:
Temperatura motor=A-40=123-40=83ºC
No todos los PID’s son soportados por las ECU’s por lo que en el modo 01 con PID 00 se informa de qué PID’s son soportados por el vehículo. De esta forma, accediendo a cada PID mediante un puerto COM, se puede acceder a todos los datos soportados por el vehículo.
REFERENCIA: Protocolos SAE / ISO relacionados a OBD Next Page: Modos o Servicios PID Previous Page: DTCs a fondo Main Page: El OBDII Completo - Indice