Moyenne de mouvement (Moving Average, MAVE)

Ces informations s’appliquent aux automates CompactLogix 5370, ControlLogix 5570, CompactGuardLogix 5370, GuardLogix 5570, CompactGuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 et ControlLogix 5590.
L'instruction Moyenne de mouvement (Moving Average, MAVE) calcule une valeur temporelle moyenne pour le signal In. Cette instruction peut éventuellement supporter les poids des utilisateurs spécifiés.
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel
MAVE_FBD_avail_v31
Texte structuré
MAVE(MAVE_tag,storage,weight);
Opérandes
Bloc fonctionnel
Opérande
Type
Format
Description
Balise MAVE
MOVING_AVERAGE
structure
Structure MAVE
storage
REAL
tableau
Détient les échantillons de moyenne mobile. Ce tableau doit être au moins aussi grand que NumberOfSamples.
weight
REAL
tableau
(facultatif)
Utilisé pour les moyennes pondérées. Ce tableau doit être au moins aussi grand que NumberOfSamples. L’élément [0] est utilisé pour l’échantillon le plus récent ; l’élément [n] est utilisé pour l’échantillon le plus ancien.
Structure MOVING_AVERAGE
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
InFault
BOOL
Indicateur de mauvaise santé pour l'entrée. Si In est reconnu par une entrée analogique, alors InFault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Une fois défini, InFault indique que le signal d’entrée comporte une erreur, l’instruction définit le bit approprié dans Status et l’instruction maintient la valeur actuelle pour Out. Quand InFault passe de défini à mis à zéro, l'instruction initialise l'algorithme de moyenne et poursuit l'exécution.
La valeur par défaut est mise à zéro.
Initialize
BOOL
L'entrée d’initialisation dans l'instruction. Une fois définie, l’instruction retient Out = In, sauf lorsque InFault est défini, auquel cas, l’instruction maintient la valeur actuelle pour Out. Quand Initialize passe de défini à mis à zéro, l’instruction initialise l’algorithme de moyenne et poursuit l’exécution.
La valeur par défaut est mise à zéro.
SampleEnable
BOOL
Prise d’échantillon pour In activée. Une fois définie, l’instruction insère la valeur d’In dans le tableau de stockage et calcule une nouvelle valeur pour Out. Lorsque SampleEnable est mis à zéro et que Initialize est mis à zéro, l’instruction maintient la valeur actuelle pour Out.
La valeur par défaut est définie.
NumberOfSamples
DINT
Nombre d’échantillons à être utilisés dans le calcul. Si cette valeur n’est pas valide, l’instruction définit le bit approprié dans Status et maintient Out sur sa valeur actuelle. Lorsque NumberOfSamples redevient valide, l’instruction initialise l’algorithme de moyenne et poursuit l’exécution.
Valide = de 1 à (dimension minimale de StorageArray ou de WeightArray, si utilisés)
Par défaut = 1
UseWeights
BOOL
L’entrée du schéma moyennable dans l’instruction. Une fois définie, l’instruction utilise la méthode pondérée dans le calcul pour Out. Une fois mise à zéro, l’instruction utilise la méthode uniforme dans le calcul pour Out.
La valeur par défaut est mise à zéro.
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
Sortie calculée de l’algorithme.
État
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 (InFault est défini).
NumberOfSampInv (Status.2)
BOOL
NumberOfSamples n’est pas valide ou n’est pas compatible avec la taille du tableau.
Texte structuré
Opérande
Type
Format
Description
Balise MAVE
MOVING_AVERAGE
structure
Structure MAVE
storage
REAL
tableau
Détient les échantillons de moyenne mobile. Ce tableau doit être au moins aussi grand que NumberOfSamples.
weight
REAL
tableau
(facultatif)
Utilisé pour les moyennes pondérées. Ce tableau doit être au moins aussi grand que NumberOfSamples. L’élément [0] est utilisé pour l’échantillon le plus récent ; l’élément [n] est utilisé pour l’échantillon le plus ancien.
Structure MOVING_AVERAGE
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
InFault
BOOL
Indicateur de mauvaise santé pour l'entrée. Si In est reconnu par une entrée analogique, alors InFault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Une fois défini, InFault indique que le signal d’entrée comporte une erreur, l’instruction définit le bit approprié dans Status et l’instruction maintient la valeur actuelle pour Out. Quand InFault passe de défini à mis à zéro, l'instruction initialise l'algorithme de moyenne et poursuit l'exécution.
La valeur par défaut est mise à zéro.
Initialize
BOOL
L'entrée d’initialisation dans l'instruction. Une fois définie, l’instruction retient Out = In, sauf lorsque InFault est défini, auquel cas, l’instruction maintient la valeur actuelle pour Out. Quand Initialize passe de défini à mis à zéro, l’instruction initialise l’algorithme de moyenne et poursuit l’exécution.
La valeur par défaut est mise à zéro.
SampleEnable
BOOL
Prise d’échantillon pour In activée. Une fois définie, l’instruction insère la valeur d’In dans le tableau de stockage et calcule une nouvelle valeur pour Out. Lorsque SampleEnable est mis à zéro et que Initialize est mis à zéro, l’instruction maintient la valeur actuelle pour Out.
La valeur par défaut est définie.
NumberOfSamples
DINT
Nombre d’échantillons à être utilisés dans le calcul. Si cette valeur n’est pas valide, l’instruction définit le bit approprié dans Status et maintient Out sur sa valeur actuelle. Lorsque NumberOfSamples redevient valide, l’instruction initialise l’algorithme de moyenne et poursuit l’exécution.
Valide = de 1 à (dimension minimale de StorageArray ou de WeightArray, si utilisés)
Par défaut = 1
UseWeights
BOOL
L’entrée du schéma moyennable dans l’instruction. Une fois définie, l’instruction utilise la méthode pondérée dans le calcul pour Out. Une fois mise à zéro, l’instruction utilise la méthode uniforme dans le calcul pour Out.
La valeur par défaut est mise à zéro.
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
Sortie calculée de l’algorithme.
État
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 (InFault est défini).
NumberOfSampInv (Status.2)
BOOL
NumberOfSamples n’est pas valide ou n’est pas compatible avec la taille du tableau.
Reportez-vous à Syntaxe du texte structuré pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Description
L’instruction MAVE calcule une moyenne mobile pondérée ou non-pondérée du signal d’entrée. NumberOfSamples détermine la longueur de la plage moyennable mobile. À chaque scrutation du bloc lorsque SampleEnable est défini, l'instruction déplace la valeur d'In dans le tableau de stockage et élimine les anciennes valeurs. Chaque valeur d'In
n
possède un Weight
n
défini par l'utilisateur qui est utilisé lorsque UseWeights est défini.
Condition
Action
Méthode de la moyenne pondérée
UseWeights est défini.
MAVE Weighted averaging method
Méthode de la moyenne uniforme
UseWeights est mis à zéro.
MAVE_UniformAveraging_v34
L'instruction ne va pas placer une valeur In non valide (NAN ou ± INF) dans le tableau de stockage. Lorsque ln est non valide, l'instruction définit Out = In et enregistre un défaut mineur de débordement si le rapport est activé. Lorsque In devient valide, l’instruction initialise l’algorithme moyennable et poursuit l’exécution.
Vous pouvez faire des modifications d’exécution dans les paramètres NumberOfSamples. Si vous augmentez le chiffre, l’instruction fera progressivement la moyenne des nouvelles données de la taille de l’échantillon actuel à la nouvelle taille de l’échantillon. Si vous diminuez le chiffre, l’instruction recalculera la moyenne depuis le début du tableau d’échantillon jusqu’à la nouvelle valeur NumberOfSamples.
Initialiser l’algorithme de calcul de la moyenne
Pour certaines situations, comme celles de la première scrutation de l’instruction et de la première exécution de l’instruction, il faut que l’instruction initialise l’algorithme de calcul de la moyenne mobile. Quand cela se produit, l'instruction considère que l'échantillon StorageArray est vide et fait progressivement la moyenne des échantillons de 1 jusqu'à la valeur NumberOfSamples. Par exemple :
MAVE Initialize average algorithm
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la section Attributs courants 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. Demander la réinitialisation du tableau de stockage à la prochaine exécution de l'instruction.
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
Initialiser Out à zéro.
Post-scrutation
Les bits EnableIn et EnableOut sont définis sur faux.
Texte structuré
Dans Texte structuré, EnableIn est toujours Vrai lors d’une scrutation normale. Si l’instruction se trouve dans le chemin d’accès de commande activé par la logique, elle est exécutée.
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
L’instruction place input_value dans le tableau de stockage à chaque scrutation. L'instruction calcule la moyenne des valeurs qui se trouvent dans le tableau de stockage en utilisant éventuellement les valeurs pondérées du tableau de pondération et place le résultat dans Out.
Bloc fonctionnel
MAVE_FBD_ex_v31
Texte structuré
MAVE_01.In := input_value;
MAVE(MAVE_01,storage,weight);
output_value := MAVE_01.Out;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal