Temps mort (DEDT)

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 Temps mort (Deadtime, DEDT) applique un retard sur une entrée unique. Vous sélectionnez la valeur du retard de temps mort.
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel
DEDT_FB_avail_v31
Texte structuré
DEDT(DEDT_tag,storage);
Opérandes
Texte structuré
Opérande
Type
Format
Description
DEDT tag
DEADTIME
structure
Structure DEDT
storage
REAL
tableau
tampon du temps mort
Reportez-vous à
Syntaxe du texte structuré
pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Bloc fonctionnel
Opérande
Type
Format
Description
DEDT tag
DEADTIME
structure
Structure DEDT
storage
REAL
tableau
tampon du temps mort
Structure de DEADTIME
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.
In
REAL
Entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
InFault
BOOL
Indicateur de mauvaise santé pour l'entrée. Si la valeur de l’entrée est reconnu par une entrée analogique, alors InFault est contrôlé par l’état de défaut sur l’entrée analogique. Si la valeur est définie sur vrai, InFault indique que le signal d’entrée présente une erreur, l’instruction définit le bit approprié dans Status, l’algorithme de contrôle n’est pas exécuté et la valeur de Out est maintenue.
La valeur par défaut est fausse.
faux = bonne santé
Deadtime
REAL
Entrée du temps mort pour l’instruction. Saisissez le temps mort en secondes. 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 = de 0,0 à (taille de StorageArray * DeltaT)
Par défaut = 0,0
Gain
REAL
Entrée du gain pour l’instruction. La valeur de In est multipliée par cette valeur. Cette valeur permet de simuler un gain du processus.
Valide = tout flottant
Par défaut = 1,0
Bias
REAL
Entrée du biais pour l’instruction. La valeur de In multipliée par le gain est ajoutée à cette valeur. Cette valeur permet de simuler une condition ambiante.
Valide = tout flottant
Par défaut = 0,0
TimingMode
DINT
Sélectionne le mode d'exécution de la temporisation.
0 = mode période
1 = mode sur-échantillonnage
2 = mode échantillonnage en temps réel
Valide = de 0 à 2
Par défaut = 0
Reportez-vous aux attributs des blocs fonctionnels pour plus d’informations sur les modes de temporisation.
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
Indique si l'instruction est activée. Mis à zéro (faux) en cas de débordement d'Out.
Out
REAL
La sortie calculée de l’algorithme de temps mort.
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.
InFaulted (Status.1)
BOOL
La santé de In est mauvaise.
DeadtimeInv (Status.2)
BOOL
Valeur Deadtime non valide.
TimingMode (Status.27)
BOOL
Valeur TimingMode 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 milliseconde.
RTSTimeInv (Status.29)
BOOL
Valeur RTSTime non valide.
RTSTimeStampInv (Status.30)
BOOL
Valeur RTSTimeStamp non valide.
DeltaTInv (Status.31)
BOOL
Valeur DeltaT non valide.
Description
L’instruction DEDT utilise un tampon de données pour stocker les données retardées, autorisant ce faisant n’importe quelle durée souhaitée pour le temps mort. L’instruction DEDT a été conçue pour s’exécuter dans une tâche où la fréquence de scrutation reste constante.
Pour utiliser l’instruction DEDT, créez un tableau de stockage pour stocker le tampon de temps mort afin de conserver les échantillons de (In x Gain) + Bias. Le tableau de stockage doit être suffisamment grand pour contenir le temps mort le plus long, obtenu à l'aide de la formule suivante :
Taille de StorageArray nécessaire = Temps mort maximal (s)/DeltaT (s)
Fonctionnement du tampon de temps mort
Pendant l’exécution, l’instruction recherche un temps mort valide. Celui-ci doit être compris entre 0,0 et (taille de StorageArray x DeltaT).
Si le temps mort n’est pas valide, l’instruction définit un bit approprié dans Status, et définit Out = (In x Gain) + Bias.
Le tampon de temps mort fonctionne comme un tampon « premier entré, premier sorti ». Chaque fois que l’algorithme de temps mort s’exécute, la valeur la plus ancienne dans le tampon de temps mort est transférée dans Out. Les valeurs restantes dans le tampon sont décalées vers le bas, et la valeur ((In x Gain) + Bias) est placée au début du tampon de temps mort. Une nouvelle valeur placée dans le tampon de temps mort apparaît dans Out à l’issue du temps mort.
Le nombre d'éléments de tableau requis pour appliquer le retard défini est calculé en divisant le temps mort par DeltaT. Si le temps mort n’est pas parfaitement divisible par DeltaT, le nombre d'éléments et le retard défini sont alors arrondis à l’incrément le plus proche de DeltaT. Par exemple, pour le nombre d'éléments de tableau requis pour appliquer le retard défini avec Temps mort = 4,25 s et DeltaT = 0,50 s est :
4,25 s/0,50 s = 8,5
arrondi à 9 éléments de tableau requis
Dans cet exemple, le retard réel appliqué à l’entrée est :
nombre d'éléments de tableau x DeltaT = retard défini ou
9 x 0,5 s = 4,5 s
Les changements du temps d’exécution pour la valeur Deadtime ou DeltaT changent le point auquel les valeurs sont expulsées du tampon. Le nombre d'éléments requis pour appliquer le retard défini peut augmenter ou diminuer. Avant d’utiliser le tampon de temps mort, les mises à jour suivantes sont réalisées :
Si le nombre d'éléments requis doit augmenter, les nouveaux éléments du tampon sont renseignés avec la valeur la plus ancienne du tampon de temps mort actuel.
Si le nombre d'éléments requis doit diminuer, les éléments les plus anciens du tampon de temps mort actuel sont éliminés.
Comportement de l’instruction lors de la transition de InFault
Si InFault est défini sur vrai (mauvais), l’instruction suspend l’exécution, maintient la dernière sortie et définit le bit approprié dans Status.
Lorsque InFault passe de vrai à faux, l’instruction règle toutes les valeurs du tampon de temps mort sur une valeur égale à In x Gain + Bias.
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
N/A
L’instruction ne s’exécute pas, mais valide les paramètres d'entrée.
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 cet exemple, l’instruction DEDT simule un retard de temps mort dans un processus simulé. La sortie de l’instruction PIDE est transmise à travers un retard de temps mort et un retard de premier ordre pour simuler le processus. Le tableau DEDT_01array est un tableau REAL avec 100 éléments pour prendre en charge un temps mort avec un maximum de 100 échantillons. Par exemple, si cette routine s’exécute toutes les 100 ms, le tableau peut prendre en charge un temps mort maximal de 10 secondes.
Bloc fonctionnel
DEDT_FB_ex_v31
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal