Programmation du codeur standard

Présentation

Un codeur standard est toujours géré par un bloc fonctionnel Encoder_M258.

Ajout d'un bloc fonctionnel StandardEncoder

Etape

Action

1

Sélectionnez l'onglet Bibliothèques dans Catalogue de logiciels et cliquez sur Bibliothèques.

Sélectionnez Contrôleur > M258 > M258 Expert IO > ENCODER > ENCODER_M258 dans la liste, faites glisser l'élément sur la fenêtre POU.

2

Entrez le nom de l'instance Encoder_M258 ou sélectionnez l'instance du bloc fonctionnel en cliquant sur :

G-SE-0005277.1.gif-high.gif

 

 

En utilisant l'Aide à la saisie, vous pouvez sélectionner l'instance Encoder_M258 dans l'emplacement suivant : Variables globales > Logique API > IoConfig_Globals.

G-SE-0006156.1.gif-high.gif

 

 

Utilisation des variables d’E/S

Le tableau suivant décrit les variables d'entrée :

Entrées

Type

Commentaire

EN_Enable

BOOL

Lorsque l'entrée EN est configurée, l'activation du codeur via l'entrée est autorisée.

EN_Preset

BOOL

Lorsque l'entrée Z ou REF est configurée, vous pouvez prérégler le compteur via les entrées.

EN_Cap

BOOL

Si au moins une entrée CAP est configurée, la fonction de capture via les entrées est autorisée.

EN_Compare

BOOL

TRUE = active l'opération de comparaison en utilisant les seuils 0, 1, 2 et 3 :

ocomparaison de base (bits de sortie TH0, TH1, TH2, TH3)

oréflexe (bits de sortie Reflex0, Reflex1)

oévénements (pour déclencher des tâches externes en cas de franchissement de seuil)

EN_Out0

BOOL

TRUE = la sortie physique Output0 peut renvoyer la valeur de Reflex0.

EN_Out1

BOOL

TRUE = la sortie physique Output1 peut renvoyer la valeur Reflex1.

F_Enable

BOOL

Force la condition d'activation Enable.

F_Preset

BOOL

Force la condition de préréglage Preset.

F_Out0

BOOL

TRUE = force la sortie physique Output0 à prendre la valeur 1 (si Reflex0 est configuré).

F_Out1

BOOL

TRUE = force la sortie physique Output1 à prendre la valeur 1 (si Reflex1 est configuré).

ACK_Overflow

BOOL

Sur le front montant, réinitialise Overflow_Flag.

ACK_Preset

BOOL

Sur le front montant, réinitialise Preset_Flag.

ACK_Cap0

BOOL

Sur le front montant, réinitialise Cap0_Flag.

ACK_Cap1

BOOL

Sur le front montant, réinitialise Cap1_Flag.

SuspendCompare

BOOL

TRUE = les résultats de l'opération de comparaison sont figés :

oLes bits de sortie TH0, TH1, TH2, TH3, Reflex0, Reflex1 conservent leur dernière valeur.

oLes sorties physiques Output0 et Output1 conservent leur dernière valeur.

oLes événements sont masqués.

Les variables EN_Compare, EN_Reflex0, EN_Reflex1, F_Out0, F_Out1 restent opérationnelles tant que SupendCompare est défini.

Le tableau suivant décrit les variables de sortie :

Sorties

Type

Commentaire

ENC_REF

EXPERT_REF

Référence au codeur standard.

A utiliser avec l'entrée EXPERT_REF_IN du bloc fonctionnel d'Administration.

Encoder_Err

BOOL

TRUE = indique qu'une erreur a été détectée.

Pour obtenir des informations sur cette erreur détectée, utilisez le bloc fonctionnel EXPERTGetDiag

Validity

BOOL

TRUE = indique que les valeurs de sortie du bloc fonctionnel sont valides.

TRUE après le premier préréglage

TH0

BOOL

Défini à 1 lorsque CurrentValue > Seuil 0 (si configuré).

TH1

BOOL

Défini à 1 lorsque CurrentValue > Seuil 1 (si configuré).

TH2

BOOL

Défini à 1 lorsque CurrentValue > Seuil 2 (si configuré).

TH3

BOOL

Défini à 1 lorsque CurrentValue > Seuil 3 (si configuré).

Overflow_Flag

BOOL

Défini à 1 lorsque le codeur dépasse ses limites.

Preset_Flag

BOOL

Défini à 1 après le préréglage du codeur.

Cap0_Flag

BOOL

Défini à 1 lorsqu'une nouvelle valeur de capture est stockée dans le registre de capture.

Cet indicateur doit être réinitialisé pour qu'une nouvelle capture puisse être effectuée.

Cap1_Flag

BOOL

Défini à 1 lorsqu'une nouvelle valeur de capture est stockée dans le registre de capture.

Cet indicateur doit être réinitialisé pour qu'une nouvelle capture puisse être effectuée.

Réflexe 0

BOOL

Etat de Reflex0.

Reflex1

BOOL

Etat de Reflex1.

Out0

BOOL

Etat de Output0.

Out1

BOOL

Etat de Output1.

Low_Limit

BOOL

Défini à 1 lorsque le codeur dépasse - 2 147 483 648.

Réinitialisé à 0 lors du préréglage du codeur.

High_Limit

BOOL

Défini à 1 lorsque le codeur dépasse + 2 147 483 647.

Réinitialisé à 0 lors du préréglage du codeur.

EncoderValue

DINT

Valeur actuelle du codeur.