Eléments communs

Tableau de conformité IEC des éléments communs :

N° de tableau

N° de fonctionnalité

Description de la fonctionnalité

1

2

Caractères en minuscules

3a

Signe nombre (#)

4a

Signe dollar ($)

5a

Barre verticale (|)

2

1

Caractères en majuscules et nombres

2

Caractères en minuscules et majuscules, nombres, caractères de soulignement intégrés

3

Caractères en minuscules et majuscules, nombres, caractères de soulignement de début ou intégrés

3

1

Commentaires

3a

1

Directives pragma

4

1

Valeurs littérales entières

2

Valeurs littérales réelles

3

Valeurs littérales réelles avec exposants

4

Valeurs littérales en base 2

5

Valeurs littérales en base 8

6

Valeurs littérales en base 16

7

Valeurs booléennes 0 et 1

8

Valeurs booléennes FALSE et TRUE

9

Valeurs littérales typées

5

1

Chaînes de caractères sur un octet

3

Valeurs littérales de chaîne typées sur un octet

6

2

Signe dollar

3

Apostrophe

4

Retour à la ligne

5

Nouvelle ligne

6

Saut de page

7

Retour chariot

8

Onglet

9

Guillemets

7

1a

Valeurs littérales de durée sans soulignement : préfixe court

1b

préfixe long

2a

Valeurs littérales de durée avec soulignement : préfixe court

2b

préfixe long

8

1

Valeurs littérales de date (préfixe long)

2

Valeurs littérales de date (préfixe court)

3

Valeurs littérales d'heure (préfixe long)

4

Valeurs littérales d'heure (préfixe court)

5

Valeurs littérales de date et heure (préfixe long)

5

Valeurs littérales de date et heure (préfixe court)

10

1

Type de données BOOL

3

Type de données INT

4

Type de données DINT

7

Type de données UINT

8

Type de données UDINT

10

Type de données REAL

12

Type de données TIME

13

Type de données DATE

14

Type de données TIME_OF_DAY ou TOD

15

Type de données DATE_AND_TIME ou DT

16

Type de données STRING

17

Type de données BYTE

18

Type de données WORD

19

Type de données DWORD

12

4

Types de données des tableaux (arrays)

5

Types de données structurées

14

4

Initialisation de types de données tableau

6

Initialisation de types de données structurées dérivées

15

1

Emplacement d'entrée

2

Emplacement de sortie

3

Emplacement mémoire

4

Taille d'un bit (préfixe X)

5

Taille d'un bit (pas de préfixe)

7

Taille d'un mot (16 bits)

8

Taille d'un mot double (32 bits)

9

Taille d'un mot long (quad - 64 bits)

17

3

Déclaration des emplacements des variables symboliques (Remarque 5)

4

Affectation d'emplacement de tableau (Remarque 5)

5

Affectation automatique en mémoire des variables symboliques

6

Déclaration de tableau (Remarque 11)

7

Déclaration de tableau mémorisée (Remarque 11)

8

Déclaration de variables structurées

18

1

Initialisation de variables directement représentées (Remarque 11)

3

Affectation d'emplacement et de valeur initiale aux variables symboliques

4

Affectation et initialisation d'emplacements de tableau

5

Initialisation de variables symboliques

6

Initialisation de tableau (Remarque 11)

7

Déclaration et initialisation de tableau mémorisées (Remarque 11)

8

Initialisation de variables structurées

9

Initialisation de constantes

10

Initialisation d'instances de bloc fonction

19

1

Entrée inversée

2

Sortie inversée

19a

1

Appel formel de fonction/bloc fonction

2

Appel informel de fonction/bloc fonction

20

1

Utilisation de EN et ENO en langage LD

2

Utilisation sans EN et ENO en langage FBD

20a

1

Déclaration de variables d'E/S (texte)

2

Déclaration de variables d'E/S (graphique)

3

Liaison graphique de variable d'E/S à différentes variables (graphique)

21

1

Fonctions surchargées

2

Fonctions typées

22

1

*_TO_** (Remarque 1)

2

TRUNC (Remarque 2)

3

*_BCD_TO_** (Remarque 3)

4

**_TO_BCD_* (Remarque 3)

23

1

Fonction ABS

2

Fonction SQRT

3

Fonction LN

4

Fonction LOG

5

Fonction EXP

6

Fonction SIN

7

Fonction COS

8

Fonction TAN

9

Fonction ASIN

10

Fonction ACOS

11

Fonction ATAN

24

12

Fonction ADD

13

Fonction MUL

14

Fonction SUB

15

Fonction DIV

16

Fonction MOD

17

Fonction EXPT

18

Fonction MOVE

25

1

Fonction SHL

2

Fonction SHR

3

Fonction ROR

4

Fonction ROL

26

5

Fonction AND

6

Fonction OR

7

Fonction XOR

8

Fonction NOT

27

1

Fonction SEL

2a

Fonction MAX

2b

Fonction MIN

3

Fonction LIMIT

4

Fonction MUX

28

5

Fonction GT

6

Fonction GE

7

Fonction EQ

8

Fonction LE

9

Fonction LT

10

Fonction NE

29

1

Fonction LEN (Remarque 4)

2

Fonction LEFT (Remarque 4)

3

Fonction RIGHT (Remarque 4)

4

Fonction MID (Remarque 4)

6

Fonction INSERT (Remarque 4)

7

Fonction DELETE (Remarque 4)

8

Fonction REPLACE (Remarque 4)

9

Fonction FIND (Remarque 4)

30

1a

Fonction ADD (Remarque 6)

1b

Fonction ADD_TIME

2b

Fonction ADD_TOD_TIME

3b

Fonction ADD_DT_TIME

4a

Fonction SUB (Remarque 6)

4b

Fonction SUB_TIME

5b

Fonction SUB_DATE_DATE

6b

Fonction SUB_TOD_TIME

7b

Fonction SUB_TOD_TOD

8b

Fonction SUB_DT_TIME

9b

Fonction SUB_DT_DT

10a

Fonction MUL (Remarque 6)

10b

Fonction MULTIME

11a

Fonction DIV (Remarque 6)

11b

Fonction DIVTIME

33

1a

Qualificatif RETAIN pour variables internes (Remarque 11)

2a

Qualificatif RETAIN pour variables de sortie (Remarque 11)

2b

Qualificatif RETAIN pour variables d'entrée (Remarque 11)

3a

Qualificatif RETAIN pour blocs fonction internes (Remarque 11)

4a

Déclaration VAR_IN_OUT (texte)

4b

Déclaration VAR_IN_OUT et utilisation (graphique)

4c

Déclaration VAR_IN_OUT avec affectation à différentes variables (graphique)

34

1

Bloc fonction bistable (réglage dominant)

2

Bloc fonction bistable (réarmement dominant)

35

1

Détecteur front montant

2

Détecteur front descendant

36

1a

Bloc fonction CTU (compteur croissant)

1b

Bloc fonction CTU_DINT

1 d

Bloc fonction CTU_UDINT

2a

Bloc fonction CTD (compteur décroissant)

2b

Bloc fonction CTD_DINT

2 d

Bloc fonction CTD_UDINT

3a

Bloc fonction CTUD (compteur/décompteur)

3b

Bloc fonction CTUD_DINT

3d

Bloc fonction CTUD_UDINT

37

1

Bloc fonction TP (impulsion)

2a

Bloc fonction TON (temporisation d'activation)

3a

Bloc fonction TOF (temporisation de désactivation)

39

19

Utilisation de variables directement représentées

40

1

Etape et étape initiale (forme graphique avec liaisons directes)

3a

Indicateur d'étape (forme générale)

4

Temps écoulé pour l'étape (forme générale)

41

7

Utilisation du nom de transition

7a

Condition de transition associée via le nom de transition dans le langage LD

7b

Condition de transition associée via le nom de transition dans le langage FBD

7c

Condition de transition associée via le nom de transition dans le langage IL

7d

Condition de transition associée via le nom de transition dans le langage ST

42

1

Toute variable booléenne déclarée dans un bloc VAR ou VAR_OUTPUT (ou leurs équivalents graphiques) peut être une action

2l

Déclaration graphique d'action dans le langage LD

2f

Déclaration graphique d'action dans le langage FBD

3 s

Déclaration textuelle d'action dans le langage ST

3i

Déclaration textuelle d'action dans le langage IL

43

1

Bloc d'action adjacent (physiquement ou logiquement) à l'étape (Remarque 7)

2

Blocs d'action concaténés adjacents (physiquement ou logiquement) à l'étape (Remarque 8)

44

1

Qualificatif d'action dans bloc d'action pris en charge

2

Nom d'action dans bloc d'action pris en charge

45

1

None - aucun qualificatif

2

Qualificatif N

3

Qualificatif R

4

Qualificatif S

5

Qualificatif L

6

Qualificatif D

7

Qualificatif P

9

Qualificatif DS

11

Qualificatif P1

12

Qualificatif P0

45a

2

Contrôle d'action sans "cycle final"

46

1

Séquence unique

2a

Divergence de la sélection de séquence : priorité de gauche à droite des évaluations de transition

3

Convergence de sélection de séquence

4

Séquences simultanées - divergence et convergence

5a

Séquence ignorée : priorité de gauche à droite des évaluations de transition

6a

Boucle de séquence : priorité de gauche à droite des évaluations de transition

49

1

Construction CONFIGURATION...END_CONFIGURATION (Remarque 12)

5a

Construction TASK périodique

5b

Construction TASK non périodique

6a

Construction WITH pour association PROGRAM à TASK (Remarque 9)

6c

Déclaration PROGRAM sans association de TASK (Remarque 10)

50

5a

Planification non préemptive (Remarque 13)

5b

Planification préemptive (Remarque 14)

Remarque 1

Liste des fonctions de conversion de type :

  • BOOL_TO_BYTE, BOOL_TO_DINT, BOOL_TO_INT, BOOL_TO_REAL, BOOL_TO_TIME, BOOL_TO_UDINT, BOOL_TO_UINT, BOOL_TO_WORD, BOOL_TO_DWORD

  • BYTE_TO_BOOL, BYTE_TO_DINT, BYTE_TO_INT, BYTE_TO_REAL, BYTE_TO_TIME, BYTE_TO_UDINT, BYTE_TO_UINT, BYTE_TO_WORD, BYTE_TO_DWORD, BYTE_TO_BIT

  • DINT_TO_BOOL, DINT_TO_BYTE, DINT_TO_INT, DINT_TO_REAL, DINT_TO_TIME, DINT_TO_UDINT, DINT_TO_UINT, DINT_TO_WORD, DINT_TO_DWORD, DINT_TO_DBCD, DINT_TO_STRING

  • INT_TO_BOOL, INT_TO_BYTE, INT_TO_DINT, INT_TO_REAL, INT_TO_TIME, INT_TO_UDINT, INT_TO_UINT, INT_TO_WORD, INT_TO_BCD, INT_TO_DBCD, INT_TO_DWORD, INT_TO_STRING

  • REAL_TO_BOOL, REAL_TO_BYTE, REAL_TO_DINT, REAL_TO_INT, REAL_TO_TIME, REAL_TO_UDINT, REAL_TO_UINT, REAL_TO_WORD, REAL_TO_DWORD, REAL_TO_STRING

  • TIME_TO_BOOL, TIME_TO_BYTE, TIME_TO_DINT, TIME_TO_INT, TIME_TO_REAL, TIME_TO_UDINT, TIME_TO_UINT, TIME_TO_WORD, TIME_TO_DWORD, TIME_TO_STRING

  • UDINT_TO_BOOL, UDINT_TO_BYTE, UDINT_TO_DINT, UDINT_TO_INT, UDINT_TO_REAL, UDINT_TO_TIME, UDINT_TO_UINT, UDINT_TO_WORD, UDINT_TO_DWORD

  • UINT_TO_BOOL, UINT_TO_BYTE, UINT_TO_DINT, UINT_TO_INT, UINT_TO_REAL, UINT_TO_TIME, UINT_TO_UDINT, UINT_TO_WORD, UINT_TO_DWORD,

  • WORD_TO_BOOL, WORD_TO_BYTE, WORD_TO_DINT, WORD_TO_INT, WORD_TO_REAL, WORD_TO_TIME, WORD_TO_UDINT, WORD_TO_UINT, WORD_TO_BIT, WORD_TO_DWORD

  • DWORD_TO_BOOL, DWORD_TO_BYTE, DWORD_TO_DINT, DWORD_TO_INT, DWORD_TO_REAL, DWORD_TO_TIME, DWORD_TO_UDINT, DWORD_TO_UINT, DWORD_TO_BIT,

Les effets de chaque conversion sont décrits dans l'aide fournie avec la bibliothèque de base.

Remarque 2

Liste de types pour la fonction de troncature (TRUNC) :

  • REAL_TRUNC_DINT, REAL_TRUNC_INT, REAL_TRUNC_UDINT, REAL_TRUNC_UINT

Les effets de chaque conversion sont décrits dans l'aide fournie avec la bibliothèque de base.

Remarque 3

Liste de types pour la fonction de conversion BCD :

  • BCD_TO_INT, DBCD_TO_INT, DBCD_TO_DINT

Liste de types pour la fonction de conversion BCD :

  • INT_TO_BCD, INT_TO_DBCD, DINT_TO_DBCD

Les effets de chaque conversion sont décrits dans l'aide fournie avec la bibliothèque de base.

Remarque 4

Liste de types pour les fonctions de chaîne :

  • LEN_INT, LEFT_INT, RIGHT_INT, MID_INT, INSERT_INT, DELETE_INT, REPLACE_INT, FIND_INT

Remarque 5

Une variable peut être affectée à une variable directement représentée en cas d'identité stricte des types.

Cela signifie qu'une variable de type INT ne peut être associée qu'à une variable directement représentée de type INT.

Il existe une exception à cette règle : pour les variables mémoire mot interne (%MW<i>), mot linéaire (%IW<i>) et mot constant (%KW<i>), tout type de variable déclaré est autorisé.

Mappages autorisés :

Syntaxe

Type de données

Types de variable autorisés

Bit interne

%M<i> ou %MX<i>

EBOOL

EBOOL

ARRAY [..] OF EBOOL

Mot interne

%MW<i>

INT

Tous les types sont autorisés à l'exception de :

  • EBOOL

  • ARRAY [..] OF EBOOL

Mot double interne

%MD<i>

DINT

Pas de mappage, car chevauchement entre %MW<i>, %MD<i> et %MF<i>.

Réel interne

%MF<i>

REAL

Pas de mappage, car chevauchement entre %MW<i>, %MD<i> et %MF<i>.

Mot constant

%KW<i>

INT

Tous les types sont autorisés à l'exception de :

  • EBOOL

  • ARRAY [..] OF EBOOL

Mot double constant

%KD<i>

DINT

Pas de mappage, car chevauchement entre %KW<i>, %KD<i> et %KF<i>.

Les variables de cette sorte n'existent que sur les automates Premium.

Réel constant

%KF<i>

REAL

Pas de mappage, car chevauchement entre %KW<i>, %KD<i> et %KF<i>.

Les variables de cette sorte n'existent que sur les automates Premium.

Bit système

%S<i> ou %SX<i>

EBOOL

EBOOL

Mot système

%SW<i>

INT

INT

Mot double système

%SD<i>

DINT

DINT

Bit linéaire

%I<i>

EBOOL

EBOOL

ARRAY [..] OF EBOOL

Les variables de cette sorte n'existent que sur les automates Quantum.

Mot linéaire

%IW<i>

INT

Tous les types sont autorisés à l'exception de :

  • EBOOL

  • ARRAY [..] OF EBOOL

Les variables de cette sorte n'existent que sur les automates Quantum.

Mot commun

%NWi.j.k

INT

INT

Variables topologiques

%I..., %Q..., ...

...

Type identique

(Sur certains modules d'E/S numériques, il est possible de mapper des tableaux EBOOL sur des objets %IX<topo> et %QX<topo>.)

Bits extraits

%MWi.j, ...

BOOL

BOOL

Remarque 6

Opérateurs "+" (pour ADD), "-" (pour SUB), "*" (pour MUL) ou "/" (pour DIV) uniquement en langage ST.

Remarque 7

Cette fonctionnalité apparaît uniquement dans la "vue étendue" du diagramme.

Remarque 8

Cette fonctionnalité apparaît dans la "vue étendue" du diagramme, non pas sous la forme de blocs concaténés, mais sous la forme d'une liste déroulante de noms d'action avec qualificatifs associés à l'intérieur d'un même symbole de bloc.

Remarque 9

Il existe uniquement un mappage un-à-un de l'instance de programme à la tâche. Le format textuel est remplacé par une boîte de dialogue de propriétés.

Remarque 10

Le format textuel est remplacé par une boîte de dialogue de propriétés.

Remarque 11

Toutes les variables sont mémorisées (qualificatif RETAIN implicitement admis dans les déclarations de variables).

Remarque 12

Le format textuel est remplacé par la représentation du navigateur de projet.

Remarque 13

L'utilisateur peut obtenir un comportement non préemptif à l'aide de l'instruction Mask-IT. MASKEVT (masquage global des événements) et UNMASKEVT (démasquage global des événements) sont disponibles dans les fonctions système de la bibliothèque.

Remarque 14

Par défaut, le système multitâche est préemptif.