06-03-2012 09:44 AM - edited 06-03-2012 09:46 AM
Bonjour à tous,
Je développe actuellement un logiciel de pilotage pour multimètres numériques. Les multimètres sont connectés sur le réseau du laboratoire.
Au lancement du programme, je souhaite que mon programme détecte les multimètres connectés pour pouvoir choisir lequel piloter. A noter que les multimètres ont des adresses IP de base commune, seul le 4e octet varie entre les différents multimètres (XXX.XXX.XXX.???).
Pour cela, j'ai mis en place une boucle For/Next qui cherche à ouvrir une connexion TCP/IP sur chaque adresse IP d'une plage donnée (disons de XXX.XXX.XXX.0 à XXX.XXX.XXX.255). Lorsque la connexion réussi, je fais un *IDN? et je ferme le port. Si la connexion échoue, cela veut dire qu'aucun matériel n'est présent à cette adresse, j'affiche l'erreur dans un indicateur et le programme passe à l'adresse suivante.
Mon problème : A la fin de la recherche, le programme plante. Il reste bloqué durant max 3 min, comme s'il était resté enfermé dans une boucle. A noter que le temps de plantage est lié à la taille de la plage de recherche (platage de env. 30sec pour une recherche d'une dizaine d'IP ; plantage de plusieurs minutes pour une recherche de 0 à 255.)
J'avais déjà utilisé cette méthode de recherche il y a quelques années sur un version antérieure de LabVIEW, tout marchait bien. J'utilise aujourd'hui LabVIEW 10.
Des idées ??
Merci d'avance,
Op.
06-18-2012 03:25 AM
Bonjour,
Je viens de tomber sur votre poste qui n'a malheureusement pas eu de réponses. Avez-vous trouvé une solution depuis ?
Sinon, serait-il possible de voir votre code ?
Cordialement,
Mathieu P. | Certified LabVIEW Associate Developer
National Instruments France