04-27-2011 09:49 AM
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++
04-27-2011 12:13 PM
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.
04-28-2011 03:21 AM
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
04-28-2011 07:04 AM
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
02-14-2012 06:27 AM
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,
02-14-2012 06:38 AM
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