Skip to Content

Comando CXDTC — Falhas da ECU (DTC)

Leitura dos códigos de falha informados pelo computador do veículo: os mesmos que um scanner de diagnóstico de oficina mostra, entregues pelo protocolo normal do equipamento.

  • Caminhões e máquinas (J1939): SPN, FMI, ECU que reporta, ocorrências e lâmpadas do painel.
  • Veículos leves (OBD2): o código padrão completo — P0301, P0420, P0087 — e a ECU que o reporta.

Disponível na série de firmware 1.09.27, que no momento da publicação desta página é uma versão T (pré-lançamento): entregue por FOTA sob demanda, não faz parte da última versão estável. Dentro da série: T1 adiciona J1939, T5 os sinais, funções EVAL e o token, T6 o relatório pelo gerador e T9 o suporte OBD2. Com um T anterior ao 9 o equipamento não lê falhas OBD2. Confirmar sempre com >QVR< qual T está instalada.


Para que serve?

Caso de usoDescrição
🔧 Manutenção preditivaSaber qual falha o veículo tem sem levá-lo à oficina
🚨 Alerta imediatoRelatório automático assim que aparece uma falha nova
📋 Diagnóstico remotoConsultar a lista de falhas ativas a qualquer momento
⚙️ Regras locaisDisparar ações no veículo (saída, buzzer, SMS) sem passar pelo servidor
📊 Integração simplesCada relatório é uma foto completa: a plataforma não reconstrói estado

Compatibilidade

💾Firmware:v1.09.27
SP-IOT
SM-IOT

O Rinho Zero IoT não tem transceptor CAN: nesse modelo estes comandos respondem NA. Para ler falhas do veículo é preciso usar Spider IoT ou Smart IoT.

O protocolo configurado em CXCAN precisa coincidir com o veículo: J1939 em caminhão, OBDII em leve. Se não coincidir, o módulo informa sempre zero falhas.


Configuração — SCXDTC / QCXDTC

SCXDTC[en][,agesec[,busclr[,autorpt[,destino]]]] QCXDTC RCXDTC[en],[agesec],[busclr],[autorpt],[destino]
ParâmetroDescriçãoPadrão
en0 = desabilitado, 1 = habilitado0
agesecSegundos sem ver um código para considerá-lo resolvido (1-60)3
busclrReservado para o apagamento de falhas no veículo0
autorpt0/1 — relatório automático diante de falha nova ou resolução0
destinoPara onde vai o relatório automáticoGP

Os campos são posicionais e opcionais da esquerda para a direita: >SCXDTC1< habilita mantendo o resto como estava, e >SCXDTC1,3,0,1,GP< define todos. Um campo inválido rejeita o comando inteiro sem persistir nada.

Destinos do relatório automático

TokenCanal
GPGPRS principal (padrão)
WIWiFi principal
BTBluetooth
TRPorta serial
BGP / BWIGPRS / WiFi de backup
BACKBackup inteligente
LOGDatalog interno — baixado depois com >QDL+<
ALLTodos os canais ativos

Para validar a integração convém começar com LOG: o relatório fica guardado no equipamento e é revisado inteiro no fim do percurso com >QDL+<, sem depender de o servidor estar escutando.

O campo busclr está reservado: é aceito e gravado, mas ainda não dispara o apagamento de falhas no veículo (DM11 em J1939 / Mode 04 em OBD2). Deixá-lo em 0.


Consulta — QDTC

QDTC RDTC[n][;<fonte>:<ecu>:<código>:<fmi>:<ocorrências>;…]
RespostaSignificado
RDTC0Lendo o barramento, sem falhas ativas
RDTC2;J:00:100:1:4;J:00:1761:1:12Duas falhas ativas (caminhão)
RDTC1;O:00:P0301:0:0Uma falha ativa (veículo leve)
RDTCNAA leitura está desabilitada (en=0)

Em OBD2 o módulo consulta a ECU a cada 30 segundos: depois de habilitar é preciso esperar uma volta antes de dar por boa uma resposta em zero. Em J1939 a leitura é imediata, porque a ECU emite o DM1 por conta própria.


Apagamento — CDTC

CDTC → RDTC OK

Apaga a lista armazenada no equipamento. Se o veículo continuar informando a falha, ela reaparece no ciclo seguinte — que é o comportamento correto: CDTC limpa o registro do equipamento, não apaga a falha do veículo.


Formato da lista

J:00:100:1:4 │ │ │ │ └─ ocorrências │ │ │ └─── FMI: como falha │ │ └─────── SPN: qual componente falha │ └────────── ECU que a reporta (hex) └──────────── fonte: J = J1939 · O = OBD2
FonteCódigoFMIOcorrências
J (J1939)SPN numérico (100, 1761)0-310-127
O (OBD2)Código padrão (P0301, U0100)sempre 0sempre 0

FMI e ocorrências são campos próprios do J1939: o protocolo OBD2 não os transmite, por isso vão em zero. A letra inicial do código OBD2 indica o sistema: P motor e transmissão, C chassi, B carroceria, U rede de comunicação.

FMI — o tipo de falha (J1939)

FMISignificado
0 / 1Valor acima / abaixo da faixa normal
2Dado errático ou intermitente
3 / 4Curto para o positivo / curto para a massa
5 / 6Circuito aberto / sobrecorrente
7O sistema mecânico não responde
12Componente danificado
31A condição existe, sem mais detalhe

A distinção importa: pressão de combustível com FMI 1 é pressão baixa de verdade (filtro, bomba); com FMI 5 é circuito aberto (sensor desconectado ou cabo rompido).


Relatório automático

Com autorpt=1 o equipamento emite um relatório DF quando aparece uma falha nova e quando todas são resolvidas:

>RDF00020826143512;2;J:00:100:1:4;J:00:1761:1:12< // duas falhas ativas >RDF00020826150233;0< // resolução: não resta nenhuma

A data e a hora são as do momento da falha, não as do envio: se o veículo estava sem cobertura, o relatório espera na fila e, ao recuperar sinal, informa quando ocorreu de fato.

Também pode ser pedido sob demanda, como qualquer outro relatório:

>QDF< // resposta direta pelo canal que perguntou >GDF00H< // enfileira o relatório no destino configurado

Sinais para regras

As falhas são disparadores do motor de eventos, combináveis com qualquer outro sinal:

SinalAtiva quando
DTC00Há pelo menos uma falha ativa
DTC01Apareceu uma falha nova
DTC02Há lâmpada do painel acesa (somente J1939)
DTC03Todas as falhas foram limpas
>SRL05E;TRG=DTC01+;ACC={GDF00H}< // falha nova → relatório ao servidor >SRL07E;TRG=DTC02+;ACC={SSSXP0011}< // lâmpada acesa → saída na cabine

Funções EVAL

FunçãoRetorna
DTCN()Quantidade de falhas ativas
DTC(n)O subsinal DTC0n (DTC(0) = há falhas, DTC(2) = lâmpada acesa)
DTCH(spn)1 se esse SPN está ativo — somente J1939

Token de template

'DTC' insere a lista completa de falhas em um relatório de usuário (UC) ou em uma ação dinâmica (DA):

>SUC00 falhas:'DTC'<

Limites

LimiteValor
Falhas simultâneas na tabela32
Falhas por trama~15 (a quantidade informada é sempre a real; a lista é truncada)
Falhas no token 'DTC'~7 (buffer de 128 bytes)
Período de consulta OBD230 s (espaça para 5 min se nenhuma ECU responder em 5 ciclos)
Intervalo mínimo entre relatórios automáticos10 s
Memória com a leitura habilitada768 bytes (com en=0 nada é reservado)

O que ainda não faz: apagamento de falhas no veículo (busclr), falhas históricas ou pendentes (DM2 / Mode 07), lâmpadas do painel em OBD2 e DTCH() sobre códigos OBD2.

Carga no barramento: em J1939 o módulo é escuta pura, não transmite nada. Em OBD2 emite uma consulta Mode 03 a cada 30 segundos, o mesmo pedido que um scanner de diagnóstico faz.


Exemplo completo

>QCXCAN< // 1. verificar o protocolo (J1939 ou OBDII) >SCXDTC1,3,0,1,GP< // 2. habilitar com relatório automático ao servidor >QCXDTC< // → RCXDTC1,3,0,1,GP >QDTC< // 3. estado atual // → RDTC1;O:00:P0301:0:0 (Chevrolet Tracker com falha de ignição no cilindro 1)

Veja Também

Última atualização