Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

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 Compliments
Message 1 sur 5
1 220 Visites

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 Compliments
Message 2 sur 5
1 191 Visites

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 Compliments
Message 3 sur 5
1 181 Visites

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 Compliments
Message 4 sur 5
1 171 Visites

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 Compliments
Message 5 sur 5
1 152 Visites