Modes de temporisation

Ces instructions des variateurs et de contrôle du processus prennent en charge différents modes de temporisation.
  • DEDT
  • LDLG
  • RLIM
  • DERV
  • LPF
  • SCRV
  • HPF
  • NTCH
  • SOC
  • INTG
  • PI
  • TOT
  • LDL2
  • PIDE
Il y a trois différents modes de temporisation.
Mode de temporisation
Description
Périodique
Le mode périodique est le mode par défaut qui est adapté à la plupart des applications de contrôle. Nous vous recommandons de placer les instructions utilisant ce mode dans une routine qui est exécutée dans une tâche périodique. Le temps delta (DeltaT) de l'instruction est déterminé comme suit :
Si l'instruction est exécutée dans un/une
Alors DeltaT est égale à
Tâche périodique
Période de la tâche
Événement ou tâche continue
Temps écoulé depuis l'exécution précédente
L'automate tronque le temps écoulé en millisecondes entières (ms). Par exemple, si le temps écoulé = 10,5 ms, l'automate définit DeltaT = 10 ms.
La mise à jour de l'entrée du processus doit être synchronisée avec l'exécution de la tâche ou échantillonnée 5 à 10 fois plus rapidement que la durée d'exécution de la tâche afin de minimiser l'erreur d'échantillonnage entre l'entrée et l'instruction.
Sur-échantillonnage
Dans le mode sur-échantillonnage, le temps delta (DeltaT) utilisé par l'instruction est la valeur contenue dans le paramètre OversampleDT de l'instruction. Si l'entrée du processus dispose d'une valeur d'horodotage, utilisez le mode d'échantillonage en temps réel à la place.
Ajoutez à votre programme la logique dont celui-ci à besoin pour contrôler quand l'instruction est exécutée. Par exemple, vous pouvez utiliser un temporisateur défini sur la valeur OversampleDeltaT pour contrôler l'exécution en utilisant l'entrée EnableIn de l'instruction.
L'entrée du processus doit être échantillonnée 5 à 10 fois plus rapidement que la durée d'exécution de l'instruction afin de minimiser l'erreur d'échantillonnage entre l'entrée et l'instruction.
Échantillonnage en temps réel
Dans le mode d'échantillonnage en temps réel, le temps delta (DeltaT) utilisé par l'instruction est la différence entre deux horodotages qui correspondent à la mise à jour de l'entrée du processus. Utilisez ce mode quand l'entrée du processus dispose d'un horodotage associé à sa mise à jour que vous avez besoin d'une coordination précise.
L’horodotage est lu à partir du nom de balise saisi dans le paramètre RTSTimeStamp de l’instruction. Normalement, ce nom de balise est un paramètre du module d’entrée associé à l’entrée du processus.
L'instruction compare la valeur RTSTime configurée (intervalle de la mise à jout prévue) avec la valeur DeltaT calculée, pour déterminer si chaque mise à jour de l'entrée du processus est effectivement lue par l'instruction. Si DeltaT n'est pas à moins d'une milliseconde de l'intervalle configuré, l'instruction définit le bit d'état RTSMissed pour indiquer qu'il y a un problème de lecture de la valeur de mise à jour de l'entrée du module.
Dans le cas des instructions basées sur le temps, DeltaT doit avoir une valeur constante pour que l'algorithme de contrôle puisse calculer correctement la sortie du processus. Si DeltaT varie, une discontinuité se produit dans la sortie du processus. La sévérité de la discontinuité dépend de l'instruction et de la plage de variation de DeltaT.
Une discontinuité se produit en présence des facteurs suivants :
  • L'instruction n'est pas exécutée durant une scrutation.
  • L'instruction est exécutée de nombreuses fois durant une tâche.
  • La tâche est en cours d'exécution et la fréquence de scrutation de la tâche ou le temps d'échantillon de l'entrée du processus change.
  • L'utilisateur change le mode basé sur le temps alors que la tâche est en cours d'exécution.
  • Le paramètre Order est changé dans un bloc de filtrage alors que la tâche est en cours d'exécution.
  • Le fait de changer le paramètre Order sélectionne un algorithme de contrôle différent à l'intérieur de l'instruction.
