Skip to Content

Comando DRV

El módulo DRV mantiene un solo chofer por equipo. Ese chofer va en el campo iButton de los reportes Wialon (que Wialon y Traccar usan para asignar el conductor), en el token 'DRV' de las plantillas, en el viaje del módulo TRIP y en las señales DRV del motor de eventos.

Antes, la última llave leída, la sesión IC y el código del viaje eran tres cosas separadas. Con DRV se configura una vez de dónde sale el chofer y el resto del equipo lo usa.

¿Para qué sirve?

  • 🪪 Asignar el chofer en la plataforma sin reglas: Wialon y Traccar lo toman del campo iButton.
  • 📋 Aceptar solo choferes autorizados usando el listado ICL.
  • ⏱️ Cerrar la sesión sola un tiempo después de apagar el motor.
  • 🚚 Asociar cada viaje a su chofer en el módulo TRIP.
  • 🚨 Exigir chofer al dar contacto: aviso con buzzer o luz y corte si no se identifica, sin armar reglas.
  • ⚙️ Disparar reglas en el login, el logout o ante un código no autorizado.

Configuración: SCXDRV

>SCXDRV<origen>,<lista>,<retención>,<ventana>,<aviso>,<corte>,<vel corte>,<rpt login>,<rpt logout>,<rpt inválido>,<rpt sin chofer>,<dst>,<xp ok>< >QCXDRV< -> >RCXDRV<los 13 campos><
CampoValoresPor defectoQué hace
origen0 apagado · 1 iButton · 2 sesión IC · 3 solo manual · 4 tacógrafo1De dónde sale el chofer
lista0 · 101 = solo códigos del listado ICL
retención0-65535 s0Logout tras ese tiempo con la ignición apagada; 0 = nunca
ventana0-3600 s0Tiempo para identificarse al dar ignición; 0 = no se exige chofer
aviso0-2 · --Salida que se activa mientras corre la ventana
corte0-2 · G · H0-H2 · --Qué se activa si vence la ventana: una salida, el corte gradual o nada. Con H, la salida habilita el vehículo solo con chofer (ver abajo)
vel corte0-255 km/h3El corte por salida solo se aplica por debajo de esta velocidad
rpt loginreporte · --Reporte a emitir en cada login (ver Reportes automáticos)
rpt logoutreporte · --Reporte a emitir en cada logout
rpt inválidoreporte · --Reporte a emitir ante un código no autorizado
rpt sin choferreporte · --Reporte a emitir al vencer la ventana sin chofer
dstGP WI BT TR BGP BWI LOG BACK ALLGPDestino de esos reportes (los mismos nombres que SCXDTC)
xp ok0-2 · --Salida que se activa 2 s en cada login: un bip o un LED para confirmarle al chofer
  • Los campos son posicionales y un campo vacío conserva su valor: >SCXDRV,,120< solo cambia la retención.
  • Se valida todo antes de guardar. Con un valor inválido no se guarda nada y la respuesta indica el campo: RCXDRV,ERR,ORIGEN, LISTA, RETENCION, VENTANA, AVISO, CORTE, VELCORTE, RPTLOGIN, RPTLOGOUT, RPTINVALIDO, RPTSINCHOFER, DST, XPOK.
  • Cambiar el origen hace logout del chofer actual.

Orígenes

OrigenEl chofer es…Cómo se identifica
0 apagadosiempre ninguno— (el campo de Wialon va NA)
1 iButtonla última llave leídaLlave iButton (Spider/Smart) o SDRV
2 sesión ICla sesión de conductor (IC)Llave iButton, control RF433, SIC/SDRV, o un lector serie con CXXB + SDA
3 solo manuallo cargado con SDRVSolo SDRV (las llaves se ignoran)
4 tacógrafola tarjeta del chofer 1 en el tacógrafoLa tarjeta en el tacógrafo (CAN J1939) o SDRV

Origen 4: tacógrafo

Solo en equipos con CAN (en los demás SCXDRV4 responde RCXDRV,ERR,ORIGEN). El equipo lee del bus J1939:

  • DI (PGN 65131): los números de tarjeta del chofer 1 y del chofer 2. El chofer del equipo es el chofer 1; el 2 queda en el token 'DRV2'.
  • TCO1 (PGN 65132): si cada tarjeta está puesta y el estado de trabajo de cada chofer (token 'TCO').
Evento en el tacógrafoChofer del equipo
Se inserta la tarjeta del chofer 1Login con el número de tarjeta (fuente T)
Se retira la tarjeta del chofer 1Logout
Cambia la tarjeta del chofer 1El nuevo reemplaza al anterior
  • El código es el número de tarjeta en mayúsculas, sin espacios, hasta 16 caracteres (en la UE son 16).
  • Un CDRV con la tarjeta puesta saca al chofer hasta el próximo cambio en el tacógrafo (otra tarjeta, o retirarla y volver a ponerla).
  • Un chofer cargado con SDRV no lo saca el tacógrafo.
  • lista=1 también aplica: una tarjeta fuera del listado no entra y dispara DRV03.

No todos los camiones ponen el DI en el bus: en muchos el tacógrafo lo manda solo por la interfaz FMS. Antes de configurar el origen 4, verificar con un escaneo del bus que llegue el PGN 65131.

Gana el último login: si hay un chofer y se identifica otro, el nuevo reemplaza al anterior.

Con origen 2 y lista=0, cualquier código válido abre la sesión IC aunque no esté en el listado. Con lista=1 se comporta como siempre: solo abren los códigos del listado.

Listado (lista=1)

  • Un código que no está en el listado no cambia el chofer y dispara la señal DRV03.
  • Un código cargado con $ en el listado se reconoce, pero no es chofer: no cambia el chofer y tampoco dispara DRV03 (sigue disparando su ICLnn).

Los códigos de chofer son 1 a 16 caracteres alfanuméricos: letras y números, sin espacios, guiones ni guiones bajos. Para el listado usá SICL+ CODIGO, con un espacio después del +.

Exigir chofer: ventana, aviso y corte

  1. Ignición ON sin chofer y ventana mayor a 0: arranca la ventana y se activa la salida de aviso. Estado 3.
  2. Se identifica dentro de la ventana: se apaga el aviso.
  3. Vence la ventana (señal DRV04) o se presenta un código no autorizado (DRV03): se apaga el aviso y se corta.
    • Salida: se activa solo con el GPS con fix y por debajo de vel corte. Si va más rápido queda pendiente hasta que baje (estado 4).
    • G: se activa el corte gradual, con la rampa configurada con SGC. No espera a que baje la velocidad: la rampa ya es gradual (estado 5).
  4. Ignición OFF: se apagan el aviso y la ventana. El corte no se libera al apagar.

Solo un login válido libera el corte, y solo el que puso el DRV. Si el corte lo activó otra cosa (una regla de jamming, SGCA desde la plataforma), el login no lo toca. Desde la plataforma se puede liberar igual con SGCS o apagando la salida.

Para usar G, el corte gradual tiene que estar habilitado con SGCE. Si no lo está, al vencer la ventana no se corta.

El patrón del aviso (fijo, intermitente) es el que tenga configurada esa salida con SCXXP. El estado de la ventana y del corte se guarda: si el equipo se reinicia en pleno corte, sigue cortado hasta el login.

>SCXDRV1,1,0,120,2,1,3< llave del listado; 2 min para identificarse; buzzer en XP2; corte en XP1 detenido >SCXDRV2,1,60,120,2,G< sesión IC del listado; logout 60 s después de apagar; corte gradual

Habilitar el vehículo solo con chofer (H)

Con corte = H más el número de salida, esa salida habilita el vehículo: está activa solo mientras hay un chofer identificado. Se cablea a un relé que habilite el arranque, la bomba o el encendido: sin chofer el vehículo no arranca, también con la ignición apagada.

SituaciónSalida de habilitación
Se identifica un choferSe activa en el acto
Logout con la ignición apagadaSe apaga en el acto
Logout con la ignición encendida y el vehículo detenido (GPS con fix, por debajo de vel corte)Se apaga
Logout andando o sin fix de GPSSigue activa (estado 4, pendiente) hasta que se detenga o se apague la ignición
Reinicio del equipoVuelve como corresponde al chofer guardado
  • Nunca deshabilita un vehículo en movimiento. Un CDRV desde la plataforma con el vehículo andando recién se aplica al detenerse o al apagar.
  • La plataforma puede forzar la salida (por ejemplo habilitar un vehículo sin chofer con SSSXP): el DRV no la vuelve a tocar hasta el próximo login o logout.
  • La ventana y el aviso se pueden usar igual (por ejemplo para que suene el buzzer mientras no se identifica nadie); al vencer la ventana no se corta nada más: el vehículo ya está deshabilitado.
  • El aviso y xp ok no pueden ir en la salida de habilitación: responde RCXDRV,ERR,AVISO o RCXDRV,ERR,XPOK. Desde la T60 el aviso tampoco puede ir en la salida del corte por salida.

Para que el vehículo quede deshabilitado también si se corta la alimentación del equipo, usar un relé que habilite cuando la salida está activa (normal abierto en el circuito de arranque o de la bomba).

>SCXDRV1,1,0,0,-,H0,3< llave del listado; el vehículo solo arranca con chofer (XP0 habilita) >SCXDRV2,1,300,30,2,H0,3< sesión IC del listado; logout 5 min después de apagar; buzzer en XP2 mientras no se identifica

Reportes automáticos

En cada evento se emite el reporte configurado al dst, igual que si una regla hiciera G<reporte>;@<dst>, pero sin armar reglas. El reporte se escribe como la acción G sin la G: tipo, número en hexadecimal y prioridad (U101H es el reporte de usuario con la plantilla SUC01, número 01, prioridad alta).

CampoEventoSeñal
rpt loginLogin (también el chofer que entra al reemplazar a otro)DRV01
rpt logoutLogout: CDRV, retención vencida, cambio de choferDRV02
rpt inválidoCódigo no autorizadoDRV03
rpt sin choferVenció la ventana sin choferDRV04
  • La fecha y hora del reporte son las del evento, aunque salga hasta un segundo después.
  • En la plantilla del reporte, 'DRV' es el chofer del evento: el que entró en el login, el que salió en el logout y el código rechazado en el inválido. En el de ventana vencida va vacío (o NA con 'DRV::NA').
  • En un cambio de chofer salen los dos: primero el logout del anterior y después el login del nuevo.
>SUC01 $CHOFER='DRV::NA'< plantilla 1: el chofer del evento >SCXDRV,,,,,,,U101H,U102H,U103H,U104H,LOG< los 4 eventos con la plantilla 1, números 01 a 04, al log

xp ok no puede ser la salida de corte: el login libera el corte y el bip la volvería a activar. Con corte gradual (G), si xp ok es la salida del corte gradual, el bip no se hace.


Chofer por Bluetooth: SCXDRVB

El chofer se identifica con un beacon iBeacon o Eddystone-UID que lleva encima o deja en el vehículo. Se apoya en un slot del BSW: el filtro (UUID, major/minor, distancia) y el tiempo de ausencia se configuran ahí.

>SCXDRVB<slot>,<modo>,<id>,<toggle>< >QCXDRVB< -> >RCXDRVB<slot|->,<modo>,<id>,<toggle><
CampoValoresPor defectoQué hace
slot0-3 · --Slot BSW que alimenta al chofer; - apaga
modoP · BPP presencia, B botón
idM · IMCódigo del chofer: M la MAC (12 hex), I el major+minor del iBeacon (8 hex) o la instancia del Eddystone-UID (12 hex)
toggle0 · 10Modo B: volver a apretar hace logout
Presencia (P)Botón (B)
LoginEl BSW engancha el beacon y lo vuelve a ver a los 2 sCada vez que el BSW engancha el beacon de nuevo
LogoutEl BSW lo suelta (su timeout es la ausencia)Otro login, la retención, CDRV o volver a apretar con toggle=1
¿Reemplaza a otro chofer?No: solo entra si no hay chofer, y solo saca al que puso élSí
  • Modo botón: iBeacon y Eddystone no tienen un campo de botón. Sirve con beacons que anuncian solo al apretar; el BSW tiene que tener un timeout corto (5-10 s) para soltarlo entre una pulsación y otra.
  • Si el login falla (código fuera del listado) o después lo saca otro (CDRV, la retención), el beacon tiene que irse y volver para un nuevo intento.
  • Funciona con origen 1 y 2. Con origen 3 (solo manual) se ignora.
  • Solo en equipos con Bluetooth Low Energy. En los demás responde RCXDRVB,ERR,NOBLE.
  • Errores: RCXDRVB,ERR,SLOT, MODO, ID, TOGGLE, CAMPOS.

El BSW engancha el primer beacon que ve, no el más cercano. Filtrar por UUID y distancia, y en lo posible usar lista=1. Con id=M, un beacon que rota la MAC cambia de código: preferir I.

>SBSW01E,FF,E2C56DB5DFFB48D2B060D0F5A71096E0,,,30,2< slot 1: iBeacon con ese UUID, a menos de 2 m, ausencia 30 s >SCXDRVB1,P,I< presencia; el código es major+minor

Acciones: QDRV / SDRV / CDRV

>QDRV< -> >RDRV <código|NA>,<fuente>,<desde>,<estado>< >SDRV <código>< -> login manual, responde como QDRV >CDRV< -> logout, responde como QDRV (con NA)
FuenteSignificado
NLlave iButton
RControl RF433
SManual (SDRV o SIC)
BBluetooth
TTacógrafo
-Sin chofer
EstadoSignificado
0Sin chofer
1Con chofer
2Con chofer, ignición apagada, contando la retención
3Esperando identificación (corre la ventana, aviso activo)
4Corte por salida activo, o pendiente hasta que baje la velocidad. Con H: sin chofer, vehículo deshabilitado o por deshabilitarse
5Corte gradual en curso o completo

