Contrôle-commande d'une machine d'encre
Contrôle-commande d'une machine d'encre
Présenté par
HARMOUCHE Oussama
EL KOUBBA El Mahjoub
Thème :
CONTRÔLE-COMMANDE D’UNE
MACHINE DE PRODUCTION DES ENCRES
Remerciement vi
Résumé vii
Introduction Générale 1
i
II GEMMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
II.1 Définition du GEMMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
II.2 Procédures du GEMMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
II.3 Description de gemma du système . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Protocole de communication 20
I Modbus TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
I.1 Architecture et Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . 20
I.1.1 Modèle client-serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
I.1.2 Encapsulation des données . . . . . . . . . . . . . . . . . . . . . . . . 21
I.1.3 La structure des trames Modbus TCP/IP . . . . . . . . . . . . . . . . 21
I.1.4 Types de données échangés via Modbus TCP/IP . . . . . . . . . . . . 22
I.1.5 Échange de Données et Gestion des Exceptions . . . . . . . . . . . . . 23
II Liaison RS232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
II.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
II.2 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
II.2.1 Niveaux logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
II.2.2 Protocole de transmission de la norme RS232 . . . . . . . . . . . . . . 26
ii
V.2.2 Flow Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
V.2.3 Flow de supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
V.2.4 Flow des alarmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
V.2.5 Flow des réglages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Conclusion 48
Bibliographie 50
Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
iii
Table des figures
iv
4.9 Le data bloc du modbus server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.10 Interface du simulateur de balance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.11 Tableau des variables d’entrées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.12 Tableau des variables de sortie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.13 Tableau des variables d’alarme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.14 Blocs de programmation - TIA PORTAL. . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.15 Procédure du chargement du programme dans l’API 1. . . . . . . . . . . . . . . . . . . 38
4.16 Procédure du chargement du programme dans l’API 2. . . . . . . . . . . . . . . . . . . 38
4.17 Procédure du chargement du programme dans l’API 3. . . . . . . . . . . . . . . . . . . 39
4.18 Procédure du chargement du programme dans l’API 4. . . . . . . . . . . . . . . . . . . 39
4.19 Procédure de la simulation des réseaux - TIA PORTAL . . . . . . . . . . . . . . . . . . 39
4.20 Logo Node-RED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.21 Interface de développement de Node-RED. . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.22 Schéma d’architecture de communication avec Node-RED. . . . . . . . . . . . . . . . . 41
4.23 Flow d’accueil sur Node-RED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.24 Vue d’accueil sur le dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.25 Flow de login sur Node-RED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.26 Vue Login sur le dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.27 Flow de supervision sur Node-RED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.28 Vue supervision sur le dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.29 Flow des alarmes sur Node-RED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.30 Vue alarme sur le dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.31 Flow de réglage sur Node-RED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.32 Vue réglage sur le dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
v
Liste des tableaux
vi
Remerciement
vii
Résumé
Nous avons conçu et réalisé un système automatisé de dosage d’encre destiné à une utilisation
industrielle. Le projet a été développé autour d’un automate Siemens S7-1200, avec une balance
connectée via RS232 pour mesurer le poids en temps réel. Le processus de dosage est contrôlé par des
pompes et des vannes, gérées selon des seuils de poids fixes afin d’assurer la précision. Node-RED a été
utilisé pour développer une interface de supervision accessible depuis un navigateur web. Ce dernier
permet la visualisation des données en temps réel.
Le projet a nécessité la maı̂trise de plusieurs compétences : programmation automate (TIA Portal),
communication série, développement web avec Node-RED. Cette expérience nous a permis de renforcer
nos compétences techniques, notre capacité d’analyse et notre autonomie, tout en répondant aux
besoins industriels d’un système fiable et précis.
Mots clés : TIA PORTAL, Encres, Automatisation, Supervision, LADDER, FAST, Siemens S7-1200,
Node-Red, RS-232, Modbus TCP/IP.
viii
Introduction générale
Une analyse fonctionnelle rigoureuse a été menée afin de cerner les besoins exacts de l’entreprise et
de définir les fonctionnalités attendues du système. Un cahier des charges précis a été établi, intégrant
les contraintes techniques et les exigences de performance. La modélisation des comportements de
l’installation a été réalisée à l’aide des outils GEMMA et GRAFCET, garantissant une description
claire des séquences de fonctionnement et des modes opératoires.
Par ailleurs, une interface de supervision moderne et intuitive a été développée sous Node-RED
pour visualiser en temps réel . Nous avons divisé notre travail en quatre chapitres :
1
Chapitre 1
Introduction
Dans ce chapitre nous avons essayé de vous montrer et décrire l’entreprise d’accueil ainsi qu’on a
abordé le contexte général du projet dont on a présenté l’étude du besoin.
TEC Forge est une entreprise innovante et dynamique qui a réussi à être labélisée JEUNE EN-
TREPRISE INNOVANTE de la part de l’ADD (Agence du développement du digital) établissement
public stratégique placée sous tutelle du Ministère Délégué auprès du Chef du Gouvernement Chargé
de la Transition Numérique et de la Réforme de l’Administration.
2
I.2 Fiche technique
Responsable Administratif
Directeur Technique
et Financier
Technicien Technicien
Électricité Informatique
I.4 Problématique
Actuellement, le système de production utilisé par l’entreprise fonctionne de manière entièrement
manuelle, ce qui entraı̂ne des pertes de temps, un risque d’erreurs humaines et un manque de traçabilité
des opérations. La question qui se pose est comment automatiser ce processus afin de garantir un
dosage précis, une communication fiable entre les équipements (automate, balance, interface), tout en
respectant les contraintes techniques et organisationnelles du site de production.
II Analyse de besoin
Introduction
L’objectif principale de ce chapitre est de fournir une vue détaillée de notre projet en utilisant des
diagrammes d’analyse fonctionnelle. Ensuite, nous allons procéder à la modélisation de notre système,
3
qui servira de guide pour la programmation.
On distingue deux grandes approches : l’analyse fonctionnelle externe, qui porte sur l’expression
des besoins, et l’analyse fonctionnelle interne, qui se concentre sur la représentation du système en
lui-même. Voici une synthèse des étapes clés de l’analyse fonctionnelle :
• Identification des besoins : L’analyste fonctionnel débute par l’analyse des besoins des utilisa-
teurs, ce qui nécessite d’écouter, d’observer et de consigner ces besoins de façon précise.
• Définition des fonctions : Après avoir identifié les besoins, l’analyste classe et priorise les fonc-
tions du système. Ces fonctions correspondent aux actions ou services que le produit doit fournir pour
répondre aux besoins identifiés.
• Conception technique : À ce stade, l’équipe examine les solutions techniques pour chaque fonc-
tion. Elle prend en compte les contraintes, les coûts et la faisabilité de chaque option.
• Représentations graphiques : Afin de clarifier les relations entre les fonctions, l’analyste recourt à
des outils graphiques tels que le diagramme bête à cornes, le diagramme pieuvre et le diagramme FAST.
4
II.2.1 Diagramme bête à cornes
Le diagramme bête à cornes est un outil d’analyse fonctionnelle externe qui permet d’identifier le
besoin auquel le système répond. Afin de créer un tel diagramme il convient de poser les questions
suivantes :
A qui rend-il service ?
Sur quoi agit-il ?
Dans quel but ?
Le diagramme FAST (Functional Analysis System Technique) propose une décomposition struc-
turée et hiérarchisée des fonctions d’un système. Il part des fonctions de service, liées à l’interaction
avec l’environnement extérieur, passe par les fonctions techniques, propres au fonctionnement interne
du système, et aboutit à la description des solutions technologiques adoptées ou envisagées pour
répondre à ces fonctions techniques[9].
5
Figure 1.4 – Diagramme FAST du fonctionnement du système.
Le diagramme de pieuvre ou des Inter-acteurs représente les différentes interactions entre le pro-
duit et son environnement. Grâce à l’analyse fonctionnelle du besoin, il est possible de déterminer les
fonctions de service attendues et générées par l’utilisation du produit. Ainsi, en étudiant le produit
dans son contexte d’utilisation, en tenant compte de l’environnement dans lequel il évolue, on peut
s’assurer que le produit répond aux attentes exprimées par le client lors de son utilisation.
6
Figure 1.5 – Diagramme pieuvre du fonctionnement du système.
— La fonction principale :
— FP : Dosage précis des composants d’encre.
— Les fonctions des contraintes :
— FC1 : ssurer la sécurité des opérateurs lors de l’utilisation et de la maintenance du système.
— FC2 : Communiquer avec le PC de gestion via Modbus TCP/IP.
— FC3 : : Fonctionner avec une alimentation électrique stable (interaction avec l’alimenta-
tion).
— FC4 : S’adapter aux conditions environnementales.
Conclusion
L’analyse fonctionnelle a constitué une étape clé dans la structuration de notre projet. Elle nous a
permis d’identifier avec précision les besoins réels, les attentes des utilisateurs, ainsi que les contraintes
techniques et environnementales liées au système. Grâce à cette démarche, nous avons pu définir
clairement les fonctions principales et contraintes de notre futur système, posant ainsi les bases solides
de sa conception. Cette analyse nous guidera tout au long du développement, en assurant cohérence,
efficacité et pertinence par rapport aux objectifs visés.
7
d’une machine de production des encres. Il s’articule autour des objectifs, du périmètre, des contraintes
et des livrables définis en concertation avec les parties prenantes.
Cet axe décrit les règles et limitations à respecter pour garantir le bon fonctionnement du projet.
• Langage de programmation : Utilisation de STEP 7 (TIA Portal) pour la programmation de
l’automate Siemens S7-1200.
• Protocoles de communication : Choix entre Modbus TCP/IP (interopérabilité), OPC UA
(sécurité) ou Profinet (intégration native Siemens).
• Respect des normes industrielles en matière de sécurité et de fiabilité.
III.2.3.1 Matériels
Cet axe liste les équipements physiques nécessaires pour l’implémentation du projet :
• Automate : Un automate industriel de Marque SIEMENS SIMATIC S7-1200, CPU 1214C, CPU
8
compacte, AC/DC/RLY, E/S intégrées : 14 DI 24V DC ; Relais 10 DO 2A ; 2 AI 0-10 V DC, alimen-
tation : AC 85-264V AC à 47-63Hz, mémoire programme/données 150 Ko.
• Balance : Mettler Toledo (simulation via RS232).
• Terminal : PC avec logiciel de gestion.
III.2.3.2 Logiciels
Cet axe définit les outils logiciels nécessaires au développement et à l’exploitation du système :
• TIA Portal V15.1 pour le développement du programme automate (programmation LADDER).
• Simulateur pour la balance pour tester l’échange de données avec l’automate.
Conclusion
L’analyse du cahier des charges a permis de formaliser les attentes techniques et fonctionnelles du
projet, tout en identifiant les contraintes à respecter. L’architecture retenue, centrée sur l’automate
Siemens S7-1200 et le protocole Modbus TCP/IP, assure une solution interopérable, économique et
facile à déployer.
9
Conclusion
En somme, ce chapitre nous a permis d’explorer les fondamentaux indispensables à tout projet,
notamment l’analyse fonctionnelle et le cahier des charges. L’analyse fonctionnelle nous a offert une
compréhension détaillée des besoins et des objectifs, tandis que le cahier des charges a constitué un
document de référence clair pour orienter nos efforts. Ces outils établissent les bases de notre futur
projet et de nos ambitions. Dans les chapitres suivants, nous appliquerons ces notions pour donner vie
à notre vision et atteindre nos buts avec succès.
10
Chapitre 2
Introduction
Pour garantir une gestion, une exploitation et une maintenance efficaces d’un système automa-
tisé tout au long de son cycle de vie, il est indispensable d’anticiper, dès sa conception, l’ensemble
des scénarios de fonctionnement et d’arrêt. Bien que l’objectif principal soit souvent de maintenir le
système en mode de production automatique, il est tout aussi important de bien comprendre tous
les autres états possibles de son comportement. Par exemple, il serait inapproprié de se retrouver à
découvrir les réactions du système dans une situation d’urgence simplement en actionnant le bouton
d’arrêt d’urgence. Il est impératif de maı̂triser les procédures permettant de sortir de cet état et de
redémarrer le système.
Dans cette perspective, nous commencerons par utiliser le GEMMA (Guide d’Étude des Modes
de Marche et d’Arrêt) pour identifier et définir les différents modes de fonctionnement et d’arrêt du
système. Puis, dans une seconde étape, nous détaillerons le comportement attendu du système en nous
appuyant sur l’outil GRAFCET (Graphe Fonctionnel de Commande des Étapes et Transitions).
I GRAFCET
I.1 Définition du GRAFCET
Le GRAFCET (Graphe Fonctionnel de Commande Étape/Transition) est un outil graphique
élaboré par l’AFCET (Association Française pour la Cybernétique Économique et Technique) en
1977. Il a été normalisé en 1982 (norme NFC 03-190), puis internationalement en 1988 sous la norme
IEC 848, et intégré à la norme IEC 1131-3 en 1993.
▶ Objectifs du GRAFCET
Le GRAFCET a pour but de :
— Représenter de manière graphique le comportement d’un automatisme.
— Décomposer le cycle de fonctionnement d’un système automatisé en étapes et transitions.
— Faciliter la compréhension du fonctionnement pour tous les intervenants (techniciens, développeurs,
etc.).
▶Avantages du GRAFCET
— Indépendant de la technologie utilisée.
11
— Traduction cohérente du cahier des charges fonctionnel.
— Très adapté aux systèmes automatisés industriels.
— Favorise le passage à la programmation structurée (ex : LADDER, SCL, etc.).
▶Niveaux de représentation
— Niveau 1 : Fonctionnel : décrit le comportement global du système.
— Niveau 2 : Technologique : précise les composants techniques et leur rôle.
▶Composants du GRAFCET
— Étapes : Représentent les différents états stables du processus.
— Transitions : Déclenchent le passage d’une étape à l’autre en fonction de conditions logiques.
— Actions : : Définissent les tâches à exécuter à chaque étape.
12
Figure 2.2 – Exemple de Macro-étape .
13
• Macro-étape C1 : Circuit de couleur rouge.
14
Figure 2.6 – Grafcet Circuit de couleur blue .
15
Type Symbole Signification
C1 Circuit de couleur rouge
C2 Circuit de couleur verte
Les étapes
C3 Circuit de couleur bleu
CM Circuit de mélange
Pompe Rouge 6bars Pompe de couleur rouge qui fonctionne à une pression
de 6 bars.
Pompe Rouge 4bars Pompe de couleur rouge qui fonctionne à une pression
de 4 bars.
Pompe Verte 6bars Pompe de couleur verte qui fonctionne à une pression
de 6 bars.
Les actions
Pompe Verte 4bars Pompe de couleur verte qui fonctionne à une pression
de 4 bars.
Pompe Bleu 6bars Pompe de couleur bleu qui fonctionne à une pression
de 6 bars.
Pompe Bleu 4bars Pompe de couleur bleu qui fonctionne à une pression
de 4 bars.
Vanne N1 Vanne de niveau 1 à grande ouverture.
Vanne N2 Vanne de niveau 2 à petite ouverture
Vanne N2 Vanne de niveau 3 à pulsation
PDR Poids demande de couleur rouge
PRR Calcule du poids restant pour couleur rouge
PDV Poids demande de couleur verte
Les conditions
PRV Calcule du poids restant pour couleur verte
PDB Poids demande de couleur bleu
PRB Calcule du poids restant pour couleur bleu
SPO Seuil de petite ouverture de la vanne
SPu Seuil de pulsation
▶ Mode sécurité :
Le mode sécurité est activé lorsqu’un arrêt d’urgence est déclenché à la suite d’une situation critique ou
d’une non-conformité détectée sur une ligne de production. Lorsqu’un opérateur appuie sur le bouton
d’arrêt d’urgence, toutes les opérations de production sur la ligne concernée sont immédiatement
interrompues afin de permettre une intervention rapide pour résoudre le problème. Pour rétablir le
service, l’exploitant peut choisir de reprendre le cycle à l’endroit précis où il avait été interrompu ou
de redémarrer le processus depuis le début, garantissant ainsi une reprise sécurisée et conforme aux
exigences de qualité et de sécurité industrielle.
16
Figure 2.8 – Grafcet de mode sécurité.
Symbole Signification
ARU Bouton d’arrêt d’urgence
GPN Grafcet de production normale (Grafcet automa-
tique)
RESET Bouton d’initialisation de système
II GEMMA
II.1 Définition du GEMMA
Le GEMMA est un guide d’analyse graphique qui aide à définir, dès la phase de conception, les
différents modes de marche et d’arrêt d’un système automatisé. Il permet également d’organiser de
manière structurée la partie commande d’un système de production automatisé[7].
17
Chaque famille regroupe plusieurs états spécifiques à la partie opérative du système :
• États de fonctionnement : F1, F2, F3, F4, F5, F6
• États d’arrêt : A1, A2, A3, A4, A5, A6, A7 • États de défaillance : D1, D2, D3
Dans le cadre de l’analyse GEMMA, les trois premières procédures de chaque famille permettent
d’illustrer les principaux modes d’exploitation d’un système automatisé :
— Famille F :
— F0 – Marche Automatique : Exécution de la séquence de production suivant la recette
définie.
— F1 – Marche Manuelle : Utilisé lors des phases de test ou pour des réglages fins.
— F2 – Mode de Réglage/Configuration : Permet d’ajuster les paramètres critiques
(calibrage, consignes, seuils).
— Famille A :
— A0 – Arrêt Normal : Arrêt contrôlé en fin de cycle ou de lot.
— A1 – Arrêt de Sécurité : Activation immédiate en cas d’anomalie ou de situation critique.
— A2 – Arrêt Planifié : Utilisé pour la maintenance préventive ou corrective.
— Famille D :
— D0 – Défaut de Communication : : Perte de liaison (par exemple RS232 avec la
balance).
— D1 – Défaut Interne de l’API : Erreur ou dépassement de temps de cycle sur l’automate.
— D2 – Défaut de Mesure : Incohérence entre la valeur attendue et celle obtenue par les
capteurs.
18
II.3 Description de gemma du système
•START : Démarrage du système. Ce signal permet de lancer le fonctionnement normal du
système à partir de l’état d’arrêt initial.
•AUTO : Passage au mode automatique. Le système passe en gestion autonome selon le cycle de
production préétabli.
• ARU : Déclenchement du mode sécurité suite à un arrêt d’urgence ou une détection de non-
conformité.
•RESET : Réinitialisation du système vers l’état initial après un arrêt ou un passage en mode sécurité.
Conclusion
Le GEMMA s’est un outil essentiel dans la structuration des modes de fonctionnement et d’arrêt de
notre système. En facilitant la visualisation des interactions entre l’opérateur et la machine, il a permis
une meilleure compréhension des transitions entre les différents états du système. Cette approche a
non seulement simplifié la gestion opérationnelle, mais a également renforcé la maintenance préventive
et l’adaptabilité du système face aux évolutions futures. Ainsi, l’intégration du GEMMA dans notre
projet a contribué à une conception plus robuste et évolutive du système automatisé.
19
Chapitre 3
Protocole de communication
Introduction
Dans le cadre du projet de contrôle-commande de la machine de production des encres, la commu-
nication entre les différents équipements est un élément clé pour assurer l’interopérabilité, la fiabilité
et l’efficacité du système. Ce chapitre présente les protocoles de communication utilisés pour relier
l’automate Siemens S7-1200, la balance Mettler Toledo et le terminal de gestion.
I Modbus TCP/IP
Introduction
Modbus est un protocole de communication développé par Modicon (Schneider Electric) en 1979,
largement utilisé en automatisation industrielle. Modbus TCP/IP est une extension de Modbus RTU
fonctionnant sur un réseau Ethernet en utilisant le protocole TCP/IP. Il est basé sur une architecture
client-serveur où un client envoie des requêtes et un serveur répond [1]
Modbus TCP/IP fonctionne selon un modèle client-serveur. C’est une difference par rapport au
modèle maı̂tre-esclave du Modbus RTU (liaison série). Ce modèle client/serveur est basé sur quatre
types de messages [3] :
,→ Requête MODBUS (MODBUS Request),
,→ Confirmation MODBUS (MODBUS Confirmation),
,→ Indication MODBUS (MODBUS Response),
,→ Réponse MODBUS (MODBUS Confirmation).
20
Figure 3.1 – Cycle de communication Modbus TCP/IP[4].
Dans un réseau Modbus TCP/IP, plusieurs clients peuvent interroger un même serveur simul-
tanément. Cela permet une communication flexible et efficace entre divers équipements industriels.
Modbus TCP/IP utilise une technique appelée encapsulation pour transporter les messages Mod-
bus sur les réseaux TCP/IP. Voici comment ça marche :
♣ Le message Modbus original est conservé intact.
♣ L’en-tête MBAP est ajouté devant le message Modbus.
♣ Le tout est placé dans la section de données d’un paquet TCP/IP standard.
Le format de message se compose d’un en-tête d’application Modbus (MBAP) de sept octets, com-
prenant l’identifiant de transaction, l’identifiant de protocole, la longueur du message et l’identifiant
client. En Modbus TCP, l’identifiant de connexion et le numéro de port du serveur sont requis pour
établir la communication. Pour un client, l’adresse IP du serveur, l’identifiant client et le numéro de
port sont requis dans le format du message[1].
Ce tableau présente les champs composant une trame Modbus TCP/IP, avec leur taille et leur rôle
dans la communication entre un maı̂tre et un esclave.
21
Champ Taille Description
Identifiant de tran- Un identifiant unique pour suivre les transac-
2 octets
saction tions.
Identifiant Protocole 2 octets Toujours à 0 pour Modbus TCP.
Indique la longueur des données restantes dans
Longueur 2 octets
la trame.
Utilisé pour identifier l’esclave en cas de passe-
Identifiant de l’unité 1 octet
relle.
Spécifie l’action à effectuer (lecture, écriture,
Code de fonction 1 octet
etc.).
Contient les données ou le message Modbus à
Données Variable
transmettre.
Modbus distingue quatre types principaux des registers, chacun ayant une fonction spécifique :
Ces types de données sont adressés et manipulés à l’aide de codes de fonction spécifiques dans le
protocole Modbus, Les codes de fonctions Modbus définissent les actions à réaliser, comme la lecture
ou l’écriture de données :
22
Code de fonction Description
01 Read Coils : Lit l’état des variables binaires (0 ou 1) dans un dispositif
esclave (sorties).
02 Read Discrete Inputs : Lit l’état des entrées discrètes dans un dispositif
esclave. Généralement utilisé pour lire des entrées de capteurs (entrées).
03 Read Holding Registers : Lit la valeur de registres de maintien de 16 bits.
Utilisé pour lire des données numériques stockées ou des paramètres.
04 Read Input Registers : Lit la valeur des registres d’entrée, souvent utilisés
pour des données de capteurs ou de mesure (lecture seule).
05 Write Single Coil : Modifie l’état d’une bobine (0 ou 1). Utilisé pour
contrôler une sortie numérique telle qu’un relais ou un moteur.
06 Write Single Holding Register : Écrit une valeur dans un registre de
maintien de 16 bits.
15 Write Multiple Coils : Modifie l’état de plusieurs bobines en une seule
transaction. Utilisé pour changer simultanément plusieurs sorties.
16 Write Multiple Holding Registers : Écrit dans plusieurs registres de
maintien, pour mettre à jour plusieurs paramètres simultanément.
Le message MODBUS est construite par le client qui initie une transaction MODBUS. Le code de
fonction indique au serveur quelle action il doit effectuer. Le protocole d’application MODBUS définit
le format d’une requête initiée par un client.
Le champ du code de fonction dans une unité de données MODBUS est codé sur un octet. Les codes
valides sont compris entre 1 et 255 (en décimal), et la plage de 128 à 255 est réservée pour les réponses
d’exception. Lorsqu’un message est envoyé d’un client à un serveur, le champ du code de fonction
indique au serveur l’action à réaliser. Le code de fonction ”0” n’est pas valide. Des sous-codes de
fonction sont ajoutés à certains codes de fonction pour définir plusieurs actions possibles.
Le champ de données des messages envoyés d’un client à un serveur contient des informations supplémentaires
que le serveur utilise pour exécuter l’action définie par le code de fonction. Ces informations peuvent
inclure des éléments comme les adresses de sorties/discrètes et de registres, la quantité d’éléments à
traiter, et le nombre d’octets de données réels dans le champ.
Dans certains types de requêtes, le champ de données peut être inexistant (de longueur nulle), ce qui
signifie que le serveur n’a besoin d’aucune information supplémentaire. Dans ce cas, seul le code de
fonction spécifie l’action à réaliser.
Si aucune erreur n’est détectée lors de l’exécution de la fonction MODBUS demandée dans une unité
de données MODBUS correctement reçue, le champ de données de la réponse du serveur contient les
données demandées. Si une erreur survient lors de l’exécution de la fonction MODBUS demandée, le
champ contient un code d’exception que l’application serveur utilise pour déterminer l’action à entre-
prendre.
Lorsque le serveur répond au client, il utilise le champ du code de fonction pour indiquer soit une
réponse normale (sans erreur), soit qu’une erreur s’est produite (appelée réponse d’exception). Dans
le cas d’une réponse normale, le serveur renvoie simplement le code de fonction original de la requête.
23
Figure 3.3 – Transaction sans erreur.
Pour une réponse d’exception, le serveur renvoie un code qui est équivalent au code de fonction
d’origine de la requête, mais avec son bit le plus significatif (le bit le plus à gauche) mis à 1 (logique
1).
Cela permet d’indiquer que la réponse n’est pas une réponse normale, mais une exception, signalant
ainsi un problème ou une erreur lors de l’exécution de la fonction demandée.
II Liaison RS232
II.1 Définition
La norme RS-232 (Recommended Standard 232) a été définie en 1969 par l’EIA (Electronic In-
dustries Alliance) pour le but de l’interfaçage d’équipements DTE (Data Terminal Equipment) et
d’équipements DCE (Data Circuit Equipment) en utilisant l’échange série de données binaires.
L’interface RS 232 spécifie la méthode de connexion de deux équipements DTE et DCE. Un équipement
DCE (Modem) reçoit les données provenant du DTE (PC ou imprimante) et les fait transmettre à un
autre DCE via un support de communication comme le téléphone.[5]
Les liaisons RS-232 sont fréquemment utilisées dans l’industrie pour connecter différents appareils
électroniques (automate, appareil de mesure, etc.)
24
Figure 3.5 – Connecteur femelle DB-9 (gauche) et Connecteur mâle DB-9 (droite).[5]
II.2 Caractéristiques
La connexion RS232 est dite liaison série et de type asynchrone :
▼ Une liaison série fonctionne en envoyant des données un bit à la fois sur un seul canal, de manière
séquentielle. À l’inverse, une liaison parallèle transmet plusieurs bits simultanément sur plusieurs
canaux. Dans la liasion série limitant le nombre de fils de transmission par rapport à des liaisons
parallèles.
▼ La transmission asynchrone est une méthode de transfert de données dans laquelle les données sont
envoyées par l’expéditeur au récepteur à l’aide de la méthode de contrôle de flux. Elle est également
connue sous le nom de transmission start/stop.
Les connecteurs DB-9 ont rapidement remplacé les DB-25, pour des raisons de taille de connecteur
et d’économie de câblage, tous les signaux n’étant pas indispensables à la communication.
Voici la signification des broches du connecteur DB9 :
• GND : (Ground) la masse. Référence nécessaire à toute mesure de tension.
25
• RxD : (Received Data) Données reçues.
• TxD : (Transmitted Data) Données émises.
• RTS : (Request to Send) Indique que le DTE est prêt à émettre.
• CTS : (Clear to Send) Indique que le DCE est prêt à recevoir.
• DSR : (Data Set Ready) Indique que le DCE écoute sa liaison RS-232.
• DTR : (Data Terminal Ready) Indique que le DTE (PC) écoute la liaison RS-232.
• DCD :(Data Carrier Detect, aussi nommée RLSD : Receive Line Signal Detect) Indique Détection
d’un signal sur la ligne.
Les informations à transmettre sont envoyés bit par bit (poids faible en premier) par l’émetteur
sur la ligne TxD, vers le récepteur (ligne RxD) qui le reconstitue.
— Bit de start et bit de stop : Indiquent le début et la fin du mot transmis. Le bit de start
a un niveau logique ”0” tandis que le bit de stop est de niveau logique ”1” et ce dernière
généralement 1 ou 2 bits.
— Bit de parité : Ajouté pour détecter les erreurs de transmission.
— Parité paire : Le bit ajouté à la donnée est positionné de telle façon que le nombre des
états 1 soit pair sur l’ensemble {données + bit de parité}.
— Parité impaire : Le bit ajouté à la donnée est positionné de telle façon que le nombre des
états 1 soit impair sur l’ensemble {données + bit de parité}.
26
— Mot : mot transmis de 5,6 7 ou 8 bits.
27
Chapitre 4
Programmation et la supervision de la
plate-forme sous TIA PORTAL
Introduction
Quand un système est décrit comme automatisé, cela indique que le passage d’un état initial à un
état final s’effectue sans intervention humaine, et que ce processus se reproduit systématiquement dès
que les conditions spécifiques de l’état initial sont réunies.
Dans ce chapitre, nous présenterons de façon générale les automates programmables, en insistant plus
spécifiquement sur l’automate S7-1200 de Siemens, qui a servi de base à notre travail, aussi la mise en
place d’une supervision à l’aide de la plateforme Node-RED, permettant de surveiller et d’interagir en
temps réel avec le processus automatisé.
28
I.2 Présentation de l’automate
L’architecture des automates programmables industriels est structurée de la manière suivante :
• Un module d’unité centrale (CPU) qui assure le traitement de l’information et la gestion de toutes
les unités. Ce module comprend un microprocesseur, des circuits périphériques pour la gestion des
entrées/sorties, ainsi que des mémoires RAM et EEPROM pour le stockage des programmes, des
données et des paramètres de configuration du système.
• Un module d’alimentation fonctionnant avec une tension de 220V/50Hz.
• Des modules d’entrées et de sorties, ou des entrées sorties en même temps, qu’ils soient numériques
ou analogiques. Ils sont utilisés pour transmettre les signaux de commande à la partie opérative, ou
inversement.
• Des modules de communication.
29
• La capacité de traitement du processeur.
• Le nombre d’entrées/sorties.
• La nature des entrées/sorties, qu’elles soient numériques, analogiques ou booléennes.
• La fiabilité.
• La durée de garantie.
II Description logicielle
30
II.1 Description du logiciel TIA Portal V15.1
Le TIA Portal (Portal d’Automatisation Totalement Intégrée) est une plateforme de Siemens qui
repose sur un environnement de développement intégré (IDE) pour programmer et paramétrer ses
systèmes. Il englobe l’automatisation industrielle, incluant les automates programmables, les systèmes
d’entraı̂nement et divers autres équipements.
La version employée dans notre projet est TIA Portal V15.1. En plus des automates, cet outil
permet de programmer et de configurer d’autres dispositifs Siemens, tels que les interfaces homme-
machine (HMI), les systèmes de sécurité, ainsi que les capteurs et les actionneurs.
La balance industrielle utilisée dans notre système transmet le poids en temps réel via une liaison
série RS232. Pour permettre cette communication avec le S7-1200, nous avons utilisé un module
d’extension CM 1241 (RS232), connecté à l’automate.
31
Configuration des paramètres de communication pour ce module a travers le bloc PORT CFG :
32
Figure 4.6 – Chars TO String.
Pour permettre la supervision et le contrôle à distance via l’interface développée sous Node-RED,
nous avons mis en place une communication Modbus TCP/IP. L’automate Siemens S7-1200 agit ici
comme serveur Modbus, tandis que l’interface Node-RED agit comme client Modbus.
33
Figure 4.8 – Le bloc MB SERVER.
Ce bloc permet de :
• Accepter une connexion d’un client Modbus TCP.
• Répondre aux requêtes Modbus telles que : lecture de registres ou bien écriture dans les registres.
Les paramètres d’entrées du bloc MB SERVER :
— DISCONNECT : contrôle la connexion, si 0 accepte les connexions entrantes sinon déconnecte
les clients actifs.
— MB HOLD REG : : zone mémoire utilisée pour stocker les valeurs échangées avec le client.
— CONNECT : structure contenant les paramètres de connexion.
Le type du structure de connect et de type TCON IP v4, ce type une donnée système qui décrit les
paramètres de connexion TCP de l’automate.
34
Figure 4.9 – Le data bloc du modbus server.
Interface :
L’interface graphique comprend :
— Une TrackBar permettant de simuler la variation du poids (de 0 à 100 kg).
35
— Un Label affichant le poids sélectionné.
— Des ComboBox pour configurer les paramètres de communication (port COM, baud rate, parité,
bits de données, bits de stop).
— Des boutons pour :
— Ouvrir ou fermer la connexion série.
— Envoyer manuellement le poids courant.
— Activer un envoi automatique périodique.
— Une ComboBox pour sélectionner l’intervalle d’envoi automatique.
Fonctionnalités :
— Configuration RS232 complète avec choix dynamique des ports disponibles.
— Envoi manuel ou périodique du poids.
IV Programmation de la machine
IV.1 Tables de variables
Les tables suivantes contiennent les entrées et les sorties du système avec leurs types et adresses :
36
Figure 4.12 – Tableau des variables de sortie.
37
Figure 4.15 – Procédure du chargement du programme dans l’API 1.
38
Figure 4.17 – Procédure du chargement du programme dans l’API 3.
39
Le ladder de notre plateforme est signalé dans les annexes.
Node-RED est un environnement de développement visuel open-source conçu à l’origine par IBM.
Il est basé sur une approche orientée ≪ flux de données ≫ (flow-based programming), où l’utilisateur
conçoit des applications en assemblant des blocs fonctionnels appelés nœuds. Ces nœuds sont inter-
connectés pour former un flux de traitement, permettant ainsi la collecte, le traitement, et l’affichage
des données en temps réel.
40
• Interopérabilité : Compatible avec de nombreux systèmes industriels (automates, capteurs, pla-
teformes cloud).
Node-RED est utilisé comme interface de supervision entre l’automate Siemens S7-1200 et le
terminal utilisateur. L’automate envoie les données de processus (état machine, pesée, alarmes...) via
un protocole de communication Modbus TCP/IP, que Node-RED intercepte et affiche sous forme
graphique.
L’architecture générale est la suivante :
Cette interface est simple et contient un bouton unique permettant à l’utilisateur de se connecter.
L’objectif étant de diriger l’utilisateur vers la page de connexion où ses identifiants seront vérifiés
avant d’accéder aux fonctionnalités du système.
41
Figure 4.23 – Flow d’accueil sur Node-RED.
Afin de sécuriser l’accès aux différentes interfaces du Dashboard, nous avons mis en place un flow
de connexion (login).
Le processus repose sur l’interface graphique du Dashboard, permettant à l’utilisateur de saisir ses
identifiants via un formulaire.
42
Figure 4.25 – Flow de login sur Node-RED.
▶Fonctionnement du flow :
• form : permet de collecter les identifiants (username, password).
• function 5 et 6 : contiennent le code JavaScript de vérification. Ils comparent les identifiants saisis
avec une base pré-définie.
• set [Link] : formate la réponse selon le résultat (succès, échec, rôle).
• show dialog / notification : affiche un message à l’utilisateur .
• ui control : redirige vers la vue correcte du Dashboard en fonction du rôle de l’utilisateur.
43
V.2.3 Flow de supervision
Le flow principal de supervision constitue l’élément central de la gestion de l’installation via l’envi-
ronnement Node-RED. Il permet d’assurer une interface homme-machine (IHM) interactive et réactive.
Le système repose sur le protocole industriel Modbus TCP et S7comm pour l’échange d’informations
avec les équipements.
▶Fonctionnement du flow :
• modbus-write : Écrivant des valeurs de paramètres saisis par l’utilisateur(poids demandé de cha-
cune du couleur).
• s7comm : :read : Lire des bits depuis l’automate pour afficher l’état du chaque pompe et les vannes.
• s7comm : :write : Écrit un bit dans l’automate Siemens pour passer une commande et start du
processus et le mélange.
• ui led :Affiche l’état des pompes et les vannes.
• function 33, 34,35,36,37,38,39,40,41,42,43,44,45,46,47 : Convertit les valeurs qui arrivent
depuis s7comm : :read en booléen pour la LED
44
Figure 4.28 – Vue supervision sur le dashboard.
Le flow des alarmes a pour objectif de signaler en temps réel tout événement anormal comme stock
vide ou une absence du seau. Grâce à l’intégration de notifications visuelles.
▶Fonctionnement du flow :
• ui led :Une LED affiche l’état du stock de chaque couleur.
• ui gauge : Affiche une jauge pour visualiser le niveau du stock de chaque couleur (en kg).
45
• modbus-read : Lit la valeur du stock de chaque couleur depuis un registre Modbus (adresse xx).
• filtre : Filtre les données pour ne transmettre que les changements de valeur du stock de chaque
couleur (envoie un message uniquement si la valeur change).
• function 9,10 et 11 : Vérifie si le stock de chaque couleur est inférieur à 10. Si oui, envoie une
alerte.
• function 4,30 et 31 : Convertit la valeur du stock de chaque couleur en booléen pour la LED
• ui toast :Affiche une notification pop-up pour l’alerte de stock de chaque couleur.
• autre led qui affiche l’état de détection d’un seau (absent ou présent).
• s7comm : :read : Lit un bit depuis l’automate pour détecter la présence d’un seau.
• inject : Déclenche la lecture S7 toutes les 1 seconde.
• function 28 : Traite la valeur lue par S7 pour la LED ”Seau Absent”.
• autre ui toast qui affiche une notification pour pour l’absence du seau.
Le flow des réglages permet à l’utilisateur de modifier et de valider certains paramètres du système,
notamment les seuils d’ouverture des vannes et le poid de seau.
46
Figure 4.31 – Flow de réglage sur Node-RED.
▶Fonctionnement du flow :
• modbus-write : Écrivant des valeurs de paramètres saisis par l’utilisateur (poids de la petite
ouverture, poids des petites pulsations, et poids du seau) dans des registres spécifiques (adresses 24,
25, et 26).
• ui text input :Champ de saisie dans l’interface utilisateur pour entrer les trois paramètres.
• s7comm : :write :Écrit un bit dans l’automate Siemens S7 pour valider les paramètres saisis.
• ui button : Bouton dans l’interface utilisateur pour valider les paramètres saisis.
• function 2 : Formate la valeur booléenne du bouton pour qu’elle soit compatible avec le nœud
S7Comm.
• modbus-client :Configuration du client Modbus pour communiquer avec le serveur S7-1200.
47
Conclusion
En résumé de ce chapitre, nous avons élaboré l’ensemble des programmes que nous avons implémentés
dans l’automate S7-1200 en utilisant le langage LADDER. Cette partie a été complétée par la création
des interfaces de supervision.
48
Conclusion générale
Le projet que nous avons réalisé au sein de l’entreprise Tec Forge, intitulé ≪ Contrôle et commande
d’une machine de production d’encre ≫ , est arrivé à son terme. Cette opportunité nous a permis de
nous pencher sur un sujet captivant et en parfaite adéquation avec notre formation d’élèves ingénieurs
en génie électrique.
Nous avons utilisé un ensemble d’outils d’analyse et de modélisation pour les systèmes industriels.
L’analyse fonctionnelle initiale a été essentielle pour définir précisément les besoins et contraintes du
projet. Grâce aux outils GEMMA et GRAFCET, nous avons structuré les comportements du système.
La maı̂trise des protocoles de communication industriels, comme Modbus TCP/IP, a assuré une
interconnexion fiable entre les différents équipements.
Parallèlement, l’interface web développée sous Node-RED a permis de proposer une solution mo-
derne pour le suivi en temps réel du processus.
Ce projet nous a offert une opportunité précieuse de mettre en pratique nos connaissances académiques
dans un contexte industriel concret, en renforçant notre autonomie, notre esprit d’analyse et nos
compétences en ingénierie des systèmes automatisés.
En conclusion, ce travail représente pour nous une expérience professionnelle enrichissante qui
constitue une base solide pour nos futures carrières d’ingénieurs en génie électrique et en automatisa-
tion industrielle
49
Bibliographie
50
Annexes
Bloc main
51
52
53
54
Initialisation
55
Circuit de rouge
56
57
Circuit de verte
58
59
Circuit de bleu
60
61
Circuit de mélange
62
Circuit de paraméter
63
Circuit d’alarme
64