FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Palette (une de plus): 16, 48 ou 216 couleurs
par mindstorm Aujourd'hui à 21:55

» La roue de la fortune
par Jean Claude Aujourd'hui à 21:23

» Modifier le son d'une vidéo
par Jean Claude Aujourd'hui à 21:10

» SimpleEditor
par Klaus Aujourd'hui à 20:02

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 18:21

» Synedit_Editor - nouvelles versions
par Klaus Aujourd'hui à 12:25

» Gestionnaire de Projets Panoramic
par Laurent (Minibug) Hier à 23:23

» Un nouveau
par jjn4 Hier à 20:32

» PANO-LIKE : Une copie de Panoramic Editeur
par Laurent (Minibug) Dim 23 Avr 2017 - 18:42

» Un compteur de lignes de code source
par Klaus Sam 22 Avr 2017 - 21:55

» Rechercher une chaîne de caractère dans un fichier.
par papydall Sam 22 Avr 2017 - 13:45

» Problème avec la fonction IsolateWordsFromString.
par Klaus Sam 22 Avr 2017 - 10:42

» Recherche Hardware MIDI
par Yannick Ven 21 Avr 2017 - 21:08

» Panoramic Editor
par Yannick Jeu 20 Avr 2017 - 23:18

» Problème avec la fonction ReplaceStringInString.
par Pedro Alvarez Jeu 20 Avr 2017 - 17:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Panoramic et le Grafcet

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
loulou08

avatar

Nombre de messages : 63
Age : 74
Localisation : Champagne-Ardenne
Date d'inscription : 16/05/2010

MessageSujet: Panoramic et le Grafcet    Lun 22 Sep 2014 - 11:38

Bonjour

Panoramic et le Grafcet
Le grafcet et une représentation graphique utilisée pour créer
des  automatismes comme l’organigramme et a l'informatique
il se compose d’étapes  de transitions et de liaisons orientées
les étapes et leur actions associées
les transitions entre les étapes et leur réceptivité  associées
les liaisons entre   étapes    transitions et  étapes
et les liaisons-orientées


il existe deux formes de grafcet :
Niveau 1: Spécifications fonctionnelles–Utilisation du langage courant
Niveau 2: Spécifications technologiques –Utilisation de symboles
voici un site  web parmi tant d'autre  qui vous expliquera  
en détail  le grafcet
===================================================
http://philippe.berger2.free.fr/automatique/cours/G7/le_grafcet.htm
===================================================
Avec Maître Google les articles sur le grafcet  sont légions

Dans les automates  les instructions du grafcet font parties du programme  
les instructions du grafcet ne faisant pas partie de Panoramic il suffit de créer un grafcet dit ''sur mot'' on incrémente une variable en respectant les règles du grafcet
(une variable différente par branche,  )
Règles d'évolution
1. L'initialisation : une situation initiale est caractérisée par le fait qu'un certain nombre d'étapes sont actives au début du fonctionnement. Ces étapes sont repérées sur le grafcet par un double carré.
2. Le franchissement d'une transition : une transition est soit validée soit non validée. Elle est validée lorsque toutes les étapes immédiatement précédentes sont actives (voir le tableau suivant). Elle ne peut être franchie :
1. que lorsqu'elle est validée
2. et que la réceptivité associée est vraie.
3. L'évolution des étapes actives : le franchissement d'une transition entraîne l'activation de toutes les étapes immédiatement suivantes et la désactivation de toutes les étapes immédiatement précédentes.
4. Évolution simultanée : plusieurs transitions simultanément franchissables sont simultanément franchies. Par exemple, sur la figure ci-contre, si la variable c est vraie, le grafcet va évoluer vers la désactivation simultanée des étapes 5 et 10 et l'activation simultanée des étapes 6 et 11.
5. Activation et désactivation simultanées : si au cours du fonctionnement, une même étape doit être simultanément désactivée et activée, elle reste ACTIVE
Wikipédia l’encyclopédie libre  Grafcet

pour la démo en Pamoramic j'utilise la progression binaire  de 0 à 15 sur 4 bits
comme il faut appuyer  sur plusieurs touches en même temps
les touches F1 F2 F3 F4 sont du style bistable par programme
un appui =1 un deuxième appui =0  pour la variable associée
               __                          __            
