Chapitre V. Programmation des API 46 Programmation des API V.1. Introduction La
Chapitre V. Programmation des API 46 Programmation des API V.1. Introduction La réalisation de tout ou partie d’une partie commande en logique programmée nécessite la traduction du modèle concerné (grafcet, équations, ...) en programme exécutable par l’API. L’élaboration d’un tel programme vise donc à écrire les équations d’activation de sorties de l’API et les conditions associées en un langage répond à la norme industrielle de la commission électrotechnique internationale IEC 1131-3. Cette norme des langages de programmation des automates programmables permet de définir cinq langages de programmation utilisables, qui sont: Schéma à contacts (LD : Ladder Diagram) Schéma par blocs (FBD : Function Block Diagram) Langage SFC ( Sequential Function Chart ) Langage liste d'instructions (IL : Instruction List) Langage littéral structuré (ST : Structured Text). Les langages LD, FBD et IL, sont disponibles pour toutes les gammes d'automates, alors que le ST et le SFC sont uniquement disponibles pour les modèles S7-300/400, WINAC et S7-1500. Pour programmer l’automate, l’automaticien peut utiliser une console de programmation (portable) ou un PC doté d’un logiciel de programmation (exemple : Step 7 pout les API Siemens ou PL7 pour Schneider). Pour envoyer le programme réalisé dans la mémoire de l’automate on utilise une liaison série entre l’automate et l’ordinateur ou un câble spécifique lors de l’utilisation d’une console. Dans ce chapitre on présente le cycle d’exécution d’un paragramme par l’automate programmable industriel, en premier lieu. En second lieu on définit la notion d’dressage et affectation. En suite, on décrit les différents langages de programmation des API. Par la suite, on s’intéresse à la programmation des différentes opérations en langage à contact. La programmation en langages par blocs et par liste d’instructions est donnée en bref à la fin du chapitre. V.2. Traitement du programme automate Un automate exécute son programme de manière cyclique comme suit : Traitement interne : L'automate effectue des opérations de contrôle et met à jour certains paramètres systèmes (détection des passages en RUN / STOP, mises à jour des valeurs de l'horodateur, ...). Lecture des entrées : L'automate reçoit des données par ses entrées et les recopie dans la mémoire image des entrées. Traitement du programme : L'automate traite les données entrantes par un programme défini dans sa mémoire et écrit les sorties dans la mémoire image des sorties. Ecriture des sorties : L'automate bascule les différentes sorties aux positions définies dans la mémoire image des sorties pour commander les actionneurs et dialoguer avec l’opérateur et les autres systèmes automatisés. Chapitre V. Programmation des API 47 Figure V.1. Cycle de fonctionnement d’un API. On appelle scrutation l'ensemble des quatre opérations réalisées par l'automate et le temps de scrutation est le temps mis par l'automate pour traiter la même partie de programme. Ce temps varie selon la taille du programme et la puissance de l'automate et il est de l'ordre de la dizaine de millisecondes pour les applications standards. Figure V.2. Temps de scrutation et de réponse total. Le temps de réponse total est le temps qui s'écoule entre le changement d'état d'une entrée et le changement d'état de la sortie correspondante : Le temps de réponse total est au plus égal à deux fois le temps de scrutation (sans traitement particulier). Ce temps est de l'ordre d'une vingtaine de millisecondes et est contrôlé par une temporisation appelée chien de garde. V.3. Affectation et Adressage Avant de commencer à programmer, il est très important de réaliser l’affectation des entrées et des sorties de l’automate, et connaitre son adressage. L’affectation des entrées est en fonction des capteurs et boutons de commandes utilisées. Les sorties sont affectées avec les pré-actionneurs, voyants ...etc. L’affectation consiste également à identifier ces variables destinées à mémoriser les états et valeurs intermédiaires durant l’exécution du programme. L’adressage consiste à identifier les variables d’E/S et les variables internes par des adresses. La notion d’adressage d’un automate permet de connaître le type d’objet, le format des données que l’on va pouvoir former et son emplacement (ou numéro). Le tableau I.1 montre la signification des différents symboles que l’on peut trouver dans une adresse. T-I L- E T-P E- S T- I L- E T- P E- S Temps de scrutation TRAITEMENT INTERENE LECTURE DES ENTREES TRAITEMENTDU PROGRAMME ECRITURE DES SORTIES Temps de réponse total Déclenchement d’un détecteur Prise en compte du Changement d’entrée Basculement de la sortie Chapitre V. Programmation des API 48 Tableau V.1. Signification des différents symboles d’une adresse. Exemples: I0.4 : bit d’entrée 4 module 0. IW125 : mot d’entrée 125. Q0.4: bit de sortie 4 module 1. QB17 : Octet de sortie 17. M12.15 : bit mémoire interne 12.15. MD48 : mot double mémoire interne 48. AIW 288 : Entrée Analogique 288. AQW304 : Sortie Analogique 304. Remarque 1 : l’adressage peut être absolu ou symbolique. L’adressage absolu revient à utiliser les adresses physiques de l’automate. Pour donner de la clarté au programme, on utilise l’adressage symbolique. Cela revient à substituer chaque adresse physique par une adresse symbolique qui représente au mieux la fonction. La table mnémonique d’affectation est « l’outil » utilisée pour créer un adressage symbolique. Adressage absolu. Adressage symbolique. Adressage absolu et symbolique. Remarque 2 : le mode d’adressage dépend du constructeur de l’API. Il faut donc consulter la notice de cet automate. V.4. Langages de programmation pour API Les langages de programmation des API sont de natures diverses étant donné la diversité, des utilisateurs pouvant les utiliser. Ils peuvent être classés en deux familles : V.4.1. Langages graphiques Ils permettent une transcription graphique aussi directe que possible des modèles afin de faciliter les tâches de programmation et de réduire les sources d’incertitudes. On distingue les trois langages suivants : Schéma à contact, Schéma par blocs et Diagramme fonctionnel de séquence. Schéma à contacts: Le LD est le plus utilisé et très facile à prendre à main et idéale pour visualiser et diagnostiquer des programmes pendant les opérations de maintenance. Il est adapté au traitement combinatoire. Préfixe Signification I (ou E) Lecture de l’état d’une entrée. Q ( ou A) Lecture/ Ecriture de l’état d’une sortie. M et V Lecture/ Ecriture de l’état d’une variable interne (mémento) SM Lecture/ Ecriture d’un bit Système S Lecture/Ecriture d’un bit Relai séquentiel C ou (Z) Compteurs SC Compteurs rapides T Temporisateurs A ou (P) Analogique % Norme IEC 1131-3 B Taille d’un byte ou octet W Taille d’un word : mot de 16 bits D Taille d’un double word : mot double de 32 bits Marche Pompe I0.4: Q0.4: Marche Pompe I0.4 Q0.4 Chapitre V. Programmation des API 49 Schéma par blocs: Le FBD se présente sous forme un diagramme pour réaliser des variables, des opérations ou des fonctions, simples ou très sophistiquées. Les blocs sont programmés (bibliothèque) ou programmables. Diagramme fonctionnel de séquence: Le SFC permet de représenter graphiquement et de façon structurée le fonctionnement d'un automatisme séquentiel. Il est dérivé du grafcet. V.4.2. Langages textuels Il s’agit de décrire le fonctionnement du processus par un programme sous forme un texte. Deux langage existent : Liste d’instruction et littéral structuré. Liste d'instructions : Le IL est un langage "machine" qui permet l’écriture de traitements logiques et numériques. Il peut être comparé au langage assembleur. Très peu utilisé par les automaticiens. Littéral structuré : Le ST est un langage de type "informatique" permettant l'écriture structurée (algorithmes) de traitements logiques et numériques. Il est de même nature que le Pascal. Peu utilisé par les automaticiens. V.5. Programmation en langage à contact Le langage à relais (relais) est basé sur un symbolisme très proche de celui utilisé pour les schémas électriques. Il est constitué de plusieurs de plusieurs réseaux. Chaque réseau contient des lignes horizontales contenant des contacts, des blocs fonctionnels et de bobines entre deux barres d’alimentation. Les contacts permettent de lire la valeur d'une variable booléenne. Les blocs fonctionnels sont des blocs préprogrammés qui permettent de réaliser des fonctions avancées : temporisation, comptage, communication, ...etc. Les bobines permettent d'écrire la valeur d'une variable booléenne. L’évaluation de chaque réseau se fait de la gauche vers la droite. L’évaluation de l’ensemble des réseaux se fait du haut vers le bas. Chaque réseau est repéré par une étiquette (LABEL). Dans ce suit, on présente les jeux d’opérations, les plus utilisées, SIMATIC (norme de Siemens), pour les automates Siemens S200. La programmation est s’effectuée à l’aide du logiciel Step7- Micro/Win version 4. Remarque 3 : La représentation des jeux d’opérations dépend de l’automate, de la norme et de la version du logiciel utilisé en programmation. V. 5.1. Opérations combinatoires sur bits Le tableau ci-dessous montre les principales opérations combinatoires sur bits. Opération Graphe Commentaire Contact à fermeture Le contact est fermé si la valeur du bit interrogé sauvegardée en <opérande> égale 1. En revanche, si le bit <opérande> est 0, le contact est ouvert. Le courant traverse le contact et l'opération fournit un résultat logique (RLG) égal à 1 si et seulement si le contact est fermé et le RLG à son entée égal 1. Contact à ouverture Le contact uploads/Litterature/ 10-api-cours-chapitre-5-programmation.pdf
Documents similaires
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 22, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 1.0266MB