LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problème avec communication TCP

Bonjour à tous,

J'essaie de faire communiquer 2 PCs (un serveur et un client) par TCP via LabVIEW mais ça ne marche pas.
J'aurais voulu donc vous montrer ce que j'ai codé afin que vous me disiez s'il y a des erreurs de codage.

Pour l'instant je veux envoyer la commande NULL qui interroge le PC serveur sur son état. Celui ci renvoie alors normalement un message de statut (écrit en XML) par TCP au PC client sur lequel se trouve LabVIEW.
Lorsque j'exécute mon code le logiciel sur le PC serveur (qui doit normalement me renvoyer le msg de statut) sort une erreur : "Une opération a été tenté sur autre chose qu'un socket. Could not process the command NULL".

Ma question est alors est : y a-t-il un problème avec mon code LAbVIEW ou est ce un problème de configuration réseau sur le PC Serveur ?

Merci beaucoup,

A++

0 Kudos
Message 1 of 6
(2,489 Views)

Tu ecris et tu essais de lire le port TCP en parallel.  Essais d'envoyer la commande en premier lieu et d'ecouter par apres.

Tu fais la lecture continuellement sans aucun delais du port TCP.  Tu peux completement manquer le message, puisqu'il disparaitera a la prochaine iteration de la boucle..  Afin de verifier si je t'envoie dans la bonne direction, insert un "Shift Register" a ta boucle et ajoute le texte provenant de l'autre PC a chaque iteration de la boucle (Concatenate String). 

 

Si c'est la bonne direction, il va falloir changer ton code en consequences.

0 Kudos
Message 2 of 6
(2,483 Views)

Merci pour la réponse. Sinon j'avais une autre question : Le PC serveur avec qui je veux communiquer n'accepte que des sockets (en fait je ne comprends pas trop ce que ça veut dire) mais apparemment quand j'utilise la fonction TCP write ça n'envoie pas de socket. J'ai vu qu'il y avait des fonctions LabVIEW DataSockets mais je ne sais pas si avec ça je peux créer des sockets et les envoyer par TCP et UDP

0 Kudos
Message 3 of 6
(2,479 Views)

Malheureusement, je n'ai pas d'experience avec LabVIEW et l'utilisation de sockets.

Je craint que cela ne soit pas facilement possible, suite de la lecture de cette proposition d'idee:

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Access-to-sockets-other-than-TCP-UDP/idi-p/1481952

 

Cependant, voir cette discussion qui inclus un exemple:

http://forums.ni.com/t5/LabVIEW/Implementing-Data-Sockets-and-Ports/m-p/45775

 

0 Kudos
Message 4 of 6
(2,468 Views)

Bonjour,

 

J'essai de faire la même chose avec un PC ( Labview en tant qu'esclave), et un automate qui communique en TCP/IP par modbus. Avez-vous un exemple de VI qui fonctionnerait sur ce cas ? Simplement pour voir comment acquérir les données envoyées par l'automate qui est le maître.

 

Merci d'avance,

Cordialement,

0 Kudos
Message 5 of 6
(2,412 Views)

Voici le VI que j'ai mis en place pour lire les informations envoyées par le maître, un API qui utilise le protocole modbus par TCP/IP.Il est eb pièce jointe.

 

Pouvez-vous m'indiquer où il peut y avoir des erreurs?

Ce problème est bloquant sévèrement, pouvez-vous voir rapidement ?

Merci

0 Kudos
Message 6 of 6
(2,410 Views)