Discussions au sujet de NI LabVIEW

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

Filtre des identifiants des trames CAN

Bonjour la communautée meilleurs voeux à vous,

 

je suis actuellement entrain de travailler sur un projet de communication entre un calculateur et un compact Rio. Pour mes essais je me sers d'un module 9862, j'arrive à faire communiquer mes deux éléments sans probléme. Mais je souhaiterai ajouter un second calculateur sachant que chacun aura des rôles différents. Je souhaiterai donc filtrer les trames de retour de mes calcultateur en utilisant leurs identifiants. Avec le VI ci-dessous, je peux envoyer et recevoir mes trames. 

Emission_Reception_Trame.png

 

Au niveau de la réception je me sers d'une indexation de tableau le zéro concerne ma premiére trame.Aprés cela je récupére son identifiant et pour terminer récupérer les données. J'aimerai savoir si il y a une maniére plus simple de filtrer les trames sachant que j'aurais plusieurs calculateur.

 

Voici également un screenshot de ce que j'obtiens.

 

trame.png

 

Ce que je trouve bizarre c'est que aprés mon indexation je regarde mon identifiant voir si cela correspond hors ce n'est pas le cas. Alors que que précédement l'identité de la trame était "182" la je trouve "386" ? Pourquoi cette différence ?

 

Merci de votre aide.

 

Bonne journée à vous.

 

Baba59

0 Compliments
Message 1 sur 8
5 869 Visites

Je viens de trouver la solution pour mon probléme d'affichage cela venait du faite que mon indicateur ne l'afficher pas en Hexadecimal. Je reste néanmoins interesser par une meilleur facon de faire pour filtrer mes trames CAN selon l'identifiant.

 

0 Compliments
Message 2 sur 8
5 856 Visites

As-tu essayé l'instance Frame In Single-point (le vi est polymorphe), je crois qu'il est là pour ça 😉

Message 3 sur 8
5 845 Visites

Bonjour,

 

Je n'ai jamais utilisé de Frame en Single Point. Je vais aller essayer ce que vous m'avez conseillé voir si cela peut fonctionner.

 

Cordialement.

 

Baba59

0 Compliments
Message 4 sur 8
5 842 Visites

Pour ajouter à la réponse de Nico:

 

Ou Frame Input Queued.

Le single-point est adapté pour filtrer plusieurs trames, sans pouvoir les bufferiser (les trames sont écrasées - chaque trame est associée à un buffer à un élément).

Le mode Queued convient pour une seule trame que l'on souhaite superviser. Si 10 trames ont été lues par l'émetteur/récepteur, on pourra lire les 10 en un seul XNET Read.

Il faut choisir si la but est de faire une lecture ponctuelle (à une fréquence définie), ou si l'on souhaite lire toutes les informations émises sur le bus pour une trame particulière.

 

--Eric

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

0 Compliments
Message 5 sur 8
5 818 Visites

Bonjour et merci pour vos réponses. 

 

En faite je dois lire plusieurs trames sur mon réseau. Pour cela que je pensais utilisé ma structure que je vous ai proposés. Car j'ai compter j'aurai 8 trames différentes que je recevrais au Compact Rio. Donc le mieux serai d'utiliser le single point ?

0 Compliments
Message 6 sur 8
5 792 Visites

Bonjour

Le Frame In Single-point te permet de sélectionner plusieurs trames, mais après, il faut les trier.

Tu doit aussi pouvoir faire plusieurs instance du single-point, un pour chaque trame.

Après, tu fais comme ça t'arange Smiley heureux

0 Compliments
Message 7 sur 8
5 784 Visites

D'accord merci beaucoup pour les informations. Je viens de commencer à voir le single point cela fonctionne bien. Mais j'ai du mal à comprendre le fonctionnement du DataBase. 

 

Voici ce que j'ai créé ma frame.

 

Ni XNET_DATABase.png

 

Avec ma donnée que je souhaite récupérer. Mais quand je fais mes essais, je remarque que je recois rien et la mise à jour du Timestamps ne se fait pas. Donc est ce que j'ai loupé quelque chose ?

CAN_Receive.png

 

DIagrame :

 

diagramme.png

 

J'ai essayé plusieurs chose du genre, mettre que les frames en espérant reception toute les données par rapport à la trame, cela ne fonctionne pas. J'ai créé ensuite mes trames avec les bons emplacements de mes données sans succés également.

J'ai cherché sur le site de National Instrument, mais je ne trouve pas l'explication et mon erreur.

 

0 Compliments
Message 8 sur 8
5 762 Visites