Filtre passe bas (LPF)
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 LPF fournit un filtre qui atténue les fréquences d'entrée qui se trouvent au-dessus de la fréquence de coupure.
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel

Texte structuré
LPF(LPF_tag);
Opérandes
Bloc fonctionnel
Opérande | Type | Format | Description |
|---|---|---|---|
LPF tag | FILTER_LOW_PASS | Structure | Structure LPF |
Structure FILTER_LOW_PASS
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 |
Initialize | BOOL | Demander à initialiser l’algorithme de contrôle du filtre. Lorsque la valeur est vraie, l’instruction définit Out = In. La valeur par défaut est fausse. |
WLag | REAL | Fréquence de latence en radians/seconde. Si WLag < minimum ou WLag > maximum, l’instruction définit le bit approprié dans État et restreint WLag. Valide = voir la section Description ci-dessous pour les plages valides. Par défaut = 0,0 |
Order | REAL | Ordre des filtres. L’ordre contrôle la précision de coupure. Si Order n’est pas valide, l’instruction définit le bit adéquat dans Status et utilise Order = 1. Valide = 1 à 3 Par défaut = 1 |
TimingMode | DINT | Sélectionne le mode d'exécution de la temporisation. 0 = mode période 1 = mode sur-échantillonnage 2 = Mode d’échantillonnage en temps réel Reportez-vous aux attributs des blocs fonctionnels pour plus d’informations sur les modes de temporisation. Valide = de 0 à 2 Par défaut = 0 |
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 | Il indique si l’instruction est capable de mis à zéro (faux) si Out déborde. |
Out | REAL | Sortie calculée de l’algorithme. |
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. |
WLagInv (Status.1) | BOOL | WLag < valeur minimale ou WLag > valeur maximale. |
OrderInv (Status.2) | BOOL | Valeur d'ordre non valide. |
TimingModeInv (Status.27) | BOOL | Valeur TimingMode non valide. |
RTSMissed (Status.28) | BOOL | Utilisé seulement en mode Échantillonnage en temps réel. Défini sur vrai 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. |
Texte structuré
Opérande | Type | Format | Description |
|---|---|---|---|
LPF tag | FILTER_LOW_PASS | structure | Structure LPF |
Reportez-vous à Syntaxe du texte structuré pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Description
L’instruction LPF utilise le paramètre Order pour contrôler la précision de la coupure. L’instruction LPF est conçue pour exécuter une tâche lorsque la fréquence de scrutation reste constante.
L’instruction LPF utilise les équations suivantes :
Lorsque : | L’instruction utilise cette fonction de transfert Laplace : |
|---|---|
Order = 1 | ![]() |
Order = 2 | ![]() |
Ordre = 3 | ![]() |
avec ces limites de paramètres (où DeltaT est en secondes) :
Paramètre | Limitations |
|---|---|
WLag premier ordre LowLimit | ![]() |
WLag deuxième ordre LowLimit | ![]() |
WLag troisième ordre LowLimit | ![]() |
HighLimit | ![]() |
Si la valeur de sortie calculée n'est pas valide, NAN, ou
INF, l'instruction définit Out = valeur non valide. Lorsque la valeur calculée pour la sortie devient valide, l'instruction initialise les paramètres internes et définit Out = In.
INF, l'instruction définit Out = valeur non valide. Lorsque la valeur calculée pour la sortie devient valide, l'instruction initialise les paramètres internes et définit Out = In.Affecte les indicateurs d'état mathématique
Automates | Affecte les indicateurs d'état mathématique |
|---|---|
ControlLogix 5580 | Non |
CompactLogix 5370, ControlLogix 5570 | Oui pour la sortie |
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à Attributs communs pour 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 | Recalculer les coefficients. |
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
L’instruction LPF atténue les signaux qui apparaissent au-dessus de la fréquence de coupure configurée. Cette instruction est généralement utilisée pour filtrer les « bruits » ou les nuisances de haute fréquence d’origine électrique ou mécanique. Vous pouvez choisir un ordre des filtres spécifique pour atteindre des degrés d’atténuation variés. Veuillez noter que des ordres plus élevés augmentent le temps d'exécution de l’instruction.
Le graphique suivant explique le résultat des divers ordres des filtres pour une fréquence de coupure donnée. Pour chaque graphique, des approximations asymptotiques idéales sont données avec gain et fréquence dans des échelles logarithmiques. La réponse actuelle des filtres approche ces courbes mais sans correspondance exacte.
Cet exemple illustre la programmation légale minimale du bloc fonctionnel LPF. Il ne montre que le texte neutre et le code généré pour cette instruction. Ce contenu est fourni à usage interne uniquement et ne constitue pas un cas de test.
Filtre | Graphique |
|---|---|
Filtre de 1er ordre | ![]() |
Filtre de 2e ordre | ![]() |
Filtre de 3e ordre | ![]() |
Bloc fonctionnel

Texte structuré
LPF_01.In := Velocity_Feedback;
LPF_01.WLag := Cutoff_frequency;
LPF(LPF_01);
filtered_velocity_output := LPF_01.Out;
Fournir une réponse









