Bonjour,
J'ai dévellopé une application CVI faisant l'acquisition de la masse d'une balance par RS232. Pour ce faire, j'utilise les fonctions propres de CVI avec InstallCombac. Le programme fonctionne correctement durant un certain temps : il reçoit bien les masses, les affiche. Après un temps aléatoire (5, 10 60 minutes), il ne fait plus d'acquisition, cependant, il tourne toujours. Alors je dois réouvrir le port pour qu'il refonctionne. Bizarement, la fermeture du port pose quelques problèmes aussi : des fois, il y a un lague de 10 secondes.
Comment rendre l'acquisition des données fiables dans le temps ?
Pour les essais, j'ai utilisé terminal : celui-ci fonctionne à merveille même après 1h. J'ai el même problème avec un port intégré au PC ou via un émulateur USB.
Voici le callback
void CVICALLBACK Event_Char_Detect_Func (int portNo, int eventMask, void *callbackData)
{
// Lectrure du port COM
flag_com2 = 0;
ComRdTerm( par_numero_com, p_masse, 19, 13);
flag_com2 = 1;
//SetCtrlVal(panel, mainpanel_massetxt, p_masse);
//Convertion de la chaîne de caractère en données numérique float sur 3 décimales
p_masse[10] = '\n';
p_masse[11] = 0;
sscanf(p_masse, "%f", &masse);
}
Merci d'avance pour votre aide.
Bien à vous.
Jonathan