|
|||||||||||||
le 06-12-2012 02:33 AM
Hello
J'ai un problème avec les blocs get.vi dans mon programme
Je fais une boucle for qui compte les heures et après environ 200-300 fois j'ai une erreur qui survient (erreur 63 : Serial Port receive buffer overflow)
A l'intérieur de la boucle j'exécute la commande get.vi plusieurs fois pour différents cas à chaque incrémentation de 1h.
Merci d'avance
En annexe, mon vi principal
le 06-13-2012 02:52 AM
Bonjour Michael_1969,
Merci d'être venu poser votre question sur le forum National Instruments.
J'ai trouvé un topic sur ce même forum, ou il y a un problême peut-être similaire au votre, qui a été résolu.
Je vais continuer à regarder de mon coté.
Cordialement,
Vincent.O
National Instruments France
le 06-13-2012 07:45 AM
Bonjour Vincent
Merci pour votre réponse
En fait j'avais déjà essayé cette méthode au début et cela me faisait aussi des problèmes, un peu similaire après 200-300 fois. Et justement j'avais vu sur le forum NI qu'une personne avait la même erreur et avait mis les get.vi comme j'ai maintenant.
Cordialement
Michel
06-13-2012 11:00 AM - modifié 06-13-2012 11:00 AM
Le nombre d'execution de votre boucle for semble est égal au nombre d'heure séparant le début et la fin de votre simulation, mais je rien vu qui dise que cette boucle s'effectue toute les heures, une fois par heure.
Cordialement,
Vincent.O
National Instruments France
le 06-14-2012 04:40 AM
Bonjour
J'ai pas du comprendre votre question
Je définis mes hstart et hstop dans un fichier texte annexe et je fais la différence qui me donne le nombre de fois à exécuter la boucle for
Cordialement
Michel
le 06-14-2012 04:54 AM
Bonjou Michel,
effectivement, votre boucle for s'exécute de la manière que vous avez décrite, je parle de sa fréquence d'execution. Aussitôt une itération terminée, la boucle for semble passer à la suivante, sans attendre une heure. Elle semble donc s'éxecuter le nombre de fois prévu mais pas au bon rythme.
Cordialement,
Vincent.O
National Instruments France
le 06-14-2012 06:15 AM
Merci pour votre réponse Romain
Oui effectivement je n'ai aucun timing dans mes boucles pour que cela soit le plus rapide possible.
J'ai essayé de mettre quand même un timing dans ma boucle en pensant que c'était cela
Mais même avec un temps d'attente assez long, il me plante quand même, pareil que sans
Cordialement
Michel
le 06-14-2012 07:10 AM
Du fait de certains vi manquants je ne peux pas executer votre code, Parmis le nombre important de vi GET HTTP, savez-vous lequel est responsable de l'erreur ?, et est-ce toujours le même ?
L'erreur renvoyée concerne le port série, quelle est la configuration de ses buffers d'entrée / sortie (visible dans le gestionnaire de périphérique)
Cordialement,
Vincent.O
National Instruments France
le 06-14-2012 07:32 AM
Merci Vincent
En fait sur le gestionnaire de périphériques, j'ai la même chose que votre copie d'écran. Mais dans les paramètres avancés, je n'ai pas accès.
Pour éxécuter le programme, il manque juste quelques sous-vi mais le problème est que j'ai un serveur de calcul auquel j'envoie les commandes url. J'avais essayé de faire un fichier.zip mais le serveur ne s'ouvre pas en faisant cela et en l'envoyant comme cela le fichier est trop grand.
Pour les get.vi le problème vient de tout ce qui sont dans la boucle while, ce n'est pas toujours le même mais quand le problème survient, ce sont surtout ceux dans la boucle de séquence du milieur de 0...7
Cordialement
Michel
le 06-14-2012 07:38 AM
Dommage que vous n'ayez pas accès à la configuration du port série, Il aurait été intéressant de savoir si en réduisant la taille du buffer de transmission à son minimum celà aurait permi de réduire la saturation rencontrée.
êtes-vous relié directement au serveur, via une interface Série ?
Cordialement,
Vincent.O
National Instruments France
Mon Profil | Confidentialité |
Conditions d'utilisation |
Contacter NI
© 2011 National Instruments Corporation. All rights reserved. | Envoyer cette page
|
||

Envoyer cette page