Skip to main content

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 et DEVICE_STATE se trouve dans la documentation de la bibliothèque de IoDrvJ1939.

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.

_can_img_diagnosis_j1939_parametergroup.png