TIA Portal
Programmer, tester et mettre en service

Module 2 / 3  · Sommaire complet

Module 2 : Programmer et tester 25 min de lecture

2.3 Compiler, charger, simuler avec PLCSIM et visualiser en ligne

Un programme écrit n'est pas un programme qui tourne. Entre les deux : la compilation, le chargement dans une CPU réelle ou simulée, puis le test en ligne. C'est aussi le moment où l'on quitte l'écran pour agir sur une machine : forcer une sortie, c'est mettre en mouvement un actionneur. Ce chapitre donne les gestes et les règles qui vont avec.

Le cycle de mise au point d'un programme

Compiler
erreurs et avertissements
Simuler
Ctrl+Shift+X
Charger
Ctrl+L
En ligne
Ctrl+K
Visualiser et tester
Ctrl+T, tables
1

Compiler : vérifier avant de charger

La compilation traduit le programme et la configuration du matériel en données chargeables dans la CPU, et vérifie au passage leur cohérence : variables non déclarées, types incompatibles, appels de blocs aux paramètres manquants, configuration matérielle invalide. On la lance depuis le menu contextuel de la CPU dans l'arbre du projet ou depuis la barre d'outils ; elle peut porter sur le logiciel, sur le matériel, ou sur les deux.

Le résultat s'affiche dans la fenêtre d'inspection, en bas de la vue du projet, sous forme de liste de messages. Deux niveaux à distinguer :

Erreur

Bloquante : le bloc ou la configuration ne peut pas être chargé tant qu'elle n'est pas corrigée.

Avertissement

Non bloquant, mais à lire : une variable jamais utilisée, une conversion implicite, un paramètre non câblé peuvent cacher un vrai défaut.

Réflexe utile : corrigez toujours la première erreur de la liste d'abord. Une variable mal déclarée en haut d'un bloc produit souvent une cascade de messages qui disparaissent d'un coup. Pour retrouver une variable fautive, la recherche (Ctrl+F) et les références croisées (Shift+Alt+F11) vont plus vite que la lecture de tous les réseaux.

2

Simuler avec S7-PLCSIM : tester sans matériel

S7-PLCSIM simule une CPU sur le PC. La documentation de l'éditeur précise qu'il est entièrement intégré à TIA Portal mais utilisable uniquement avec certains appareils : le bouton de simulation n'est actif que si l'appareil sélectionné la prend en charge, et certains appareils simulés nécessitent une interface virtuelle pour communiquer.

  1. sélectionner la CPU dans l'arbre du projet ;
  2. démarrer la simulation (Ctrl+Shift+X) ;
  3. charger le programme dans la CPU simulée, comme dans une vraie CPU ;
  4. passer la CPU simulée en RUN ;
  5. agir sur les entrées depuis une table de visualisation et observer les sorties.

Avec l'exemple du chapitre 2.2 : on met BP_Arret et Thermique_OK à 1 (état de repos d'un contact NF), on passe BP_Marche à 1 puis à 0, et l'on vérifie que Moteur_KM1 reste à 1. Puis on met BP_Arret à 0 : le moteur doit s'arrêter. On teste enfin le cas qui compte : Thermique_OK à 0 pendant la marche.

Le plus sûr est d'écrire ce plan de test avant de lancer la simulation, puis de cocher chaque ligne :

#Action dans la table de visualisationRésultat attendu
1BP_Arret = 1, Thermique_OK = 1 (repos)Moteur_KM1 = 0
2BP_Marche = 1 puis 0Moteur_KM1 = 1 et y reste (auto-maintien)
3Attendre 5 sVoyant_Pret = 1 (temporisation TON)
4BP_Arret = 0Moteur_KM1 = 0, Voyant_Pret = 0
5BP_Marche et BP_Arret actionnés en même tempsMoteur_KM1 = 0 : l'arrêt est prioritaire
6En marche, Thermique_OK = 0Moteur_KM1 = 0, pas de redémarrage seul au retour à 1
Ce que la simulation ne voit pas : le câblage réel, un capteur mal réglé, le temps de réponse d'un contacteur, une inertie mécanique, un défaut d'alimentation. Elle valide la logique, pas la machine. La mise en service réelle reste une étape à part entière.
3

Charger dans la CPU

Le chargement transfère les données compilées du projet vers la CPU : Ctrl+L, « charger les données du projet dans l'appareil ». Avant le premier chargement, TIA Portal doit trouver la CPU sur le réseau : Ctrl+U affiche les abonnés accessibles depuis l'interface PG/PC choisie (carte réseau du PC reliée au PROFINET de la CPU). L'adresse IP réglée dans le projet (voir le chapitre 1.2) doit être joignable depuis le PC.

