Logique booléenne de procédé avec instantané (Process Boolean Logic with Snapshot, PBL)

Ces informations s’appliquent aux automates CompactLogix 5380P, ControlLogix 5580P et ControlLogix 5590P.
L'instruction Logique booléenne de procédé avec instantané (Process Boolean Logic with Snapshot, PBL) exécute jusqu'à huit portes de la logique booléenne configurable. Les types de porte disponibles sont AND, OR, XOR (OR exclusif), Définir/Réinitialiser, Sélectionner et Majorité. Chaque porte fournit jusqu'à quatre conditions d'entrée qui sont inversibles individuellement à l'aide d'un paramètre de configuration.
L'instruction PBL peut enregistrer son état actuel :
  • Après une modification de l'état des sorties.
  • Commande sur Opérateur ou Programme.
  • Basé sur une entrée de bouclage de logique.
Langues disponibles
Diagramme à relais
PAO_FeedbackAlarmConditions1
Diagramme de bloc fonctionnel
PAO_FeedbackAlarmConditions1
Texte structuré
PBL(PBL tag);
Opérandes
IMPORTANT: Une opération inattendue peut se produire dans les cas suivants :
  • Les opérandes de balise de sortie sont remplacés.
  • Les membres d'un opérande de structure sont remplacés.
  • Sauf lorsque cela est spécifié, les opérandes de structure sont partagés par plusieurs instructions.
Il existe des règles de conversion de données pour combiner des types de données numériques dans une instruction. Reportez-vous à la section Conversions de données.
Opérandes de configuration
Opérande
Type
Format
Description
PBL
P_BOOLEAN_LOGIC
balise
Structure des données requise pour obtenir une bonne exécution de l'instruction.
Structure P_BOOLEAN_LOGIC
Les membres publics sont des membres standard, de balises visibles accessibles par programmation. Les membres privés et masqués sont utilisés dans les façades HMI et ne sont pas accessibles par programmation. Les membres du secteur privé se trouvent dans des tableaux distincts après les membres publics.
Membres d'entrée publique
Type de données
Description
EnableIn
BOOL
Activez l'entrée. Diagramme à relais : Correspond à la condition d’échelon.
La valeur par défaut est définie sur vrai.
Inp_InitializeReq
BOOL
1 = Demande d'initialisation de l'instruction. L'instruction est généralement initialisée lors de sa première exécution. Utilisez cette demande lorsqu'une réinitialisation est requise. L'instruction efface automatiquement cet opérande.
La valeur par défaut est définie sur vrai.
Inp_0
BOOL
Entrée logique 0.
La valeur par défaut est fausse.
Inp_1
BOOL
Entrée logique 1.
La valeur par défaut est fausse.
Inp_2
BOOL
Entrée logique 2.
La valeur par défaut est fausse.
Inp_3
BOOL
Entrée logique 3.
La valeur par défaut est fausse.
Inp_4
BOOL
Entrée logique 4.
La valeur par défaut est fausse.
Inp_5
BOOL
Entrée logique 5.
La valeur par défaut est fausse.
Inp_6
BOOL
Entrée logique 6.
La valeur par défaut est fausse.
Inp_7
BOOL
Entrée logique 7.
La valeur par défaut est fausse.
Inp_Hold
BOOL
1 = conserver les états précédents dans l'instantané ; 0 = passer des états directs à l'instantané.
La valeur par défaut est fausse.
Inp_Reset
BOOL
1 = réinitialiser le verrouillage de l'instantané, afficher les états en direct.
La valeur par défaut est fausse.
Cfg_UseInpHold
BOOL
1 = Utiliser Inp_Hold pour aligner l'état ; 0 = Utiliser Cmds ou la Transition de sortie pour prendre l'instantané.
La valeur par défaut est fausse.
Cfg_UsePCmd
BOOL
1 = Activer l'instantané sur PCmd_Snap 0 --> 1 (bord).
La valeur par défaut est définie sur vrai.
Cfg_UseOCmd
BOOL
1 = Activer l'instantané sur OCmd_Snap 0 --> 1 (bord).
La valeur par défaut est définie sur vrai.
Cfg_UseOut01
BOOL
1 = Activer l'instantané sur Output 0 --> 1 (bord montant).
La valeur par défaut est définie sur vrai.
Cfg_UseOut10
BOOL
1 = Activer l'instantané sur Output 1 --> 0 (bord descendant).
La valeur par défaut est fausse.
Cfg_TimestampOnSnap
BOOL
1 = Générer un horodatage quand un instantané se produit.
La valeur par défaut est fausse.
Cfg_SnapOver
BOOL
1 = Remplacement du nouvel instantané sans réinitialisation, 0 = Enregistrer d'abord l'instantané jusqu'à la réinitialisation.
La valeur par défaut est fausse.
Cfg_HasMoreObj
BOOL
1 = Indique à HMI qu'un objet contenant plus d'informations est disponible.
La valeur par défaut est fausse.
Cfg_HasNav
SINT
Définir les bits pour indiquer quels boutons de navigation sont activés.
La valeur par défaut est 2#0000_0000.
Cfg_OnDly
REAL
Délai de désactivation (ON) de sortie (en secondes). Valide = de 0,0 à 2 147 483,0
La valeur par défaut est 0,0.
Cfg_OffDly
REAL
Délai de désactivation (OFF) de sortie (en secondes). Valide = de 0,0 à 2 147 483,0
La valeur par défaut est 0,0.
Cfg_CnfrmReqd
SINT
Confirmation de la commande Opérateur requise. Représente le type de confirmation de commande requise. 0 = Aucun, 1 = Confirmation de commande requise, 2 = Signature électronique de l’exécutant requise, 3 = Signature électronique de l’exécutant et du validant requise.
La valeur par défaut est 0.
PCmd_Snap
BOOL
Commande Programme pour capturer les états Entrée et Porte dans un instantané.
La valeur par défaut est fausse.
PCmd_Reset
BOOL
Commande Programme permettant de réinitialiser (réarmer) le verrouillage du de l'instantané.
La valeur par défaut est fausse.
Membres de sortie publique
Type de données
Description
EnableOut
BOOL
Activer la sortie. Cet état de sortie reflète toujours l'état de l'entrée EnableIn.
Out_Live
BOOL
Sortie logique de condition (résultat) après le délai.
Out_Snap
BOOL
Sortie logique de condition (résultat) à l'instantané.
Val_DlyPctLive
DINT
Pourcentage de réussite OnDelay ou OffDelay de sortie : direct.
Val_DlyPctSnap
DINT
Pourcentage de réussite OnDelay ou OffDelay de sortie : instantané.
Val_SnapInit
DINT
Initiateur d'instantané : 1 = OCmd, 2 = PCmd, 3 = Out 0-->1, 4 = Out 1-->0, 5 = Inp_Hold.
Sts_Initialized
BOOL
1 = L'instruction est initialisée. Utilisez Inp_InitializeReq pour réinitialiser.
Sts_Snapped
BOOL
1 = L'instantané a été déclenché, 0 = L'instantané affiche les états directs.
Sts_RdyReset
BOOL
1 = Une alarme verrouillée ou une condition de mise hors tension est prête à être réinitialisée.
Sts_InpLive
SINT
Bits d'état d'entrée directs : De 0 à 0,7 = d'Inp_0 à Inp_7.
Sts_GateLive
SINT
Bits d'état de résultat de porte directs : De 0,0 à 0,7 = porte 0 à 7.
Sts_InpSnap
SINT
Instantané de bits d'état d'entrée : De 0 à 0,7 = d'Inp_0 à Inp_7.
Sts_GateSnap
SINT
Instantané de bits d'état de résultat de porte : De 0,0 à 0,7 = porte 0 à 7.
Sts_GateSrc1Live
SINT
État filaire direct pour la source 1 de chaque porte (bit# = gate#).
Sts_GateSrc2Live
SINT
État filaire direct pour la source 2 de chaque porte (bit# = gate#).
Sts_GateSrc3Live
SINT
État filaire direct pour la source 3 de chaque porte (bit# = gate#).
Sts_GateSrc4Live
SINT
État filaire direct pour la source 4 de chaque porte (bit# = gate#).
Sts_GateSrc1Snap
SINT
Instantané d'état filaire pour la source 1 de chaque porte (bit# = gate#).
Sts_GateSrc2Snap
SINT
Instantané d'état filaire pour la source 2 de chaque porte (bit# = gate#).
Sts_GateSrc3Snap
SINT
Instantané d'état filaire pour la source 3 de chaque porte (bit# = gate#).
Sts_GateSrc4Snap
SINT
Instantané d'état filaire pour la source 4 de chaque porte (bit# = gate#).
Sts_OutInvertLive
BOOL
Sortie après l'inverseur, mais avant les horloges TON/TOF.
Sts_OutInvertSnap
BOOL
Instantané de sortie après l'inverseur, mais avant les horloges TON/TOF.
Sts_Err
BOOL
1 = Erreur de configuration : Voir bits de détails (Sts_Errxxx) pour connaître la raison.
Sts_ErrGateFunc
SINT
1 = Erreur dans le code fonction de chaque porte (utilisez de 0 à 6).
Sts_ErrGateSrcPtr
SINT
1 = Erreur dans le pointeur source de chaque porte (utilisez de 0 à 15).
Sts_ErrGateSrcMask
SINT
1 = Erreur dans la configuration de masque (source utilisée) de chaque porte (qté, choix).
Sts_ErrOutSrcPtr
BOOL
1 = Erreur dans le pointeur source de sortie (utilisez de 0 à 15).
Sts_ErrTimer
BOOL
1 = Erreur dans la présélection du délai d'activation ou de désactivation de sortie (utilisez de 0,0 à 2147483,0).
Membres d'entrée privés
Type de données
Description
Cfg_GateFunc
DINT[8]
Code de fonction pour la porte M (1 = AND, 2 = OR, 3 = XOR, 4 = 2oo3, 5 = Set-Reset).
Cfg_GateSrc1Invert
SINT
La source de porte #1 est inversée (M par bit) (1 = inverser).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc1Mask
SINT
La source M de porte #1 est utilisée (M par bit) (1 = utilisé).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc1Ptr
DINT[8]
Pointeur vers source M de porte #1 (0 à 7 = entrées, 8 à 15 = sorties de porte).
Cfg_GateSrc2Invert
SINT
La source de porte #2 est inversée (M par bit) (1 = inverser).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc2Mask
SINT
La source M de porte #2 est utilisée (M par bit) (1 = utilisé).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc2Ptr
DINT[8]
Pointeur vers source M de porte #2 (0 à 7 = entrées, 8 à 15 = sorties de porte).
Cfg_GateSrc3Invert
SINT
La source de porte #3 est inversée (M par bit) (1 = inverser).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc3Mask
SINT
La source M de porte #3 est utilisée (M par bit) (1 = utilisé).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc3Ptr
DINT[8]
Pointeur vers source M de porte #3 (0 à 7 = entrées, 8 à 15 = sorties de porte).
Cfg_GateSrc4Invert
SINT
La source de porte #4 est inversée (M par bit) (1 = inverser).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc4Mask
SINT
La source M de porte #4 est utilisée (M par bit) (1 = utilisé).
La valeur par défaut est 2#0000_0000.
Cfg_GateSrc4Ptr
DINT[8]
Pointeur vers source M de porte #4 (0 à 7 = entrées, 8 à 15 = sorties de porte).
Cfg_HasNav
SINT
Définir les bits pour indiquer quels boutons de navigation sont activés.
La valeur par défaut est 2#0000_0000.
Cfg_OutSrcInvert
BOOL
La source de sortie (avant l'horloge de durée minimale) est inversée (1 = inverser).
La valeur par défaut est fausse.
Cfg_OutSrcPtr
DINT
Bit source pour la sortie (0 à 7 = entrées, 8 à 15 = portes).
La valeur par défaut est 0.
HMI_Const
SINT[9]
Constantes (à utiliser dans HMI en direction des paramètres).
OCmd_Reset
BOOL
Commande Opérateur pour réinitialiser (réarmer) le verrouillage de l'instantané.
La valeur par défaut est fausse.
OCmd_Snap
BOOL
Commande Opérateur permettant de capturer des entrées et des états de porte en instantané.
La valeur par défaut est fausse.
Membres de sortie privés
Type de données
Description
ORdy_Reset
BOOL
1 = Prêt pour l'OCmd_Reset (active le bouton).
ORdy_Snap
BOOL
1 = Prêt pour OCmd_Snap (active le bouton).
Val_LastGate
DINT[8]
Dernière broche de porte qui utilise ce résultat de porte (0 = inutilisé, 1 à 32 = gâchettes, 33 = sortie).
Val_LastInp
DINT[8]
Dernière broche de porte qui utilise cette entrée (0 = non utilisée, 1 à 32 = portes, 33 = sortie) pour animation.
Val_SnapTimestamp
DINT[7]
Horodatage de l'instantané [0] = année, [1] = mois, [2] = jour, [3] = heure, [4] = minute, [5] = seconde, [6] = usecond.
Fonctionnement
L'instruction PBL :
  • Fournit jusqu'à huit entrées booléennes et huit portes logiques.
  • Chaque porte possède quatre entrées. Chaque entrée peut être activée ou désactivée et peut être normale ou inversée. Chaque entrée de porte activée peut être liée à une source, qui est une entrée d'instruction ou le résultat d'une porte précédente.
  • Utilisez l'une de ces méthodes pour configurer les huit portes :
    • AND logique : La sortie de la porte est vraie si toutes les entrées de porte activées, après des inversions configurées, sont vraies. Une porte AND peut avoir jusqu'à quatre entrées activées.
    • OR logique : La sortie de la porte est vraie si l'une des entrées de porte activées, après des inversions configurées, est vraie. Une porte OR peut avoir jusqu'à quatre entrées activées.
    • XOR logique (OR exclusif) : La sortie de la porte est vraie si un nombre impair d'entrées de porte activées, après des inversions configurées, est vrai. Une porte XOR peut avoir jusqu'à quatre entrées activées.
    • Définir- Réinitialiser : La sortie de la porte est définie sur vrai si l'une de ses entrées Définir est définie sur vrai, et est définie sur faux si l'une de ses entrées Réinitialiser est vraie. Les quatre entrées de la porte sont :
      Entrée 1 : SET (prioritaire)
      Entrée 2 : RESET (prioritaire)
      Entrée 3 : SET
      Entrée 4 : RESET
    • Sélectionner : Si l'entrée 3 est fausse, l'état de l'entrée 1 est transmis à la sortie de porte. Si l'entrée 3 est vraie, l'état de l'entrée 2 est transmis à la sortie de porte. L'entrée 3 doit être activée pour une porte de sélection et l'une ou l'autre des entrées 1 et 2 doivent être activées.
    • Majorité (étiqueté « En numérique » pour « M hors N ») : La sortie de porte est définie sur vrai si la plupart de ses entrées, après des inversions configurées, sont vraies. La majorité comprend 2 sur 2, 2 sur 3 ou 3 sur 4. Une porte de la majorité peut comporter deux, trois ou quatre entrées activées.
  • Fournit une fonctionnalité d'instantané qui capture l'état de l'instruction pour utilisation ultérieure, jusqu'à la réinitialisation de tous les états d'entrée, de porte et de sortie. La fonctionnalité de l'instantané capture l'état de la logique au moment où elle a déclenché ou arrêté l'équipement, même si les états de la logique changent après la fermeture. L'instantané est éventuellement horodaté à partir de l'horloge de l'automate avec l'année, le mois, le jour, l'heure, la minute, la seconde ou la microseconde.
  • Fournit les options permettant d'activer les conditions suivantes de déclenchement de l'instantané :
    • Capture d'instantané sur une commande d'opérateur (OCmd_Snap).
    • Capture d'instantané sur une commande de programme (PCmd_Snap).
    • Capture d'instantané lorsque la sortie passe de 0 à 1.
    • Capture d'instantané lorsque la sortie passe de 1 à 0.
    • Capture de l'instantané de l'état de la scrutation précédente lorsqu'une entrée de bouclage devient vraie. Cette fonctionnalité capture l'instantané lorsque la condition de sortie PBL est la condition de première sortie dans un bloc PINTLK en aval. L'indication du premier sorti de l'instruction PINTLK peut être réenfichée en boucle avec l'entrée Inp_Hold de l'instruction PBL pour maintenir l'état de dernière scrutation dans l'instantané, y compris l'horodatage de la dernière scrutation.
Implémentation
Utilisez l'instruction PBL dans les cas suivants :
  • Un projet requiert une condition de verrouillage ou condition permissive qui est plus complexe que la simple instruction OR-ing ou AND-ing fournie par les instructions complémentaires PINTLK (verrouillages) ou PPERM (permissives).
  • Un projet requiert une logique booléenne (combinaison) qui peut être reconfigurée à partir d'HMI en ligne ou qui nécessite la fonctionnalité d'instantané pour enregistrer une copie de l'état de logique avec un horodatage.
  • Un projet contient plus que les 16 conditions de verrouillage ou les conditions permissives fournies par les instructions complémentaires PINTLK et PPERM, mais certaines de ces conditions peuvent être regroupées sous la forme d'une seule identification. Par exemple, tous les signaux de surtempérature du roulement d'une pompe et d'un moteur (cadre de la pompe, panneau de sortie de la pompe, support du moteur et panneau du moteur) peuvent être régulés ensemble sur OR dans une instruction PBL, et le résultat présenté à une instruction PINTLK comme une condition de surtempérature de roulement unique.
N'utilisez pas cette instruction dans les situations suivantes :
  • Un projet requiert de simples verrouillages et autorisations qui peuvent être traités directement par les instructions PINTLK et PPERM. Ces instructions peuvent autoriser le fonctionnement ou le déclenchement.
  • Un projet requiert une logique qui dépasse les capacités de l'instruction complémentaire PBL ou qui présente un temps critique. L'instruction PBL ne fournit que huit entrées, huit portes et une sortie avec temporisation à l'enclenchement et au déclenchement, et est implémentée avec un code piloté par tableau. Utilisez plutôt la logique codée en dur dans les langages natifs de l'automate. Les langages de programmation natifs sont plus rapides et offrent des fonctionnalités qui dépassent les capacités de l'instruction PBL.
Ce diagramme illustre les fonctionnalités de l'instruction PBL :
PAO_FeedbackAlarmConditions1
Configuration
Un maximum de huit portes peuvent être configurées à l'aide des balises suivants :
Cfg_GateFunc[M] – Cette configuration est un tableau qui définit la fonction porte. M = le numéro de porte, 0 à 7.
  • 1 = Porte AND logique
  • 2 = Porte OR logique
  • 3 = Porte XOR logique
  • 4 = La plupart des sorties sont vraies
  • 5 = Définir/Réinitialiser
  • 6 = Sélecteur A/B
Chaque porte possède quatre broches d'entrée. Chaque broche d'entrée peut être activée ou désactivée à l'aide de ce balise :
Cfg_GateSrc#Mask : Cette configuration est une valeur SINT qui masque les portes (0-7) activées pour cette broche d'entrée dans un format binaire. # = le numéro de la broche d'entrée (1-4). Si le bit de masque est haut, la porte pour cette broche d'entrée spécifique est activée.
Exemples :
  • Cfg_GateSrc1Mask.0 = 1 broche d'entrée 1 de la porte 0 est activée
  • Cfg_GateSrc2Mask.1 = 1 broche d'entrée 2 de la porte 1 est activée
  • Cfg_GateSrc3Mask.3 = 1 broche d'entrée 3 de la porte 3 est activée
  • Cfg_GateSrc4Mask.0 = 1 broche d'entrée 4 de la porte 0 est activée
Chaque broche d'entrée de porte peut être normale ou inversée.
Cfg_GateSrc#Inversion : Cette configuration est une valeur SINT qui inverse une entrée. # = le numéro de la broche d'entrée (1-4).
Exemples :
  • Cfg_GateSrc1Invert,0 = 1, la broche d'entrée 1 de la porte 0 est inversée.
  • Cfg_GateSrc2Invert.2 = 1, la broche d'entrée 2 de la porte 2 est inversée
  • Cfg_GateSrc3Invert.3 = 1, la broche d'entrée 3 de la porte 3 est inversée
  • Cfg_GateSrc4Invert,6 = 1, la broche d'entrée 4 de la porte 6 est inversée
Chaque broche d'entrée de porte activée peut être liée à une source, soit une entrée d'instruction, soit le résultat d'une porte précédente.
Cfg_GateSrc#Ptr[M] - Cette configuration est un tableau qui définit la source de la broche d'entrée sur chaque porte. Où # = le numéro de la broche d'entrée (1-4) et M = le numéro de porte (0-7). Une valeur comprise entre 0 et 7 représente une entrée d'instruction. Une valeur comprise entre 8 et 15 représente le résultat d'une porte précédente.
CONSEIL: Une porte ne peut être utilisée que comme entrée d'une autre porte avec une valeur de porte supérieure.
Exemples :
  • Cfg_GateSrc1Ptr[0] = 2 indique que Inp_2 est configuré dans la porte 0 sur la broche 1.
  • Cfg_GateSrc2Ptr[0] = 3 indique que Inp_3 est configuré dans la porte 0 sur la broche 2.
  • Cfg_GateSrc3Ptr[2] = 8 indique que le résultat de la porte 0 est configuré dans la porte 2 sur la broche 3.
  • Cfg_GateSrc4Ptr[7] = 12 indique que le résultat de la porte 4 est configuré dans la porte 7 sur la broche 4.
Configurez la sortie à l'aide des balises suivants :
  • Cfg_OutSrcPtr – Cette configuration détermine quelle entrée/porte sera la sortie. Une valeur comprise entre 0 et 7 représente une entrée d'instruction. Une valeur comprise entre 8 et 15 représente le résultat d'une porte.
  • Cfg_OutSrcInvert : cette configuration détermine si la sortie doit être inversée.
Configuration de chaînes pour HMI
Configurez les chaînes pour les façades HMI (FT View) et pour la boîte de dialogue de configuration Logix Designer. Les chaînes sont définies sur des propriétés étendues d'éléments de balise. Configurez les chaînes dans Logix Designer uniquement.
  • Description
  • Étiquette du symbole graphique
  • Bibliothèque d'affichage pour l'appel de façade HMI
  • Nom de l'instruction
  • Nom de zone
  • Lien URL
  • Chaînes des noms d’état pour les états 0 et 1
  • Plus d'informations
Surveillance de l'instruction PBL
Utilise la façade opérateur à partir de la bibliothèque PlantPAx d'objets de procédé pour la surveillance.
Affecte les indicateurs d'état mathématique
Non.
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à Indexer via des tableaux pour consulter les défauts d'indexation par tableau.
Exécution
Diagramme à relais
Condition/état
Action entreprise
Préscrutation
Réinitialise les horloges de retard actif et inactif de sortie ; efface l'horodatage et les données de l'instantané ; efface toutes les commandes reçues pendant que l'automate était en mode Programme.
Première exécution de l'instruction
Réinitialise les horloges de retard actif et inactif de sortie ; efface l'horodatage et les données de l'instantané ; efface toutes les commandes reçues pendant que l'automate était en mode Programme.
La condition d'entrée d'échelon est égale à faux
Définit la sortie sur faux (désactivé) et réinitialise les horloges de retard actif et de retard inactif de la sortie.
La condition d'entrée d'échelon est égale à vrai
Définir la condition de sortie d'échelon sur la condition d'entrée d'échelon.
L'instruction s'exécute.
Post-scrutation
La condition de sortie d'échelon est définie sur faux.
Diagramme de bloc fonctionnel
Condition/état
Action entreprise
Préscrutation
Réinitialise les horloges de retard actif et inactif de sortie ; efface l'horodatage et les données de l'instantané ; efface toutes les commandes reçues pendant que l'automate était en mode Programme.
Première exécution de l'instruction
Réinitialise les horloges de retard actif et inactif de sortie ; efface l'horodatage et les données de l'instantané ; efface toutes les commandes reçues pendant que l'automate était en mode Programme.
Première scrutation de l'instruction
Reportez-vous à la section Première exécution de l'instruction dans le tableau Diagramme de bloc fonctionnel.
EnableIn est faux
Définit la sortie sur faux (désactivé) et réinitialise les horloges de retard actif et de retard inactif de la sortie.
EnableIn est vrai
EnableOut est définie sur vrai.
L'instruction s'exécute.
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. L'instruction s'exécute lorsqu'elle se trouve dans le chemin d'accès de commande activé par la logique.
Condition/état
Action entreprise
Préscrutation
Reportez-vous à la section Pré-scrutation dans le tableau Diagramme de bloc fonctionnel.
Première exécution de l'instruction
Reportez-vous à la section Première exécution de l'instruction dans le tableau Diagramme de bloc fonctionnel.
EnableIn est vrai
Reportez-vous à EnableIn est vrai dans le tableau Diagramme de bloc fonctionnel.
Post-scrutation
Reportez-vous à la section Post-scrutation dans le tableau Diagramme de bloc fonctionnel.
Exemple
Cet exemple utilise l'instruction PBL pour exécuter une logique avancée de verrouillage, basée sur les températures d'enroulement d'un moteur. Cet exemple explore les paramètres pour illustrer entièrement l'exemple.
Dans cet exemple, il y a un moteur avec trois RTD mesurant la température des enroulements. Pour éviter d'endommager les enroulements, le moteur doit être verrouillé dans les cas suivants :
  • N'importe lequel des enroulements est supérieur à la limite de température haute-haute.
  • La plupart des enroulements sont supérieurs à la limite de température haute.
PBL exécute cette fonction. La sortie de cette logique alimente le verrouillage du moteur ailleurs dans la logique.
Diagramme à relais
PAO_FeedbackAlarmConditions1
Diagramme de bloc fonctionnel
PAO_FeedbackAlarmConditions1
Dans cet exemple, il y a un moteur avec trois RTD mesurant la température des enroulements. Pour éviter d'endommager les enroulements, le moteur doit être verrouillé si l'un des trois enroulements est supérieur à la limite de température haute-haute ou si la plupart des enroulements sont supérieurs à la limite de température haute. PBL est en cours d'utilisation pour effectuer cette fonction. La sortie de cette logique alimente le verrouillage du moteur ailleurs dans la logique.
Les paramètres d'entrée (Inp_0, Inp_1, Inp_2, Inp_3, Inp_4 Inp_5) sont connectés aux sorties d'état des trois entrées de température d'enroulement. Trois des huit portes (0... 7) dans PBL sont utilisés dans cet exemple (1, 5, 6). La porte 1 est le OR des trois bits d'état haut-haut. La porte 5 vérifie si la plupart des bits d'état haut sont vrais. La porte 6 exécute des opérations ou des sorties de porte 1 et 5 pour définir la sortie de PBL.
Pour configurer les fonctions de porte (portes 1 et 6 en tant qu'OR et porte 5 en tant que majorité), utilisez les paramètres suivants :
  • Cfg_GateFunc[1] = 2
  • Cfg_GateFunc[5] = 6
  • Cfg_GateFunc[6] = 2
La porte 1 est configurée pour examiner les trois entrées d'état haut-haut (Inp_0, Inp_2 et Inp_4) à l'aide des paramètres suivants :
  • Cfg_GateSrc1Mask,1 = 1, Cfg_GateSrc1Ptr[1] = 0
  • Cfg_GateSrc2Mask,1 = 1, Cfg_GateSrc2Ptr[1] = 2
  • Cfg_GateSrc3Mask,1 = 1, Cfg_GateSrc3Ptr[1] = 4
La porte 5 est configurée pour examiner les trois entrées d'état haut (Inp_1, Inp_4 et Inp_5) à l'aide des paramètres suivants :
  • Cfg_GateSrc1Mask.5 = 1, Cfg_GateSrc1Ptr[5] = 1
  • Cfg_GateSrc2Mask.5 = 1, Cfg_GateSrc2Ptr[5] = 3
  • Cfg_GateSrc3Mask.5 = 1, Cfg_GateSrc3Ptr[5] = 5
Enfin, la porte 6 est configurée pour examiner les sorties des portes 1 et 5 en utilisant les paramètres suivants :
  • Cfg_GateSrc1Mask.6 = 1, Cfg_GateSrc1Ptr[6] = 9
  • Cfg_GateSrc2Mask.6 = 1, Cfg_GateSrc2Ptr[6] = 13
Cfg_OutSrcPtr doit être défini sur 14 pour prendre la sortie depuis la porte 6 et en faire la sortie (Out_Live) du bloc PBL. Le temps de retard actif est alors défini sur 5 secondes pour empêcher les déclenchements parasites de la sortie (Cfg_OnDly = 5).
Enfin, les descriptions fournissent la documentation sur la façade. Dans cet exemple, les paramètres de description sont les suivants :
  • Out_Live.@State0 = OK
  • Out_Live.@State1 = déclenché
  • Inp_0.@Label = Temp. haute haute d'enroulement A
  • Inp_1.@Label = Temp. haute d'enroulement A
  • Inp_2.@Label = Temp. haute haute d'enroulement B
  • Inp_3.@Label = Temp. haute d'enroulement B
  • Inp_4.@Label = Temp. haute haute d'enroulement C
  • Inp_5.@Etiquette = Temp. haute d'enroulement C
Ce diagramme illustre les fonctionnalités de l'exemple :
PAO_FeedbackAlarmConditions1
Texte structuré
TI1_P50.Inp_PVData := I_TE1_P50 ;
TI1_P50.Inp_PVUncertain := (CAF_117[12] OR Local_12_I_CH0Fault);
PAI(TI1_P50);
TI2_P50.Inp_PVData := I_TE2_P50 ;
TI2_P50.Inp_PVUncertain := (CAF_117[12] OR Local_12_I_CH1Fault);
PAI(TI2_P50);
TI3_P50.Inp_PVData := I_TE3_P50 ;
TI3_P50.Inp_PVUncertain := (CAF_117[12] OR Local_12_I_CH2Fault);
PAI(TI3_P50);
TI1_P50.Sts_HiHi := NG_PBL.Inp_0 ;
TI1_P50.Sts_Hi := NG_PBL.Inp_1 ;
TI2_P50.Sts_HiHi := NG_PBL.Inp_2 ;
TI2_P50.Sts_Hi := NG_PBL.Inp_3 ;
TI3_P50.Sts_HiHi := NG_PBL.Inp_4 ;
TI3_P50.Sts_Hi := NG_PBL.Inp_5 ;
PBL(NG_PBL);
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal