Position proportionnelle (POSP)

Ces informations s’appliquent aux automates
CompactLogix
 5370,
ControlLogix
 5570,
Compact GuardLogix
 5370,
GuardLogix
 5570,
Compact GuardLogix
 5380,
CompactLogix
 5380,
ControlLogix
 5580,
GuardLogix
 5580 et ControlLogix 5590.
L'instruction Position proportionnelle (Position Proportional, POSP) ouvre ou ferme un dispositif en donnant une impulsion d'ouverture ou de fermeture des contacts selon un cycle défini par l'utilisateur avec une largeur d'impulsion proportionnelle à la différence entre les positions souhaitée et réelle.
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel
POSP_FB_avail_v31
Texte structuré
POSP(POSP_tag)
Opérandes
Bloc fonctionnel
Opérande
Type
Format
Description
POSP tag
POSITION_PROP
Structure
Structure POSP
Texte structuré
Opérande
Type
Format
Description
block tag
POSITION_PROP
Structure
Structure POSP
Reportez-vous à
Syntaxe du texte structuré
pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Structure POSITION_PROP
Paramètre d’entrée
Type de données
Description
EnableIn
BOOL
Activez l'entrée. Si défini sur faux, l’instruction n’est pas exécutée et les sorties ne sont pas mises à jour.
La valeur par défaut est définie sur vrai.
SP
REAL
Point de consigne. Correspond à la valeur souhaitée pour la position. Cette valeur doit utiliser les mêmes unités de procédé que Position.
Valide = tout flottant
Par défaut = 0,0
Position
REAL
Retour de position. Cette entrée analogique provient du retour de position du dispositif.
Valide = tout flottant
Par défaut = 0,0
OpenedFB
BOOL
Retour ouvert. Cette entrée signale à quel moment le dispositif est complètement ouvert. Lorsqu’elle est définie sur vrai, la sortie de l’ouverture n'est pas autorisée à être activée.
La valeur par défaut est fausse.
ClosedFB
BOOL
Retour fermé. Cette entrée signale à quel moment le dispositif est complètement fermé. Lorsqu’elle est définie sur vrai, la sortie de la fermeture n'est pas autorisée à être activée.
La valeur par défaut est fausse.
PositionEUMax
REAL
Valeur à l’échelle maximale de Position et SP.
Valide = tout flottant
Par défaut = 100,0
PositionEUMin
REAL
Valeur à l’échelle minimale de Position et SP.
Valide = tout flottant
Par défaut = 0,0
CycleTime
REAL
Période de l’impulsion de sortie en secondes. La valeur zéro efface OpenOut et CloseOut. Si cette valeur n'est pas valide, l'instruction présume une valeur de zéro et définit le bit approprié dans Status.
Valide = toute valeur flottante positive
Par défaut = 0,0
OpenRate
REAL
Taux d’ouverture du dispositif en %/seconde. La valeur zéro efface OpenOut. Si cette valeur n'est pas valide, l'instruction présume une valeur de zéro et définit le bit approprié dans Status.
Valide = toute valeur flottante positive
Par défaut = 0,0
CloseRate
REAL
Taux de fermeture du dispositif en %/seconde. La valeur zéro efface CloseOut. Si cette valeur n'est pas valide, l'instruction présume une valeur de zéro et définit le bit approprié dans Status.
Valide = toute valeur flottante positive
Par défaut = 0,0
MaxOnTime
REAL
Temps maximal en secondes pendant lequel une impulsion d’ouverture ou de fermeture peut être activée. Si OpenTime ou CloseTime est calculé pour être supérieur à cette valeur, il est limité à cette valeur. Si cette valeur n'est pas valide, l'instruction présume une valeur de CycleTime et définit le bit approprié dans Status.
Valide = 0,0 à CycleTime
Par défaut = CycleTime
MinOnTime
REAL
Temps minimal en secondes pendant lequel une impulsion d’ouverture ou de fermeture peut être activée. Si OpenTime ou CloseTime est calculé pour être inférieur à cette valeur, il est défini sur zéro. Si cette valeur n'est pas valide, l'instruction présume une valeur de zéro et définit le bit approprié dans Status.
Valide = 0,0 à MaxOnTime
Par défaut = 0,0
Deadtime
REAL
Temps d'impulsion supplémentaire en secondes pour vaincre la friction dans le dispositif. Deadtime est ajouté à OpenTime ou CloseTime lorsque le dispositif change de direction ou est arrêté. Si cette valeur n'est pas valide, l'instruction définit le bit approprié dans Status et utilise une valeur de Deadtime = 0,0.
Valide = 0,0 à MaxOnTime
Par défaut = 0,0
Paramètre de sortie
Type de données
Description
EnableOut
BOOL
Indique si l'instruction est activée. Mis à zéro (faux) en cas de débordement de PositionPercent.
OpenOut
BOOL
Cette sortie reçoit une impulsion pour ouvrir le dispositif.
CloseOut
BOOL
Cette sortie reçoit une impulsion pour fermer le dispositif.
PositionPercent
REAL
Le retour positif est exprimé en pourcentage de la plage Position.
SPPercent
REAL
Le point de consigne est exprimé en pourcentage de la plage Position.
OpenTime
REAL
Durée d’impulsion en secondes d’OpenOutput pour le cycle actuel.
CloseTime
REAL
Durée d’impulsion en secondes d’CloseOutput pour le cycle actuel.
Status
DINT
État du bloc fonctionnel.
InstructFault (Status.0)
BOOL
L'instruction a détecté l'une des erreurs d'exécution suivantes. Il ne s'agit pas d'une erreur d'automate mineure ou majeure. Contrôlez les bits d'état restants pour déterminer la cause du problème.
CycleTimeInv (Status.1)
BOOL
Valeur CycleTime non valide. L'instruction utilise la valeur zéro.
OpenRateInv (Status.2)
BOOL
Valeur OpenRate non valide. L'instruction utilise la valeur zéro.
CloseRateInv (Status.3)
BOOL
Valeur CloseRate non valide. L'instruction utilise la valeur zéro.
MaxOnTimeInv (Status.4)
BOOL
Valeur MaxOnTime non valide. L'instruction utilise la valeur CycleTime.
MinOnTimeInv (Status.5)
BOOL
Valeur MinOnTime non valide. L'instruction utilise la valeur zéro.
DeadtimeInv (Status.6)
BOOL
Valeur Deadtime non valide. L'instruction utilise la valeur zéro.
PositionPctInv (Status.7)
BOOL
La valeur PositionPercent calculée est hors limites.
SPPercentInv (Status.8)
BOOL
La valeur SPPercent calculée est hors limites.
PositionSpanInv (Status.9)
BOOL
PositionEUMax = PositionEUMin.
Description
L’instruction POSP reçoit généralement le point de consigne pour la position souhaitée d’une sortie d’instruction PID.
Mise à l'échelle des valeurs Position et Point de consigne
Les sorties PositionPercent et SPPercent sont mises à jour chaque fois que l’instruction est exécutée. Si l’une de ces valeurs est hors limites (inférieure à 0 % ou supérieure à 100 %), le bit approprié est défini dans Status, mais les valeurs ne sont pas limitées. L’instruction utilise ces formules pour calculer si les valeurs sont comprises dans la plage :
RSL5K_POSP scaling.png
Utilisation du temporisateur de cycle interne par l’instruction POSP
L’instruction utilise CycleTime pour déterminer à quelle fréquence recalculer la durée des impulsions de sortie Ouvrir et Fermer. Un temporisateur interne est maintenu et mis à jour par DeltaT. DeltaT correspond au temps écoulé depuis la dernière exécution de l'instruction. Chaque fois que le temporisateur interne est égal à la valeur programmée de CycleTime ou dépasse celle-ci (le temps de cycle expire) les sorties Ouvrir et Fermer sont recalculées.
Vous pouvez modifier la valeur de CycleTime à tout moment.
Si CycleTime = 0, le temporisateur interne est mis à 0, OpenOut est mis à zéro (faux) et CloseOut est mis à zéro (faux).
Production des impulsions de sortie
Le diagramme suivant montre les trois états principaux de l’instruction POSP.
POSP Producing output pulses
Calcul des temps d’impulsion pour l’ouverture et la fermeture
OpenOut reçoit une impulsion chaque fois que SP > Retour de position. Lorsque cela se produit, l’instruction définit CloseTime = 0 et la durée pendant laquelle OpenOut doit être activé est calculée de la façon suivante :
POSP Caluculating open and close pulse times
Si OpenTimen-1 < CycleTime, ajouter Deadtime à OpenTime.
Si OpenTime > MaxOnTime, limiter à MaxOnTime.
Si OpenTime < MinOnTime, définir OpenTime = 0.
Si l’une des conditions suivantes existe, OpenOut ne reçoit pas d’impulsion et OpenTime = 0.
OpenFB est vrai ou PositionPercent Greater than or equal to 100
CycleTime = 0
OpenRate = 0
SPPercent n'est pas valide
CloseOut reçoit une impulsion chaque fois que SP < Retour de position. Lorsque cela se produit, l’instruction définit OpenTime = 0 et la durée pendant laquelle CloseOut doit être activé est calculée de la façon suivante :
POSP CloseOut
Si CloseTimen-1 < CycleTime, ajouter Deadtime à CloseTime.
Si CloseTime > MaxOnTime, limiter à MaxOnTime.
Si CloseTime < MinOnTime, définir CloseTime sur 0.
Si l’une des conditions suivantes existe, CloseOut ne reçoit pas d’impulsion et CloseTime est réinitialisé à 0,0.
ClosedFB est vrai ou PositionPercent Less than or equal to 0
CycleTime = 0
CloseRate = 0
SPPercent n'est pas valide
OpenOut et CloseOut ne recevront pas d’impulsion si SPPercent est égal à PositionPercent. OpenTime et CloseTime seront mis à zéro (faux).
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la section Attributs communs pour plus d’informations sur les défauts liés aux opérandes.
Exécution
Bloc fonctionnel
Condition/état
Action entreprise
Préscrutation
Les bits EnableIn et EnableOut sont définis sur faux.
Tag.EnableIn est faux
Les bits EnableIn et EnableOut sont définis sur faux.
Tag.EnableIn est vrai
Les bits EnableIn et EnableOut sont définis sur vrai.
L'instruction s'exécute.
Première exécution de l'instruction
N/A
Première scrutation de l'instruction
OpenTime et CloseTime sont réinitialisés à 0,0.
Post-scrutation
Les bits EnableIn et EnableOut sont définis sur faux.
Texte structuré
Condition/état
Action entreprise
Préscrutation
Reportez-vous à Pré-scrutation dans le tableau Bloc fonctionnel.
Exécution normale
Reportez-vous à Tag.EnableIn est vrai dans le tableau Bloc fonctionnel.
Post-scrutation
Reportez-vous à Post-scrutation dans le tableau Bloc fonctionnel.
Exemples
Exemple 1
Dans cet exemple, l'instruction POSP ouvre ou ferme une vanne motorisée en fonction de la sortie CVEU de l'instruction PIDE. La position réelle de la vanne est câblée sur l’entrée Position et les interrupteurs de fin de course facultatifs, qui indiquent si la vanne est complètement ouverte ou fermée, sont câblés sur les entrées OpenedFB et ClosedFB. Les sorties OpenOut et CloseOut sont câblées sur les contacts d’ouverture et de fermeture sur la vanne motorisée.
Bloc fonctionnel
POSP_FB_ex_v31
Texte structuré
FlowController.PV := WaterFlowRate;
PIDE(FlowController);
FlowValve.SP := FlowController.CVEU;
FlowValve.Position := FlowValvePosition;
FlowValve.OpenedFB := FlowValveOpened;
FlowValve.ClosedFB := FlowValveClosed;
POSP(FlowValve);
OpenFlowValveContact := FlowValve.OpenOut;
CloseFlowValveContact := FlowValve.CloseOut;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal