ELM327 es un protocolo de intercambio textual basado en comandos AT, desarrollado originalmente para el intérprete OBD del mismo nombre de la empresa ELM Electronics. Gracias a su simplicidad, se ha convertido en el estándar de facto para el diagnóstico OBD-II y es compatible con la gran mayoría de aplicaciones y bibliotecas de diagnóstico.
El adaptador ScanDoc implementa ELM327 v2.3 con un conjunto ampliado de comandos, que incluye la compatibilidad con DoIP (Diagnostics over IP) para el diagnóstico por Ethernet de los automóviles modernos.
El intercambio de datos se realiza a través de una interfaz serie (WLAN, BLE o USB). Los comandos se envían como texto ASCII y terminan con un carácter de retorno de carro (CR, 0x0D). El adaptador responde con un resultado, seguido del carácter de aviso
>.
Existen dos tipos de comandos:
AT).Los automóviles BMW utilizan el direccionamiento CAN extendido (CAN Extended Addressing), en el que el primer byte de datos de la trama CAN contiene la dirección de la ECU de destino. A continuación se muestra un ejemplo real de sesión de diagnóstico.
// --- Inicialización del adaptador --- >ATZ // Reinicio completo del adaptador ELM327 v2.3 >ATE0 // Desactivar el eco OK >ATS0 // Desactivar los espacios en las respuestas OK >ATH1 // Activar las cabeceras en las respuestas OK >ATL0 // Desactivar el salto de línea OK >ATAL // Permitir mensajes largos (>7 bytes) OK >ATAT0 // Desactivar la sincronización adaptativa OK >ATSTff // Tiempo de espera máximo (FF × 4 ms ≈ 1 s) OK // --- Configuración del protocolo CAN para BMW --- >ATPBC101 // Protocolo B: C1 = ID de 11 bits + ISO 15765, 01 = 500 kBaud OK >ATSPB // Seleccionar el protocolo B (USER1 CAN) OK >ATBI // Omitir la inicialización (BMW no usa la iniciación OBD estándar) OK >ATSH6F1 // CAN ID de envío = 0x6F1 (dirección del tester BMW) OK // --- Flow Control y direccionamiento extendido --- >ATFCSH6F1 // Cabecera Flow Control = 0x6F1 OK >ATFCSD4030FF32 // Datos FC: 40=dirección ECU, 30=CTS, FF=sin límite, 32=50 ms OK >ATFCSM1 // Modo FC = 1 (totalmente de usuario) OK >ATCRA640 // Recibir respuestas con CAN ID = 0x640 OK >ATCEA40 // Dirección CAN extendida = 0x40 (dirección ECU) OK // --- Consulta a la ECU en la dirección 0x40 — sin respuesta --- >1A80 // Servicio 0x1A (Read ECU Identification), parámetro 0x80 NO DATA >22F150 // UDS: servicio 0x22 (ReadDataByIdentifier), DID=F150 NO DATA // --- Cambio a la ECU en la dirección 0x10 --- >ATFCSD1030FF32 // Datos FC: dirección ECU = 0x10 OK >ATFCSM1 // Modo FC = 1 OK >ATCRA610 // Recibir respuestas con CAN ID = 0x610 OK >ATCEA10 // Dirección CAN extendida = 0x10 OK // --- Respuesta correcta --- >22F150 // UDS: ReadDataByIdentifier, DID=F150 610F10662F1500F25F0 // 610=CAN ID, F1=tester, 06=longitud, 62=respuesta, F150=DID, 0F25F0=datos
| Comando | Descripción |
|---|---|
AT <CR> |
repetir el último comando El envío de un único carácter de retorno de carro hace que ELM327 repita el último comando ejecutado. Normalmente esto se usa cuando se desea recibir actualizaciones de valores a la máxima velocidad posible — por ejemplo, puede enviar 01 0C para obtener las revoluciones del motor y luego enviar solo el carácter de retorno de carro cada vez que quiera recibir una actualización. |
AT AL |
Permitir mensajes largos Los protocolos OBDII estándar limitan a siete el número de bytes de datos en un mensaje, lo cual normalmente también hace ELM327 (tanto al enviar como al recibir). Si se selecciona AL, ELM327 permitirá el envío largo (ocho bytes de datos) y la recepción (cantidad ilimitada). Por defecto, AL está desactivado (y se selecciona NL). Para enviar mensajes CAN de 8 bytes, ELM327 no requiere cambiar AL, pero debe saber que si proporciona 8 bytes de datos CAN con el direccionamiento CAN extendido activado o con el formato ISO 15765 normal, los bytes de datos podrían perderse. Esto se debe a que un mensaje CAN solo es capaz de transmitir 8 bytes de datos, de modo que si es necesario añadir una dirección extendida o un byte PCI, podrían enviarse menos bytes de datos. |
AT AMC |
display Activity Monitor Count El monitor de actividad usa un contador para determinar el grado de actividad de las entradas OBD de ELM327. Cada vez que se detecta actividad, este contador se pone a cero, y si no hay actividad, el contador se incrementa (cada 0,655 segundos). Este contador representa el tiempo transcurrido desde la última detección de actividad y puede resultar útil al escribir su propia lógica basada en la actividad OBD. El contador no se incrementa por encima de FF (la lógica interna lo detiene en ese valor) y permanece en 00 durante la monitorización. |
AT AMT hh |
establecer el tiempo de espera Act Mon Timeout en hh ELM327 puede pasar a un modo de bajo consumo de energía ("reposo") si durante un período de tiempo determinado no se detecta actividad OBD. El ajuste de este período se realiza mediante el bit 4 de PP 0F o mediante el valor AMT hh. Si el valor AMT hh es distinto de cero, el tiempo hasta que se dispare la señal de alarma será de (hh+1) x 0,65536 segundos. Si el valor se establece en 00, se bloquean todas las salidas de bajo consumo del monitor de actividad (véase la Figura 6 en la pág. 68). Para más información sobre el monitor de actividad, consulte la sección "Gestión de energía". |
AT AT0, AT1 y AT2 |
Control adaptativo del tiempo Al recibir una respuesta del vehículo, ELM327 tradicionalmente espera la respuesta durante el tiempo establecido por el parámetro AT ST hh. Para garantizar que el circuito funcione con una amplia gama de vehículos, el valor por defecto se estableció de forma conservadora (lento). A pesar de la posibilidad de ajuste, muchas personas no disponían del equipo o la experiencia para determinar el mejor valor. La función Adaptive Timing establece automáticamente el valor del tiempo de espera según el tiempo de reacción real de su vehículo. Cuando cambian las condiciones, como la carga del bus, etc., el algoritmo aprende y realiza el ajuste correspondiente. Tenga en cuenta que siempre utiliza su valor AT ST hh como máximo y nunca elegirá uno más largo. Existen tres ajustes de sincronización adaptativa que se pueden utilizar. Por defecto, está activada la opción Adaptive Timing option 1 (AT1), y es el ajuste recomendado. AT0 se usa para desactivar la sincronización adaptativa (de modo que el tiempo de espera es siempre igual al tiempo establecido por AT ST), y AT2 es una versión más agresiva de AT1 (el efecto es más notable en conexiones muy lentas — puede que no note una gran diferencia con sistemas OBD más rápidos). El protocolo J1939 no admite la sincronización adaptativa — usa tiempos de espera fijos establecidos por la norma. |
AT BD |
realizar un volcado del búfer OBD Todos los mensajes enviados y recibidos por ELM327 se almacenan temporalmente en un conjunto de doce celdas de memoria denominado búfer OBD. A veces resulta útil examinar el contenido de este búfer, quizás para averiguar la causa de una iniciación fallida, ver los bytes de cabecera del último mensaje o simplemente para aprender la estructura de los mensajes OBD. En cualquier momento puede solicitar que se "vuelque" el contenido de este búfer (es decir, que se imprima) — cuando lo haga, ELM327 enviará un byte de longitud (que representa la longitud del mensaje en el búfer), seguido del contenido de las doce posiciones del búfer OBD. Por ejemplo, aquí hay un "volcado": >AT BD 05 C1 33 F1 3E 23 C4 00 00 10 F8 00 00 El valor 05 es el byte de longitud — nos indica que solo los primeros 5 bytes son fiables (es decir, C1 33 F1 3E y 23). Los bytes restantes probablemente hayan quedado de una operación anterior. El byte de longitud siempre representa el número real de bytes recibidos, independientemente de si cupieron en el búfer OBD o no. Esto puede ser útil al examinar flujos de datos largos (con AT AL), ya que representa el número real de bytes recibidos, mod 256. Tenga en cuenta que en el búfer solo se guardan los primeros doce bytes recibidos. |
AT BI |
Omisión de la secuencia de inicialización Este comando debe usarse con precaución. Permite activar el protocolo OBD sin necesidad de inicialización ni de negociación (handshake). El proceso de inicialización se utiliza normalmente para comprobar la fiabilidad del protocolo, y sin él los resultados pueden ser difíciles de prever. No debe usarse en aplicaciones OBD cotidianas y se ha facilitado únicamente para crear simuladores de ECU y demostradores de formación. |
AT BRD hh |
try Baud Rate Divisor hh Este comando se utiliza para cambiar el divisor de la velocidad de transmisión RS232 al valor hexadecimal indicado en hh, bajo el control del ordenador. No está pensado para experimentos aleatorios — si quiere cambiar la velocidad de transmisión desde un programa de terminal, debe usar PP 0C. Como algunos circuitos de interfaz no pueden funcionar a velocidades de transmisión altas, el comando BRD utiliza una secuencia de envíos y recepciones para probar la interfaz, de modo que cualquier fallo provoca el regreso a la velocidad de transmisión anterior. Esto permite probar varias velocidades de transmisión y elegir una fiable para la comunicación. Todo el proceso se describe detalladamente en la sección "Uso de velocidades de transmisión RS232 más altas" en la página 53. Si tiene éxito, la velocidad de transmisión real (en kbit/s) será igual a 4000 dividido entre el divisor (hh). El valor 00 no es fiable y no es aceptado por el comando BRD. |
AT BRT hh |
establecer el tiempo de espera de la velocidad de transmisión en hh Este comando permite cambiar el tiempo de espera utilizado para la negociación de la velocidad de transmisión (es decir, AT BRD). El retardo es de hh x 5,0 ms, donde hh es un valor hexadecimal. Por defecto, este ajuste tiene el valor 0F, que proporciona 75 ms. Tenga en cuenta que el valor 00 no da 0 ms — proporciona el tiempo máximo de 256 x 5,0 ms, o 1,28 segundos. |
AT D |
establecer todo a los valores por defecto Este comando se utiliza para establecer los parámetros por defecto (o de fábrica), como en el primer encendido. El último protocolo guardado se recuperará de la memoria y pasará a ser el ajuste actual (posiblemente cerrando otros protocolos activos). Cualquier ajuste realizado por el usuario para cabeceras, filtros o máscaras personalizadas se restaurará a los valores por defecto, y todos los ajustes del temporizador también se restaurarán a los valores por defecto. |
AT D0 y D1 |
visualización de DLC desactivada o activada El estándar CAN (ISO 15765-4) OBD exige que todos los mensajes consten de 8 bytes de datos, por lo que la visualización del número de bytes de datos (DLC) normalmente no es muy útil. Sin embargo, al experimentar con otros protocolos puede ser útil poder ver la longitud de los datos. Los comandos D0 y D1 controlan la visualización del dígito DLC (para ver este dígito deben estar activadas las cabeceras). Cuando se muestra, un único dígito DLC aparece entre los bytes de ID (cabecera) y los bytes de datos. El ajuste por defecto lo determina PP 29. |
AT DM1 |
monitorizar DM1s El protocolo SAE J1939 transmite periódicamente los códigos de avería en forma de mensajes Diagnostic Mode 1 (DM1). Este comando configura ELM327 para la monitorización constante de este tipo de mensajes, siguiendo los protocolos de transporte multisegmento si es necesario. Tenga en cuenta que para obtener un resultado similar se puede usar una combinación de máscaras y filtros, pero estos no permitirán detectar los mensajes multilínea. El comando DM1 añade la lógica adicional necesaria para los mensajes multilínea. Este comando solo está disponible si para el formato J1939 se ha seleccionado un protocolo CAN (A, B o C). Al intentar ejecutarlo en cualquier otra condición se devuelve un error. |
AT DP |
Describir el protocolo actual ELM327 detecta automáticamente el protocolo OBD del vehículo, pero normalmente no lo informa. El comando DP es una forma cómoda de saber a qué protocolo está configurado el circuito en ese momento (incluso si aún no está conectado al vehículo). Si se ha seleccionado un protocolo y también la opción automática, AT DP mostrará la palabra 'AUTO' antes de la descripción del protocolo. Tenga en cuenta que en la descripción se indican los nombres reales de los protocolos, y no los números utilizados por los comandos de configuración de protocolos. |
AT DPN |
"Describir el protocolo por número" Este comando es similar al comando DP, pero devuelve un número que indica el protocolo actual. Si también está activada la función de búsqueda automática, el número irá precedido de la letra 'A'. Es el mismo número que se utiliza en los comandos "Establecer protocolo" y "Probar protocolo". |
AT E0 y E1 |
"Eco" desactivado o activado Estos comandos controlan si los caracteres recibidos a través del puerto RS232 se devolverán por eco (de nuevo) al ordenador principal. El eco de los caracteres puede utilizarse para confirmar que los caracteres enviados a ELM327 se recibieron correctamente. Por defecto se establece el valor E1 (es decir, eco activado). |
AT FE |
Forget Events Existen determinados eventos que pueden cambiar el comportamiento de ELM327 a partir de ese momento. Uno de ellos es la aparición de un error fatal de CAN (ERR94), que bloquea la búsqueda posterior por protocolos CAN si el bit 5 de PP 2A es igual a '1'. Normalmente, este evento afecta a todas las búsquedas hasta el siguiente apagado y encendido, pero puede "olvidarse" por software, mediante el comando AT FE. Otro ejemplo es el evento 'LV RESET', que impide la búsqueda por protocolos CAN si el bit 4 de PP 2A es igual a '1'. Este evento también puede olvidarse mediante el comando AT FE. |
AT H0 y H1 |
"Cabeceras" desactivadas o activadas Estos comandos controlan si se muestran o no los bytes adicionales (de cabecera) de información en las respuestas del vehículo. Normalmente ELM327 no los muestra, pero pueden resultar de interés (especialmente si ha recibido varias respuestas y quiere determinar de qué módulos provienen). Activar las cabeceras (con AT H1) en realidad muestra no solo los bytes de cabecera — verá el mensaje completo transmitido, incluidos los dígitos de control y los bytes PCI, así como, posiblemente, el código de longitud de datos CAN (DLC), si se activó con PP 29 o AT D1. La versión actual de este circuito no muestra el código CAN CRC ni los bytes especiales J1850 IFR (que algunos protocolos usan para confirmar la recepción del mensaje). |
AT I |
Preséntese Este comando hace que el chip se identifique imprimiendo la cadena de identificador de producto (actualmente 'ELM327 v2.3'). El software puede usarlo para determinar con qué circuito integrado exactamente se está comunicando, sin necesidad de reiniciar el chip. |
AT IA |
¿Está activo el protocolo? Este comando permite saber si ELM327 considera que el protocolo actual está activo o no. En respuesta a la consulta responderá Y o N, es decir, "Sí" o "No". Para que ELM327 responda a algunos comandos, se requiere un protocolo "activo". Un protocolo se considera activo si ha recibido respuestas correctas a una consulta estándar o a una negociación de bytes, o si el usuario ha omitido este proceso mediante el comando AT BI. Tenga en cuenta que ELM327 marca el protocolo como activo inicialmente, pero después no lo monitoriza, por lo que no sabe si la ECU dejó de responder a las consultas en algún momento futuro (es decir, si el protocolo ya no está activo). Su software puede necesitar enviar periódicamente una consulta estándar (preferiblemente 01 00) para determinar si la ECU realmente sigue activa. |
AT IB10 |
establecer la velocidad de transmisión ISO en 10400 Este comando restaura la velocidad de transmisión ISO 9141-2 e ISO 14230-4 (protocolos 3, 4 y 5) al valor por defecto de 10400. Tenga en cuenta que el comando IB10 puede usarse en cualquier momento (es decir, "sobre la marcha"). |
AT IB12 |
establecer la velocidad de transmisión ISO en 12500 Este comando se utiliza para cambiar la velocidad de transmisión usada para los protocolos ISO 9141-2 e ISO 14230-4 (números 3, 4 y 5) a 12500 baudios. Tenga en cuenta que el comando IB12 puede usarse en cualquier momento (es decir, "sobre la marcha"). |
AT IB15 |
establecer la velocidad de transmisión ISO en 15625 baudios Este comando se utiliza para cambiar la velocidad de transmisión usada para los protocolos ISO 9141-2 e ISO 14230-4 (números 3, 4 y 5) a 15625 baudios. Tenga en cuenta que el comando IB15 puede usarse en cualquier momento (es decir, "sobre la marcha"). |
AT IB48 |
establecer la velocidad de transmisión ISO en 4800 baudios Este comando se utiliza para cambiar la velocidad de transmisión usada para los protocolos ISO 9141-2 e ISO 14230-4 (números 3, 4 y 5) a 4800 baudios. Tenga en cuenta que el comando IB48 puede usarse en cualquier momento (es decir, "sobre la marcha"). |
AT IB96 |
establecer la velocidad de transmisión ISO en 9600 baudios Este comando se utiliza para cambiar la velocidad de transmisión usada para los protocolos ISO 9141-2 e ISO 14230-4 (números 3, 4 y 5) a 9600 baudios. Tenga en cuenta que el comando IB96 puede usarse en cualquier momento (es decir, "sobre la marcha"). |
AT IFR0, IFR1 y IFR2 |
Control de IFR - sin monitorización El protocolo SAE J1850 permite enviar un byte In-Frame Response (IFR) después de cada mensaje, normalmente para confirmar la recepción correcta de dicho mensaje. ELM327 genera y envía automáticamente este byte por usted, siempre que no esté monitorizando (por defecto, ELM327 siempre permanece en silencio durante la monitorización). Puede modificar este comportamiento mediante el comando IFR. El comando IFR0 desactiva el envío de todos los IFR, independientemente del mensaje requerido. El comando IFR2 actúa al contrario — en respuesta a un mensaje siempre se enviará un byte IFR, incluso si contiene errores. El ajuste IFR1 hace que se envíe un IFR si el mensaje se recibió correctamente y si el valor del bit 'K' del primer byte de cabecera (tanto para PWM como para VPW) lo permite. Por defecto se usa el ajuste IFR1. |
AT IFR4, IFR5 y IFR6 |
Control de IFR - en cualquier momento Aunque los chips ELM327 originales nunca enviaban IFR durante la monitorización, existen ciertas situaciones de monitorización en las que puede querer enviar un IFR. Los comandos IFR4, IFR5 e IFR6 permiten controlar el envío de IFR en cualquier momento, independientemente de si se está monitorizando o no. Imitan los comandos IFR0, IFR1 e IFR2 — el ajuste IFR4 hace que el IFR nunca se envíe, IFR5 envía el IFR si no hay errores y el bit 'K' lo permite, y el ajuste IFR6 fuerza que el IFR se genere siempre (incluso si hay un error). |
AT IFR H e IFR S |
IFR desde la cabecera o el origen El valor enviado en el byte de respuesta J1850 In-Frame Response (IFR) normalmente coincide con el valor enviado en el byte de dirección de origen (es decir, el tester), que estaba en la cabecera de la consulta. Sin embargo, hay casos en los que es deseable usar otro valor, y este conjunto de comandos lo permite. Si envía AT IFR S, ELM327 usará el valor definido como dirección de origen (normalmente F1, pero se puede cambiar con PP 06 o AT TA), incluso si en el byte de cabecera se envió otro valor. Esto no es algo que normalmente se requiera, y se debe tener precaución. AT IFR H restaura el envío de los bytes IFR a los indicados en la Cabecera, y es el ajuste por defecto. |
AT IGN |
lectura del nivel de la señal de entrada IgnMon Este comando lee el nivel de la señal en el terminal 15. Se supone que el nivel lógico está relacionado con la tensión de encendido, de modo que si en la entrada hay nivel alto, la respuesta será 'ON', y con nivel bajo - 'OFF'. Esta función es más útil si quiere realizar funciones de gestión de energía con su propio software. Si desactiva la reacción automática Low Power al nivel bajo en este terminal (estableciendo el bit 2 de PP 0E en 0), el terminal 15 funcionará como entrada RTS. Un nivel bajo en esta entrada no apagará la alimentación, pero interrumpirá cualquier actividad OBD en curso. Todo lo que tiene que hacer es detectar el mensaje 'STOPPED', que se envía al interrumpir el funcionamiento de ELM327, y luego comprobar el nivel del terminal 15 con AT IGN. Si resulta que está apagado, puede realizar usted mismo un apagado ordenado. |
AT IIA hh |
establecer la dirección inicial ISO en hh Los estándares ISO 9141-2 e ISO 14230-4 establecen que al iniciar una sesión de trabajo con la ECU, la secuencia de inicialización debe dirigirse a una dirección determinada ($33). Si quiere experimentar dirigiendo la lenta secuencia de cinco baudios a otra dirección, puede hacerlo mediante este comando. Por ejemplo, si quiere que la iniciación se realice con la ECU en la dirección $7A, simplemente envíe: >AT IIA 7A, y ELM327 usará esa dirección al dirigirse a ella (protocolos 3 o 4). El valor completo de ocho bits se usa tal cual se introdujo - no se le aplica ningún cambio (es decir, no se añaden bits de paridad, etc.) . Tenga en cuenta que establecer este valor no afecta a los valores de las direcciones utilizadas en los bytes de cabecera. Al restaurar los ajustes por defecto o al reiniciar ELM327, la dirección inicial ISO se restaura al valor $33. |
AT L0 and L1 |
Salto de línea desactivado o activado Esta opción controla el envío de caracteres de salto de línea después de cada carácter de retorno de carro. Con AT L1 se generará un salto de línea después de cada carácter de retorno de carro, y con AT L0 — desactivado. Normalmente los usuarios prefieren activar esta opción al trabajar con un programa de terminal y desactivarla al usar una interfaz propia (los caracteres adicionales solo ralentizan el intercambio). El ajuste por defecto lo determina el nivel de tensión del terminal 7 al encender la alimentación (o al reiniciar). Si el nivel es alto — el salto de línea está activado, de lo contrario — desactivado. |
AT LP |
pasar al modo de bajo consumo de energía Este comando hace que ELM327 desactive todo salvo los «servicios básicos», para reducir al mínimo el consumo de energía. ELM327 responderá «OK» (sin retorno de carro), y al cabo de un segundo cambiará el estado de la salida PwrCtrl (terminal 16) y pasará al modo de bajo consumo de energía (en espera). El chip puede devolverse al modo normal con un carácter en la entrada RS232, con un flanco ascendente en la entrada IgnMon (terminal 15), así como con los métodos habituales de reinicio (apagado/encendido de la alimentación, nivel bajo en el terminal 1 o caída de la alimentación). Para más detalles, consulte la sección «Gestión de energía» (pág. 67). |
AT M0 and M1 |
Memoria desactivada o activada ELM327 tiene una memoria interna no volátil, capaz de recordar el último protocolo utilizado incluso tras apagar la alimentación. Esto es cómodo si el chip se usa con frecuencia para un único protocolo — será el primero en el siguiente encendido. Para activar la función de memoria hay que usar el comando AT M1 o conectar el terminal 5 a un nivel lógico alto. Cuando la función de memoria está activada, cada vez que se detecta un protocolo OBD válido se guardará y pasará a ser el nuevo valor por defecto. Si la función de memoria está desactivada, los protocolos encontrados no se guardan, y ELM327 siempre se inicia con el último protocolo guardado. Si ELM327 se usa en un entorno con protocolos que cambian con frecuencia, es mejor desactivar la memoria y ejecutar AT SP 0. Si, por el contrario, se conecta a un único vehículo, guardar su protocolo como valor por defecto será lo más razonable. El ajuste por defecto lo determina el nivel de tensión del terminal 5 al encender la alimentación (o al reiniciar). Nivel alto (VDD) — memoria activada, bajo — desactivada. |
AT NL |
Mensajes de longitud normal Este comando configura ELM327 para enviar la cantidad normal de bytes de datos, según lo previsto por los estándares OBD. Se utiliza para deshacer los cambios realizados en el modo Allow Long (AT AL). Tenga en cuenta que ELM327 no requiere cambiar AL para permitir la recepción de mensajes de mayor longitud para los protocolos KWP. Puede simplemente dejar para el IC el valor NL, establecido por defecto, y todos los bytes recibidos se mostrarán. |
AT R0 y R1 |
Respuestas desactivadas o activadas Estos comandos controlan la recepción automática (y la visualización) por parte de ELM327 de los mensajes devueltos por el vehículo. Si las respuestas están desactivadas, tras enviar una consulta el chip no esperará la respuesta del vehículo, sino que volverá de inmediato a esperar el siguiente comando RS232 (ELM327 no imprimirá nada para indicar que el envío fue correcto, pero verá un mensaje si no lo fue). R0 puede ser útil para enviar comandos "a ciegas" al usar el chip en aplicaciones de red no relacionadas con OBD o al simular una ECU en un proceso de formación. Sin embargo, no se recomienda usar esta opción en comunicaciones OBD normales, ya que el vehículo puede tener dificultades si espera una confirmación y no la recibe. El ajuste R0 siempre anula cualquier "dígito de número de respuestas" que se proporcione en una consulta OBD. Por defecto se usa el valor R1, o "respuestas activadas". |
AT RD |
Lectura de datos de la memoria de usuario El valor del byte guardado con el comando SD se recupera mediante este comando. Hay una sola celda de memoria, por lo que no se requiere dirección. |
AT RV |
Read the input Voltage Esto inicia la lectura de la tensión presente en el terminal 2 y su conversión a una tensión en formato decimal. Por defecto se supone que la entrada está conectada a la tensión medida a través de un divisor de tensión con una relación de 1:5,7 (por ejemplo, resistencias de 47KΩ y 10KΩ conectadas en serie, con la de 10KΩ conectada del terminal 2 a Vss), y que la alimentación de ELM327 es de 5 V nominales. Esto permitirá medir la tensión de entrada hasta unos 28 V (la tensión del terminal 2 no debe superar Vdd) con una precisión no calibrada, normalmente en torno al 2 %. Para información sobre la calibración, consulte la sección "Lectura de la tensión de la batería". |
AT S0 and S1 |
Impresión de espacios desactivada o activada Estos comandos controlan si se insertan caracteres de espacio en las respuestas de la ECU. ELM327 normalmente muestra las respuestas de la ECU como una secuencia de caracteres hex separados por espacios (para mayor comodidad de lectura), pero los mensajes se pueden transmitir mucho más rápido si se elimina cada tercer byte (el espacio). Aunque esto hace que el mensaje sea menos legible para una persona, puede acelerar considerablemente el procesamiento de los datos por parte del ordenador. Por defecto los espacios están activados (S1) y los caracteres de espacio se insertan en cada respuesta. |
AT SD hh |
Guardar el byte de datos hh ELM327 puede guardar un byte de información en una memoria no volátil especial, que conserva su contenido incluso tras apagar la alimentación. Simplemente indique el byte que quiere guardar y luego recupérelo con el comando de lectura de datos (AT RD). Esta celda es ideal para almacenar ajustes de usuario, identificadores de dispositivos, recuentos de repeticiones u otra información. |
AT WS |
Reinicio en caliente Similar al comando AT Z, pero sin probar los LED al encender. Los usuarios pueden encontrarlo cómodo para «empezar de nuevo» rápidamente sin el retardo innecesario de AT Z. Al usar velocidades RS232 variables (comandos AT BRD), se recomienda reiniciar el chip con este comando, y no con AT Z, ya que AT WS no reinicia la velocidad RS232. |
AT Z |
reinicio completo Este comando hace que el chip realice un reinicio completo, como si se hubiera apagado y encendido la alimentación de nuevo. Todos los ajustes vuelven a los valores por defecto, y el chip pasa al estado de espera de caracteres en el bus RS232. Tenga en cuenta que la velocidad establecida con el comando AT BRD se perderá, y ELM327 volverá al ajuste de velocidad por defecto. |
AT @1 |
mostrar la descripción del dispositivo Este comando muestra la cadena de descripción del dispositivo. El texto por defecto es «OBDII to RS232 Interpreter». |
AT @3 cccccccccccc |
guardar el identificador del dispositivo Este comando se utiliza para establecer el código de identificador del dispositivo. Hay que enviar exactamente 12 caracteres; tras escribirlos en memoria no se pueden cambiar (el comando @3 solo se puede usar una vez). Los caracteres deben ser imprimibles (códigos ASCII de 0x21 a 0x5F inclusive). Si desarrolla software para escribir identificadores, puede interesarle el chip ELM328, que permite la escritura múltiple con el comando @3 (pero no puede enviar mensajes OBD). |
| Comando | Descripción |
|---|---|
AT PC |
"Cierre del protocolo" Hay ocasiones en las que es necesario detener (desactivar) un protocolo. Quizás no use la búsqueda automática de protocolos, sino que quiera activar y desactivar manualmente los protocolos. Quizás quiera dejar de enviar los mensajes de mantenimiento (de activación), o tenga otro motivo. El comando PC se utiliza en tales casos para forzar el cierre del protocolo. |
AT SP h |
Establecer el protocolo h Este comando configura ELM327 para que trabaje con el protocolo indicado en «h» y lo guarda como nuevo valor por defecto. El protocolo se guardará independientemente del ajuste AT M0/M1. ELM327 admite 12 protocolos diferentes (dos pueden ser definidos por el usuario): 0 — Automático, 1 — SAE J1850 PWM (41,6 kBaud), 2 — SAE J1850 VPW (10,4 kBaud), 3 — ISO 9141-2 (5 baudios, 10,4 kBaud), 4 — ISO 14230-4 KWP (5 baudios, 10,4 kBaud), 5 — ISO 14230-4 KWP (inic. rápida, 10,4 kBaud), 6 — ISO 15765-4 CAN (11 bits, 500 kBaud), 7 — ISO 15765-4 CAN (29 bits, 500 kBaud), 8 — ISO 15765-4 CAN (11 bits, 250 kBaud), 9 — ISO 15765-4 CAN (29 bits, 250 kBaud), A — SAE J1939 CAN (29 bits, 250* kBaud), B — USER1 CAN (11* bits, 125* kBaud), C — USER2 CAN (11* bits, 50* kBaud). (* — configurables por el usuario) El protocolo 0 indica a ELM327 que el protocolo del vehículo es desconocido y hay que realizar una búsqueda. El comando AT SP 0 establece el protocolo en 0, pero no escribe en la EEPROM (para acelerar). Si se selecciona un protocolo concreto (por ejemplo, AT SP 3), pasará a ser el valor por defecto y será el único utilizado. |
AT SP 00 |
borrar el protocolo guardado Para acelerar la detección del protocolo, el comando SP 0 establece el modo automático, pero no realiza la (costosa en tiempo) escritura en la EEPROM. Esto reduce el desgaste de la EEPROM. Sin embargo, a veces es necesario escribir el valor 0 en el protocolo guardado — para ello está el comando SP 00. |
AT SP Ah |
Establecer el protocolo h con búsqueda automática Esta variante del comando SP permite elegir el protocolo inicial (por defecto), conservando al mismo tiempo la posibilidad de búsqueda automática de un protocolo válido en caso de fallo de conexión. Por ejemplo, si su vehículo usa ISO 9141-2, pero quiere usar ELM327 a veces con otros vehículos, puede usar AT SP A3 — el primer protocolo será el 3, pero en caso de fallo se realizará una búsqueda automática. No olvide desactivar la función de memoria, de lo contrario cada nuevo protocolo detectado se convertirá en el valor por defecto. SP Ah guarda la información del protocolo, incluso si la memoria está desactivada (pero SP A0 y SP 0A no escriben en la EEPROM). La letra «A» puede ir antes o después de h, de modo que AT SP A3 y AT SP 3A son equivalentes. |
AT SS |
usar la secuencia de búsqueda estándar El estándar SAE J1978 define el orden de búsqueda de protocolos que deben usar los instrumentos de diagnóstico. Corresponde a la numeración de protocolos de ELM327. Para acelerar la búsqueda, ELM327 normalmente no sigue este orden, pero lo seguirá si da el comando AT SS. |
AT TP h |
Probar el protocolo h Este comando es idéntico a SP, con la diferencia de que el protocolo seleccionado no se guarda de inmediato en la memoria EEPROM interna, es decir, no cambia el ajuste por defecto. Tenga en cuenta: si la función de memoria está activada (AT M1) y el nuevo protocolo resultó válido, se guardará en la memoria como nuevo valor por defecto. |
AT TP Ah |
Probar el protocolo h con búsqueda automática Este comando es similar a AT TP, pero si el protocolo seleccionado no se puede inicializar, ELM327 recorre automáticamente el resto de protocolos, intentando conectarse a uno de ellos. |
| Comando | Descripción |
|---|---|
AT C0 y C1 |
Confirmación de envío CAN desactivada o activada ELM327 siempre esperaba tras enviar un mensaje CAN para asegurarse de que la transmisión de datos se realizó correctamente. Si no era así, se devolvía el mensaje 'CAN ERROR'. En el firmware v2.3 puede desactivar esta confirmación y, posiblemente, volver al estado de consulta un poco más rápido. Esto puede ahorrar el tiempo de envío de un mensaje (unos 230 µs para 500 kbit/s), pero entonces no habrá realimentación en caso de un envío incorrecto. Recomendamos dejar siempre este parámetro en el valor por defecto (C1 - Confirmación activada). |
AT CAF0 y CAF1 |
Formateo automático CAN desactivado o activado Estos comandos determinan si ELM327 le ayudará a formatear los datos CAN enviados y recibidos. Con el formateo automático CAN activado (CAF1), los bytes de formateo (PCI) se generarán automáticamente al enviar y se eliminarán al recibir. Esto significa que puede seguir enviando consultas OBD (01 00, etc.) como de costumbre, sin prestar atención a los bytes adicionales que requieren los sistemas de diagnóstico CAN. Además, con el formateo activado, todos los bytes de datos sobrantes (no utilizados) recibidos en una trama se eliminarán, y los mensajes con bytes PCI no permitidos se ignorarán. (Durante la monitorización, sin embargo, todos los mensajes con bytes PCI no permitidos se muestran, y junto a ellos aparece el mensaje ' |
AT CEA |
desactivar la dirección CAN extendida El comando CEA se utiliza para desactivar las funciones especiales establecidas mediante el comando CEA hh. También restaura la dirección establecida con el comando AT CER hh al valor por defecto. |
AT CEA hh |
establecer la dirección CAN extendida en hh Algunos protocolos CAN (no OBD) amplían los campos de direccionamiento usando el primero de los ocho bytes de datos como dirección de destino (receptor). Este comando permite a ELM327 interactuar con tales protocolos. El envío del comando CEA hh hace que ELM327 inserte el valor hh como primer byte de datos en todos los mensajes CAN que usted envíe. También añade otra etapa de filtrado de los mensajes recibidos, dejando pasar solo aquellos que tienen la dirección del tester en la posición del primer byte (además del requisito de que los bits de ID coincidan con los patrones establecidos por AT CF y CM, FT o CRA). El comando AT CEA hh puede enviarse en cualquier momento, y los cambios surten efecto de inmediato, lo que permite cambiar la dirección "sobre la marcha". El direccionamiento extendido se trata con más detalle en la sección "Uso de direcciones CAN extendidas" en la página 64. El modo de funcionamiento CEA está desactivado por defecto y se activa enviando el comando CEA con una dirección de destino. Una vez activado, se puede desactivar enviando el comando AT CEA (sin dirección) o restaurando los ajustes por defecto del chip con AT D, AT Z, etc. Tenga en cuenta que el ajuste CEA no tiene efecto si está activado el formateo J1939. |
AT CER hh |
establecer la dirección Rx CAN extendida en hh Por defecto, ELM327 recibe las respuestas a las consultas de direccionamiento CAN extendido que contienen la "dirección del tester" en la posición del primer byte de datos. El comando CER permite elegir otra dirección de recepción. Los valores establecidos con este comando se restablecen al valor por defecto con el comando AT CEA. |
AT CF hhh |
establecer el filtro CAN ID en hhh El filtro CAN funciona en combinación con la máscara CAN para determinar qué información aceptará el receptor. Al recibir cada mensaje, los bits CAN ID entrantes se comparan con los bits CAN Filter (si el bit de máscara es '1 '). Si todos los bits correspondientes coinciden, el mensaje se aceptará y ELM327 lo procesará, de lo contrario se descartará. Esta versión de tres bits del comando CAN Filter simplifica un poco el establecimiento de filtros en sistemas CAN con identificador de 11 bits. Solo se utilizan los 11 bits más a la derecha de los nibbles proporcionados, y el bit más significativo se ignora. Sin embargo, en realidad los datos se almacenan como cuatro bytes, y este comando añade ceros a la izquierda para los bytes restantes. Para más información, consulte el comando (o comandos) CM. Tenga en cuenta que las respuestas no serán previsibles si usa los comandos CRA, CF o CM con el protocolo SAE J1939 mientras usa al mismo tiempo el comando MP o el comando DM1. De hecho, no recomendamos usar los comandos CRA, CM o CF en el protocolo J1939 en ningún momento. Si necesita un filtrado adicional en el protocolo J1939, considere usar el comando FT. |
AT CF hh hh hh hh |
establecer el filtro CAN ID en hhhhhhh Este comando permite establecer de una vez los cuatro bytes (en realidad 29 bits) del filtro CAN. Los tres bits más significativos siempre se ignorarán y se les puede asignar cualquier valor. Este comando también se puede usar para introducir filtros de ID de 11 bits, ya que se almacenan en los mismos lugares dentro del dispositivo (introducir AT CF 00 00 0h hh es exactamente igual que introducir el comando más corto AT CF hhh). Tenga en cuenta que las respuestas no serán previsibles si usa los comandos CRA, CF o CM con el protocolo SAE J1939 mientras usa al mismo tiempo el comando MP o el comando DM1. De hecho, no recomendamos usar los comandos CRA, CM o CF en el protocolo J1939 en ningún momento. Si necesita un filtrado adicional en el protocolo J1939, considere usar el comando FT. |
AT CFC0 and CFC1 |
Control de flujo CAN desact o act El protocolo ISO 15765-4 CAN espera que un mensaje «Flow Control» se envíe siempre en respuesta a un mensaje «First Frame», y ELM327 los envía automáticamente sin intervención del usuario. Al experimentar con un sistema distinto de OBD puede ser necesario desactivar esta respuesta automática — para ello está el comando AT CFC0. A partir del firmware v2.0, estos comandos activan/desactivan también el envío de mensajes J1939 TP.CM_CTS en respuesta a las consultas TP.CM_RTS. Durante la monitorización (AT MA, MR o MT), los mensajes Flow Control nunca se envían, independientemente del ajuste CFC. El ajuste por defecto es CFC1 (Flow Control activado). |
AT CM hhh |
establecer la máscara de identificador CAN en hhh En un sistema CAN puede transmitirse simultáneamente una gran cantidad de mensajes. Para limitar la cantidad de mensajes que examina ELM327, se necesita un sistema de filtrado de los deseados entre todos los demás. Para ello se usa un filtro que funciona en combinación con una máscara. La máscara es un grupo de bits que indican a ELM327 qué bits del filtro son relevantes y cuáles se pueden ignorar. La condición 'must match ' se señala estableciendo el bit de máscara en '1 ', y 'don 't care' se señala estableciendo el bit en '0'. Esta variación de tres dígitos del comando CM se usa para obtener valores de máscara para sistemas de identificación de 11 bits (el bit más significativo siempre se ignora). Tenga en cuenta que para las máscaras de 29 bits y de 11 bits se usa un lugar de almacenamiento común, por lo que la máscara de 11 bits se puede asignar con el siguiente comando (CM hh hh hh hh), si quiere escribir de más. Los valores se alinean a la derecha, por lo que tendrá que indicar cinco ceros a la izquierda, seguidos de tres bytes de máscara. Tenga en cuenta que las respuestas no serán previsibles si usa los comandos CRA, CF o CM con el protocolo SAE J1939 mientras usa al mismo tiempo el comando MP o el comando DM1. De hecho, no recomendamos usar los comandos CRA, CM o CF en el protocolo J1939 en ningún momento. Si necesita un filtrado adicional en el protocolo J1939, considere usar el comando FT. |
AT CM hh hh hh hh |
establecer la máscara CAN ID en hhhhhhhhh Este comando se utiliza para asignar valores de máscara para sistemas de identificación de 29 bits. Consulte la explicación del comando CM hhh, ya que es prácticamente idéntico, salvo por la longitud. Tenga en cuenta que los tres bits más significativos que indique en el primer dígito se ignorarán. Tenga en cuenta la advertencia de que no se puede usar con el protocolo J1939. Tenga en cuenta que las respuestas no serán previsibles si usa los comandos CRA, CF o CM con el protocolo SAE J1939 y al mismo tiempo usa el comando MP o el comando DM1. De hecho, no recomendamos usar los comandos CRA, CM o CF en el protocolo J1939 en ningún momento. Si necesita un filtrado adicional en el protocolo J1939, considere usar el comando FT. |
AT CP hh |
establecer los bits de prioridad CAN en hh Este comando ofrece una de las formas de asignar los cinco bits más significativos del identificador CAN de 29 bits que se usará para enviar mensajes (los 24 bits restantes se pueden establecer con el comando AT SH). Muchos sistemas usan estos bits para asignar a los mensajes un valor de prioridad y para determinar el protocolo del mensaje. Cualquier bit proporcionado por encima de los cinco necesarios se ignora y ELM327 no lo guarda (solo usa los cinco bits menos significativos de este byte). Por defecto, para el valor CP hh se usa el valor hexadecimal 18, que se puede restaurar en cualquier momento con el comando AT D. |
AT CRA |
reinicio de CAN Rx Addr El comando AT CRA se utiliza para restaurar los filtros de recepción CAN a los valores por defecto. Tenga en cuenta que no admite argumentos (es decir, ningún dato). |
AT CRA hhh |
establecer CAN Rx Addr en hhh Configurar las máscaras y los filtros CAN a veces puede resultar complicado, así que si quiere recibir información solo de una dirección (es decir, de un único CAN ID), este comando puede resultar muy útil. Por ejemplo, si quiere ver información solo de la dirección 7E8, simplemente envíe AT CRA 7E8, y ELM327 realizará el ajuste necesario de la máscara y el filtro. Si quiere permitir la recepción de un rango de valores, puede usar la letra X para indicar la condición de "indiferente". Es decir, AT CRA 7EX permitirá dejar pasar todos los identificadores que empiecen por 7E (7E0, 7E1, etc.). Para un rango de identificadores más concreto puede ser necesario asignar una máscara y un filtro. Para deshacer los cambios realizados con el comando CRA, simplemente envíe AT CRA o AT AR. Tenga en cuenta que las respuestas no serán previsibles si usa los comandos CRA, CF o CM con el protocolo SAE J1939 mientras usa al mismo tiempo el comando MP o el comando DM1. De hecho, no recomendamos usar los comandos CRA, CM o CF en ningún momento mientras se usa el protocolo J1939. Si necesita un filtrado adicional en el protocolo J1939, considere usar el comando FT. |
AT CRA hhhhhhhh |
establecer CAN Rx Addr en hhhhhhhh Este comando es idéntico al anterior, con la diferencia de que se usa con identificadores CAN de 29 bits. El envío de AT CRA o AT AR también deshará todos los cambios realizados con este comando. Tenga en cuenta que las respuestas no serán previsibles si usa los comandos CRA, CF o CM con el protocolo SAE J1939 mientras usa al mismo tiempo el comando MP o el comando DM1. De hecho, no recomendamos usar los comandos CRA, CM o CF en el protocolo J1939 en ningún momento. Si necesita un filtrado adicional en el protocolo J1939, considere usar el comando FT. |
AT CS |
mostrar los contadores de estado CAN El protocolo CAN exige llevar estadísticas sobre la cantidad de errores de transmisión y recepción detectados. Con una cantidad considerable de errores (debido a un problema de hardware o de software), el dispositivo se desactiva para no afectar a otros datos del bus. El comando AT CS permite ver la cantidad de errores del transmisor (Tx) y del receptor (Rx) en formato hexadecimal. Si el transmisor debe desactivarse (contador >FF), verá 'OFF', y no un valor de contador concreto. A partir del firmware v2.2, la respuesta CS también mostrará la frecuencia actual de la señal en CAN. Una respuesta típica puede tener el siguiente aspecto: ``` >AT CS |
AT CSM0 y CSM1 |
Desactivación o activación de la monitorización silenciosa CAN ELM327 se diseñó para ser completamente silencioso durante la monitorización del bus CAN. Gracias a ello puede informar exactamente de lo que ve, sin distorsionar la información de ningún modo. A veces (durante pruebas de banco o al conectarse a un puerto CAN dedicado) puede ser necesario que ELM327 funcione de forma no silenciosa (es decir, que genere bits ACK, etc.), y precisamente para eso está el comando CSM. CSM1 lo activa, CSM0 lo desactiva, y el valor por defecto lo determina PP 21. Tenga precaución al experimentar con esto. Si elige una velocidad de transmisión incorrecta y luego observa el bus CAN con la monitorización silenciosa desactivada, alterará el flujo de datos. Mantenga siempre la monitorización silenciosa activada hasta que esté seguro de haber elegido la velocidad de transmisión correcta. |
AT CTM1 |
establecer el multiplicador del temporizador en 1 Este comando hace que todos los tiempos de espera establecidos por AT ST se multipliquen por un factor de 1. Tenga en cuenta que actualmente esto solo afecta a los protocolos CAN (del 6 al C). Por defecto se usa el valor CTM1. CTM5 [ establecer el multiplicador del temporizador en 5 ] Este comando hace que todos los tiempos de espera establecidos por AT ST se multipliquen por un factor de 5. Tenga en cuenta que actualmente esto solo afecta a los protocolos CAN (del 6 al C). Originalmente este comando se añadió (como JTM5) para ayudar con la recepción de algunos mensajes J1939. Desde entonces hemos recibido varias peticiones para permitir que afecte a todos los modos CAN, por lo que cambiamos el código JTM5 y añadimos los nuevos comandos CTM1/CTM5. Al usar CTM5 advertimos que el código Adaptive Timing no sigue los cambios en los ajustes, por lo que aconsejamos desactivarlo (con AT AT0). Por defecto, este multiplicador está desactivado. |
AT FC SD |
1-5 bytes Con este comando se pueden definir los bytes de datos que se envían en un mensaje de control de flujo CAN. Se pueden indicar de uno a cinco bytes de datos, mientras que los demás bytes de datos del mensaje se establecen automáticamente en el byte de relleno CAN por defecto, si lo requiere el protocolo. Los datos transmitidos con este comando solo se usan si están activados los modos de control de flujo 1 o 2. |
AT FC SH hhh |
Establecer la cabecera Flow Control Con este comando se pueden establecer los bytes de cabecera (o, más correctamente, el "CAN ID") usados para los mensajes de control de flujo CAN. Solo se usarán los 11 bits más a la derecha - el bit más significativo siempre se elimina. Este comando solo afecta al modo de control de flujo 1. |
AT FC SH hhhhhhhh |
Establecer la cabecera Flow Control Este comando se utiliza para establecer la cabecera (o 'CAN-bits para las respuestas Flow Control con sistemas CAN ID de 29 bits. Como 8 nibbles definen 32 bits, solo se usarán los 29 bits más a la derecha - los tres bits más significativos siempre se eliminan. Este comando solo afecta al modo de control de flujo 1. |
AT FC SM h |
Establecer el modo Flow Control en h Este comando establece cómo reacciona ELM327 a los mensajes First Frame si están activadas las respuestas automáticas de Flow Control. El valor de un solo dígito puede ser '0' (por defecto) para respuestas totalmente automáticas, '1' para respuestas totalmente definidas por el usuario, o '2' para bytes de datos definidos por el usuario en la respuesta. Tenga en cuenta que los modos FC 1 y 2 solo se pueden activar si ha definido los bytes de datos necesarios y, posiblemente, el ID. De lo contrario, recibirá un error. Encontrará más información y ejemplos en la sección Modificación de los mensajes de control de flujo (pág. 62). |
AT FT |
Filtro por transmisor desact Si se ha establecido un filtro para limitar los mensajes recibidos, se puede desactivar con el comando AT FT. |
AT FT hh |
Filtro por transmisor = hh Este comando proporciona un nivel adicional de filtrado de los mensajes recibidos. Un mensaje se aceptará si el valor transmitido con el comando hh coincide con el valor del tercer byte de la cabecera estándar de tres bytes o con los ocho bits menos significativos del identificador CAN. Es un complemento de cualquier otro filtrado proporcionado por otros comandos. Para más información, consulte la sección "Filtrado por transmisor". |
AT PB xx yy |
establecer los parámetros del protocolo B Este comando permite cambiar los parámetros del protocolo B (USER1) y la velocidad de transmisión sin necesidad de cambiar los parámetros programables correspondientes (PP 2C y PP 2D). Esto permite cambiar el protocolo más fácilmente durante una prueba. Para usar esta función, simplemente establezca xx en el valor para PP 2C, e yy en el valor para PP 2D, y ejecute el comando. En la siguiente inicialización del protocolo se usarán estos valores. Por ejemplo, para configurar el protocolo B para su uso con J1939 a 500 kbit/s, simplemente ejecute el comando: >AT PB 42 01 Como otro ejemplo, supongamos que quiere monitorizar un sistema que usa CAN de 11 bits a una velocidad de 33,3 kbit/s. Si no se requiere ningún formateo especial, esto significa el valor 11000000 o C0 hex para PP 2C, y 15 decimal o 0F hexadecimal para PP 2D. Simplemente envíe estos valores a ELM327 con el comando: >AT PB C0 0F luego inicie la monitorización con el comando: >AT MA Si ve errores CAN ERROR y se da cuenta de que necesitaba una velocidad de transmisión de 83,3 kbit/s, cierre el protocolo y envíe los nuevos valores: >AT PC OK >AT PB C0 06 OK >AT MA Los valores transmitidos de este modo no afectan a los almacenados en los parámetros programables 2C y 2D y se pierden al reiniciar ELM327. Si quiere que sus ajustes se conserven durante varios ciclos de alimentación, puede guardarlos en los parámetros programables para los protocolos CAN USER1 o USER2. |
AT RTR |
enviar un mensaje RTR Este comando provoca el envío de un mensaje CAN especial 'Remote Frame'. Este tipo de mensaje no contiene bytes de datos y tiene establecido el bit Remote Transmission Request (RTR). Las cabeceras y los filtros permanecerán tal como se establecieron anteriormente (es decir, ELM327 no hace ninguna suposición sobre el formato que puede tener la respuesta), por lo que puede ser necesario ajustar la máscara y el filtro. Este comando debe usarse con un protocolo CAN activo (que envíe y reciba mensajes), ya que no puede iniciar una búsqueda de protocolo. Tenga en cuenta que el ajuste CAF1 normalmente excluye la visualización de todos los RTR, por lo que si monitoriza mensajes y quiere ver los RTR, tendrá que desactivar el formateo o activar las cabeceras. ELM327 trata el RTR como cualquier otro mensaje y espera una respuesta del vehículo (a menos que se seleccione AT R0). |
AT SH xyz |
Establecer la cabecera en 00 0x yz La introducción de CAN ID (cabeceras) de 11 bits normalmente requiere añadir ceros a la izquierda (por ejemplo, AT SH 00 07 DF), pero este comando lo simplifica. El comando AT SH xyz toma un argumento de tres dígitos, extrae de él solo los 11 bits de la derecha, añade ceros a la izquierda y guarda el resultado. Por ejemplo, AT SH 7DF es un comando válido, cómodo para trabajar con sistemas CAN de 11 bits. En realidad, la cabecera se guarda como 00 07 DF. |
AT SH xx yy zz |
Establecer la cabecera en xx yy zz Este comando permite al usuario controlar manualmente los valores de los tres bytes de la cabecera del mensaje. Normalmente estos bytes se asignan automáticamente, pero hay casos en los que es deseable cambiarlos (especialmente al experimentar con el direccionamiento físico). Se recomienda establecer las cabeceras después de activar el protocolo, para que los mensajes wakeup, etc., usen los valores por defecto. Los bytes de cabecera se indican con dígitos hexadecimales: xx — primer byte (prioridad/tipo), yy — segundo (receptor), zz — tercero (transmisor). Tienen efecto hasta el siguiente ajuste o la restauración de los valores por defecto con los comandos D, WS o Z. Este comando se usa para asignar todos los bytes de cabecera — J1850, ISO 9141, ISO 14230 o CAN. Los sistemas CAN usan estos tres bytes para rellenar los bits 0–23 del ID (para un ID de 29 bits) o solo los 11 bits de la derecha para un CAN ID de 11 bits. Los 5 bits adicionales para un sistema de 29 bits se establecen con el comando AT CP. |
AT SH ww xx yy zz |
Establecer la cabecera en ww xx yy zz La versión de cuatro bytes del comando AT SH permite establecer el CAN ID completo de 29 bits con una sola instrucción. Equivale a usar simultáneamente AT CP (para los cinco bits más significativos) y la versión de tres bytes de AT SH (para los tres bytes restantes). |
AT ST hh |
Establecer el tiempo de espera en hh Tras enviar una consulta, ELM327 espera la respuesta durante un tiempo determinado, después del cual puede anunciar que del vehículo no se ha recibido "NO DATA". El mismo ajuste del temporizador también se puede usar tras recibir una respuesta, a la espera de si llega alguna más (pero esto depende de los ajustes AT). El comando AT ST permite ajustar este temporizador con pasos de 4 ms (o 20 ms, si en el protocolo CAN se ha seleccionado CTM5). Si está activada la función Adaptive Timing, el tiempo AT ST establece el tiempo máximo que debe permitirse, incluso si el algoritmo adaptativo determina que ese valor debería ser mayor. En la mayoría de los casos es mejor dejar el tiempo AT ST por defecto y permitir que el algoritmo de sincronización adaptativa determine qué usar como tiempo de espera. Por defecto, el temporizador ST está establecido en 32 (lo que da un tiempo de unos 200 ms), pero este ajuste por defecto se puede ajustar cambiando el valor de PP 03. Tenga en cuenta que el valor 00 no da un tiempo de 0 ms - devuelve el temporizador al valor por defecto. Además, durante la búsqueda de protocolo se usa un tiempo mínimo establecido internamente - con AT ST se puede elegir un tiempo mayor, pero no menor. |
AT V0 and V1 |
Longitud variable de datos desact o act Muchos protocolos CAN (por ejemplo, ISO 15765-4) esperan el envío de ocho bytes de datos. Los comandos V0 y V1 permiten anular este comportamiento (para cualquier protocolo CAN). La elección de V1 hace que el protocolo CAN actual envíe mensajes de longitud variable, de forma análoga al bit 6 de PP 2C y PP 2E para los protocolos B y C. El valor V0 (por defecto) desactiva el envío forzado de mensajes de longitud variable, y el formato vuelve a los ajustes del protocolo. |
| Comando | Descripción |
|---|---|
AT FI |
realizar fast Initiation En una de las versiones del protocolo Keyword, para iniciar el intercambio de datos se usa la llamada secuencia "fast Initiation". Normalmente esta secuencia se ejecuta cuando hay que enviar el primer mensaje, e inmediatamente después se envía el mensaje. Sin embargo, algunas ECU pueden requerir más tiempo entre estas dos acciones, y disponer de un comando de iniciación independiente permite controlar este tiempo. Basta con enviar AT FI, esperar un poco y luego enviar el mensaje. Quizás tenga que experimentar para obtener la cantidad de retardo adecuada. Otro uso de este comando puede ser realizar una fast Initiation para un protocolo de tipo ISO 9141 (es decir, 3 - formato CARB). Basta con seguir los siguientes pasos para crear una fast Initiation y luego cambiar al protocolo 3: AT SP 5 AT FI AT SP 3 AT BI Tras esto podrá comunicarse con la ECU. Tenga en cuenta que cerrar el protocolo (es decir, AT PC) en el código anterior no es necesario, ya que ELM327 lo hace automáticamente al cambiar de protocolo. Para usar el comando AT FI debe estar seleccionado el protocolo 5, de lo contrario se producirá un error. |
AT KW |
mostrar las palabras clave Durante la inicialización de los protocolos ISO 9141-2 e ISO 14230-4 se transmiten a ELM327 dos bytes especiales (palabras clave) (sus valores se usan para determinar si ELM327 puede admitir una u otra variante del protocolo). Si quiere conocer el valor de estos bytes, simplemente envíe el comando AT KW. |
AT KW0 y KW1 |
Comprobación de palabra clave desactivada o activada ELM327 busca determinados bytes (denominados palabras clave) que la ECU debe enviarle durante la iniciación según ISO 9141-2 e ISO 14230-4. Si no se encuentran los bytes, se considera que la iniciación ha fallado (y puede ver el mensaje 'UNABLE TO CONNECT' o, posiblemente, 'BUS INIT: ...ERROR'). Esto puede ocurrir si intenta conectarse a una ECU no compatible con OBD o, posiblemente, a una ECU antigua. Si quiere experimentar con sistemas no estándar, quizás tenga que indicar a ELM327 que realice la secuencia de iniciación pero ignore el contenido de los bytes de palabra clave recibidos. Para ello, simplemente envíe el comando Key Words off: >AT KW0 Tras desactivar la comprobación de palabras clave, ELM327 seguirá requiriendo dos bytes de palabras clave en la respuesta, pero no mirará los valores reales de los bytes. También enviará una confirmación a la ECU y esperará la respuesta final de esta (pero no se detendrá ni informará de un error si no la recibe). Esto puede permitirle establecer una conexión en una situación de otro modo "imposible". El comportamiento normal se puede restaurar con AT KW1, que es el ajuste por defecto. |
AT SI |
realizar slow Initiation Los protocolos 3 y 4 usan la llamada secuencia de iniciación de 5 baudios (o lenta) para iniciar el intercambio de datos. Normalmente la secuencia se ejecuta al enviar el primer mensaje, después de lo cual el mensaje se envía de inmediato. Sin embargo, algunas ECU pueden requerir más tiempo entre estas acciones, y disponer de un comando de iniciación independiente permite controlar este retardo. Basta con enviar AT SI, esperar un poco y luego enviar el mensaje. Quizás tenga que experimentar con la magnitud del retardo. Para usar el comando AT SI debe estar seleccionado el protocolo 3 o 4, de lo contrario se producirá un error. |
AT SW hh |
Establecer el intervalo Wakeup en hh Tras establecer la conexión, algunos protocolos requieren un intercambio periódico de datos cada pocos segundos para que la ECU mantenga abierto el canal de comunicación. Si no llegan mensajes, la ECU considera que ha terminado su trabajo y cierra el canal. ELM327 genera automáticamente mensajes periódicos para mantener la conexión. Las respuestas a estos mensajes se ignoran. (Actualmente solo los protocolos 3, 4 y 5 admiten estos mensajes — para CAN no se ha previsto nada.) El intervalo entre los mensajes Wakeup se establece con pasos de 20 ms con el comando AT SW hh (hh — valor hex de 00 a FF). El retardo máximo es de ~5 segundos con FF. Por defecto (92) — retardo nominal de 3 segundos. El valor 00 detiene los mensajes periódicos. Tras AT SW 00 solo se pueden restaurar cerrando y reinicializando el protocolo. |
AT WM |
1–6 bytes Este comando permite sobrescribir los ajustes de los mensajes Wakeup (a veces llamados «mensajes periódicos de inactividad»). Basta con indicar el mensaje que se va a enviar (normalmente tres bytes de cabecera y de uno a tres bytes de datos), y ELM327 añadirá una suma de comprobación y los enviará según el ajuste AT SW. Valores por defecto: 68 6A F1 01 00 para ISO 9141 y C1 33 F1 3E para KWP. |
| Comando | Descripción |
|---|---|
AT JE |
activar el formato de datos ELM para J1939 El estándar J1939 exige que las consultas PGN se envíen con el orden de bytes invertido respecto al orden estándar «de izquierda a derecha». Por ejemplo, para la consulta de la temperatura del motor (PGN 00FEEE) los bytes de datos se envían de hecho en orden inverso (EE FE 00), y ELM327 normalmente espera que proporcione los datos precisamente en ese orden. Durante los experimentos, la necesidad constante de invertir los bytes puede resultar confusa, por lo que se ha definido el formato ELM, que realiza la inversión por usted. Cuando está activado el formato J1939 ELM (JE), se ha seleccionado el protocolo J1939 y usted proporciona tres bytes de datos, ELM327 cambiará su orden antes de enviarlos a la ECU. Para la consulta de la temperatura del motor usted envía 00 FE EE (y no EE FE 00). El formato JE está activado por defecto. |
AT JHF0 and JHF1 |
Formateo de cabeceras J1939 desact o act Al imprimir las respuestas, ELM327 normalmente formatea los bits J1939 ID (de cabecera) de manera que aísla los bits de prioridad, agrupa toda la información PGN y separa el byte de dirección de origen. Si prefiere ver la información del ID como cuatro bytes separados (como hace la mayoría de los programas J1939), simplemente desactive el formateo con el comando JHF0. El comando CAF0 tiene el mismo efecto (y sobrescribe el ajuste JHF), pero también afecta a otro formateo. El ajuste por defecto es JHF1. |
AT JS |
activar el formato de datos SAE para J1939 El comando AT JS desactiva la reordenación automática de bytes que realiza el comando JE. Si quiere enviar los bytes de datos a un vehículo J1939 sin ningún cambio en el orden de los bytes (es decir, en el orden indicado en los documentos SAE), elija el formato JS. Por ejemplo, al enviar la consulta de la temperatura del motor (PGN 00FEEE) con el formato JS, hay que transmitir los bytes como EE FE 00 (esto también se conoce como orden de bytes little-endian). El formato JS está desactivado por defecto. |
AT JTM1 |
establecer el multiplicador del temporizador J1939 en 1 Este comando establece el multiplicador de tiempo AT ST en x1 para el protocolo SAE J1939. A partir del firmware v2.1, este comando simplemente invoca CTM1. |
AT JTM5 |
establecer el multiplicador del temporizador J1939 en 5 Este comando establece el multiplicador de tiempo AT ST en x5 para el protocolo SAE J1939. A partir del firmware v2.1, este comando simplemente invoca CTM5. |
AT MP hhhh |
Monitorización del PGN hhhh Los comandos AT MA, MR y MT son muy útiles para monitorizar un byte determinado de la cabecera de un mensaje OBD típico. Sin embargo, para el protocolo SAE J1939 a menudo se requiere la monitorización de números de grupos de parámetros (PGN) multibyte, que pueden encontrarse tanto en la cabecera como en los bytes de datos. El comando MP es un comando especial exclusivo de J1939, usado para seguir las respuestas a la consulta de un PGN concreto. Tenga en cuenta que este comando no permite definir los dos primeros dígitos del PGN — siempre se suponen iguales a 00. Por ejemplo, el PGN DM2 tiene el valor 00FECB (véase SAE J1939-73). Para monitorizar DM2, envíe AT MP FECB. Este comando solo está disponible al seleccionar un protocolo CAN (A, B o C) con formateo SAE J1939. En otras condiciones se devuelve un error. |
AT MP hhhh n |
Monitorización del PGN, recibir n mensajes Este comando es similar al anterior, pero añade la posibilidad de definir la cantidad de mensajes que se deben recibir antes de que ELM327 detenga automáticamente la monitorización y muestre el carácter de aviso. El valor «n» es un dígito hexadecimal. |
AT MP hhhhhh |
Monitorización del PGN hhhhhh Este comando es similar a MP hhhh, pero amplía en uno la cantidad de bytes proporcionados, ofreciendo un control total sobre la definición del PGN (no hace la suposición de que el bit Data Page sea igual a 0, como el comando MP hhhh). Esto permite usar futuras extensiones, si se definen PGN adicionales con el bit Data Page establecido. Tenga en cuenta que en el byte adicional solo es significativo el bit Data Page — los demás bits se ignoran. |
AT MP hhhhhh n |
Monitorización del PGN, recibir n mensajes Este comando es similar al anterior, pero añade la posibilidad de definir la cantidad de mensajes que se deben recibir antes de que ELM327 detenga automáticamente la monitorización y muestre el carácter de aviso. El valor «n» es un dígito hexadecimal. |
| Comando | Descripción |
|---|---|
AT MA |
Monitor All Este comando pasa ELM327 al modo de monitorización del bus, en el que sigue ininterrumpidamente (y muestra) todos los mensajes que ve en el bus OBD. Es un monitor silencioso, que no envía respuestas en trama para los sistemas J1850, confirmaciones para los sistemas CAN (a menos que desactive el modo silencioso con CSM0) ni mensajes Wakeup ("keep-alive") para los protocolos ISO 9141 e ISO 14230. La monitorización continuará hasta que la detenga con actividad en la entrada RS232 o en el terminal RTS. Para detener la monitorización, simplemente envíe cualquier carácter único a ELM327 y luego espere la respuesta en forma del carácter de aviso ('>') o de nivel bajo en el terminal Busy. (Poner la entrada RTS a nivel bajo también interrumpirá el funcionamiento del dispositivo). La espera del aviso es necesaria, ya que el tiempo de respuesta depende de lo que estuviera haciendo el chip en el momento de la interrupción. Si, por ejemplo, estaba en mitad de la impresión de una línea, primero la terminará y luego imprimirá 'STOPPED', tras lo cual volverá al estado de comandos y enviará el carácter de aviso. Si simplemente estaba esperando una entrada, volvería mucho más rápido. Tenga en cuenta que el carácter que detiene la monitorización siempre se descarta y no afecta a los comandos posteriores. Si este comando se usa con protocolos CAN, y si el filtro y/o la máscara CAN se establecieron previamente (con CF, CM o CRA), el comando MA dependerá de estos ajustes. Por ejemplo, si para la dirección de recepción se estableció previamente el valor CRA 4B0, el comando MA solo podrá "ver" los mensajes con el identificador 4B0. Puede que no sea exactamente lo que necesita - quizás primero convenga restablecer las máscaras y los filtros (con AR o CRA). Todos los comandos de monitorización (MA, MR y MT) funcionan cerrando el protocolo actual (se ejecuta PC), antes de configurar el chip para la monitorización de datos. Cuando se transmita el siguiente comando OBD, el protocolo se inicializará de nuevo, sobre lo cual puede ver mensajes. Además, puede aparecer el mensaje 'SEARCHING...', según los cambios que se hayan realizado durante la monitorización. |
AT MR hh |
Monitorización por dirección de destinatario hh Este comando es similar a AT MA, pero solo muestra los mensajes enviados a la dirección hexadecimal hh. Son los mensajes en los que el valor hh se encuentra en el segundo byte de la cabecera OBD estándar de tres bytes, en los bits 8–15 del CAN ID de 29 bits o en los bits 8–10 del CAN ID de 11 bits. La monitorización se interrumpe con cualquier carácter RS232, igual que el comando MA. Tenga en cuenta: si este comando se usa con protocolos CAN y previamente se estableció un filtro/máscara CAN (con los comandos CF, CM o CRA), el comando MR sobrescribirá solo los bits correspondientes — los demás permanecerán sin cambios. Quizás convenga restablecer primero las máscaras y los filtros (AT AR). Igual que AT MA, este comando comienza con un cierre interno del protocolo. |
AT MT hh |
Monitorización por dirección de remitente hh Este comando es similar a AT MA, pero solo muestra los mensajes enviados por el transmisor con la dirección hexadecimal hh. Son los mensajes en los que ese valor se encuentra en el tercer byte de la cabecera OBD estándar de tres bytes o en los bits 0–7 del CAN ID. Igual que en los modos MA y MR, la monitorización se interrumpe con cualquier carácter RS232. Tenga en cuenta: si previamente se estableció un filtro/máscara CAN, el comando MT sobrescribirá solo los bits correspondientes. Quizás convenga restablecer primero las máscaras y los filtros (AT AR). Igual que AT MA, este comando comienza con un cierre interno del protocolo. |
| Comando | Descripción |
|---|---|
AT AR |
Establecimiento automático de la dirección de recepción Las respuestas del vehículo se confirmarán y se mostrarán en la pantalla de ELM327 si la dirección de recepción interna coincide con la dirección a la que se envía el mensaje. En el modo de recepción automática, el valor usado para la dirección de recepción se elegirá según los bytes de cabecera actuales y se actualizará automáticamente al cambiar los bytes de cabecera. El valor usado para la dirección de recepción depende de parámetros como el contenido del primer byte de cabecera, así como de si en el mensaje se usa direccionamiento físico, direccionamiento funcional, o si el usuario ha definido un valor con los comandos SR o RA. La recepción automática está activada por defecto y el protocolo J1939 no la usa. |
AT RA hh |
establecer la dirección de recepción en hh Según la aplicación, los usuarios pueden querer establecer manualmente la dirección a la que responderá ELM327. Este comando desactiva el modo AR y obliga al chip a aceptar solo las respuestas dirigidas a hh. Tenga precaución con este ajuste — según el valor puede aceptar (y confirmar con IFR) un mensaje destinado a otro módulo. Para desactivar el filtrado RA, envíe AT AR. Este comando tiene un uso limitado con CAN, ya que solo sigue una parte de los bits del ID — el comando CRA puede ser una mejor elección. El comando tampoco afecta a las direcciones J1939. El comando RA es idéntico a SR y se pueden usar indistintamente. El direccionamiento CAN extendido usa el valor establecido con el comando AT TA. |
AT SR hh |
Establecer la dirección de recepción en hh Según la aplicación, los usuarios pueden querer establecer manualmente la dirección a la que responderá ELM327. Este comando desactiva el modo AR y obliga al chip a aceptar solo las respuestas dirigidas a hh. Tenga precaución con este ajuste — según el valor puede aceptar (y confirmar con IFR) un mensaje destinado a otro módulo. Para desactivar el filtrado RA, envíe AT AR. Este comando tiene un uso limitado con CAN, ya que solo sigue una parte de los bits del ID — el comando CRA puede ser una mejor elección. El comando tampoco afecta a las direcciones J1939. El comando RA es idéntico a SR y se pueden usar indistintamente. El direccionamiento CAN extendido usa el valor establecido con el comando AT TA. |
AT TA hh |
establecer la dirección del tester en hh Este comando se utiliza para cambiar la dirección actual del tester (instrumento de diagnóstico), que se usa en las cabeceras, los mensajes periódicos, los filtros, etc. ELM327 normalmente usa el valor de PP 06, pero el comando TA permite sobrescribirlo temporalmente. AT TA afecta a todos los protocolos, incluido J1939, lo que resulta cómodo para cambiar la dirección J1939 desde la F9 por defecto. Aunque el comando puede funcionar «sobre la marcha», no se recomienda cambiar la dirección tras activar el protocolo — los resultados pueden ser impredecibles. |
| Comando | Descripción |
|---|---|
AT PP hh OFF |
desactivar el parámetro programable hh OFF Este comando desactiva el parámetro programable con el número hh. Cualquier valor asignado con el comando PP hh SV ya no se usará, y volverá a aplicarse el ajuste de fábrica por defecto. El momento real en que entra en vigor el nuevo valor de este parámetro lo determina su tipo. Para más información sobre los tipos, consulte la sección "Parámetros programables" (pág. 72). Tenga en cuenta que 'PP FF OFF' es un comando especial que desactiva todos los parámetros programables, como si hubiera introducido PP OFF para cada parámetro posible. Algunos parámetros programables se pueden cambiar de tal manera que la comunicación con ELM resulte difícil o incluso imposible. Imposibilidad de comunicarse con ELM327. Si esto ha ocurrido, existe un medio por hardware para restablecer todos los parámetros programables a la vez. Conecte un puente del terminal común del circuito al terminal 28, manteniéndolo en esa posición al aplicar alimentación al circuito de ELM327. Manténgalo en esa posición hasta que vea que el LED de recepción RS232 empieza a parpadear (esto significa que todos los PP se han desactivado). En ese momento, retire el puente para permitir que el chip realice un arranque normal. Tenga en cuenta que el restablecimiento de los PP ocurre con bastante rapidez - si mantiene el puente conectado más de unos segundos y no ve parpadear el indicador de recepción RS232, retire el puente e inténtelo de nuevo, ya que puede haber un problema con la conexión. |
AT PP hh ON |
activar el parámetro programable hh Este comando activa el parámetro programable con el número hh. Una vez activado, cualquier valor asignado con el comando PP hh SV se usará allí donde antes estaba el valor de fábrica por defecto. (Todos los valores programables se establecen de fábrica a los valores por defecto, por lo que activar un parámetro programable antes de asignarle un valor no causará problemas). El momento real en que entra en vigor el valor de este parámetro lo determina su tipo. Para más información sobre los tipos, consulte la sección "Parámetros programables" (pág. 72). Tenga en cuenta que 'PP FF ON' es un comando especial que activa todos los parámetros programables a la vez. |
AT PP hh SV yy |
Parám. prog. hh: Establecer el valor yy Con este comando se asigna un valor a un parámetro programable. El sistema no podrá usar este nuevo valor hasta que el parámetro programable se active con el comando PP hh ON. |
AT PPS |
Resumen de los parámetros programables Con este comando se muestra el conjunto completo de los parámetros programables actuales (incluso los que aún no se han implementado). Cada uno se muestra como un número PP, seguido de dos puntos y el valor que se le ha asignado. A continuación aparece un único dígito - 'N' o 'F', para mostrar que el parámetro está activado (ON) o desactivado (OFF), respectivamente. Encontrará una descripción más detallada en la sección "Parámetros programables". |
| Comando | Descripción |
|---|---|
AT CV dddd |
Calibración de la tensión a dd.dd V La lectura de tensión que ELM327 muestra ante la consulta AT RV se puede calibrar con este comando. El argumento ('dddd') siempre debe indicarse en forma de 4 dígitos sin punto decimal (se supone que el lugar decimal está entre el segundo y el tercer dígito). Para usar esta función, simplemente use un instrumento de medición preciso para leer la tensión de entrada real, y luego use el comando CV para cambiar el factor de calibración (de escala) interno. Por ejemplo, si ELM327 muestra una tensión de 12,2 V y usted mide 11,99 V, envíe AT CV 1199, y ELM327 se calibrará para esa tensión (en realidad leerá 12,0 V debido al redondeo de los dígitos). Encontrará información adicional sobre cómo leer la tensión y realizar la calibración en la pág. 31. |
AT CV 0000 |
restauración del valor de calibración de fábrica Si experimenta con el comando CV dddd pero no tiene un voltímetro preciso como referencia, pronto pueden surgir problemas. En ese caso, siempre puede enviar AT CV 0000 para restaurar los valores de calibración de fábrica de ELM327. |
The following pages provide a list of the currently available Programmable Parameters. The value shown in the ‘Type’ column indicates when any changes take effect. Possible values are: - I - the effect is Immediate, - D - takes effect after Defaults are restored (AT D, AT Z, AT WS, MCLR or power off/on) - R - takes effect after a Reset (AT Z, AT WS, MCLR or power off/on) - P - needs a Power off/on type reset (AT Z, MCLR, or power off/on)
Type: I — Immediate, D — after Defaults (AT D, AT Z, AT WS), R — after Reset (AT Z, AT WS), P — after Power off/on (AT Z)
| PP | Description | Values | Default | Type | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 |
Ejecutar AT MA tras el encendido o el reinicio | 00 = ON; FF = OFF | FF(OFF) |
R | ||||||||||||||
01 |
Impresión de los bytes de cabecera (ajuste por defecto de AT H) | 00 = ON; FF = OFF | FF(OFF) |
D | ||||||||||||||
02 |
Permitir mensajes largos (ajuste por defecto de AT AL) | 00 = ON; FF = OFF | FF(OFF) |
D | ||||||||||||||
03 |
Tiempo de espera de NO DATA (ajuste por defecto de AT ST) | 00 to FF | 32(205 msec) |
D | ||||||||||||||
04 |
Modo de sincronización adaptativa por defecto (ajuste de AT AT) | 00 to 02 | 01 |
D | ||||||||||||||
06 |
Dirección del tester por defecto (Source Address) | 00 to FF | F1 |
R | ||||||||||||||
07 |
Último protocolo que se intenta durante la búsqueda automática | 01 to 0C | 09 |
I | ||||||||||||||
09 |
Eco de caracteres (ajuste por defecto de AT E) | 00 = ON; FF = OFF | 00 (ON) |
R | ||||||||||||||
0A |
Carácter de salto de línea (line feed) | 00 to 20 | 0A |
R | ||||||||||||||
0C |
RS232 baud rate divisor when pin 6 is high (logic 1) P baud rate (in kbps) = 4000 ÷ (PP 0C value) For example, 500 kbps requires a setting of 08 (since 4000/8 = 500) Here are some example baud rates, and the divisor to be used:
Notes: - 1. The PP 0C value must be provided as hex digits only. The decimal values (listed above in brackets) are only shown for your convenience. - 2. The ELM327 can only process continuous byte receives at rates of about 600 kbps maximum. If you need to connect at a higher rate, add a delay between the bytes to maintain an average rate of 600 kbps or less. - 3. A value of 00 provides a baud rate of 9600 bps. |
00 to FF | 68 (38,4) |
P | ||||||||||||||
0D |
Carácter de retorno de carro (carriage return) | 00 to 20 | 0D |
R | ||||||||||||||
0E |
Power Control options Each bit controls an option, as follows: b7: Master enable 0: off 1: on if 0, pins 15 and 16 perform as described for v1.0 to v1.3a (must be 1 to allow any Low Power functions) b6: Pin 16 full power level 0: low 1: high normal output level, is inverted when in low power mode b5: Auto LP control (0: disabled 1: enabled) allows low power mode if the RS232 activity stops b4: Auto LP timeout 0: 5 mins 1: 20 mins no RS232 activity timeout setting b3: Auto LP warning (0: disabled 1: enabled) if enabled, says ‘ACT ALERT’ 1 minute before RS232 timeout b2: Ignition control (0: disabled 1: enabled) allows low power mode if the IgnMon input goes low b1: Ignition delay 0: 1 sec 1: 5 sec delay after IgnMon (pin 15) returns to a high level, before normal operation resumes b0: reserved for future - leave set at 0 |
00 to FF | 9A |
R | ||||||||||||||
0F |
Activity Monitor options. Each bit controls an option, as follows: b7: monitor master control (0: disabled 1: enabled) must be 1 to allow b3 to b6 b6: allow wake from Low Power (0: no 1: yes) wakes on shift from no activity to activity b5: Auto LP control (0: disabled 1: enabled) allows low power mode if the OBD activity stops b4: Auto LP timeout 0: 30 secs 1: 150 secs no OBD activity timeout setting b3: Auto LP warning (0: disabled 1: enabled) if enabled, says ‘ACT ALERT’ on timeout b2: reserved for future - leave set at 1 b1: add exclamation mark (0: no 1: yes). if 1, sends ‘!’ before ACT ALERT and LP ALERT b0: LP LED (0: disabled 1: enabled). if 1, the OBD Tx LED flashes when in Low Power mode (one 16 msec flash repeated every 4 seconds) |
00 to FF | D5 |
D | ||||||||||||||
10 |
Tiempo de estabilización de la tensión J1850 (ms) = (PP 10) × 4,096 | 00 to FF | 0D |
R | ||||||||||||||
11 |
Monitorización de la señal Break J1850 (informa de BUS ERROR al superar los límites) | 00 = ON; FF = OFF | 00 (ON) |
D | ||||||||||||||
12 |
J1850 Volts (pin 3) output polarity normal = Low output for 5V, High output for 8V invert = High output for 5V, Low output for 8V |
00 = invert R; FF = normal | FF (normal) |
R | ||||||||||||||
13 |
Time delay added between protocols 1 & 2 during a search setting (in msec) = 150 + (PP 13 value) x 4.096 | 00 = ON; FF = OFF | 55 (498 msec) |
I | ||||||||||||||
14 |
ISO/KWP final stop bit width (provides P4 interbyte time) setting (in µsec) = 98 + (PP 14 value) x 64 | 00 to FF | 50 (5.2 msec) |
D | ||||||||||||||
15 |
ISO/KWP maximum inter-byte time (P1), and also used for the minimum inter-message time (P2). setting (in msec) = (PP 15 value) x 2.112 | 00 to FF | 0A |
D | ||||||||||||||
16 |
Default ISO/KWP baud rate (AT IB default setting) Note: 4800, 12500, and 15625 baud can not be set as defaults |
00 = 96;FF = 10 | FF(10.4K) |
R | ||||||||||||||
17 |
ISO/KWP wakeup message rate (AT SW default setting) setting (in msec) = (PP 17 value) x 20.48 | 00 to FF | 92(3.0 sec) |
D | ||||||||||||||
18 |
ISO/KWP delay before a fast init, if a slow init has taken place setting (in msec) = 1000 + (PP 18 value) x 20.48 | 00 to FF | 31(2.0 sec) |
I | ||||||||||||||
19 |
ISO/KWP delay before a slow init, if a fast init has taken place setting (in msec) = 1000 + (PP 19 value) x 20.48 If you are having trouble connecting, increasing this time to 5 seconds (C3) may help. | 00 to FF | 4F (2.6 sec) |
I | ||||||||||||||
1A |
Protocol 5 fast initiation active time (TiniL) setting (in msec) = (PP 1A value) x 2.5 | 00 to FF | 0A(25 msec) |
D | ||||||||||||||
1B |
Protocol 5 fast initiation passive time (TiniH) setting (in msec) = (PP 1B value) x 2.5 | 00 to FF | 0A(25 msec) |
D | ||||||||||||||
1C |
ISO/KWP outputs used for initiation (b7 to b2 are not used) b1: L line (pin 22) 0: disabled 1: enabled b0: K line (pin 21) 0: disabled 1: enabled If disabled, an output will remain low during protocol initiations |
00 to FF | 03 |
D | ||||||||||||||
1D |
ISO/KWP P3 time (delay before sending requests) Ave time (in msec) = (PP 1D value - 0.5) x 4.096 | 00 to FF | 0F |
D | ||||||||||||||
1E |
ISO/KWP K line minimum quiet time before an init can begin (W5) setting (in msec) = (PP 1E value) x 4.096 | 00 to FF | 4A(303 msec) |
D | ||||||||||||||
1F |
KWP byte count includes the checksum byte? | FF = NO;00 = YES | FF(NO) |
R | ||||||||||||||
20 |
ISO/KWP 5 baud initiation W1 timer start point The minimum time, measured from the beginning of the Address byte stop bit before the Sync byte may appear. T = (PP 20 value) x 1.984 msec Note that the standards define a range for this value from 260 msec to 500 msec. |
00 to FF | 5D(185 msec) |
R | ||||||||||||||
21 |
Ajuste de la monitorización silenciosa CAN por defecto (AT CSM) | FF = ON; 00 = OFF | FF(ON) |
R | ||||||||||||||
24 |
Formateo automático CAN (ajuste por defecto de AT CAF) | 00 = ON; FF = OFF | 00(ON) |
D | ||||||||||||||
25 |
Control de flujo automático CAN (ajuste por defecto de AT CFC) | 00 = ON; FF = OFF | 00(ON) |
D | ||||||||||||||
26 |
Byte de relleno CAN (se usa para completar los mensajes CAN hasta 8 bytes) | 00 to FF | 00 |
D | ||||||||||||||
28 |
CAN Filter settings (controls CAN sends while searching) The bits of this byte control options, as follows: b7: 500 kbps match 0: ignored 1: required b6: 250 kbps match 0: ignored 1: required b5 to b1: reserved for future - leave set to 1 b0: send if bus is quiet 0: not allowed 1: allowed |
00 to FF | FF |
D | ||||||||||||||
29 |
Impresión de la longitud de datos CAN (DLC) al mostrar las cabeceras (ajuste por defecto de AT D0/D1) | 00 = ON; FF = OFF | FF(OFF) |
D | ||||||||||||||
2A |
CAN Error Checking (applies to protocols 6 to C). Each bit of this byte controls an option, as follows: b7: ISO15765 Data Length 0: accept any 1: must be 8 bytes b6: ISO15765 PCI = 00 0: allowed 1: not allowed b5: Search after ERR94 0: normal 1: CAN is blocked b4: Search after LV RESET 0: normal 1: CAN is blocked b3: Wiring Test 0: bypass 1: perform Processing 7F xx 78’s: b2: enabled (CAN & KWP) 0: no 1: yes b1: valid Modes (xx values) 0: all 1: only 00 to 0F b0: valid CAN protocols 0: all 1: only ISO15765 |
00 to FF | 3C |
D | ||||||||||||||
2B |
Protocol A (SAE J1939) CAN baud rate divisor baud rate (in kbps) = 500 ÷ (PP 2B value). For example, setting this PP to 19 (ie. decimal 25) provides a baud rate of 500/25 = 20 kbps. | 01 to 40 | 02(250 Kbps) |
R | ||||||||||||||
2C |
Protocol B (USER1) CAN options. Each bit of this byte controls an option, as follows: b7: Transmit ID Length 0: 29 bit ID 1: 11 bit ID b6: Data Length 0: fixed 8 byte 1: variable DLC b5: Receive ID Length 0: as set by b7 1: both 11 and 29 bit b4: baud rate multiplier 0: x1 1: x 8/7 (see note 3) b3: reserved for future - leave set at 0. b2, b1, and b0 determine the data formatting options: b2 b1 b0 Data Format 0 0 0 none 0 0 1 ISO 15765-4 0 1 0 SAE J1939 Other combinations are reserved for future updates – results will be unpredictable if you should select one of them. |
00 to FF | E0 |
R | ||||||||||||||
2D |
Protocol B (USER1) baud rate divisor baud rate (in kbps) = 500 ÷ (PP 2D value). For example, setting this PP to 0A (ie. decimal 10) provides a baud rate of 500/10 = 50 kbps. | 01 to 40 | 04(125 Kbps) |
R | ||||||||||||||
2E |
Protocol C (USER2) CAN options. Each bit of this byte controls an option, as follows: b7: Transmit ID Length 0: 29 bit ID 1: 11 bit ID b6: Data Length 0: fixed 8 byte 1: variable DLC b5: Receive ID Length 0: as set by b7 1: both 11 and 29 bit b4: baud rate multiplier 0: x1 1: x 8/7 (see note 3) b3: reserved for future - leave set at 0. b2, b1, and b0 determine the data formatting options: b2 b1 b0 Data Format 0 0 0 none 0 0 1 ISO 15765-4 0 1 0 SAE J1939 Other combinations are reserved for future updates – results will be unpredictable if you should select one of them. |
00 to FF | 80 |
R | ||||||||||||||
2F |
Protocol C (USER2) baud rate divisor. baud rate (in kbps) = 500 ÷ (PP 2B value) For example, setting this PP to 19 (ie. decimal 25) provides a baud rate of 500/25 = 20 kbps. | 01 to 40 | 0A(50 Kbps) |
R |
El adaptador ScanDoc amplía el protocolo ELM327 con la compatibilidad con DoIP (Diagnostics over Internet Protocol, ISO 13400). Esto permite realizar el diagnóstico Ethernet de los automóviles modernos a través de la conocida interfaz de comandos AT de ELM327.
Descripción detallada del protocolo DoIP (ISO 13400) →
El adaptador ScanDoc amplía el protocolo ELM327 con la compatibilidad con BMW HSFZ (High Speed Fahrzeug Zugang). Es un protocolo propietario de BMW para el diagnóstico Ethernet, que utiliza un direccionamiento de 1 byte y un formato de tramas simplificado sin Routing Activation.
Descripción detallada del protocolo BMW HSFZ →
En el modo normal (sin el prefijo AT), los comandos se envían directamente al automóvil. Los comandos se escriben con bytes hexadecimales:
| Comando | Descripción |
|---|---|
01 00 | Consulta de los PID admitidos (Mode 01) |
01 0C | Lectura de las revoluciones del motor |
01 0D | Lectura de la velocidad del automóvil |
03 | Lectura de los códigos de error guardados (Mode 03) |
04 | Borrado de los códigos de error (Mode 04) |
09 02 | Lectura del número VIN (Mode 09) |