Cours API s7300

4
1/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 Document de cours BTS CIRA Programmation des automates Siemens S7 300 Document L'automate S7 300 est le modèle de base de la gamme des API Siemens qui comprend aussi les S7 200 (modèle compact) et les S7 400 (modèle utilisé en régulation). Il se programme avec le logiciel Step 7 de Siemens. I. Structure matérielle du S7 300 Le S7 300 peut comporter des modules PS (alimentation), CPU (unité centrale), SM (module de signaux d'entrées/sorties), modules de fonctions FM pour les fonctions spéciales (par ex. : commande de moteur pas à pas), processeurs de communication CP pour les liaisons réseau. Chaque module est repéré par un emplacement. N° d'emplacement 1 2 4 5 6 7 Type de module PS CPU SM SM SM SM Adresses 0.0 à 3.7 4.0 à 7.7 8.0 à 11.7 12.0 à 15.7 Une entrée ou une sortie est désignée dans le programme à l'aide d'une adresse qui indique clairement quel est son emplacement sur l'automate. Cette adresse est composée : d'une lettre indiquant la nature de la variable : I pour une entrée Q pour une sortie d'un chiffre, appelé adresse d'octet, qui indique l'emplacement du module (de 0 à 31), d'un point ( . ) d'un chiffre, appelé adresse de bit, qui indique l'emplacement de la variable sur le module (de 0 à 7). Nota : _ L'emplacement 3 est réservé au coupleur IM pour une configuration multichâssis _ 4 adresses d'octet sont réservés à chaque emplacement. En cas d'utilisation de modules d'entrées/sorties à 16 voies , on perd 2 adresses d'octet par emplacement. Dans la configuration de l'automate, réalisée à l'aide de l'utilitaire Hardware Config , il faut inclure les différents modules et les paramétrer. Exemples de paramétrages : _ module entrée analogique : il faut définir le type de transmetteur, et la plage de variation du signal. _ module CPU : Il faut définir la durée du cycle de surveillance (chien de garde), on peut également définir le mémento de cadence et les zones de rémanence. Le mémento de cadence est un octet de mémoire dont chaque bit va changer périodiquement. Si M100 est choisi comme octet de cadence, alors : M100.7 va changer de valeur binaire avec une fréquence de 0,5 Hz. M100.6 va changer de valeur binaire avec une fréquence de 1 Hz. Les zones de rémanence sont des zones où les données sont inscrites dans des mémoires RAM non volatiles. Les mémentos, les temporisations et mes compteurs qui sont inscrits dans ces zones conservent leur valeur lors d'une coupure d'alimentation, même sans pile de sauvegarde. Adresse 0.0 Adresse 0.7 Adresse 1.0 Adresse 1.7

Transcript of Cours API s7300

Page 1: Cours API s7300

1/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 Document de cours

BTS CIRA Programmation des automates Siemens S7 300 Document

L'automate S7 300 est le modèle de base de la gamme des API Siemens qui comprend aussi les S7 200 (modèle compact) et les S7 400 (modèle utilisé en régulation). Il se programme avec le logiciel Step 7 de Siemens. I. Structure matérielle du S7 300

