le 03-11-2014 04:11 AM
Bonjour,
J'ai un soucis dans l'utilisation du bloc contour move. Après plusieurs tests, je n'arrive pas à le résoudre.
Lorsque je fais une simulation en collaboration avec solidworks, en fixant l'intervalle à 0.5s pour un tableau 8 points (par exemple) la durée du mouvement est de plus de 4s.
Je constate aussi que l'écart entre l'intervalle demandé et l'intervalle réel n'est pas constant. Par exemple l'intervalle entre le 1er et le 2ème point est environ 0.7s, alors que l'intervalle entre le 4eme et le 5eme point est environ l'écart attendu de 0.5s.
Je cherche donc une solution pour que mon moteur se déplace avec des intervals fixes entre les points, ou au moins une explication de comment le logiciel calcul les changements d'intervals pour pouvoir les compenser.
Merci d'avance,
Gabriel
le 03-11-2014 08:36 AM
Hello,
Est-ce qu'on pourrait avoir plus d'informations sur le matériel (moteur pas à pas ou servomoteur ? Boucle ouverte/fermée ? Quelles cartes NI ?) et les softs utilisés (Module Motion ou Softmotion, un exemple de code...) ?
En faisant de vastes hypothèses sur ces points ci-dessus, il est possible que ce document (ou les documents connexes) vous aide... Si non, il faudra nous aider un peu 🙂
Cdt
--Eric
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
le 03-11-2014 10:23 AM
J'utilise softmotion, et c'est simplement pour faire une simulation sur solidworks. (donc pas de carte, pas de moteur)
Je travaille en boucle ouverte (le contour move commande le moteur dans solidworks, et je n'ai pas de retour par un capteur).
J'avais déjà vu ce document joint, ça ne répond malheureusement pas à mon problème.
Le problème semble être du au fait que l'interpolation entre les points que je donne crée un étalement du temps entre deux points dans certains cas. (l'intervalle n'est alors pas respecté)
Cordialement,
Gabriel
le 03-12-2014 11:26 AM
Bonjour,
Je ne pense pas qu'il y ait un réel problème. En utilisant LabVIEW + SoftMotion + SolidWorks, vous faites de la simulation pure, de la co-simulation pour être exact. Donc cela nécessite beaucoup de ressources processeur, en particulier pour les calculs réalisés par SolidWorks. Et la méthode de simulation ne peut pas être temps réel dans ce cas.
Par exemple, si vous diminuez fortement le pas mininum pour réaliser les calculs de simulation, vous verrez que la simulation mettra beaucoup plus de temps, de la même façon si vous avez un assemblage SolidWroks assez lourd avec plusieurs moteurs.
Ce qu'il faut voir c'est que quand on fait une simulation, LabVIEW et SolidWorks travaillent de manière synchronisée, c'est à dire que LabVIEW (LV) envoit la commande simulé du moteur à SolidWors (SW), SW recoit la commande, fait les calculs nécessaires, met à jour la simulation et renvoit les résultats à LV qui attend ce retour avant d'envoyer la nouvelle commande à SW.
D'ailleurs, vous devez pouvoir vérifier que la commande est correct et ne vaire pas dans le temps en réalité en rejouant le profil de commande demandé dans SolidWorks, dans ce cas, la simulation se fait normalement plus rapdiement que lorsqu'on fait la simulation.
Pouvez-vous faire une image du diagramme du VI utilisé pour qu'on soit sur de la fonction utilisé.
Comment vous obtenez l'interval entre les points ?
En espérant que celà puisse aider.
Maxime R.
CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
CTA - Certified TestStand Architect / Architecte TestStand Certifié
le 03-13-2014 06:25 AM
Bonjour,
Voici une capture d'écran d'une simulation que j'ai faite.
Nous constatons un problème dans le temps des pas en regardant le temps d'activation des moteurs sous solidworks, avec l'échelle de solidworks.
Il semble donc que le retard entrainé ne soit pas lié à la consommation des ressources processeur. En effet la barre bleu ne se déplace pas aussi vite que le temps réel, mais les moteurs devraient tout de même être actifs pendant les durées prévues, une fois ramené à l'échelle.
J'espère avoir réussi à être clair.
Cordialement,
Gabriel