Modes de temporisation
Ces instructions des variateurs et de contrôle du processus prennent en charge différents modes de temporisation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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é.

Fournir une réponse