le 07-04-2016 07:33 AM
Bonjour, j'ai crée une boucle "for" avec
for(i=0;i<360;i++) {//code}
mais le programme ne veut pas rentrer dans la boucle for.
Quelques fois j'ai aussi "warning : will never be executed" en parlant de i++ alors j'ai essayé avec i=i+1 cela ne change rien. Et cette erreur ne bloque pas l'éxécution du programme cela bloque seulement l'entrée dans la boucle.
Quelqu'un a déjà eu ce problème? Je sais pas du tout d'où ça vient....
le 07-04-2016 08:19 AM
Bonjour,
Avec un Vi, cela sera beaucoup plus simple de t'apporter notre aide.
En l'état, c'est comme si je te disais, j'ai créé une boucle while, et je rentre jamais dedans.
La seule réponse que je pourrais te fournir, c'est de cliquer sur la flèche pour lancer l'exécution 😄
le 07-04-2016 10:03 AM
Oui c'est pas faux Michael 😛
mon code :
int CVICALLBACK StartMot (int panel, int control, int event, void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
int i;
ComWrt(1,"\r",StringLength("\r"));
for(i=0;i<360;i++)
{
/* begin the rotation */
ComWrt(1,"SK(i)",StringLength("SK(i)"));
/* wait 5 seconds the time to make the measure */
ComWrt(1,"\r",StringLength("\r"));
DelayWithEventProcessing (5);
/* stop the measure */
ComWrt(1,"CP(i)",StringLength("CP(i)"));
ComWrt(1,"\r",StringLength("\r"));
//break;
}
GetCtrlVal(panelHandle,PANEL_intervalTimer,&IntervalTimer);
}
return 0;
}
le 07-04-2016 10:07 AM
Peut être qu'il rentre et s'arrête à DelayWithEventProcessing (5); je suis pas sûre
07-05-2016 02:09 AM - modifié 07-05-2016 02:12 AM
Bonjour,
Je ne peux rien pour toi malheureusement, je n'ai jamais touché à CVI.
Si tu sais parler anglais, pose ta question ici http://forums.ni.com/t5/LabWindows-CVI/bd-p/180, tu auras surement plus de chance d'obtenir une réponse.
Bonne journée,
Michael
EDIT : La syntaxe "for(i=0;i<360;i++)" me parait aberrante sans connaître l'environnment :D. On dirait une boucle FOR mais avec des arguments de type "while" (i<360). Pourquoi ne pas écrire i=359 ? ^^
le 07-05-2016 02:14 AM
Merci pour l'aide je vais modifier le for.
Bonne journée, Anaël.
le 07-05-2016 08:54 AM
Je ne suis pas du tout callé en CVI mais la syntaxe du for à l'air correcte. Par contre pourquoi ne pas faire un simple Delay plutot que delaywitheventprocessing?
le 07-06-2016 01:39 AM
Oui je pense que ma boucle for est juste, peut être qu'elle est pas adaptée au code précédent ou à la structure shématique. J'ai essayé avec Delay simple ça ne change rien et comme la stagiaire avant moi avait mis DelayWithEventProcessing j'ai laissé cette commande.
Anaël.
le 07-06-2016 03:32 AM
http://forums.ni.com/t5/LabWindows-CVI/loop-cvi/td-p/3317745
Paolo_P
Certified TestStand Architect
Certified LabVIEW Architect
National Instruments France