Discussions au sujet de NI LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

CAN UDS et Vitesse CAN custom

Bonjour,

J’utilise une interface CAN NI9862 + cDAQ-9171pour dialoguer avec un produit client.

Le protocole utilisé est le CAN UDS.

J’utilise : labview 2018, NI-XNET 20.0, Automotive Diagnostic Command Set 20.0, Win7pro SP1.

 

Problème d’écriture du manufacturing date :

Avec un produit dialoguant à la vitesse CAN de 500K ou autre valeur standard, l’écriture se passe bien, par contre si je configure une vitesse CAN custom, j’ai une erreur en sortie du vi : 

« Write data by identifier ».

 

Erreur : -8049

UDS WriteDataByIdentifier.vi  à errreur -8049 « Automotive Diagnostic Command Set : Erreur de gamme de paramètres dans la demande de service de diagnostic. »

 

Voir photo. (dans l’exemple les id et mode sont à 0, c’est volontaire) 

UDS.png

 

D’après vos connaissances,  que peut-il se passer ?

Merci

 

0 Kudos
Message 1 of 5
(1,264 Views)

L'entrée data in de UDS WriteDataByIdentifier est configurée en hexadécimal, tu devrais entrer 14 14 09 03 comme date et non pas 20 20 09 03.

 

20 20 09 03 fonctionnait à 500K?

 

Ben64

0 Kudos
Message 2 of 5
(1,235 Views)

Bonjour Ben,

 

Alors pour info, le format des données en entrée du vi "WriteDataByIdentifier" est correct.

les données sont bien écrite dans le produit lorsque celui-ci à un soft embarqué qui dialogue en 500 ou 250k

 

j'ai fais la manip avec un autre module Hard CAN qui est le NI USB8502. 

résultat : l'écriture du manufacturer date avec la vitesse can custom se passe sans problème.

 

le baudrate custom est définit avec l'API "NI-XNET Bus Monitor" 

il y aurait-il des configurations différentes suivant le module CAN Hard utilisé ?

 

Pour les memes valeurs de configuration du baudrate custom :

USB8502 ==> ériture OK

NI9862     ==> écriture KO

 

 

0 Kudos
Message 3 of 5
(1,225 Views)

La valeur 1 076 426 441 217 me semble plutôt élevée, le max baud rate de la carte NI-9862 est de 1Mbaud. Mais comme c'est la même valeur max pour la carte USB-8502 il y a quelque chose qui cloche car ça ne devrait pas fonctionner à cette valeur. Peut-être la carte USB utilise le max lorsque la valeur custom excède le max alors que le NI-9862 génère une erreur. Tu pourrais valider le baud rate de la carte USB avec un oscilloscope.

 

Ben64

0 Kudos
Message 4 of 5
(1,215 Views)

Bonjour,

 

La valeur du baudrate est correct, il s'agit d'un baudrate non standard défini avec l'API NI-XNET Bus Monitor, d'ou une valeur "non conventionnelle". 

A noter que j'arrive à dialoguer a ce baudrate custom, avec le produit, lors des premières étapes (request et send Key), c'est seulement lors du "WriteDataByIdentifier" ou j'observe une erreur.

je vais voir si je peux logger les échanges CAN pour en savoir plus sur le problème. Cela permettera de savoir si le produit comprend la demande et revoi une erreur ou si le produit ne comprend la demande.....

 

Slt,

0 Kudos
Message 5 of 5
(1,196 Views)