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
eDEVICE_STATE
si trova nella documentazione della biblioteca diIoDrvJ1939
.
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.