F1 =1      F1=0  => Rappel  F1=(F1 barre)   ou  (!F1=0)   ou  (/F1=0)



Code Binaire pur de 0  a 15


   8 4 2 1                   8 4 2 1
   D C B A                  D C B A

0  0 0 0 0              8  1 0 0 0

1  0 0 0 1              9  1 0 0 1

2  0 0 1 0            10  1 0 1 0

3  0 0 1 1            11  1 0 1 1

4  0 1 0 0            12  1 1 0 0
   
5  0 1 0 1            13  1 1 0 1

6  0 1 1 0            14  1 1 1 0

7  0 1 1 1            15  1 1 1 1

                        (16)  0 0 0 0

Le GRAFCET





   
 



Code:

error_french
dim nobj,nob,hb
width 0,730:height 0,300: color 0,160,160,200: border_hide 0
  top 0,(screen_y-height(0))/2 :left 0,(screen_x-width(0))/2
label  sp_1,sp_fin,sp_72,sp_73,sp_form_help
label sp_fin_help,sp_help,sp_terminal,sp_0
label sp_b10,sp_b20,sp_b30,sp_b40,sp_grafcet,sp_raz_gracet,sp_efface_sortie,sp_var_sortie,sp_sortie,sp_key
dim  b0,b1,b2,b3,O0,O1,O2,O3,etp,metp
b0=0:b1=0:b2=0:b3=0:etp=0:metp=0:O0=0:O1=0:O2=0:O3=0
gosub sp_terminal
gosub sp_form_help
set_focus 0
on_click 101,sp_fin :on_close 0,sp_fin
on_click 111,sp_help :on_click 68,sp_1
on_click 72,sp_72:on_click 73,sp_73
on_double_click 200,sp_fin_help:on_close 200,sp_fin_help
on_click 0,sp_0:on_key_down 0,sp_key

' ========
   end
' ========
sp_0:
set_focus 0:return
' ========
sp_key:
 if key_down_code=115 then gosub sp_b10
 if key_down_code=114 then gosub sp_b20
 if key_down_code=113 then gosub sp_b30
 if key_down_code=112 then gosub sp_b40
return
'  =========================
sp_b10:
  b0=1-b0
  if b0=1
     color 57,0,250,0
  else
     color 57,200,180,180
  end_if
  gosub sp_grafcet
return
'  =========================
sp_b20:
  b1=1-b1
  if b1=1
     color 52,0,250,0
  else
     color 52,200,180,180
  end_if
  gosub sp_grafcet
return
' ===================
sp_b30:
  b2=1-b2
  if b2=1
     color 47,0,250,0
  else
     color 47,200,180,180
  end_if
  gosub sp_grafcet
return
' ========================
sp_b40:
  b3=1-b3
  if b3=1
     color 42,0,250,0
  else
     color 42,200,180,180
  end_if
  gosub sp_grafcet
return
' ==================
sp_grafcet:
  if etp=0 and b3=0 and b2=0 and b1=0 and b0=1 then etp=1
  if etp=1 and b3=0 and b2=0 and b1=1 and b0=0 then etp=2
  if etp=2 and b3=0 and b2=0 and b1=1 and b0=1 then etp=3
  if etp=3 and b3=0 and b2=1 and b1=0 and b0=0 then etp=4
  if etp=4 and b3=0 and b2=1 and b1=0 and b0=1 then etp=5
  if etp=5 and b3=0 and b2=1 and b1=1 and b0=0 then etp=6
  if etp=6 and b3=0 and b2=1 and b1=1 and b0=1 then etp=7
  if etp=7 and b3=1 and b2=0 and b1=0 and b0=0 then etp=8
  if etp=8 and b3=1 and b2=0 and b1=0 and b0=1 then etp=9
  if etp=9 and b3=1 and b2=0 and b1=1 and b0=0 then etp=10
  if etp=10 and b3=1 and b2=0 and b1=1 and b0=1 then etp=11
  if etp=11 and b3=1 and b2=1 and b1=0 and b0=0 then etp=12
  if etp=12 and b3=1 and b2=1 and b1=0 and b0=1 then etp=13
  if etp=13 and b3=1 and b2=1 and b1=1 and b0=0 then etp=14
  if etp=14 and b3=1 and b2=1 and b1=1 and b0=1 then etp=15
  if etp=15 and b3=0 and b2=1 and b1=1 and b0=0 then etp=0
  if metp <> etp
     metp=etp
     caption 67,"_"+right$(str$(1000+etp),2)+"_"
     gosub sp_efface_sortie
     gosub sp_var_sortie
     gosub sp_sortie
  end_if
return
' ========
sp_raz_gracet:
  etp=0:metp=0:caption 90,"Etape  "+str$(etp)
  gosub sp_efface_sortie
return
' ========
sp_efface_sortie:
  color 37,200,180,180:O0=0:color 32,200,180,180:O1=0
  color 27,200,180,180:O2=0:color 22,200,180,180:O3=0
return
' ========
sp_var_sortie:
  if etp=1 or etp=3 or etp=5 or etp=7  or etp=9 or etp=11 or etp=13 or etp=15  then O0=1
  if etp=2 or etp=3 or etp=6 or etp=7 or etp=10 or etp=11 or etp=14 or etp=15 then O1=1
  if etp=4 or etp=5 or etp=6 or etp=7 or etp=12 or etp=13 or etp=14 or etp=15 then O2=1
  if etp=8 or etp=9 or etp=10 or etp=11 or etp=12 or etp=13 or etp=14 or etp=15 then O3=1
return
' ========
sp_sortie:
  if O0=1 then color 37,0,250,0
  if O1=1 then color 32,0,250,0
  if O2=1 then color 27,0,250,0
  if O3=1 then color 22,0,250,0
return
' ====raz grafcet====
sp_1:
  show 70:return
' ====FIN=======
sp_fin:
  terminate:return

 ' ==============
sp_72:
  etp=0:metp=0:caption 67,"_00_"
  gosub sp_efface_sortie
  hide 70:return
' ==============
sp_73:
  hide 70:return
' =============
sp_help:
  show 200:return
' =============
sp_fin_help:
  hide 200:set_focus 0:return
' =============

REM ======SUB=============================================================

sub affichtxt(nxt,par,tpt,ltt,fsize,txt$)
  container nxt:parent nxt,par:top nxt,tpt:left nxt,ltt
  Alpha nxt+1:parent nxt+1,nxt:top nxt+1,10:left nxt+1,10
  font_bold nxt+1:font_size nxt+1,fsize:caption nxt+1,txt$
  width nxt,width(nxt+1)+20
  height nxt,height(nxt+1)+20
end_sub
' ============
sub button_container(nbc,par,tpc,ltc,txt$)
  container nbc:parent nbc,par:top nbc,tpc:left nbc, ltc
  caption nbc ,txt$
  button nbc+1:parent nbc+1,nbc:top nbc+1,30:left nbc+1,10
  width nbc+1,30:hint nbc+1,nbc+1
  width nbc,width(nbc+1)+20
  height nbc,height(nbc+1)+40
end_sub
' ======================
sub voyant_automate(ntp,par,ttp,ltp,txt$,etat)
  container ntp:parent ntp,par:top ntp,ttp:left ntp,ltp
  width ntp,80-20: height ntp,133-50
  font_size ntp,14:caption ntp,txt$
  alpha ntp+1:parent ntp+1,ntp:top ntp+1,48-20:left ntp+1,7
  width ntp+1,64-20: height ntp+1,44:color ntp+1,0,0,0
  alpha ntp+2:parent ntp+2,ntp:top ntp+2,52-20:left ntp+2,11
  width ntp+2,56-20: height ntp+2,36:'  min ntp+2,0:max ntp+2,1
  hint ntp+2,ntp+2
  if etat=0
     color ntp+2,200,180,180
  else
     color ntp+2,255,0,0
  end_if
end_sub
'================
sub compteur(nc,par,tpc,ltc,txt$)
  container nc:parent nc,par:top nc,tpc:left nc,ltc
  caption nc,txt$
  alpha nc+1:parent nc+1,nc:top nc+1,40:left nc+1,10
  color nc+1,0,0,0
  alpha nc+2:parent nc+2,nc:top nc+2,45:left nc+2,15
  color nc+2,0,250,0:font_size nc+2,20:caption nc+2,"_00_"
  height nc+1,height(nc+2)+10
  button nc+3 :parent nc+3,nc:top nc+3,45:left nc+3,width(nc+1)+20
  width nc+3 ,30:caption nc+3,"RAZ"
  width nc,width(nc+1)+width(nc+3)+30
  hint nc+3,nc+3: hint nc+2,nc+2
end_sub
' ==============fin==sub==============
sp_form_help:
  form 200:caption 200,"AIDE   Double click pour Quitter": hide 200
  width 200,416:height 200,312
  top 200,200 :left 200,(screen_x-width(200))/2
  memo 210:parent 210,200
  full_space 210
  item_add 210,""
  item_add 210,"          Le GRAFCET   "
  item_add 210,"   GRAphe Fonctionnel de Commande Etapes-Transitions "
  item_add 210,"   les graphismes permettant la représentation d'un systéme automatisé"
  item_add 210,"   étapes, liaisons, transitions"
  item_add 210,"   voici un exemple avec simulation  de l’état des entrées et sorties "
  item_add 210,"   tous ou rien (tor) "
  item_add 210,"   visualise le N°de l'étapes du grafcet et peu le reseter (RAZ grafcet)"
  item_add 210,"   le programme et construis avec un grafcet sur mots"
  item_add 210,"   en respectant les regles du grafcet "
  item_add 210,"   exemple et la progression binaire de 0 a 15."
  item_add 210,"   le terminal et écrit en Panoramic"
  item_add 210,"   les touches F1 F2 F3 F4 sont du style flipflop "
  item_add 210,"   un appui =1 un deuxieme appui =0 "
  item_add 210,"   "
  item_add 210,"   "
  item_add 210,"   avec Maître Google les articles sur "
  item_add 210,"   le grafcet  sont légions"
  inactive 210
return
' =========================
sp_terminal:
  nobj=10 :affichtxt(nobj,0,20,150,16,"  DEMO Terminal GRAFCET PANORAMIC  ")
  nobj=13 :affichtxt(nobj,0,210,510,12,"Entrées")
  nobj=16 :affichtxt(nobj,0,210,130,12,"Sorties")
' voyant entrees
  nobj=20: voyant_automate(nobj,0,120,50,"O.3",0)
  nobj=25:voyant_automate(nobj,0,120,110,"O.2",0)
  nobj=30:voyant_automate(nobj,0,120,170,"O.1",0)
  nobj=35:voyant_automate(nobj,0,120,230,"O.0",0)
' voyant sorties
  nobj=40: voyant_automate(nobj,0,120,50+383,"I.3-F1",0)
  nobj=45:voyant_automate(nobj,0,120,110+383,"I.2-F2",0)
  nobj=50:voyant_automate(nobj,0,120,170+383,"I.1-F3",0)
  nobj=55:voyant_automate(nobj,0,120,230+383,"I.0-F4",0)
  nobj=65:compteur(nobj,0,110,300,"Etape Grafcet")
  nobj=100: button_container(nobj,0,20,620,"F I N")
  nobj=110: button_container(nobj,0,10,50,"Aide")
  container 70:top 70,110:left 70,270:hide 70:caption 70,"Confirmation"
  alpha 71:top 71, 30:left 71,40:parent 71,70:caption 71,"INIT GRAFCET"
  button 72:top 72, 60:left 72,10:parent 72,70:caption 72,"OUI"
  button 73:top 73, 60:left 73,90:parent 73,70:caption 73,"NON"
return

' ==============================


@+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramicetardinouno.blogspot.fr/
Jicehel

avatar

Nombre de messages : 5816
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Panoramic et le Grafcet    Lun 22 Sep 2014 - 12:32

Ca je vais prendre le temps de tester...
Ca me rappelle il y a 20 ans que je travaillais avec les PC en liaison avec les automates pour faire de la supervision de lignes de production.
Je le fillerais à mon père aussi, ça pourra lui servir pour mettre à jour l'automate qui controle l'alarme, le portail dans sa maison.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 529
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Panoramic et le Grafcet    Mer 24 Sep 2014 - 23:30

très bonne réalisation
comme a chaque fois, la robotique est a l honneur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Panoramic et le Grafcet    

Revenir en haut Aller en bas
 
Panoramic et le Grafcet
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» EDI réalisé entièrement en Panoramic
» EDI réalisé entièrement en Panoramic
» pas un panoramic mais utilitaires delphi.
» Programmes Panoramic en ligne de commande
» lol, panoramic dans google ;)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Présentation et bavardage-
Sauter vers: