IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

création d'un interpreteur de grafcet en C++


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut création d'un interpreteur de grafcet en C++
    bonjour

    mon but est de creer un interpreteur de grafcet en c++.

    pour ceux qui connaisse le grafcet j'ai tout d'habord creer une classe Cetape qui contient tout les objets necessaire pour le fonctionnement d'une etape

    c'est a dire

    -un short pour l'etape active
    -une int pour dire si l'etape est active ou non
    -une chaine de caractere pour les sorties associé a l'etape
    -un tableau de short pour la liste des etapes suivantes

    tous cela formera a la fin une trame grafcet qui contiendra toutes les etapes.


    je ne sais pas comment organniser cette trame grafcet?

    je voudrai remplir une fonctions :

    evoluer grafcet qui activera les etapes suivantes et desactivera les etapes precedentes

    j'aimerai savoir comment declarer des variables dans une memoire partagée

  2. #2
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Bonjour,

    Attention, l’écriture d’un interpréteur n’est pas un exercice simple.

    Si tu ne sais comment organiser tes trames, c'est que tu n'as pas bien étudier le beoins de ton interpreteur.

    Si tu permet que je te donne un petit conseil, ton interpreteur doit fonctionner sur le papier, avant de commence a coder.

    La première chose à faire et de définir la syntaxe (grammaire) utilisée pour ton interpreteur, avant de faire le moindre code

    Précise un peut ton cas, je pourais peut être te essayer de te donner un coup de main.

    Bon courage

    Alain

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut la trame
    voila comment je desire organisser ma trame

    1 short pour le numero
    1 int pour dire que l'etape est active ou non 0 ou 1
    1 tableau de short pour les sorties associé [12]
    1 tableau de char pour l'equation de la receptivité [50]
    1 tableau de short pour les etapes suivantes [6]

    je desire placer tout cela dans une classe Cetape car on ma conseiller une classe plutot qu'une structure mais je ne sais pas quoi mettre dans mon constructeur

    voila.

    merci de me proposer votre aide

  4. #4
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Re-Bonjour,

    Bonjour

    Je veux bien essayer de te donner un petit coup de main, mais :
    Il ne faut pas confondre la représentation graphique du grafcet et le code produit par cette représentation. Il me semble que tu n’as pas tous le éléments en main.

    Pour ce qui est de ton constructeur, tu peux choisir par défaut un constructeur vide, qui initialise ces attributs à 0, puis ta class doit fournir les méthode pour affecter des valeurs à ces attributs.

    Alain

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut grafcet
    en fait c'est un projet a plusieurs

    il y a trois parties:
    -un ihm ou l'on pourra dessiner un grafcet et decider de l'envoyer vers
    une cible linux (un pc104)
    -une partie communication qui gere la reception de la trame grafcet venant de l'ihm et qui la transforme pour me la renvoyé
    -une partie execution ou l'on executera le grafcet suivant ce qui a ete place dans la memoire partagee entre l'execution et le reseau

    en gros c cela le but du projet

  6. #6
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut Re: la trame
    Citation Envoyé par faklzefh
    voila comment je desire organisser ma trame

    1 short pour le numero
    1 int pour dire que l'etape est active ou non 0 ou 1
    1 tableau de short pour les sorties associé [12]
    1 tableau de char pour l'equation de la receptivité [50]
    1 tableau de short pour les etapes suivantes [6]
    Là, tu définis plus un format de fichier qu'un grafcet, et encore, tu le définis à un niveau assez bas (trop bas probablement).

    Par exemple, je ne pense pas que ta structure gère le cas où une étape a plusieurs transitions associées.

    Je te conseille dans un premier temps de ne pas te préocuper du format d'échange, mais plus du fonctionnement du système une fois qu'il sera dans la machine.

    Pour une première approche, on peut déjà réfléchir aux principaux objets nécessaires pour définir ça :

    - Un grafcet, qui englobe tout
    - Une étape, qui contient une liste d'actions et de transitions aval
    - Une transition, qui est associée à une réceptivité et d'étapes en aval
    - Une réceptivité, qui est une expression logique

    Dans ce que j'ai dit, il apparaît la nécessité de modéliser aussi :
    - Une expression logique (table de vérité ? Arbre d'évaluation ?)
    - Une action (agir sur une variable booléenne (grafcet dans tout son dépouillement) ? appeler un pointeur de fonction/foncteur défini par l'utilisateur ? Permettre de définir des actions composées ?)
    - Un variable, pouvant intéragir avec le monde extérieur au grafcet

    A chacune de ces entités peut correspondre une classe, dont il faudra définir le comportement public (on peut activer ou désactiver un étape, et hop, deux fonctions déjà définies, elle a un numéro, qu'il faudra lire et modifier, et hop, deux autres...). L'implémentation viendra naturellement par la suite.

    Ensuite, bien expliciter l'algorithme de déroulement d'un Grafcet (il y a en particulier quelques subtilités vis à vis du temps réel qui complexifient l'algorithme).

    Une fois que c'est fonctionnel (et testé par des cas de tests écrits directement dans le code), définir un format de fichier (si utile, il y a des classes pour automatiser ça) devrait venir plus simplement.

    Citation Envoyé par faklzefh
    je desire placer tout cela dans une classe Cetape car on ma conseiller une classe plutot qu'une structure mais je ne sais pas quoi mettre dans mon constructeur
    Citation Envoyé par Pierre Dac
    « Tout vient à point à qui sait bien attendre ce qui l'attend au tournant et qui lui pend au nez sans savoir d'où ça vient. »
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  7. #7
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2
    Par défaut
    salut fich!et oui est s'est moi qui faire la partie édition avec builder!et je galére aussi enfin bref courage fich on l'aura ce BTS!!

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut grfcet
    je pense utiliser Une transition, qui est associée à une réceptivité et une étapes en aval

    je pensai géré le fait qu'il peu y avoir plusieurs transitions en sachant qua chaque etape je connaitrait la transition precedente et donc si dans plusieurs objet etape il y a la meme transition c'est que j'ai une divergence en et par exemple

    on m'a aussi parlé de faire une table de verité mais je ne vois pas du tout comment cela se fait!!!

  9. #9
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    bonjour

    Votre projet et récurent, chaque année des élèves doivent réaliser un petit automate programmable à partir d’une carte industrielle et d’un PC. Le but du forum n’est pas de vous donnez la solution, mais de aidez sur le langage C++. Les modérateurs vont nous tirer les oreilles.
    Poster votre code en cas de problèmes, il y a ici de très bon développeur C/C++.
    Un dernier mot. Les étapes/transition d’un grafcet peuvent êtres représenter par des équations booléennes simples. Ne pensez vous pas qu’un petit interpréteur ferais l’affaire dans votre cas ?

    Bon courrage
    Alain

  10. #10
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2
    Par défaut
    c'est bête comme principe,mais bon c'est gentil de nous aider parce que l'acquisition de notre BTS repose sur notre projet!
    allez à bientôt!

  11. #11
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    Bonjour

    Oui peut être que c’est bête, mais en tout cas c’est comme cela que fonctionne un bon nombre d’éditeur de grafcet.
    Il y à pas mal de temps, j’ai écris un compilateur grafcet pour une société français, sur un automate qui au départ ne comprenais que le langage à contact. Les utilisateurs coder leur grafcet à la main, en utilisant la même technique.

    Aller, bon courage

    Alain

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 12h36
  3. [Kylix] Création d'un fichier lien
    Par DrQ dans le forum EDI
    Réponses: 2
    Dernier message: 14/05/2002, 21h30
  4. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo