Vous êtes sur la page 1sur 106

Avant-propos, Sommaire

SIMATIC
Logiciel standard pour S7-300
et S7-400
Fonctions standard
2me partie
Manuel de rfrence

Fonctions de combinaison
de bits

Fonctions de table

Fonctions de dcalage

Fonction et bloc fonctionnel


de transfert

Fonction et blocs fonctionnels de temporisation

Fonctions et bloc fonctionnel


de conversion

Fonction arithmtique sur


nombres virgule flottante

Blocs fonctionnels de
comparaison

Glossaire, Index

03/2000
3me dition

Informations relatives la scurit

Ce manuel donne des consignes que vous devez respecter pour votre propre scurit ainsi que pour
viter des dommages matriels. Elles sont mises en vidence par un triangle d'avertissement et sont
prsentes, selon le risque encouru, de la faon suivante :

Danger
signifie que la nonapplication des mesures de scurit appropries conduit la mort, des lsions
corporelles graves ou un dommage matriel important.

Attention
signifie que la nonapplication des mesures de scurit appropries peut conduire la mort, des
lsions corporelles graves ou un dommage matriel important.

Avertissement
signifie que la nonapplication des mesures de scurit appropries peut conduire des lsions cor
porelles lgres ou un dommage matriel.

Nota
doit vous rendre tout particulirement attentif des informations importantes sur le produit, aux mani
pulations effectuer avec le produit ou la partie de la documentation correspondante.

Personnel qualifi

La mise en service et l'utilisation du produit ne doivent tre effectues que conformment au manuel.
Seules des personnes qualifies sont autorises effectuer des interventions sur l'quipement. Il
s'agit de personnes qui ont l'autorisation de mettre en service, de mettre la terre et de reprer des
appareils, systmes et circuits lectriques conformment aux rgles de scurit en vigueur.

Utilisation conforme
aux dispositions

Tenez compte des points suivants :

Attention
Le produit ne doit tre utilis que pour les applications spcifies dans le catalogue ou dans la description
technique, et exclusivement avec des priphriques et composants recommands par Siemens.
Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance adquats
du produit sont les conditions indispensables pour garantir un fonctionnement correct et sr du produit.

Marque de fabrique

Siemens AG est un symbole de copyright de Siemens AG.


SIMATIC , SIMATIC NET et SIMATIC HMI sont des marques dposes de Siemens AG.
Les autres dsignations figurant dans ce document peuvent tre des marques dont l'utilisation par des tiers
leurs propres fins peut enfreindre les droits des propritaires desdites marques.

Copyright Siemens AG 1995 Tous droits rservs

Exclusion de responsabilit

Toute communication ou reproduction de ce support


d'information, toute exploitation ou communication de son
contenu sont interdites, sauf autorisation expresse. Tout
manquement cette rgle est illicite et expose son auteur au
versement de dommages et intrts. Tous nos droits sont
rservs, notamment pour le cas de la dlivrance d'un brevet ou
celui de l'enregistrement d'un modle d'utilit.

Nous avons vrifi la conformit du contenu du prsent manuel


avec le matriel et le logiciel qui y sont dcrits. Or des divergences
n'tant pas exclues, nous ne pouvons pas nous porter garants
pour la conformit intgrale. Si l'usage de ce manuel devait rvler
des erreurs, nous en tiendrons compte et apporterons les correc
tions ncessaires ds la prochaine dition. Veuillez nous faire part
de vos suggestions.

Siemens AG
Bereich Automatisierungs und Antriebstechnik
Geschaeftsgebiet IndustrieAutomatisierungssysteme
Postfach 4848, D 90327 Nuernberg

Siemens AG 1995
Sous rserve de modifications.

Siemens Aktiengesellschaft

6ES7811-4AA0-0CX0

Avant-propos

Objet du manuel

Ce manuel dcrit les fonctions et blocs fonctionnels S7 dans le langage de


programmation schma contacts (CONT) et en fournit des exemples. Avec ces
fonctions (FC) et blocs fonctionnels (FB), vous pouvez programmer lautomate
programmable S7-300/S7-400 (AP). Ce manuel vous fournit les informations
ncessaires relatives chaque fonction et bloc fonctionnel.

O se trouvent les
fonctions S7 ?

Les fonctions et blocs fonctionnels dcrits dans ce manuel sont enregistrs dans la
bibliothque standard de STEP 7. Le gestionnaire de fichiers de STEP 7 vous
permet de copier les fonctions et blocs fonctionnels dont vous avez besoin dans le
rpertoire de votre programme. Assurez-vous tout dabord que les FC ou FB que
vous dsirez copier de la bibliothque ne portent pas le mme numro que ceux se
trouvant dans votre programme. Si des fonctions ou blocs fonctionnels portant le
mme numro sy trouvent dj, vous devez soit renommer ces derniers soit ceux
que vous dsirez copier.

A qui sadresse ce
manuel ?

Ce manuel est destin aux ingnieurs, programmeurs et au personnel charg de la


maintenance possdant une connaissance gnrale des automates programmables.

Contenu du
manuel

Chaque chapitre de ce manuel traite une famille de fonctions et blocs fonctionnels :

Fonctions de combinaison de bits (Chapitre 1)


Fonctions de table (Chapitre 2)
Fonctions de dcalage (Chapitre 3)
Fonction et bloc fonctionnel de transfert (Chapitre 4)
Fonction et blocs fonctionnels de temporisation (Chapitre 5)
Fonctions et bloc fonctionnel de conversion (Chapitre 6)
Fonction arithmtique sur nombres virgule flottante (Chapitre 7)
Blocs fonctionnels de comparaison (Chapitre 8)
Le glossaire contient une liste alphabtique de termes indispensables pour la programmation laide des schmas contacts.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

iii

Avant-propos

Chaque chapitre dcrit les fonctions (FC) et blocs fonctionnels (FB) dont vous disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse
lors de la programmation. Chaque FC ou FB est dsign par son nom, son mnmonique et son numro. Ils sont dcrits laide des informations suivantes :

Description : une description du fonctionnement de base.


Paramtres : un tableau fournit la dclaration, le type de donnes, les zones de
mmoire valables et la description de chaque paramtre.

Informations derreur : erreurs entravant lexcution de la fonction ou du bloc


fonctionnel.

Exemple : une figure montre la reprsentation graphique de la fonction ou du


bloc fonctionnel avec des exemples de paramtres et les rsultats aprs lexcution.

Synoptique de la
documentation de
STEP 7

Ce manuel est une partie de la documentation STEP 7 se composant des manuels


suivants :

Manuel

Thme

STEP 7 Getting Started

Ce Getting Started constitue une introduction trs simple la mthodologie de configuration et de programmation dun automate S7-300/S7-400. Il sadresse tout particulirement
aux utilisateurs ne connaissant pas les automates programmables S7.

Programmer avec STEP 7


Manuel

Ce manuel prsente les connaissances de base sur lorganisation du systme dexploitation


et dun programme utilisateur dune CPU S7. Il est conseill aux nouveaux utilisateurs des
S7-300/S7-400 de lutiliser pour avoir une vue densemble de la mthodologie de programmation et pour concevoir, ensuite, leur programme utilisateur.

Logiciel systme pour


SIMATIC S7-300/400
Fonctions standard et
fonctions systme
Manuel de rfrence

Les CPU S7 disposent de blocs dorganisation et de fonctions systme intgrs dont vous
pouvez vous servir lors de la programmation. Ce manuel prsente une vue densemble des
fonctions systme, blocs dorganisation et fonctions standard chargeables disponibles dans
S7, ainsi que comme informations de rfrence des descriptions dinterface dtailles
pour leur utilisation dans le programme utilisateur.

Configuration matrielle et
Ce manuel STEP 7 explique le principe dutilisation et les fonctions du logiciel dautomaticommunication dans STEP 7 sation STEP 7. Que vous soyez un utilisateur dbutant de STEP 7 ou que vous connaissiez
Manuel
bien STEP 5, il vous donne une vue densemble sur la marche suivre pour la configuration, la programmation et la mise en uvre dun automate S7-300/S7-400.
Vous pouvez, lors de lutilisation du logiciel, accder de manire slective laide en ligne qui rpondra vos questions prcises sur le logiciel.
STEP 7
Pour une transition facile de
S5 S7
Manuel

iv

Vous aurez besoin de ce manuel si vous avez lintention de convertir des programmes
STEP 5 existants afin de les excuter dans des CPU S7. Ce guide vous donne une vue
densemble du mode de fonctionnement et de lutilisation du convertisseur ; vous trouverez des informations dtailles sur lutilisation des fonctions du convertisseur dans laide
en ligne. Cette dernire contient galement la description dinterface des fonctions S7
converties disponibles.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Avant-propos

Manuel

Thme

SCL1

LIST, CONT,
Manuels de r frence

Les manuels concernant les progiciels de langage LIST, CONT et SCL (Sequential Control
Language) contiennent aussi bien des instructions pour lutilisateur que la description du
langage. Vous navez besoin, pour la programmation dun S7-300/400, que de lun de ces
langages, mais pouvez les mlanger lintrieur dun projet si besoin est. Il est conseill,
lors de la premire utilisation des langages, de se familiariser avec la mthodologie de la
cration de programmes laide du manuel.
Dans le logiciel, vous pouvez appeler laide en ligne qui rpondra vos questions dtailles sur lutilisation des diteurs et compilateurs associs.

S7-GRAPH1, S7-HiGraph1,
CFC1
Manuels

Les langages S7-GRAPH, S7-HiGraph et CFC (Continuous Function Chart) offrent des
possibilits supplmentaires pour la ralisation de commandes squentielles, de graphes
dtat ou dinterconnexions graphiques de blocs. Ces manuels contiennent aussi bien des
instructions pour lutilisateur que la description du langage. Il est conseill, lors de la premire utilisation de ces langages, de se familiariser avec la mthodologie de la cration de
programmes laide du manuel.
Dans le logiciel, vous pouvez appeler laide en ligne (except pour HiGraph) qui rpondra
vos questions dtailles sur lutilisation des diteurs et compilateurs associs.

Progiciel optionnel pour le logiciel systme de S7-300/S7-400

Autres manuels

Vous trouverez la description des diffrents CPU et modules S7-300 et S7-400 ainsi
que des oprations des CPU dans les manuels suivants :

Pour lautomate programmable S7-300 : Installation et configuration


Caractristiques des CPU, Caractristiques des modules et Liste des oprations

Pour lautomate programmable S7-400 : Installation et configuration


Caractristiques des CPU, Caractristiques des modules et Liste des oprations
Vous trouverez des informations supplmentaires dans laide en ligne.

Assistance
supplmentaire

Nhsitez pas contacter votre agence Siemens si vous avez des questions restes
sans rponse dans le manuel ou dans les autres manuels de STEP 7 ou si vous
dsirez des informations sur le reste de la documentation ou sur les offres de
formation.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Avant-propos

Liste des fonctions


et blocs
fonctionnels

Les fonctions et blocs fonctionnels suivants sont dcrits dans ce manuel.


Fonction ou bloc fonctionnel

vi

Numro

Page

Temporisation sous forme de retard la monte mmoris (TONR)

FC80

5-2

Transfert indirect de blocs (IBLKMOV)

FC81

4-2

Remettre zro zone de mmentos ou de priphrie dans la mmoire


image (RSET)

FC82

1-2

Mettre un zone de mmentos ou de priphrie dans la mmoire image


(SET)

FC83

1-6

Ajouter valeur dans la table (ATT)

FC84

2-2

Premire valeur entre, premire sortie (FIFO)

FC85

2-4

Recherche de valeur dans table (TBL_FIND)

FC86

2-6

Dernire valeur entre, premire sortie (LIFO)

FC87

2-9

Excuter opration sur table (TBL)

FC88

2-11

Copier valeur de la table (TBL_WRD)

FC89

2-13

Dplacer mot vers registre dcalage (WSR)

FC90

3-2

Combiner valeur logiquement avec entre de table et mmoriser


(WRD_TBL)

FC91

2-15

Dplacer bit vers registre dcalage (SHRB)

FC92

3-4

Dcodeur 7 segments (SEG)

FC93

6-2

Conversion ASCII-hexa (ATH)

FC94

6-4

Conversion hexa-ASCII (HTA)

FC95

6-6

Encoder position binaire (ENCO)

FC96

6-8

Dcoder position binaire (DECO)

FC97

6-9

Complment 10 (BCDCPL)

FC98

6-10

Compter bits 1 (BITSUM)

FC99

6-11

Remettre zro plage de sorties directes (RSETI)

FC100

1-4

Mettre un plage de sorties directes (SETI)

FC101

1-8

Ecart type (DEV)

FC102

7-2

Tables de donnes corrles (CDT)

FC103

2-17

Excuter opration sur tables et mmoriser dans table cible (TBL_TBL)

FC104

2-19

Mise lchelle (SCALE)

FC105

6-12

Retour de mise lchelle (UNSCALE)

FC106

6-14

Algorithme davance et de retard de phase (LEAD_LAG)

FB80

6-16

Temporisation dalarme avec commande tout ou rien (DCAT)

FB81

5-4

Temporisation dalarme avec commande moteur (MCAT)

FB82

5-7

Comparaison de colonne de matrice (IMC)

FB83

8-2

Comparaison squentielle de colonne de matrice (SMC)

FB84

8-6

Barillet dvnement avec masquage (DRUM)

FB85

5-10

Rassembler/rpartir donnes de table (PACK)

FB86

4-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Sommaire

Fonctions de combinaison de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


1.1

Remettre zro zone de mmentos ou de priphrie dans


la mmoire image (RSET) : FC82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-2

1.2

Remettre zro plage de sorties directes (RSETI) : FC100 . . . . . . . . . . . . . . . . .

1-4

1.3

Mettre un zone de mmentos ou de priphrie dans


la mmoire image (SET) : FC83 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1-6

Mettre un plage de sorties directes (SETI) : FC101 . . . . . . . . . . . . . . . . . . . . . . .

1-8

Fonctions de table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-1

2.1

Ajouter valeur dans table (ATT) : FC84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-2

2.2

Premire valeur entre, premire sortie (FIFO) : FC85 . . . . . . . . . . . . . . . . . . . . .

2-4

2.3

Recherche de valeur dans table (TBL_FIND) : FC86 . . . . . . . . . . . . . . . . . . . . . . .

2-6

2.4

Dernire valeur entre, premire sortie (LIFO) : FC87 . . . . . . . . . . . . . . . . . . . . . .

2-9

2.5

Excuter opration sur table (TBL) : FC88 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-11

2.6

Copier valeur de la table (TBL_WRD) : FC89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-13

2.7

Combiner valeur logiquement avec entre de table et


mmoriser (WRD_TBL) : FC91 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-15

2.8

Tables de donnes corrles (CDT) : FC103 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-17

2.9

Excuter opration sur tables et mmoriser dans table cible (TBL_TBL) :


FC104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-19

Fonctions de dcalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-1

3.1

Dplacer mot vers registre dcalage (WSR) : FC90 . . . . . . . . . . . . . . . . . . . . . .

3-2

3.2

Dplacer bit vers registre dcalage (SHRB) : FC92 . . . . . . . . . . . . . . . . . . . . . . .

3-4

Fonction et bloc fonctionnel de transfert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-1

4.1

Transfert indirect de blocs (IBLKMOV) : FC81 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-2

4.2

Rassembler/rpartir donnes de table (Pack) : FB86 . . . . . . . . . . . . . . . . . . . . . . .

4-4

Fonction et blocs fonctionnels de temporisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-1

5.1

Temporisation sous forme de retard la monte mmoris (TONR) : FC80 . . .

5-2

5.2

Temporisation dalarme avec commande tout ou rien (DCAT) : FB81 . . . . . . . . .

5-4

5.3

Temporisation dalarme avec commande moteur (MCAT) : FB82 . . . . . . . . . . . . .

5-7

5.4

Barillet dvnement avec masquage (DRUM) : FB85 . . . . . . . . . . . . . . . . . . . . . .

5-10

1.4
2

1-1

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

vii

Sommaire

Fonctions et bloc fonctionnel de conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-1

6.1

Dcodeur 7 segments (SEG) : FC93 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-2

6.2

Conversion ASCII-hexa (ATH) : FC94 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-4

6.3

Conversion hexa-ASCII (HTA) : FC95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-6

6.4

Encoder position binaire (ENCO) : FC96 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-8

6.5

Dcoder position binaire (DECO) : FC97 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-9

6.6

Complment 10 (BCDCPL) : FC98 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-10

6.7

Compter bits 1 (BITSUM) : FC99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-11

6.8

Mise lchelle (SCALE) : FC105 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-12

6.9

Annuler la mise lchelle (UNSCALE) : FC106 . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-14

6.10

Algorithme davance et de retard de phase (LEAD_LAG) : FB80 . . . . . . . . . . . . .

6-16

Fonction arithmtique sur nombres virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . .

7-1

7.1

Ecart type (DEV) : FC102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7-2

Blocs fonctionnels de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8-1

8.1

Comparaison de colonne de matrice (IMC) : FB83 . . . . . . . . . . . . . . . . . . . . . . . . .

8-2

8.2

Comparaison squentielle de colonne de matrice (SMC) : FB84 . . . . . . . . . . . . .

8-6

Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossaire-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1

viii

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de combinaison de bits

Ce chapitre dcrit les fonctions de combinaison de bits (FC) dont vous disposez en
plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la
programmation.
Paragraphe

Thme

Page

1.1

Remettre zro zone de mmentos ou de priphrie dans la


mmoire image (RSET) : FC82

1-2

1.2

Remettre zro plage de sorties directes (RSETI) : FC100

1-4

1.3

Mettre un zone de mmentos ou de priphrie dans la mmoire image (SET) : FC83

1-6

1.4

Mettre un plage de sorties directes (SETI) : FC101

1-8

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

1-1

Fonctions de combinaison de bits

1.1

Remettre zro zone de mmentos ou de priphrie dans la mmoire


image (RSET) : FC82

Description

La fonction Remettre zro zone de mmentos ou de priphrie dans la mmoire


image (RSET) remet zro ltat de signal des bits dune zone donne lorsque le bit
MCR est 1 . Si le bit MCR est 0 , ltat de signal des bits nest pas modifi.
Le nombre de bits de la zone devant tre remis zro est indiqu par le paramtre N.
Le paramtre S_BIT indique le dbut de la zone.

Paramtres

Le tableau 1-1 dcrit les paramtres de la fonction RSET.

Tableau 1-1

Remettre zro zone de mmentos ou de priphrie dans la mmoire image (FC82) : paramtres
Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

S_BIT

Entre

POINTER* E, A, M, D

Pointe sur le premier bit de la zone.

Entre

INT

Nombre de bits de la zone devant tre remis zro.

E, A, M, D, L,
P ou constante

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

1-2

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de combinaison de bits

Informations
derreur

Lorsque le pointeur S_BIT renvoie la zone de mmoire de la priphrie externe


(zone P), ltat de signal des bits de la zone nest pas modifi et ltat de signal de
ENO est mis 0 .

Exemple

La figure 1-1 montre le mode de fonctionnement de lopration RSET. Si ltat de


signal de lentre E 0.0 gale 1 (entre active) et si le bit MCR gale 1, la fonction
RSET est excute. Dans cet exemple, le paramtre S_BIT dsigne le premier bit
ladresse M 0.0. Le paramtre N indique que 10 bits doivent tre remis zro. Une
fois lopration effectue, ltat de signal des bits de la zone de M 0.0 M 1.1 est
0 .
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

RSET
FC82
EN
ENO

E0.0
P#M 0.0
10

A4.0

S_BIT
N

Avant lexcution :
M0.7

M0.0

1 1 1 1 1 1 1 1
M1.7

M1.0

1 1 1 1 1 1 1 1

Figure 1-1

Aprs lexcution :
M0.7

M0.0

0 0 0 0 0 0 0 0
M1.7

M1.0

1 1 1 1 1 1 0 0

Remettre zro zone de mmentos ou de priphrie dans la mmoire image


(RSET)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

1-3

Fonctions de combinaison de bits

1.2

Remettre zro plage de sorties directes (RSETI) : FC100

Description

La fonction Remettre zro plage de sorties directes (RSETI) remet 0 ltat de


signal des bits dune plage doctets donne lorsque le bit MCR est 1 . Si le bit
MCR est 0 , ltat de signal des octets de la plage nest pas modifi. Le paramtre
S_BYTE dsigne le premier octet de la plage. Le paramtre N indique la taille de la
plage en prcisant le nombre de bits de cette dernire. Si, par exemple, vous dsirez
dfinir une plage de 2 octets, entrez 16 (16 bits) comme valeur du paramtre N.
Nota
La valeur du paramtre N doit tre un multiple de 8 (par exemple, 8, 16, 24, etc.).

Le pointeur S_BYTE doit renvoyer la zone de mmoire de la priphrie externe


(zone P). Comme laccs la zone de mmoire P se fait en format octet, mot ou double mot, le paramtre S_BYTE doit dsigner une adresse aligne sur une limite doctet, cest--dire que le numro de bit du pointeur doit tre 0 .
Nota
Ltat de signal des bits correspondants dans la mmoire image des sorties (zone de
mmoire A) est galement remis 0 .

Paramtres
Tableau 1-2

Le tableau 1-2 dcrit les paramtres de la fonction RSETI.


Remettre zro plage de sorties directes (FC100) : paramtres
Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

S_BYTE

Entre

POINTER* P

Pointe sur le premier octet de la plage.

Entre

INT

Taille de la plage doctets devant tre remise 0 ,


indique par le nombre de bits (multiples de 8, par exemple
8, 16, etc.).

E, A, M, D, L,
P ou constante

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

1-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de combinaison de bits

Informations
derreur

Ltat de signal des bits de la plage nest pas modifi et ltat de signal de ENO est
mis 0 si lune des situations suivantes se prsente :

Le pointeur S_BYTE dsigne une autre zone de mmoire que celle de la priphrie externe (zone P).

Le pointeur S_BYTE dsigne une adresse qui nest pas aligne sur une limite
doctet.

La valeur du paramtre N nest pas un multiple de 8.


Exemple

La figure 1-2 montre le mode de fonctionnement de lopration RSETI. Si ltat de


signal de lentre E 0.0 gale 1 (entre active) et si le bit MCR gale 1, la fonction
RSETI est excute. Dans cet exemple, le paramtre S_BYTE dsigne le premier
octet ladresse P 2.0. Le paramtre N indique que 16 bits (2 octets) doivent tre
remis zro. Une fois lopration effectue, ltat de signal des octets de la plage de
P 2.0 P 3.7 est 0 .
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

RSETI
FC100
EN
ENO

E0.0
P#P 2.0
16

A4.0

S_BYTE
N

Avant lexcution :
P1.7

Aprs lexcution :
P1.0

1 1 1 1 1 1 1 1
P2.7

P2.0

1 1 1 1 1 1 1 1
P3.7

P3.0

1 1 1 1 1 1 1 1
P4.7

P4.0

1 1 1 1 1 1 1 1

Figure 1-2

P1.7

P1.0

1 1 1 1 1 1 1 1
P2.7

P2.0

0 0 0 0 0 0 0 0
P3.7

P3.0

0 0 0 0 0 0 0 0
P4.7

P4.0

1 1 1 1 1 1 1 1

Remettre zro plage de sorties directes (RSETI)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

1-5

Fonctions de combinaison de bits

1.3

Mettre un zone de mmentos ou de priphrie dans la mmoire image


(SET) : FC83

Description

La fonction Mettre un zone de mmentos ou de priphrie dans la mmoire image


(SET) met 1 ltat de signal des bits dune zone donne lorsque le bit MCR est
1 . Si le bit MCR est 0 , ltat de signal des bits de la zone nest pas modifi.
Le nombre de bits de la zone devant tre mis 1 est indiqu par le paramtre N.
Le paramtre S_BIT indique le dbut de la zone.

Paramtres

Le tableau 1-3 dcrit les paramtres de la fonction SET.

Tableau 1-3

Mettre un zone de mmentos ou de priphrie dans la mmoire image (FC83) : paramtres


Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

S_BIT

Entre

POINTER* E, A, M, D

Pointe sur le premier bit de la zone.

Entre

INT

Nombre de bits de la zone devant tre mis 1.

E, A, M, D, L,
P ou constante

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

1-6

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de combinaison de bits

Informations
derreur

Lorsque le pointeur S_BIT renvoie la zone de mmoire de la priphrie externe


(zone P), ltat de signal des bits de la zone nest pas modifi et ltat de signal de
ENO est mis 0 .

Exemple

La figure 1-3 montre le mode de fonctionnement de lopration SET. Si ltat de


signal de lentre E 0.0 gale 1 (entre active) et si le bit MCR gale 1, la fonction
SET est excute. Dans cet exemple, le paramtre S_BIT dsigne le premier bit
ladresse M 0.0. Le paramtre N indique que 10 bits doivent tre mis 1. Une fois
lopration effectue, ltat de signal des 10 bits de la zone de M 0.0 M 1.1 est 1 .
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

SET
FC83
EN
ENO

E0.0
P#M 0.0
10

S_BIT
N

Avant lexcution :

Aprs lexcution :

M0.7
M0.0
0 0 0 0 0 0 0 0

M0.7
M0.0
1 1 1 1 1 1 1 1

M1.7

M1.0

0 0 0 0 0 0 0 0

Figure 1-3

A4.0

M1.7

M1.0

0 0 0 0 0 0 1 1

Mettre un zone de mmentos ou de priphrie dans la mmoire image (SET)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

1-7

Fonctions de combinaison de bits

1.4

Mettre un plage de sorties directes (SETI) : FC101

Description

La fonction Mettre un plage de sorties directes (SETI) met ltat de signal des bits
dune plage donne doctets 1 lorsque le bit MCR est 1 . Si le bit MCR est
0 , ltat de signal des octets nest pas modifi. Le paramtre S_BYTE dsigne le
premier octet de la plage. Le paramtre N indique la taille de la plage en prcisant le
nombre de bits de cette dernire. Si, par exemple, vous dsirez dfinir une plage de 2
octets, entrez 16 (16 bits) comme valeur du paramtre N.
Nota
La valeur du paramtre N doit tre un multiple de 8 (par exemple, 8, 16, 24, etc.).

Le pointeur S_BYTE doit renvoyer la zone de mmoire de la priphrie externe


(zone P). Comme laccs la zone de mmoire P se fait en format octet, mot ou double mot, le paramtre S_BYTE doit dsigner une adresse sur une limite doctet, cest-dire que le numro de bit du pointeur doit tre 0 .
Nota
Ltat de signal des bits correspondants dans la mmoire image des sorties (zone de
mmoire A) est galement remis 0 .

Paramtres

Le tableau 1-4 dcrit les paramtres de la fonction SETI.

Tableau 1-4

Mettre un plage de sorties directes (FC101) : paramtres


Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

S_BYTE

Entre

POINTER* P

Pointe sur le premier octet de la plage.

Entre

INT

Taille de la plage doctets devant tre mise 1 indique


par le nombre des bits (multiples de 8, par exemple 8, 16,
etc.).

E, A, M, D, L,
P ou constante

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

1-8

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de combinaison de bits

Informations
derreur

Ltat de signal des bits de la plage nest pas modifi et ltat de signal de ENO est
mis 0 si lune des situations suivantes se prsente :

Le pointeur S_BYTE dsigne une autre zone de mmoire que celle de la priphrie externe (zone P).

Le pointeur S_BYTE dsigne une adresse qui nest pas aligne sur une limite
doctet.

La valeur du paramtre N nest pas un multiple de 8.


Exemple

La figure 1-4 montre le mode de fonctionnement de lopration SETI. Si ltat de


signal de lentre E 0.0 gale 1 (entre active) et si le bit MCR gale 1, la fonction
SETI est excute. Dans cet exemple, le paramtre S_BYTE dsigne le premier octet
ladresse P 2.0. Le paramtre N indique que 16 bits (2 octets) doivent tre mis 1.
Une fois lopration effectue, ltat de signal des octets de la plage de P 2.0 P 3.7
est 1 .
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

SETI
FC101
EN
ENO

E0.0
P#P 2.0
16

A4.0

S_BYTE
N

Avant lexcution :
P1.7

Aprs lexcution :
P1.0

0 0 0 0 0 0 0 0
P2.7

P2.0

0 0 0 0 0 0 0 0
P3.7

P3.0

0 0 0 0 0 0 0 0
P4.7

P4.0

0 0 0 0 0 0 0 0

Figure 1-4

P1.7

P1.0

0 0 0 0 0 0 0 0
P2.7

P2.0

1 1 1 1 1 1 1 1
P3.7

P3.0

1 1 1 1 1 1 1 1
P4.7

P4.0

0 0 0 0 0 0 0 0

Mettre un plage de sorties directes (SETI)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

1-9

Fonctions de combinaison de bits

1-10

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

Ce chapitre dcrit les fonctions de table dont vous disposez en plus des oprations
standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe

Thme

Page

2.1

Ajouter valeur dans table (ATT) : FC84

2-2

2.2

Premire valeur entre, premire sortie (FIFO) : FC85

2-4

2.3

Recherche de valeur dans table (TBL_FIND) : FC86

2-6

2.4

Dernire valeur entre, premire sortie (LIFO) : FC87

2-9

2.5

Excuter opration sur table (TBL) : FC88

2-11

2.6

Copier valeur de la table (TBL_WRD) : FC89

2-13

2.7

Combiner valeur logiquement avec entre de table et mmoriser (WRD_TBL) : FC91

2-15

2.8

Tables de donnes corrles (CDT) : FC103

2-17

2.9

Excuter opration sur tables et mmoriser dans table cible


(TBL_TBL) : FC104

2-19

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-1

Fonctions de table

2.1

Ajouter valeur dans table (ATT) : FC84

Description

La fonction Ajouter valeur dans table (ATT) ajoute le paramtre DATA comme entre
suivante dans une table et incrmente le nombre dentres dune entre. La table est
compose de mots. Cette fonction vous permet dajouter des entres de table qui sont
utilises par les fonctions FIFO et LIFO.

La premire entre dune table FIFO ou LIFO indique la longueur maximale de la


table.

La deuxime entre dune table indique le nombre dentres.


La troisime entre de la table contient le premier mot de donnes.
Nota
Vous devez initialiser les deux premires entres lorsque vous crez une table.

Paramtres
Tableau 2-1

Le tableau 2-1 dcrit les paramtres de la fonction ATT.


Ajouter valeur dans table (FC84) : paramtres

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le cadre


de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

DATA

Entre

WORD

E, A, M, D, L,
P ou constante

Donnes devant tre entres dans la table.

TABLE

Entre

POINTER* E, A, M, D

Type de
donnes

Zone de
mmoire

Description

Pointe sur ladresse de dbut de la table FIFO ou LIFO.

Pointeur en format double mot pour ladressage indirect interzone par registre

2-2

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

Informations
derreur

Si le nombre des entres est suprieur ou gal la longueur de la table, les donnes ne
sont pas ajoutes la table et ltat de signal de ENO est mis 0 .

Exemple

La figure 2-1 montre le mode de fonctionnement de lopration ATT. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction ATT est effectue. Dans cet
exemple, le paramtre DATA est ajout la table comme cinquime entre et le nombre dentres de la table augmente de 1 pour passer de 4 5.
Si la fonction est excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

E0.0
W#16#0024
P#DB1.DBX10.0

ATT
FC84
EN
ENO

A4.0

DATA
TABLE

Avant lexcution :
TABLE (longueur de la table)
Nombre dentres

DBW10 = W#16#0006
DBW12 = W#16#0004
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0000
DBW24 = W#16#0000

Aprs lexcution :
TABLE (longueur de la table)
Nombre dentres

Figure 2-1

DBW10 = W#16#0006
DBW12 = W#16#0005
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000

Ajouter valeur dans table (ATT)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-3

Fonctions de table

2.2

Premire valeur entre, premire sortie (FIFO) : FC85

Description

La fonction Premire valeur entre, premire sortie (FIFO) renvoie la valeur la plus
ancienne de la table FIFO comme valeur de fonction. Le nombre dentres diminue
dune entre. Si des entres se trouvent encore dans la table, celles-ci sont dcales
vers le bas. La table FIFO est constitue de mots. Avec la fonction ATT, vous pouvez
ajouter des valeurs la table FIFO.

La premire entre dune table indique la longueur maximale de la table.


La deuxime entre de la table indique le nombre dentres.
La troisime entre de la table contient le premier mot de donnes.
Paramtres
Tableau 2-2

Le tableau 2-2 dcrit les paramtres de la fonction FIFO.


Premire valeur entre, premire sortie (FC85) : paramtres
Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

TABLE

Entre

POINTER* E, A, M, D

Pointe sur ladresse de dbut de la table FIFO.

RET_VAL

Sortie

WORD

Lentre la plus ancienne de la table FIFO.

E, A, M, D, L, P

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

2-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

Informations
derreur

Si la table FIFO est vide (nombre dentres = 0), le paramtre RET_VAL nest pas
modifi et ltat de signal de ENO est mis 0 .

Exemple

La figure 2-2 montre le mode de fonctionnement de lopration FIFO. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction FIFO est excute. Dans cet
exemple, lentre la plus ancienne de la table est renvoye comme valeur de fonction
(MW2). Le nombre dentres diminue de 1 pour passer de 5 4 et les entres restantes
sont dcales vers le bas de la table.
Si la fonction est excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

FIFO
FC85

E0.0
EN
P#DB1.DBX10.0

A4.0
ENO

TABLE
RET_VAL

MW2

Avant lexcution :
TABLE (longueur de la table)
Nombre dentres

DBW10 = W#16#0006
DBW12 = W#16#0005
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000

RET_VAL

MW2 = W#16#0000
Aprs lexcution :

Figure 2-2

TABLE (longueur de la table)


Nombre dentres

DBW10 = W#16#0006
DBW12 = W#16#0004
DBW14 = W#16#0029
DBW16 = W#16#0090
DBW18 = W#16#0002
DBW20 = W#16#0024
DBW22 = W#16#0024
DBW24 = W#16#0000

RET_VAL

MW2 = W#16#0012

Premire valeur entre, premire sortie (FIFO)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-5

Fonctions de table

2.3

Recherche de valeur dans table (TBL_FIND) : FC86

Description

La fonction Recherche de valeur dans table (TBL_FIND) permet de rechercher dans


la mmoire des profils particuliers ou des profils incompatibles. La fonction excute
une comparaison (CMD) entre le profil source (PATRN) et les entres de la table
source (SRC). Il sagit de trouver la prochaine entre ( partir de lentre indique par
le paramtre INDX) de la table rpondant aux critres de comparaison. Le numro de
cette entre est plac dans le paramtre INDX. Si aucune entre ne rpond aux critres
de comparaison, le paramtre INDX pointe au-del de la table et la sortie de la fonction est dsactive.

Si CMD gale 1, la fonction cherche la premire valeur correspondant la valeur


PATRN.

Si CMD gale 2, la fonction cherche la premire valeur ne correspondant pas la


valeur PATRN.

La premire entre dans la table indique la longueur maximale de la table.


La deuxime entre dans la table contient la premire valeur de la table.
Nota
Vous devez initialiser la premire entre de la table (cest--dire la longueur de la
table).

2-6

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

Paramtres
Tableau 2-3

Le tableau 2-3 dcrit les paramtres de la fonction TBL_FIND.


Recherche de valeur dans table (FC86) : paramtres
Dclaration

Paramtres

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

SRC

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table.

PATRN

Entre

POINTER* E, A, M, D

Pointe sur le profil devant tre recherch.

CMD

Entre

BYTE

E, A, M, D, L, P

Indique le type dopration :


B#16#01 = gal
B#16#02 = diffrent

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres dans la table. Pour


la fonction TBL_FIND, les types de donnes suivants
sont admis :
B#16#02 = BYTE
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque


lopration a t effectue sans erreur. Pour toute valeur
en retour autre que W#16#0000, reportez-vous aux
informations derreur.

INDX

Entre/sortie

WORD

E, A, M, D, L

Indice de la table fournissant les informations suivantes :


Entre : Entre partir de laquelle la recherche doit
commencer
Sortie : Numro de lentre correspondant au
profil dfini

Pointeur en format double mot pour ladressage indirect interzone par registre

Informations
derreur

Dans les situations dcrites ci-dessous, les valeurs de la table ne sont pas modifies.
Ltat de signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes (voir tableau 2-4) :
Tableau 2-4

Situations derreur pour FC86

RET_VAL

Explication

W#16#0008

Aucune entre na rpondu aux critres de recherche.

W#16#0009

Paramtre E_TYPE et/ou paramtre CMD incorrects.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-7

Fonctions de table

Exemple

La figure 2-3 montre le mode de fonctionnement de lopration TBL_FIND. Si ltat


de signal lentre E 0.0 gale 1 (entre active), la fonction TBL_FIND est excute.
Dans cet exemple, les donnes de la table sont enregistres dans des mots commenant lentre dsigne par le paramtre SRC, car le paramtre E_TYPE gale 4. Ces
mots sont compars au profil 5555, enregistr ladresse indique par le paramtre
PATRN. Comme la valeur du paramtre CMD gale 1, la premire valeur correspondant au profil est recherche dans le paramtre SRC. Le paramtre INDX indique
lentre laquelle la recherche doit commencer. Une fois lopration effectue, le paramtre INDX indique lentre de la table dans laquelle une correspondance au profil
a t trouve.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

E0.0

TBL_FIND
FC86
EN
ENO

P#DB1.DBX0.0

SRC

P#DB2.DBX10.0

MW0

RET_VAL

PATRN

B#16#01

CMD

B#16#04

E_TYPE

MW2

A4.0
La premire entre de la table indique
la longueur de lopration de
recherche. La valeur 0004 signifie que
la recherche est effectue dans les
4 entres suivantes de la table.
INDX indique DW0 avant lopration,
la valeur DW6 aprs lexcution, car
le profil ladresse DW6 correspond
au profil 5555 ladresse du pointeur
PATRN.

INDX

Avant lexcution :
SRC (longueur de la table)

DBW0 = W#16#0004
DBW2 = W#16#1111
DBW4 = W#16#3333
DBW6 = W#16#5555
DBW8 = W#16#7777

INDX

MW2 = W#16#0000

PATRN

DBW10 = W#16#5555

Aprs lexcution :
INDX

Figure 2-3

2-8

MW2 = W#16#0003

Recherche de valeur dans table (TBL_FIND)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

2.4

Dernire valeur entre, premire sortie (LIFO) : FC87

Description

La fonction Dernire valeur entre, premire sortie (LIFO) renvoie lentre la plus
rcente de la table LIFO comme valeur de fonction. Le nombre dentres diminue
dune entre. La table LIFO se compose de mots. Avec la fonction ATT, vous pouvez
entrer des valeurs dans la table LIFO.

La premire entre dune table indique la longueur maximale de la table.


La deuxime entre de la table indique le nombre dentres.
La troisime entre de la table contient le premier mot de donnes.
Paramtres
Tableau 2-5

Le tableau 2-5 dcrit les paramtres de la fonction LIFO.


Dernire valeur entre, premire sortie (FC87) : paramtres
Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

TABLE

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table LIFO.

RET_VAL

Sortie

WORD

Lentre la plus rcente de la table LIFO.

E, A, M, D, L, P

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-9

Fonctions de table

Informations
derreur

Si la table LIFO est vide (nombre dentres = 0), le paramtre RET_VAL nest pas
modifi et ltat de signal de ENO est mis 0 .

Exemple

La figure 2-4 montre le mode de fonctionnement de lopration LIFO. Si ltat de


signal lentre E 0.0 gale 1 (entre active), la fonction LIFO est excute. Dans cet
exemple, lentre la plus rcente de la table LIFO est renvoye comme valeur de fonction (MW2). Le nombre dentres diminue de 1 pour passer de 5 4.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

LIFO
FC87

E0.0
EN
P#DB1.DBX10.0

A4.0

ENO

TABLE
RET_VAL

MW2

Avant lexcution :
TABLE (longueur de la table)
Nombre dentres

DBW10 = W#16#0006
DBW12 = W#16#0005
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000

RET_VAL

MW2 = W#16#0000
Aprs lexcution :

Figure 2-4

2-10

TABLE (longueur de la table)


Nombre dentres

DBW10 = W#16#0006
DBW12 = W#16#0004
DBW14 = W#16#0012
DBW16 = W#16#0029
DBW18 = W#16#0090
DBW20 = W#16#0002
DBW22 = W#16#0024
DBW24 = W#16#0000

RET_VAL

MW2 = W#16#0024

Dernire valeur entre, premire sortie (LIFO)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

2.5

Excuter opration sur table (TBL) : FC88

Description

La fonction Excuter opration sur table (TBL) excute lopration (CMD) indique
sur la table source et crit le rsultat dans la mme entre de la table.

La premire entre dans la table indique la longueur maximale de la table.


La deuxime entre dans la table contient la premire valeur de la table.
Si le paramtre E_TYPE a la valeur REAL, la valeur de CMD correspondant au
complment 1 nest pas autorise.
Nota
Vous devez initialiser la premire entre lorsque vous crez la table.

Paramtres
Tableau 2-6

Le tableau 2-6 dcrit les paramtres de la fonction TBL.


Excuter opration sur table (FC88) : paramtres
Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

SRC

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table.

CMD

Entre

BYTE

E, A, M, D, L, P

Indique le type dopration devant tre effectue. Les


oprations et valeurs suivantes sont admises :
B#16#03 = Complment 1
B#16#04 = Effacer
B#16#05 = NON
B#16#06 = Racine carre

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres de la table. Pour la


fonction TBL, les types de donnes suivants sont admis :
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration


a t effectue sans erreur. Pour toute valeur en retour autre
que W#16#0000, reportez-vous aux informations derreur.

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-11

Fonctions de table

Informations
derreur

Si CMD et E_TYPE sont incompatibles ou incorrects, les valeurs de la table restent


inchanges. Ltat de signal de ENO est mis 0 et RET_VAL est mis la valeur
W#16#0008.

Exemple

La figure 2-5 montre le mode de fonctionnement de lopration TBL. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction TBL est excute. Dans cet
exemple, le paramtre SRC dsigne les adresses du bloc de donnes qui seront traites
par lopration. Comme le paramtre E_TYPE gale 4, les donnes de la table sont
enregistres dans les mots commenant lentre indique par le paramtre SRC.
Comme la valeur de CMD est 4 (Effacer), tous les mots de la table sont effacs (mis
0 ) lorsque lopration TBL est excute. La longueur indique dans la premire
entre de la table tant 5, les cinq entres suivantes de la table sont effaces.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

TBL
FC88

E0.0
EN

A4.0
ENO

P#DB1.DBX0.0

SRC

B#16#04

CMD

B#16#04

E_TYPE

RET_VAL

MW0

Avant lexcution :
SRC (longueur de la table)

DBW0 = W#16#0005
DBW2 = W#16#2000
DBW4 = W#16#3000
DBW6 = W#16#4000
DBW8 = W#16#5000
DBW10 = W#16#6000

Aprs lexcution :
SRC (longueur de la table)

Figure 2-5

2-12

DBW0 = W#16#0005
DBW2 = W#16#0000
DBW4 = W#16#0000
DBW6 = W#16#0000
DBW8 = W#16#0000
DBW10 = W#16#0000

Excuter opration sur table (TBL)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

2.6

Copier valeur de la table (TBL_WRD) : FC89

Description

La fonction Copier valeur de la table (TBL_WRD) copie lentre indique par le paramtre INDX de la table SRC lemplacement indiqu par le paramtre DEST et incrmente la valeur de INDX, dans la mesure o la valeur de celui-ci est infrieure la
longueur indique dans le premier mot de la table SRC[0]. Si le paramtre INDX indique la dernire entre de la table lorsque lopration est appele, le bit de sortie Q est
mis 0 aprs lexcution de lopration.

La premire entre dans la table indique la longueur maximale de la table.


La deuxime entre dans la table contient la premire valeur de la table.
Nota
Vous devez initialiser la premire entre lorsque vous crez la table.

Paramtres
Tableau 2-7
Paramtres

Le tableau 2-7 dcrit les paramtres de la fonction TBL_WRD.


Copier valeur de la table (FC89) : paramtres
Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

SRC

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table.

DEST

Entre

POINTER* E, A, M, D

Pointe sur la destination.

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres de la table. Pour la


fonction TBL_WRD, les types de donnes suivants sont
admis :
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.

Sortie

BOOL

A, M, D, L

Donne la valeur 0 en retour lorsque la variable INDX


contient la dernire entre de la table lappel de la
fonction.

INDX

Entre/sortie

WORD

E, A, M, L

Numro de lentre devant tre copie.

Pointeur en format double mot pour ladressage indirect interzone par registre

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-13

Fonctions de table

Informations
derreur

Dans les situations dcrites au tableau 2-8, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-8

Situations derreur pour FC89

RET_VAL

Exemple

Explication

W#16#0007

Le paramtre INDX est gal 0.

W#16#0008

Le paramtre E_TYPE est incorrect.

W#16#0009

Le paramtre INDX pointe au-del de la fin de la table.

La figure 2-6 montre le mode de fonctionnement de lopration TBL_WRD. Si ltat


de signal lentre E 0.0 gale 1 (entre active), la fonction TBL_WRD est excute.
Comme le paramtre E_TYPE gale 4, les donnes (mots) ranges dans la table commenant lentre dsigne par SRC sont copies dans lentre dsigne par DEST.
La valeur de INDX dsigne lentre de table copier. Une fois lopration excute
sans erreur, la valeur de INDX est automatiquement incrmente dune entre aprs
lentre copie. Dans cet exemple, lappel de la fonction, la valeur de INDX ne
contient pas la dernire entre de la table ; par consquent, le paramtre Q est mis
1 aprs lopration.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

TBL_WRD
FC89
EN
ENO

E0.0

P#DB1.DBX0.0

SRC

P#DB2.DBX20.0

DEST

B#16#04
MW1

A4.0

RET_VAL

MW0

M2.0

E_TYPE
INDX

Avant lexcution :
SRC (longueur de la table)

DBW0 = W#16#0004
DBW2 = W#16#2000
DBW4 = W#16#3000
DBW6 = W#16#4000
DBW8 = W#16#5000

INDX

MW1 = W#16#0001

DEST

DBW20 = W#16#0000

Aprs lexcution :

Figure 2-6

2-14

INDX

MW1 = W#16#0002

DEST

DBW20 = W#16#2000

Copier valeur de la table (TBL_WRD)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

2.7

Combiner valeur logiquement avec entre de table et mmoriser


(WRD_TBL) : FC91

Description

La fonction Combiner valeur logiquement avec entre de table et mmoriser


(WRD_TBL) excute la commande indique (CMD) entre les donnes source (indiques par SRC) et lentre de la table au dcalage indiqu par le paramtre INDX. La
fonction incrmente alors la valeur de INDX, dans la mesure o la valeur de celui-ci
est infrieure la longueur de la table.

La premire entre dans la table indique la longueur maximale de la table.


La deuxime entre dans la table contient la premire valeur de la table.
Si le paramtre E_TYPE a la valeur REAL, CMD ne peut avoir que la valeur correspondant Copier .
Nota
Vous devez initialiser la premire entre lorsque vous crez la table.

Paramtres
Tableau 2-9
Paramtres

Le tableau 2-9 dcrit les paramtres de la fonction WRD_TBL.


Combiner valeur logiquement avec entre de table et mmoriser (FC91) : paramtres
Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

SRC

Entre

POINTER* E, A, M, D

Indique les donnes source.

TABLE

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table.

CMD

Entre

BYTE

E, A, M, D, L, P

Indique le type dopration devant tre effectue. Les


oprations et valeurs suivantes sont admises :
B#16#0E = Copier
B#16#07 = Combinaison ET
B#16#08 = Combinaison OU
B#16#09 = Combinaison OU exclusif

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres de la table. Pour la


fonction WRD_TBL, les types de donnes suivants sont
admis :
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque


lopration a t effectue sans erreur. Pour toute valeur
en retour autre que W#16#0000, reportez-vous aux
informations derreur.

Sortie

BOOL

A, M, D, L

Donne la valeur 0 en retour lorsque INDX contient le


numro de la dernire entre de la table.

INDX

Entre/sortie

WORD

E, A, M, D, L

Numro de lentre sur laquelle doit porter lopration.

Pointeur en format double mot pour ladressage indirect interzone par registre

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-15

Fonctions de table

Informations
derreur

Dans les situations dcrites au tableau 2-10, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-10

Situations derreur pour FC91

RET_VAL

Exemple

Explication

W#16#0007

Le paramtre INDX est gal 0.

W#16#0008

CMD et E_TYPE sont incompatibles ou incorrects.

W#16#0009

Le paramtre INDX pointe au-del de la fin de la table.

La figure 2-7 montre le mode de fonctionnement de lopration WRD_TBL. Si ltat


de signal lentre E 0.0 gale 1 (entre active), la fonction WRD_TBL est excute.
Comme le paramtre E_TYPE gale 6, les donnes (doubles mots) sont ranges dans
la table commenant ladresse de mmoire dsigne par le paramtre TABLE. Le
premier mot de la table indique que la table contient trois doubles mots. La valeur de
INDX indique lentre de la table devant tre traite par lopration. Comme la valeur
de CMD gale 8, une combinaison OU est effectue sur la valeur dsigne par le paramtre INDX. Comme la valeur de INDX est 2, le deuxime double mot (66665544)
est combin selon OU la valeur dsigne par SRC (11111111). Aprs lexcution de
lopration, le rsultat de la combinaison OU (77775555) est rcrit dans la table et la
valeur de INDX est automatiquement incrmente dune entre. Si le paramtre
INDX pointe sur la dernire entre de la table lappel de lopration, le bit de sortie
Q est mis 0 aprs lexcution. Dans cet exemple, la valeur de INDX ne contient
pas la dernire entre de cette table ; par consquent, le paramtre Q est mis 1
aprs lopration.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

WRD_TBL
FC91
EN
ENO

E0.0
P#DB2.DBX20.0
P#DB1.DBX0.0
B#16#08
B#16#06
MW1

Figure 2-7

2-16

SRC RET_VAL
Q
TABLE
CMD
E_TYPE
INDX

A4.0
MW0
M 2.0

Avant lexcution :
SRC
DBD20
DBW0
TABLE (longueur de la table)
DBD2
DBD6
DBD10
INDX
MW1

= DW#16#11111111
= W#16#0003
= DW#16#99998877
= DW#16#66665544
= DW#16#33332222
= W#16#0002

Aprs lexcution :
TABLE (longueur de la table)
DBW0
DBD2
DBD6
DBD10
INDX
MW1

= W#16#0003
= DW#16#99998877
= DW#16#77775555
= DW#16#33332222
= W#16#0003

Combiner valeur logiquement avec entre de table et mmoriser (WRD_TBL)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

2.8

Tables de donnes corrles (CDT) : FC103

Description

La fonction Tables de donnes corrles (CDT) compare une valeur dentre (IN)
une table dentre prexistante (IN_TBL) et localise la premire entre de cette table
suprieure ou gale la valeur dentre. Dans ce cas, lindice de lentre localise est
utilis pour copier, dans la valeur de sortie (OUT), la valeur correspondante de la table
de sortie (OUT_TBL).

Les valeurs de la table dentre doivent tre en ordre croissant : la premire entre
de la table contient la plus petite valeur et la dernire entre la plus grande valeur.

La taille de la valeur dentre, des valeurs de la table et de la valeur de sortie est


dtermine partir de E_TYPE.

La premire entre dans la table indique la longueur maximale de la table.


La deuxime entre dans la table contient la premire valeur de la table.
Le nombre dentres des deux tables doit tre suprieur ou gal zro.
Nota
Vous devez initialiser la premire entre lorsque vous crez chaque table.

Paramtres
Tableau 2-11
Paramtres

Le tableau 2-11 dcrit les paramtres de la fonction CDT.


Tables de donnes corrles (FC103) : paramtres
Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

IN_TBL

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table dentre.

OUT_TBL

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table de sortie.

IN

Entre

POINTER* E, A, M, D

Pointe sur la valeur dentre.

OUT

Entre

POINTER* E, A, M, D

Pointe sur la valeur de sortie.

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres de la table. Pour la


fonction CDT, les types de donnes suivants sont admis :
B#16#05 = INT
B#16#07 = DINT
B#16#08 = REAL

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.

Pointeur en format double mot pour ladressage indirect interzone par registre

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-17

Fonctions de table

Informations
derreur

Dans les situations dcrites au tableau 2-12, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-12

Situations derreur pour FC103

RET_VAL

Exemple

Explication

W#16#0001

Indication dun type de mmoire incorrect pour un paramtre

W#16#0002

E_TYPE incorrect

W#16#0003

La longueur de la table dentre et celle de la table de sortie ne correspondent pas.

W#16#0004

La longueur de la table est zro.

W#16#0007

Aucune valeur de IN_TBL nest suprieure ou gale la valeur dentre.

La figure 2-8 montre le mode de fonctionnement de lopration CDT. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction CDT est excute. Dans cet
exemple, les deux tables IN_TBL et OUT_TBL contiennent cinq entres comme indiqu par le premier mot de chaque table. Le paramtre E_TYPE prcise que le type de
donnes des valeurs des tables est INTEGER et la valeur de IN est 22. La valeur de
IN_TBL qui est suprieure ou gale 22 est 64 qui a lindice 5. La valeur corrle
dans OUT_TBL est 25 ; la valeur 25 est donc crite dans OUT.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

E0.0
EN
P#DB1.DBX0.0
P#DB1.DBX100.0
P#DB1.DBX200.0
P#DB1.DBX210.0
B#16#05

CDT
FC103

A4.0
ENO

IN_TBL
RET_VAL
OUT_TBL
IN
OUT
E_TYPE

MW0

Avant lexcution :
IN_TBL (longueur de la table)
DBW0 = W#16#0005
DBW2 = 2
DBW4 = 4
DBW6 = 8
DBW8 = 16
DBW10 = 64
OUT_TBL (longueur de la table)
DBW100= W#16#0005
DBW102= 5
DBW104= 10
DBW106= 15
DBW108= 20
DBW110= 25
IN
DBW200= 22
OUT
DBW210= 0
OUT
Figure 2-8

2-18

Aprs lexcution :
DBW210= 25
Tables de donnes corrles (CDT)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de table

2.9

Excuter opration sur tables et mmoriser dans table cible (TBL_TBL) :


FC104

Description

La fonction Excuter opration sur tables et mmoriser dans table cible (TBL_TBL)
excute la commande indique (CMD) sur les entres correspondantes des deux tables
source (TBL1 et TBL2) et crit le rsultat dans les entres correspondantes de la table
de destination (DEST_TBL).

Les types de donnes INT, DINT et REAL ne sont valables que pour les oprations arithmtiques.

La premire entre dans la table indique la longueur maximale de la table.


Le nombre dentres dans toutes les tables doit tre identique et doit tre suprieur
zro.
Nota
Vous devez initialiser la premire entre lorsque vous crez chaque table.

Paramtres
Tableau 2-13

Le tableau 2-13 dcrit les paramtres de la fonction TBL_TBL.


Excuter opration sur tables et mmoriser dans table cible (FC104) : paramtres
Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction est excute sans erreur.

TBL1

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la premire table source.

TBL2

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la seconde table source.

DEST_TBL

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table de destination.

CMD

Entre

BYTE

E, A, M, D, L, P

Indique le type dopration devant tre effectue. Les


oprations et valeurs suivantes sont admises :
B#16#07 = Combinaison ET
B#16#08 = Combinaison OU
B#16#09 = Combinaison OU exclusif
B#16#0a = Addition
B#16#0b = Soustraction
B#16#0c = Multiplication
B#16#0d = Division

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres de la table. Pour la


fonction TBL_TBL, les types de donnes suivants sont
admis :
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration a


t effectue sans erreur. Pour toute valeur en retour autre
que W#16#0000, reportez-vous aux informations derreur.

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

2-19

Fonctions de table

Informations
derreur

Dans les situations dcrites au tableau 2-14, la fonction nest pas excute. Ltat de
signal de ENO est mis 0 et la valeur en retour est mise lune des valeurs suivantes :
Tableau 2-14

Situations derreur pour FC104

RET_VAL

Exemple

Explication

W#16#0001

Indication dun type de mmoire incorrect pour un paramtre

W#16#0002

E_TYPE incorrect

W#16#0003

La longueur des tables dentre et celle de la table de sortie ne correspondent pas.

W#16#0004

La longueur de la table est zro.

W#16#0005

Les paramtres E_TYPE et CMD ne sont pas compatibles.

W#16#0006

CMD incorrect

La figure 2-9 montre le mode de fonctionnement de lopration TBL_TBL. Si ltat


de signal lentre E 0.0 gale 1 (entre active), la fonction TBL_TBL est excute.
Dans cet exemple, toutes les tables contiennent trois entres comme indiqu par le
premier mot de chaque table. Le paramtre E_TYPE prcise que le type de donnes
des valeurs des tables est WORD et le paramtre CMD que la commande excuter
sur TBL1 et TBL2 est la combinaison ET.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

E0.0
EN
P#DB1.DBX0.0
P#DB1.DBX20.0
P#DB1.DBX40.0
B#16#07
B#16#04

TBL_TBL
FC104

A4.0
ENO

RET_VAL
TBL1
TBL2
DEST_TBL
CMD
E_TYPE

Avant lexcution :
TBL1 (longueur de la table)
DBW0
DBW2
DBW4
DBW6
TBL2 (longueur de la table)
DBW20
DBW22
DBW24
DBW26
DEST_TBL (longueur de la table)
DBW40
DBW42
DBW44
DBW46
Aprs lexcution :
DEST_TBL (longueur de la table)
DBW40
DBW42
DBW44
DBW46
Figure 2-9

2-20

MW0

= W#16#0003
= W#16#00FF
= W#16#FF00
= W#16#FFFF
= W#16#0003
= W#16#1111
= W#16#2222
= W#16#3333
= W#16#0003
= W#16#0000
= W#16#0000
= W#16#0000
= W#16#0003
= W#16#0011
= W#16#2200
= W#16#3333

Excuter opration sur tables et mmoriser dans table cible (TBL_TBL)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de dcalage

Ce chapitre dcrit les fonctions de dcalage dont vous disposez en plus des oprations
standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe

Thme

Page

3.1

Dplacer mot vers registre dcalage (WSR) : FC90

3-2

3.2

Dplacer bit vers registre dcalage (SHRB) : FC92

3-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

3-1

Fonctions de dcalage

3.1

Dplacer mot vers registre dcalage (WSR) : FC90

Description

La fonction Dplacer mot vers registre dcalage (WSR) dplace des donnes en provenance de la source indique vers un registre dcalage. Les valeurs sont dplaces
vers ladresse suivante. Le paramtre LENGTH indique le nombre dadresses devant
tre dplaces. Les donnes contenues dans la dernire adresse du registre dcalage
sont perdues lissue de lopration. De nouvelles donnes sont lues partir de la
source (S_DATA) chaque fois que lopration est excute. Ces donnes sont dplaces vers ladresse de dbut (START) du registre dcalage lorsque lentre RESET
est mise 0 . Si lentre RESET est mise 1 , les adresses du registre sont mises 0 lors de lexcution de lopration. La sortie Q est active lorsque le registre
dcalage est vide ou quil est effac (cest--dire aprs une remise zro ou lorsque
le registre ne contient que des zros).

Paramtres

Le tableau 3-1 dcrit les paramtres de la fonction WSR.

Tableau 3-1

Dplacer mot vers registre dcalage (FC90) : paramtres


Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

RESET

Entre

BOOL

E, A, M, D, L

Si mis 1 , le registre dcalage est remis zro.

S_DATA

Entre

POINTER* E, A, M, D

Pointe sur les donnes source devant tre insres dans la


table.

START

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table.

LENGTH

Entre

WORD

E, A, M, D, L, P

Nombre dlments devant tre dplacs.

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres de la table. Pour la


fonction WSR, les types de donnes suivants sont admis :
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL

Sortie

BOOL

A, M, D, L

Indique 0 lorsque le paramtre RESET est actif ( 1) ou


que tous les lments devant tre dplacs ont la valeur
0 .

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

3-2

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de dcalage

Informations
derreur

Si le paramtre E_TYPE est incorrect, la fonction nest pas excute et ltat de signal
de ENO est mis 0 .

Exemple

La figure 3-1 montre le mode de fonctionnement de lopration WSR. Si ltat de signal lentre E 0.0 gale 1 (entre active), la fonction WSR est excute. Comme le
paramtre E_TYPE gale 4, des mots sont enregistrs dans la table commenant
ladresse de mmoire dsigne par START. Le paramtre LENGTH indique 4 ,
signifiant que 4 mots doivent tre dplacs, le premier mot tant indiqu par le pointeur START. Aprs que la premire valeur de la table a t dplace vers ladresse
suivante, la premire adresse reoit les donnes dsignes par le pointeur S_DATA. La
dernire valeur de la table est perdue. Lorsque lentre RESET est mise 1 , les
adresses de la table sont mises 0 et ne sont pas dplaces.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

WSR
FC90

E0.0
EN
M1.0

RESET

P#DB2.DBX6.0

S_DATA

P#DB1.DBX0.0

START

B#16#04

LENGTH

B#16#04

E_TYPE

START

A4.0
ENO
Q

M2.0

Avant lexcution :
DW0 = W#16#1111
DW2 = W#16#2222
DW4 = W#16#3333
DW6 = W#16#4444

S_DATA

DW6 = W#16#1234

RESET

M1.0 = FALSE

Aprs lexcution :
START

Figure 3-1

DW0
DW2
DW4
DW6

= W#16#1234
= W#16#1111
= W#16#2222
= W#16#3333

Dplacer mot vers registre dcalage (WSR)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

3-3

Fonctions de dcalage

3.2

Dplacer bit vers registre dcalage (SHRB) : FC92

Description

La fonction Dplacer bit vers registre dcalage (SHRB) dplace un bit de la source
indique (DATA) vers un registre dcalage. De nouvelles donnes sont lues partir
de la source chaque fois que lopration est excute. Ces donnes sont dplaces
vers ladresse de dbut (S_BIT) du registre dcalage lorsque lentre RESET est
0 . Tous les autres bits suivants sont repousss dun bit. Le bit dans la dernire
adresse (S_BIT + N) est perdu aprs le dplacement. Lorsque lentre RESET est
mise 1 , les adresses de la table sont mises 0 et ne sont pas dplaces.

Paramtres

Le tableau 3-2 dcrit les paramtres de la fonction SHRB.

Tableau 3-2

Dplacer bit vers registre dcalage (FC92) : paramtres


Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

DATA

Entre

BOOL

E, A, M, D, L

Bit source

RESET

Entre

BOOL

E, A, M, D, L

Si mis 1 , le registre dcalage est remis zro.

S_BIT

Entre

POINTER* E, A, M, D

Pointe sur le bit de dbut dans le registre dcalage.

Entre

WORD

Longueur du registre dcalage (nombre de bits devant


tre dplacs).

E, A, M, D, L, P

Description

* Pointeur en format double mot pour ladressage indirect interzone par registre

3-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions de dcalage

Informations
derreur

Cette fonction ne reconnat aucune erreur.

Exemple

La figure 3-2 montre le mode de fonctionnement de lopration SHRB. Si ltat de


signal lentre E 0.0 gale 1 (entre active), la fonction SHRB est excute. Dans
cet exemple, le paramtre N est gal 14 (E en notation hexadcimale), indiquant
que 14 bits doivent tre dplacs, en commenant par le premier bit ladresse de
pointeur S_BIT. Une fois les bits dplacs, la premire adresse reoit les donnes indiques par lentre DATA. La toute dernire valeur binaire est perdue.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

SHRB
FC92
EN
ENO

E0.0
0

DATA

RESET

P#DB1.DBX1.4
B#16#0E

Figure 3-2

A4.0

S_BIT
N

Avant le dplacement :
S_BIT
1.0
1.7
0 0 1 1 1 0 1 0

Aprs le dplacement :
S_BIT
1.0
1.7
0 1 1 0 1 0 1 0

2.0
2.7
0 0 1 1 1 0 1 0

2.0
2.7
0 1 1 1 0 1 0 0

3.0
3.7
0 0 1 1 1 0 1 0

3.0
3.7
0 0 1 1 1 0 0 0

Dplacer bit vers registre dcalage (SHRB)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

3-5

Fonctions de dcalage

3-6

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et bloc fonctionnel de transfert

Ce chapitre dcrit la fonction (FC) et le bloc fonctionnel (FB) de transfert dont vous
disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse
lors de la programmation.
Paragraphe

Thme

Page

4.1

Transfert indirect de blocs (IBLKMOV) : FC81

4-2

4.2

Rassembler/rpartir donnes de table (PACK) : FB86

4-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

4-1

Fonction et bloc fonctionnel de transfert

4.1

Transfert indirect de blocs (IBLKMOV) : FC81

Description

Avec la fonction Transfert indirect de blocs (IBLKMOV), vous pouvez transfrer un


bloc de donnes constitu soit doctets, de mots, de nombres entiers de 16 bits, de
doubles mots ou de nombres entiers de 32 bits dun bloc source un bloc de destination. Le nombre dlments devant tre transfr est indiqu par le paramtre
LENGTH. La taille des lments est indique par le paramtre E_TYPE. Les pointeurs S_DATA et D_DATA indiquent ladresse des pointeurs identifiant ladresse de
dbut des donnes source et celle des donnes de destination. Comme les donnes
devant tre transfres sont dsignes de cette faon indirecte, cette fonction est appele fonction de transfert indirect.

Paramtres

Le tableau 4-1 dcrit les paramtres de la fonction IBLKMOV.

Tableau 4-1

Transfert indirect de blocs (FC81) : paramtres


Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

S_DATA

Entre

POINTER* E, A, M, D

Indique un pointeur identifiant ladresse de dbut des


donnes source.

LENGTH

Entre

POINTER* E, A, M, D

Indique la longueur du bloc de donnes devant tre


transfr.

D_DATA

Entre

POINTER* E, A, M, D

Indique un pointeur identifiant ladresse de dbut des


donnes de destination.

E_TYPE

Entre

BYTE

Indique le type de donnes. Pour la fonction IBLKMOV,


les types de donnes suivants sont admis :
B#16#02 = BYTE
B#16#04 = WORD
B#16#05 = INT
B#16#06 = DWORD
B#16#07 = DINT
B#16#08 = REAL

E, A, M, D, L

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

4-2

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et bloc fonctionnel de transfert

Informations
derreur

Si le paramtre E_TYPE est incorrect, la fonction nest pas excute et ltat de signal
de ENO est mis 0 .

Exemple

La figure 4-1 montre le mode de fonctionnement de lopration IBLKMOV. Si ltat


de signal lentre E 0.0 gale 1 (entre active), la fonction est excute. Le paramtre S_DATA pointe sur DB1.DBX0.0 qui contient le pointeur DB1.DBX50.0 (adresse
de dbut des donnes source). Le paramtre D_DATA pointe sur DB1.DBX20.0 qui
contient le pointeur DB2.DBX10.0 (adresse de dbut des donnes de destination).
Aprs lexcution de la fonction, un bloc de deux mots est transfr.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

IBLKMOV
FC81
EN
ENO

E0.0
P#DB1.DBX0.0

S_DATA

P#DB1.DBX10.0

LENGTH

P#DB1.DBX20.0
B#16#04

D_DATA
E_TYPE

S_DATA

A4.0

Avant lexcution :
DBX0.0 = P#DB1.DBX50.0
DBW50 = W#16#2424
DBW52 = W#16#2525

LENGTH

DBW10 = W#16#0002

D_DATA

DBX20.0= P#DB2.DBX10.0
DBW10 = W#16#0000
DBW12 = W#16#0000

Aprs lexcution :
D_DATA

Figure 4-1

DBW10 = W#16#2424
DBW12 = W#16#2525

Transfert indirect de blocs (IBLKMOV)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

4-3

Fonction et bloc fonctionnel de transfert

4.2

Rassembler/rpartir donnes de table (Pack) : FB86

Description

Le bloc fonctionnel Rassembler/rpartir donnes de table (PACK) transfre des donnes entre des adresses individuelles et une table. Le paramtre DIR prcise le sens du
transfert. Chaque opration PACK traite jusqu cinq paquets de donnes : P_DATA1
P_DATA5. Si DIR indique vers , le bloc fonctionnel FB86 rassemble les donnes
de ces adresses dans la table prcise. En revanche, si DIR indique partir de , les
donnes sont rparties de la table vers les diffrentes adresses.
Voici les rgles pour rassembler des donnes dans une table :

Les bits individuels (BOOL) sont transfrs dans le bit disponible suivant de la
table.

Les types de donnes de huit bits sont transfrs dans loctet disponible suivant de
la table. Lorsquun octet est crit dans la table, des zros sont reports dans les bits
non utiliss de loctet prcdent.

Les types de donnes de 16 et de 32 bits sont transfrs dans le mot disponible


suivant de la table. Lorsquun mot est crit dans la table, des zros sont reports
dans les bits non utiliss du mot prcdent.
Voici les rgles pour rpartir des donnes partir dune table :

Il est interdit de sauter des sections dune table.


Tous les bits BOOL indiqus sont transfrs partir de la table.
Les types de donnes de huit bits sont transfrs partir du premier octet disponible de la table. Ainsi, les bits non utiliss dans loctet prcdent de la table ne sont
pas inclus dans un octet transfr partir de la table.

Les types de donnes de 16 et de 32 bits sont transfrs partir du premier mot


disponible de la table. Ainsi, les bits non utiliss du mot prcdent de la table ne
sont pas inclus dans un mot transfr partir de la table.
Le bloc fonctionnel PACK autorise les types de donnes suivants pour le pointeur
ANY :

BOOL
WORD
INT
BYTE
DINT
REAL
CHAR
DWORD

4-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et bloc fonctionnel de transfert

Paramtres
Tableau 4-2

Le tableau 4-2 dcrit les paramtres du bloc fonctionnel PACK.


Rassembler/rpartir donnes de table (FB86) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque le


bloc fonctionnel a t excut sans erreur.

TABLE

Entre

POINTER* E, A, M, D

Pointe sur le dbut de la table.

P_DATA1

Entre

ANY

E, A, M, D

Dsigne le dbut dun paquet de donnes transfrer.

P_DATA2

Entre

ANY

E, A, M, D

Dsigne le dbut dun paquet de donnes transfrer.

P_DATA3

Entre

ANY

E, A, M, D

Dsigne le dbut dun paquet de donnes transfrer.

P_DATA4

Entre

ANY

E, A, M, D

Dsigne le dbut dun paquet de donnes transfrer.

P_DATA5

Entre

ANY

E, A, M, D

Dsigne le dbut dun paquet de donnes transfrer.

ERR_CODE

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque


lopration a t effectue sans erreur. Pour toute valeur
en retour autre que W#16#0000, reportez-vous aux
informations derreur.

DIR

statique

BOOL

E, A, M, D, L

Sens du transfert. Ltat de signal 0 signifie vers et


ltat de signal 1 signifie partir de .

Pointeur en format double mot pour ladressage indirect interzone par registre

Informations
derreur

Dans les situations dcrites au tableau 4-3, le bloc fonctionnel nest pas excut. Ltat
de signal de ENO est mis 0 et ERR_CODE prend lune des valeurs suivantes :
Tableau 4-3

Situations derreur pour FB86

ERR_CODE

Explication

W#16#0001

Indication dun type de mmoire incorrect pour un paramtre

W#16#0002

E_TYPE incorrect

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

4-5

Fonction et bloc fonctionnel de transfert

Exemple

La figure 4-2 montre le mode de fonctionnement de lopration PACK. Si ltat de


signal lentre E 0.0 gale 1 (entre active), le bloc fonctionnel PACK est excut.
Dans cet exemple, quatre paquets de donnes sont rassembls dans la table.
Si le bloc fonctionnel a t excut sans erreur, ltat de signal de ENO et de A 4.0 est
mis 1 et ERR_CODE est mis la valeur W#16#0000.
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.

DB86
PACK
FB86

E0.0
EN
P#DB1.DBX0.0

TABLE

A4.0
ENO

ERR_CODE

P#M200.0 BOOL 2
P#M210.0 BYTE 1
P#M300.0 BOOL 2

P_DATA1
P_DATA2
P_DATA3

P#M330.0 WORD 1

P_DATA4

MW0

P_DATA5

TABLE

P_DATA1
P_DATA2
P_DATA3
P_DATA4
DIR

Avant lexcution :
DBB0
DBB1
DBB2
DBB3
DBB4
DBB4

= B#16#00
= B#16#00
= B#16#00
= B#16#00
= B#16#00
= B#16#00

M200.0 = TRUE
M200.1 = TRUE
M210.0 = B#16#FF
M300.0 = TRUE
M300.1 = TRUE
MW330 = B#16#FFFF
DB86 dinstance
DBX58.0 = FALSE

Aprs lexcution :
TABLE

Figure 4-2

4-6

DBB0
DBB1
DBB2
DBB3
DBB4
DBB4

= B#16#03
= B#16#FF
= B#16#03
= B#16#00
= B#16#FF
= B#16#FF

Rassembler/rpartir donnes de table (PACK)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et blocs fonctionnels de


temporisation

Ce chapitre dcrit la fonction (FC) et les blocs fonctionnels (FB) de temporisation


dont vous disposez en plus des oprations standard, vous offrant ainsi une plus grande
souplesse lors de la programmation.
Paragraphe

Thme

Page

5.1

Temporisation sous forme de retard la monte mmoris


(TONR) : FC80

5-2

5.2

Temporisation dalarme avec commande tout ou rien (DCAT)


: FB81

5-4

5.3

Temporisation dalarme avec commande moteur (MCAT) :


FB82

5-7

5.4

Barillet dvnement avec masquage (DRUM) : FB85

5-10

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

5-1

Fonction et blocs fonctionnels de temporisation

5.1

Temporisation sous forme de retard la monte mmoris (TONR) :


FC80

Description

La fonction Temporisation sous forme de retard la monte mmoris (TONR) mmorise la dure jusqu ce que la valeur en cours du temps coul (ET) soit suprieure
ou gale la valeur de temps prdfinie (PV). Comme la fonction TONR se base sur
le temps dexcution du dernier cycle du bloc dorganisation dans lequel elle sexcute pour mmoriser la dure coule, vous ne devez utiliser cette fonction que pour
les blocs dorganisation rptitifs tels que lOB1 et les blocs dorganisation cycliques.
Nota
Vous devez transfrer le temps de cycle du bloc dorganisation des variables locales
de dmarrage de la table de dclaration des variables du bloc dorganisation vers la
variable globale DELTA_T.

Tant que ltat de signal du paramtre RESET gale 0, que ltat de signal du paramtre TMR_EN gale 1 et que ET est infrieur PV, la fonction TONR ajoute la valeur
de DELTA_T la valeur de ET. Si ltat de signal du paramtre TMR_EN nest pas
1 , aucune valeur de temps nest ajoute la valeur ET. Lorsque la valeur ET est
suprieure ou gale la valeur PV, ltat de signal de la sortie Q est mis 1 . Une
fois la sortie Q active, elle le reste et la valeur de ET nest plus modifie jusqu la
remise zro. La fonction remet la valeur ET 0 et dsactive la sortie Q lorsque
ltat de signal du paramtre RESET est 1 .

Paramtres
Tableau 5-1

Le tableau 5-1 dcrit les paramtres de la fonction TONR.


Temporisation sous forme de retard la monte mmoris (FC80) : paramtres

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

TMR_EN

Entre

BOOL

E, A, M, D, L

Active la temporisation de mmorisation de la dure.

RESET

Entre

BOOL

E, A, M, D, L

Si RESET = 1, la temporisation est remise 0 .

PV

Entre

DINT

E, A, M, D, L,
P ou constante

Valeur prdfinie

DELTA_T

Entre

INT

E, A, M, D, L
ou constante

Temps dexcution de lOB lors du cycle prcdent.

Sortie

BOOL

A, M, D, L

Est mis 1 lorsque ET est suprieur ou gal PV.

ET

Entre/sortie

DINT

E, A, M, D, L

Valeur en cours du temps coul.

5-2

Type de
donnes

Zone de
mmoire

Description

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et blocs fonctionnels de temporisation

Informations
derreur

Cette fonction ne reconnat aucune erreur.

Exemple

La figure 5-1 montre le mode de fonctionnement de lopration TONR. Si ltat de


signal de lentre E 0.0 gale 1 (entre active), la fonction TONR est excute. Si
ltat de signal de lentre E 0.1 gale 1, si ltat de signal de E 0.2 gale 0 et si ET est
infrieur PV, la valeur DELTA_T est ajoute la valeur ET (100 + 50 = 150). Si la
valeur de ET est infrieure PV, ltat de signal de A 1.1 restera 0.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

TONR
FC80
EN
ENO

E0.0

A4.0

A1.1

E0.1
TMR_EN

E0.2
RESET
L#1000
#OB1_PREV_CYCLE
MD100

Figure 5-1

PV
DELTA_T
ET

Temporisation sous forme de retard la monte mmoris (TONR)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

5-3

Fonction et blocs fonctionnels de temporisation

5.2

Temporisation dalarme avec commande tout ou rien (DCAT) : FB81

Description

Le bloc fonctionnel Temporisation dalarme avec commande tout ou rien (DCAT)


mmorise la dure partir de la transition de lentre de commande (CMD) vers louverture ou vers la fermeture soit jusqu ce que le temps prdfini PT soit dpass,
soit jusqu ce que lentre en retour (O_FB ou O_FC) signale que lappareil sest
ouvert ou ferm pendant lintervalle de temps prescrit. Si le temps prdfini expire
avant rception du signal en retour, lalarme correspondante est active. Si la commande dentre change dtat avant le temps prdfini, le temps est redmarr.

Lorsque ltat de signal de lentre CMD passe de 0 1 , ltat de signal de


Q est mis 1 , ET est mis 0 , ltat de signal des deux sorties dalarme
(OA et CA) est mis 0 et celui de CMD_HIS est mis 1 .

Lorsque ltat de signal de lentre CMD passe de 1 0 , ltat de signal de


Q est mis 0 , ET est mis 0 , ltat de signal des deux sorties dalarme
(OA et CA) est mis 0 et celui de CMD_HIS est mis 0 .

Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 1 et que
ltat de signal de O_FB est 0 , la diffrence de temps (ms) depuis la dernire
excution du bloc fonctionnel est ajoute ET. Si ET dpasse PT, ltat de signal
de OA est mis 1 ; sinon, il est mis 0 . Ltat de signal de CMD_HIS est
pos gal celui de CMD.

Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 1 , que
celui de O_FB est 1 et que celui de C_FB est 0 , ltat de signal de OA est
mis 0 . ET est pos gal PT afin que si, par la suite, ltat de signal de O_FB
est mis 0 , lalarme soit active lors du prochain appel du bloc fonctionnel.
Ltat de signal de CMD_HIS est pos gal celui de CMD.

Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 0 et que
ltat de signal de C_FB est 0 , la diffrence de temps (ms) depuis la dernire
excution du bloc fonctionnel est ajoute ET. Si ET dpasse PT, ltat de signal
de CA est mis 1 ; sinon, il est mis 0 . Ltat de signal de CMD_HIS est
pos gal celui de CMD.

Lorsque ltat de signal des deux paramtres CMD et CMD_HIS est 0 , que
celui de O_FB est 0 et que celui de C_FB est 1 , ltat de signal de CA est
mis 0 . ET est pos gal PT afin que si, par la suite, ltat de signal de C_FB
est mis 0 , lalarme soit active lors de la prochaine excution du bloc fonctionnel. Ltat de signal de CMD_HIS est pos gal celui de CMD.

Si ltat de signal de O_FB et celui de C_FB sont 1 simultanment, il sagit


dune situation derreur et ltat de signal des deux sorties dalarme est mis
1 .

5-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et blocs fonctionnels de temporisation

Paramtres
Tableau 5-2
Paramtres

Le tableau 5-2 dcrit les paramtres du bloc fonctionnel DCAT.


Temporisation dalarme avec commande tout ou rien (FB81) : paramtres
Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque le


bloc fonctionnel a t excut sans erreur.

CMD

Entre

BOOL

E, A, M, D, L

Ltat de signal 0 correspond une commande de


fermeture et ltat de signal 1 une commande
douverture.

O_FB

Entre

BOOL

E, A, M, D, L

Entre de retour douverture

C_FB

Entre

BOOL

E, A, M, D, L

Entre de retour de fermeture

Sortie

BOOL

E, A, M, D, L

Suit lentre CMD.

OA

Sortie

BOOL

E, A, M, D, L

Sortie dalarme douverture

CA

Sortie

BOOL

E, A, M, D, L

Sortie dalarme de fermeture

ET

statique

DINT

E, A, M, D, L

Dcompte en cours du temps coul


avec 1 dcompte = 1 ms

PT

statique

DINT

E, A, M, D, L

Dcompte prdfini de la temporisation


avec 1 dcompte = 1 ms

PREV_TIME

statique

DWORD

E, A, M, D, L

Temps systme prcdent

CMD_HIS

statique

BOOL

E, A, M, D, L

Bit dhistorique de CMD

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

5-5

Fonction et blocs fonctionnels de temporisation

Informations
derreur

Ce bloc fonctionnel ne reconnat aucune erreur.

Exemple

La figure 5-2 montre le mode de fonctionnement de lopration DCAT. Si ltat de


signal de E0.0 gale 1 (entre active), le bloc fonctionnel DCAT est excut. Dans
cet exemple, lentre CMD passe de ltat de signal 0 ltat de signal 1
comme indiqu par CMD_HIS et CMD. En fonction de cela, Q et CMD_HIS sont mis
1 , ET est mis 0 et les deux sorties dalarme OA et CA sont mises 0 .
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A4.0 est
mis 1 .
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.

DB81
DCAT
FB81

E0.0
EN

A4.0
ENO

M0.0
Q

A 2.0

O_FB

OA

A 3.0

C_FB

CA

A 3.1

CMD
M1.0
M1.1

Avant lexcution :
CMD
O_FB
C_FB
Q
OA
CA

M0.0
M1.0
M1.1
M2.0
M3.0
M3.1

ET
PT
CMD_HIS

DB81 dinstance
DBD4
= L#12
DBD8
= L#222
DBX16.0 = FALSE

Q
OA
CA
ET
CMD_HIS

Figure 5-2

5-6

=
=
=
=
=
=

TRUE
FALSE
FALSE
FALSE
FALSE
FALSE

Aprs lexcution :
M2.0
= TRUE
M3.0
= FALSE
M3.1
= FALSE
DB81 dinstance
DBD4
= L#0
DBX16.0 = TRUE

Temporisation dalarme avec commande tout ou rien (DCAT)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et blocs fonctionnels de temporisation

5.3

Temporisation dalarme avec commande moteur (MCAT) : FB82

Description

Tableau 5-3

Le bloc fonctionnel Temporisation dalarme avec commande moteur (MCAT) mmorise la dure partir de la transition ON de lune des entres de commande ouverture ou fermeture soit jusqu ce que le temps prdfini PT soit dpass, soit jusqu
ce que lentre en retour correspondante signale que lappareil a achev lopration
commande pendant lintervalle de temps prescrit. Si le temps prdfini expire avant
rception du signal en retour, lalarme correspondante est active. Les descriptions de
la raction de MCAT aux diffrentes conditions dentre sont rsumes dans la table
de vrit MCAT (tableau 5-3 ).
Table de vrit pour MCAT
ENTREES

SORTIES

ET

O_HIS

C_HIS

O_CMD

C_CMD

S_CMD

O_FB

C_FB

OO

CO

OA

CA

ET

O_HIS

C_HIS

ETAT

PT

Alarme

PT

Alarme

Arrt

Arrt

Commencer ouverture

<PT

INC

Ouverture en cours

PT

Ouvert

>=PT

PT

Alarme douverture

Commencer fermeture

<PT

INC

Fermeture en cours

PT

Ferm

>=PT

PT

Alarme de fermeture

Arrt

Avec :
INC
PT
X
<PT
>= PT

=
=
=
=
=

Ajouter ET la diffrence de temps (ms) depuis la dernire excution du bloc fonctionnel


PT est pos gal ET
Sans objet
ET < PT
ET >= PT

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

5-7

Fonction et blocs fonctionnels de temporisation

Paramtres
Tableau 5-4

Le tableau 5-4 dcrit les paramtres du bloc fonctionnel MCAT.


Temporisation dalarme avec commande moteur (FB82) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque le


bloc fonctionnel a t excut sans erreur.

O_CMD

Entre

BOOL

E, A, M, D, L

Entre de commande douverture

C_CMD

Entre

BOOL

E, A, M, D, L

Entre de commande de fermeture

S_CMD

Entre

BOOL

E, A, M, D, L

Entre de commande darrt

O_FB

Entre

BOOL

E, A, M, D, L

Entre de retour douverture

C_FB

Entre

BOOL

E, A, M, D, L

Entre de retour de fermeture

OO

Sortie

BOOL

E, A, M, D, L

Sortie douverture

CO

Sortie

BOOL

E, A, M, D, L

Sortie de fermeture

OA

Sortie

BOOL

E, A, M, D, L

Sortie dalarme douverture

CA

Sortie

BOOL

E, A, M, D, L

Sortie dalarme de fermeture

Sortie

BOOL

E, A, M, D, L

Un tat de signal 1 indique une condition dalarme.

ET

statique

DINT

E, A, M, D, L

Dcompte en cours du temps coul


avec 1 dcompte = 1 ms

PT

statique

DINT

E, A, M, D, L

Dcompte prdfini de la temporisation


avec 1 dcompte = 1 ms

PREV_TIME

statique

DWORD

E, A, M, D, L

Temps systme prcdent

O_HIS

statique

BOOL

E, A, M, D, L

Bit dhistorique douverture

C_HIS

statique

BOOL

E, A, M, D, L

Bit dhistorique de fermeture

Informations
derreur

Ce bloc fonctionnel ne reconnat aucune erreur.

Exemple

La figure 5-3 montre le mode de fonctionnement de lopration MCAT. Si ltat de


signal de E0.0 gale 1 (entre active), le bloc fonctionnel MCAT est excut. Dans
cet exemple, en fonction de ltat des entres, MCAT est dans ltat OUVERTURE
EN COURS et les sorties sont dfinies en consquence.
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A4.0 est
mis 1 .
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.

5-8

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et blocs fonctionnels de temporisation

DB82
MCAT
FB82

E0.0
EN

A4.0
ENO

M0.0
O_CMD

OO

M2.0

C_CMD

CO

M2.1

S_CMD

OA

M3.0

O_FB

CA

M3.1

C_FB

M4.0

M0.1
M0.2
M1.0
M1.1

Avant lexcution :
O_CMD
C_CMD
S_CMD
O_FB
C_FB
OO
CO
OA
CA
Q

M0.0
M0.1
M0.2
M1.0
M1.1
M2.0
M2.1
M3.0
M3.1
M4.0

ET
PT
O_HIS
C_HIS

DB82 dinstance
DBD4
= L#2
DBD8
= L#22
DBX16.0 = TRUE
DBX16.1 = FALSE

OO
CO
OA
CA
Q

Aprs lexcution :
M2.0
M2.1
M3.0
M3.1
M4.0

ET
O_HIS
CMD_HIS

Figure 5-3

=
=
=
=
=
=
=
=
=
=

=
=
=
=
=

TRUE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE

TRUE
FALSE
FALSE
FALSE
TRUE

DB82 dinstance
DBD4
= L#4
DBX16.0 = TRUE
DBX16.1 = FALSE

Temporisation dalarme avec commande moteur (MCAT)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

5-9

Fonction et blocs fonctionnels de temporisation

5.4

Barillet dvnement avec masquage (DRUM) : FB85

Description

Le bloc fonctionnel Barillet dvnement avec masquage (DRUM) crit les valeurs
programmes (OUT_VAL) de ltape approprie dans les bits de sortie programms
(OUT1 OUT16) et le mot de sortie OUT_WORD en tenant compte des valeurs du
masque de validation (S_MASK) pour cette tape. Les valeurs de sortie restent inchanges tant que le barillet demeure dans ltape considre. Le barillet progressera
ltape suivante soit lorsque lvnement pour cette tape est vrai et que le temps programm pour ltape en cours a expir, soit lorsque ltat de signal de lentre de progression (JOG) passe de 0 1 . Lorsque ltat de signal de RESET gale 1 ,
le barillet est remis zro, ltape en cours tant alors pose gale ltape prdfinie
(DSP).
La dure passe sur une tape est dtermine par le produit de la base de temps prdfinie du barillet (DTBP) et des valeurs de dcompte prdfinies (S_PRESET) correspondant chaque tape. Au dbut de chaque nouvelle tape, cette valeur calcule est
charge dans DCC qui contient le temps restant pour ltape en cours. Si, par exemple, DTBP gale 2 et que la valeur prdfinie pour ltape 1 soit gale 100 (100 ms),
DCC sera gal 200 (200 ms).
Il est possible de programmer une tape avec une valeur de temps ou un vnement ou
avec les deux. Les tapes avec un bit dvnement et une valeur de temps de zro progressent ltape suivante ds que ltat de signal du bit dvnement est gal 1 .
Pour les tapes avec uniquement une valeur de temps, le temps commence scouler
ds lentre dans cette tape. Pour les tapes avec un bit dvnement et une valeur de
temps suprieure zro, le temps commence scouler lorsque ltat de signal du bit
dvnement gale 1 . Les bits dvnement sont initialiss ltat de signal 1 .
Lorsque le pointeur dtapes est sur la dernire tape programme (LST_STEP) et que
le temps pour cette tape a expir, ltat de signal de la sortie Q est mis 1 ; sinon
il est mis 0 . Une fois Q 1 , le barillet demeure dans cette tape jusqu la
remise zro (RESET).
Le masque configurable S_MASK permet de slectionner les bits individuels du mot
de sortie (OUT_WORD) et les bits de sortie (OUT1 OUT16) devant tre mis 1
ou 0 par les valeurs de sortie (OUT_VAL). Lorsquun bit du masque configurable est 1 , la valeur OUT_VAL met 1 ou 0 le bit correspondant.
Lorsquun bit du masque configurable est 0 , le bit correspondant reste inchang.
Chacun des bits du masque configurable pour les 16 tapes est configur ltat de
signal 1 .
Le bit de sortie OUT1 correspond au bit de poids faible et le bit de sortie OUT16 au
bit de poids fort de la sortie (mot) OUT_WORD.

5-10

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et blocs fonctionnels de temporisation

Paramtres
Tableau 5-5
Paramtres

Le tableau 5-5 dcrit les paramtres du bloc fonctionnel DRUM.


Barillet dvnement avec masquage (FB85) : paramtres
Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque le


bloc fonctionnel a t excut sans erreur.

RESET

Entre

BOOL

E, A, M, D, L

Ltat de signal 1 indique une condition de remise


zro.

JOG

Entre

BOOL

E, A, M, D, L

Une transition de ltat de signal de 0 1 fait


progresser le barillet ltape suivante.

DRUM_EN

Entre

BOOL

E, A, M, D, L

Ltat de signal 1 permet au barillet de progresser


selon les critres dvnement et de temps.

LST_STEP

Entre

BYTE

E, A, M, D, L ou
constante

Numro de la dernire tape programme

EVENT1

Entre

BOOL

E, A, M, D, L

Bit dvnement 1 ; tat de signal initial = 1

EVENT2

Entre

BOOL

E, A, M, D, L

Bit dvnement 2 ; tat de signal initial = 1

EVENT3

Entre

BOOL

E, A, M, D, L

Bit dvnement 3 ; tat de signal initial = 1

EVENT4

Entre

BOOL

E, A, M, D, L

Bit dvnement 4 ; tat de signal initial = 1

EVENT5

Entre

BOOL

E, A, M, D, L

Bit dvnement 5 ; tat de signal initial = 1

EVENT6

Entre

BOOL

E, A, M, D, L

Bit dvnement 6 ; tat de signal initial = 1

EVENT7

Entre

BOOL

E, A, M, D, L

Bit dvnement 7 ; tat de signal initial = 1

EVENT8

Entre

BOOL

E, A, M, D, L

Bit dvnement 8 ; tat de signal initial = 1

EVENT9

Entre

BOOL

E, A, M, D, L

Bit dvnement 9 ; tat de signal initial = 1

EVENT10

Entre

BOOL

E, A, M, D, L

Bit dvnement 10 ; tat de signal initial = 1

EVENT11

Entre

BOOL

E, A, M, D, L

Bit dvnement 11 ; tat de signal initial = 1

EVENT12

Entre

BOOL

E, A, M, D, L

Bit dvnement 12 ; tat de signal initial = 1

EVENT13

Entre

BOOL

E, A, M, D, L

Bit dvnement 13 ; tat de signal initial = 1

EVENT14

Entre

BOOL

E, A, M, D, L

Bit dvnement 14 ; tat de signal initial = 1

EVENT15

Entre

BOOL

E, A, M, D, L

Bit dvnement 15 ; tat de signal initial = 1

EVENT16

Entre

BOOL

E, A, M, D, L

Bit dvnement 16 ; tat de signal initial = 1

OUT1

Sortie

BOOL

E, A, M, D, L

Bit de sortie 1

OUT2

Sortie

BOOL

E, A, M, D, L

Bit de sortie 2

OUT3

Sortie

BOOL

E, A, M, D, L

Bit de sortie 3

OUT4

Sortie

BOOL

E, A, M, D, L

Bit de sortie 4

OUT5

Sortie

BOOL

E, A, M, D, L

Bit de sortie 5

OUT6

Sortie

BOOL

E, A, M, D, L

Bit de sortie 6

OUT7

Sortie

BOOL

E, A, M, D, L

Bit de sortie 7

OUT8

Sortie

BOOL

E, A, M, D, L

Bit de sortie 8

OUT9

Sortie

BOOL

E, A, M, D, L

Bit de sortie 9

OUT10

Sortie

BOOL

E, A, M, D, L

Bit de sortie 10

OUT11

Sortie

BOOL

E, A, M, D, L

Bit de sortie 11

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

5-11

Fonction et blocs fonctionnels de temporisation

Tableau 5-5

Barillet dvnement avec masquage (FB85) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

OUT12

Sortie

BOOL

E, A, M, D, L

Bit de sortie 12

OUT13

Sortie

BOOL

E, A, M, D, L

Bit de sortie 13

OUT14

Sortie

BOOL

E, A, M, D, L

Bit de sortie 14

OUT15

Sortie

BOOL

E, A, M, D, L

Bit de sortie 15

OUT16

Sortie

BOOL

E, A, M, D, L

Bit de sortie 16

Sortie

BOOL

E, A, M, D, L

Ltat de signal 1 indique que la dure de la dernire


tape a expir.

OUT_WORD

Sortie

WORD

E, A, M, D, L, P

Mot dans lequel le barillet crit les valeurs de sortie.

ERR_CODE

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.

JOG_HIS

statique

BOOL

E, A, M, D, L

Bit dhistorique de progression

EOD

statique

BOOL

E, A, M, D, L

Ltat de signal 1 indique que la dure de la dernire


tape a expir.

DSP

statique

BYTE

E, A, M, D, L, P

Etape prdfinie pour le barillet

DSC

statique

BYTE

E, A, M, D, L, P

Etape de barillet en cours

DCC

statique

DWORD

E, A, M, D, L, P

Dcompte dtape en cours

DTBP

statique

WORD

E, A, M, D, L, P

Base de temps prdfinie du barillet

PREV_TIME

statique

DWORD

E, A, M, D, L

Temps systme prcdent

S_PRESET

statique

ARRAY
OF WORD

E, A, M, D, L

Dcompte prdfini pour chaque tape [1 16]


avec 1 dcompte = 1 ms

OUT_VAL

statique

ARRAY
OF BOOL

E, A, M, D, L

Valeurs de sortie pour chaque tape [1 16, 0 15]

S_MASK

statique

ARRAY
OF BOOL

E, A, M, D, L

Masque configurable pour chaque tape [1 16, 0 15]


Etats de signal initiaux = 1.

Informations
derreur

Le barillet reste sur ltape en cours si lune des situations dcrites au tableau 5-6 se
prsente. Ltat de signal de ENO est mis 0 et ERR_CODE prend lune des
valeurs suivantes :
Tableau 5-6

Situations derreur pour FB85

ERR_CODE

5-12

Explication

W#16#000B

Valeur LST_STEP infrieure 1 ou suprieure 16

W#16#000C

Valeur DSC infrieure 1 ou suprieure LST_STEP

W#16#000D

Valeur DSP infrieure 1 ou suprieure LST_STEP

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction et blocs fonctionnels de temporisation

Exemple

La figure 5-4 montre le mode de fonctionnement de lopration DRUM. Si ltat de


signal de E0.0 gale 1 (entre active), le bloc fonctionnel DRUM est excut. Dans
cet exemple, le barillet progresse de ltape 1 ltape 2. Les bits de sortie (OUT1,
etc.) et OUT_WORD sont mis 1 en fonction du masque configur pour ltape 2
et des bits OUT_VAL pour ltape 2.
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A4.0 est
mis 1 et ERR_CODE prend la valeur W#16#0000.
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.

E0.0
EN

DB85
DRUM
FB85

A4.0
ENO

M0.0
RESET
M0.1
JOG

OUT1
OUT2
OUT3
OUT4

M4.0
M4.1
M4.2
M4.3

LST_STEP

OUT5

M4.4

EVENT1

OUT6

M4.5

EVENT2

OUT7

M4.6

EVENT3

OUT8

M4.7

EVENT4

OUT9

M5.0

EVENT5

OUT10

M5.1

M0.2
DRUM_EN
MB1
M20.0
M20.1
M20.2
M20.3
M20.4
M20.5
M20.6
M20.7

EVENT6

OUT11

M5.2

EVENT7

OUT12

M5.3

EVENT8

OUT13

EVENT9

OUT14

M5.4
M5.5

EVENT10

OUT15

M5.6

EVENT11

OUT16

M5.7

EVENT12
EVENT13

Q
OUT_WORD

M6.0
MW8

EVENT14
EVENT15

ERR_CODE

MW10

EVENT16

Figure 5-4

Barillet dvnement avec masquage (DRUM)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

5-13

Fonction et blocs fonctionnels de temporisation

Avant lexcution :
Entres
RESET
JOG
DRUM_EN
LST_STEP
EVENT2
EVENT4
EVENT6
EVENT8
EVENT10
EVENT12
EVENT14
EVENT16
JOG_HIS
EOD
DSP
DSC
DCC
DTBP
S_PRESET [1]
S_PRESET [2]
OUT_VAL [1,0]
OUT_VAL [1,1]
OUT_VAL [1,2]
OUT_VAL [1,3]
OUT_VAL [1,4]
OUT_VAL [1,5]
OUT_VAL [1,6]
OUT_VAL [1,7]
OUT_VAL [1,8]
OUT_VAL [1,9]
OUT_VAL [1,10]
OUT_VAL [1,11]
OUT_VAL [1,12]
OUT_VAL [1,13]
OUT_VAL [1,14]
OUT_VAL [1,15]
OUT_VAL [2,0]
OUT_VAL [2,1]
OUT_VAL [2,2]
OUT_VAL [2,3]
OUT_VAL [2,4]
OUT_VAL [2,5]
OUT_VAL [2,6]
OUT_VAL [2,7]
OUT_VAL [2,8]
OUT_VAL [2,9]
OUT_VAL [2,10]
OUT_VAL [2,11]
OUT_VAL [2,12]
OUT_VAL [2,13]
OUT_VAL [2,14]
OUT_VAL [2,15]

Avant lexcution (suite) :

M0.0
= FALSE
M0.1
= FALSE
M0.2
= TRUE
MB1
= B#16#08
M20.0
= FALSE
M20.1
= FALSE
M20.2
= FALSE
M20.3
= FALSE
M20.4
= FALSE
M20.5
= FALSE
M20.6
= FALSE
M20.7
= FALSE
DB85 dinstance
DBX12.0 = FALSE
DBX12.1 = FALSE
DBB13
= W#16#0001
DBB14
= W#16#0001
DBD16
= DW#16#0000000A
DBW20
= W#16#0001
DBW26
= W#16#0064
DBW28
= W#16#00C8
DBX58.0 = TRUE
DBX58.1 = TRUE
DBX58.2 = TRUE
DBX58.3 = TRUE
DBX58.4 = TRUE
DBX58.5 = TRUE
DBX58.6 = TRUE
DBX58.7 = TRUE
DBX59.0 = TRUE
DBX59.1 = TRUE
DBX59.2 = TRUE
DBX59.3 = TRUE
DBX59.4 = TRUE
DBX59.5 = TRUE
DBX59.6 = TRUE
DBX59.7 = TRUE
DBX60.0 = FALSE
DBX60.1 = FALSE
DBX60.2 = FALSE
DBX60.3 = FALSE
DBX60.4 = FALSE
DBX60.5 = FALSE
DBX60.6 = FALSE
DBX60.7 = FALSE
DBX61.0 = FALSE
DBX61.1 = FALSE
DBX61.2 = FALSE
DBX61.3 = FALSE
DBX61.4 = FALSE
DBX61.5 = FALSE
DBX61.6 = FALSE
DBX61.7 = FALSE

S_MASK [2,0]
S_MASK [2,1]
S_MASK [2,2]
S_MASK [2,3]
S_MASK [2,4]
S_MASK [2,5]
S_MASK [2,6]
S_MASK [2,7]
S_MASK [2,8]
S_MASK [2,9]
S_MASK [2,10]
S_MASK [2,11]
S_MASK [2,12]
S_MASK [2,13]
S_MASK [2,14]
S_MASK [2,15]
Sorties
Q
OUTWORD
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
OUT9
OUT10
OUT11
OUT12
OUT13
OUT14
OUT15
OUT16

5-14

= FALSE
= TRUE
= TRUE
= TRUE
= TRUE
= FALSE
= TRUE
= TRUE
= FALSE
= FALSE
= TRUE
= TRUE
= TRUE
= TRUE
= FALSE
= TRUE

M6.0
MW8
M4.0
M4.1
M4.2
M4.3
M4.4
M4.5
M4.6
M4.7
M5.0
M5.1
M5.2
M5.3
M5.4
M5.5
M5.6
M5.7

= FALSE
= W#16#FFFF
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE
= TRUE

Aprs lexcution :
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
OUT9
OUT10
OUT11
OUT12
OUT13
OUT14
OUT15
OUT16
Q
OUTWORD
ERR_CODE
JOG_HIS
EOD
DSC
DCC

Figure 5-4

DBX92.0
DBX92.1
DBX92.2
DBX92.3
DBX92.4
DBX92.5
DBX92.6
DBX92.7
DBX93.0
DBX93.1
DBX93.2
DBX93.3
DBX93.4
DBX93.5
DBX93.6
DBX93.7

M4.0
= TRUE
M4.1
= FALSE
M4.2
= FALSE
M4.3
= FALSE
M4.4
= FALSE
M4.5
= TRUE
M4.6
= FALSE
M4.7
= FALSE
M5.0
= TRUE
M5.1
= TRUE
M5.2
= FALSE
M5.3
= FALSE
M5.4
= FALSE
M5.5
= FALSE
M5.6
= TRUE
M5.7
= FALSE
M6.0
= FALSE
MW8
= W#16#4321
MW10
= W#16#0000
DB85 dinstance
DBX12.0 = FALSE
DBX12.1 = FALSE
DBB14
= W#16#0002
DBD16
= DW#16#000000C8

Barillet dvnement avec masquage (DRUM) (suite)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

Ce chapitre dcrit les fonctions (FC) et le bloc fonctionnel (FB) de conversion dont
vous disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe

Thme

Page

6.1

Dcodeur 7 segments (SEG) : FC93

6-2

6.2

Conversion ASCII-hexa (ATH) : FC94

6-4

6.3

Conversion hexa-ASCII (HTA) : FC95

6-6

6.4

Encoder position binaire (ENCO) : FC96

6-8

6.5

Dcoder position binaire (DECO) : FC97

6-9

6.6

Complment 10 (BCDCPL) : FC98

6-10

6.7

Compter bits 1 (BITSUM) : FC99

6-11

6.8

Mise lchelle (SCALE) : FC105

6-12

6.9

Annuler la mise lchelle (UNSCALE) : FC106

6-14

6.10

Algorithme davance et de retard de phase (LEAD_LAG) :


FB80

6-16

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-1

Fonctions et bloc fonctionnel de conversion

6.1

Dcodeur 7 segments (SEG) : FC93

Description

La fonction Dcodeur 7 segments (SEG) convertit chacun des quatre chiffres hexadcimaux du mot source indiqu (IN) en quatre codes quivalents pour un affichage 7
segments et les crit dans le double mot de sortie (OUT).
La figure 6-1 montre la relation entre les chiffres hexadcimaux dentre et les profils
binaires de sortie.

Figure 6-1

Paramtres
Tableau 6-1

Chiffre

g f e d c b a Affichage

0000
0001
0010

00111111
00000110
01011011

0
1
2

0011

01001111

0100

01100110

0101

01101101

0110
0111
1000

01111101
00000111
01111111

6
7
8

1001

01100111

1010

01110111

1011

01111100

1100
1101
1110

00111001
01011110
01111001

C
d
E

1111

01110001

Affichage
sept segments
a

b
g
c
d

Profils binaires de sortie pour dcodeur 7 segments

Le tableau 6-1 dcrit les paramtres de la fonction SEG.


Dcodeur 7 segments (FC93) : paramtres

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le cadre


de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

WORD

E, M, D, P ou
constante

Mot de donnes source quatre chiffres hexadcimaux.

OUT

Sortie

DWORD

A, M, D, L, P

Profil binaire destination sur quatre octets.

6-2

Type de
donnes

Zone de
mmoire

Description

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

Informations
derreur

Cette fonction ne reconnat aucune erreur.

Exemple

La figure 6-2 montre le mode de fonctionnement de lopration SEG. Si ltat de


signal de lentre E 0.0 gale 1 (entre active), la fonction SEG est excute.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

SEG
FC93
EN
ENO

E0.0

W#16#1234

IN

OUT

Figure 6-2

OUT

A4.0

MD0

MD0 = DW#16#065B4F66

Dcodeur 7 segments (SEG)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-3

Fonctions et bloc fonctionnel de conversion

6.2

Conversion ASCII-hexa (ATH) : FC94

Description

La fonction Conversion ASCII-hexa (ATH) convertit la chane de caractres ASCII


dsigne par le paramtre IN en chiffres hexadcimaux quelle range dans la table de
destination dsigne par le paramtre OUT. Comme un caractre ASCII ncessite
8 bits et un chiffre hexadcimal seulement 4 bits, la longueur du mot de sortie est
infrieure de moiti celle du mot dentre. Aprs la conversion, les caractres ASCII
sont rangs dans la sortie hexadcimale dans le mme ordre qu leur lecture. Si le
nombre de caractres ASCII est impair, le chiffre hexadcimal du quartet de droite du
chiffre hexadcimal converti en dernier est complt par des zros.

Paramtres

Le tableau 6-2 dcrit les paramtres de la fonction ATH.

Tableau 6-2

Conversion ASCII-hexa (FC94) : paramtres

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

POINTER* E, A, M, D, L

Pointe sur ladresse de dbut dune chane de caractres


ASCII.

Entre

INT

E, A, M, L, P

Nombre de caractres dentre ASCII devant tre


convertis.

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration


a t effectue sans erreur. Pour toute valeur en retour autre
que W#16#0000, reportez-vous aux informations derreur.

OUT

Sortie

POINTER* A, M, D, L

Type de
donnes

Zone de
mmoire

Description

Pointe sur ladresse de dbut de la table.

* Pointeur en format double mot pour ladressage indirect interzone par registre

Informations
derreur

Si un caractre ASCII incorrect est dcel, il est converti en 0 . Ltat de signal de


ENO est mis 0 et la valeur en retour RET_VAL est gale W#16#0007.

Exemple

La figure 6-3 montre le mode de fonctionnement de lopration ATH. Si ltat de


signal de lentre E 0.0 gale 1 (entre active), la fonction ATH est excute. Le
paramtre dentre N gal 5 indique que 5 caractres ASCII doivent tre convertis.
Les caractres ASCII sont enregistrs dans le bloc de donnes 1 commenant
ladresse indique par le pointeur IN : DB1.DBX10.0. La chane de sortie sera range
ladresse indique par le pointeur OUT commenant DB2.DBX0.0 (bloc de donnes 2). Comme le nombre de caractres ASCII est impair, le dernier chiffre hexadcimal ne contient que des zros dans le quartet de droite, la valeur hexadcimale tant
alors 0xC0 (pour la correspondance hexadcimale de chaque caractre ASCII, reportez-vous la figure 6-4).
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et la valeur en retour RET_VAL est gale W#16#000.

6-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

ATH
FC94
EN
ENO

E0.0
P#DB1.DBX10.0

IN

RET_VAL

W#16#05

OUT

A4.0
MW0
P#DB2.DBX0.0

Avant lexcution :
Reprsentation chane ASCII : B90AC
IN

DBB10 =
DBB11 =
DBB12 =
DBB13 =
DBB14 =

B#16#42
B#16#39
B#16#30
B#16#41
B#16#43

Aprs lexcution :
Reprsentation octet hexadcimal : B90AC0
OUT

Figure 6-3

DBB0 = B#16#B9
DBB1 = B#16#0A
DBB2 = B#16#C0

Conversion ASCII-hexa (ATH)

Caractres ASCII

Valeur hexadcimale ASCII

Chiffre hexadcimal converti

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

Figure 6-4

Caractres ASCII et valeurs hexadcimales correspondantes

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-5

Fonctions et bloc fonctionnel de conversion

6.3

Conversion hexa-ASCII (HTA) : FC95

Description

La fonction Conversion hexa-ASCII (HTA) convertit les chiffres hexadcimaux indiqus par le pointeur IN et les enregistre dans la chane de destination dsigne par le
paramtre OUT. Comme un caractre ASCII ncessite 8 bits et un chiffre hexadcimal
seulement 4 bits, la longueur du mot de sortie est le double de celle du mot dentre.
Chaque quartet du chiffre hexadcimal est converti en un caractre, et ce dans le
mme ordre qu la lecture : le quartet de gauche dun chiffre hexadcimal est
converti en premier, suivi par le quartet de droite du mme chiffre).

Paramtres

Le tableau 6-3 dcrit les paramtres de la fonction HTA.

Tableau 6-3

Conversion hexa-ASCII (FC95) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

POINTER* E, A, M, D

Pointe sur ladresse de dbut des chiffres hexadcimaux.

Entre

WORD

Nombre des octets dentre hexadcimaux devant tre


convertis.

OUT

Sortie

POINTER* A, M, D, L

E, A, M, L, P

Description

Indique ladresse de dbut de la table de destination.

* Pointeur en format double mot pour ladressage indirect interzone par registre

Informations
derreur

6-6

Cette fonction ne reconnat aucune erreur.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

Exemple

La figure 6-5 montre le mode de fonctionnement de lopration HTA. Si ltat de signal de lentre E 0.0 gale 1 (entre active), la fonction HTA est excute. Le paramtre dentre N gal 3 indique que trois chiffres hexadcimaux doivent tre
convertis. Les octets hexadcimaux sont enregistrs dans le bloc de donnes 1 commenant ladresse indique par le pointeur IN : DB1.DBX10.0. La chane de sortie
sera range ladresse indique par le pointeur OUT commenant DB2.DBX0.0
(bloc de donnes 2). Pour le caractre ASCII correspondant chaque valeur hexadcimale, reportez-vous la figure 6-6.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

HTA
FC95
EN
ENO

E0.0
P#DB1.DBX10.0

IN

W#16#03

OUT

A4.0
P#DB2.DBX0.0

Avant lexcution :
Reprsentation octets hexadcimaux : F97AC1
IN

DBB10 = B#16#F9
DBB11 = B#16#7A
DBB12 = B#16#C1

Aprs lexcution :
Reprsentation octets ASCII : F97AC1
OUT

Figure 6-5

DBB0
DBB1
DBB2
DBB3
DBB4
DBB5

=
=
=
=
=
=

B#16#46
B#16#39
B#16#37
B#16#41
B#16#43
B#16#31

Conversion hexa-ASCII (HTA)

Chiffres hexadcimaux

Valeur hexadcimale ASCII

Caractre ASCII converti

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

30
31
32
33
34
35
36
37
38
39
41
42
43
44
45
46

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

Figure 6-6

Chiffres hexadcimaux et valeurs hexadcimales ASCII correspondantes

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-7

Fonctions et bloc fonctionnel de conversion

6.4

Encoder position binaire (ENCO) : FC96

Description

La fonction Encoder position binaire (ENCO) convertit le contenu du paramtre IN au


nombre binaire de 5 bits correspondant la position du bit mis 1 le plus droite
dans le paramtre IN et renvoie le rsultat comme valeur de la fonction. Si le paramtre IN est gal 0000 0001 ou 0000 0000, la valeur en retour est 0 .

Paramtres

Le tableau 6-4 dcrit les paramtres de la fonction ENCO.

Tableau 6-4

Encoder position binaire (FC96) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

DWORD

E, M, D, L, P ou
constante

Valeur devant tre code.

RET_VAL

Sortie

INT

A, M, D, L, P

Valeur en retour (contient un nombre binaire de 5 bits).

Informations
derreur

La fonction ne reconnat aucune erreur.

Exemple

La figure 6-7 montre le mode de fonctionnement de lopration ENCO. Si ltat de


signal de lentre E 0.0 gale 1 (entre active), la fonction ENCO est excute.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

ENCO
FC96
EN
ENO

E0.0

RET_VAL
DW#16#12345678

6-8

MW0

IN

RET_VAL

Figure 6-7

A4.0

MW0 = 3

Encoder position binaire (ENCO)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

6.5

Dcoder position binaire (DECO) : FC97

Description

La fonction Dcoder position binaire (DECO) convertit un nombre binaire de 5 bits


(0 31) de lentre IN en une valeur en mettant 1 la position binaire correspondante
dans la valeur en retour de la fonction. Si le paramtre IN est suprieur 31, une opration modulo 32 est excute de faon obtenir un nombre binaire de 5 bits.

Paramtres

Le tableau 6-5 dcrit les paramtres de la fonction DECO.

Tableau 6-5

Dcoder position binaire (FC97) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le cadre


de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

WORD

E, M, D, L, P
ou constante

Variable devant tre dcode.

RET_VAL

Sortie

DWORD

A, M, D, L, P

Valeur en retour

Informations
derreur

La fonction ne reconnat aucune erreur.

Exemple

La figure 6-8 montre le mode de fonctionnement de lopration DECO. Si ltat de


signal de lentre E 0.0 gale 1 (entre active), la fonction DECO est excute.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

DECO
FC97
EN
ENO

E0.0

RET_VAL
W#16#0003

MD0

IN

RET_VAL

Figure 6-8

A4.0

MD0 = DW#16#00000008

Dcoder position binaire (DECO)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-9

Fonctions et bloc fonctionnel de conversion

6.6

Complment 10 (BCDCPL) : FC98

Description

La fonction Complment 10 (BCDCPL) renvoie le complment 10 du nombre


DCB sept chiffres indiqu par le paramtre IN. Cette opration seffectue selon la
formule mathmatique suivante :
10000000 (DCB)
valeur DCB 7 chiffres
= complment 10 (DCB)

Paramtres
Tableau 6-6

Le tableau 6-6 dcrit les paramtres de la fonction BCDCPL.


Complment 10 (FC98) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le cadre


de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

DWORD

E, M, D, L, P
ou constante

Nombre DCB 7 chiffres

RET_VAL

Sortie

DWORD

A, M, D, L, P

Valeur en retour

Informations
derreur

La fonction ne reconnat aucune erreur.

Exemple

La figure 6-9 montre le mode de fonctionnement de lopration BCDCPL. Si ltat de


signal de lentre E 0.0 gale 1 (entre active), la fonction BCDCPL est excute.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

BCDCPL
FC98
EN
ENO

E0.0

RET_VAL
DW#16#01234567

6-10

MD0

IN

RET_VAL

Figure 6-9

A4.0

MD0 = DW#16#08765433

Complment 10 (BCDCPL)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

6.7

Compter bits 1 (BITSUM) : FC99

Description

La fonction Compter bits 1 (BITSUM) compte le nombre de bits mis 1 dans


lentre IN et renvoie cette valeur comme valeur de la fonction.

Paramtres

Le tableau 6-7 dcrit les paramtres de la fonction BITSUM.

Tableau 6-7

Compter bits 1 (FC99) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le cadre


de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

DWORD

E, M, D, L, P
ou constante

Variable dans laquelle les bits doivent tre compts.

RET_VAL

Sortie

INT

A, M, D, L, P

Valeur en retour

Informations
derreur

La fonction ne reconnat aucune erreur.

Exemple

La figure 6-10 montre le mode de fonctionnement de lopration BITSUM. Si ltat


de signal de lentre E 0.0 gale 1 (entre active), la fonction BITSUM est excute.
Dans cet exemple, la valeur en retour dans MW0 est 13 (D en notation hexadcimale) : il sagit de la somme des bits mis 1 dans le double mot
DW#16#12345678 (valeur hexadcimale).
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 .

BITSUM
FC99
EN
ENO

E0.0

RET_VAL
DW#16#12345678

MW0

IN

RET_VAL

Figure 6-10

A4.0

MW0 = W#16#000D

Compter bits 1 (BITSUM)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-11

Fonctions et bloc fonctionnel de conversion

6.8

Mise lchelle (SCALE) : FC105

Description

La fonction Mise lchelle (SCALE) prend une valeur entire (IN) et la convertit
selon lquation ci-aprs en une valeur relle exprime en units physiques, comprises
entre une limite infrieure (LO_LIM) et une limite suprieure (HI_LIM) :
OUT = [ ((FLOAT (IN) K1)/(K2K1)) * (HI_LIM LO_LIM) ] + LO_LIM
Le rsultat est crit dans OUT.
Les constantes K1 et K2 sont dfinies selon que la valeur dentre est bipolaire ou
unipolaire.

Bipolaire :

La valeur entire dentre est suppose tre comprise entre


-27648 et 27648, donc :
K1 = -27648.0 et K2 = +27648.0

Unipolaire : La valeur entire dentre est suppose tre comprise entre


0 et 27648, donc :
K1 = 0.0 et K2 = +27648.0
Si la valeur entire dentre est suprieure K2, la sortie (OUT) est sature la valeur
la plus proche de la limite suprieure (HI_LIM) et une erreur est signale. Si la valeur
entire dentre est infrieure K1, la sortie est sature la valeur la plus proche de la
limite infrieure (LO_LIM) et une erreur est signale.
Une mise lchelle inverse peut tre obtenue en programmant une limite infrieure
suprieure la limite suprieure (LO_LIM>HI_LIM). Dans ce cas, la valeur de la
sortie diminue quand la valeur de lentre augmente.

Paramtres
Tableau 6-8

Le tableau 6-8 dcrit les paramtres de la fonction SCALE.


Mise lchelle (FC105) : paramtres

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

INT

E, A, M, D, L, P
ou constante

Valeur dentre convertir selon lchelle en valeur relle


exprime en units physiques

HI_LIM

Entre

REAL

E, A, M, D, L, P
ou constante

Limite suprieure en units physiques

LO_LIM

Entre

REAL

E, A, M, D, L, P
ou constante

Limite infrieure en units physiques

BIPOLAR

Entre

BOOL

E, A, M, D, L

Ltat de signal 1 signifie que la valeur dentre est


bipolaire et ltat de signal 0 quelle est unipolaire.

OUT

Sortie

REAL

E, A, M, D, L, P

Rsultat de la conversion dchelle

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration


a t effectue sans erreur. Pour toute valeur en retour autre
que W#16#0000, reportez-vous aux informations derreur.

6-12

Type de
donnes

Zone de
mmoire

Description

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

Informations
derreur

Si la valeur entire dentre est suprieure K2, la sortie (OUT) est sature la valeur
la plus proche de la limite suprieure (HI_LIM) et une erreur est signale. Si la valeur
entire dentre est infrieure K1, la sortie est sature la valeur la plus proche de la
limite infrieure (LO_LIM) et une erreur est signale. Ltat de signal de ENO est mis
0 et RET_VAL prend la valeur W#16#0008.

Exemple

La figure 6-11 montre le mode de fonctionnement de lopration SCALE. Si ltat de


signal de E 0.0 gale 1 (entre active), la fonction SCALE est excute. Dans cet
exemple, la valeur entire 22 sera convertie en une valeur relle chelonne entre 0.0
et 100.0 et crite dans le paramtre de sortie OUT. La valeur dentre est bipolaire
comme indiqu par ltat de signal de E 2.0.
Si la fonction est excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

SCALE
FC105

E0.0
EN

A4.0
ENO

MW10

IN

MD20

HI_LIM

MD30

LO_LIM

RET_VAL
OUT

MW0
MD40

E 2.0
BIPOLAR

Avant lexcution :
IN

MW10 = 22

HI_LIM

MD20 = 100.0

LO_LIM

MD30 = 0.0

OUT

MD40 = 0.0

BIPOLAR

E 2.0 = TRUE

Aprs lexcution :
OUT

Figure 6-11

MD40 = 50.03978588

Mise lchelle (SCALE)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-13

Fonctions et bloc fonctionnel de conversion

6.9

Annuler la mise lchelle (UNSCALE) : FC106

Description

La fonction Annuler la mise lchelle (UNSCALE) prend une valeur dentre relle
(IN) exprime en units physiques comprises entre une limite infrieure (LO_LIM) et
une limite suprieure (HI_LIM) et la convertit selon lquation ci-aprs en une valeur
entire :
OUT = [ ((INLO_LIM)/(HI_LIMLO_LIM)) * (K2K1) ] + K1
Le rsultat est crit dans OUT.
Les constantes K1 et K2 sont dfinies selon que la valeur dentre est bipolaire ou
unipolaire.

Bipolaire :

La valeur entire de sortie est suppose tre comprise entre


-27648 et 27648, donc :
K1 = -27648.0 et K2 = +27648.0

Unipolaire : La valeur entire de sortie est suppose tre comprise entre


0 et 27648, donc :
K1 = 0.0 et K2 = +27648.0
Si la valeur entire dentre se situe en dehors de la plage dfinie par les limites infrieure (LI_LIM) et suprieure (HI_LIM), la sortie (OUT) est sature la valeur la plus
proche de la limite infrieure ou suprieure de la plage indique pour son type (bipolaire ou unipolaire) et une erreur est signale.

Paramtres
Tableau 6-9

Le tableau 6-9 dcrit les paramtres de la fonction UNSCALE.


Annuler la mise lchelle (FC106) : paramtres

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

IN

Entre

REAL

E, A, M, D, L, P
ou constante

Valeur dentre relle restaurer en valeur entire

HI_LIM

Entre

REAL

E, A, M, D, L, P
ou constante

Limite suprieure en units physiques

LO_LIM

Entre

REAL

E, A, M, D, L, P
ou constante

Limite infrieure en units physiques

BIPOLAR

Entre

BOOL

E, A, M, D, L

Ltat de signal 1 signifie que la valeur dentre est


bipolaire et ltat de signal 0 quelle est unipolaire.

OUT

Sortie

INT

E, A, M, D, L, P

Rsultat de lannulation de la mise lchelle

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration


a t effectue sans erreur. Pour toute valeur en retour autre
que W#16#0000, reportez-vous aux informations derreur.

6-14

Type de
donnes

Zone de
mmoire

Description

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

Informations
derreur

Si la valeur relle dentre se situe en dehors de la plage dfinie par les limites infrieure (LO_LIM) et suprieure (HI_LIM), la sortie (OUT) est sature la valeur la
plus proche de la limite infrieure ou suprieure de la plage indique pour son type
(bipolaire ou unipolaire) et une erreur est signale. Ltat de signal de ENO est mis
0 et RET_VAL prend la valeur W#16#0008.

Exemple

La figure 6-12 montre le mode de fonctionnement de lopration UNSCALE. Si ltat


de signal de E 0.0 gale 1 (entre active), la fonction UNSCALE est excute. Dans
cet exemple, la valeur relle 50.03978588 qui avait t mise lchelle entre 0.0 et
100.0 (units physiques) sera restaure sa valeur entire, puis crite dans le paramtre de sortie OUT. La valeur dentre est bipolaire comme indiqu par ltat de signal
de E 2.0.
Si la fonction est excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et RET_VAL est mis la valeur W#16#0000.

UNSCALE
FC106
EN
ENO

E0.0

MD10

IN

MD20

HI_LIM

MD30

LO_LIM

RET_VAL
OUT

A4.0

MW0
MW40

E2.0
BIPOLAR

Avant lexcution :
IN

MD10 = 50.03978588

HI_LIM

MD20 = 100.0

LO_LIM

MD30 = 0.0

OUT

MW40 = 0

BIPOLAR

E2.0

= TRUE

Aprs lexcution :
OUT

Figure 6-12

MW40 = 22

Annulation de la mise lchelle (UNSCALE)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-15

Fonctions et bloc fonctionnel de conversion

6.10 Algorithme davance et de retard de phase (LEAD_LAG) : FB80

Description

Le bloc fonctionnel Algorithme davance et de retard de phase (LEAD_LAG) permet


deffectuer un traitement du signal sur une variable analogique. La sortie OUT est
calcule selon lentre IN et les valeurs de gain GAIN, davance LD_TIME et de retard LG_TIME spcifies. La valeur de gain doit tre suprieure zro. Lalgorithme
LEAD_LAG utilise lquation suivante :
OUT =

LG_TIME
LG_TIME + SAMPLE_T

LD_TIME + SAMPLE_T
PREV_OUT + GAIN

LG_TIME + SAMPLE_T

LD_TIME
IN GAIN

LG_TIME + SAMPLE_T

PREV_IN

En gnral, LEAD_LAG est utilis comme compensateur pour des boucles de commande dynamique. LEAD_LAG comporte deux parties. Lavance de phase dcale et
avance la phase de la sortie du bloc fonctionnel par rapport la phase de lentre ; le
retard de phase dcale et retarde la phase de la sortie par rapport la phase de lentre.
Comme le retard de phase quivaut une intgration, elle peut servir de suppresseur
de bruit ou de filtre passe-bas. Quant lavance de phase, elle quivaut une diffrentiation et constitue donc un filtre passe-haut. La combinaison davance et de retard de
phase permet de retarder la phase de la sortie par rapport la phase de lentre basse
frquence et de lavancer haute frquence, ce qui permet de raliser un filtre passebande.

6-16

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonctions et bloc fonctionnel de conversion

Paramtres
Tableau 6-10

Le tableau 6-10 dcrit les paramtres du bloc fonctionnel LEAD_LAG.


Algorithme davance et de retard de phase (FB80) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque le


bloc fonctionnel a t excut sans erreur.

IN

Entre

REAL

E, A, M, D, L, P
ou constante

Valeur dentre traiter pour la priode dchantillonnage


en cours

SAMPLE_T

Entre

INT

E, A, M, D, L, P
ou constante

Instant dchantillonnage

OUT

Sortie

REAL

E, A, M, D, L, P
ou constante

Rsultat de lopration LEAD_LAG

ERR_CODE

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.

LD_TIME

statique

REAL

E, A, M, D, L, P
ou constante

Avance de phase en minutes

LG_TIME

statique

REAL

E, A, M, D, L, P
ou constante

Retard de phase en minutes

GAIN

statique

REAL

E, A, M, D, L, P
ou constante

Gain en rapport de pourcentages (rapport de la variation


en sortie la variation en entre en rgime tabli)

PREV_IN

statique

REAL

E, A, M, D, L, P
ou constante

Entre prcdente

PREV_OUT

statique

REAL

E, A, M, D, L, P
ou constante

Sortie prcdente

Informations
derreur

Le bloc fonctionnel nest pas excut si le gain est infrieur ou gal zro. Ltat de
signal de ENO est mis 0 et ERR_CODE prend la valeur W#16#0009.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

6-17

Fonctions et bloc fonctionnel de conversion

Exemple

La figure 6-13 montre le mode de fonctionnement de lopration LEAD_LAG. Si


ltat de signal de E 0.0 gale 1 (entre active), le bloc fonctionnel LEAD_LAG est
excut. Dans cet exemple, la valeur dentre IN (2.0) est traite laide de lalgorithme LEAD_LAG qui fournit la sortie OUT.
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A 4.0 est
mis 1 et ERR_CODE est mis la valeur W#16#0000.
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.

DB80
LEAD_LAG
FB80

E0.0
MD10
10

A4.0

EN

ENO

IN

OUT

SAMPLE_T

ERR_CODE

MD20
MW0

Avant lexcution :
IN

MD10

= 2.0

OUT

MD20

= 0.0

DB80 dinstance
LD_TIME

DBD12 = 2.0

LG_TIME

DBD16 = 2.0

GAIN

