step 7 : une programmation structurée. les languages schéma en bloc fonctionnel fbd log langage à...

29
Step 7 : une Step 7 : une programmation programmation structurée structurée

Upload: marceline-pham

Post on 03-Apr-2015

121 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Step 7 : une Step 7 : une programmation programmation

structuréestructurée

Page 2: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

LES LANGUAGES

Page 3: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

 

                            

Principe d’appel des blocsOB1Bloc d’organisation

Page 4: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Les blocs d’organisationLe bloc d’organisation OB1 est le  chef d’orchestre du programme ; il traite cycliquement le programme, il peut exister d’autres OB dans le programme:

Page 5: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Les fonctions

Une fonction (FC) est un bloc de code qui ne contient pas de données statiques, conformément à la norme CEI 1131-3.Elle permet le transfert de paramètres dans le programme utilisateur et s'adapte donc tout particulièrement à la programmation de fonctions récurrentes, comme par exemple les calculs.  Une fonction système (SFC) est une fonction intégrée au système d'exploitation de la CPU que vous pouvez appeler dans le programme utilisateur, si besoin est. Elle ne peut être programmée par l'utilisateur.   

Page 6: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Les blocs fonctionnelsUn bloc fonctionnel (FB) est un bloc de code qui contient des données statiques, conformément à la norme CEI 1131-3. Il permet le transfert de paramètres dans le programme utilisateur et s'adapte donc tout particulièrement à la programmation de fonctions complexes récurrentes, comme par exemple les régulations ou la sélection de l'état de fonctionnement. Un bloc fonctionnel système (SFB) est un bloc fonctionnel intégré au système d'exploitation de la CPU que vous pouvez appeler dans le programme utilisateur, si besoin est. Il ne peut pas être programmé par l'utilisateur. Les blocs de code (OB, FB, FC) du programme utilisateur peuvent être chargés dans la CPU S7. Ils sont soit créés et édités directement dans des éditeurs incrémentaux, soit ils résultent de la compilation de sources.

Page 7: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Les blocs de données

Les blocs de données sont des blocs utilisés par les blocs de code de votre programme utilisateur pour enregistrer des valeurs. Contrairement aux données temporaires du bloc de code, les données du bloc de données ne sont pas effacées à la fin de l'exécution du bloc de code ou lorsque vous fermez le bloc de données. La taille d'un bloc de données dépend de la CPU considérée. Dans une CPU 314 IFM, par exemple, elle peut atteindre jusqu'à 8 kilo-octets, soit 8192 octets.

Page 8: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Blocs de données globales.Il s'agit de blocs de données auxquels peuvent accéder tous les blocs de code du programme utilisateur S7. Tout FB, FC, ou OB peut lire ou écraser les données qu'ils contiennent. Vous pouvez créer des blocs de données globales en :- définissant vous-même la structure du bloc de données, c'est-à-dire en définissant et éditant individuellement l'ordre des variables, leur nom et leur type de données.- créant un bloc de données avec le type de données utilisateur correspondant. Dans ce cas, c'est la structure du type de données utilisateur qui détermine celle du bloc de données.

Blocs de données d'instanceIl s'agit de blocs de données qui sont affectés à un bloc fonctionnel (FB) particulier. Ils contiennent les données locales de ce bloc fonctionnel.Si, dans un bloc fonctionnel, vous appelez d'autres FB et que vous avez déclaré des variables statiques (multi-instances) pour les instances de ces FB, alors le DB d'instance du bloc fonctionnel appelant contient également les données locales des FB appelés.Les blocs de données du programme utilisateur S7 peuvent être chargés dans la CPU S7. Ils sont soit créés et édités directement avec des éditeurs incrémentaux, soit ils résultent de la compilation de sources

Page 9: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Déroulement du programme.

Lecture de la périphérie d’entrée,Stockage dans la MIE.

Temps de cycle (surveillé)

Lecture de la périphérie d’entrée,Stockage dans la MIE.

Déroulement du programme en utilisant les valeurs des entrées de la MIE et en stockant les sorties dans la MIS.

Transfert de la MIS sur la périphérie de sortie. Déroulement du programme en

utilisant les valeurs des entrées de la MIE et en stockant les sorties dans la MIS.

Transfert de la MIS sur la périphérie de sortie.Fonction

système et communication

Page 10: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Déroulement du programme

Page 11: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Découpage en unités de temps

Page 12: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Mémoire de chargement

La mémoire de chargement est stockée sur une micro-carte mémoire SIMATIC Card (MMC).

La taille de la mémoire de chargement correspond exactement à la MMC. Elle sert à mémoriser les blocs de codes et les blocs de données ainsi que les données système (configuration, liaisons, paramètres de modules etc.).

Les blocs qui sont identifiés comme n'intervenant pas dans l'exécution ne sont copiés que dans la mémoire de chargement.

Les données complètes de configuration d'un projet peuvent être également archivées sur la MMC.

Page 13: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Mémoire de travail

La mémoire vive est intégrée à la CPU et ne peut pas être étendue. Elle sert à exécuter le code et à traiter les données du programme utilisateur.

Le traitement du programme s'effectue exclusivement au niveau de la mémoire de travail et de la mémoire système.

La mémoire vive de la CPU est toujours rémanente.

Page 14: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Mémoire système

La mémoire système est intégrée à la CPU et ne peut pas être étendue.

Elle contient

les plages d'opérandes Mémentos M, Tempos T et Compteurs Z

les mémoires images des entrées MIE

. la mémoire image des sorties MIS

les données locales L (PILES)

Page 15: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Zones d’opérandesZones d’opérandes

Accès par des unités de taille suivante

Notation

S7 IEC

Descriptions

Mémoire images des entrées MIE

- Entrée (bit)

- Octet d’entrée

- Mot d’entrée

- Double mot d’entrée

E I

EB IB

EW IW

ED ID

Au début de chaque cycle la CPU lit les entrées provenant des modules d’entrées et les enregistre dans la MIE

Mémoire images des sorties MIS

- Sortie (bit)

- Octet de sortie

- Mot de sortie

- Double mot de sortie

A Q

AB QB

AW QW

AD QD

Pendant le cycle la CPU calcule les valeurs pour les sorties et les déposes dans la MIS. A la fin la CPU écrit les valeurs de sorties calculées dans les modules de sorties

Mémentos - Mémento (bit)

- Octet de mémento

- Mot de mémento

- Double mot de mémento

M

MB

MW

MD

Cette zone met à disposition de l’espace mémoire pour les résultats intermédiaires calculés dans le programme

Temporisations - Temporisation (T) T Cette zone sert d’espace mémoire pour les temporisations

Compteurs - Compteur (Z) Z C Cette zone sert d’espace mémoire pour le compteurs

Page 16: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Opérandes suite 1Zones d’opérandes

Accès par des unités de taille suivante

Notation

S7

Descriptions

Blocs de données

Bloc de données ouvert avec AUF DB (OPEN DB)

- Bit de données

- Octet de données

- Mot de données

- Double mot de données

DB

DBX

DBB

DBW

DBD

Les blocs de données contiennent les informations pour le programme. Ils peuvent soit :

- servir à tous les blocs de code(DB globaux) ,

Bloc de données ouvert avec AUF DI (OPEN DI)

- Bit de données

- Octet de données

- Mot de données

- Double mot de données

DI

DIX

DIB

DIW

DID

- soit être associé à un FB (DB d’instance)

Données locales

- Bit de données locales

- Octet de données locales

- Mot de données locales

- Double mot de données locales

L

LB

LW

LD

Cette zone fournit de l’espace mémoire aux données temporaires d’un bloc pour la durée du traitement de ce bloc. La pile L sert aussi à la sauvegarde des résultats intermédiaires en CONT

Page 17: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Opérande suite 2

Zones d’opérandes

Accès par des unités de taille suivante

Notation

S7

Descriptions

Zones de périphérie d’entrées

- Octet d’entrée de périphérie

- Mot d’entrée de périphérie

- Double mot d’entrée de périphérie

PEB

PEW

PED

Les zones de périphéries permettent l’accès direct à des modules d’entrées ou de sorties.

Zones de périphérie de sorties

