Sélection améliorée (ESEL)

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 Sélection améliorée (Enhanced Select, ESEL) vous permet de choisir l’une des six entrées. Les options de sélection comprennent :
  • La sélection manuelle (par opérateur ou par programme)
  • la sélection haute
  • la sélection basse
  • la sélection médiane
  • la sélection moyenne
Langues disponibles
Diagramme à relais
Cette instruction n'est pas disponible dans la logique à relais.
Bloc fonctionnel
ESEL_FBD_avail_v31
Texte structuré
ESEL(ESEL_tag);
Opérandes
Bloc fonctionnel
Opérande
Type
Format
Description
Balise ESEL
SELECT_ENHANCED
Structure
Structure ESEL
Structure SELECT_ENHANCED
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.
In1
REAL
Première entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
In2
REAL
Deuxième entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
In3
REAL
La troisième entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
In4
REAL
Quatrième entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
In5
REAL
Cinquième entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
In6
REAL
Sixième entrée du signal analogique dans l’instruction.
Valide = tout flottant
Par défaut = 0,0
In1Fault
BOOL
Indicateur de mauvaise santé pour In1. Si In1 est reconnu par une entrée analogique, alors In1Fault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Si toutes les entrées InnFault sont vraies, l’instruction configure le bit adéquat dans Status, l’algorithme de contrôle n’est pas exécuté, et Out n’est pas mis à jour.
Valeur par défaut = faux
In2Fault
BOOL
Indicateur de mauvaise santé pour In2. Si In2 est lu par une entrée analogique, alors In2Fault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Si toutes les entrées InnFault sont vraies, l’instruction configure le bit adéquat dans Status, l’algorithme de contrôle n’est pas exécuté, et Out n’est pas mis à jour.
Valeur par défaut = faux
In3Fault
BOOL
Indicateur de mauvaise santé pour In3. Si In3 est lu par une entrée analogique, alors In3Fault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Si toutes les entrées InnFault sont vraies, l’instruction configure le bit adéquat dans Status, l’algorithme de contrôle n’est pas exécuté, et Out n’est pas mis à jour.
Valeur par défaut = faux
In4Fault
BOOL
Indicateur de mauvaise santé pour In4. Si In4 est lu par une entrée analogique, alors In4Fault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Si toutes les entrées InnFault sont vraies, l’instruction configure le bit adéquat dans Status, l’algorithme de contrôle n’est pas exécuté, et Out n’est pas mis à jour.
Valeur par défaut = faux
In5Fault
BOOL
Indicateur de mauvaise santé pour In5. Si In5 est lu par une entrée analogique, alors In5Fault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Si toutes les entrées InnFault sont vraies, l’instruction configure le bit adéquat dans Status, l’algorithme de contrôle n’est pas exécuté, et Out n’est pas mis à jour.
Valeur par défaut = faux
In6Fault
BOOL
Indicateur de mauvaise santé pour In6. Si In6 est lu par une entrée analogique, alors In6Fault est contrôlé normalement par l’état de défaut sur l’entrée analogique. Si toutes les entrées InnFault sont vraies, l’instruction configure le bit adéquat dans Status, l’algorithme de contrôle n’est pas exécuté, et Out n’est pas mis à jour.
Valeur par défaut = faux
InsUsed
DINT
Nombre d’entrées utilisées. Ceci définit le nombre d’entrées que l’instruction utilise. L’instruction ne prend que In1 en compte par In
InsUsed
dans les modes sélection haute, sélection basse, sélection médiane et sélection moyenne. Si la valeur n’est pas valide, l’instruction définit le bit approprié dans Status. L’instruction ne met pas Out à jour si InsUsed n’est pas valide, si l’instruction n’est pas en mode de sélection manuelle et si Override est mis à zéro.
Valide = de 1 à 6
Par défaut = 1
Selector Mode
DINT
Entrée de sélecteur de mode. Cette valeur détermine l’action de l’instruction.
0 = sélection manuelle
1 = sélection haute
2 = sélection basse
3 = sélection médiane
4 = sélection moyenne
Si cette valeur n’est pas valide, l’instruction configure le bit adéquat dans Status et ne met pas Out à jour.
Valide = de 0 à 4
Par défaut = 0
ProgSelector
DINT
Entrée de sélecteur de programme. Lorsque le mode sélecteur est sélectionné manuellement et que l’instruction est dans le contrôle Programme, ProgSelector détermine quelle entrée (In1-In6) se déplace vers Out. Si ProgSelector = 0, l’instruction ne met pas Out à jour. Si ProgSelector n’est pas valide, l’instruction configure le bit adéquat dans Status. Si ce n’est pas valide et que l’instruction est dans le contrôle Programme, et que le mode sélecteur est sélectionné manuellement ou que Override est défini, l’instruction ne se met pas à jour. Out.
Valide = de 0 à 6
Par défaut = 0
OperSelector
DINT
Entrée du sélecteur de l’opérateur. Lorsque le mode sélecteur est sélectionné manuellement et que l’instruction est dans le contrôle Opérateur, OperSelector détermine quelle entrée (In1-In6) se déplace vers Out. Si OperSelector = 0, l’instruction ne met pas Out à jour. Si OperSelector n’est pas valide, l’instruction configure le bit adéquat dans Status. Si ce n’est pas valide et que l’instruction est en mode contrôle Opérateur, et que le mode sélecteur est sélection manuelle ou qu’Outrepassement est défini, l’instruction ne met pas à jour Out.
Valide = de 0 à 6
Par défaut = 0
ProgProgReq
BOOL
Demande de contrôle Programme du programme. Défini sur vrai par le programme utilisateur pour demander le contrôle Programme. Ignoré si ProgOperReq est vrai. Le maintien de cet élément sur vrai et de ProgOperReq sur faux verrouille l'instruction dans le contrôle Programme.
La valeur par défaut est fausse.
ProgOperReq
BOOL
Demande de contrôle Opérateur du programme. Défini sur vrai par le programme utilisateur pour demander le contrôle Opérateur. Le maintien de cet élément sur vrai verrouille l'instruction dans le contrôle Opérateur.
La valeur par défaut est fausse.
ProgOverrideReq
BOOL
Demande d’Outrepassement du programme. Défini sur vrai par le programme utilisateur pour demander au dispositif de passer en mode Outrepassement. En mode Outrepassement, l’instruction agira comme une sélection manuelle.
La valeur par défaut est fausse.
OperProgReq
BOOL
Demande de contrôle Programme de l’opérateur. Définissez cette valeur sur vrai au moyen de l’interface opérateur pour demander le contrôle Programme. L’instruction met à zéro cette entrée sur faux.
La valeur par défaut est fausse.
OperOperReq
BOOL
Demande de contrôle Opérateur de l’opérateur. Définissez cette valeur sur vrai au moyen de l’interface opérateur pour demander le contrôle Opérateur. L’instruction met à zéro cette entrée sur faux.
La valeur par défaut est fausse.
ProgValueReset
BOOL
Réinitialiser les valeurs de contrôle du programme. Lorsque ce paramètre est défini sur vrai, toutes les entrées de demandes du programme sont définies sur faux à chaque exécution de l'instruction.
La valeur par défaut est fausse.
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.
SelectedIn
DINT
Nombre d’entrées sélectionnées. Cette instruction utilise cette valeur pour afficher le nombre d’entrées placées dans les sorties. Si le mode sélecteur est sélectionné en moyenne, l’instruction définira SelectedIn = 0.
ProgOper
BOOL
Indicateur de contrôle programme/opérateur. Défini sur vrai en contrôle Programme. Mis à zéro (faux) en mode Opérateur
Asservissement
BOOL
Mode Outrepassement. Défini sur vrai lorsque l’instruction est en mode Outrepassement.
É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.
InsFaulted (Status.1)
BOOL
Les entrées InnFault pour toutes les entrées Inn utilisées sont vraies.
InsUsedInv (Status.2)
BOOL
Valeur InsUsed non valide.
SelectorModeInv (Status.3)
BOOL
Valeur SelectorMode non valide.
ProgSelectorInv (Status.4)
BOOL
Valeur ProgSelector non valide.
OperSelectorInv (Status.5)
BOOL
Valeur OperSelector non valide
Texte structuré
Opérande
Type
Format
Description
Balise ESEL
SELECT_ENHANCED
structure
Structure ESEL
Reportez-vous à Syntaxe du texte structuré pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Description
L’instruction ESEL fonctionne comme suit :
Condition
Action
SelectorMode = 0 (sélection manuelle) ou
Override est vrai, ProgOper est faux et OperSelector n’est pas égal à 0
Out = In[OperSelector]
SelectedIn = OperSelector
SelectorMode = 0 (sélection manuelle) ou
Override est vrai, ProgOper est vrai et ProgSelector n’est pas égal à 0
Out = In[ProgSelector]
SelectedIn = ProgSelector
SelectorMode = 1 (sélection haute) et
Override est faux
Out = maximum de In[InsUsed]
SelectedIn = index à la valeur d’entrée maximum
SelectorMode = 2 (sélection basse) et
Override est faux
Out = minimum de In[InsUsed]
SelectedIn = index à la valeur d’entrée minimum
SelectorMode = 3 (sélection médiane) et
Override est faux
Out = médiane de In[InsUsed]
SelectedIn = index à la valeur d’entrée médiane
SelectorMode = 4 (sélection moyenne) et
Override est faux
Out = moyenne de In[InsUsed]
SelectedIn = 0
Pour le SelectorMode 1 jusqu’à 4, s’il y a indication de mauvaise santé pour une quelconque entrée celle-ci sera écartée de la sélection. Par exemple, si le SelectorMode = 1 (sélection haute) et si In6 a la valeur la plus élevée mais est en mauvaise santé, alors c’est l’entrée en bonne santé qui sera placée dans la sortie.
Pour le mode sélection haute ou basse, s’il y a deux entrées égales et qu’elles sont en haut ou basse, l’instruction écartera la première entrée trouvée. Pour le mode sélection médiane, la valeur médiane représente toujours une valeur sélectionnée des entrées disponibles. S’il y a plus d’une valeur médiane, l’instruction écartera la première entrée trouvée.
Passer entre le contrôle Programme et le contrôle Opérateur
Le diagramme suivant montre comment l’instruction ESEL réalise la transition entre le contrôle Programme et le contrôle Opérateur.
ESEL Switch between program and operator control
(1) Vous pouvez verrouiller l’instruction dans le mode contrôle Opérateur en laissant ProgOperReq sur vrai.
(2) Vous pouvez verrouiller l’instruction dans le mode contrôle Programme en laissant ProgProgReq sur vrai et ProgOperReq sur faux.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Un défaut mineur se produira si la fonction est activée et qu’un débordement est détecté (Type de défaut : 4, Code de défaut : 4).
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
L’instruction est définie sur contrôle Opérateur.
Première scrutation de l'instruction
N/A
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
Cette instruction ESEL sélectionne In1, In2, ou In3 selon le SelectorMode. Dans cet exemple, SelectorMode = 1 c’est à dire sélection haute. L’instruction détermine quelle valeur d’entrée est la plus élevée et définit Out = greatest In.
Bloc fonctionnel
ESEL_FBD_ex_v31
Texte structuré
ESEL_01.In1 := analog_input1;
ESEL_01.In2 := analog_input2;
ESEL_01.In3 := analog_input3;
ESEL_01.SelectorMode := 1;
ESEL(ESEL_01);
selected_value := ESEL_01.Out;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal