le 05-28-2019 09:48 AM
Bonjour,
J'ai un qui fonctionne bien (en ci-joint) mais dès que le change par une boucle cadencée alors dans le fichier d'enregistrement j'ai un décalage d'un point. J'ai effectivement besoin de mettre la boucle génération dans une boucle cadencée car il est implémenter dans un cRIO. Avez vous une idée (hors mis que dans le fichier d'enregistrement la période est d'1 Hz et non 10 Hz comme le montre le diagramme) Merci d'avance
le 06-11-2019 07:26 AM
Bonjour,
Je me permets de relancer ce sujet car je n'ai pas encore des conseils sur ce sujet. Si vous voulez encore plus de précisions je peux vous en apporter d'avantage. Merci pour votre participation
06-11-2019 07:47 AM - modifié 06-11-2019 07:54 AM
je ne comprends pas ce que tu veux dire par "j'ai un décalage d'un point".
Qu'est ce qui est décalé?
Peux tu montrer les 2 fichiers et expliquer le décalage?
Edit :
En remplaçant la While par une Timed, j'ai exactement le même fichier.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 06-11-2019 08:01 AM
Désolé,
Je partais d'un ancien VI qui fonctionne parfaitement bien (que je vais le retrouver, laissez-moi un peu de temps SVP) mais il fonctionne avec deux boucles While. J'ai juste apporté une petite modification car je travaille sur un cRIO dont une boucle cadencé et l'autre boucle c'est une boucle While normal alors c'est là que j'ai observé plusieurs point de décalage.
PS : Je vais retrouver le VI initial qui fonctionne bien
le 06-11-2019 09:15 AM
Re-bonjour,
J'ai retrouvé le VI qui fonctionne. Il enregistre et détecte aussi l'offset (intersection l'axe abscisses pour la détection du 0) que je me serve pour la synchronisation des signaux.
PS : Ci-joint le VI en version 2015
06-11-2019 09:46 AM - modifié 06-11-2019 09:48 AM
Re,
Et le fichier d'enregistrement qui détecte bien l’offset (ou bien le point d'intersection avec l'axe des X).
le 06-11-2019 11:35 AM
Bonjour,
Savez-vous comment la boucle cadencée se comporte-t-elle ? Si je mets un VI dans la boucle cadencée qui prend au plus défavorable 11ms en sachant que la boucle cadencée est paramétrée à 10ms. Est ce que la boucle cadencée fait un Exit du sous VI pour répondre aux contraintes qu'on lui avait imposée 10 ms ou bien elle attend que le sous VI soit terminée pour continuer son exécution dans ce cas elle dépasse le temps son temps de boucle qui est 10 ms. Merci d'avance.
le 06-12-2019 02:58 AM
Elle fait de son mieux pour respecter ce qu'on lui demande et surtout on peut la paramétrer pour lui imposer un comportement en cas de dépassement de la période demandée.
Il y a différent paramètres avancés pour ça : http://zone.ni.com/reference/fr-XX/help/371361R-0114/glang/timed_loop/
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 06-12-2019 03:34 AM
Bonjour TiTou,
Il y a plusieurs choses :
- Cadencement la boucle cadencée pour générer des points au moteur. Pas de retard possible ce n'est pas acceptable.
- Détection de l'offset, de préférence pas de retard par rapport au motif généré. Premièrement je ne sais pas si cette partie fonctionne bien, ensuite est ce que c'est judicieux de mettre dans la boucle cadencée ou bien dans une autre boucle en // à la boucle cadencée. Merci
PS : Je vous ferai une copie d'écran un peu plus tard.
le 06-12-2019 07:48 AM
Rebonjour,
D'après les essais que j'ai pu effectuer le "Zero Crossing (bool xing)vi - v2 COPIE-1.vi" fonctionne plus tôt bien (que j'attends bien sûr des remarques pour améliorer ce VI). Dans la boucle cadencée, il sert à générer un motif sinusoïdale et dans la partie du bas de la boucle While que j'utilise pour l'enregistrement et la détection de l'offset. J'ai tendance à mettre la partie détection de l'offset dans la boucle cadencée mais est ce que cela ne va pas générer des retards dans le motif sinus ? Merci d'avance.