Skip to main content

Diagnosi nell'applicazione

Stato ECU

Lo stato ECU di un dispositivo può essere interrogato nell'applicazione in tre modi diversi:

  • <name in device tree>.State proprietà (IoDrvJ1939 biblioteca)

  • <name in device tree>.GetDeviceState metodo (Diagnosi del dispositivo CAA biblioteca)

    Il metodo non restituisce uno stato J1939 specifico, ma le informazioni se il dispositivo è in esecuzione o meno. Una tabella di mappatura tra ECUSTATE e DEVICE_STATE si trova nella documentazione della biblioteca di IoDrvJ1939.

Per ECU remota:

Poiché il protocollo J1939 non definisce un meccanismo di monitoraggio, un errore della ECU non viene visualizzato per impostazione predefinita. Tuttavia, puoi selezionare Abilita watchdog di comunicazione nel configuratore ECU J1939 e impostare un appropriato Tempo di guardia. Se in questo tempo non viene ricevuto alcun gruppo di parametri (da definire nel configuratore) del dispositivo, la ECU viene considerata come inesistente e ciò viene di conseguenza indicato tramite la proprietà dello stato. Per questo, tuttavia, è necessario definire un gruppo di parametri nel configuratore. Nel manuale del dispositivo è possibile leggere in quale intervallo il dispositivo invia i gruppi di parametri per impostare l'ora corretta. Esempio: se una ECU invia un PG nell'intervallo 1s, allora il Tempo di guardia può essere impostato su > 1s.

Messaggi diagnostici DM1 e DM2

Per i messaggi DM1 e DM2 sono disponibili nella IoDrvJ1939 biblioteca.

  • DM1_Read

  • DM2_Read

  • DM1_Write

  • DM2_Write

Guardare un singolo gruppo di parametri

Poiché il watchdog della comunicazione globale controlla tutti i gruppi di parametri di un dispositivo, l'errore di un singolo gruppo di parametri potrebbe non essere rilevato. In questi casi, ha senso guardare i singoli gruppi di parametri. Con il blocco funzione Ricevi Watchdog, è possibile verificare se i gruppi di parametri vengono ricevuti regolarmente o meno. Il blocco funzione richiede un'istanza del blocco funzione ReceiveParameterGroup come ingresso a cui viene comunicato il rispettivo PGN da guardare.

Le uscite del blocco funzione ReceiveWatchdog mostra se il gruppo di parametri è stato ricevuto o meno nel ciclo corrente e se esiste o meno un timeout.

_can_img_diagnosis_j1939_parametergroup.png