Paramètres d'instructions communs pour les modes de temporisation
Les instructions qui prennent en charge les modes basés sur le temps disposent de ces paramètres d'entrée et de sortie.
Paramètres d’entrée
Paramètre d’entrée
Type de données
Description
TimingMode
DINT
Sélectionne le mode d'exécution de la temporisation.
Valeur : Description :
0 Mode périodique
1 Mode Suréchantillonnage
2 Mode Échantillonnage en temps réel
Valide = de 0 à 2
Par défaut = 0
Lorsque TimingMode = 0 et que la tâche est périodique, la temporisation périodique est activée et DeltaT est défini sur la fréquence de scrutation de la tâche. Lorsque TimingMode = 0 et que la tâche est événement ou continue, la temporisation périodique est activée et DeltaT est défini sur le temps écoulé depuis la dernière exécution de l'instruction.
Lorsque TimingMode = 1, la temporisation par sur-échantillonnage est activée et DeltaT est défini sur la valeur du paramètre OversampleDT. Lorsque TimingMode = 2, la temporisation par échantillonnage en temps réel est activée et DeltaT est la différence entre les valeurs de l'horodotage actuel et de l'horodotage précédent obtenues du module associé à l'entrée.
Si TimingMode n'est pas valide, l'instruction définit le bit approprié dans Status.
OversampleDT
REAL
Temps d'exécution pour la temporisation par sur-échantillonnage. La valeur utilisée pour DeltaT est en secondes. Si TimingMode = 1, alors OversampleDT = 0,0 désactive l'exécution de l'algorithme de contrôle. Si la valeur n'est pas valide, l'instruction définit DeltaT = 0,0 et définit le bit approprié dans Status.
Valide = 0 à 4194.303 secondes
Par défaut = 0,0
RTSTime
DINT
Période de mise à jour du module pour la temporisation par échantillonnage en temps réel. La période de temporisation DeltaT attendue est en millisecondes La période de temporisation est normalement la valeur qui a été utilisée pour configurer le temps de mise à jour du module. Si la valeur n'est pas valide, l'instruction définit le bit approprié dans Status et désactive la vérification de RTSMissed.
Valide = 1…32 767 ms
Par défaut = 1
RTSTimeStamp
DINT
La valeur d'horodatage du module pour la temporisation par échantillonnage en temps réel. La valeur d'horodatage qui correspond à la dernière mise à jour du signal d'entrée. Cette valeur est utilisée pour calculer DeltaT. Si la valeur n'est pas valide, l'instruction définit le bit approprié dans Status, désactive l'exécution de l'algorithme de contrôle, et désactive la vérification de RTSMissed.
Valide =0…32 767 ms (après 32 767, recommence à 0)
1 comptage = 1 milliseconde
Par défaut = 0
Paramètres de sortie
Paramètre de sortie
Type de données
Description
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.
Périodique : DeltaT = fréquence de scrutation de la tâche si la tâche est Périodique, DeltaT = temps écoulé depuis l’exécution précédente de l’instruction si la tâche est de type Événement ou Continue
Sur-échantillonnage : DeltaT = OversampleDT
Échantillonnage en temps réel : DeltaT = (RTSTimeStampn - RTSTimeStampn-1)
État
DINT
État du bloc fonctionnel.
TimingModeInv (Status.27)
BOOL
Valeur TimingMode non valide.
RTSMissed (Status.28)
BOOL
Utilisé seulement en mode Échantillonnage en temps réel. Défini lorsque ABS | DeltaT - RTSTime | > 1 (,001 seconde).
RTSTimeInv (Status.29)
BOOL
Valeur RTSTime non valide.
RTSTimeStampInv (Status.30)
BOOL
Valeur RTSTimeStamp non valide.
DeltaTInv (Status.31)
BOOL
Valeur DeltaT non valide.
Présentation des modes de temporisation
Le diagramme suivant montre comment une instruction détermine le mode de temporisation approprié.
Timing Modes_Diagram
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal