le 12-07-2011 01:53 AM
Bonjour, je dois simuler un ascenceur avec labview, j'ai le grafcet en pièce attaché et en plus je débute sur labview :s en gros je suis un peu perdu.
Je n'arrive pas à comprendre l'exemple du message en pièce jointe que j'ai trouvé sur le forum.
Voici l'énoncé :
l'ascenceur se compose en 2 étages,
il y a des boutons d'appel à l'intèrieur de la cabine : Ai0,Ai1,Ai2
il y a des boutons d'appel à l'extèrieur de la cabine : Ae0, Ae1, Ae2
il y a des capteurs de niveau (en gros là où la cage de l'ascenceur se situe) : C0,C1,C2
Pouriez vous juste m'aider à me lancer svp? 🙂
Sachant que je ne dois pas utiliser grafcetview.
le 12-07-2011 01:54 AM
Exemple de grafcet en pièce attachée 🙂
le 12-07-2011 02:13 AM
Bonjour
Votre problème est un classique probleme de machine d'état, d'autant plus qu'il n'y a pas de branches parallèles dans votre graphcet.
Voici comment débuter
Nota : Toutes les étapes et transitions ne sont pas stictement nécéssaires. je vous conseil de créer un control de type strict type def pour la liste déroulante des étapes (même si elle est utilisé en constante) cela vous simplifiera les mises à jours.
le 12-07-2011 02:25 AM
Mince je ne peux pas ouvrir votre pièce attaché car je possède la version étudiante de labview 8.2 :s
le 12-07-2011 03:02 AM
voici la version 8.2
Salutation
EricC
le 12-07-2011 03:30 AM
merci beaucoup je vais essayer de voir ce que je peux faire
encore merci 😉
le 12-07-2011 03:55 AM
Problème, je suis parti de la base que vous m'aviez donné, j'ai mis les équations, je voudrai avoir la valeur du moteur qui s'affiche (0, -1, ou 1) mais lorsque je lance l'execution rien ne se passe. je voudrait savoir comment il faut faire, (projet en pièce attaché)
le 12-07-2011 04:38 AM
Bonjour
Quelques liées à la "transition 1"
1) faite le ménage dans votre diagrammes. C'est (comme disent NI-USA) du code spaghetie. Un code lisible ne marche pas mieux qu'un code "en vrac" mais il se lit - et donc se debogue - mieux.
2) Vous utiliser la fonction "convetir en données dynamqiues" en sortie de vos sous-vi. EVITER. Les données dynamiques sont une sortent de foure-tout qui permet de facielement adapter un type de données.
Votre erreur vient de la.
Vous convertisser un tableau de données en un scalaire via une conversion implicite.
Dans ce cas, la conversion utiliser le 1er élément du tableau.
Préférer l'extraction d'une valeur explicite à l'implicite
3) Vous utiliser un sous-vi pour travailler directement sur des tableau de données. cela parait étrange puisque vous ne liser qu'une seul valeur.
Préférer un bool plutot qu'un tableau de bool de taille 1
4) Utiliser plutôt une seul fonction de lecture pour lire toutes vos entrées et non pas une fonction par entrée.
salutations
EricC
le 12-12-2011 01:44 AM
Bonjour j'ai ainsi créer le fonctionnement normal de l'ascenceur suivant votre modèle. Je voudrai par la suite créer un mode "test" après l'enclenchement d'un arrêt d'urgence.
Ce mode test réinitialise l'ascenceur c'est à dire qu'il fait un aller-retour.
J'ai essayer de mettre une autre machine à état à l'intérieur d'une étape mais je ne vois pas comment le réaliser car ce qaue j'ai fait ne fonctionne pas :s et je ne tropuve pas de solution.
Pouvez m'indiquer un voie svp??
merci beaucoup 🙂
le 12-12-2011 02:15 AM
Bonjour
Mettre une machine d'état dans une machine d'état reviens à faire un sous-graphcet.
Le plus simple et de créer une sous-machine d'état en copiant le modèle (ne aps oublier le control strict type def)
Attention, si vous faite un sous-vi, la difficlté est de transmettre les états des E/S.
Un exemple est join.
Salutations
EricC