Présentation
Il existe trois types de valeurs booléennes :
Le type BOOL, qui contient uniquement la valeur FALSE (= 0) ou TRUE (= 1).
Le type EBOOL, qui contient la valeur FALSE (= 0) ou TRUE (= 1), mais aussi des informations relatives à la gestion des fronts descendants ou montants et au forçage.
Le type ANY_BOOL, déclaré uniquement comme type de données référencées qui combine les types BOOL et EBOOL.
Principe du type BOOL
Ce type occupe un octet de mémoire, mais la valeur est stockée sur un seul bit.
Par défaut, de ce type a la valeur FALSE (= 0).
Il est accessible à l'aide d'une adresse contenant le décalage de l'octet correspondant :
Paramètres d'adresse :

Le bit extrait de mot, quant à lui, est accessible à l'aide d'une adresse contenant les informations suivantes :
le décalage de l'octet correspondant ;
le rang définissant sa position dans le mot.
Paramètres d'adresse :

Principe du type EBOOL
Ce type occupe un octet de mémoire qui contient :
le bit de la valeur (V) ;
le bit d'historique (H) pour la gestion des fronts montants ou descendants. À chaque changement d'état de l'objet, la valeur est copiée dans ce bit ;
le bit contenant l'état de forçage (F). Il est égal à 0 si l'objet n'est pas forcé et à 1 s'il l'est.
Par défaut, la valeur des bits associés au type EBOOL est FALSE (= 0).
Il est accessible à l'aide d'une adresse indiquant le décalage de l'octet correspondant :
Paramètres d'adresse :

Chronogramme historique du type EBOOL
Le chronogramme ci-après illustre les principaux états des bits de valeur et d'historique associés au type EBOOL.
Les fronts montants du bit de valeur (1, 4) sont copiés dans le bit d'historique lors du cycle suivant de l'automate (2, 5). Les fronts descendants du bit de valeur (2, 7) sont copiés dans le bit d'historique lors du cycle suivant de l'automate (3, 8).

Chronogramme et forçage du type EBOOL
Le chronogramme ci-après illustre les principaux états des bits de valeur, d'historique et de forçage associés au type EBOOL.
Les fronts montants du bit de valeur (1, 4) sont copiés dans le bit d'historique lors du cycle suivant de l'automate (2, 5). Les fronts descendants du bit de valeur (2, 7) sont copiés dans le bit d'historique lors du cycle suivant de l'automate (3, 8). Entre (4 et 5), le bit de forçage est égal à 1 et les bits de valeur et d'historique conservent la valeur 1.

Principe du type ANY_BOOL
Les outils de supervision peuvent utiliser le type ANY_BOOL
(SCADA, par
exemple) pour réserver des variables déclarées comme
type de données générique. Le type de données
générique est l'élément partagé avec Control Expert.
Une variable de type ANY_BOOL
est déclarée comme référence
à l'aide du mot clé REF_TO. La rubrique Déclaration du type de données
Reference fournit des informations complémentaires sur
le référencement et le déréférencement.
ANY_BOOL
déréférencées
(BOOL_TO_*).Limitations liées à l'utilisation du type ANY_BOOL
:
Le type
ANY_BOOL
ne peut pas être utilisé pour déclarer une variable dans l'application Control Expert. Il est nécessaire de faire référence au typeANY_BOOL
avec le mot-cléREF_TO
pour déclarer une variable.Le référencement de
REF_TO_ANY_BOOL
n'est pas autorisé dans un programme.MyRefToAnyBoolVar := REF(MyVar); n'est pas autorisé (si MyVar est : BOOL ou EBOOL).
Dans un EF ou un EFB, il est impossible d'utiliser le type
ANY_BOOL
pour déclarer un paramètre ou une variable, même sous forme de référence avec le mot-clé REF_TO.Seul l'historique de front est géré pour le référencement d'un type EBOOL. La fonction de forçage n'est pas prise en charge par le type
ANY_BOOL
lors du référencement d'un type EBOOL.Dans un système SCADA, la variable de type
ANY_BOOL
constitue l'élément partagé et le dictionnaire de données fournit le type final de la référenceANY_BOOL
(BOOL ou EBOOL).La référence à une référence n'est pas prise en charge.
Le déréférencement en cascade n'est pas géré (par exemple,
MyAnyBool1^MyAnyBool2^.xy
n'est pas pris en charge).
Plate-forme : le type ANY_BOOL
est utilisé sur les plates-formes suivantes :
Modicon M580 (version de SE ≥ V2.00)
Modicon Quantum 140CPU6•••• (version de SE ≥ V3.30)
Modicon M340 (version de SE ≥ V2.70)
Horodatage : une variable de référence ANY_BOOL
peut être horodatée en
mode horodatage système uniquement
si la variable référencée est une constante (attribut IsConstant
activé). La variable référencée
peut être associée aux éléments suivants :
Une source BMX ERT 1604 T.
Une source BMX CRA 312 10.
Une source BME CRA 312 10.
Une source d'UC Modicon M580 (version de SE ≥ V2.00).
Une variable topologique (par exemple %M100).
Variables d'automate appartenant aux types booléens
Liste des variables
Variable |
Type |
---|---|
Bit interne |
EBOOL |
Bit système |
BOOL |
Bit extrait de mot |
BOOL |
Entrées %I |
|
Bit d'erreur de module |
BOOL |
Bit d'erreur de voie |
BOOL |
Bit d'entrée |
EBOOL |
Sorties %Q |
|
Bit de sortie |
EBOOL |
Compatibilité entre BOOL et EBOOL
Les opérations suivantes sont autorisées entre ces deux types de variables :
copie de valeurs ;
copie d'adresses.
Copies entre types
Destination BOOL |
Destination EBOOL |
|
---|---|---|
Source BOOL |
Oui |
Oui |
Source EBOOL |
Oui |
Oui |
Compatibilité entre les paramètres des fonctions élémentaires (EF)
Paramètre effectif (externe à l'EF) |
Paramètre BOOL formel (interne à l'EF) |
Paramètre EBOOL formel (interne à l'EF) |
---|---|---|
BOOL |
Oui |
Non |
EBOOL |
Entrée -> Oui E-S -> Non Sortie -> Oui |
Oui |
Compatibilité entre les paramètres des blocs fonction (EFB\DFB)
Paramètre effectif (externe au FB) |
Paramètre BOOL formel (interne au FB) |
Paramètre EBOOL formel (interne au FB) |
---|---|---|
BOOL |
Oui |
Entrée -> Oui E-S -> Non Sortie -> Non |
EBOOL |
Entrée -> Oui E-S -> Non Sortie -> Non |
Oui |
Compatibilité entre les variables de tableau
ARRAY[i...j) OF BOOL destination |
ARRAY[i...j) OF EBOOL destination |
|
---|---|---|
ARRAY[i..j) OF BOOL source |
Oui |
Non |
ARRAY[i..j) OF EBOOL source |
Non |
Oui |
Compatibilité entre les variables statiques
Adressage direct BOOL (%MW:xi) |
Adressage direct EBOOL (%Mi) |
|
---|---|---|
Variable déclarée BOOL (Var:BOOL) |
Oui |
Non |
Variable déclarée EBOOL (Var:EBOOL) |
Non |
Oui |
Compatibilité
Les types de données EBOOL sont soumis aux règles suivantes :
Une variable de type EBOOL ne peut pas être transmise en tant que paramètre d'entrée/de sortie de type BOOL.
Les tableaux EBOOL ne peuvent pas être transmis en tant que paramètres de type ANY d'un FFB.
Les tableaux BOOL et EBOOL ne sont pas compatibles avec la demande d'affectation (même règle que pour les paramètres FFB).
Sur Quantum :
Une variable localisée de type EBOOL ne peut pas être transmise en tant que paramètre d'entrée/de sortie de type EBOOL.
Les tableaux EBOOL ne peuvent pas être transmis en tant que paramètres d'un DFB.