Comandos CANxx
Familia de comandos para lectura de parámetros CAN desde la ECU del vehículo.
¿Para qué sirve?
| Caso de uso | Descripción |
|---|---|
| 🚛 Vehículos pesados | CAN00/CAN03 para camiones y buses con protocolo J1939 |
| 🚗 Vehículos livianos | CAN01 para autos con protocolo OBD-II/J1850 |
| 🚚 Trailers y remolques | CAN02 existe pero está deprecado: la rama no devuelve datos |
| ⛽ Consumo de combustible | CAN05 para lectura de FuelRate y sensor MAF |
| 📋 Integración con reportes | CAN03 en formato ancho fijo para reportes Ux |
Descripción General
Los comandos CANxx permiten obtener información del vehículo a través del bus CAN. Cada variante está optimizada para diferentes protocolos y formatos de datos:
| Comando | Protocolo | Uso Principal |
|---|---|---|
| CAN00 | J1939 | Vehículos comerciales/pesados |
| CAN01 | J1850/OBD-II | Vehículos livianos |
| CAN02 | — (deprecado) | No devuelve datos: rama vacía en el firmware |
| CAN03 | J1939 (ancho fijo) | Integración con reportes Ux |
| CAN05 | Genérico | FuelRate y consumo |
Antes de usar estos comandos, configure el bus CAN mediante CXCAN.
CAN00 - Parámetros J1939
Lectura de parámetros estándar usando protocolo J1939 para vehículos comerciales y pesados.
Consulta
QCAN00Respuesta
RCAN00 2010=value,5000=value,1030=value,4201=value,1020=value,1010=value,2012=value,2013=value,2020=value,3010=valueParámetros
| ID | Parámetro | Formato |
|---|---|---|
2010 | RPM | Decimal, 2 decimales (%.2f) |
5000 | Posición acelerador (%) | Decimal, 2 decimales (%.2f) |
1030 | Odolitro (L) | Decimal, 2 decimales (%.2f) |
4201 | Nivel combustible (%) | Decimal, 2 decimales (%.2f) |
1020 | Odómetro (Km) | Decimal, 2 decimales (%.2f) |
1010 | Velocidad rueda (Km/h) | Decimal, 2 decimales (%.2f) |
2012 | Temp. refrigerante (ºC) | Decimal, 2 decimales (%.2f) |
2013 | Presión aceite (kPa) | Decimal, 2 decimales (%.2f) |
2020 | Tiempo motor ON (h) | Decimal, 2 decimales (%.2f) |
3010 | Combustible trip (L) | Decimal, 2 decimales (%.2f) |
Ejemplo
>RCAN00 2010=1000.00,5000=0.00,1030=10000.00,4201=50.00,1020=20000.00,1010=60.00,2012=15.00,2013=100.00,2020=13.00,3010=0.13<CAN01 - Parámetros OBD-II
Lectura usando protocolo J1850/OBD-II para vehículos livianos.
Consulta
QCAN01Respuesta
RCAN01 1=value,2=value,3=value,B=value,14=value,15=value,2A=value,2C=valueParámetros
| ID | Parámetro | Formato |
|---|---|---|
1 | VIN | 16 dígitos ASCII |
2 | RPM | Entero, sin decimales (%.0f) |
3 | Velocidad rueda (Km/h) | Entero, sin decimales (%.0f) |
B | Odómetro (Km) | Entero, sin decimales (%.0f) |
14 | Odolitro (L) | Entero, sin decimales (%.0f) |
15 | Nivel combustible (%) | Entero, sin decimales (%.0f) |
2A | Temp. refrigerante (ºC) | Entero, sin decimales (%.0f) |
2C | Presión aceite (kPa) | Entero, sin decimales (%.0f) |
Ejemplo
>RCAN01 1=2SA23000L2,2=1000,3=60,B=20000,14=100000,15=50,2A=15,2C=100<CAN02 - Reservado para Trailer ABS/EBS (deprecado)
El comando existe y responde CMDOK, pero engineGetAscii(type==2) es una rama vacía marcada // EBS DEPRECATED en el firmware: no arma ningún campo. RCAN02 no trae ningún dato — los campos red, amber, axle_load, whell_speed, vehicle_speed, dtc_0 y dtc_1 no existen en la respuesta real.
Consulta
QCAN02Respuesta
RCAN02No uses CAN02 para leer datos de trailer ABS/EBS: la rama está deprecada y no devuelve campos. Si necesitás esos parámetros, consultá con soporte técnico qué banco los reemplaza en tu versión de firmware.
CAN03 - Formato Ancho Fijo
Lectura en formato de ancho fijo, ideal para integración con reportes de usuario Ux.
Consulta
QCAN03Respuesta
RCAN03 aaaabbbcccddddddddeeefffggghhhhhhhiiiiiiiijjjjjjjjkkParámetros
| Campo | Largo | Parámetro | Formato | Unidad |
|---|---|---|---|---|
aaaa | 4 | Engine Speed | Decimal | RPM |
bbb | 3 | Accel PCT | Decimal | % |
ccc | 3 | Fuel PCT | Decimal | % |
dddddddd | 8 | Odometer Total | Hex | metros |
eee | 3 | Speed | Decimal | Km/h |
fff | 3 | Engine Temp | Decimal | °C |
ggg | 3 | Oil Press | Decimal | kPa |
hhhhhhh | 7 | Time Engine On | Hex | horas |
iiiiiiii | 8 | Fuel Trip | Hex | litros |
jjjjjjjj | 8 | Odoliter Total | Hex | litros |
kk | 2 | Age | Hex | segundos |
Los campos hexadecimales deben convertirse a decimal. Por ejemplo, si dddddddd = 0001E240, el odómetro es 123456 metros.
Ejemplo
>RCAN03 15000350500001E240060015100000012300012345006780010A<CAN05 - FuelRate
Lectura de tasa de consumo de combustible (FuelRate).
Consulta
QCAN05Respuesta
RCAN05 FR_HW=value,FR_SW=value,MAF=valueParámetros
| Campo | Parámetro | Descripción | Unidad |
|---|---|---|---|
FR_HW | FuelRate Hardware | Lectura directa del sensor | L/h |
FR_SW | FuelRate Software | Cálculo basado en MAF | L/h |
MAF | Mass Air Flow | Sensor de flujo de aire | g/s |
Ejemplo
>RCAN05 FR_HW!3,FR_SW=89.60,MAF=300.00;ID=869084063093789;*5A<El FR_SW se calcula a partir del sensor MAF cuando no está disponible el valor directo por hardware.
Códigos de Error
Comunes a todos los comandos CANxx:
| Código | Descripción |
|---|---|
=value | Valor válido |
= (vacío tras el igual) | Parámetro no leído, sólo en CAN01 (ej. 15=) |
!3 | Sin información disponible (dato vencido), en CAN00 y CAN05 |
El firmware sólo genera el código !3; generalmente indica que el vehículo no soporta el parámetro o que hay un problema de conexión física con el bus CAN. Los códigos !1 y !2 no existen en ninguna versión actual del firmware.
Compatibilidad
Rinho Zero IoT no tiene transceptor CAN: en ese modelo estos comandos responden
NA. Para leer el bus del vehículo se debe usar Spider IoT o Smart IoT.
Ver También
- Comando CXCAN - Configuración del bus CAN
- Comando ECU - Lectura flexible de variables CAN
- Comando CXECU - Configuración ECU
- Comando Ux - Reportes de usuario personalizados