automatisme plc

11
Compte rendu automatisme Description du système : Au départ, le système est au repos, aucune action n’est réalisée. A l’appui du bouton poussoir « BP1 », le temporisateur « Tempo » est déclenché. Quand « Tempo » atteint une valeur choisit par l’utilisateur grâce au pupitre de commande, le système incrémente le compteur « Compt » et attend un front montant pour revenir à l’étape initiale et reprendre le cycle à l’étape initiale. Grâce à la description précédente, nous pouvons tracer le grafcet suivant qui nous montre chaque étape et action de notre système :

Upload: bouhamed-mohamed

Post on 19-Jul-2015

127 views

Category:

Engineering


6 download

TRANSCRIPT

Compte rendu automatisme

Description du système :

Au départ, le système est au repos, aucune action n’est réalisée. Al’appui du bouton poussoir « BP1 », le temporisateur « Tempo » estdéclenché. Quand « Tempo » atteint une valeur choisit par l’utilisateurgrâce au pupitre de commande, le système incrémente le compteur« Compt » et attend un front montant pour revenir à l’étape initiale etreprendre le cycle à l’étape initiale.

Grâce à la description précédente, nous pouvons tracer le grafcetsuivant qui nous montre chaque étape et action de notre système :

0

1

2

Tempo ++

Compt ++

BP1(↑)

Tempo

BP1(↑)

Figure 1. Grafcet du système à implémenter

Equations du système :

Les notations suivantes seront utilisées dans les équations :

T(n → m): Transition de l’étape « n » à « m »

Xn : Etape « n »

INIT : Initialisation

Equations des transitions :

T ( 0→1 )=X0 .BP 1 (↑ ) T ( 1→2 )=X1 .Tempo T (2→0)=X2 .BP1(↑)

Pour qu’une transition soit franchie, il faut que l’étape qui la procèdesoit active et que la réceptivité soit vrai.

Equations des étapes :

X0=T ( 2→ 0 )+´T (0→ 1) .X 0+ INIT X1=T (0→ 1)+

´T (1→2 ) . X1 X2=T (1→ 2)+´T ( 2→0 ) . X2

INIT =10 N ¿

Pour qu’une étape soit active, il suffit que la transition qui la précèdesoit active. L’étape est désactivé si elle est active et que la transition quila succède est active. Donc son équation est l’association de sa conditiond’activation et sa condition de désactivation barre.

Equations des actions :

++¿¿

Tempo ¿

++¿¿

Compt ¿

Une action est enclenchée dès que l’étape qui lui est associé estactive.

Implémentation en LD (Langage Ladder) du grafcet :

Après avoir lancé un nouveau projet, la première chose à faire est ladéclaration de nos variables et l’assignation d’une devise à chacuned’elles, pour cela nous devons accéder à « Variable/Comment » depuis lafenêtre d’exploration de notre projet :

Figure 2. Fenêtre d'exploration du projet

Nous déclarons alors nos variables en prenant en considération que pour les devices, nous devons utiliser « M » pour les variables en mémoire, dans notre cas, ce sont les étapes, les transitions et l’initialisation. Toutes

ces variables sont de type « BIT » car elles sont soit activées (1), soit désactivées (0) :

Figure 3. Déclaration des variables d'étapes, de transitions etd'initialisation

Nous devons utiliser « P », pour les devices d’entrées et de sorties. Dans notre cas, nous avons une seule entrée qui est le bouton poussoir « BP1 », son type sera aussi « BIT », car nous avons besoin juste de savoir s’il a étédéclenché ou non :

Figure 4. Déclaration de la variable d'entrée BP1

Les devices « T » et « C » seront attribuées respectivement autemporisateur et au compteur, ils sont de type « BIT/WORD » étant donnéqu’elles incrémentent des valeurs entières.

Figure 5. Déclaration du Compteur et du Temporisateur

Nos variables étant déclarées, nous pouvons maintenant commencernotre programme, nous commençons par l’implémentation des équationsdes transitions :

Ensuite celles des étapes :

Maintenant celles des actions :

Etant donné, que c’est à l’utilisateur de choisir la valeur maximale dutemporisateur et du compteur, nous devons ajouter des variables internesde type « WORD », car elles vont contenir des entiers entées parl’utilisateur depuis le pupitre de commande :

Enfin, le fin de notre programmes :

Maintenant supposons qu’une coupure de courant survienne lors dufonctionnement de notre programme, qu’elles sont les valeurs desvariables que nous voulons mémoriser. Dans notre cas nos voulons savoirla valeur actuelle du temporisateur et sa valeur maximale. Pour ceci, nousdevons accéder au menu « Basic Parameter », depuis l’explorateur duprojet toujours, ensuite à l’anglet « Device Area Setup », choisir l’area àmémoriser et ensuite spécifier les devices :

Programmation du pupitre de commande :

Ayant terminé avec l’API, nous devons maintenant programmer lesdifférentes interfaces de notre pupitre afin de pouvoir superviser etcommander notre API :

La première fenêtre serait l’accueil, elle contiendra le nom de notresociété et le bouton « F1 » devrait nous permettre d’accéder aumenu (fenêtre 2) :

La deuxième fenêtre est celle du menu, le bouton « F1 » devrait nousmener à la visualisation de l’état du « Temporisateur », « F2 » à la fenêtredu compteur, « F3 » à la fenêtre de maintenance (état des commandes etdes capteurs) .Tous les boutons seront programmés comme vueprécédemment, le seul changement et au niveau du « Screen number » :

La troisième fenêtre est celle du temporisateur, on peut y pré visualiser l’état actuel de notre temporisateur et choisir sa valeur maximale. Le bouton « F4 » doit pouvoir nous retourner au menu.

La quatrième fenêtre est celle du compteur, en peut y pré visualiser la valeur actuelle de notre compteur, le remettre à zéro grâce au bouton « F3 » et pour revenir au menu nous utilisons le bouton « F4 » :

La cinquième fenêtre est celle de la maintenance. L’utilisateur peut savoir l’état actuel des commandes et des capteurs. Dans notre cas nous n’avonsqu’une seule commande qui est le bouton poussoir BP1, et comme toujours le bouton « F4 » devrait nous permettre de revenir au menu :

Enfin la sixième fenêtre est juste une fenêtre d’informations, nous devons y spécifier notre nom et nos coordonnées afin que si l’utilisateur rencontre des soucies il peut toujours nous contacter (et en plus un peu de publicité n’a jamais fait du mal à personne) :