Avant le transfert, une boîte de dialogue récapitule ce qui va se passer et les actions nécessaires, par exemple l'arrêt de la CPU pour certains changements. Cette boîte se lit : c'est le dernier moment où l'on découvre qu'un chargement va arrêter une machine. Après chargement, on repasse la CPU en RUN (Ctrl+Shift+E) ou on la met en STOP (Ctrl+Shift+Q) depuis le logiciel, liaison en ligne établie.

Si la CPU n'apparaît pas dans les abonnés accessibles, les causes les plus fréquentes sont matérielles ou réseau avant d'être logicielles : mauvaise carte réseau sélectionnée comme interface PG/PC, câble ou commutateur, PC et CPU dans deux sous-réseaux IP différents. Le chapitre 3.2 reprend ces diagnostics pas à pas.

Sur une machine en service, un chargement ne se fait jamais « en passant » : accord du responsable de l'installation, machine amenée dans un état sûr, sauvegarde du programme en place et retour arrière prévu. Un passage en STOP fait passer les sorties à l'état prévu pour le STOP (le plus souvent coupées) ; un redémarrage relance des mouvements.
— Publicité —
4

En ligne : visualiser le programme qui tourne

Ctrl+K établit la liaison en ligne avec la CPU, Ctrl+M la coupe. En ligne, TIA Portal compare le projet du PC à ce que contient la CPU et le signale par des symboles dans l'arbre du projet : c'est ainsi que l'on repère un bloc modifié sur le PC mais pas encore chargé, ou l'inverse. La vue En ligne & diagnostic (Ctrl+D) donne l'état de la CPU et ses messages de diagnostic.

ActionRaccourciEffet sur la machine
Établir la liaison en ligneCtrl+KAucun
Afficher l'état du programme dans l'éditeurCtrl+TAucun : lecture seule
Vue En ligne & diagnosticCtrl+DAucun
Démarrer / arrêter la CPUCtrl+Shift+E / Ctrl+Shift+QOui : mouvements relancés ou sorties mises à l'état de STOP
Charger dans l'appareilCtrl+LOui : programme remplacé, arrêt possible
Couper la liaisonCtrl+MAucun, mais les forçages restent actifs

L'état du programme (Ctrl+T) colore en direct les contacts et les chemins passants d'un réseau CONT ou LOG, et affiche les valeurs en SCL. C'est l'outil de dépannage n°1 : pourquoi le moteur ne démarre pas ? On regarde quel contact du réseau reste ouvert, puis on remonte la cause sur le terrain.

La méthode de dépannage en quatre temps

  1. Observer : ouvrir le réseau qui pilote la sortie en défaut et afficher l'état du programme.
  2. Localiser : repérer le premier contact ouvert ou la condition fausse sur le chemin.
  3. Remonter : suivre cette variable jusqu'à sa source (références croisées), entrée physique, autre bloc ou DB.
  4. Vérifier sur le terrain : capteur, câblage, alimentation, avec les précautions de la zone 6 ci-dessous, avant de toucher au programme.
5

Table de visualisation et table de forçage permanent

Attention au vocabulaire de la version française : dans la table de visualisation, « forcer » une variable signifie lui donner ponctuellement une valeur, que le programme peut réécrire au cycle suivant. La table de forçage permanent fait autre chose : elle impose une valeur à une entrée ou à une sortie de périphérie, et cette valeur prime sur celle du programme.

Table de visualisationTable de forçage permanent
Ce qu'elle viseVariables du programme (entrées, sorties, DB…)Entrées et sorties de périphérie uniquement (suffixe :P ajouté automatiquement)
Durée de l'effetPonctuelle : le programme peut réécrire la valeurPermanente : la valeur forcée remplace celle lue ou écrite par le programme
Où c'est stockéAction instantanéeDans la CPU, pas dans la table
Après fermeture du logicielPlus rien n'agitLe forçage reste actif jusqu'à son annulation
Raccourcis dans l'éditeurCtrl+Shift+1 (à 1), Ctrl+Shift+9 (à 0), Ctrl+Shift+2 (valeur)Depuis la table dédiée

Trois précisions du manuel S7-1200 à connaître :

  • si un programme est transféré par carte mémoire, les forçages présents sur la carte sont transférés dans la CPU ;
  • on ne peut pas lancer ou modifier un forçage quand la CPU exécute son programme depuis une carte mémoire protégée en écriture ;
  • tant que des entrées ou sorties sont forcées, la CPU n'autorise pas l'activation des sorties en STOP, et le manuel rappelle que même CPU en STOP, activer une sortie physique peut actionner le point du process auquel elle est reliée.
Le forçage oublié est un piège redoutable : l'intervenant ferme son PC, part, et la sortie reste imposée dans la CPU. Le technicien suivant cherche pendant des heures pourquoi la machine ne réagit pas au programme, ou pire, pourquoi un actionneur bouge alors que rien ne le commande. On annule tous les forçages avant de quitter l'installation.
— Publicité —
6

Les règles qui protègent les personnes

Un clic dans TIA Portal peut démarrer un convoyeur, fermer une presse ou ouvrir une vanne. Les gestes en ligne sur une machine réelle obéissent donc à des règles non négociables, qui passent avant toute urgence de production.

Zone dégagée. Avant de forcer une sortie ou de modifier une variable qui commande un mouvement, s'assurer que personne n'est dans la zone concernée.
Accord et état sûr. Pas de chargement, de passage en STOP ou de forçage sur une machine en service sans l'accord du responsable et sans l'avoir amenée dans un état sûr.
Fonctions de sécurité hors programme standard. Arrêt d'urgence, protecteurs, barrières immatérielles relèvent de parties de commande relatives à la sécurité (EN ISO 13849-1, IEC 62061), jamais d'un réseau de l'OB1.
Forçages annulés. Avant de partir, annuler tous les forçages permanents et vérifier qu'il n'en reste aucun actif dans la CPU.

Et quand il faut ouvrir l'armoire

Le diagnostic mène souvent à l'armoire électrique : mesurer une tension, vérifier un bornier, remplacer un module d'entrées. Ce n'est plus du logiciel, c'est une opération sur une installation électrique. Elle est réservée aux travailleurs habilités (article R4544-9 du Code du travail), l'habilitation étant délivrée par l'employeur (R4544-10). La formation Habilitation électrique BT détaille les symboles et les limites de chaque titre.

Toute intervention qui expose à une énergie dangereuse (électrique, pneumatique, hydraulique, mécanique) commence par la consignation : voir la formation Consignation LOTO et le générateur de permis de consignation. Mettre la CPU en STOP n'est pas une consignation : c'est un état logiciel, qui ne sépare aucune énergie.

7

Tracer la modification et rendre la main

Une mise au point se termine par une remise en ordre, aussi importante que la modification elle-même :

  1. Vérifier en ligne que le projet du PC et la CPU sont identiques (plus aucun bloc signalé différent).
  2. Annuler les forçages et fermer les tables de visualisation qui modifiaient des valeurs.
  3. Commenter les réseaux modifiés et l'en-tête des blocs touchés : quoi, pourquoi, qui, quand.
  4. Archiver le projet (archive compressée .zap suivie du numéro de version) et la ranger là où l'équipe la retrouvera (voir le chapitre 3.3).
  5. Informer le responsable et l'équipe suivante de ce qui a changé et de ce qui a été testé.
Une modification non archivée n'existe que dans une CPU. Le jour où la carte ou la CPU est remplacée, elle disparaît, et avec elle les heures de mise au point.

Puis-je forcer cette sortie ? L'arbre de décision

1. Suis-je en simulation (S7-PLCSIM) ?
Oui : je peux tester librement. Non : question 2.
2. Le responsable a-t-il donné son accord et la machine est-elle dans un état sûr ?
Non : je ne force pas. Oui : question 3.
3. La zone du mouvement est-elle dégagée et surveillée ?
Non : je ne force pas. Oui : question 4.
4. La sortie touche-t-elle une fonction de sécurité ?
Oui : je ne force pas, cela relève de la sécurité machine. Non : je force, je note, j'annule avant de partir.
Un seul « non » bloque
Tout « oui » : forçage tracé

Sources

  • Documentation TIA Portal : fonctions en ligne et raccourcis clavier, simulation d'appareils avec S7-PLCSIM, test avec la table de visualisation et la table de forçage permanent — docs.tia.siemens.cloud
  • Manuel système S7-1200, forçage des variables dans la CPU et activation des sorties en STOP — support de l'éditeur
  • Code du travail, art. R4544-9 et R4544-10 (habilitation électrique) — Légifrance
  • EN ISO 13849-1 et IEC 62061 (parties de commande relatives à la sécurité des machines)

À retenir

  • La compilation vérifie le programme et la configuration ; les messages s'affichent dans la fenêtre d'inspection, en commençant par la première erreur.
  • S7-PLCSIM (Ctrl+Shift+X) valide la logique sans matériel, sur les appareils compatibles, mais pas la machine réelle.
  • Ctrl+L charge, Ctrl+K / Ctrl+M passent en ligne / hors ligne, Ctrl+T affiche l'état du programme.
  • Les valeurs de forçage permanent sont stockées dans la CPU et restent actives après la fermeture du logiciel, jusqu'à leur annulation.
  • Sur une machine réelle : accord du responsable, état sûr, zone dégagée avant tout forçage, chargement ou passage en STOP.
  • Les fonctions de sécurité ne passent pas par le programme standard ; ouvrir l'armoire exige une habilitation délivrée par l'employeur et la consignation.