- Octet de sortie de périphérie

- Mot de sortie de périphérie

- Double mot de sortie de périphérie

PAB

PAW

PAD

Page 18: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Mémoire des entrées MIE

Entrées E (I) (lecture dans la Mémoire Image d'Entrées MIE)- E y.x désigne une entrée, y est le numéro de voies (octet 0 à 127ou plus), x sa position (0 à 7).- EB y désigne un octet d'entrées.- EW y désigne un mot d'entrées ( 16 bits).- ED y désigne un double mot d'entrées (32 bits).Les même termes précédé d'un P accèdent directement à la périphérie sauf E y.x

Page 19: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Mémoire des sorties MIS

Sorties A (Q) (sortie dans la Mémoire Image de Sorties MIS)- A y.x désigne une sortie. y est le numéro de voies (octet 0 à 127 ou plus), x sa position (0 à 7).- AB y désigne un octet de sorties.- AW y désigne un mot de sorties ( 16 bits).- AD y désigne un double mot de sorties (32 bits).Les mêmes termes précédés d'un P accèdent directement à la périphérie sauf Ay.x

Page 20: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Zone de mémoire interne

Mémentos M (lecture dans la mémoire interne)- M y.x désigne un bit mémoire. y est le numéro d'octets (0 à 255 minimum), x sa position (0 à 7).- MB y désigne un octet de mémoire.- MW y désigne un mot de mémoire( 16 bits).- MD y désigne un double mot de mémoire(32 bits).

Page 21: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Données globales

Données D (nécessite l'ouverture préalable d'un DB global).- DBX y.x désigne un bit de données y est le numéro d'octets (0 à N), x sa position (0 à 7).- DBB y désigne un octet de données .- DBW y désigne un mot de données ( 16 bits).- DBD y désigne un double mot de données (32 bits).- L’accès direct s’écrit Dbn.DB ( Xy.x ou By ou Wy ou Dy), n = numéro du DB

Page 22: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Données localesDonnées L ( données locales dans la zone de déclaration d’un DB d’instance)- L y.x désigne un bit de données y est le numéro d'octets (0 à 127), x sa position (0 à 7).- LB y désigne un octet de données locales .- LW y désigne un mot de données locales ( 16 bits).-LD y désigne un double mots de données locales (32 bits). -Utilisation uniquement dans le bloc concerné

Page 23: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Variables associées à un bloc

Outre les instructions du programme utilisateur, les blocs contiennent des variables que vous déclarez à l’aide de STEP 7 lorsque vous programmez des blocs vous même.

Vous pouvez indiquer, dans la déclaration de variables, les variables que le bloc devra utiliser lors de son traitement. Les variables sont :

des paramètres transmis entre blocs de code, des variables statiques rangées dans un bloc de données d’instance et restant disponibles même une fois le bloc fonctionnel associé traité, des variables temporaires qui ne sont disponibles que pendant le traitement du bloc et sont ensuite écrasées. Le système d’exploitation affecte une zone de mémoire propre à ces données temporaires

Page 24: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Types de déclarations pour paramètres et variables locales.

Paramètres/

variables

Description Autorisé

pour

IN Paramètre d’entrée dont la valeur est fournie par le bloc de code appelant

FB,FC

OUT Paramètre d’entrée dont la valeur est fournie par le bloc de code appelé FB,FC

IN_OUT Paramètre d’entrée dont la valeur est fournie par le bloc de code appelant et modifié par le bloc de code appelé et renvoyé au bloc de code appelant

FB,FC

STAT Variable statique contenue dans le DB d’instance (mémorisée d’un appel à l’autre)

FB

TEMP Variable temporaire rangée dans la pile des données locales. Les valeurs de ces variables sont perdues une fois l’exécution du bloc achevé

FB,FC, OB

Page 25: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Changement de fonctionnement de la CPU

Page 26: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Échanges des blocs

Page 27: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

 

Page 28: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Zones de mémoires

Page 29: Step 7 : une programmation structurée. LES LANGUAGES Schéma en bloc fonctionnel FBD LOG Langage à contact LD CONT Liste dinstruction IL LIST Diagramme

Zones de mémoires