Courbe en S (SCRV)

Ces informations s’appliquent aux automates
CompactLogix
 5370,
ControlLogix
 5570,
Compact GuardLogix
 5370,
GuardLogix
 5570,
CompactLogix
 5380,
ControlLogix
 5580 et ControlLogix 5590.
L'instruction SCRV agit comme une fonction de rampe avec un taux de jerk ajouté. Le taux jerk est la fréquence maximale de changement du taux utilisé lors du passage de la sortie vers l'entrée.
Langues disponibles
Diagramme à relais
Cette instruction n’est pas disponible dans un diagramme à relais.
Bloc fonctionnel
RSL5K_SCRV Function Block_v31
Texte structuré
SCRV(SCRV_tag);
Opérandes
Bloc fonctionnel
Opérande
Type
Format
Description
SCRV tag
S_CURVE
Structure
Structure SCRV
Texte structuré
Opérande
Type
Format
Description
SCRV tag
S_CURVE
Structure
Structure SCRV
Pour plus d'informations sur la syntaxe des expressions dans le texte structuré, reportez-vous à la section Syntaxe du texte structuré.
Structure S_CURVE
Paramètre d’entrée
Type de données
Description
EnableIn
BOOL
Activez l'entrée. Si mis à zéro, l'instruction n'est pas exécutée et les sorties ne sont pas mises à jour.
La valeur par défaut est définie.
In
REAL
Entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
Initialize
BOOL
L'entrée d’initialisation dans l'instruction. Quand elle est définie, l’instruction maintient Out = InitialValue
La valeur par défaut est mise à zéro.
InitialValue
REAL
Valeur initiale de la courbe en S. Lorsque Initialize est défini, Out = InitialValue.
Valide = tout flottant
Par défaut = 0,0
AbsAlgRamp
BOOL
Type de rampe. Si elle est définie, l’instruction fonctionne comme une rampe de valeur absolue. Si elle est mise à zéro, l’instruction fonctionne comme une rampe algébrique.
La valeur par défaut est définie.
AccelRate
REAL
Le taux d’accélération en unité d’entrée par seconde
2
. Une valeur de zéro empêche Out d’accélérer. Quand AccelRate < 0, l'instruction suppose que AccelRate = 0 et définit le bit approprié dans Status.
Valide = entre 0,0 et la flottante positive maximale
Par défaut = 0,0
DecelRate
REAL
Le taux de décélération en unité d’entrée par seconde
2
. Une valeur de zéro empêche Out de décélérer. Quand DecelRate < 0, l'instruction suppose que DecelRate = 0 et définit le bit approprié dans Status.
Valide = entre 0,0 et la flottante positive maximale
Par défaut = 0,0
JerkRate
REAL
Taux de jerk en unités d’entrée par seconde
3
. Spécifie la fréquence maximale de changement des taux d’accélération et de décélération en appliquant l’effet de rampe de la sortie vers l’entrée. Lorsque (JerkRate * DeltaT) S AccelRate ou DecelRate, les taux d’accélération et de décélération ne sont pas limités. Dans cette situation, l’instruction se comporte comme une fonction de rampe. Quand JerkRate < 0, l'instruction suppose que JerkRate = 0 et définit le bit approprié dans Status.
Valide = entre 0,0 et la flottante positive maximale
Par défaut = 0,0
HoldMode
BOOL
Paramètre du mode Maintien de la courbe en S. Ce paramètre est utilisé avec le paramètre HoldEnable. Si HoldMode est défini lorsque HoldEnable est défini et que Rate = 0, l'instruction maintient Out constante. Dans ce cas, l’instruction maintient Out dès que HoldEnable est défini, le JerkRate est ignoré et Out produit un « coin » dans son profil. Si HoldMode est mis à zéro lorsque HoldEnable est défini, l’instruction utilise JerkRate pour amener Out à une valeur constante. Out est maintenu quand Rate = 0. Ne pas modifier HoldMode une fois que HoldEnable est défini car l’instruction ne prendra pas le changement en compte.
La valeur par défaut est mise à zéro.
HoldEnable
BOOL
Paramètre d’activation du maintien de la courbe en S. Lorsqu’il est défini, Out est maintenu. Lorsqu’il est mis à zéro, Out change sa valeur actuelle jusqu’à ce qu’elle soit égale à In.
La valeur par défaut est mise à zéro.
TimingMode
DINT
Sélectionne le mode d'exécution de la temporisation.
0 = mode périodique
1 = mode sur-échantillonnage
2 = mode échantillonnage en temps réel
Reportez-vous aux attributs des blocs fonctionnels pour plus d’informations sur les modes de temporisation.
Valide = de 0 à 2
Par défaut = 0
OversampleDT
REAL
Temps d’exécution du mode suréchantillonnage.
Valide = 0 à 4194.303 secondes
Par défaut = 0
RTSTime
DINT
Période de mise à jour du module pour le mode Échantillonnage en temps réel.
Valide = de 1 à 32 767 ms
Par défaut = 1
RTSTimeStamp
DINT
Valeur d'horodatage du module pour le mode Échantillonnage en temps réel
Valide = de 0 à 32 767 ms
Par défaut = 0
Paramètre de sortie
Type de données
Description
EnableOut
BOOL
Activer la sortie.
S_Mode
BOOL
Sortie S_Mode. Lorsque (Jerk * DeltaT) Less than or equal to Rate et
Rate < Accel ou Decel, S_Mode est défini. Sinon, S_Mode est mis à zéro.
Out
REAL
La sortie de l'instruction de la courbe en S. Les indicateurs d'état mathématique sont définis pour cette sortie.
Rate
REAL
Changement interne dans Out en unité par seconde.
DeltaT
REAL
Temps écoulé entre les mises à jour. Cela correspond au temps écoulé en seconde utilisé par l'algorithme de contrôle pour calculer la sortie du processus.
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.
AcceRateInv (Status.1)
BOOL
AccelRate est negatif.
DecelRateInv (Status.2)
BOOL
DecelRate est negatif.
JerkRateInv (Status.3)
BOOL
JerkRate est negatif.
TimingModeInv (Status.27)
BOOL
Mode de temporisation non valide.
Reportez-vous aux attributs des blocs fonctionnels pour plus d’informations sur les modes de temporisation.
RTSMissed (Status.28)
BOOL
Utilisé seulement en mode Échantillonnage en temps réel. Défini lorsque
ABS | DeltaT - RTSTime | > 1 (0,001 seconde).
RTSTimeInv (Status.29)
BOOL
Valeur RTSTime non valide.
RTSTimeStampInv (Status.30)
BOOL
Valeur RTSTimeStamp non valide.
DeltaT (Status.31)
BOOL
Valeur DeltaT non valide.
Description
La demande primaire de l’instruction SCRV vise à garantir que le taux ne dépasse jamais le taux de jerk spécifié.
Vous pouvez configurer l'instruction SCRV pour produire un profil de courbe en S ou un profil de rampe pour une entrée d'incrément.
Profil de courbe en S
Pour produire un profil de courbe en S, définissez le JerkRate afin que (JerkRate * DeltaT) < AccelRate et/ou DecelRate.
En mode profil de courbe en S, l'instruction SCRV vise à garantir que le taux ne dépasse jamais JerkRate spécifié. L’algorithme utilisé pour produire le profil de courbe en S a été conçu pour produire une légère courbe en S symétrique pour une entrée d’incrément. Une intégration trapézoïdale pour Out a été incorporée pour plus de facilité. Ainsi, les changements du Rate seront inférieurs au JerkRate pendant les portions du profil.
Lorsqu’un changement incrémenté se produit dans l’entrée, le taux augmente jusqu’au AccelRate ou DecelRate programmé. AccelRate ou DecelRate est maintenu jusqu’à ce que le taux commence à diminuer pour que la sortie rejoigne l’entrée lorsque le taux atteint zéro.
Dans certains cas et selon les valeurs d’accélération, de décélération et de jerk, le taux d’accélération ou de décélération peut ne pas être atteint avant que le taux n’ait commencé à baisser par le taux de jerk.
L'instruction SCRV n'essaiera pas de produire un profil « S » pour de très petites modifications d'incrément. Dans ce mode, l’étape sera entièrement sortie et Rate reflètera le changement dans la sortie. Ce comportement surgit si Out = In et la modification d’incrément suivante pour In peut être sortie avec un taux inférieur ou égal au JerkRate programmé.
L'instruction SCRV prend en charge une rampe algébrique et une rampe de valeur absolue. Pour une rampe algébrique, la condition d’accélération est définie par une entrée qui devient plus positive et la condition de décélération est définie par une entrée qui devient plus négative. Pour une rampe de valeur absolue, la condition d’accélération est définie par une entrée qui s’éloigne de zéro et la condition de décélération est définie par une entrée qui s’approche de zéro.
Profil de rampe
Pour produire un profil de rampe, définissez JerkRate afin que (JerkRate * DeltaT) Less than or equal to AccelRate et/ou DecelRate.
En mode profil de rampe, l'instruction SCRV produit toujours une fréquence de changement égale au AccelRate ou DecelRate programmé jusqu'à ce que la différence entre Out et In exige moins que AccelRate ou DecelRate pour atteindre le point de terminaison.
HoldMode = 0 fonctionne comme HoldMode = 1. Lorsque HoldEnable est défini, Out est immédiatement retenu et Rate passe à zéro.
Le diagramme suivant illustre comment l’instruction modifie Out.
SCRV Ramp Profile
(1)
Quand Initialize est défini, l'instruction définit les valeurs suivantes :
Outn = InitialValue
Outn-1 = Outn
Raten = 0
Raten-1 = 0
(2)
Quand HoldMode est mis à zéro, Out se rapproche de In, et HoldEnable est défini, la vitesse commence à baisser vers zéro au taux de Jerk. À cause du JerkRate, Out est maintenu à la valeur atteinte quand la vitesse à atteint zéro. Lorsque Out est finalement maintenu constant, sa valeur est différente de la valeur qu’il avait lorsque HoldEnable a été défini.
Lorsque HoldMode est défini, Out se rapproche de In, et HoldEnable est défini, la vitesse est immédiatement définie sur zéro. Out est maintenu à la valeur qu’il avait quand HoldEnable a été défini.
Réduire JerkRate pendant la transition peut amener Out à dépasser In. Un dépassement est le résultat d’une insertion forcée du JerkRate. Vous pouvez éviter un dépassement en réduisant le JerkRate petit à petit pendant le réglage ou en changeant le JerkRate pendant que Out = In (jamais lors d’une transition).
Le temps nécessaire pour que Out égalise un changement dans l’entrée est une fonction d'AccelRate, de JerkRate et de la différence entre In et Out.
Calculer les valeurs de sortie et de taux
Lors d’une transition entre une valeur initiale et une valeur finale, Out passe par trois régions. Dans les régions 1 et 3, la fréquence de changement pour Out dépend du JerkRate. Dans la région 2, la fréquence de changement pour Out dépend de AccelRate ou de DecelRate.
SCRV Calculating Output and Rate Values
Out est calculé pour chaque région comme suit :
SCRV_fbd_Out_eq
Avec ces équations pour chaque région :
Région
Équation
région 1
SCRV_fbd_region1_eq
région 2
SCRV_fbd_region2_eq
région 3
SCRV_fbd_region3_eq
Lorsque :
SCRV_fbd_InitOutput_eq
Le bloc SCRV n'atteint pas AccelRate ou DecelRate. Ce que fait Out :
SCRV Graph
où :
SCRV_fbd_TotalTime_eq
Affecte les indicateurs d'état mathématique
Non
Conditions de défaut
Un défaut mineur se produit lorsque :
Type de défaut
Code de défaut
Cette fonctionnalité est activée et un débordement est détecté.
4
4
Reportez-vous à la section Attributs communs pour plus d’informations sur les défauts liés aux opérandes.
Exécution
Bloc fonctionnel
Condition
Action du bloc fonctionnel
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
Effacer les données de scrutation précédentes.
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.
Exemple
Dans la plupart des applications de variateur, une référence maître commande les lignes de vitesse pour un groupe entier de variateurs. Comme plusieurs références sont sélectionnées, les variateurs ne peuvent pas être présentés avec des changements « d’incrément » dans la référence de vitesse car les différences d’inertie de charge, de couple moteur et de réglage ne permettraient pas les sections de variateur individuel de réagir de façon coordonnée. L'instruction SCRV a été conçue pour ramper et définir le signal de référence aux sections de variateur afin que l'accélération, la décélération et le jerk (dérivé d'accélération) soient contrôlées. Cette instruction fournit un mécanisme permettant à la référence des variateurs d’atteindre le point de consigne de la référence désigné de façon à éliminer les forces et impacts excessifs sur les machines et équipements connectés.
Bloc fonctionnel
RSL5K_SCRV Function Block Example_v31
Texte structuré
SSUM_01.In1 := Master_reference;
SSUM_01.Select1 := master_select;
SSUM_01.In2 := Jog_reference;
SSUM_01.Select2 := jog_select;
SSUM(SSUM_01);
select_out := SSUM_01.Out;
SCRV_01.In := select_out;
SCRV_01.AccelRate := accel;
SCRV_01.DecelRate := accel;
SCRV_01.JerkRate := jerk_rate;
SCRV(SCRV_01);
scurve_out := SCRV_01.Out
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal