Programmation TIA Portal

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 50

CSI

PROGRAMMATION
TIA PORTAL

Copyright Gilles TARDY Page 1 TIA Portal Siemens


Edition Septembre 2021
Table des matières

1. Création Projet ................................................................................................................................ 4


2. Structure du programme, les différents blocs ............................................................................... 9
Les blocs d’organisation (OB) .............................................................................................................. 9
Les blocs fonctionnels (FB) ................................................................................................................ 11
Les Fonctions (FC) .............................................................................................................................. 11
Les blocs de données (DB)................................................................................................................. 11
3. Insertion d’un bloc de programme dans un projet :.................................................................... 12
4. Variables et formats : ................................................................................................................... 15
5. Opérations logiques sur bits :....................................................................................................... 17
Exercice : Le télérupteur .................................................................................................................... 23
Exercice : Alarme programmée ......................................................................................................... 24
6. Les temporisations........................................................................................................................ 25
Temporisation TP (Time Pulse, Impulsion temporisée) .................................................................... 25
Temporisation TON (Retard à la montée) ......................................................................................... 25
Temporisation TOF (Retard à la retombée). ..................................................................................... 26
Temporisation TONR (accumuler temporisation) ............................................................................. 26
Mise en œuvre d’une temporisation: ............................................................................................... 27
Temporisations sous formes de bobines :......................................................................................... 28
Exercice : Clignotement astable ........................................................................................................ 29
Exercice : Gestion barrière de passage à niveau, le grafcet. ............................................................. 30
7. Opérations sur nombres entiers et réels ..................................................................................... 31
Transfert : opération MOVE .............................................................................................................. 31
Fonctions mathématiques ................................................................................................................. 32
Opérations de comparaisons ............................................................................................................ 32
Opérations de conversion ................................................................................................................. 33
Exemple d’application : mise à l’échelle d’une entrée et d’une sortie analogiques......................... 35
Exercice : Conditionnement d’œufs .................................................................................................. 36
8. Les Blocs de données (DB) ............................................................................................................ 37
DB Globaux ........................................................................................................................................ 37
Création d’un bloc de données global............................................................................................... 38
Programmation d’une donnée en adressage symbolique (adressage optimisé) .............................. 41
DB d’instance ..................................................................................................................................... 42
Exercice : Le chronomètre ................................................................................................................. 43
9. Déclaration de mémoire rémanente............................................................................................ 44
Blocs de données rémanents ............................................................................................................ 46
Copyright Gilles TARDY Page 2 TIA Portal Siemens
Edition Septembre 2021
Mémoire occupée ............................................................................................................................. 46
10. Mode Simulation .......................................................................................................................... 47
Mode opératoire : ............................................................................................................................. 47
11. Exercices ........................................................................................................................................ 49
Chaine de manutention et de traitement ......................................................................................... 49
Process de remplissage et mélangeur ............................................................................................... 50

Copyright Gilles TARDY Page 3 TIA Portal Siemens


Edition Septembre 2021
1. Création Projet
1- Cliquer sur « Créer un projet »

2- Donner un nom puis cliquer sur « Créer »

3- Cliquer sur « Ouvrir la vue du Projet »

Copyright Gilles TARDY Page 4 TIA Portal Siemens


Edition Septembre 2021
4- Cliquer sur « Ajouter un appareil »

Puis choisissez la CPU qui correspond à votre installation.

5- Paramétrage du port Ethernet

Cliquer sur « Interface PROFINET »


Puis Cliquer sur « Adresses Ethernet »
Puis Saisir le masque de sous-réseau et l’adresse IP

Copyright Gilles TARDY Page 5 TIA Portal Siemens


Edition Septembre 2021
6- Paramétrage des mémentos systèmes et de cadence

Cliquer sur Interface « Mémentos systèmes et de cadence »


Sélectionner et adresser les mémentos systèmes
Idem pour les mémentos de cadence

Copyright Gilles TARDY Page 6 TIA Portal Siemens


Edition Septembre 2021
7- Implantation et adressage des cartes externes

Cliquer sur l’emplacement concerné (à droite de la CPU pour les cartes d’entrées-
sorties)
Sélectionner la carte
Modifier si nécessaire son adressage
(Les emplacements à gauche de la CPU sont réservés aux cartes de communication).

Adressage par défaut


Lors de la mise en place d’une CPU ou d’un module de signaux, le logiciel lui affecte des adresses par
défaut. La modification de ces adresses est fortement déconseillée dans la mesure où lors d’un
transfert API vers PC le logiciel réaffecte systématiquement les adresses par défaut.
Copyright Gilles TARDY Page 7 TIA Portal Siemens
Edition Septembre 2021
8- Assignation des entrées – sorties

On peut affecter d’ores et déjà la fonction de chaque entrée et sortie si on la connait.


Cette fonction d’assignation est également réalisable lors de la saisie d’une variable en cours de
programmation ou alors directement dans la Table des Variables (Chapitre XXX).

9- Enregistrement et transfert dans l’API

- Enregistrer
- Transférer
- Sélectionner « PN/IE » en mode de transfert
- Sélectionner la carte Ethernet du PC
- Cliquer sur « partenaires accessibles » si aucun automate n’est présenté
- Sélectionner l’automate concerné (si l’automate est en « paramétrage
usine », seule son adresse MAC apparait)
- Cliquer sur « Charger »

Copyright Gilles TARDY Page 8 TIA Portal Siemens


Edition Septembre 2021
2. Structure du programme, les différents blocs

Les blocs d’organisation (OB)

OB de cycle MAIN (OB1)

Vous programmez le traitement cyclique du programme en écrivant votre programme utilisateur dans
les OB cycliques et dans les blocs qui y sont appelés.

Le premier traitement cyclique du programme commence dès que le programme de démarrage s'est
terminé sans erreur. A la fin de chaque traitement cyclique du programme, le cycle recommence.

Startup (OB100)

Le traitement des OB de démarrage est réalisé une fois, lorsque la CPU passe de STOP en RUN. Le
traitement de l'OB de démarrage est suivi de celui de l'OB cyclique.

Time Delay Interrupt (OB20)

Les OB d'alarme temporisée interrompent le traitement cyclique du programme après écoulement


d'un temps défini. Vous indiquez le temps de retard dans le paramètre d'entrée de l'instruction
étendue "SRT_DINT".

Cyclic Interrupt (OB30)

Les OB d'alarme cyclique permettent de démarrer des programmes indépendamment du traitement


cyclique du programme, dans des intervalles de temps périodiques. Vous pouvez définir ces intervalles
de temps dans cette boîte de dialogue ou dans les propriétés de l'OB.
Utilisé dès qu’on programme des asservissements PID.

Copyright Gilles TARDY Page 9 TIA Portal Siemens


Edition Septembre 2021
Time Error Interrupt (OB80)

Les OB d'erreur de temps interrompent le traitement cyclique du programme lorsque le temps de


cycle maximum est dépassé. Vous définissez le temps de cycle maximum dans les propriétés de la
CPU.

Diagnostic Error Interrupt (OB82)

Les OB d'alarme de diagnostic interrompent le traitement cyclique du programme lorsque le module


pour lequel l'alarme de diagnostic a été activée détecte une erreur.

Pull or plug of modules (OB83)

Un OB de débrochage/enfichage est appelé après le débrochage ou l'enfichage d'un module


configuré.

Rack or station failure (OB86)

Un OB de défaillance de châssis est appelé, par exemple, en cas de défaillance d'un châssis ou d'une
station pour la périphérie décentralisée.

Time of day (OB10)

Les OB d'alarmes horaires sont déclenchés une fois à une heure précise ou périodiquement.
Paramétrage de l’OB10 :
"Heure locale" : L'heure de déclenchement se rapporte au fuseau horaire défini pour la CPU.
"Heure système" : L'heure de déclenchement se rapporte au temps universel coordonné UTC.

Penser à compiler le projet avant de transférer l’OB 10 modifié.

Status (OB55)

Le système d'exploitation appelle l'OB d'alarme d'état lorsqu'il a reçu une alarme d'état. Cela peut être
le cas lorsqu'un module d'un esclave change son mode de fonctionnement.

Copyright Gilles TARDY Page 10 TIA Portal Siemens


Edition Septembre 2021
Update (OB56)

Le système d'exploitation appelle l'OB d'alarme de mise à jour lorsqu'il a reçu une alarme de mise à
jour. Cela peut être le cas si vous avez modifié un paramètre relatif à l'emplacement d'un esclave ou
d'un appareil.

Profile (OB57)

Le système d'exploitation appelle l'OB spécifique à l'alarme du fabricant ou du profil lorsqu'il a reçu
une alarme spécifique au fabricant ou au profil.

Les blocs fonctionnels (FB)

Les blocs fonctionnels sont des blocs de code qui sauvegardent en permanence leurs valeurs dans
des blocs de données d'instance afin qu'il soit possible d'y accéder même après le traitement du bloc.

Les Fonctions (FC)

Les fonctions sont des blocs de code sans mémoire.

Les blocs de données (DB)

Les blocs de données (DB) servent à sauvegarder les données du programme.

Copyright Gilles TARDY Page 11 TIA Portal Siemens


Edition Septembre 2021
3. Insertion d’un bloc de programme dans un projet :
Cliquer sur « Blocs de Programmes »
Cliquer sur « Ajouter nouveau bloc »
Cliquer sur FC (Fonction)

Donner un nom et valider par OK

Choix du langage de
programmation :
CONT ou LOG

Numérotation du FC
manuelle ou
automatique.

Copyright Gilles TARDY Page 12 TIA Portal Siemens


Edition Septembre 2021
La fenêtre de saisie du premier réseau s’ouvre :

Choix du langage de
programmation :
CONT ou LOG

Insertion d’un contact NO dans une nouvelle équation :

Si on clique sur le point d’interrogation et qu’on saisit la première lettre d’une variable enregistrée
dans la table des variables, une boite de dialogue apparait :

Copyright Gilles TARDY Page 13 TIA Portal Siemens


Edition Septembre 2021
Clic sur la partie biaisée colorée d’un symbole pour ouvrir une boite de choix de diverses opérations :

Menu déroulant.

Copyright Gilles TARDY Page 14 TIA Portal Siemens


Edition Septembre 2021
4. Variables et formats :

Copyright Gilles TARDY Page 15 TIA Portal Siemens


Edition Septembre 2021
SINT= Nombres entiers sur 8 bits signés (-128 à +127)
USINT = Nombres entiers sur 8 bits non signés (0 à 255)
INT = Nombres entiers sur 16 bits signés (-32768 à +32767)
UINT= Nombres entiers sur 16 bits non signés (0 à 65535)
DINT= Nombres entiers sur 32 bits signés (-2 147 483 648 à +2 147 483 647)
UDINT= Nombres entiers sur 32 bits non signés (0 à 4 294 967 295)
LINT= Nombres entiers sur 64 bits signés (-9 223 372 036 854 775 808 à
9 223 372 036 854 775 807)
ULINT = Nombres entiers sur 64 bits non signés (0 à 18 446 744 073 709 551 615)

REAL= Nombre réel sur 32 bits.


LREAL= Nombre réel sur 64 bits.

Copyright Gilles TARDY Page 16 TIA Portal Siemens


Edition Septembre 2021
5. Opérations logiques sur bits :

Contact à fermeture :
Le résultat logique est à 1 si la valeur de l’opérande est à 1.

Copyright Gilles TARDY Page 17 TIA Portal Siemens


Edition Septembre 2021
Contact à ouverture :
Le résultat logique est à 1 si la valeur de l’opérande est à 0.

Inversion du RLG
Inversion du résultat logique d’une équation et affectation à l’opérande suivante.

Affectation

L'affectation copie le résultat logique (RLG) de l'opération précédente et l'assigne à


l'opérande suivante.

Une affectation ferme une séquence d'opérations logiques. Dans notre exemple, la sortie
Q4.0 est égale à 1 si l’entrée I0.0 est également à 1.

Copyright Gilles TARDY Page 18 TIA Portal Siemens


Edition Septembre 2021
Négation de l’affectation :

Inverse le résultat logique et affecte cette inversion à l’opérande indiquée.


Dans notre exemple, la sortie Q4.0 est égale à 1 si l’entrée I0.0 est à 0..

Mise à1 sortie
SET signifie « mise à 1 »
Cette instruction force une sortie à 1. Elle restera à 1 tant qu’on ne la remettra pas à zéro par
l’instruction RESET.

Mise à 0 sortie

RESET signifie « Mise à zéro ».


Cette instruction force à 0 l’opérande spécifiée.

Copyright Gilles TARDY Page 19 TIA Portal Siemens


Edition Septembre 2021
Bascule SR

Cette instruction est l’association des 2 instructions précédentes en une seule.


Notons qu’en cas d’action simultanée sur S et sur R, la dernière commande est prioritaire, donc le
Reset.
Dans l’exemple ci-dessous, les opérandes M0.1 et Q0.5auront le même état.

Même instruction sans affectation de la sortie Q de la bascule.

Bascule RS

Même principe avec SET prioritaire en cas d’appui simultané.

SETBF : Mise à 1 champ de bits

Cette instruction permet de mettre à 1 plusieurs bits contigus à partir d’une adresse déterminée.
On peut adresser des entrées (I), des sorties (Q) e des mémentos (M).
Il est également possible de traiter des bits dans un DB s’ils sont au format ARRAY[…] of BOOL.
Notons que le nombre de bits à mettre à 1 (8 dans notre exemple) est obligatoirement une
constante.

Copyright Gilles TARDY Page 20 TIA Portal Siemens


Edition Septembre 2021
RESETBF : Mise à 0 champ de bits

Même principe mais en remettant à zéro les bits visés.

Fronts montants :

« Capture » sur un tour de cycle du moment où une opérande passe de l’état « 0 » à l’état « 1 »
(exemple : on veut contrôler que l’opérateur appuie bien sur le BP « Acquittement » et non pas qu’il
ait coincé ce BP avec un gros tournevis. C’est arrivé).

Front montant d’un bit

Front montant d’un résultat logique

Copyright Gilles TARDY Page 21 TIA Portal Siemens


Edition Septembre 2021
Boite « Rising-trig » associée à un DB d’instance :

Dans l’exemple ci-dessous, le bit « M20.1 » passe à 1 sur un tour de cycle.


On peut l’utiliser où l’on veut dans le programme pour tester le front montant sur E0.1 (réseau 6).
Autre technique : on utilise non pas le bit Q (sortie boite R_TRIG) mais son équivalent généré dans le
DB d’instance (réseau 5).

Fronts descendants :

Même principe sauf que là on teste le moment où le bit ou le résultat logique passe de 1 à 0.

Copyright Gilles TARDY Page 22 TIA Portal Siemens


Edition Septembre 2021
Exercice : Le télérupteur

4 boutons-poussoir sont câblés sur les entrées I0.0 à I0.3.


A chaque appui sur l’un des 4 BP, la lampe cablée en Q0.0 change d’état (elle s’allume si elle était
éteinte et s’éteint si elle était allumée).

Copyright Gilles TARDY Page 23 TIA Portal Siemens


Edition Septembre 2021
Exercice : Alarme programmée

Choisissez dans les blocs d’organisations un OB qui permettra de déclencher l’alarme « A table ! »
tous les jours de la semaine à 12H00.
Cette alarme sera acquittée par un appui sur l’entrée I0.4.

Variante 1 : L’alarme sera visualise par le clignotement de la sortie Q0.1


Variante 2 : Un message s’affichera sur un pupitre IHM.

Copyright Gilles TARDY Page 24 TIA Portal Siemens


Edition Septembre 2021
6. Les temporisations

Nous disposons de 4 types de temporisation que nous trouvons dans le TaskCard


« Instructions » ->Instructions de base -> Temporisations

Temporisation TP (Time Pulse, Impulsion temporisée)

Principe :
Sur une impulsion ou une action prolongée sur l’entrée IN, la sortie Q passera à 1 le temps de
temporisation définie.

Temporisation TON (Retard à la montée)

Copyright Gilles TARDY Page 25 TIA Portal Siemens


Edition Septembre 2021
Principe : La sortie Q est mise à 1 après le temps prédéfini si l’entrée IN est maintenue.
La temporisation repart à zéro dès que l’entrée n’est plus activée.

Temporisation TOF (Retard à la retombée).

Principe : La sortie Q passe à 1 dès que l’entrée IN est activée.


Lorsque l’entrée IN repasse à 0, la sortie Q reste activée pendant le temps prédéfini.

Temporisation TONR (accumuler temporisation)

Principe : Cette temporisation fonctionne comme la TON (retard à la montée), sauf qu’ici, si
l’entrée retombe, le temps compté n’est pas remis à zéro et à la prochaine activation de
Copyright Gilles TARDY Page 26 TIA Portal Siemens
Edition Septembre 2021
l’entrée IN, on recommencera à attendre là où on était arrêté.
La temporisation et la sortie Q sont remises à zéro sur action sur l’entrée R (Reset).

Mise en œuvre d’une temporisation:

Cliquer sur le type de temporisation voulu et faire glisser cette temporisation sur le réseau.

Une boite de dialogue apparait avec le nom et le numéro du DB associé à cette


temporisation. Renommer éventuellement ce DB et cliquer sur OK.

Le DB qu’on vient de créer automatiquement se retrouve dans « Blocs systèmes » ->


« Ressources Programme ».

Paramétrer l’entrée IN, le temps PT au format TIME, ainsi que la sortie Q et, éventuellement,
la sortie ET (Elapsed Time, temps écoulé). La sortie ET doit être elle aussi au format TIME (32
bits).

Copyright Gilles TARDY Page 27 TIA Portal Siemens


Edition Septembre 2021
Temporisations sous formes de bobines :

Toutes ces temporisations sont également accessibles sous formes de bobines :

Sortie Tempo active Paramétrage tempo Reset Tempo

Copyright Gilles TARDY Page 28 TIA Portal Siemens


Edition Septembre 2021
Exercice : Clignotement astable

Réalisez un bit clignotant et testez-le sur une sortie.


Ce bit restera à 1 pendant 1 seconde et à 0 pendant 2 secondes.

Copyright Gilles TARDY Page 29 TIA Portal Siemens


Edition Septembre 2021
Exercice : Gestion barrière de passage à niveau, le grafcet.

Le grafcet sera réalisé en SET / RESET.

Copyright Gilles TARDY Page 30 TIA Portal Siemens


Edition Septembre 2021
7. Opérations sur nombres entiers et réels

Transfert : opération MOVE

(Instructions de base -> Transfert -> Move)

Il est fréquent d’avoir besoin de transférer des constantes dans des mots de mémentos ou de
données, on utilise alors en contact la boite MOVE.

Le MOVE peut aussi bien servir pour des transferts d’octets, de mots ou de double-mots.

Le MOVE peut accepter des constantes (uniquement en source), des mémentos, des entrées, des
sorties, des variables L, des variables statiques, des variables IN ou OUT.

Exemples :

Copyright Gilles TARDY Page 31 TIA Portal Siemens


Edition Septembre 2021
Fonctions mathématiques

Exemple :

Notons que ces opérations sont multi-format et qu’il faudra définir le type de données (Real dans
notre exemple) lors de la saisie du réseau.

Opérations de comparaisons

Test égalité, différence, supérieur ou


égal, strictement supérieur…

Test si le nombre se situe dans une plage donnée

Test si nombre réel


Copyright Gilles TARDY Page 32 TIA Portal Siemens
Edition Septembre 2021
Exemple

Opérations de conversion

CONVERT :
Boite de conversion multi-format.
Les formats d’entrées et de sorties se paramètrent à la saisie ou automatiquement s’ils sont
renseignés dans la table de variables ou dans un DB

ROUND :
Arrondit un réel à la valeur la plus proche.

CEIL :
Arrondit un réel à l’entier supérieur.
Copyright Gilles TARDY Page 33 TIA Portal Siemens
Edition Septembre 2021
FLOOR :
Arrondit un réel à l’entier inférieur.

TRUNC :
Troncature. Transforme un réel en entier (suppression de la virgule et des décimales).

SCALE_X : Mise à l’échelle.

L'instruction "Mise à l'échelle" permet de mettre à l'échelle la valeur à l'entrée VALUE en la


reproduisant sur une plage de valeurs spécifiée. Lors de l'exécution de l'instruction "Mise à l'échelle",
le nombre à virgule flottante à l'entrée VALUE est mis à l'échelle à la plage de valeurs qui a été
définie par les paramètres MIN et MAX. Le résultat de la mise à l'échelle est un nombre entier qui est
stocké à la sortie OUT.

L'instruction "Mise à l'échelle" utilise l'équation suivante :


OUT = [VALUE ∗ (MAX – MIN)] + MIN

NORM_X : Normaliser.

L'instruction "Normaliser" vous permet de normaliser la valeur de la variable à l'entrée VALUE en la


reproduisant sur une échelle linéaire. Vous définissez, avec les paramètres MIN et MAX, les limites
d'une plage de valeurs qui est reflétée sur l'échelle. Le résultat est calculé en fonction de la position
de la valeur à normaliser dans cette plage et il est stocké sous forme de nombre à virgule flottante à
la sortie OUT. Quand la valeur à normaliser est égale à la valeur à l'entrée MIN, la sortie OUT fournit
la valeur "0.0". Quand la valeur à normaliser est égale à la valeur à l'entrée MAX, la sortie OUT
fournit la valeur "1.0".

L'instruction "Normaliser" utilise l'équation suivante :


OUT = (VALUE – MIN) / (MAX – MIN)

Copyright Gilles TARDY Page 34 TIA Portal Siemens


Edition Septembre 2021
Exemple d’application : mise à l’échelle d’une entrée et d’une sortie analogiques.

Un capteur d’oxygène est câblé sur l’entrée analogique IW66.


Lorsqu’il envoie 4mA, l’entrée analogique vaut 55.
Lorsqu’il envoie 20mA, l’entrée analogique vaut 27648 (pleine échelle analogique).

On sait que quand l’entrée vaut zéro, la teneur en oxygène est de 0%.
Et que quand l’entrée est au maxi, la teneur est de 20.9 %

Le résultat de la mesure mise à l’échelle apparaitra dans MD110.

Variable de stockage temporaire

La variable MD120 correspond à la vitesse désirée d’un convoyeur en m/mn.


On aura la pleine échelle sur la sortie analogique (donc 20mA) si cette variable vaut 2000.

Copyright Gilles TARDY Page 35 TIA Portal Siemens


Edition Septembre 2021
Exercice : Conditionnement d’œufs

Un élevage produit des œufs bios. C’est tendance.


Ces œufs sont mis en boites.
La priorité est donnée aux boites de 12 qu’il faut regrouper par paquets de 4.
Puis on emballe le reste dans des boites de 6.
Ce qui reste est mis au frigo.

Les poules ont pondu :

- 10812 oeufs le lundi.


- 7384 oeufs le mardi.
- 317 oeufs le mercredi.
- 47 oeufs le jeudi.
- 49215 oeufs le vendredi.

Combien y aura-t-il de boites de 12, de 6 et d’œufs remis au frigo chaque jour ?

Le nombre d’œufs sera entré dans la mémoire mémento

Une fois le programme écrit, on le testera en forçant le nombre d’œufs dans une VAT.

Copyright Gilles TARDY Page 36 TIA Portal Siemens


Edition Septembre 2021
8. Les Blocs de données (DB)

Un DB est un espace mémoire où le programme vient stocker des données.

On peut ainsi structurer le rangement de ses données par thèmes ou préférences : un DB pour le
stockage des données de production d’une machine, un pour l’historique des défauts, un pour les
consignes de vitesses, etc…
Tous les formats de données peuvent se trouver dans un DB et leur ordre de rangement est
totalement libre. On peut ainsi y trouver des bits, des octets, des mots, des doubles mots et d’autres
types de données dans tous les sens.

On distingue 3 types de DB :

DB Systèmes

Ils sont créés automatiquement lorsqu’on intègre dans le programme une temporisation, un
compteur, certains types de fronts montants ou descendants…

DB Globaux

Ils sont créés par le développeur qui y « range » des données de façon plus ou moins organisées.

Exemples d’affectation de DB

DB 1 : Données globales (date/heure API, mémorisation préférences fabrication…)


DB2 : IHM (toute la zone d’échange avec le pupitre)
DB3 : Défauts
DB4 : Comptage heures production
DB5 : Temporisation discordance
Etc…

Copyright Gilles TARDY Page 37 TIA Portal Siemens


Edition Septembre 2021
Création d’un bloc de données global

1- Double-Cliquer sur « Ajouter nouveau bloc ».


2- Sélectionner « Bloc de données »
3- Donner un nom au DB
4- Sélectionner « DB global »
5- Déterminer un numéro si on réglé en « Manuel »
6- Valider par OK

Arrivé à ce stade, on peut choisir si on veut pouvoir adresser les données du bloc comme on le faisait
dans STEP7, c’est-à-dire avec une adresse absolue (DB8.DBW10 par exemple) ou si on préfère un
adressage optimisé (valeur par défaut).

Si on choisit de travailler en adressage absolu -> clic droit sur le DB dans le navigateur du projet, puis
« Propriétés ».

Copyright Gilles TARDY Page 38 TIA Portal Siemens


Edition Septembre 2021
ATTENTION : si on choisit de décocher la case « Accès au bloc optimisé » pour travailler en
adressage absolu, il faudra compiler le DB après chaque modification de sa structure ! (clic droit sur
le DB -> Compiler -> Logiciel)

Déclaration des blocs de données

Pour chaque donnée, il va falloir définir

- Son nom (compteur par exemple). Ceci est indispensable pour pouvoir travailler en mnémonique
avec les données
- Son type (bool, byte, int…)
- Sa valeur de départ (facultatif, on peut laisser la valeur par défaut).

Compiler le projet

Après compilation, des valeurs sont apparues dans la colonne « Décalage ».


Ces valeurs vont nous donner l’adressage absolu de nos données.

Copyright Gilles TARDY Page 39 TIA Portal Siemens


Edition Septembre 2021
Exemple :

Insérons une donnée « Volume grain » avant la donnée « Consigne Production » :

Après compilation, la donnée « Consigne Production » a tenu compte de son adresse absolue tout en
conservant son adressage symbolique qui reste prioritaire :

Adressage absolu (idem STEP7).DBX

Bit : Numéro DB. DBX Adresse Bit exemple DB8.DBX1.5

Octet : Numéro DB.DBB Adresse Octet exemple DB2.DBB5

Mot :Numéro DB. DBW Adresse Premier Octet du mot exemple DB12.DBW100

Double Mot : Numéro DB.DBD Adresse premier octet du double mot exemple DB4.DBD58

Copyright Gilles TARDY Page 40 TIA Portal Siemens


Edition Septembre 2021
Programmation d’une donnée en adressage symbolique (adressage optimisé)

Exemple : si le nombre d’heures dans le DB201 est égal à 35, on active la sortie Q4.2.

1- Insertion bloc comparaison

2- On tape « db » et une liste de choix apparait (d’où l’importance de commencer à nommer


les blocs de données par »DB » !).

Choisir le bon DB et cliquer sur la flèche « Suite »

Choisir la variable que l’on souhaite tester, H dans notre exemple.

Copyright Gilles TARDY Page 41 TIA Portal Siemens


Edition Septembre 2021
DB d’instance

Ce sont les DB qui contiennent les paramètres de type IN, OUT, IN/OUT et STAT pour un appel de FB.
Plus d’informations au chapitre « Les blocs fonctionnels : FB »

Copyright Gilles TARDY Page 42 TIA Portal Siemens


Edition Septembre 2021
Exercice : Le chronomètre
1- Créer un DB où l’on retrouvera les données :
Heures (INT)
Minutes (INT)
Secondes (INT)
Top minute (BOOL)
2- Créer une fonction où, sur une impulsion sur l’entrée I0.0, on comptera dans le DB le temps
qui passe. Une deuxième impulsion sur cette même entrée arrêtera le comptage et l’entrée
I0.1 remettra à zéro le temps compté dans le DB.
3- A chaque minute, le bit « Top minute » passera à 1 pendant 2 secondes.

Copyright Gilles TARDY Page 43 TIA Portal Siemens


Edition Septembre 2021
9. Déclaration de mémoire rémanente
Mémentos rémanents.

Leurs valeurs ne seront pas remises à zéro lors du redémarrage de l’automate.

Intérêts : Ils sont nombreux, le plus évident est de pouvoir sauvegarder la valeur d’un compteur
(exemple : la variable MW200 correspond à un compteur chargé de donner la production totale sur
un mois. Il ne devra pas être remis à zéro en cas de coupure de l’automate ou de redémarrage).

Mode opératoire :

- Dans le menu du navigateur, cliquer sur « Variables API » puis « Afficher toutes les
variables ».

- Puis cliquer sur l’outil « Rémanence »

Copyright Gilles TARDY Page 44 TIA Portal Siemens


Edition Septembre 2021
La fenêtre suivante apparait :

- Renseigner le nombre d’octets mémentos que l’on souhaite rendre rémanents : (202 dans
notre exemple, donc nous aurons les octets MB0 à MB201 rémanents).

- Valider par OK.

Notons que dans notre exemple (CPU 1212C), il est impossible de paramétrer la rémanence
des temporisations et des compteurs « Simatic » car on ne les trouve que sur des CPU S7-
300 et S7-400.

Copyright Gilles TARDY Page 45 TIA Portal Siemens


Edition Septembre 2021
Blocs de données rémanents

Contrairement à « l’ancien » STEP 7 où tous les DB étaient rémanents, il faudra le déclarer


dans TIA Portal si on veut que les données d’un DB soient sauvegardées en cas de mise hors
tension ou de redémarrage de l’API.

Pour cela, cocher la case « Rémanence » dans la ligne de la donnée qu’on veut rendre
rémanente.