Diagrama de estados

Lo que el diagrama no muestra:

  • De 3 se pasa a 4 si corte es una salida y a 5 si es G; sin corte configurado, al vencer la ventana vuelve a 0. A 2 solo se llega con retención mayor a 0.
  • En 4 la salida se activa recién con el GPS con fix y por debajo de vel corte; mientras tanto el corte queda pendiente, en el mismo estado.
  • El corte no se libera al apagar: desde 4 y 5 solo sale un login válido. Si otro libera el corte (SGCS, la salida a mano), el DRV deja de considerarlo suyo y vuelve a 0.
  • Un login con otro chofer desde 1 o 2 es un logout del anterior más un login del nuevo: el estado sigue en 1.
  • Con ventana en 0 no existen 3, 4 ni 5. Con retención en 0, al apagar la ignición el chofer se queda (estado 1).

Errores de SDRV:

RespuestaCausa
RDRV,ERR,CODIGOEl código no tiene 1 a 16 caracteres alfanuméricos
RDRV,ERR,LISTAlista=1 y el código no está en el listado, o es un código $
RDRV,ERR,ORIGENEl origen es 0 (módulo apagado)

Con origen 2, SDRV <código> equivale a SIC <código>,S y CDRV equivale a SIC*.

El chofer se guarda en memoria no volátil solo en el login y el logout: sobrevive a un reinicio en pleno viaje sin desgastar la flash. Si el equipo se reinicia con la ignición apagada, la retención vuelve a contar desde el arranque.


Señales para reglas

SeñalTipoSignificado
DRV00nivelHay chofer
DRV01pulsoLogin
DRV02pulsoLogout (también al reemplazar un chofer por otro)
DRV03pulsoCódigo no autorizado (con lista=1)
DRV04pulsoVenció la ventana sin chofer

En EVAL: DRV(n), por ejemplo 'DRV(0)' vale 1 con chofer.

Las señales existen en todos los modelos, aunque el equipo no tenga lector iButton.

>SRL10E;TRG=DRV01+;ACC={GCP01H}< reporte en cada login >SRL11E;TRG=DRV03+;ACC={SSSXP0111}< activa la salida XP01 ante una llave no autorizada

Token 'DRV'

En plantillas de reporte (UC), SDA y QDA:

TokenCon choferSin chofer
'DRV'el códigovacío
'DRV::NA'el códigoNA
'DRV2'origen 4: la tarjeta del chofer 2vacío
'TCO'origen 4: estados de trabajo <chofer 1>,<chofer 2> del tacógrafovacío (sin TCO1 en los últimos 10 s)

Estados de 'TCO': 0 descanso · 1 disponible · 2 trabajo · 3 manejo · 6 error · 7 no disponible.

>SUC05 $CHOFER='DRV::NA'<

Wialon y Traccar

En modo Wialon IPS, el campo iButton del paquete #D# lleva el código del chofer, o NA sin chofer.

  • Wialon: crear en la unidad un sensor de asignación de conductor sobre el parámetro iButton, y cargar en cada conductor el mismo código, con las mismas mayúsculas.
  • Traccar: el campo llega como driverUniqueId; cada cambio genera el evento driverChanged.

Con la configuración por defecto (SCXDRV1,0,0), lo único que cambia al actualizar es que el campo iButton de Wialon pasa de NA a la última llave leída. Wialon solo lo usa si la unidad tiene configurado el sensor de asignación de conductor.


Módulo TRIP

  • STPSTART sin código toma el chofer actual.
  • Si el viaje arrancó sin chofer, toma el primer login durante el viaje.
  • Un cambio de chofer a mitad del viaje no cambia el chofer del viaje. Para separar viajes por chofer:
>SRL12E;TRG=DRV01+;ACC={STPSTOP}{STPSTART}<
  • Un código cargado a mano (STPSTART,<código>, STPDRV,<código>) tiene prioridad.

Ejemplos

>SCXDRV1,0,0< iButton, cualquier llave, sin retención (por defecto) >SCXDRV2,1,60< sesión IC, solo el listado, logout 60 s después de apagar >SCXDRV3,0,0< solo carga manual (plataforma o SMS) >SDRV JPEREZ01< login manual >QDRV< -> >RDRV JPEREZ01,S,111026143022,1< >CDRV< -> >RDRV NA,-,000000000000,0<

Disponible desde la versión 1.09.28 T53; la ventana, el aviso y el corte desde la T54; los reportes automáticos y la confirmación al chofer desde la T56; el chofer por Bluetooth desde la T57; el tacógrafo desde la T58; la habilitación (H) desde la T60.

Última actualización