Écart standard de mouvement (Moving Standard Deviation, MSTD)

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 Écart standard de mouvement (Moving Standard Deviation, MSTD) calcule l’écart type de mouvement et la moyenne pour le signal In.
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel
MSTD_FBD_avail_v31
Texte structuré
MSTD(MSTD_tag, StorageArray);
Opérandes
Bloc fonctionnel
Opérande
Type
Format
Description
block tag
MOVING_STD_DEV
structure
Structure MSTD
StorageArray
REAL
tableau
Il retient les échantillons Entrée. Ce tableau doit être au moins aussi grand que NumberOfSamples.
Structure MOVING_STD_DEV
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 Out et Average à leurs valeurs actuelles. 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 = 0,0 et Average = In, excepté quand InFault est défini, auquel cas, l’instruction retiendra Out et Average à leurs valeurs actuelles. Quand Initialize passe de défini à mis à zéro, l'instruction initialise l'algorithme d'écart type 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 et Average. Lorsque SampleEnable est mis à zéro et que Initialize est mis à zéro, l’instruction maintient la valeur actuelle pour Out et Average à leurs valeurs actuelles.
La valeur par défaut est mise à zéro.
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 et Average à leur valeur actuelle. Lorsque NumberOfSamples redevient valide, l'instruction initialise l'algorithme d'écart type et poursuit l'exécution.
Valide = 1 à la taille du tableau de stockage
Par défaut = 1
Paramètre de sortie
Type de données
Description
EnableOut
BOOL
Indique si l'instruction est activée. Défini sur faux si Out déborde
Out
REAL
Sortie calculée de l’algorithme.
Moyenne
REAL
Moyenne 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
block tag
MOVING_STD_DEV
structure
Structure MSTD
StorageArray
REAL
tableau
Il retient les échantillons Entrée. Ce tableau doit être au moins aussi grand que NumberOfSamples.
Reportez-vous à Syntaxe du texte structuré pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Description
L’instruction MSTD prend en charge toute longueur de file d’attente d’entrée. Si SampleEnable est défini, l'instruction insère la valeur d'In dans le tableau de stockage à chaque scrutation. Lorsque le tableau de stockage est plein, la plus ancienne valeur sera remplacée par la nouvelle valeur d'In.
Pour les sorties, l'instruction MSTD utilise les équations suivantes :
Condition
Action
Moyenne
MSTD_fbd_eq1
Out
MSTD_fbd_eq2
L'instruction ne va pas placer une valeur In non valide (NAN ou Plus or Minus sign INF) dans le tableau de stockage. Lorsque ln est non valide et si le rapport est activé, l’instruction définit Out = In, elle définit Average = In, et enregistre un défaut mineur de débordement. Lorsque In devient valide, l'instruction initialise l'algorithme d'écart type 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 traitera progressivement les nouvelles données de la taille de l'échantillon actuel jusqu’à la nouvelle taille de l'échantillon. Si vous diminuez le chiffre, l'instruction recalculera l'écart type depuis le début du tableau d'échantillonnage jusqu'à la nouvelle valeur NumberOfSamples.
Initialiser l’algorithme de l’écart type
Pour certaines situations comme celles de la première scrutation de l'instruction et la première exécution de l'instruction, il faut que l'instruction initialise l'algorithme de l'écart type. Lorsque cela se produit, l’instruction considère que StorageArray est vide et traite progressivement les échantillons de 1 jusqu’à la valeur NumberOfSamples. Par exemple :
MSTD_fbd_STDAlgorithm_eq
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.
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
Initialiser Output et Average précédentes.
Première scrutation de l'instruction
Initialiser Out à zéro.
Initialiser Average à Input
Initialiser l’algorithme d’instruction.
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
À chaque scrutation où SampleEnable est définie, l’instruction place la valeur d'In dans le tableau de stockage, elle en calcule l'écart type et place le résultat dans Out. Out devient un paramètre d'entrée pour function_block_C.
Bloc fonctionnel
MSTD_FBD_ex_v31
Texte structuré
MSTD_01.In := input_value;
MSTD_01.SampleEnable := enable_sample;
MSTD(MSTD_01,storage);
deviation := MSTD_01.Out;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal