Discussions au sujet de NI LabVIEW

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

problème de calcul CRC16 CCITT

Bonjour,

 

On m'a aidé à réaliser le calcul du CRC16 CCITT de mon programme, cependant lorsque je fourni une trame plus petite, le résultats n'est plus le bon. Pouvez-vous m'aider svp

 

La trame est  7E041937F65A0036107E, ou 7E est la balise de début et de fin, et 3610 le checksum normalement trouvé.

Le problème est également que la trame est sous format little endian.

 

Je met la partie de calcul également en piece jointe.

 

 

 

Merci d'avance,

Cordialement

Rémi D.

0 Compliments
Message 1 sur 12
5 130 Visites

Bonjour,

Attention dans ta deuxième étape, il peut y avoir un conflit de mise à jour du champ "chaîne 3", car il n 'y a pas de lien physique entre ta boucle "for" et ton "case".


Séparer ces deux boucles dans deux fenêtres de condition, afin de prioriser une étape par rapport à l'autre.


Cdt,

 

Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 2 sur 12
5 114 Visites

DODO13 ...

 

Pourquoi utilises-tu des variables locales alors que tu peux cabler directement ?

 

 

undefined

 

et d'accord à 200% avec Michael.C ...

Dans la 2eme étape, concernant "chaîne 3" ... c'est un peu l'horreur    Smiley heureux   (au niveau flux de données)

 

et j'ajouterai même que l'ensemble de ton code pourrait très bien être implémenté sans aucune structure séquence (et sans aucune variable locale).

Le flux de données .... dans ton code ce flux de données est complètement zappé ... et pourtant, c'est la base essentielle de LabVIEW.

 

 

0 Compliments
Message 3 sur 12
5 106 Visites
Bonjour, Merci pour vos réponse, je vous avous je suis débutant sous labview, cela ne fait que trois mois que j'en fait et j'apprend tous seul, c'est surement pour sa que mon code n'est pas très jolie à voir car je ne connait pas bien les bases fondamentale de Labview. Le but de ce chaine 3, est de récupérer 2 par 2 des partie de chaine. Cordialement,
0 Compliments
Message 4 sur 12
5 090 Visites

Bonjour,

J'ai rapidement fait l'effort ce matin de supprimer toutes les variables locales pour remettre en place un flux de données un peu plus "propre".


Sauf erreur de ma part (j'ai fait ça en 2 min), il semblerait que ta dernière boucle "FOR" a un souci. Comme elle est câblé actuellement, elle ne sert strictement à rien puisque tu fais un case sur le champ "Chaîne" qui n'évolue jamais à ce stade là, donc aucun intérêt de mettre 4 itérations.


Tu trouveras le vi modifié en pièce jointe, en espérant que cela t'aide à avancer.

 

Cdt,

 

Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 5 sur 12
5 084 Visites
Bonjour, Merci pour la propreter du VI. En ce qui concerne la dernière boucle je l'ai mise au cas ou un resultat est inférieur à 4 caractère, pour pouvoir concatener la chaine avec des zéro devant. Cordialement, Rémi D.
0 Compliments
Message 6 sur 12
5 082 Visites

ça devient "plus propre", maintenant il existe un "flux de donnée" cohérent (merci Michael)

 

Je remarque que le VI est "broken" .... le dernier shift-registre (à droite) n'est pas cablé.

 

Et la structure séquence, à quoi sert-elle maintenant ? ... à rien ... on peut la supprimer.

 

Cette structure séquence force .... ce qui est déjà parfaitement défini par le flux de données.

0 Compliments
Message 7 sur 12
5 076 Visites

ouadji a écrit :

Je remarque que le VI est "broken" .... le dernier shift-registre (à droite) n'est pas cablé.

.

En effet, je n'ai pas pris le temps de comprendre toutes les étapes de son programme. Ne comprenant pas l'intérêt de sa récursivité sur le champ "Chaîne" dans la dernière étape, j'avais conservé le registre à décalage pour garder le côté "ré-utilisation" à l'itération suivante.

Après, je tiens à préciser que je n'ai pas encore analyser l'aspect fonctionnalité du VI, j'ai uniquement fait une première passe d'ergonomie.

 

Bonne journée à tous.

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 8 sur 12
5 064 Visites

Bonjour,


J'ai encore un peu clarifier le diagramme.


Pourrais tu me donner un cas qui marche avec ton VI, et commenter le diagramme modifié.

Car je ne pourrais pas t'apporter plus d'aide sans commentaire sur ton diagramme pour comprendre tes différentes étapes.


Cdt,


Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 9 sur 12
5 046 Visites
Bonjour, J'ai regardé ce que vous avez fait, cependant cela ne fonctionne plus du tout car j'essaie avec une trame qui marchait avant, cela ne donne plus le même résultat. La trame : 7E02023B036C021162A715061D0BD858D968001649164901005B69390085C004000000008000000080000000000000008057017E doit retourner 5701 mais maintenant retourne 8B9A. Je vous remet le premier VI avec des commentaire Merci d'avance, Cordialement, Rémi Domenge
0 Compliments
Message 10 sur 12
5 044 Visites