DBD20 = 1.0

PREV_IN

DBD24 = 6.0

PREV_OUT

DBD28 = 6.0

Aprs lexcution :
DB80 dinstance

Figure 6-13

6-18

PREV_IN

DBD24 = 2.0

PREV_OUT

DBD28 = 2.0

OUT

MD20

= 2.0

Algorithme davance et de retard de phase (LEAD_LAG)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction arithmtique sur nombres virgule


flottante

Ce chapitre dcrit la fonction arithmtique sur nombres virgule flottante (FC) dont
vous disposez en plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la programmation.
Paragraphe
7.1

Thme
Ecart type (DEV) : FC102

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Page
7-2

7-1

Fonction arithmtique sur nombres virgule flottante

7.1

Ecart type (DEV) : FC102

Description

La fonction Ecart type (DEV) calcule lcart type dun ensemble de valeurs figurant
dans la table TBL et range le rsultat dans OUT. Le calcul se fait selon la formule
suivante :
Ecart =
type

avec :

(N * SommeCarrs) Somme2
N * (N 1)

Somme
N
SommeCarrs

= Somme des valeurs dans TBL


= Nombre de valeurs dans TBL
= Somme des carrs de toutes les valeurs dans TBL

Des valeurs virgule flottante IEEE sont utilises pour tous les calculs, toutes les
conversions de type ncessaires tant automatiquement effectues par lappel de
fonction.

La premire entre dans la table indique la longueur maximale de la table.


La deuxime entre dans la table contient la premire valeur de la table.
La taille des entres de la table et de la valeur calcule (OUT) est dtermine par
E_TYPE.

Paramtres
Tableau 7-1

Le tableau 7-1 dcrit les paramtres de la fonction DEV.


Ecart type (FC102) : paramtres
Type de
donnes

Zone de
mmoire

Paramtres

Dclaration

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque la


fonction a t excute sans erreur.

TBL

Entre

POINTER* E, A, M, D

Dsigne ladresse de dbut dune table de valeurs.

OUT

Entre

POINTER* E, A, M, D

Dsigne ladresse de la valeur dcart type calcule.

E_TYPE

Entre

BYTE

E, A, M, D, L, P

Indique le type de donnes des entres de la table. Les


types de donnes admis pour la fonction DEV sont les
suivants :
B#16#05 = INT
B#16#07 = DINT
B#16#08 = REAL

RET_VAL

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration


a t effectue sans erreur. Pour toute valeur en retour autre
que W#16#0000, reportez-vous aux informations derreur.

Description

Pointeur en format double mot pour ladressage indirect interzone par registre

7-2

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Fonction arithmtique sur nombres virgule flottante

Informations
derreur

La fonction nest pas excute si lune des situations dcrites au tableau 7-2 se prsente. Ltat de signal de ENO est mis 0 et la valeur en retour prend lune des
valeurs suivantes :
Tableau 7-2

Situations derreur pour FC102

RET_VAL

Exemple

Explication

W#16#0001

Indication dun type de mmoire incorrect pour un paramtre

W#16#0002

Paramtre E_TYPE incorrect

W#16#0004

La longueur de la table est gale zro.

La figure 7-1 montre le mode de fonctionnement de lopration DEV. Si ltat de signal de E 0.0 gale 1 (entre active), la fonction DEV est excute. Dans cet exemple, il y a cinq valeurs dans la table comme indiqu par le premier mot de la table. Le
paramtre E_TYPE prcise que les valeurs dans la table sont de type de donnes
REAL.
Si la fonction a t excute sans erreur, ltat de signal de ENO et de A 4.0 est mis
1 et la valeur en retour RET_VAL est gale W#16#0000.

DEV
FC102

E0.0
EN
P#DB1.DBX100.0

TBL

P#DB1.DBX130.0

OUT

B#16#08

A4.0
ENO

RET_VAL

MW0

E_TYPE

Avant lexcution :
TBL (longueur de la table)

DBW100=W#16#0005
DBD102 = 2.0
DBD106 = 4.0
DBD110 = 8.0
DBD114 = 16.0
DBD118 = 32.0

OUT

DBD130 = 0.0

Aprs lexcution :
OUT
Figure 7-1

DBD130 = 12.19836055
Ecart type (DEV)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

7-3

Fonction arithmtique sur nombres virgule flottante

7-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Blocs fonctionnels de comparaison

Ce chapitre dcrit les blocs fonctionnels de comparaison (FB) dont vous disposez en
plus des oprations standard, vous offrant ainsi une plus grande souplesse lors de la
programmation.
Paragraphe

Thme

Page

8.1

Comparaison de colonne de matrice (IMC) : FB83

8-2

8.2

Comparaison squentielle de colonne de matrice (SMC) :


FB84

8-6

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

8-1

Blocs fonctionnels de comparaison

8.1

Comparaison de colonne de matrice (IMC) : FB83

Description

8-2

Le bloc fonctionnel Comparaison de colonne de matrice (IMC) compare ltat de signal de 16 bits dentre programms IN_BIT0 IN_BIT15 (au maximum) aux bits de
mme indice dun masque de comparaison. Cela constitue une tape de comparaison ;
il est possible de programmer jusqu 16 tapes de comparaison avec masques. La
comparaison se fait comme suit : IN_BIT0 est compar CMP_VAL [x,0], x tant le
numro dtape, IN_BIT1 est compar CMP_VAL [x,1], etc. Le paramtre
CMP_STEP prcise le numro dtape du masque avec lequel doit se faire la comparaison. Les bits dentre non programms ou les bits non programms du masque
prennent par dfaut ltat de signal FALSE. Sil y a correspondance pour une tape
donne, ltat de signal de la sortie OUT est mis 1 ; sinon, il est mis 0 .

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Blocs fonctionnels de comparaison

Paramtres
Tableau 8-1
Paramtres

Le tableau 8-1 dcrit les paramtres du bloc fonctionnel IMC.


Comparaison de colonne de matrice (FB83) : paramtres
Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque le


bloc fonctionnel a t excut sans erreur.

IN_BIT0

Entre

BOOL

E, A, M, D, L

Bit dentre 0 comparer au bit 0 du masque

IN_BIT1

Entre

BOOL

E, A, M, D, L

Bit dentre 1 comparer au bit 1 du masque

IN_BIT2

Entre

BOOL

E, A, M, D, L

Bit dentre 2 comparer au bit 2 du masque

IN_BIT3

Entre

BOOL

E, A, M, D, L

Bit dentre 3 comparer au bit 3 du masque

IN_BIT4

Entre

BOOL

E, A, M, D, L

Bit dentre 4 comparer au bit 4 du masque

IN_BIT5

Entre

BOOL

E, A, M, D, L

Bit dentre 5 comparer au bit 5 du masque

IN_BIT6

Entre

BOOL

E, A, M, D, L

Bit dentre 6 comparer au bit 6 du masque

IN_BIT7

Entre

BOOL

E, A, M, D, L

Bit dentre 7 comparer au bit 7 du masque

IN_BIT8

Entre

BOOL

E, A, M, D, L

Bit dentre 8 comparer au bit 8 du masque

IN_BIT9

Entre

BOOL

E, A, M, D, L

Bit dentre 9 comparer au bit 9 du masque

IN_BIT10

Entre

BOOL

E, A, M, D, L

Bit dentre 10 comparer au bit 10 du masque

IN_BIT11

Entre

BOOL

E, A, M, D, L

Bit dentre 11 comparer au bit 11 du masque

IN_BIT12

Entre

BOOL

E, A, M, D, L

Bit dentre 12 comparer au bit 12 du masque

IN_BIT13

Entre

BOOL

E, A, M, D, L

Bit dentre 13 comparer au bit 13 du masque

IN_BIT14

Entre

BOOL

E, A, M, D, L

Bit dentre 14 comparer au bit 14 du masque

IN_BIT15

Entre

BOOL

E, A, M, D, L

Bit dentre 15 comparer au bit 15 du masque

CMP_STEP

Entre

BYTE

E, A, M, D, L, P

Numro dtape du masque avec lequel effectuer la


comparaison

OUT

Sortie

BOOL

E, A, M, D, L

Ltat de signal 1 signifie quil y a correspondance et


ltat de signal 0 quaucune correspondance na t
trouve.

ERR_CODE

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque lopration a t effectue sans erreur. Pour toute valeur en retour autre que W#16#0000, reportez-vous aux informations derreur.

CMP_VAL

statique

ARRAY
OF BOOL

E, A, M, D, L

Masques de comparaison [0 15, 0 15], le premier


indice correspondant au numro dtape et le second au
numro de bit du masque.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

8-3

Blocs fonctionnels de comparaison

Informations
derreur

Si la valeur de CMP_STEP est suprieure 15, le bloc fonctionnel nest pas excut.
Ltat de signal de ENO est mis 0 et ERR_CODE prend la valeur W#16#000A.

Exemple

La figure 8-1 montre le mode de fonctionnement de lopration IMC. Si ltat de signal de E 0.0 gale 1 (entre active), le bloc fonctionnel IMC est excut. Dans cet
exemple, la totalit des 16 bits dentre est compare au masque pour ltape 2
(comme prcis par le paramtre CMP_STEP). Ltat de signal de OUT prend la valeur TRUE, car les bits dentre correspondent ceux du masque de cette tape.
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A 4.0 est
mis 1 et ERR_CODE est mis la valeur W#16#0000.
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.

8-4

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Blocs fonctionnels de comparaison

E0.0
EN

DB83
IMC
FB83

A4.0
ENO

M0.0
IN_BIT0

OUT

A 2.0

IN_BIT1

ERR_CODE

MW0

M0.1
M0.2
IN_BIT2
M0.3
IN_BIT3
M0.4

IN_BIT4

M0.5
IN_BIT5
M0.6
IN_BIT6
M0.7
IN_BIT7
M1.0
IN_BIT8
M1.1
IN_BIT9
M1.2

IN_BIT10

M1.3
IN_BIT11
M1.4
IN_BIT12
M1.5
IN_BIT13
M1.6
IN_BIT14
M1.7
IN_BIT15

Avant lexcution :
IN_BIT0
M0.0
IN_BIT1
M0.1
IN_BIT2
M0.2
IN_BIT3
M0.3
IN_BIT4
M0.4
IN_BIT5
M0.5
IN_BIT6
M0.6
IN_BIT7
M0.7
IN_BIT8
M1.0
IN_BIT9
M1.1
IN_BIT10
M1.2
IN_BIT11
M1.3
IN_BIT12
M1.4
IN_BIT13
M1.5
IN_BIT14
M1.6
IN_BIT15
M1.7
OUT

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

B#16#02

CMP_STEP

TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE

<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >

DB83 dinstance
CMP_VAL [2, 0]
CMP_VAL [2, 1]
CMP_VAL [2, 2]
CMP_VAL [2, 3]
CMP_VAL [2, 4]
CMP_VAL [2, 5]
CMP_VAL [2, 6]
CMP_VAL [2, 7]
CMP_VAL [2, 8]
CMP_VAL [2, 9]
CMP_VAL [2, 10]
CMP_VAL [2, 11]
CMP_VAL [2, 12]
CMP_VAL [2, 13]
CMP_VAL [2, 14]
CMP_VAL [2, 15]

DBX12.0
DBX12.1
DBX12.2
DBX12.3
DBX12.4
DBX12.5
DBX12.6
DBX12.7
DBX13.0
DBX13.1
DBX13.2
DBX13.3
DBX13.4
DBX13.5
DBX13.6
DBX13.7

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE

A2.0 = FALSE

Nota : Seules les valeurs constituant le masque pour ltape 2 sont reprsentes. Les autres tapes
sont programmes de manire similaire.

Aprs lexcution :
OUT
Figure 8-1

A2.0 = TRUE
Comparaison de colonne de matrice (IMC)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

8-5

Blocs fonctionnels de comparaison

8.2

Comparaison squentielle de colonne de matrice (SMC) : FB84

Description

Le bloc fonctionnel Comparaison squentielle de colonne de matrice (SMC) compare


ltat de signal de 16 bits dentre programms IN_BIT0 IN_BIT15 (au maximum)
aux bits de mme indice du masque de comparaison de chaque tape, en commenant
par la premire tape et en progressant jusqu la dernire tape programme (LAST)
ou jusqu ce quune correspondance soit trouve. La comparaison se fait de la manire suivante : IN_BIT0 est compar CMP_VAL [x,0], x tant le numro dtape,
IN_BIT1 est compar CMP_VAL [x,1], etc. Lorsquune correspondance est trouve,
ltat de signal de la sortie OUT est mis 1 et le numro dtape dont le masque
correspond est crit dans le paramtre OUT_STEP. Les bits dentre non programms
ou les bits non programms des masques prennent par dfaut ltat de signal FALSE.
Par dfinition du bloc fonctionnel, si plus dune tape comporte un masque qui correspond, seule la premire est dtecte et mmorise dans OUT_STEP. Si aucune correspondance na t dtecte, ltat de signal du paramtre de sortie OUT est mis 0
et OUT_STEP prend la valeur LAST + 1.

Paramtres

Le tableau 8-2 dcrit les paramtres du bloc fonctionnel SMC.

Tableau 8-2
Paramtres

Comparaison squentielle de colonne de matrice (FB84) : paramtres


Dclaration

Type de
donnes

Zone de
mmoire

Description

EN

Entre

BOOL

E, A, M, D, L

Un tat de signal 1 lentre de validation active le


cadre de fonction.

ENO

Sortie

BOOL

E, A, M, D, L

La sortie de validation a ltat de signal 1 lorsque le


bloc fonctionnel a t excut sans erreur.

IN_BIT0

Entre

BOOL

E, A, M, D, L

Bit dentre 0 comparer au bit 0 du masque

IN_BIT1

Entre

BOOL

E, A, M, D, L

Bit dentre 1 comparer au bit 1 du masque

IN_BIT2

Entre

BOOL

E, A, M, D, L

Bit dentre 2 comparer au bit 2 du masque

IN_BIT3

Entre

BOOL

E, A, M, D, L

Bit dentre 3 comparer au bit 3 du masque

IN_BIT4

Entre

BOOL

E, A, M, D, L

Bit dentre 4 comparer au bit 4 du masque

IN_BIT5

Entre

BOOL

E, A, M, D, L

Bit dentre 5 comparer au bit 5 du masque

IN_BIT6

Entre

BOOL

E, A, M, D, L

Bit dentre 6 comparer au bit 6 du masque

IN_BIT7

Entre

BOOL

E, A, M, D, L

Bit dentre 7 comparer au bit 7 du masque

IN_BIT8

Entre

BOOL

E, A, M, D, L

Bit dentre 8 comparer au bit 8 du masque

IN_BIT9

Entre

BOOL

E, A, M, D, L

Bit dentre 9 comparer au bit 9 du masque

IN_BIT10

Entre

BOOL

E, A, M, D, L

Bit dentre 10 comparer au bit 10 du masque

IN_BIT11

Entre

BOOL

E, A, M, D, L

Bit dentre 11 comparer au bit 11 du masque

IN_BIT12

Entre

BOOL

E, A, M, D, L

Bit dentre 12 comparer au bit 12 du masque

IN_BIT13

Entre

BOOL

E, A, M, D, L

Bit dentre 13 comparer au bit 13 du masque

IN_BIT14

Entre

BOOL

E, A, M, D, L

Bit dentre 14 comparer au bit 14 du masque

IN_BIT15

Entre

BOOL

E, A, M, D, L

Bit dentre 15 comparer au bit 15 du masque

OUT

Sortie

BOOL

E, A, M, D, L

Ltat de signal 1 signifie quune correspondance a


t trouve et ltat de signal 0 quaucune correspondance na t trouve.

8-6

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Blocs fonctionnels de comparaison

Tableau 8-2

Comparaison squentielle de colonne de matrice (FB84) : paramtres

Paramtres

Dclaration

Type de
donnes

Zone de
mmoire

Description

ERR_CODE

Sortie

WORD

E, A, M, D, L, P

Donne la valeur W#16#0000 en retour lorsque


lopration a t effectue sans erreur. Pour toute valeur
en retour autre que W#16#0000, reportez-vous aux
informations derreur.

OUT_STEP

Sortie

BOOL

E, A, M, D, L, P

Contient le numro dtape dont le masque correspond ou


la valeur LAST + 1 si aucune correspondance na t
trouve.

LAST

statique

BYTE

E, A, M, D, L, P

Prcise le numro de la dernire tape examiner dans la


squence de recherche.

CMP_VAL

statique

ARRAY
OF BOOL

E, A, M, D, L

Masques de comparaison [0 15, 0 15], le premier


indice correspondant au numro dtape et le second au
numro de bit du masque.

Informations
derreur

Le bloc fonctionnel nest pas excut si la valeur de LAST est suprieure 15. Ltat
de signal de ENO est mis 0 et ERR_CODE prend la valeur W#16#000E.

Exemple

La figure 8-2 montre le mode de fonctionnement de lopration SMC. Si ltat de signal de E 0.0 gale 1 (entre active), le bloc fonctionnel SMC est excut. Dans cet
exemple, la totalit des 16 bits dentre est compare aux masques pour les tapes 0
5 (comme prcis par le paramtre LAST) jusqu ce quune correspondance soit
trouve. Comme le masque pour ltape 2 correspond aux bits dentre, seuls les masques des tapes 0 2 sont examins.
Si le bloc fonctionnel est excut sans erreur, ltat de signal de ENO et de A 4.0 est
mis 1 .
Nota
Il est possible dinitialiser les paramtres statiques laide de lditeur de bloc de
donnes.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

8-7

Blocs fonctionnels de comparaison

DB84
SMC
FB84

E0.0
EN

A4.0
ENO

M0.0
M0.1

IN_BIT0

OUT

A 2.0

IN_BIT1

OUT_STEP

MB10

M0.2
M0.3

IN_BIT2
IN_BIT3

M0.4

IN_BIT4

M0.5
IN_BIT5
M0.6
M0.7

IN_BIT6
IN_BIT7

M1.0
M1.1

IN_BIT8
IN_BIT9

M1.2

IN_BIT10

M1.3
IN_BIT11
M1.4
IN_BIT12
M1.5
M1.6

IN_BIT13
IN_BIT14

M1.7
IN_BIT15

Avant lexcution :
IN_BIT0
M0.0
IN_BIT1
M0.1
IN_BIT2
M0.2
IN_BIT3
M0.3
IN_BIT4
M0.4
IN_BIT5
M0.5
IN_BIT6
M0.6
IN_BIT7
M0.7
IN_BIT8
M1.0
IN_BIT9
M1.1
IN_BIT10
M1.2
IN_BIT11
M1.3
IN_BIT12
M1.4
IN_BIT13
M1.5
IN_BIT14
M1.6
IN_BIT15
M1.7
OUT
OUT_STEP
LAST

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE

<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >
<comparer >

DB84 dinstance
CMP_VAL [2, 0]
CMP_VAL [2, 1]
CMP_VAL [2, 2]
CMP_VAL [2, 3]
CMP_VAL [2, 4]
CMP_VAL [2, 5]
CMP_VAL [2, 6]
CMP_VAL [2, 7]
CMP_VAL [2, 8]
CMP_VAL [2, 9]
CMP_VAL [2, 10]
CMP_VAL [2, 11]
CMP_VAL [2, 12]
CMP_VAL [2, 13]
CMP_VAL [2, 14]
CMP_VAL [2, 15]

DBX12.0
DBX12.1
DBX12.2
DBX12.3
DBX12.4
DBX12.5
DBX12.6
DBX12.7
DBX13.0
DBX13.1
DBX13.2
DBX13.3
DBX13.4
DBX13.5
DBX13.6
DBX13.7

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE
TRUE
FALSE
TRUE

A2.0 = FALSE
MB10 = B#16#00
DB84 dinstance
DB84 = B#16#05

Nota : Seules les valeurs constituant le masque pour ltape 2 sont reprsentes. Les autres tapes
sont programmes de manire similaire.
Aprs lexcution :
OUT
A2.0 = TRUE
OUT_STEP
MB10 = B#16#02
Figure 8-2

8-8

Comparaison squentielle de colonne de matrice (SMC)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire

A
Abrviations
utilises

Les noms des oprandes et des oprations sont reprsents par des abrviations
mnmotechniques dans le programme, par exemple E pour entre et U
pour lopration ET . STEP 7 prend en charge les abrviations internationales (sur
la base de la langue anglaise) et les abrviations SIMATIC (sur la base de la
reprsentation allemande des oprations et des conventions dadressage SIMATIC).

Adressage absolu

Ladressage absolu indique ladresse effective dune unit de donnes particulire


dans la mmoire dune CPU. Ladressage absolu vous permet de rfrencer une E/S,
par exemple, en utilisant une adresse indiquant le type de signal (E pour entre, A
pour sortie), le numro du module de priphrie et le signal correspondant. Exemple :
A 4.0. Lautomate programmable interprte les adresses absolues sans laide dune
table de mnmoniques. Voir Adressage symbolique .

Adressage direct

Pour ladressage direct, loprande dune opration dsigne directement ladresse de


la valeur sur laquelle lopration doit porter. Voir Adressage immdiat .

Adressage
immdiat

Dans ladressage immdiat, la valeur effective sur laquelle lopration doit porter est
indique comme paramtre dentre. Cette valeur est loprande de lopration. Voir
Adressage direct .

Adressage
symbolique

Dans la CPU, chaque lment a une adresse absolue (par exemple E 0.0). Mais, vous
pouvez galement crer des mnmoniques ou noms symboliques que vous pouvez
utiliser pour ladressage. Par exemple, vous pouvez attribuer lentre E 1.3 le
mnmonique Retour_ Pompe_2 . Vous dfinissez les mnmoniques dans une table
de mnmoniques que vous crez avec lditeur de mnmoniques.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire-1

Glossaire

B
Bit de rsultat
binaire

Le bit 8 du mot dtat est appel bit de rsultat binaire (bit RB). Ce bit constitue une
liaison entre le traitement de bits et le traitement de mots. Avec ce bit, votre
programme peut interprter le rsultat dune opration sur mots comme rsultat
binaire et intgrer ce rsultat dans une chane de combinaison binaire.
Le bit RB vous permet, par exemple, dcrire un bloc fonctionnel (FB) ou une
fonction (FC) en LIST (liste dinstructions ; voir le manuel Langage LIST pour
SIMATIC S7-300/400, Programmation de blocs), puis dappeler ce FB ou cette FC en
CONT (schma contacts).
Lorsque vous crivez un bloc fonctionnel ou une fonction que vous dsirez appeler en
CONT, vous devez grer le bit RB et ce, indpendamment du langage de
programmation (LIST ou CONT) utilis pour crire le FB et la FC. Le bit RB
correspond la sortie de validation (ENO) dun pav CONT. Lopration SAVE (en
LIST) ou la bobine (SAVE) (en CONT) vous permettent denregistrer le RLG dans
le bit RB selon les critres suivants :

Un rsultat logique (RLG) de 1 est enregistr dans le bit RB lorsque le FB ou


la FC a t excute sans erreur.

Un rsultat logique (RLG) de 0 est enregistr dans le bit RB lorsquune erreur


sest produite lexcution du FB ou de la FC.
Vous devez programmer ces oprations la fin du FB ou de la FC de faon ce
quelles soient excutes en dernier dans le bloc.

Attention
Le bit RB peut avoir t mis 0 involontairement.
Lorsque vous crivez des FB ou des FC en CONT et que vous ne grez pas le bit RB
comme dcrit plus haut, un FB ou une FC peut craser le bit RB dun autre FB ou
dune autre FC.
Pour viter cette erreur, enregistrez le RLG la fin de chaque FB ou FC comme
dcrit plus haut.

Bloc de code

Les blocs de code sont des blocs dans STEP 7 contenant le programme pour la logique
de commande. Il sagit des blocs dorganisation (OB), des fonctions et des blocs
fonctionnels (FC et FB), des fonctions systme et des blocs fonctionnels systme
(SFC et SFB). Un bloc de donnes (DB) nest pas considr comme un bloc de code.

Bloc de donnes
(DB)

Un bloc de donnes (DB) contient les donnes pour le programme utilisateur. Vous
dfinissez la structure des informations enregistres dans le bloc de donnes. Ces
informations peuvent tre soit utilises par tous les blocs de code dun programme,
soit par une instance spcifique dun FB (la structure du bloc de donnes dpendant
alors de la table de dclaration des variables du FB).

Glossaire-2

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire

Bloc de donnes
dinstance

Un bloc de donnes dinstance fournit de la mmoire pour un appel spcifique ou


instance dun bloc fonctionnel. Vous pouvez, en crant plusieurs instances
(DB dinstance) dun FB, utiliser le mme FB pour commander plusieurs appareils.
Lorganisation dun DB dinstance reflte la table de dclaration des variables dun
FB. Le DB dinstance mmorise les paramtres effectifs pour les variables IN, OUT,
IN_OUT et VAR.

Bloc fonctionnel
(FB)

Un bloc fonctionnel (FB) est un bloc de code contenant un segment de programme et


disposant dune zone de mmoire. Il faut indiquer un bloc de donnes dinstance
chaque appel de FB. Un FB peut tre appel plusieurs fois, chaque fois avec un bloc
de donnes dinstance diffrent. Les paramtres et les variables statiques du FB sont
rangs dans le bloc de donnes dinstance.

Bloc fonctionnel
systme (SFB)

Un bloc fonctionnel systme (SFB) est un bloc fonctionnel intgr au systme


dexploitation S7. Vous pouvez appeler un SFB partir de votre programme. Comme
pour un FB, un SFB a une zone de mmoire propre dans laquelle des donnes peuvent
tre stockes jusquau prochain appel du SFB. Cette mmoire est ralise sous forme
de bloc de donnes dinstance (DB dinstance). Vous devez crer ce bloc de donnes
(qui est ouvert comme partie de lopration dappel). Comme les SFB font partie du
systme dexploitation, vous ne devez pas les charger.

C
CPU

La CPU (Central Processing Unit : unit centrale) contient le programme utilisateur et


traite les donnes pour lautomate programmable (AP).

F
Fonction (FC)

Une FC est un bloc de code contenant un segment de programme mais qui ne dispose
pas dune zone de mmoire propre. Une fonction opre comme un sous-programme
dun programme dordinateur. Vous crez des FC et les appelez dans votre
programme. Comme votre programme peut appeler une FC plusieurs fois (et donner
diffrentes valeurs chaque appel), une FC est dfinie comme bloc rutilisable .
Aprs lexcution de la FC, les donnes locales temporaires ayant t utilises par la
FC sont ralloues.

Fonction systme
(SFC)

Une fonction systme (SFC) est une fonction teste prprogramme et intgre au
systme dexploitation S7. Vous pouvez appeler une SFC partir de votre programme.
Comme les SFC sont une partie du systme dexploitation, elles ne ncessitent pas
despace dans la mmoire principale. Comme les FC, les SFC nutilisent pas de DB
dinstance.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire-3

Glossaire

I
Identificateur
doprande

Un identificateur doprande est la partie de loprande dune opration qui fournit les
informations relatives la zone de mmoire o lopration trouve la valeur (objet de
donnes) sur laquelle elle doit porter ainsi qu la taille de cette valeur. Pour
loprande EB10 , EB est lidentificateur doprande : E indique la zone de
mmoire des entres et B un octet dans cette zone.

L
Liste
dinstructions

La liste dinstructions (LIST) est lun des langages de programmation du progiciel


STEP 7 vous permettant de communiquer avec votre automate programmable S7-300.
Chaque instruction de votre programme comprend une opration dont labrviation
mnmotechnique reprsente une fonction de lautomate programmable.

O
Oprande

Loprande dune opration du schma contacts indique une constante ou une


adresse laquelle lopration trouve la valeur sur laquelle oprer. Loprande peut tre
un mnmonique ou une adresse absolue ou une combinaison des deux. Loprande
peut dsigner :

une constante, la valeur dune temporisation ou dun compteur ou une chane de


caractres ASCII,

une adresse dans le mot dtat de lautomate programmable,


un bloc de donnes et une adresse lintrieur de ce bloc de donnes,
une fonction (FC), un bloc fonctionnel (FB), une fonction systme intgre (SFC)
ou un bloc fonctionnel systme intgr (SFB) et le numro de la fonction ou du
bloc,

un repre pour une opration de saut,


un identificateur doprande et une adresse dans la zone de mmoire indique par
lidentificateur doprande (par exemple, E 1.0),

le numro dune temporisation ou dun compteur.


Opration

Glossaire-4

Une opration CONT indique la CPU de votre automate programmable quelle


fonction celui-ci doit excuter. Les oprations CONT peuvent tre reprsentes sous
forme dlments ou de pavs.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire

P
Paramtre effectif

Un paramtre effectif est une adresse ou une valeur fournie comme entre ou sortie
lors de lappel dun bloc fonctionnel (FB) ou dune fonction (FC). Les paramtres
effectifs correspondent aux paramtres formels dclars dans la table de dclaration
des variables du FB ou de la FC.

Paramtre formel

Les paramtres formels sont dclars dans la table de dclaration des variables dun
FB ou dune FC. Lorsque vous appelez un FB ou une FC, vous devez fournir un
paramtre effectif (adresse ou valeur) pour chaque paramtre formel.

Pointeur

Un pointeur est un lment identifiant ladresse dune variable. Un pointeur contient


une adresse la place dune valeur. Lorsque vous affectez un paramtre effectif au
type de paramtre POINTER, vous indiquez ladresse de mmoire. Dans STEP 7,
vous pouvez indiquer le pointeur soit en format pointeur, soit simplement comme
adresse (par exemple, M 50.0). Lexemple suivant montre un pointeur en format
pointeur pour accder aux donnes commenant M 50.0 :
P#M50.0

Programme
utilisateur

Le programme utilisateur contient la logique de commande pour un projet


dautomatisation. Cette logique de commande est enregistre sous forme doprations
destines lautomate programmable pour la commande de linstallation ou du
processus.

R
Relais de
masquage

Le relais de masquage (Master Control Relay, MCR) est un commutateur principal de


logique relais permettant lactivation ou la dsactivation du flux dnergie dans le
circuit (trajet du courant). Un trajet du courant dsexcit correspond une squence
doprations crivant la valeur zro au lieu de la valeur calcule ou une squence
doprations laissant inchange la valeur existant en mmoire.

Rseau

Dans un schma contacts STEP 7, un rseau est un circuit avec des oprations
CONT. Il contient gnralement des contacts dentre, des oprations sous forme de
pavs et une opration de sortie la fin de la ligne. Dans STEP 7, un trajet de courant
dans un schma contacts constitue un rseau.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire-5

Glossaire

Rsultat logique
(RLG)

Le bit 1 du mot dtat est appel bit RLG (rsultat logique). Ce bit mmorise le
rsultat dune combinaison sur bits ou dune comparaison arithmtique. Ltat de
signal du bit RLG donne des informations relatives au flux dnergie. Ltat de signal
1 indique quil y a flux dnergie (activ) ; ltat de signal 0 indique quil ny a
pas de flux dnergie (dsactiv).
Par exemple, la premire opration dans un rseau CONT interroge ltat de signal
dun contact et donne le rsultat 1 ou 0 . Lopration range ce rsultat dans le
bit RLG. La deuxime opration dans un rseau de combinaisons sur bits interroge
galement ltat de signal dun contact et donne un rsultat. Puis, elle combine ce
rsultat au bit RLG dans le mot dtat selon les rgles de la logique boolenne. Le
rsultat de cette opration logique est enregistr dans le bit RLG du mot dtat et
remplace la valeur prcdemment mmorise dans le bit RLG. Chacune des
oprations suivantes dans le rseau effectue une combinaison de deux valeurs : le
rsultat produit lorsque lopration interroge le contact et le RLG en cours.
Vous pouvez utiliser une combinaison sur bits lors dune premire interrogation pour
affecter au RLG ltat du contenu dune adresse de mmoire (bit). Vous pouvez
galement vous servir du RLG pour dclencher des oprations de saut.

S
Schma contacts
(CONT)

Le schma contacts (CONT) est lun des langages de programmation du progiciel


STEP 7 vous permettant de programmer votre automate programmable (AP) S7-300.
Le langage de programmation CONT utilise des symboles graphiques semblables aux
lments de relais de commande cbls.

T
Table de
dclaration des
variables

Glossaire-6

Tous les blocs de code ont une table de dclaration des variables. Lorsque vous entrez
des informations dans cette table, vous dclarez (dfinissez) les paramtres et les
variables utiliss par le bloc.

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire

Types de donnes

Il est possible daffecter un type aux donnes devant tre utilises dans un
programme. Vous devez prciser un type de donnes lorsque vous dfinissez des
mnmoniques avec lditeur de mnmoniques ou des variables locales dans la table de
dclaration des variables. Le type de donnes dfinit la longueur et lorganisation des
bits dans la mmoire rserve par la CPU.

Types de donnes simples : BOOL (boolen), BYTE (octet), WORD (mot),


DWORD (double mot), CHAR (caractre), INT (nombre entier de 16 bits), DINT
(nombre entier de 32 bits), REAL (nombre virgule flottante), TIME (dure),
DATE (date), TOD (heure) et S5TIME (dure S5). Le systme dexploitation
attribue chaque type de donnes lmentaire une longueur fixe en mmoire. Un
type de donnes boolen (BOOL), par exemple, dispose dun bit, un octet (BYTE)
de 8 bits, un mot (WORD) de 2 octets (ou 16 bits) et un double mot (DWORD) de
4 octets (ou 32 bits).

Types de donnes complexes : DT (DATE_AND_TIME, date et heure), STRING


(chane de 255 caractres au maximum), STRUCT (structure), UDT (type de
donnes utilisateur) et ARRAY (tableau). Les types de donnes complexes
dpassent gnralement 32 bits (ou 4 octets). Vous pouvez combiner des types de
donnes en dfinissant soit un groupe de types de donnes dans une structure
(STRUCT), soit un mme type de donnes plusieurs fois dans un tableau
(ARRAY).

Types de paramtres : TIMER (numro de temporisation), COUNTER (numro de


compteur), BLOCK_[DB, FB, FC, SDB, SFC, SFB] (numro du type de bloc
identifi), POINTER (rfrence de pointeur une adresse) ou ANY (type de
donnes indfini)

Z
Zone de mmoire

Une zone de mmoire est la zone de la CPU dans laquelle une opration trouve une
valeur (objet de donnes) sur laquelle oprer. Votre automate programmable dispose
des zones de mmoire suivantes que vous pouvez indiquer comme partie de
loprande dune opration :

Mmoire image des entres


Mmoire image des sorties
Mmentos
Priphrie dentre et de sortie
Temporisations
Compteurs
Blocs de donnes
Donnes temporaires (donnes locales dynamiques)

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Glossaire-7

Glossaire

Glossaire-8

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Index
A
Ajouter valeur dans table (ATT), 2-2
Algorithme davance et de retard de phase
(LEAD_LAG), 6-16
Annuler la mise lchelle (UNSCALE), 6-14
Arithmtique sur nombres virgule flottante, Ecart
type (DEV), 7-2
Assistance technique, v

B
Barillet dvnement avec masquage, 5-10
Blocs fonctionnels (FB)
copier, iii
liste, vi
Blocs fonctionnels de comparaison
Comparaison de colonne de matrice (IMC), 8-2
Comparaison squentielle de colonne de matrice
(SMC), 8-6

C
Combinaison de bits
Mettre un plage de sorties directes (SETI), 1-8
Mettre un zone de mmentos ou de priphrie
dans la mmoire image (SET), 1-6
Remettre zro plage de sorties directes
(RSETI), 1-4
Remettre zro zone de mmentos ou de
priphrie dans la mmoire image (RSET),
1-2
Combiner valeur logiquement avec lment de
table et mmoriser (WRD_TBL), 2-15
Comparaison
Comparaison de colonne de matrice (IMC), 8-2
Comparaison squentielle de colonne de matrice
(SMC), 8-6
Comparaison de colonne de matrice (IMC), 8-2
Comparaison squentielle de colonne de matrice
(SMC), 8-6
Complment 10 (BCDCPL), 6-10
Compter bits 1 (BITSUM), 6-11

Conversion
Algorithme davance et de retard de phase
(LEAD_LAG), 6-16
Annuler la mise lchelle (UNSCALE), 6-14
Complment 10 (BCDCPL), 6-10
Compter bits 1 (BITSUM), 6-11
Conversion ASCII-hexa (ATH), 6-4
Conversion hexa-ASCII (HTA), 6-6
Dcoder position binaire (DECO), 6-9
Dcodeur 7 segments (SEG), 6-2
Encoder position binaire (ENCO), 6-8
Mise lchelle (SCALE), 6-12
Conversion ASCII-hexa (ATH), 6-4
Conversion hexa-ASCII (HTA), 6-6
Copie des fonctions (FC) et de blocs fonctionnels
(FB), iii
Copier valeur de la table (TBL_WRD), 2-13

D
Dcalage
Dplacer bit vers registre dcalage (SHRB),
3-4
Dplacer mot vers registre dcalage (WSR),
3-2
Dcoder position binaire (DECO), 6-9
Dcodeur 7 segments (SEG), 6-2
Dplacer bit vers registre dcalage (SHRB), 3-4
Dplacer mot vers registre dcalage (WSR), 3-2
Dernire valeur entre, premire sortie (LIFO), 2-9

E
Ecart type (DEV), 7-2
Encoder position binaire (ENCO), 6-8
Excuter opration sur table (TBL), 2-11
Excuter opration sur tables et mmoriser dans
table cible (TBL_TBL), 2-19

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Index-1

Index

F
Fonction arithmtique sur nombres virgule
flottante, Ecart type (DEV), 7-2
Fonction et bloc fonctionnel de transfert
Rassembler/rpartir donnes de table (PACK),
4-4
Transfert indirect de blocs (IBLKMOV), 4-2
Fonction et blocs fonctionnels de temporisation
Barillet dvnement avec masquage (DRUM),
5-10
Temporisation dalarme avec commande moteur
(MCAT), 5-7
Temporisation dalarme avec commande tout ou
rien (DCAT), 5-4
Temporisation sous forme de retard la monte
mmoris (TONR), 5-2
Fonctions (FC)
copier, iii
liste, vi
Fonctions de combinaison de bits
Mettre un plage de sorties directes (SETI), 1-8
Mettre un zone de mmentos ou de priphrie
dans la mmoire image (SET), 1-6
Remettre zro plage de sorties directes
(RSETI), 1-4
Remettre zro zone de mmentos ou de
priphrie dans la mmoire image (RSET),
1-2
Fonctions de dcalage
Dplacer bit vers registre dcalage (SHRB),
3-4
Dplacer mot vers registre dcalage (WSR),
3-2
Fonctions de table
Ajouter valeur dans table (ATT), 2-2
Combiner valeur logiquement avec lment de
table et mmoriser (WRD_TBL), 2-15
Copier valeur de la table (TBL_WRD), 2-13
Dernire valeur entre, premire sortie (LIFO),
2-9
Excuter opration sur table (TBL), 2-11
Excuter opration sur tables et mmoriser dans
table cible (TBL_TBL), 2-19
Premire valeur entre, premire sortie (FIFO),
2-4
Recherche de valeur dans table (TBL_FIND),
2-6
Tables de donnes corrles (CDT), 2-17
Fonctions et bloc fonctionnel de conversion
Algorithme davance et de retard de phase
(LEAD_LAG), 6-16
Annuler la mise lchelle (UNSCALE), 6-14
Complment 10 (BCDCPL), 6-10
Compter bits 1 (BITSUM), 6-11
Conversion ASCII-hexa (ATH), 6-4

Index-2

Conversion hexa-ASCII (HTA), 6-6


Dcoder position binaire (DECO), 6-9
Dcodeur 7 segments (SEG), 6-2
Encoder position binaire (ENCO), 6-8
Mise lchelle (SCALE), 6-12

M
Mettre un plage de sorties directes (SETI), 1-8
Mettre un zone de mmentos ou de priphrie
dans la mmoire image (SET), 1-6
Mise lchelle (SCALE), 6-12

P
Premire valeur entre, premire sortie (FIFO), 2-4

R
Rassembler/rpartir donnes de table (Pack), 4-4
Recherche de valeur dans table (TBL_FIND), 2-6
Remettre zro plage de sorties directes (RSETI),
1-4
Remettre zro zone de mmentos ou de priphrie
dans la mmoire image (RSET), 1-2

T
Table
Ajouter valeur dans table (ATT), 2-2
Combiner valeur logiquement avec lment de
table et mmoriser (WRD_TBL), 2-15
Copier valeur de la table (TBL_WRD), 2-13
Dernire valeur entre, premire sortie (LIFO),
2-9
Excuter opration sur table (TBL), 2-11
Excuter opration sur tables et mmoriser dans
table cible (TBL_TBL), 2-19
Premire valeur entre, premire sortie (FIFO),
2-4
Recherche de valeur dans table (TBL_FIND),
2-6
Tables de donnes corrles (CDT), 2-17
Tables de donnes corrles (CDT), 2-17
Temporisation
Barillet dvnement avec masquage (DRUM),
5-10
Temporisation dalarme avec commande moteur
(MCAT), 5-7
Temporisation dalarme avec commande tout ou
rien (DCAT), 5-4
Temporisation sous forme de retard la monte
mmoris (TONR), 5-2
Transfert
Rassembler/rpartir donnes de table (PACK),
4-4
Transfert indirect de blocs (IBLKMOV), 4-2
Transfert indirect de blocs (IBLKMOV), 4-2

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5e00066868-03

Siemens AG
A&D AS E 81
Oestliche Rheinbrueckenstr. 50
D-76181 Karlsruhe
Rpublique Fdrale dAllemagne

Expditeur :
Vos . Nom : _ _ _
Fonction :
Entreprise :
Rue : _ _ _
Code postal :
Ville : _ _ _
Pays : _ _ _
Tlphone :

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_

_____
_ _ _ _
_ _ _ _
_ ____
_ _ _ _
_ ____
_ ____
_ _ _ _

Indiquez votre secteur industriel :

Industrie automobile

Industrie pharmaceutique

Industrie chimique

Traitement des matires plastiques

Industrie lectrique

Industrie du papier

Industrie alimentaire

Industrie textile

Contrle/commande

Transports

Construction mcanique

Autres _ _ _ _ _ _ _ _ _ _ _

Ptrochimie

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5E0066868-03

Remarques / suggestions
Vos remarques et suggestions nous permettent damliorer la qualit gnrale de notre
documentation. Cest pourquoi nous vous serions reconnaissants de complter et de renvoyer ces formulaires Siemens.

Rpondez aux questions suivantes en attribuant une note comprise entre 1 pour trs bien
et 5 pour trs mauvais.
1.

Le contenu du manuel rpond-il votre attente ?

2.

Les informations requises peuvent-elles facilement tre trouves ?

3.

Le texte est-il comprhensible ?

4.

Le niveau des dtails techniques rpond-il votre attente ?

5.

Quelle valuation attribuez-vous aux figures et tableaux ?

Vos remarques et suggestions:


_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

Logiciel standard pour S7-300 et S7-400 Fonctions standard, 2me partie


A5E0066868-03