Encoder_LMC058 : bloc fonctionnel du codeur

Description des fonctions

Ce bloc fonctionnel contrôle un compteur de type codeur :

Le nom d'instance du bloc fonctionnel doit correspondre au nom défini par la configuration.

Représentation graphique

G-SE-0002897.1.gif-high.gif

 

 

Représentation en langage IL et ST

Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des fonctions et blocs fonction.

Description des variables d'E/S

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

Entrées

Type

Commentaire

EN_Enable

BOOL

TRUE = autorise l'activation du codeur via l'entrée Enable (si elle est configurée).

EN_Preset

BOOL

TRUE = autorise la synchronisation et le démarrage du codeur via l'entrée Sync (si elle est configurée).

EN_Cap

BOOL

TRUE = active l'entrée Capture (si elle est configuré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 = permet à Output0 de renvoyer la valeur de Reflex0 (si elle est configurée, sur les modules DM72F).

EN_Out1

BOOL

TRUE = permet à Output1 de renvoyer la valeur de Reflex1 (si elle est configurée, sur les modules DM72F).

F_Enable

BOOL

Force la condition d'activation Enable.

En cas de détection d'erreur SSI, la mise à 0 de l'entrée F_Enable acquitte l'erreur.

F_Preset

BOOL

Force la condition de préréglage Preset.

F_Out0

BOOL

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

F_Out1

BOOL

TRUE = force 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 matérielles 0 et 1 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 du codeur

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.

TH0

BOOL

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

Actif uniquement si EN_Compare est défini.

TH1

BOOL

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

Actif uniquement lorsque EN_Compare est défini.

TH2

BOOL

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

Actif uniquement si EN_Compare est défini.

TH3

BOOL

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

Actif uniquement si EN_Compare est défini.

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 (si configuré).

Actif uniquement si EN_Compare est défini.

Réflexe 1

BOOL

Etat de Reflex1 (si configuré).

Actif uniquement si EN_Compare est défini.

Out0

BOOL

Indique l'état de Output0.

Out1

BOOL

Indique l'état de Output1.

Low_Limit

BOOL

Géré uniquement pour les modes Incrémental et Linéaire dans Verrouiller les limites. Défini à 1 lorsque le codeur dépasse - 2 147 483 648. Réinitialisé à 0 lors du préréglage ou la réinitialisation du codeur.

High_Limit

BOOL

Géré uniquement pour les modes Incrémental et Linéaire dans Verrouiller les limites. Défini à 1 lorsque le codeur dépasse + 2 147 483 648. Réinitialisé à 0 lors du préréglage ou la réinitialisation du codeur.

EncoderValue

DINT

Valeur actuelle du codeur.