Vous êtes sur la page 1sur 15

SITRAIN

Structured Control
Language
SCL

© Siemens AG 2014. Tous droits réservés.


Objectifs du chapitre

A l’issue du chapitre, vous allez...

... connaître les domaines d’utilisation du langage SCL

... savoir mettre en service un bloc SCL donné

SITRAIN
TIA PRO2 / SCL Page 2 Siemens AG © 2014
Enoncé :
enregistrer des valeurs de poids dans une variable DB

285
308
364
241

SITRAIN
TIA PRO2 / SCL Page 3 Siemens AG © 2014
SCL : programmation de calculs et algorithmes
complexes

SCL est un langage textuel structuré évolué


• Texte structuré
• Calculs et algorithmes complexes
• Opérations pour bases de données, par ex. trier des
données
• Code de programme interchangeable entre S7-1200,
S7-1500, S7-300, S7-400 et WinAC

WinAC
S7-300

S7-400 S7-1200

SITRAIN
TIA PRO2 / SCL Page 4 Siemens AG © 2014
Langage de programmation SCL

Solution en SCL pour S7-300/400 et S7-1200/1500

Solution en LIST
pour S7-300/400
Solution en LOG pour S7-1200/1500

Solution en LIST pour S7-1500

SITRAIN
TIA PRO2 / SCL Page 5 Siemens AG © 2014
Créer un bloc SCL

SITRAIN
TIA PRO2 / SCL Page 6 Siemens AG © 2014
Editeur de blocs SCL

Même interface qu’en


CONT/LOG/LIST

Opérandes globaux
Modèles pour
programmables
structures de contrôle
par glisser-déposer
Indentation
automatique des
lignes d’instruction

SITRAIN
TIA PRO2 / SCL Page 7 Siemens AG © 2014
Opérateurs

Classe d’opération Désignation Opérateur

Affectation Affectation :=

Parenthèse (expression) (,)

Opération combinatoire Négation NOT


binaire ET AND, &
OU OR
OU exclusif XOR

Comparaison Inférieur, inférieur ou égal, supérieur, <, <=, >, >=


supérieur ou égal, égal, différent =, <>

Arithmétique Plus, moins (signe) +,-


Addition, soustraction +,-
Multiplication, division *, /, MOD
Puissance **

SITRAIN
TIA PRO2 / SCL Page 8 Siemens AG © 2014
Structures de contrôle

On dispose de modèles pour les structures de contrôle (« Code Snippets »)

Mot clé Fonction

Branchements de IF Branchement de programme avec valeur BOOL


programme
CASE Branchement de programme avec valeur INT

Boucles de FOR Boucle de programme avec variable d’exécution


programme
(abandon possible) WHILE Boucle de programme avec condition d’exécution

REPEAT Boucle de programme avec condition d’abandon

Abandons de boucle CONTINUE Abandon de l’exécution de la boucle actuelle

EXIT Abandon de la boucle de programme

Abandon de bloc RETURN Abandon du bloc

SITRAIN
TIA PRO2 / SCL Page 9 Siemens AG © 2014
Adressage direct (exemples)

L’adressage direct des entrées, sorties et mémentos s’effectue


de la même manière qu’en CONT/LOG/LIST
Plage Exemples de désignation Exemples

SCL V5.x TIA SCL


(harmonisé avec LIST...)

Adressage Bit DBz.DXy.x , Ey.x DBz.DBXy.x , Ey.x DB5.DBX0.7 , E0.0


absolu
Octet DBz.DBy , MWy DBz.DBBy , MWy DB5.DBB2 , AB2

Mot DBz.DWy , MWy DBz.DBWy , MWy DB5.DBW4 , MW20

Double-mot DBz.DDy DBz.DBDy DB5.DBD8

Adressage "<MnemoniqueDB>“.<NomVariable> "Moteur“.Consigne


symbolique
uniq. pour <NomVariable>.X<Numéro bit> "Moteur“.Alarme.X1
S7- 1200/1500 <NomVariable>.B<Numéro octet> (bit 1 de la variable "Alarme“
<NomVariable>.W<Numéro mot> dans DB "Moteur“)

SITRAIN
TIA PRO2 / SCL Page 10 Siemens AG © 2014
Adressage indirect (exemples)

Adressage indirect aussi bien pour I/Q/M/T/C/L que pour des variables de DB

SCL prend en charge l’adressage indirect de toutes les variables locales et globales
des formats bit, octet, mot, double-mot.

Plage Exemples de désignation Exemples

Adressage Bit DBz.DBX[indiceoctet.indicebit] DB10.DBX[a.b] , "Moteur“.DBX[a.b] ,


indirect … E[indiceoctet.indicebit] E[a.b]

Mot DBz.DBW[indicemot] "Moteur“.DBW[a] ,


… MW[indicemot] MW[a]

Elément de "<Mnemonique DB>“.<Mnemonique>[indice] "Moteur“.Valeur[i]


tableau
DB Word_to_Block_DB[indice].DW0 Word_to_Block_DB[i].DW0

SITRAIN
TIA PRO2 / SCL Page 11 Siemens AG © 2014
Appeler un bloc SCL

Les paramètres d’entrée sont caractérisés par :=


et les paramètres de sortie par =>

Appel FC Appel FB

LOG

LIST
(uniq. S7-300 /
S7-400)

SCL

SITRAIN
TIA PRO2 / SCL Page 12 Siemens AG © 2014
Visualiser un bloc SCL

Affichage du résultat de l’instruction

Ligne grisée pour les instructions


non traitées

Affichage de toutes les valeurs


de l’instruction

Si l’on sélectionne la ligne, les valeurs


sont représentées dans une fenêtre
pop-up
SITRAIN
TIA PRO2 / SCL Page 13 Siemens AG © 2014
Exercice 1 : copier un bloc SCL à partir de la
bibliothèque

SITRAIN
TIA PRO2 / SCL Page 14 Siemens AG © 2014
Exercice 2 : mettre "FC_Poids_SCL" (FC38)
en service

SITRAIN
TIA PRO2 / SCL Page 15 Siemens AG © 2014

Vous aimerez peut-être aussi