Diagnostic dans l'application
État de l'ECU
L'état du calculateur d'un appareil peut être interrogé dans l'application de trois manières différentes :
<name in device tree>.State
propriété (IoDrvJ1939
bibliothèque)<name in device tree>.GetDeviceState
méthode (Diagnostic de l'appareil CAA
bibliothèque)La méthode ne renvoie pas un état J1939 spécifique, mais les informations indiquant si le périphérique est en cours d'exécution ou non. Une table de correspondance entre
ECUSTATE
etDEVICE_STATE
se trouve dans la documentation de la bibliothèque deIoDrvJ1939
.
Pour l'ECU à distance :
Comme le protocole J1939 ne définit pas de mécanisme de surveillance, une panne de calculateur n'est pas affichée par défaut. Cependant, vous pouvez sélectionner Activer le chien de garde des communications dans le configurateur de calculateur J1939 et définissez un Temps de chien de garde. Si aucun groupe de paramètres (doit être défini dans le configurateur) de l'appareil n'est reçu pendant ce temps, alors l'ECU est considéré comme inexistant et cela est indiqué en conséquence au moyen de la propriété d'état. Pour cela, cependant, un groupe de paramètres doit être défini dans le configurateur. Dans le manuel de l'appareil, vous pouvez lire à quel intervalle l'appareil envoie des groupes de paramètres pour régler l'heure correcte. Exemple : Si un ECU envoie un PG dans l'intervalle de 1s, alors le Temps de chien de garde peut être réglé sur > 1s.
Messages de diagnostic DM1 et DM2
Pour les messages DM1 et DM2, des blocs fonctions de réception (dans le cas des calculateurs distants) et également d'émission (dans le cas des calculateurs locaux) sont disponibles dans le IoDrvJ1939
bibliothèque.
DM1_Read
DM2_Read
DM1_Write
DM2_Write
Regarder un groupe de paramètres individuel
Étant donné que le chien de garde des communications globales surveille tous les groupes de paramètres d'un appareil, la défaillance d'un groupe de paramètres individuel peut ne pas être détectée. Dans ces cas, il est logique de surveiller les groupes de paramètres individuels. Avec le bloc fonction ReceiveWatchdog
, vous pouvez vérifier si oui ou non les groupes de paramètres sont reçus régulièrement. Le bloc fonction nécessite une instance du bloc fonction ReceiveParameterGroupReceiveParameterGroup
en tant qu'entrée à laquelle le PGN respectif à surveiller est communiqué.
Les sorties du bloc fonction ReceiveWatchdog
indique si le groupe de paramètres a été reçu ou non dans le cycle en cours et s'il existe ou non un timeout.
