Skip to main content

FB_ENVELOPE

Description Bloc Fonctionnel

Le FB_ENVELOPE est utilisé pour créer une courbe enveloppe à partir de la valeur de InValue plus uiOffset et de vérifier si oui ou non InValue viole cette courbe d'enveloppe à chaque fois que le bloc fonction est appelé. Si InValue atteint la gamme de - udiTargetValue à + udiTargetValue, alors le temps tTimeAfterInTarget commence à courir. Si InValue quitte cette plage et que le temps n'est pas encore écoulé, ce temps est alors réinitialisé. Le temps peut recommencer lorsque InValue atteint à nouveau la plage. Si InValue reste dans la plage, alors le bSafeFunctionOut la sortie est réglée sur FALSE après le temps tTimeAfterInTarget écoulée. Le bSafeFunctionOut la sortie est réglée sur FALSE au plus tard après tMaxTime a expiré.

Ce bloc fonctionnel peut normalement être utilisé, par exemple, pour une fonction de sécurité SS1 ou SS2.

Astuce

La disponibilité de ce bloc fonction dépend du FBSupportFlags du fichier de description ESI. Ces FBSupportFlags sont évalués à compter de CODESYS Safety for EtherCAT Safety Module 4.3.0.0. L'utilisation de ce bloc fonctionnel est empêchée si l'appareil en question ne prend pas explicitement en charge ce bloc fonctionnel.

EL6900_ENVELOPE.png
Tableau 42. VAR_INPUT

Nom

Type de données

Valeur initiale

Description, valeurs des paramètres

bSafeFunction

SAFEBOOL

FALSE

Pour un front descendant, une courbe enveloppe est créée à partir de la valeur de InValue plus uiOffset. A chaque cycle d'appel du bloc fonction, une vérification est effectuée pour savoir si InValue viole cette enveloppe.

InValue

SAFELINT

0

Valeur analogique qui doit être surveillée lorsqu'un retard ou un changement se produit vers 0 dans une courbe d'enveloppe.

Types de données autorisés : UINT, INT, UDINT, DINT

udiTargetValue

SAVEUDINT

0

Délai de InValue symétrique par 0 (- udiTargetValue <= InValue <= udiTargetValue)

Seule une valeur constante est autorisée (pas de variable)

uiOffset

SAFEUINT

0

Valeur qui s'ajoute à la valeur de InValue puis forme le point de départ de la courbe enveloppe sous la forme d'une valeur positive et négative.

Seule une valeur constante est autorisée (pas de variable)

tTimeAfterInTarget

SAFETIME

TIME#0ms

Temps après lequel le bSafeFunctionOut la sortie est réglée sur FALSE quand InValue est situé dans la plage - udiTargetValue et + udiTargetValue.

Le temps commence à courir lorsque InValue atteint la plage entre -udiTargetValue et + udiTargetValue. L'heure est réinitialisée lorsque InValue quitte la plage et tTimeAfterInTarget n'est pas encore écoulé. L'heure redémarre lorsque InValue atteint à nouveau la plage.

Seule une valeur constante est autorisée (pas de variable)

tMaxTime

SAFETIME

TIME#0ms

Temps maximum (en ms) au bout duquel le bSafeFunctionOut la sortie est réglée sur FALSE.

Seule une valeur constante est autorisée (pas de variable)



Tableau 43. VAR_OUTPUT

Nom

Type de données

Valeur initiale

Description, valeurs des paramètres

bSafeFunctionOut

SAFEBOOL

FALSE

Sortie avec fonction de sécurité (retardée par le temps et surveillée par courbe enveloppe)

Mis à FALSE quand InValue reste dans la courbe enveloppe jusqu’à ce que tTimeAfterInTarget s'est écoulé ou jusqu'à ce que tMaxTime écoulée.

bError

SAFEBOOL

FALSE

TRUE: InValue incorrect (par exemple, au-dessus ou en dessous de la courbe enveloppe) ou tMaxTime écoulée

FALSE: Aucune erreur ne s'est produite.