Traitement du retour PAO
L'instruction Sortie analogique de procédé (Process Analog Output, PAO) évalue les signaux de retour des interrupteurs de fin de course fournis par le dispositif. L'instruction signale l'ouverture du dispositif dans l'une des conditions suivantes :
- L'instruction est en mode virtuel et l'interrupteur de fin de course ouvert est utilisé et activé.
- L'instruction n'est pas en mode virtuel, l'interrupteur de fin de course ouvert n'est pas utilisé, la limite fermée est utilisée mais n'est pas activée.
- L'instruction est en mode virtuel et Val_Pos > Cfg_MaxClosedPos.
- Aucun interrupteur de fin de course n'est utilisé et Val_Pos > Cfg_MaxClosedPos.
L'instruction signale le dispositif fermé dans l'une des conditions suivantes :
- L'instruction n'est pas en mode virtuel. L'interrupteur de fin de course fermé est utilisé et activé.
- L'instruction n'est pas en mode virtuel, l'interrupteur de fin de course ouvert est utilisé et n'est pas activé, l'interrupteur de fin de course fermé n'est pas utilisé.
- L'instruction est en mode Virtuel et Val_Pos ≤ Cfg_MaxClosedPos.
- Aucun interrupteur de fin de course n'est utilisé et Val_Pos ≤ Cfg_MaxClosedPos.
La logique d'instruction utilisée pour le traitement du retour des interrupteurs de fin de course et la position confirmée du dispositif/de l'actionneur est illustrée dans ce diagramme.

Ces diagrammes montrent la logique impliquée dans le défaut d'E/S (I/O), le défaut du dispositif et les conditions d'alarme de déviation hors plage :



Sortie d'impulsion
L'instruction PAO peut être utilisée en connexion avec un dispositif piloté par une impulsion, généralement une vanne, si l'instruction est configurée pour des sorties d'impulsion (Cfg_HasPulseOut=1). L'instruction génère des impulsions avec durée modulée par l'erreur de position, la différence (Val_Dev) entre la position souhaitée calculée par l'instruction (Val_CVOut) et la position réelle confirmée du dispositif (Val_Pos). La position réelle est fournie par le dispositif via un retour (Inp_PosFdbk) ou simulée par l'instruction si le retour physique n'est pas disponible ou utilisé.
Les impulsions sont générées en cycles, à raison d'une impulsion par cycle. Les impulsions ne peuvent pas être trop courtes ni trop longues pour minimiser l'usure de l'équipement, du dispositif ou de l'actionneur. Ces contraintes de temps sont définies par l'utilisateur comme étant Cfg_MinOnTime et Cfg_MaxOnTime. La durée du cycle Cfg_CycleTime est également définie par l'utilisateur.
L'instruction utilise trois paramètres associés au comportement supposé du dispositif ou de l'actionneur, la vitesse à laquelle le dispositif se déplace lors de l'ouverture de Cfg_OpenRate, la vitesse à laquelle le dispositif se déplace lors de la fermeture de Cfg_CloseRate, et le délai de Cfg_DeadTime dans le dispositif ou la réaction de l'actionneur lorsque l'actionneur est commandé pour s'ouvrir ou se fermer. Si le dispositif ou l'actionneur répond à l'impulsion Ouvrir/Fermer avec un délai, par exemple suite à une impulsion, compenser ce retard en entrant dans Cfg_DeadTime. Un délai non compensé génère une erreur de position d'état stationnaire.
IMPORTANT:
L'échec de la définition de valeurs correctes pour Cfg_OpenRate, Cfg_CloseRate et Cfg_DeadTime peut entraîner des mouvements non désirés du dispositif ou de l'actionneur.
La logique d'impulsion fournit une fonctionnalité de boucle de contrôle de la position. La largeur d'impulsion est calculée pour un cycle.
Pour Val_Dev /DIAGRAM_PATH_SPECIFIER>0, le temps d'impulsion ouvert est calculé comme suit :
PulseDuration = min(Val_Dev/Cfg_OpenRate + Cfg_DeadTime, Cfg_MaxOnTime)
Val_OpenTime = PulseDuration, pour ≥ Cfg_MinOnTime PulseDuration,
Val_OpenTime = 0, pour la < Cfg_MinOnTime PulseDuration.
Pour Val_Dev <0, la durée de fermeture de l'impulsion est calculée ainsi :
PulseDuration = min(-Val_Dev/Cfg_CloseRate + Cfg_DeadTime, Cfg_MaxOnTime)
Val_CloseTime = PulseDuration, pour ≥ Cfg_MinOnTime PulseDuration,
Val_CloseTime = 0, pour la < Cfg_MinOnTime PulseDuration.
Ces diagrammes fournissent des exemples de réponse du dispositif/actionneur à l'étape de manière à entrer dans la position souhaitée, Val_CVOut, pour les différents paramètres des paramètres de configuration.
Ce diagramme indique la valeur OpenTime pour un cycle résultant de la définition réelle des paramètres de l'instruction. Trois cas sont indiqués pour des relations différentes entre la Cfg_OpenRate saisie et la vitesse réelle d'ouverture du dispositif/actionneur.

Lorsque le dispositif commence à se déplacer ou inverse son sens, l'instruction se calcule Val_Pos par le temps mort configuré (Cfg_DeadTime).
Cette figure indique qu'OpenTime est défini pour un cycle résultant de la définition réelle de paramètres d'instruction et d'un dispositif ou d'un actionneur répondant à la commande avec retard. Le diagramme montre deux cas : délai ignoré et délai compensé.

Les figures suivantes montrent une séquence d'impulsions pour divers paramètres d'instruction et comportement de l'actionneur. Dans ce diagramme, la vitesse constante de l'actionneur est égale à Cfg_OpenRate ou à Cfg_CloseRate en mouvement.

Lorsque la vitesse configurée Cfg_OpenRate est plus rapide que la vitesse physique du dispositif et que le retour de position est fourni par le dispositif, la réponse de position varie. L'impulsion d'ouverture se raccourcit à l'approche de la position souhaitée jusqu'à ce qu'elle viole le temps d'activation minimal configuré (Cfg_MinOnTime), empêchant l'instruction de poursuivre l'impulsion.
N'utilisez pas la fonction d'impulsion de l'instruction lorsque le retour de position n'est pas utilisé, Val_Pos est calculé par l'instruction et que la vitesse configurée Cfg_OpenRate diffère de la vitesse physique du dispositif.

IMPORTANT:
Le temps de scrutation de l'instruction doit être bien plus court que Cfg_CycleTime. Le non-respect de ces recommandations peut entraîner un déplacement non désiré du dispositif ou de l'actionneur.
Ces figures montrent à quel point le temps de scrutation affecte les mouvements du dispositif ou de l'actionneur pilotés par les sorties d'impulsion de l'instruction.


La relation entre les paramètres de limite associés à la position du dispositif ou de l'actionneur est illustrée dans la figure ci-dessous pour les signaux fournis par les interrupteurs de limite normalement ouverts.

Simulation du retour de position
Lorsque le paramètre Inp_PosFdbk de retour de position n'est pas disponible, la Val_Pos de position est calculée. En mode virtuel ou si le retour de position n'est pas disponible, le retour de position est calculé à partir de la dernière position de scrutation, du temps de scrutation réel et du taux ouvert (fermé) configuré :
Val_Pos = Val_Pos + ScanTime*Cfg_OpenRate lors de l'ouverture,
Val_Pos = Val_Pos - ScanTime*Cfg_CloseRate lors de la fermeture,
Val_Pos = max(min(Val_Pos,Cfg_CVEUMax),Cfg_CVEUMin).
Lorsqu'elle n'est pas en mode Virtuel et que le retour de position n'est pas disponible, l'instruction se base sur la disponibilité de l'interrupteur de fin de course pour réinitialiser la position calculée lorsque les limites sont atteintes. Val_Pos est défini sur Cfg_CVEUMax si l'interrupteur de fin de course ouverte est activé et que l'interrupteur de fin de course fermée n'est pas actif ou n'est pas utilisé. Val_Pos est défini sur Cfg_CVEUMin si l'interrupteur de fin de course fermée est activé et que l'interrupteur de fin de course ouverte n'est pas actif ou n'est pas utilisé.
Action en cours
Cette instruction peut demander au dispositif d'incrémenter sa position sans retour de position. L'utilisateur demande à un à-coup d'impulser la sortie. La sortie d'impulsion est activée pour une durée configurable Cfg_BumpTime ≤ Cfg_CycleTime, comme le montre la figure ci-dessous.
L'instruction est prête à exécuter la commande d'ouverture ou de fermeture par à-coups lorsque :
- L'horloge à à-coups est supérieur à zéro (zéro désactive la fonction d'à-coups), et
- Le retour de position est infini, pas un nombre, ou il y a un défaut d'E/S (I/O), ou il y a un défaut du dispositif, et
- Le dispositif est en mode Opérateur ou Maintenance et
- L'opération par à-coup précédente n'est pas active, et
- Le dispositif n'est pas en fin de course ou l'interrupteur de fin de course n'est pas utilisé pour le sens de course cible.

Confirmation de la demande de commande d’opérateur
L'instruction PAO permet à un opérateur d'utiliser les paramètres d'opérateur OSet_CV et de commander les demandes OCmd_BumpOpen, OCmd_BumpClose. La sécurité forcée peut nécessiter la confirmation ou l’annulation de la demande avant l’exécution de la commande sélectionnée. L’instruction vérifie les règles de sécurité qui contrôlent Cfg_CnfrmReqd. Si Cfg_CnfrmReqd=0, aucune confirmation n'est requise et la demande est exécutée immédiatement. Si Cfg_CnfrmReqd=1, l'instruction attend la confirmation OCmd_CmdCnfrm=1 et/ou l'annulation OCmd_CmdCncl=1. Pour Cfg_CnfrmReqd=2 ou 3, une signature électronique est nécessaire avant la confirmation ou l'annulation de l'activation.
Fournir une réponse