types de données et variables de step 7
TRANSCRIPT
Date: 13.04.23Fichier: PRO2_05f.1
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Types de données et variables de STEP 7
Date: 13.04.23Fichier: PRO2_05f.2
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Les types de données caractérisent les propriétés fondamentales de données
zone continue: p.ex. vitesse_réelle propriété "oui/non": p.ex. défaut
vitesse _réelle: REAL
défaut: BOOL
consigne_vitesse : REAL
libération: BOOL
Signification de types de données et variables
Les types de données caractérisent les propriétés fondamentales de données
zone continue: p.ex. vitesse_réelle propriété "oui/non": p.ex. défaut
Le type de données détermine: la plage des valeurs admissible
(INT: -32 768 ... +32 767, etc.) les opérations admissibles
(opérations arithmétiques : +, -, etc.) abstraction de la représentation de base
des bits dans la mémoire
Date: 13.04.23Fichier: PRO2_05f.3
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Par la déclaration d'une variable, les propriétés suivantes sont déterminées:
nom symbolique type de données plage de validité
Propriétés et déclaration de variables
point_mesure[1]: Real
point_mesure[2]: Real
point_mesure[3]: Real
point_mesure[10]: Real
point_mesure: ARRAY[1..10]
Par la déclaration d'une variable, les propriétés suivantes sont déterminées:
nom symbolique type de données plage de validité
Variables peuvent être déclarées: dans la liste globale des symboles
(type de données élémentaire) dans la partie déclarative d'un bloc
de données globales (tous les types de données)
dans la partie déclarative d'un bloc logique (OB, FB et FC)
Date: 13.04.23Fichier: PRO2_05f.4
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Types de donnéescomplexes
(supérieur à 32 bits)
Types de données utilisateur(supérieur à 32 bits)
Types de donnéesélémentaires
(jusqu'à 32 bits)
Aperçu des types de données dans STEP 7
• Types de données bit (BOOL, BYTE, WORD, DWORD, CHAR)
• Types de date et heure (DATE_AND_TIME)
Type de données UDT (User Defined Type)
• Types de données bit (BOOL, BYTE, WORD, DWORD, CHAR)
• Types de temporisations (S5TIME, TIME, DATE, TIME_OF_DAY)
• Types de données bit (BOOL, BYTE, WORD, DWORD, CHAR)
• Types de temporisations (S5TIME, TIME, DATE, TIME_OF_DAY)
• Types de données arithmétiques (INT, DINT, REAL)
• Types de date et heure (DATE_AND_TIME)
• Tableau (ARRAY)
• Types de date et heure (DATE_AND_TIME)
• Tableau (ARRAY)
• Structure (STRUCT)
• Types de date et heure (DATE_AND_TIME)
• Tableau (ARRAY)
• Structure (STRUCT)
• Chaîne de caractères (STRING)
Date: 13.04.23Fichier: PRO2_05f.5
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Types de données élémentaires dans STEP 7
Largeur (en bits)Mot-clé Exemple d'une constante de ce type
BOOL 1 1 ou 0BYTE 8 B#16#A9WORD 16 W#16#12AFDWORD 32 DW#16#ADAC1EF5CHAR 8 CHAR
S5TIME 16 S5T#5s_200ms
INT 16 123DINT 32 65539 ou L#-1REAL 32 REAL
TIME 32 T#2D_1H_3M_45S_12MSDATE 16 D#200-07-21TIME-OF-DAY 32 TOD#12:23:45.12
Date: 13.04.23Fichier: PRO2_05f.6
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Signification de types de données complexes
consigne_vitesse: REAL
vitesse_réelle: REAL
libération: BOOL
défaut: BOOL
Moteur: STRUCT
END_STRUCT
Permet de structurerles données:
adaptée à l'énoncé avec type de données "correct"
5
.
.CALL "régulateur" moteur:= #entrainement
..
in entrainement UDT1out ... ...
.
.U #moteur.libération
.
.
in moteurUDT1
out ... ...
Forme compacte de la transmission de données lors de l'appel d'un bloc:
"beaucoup" de données peuvent être transmises dans un paramètre
permet la programmation structurée
les blocs "communiquent" uniquement par la structure des paramètres
bloc réutilisable
Date: 13.04.23Fichier: PRO2_05f.7
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Types de données complexes dans STEP 7
Largeur (en bits)Mot-clé Exemple
DATE_AND_TIME(date et heure)
64 DT#00-07-22-12:14:55.0
STRING(chaîne de caractères avecmax. 254 caractères)
8 * (nombre descaractères +2)
'Ceci est n string''SIEMENS'
ARRAY(tableau, groupe decomposantes du mêmetype de données)
défini parl'utilisateur
Valeurs meurées: ARRAY[1..20]INT
STRUCT(structure, groupe decomposantes de différenttype de données)
défini parl'utilisateur
Moteur: STRUCT Vitesse de rotation: INT Courant: REALEND_STRUCT
UDT(User Defined data Type =type de données utilisateur,"modèle" de type de donnéesélémentaires ou complexes)
défini parl'utilisateur
UDT comme bloc comme élément de tableau
STRUCT Vitesse de rotation: INT Courant: REALEND_STRUCT
Entrainement: ARRAY[1..4] UDT1
Date: 13.04.23Fichier: PRO2_05f.8
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Types de paramètres dans STEP 7
Largeur (en bits)Mot-clé Exemple
TIMER 16Temps_contact: TIMER.SI #temps_contact
COUNTER 16Nbre_pieces_finies: COUNTER.LC Nbre_pieces_finies
BLOCK_FBBLOCK_FCBLOCK_DBBLOCK_SDB
16Retour: BLOCK_FB.UC #Retour
POINTER 48Mesure: POINTER.L P##Mesure
ANY 80Valeurs_mesurees: ANY.L P## Valeurs_mesurees
Date: 13.04.23Fichier: PRO2_05f.9
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
. .DBz
.
Zones de variables
Mémentos
MIS
MIE
Périphérie
Pile des donnéeslocales
Zones d'automate"classiques"
DBy
Blocs de données
DBx
Date: 13.04.23Fichier: PRO2_05f.10
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Fonctionnement de la pile des données locales
Occupation de la pile Lpour OB1
p.ex. 256 octets
5
OB1
FC10
.
.CALL FB1
.
.
1
4
5..
CALL FC10..
FB1
6
Début de cycle
LD pour OB1
libre
1
LD pour OB1
LD pour FB1
libre
3
LD pour OB1
LD pour FB1
libre
4
LD pour OB1
libre
5
LD pour OB1
LD pour FC10
libre
6
LD pour OB1
libre
LD = données locales
FC5
.
.CALL FC5
.
.
2
3
LD pour FB1
2
LD pour OB1
LD pour FC5
libre
LDpour FB1
Date: 13.04.23Fichier: PRO2_05f.11
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Exemple: utilisation des données locales par l'éditeur CONT/LOG
Ramification en CONT Représentation en LIST
RamificationsVariables auxiliaires
de la pile des données locales
Date: 13.04.23Fichier: PRO2_05f.12
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Blocs de données (DB)
FonctionFC10
FonctionFC20
OB1
Données globales
DB20
Accès de tous les blocs
Bloc defonction
FB1
Données d'instance
DB5
DB d'instance pour FB1
Date: 13.04.23Fichier: PRO2_05f.13
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Le type de données: ARRAY
ARRAY (tableau): Groupe de composantes
du même type de données Point_mesure[1]: Real
Point_mesure[2]: Real
Point_mesure[3]: Real
Point_mesure[10]: Real
Point_mesure: ARRAY[1..10]
.
.
.
.
ARRAY (tableau): Groupe de composantes
du même type de données
Déclaration:• unidimensionnel:
Nom de tableau: ARRAY[min_index..max_index] OF type de données;
• multidimensionnel:Nom de tableau:ARRAY[min_index1..max_index1,min_index2..max_index2] OF
type de données;
ARRAY (tableau): Groupe de composantes
du même type de données
Déclaration:• unidimensionnel:
Nom de tableau: ARRAY[min_index..max_index] OF type de données;
• multidimensionnel:Nom de tableau:ARRAY[min_index1..max_index1,min_index2..max_index2] OF
type de données;
Exemples: Déclaration d'une variable:
• unidimensionnel: valeur_mesuree: ARRAY[1..10] OF REAL;
• multidimensionnel: resultat: ARRAY[1..5,2..8] OF INT;
ARRAY (tableau): Groupe de composantes
du même type de données
Déclaration:• unidimensionnel:
Nom de tableau: ARRAY[min_index..max_index] OF type de données;• multidimensionnel:
Nom de tableau:ARRAY[min_index1..max_index1,min_index2..max_index2] OF
type de données;
Exemples: Déclaration d'une variable:
• unidimensionnel: valeur_mesuree: ARRAY[1..10] OF REAL;• multidimensionnel: resultat: ARRAY[1..5,2..8] OF INT;
Accès à une variable:• L #valeur_mesuree[5] // Charger le 5ième élément de l'ARRAY
valeur_mesuree dans l'ACCU1• T #resultat[2,5]
Date: 13.04.23Fichier: PRO2_05f.14
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Déclaration et initialisation de tableaux (ARRAY)
DB5 "Vue de déclaration"
DB5 "Vue de données"
Date: 13.04.23Fichier: PRO2_05f.15
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Sauvegarde de variables ARRAY dans la mémoire
Octet n1)
Tableaux unidimensionnels Tableaux multidimensionnels Type de données BOOL
8 7 6 5 4 3 2 1
7 6 5 4 3 2 1 0
12 11 10 9Octet n+1
Type de données BYTE, CHAR
Octet m
Octet m+1
Octet m+2
Octet 1
Octet 2
Octet 3. ..
Exemple.ARRAY[1..2,1..3,1..2] OF BYTE
Octet n1)
Octet n+1
Octet n+2
Octet 1.1.1
Octet 1.1.2
Octet 1.2.1
. ..Octet 1.2.2
Octet 1.3.1
Octet 1.3.2
Octet 2.1.1
Octet 2.1.2
Octet 2.2.1
Octet 2.2.2
Octet 2.3.1
Octet 2.3.2
1) n = paire
Type de données WORD, DWORD,...
Octet n1)
Octet n+1
Octet n+2 Byte 3Mot 2
Octet n+2. ..
Mot 1
non affecté
Date: 13.04.23Fichier: PRO2_05f.16
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
STRUCT (Structure): Groupe de composantes
de différents types de données
Le type de données: STRUCT
Consigne_Vitesse: REAL
Vitesse_Reelle: REAL
Liberation: BOOL
Defaut: BOOL
MoteuCommande: STRUCT
END_STRUCT
STRUCT (Structure): Groupe de composantes
de différents types de données
Déclaration:NomStructure: STRUCT
NomComp1: type de données;NomComp2: type de données;...
END_STRUCT
STRUCT (Structure): Groupe de composantes
de différents types de données
Déclaration:NomStructure: STRUCT
NomComp1: type de données;NomComp2: type de données;...
END_STRUCT
Exemple: Déclaration d'une variable: Accès à la variable
• MoteurCommande: STRUCT S #MoteurCommande.LiberationVitesse_Reelle : REAL; L
#MoteurCommande.Vitesse_Réelle Consigne_Vitesse : REAL; T #MoteurCommande.Consigne_Vitesse Liberation : BOOL; ...
Defaut : BOOL; • END_STRUCT;
Date: 13.04.23Fichier: PRO2_05f.17
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Déclaration de STRUCTs
Exemple: Déclaration de tableau - structure - tableau
DB6 "Vue de déclaration"
DB6 "Vue de données"
Date: 13.04.23Fichier: PRO2_05f.18
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Sauvegarde de variables STRUCT dans la mémoire
Octet n1)
Structure avec types de données élémentaires
6 5 4 3 2 1
7 6 5 4 3 2 1 0
Octet n+1
Octet n+2 Octet 1
Octet 2
Octet 3
Octet n+8
Octet n+9Mot 1
Mot 2
. ..1) n = paire
Octet perdu
Octet perdu
Octet n+3
Octet n+4
Octet n+5
6 5 4 3 2 1
Octet perdu
Octet n+6
Octet n+7
. ..
Composantesavec type de données
élémentaire
Limite du mot
Composantesavec type de données
ARRAY
Composantesavec type de données
STRUCT
Limite du mot
. ..
Limite du mot
Structure avec types de données complexes
Date: 13.04.23Fichier: PRO2_05f.19
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Types de données utilisateur: UDT
Types de données utilisateur UDT: Création d'un modèle pour utilisation
ultérieure lors de déclarations
Consigne_Vitesse: REAL
Vitesse_Reelle: REAL
Liberation: BOOL
Defaut: BOOL
UDT1: STRUCT
END_STRUCT
Types de données utilisateur UDT: Création d'un modèle pour utilisation
ultérieure lors de déclarations valable pour tous
les blocs du programme
Types de données utilisateur UDT: Création d'un modèle pour utilisation
ultérieure lors de déclarations valable pour tous
les blocs du programme
Exemple: Définition d'un nouveau type de données (structure):
UDT1 STRUCTConsigne_Vitesse : REAL; ...Vitesse_Réelle : REAL; Libération : BOOL;Défaut : BOOL;
END_STRUCT;
Types de données utilisateur UDT: Création d'un modèle pour utilisation
ultérieure lors de déclarations valable pour tous
les blocs du programme
Exemple: Définition d'un nouveau type de données (structure):
UDT1 STRUCTConsigne_Vitesse : REAL; ...Vitesse_Réelle : REAL; Libération : BOOL;Défaut : BOOL;
END_STRUCT; Déclaration de variables:
Moteur_1: UDT1;Moteur_2: UDT1;
Types de données utilisateur UDT: Création d'un modèle pour utilisation
ultérieure lors de déclarations valable pour tous
les blocs du programme
Exemple: Définition d'un nouveau type de données (structure):
UDT1 STRUCTConsigne_Vitesse : REAL; ...Vitesse_Réelle : REAL; Libération : BOOL;Défaut : BOOL;
END_STRUCT; Déclaration de variables:
Moteur_1: UDT1;Moteur_2: UDT1;
Accès aux variables: L #Moteur_1.Vitesse_Réelle
Date: 13.04.23Fichier: PRO2_05f.20
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Utilisation de UDTsUDT5
FC23
Date: 13.04.23Fichier: PRO2_05f.21
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Le type de données: DATE_AND_TIME
Octet n1)
Octet n+2
Octet n+4
Octet n+1
Octet n+3
Octet n+5
Année(90 ... 89)
Constitution:
Mois (01 ... 12)
Jour(01 ... 31)
Heure(00 ... 23)
Minute(00 ... 59)
Secondes(00 ... 59)
Octet n+4 Pctet n+7Millisecondes(000 ... 999)
Jour desemaine (1..7)
Toutes les valeurs sont sauvegardées dans le format BCD
1=Dimanche2=Lundi3=Mardi4=Mercredi5=Jeudi6=Vendredi7=Samedi
1) n = paire
Toutes les valeurs sont sauvegardées dans le format BCD
Préréglage des variables:
DT#Année-Mois-Jour-Heures:Minutes:Secondes.[Millisecondes]
Exemple: DT#2000-07-14-23:00:00:00
Toutes les valeurs sont sauvegardées dans le format BCD
Préréglage des variables:
DT#Année-Mois-Jour-Heures:Minutes:Secondes.[Millisecondes]
Exemple: DT#2000-07-14-23:00:00:00
Traitement par des fonctions de la bibliothèque IEC
Date: 13.04.23Fichier: PRO2_05f.22
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Fonctions pour le traitement de variables DTBibliothèque IEC dans Standard Library
FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
Bibliothèque IEC dans Standard Library FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une
date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre) (format DT) et fournit comme résultat une durée (format TIME).
Bibliothèque IEC dans Standard Library FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une
date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre) (format DT) et fournit comme résultat une durée (format TIME).
FC35 (SB_DT_TM): La fonction FC 35 soustrait une durée (format TIME) d'une date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
Bibliothèque IEC dans Standard Library FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une
date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre) (format DT) et fournit comme résultat une durée (format TIME).
FC35 (SB_DT_TM): La fonction FC 35 soustrait une durée (format TIME) d'une date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC3 (D_TOD_DT): La fonction FC 3 regroupe les formats de données DATE et TIME_OF_DAY (TOD) et les convertit dans le format de données DATE_AND_TIME (DT).
Bibliothèque IEC dans Standard Library FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une
date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre) (format DT) et fournit comme résultat une durée (format TIME).
FC35 (SB_DT_TM): La fonction FC 35 soustrait une durée (format TIME) d'une date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC3 (D_TOD_DT): La fonction FC 3 regroupe les formats de données DATE et TIME_OF_DAY (TOD) et les convertit dans le format de données DATE_AND_TIME (DT).
FC6 (DT_DATE): La fonction FC 6 extrait le format de données DATE du format DATE_AND_TIME.
Bibliothèque IEC dans Standard Library FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une
date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre) (format DT) et fournit comme résultat une durée (format TIME).
FC35 (SB_DT_TM): La fonction FC 35 soustrait une durée (format TIME) d'une date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC3 (D_TOD_DT): La fonction FC 3 regroupe les formats de données DATE et TIME_OF_DAY (TOD) et les convertit dans le format de données DATE_AND_TIME (DT).
FC6 (DT_DATE): La fonction FC 6 extrait le format de données DATE du format DATE_AND_TIME.
FC7 (DT_DAY): La fonction FC 7 extrait le jour de la semaine du format DATE_AND_TIME.
Bibliothèque IEC dans Standard Library FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une
date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre) (format DT) et fournit comme résultat une durée (format TIME).
FC35 (SB_DT_TM): La fonction FC 35 soustrait une durée (format TIME) d'une date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC3 (D_TOD_DT): La fonction FC 3 regroupe les formats de données DATE et TIME_OF_DAY (TOD) et les convertit dans le format de données DATE_AND_TIME (DT).
FC6 (DT_DATE): La fonction FC 6 extrait le format de données DATE du format DATE_AND_TIME.
FC7 (DT_DAY): La fonction FC 7 extrait le jour de la semaine du format DATE_AND_TIME.
FC8 (DT_TOD): La fonction FC 8 extrait le format de données TIME_OF_DAY du format DATE_AND_TIME.
Bibliothèque IEC dans Standard Library FC1 (AD_DT_TM): La fonction FC 1 additionne une durée (format TIME) et une
date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC34 (SB_DT_DT): La fonction FC 34 soustrait deux date/heure (l'une de l'autre) (format DT) et fournit comme résultat une durée (format TIME).
FC35 (SB_DT_TM): La fonction FC 35 soustrait une durée (format TIME) d'une date/heure (format DT) et fournit comme résultat une nouvelle date/heure (format DT).
FC3 (D_TOD_DT): La fonction FC 3 regroupe les formats de données DATE et TIME_OF_DAY (TOD) et les convertit dans le format de données DATE_AND_TIME (DT).
FC6 (DT_DATE): La fonction FC 6 extrait le format de données DATE du format DATE_AND_TIME.
FC7 (DT_DAY): La fonction FC 7 extrait le jour de la semaine du format DATE_AND_TIME.
FC8 (DT_TOD): La fonction FC 8 extrait le format de données TIME_OF_DAY du format DATE_AND_TIME.
Fonctions de comparaison pour DT#variables: FC9 (EQ_DT), FC12 (GE_DT), FC14 (GT_DT), FC18 (LE_DT), FC23 (LT_DT), FC28 (NE_DT)
Date: 13.04.23Fichier: PRO2_05f.23
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Le type de données: STRING
Variables du type STRING (chaîne de caractères): Type de données STRING représente une chaîne de caractères comprenant
jusqu'à 254 caractères Application: préparation de textes de messages Application: préparation de textes de messages Déclaration:
NomString: STRING[Nbremax]: 'texte d'initialisation'(variable string jusqu'à Nbremax caractères, Nbremax: 0... 254)
NomString : STRING: 'texte d'initialisation'
(variable string jusqu'à 254 caractères)
Application: préparation de textes de messages Déclaration:
NomString: STRING[Nbremax]: 'texte d'initialisation'(variable string jusqu'à Nbremax caractères, Nbremax: 0... 254)
NomString : STRING: 'texte d'initialisation'
(variable string jusqu'à 254 caractères)
Exemple: Déclaration de variables:
Message_defaut : STRING 'Défaut du moteur_4'
Avertissement : STRING[50]' '
Application: préparation de textes de messages Déclaration:
NomString: STRING[Nbremax]: 'texte d'initialisation'(variable string jusqu'à Nbremax caractères, Nbremax: 0... 254)
NomString : STRING: 'texte d'initialisation'
(variable string jusqu'à 254 caractères)
Exemple: Déclaration de variables:
Message_defaut : STRING 'Défaut du moteur_4'
Avertissement : STRING[50]' '
Traitement: Accès élémentaires:
L #message_defaut[5] (charge le 5ième caractère de message_defaut)
Traitement au moyen de FCs de la bibliothèque IEC
Date: 13.04.23Fichier: PRO2_05f.24
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Sauvegarde de variables STRING dans la mémoire
Exemple: Déclaration avec initialisation
Prénom: STRING[8]: 'TOTO'
1) n = paire
Indique le nombre de caractères effectifs
Indique le nombre max. de caractères pouvant être sauvegardés
L'information sur le nombre max. de caractères pouvant être sauvegardés, ou sur la longueur actuelle est traitée par la fonction de bibliothèque IEC.
Octet n1)
Octet n+1
Octet n+2
Longueur max = 8
Longueur actuelle = 4
1. caractère = 'T'
Octet n+8
. ..
2. caractère = 'O'Octet n+3
Octet n+4
Octet n+5
Octet n+6
Octet n+7
3. caractère = 'T'
4. caractère = 'O'
B#16#00
B#16#00
B#16#00
Octet n+9 B#16#00
Exemple: Déclaration avec initialisation
Prénom: STRING[8]: 'TOTO' Sauvegarde de la variable STRING "prénom"
Date: 13.04.23Fichier: PRO2_05f.25
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Fonctions pour le traitement de variables STRINGBibliothèque IEC dans Standard Library
FC2 (CONCAT): La fonction FC2 réunit deux variables STRING en une chaîne de caractères.
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractères d'une chaîne de caractères.
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractères d'une chaîne de caractères.
FC21 (LEN): La fonction FC21 émet la longueur actuelle d'une chaîne de caractères (nombre de caractères valables).
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractères d'une chaîne de caractères.
FC21 (LEN): La fonction FC21 émet la longueur actuelle d'une chaîne de caractères (nombre de caractères valables).
FC26 (MID): La fonction FC26 fournit la partie centrale d'une chaîne de caractères.
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractères d'une chaîne de caractères.
FC21 (LEN): La fonction FC21 émet la longueur actuelle d'une chaîne de caractères (nombre de caractères valables).
FC26 (MID): La fonction FC26 fournit la partie centrale d'une chaîne de caractères. FC31 (REPLACE): La fonction FC31 remplace L caractères de la première chaîne de
caractères (IN1) à partir du P-ième caractère (inclus) par la deuxième chaîne de caractères (IN2).
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractères d'une chaîne de caractères.
FC21 (LEN): La fonction FC21 émet la longueur actuelle d'une chaîne de caractères (nombre de caractères valables).
FC26 (MID): La fonction FC26 fournit la partie centrale d'une chaîne de caractères. FC31 (REPLACE): La fonction FC31 remplace L caractères de la première chaîne de
caractères (IN1) à partir du P-ième caractère (inclus) par la deuxième chaîne de caractères (IN2).
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractères d'une chaîne de caractères.
FC21 (LEN): La fonction FC21 émet la longueur actuelle d'une chaîne de caractères (nombre de caractères valables).
FC26 (MID): La fonction FC26 fournit la partie centrale d'une chaîne de caractères. FC31 (REPLACE): La fonction FC31 remplace L caractères de la première chaîne de
caractères (IN1) à partir du P-ième caractère (inclus) par la deuxième chaîne de caractères (IN2).
FC32 (RIGHT): La fonction FC32 fournit les derniers L caractères d'une chaîne de caractères.
FC4 (DELETE): La fonction FC4 efface dans une chaîne de caractères L caractères à partir du P-ième caractère.
FC11 (FINF): La fonction FC11 recherche la position de la deuxième chaîne de caractères incluse dans la première.
FC17 (INSERT): La fonction FC17 insère la chaîne de caractères au paramètre IN2 dans la chaîne de caractères au paramètre IN1 derrière le P-ième caractère.
FC20 (LEFT): La fonction FC20 fournit les premiers L caractères d'une chaîne de caractères.
FC21 (LEN): La fonction FC21 émet la longueur actuelle d'une chaîne de caractères (nombre de caractères valables).
FC26 (MID): La fonction FC26 fournit la partie centrale d'une chaîne de caractères. FC31 (REPLACE): La fonction FC31 remplace L caractères de la première chaîne de
caractères (IN1) à partir du P-ième caractère (inclus) par la deuxième chaîne de caractères (IN2).
FC32 (RIGHT): La fonction FC32 fournit les derniers L caractères d'une chaîne de caractères.
Fonctions de comparaison pour variables STRING: FC10 (EQ_STRING), FC13 (GE_STRING), FC15 (GT_STRING), FC19 (LE_STRING), FC24 (LT_STRING), FC29 (NE_STRING)
Date: 13.04.23Fichier: PRO2_05f.26
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Exercice 5.1: Utilisation de types de données complexes
UDT99 "Moteur"
. . .
DB51 "Rouleaux_Moteurs"
Date: 13.04.23Fichier: PRO2_05f.27
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Exercice 5.2: Accès à des types de données complexes
Date: 13.04.23Fichier: PRO2_05f.28
SIMATIC S7Siemens AG 2000. All rights reserved.
Siemens Centre de FormationSavoir pour automatiser
Exercice optionnel 5.3: Lecture de l'heure avec SFC1 (READ_CLK)
SFC1EN
RET_VAL
ENO
??.?
CDT ??.?