Entrée discrète de procédé (Process Discrete Input, PDI)
Ces informations s’appliquent aux automates CompactLogix 5380P, ControlLogix 5580P et ControlLogix 5590P.
L’instruction Entrée discrète de processus (Process Discrete Input, PDI) surveille une entrée discrète (vraie ou fausse) et recherche des conditions d’alarme. Utilisez l’instruction PDI pour traiter un signal provenant d’un canal d’un module d’entrées TOR. Utilisez l’instruction PDI avec tout type de signal discret (BOOL).
L’instruction PDI offre les fonctionnalités suivantes :
- Déconnexion du signal d’entrée discret pour filtrer les changements rapides d’état en spécifiant un état de temps minimal doit maintenir un état.
- Affichage de l’état d’entrée ; Les noms 0 et 1 état sont configurables. L’état d’entrée est également affiché indépendamment, même lorsque l’entrée est substituée.
- État de cible désapprouvée basé sur la comparaison de l’état d’entrée avec un état normal ou cible. L’état de cible désapprouvée est activé par un signal d’entrée de mise en porte avec un retard de porte configurable. Les retards d’activation et de désactivation de l’état de cible désapprouvée ne sont pas configurables. L’état de cible désapprouvée possède une alarme basée sur des balises associée.
- Gérer une entrée de défaut de variable de procédé (PV) en affichant le défaut à l’opérateur. Le défaut de PV possède une alarme associée basée sur des balises.
- L’opérateur peut sélectionner et saisir manuellement une PV de substitution. Cet asservissement manuel est clairement visible pour l’opérateur. Le cas échéant, l’utilisateur peut configurer le signal de PV de substitution pour suivre l’entrée cible afin qu’aucun état ni aucune alarme d’abandon de cible ne soient générés.
- Prise en charge d’une valeur PV virtuelle à utiliser lors du test d’instruction, de la démonstration ou de la formation des opérateurs.
Langues disponibles
Diagramme à relais

Diagramme de bloc fonctionnel

Texte structuré
PDI(PDI tag, BusObj);
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 |
|---|---|---|---|
PDI | P_DISCRETE_INPUT | balise | Structure des données requise pour obtenir une bonne exécution de l'instruction. |
BusObj | BUS_OBJ | balise | Composant du bus. Peut-être nul. |
P_DISCRETE_INPUT Structure
Les membres publics sont des membres standard, de balises visibles accessibles par programmation. Privés ou masqués, les membres sont utilisés dans les façades HMI et ne sont pas accessibles par programmation. Les membres privés sont répertoriés 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 pour la réinitialiser. L'instruction efface automatiquement cet opérande. La valeur par défaut est définie sur vrai. |
Inp_PVData | BOOL | Signal d’entrée (variables de procédé) du dispositif. Lorsque EnableIn est faux, l’instruction s’exécute et utilise l’inverse du signal de Inp_PVData pour le traitement. La valeur par défaut est définie sur vrai. |
Inp_ModFault | BOOL | 1 = panne du module d’E/S (I/O) ou état de communication du module incorrect, 0 = OK. La valeur par défaut est fausse. |
Inp_ChanFault | BOOL | 1 = Défaut ou panne de voie d’E/S (I/O), 0 = OK. La valeur par défaut est fausse. |
Inp_PVUncertain | BOOL | Indique que la précision des données du canal est indéterminée. 1 = Les données de canal sont incertaines. Cette entrée définit Sts_PVUncertain si elle n’est pas en mode virtuel. La valeur par défaut est fausse. |
Inp_PVNotify | SINT | Priorité d’alarme et état d’accusé de réception associés de l’objet PV. 0 = Non en alarme, confirmé, 1 = Non en alarme, non confirmé ou réinitialisation requise, 2 = Alarme de sévérité basse, confirmée, 3 = Alarme de sévérité basse, non confirmée, 4 = Alarme de sévérité moyenne, confirmée, 5 = Alarme de sévérité moyenne, non confirmée, 6 = Alarme de sévérité haute, confirmée, 7 = Alarme de sévérité haute, non confirmée, 8 = Alarme de sévérité urgente, confirmée, 9 = Alarme de sévérité urgente, non confirmée. Valeur par défaut = 0. |
Inp_Target | BOOL | Etat cible de l’entrée. L’entrée Inp_PVData est comparée avec l’état cible à l’aide de la fonction Porte. Si elle n’est pas dans l’état cible, l’état Cible désapprouvée (Sts_TgtDisagree) est défini sur 1 et l’alarme basée sur le balise de non-réception de la cible est générée (si elle est activée). La valeur par défaut est définie sur vrai. |
Inp_Gate | BOOL | Entrée de porte utilisée pour la détection de l’état. 1 = La surveillance Cible désapprouvée est activée. 0 = La détection Cible désapprouvée est désactivée et la sortie d’état Cible désapprouvée est désactivée (forcée). La valeur par défaut est définie sur vrai. |
Inp_Reset | BOOL | 1 = Réinitialiser les verrouillages de mise hors tension et les alarmes effacées. La valeur par défaut est fausse. |
Cfg_AllowDisable | BOOL | 1 = Permettre à la Maintenance de désactiver les alarmes. La valeur par défaut est définie sur vrai. |
Cfg_AllowShelve | BOOL | 1 = Permettre à l’Opérateur de désactiver les alarmes. La valeur par défaut est définie sur vrai. |
Cfg_NoSubstPV | BOOL | Désactive la fonction de substitution de la maintenance. 0 = la fonction de maintenance de PV de substitution est activée, 1 = la fonction de maintenance de PV de substitution est désactivée. Lorsque Cfg_NoSubstPV est égal à 0, les commandes MCmd_SubstPV et MCmd_InpPV sont utilisées pour sélectionner l’entrée PV ou la PV de substitution. Sts_SubstPV est défini sur 1 lorsque la PV de substitution est sélectionné. La valeur par défaut est fausse. |
Cfg_SubstTracksTarget | BOOL | 1 = L’élément PV de substitution suit Inp_Target, 0 = le bit de PV de substitution est défini par MSet_SubstPV. La valeur par défaut est fausse. |
Cfg_NormTextVis | BOOL | 1 = le texte d’état est affiché dans l’état Normal, 0 = le texte d’état est masqué en état Normal. La valeur par défaut est définie sur vrai. |
Cfg_HasMoreObj | BOOL | 1 = indique à HMI qu’un objet contenant plus d’informations est disponible. La valeur par défaut est fausse. |
Cfg_Debounce | REAL | Durée minimale pendant laquelle l’état doit être maintenu (en secondes). Renvoie le PV d’entrée, ce qui assure que l’état est maintenu pendant un minimum de temps. Valide = de 0,0 à 2147483,0 secondes. Valeur par défaut = 0,0. |
Cfg_GateDly | REAL | Délai de porte Cible désapprouvée (en secondes). Le temps Inp_Gate doit être égal à 1 avant que la condition d’échec de cible ne soit vérifiée. Valide = de 0,0 à 2147483,0 secondes. Valeur par défaut = 0,0. |
Cfg_TgtDisagreeOffDly | REAL | Temps minimal pour que l’entrée corresponde à la cible pour effacer l’état (en secondes). Valide = de 0,0 à 2147483,0 secondes. La valeur par défaut est 0,0. |
Cfg_TgtDisagreeOnDly | REAL | Temps minimal pour que l’entrée ne corresponde pas à la cible pour augmenter l’état (en secondes). Valide = de 0,0 à 2147483,0 secondes. 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 la commande requise, 2 = Signature électronique requise de l'exécutant, 3 = Signature électronique requise de l'auteur et de l'approbateur. La valeur par défaut est 0. |
Set_VirtualPV | BOOL | La valeur PV utilisée en virtuel (Sts_Virtual est égal à 1). Si l’instruction n’est pas en mode Virtuel (Inp_Virtual est égale à 0), l’entrée Set_VirtualPV suit l’entrée PV (Inp_PVData) pour le transfert sans à-coup dans Virtuel. La valeur par défaut est fausse. |
PCmd_Virtual | BOOL | Commande Programme pour sélectionner une opération de dispositif Virtuelle (simulée). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
PCmd_Physical | BOOL | Commande Programme pour sélectionner une opération de dispositif Physique (non simulée). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
PCmd_Reset | BOOL | Commande de programme pour réinitialiser toutes les alarmes et les conditions de défaut verrouillées nécessitant une réinitialisation. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
XCmd_Reset | BOOL | Commande Externe pour réinitialiser toutes les alarmes et les conditions de défaut verrouillées. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
XCmd_ResetAckAll | BOOL | Commande Externe pour confirmer et réinitialiser toutes les alarmes et les conditions de défaut verrouillées. L'instruction efface automatiquement cet opérande. 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 | BOOL | État d’entrée discrète (y compris renvoi et asservissement manuel, le cas échéant). 0 = l’entrée discrète est désactivée, 1 = l’entrée discrète est activée. |
Out_InpPV | BOOL | Écho de Inp_PVData (entrée réelle brute ou virtuelle). |
Out_Reset | BOOL | 1 = La commande Réinitialiser a été reçue et acceptée. |
Sts_Initialized | BOOL | 1 = L'instruction est initialisée. Utilisez Inp_InitializeReq pour réinitialiser. |
Sts_PVUncertain | BOOL | Indique que la précision des données du canal est indéterminée. 1 = Les données de canal sont incertaines. Cette sortie est définie par Inp_PVUncertain (si elle n’est pas en mode Virtuel). |
Sts_SubstPV | BOOL | 1 = Utilisation de la PV de substitution (Asservissement). |
Sts_InpPV | BOOL | 1 = Utilisation de la PV d’entrée (Normal). |
Sts_Virtual | BOOL | 1 = Utilisation de la PV virtuelle au lieu de l’entrée du dispositif (Inp_PVData) pour calculer la sortie. 0 = L’instruction utilise l’opérande d’entrée Inp_PVData pour calculer la sortie. |
SrcQ_IO | SINT | Source et qualité de l’entrée ou de la sortie primaire (énumérée) : 0 = Bonne, directe, confirmée bonne, 1 = Bonne, directe, supposée bonne, 2 = Bonne, aucun retour, supposée bonne, 8 = Test, virtualisée, 9 = Test, bouclage, 10 = Test, saisie manuellement, 16 = Incertaine, directe, hors spécifications, 17=Incertaine, substituée au dispositif ou au bus, 18 = Incertaine, substituée à l’instruction, 19 = Incertaine, utilisation du dernier bien connu, 20 = Incertaine, utilisation d’une valeur de remplacement, 32 = Mauvaise, panne de signal, 33 = Mauvaise, défaut de canal, 34 = Mauvaise, défaut de module ou de communication, 35 = Mauvaise, configuration non valide. |
SrcQ | SINT | Source et qualité de la valeur ou de l’état primaire (énuméré) : 0 = Bonne, directe, confirmée bonne, 1 = Bonne, directe, supposée bonne, 2 = Bonne, aucun retour, supposée bonne, 8 = Test, virtualisée, 9 = Test, bouclage, 10 = Test, saisie manuellement, 16 = Incertaine, directe, hors spécifications, 17=Incertaine, substituée au dispositif ou au bus, 18 = Incertaine, substituée à l’instruction, 19 = Incertaine, utilisation du dernier bien connu, 20 = Incertaine, utilisation d’une valeur de remplacement, 32 = Mauvaise, panne de signal, 33 = Mauvaise, défaut de canal, 34 = Mauvaise, défaut de module ou de communication, 35 = Mauvaise, configuration non valide. |
Sts_eSts | SINT | Valeurs des états confirmés du dispositif : 0 = PV correcte, 1 = PV incertaine, 2 = PV incorrecte, 3 = PV remplacée. |
Sts_eFault | SINT | Valeurs d’état de défaut du dispositif : 0 = Aucun, 1 = Cible désapprouvée, 2 = Erreur de configuration. |
Sts_eNotify | SINT | Toutes les valeurs énumérées d'état de l'alarme : 0 = Non en alarme, confirmé, 1 = Non en alarme, non confirmé ou réinitialisation requise, 2 = Alarme de sévérité basse, confirmée, 3 = Alarme de sévérité basse, non confirmée, 4 = Alarme de sévérité moyenne, confirmée, 5 = Alarme de sévérité moyenne, non confirmée, 6 = Alarme de sévérité haute, confirmée, 7 = Alarme de sévérité haute, non confirmée, 8 = Alarme de sévérité urgente, confirmée, 9 = Alarme de sévérité urgente, non confirmée. |
Sts_eNotifyAll | SINT | Toutes les valeurs énumérées d'état de l'alarme, y compris les objets associés : 0 = Non en alarme, confirmé, 1 = Non en alarme, non confirmé ou réinitialisation requise, 2 = Alarme de sévérité basse, confirmée, 3 = Alarme de sévérité basse, non confirmée, 4 = Alarme de sévérité moyenne, confirmée, 5 = Alarme de sévérité moyenne, non confirmée, 6 = Alarme de sévérité haute, confirmée, 7 = Alarme de sévérité haute, non confirmée, 8 = Alarme de sévérité urgente, confirmée, 9 = Alarme de sévérité urgente, non confirmée. |
Sts_eNotifyIOFault | SINT | Les valeurs énumérées de l’état de l’alarme I/OFault. 0 = Non en alarme, confirmé, 1 = Non en alarme, non confirmé ou réinitialisation requise, 2 = Alarme de sévérité basse, confirmée, 3 = Alarme de sévérité basse, non confirmée, 4 = Alarme de sévérité moyenne, confirmée, 5 = Alarme de sévérité moyenne, non confirmée, 6 = Alarme de sévérité haute, confirmée, 7 = Alarme de sévérité haute, non confirmée, 8 = Alarme de sévérité urgente, confirmée, 9 = Alarme de sévérité urgente, non confirmée. |
Sts_eNotifyTgtDisagree | SINT | Valeurs énumérées de l’état d’alarme TgtDisagree. 0 = Non en alarme, confirmé, 1 = Non en alarme, non confirmé ou réinitialisation requise, 2 = Alarme de sévérité basse, confirmée, 3 = Alarme de sévérité basse, non confirmée, 4 = Alarme de sévérité moyenne, confirmée, 5 = Alarme de sévérité moyenne, non confirmée, 6 = Alarme de sévérité haute, confirmée, 7 = Alarme de sévérité haute, non confirmée, 8 = Alarme de sévérité urgente, confirmée, 9 = Alarme de sévérité urgente, non confirmée. |
Sts_UnackAlmCount | DINT | Nombre d'alarmes non confirmées. |
Sts_MaintByp | BOOL | 1 = Le dispositif a une fonction de contournement de maintenance active. |
Sts_Err | BOOL | 1 = Erreur de configuration : Voir bits de détails (Sts_Errxxx) pour connaître la raison. |
Sts_ErrGateDly | BOOL | 1 = Erreur de configuration : La valeur de Cfg_GateDly n’est pas valide. |
Sts_ErrTgtDisagreeOffDly | BOOL | 1 = Erreur de configuration : La valeur de Cfg_TgtDisagreeOffDly n’est pas valide. |
Sts_ErrTgtDisagreeOnDly | BOOL | 1 = Erreur de configuration : La valeur de Cfg_TgtDisagreeOnDly n’est pas valide. |
Sts_ErrDebounce | BOOL | 1 = Erreur de configuration : La valeur de Cfg_Debounce n’est pas valide. |
Sts_ErrAlm | BOOL | 1 = Erreur dans les paramètres d’alarmes basées sur des balises. |
Sts_Alm | BOOL | 1 = Une alarme est active. |
Sts_AlmInh | BOOL | 1 = Une alarme est réservée ou désactivée. |
Sts_IOFault | BOOL | État de défaut d’E/S (I/O) (0 = OK, 1 = Mauvais). 1 = Les données de voie sont inexactes. Cette sortie est définie par Inp_IOFault si elle n’est pas en mode Virtuel. Il existe une alarme discrète par défaut prédéfinie basée sur des balises pour l’état. Définissez les membres de configuration standard de l’alarme discrète basée sur des balises. Accédez aux éléments d’alarme en utilisant ce format : PDITag.@Alarms.Alm_IOFault.AlarmElement. |
Sts_TgtDisagreeCmp | BOOL | Résultat de la comparaison Entrée vs. Cible avant mise en porte. 1 = L’entrée ne correspondant pas à sa cible. |
Sts_TgtDisagreeGate | BOOL | État du délai de porte Cible désapprouvée. 1 = la porte Cible désapprouvée est ouverte. |
Sts_TgtDisagree | BOOL | Résultat de la comparaison Entrée vs. Cible après mise en porte. 1 = L’entrée n’est pas dans l’état cible. Il existe une alarme discrète par défaut prédéfinie basée sur des balises pour l’état. Définissez les membres de configuration standard de l’alarme discrète basée sur des balises. Accédez aux éléments d’alarme en utilisant ce format : PDITag.@Alarms.Alm_TgtDisagree.AlarmElement. |
Sts_RdyAck | BOOL | 1 = Une alarme est prête à être confirmée. |
Sts_RdyReset | BOOL | 1 = Une alarme verrouillée ou une condition de mise hors tension est prête à être réinitialisée. |
XRdy_Reset | BOOL | 1 = Prêt pour XCmd_Reset, activez le bouton HMI. |
XRdy_ResetAckAll | BOOL | 1 = Prêt pour XCmd_ResetAckAll, activez le bouton HMI. |
Membres d'entrée privés | Type de données | Description |
|---|---|---|
MSet_SubstPV | BOOL | Valeur de PV de substitution saisie par Maintenance qui remplace la PV d’entrée lorsque Sts_SubstPV est égal à 1. Si vous n’utilisez pas la valeur de substitution (Sts_SubstPV est fausse), le paramètre MSet_SubstPV suit la valeur de sortie pour un transfert sans à-coups de la valeur PV d’entrée à la valeur PV de substitution. La valeur par défaut est fausse. |
MCmd_SubstPV | BOOL | Commande de maintenance pour utiliser la valeur de PV de substitution (entrée Asservissement). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
MCmd_InpPV | BOOL | Commande de maintenance pour utiliser l’entrée PV (normale). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
MCmd_Physical | BOOL | Commande de maintenance pour sélectionner le fonctionnement du dispositif physique (non simulé). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
MCmd_Virtual | BOOL | Commande de maintenance pour sélectionner le fonctionnement du dispositif virtuel (simulé). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OCmd_Reset | BOOL | Commande d'opérateur pour réinitialiser toutes les alarmes et les conditions de défaut verrouillées. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OCmd_ResetAckAll | BOOL | Commande d’opérateur pour confirmer et réinitialiser toutes les alarmes et les conditions de défaut verrouillées. L’utilisation de OCmd_ResetAckAll est restreinte à HMI. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
Membres de sortie privés | Type de données | Description |
|---|---|---|
HMI_BusObjIndex | DINT | Index de cet objet dans le tableau du bus, à utiliser pour l’écran HMI. La valeur par défaut est 0. |
MRdy_SubstPV | BOOL | 1 = L’instruction est prête pour la commande SubstPV. |
MRdy_InpPV | BOOL | 1 = L’instruction est prête pour la commande InpPV. |
MRdy_Physical | BOOL | 1 = Prêt pour MCmd_Physical, activez le bouton HMI. |
MRdy_Virtual | BOOL | 1 = Prêt pour MCmd_Virtual, activez le bouton HMI. |
ORdy_Reset | BOOL | 1 = Une alarme verrouillée ou une condition de mise hors tension est prête à être réinitialisée. |
ORdy_ResetAckAll | BOOL | 1 = Une alarme verrouillée ou une condition de mise hors tension à être réinitialisée ou confirmée. |
Membres InOut publics | Type de données | Description |
|---|---|---|
BusObj | BUS_OBJ | Composant du bus |
BUS_OBJ Structure
La structure BUS_OBJ relie l'instruction d'entrée discrète à d'autres dispositifs et instructions dans une stratégie de contrôle complexe, généralement dans une hiérarchie. Un objet Bus cumule les informations d’état et d’alarme des dispositifs de niveau inférieur jusqu’à un contrôle de niveau supérieur et distribue les commandes de contrôle de niveau supérieur vers les dispositifs de niveau inférieur. Éléments liés au bus en faisant référence à un membre unique du tableau BUS_OBJ associé au bus.
Ce paramètre lie l’instruction à un balise externe qui contient les données nécessaires pour que l’instruction fonctionne. Le balise externe doit être du type de données affiché ou peut être NUL (NULL). S’il est NULL (NUL), les fonctions bus de cette instruction ne sont pas disponibles.
Membres | Type de données | Description |
|---|---|---|
Inp_Cmd | DINT | Entrée pour exercer des commandes |
Out_Cmd | DINT | Commandes résultantes |
Inp_CmdLLH | DINT | Entrée pour les commandes de niveau normalement élevées |
Out_CmdLLH | DINT | Commandes hautes de niveau de ligne résultantes |
Inp_Sts | DINT | Entrée pour exercer un état |
Out_Sts | DINT | État résultant |
Inp_CmdAck | DINT | Entrée pour exercer une confirmation de commande |
Out_CmdAck | DINT | Confirmation de commande résultante |
Inp_SeverityMax | DINT | Entrée : sévérité d'alarme maximale |
Out_SeverityMax | DINT | Résultat d'une sévérité d'alarme maximale |
Cfg_CmdMask | DINT | Masque de propagation pour les commandes |
Cfg_CmdLLHMask | DINT | Masque de propagation pour les commandes de niveau supérieur de ligne |
Cfg_StsMask | DINT | Masque de propagation pour l'état |
Ref_Index | DINT | Index du tableau de bus |
Alarmes
Des alarmes basées sur des balises discrètes sont définies pour ces membres.
Membre | Nom de l'alarme | Description |
|---|---|---|
Sts_TgtDisagree | Alm_TgtDisagree | État de cible désapprouvée. |
Sts_IOFault | Alm_IOFault | État de défaut d’E/S (I/O) (non généré lorsque la PV de substitution est active). |
Marquer l’alarme comme étant utilisée ou inutilisée et définir les membres de configuration standard de l’alarme basée sur des balises Logix discrète. Accédez aux éléments d’alarme en utilisant ce format :
PDITag.@Alarms.AlarmName.AlarmElement.
Il y a des commandes des modes Programme, Opérateur et Externe qui activent la réinitialisation et la réinitialisation et la confirmation de toutes les alarmes de l’instruction (ensemble d’alarmes) en même temps. Ce diagramme montre comment les commandes interagissent avec l’instruction.

Fonctionnement
La fonction Porte permet de provoquer une anomalie (condition d’alarme) lorsqu’une autre condition est vraie. Par exemple, un interrupteur de vibration haute ne doit générer une alarme que lorsque le moteur associé tourne pendant suffisamment longtemps pour se stabiliser. L’entrée Inp_Gate doit être définie sur 1 (sa valeur par défaut) et l’alarme basée sur des balises pour Sts_TgtDisagree activée pour que l’alarme se déclenche. L’alarme ne se déclenchera pas tant que l’entrée Inp_Gate n’aura pas été définie pour la durée de l’entrée de porte (Cfg_GateDly).
L’alarme est générée lorsque l’entrée du Inp_PVData (variable de procédé) est différente de l’entrée du Inp_Target (cible). La cible indique la condition normale. Par exemple, un interrupteur de débit doit indiquer le débit lorsqu’une pompe est en fonctionnement et ne doit pas indiquer le débit lorsqu’une pompe est arrêtée. L’état de fonctionnement de la pompe est utilisé comme entrée cible et lorsque l’interrupteur ne correspond pas à la cible (dans le temps alloué), l’alarme (Perte de flux/Défaillance de l’interrupteur) est générée.
CONSEIL:
Dans le diagramme à relais, si la condition d’entrée d’échelon est fausse, l’instruction utilise l’inverse du signal de Inp_PVData pour le traitement. Cela permet à l’entrée d’être une condition sur l’échelon avec l’instruction PDI au lieu d’être mappée dans Inp_PVData. Pour utiliser la méthode d’adressage par condition d’échelon, définissez Inp_PVData sur 1, sa valeur par défaut.
Cette instruction inclut une fonctionnalité de PV de substitution : pour un état entré manuellement. Cela est utile lorsqu’un capteur n’est pas dans le bon ordre ou pour des cas de simulation et de test.
L’instruction Entrée discrète (Discrete Input) et ses signaux d’entrée, de cible et de porte traitent les conditions d’alarme décrites par ces cas d’utilisation :
- Provoque l’alarme lorsque l’entrée se trouve dans un état d’alarme donné pour une durée configurable, telle qu’une alarme de niveau bas provenant d’un interrupteur de niveau flottant.
- Provoque l’alarme lorsque l’entrée n’est pas suivie d’un autre signal donné dans un intervalle de temps configurable, tel qu’un interrupteur de débit qui devrait indiquer le flux lorsqu’une pompe associée a fonctionné pendant une période de temps et devrait indiquer l’absence de débit lorsque la pompe associée a été arrêtée pendant une période de temps.
- Provoque l’activation d’une alarme lorsque l’entrée se trouve dans un état d’alarme donné pendant une durée configurable après activation par un signal de mise en porte, tel qu’un interrupteur de vibration sur un moteur, qui ne doit émettre une alarme que lorsque le moteur tourne depuis suffisamment longtemps pour que la vibration de démarrage s’efface.
Ce diagramme illustre les fonctionnalités de l’instruction PDI :


Utilisation de Debounce
Un rebond est une inversion d’état qui se produit immédiatement après une transition délibérée. Pour filtrer les rebonds, il est conseillé de confirmer la toute première transition le plus tôt possible et d’ignorer les modifications suivantes jusqu’à la fin d’une période de maintien. Utilisez Cfg_Debouncing pour spécifier la période de maintien en secondes.
Par exemple, dès que la PV d’entrée passe de l’état 0 à 1, la sortie passe à 1 et ne suit pas la PV d’entrée jusqu’à 0 avant que le temps Cfg_Debounce ne soit dépassé. Si Cfg_Debounce est défini sur 1 seconde, la sortie reste à 1 pendant au moins 1 seconde. Après 1 seconde, si la PV d’entrée était alors 0, la sortie passera à 0 et restera à 0 pendant au moins 1 seconde.
Cette illustration présente l’opération Debounce.

Virtualisation
La virtualisation dans l’instruction PDI fournit une entrée virtuelle à 0 état ou à 1 état (Set_VirtualPV) qui se comporte comme une entrée. Utiliser la virtualisation pour le test d’instruction et la formation des opérateurs. Utilisez PCmd_Virtual ou MCmd_Virtual pour activer la virtualisation. Une fois la virtualisation terminée, utilisez PCmd_Physical ou MCmd_Physical pour retrouver un fonctionnement normal (appareil physique).
Initialisation
L’instruction est normalement initialisée lors de sa première exécution. La réinitialisation peut être requise à tout moment en définissant Inp_InitializeReq = 1. Pour obtenir une initialisation correcte, lorsque vous ajoutez l’instruction pendant que vous éditez le code en ligne, assurez-vous que Inp_InitializeReq = 1 est la valeur par défaut.
Configuration de chaînes pour HMI
Configurez les chaînes pour les façades HMI, comme indiqué dans
FactoryTalk View
FactoryTalk 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 uniquement dans l’application Logix Designer.- Description
- Chaînes des noms d’état pour les états 0 et 1
- Étiquette du symbole graphique
- Bibliothèque d'affichage pour l'appel de façade HMI
- Nom de l'instruction
- Nom de zone
- Lien URL
- Plus d'informations
Implémentation
Cette illustration présente une implémentation normale avec la condition d’entrée mappée sur Inp_PVData sur une branche séparée.

Cette illustration montre l’implémentation avec la condition d’entrée mappée sur l’instruction PDI en utilisant la condition d’entrée d’échelon.

Surveillance de l’instruction PDI
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 | La condition de sortie d'échelon est définie sur faux. L’état d’utilisation de l’entrée brute ou de la PV de substitution de maintenance n’est pas modifié et perdure lors d’une transition de la mise sous tension de l’automate ou une transition de PROG à RUN. L’état de la sélection physique/virtuelle perdure lors d’une puissance de contrôle ou d’une transition PROG à Run. |
Première exécution de l'instruction | Toutes les commandes automatiquement effacées à chaque exécution sont effacées et ignorées. L’instruction s’exécute normalement. |
La condition d'entrée d'échelon est égale à faux | La condition de sortie d'échelon est définie sur faux. L’instruction s’exécute normalement, sauf qu’elle utilise l’inverse du signal de Inp_PVData pour le traitement. |
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 | EnableOut est défini sur faux. L’état d’utilisation de l’entrée brute ou de la PV de substitution de maintenance n’est pas modifié et perdure lors d’une transition de la mise sous tension de l’automate ou une transition de PROG à RUN. L’état de la sélection physique/virtuelle perdure lors d’une puissance de contrôle ou d’une transition PROG à Run. |
Première exécution de l'instruction | Toutes les commandes automatiquement effacées à chaque exécution sont effacées et ignorées. L’instruction s’exécute normalement. |
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 | EnableOut est défini sur faux. L’instruction s’exécute normalement, sauf qu’elle utilise l’inverse du signal de Inp_PVData pour le traitement. |
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
Dans cet exemple, le balise I_VSH_P50 est la valeur du processus numérique surveillée par l’instruction PDI. Ce balise fournit une indication booléenne de Vibration haute. L’indication de mauvaise qualité de la valeur de la variable de procédé (Inp_ChanFault) provient de l’indication de l’état de la connexion sur le module d’entrée.
Inp_Target est défini par défaut sur 1, ce qui indique que la condition normale pour I_VSH_P50 est également de 1 et les commentaires de balise confirment que 1=OK pour cette valeur de traitement. Inp_Gate est connecté à le balise d’état Exécution de moteur en cours (P50_Running) qui provient de la sortie Sts_Running de l’instance d’instruction de P_Motor pour ce moteur (P50_Motor). Le délai de porte est configuré pour donner au moteur un temps suffisant après avoir commencé à s’établir à pleine vitesse normale, avant d’activer l’indication de vibration haute (Sts_TgtDisagree) et l’alarme. L’alarme basée sur les balises pour l’état Cible désapprouvée (Sts_TgtDisagree) applique la temporisation au déclenchement afin que l’alarme ne se déclenche pas tant que le délai n’a pas expiré.
Enfin, P50_HighVibr est le balise de sortie qui indique l’état de I_VSH_P50 avec les délais de porte appropriés, selon que le moteur fonctionne.
Diagramme à relais

Diagramme de bloc fonctionnel

Texte structuré
VAH_50.Inp_PV_Data := I_VSH_P50 ;
VAH_50.Inp_ChanFault := CAF_117[5];
VAH_50.Inp_Gate := P50_Running ;
PDI(VAH_50);
P50_HighVibr := VAH_P50.Sts_TgtDisagree ;
Fournir une réponse