Opérateurs
Les fonctions standard intégrées qui représentent un sous-ensemble des fonctions standard IEC sont appelées opérateurs. Les fonctions définies par l'utilisateur ne peuvent pas être créées dans la programmation de sécurité.
Les opérateurs ont la même sémantique que dans CODESYS Standard.
Ils peuvent être connectés aux deux SAFExxx
et Types de données Standard.
Insertion d'opérateurs
Les opérateurs sont insérés à l'aide de la Boîte d'insertion ou Insérer une boîte vide commande.
Les opérateurs peuvent également être ajoutés à partir de la boîte à outils dans le Boîte à outils vue. La boîte à outils de l'éditeur Safety FBD contient les catégories suivantes :
Opérateurs booléens
Opérateurs mathématiques
Autres opérateurs
Assistant de saisie
Les catégories suivantes sont affichées pour les opérateurs dans l'assistant de saisie :
Opérateurs
Conversions (pas au niveau de base)
Opérateurs extensibles
AND
OR
ADD
(uniquement dans le niveau étendu)MUL
(uniquement dans le niveau étendu)MUX
(uniquement dans le niveau étendu)
Le EQ
, LT
, LE
, GT
, et GE
les opérateurs, qui sont également extensibles conformément à la norme CEI, ne peuvent être utilisés qu'avec deux entrées (comme dans le cas de la norme ).
Le Insérer une entrée La commande ajoute une entrée supplémentaire à une boîte d'opérateur extensible.
Opérateurs au niveau de base
AND
(2 entrées)AND
(3 entrées)OR
(2 entrées)OR
(3 entrées)
Tous les opérandes de la OR
doit être SAFEBOOL
.
Opérateurs au niveau étendu
AND
(2 entrées)AND
(3 entrées)OR
(2 entrées)OR
(3 entrées)XOR
NOT
Important
L’utilisation imprudente de la XOR
et NOT
les opérateurs peuvent conduire à la perte de la propriété de sécurité intégrée SAFExxx
variables. Aucun avertissement n'est généré par le vérificateur de sécurité pour de telles constructions.
Le XOR
et NOT
les opérateurs peuvent annuler la propriété de sécurité intégrée d'un SAFExxx
variable, de sorte que le SAFE
La variable perd sa propriété de sécurité intégrée, c'est-à-dire qu'elle devient « non sécurisée ». Cela peut conduire à un démarrage involontaire de l'installation.
Règle de programmation : La SAFExxx
sorties de NOT
et XOR
doivent être déterminés. Par la suite, il faut s'assurer que ces NOT
/XOR
les sorties ne sont pas connectées aux sorties (E/S).
ADD
(2 entrées) : ArithmétiqueADD
opérateurADD
(3 entrées) : Addition avec trois entréesSUB
: SoustractionMUL
:MultiplicationDIV
:DivisionEQ
: Comparaison pour l'égalitéNE
: Comparaison des inégalitésLT
: Comparaison pour « moins de »LE
: Comparaison pour « inférieur à » ou « égal à »GT
: Comparaison pour « supérieur à »GE
: Comparaison pour « supérieur à » ou « égal à »
SEL
MUX
BOOL_TO_INT
BOOL_TO_DINT
BOOL_TO_TIME
BOOL_TO_WORD
BYTE_TO_INT
BYTE_TO_DINT
BYTE_TO_TIME
BYTE_TO_WORD
DINT_TO_BOOL
DINT_TO_BYTE
DINT_TO_INT
DINT_TO_TIME
DINT_TO_WORD
DINT_TO_DWORD
DWORD_TO_DINT
DWORD_TO_TIME
INT_TO_BOOL
INT_TO_BYTE
INT_TO_DINT
INT_TO_DWORD
INT_TO_TIME
INT_TO_WORD
TIME_TO_BOOL
TIME_TO_BYTE
TIME_TO_INT
TIME_TO_DINT
TIME_TO_WORD
TIME_TO_DWORD
WORD_TO_BOOL
WORD_TO_BYTE
WORD_TO_DINT
WORD_TO_INT
WORD_TO_TIME
WORD_TO_DWORD
Opérateurs avec caractéristiques de sécurité
Les caractéristiques de certains opérateurs spécifiques à sont décrites dans les sections suivantes
Erreur d'exécution en cas de dépassement de plage d'opérateur dans le niveau étendu
Erreur d'exécution en cas de dépassement de plage d'opérateur dans le niveau étendu
Important
Il est de la responsabilité des développeurs de concevoir la logique du programme de manière à ce qu'aucune erreur d'exécution ne se produise.
Réagit aux dépassements de plage suivants avec un erreur d'exécution, à la suite de quoi l'application est arrêtée et une entrée de journal est générée.
Niveau | Élément de langage | Erreur d'exécution en cas de |
---|---|---|
Étendu |
| Division par 0 |
Étendu |
| Appel avec une première entrée avec une valeur négative ou avec une valeur N supérieure au nombre d'entrées moins 1. Exemple : |
Étendu |
| La valeur de sortie n'est pas dans la plage de valeurs du type cible : lors de la conversion entre deux
de même
|
Astuce
Le comportement standard de SEL
/MUX
(c'est-à-dire que la valeur maximale est sélectionnée si la valeur d'entrée est trop grande et 0 est sélectionnée si la valeur d'entrée est négative) doit être programmé dans l'application de sécurité.
SEL
: pour k<0
SEL
: pour k>max, n...valeur maximale
MUX
pour k<0
MUX
pour k>0