Le S7 300 peut comporter des modules PS (alimentation), CPU (unité centrale), SM (module de signaux d'entrées/sorties), modules de fonctions FM pour les fonctions spéciales (par ex. : commande de moteur pas à pas), processeurs de communication CP pour les liaisons réseau. Chaque module est repéré par un emplacement.

N° d'emplacement 1 2 4 5 6 7

Type de module PS CPU SM SM SM SM Adresses 0.0

à 3.7 4.0

à 7.7 8.0

à 11.7 12.0

à 15.7 Une entrée ou une sortie est désignée dans le programme à

l'aide d'une adresse qui indique clairement quel est son emplacement sur l'automate. Cette adresse est composée :

• d'une lettre indiquant la nature de la variable : I pour une entrée Q pour une sortie

• d'un chiffre, appelé adresse d'octet, qui indique l'emplacement du module (de 0 à 31),

• d'un point ( . ) • d'un chiffre, appelé adresse de bit, qui indique

l'emplacement de la variable sur le module (de 0 à 7). Nota : _ L'emplacement 3 est réservé au coupleur IM pour une configuration multichâssis

_ 4 adresses d'octet sont réservés à chaque emplacement. En cas d'utilisation de modules d'entrées/sorties à 16 voies , on perd 2 adresses d'octet par emplacement.

Dans la configuration de l'automate, réalisée à l'aide de l'utilitaire Hardware Config , il faut inclure les différents modules et les paramétrer. Exemples de paramétrages : _ module entrée analogique : il faut définir le type de transmetteur, et la plage de variation du signal. _ module CPU : Il faut définir la durée du cycle de surveillance (chien de garde), on peut également définir le mémento de cadence et les zones de rémanence.

• Le mémento de cadence est un octet de mémoire dont chaque bit va changer périodiquement. Si M100 est choisi comme octet de cadence, alors :

M100.7 va changer de valeur binaire avec une fréquence de 0,5 Hz. M100.6 va changer de valeur binaire avec une fréquence de 1 Hz. …

• Les zones de rémanence sont des zones où les données sont inscrites dans des mémoires RAM non volatiles. Les mémentos, les temporisations et mes compteurs qui sont inscrits dans ces zones conservent leur valeur lors d'une coupure d'alimentation, même sans pile de sauvegarde.

Adresse 0.0 Adresse 0.7

Adresse 1.0 Adresse 1.7

Page 2: Cours API s7300

2/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 Document de cours

II. Types de données utilisées:

Les types de données simples utilisées lors de la programmation sont:

types de données

taille du type de données

Description Plage

BOOL 1 bit bit 0 ou 1 BYTE 8 bits Octet, utilisé pour les caractères ASCII et les entiers non signés 0 à 255 WORD 16 bits Nombre entier non signé codé sur 16 bits (mot) 0 à 65 535

INT 16 bits Nombre entier signé codé sur 16 bits (mot) - 32 768 à + 32 767DWORD 32 bits Nombre entier non signé codé sur 32 bits (double mot) 0 à (232 – 1)

DINT 32 bits Nombre entier signé codé sur 32 bits (double mot) - 231 à (231 – 1) REAL 32 bits Nombre réel, codé en nombre à virgule flottante - 1038 à + 1038

Pour visualiser les valeurs de taille octet, mot ou double mot, on peut utiliser différents formats: - format décimal: +20047 - format binaire: W#2#1010 0101 1010 0101 - format hexadécimal: DW#16#4E4F - format réel ou virgule flottante: +1.17549E-38 - format ASCII: 'texte entre apostrophes'

III. Adressages directs des zones de mémoire de la CPU:

La mémoire du S7 300 est organisée à partir d’octets. Exemples ci – contre d’adressages de bits et de mots dans la mémoire interne:

L'API S7 300 dispose de différentes zones mémoires:

- Mémoire Image des Entrées appelée MIE ( I): La CPU lit les entrées sur les modules au début de chaque cycle et écrit ces valeurs dans la mémoire image des entrées.

- Mémoire Image des Sorties appelée MIS ( Q): La CPU copie dans les sorties des modules correspondants les valeurs contenues dans la mémoire image des sorties.

- Mémoire des mémentos ou mémoire interne ( M): Les mémentos internes fournissent de l'espace mémoire pour l'état intermédiaire d'une opération ou d'autres informations de commande.

- Mémoire des temporisations ( T): 2 variables sont associées à chaque temporisation: • la valeur en cours: ce nombre contient la durée comptabilisée par la temporisation. • le bit de temporisation: ce bit est mis à 1 ou 0 selon le résultat de la comparaison entre la valeur

en cours et la valeur prédéfinie.

- Mémoire des compteurs ( C): Les compteurs sont des éléments qui comptent chaque front montant des entrées de comptage.

Pour accéder à un bit dans une des zones mémoires, il faut préciser son adresse composée d'un identificateur de zone de mémoire, de l'adresse d'octet et du rang du bit. Exemple: I 1 . 3 I: identificateur de zone (MIE), adresse d'octet: octet 1 (2ème octet de la MIE), rang du bit sur l’octet: bit 3 de l'octet (de 0 à 7).

Pour accéder à un octet (8 bits), un mot (16 bits) ou à un double mot (32 bits), les notations sont les suivantes: - accès à un octet: M B 100 M: identificateur de zone (mémoire interne), B accès à un octet (Byte), 100: adresse d'octet.

octet M B 100: M 100.7 M 100.6 M 100.5 M 100.4 M 100.3 M 100.2 M 100.1 M 100.0

- accès à un mot: M W 1 M: identificateur de zone (mémoire interne), W accès à un mot (Word), 1: adresse de l'octet de poids fort du mot.

MB 1 (octet de poids fort) MB 2 (octet de poids faible) mot MW1 M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 M2.7 M2.6 M2.5 M2.4 M2.3 M2.2 M2.1 M2.0

MB0

MB1

MB2

MB3

MB4

M0.7

MW2

M0.0

M4.1

Page 3: Cours API s7300

3/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 Document de cours

- accès à un double mot: M D 10 M: identificateur de zone (mémoire variable), D accès à un double mot ( Double word), 10: adresse de l'octet de poids fort du double mot.

M D 10 M B 10 M B 11 M B 12 M B 13

IV. Organisation du programme:

L'organisation des applications réalisées avec Step7 sont conçus à partir de blocs : On distingue : les blocs utilisateur ou ce dernier viendra écrire son programme (OB, FC, FB) les blocs systèmes qui sont des ressources prédéfinies exploitables par l'utilisateur (SFC et SFB).

Les programmes écrits dans Step 7 comportent 3 types de blocs fondamentaux : - le bloc programme principal appelé OB1 (Bloc d'Organisation n°1). Il est exécuté de manière

cyclique par la CPU de l'automate. Ce programme ne doit contenir que des opérations permanentes quelque soit le mode de fonctionnement car l’OB1 est toujours scruté. Il doit aussi gérer l'appel des sous programmes.

- les blocs sous programmes (appelés FC ou FB). Ils sont exécutés uniquement lorsque le programme principal les appelle (un sous programme peut aussi appeler un autre sous programme). Ils permettent de structurer l'application: par exemple, chacun d'eux contient la partie du programme gérant un mode de fonctionnement ou une zone définie de l'installation.

- les programmes d'interruptions (autres OB que OB1). Ils sont exécutés lorsque se produit l'événement d'interruption correspondant à ce programme. Par exemple :

_OB 100 est un bloc qui est exécuté lorsque l'automate passe en RUN (démarrage à chaud). _OB 35 est un bloc qui peut être exécuté toutes les 100ms. _OB 80 est un bloc qui est exécuté en cas de débordement du chien de garde.

V. Langages de programmation:

Le logiciel Step7 permet de programmer l'automate avec un des 3 langages, qui sont très proches des 3 langages normalisés suivants :

Langage utilisable dans Step 7 : Langages définis par la norme CEI 61131-3 langage à contact appelé CONT. langage ladder (LD). langage logigramme appelé LOG. blocs fonctionnel ou Function Diagram Bloc (FDB) liste d'instruction appelé LIST. langage littéral de bas niveau ou Instruction List (IL)

La plupart des opérations disponibles avec Step 7 sont très semblables à celles proposées par le logiciel PL7 de Schneider qui respecte aussi cette norme (ex: temporisations, compteurs…).

VI. Jeu d'opérations disponibles:

On peut faire appel à certaines opérations dans un programme pour réaliser une fonction particulière. Ces opérations sont classées par famille:

- opérations combinatoires sur bits: blocs NOT → complément bit à bit d’un octet ou mot. blocs AND ou OR → ET ou OU bit à bit d’un octet ou mot.

- opérations de comparaison. Blocs EQ → égalité entre 2 mots. Blocs GE → supériorité entre 2 mots Blocs LE → infériorité entre 2 mots

- opérations de temporisation. ( S_ODT, S_PULSE ). - opérations de comptage. Blocs S_CU → compteur incrémental (+1 à chaque front montant).

Blocs S_CUD → compteur incrémental (+1) ou décrémental (-1).

- opérations arithmétiques. - opérations numériques. - opérations de transfert (MOVE). - opérations logiques. - opérations de décalage et de rotation.

- opérations de conversion. Blocs BCD_I → convertir DCB en entier.

Page 4: Cours API s7300

4/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 Document de cours

VII. Traitement cyclique du programme:

Démarrage A la mise sous tension ou à la mise en marche (RUN), la CPU procède à une initialisation complète

(démarrage avec l'OB100). Lors du démarrage, le système d'exploitation efface les mémentos, les temporisations et les compteurs non rémanents, les alarmes de processus et de diagnostic mémorisées et il lance le temps de surveillance du cycle.

Cycle de scrutation Le fonctionnement cyclique de la CPU comprend 3 étapes principales :

La CPU interroge l'état des signaux des modules d'entrées et actualise la mémoire image des entrées MIE.

Elle exécute le programme utilisateur avec ses différentes opérations. Elle copie les valeurs de la mémoire image des sorties MIS dans les modules de sortie.

Bloc de mise en route (OB100) Traitement unique, par exemple à la mise sous tension.

Lancement du temps de surveillance de cycle.

Lecture de l'état des signaux sur les modules et mémorisation des données dans la mémoire image du processus (MIE)

Exécution du programme dans l'OB1 (traitement cyclique) Certains évènements

(alarme horaire, alarmes de processus, etc..) déclenchent d'autres OB.

Ecriture de la mémoire image des sorties (MIS) dans les modules de sortie.

Cyc

le d

e la

CPU

Module d'entrée

Module de sortie

Bloc OB 1