ATTENTION : Les données « String » (chaines de caractères) sont des grandes


consommatrices de mémoire rémanente.

Mémoire occupée

Dans le navigateur du projet, cliquer sur « Informations sur le programme »

Dans notre exemple, la mémoire


rémanente de l’API est
largement saturée (517% !!!).
Le problème vient du DB10 qui Le transfert du projet vers l’API
« consomme » 52 800 octets. est impossible.
Il faudra réduire ses prétentions.

Copyright Gilles TARDY Page 46 TIA Portal Siemens


Edition Septembre 2021
10.Mode Simulation

On n’a pas toujours un automate sous la main pour tester un projet et les fautes d’étourderie font
perdre un temps fou lors d’une mise en service ! C’est pourquoi le logiciel « PLCSIM » a été
développé.
Grâce à lui, il est possible de simuler l’évolution d’un programme pour déceler des erreurs de
copier/coller ou des conflits de format ou de fronts montants par exemple…

Mode opératoire :
1- Ouvrir le projet
2- Cliquer sur l’icône « Démarrer la simulation » (il faut avoir cliqué sur le PLC ou les blocs dans
le navigateur auparavant pour rendre cette icône accessible).

2- Puis sur l’icône « Simulation »

1-Cliquer sur l’API

3- La fenêtre de chargement s’ouvre, avec l’interface « PLCSIM ».

Copyright Gilles TARDY Page 47 TIA Portal Siemens


Edition Septembre 2021
4- Charger le programme dans l’automate virtuel (même procédé que pour un « vrai »
automate).
5- La fenêtre de l’automate simulé apparait, il n’y a plus qu’à passer en RUN !

6- Simulation en cours, il ne reste qu’à tester si votre création fonctionne…

Copyright Gilles TARDY Page 48 TIA Portal Siemens


Edition Septembre 2021
11.Exercices

Chaine de manutention et de traitement

Un poste de dégraissage est composé de trois postes : le dégraissage entièrement mécanisé


(un panier, suspendu à un chariot, descend dans la cuve les pièces à traiter, attend 30s et les
ressort). A gauche, un poste de chargement manuel : Dès qu'il a chargé un panier de pièces,
l'opérateur appuie sur le bouton "DCAT" (départ cycle avec trempage).
Si le panier est présent (capteur pp), il est levé, le chariot va de C1 à C2, le panier est trempé
pendant 30s puis il est amené au poste de déchargement (à droite).
Un second opérateur décharge le panier, puis appuie sur le bouton "retour" qui ramène le
tout (panier compris) en position initiale.
Le repos, au chargement et au déchargement, se fait en position basse.
Il y a en plus deux situations particulières : Si le chariot est à gauche, et sans panier,
l'opérateur de déchargement peut appuyer sur le bouton "appel" qui lui amène le chariot, il y
met un panier (vide) et à l'appui sur "retour" il est ramené (qu'il y ait un panier ou non).
Il y a aussi, pour l'opérateur déchargement, un second bouton "DCST" (départ cycle sans
trempage) qui permet soit de transporter un panier vide vers le déchargement, soit de
transférer des pièces sans les tremper

Copyright Gilles TARDY Page 49 TIA Portal Siemens


Edition Septembre 2021
Process de remplissage et mélangeur

Considérons un processus chimique simple qui combine deux réactifs pour produire le
résultat final. Il pourrait fonctionner en versant d'abord suffisamment d'un réactif dans un
récipient pour atteindre un niveau particulier, puis en versant suffisamment de deuxième
réactif jusqu'à ce qu'un second niveau soit atteint (tout en mélangeant les deux réactifs),
puis en versant le produit.
1) Après appui sur le bouton de démarrage, V1 s’ouvre jusqu'à ce que le niveau L1 soit
atteint.
2) Lorsque L1 est atteint, le mélangeur doit commencer à mélanger et simultanément V2
s’ouvre.
3) Lorsque L2 est atteint, le mélangeur s’arrête, V3 s’ouvre et reste ouvert jusqu'à ce que le
niveau du réservoir passe sous L0.
4) Si après 10 minutes le niveau du réservoir n'est pas sous L0, une alarme est déclenchée.
Le bouton "acquitter" arrête l'alarme et permet de redémarrer le processus de contrôle.

Copyright Gilles TARDY Page 50 TIA Portal Siemens


Edition Septembre 2021

Vous aimerez peut-être aussi