Discussions au sujet des autres produits NI

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

UDP multicast sur cRIO-9022

Résolu !
Accéder à la solution

Je souhaite faire communiquer en UDP Multicast plusieurs CompactRIO équipés de CPU 9022. Je suis sur LV 2011 SP1.

 

Pour le moment je fais des essais avec les VI d'example "UDP Multicast Receiver.vi" et "UDP Multicast Sender.vi"

 

Ces deux VIs fonctionnent très bien sur mon PC mais le VI Receiver semble ne pas fonctionner correctement sur les CRIO. Je m'explique :

 

  • Si j'exécute le Sender sur un CRIO et le Receiver sur mon PC ça fonctionne correctement.
  • Si j'exécute le Sender sur mon PC et le Receiver sur le CRIO ça ne fonctionne pas, le Receiver ne reçoit rien.
  • Si j'exécute le Sender sur un CRIO et le Receiver sur un autre CRIO, idem, le Receiver ne reçoit rien.

 

Je ne sais pas si c'est lié, mais lors de mes premiers essais j'ai eu l'erreur 54 renvoyée par le vi UDP Multicast Open dans le Receiver lorsque j'exécutais celui-ci sur ma cible CRIO alors que cette erreur ne se produisait pas sur mon PC. J'ai fait disparaitre cette erreur en cablant la sortie de la fonction "String to IP" à l'entrée "net address".

 

Je ne trouve pas d'info sur le site NI sur ce type de problème, qqu'un aurait il déjà rencontré ça ou une idée à me soumettre ?

Yohann L.
0 Compliments
Message 1 sur 5
5 778 Visites
Solution
Accepté par l'auteur du sujet yledieu

Bon, bin je viens de trouver la solution, un peu par hasard.

 

Apparemment le problème venait du fait que j'avais mis 0.0.0.0 comme adresse de Gateway dans la config réseau de mes CRIO. En mettant dans Gateway la même adresse que dans "Adresse IPv4" l'erreur 54 dont je parle plus haut disparait, et mes CRIO reçoivent bien les messages UDP.

 

je ne comprend pas trop pourquoi mais bon ...

Yohann L.
0 Compliments
Message 2 sur 5
5 768 Visites

Bonjour Yohann,

 

Les sender et receiver sont-ils sur les mêmes sous-réseaux ? Si non, il faut spécifier une adresse de passerelle de telle façon à ce que l'UDP Multicast puisse "traverser" les sous-réseaux et émettre correctement sur ces derniers. Le paramètre de TTL (Time To Live) permet de savoir combien de réseau l'UDP traverse.

 

Cdt,

Eric

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

Message 3 sur 5
5 751 Visites

Merci pour l'info Eric

 

Actuellement je suis sur une plateforme de développement, mes CRIO sont connectés sur un switch et je les ai configuré avec des IP fixes qui sont sur le même sous-réseau. Mais à terme le système sera déployé sur un réseau assez vaste avec des sous-réseaux différents, mais il y aura des passerelles.

 

Je ne suis pas très calé en ce qui concerne les réseaux, je m'inquietais un peu a cause de ces sous-réseaux différents, je n'avais pas bien saisi le role des passerelles. Est-ce que la passerelle permet aussi de faire "traverser" les communications TCP entre les sous-réseau ?

 

J'ai toujours lu que les cibles RT devaient être sur le même sous-réseau que le poste sur lequel on développe le logiciel, mais dans le cas contraire si on a une passerelle ça fonctionnera aussi ?

Yohann L.
0 Compliments
Message 4 sur 5
5 748 Visites

Bonjour Yohann,

 

Le TCP est bien pratique avec son système de requête, mais a besoin d'un routeur (en plus d'une simple passerelle) pour acheminer les données entre différents sous-réseaux. L'UDP n'a besoin que d'une passerelle pour avoir un point d'entrée dans les divers sous-réseaux.

 

Pour ce qui est des cibles RT, elles doivent effectivement être sur le même sous-réseau pendant le développement (impossible d'ajouter/déployer quoi que ce soit sinon), mais les cibles supportant le multicast peuvent éventuellement être à terme sur un sous-réseau différent lorsque l'appli est terminée (et est sous forme de .rtexe autonome).

 

Cdt,

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 5
5 731 Visites