Programmation ST LD SFC Sour Openplc Ensps
Programmation ST LD SFC Sour Openplc Ensps
Programmation ST LD SFC Sour Openplc Ensps
sous OpenPLC
Édité le
Jean-Philippe ILARY 15/03/2021
Cette ressource est issue d’une publication du numéro 103 de La Revue 3EI de janvier 2021.
Jean-Philippe Ilary est enseignant au département GEII de l’IUT Ville d’Avray.
Cette ressource a pour ambition de fournir à un étudiant les bases pour débuter en autonomie avec
le logiciel OpenPLC.
1 – Introduction
Après avoir présenté les possibilités de la suite logicielle OpenPLC, ce document, adapté pour cette
publication, présente les démarches à suivre par l’étudiant afin qu’il puisse développer en
autonomie.
1
2.1 - L’Automate simulé (Runtime)
Le Runtime doit être installé sur votre appareil (il est responsable de l’exécution de votre
programme PLC). Il permet de disposer d’un API à faible coût. Pour l’installer, il suffit de se rendre
sur le site https://www.openplcproject.com/runtime et de choisir la version souhaitée, soit pour
carte Raspberry (ou équivalent), soit pour Windows, Linux. Exécutez, cela va permettre d’installer
les logiciels nécessaires à la simulation d’un API. Des consoles DOS s’ouvriront pour télécharger les
logiciels manquants.
Il est aussi possible de disposer d’Entrées/Sorties déportées à travers différents matériels comme
une carte Arduino ou un ESP8266.
2.2 – L’éditeur de programme
Pour la suite de la ressource, nous travaillerons avec un API sur un système Windows.
2
3 – Programmation en LADDER
Nous allons créer un programme répondant au chronogramme ci-après. Nous disposerons de trois
boutons poussoirs (bp0, bp1 et bp2) et de trois lampes (Lampe0, Lampe1 et Lampe2). Ce sera notre
« Bonjour le monde » que tout programmeur connait.
On obtient la fenêtre d’édition suivante qui va nous permettre d’écrire nos programmes API.
3
3.2 – Associer un symbole aux variables (E/S TOR)
Lors d’une programmation API, il est toujours préférable, comme en programmation informatique
classique, de commencer par réfléchir à la structuration du programme, et en automatisme, à
réaliser une table d’adressage avec les mnémoniques des variables associées à leur type.
À partir du navigateur projet, double cliquer sur Tuto_1 afin de pouvoir afficher la fenêtre
d’édition.
Cliquer sur l’icône afin de rajouter une variable. (Explication de l’Adressage en Annexe)
Définir trois variables d’entrée TOR et trois variables de sortie TOR en suivant la table d’adressage
ci-après. Les données sont définies en BOOL.
4
3.3 – Créer un programme en LADDER
La zone de saisie du Ladder est sous le tableau des variables. Cela se fait grâce à la barre d’outils,
saisir le programme suivant :
Commencez par placer les deux connexions verticales correspondant à l’alimentation du circuit.
Côté gauche 6 départs et côté droit 4 départs. Pour les contacts ou bobines, faire de même.
Ensuite, pour les contacts (même démarche pour les bobines) saisir ses caractéristiques.
Ces outils vont permettre d’élaborer le programme API répondant au cahier des charges.
5
Cela donne :
Le compilateur indique en bas de page les éventuels avertissements (non bloquant, à lire quand
même) et erreurs (bloquant).
Il vous demande un nom de programme se terminant par .st, car quelque-soit le langage de
programmation sélectionné, votre programme est traduit en langage ST. Vous pouvez ouvrir ce
fichier avec le blocNote pour vous en rendre compte.
3.4.2 – Se connecter à l’API simulé, exécuter le programme et le valider
Le logiciel compile votre programme, le transférer au simulateur et bascule l’API en RUN. Vérifiez
alors que l’API (PLC) est bien en RUN (started).
6
Pour simuler votre application, cliquer sur Déboguer l’instance dans le panneau gauche en cliquant
sur la lunette à droite du texte Config0.Res0.instance0 :
Pour revenir à l’édition du programme, sélectionnez l’onglet p0 sur la capture ci-dessus (pour vous
l’onglet portera le nom de votre programme.
Lorsque vous avez terminé, déforcez les variables, passer l’automate en STOP (icône ) et
revenez sur la fenêtre projet.
7
4 – Programmer en SFC (grafcet)
Afin de comprendre comment procéder pour réaliser un programme SFC, nous nous appuierons sur
le cahier des charges suivant :
Le camion est placé sur un système de pesée (en contact avec d1). Quand le camion est en partie
chargé, l’action de la plateforme sur le détecteur p1 doit stopper le tapis 1, et maintenir le tapis
2 en action.
8
Le tapis 2 continue de fonctionner jusqu’à l’activation du détecteur p2. Le voyant H1 s’allume pour
signaler que le chargement est terminé.
Commencer par créer un nouveau projet, le nommer Tuto_2. La programmation se fera en SFC.
Ensuite, définir les symboles qui seront utilisés dans le programme. Il faut définir le type et
l’adresse pour chacune des variables.
9
Palette d’outils
Pour réaliser la construction du squelette du grafcet, il est souhaitable de suivre la démarche ci-
dessous :
Il est alors possible de saisir la réceptivité de trois façons, on verra ici deux solutions.
10
En choisissant Connexion, il sera possible d’écrire l’équation logique de la réceptivité en langage
ladder en commençant à gauche par une barre d’alimentation et en rebouclant sur la transition.
Ensuite, il faut affecter les actions aux étapes. Pour cela, cliquez sur le départ de l’action. Le menu
« Ajouter un bloc fonctionnel » apparaît alors :
11
Comme on peut voir ci-dessous, le qualificatif N permet que l’action soit active tant que l’étape
l’est.
12
La programmation du grafcet est terminée.
Rappel : Pour revenir à l’édition du programme, appuyer sur Stop et sélectionner l’onglet du
programme :
5 – Validation du fonctionnement
Maintenant que le programme est complet, on va commencer par le compiler (rappel : le dossier
du projet doit être dans un répertoire bien accessible (pas sur un lecteur réseau par exemple). Zéro
erreur, vous pouvez alors l’exécuter .
Ensuite, comme pour la programmation LADDER, il est possible de superviser les variables (voir Aide
plus haut). Cela se fait par et le résultat apparaît à droite dans la fenêtre Déboggueur.
Si vous avez un API compatible OpenPLC (Raspberry par exemple), il vous est possible d’y transférer
le programme et de l’exécuter, voir le tutorial en ligne :
https://www.openplcproject.com/reference/basics/upload
La façon la plus simple d’installer ScadaBR est d’utiliser une machine virtuelle. Dans la machine
virtuelle, tout ce que vous avez à faire est de charger le fichier d’image ScadaBR dans VirtualBox
par exemple pour avoir un environnement ScadaBR prêt à l’emploi sur votre système (voir le site
pour le détail de l’installation : https://www.openplcproject.com/reference/scadabr/ )
7 – Conclusion
Ce travail n’est pas terminé, mais vu les circonstances, il m’a semblé intéressant de le partager en
l’état. Les sept pages d’annexes sont des outils qui serviront aux étudiants, à qui ce tutoriel est
destiné.
Je remercie, pour leur aide Claire BASSET (IUT GEII - Ville d’Avray) et Jean-Michel GAY (BTS ET –
Versailles).
Ressource publiée sur Culture Sciences de l’Ingénieur : https://eduscol.education.fr/sti/si-ens-paris-saclay
13