Groupe de moteurs de procédé avance/retard/en attente (Process Lead Lag Standby Motor Group, PLLS)
Ces informations s’appliquent aux automates CompactLogix 5380P, ControlLogix 5580P et ControlLogix 5590P.
L'instruction Groupe de moteurs Avance/Retard/En attente de procédé (PLLS) fournit le contrôle d'un groupe parallèle de moteurs, tel qu'un ensemble de pompes ayant une source d'admission et une destination d'évacuation communes. Le nombre de moteurs à exécuter dépend de la demande du système. La configuration du groupe peut varier de deux à 30 moteurs. La demande minimale peut être réglée sur 0 afin que tous les moteurs s'arrêtent à la demande minimale. La demande maximale peut être réglée jusqu'au nombre de pompes du groupe.
Utilisez l'instruction PLLS pour :
- Contrôlez et surveillez un groupe de 2 à 30 moteurs.
- Démarrez et arrêtez un groupe à l'aide des fonctionnalités Opérateur, Programme et Asservissement.
- Autorisez l'opérateur ou le programme à saisir une demande (nombre de moteurs à exécuter).
- Configurez la demande maximale (1 au nombre de moteurs par groupe).
- Configurez la demande minimale (0 à la demande maximale).
- Configurez l'arrêt du dernier moteur démarré ou du premier moteur démarré (premier-marche-dernier-arrêt ou dernier-marche-dernier-arrêt).
- Configurez le délai entre les démarrages et le délai entre les arrêts.
- Utilisez les commandes de démarrage et d'arrêt pour démarrer ou arrêter les moteurs formant un groupe. Le délai entre les démarrages ou les arrêts peut être configuré pour des séquences des moteurs.
- Démarrez ou arrêtez les moteurs selon les besoins pour répondre à la demande saisie.
- Identifiez (et éventuellement signalez) lorsqu'il n'existe pas suffisamment de moteurs disponibles pour le démarrage (en mode Programme et prêts pour l'exécution) pour répondre à la demande donnée.
- Identifiez (éventuellement une alarme) lorsqu'il n'existe pas suffisamment de moteurs disponibles pour l'arrêt (en mode Programme et prêts pour l'arrêt) pour répondre à la demande donnée.
- Capacité à faire pivoter la liste des moteurs (rétrograder le principal, promouvoir les autres).
- Surveillez les conditions d'autorisation pour permettre le démarrage du groupe de moteurs.
- Surveillez les conditions de verrouillage pour arrêter ou empêcher le démarrage du groupe de moteurs.
- Déclenchez l'alarme si les conditions de verrouillage provoquent l'arrêt du groupe.
- Utilisez le fil d'Ariane de HMI pour Alarme bloquée, Mauvaise configuration, Pas prêt et Contournement de maintenance activé.
- Utilisez l'état Disponible dans la logique d'automatisation pour déterminer si le groupe de moteurs peut être contrôlé par d'autres objets.
Langues disponibles
Diagramme à relais

Diagramme de bloc fonctionnel

Texte structuré
PLLS (PLLS tag, Ref_Motors tag, BusObj 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
Ce tableau décrit les opérandes de configuration PLLS.
Opérande | Type | Format | Description |
|---|---|---|---|
PlantPAx Control | P_LEAD_LAG_STANDBY | balise | Structure des données requise pour obtenir une bonne exécution de l'instruction. |
Ref_Motors | P_LEAD_LAG_STANDBY_MOTOR | balise | Tableau d'interface des moteurs. |
BusObj | BUS_OBJ | balise | Composant du bus. |
Structure P_LEAD_LAG_STANDBY
Utilisez les paramètres InOut pour relier l'instruction aux balises externes qui contiennent les données nécessaires pour le fonctionnement de l'instruction. Ces balises externes doivent être du type de données affiché.
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 privés sont répertoriés dans des tableaux distincts après les membres publics.
Membres d'entrée publique | Type de données | Visibilité par défaut FBD | Câblage FBD requis | Utilisation | Description |
|---|---|---|---|---|---|
EnableIn | BOOL | Non visible | Non obligatoire | Entrée | Activez l'entrée. Diagramme à relais. Correspond à rung-condition-in. La valeur par défaut est définie sur vrai. |
Inp_InitializeReq | BOOL | Non visible | Non obligatoire | Entrée | 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_OwnerCmd | DINT | Non visible | Non obligatoire | Entrée | Commande de dispositif Propriétaire. 0 = Aucun, Inp_OwnerCmd.10 = Verrouillage Opérateur, Inp_OwnerCmd.11 = Déverrouillage Opérateur, Inp_OwnerCmd.12 = Verrouillage Program, Inp_OwnerCmd.13 = Déverrouillage Programme, Inp_OwnerCmd.14 = Acquérir Maintenance, Inp_OwnerCmd,15 = Libérer Maintenance, Inp_OwnerCmd.16 = Acquérir Externe, Inp_OwnerCmd.17 = Libérer Externe. La valeur par défaut est 0. |
Inp_PermOK | BOOL | Visible | Non obligatoire | Entrée | 1 = Autorisations de démarrage OK, le groupe peut démarrer. La valeur par défaut est définie sur vrai. |
Inp_NBPermOK | BOOL | Visible | Non obligatoire | Entrée | 1 = Autorisations de démarrage non contournables OK, le groupe peut démarrer. La valeur par défaut est définie sur vrai. |
Inp_IntlkOK | BOOL | Visible | Non obligatoire | Entrée | 1 = Verrouillages OK, le groupe peut démarrer/s'exécuter. La valeur par défaut est définie sur vrai. |
Inp_NBIntlkOK | BOOL | Visible | Non obligatoire | Entrée | 1 = Verrouillages non contournables OK, le groupe peut démarrer/s'exécuter. La valeur par défaut est définie sur vrai. |
Inp_IntlkAvailable | BOOL | Visible | Non obligatoire | Entrée | 1 = Disponibilité du verrouillage OK. La valeur par défaut est fausse. |
Inp_IntlkTripInh | BOOL | Visible | Non obligatoire | Entrée | 1 = Bloquer l'état du déclenchement du verrouillage. La valeur par défaut est fausse. |
Inp_RdyReset | BOOL | Visible | Non obligatoire | Entrée | 1 = Objet associé, réinitialisé par cet objet, prêt pour la réinitialisation. La valeur par défaut est fausse. |
Inp_Hand | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Inp_Ovrd | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Inp_OvrdDemand | DINT | Visible | Non obligatoire | Entrée | Paramétrage du mode Asservissement pour le nombre de moteurs à exécuter (MinDemand. MaxDemand). La valeur par défaut est 0. |
Inp_OvrdCmd | DINT | Visible | Non obligatoire | Entrée | Commande du mode Asservissement : 0 = Aucun, 1 = Groupe d'arrêt, 2 = Groupe de démarrage, 3 = Faire pivoter les affectations. La valeur par défaut est 0. |
Inp_ExtInh | BOOL | Visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Inp_Reset | BOOL | Non visible | Non obligatoire | Entrée | 1 = Réinitialiser toutes les conditions de défaut et les alarmes verrouillées. La valeur par défaut est fausse. |
Cfg_AllowDisable | BOOL | Non visible | Non obligatoire | Entrée | 1 = Permettre à la Maintenance de désactiver les alarmes. La valeur par défaut est définie sur vrai. |
Cfg_AllowShelve | BOOL | Non visible | Non obligatoire | Entrée | 1 = Permettre à l'opérateur de désactiver les alarmes. La valeur par défaut est définie sur vrai. |
Cfg_NumMotors | DINT | Non visible | Non obligatoire | Entrée | Nombre de moteurs dans ce groupe Avance/Retard/En attente. Valide = de 2 à 30. La valeur par défaut est 3. |
Cfg_MaxDemand | DINT | Non visible | Non obligatoire | Entrée | Nombre maximal de moteurs à exécuter. Valide = de 1 à Cfg_NumMotors. La valeur par défaut est 2. |
Cfg_MinDemand | DINT | Non visible | Non obligatoire | Entrée | Nombre minimal de moteurs à exécuter. Valide = de 0 à Cfg_MaxDemand. La valeur par défaut est 0. |
Cfg_StartDly | REAL | Non visible | Non obligatoire | Entrée | La durée (en secondes) après le démarrage ou l'arrêt jusqu'à ce que le prochain démarrage soit autorisé (0,2 M secondes). Valide = de 0,0 à 2147483,0. La valeur par défaut est 10,0. |
Cfg_StopDly | REAL | Non visible | Non obligatoire | Entrée | La durée (en secondes) après le démarrage ou l'arrêt jusqu'à ce que le prochain arrêt soit autorisé (0,2 M secondes). Valide = de 0,0 à 2147483,0. La valeur par défaut est 10,0. |
Cfg_FirstOnFirstOff | BOOL | Non visible | Non obligatoire | Entrée | 1 = Le premier démarré est le premier arrêté, 0 = le premier démarré est le dernier arrêté. La valeur par défaut est fausse. |
Cfg_AllowRotate | BOOL | Non visible | Non obligatoire | Entrée | 1 = Autoriser la commande de rotation (avance du cycle) à faire pivoter les affectations du moteur. La valeur par défaut est définie sur vrai. |
Cfg_RotateOnStop | BOOL | Non visible | Non obligatoire | Entrée | 1 = Faire pivoter (avance du cycle à la fin de la liste) lors de l'arrêt de tous les moteurs. La valeur par défaut est définie sur vrai. |
Cfg_HasPermObj | BOOL | Non visible | Non obligatoire | Entrée | 1 = Indique à HMI qu'un objet est connecté aux entrées d'autorisation. La valeur par défaut est fausse. |
Cfg_HasIntlkObj | BOOL | Non visible | Non obligatoire | Entrée | 1 = Indique à HMI qu'un objet est connecté aux entrées de verrouillage. La valeur par défaut est fausse. |
Cfg_HasMoreObj | BOOL | Non visible | Non obligatoire | Entrée | 1 = Indique à HMI qu'un objet contenant plus d'informations est disponible. La valeur par défaut est fausse. |
Cfg_HasNav01 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 1. La valeur par défaut est fausse. |
Cfg_HasNav02 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 2. La valeur par défaut est fausse. |
Cfg_HasNav03 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 3. La valeur par défaut est fausse. |
Cfg_HasNav04 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 4. La valeur par défaut est fausse. |
Cfg_HasNav05 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 5. La valeur par défaut est fausse. |
Cfg_HasNav06 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 6. La valeur par défaut est fausse. |
Cfg_HasNav07 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 7. La valeur par défaut est fausse. |
Cfg_HasNav08 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 8. La valeur par défaut est fausse. |
Cfg_HasNav09 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 9. La valeur par défaut est fausse. |
Cfg_HasNav10 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 10. La valeur par défaut est fausse. |
Cfg_HasNav11 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 11. La valeur par défaut est fausse. |
Cfg_HasNav12 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 12. La valeur par défaut est fausse. |
Cfg_HasNav13 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 13. La valeur par défaut est fausse. |
Cfg_HasNav14 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 14. La valeur par défaut est fausse. |
Cfg_HasNav15 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 15. La valeur par défaut est fausse. |
Cfg_HasNav16 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 16. La valeur par défaut est fausse. |
Cfg_HasNav17 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 17. La valeur par défaut est fausse. |
Cfg_HasNav18 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 18. La valeur par défaut est fausse. |
Cfg_HasNav19 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 19. La valeur par défaut est fausse. |
Cfg_HasNav20 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 20. La valeur par défaut est fausse. |
Cfg_HasNav21 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 21. La valeur par défaut est fausse. |
Cfg_HasNav22 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 22. La valeur par défaut est fausse. |
Cfg_HasNav23 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 23. La valeur par défaut est fausse. |
Cfg_HasNav24 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 24. La valeur par défaut est fausse. |
Cfg_HasNav25 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 25. La valeur par défaut est fausse. |
Cfg_HasNav26 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 26. La valeur par défaut est fausse. |
Cfg_HasNav27 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 27. La valeur par défaut est fausse. |
Cfg_HasNav28 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 28. La valeur par défaut est fausse. |
Cfg_HasNav29 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 29. La valeur par défaut est fausse. |
Cfg_HasNav30 | BOOL | Non visible | Non obligatoire | Entrée | 1 = activer un bouton sur le HMI qui est utilisé pour appeler la façade pour le moteur n° 30. La valeur par défaut est fausse. |
Cfg_SetTrack | BOOL | Non visible | Non obligatoire | Entrée | 1 = Lorsque le propriétaire est Programme, les paramètres Opérateur suivent les paramètres Programme. Lorsque le propriétaire est Opérateur, les paramètres Programme suivent les paramètres Opérateur et les entrées virtuelles correspondent aux valeurs de sortie (transitions sans à-coup), 0 = Pas de suivi. La valeur par défaut est fausse. |
Cfg_SetTrackOvrdHand | BOOL | Non visible | Non obligatoire | Entrée | 1 = Les paramètres Programme/Opérateur suivent la référence de la vitesse Asservissement/Portable. La valeur par défaut est fausse. |
Cfg_OperStopPrio | BOOL | Non visible | Non obligatoire | Entrée | 1 = OCmd_Stop tout le temps, 0 = OCmd_Stop seulement lorsque Opérateur est sélectionné. La valeur par défaut est fausse. |
Cfg_ExtStopPrio | BOOL | Non visible | Non obligatoire | Entrée | 1 = XCmd_Stop tout le temps, 0 = XCmd_Stop seulement lorsque Externe est sélectionné. La valeur par défaut est fausse. |
Cfg_OCmdResets | BOOL | Non visible | Non obligatoire | Entrée | 1 = Le nouveau groupe OCmd réinitialise les verrouillages et les alarmes effacées, 0 = OCmdReset requis. La valeur par défaut est fausse. |
Cfg_XCmdResets | BOOL | Non visible | Non obligatoire | Entrée | 1 = Le nouveau groupe XCmd réinitialise les verrouillages et les alarmes effacées, 0 = OCmdReset requis. La valeur par défaut est fausse. |
Cfg_OvrdPermIntlk | BOOL | Non visible | Non obligatoire | Entrée | 1 = Asservissement ignore les autorisations/verrouillages contournables, 0 = Toujours utiliser les autorisations/verrouillages. La valeur par défaut est fausse. |
Cfg_CnfrmReqd | SINT | Non visible | Non obligatoire | Entrée | 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. |
PSet_Demand | DINT | Non visible | Non obligatoire | Entrée | Paramètre Programme pour le nombre de moteurs à exécuter (MinDemand... MaxDemand). La valeur par défaut est 0. |
PSet_Owner | DINT | Non visible | Non obligatoire | Entrée | ID de requête propriétaire du programme (différent de zéro) ou sans propriétaire (zéro). La valeur par défaut est 0. |
XSet_Demand | DINT | Non visible | Non obligatoire | Entrée | Paramètre Externe pour le nombre de moteurs à exécuter (MinDemand... MaxDemand). La valeur par défaut est 0. |
PCmd_Start | BOOL | Non visible | Non obligatoire | Entrée | Commande Programme pour démarrer le groupe de moteurs. La valeur par défaut est fausse. |
PCmd_Stop | BOOL | Non visible | Non obligatoire | Entrée | Commande Programme pour arrêter le groupe de moteurs. La valeur par défaut est fausse. |
PCmd_Rotate | BOOL | Non visible | Non obligatoire | Entrée | Commande Programme pour faire pivoter les affectations (début du cycle à fin de la liste). La valeur par défaut est fausse. |
PCmd_Prog | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
PCmd_Oper | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
PCmd_Lock | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
PCmd_Unlock | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
PCmd_Normal | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
PCmd_Reset | BOOL | Non visible | Non obligatoire | Entrée | Commande Programme pour réinitialiser toutes les alarmes nécessitant une réinitialisation. La valeur par défaut est fausse. |
XCmd_Start | BOOL | Non visible | Non obligatoire | Entrée | Commande Externe pour démarrer le groupe de moteurs. La valeur par défaut est fausse. |
XCmd_Stop | BOOL | Non visible | Non obligatoire | Entrée | Commande Externe pour arrêter le groupe de moteurs. La valeur par défaut est fausse. |
XCmd_Rotate | BOOL | Non visible | Non obligatoire | Entrée | Commande Externe pour faire pivoter les affectations (début du cycle à fin de la liste). La valeur par défaut est fausse. |
XCmd_Reset | BOOL | Non visible | Non obligatoire | Entrée | Commande Externe pour réinitialiser toutes les alarmes nécessitant une réinitialisation. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
XCmd_ResetAckAll | BOOL | Non visible | Non obligatoire | Entrée | 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. |
Cfg_HasOper | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est définie sur vrai. |
Cfg_HasOperLocked | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est définie sur vrai. |
Cfg_HasProg | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est définie sur vrai. |
Cfg_HasProgLocked | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est définie sur vrai. |
Cfg_HasExt | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Cfg_HasMaint | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est définie sur vrai. |
Cfg_HasMaintOoS | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est définie sur vrai. |
Cfg_OvrdOverLock | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est définie sur vrai. |
Cfg_ExtOverLock | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Cfg_ProgPwrUp | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Cfg_ProgNormal | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Cfg_PCmdPriority | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Cfg_PCmdProgAsLevel | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Cfg_PCmdLockAsLevel | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Cfg_ExtAcqAsLevel | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
XCmd_Acq | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
XCmd_Rel | BOOL | Non visible | Non obligatoire | Entrée | Sélection de la source de contrôle/de commande. La valeur par défaut est fausse. |
Membres de sortie publique | Type de données | Visibilité par défaut FBD | Câblage FBD requis | Utilisation | Description |
|---|---|---|---|---|---|
EnableOut | BOOL | Non visible | Non obligatoire | Sortie | Activer la sortie. Cet état de sortie reflète toujours l'état de l'entrée EnableIn. |
Val_Demand | DINT | Visible | Non obligatoire | Sortie | Nombre de moteurs dont l'exécution est requise. |
Val_RotateRank | DINT | Non visible | Non obligatoire | Sortie | Le rang du moteur (0 = Avance, etc.) qui sera rétrogradé lors de la rotation. |
Val_RotateID | DINT | Non visible | Non obligatoire | Sortie | Numéro du moteur qui sera rétrogradé lors de la rotation. |
Sts_eCmd | SINT | Non visible | Non obligatoire | Sortie | Commande du groupe 0 = Aucun, 1 = Arrêter, 2 = Démarrer. |
Sts_Fdbk | SINT | Non visible | Non obligatoire | Sortie | Retour du groupe 0...31 = Nombre de moteurs qui fonctionnent. |
Sts_eSts | INT | Non visible | Non obligatoire | Sortie | État du groupe confirmé : 0 = ?, 1 = Arrêté, 2 = En cours d'exécution, 3 = En cours d'arrêt, 4 = Décroissant, 5 = Croissant. |
Sts_eFault | INT | Non visible | Non obligatoire | Sortie | État de défaut du groupe : 0 = Aucun, 1 = Erreur de configuration, 12 = Échec du démarrage, 13 = Échec de l'arrêt. |
Sts_eNotifyAll | SINT | Non visible | Non obligatoire | Sortie | Priorité d'alarme la plus élevée et état de confirmation de cet objet + moteurs (énumération). |
Sts_Initialized | BOOL | Non visible | Non obligatoire | Sortie | 1 = L'instruction est initialisée. Utilisez Inp_InitializeReq pour réinitialiser. |
Sts_Stopped | BOOL | Visible | Non obligatoire | Sortie | 1 = Le groupe de moteurs a demandé à s'arrêter et tous les moteurs ont confirmé l'arrêt. |
Sts_Running | BOOL | Visible | Non obligatoire | Sortie | 1 = Le groupe de moteurs a demandé à fonctionner. |
Sts_Stopping | BOOL | Visible | Non obligatoire | Sortie | 1 = Le groupe de moteurs a demandé à s'arrêter et tous les moteurs n'ont pas confirmé leur arrêt. |
Sts_Incr | BOOL | Visible | Non obligatoire | Sortie | 1 = Le groupe démarre les moteurs en séquence pour répondre à la demande. |
Sts_Decr | BOOL | Visible | Non obligatoire | Sortie | 1 = Le groupe arrête les moteurs en séquence pour répondre à la demande. |
Sts_Available | BOOL | Non visible | Non obligatoire | Sortie | 1 = Groupe disponible pour le contrôle par automatisation (programme). |
Sts_IntlkAvailable | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le variateur peut être acquis par le programme et est disponible pour le démarrage et l'arrêt du contrôle lorsque les verrouillages sont OK. |
Sts_Bypass | BOOL | Non visible | Non obligatoire | Sortie | 1 = Les verrouillages et les autorisations contournables sont contournés. |
Sts_BypActive | BOOL | Non visible | Non obligatoire | Sortie | 1 = Contournement des verrouillages actif (contourné ou maintenance). |
Sts_NotRdy | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le groupe n'est pas prêt, pour HMI utiliser des bits de détails masqués (Sts_Nrdyxxx) pour connaître la raison. |
Sts_NrdyCfgErr | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le groupe n'est pas prêt : Erreur de configuration. |
Sts_NrdyIntlk | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le groupe n'est pas prêt : Verrouillage pas OK. |
Sts_NrdyOoS | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le groupe n'est pas prêt : Le groupe est hors service. |
Sts_NrdyPrioStop | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le groupe n'est pas prêt : La commande d'arrêt de priorité Opérateur ou Externe nécessite une réinitialisation. |
Sts_NrdyPerm | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le groupe n'est pas prêt : Autorisation pas OK. |
Sts_MaintByp | BOOL | Non visible | Non obligatoire | Sortie | 1 = Une fonction de contournement de maintenance est active. |
Sts_Alm | BOOL | Non visible | Non obligatoire | Sortie | 1 = Une alarme est active. |
Sts_AlmInh | BOOL | Non visible | Non obligatoire | Sortie | 1 = Une ou plusieurs alarmes sont mises en attente, désactivées ou supprimées. |
Sts_Err | BOOL | Visible | Non obligatoire | Sortie | 1 = Erreur de configuration : Voir bits de détails (Sts_Errxxx) pour connaître la raison. |
Sts_ErrStartDly | BOOL | Non visible | Non obligatoire | Sortie | 1 = Erreur de configuration : Présélection de l'horloge (utilisez une valeur comprise entre 0,0 à 2147483,0). |
Sts_ErrStopDly | BOOL | Non visible | Non obligatoire | Sortie | 1 = Erreur de configuration : arrêter la vérification de la présélection d'horloge (utilisez une valeur comprise entre 0,0 à 2147483,0). |
Sts_ErrAlm | BOOL | Non visible | Non obligatoire | Sortie | 1 = Erreur de configuration : temps ou gravité de l'accélérateur d'alarme. |
Val_Owner | DINT | Non visible | Non obligatoire | Sortie | ID du propriétaire de l'objet actuel (0 = non possédé). |
Sts_MotorAvailable | DINT | Non visible | Non obligatoire | Sortie | Les bits définis indiquent quels moteurs sont disponibles pour le contrôle du programme. |
Sts_MotorStopped | DINT | Non visible | Non obligatoire | Sortie | Les bits définis indiquent les moteurs dont l'arrêt est confirmé. |
Sts_MotorStarting | DINT | Non visible | Non obligatoire | Sortie | Les bits définis indiquent les moteurs en cours de démarrage. |
Sts_MotorRunning | DINT | Non visible | Non obligatoire | Sortie | Les bits définis indiquent les moteurs dont le fonctionnement est confirmé. |
Sts_MotorStopping | DINT | Non visible | Non obligatoire | Sortie | Les bits définis indiquent les moteurs dont l'arrêt est confirmé. |
Sts_Hand | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_OoS | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_Maint | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_Ovrd | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_Ext | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_Prog | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_ProgLocked | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_Oper | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_OperLocked | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_Normal | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_ExtReqInh | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_ProgReqInh | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_MAcqRcvd | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_CantStart | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le moteur n'a pas pu démarrer (impulsion). |
Sts_CantStop | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le moteur n'a pas pu s'arrêter. |
Sts_IntlkTrip | BOOL | Non visible | Non obligatoire | Sortie | 1 = Le groupe s'est arrêté par un verrouillage NON OK (une impulsion). |
Sts_RdyReset | BOOL | Non visible | Non obligatoire | Sortie | 1 = Une alarme verrouillée ou une condition de mise hors tension est prête à être réinitialisée. |
Sts_RdyAck | BOOL | Non visible | Non obligatoire | Sortie | 1 = Une alarme est prête à être confirmée. |
Sts_UnackAlmCount | DINT | Non visible | Non obligatoire | Sortie | Nombre d'alarmes non confirmées. |
Out_Reset | BOOL | Non visible | Non obligatoire | Sortie | 1 = La commande Réinitialiser a été reçue et acceptée. |
Out_OwnerSts | DINT | Non visible | Non obligatoire | Sortie | État de la source de commande, handshake de commande propriétaire et état Prêt. 0 = Aucun, .10 = Verrouillage Opérateur, .11 = Déverrouillage Opérateur, .12 = Verrouillage Programme, .13 = Déverrouillage Programme, .14 = Acquérir Maintenance, .15 = Libérer Maintenance, .16 = Acquérir Externe, .17 = Libérer Externe, .18 = Possède Maintenance, .19 = Verrouillage Asservissement externe, .20 = Possède Externe, .21 = Possède Opérateur, .22 = possède Programme, .30 = Pas prêt. |
Sts_eSrc | INT | Non visible | Non obligatoire | Sortie | Valeurs énumérées de la source de commande actuelle : 0 = Logique non utilisée, 4 = Portable, 8 = Maintenance, 16 = Asservissement, 32 = Programme, 33 = Programme verrouillé, 34 = Programme par défaut (normal), 64 = Opérateur, 65 = Opérateur verrouillé, 66 = Opérateur par défaut (Normal), 128 = Maintenance hors service, 129 = Programmé hors service (échelon faux), 256 = Externe. |
Sts_bSrc | INT | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_ProgOperSel | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
Sts_ProgOperLock | BOOL | Visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
XRdy_Acq | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
XRdy_Rel | BOOL | Non visible | Non obligatoire | Sortie | Sélection de la source de contrôle/de commande. |
XRdy_Reset | BOOL | Non visible | Non obligatoire | Sortie | 1 = Prêt pour XCmd_Reset, activez le bouton HMI. |
XRdy_ResetAckAll | BOOL | Non visible | Non obligatoire | Sortie | 1 = Prêt pour XCmd_ResetAckAll, activez le bouton HMI. |
XRdy_Stop | BOOL | Non visible | Non obligatoire | Sortie | 1 = Prêt pour XCmd_Stop, activez le bouton HMI. |
XRdy_Start | BOOL | Non visible | Non obligatoire | Sortie | 1 = Prêt pour XCmd_Start, activez le bouton HMI. |
XRdy_Rotate | BOOL | Non visible | Non obligatoire | Sortie | 1 = Prêt pour XCmd_Rotate, activez le bouton HMI. |
Membres d'entrée privés | Type de données | Description |
|---|---|---|
CmdSrc | P_COMMAND_SOURCE | Sélection de la source de contrôle ou de commande. |
MCmd_Acq | BOOL | Commande de maintenance pour acquérir la propriété (Opérateur/Programme/Externe/Asservissement vers Maintenance). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
MCmd_Bypass | BOOL | Commande de maintenance pour contourner tous les verrouillages et les autorisations contournables. La valeur par défaut est fausse. |
MCmd_Check | BOOL | Commande de maintenance pour vérifier (pas contourner) tous les verrouillages et toutes les permissions. La valeur par défaut est fausse. |
MCmd_IS | BOOL | Commande de maintenance pour sélectionner En service. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
MCmd_OoS | BOOL | Commande de maintenance pour sélectionner Hors service. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
MCmd_Rel | BOOL | Commande de maintenance pour libérer la propriété (Maintenance vers Opérateur/Programme/Externe/Asservissement). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
MSet_MotorOoS | DINT | Les bits définis indiquent quels moteurs ont été mis hors service par la maintenance. La valeur par défaut est 2#0000_0000_0000_0000_0000_0000_0000_0000. |
OCmd_CmdCncl | BOOL | Commande d'opérateur pour annuler la demande de commande. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OCmd_Lock | BOOL | Commande Opérateur de verrouillage du mode Opérateur (désactiver Programme). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OCmd_Normal | BOOL | Commande Opérateur pour sélectionner le mode normal (Opérateur ou Programme). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OCmd_Oper | BOOL | Commande Opérateur pour sélectionner Opérateur (Programme vers Opérateur). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OCmd_Prog | BOOL | Commande Opérateur pour sélectionner Programme (Opérateur vers Programme). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OCmd_Reset | BOOL | Commande Opérateur pour réinitialiser toutes les alarmes nécessitant une réinitialisation. La valeur par défaut est fausse. |
OCmd_ResetAckAll | BOOL | Commande d'opérateur pour réinitialiser toutes les alarmes et les conditions de défaut verrouillées. La valeur par défaut est fausse. |
OCmd_ResetPrefs | BOOL | Commande Opérateur pour réinitialiser toutes les préférences moteur à 0. La valeur par défaut est fausse. |
OCmd_Rotate | BOOL | Commande Opérateur pour faire pivoter les affectations (le cycle conduit à la fin de la liste). La valeur par défaut est fausse. |
OCmd_SetPrefs | BOOL | Commande Opérateur pour définir les préférences du moteur. La valeur par défaut est fausse. |
OCmd_Start | BOOL | Commande Opérateur pour démarrer le groupe de moteurs. La valeur par défaut est fausse. |
OCmd_Stop | BOOL | Commande Opérateur pour arrêter le groupe de moteurs. La valeur par défaut est fausse. |
OCmd_Unlock | BOOL | Commande Opérateur pour déverrouiller/libérer (autoriser l'acquisition par le programme) la propriété. L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
OSet_Demand | DINT | Paramétrage de l'opérateur pour le nombre de moteurs à exécuter (MinDemand.. MaxDemand). La valeur par défaut est 0. |
Membres de sortie privés | Type de données | Description |
|---|---|---|
HMI_BusObjIndex | DINT | Index d'objet de bus HMI. La valeur par défaut est 0. |
MRdy_Acq | BOOL | 1 = Prêt pour MCmd_Acq, activez le bouton HMI. |
MRdy_Bypass | BOOL | 1 = Prêt pour MCmd_Bypass (active le bouton HMI). |
MRdy_Check | BOOL | 1 = Prêt pour MCmd_Check (active le bouton HMI). |
MRdy_IS | BOOL | 1 = Prêt pour MCmd_IS, activez le bouton HMI. |
MRdy_OoS | BOOL | 1 = Prêt pour MCmd_OoS, activez le bouton HMI. |
MRdy_Rel | BOOL | 1 = Prêt pour MCmd_Rel, activez le bouton HMI. |
ORdy_Demand | BOOL | 1 = Prêt pour OSet_Demand (active l'entrée numérique). |
ORdy_Lock | BOOL | 1 = Prêt pour OCmd_Lock, activez le bouton HMI. |
ORdy_Normal | BOOL | 1 = Prêt pour OCmd_Normal, activez le bouton HMI. |
ORdy_Oper | BOOL | 1 = Prêt pour OCmd_Oper, activez le bouton HMI. |
ORdy_Prog | BOOL | 1 = Prêt pour OCmd_Prog, activez le bouton HMI. |
ORdy_Reset | BOOL | 1 = Prêt pour OCmd_Reset (active le bouton HMI). |
ORdy_ResetAckAll | BOOL | 1 = Prêt pour OCmd_ResetAckAll (active le bouton HMI). |
ORdy_Rotate | BOOL | 1 = Prêt pour OCmd_Rotate (active le bouton HMI). |
ORdy_Start | BOOL | 1 = Prêt pour OCmd_Start (active le bouton HMI). |
ORdy_Stop | BOOL | 1 = Prêt pour OCmd_Stop (active le bouton HMI). |
ORdy_Unlock | BOOL | 1 = Prêt pour OCmd_Unlock, activez le bouton HMI. |
Sts_bStsList | SINT[32] | Classement de l'état des moteurs : [0]=avance, [1]=retard, etc ; .0 = Avaiable, .1 = Arrêté, .2 = Démarrage, .3 = En cours d'exécution, .4 = Arrêt, .5 = Hors service (Maint). |
Sts_eNotify | SINT | Niveau actuel d'alarme et confirmation (énumération). |
Sts_eNotifyCantStart | SINT | Niveau actuel d'alarme et confirmation (énumération). |
Sts_eNotifyCantStop | SINT | Niveau actuel d'alarme et confirmation (énumération). |
Sts_eNotifyIntlkTrip | SINT | Niveau actuel d'alarme et confirmation (énumération). |
Val_PrefList | SINT[32] | Classement des préférences des moteurs : [0] = avance, [1] = retard, etc... |
Val_PrioList | SINT[32] | Classement des priorités des moteurs : [0] = avance, [1] = retard, etc... |
Val_RankList | SINT[32] | Classement des numéros des moteurs : [0] = avance, [1] = retard, etc... |
Val_UsrList | INT[32] | Classement des critères de tri des utilisateurs : [0] = avance, [1] = retard, etc... |
Membres InOut publics | Type de données | Visibilité par défaut FBD | Câblage FBD requis | Utilisation | Description |
|---|---|---|---|---|---|
Ref_Motors | P_LEAD_LAG_STANDBY_MOTOR[30] | Visible | Requis | InOut | Tableau de l'interface des moteurs (liez de 2 à 30 moteurs). |
BusObj | BUS_OBJ | Visible | Facultatif | InOut | Composant du bus. |
Alarmes
Des alarmes basées sur des balises discrètes sont définies pour ces membres.
Membre | Nom de l'alarme | Description |
|---|---|---|
Sts_CantStart | Alm_CantStart | Le moteur ne peut pas démarrer l'alarme. Ce défaut se produit lorsqu'il n'y a pas assez de moteurs disponibles pour le démarrage afin de satisfaire la demande saisie. Plusieurs moteurs sont défectueux ou arrêtés dans un mode autre que le programme. |
Sts_CantStop | Alm_CantStop | Le moteur ne peut pas arrêter l'alarme. Ce défaut se produit lorsqu'il n'y a pas assez de moteurs disponibles pour l'arrêt afin de satisfaire la demande saisie. Plusieurs moteurs fonctionnent dans un mode autre que le programme. |
Sts_IntlkTrip | Alm_IntlkTrip | Alarme de déclenchement de verrouillage. Ce défaut se produit lorsque le moteur tourne et qu'une condition de verrouillage pas OK provoque l'arrêt du moteur. Si les verrouillages ne sont pas contournés, une condition de verrouillage contournable ou non contournable non-OK déclenche un déclenchement de verrouillage. Si les verrouillages sont contournés, seule une condition de verrouillage non contournable non-OK initie un déclenchement de verrouillage. |
Marquez une alarme comme étant utilisée ou non utilisée et définissez les membres de configuration standard de l'alarme discrète basée sur les balises. Utilisez ce format pour accéder aux éléments de l'alarme :
Tag.@Alarms.AlarmName.AlarmElement.
Il existe des commandes de programme pour chaque alarme qui sont disponibles pour reconnaître, supprimer, annuler la suppression et déverrouiller l'alarme. Ces commandes sont propagées aux commandes correspondantes (ProgAck, ProgSuppress, ProgUnsupress, ProgUnshelve) de l'alarme basée sur des balises.
Il existe des programmes, des opérateurs et des commandes externes disponibles pour reconnaître, réinitialiser, supprimer et annuler toutes les alarmes de l'instruction (ensemble d'alarmes), en même temps.

Fonctionnement
Ce diagramme illustre les fonctionnalités de l'instruction PLLS :

Configuration de chaînes pour HMI
Configurez les chaînes pour les façades HMI (
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.- 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
- Plus d'informations
Implémentation
Un opérateur ou une autre logique détermine la demande de moteurs. L'instruction PLLS détermine les moteurs à exécuter pour répondre à la demande. Pour qul'instruction PLLS démarre et arrête les moteurs dans le groupe, ces moteurs doivent être disponibles. Un moteur est disponible lorsqu'il n'a pas de défaut et est en mode programme.
L'instruction PLLS utilise un algorithme de tri pour traiter les moteurs qui ne sont pas disponibles. Si un moteur tourne et n'est pas disponible (peut-être en mode opérateur), le moteur est forcé sur la partie supérieure du tri. Si un moteur est arrêté et n'est pas disponible (par exemple défectueux), le moteur est forcé dans la partie inférieure du tri. Les moteurs disponibles pour le démarrage et l'arrêt sont contrôlés pour répondre à la demande. Si la demande ne peut pas être satisfaite à cause de moteurs non disponibles, une alarme/un état est fourni.
L'instruction PLLS utilise un tableau de structures de type P_LEAD_LAG_STANDBY_Motor pour assurer l'interface avec les moteurs. Chaque élément de l'interface dans le tableau fournit les signaux requis entre l'instruction PLLS ainsi qu'un moteur. Les données de configuration du moteur sont également fournies dans le tableau. Ces données comprennent les valeurs de priorité et de préférence qui peuvent être utilisées pour affecter le tri des moteurs. Un indicateur de maintenance hors service qui supprime un moteur de la considération du tri est également inclus. L'interface inclut également une valeur de tri utilisateur qui peut être utilisée, par exemple pour faire avancer ou désactiver le tri des moteurs sur la base d'un temps d'exécution cumulé ou d'autres critères.
Contenu des membres du tableau P_LEAD_LAG_STANDBY_MOTOR
Ce tableau décrit les membres du tableau.
Membres | Type de données | Description |
|---|---|---|
Inp_OtherSel | DINT | Autres critères de sélection du moteur (0...255) (entrée dans PLLS). |
Inp_Demote | BOOL | Déplacez ce moteur jusqu'en bas de la liste (par exemple, lors d'un temps d'exécution élevé) (entrée dans PLLS). |
Cfg_Prio | DINT | Priorité du moteur dans la liste (0...31 -- si inutilisé, défini sur 0). |
OSet_Pref | DINT | Paramétrage par l'opérateur pour les préférences du moteur dans la liste (0 à 31), tous les autres étant égaux. |
PCmd_Start | BOOL | Commande du programme pour démarrer le moteur (sortie de PLLS). |
PCmd_Stop | BOOL | Commande du programme pour arrêter le moteur (sortie de PLLS). |
PCmd_Lock | BOOL | Commande pour acquérir et verrouiller le moteur dans le programme (sortie de PLLS). |
PCmd_Unlock | BOOL | Commande pour déverrouiller le moteur à partir du programme (sortie de PLLS). |
Sts_Available | BOOL | Le moteur est en mode programme et est prêt à fonctionner (entrée vers PLLS). |
Sts_Stopped | BOOL | Le moteur est actuellement confirmé arrêté (entrée de PLLS). |
Sts_Starting | BOOL | Le moteur est en train de démarrer (entrée de PLLS). |
Sts_Running | BOOL | Le moteur est actuellement en marche (entrée de PLLS). |
Sts_Stopping | BOOL | Le moteur est actuellement en train de s'arrêter (entrée de PLLS). |
Val_Pref | DINT | Préférences actuelles de ce moteur dans la liste (1 = Avance, 2 = Retard, ...). |
Val_Rank | DINT | Le rang actuel de ce moteur dans la liste (1 = Avance, 2 = Retard, ...) |
Cette image montre la relation entre l'instruction PLLS, Ref_Motors(interface) et l'instruction PMTR.

Ces images montrent un exemple de diagramme logique à relais permettant de transférer des commandes et l'état du moteur pour un moteur.
Le processus de transmission de chacune des commandes (PCmd_Lock, PCmd_Unlock, PCmd_Start et PCmd_Stop) est le suivant :
- Testez le bit approprié dans l'interface pour voir s'il est défini.
- Si ce bit est défini, ce bit est mis à zéro et la commande du programme correspondante sur le moteur est définie.

- Exécutez la PLLS pour sélectionner les moteurs à exécuter.

- Ensuite, la logique du moteur est exécutée. La logique du moteur utilise les commandes du programme pour contrôler le moteur physique. La logique du moteur reçoit également le retour du moteur.

- L'état (disponible, arrêté, en démarrage, en cours d'exécution et d'arrêt) est lu à partir du moteur et écrit dans l'interface.

Surveillance de l'instruction PLLS
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 | Toutes les commandes reçues avant la première scrutation sont rejetées. Le moteur est désactivé et traité comme s'il recevait une commande d'arrêt. |
Première exécution de l'instruction | Toutes les commandes reçues avant la première scrutation sont rejetées. Le moteur est désactivé et traité comme s'il recevait une commande d'arrêt. |
La condition d'entrée d'échelon est égale à faux | Traité de la même manière que si le groupe est désactivé par une commande. Les sorties du moteur sont désactivées et le groupe est affiché comme étant désactivé sur HMI. Le mode est affiché sous la forme aucun mode. Toutes les alarmes sont effacées. |
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 | Toutes les commandes reçues avant la première scrutation sont rejetées. Le moteur est désactivé et traité comme s'il recevait une commande d'arrêt. |
Première exécution de l'instruction | Toutes les commandes reçues avant la première scrutation sont rejetées. Le moteur est désactivé et traité comme s'il recevait une commande d'arrêt. |
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 | Traité de la même manière que si le groupe est désactivé par une commande. Les sorties du moteur sont désactivées et le groupe est affiché comme étant désactivé sur HMI. Le mode est affiché sous la forme aucun mode. Toutes les alarmes sont effacées. |
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. Par conséquent, si l'instruction est dans le chemin d'accès de commande activé par la logique, elle sera exécutée.
Condition/état | Action entreprise |
|---|---|
Préscrutation | Toutes les commandes reçues avant la première scrutation sont rejetées. Le moteur est désactivé et traité comme s'il recevait une commande d'arrêt. |
Première exécution de l'instruction | Toutes les commandes reçues avant la première scrutation sont rejetées. Le moteur est désactivé et traité comme s'il recevait une commande d'arrêt. |
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. |
Exemple
Cet exemple montre une instruction PLLS utilisée pour contrôler trois moteurs de procédé.
Diagramme à relais





Diagramme de bloc fonctionnel
The PLLS instruction requires four function block diagram routines to execute properly:
- PLLS_FBD_1_Motors routine
- PLLS_FBD_2_PLLS
- PLLS_FBD_3_ForwardCmds
- PLLS_FBD_4_ClearCmds

PLLS_FBD_1_Motors routine:



PLLS_FBD_2_PLLS routine:

PLLS_FBD_3_ForwardCmds routine:



PLLS_FBD_4_ClearCmds routine:



Texte structuré
/* First, execute the individual motors */
/* Execute the Motor 01 logic: get run feedback input, execute PMTR, send output to starter */
MyNG_PLLS_Motor01.Inp_1RunFdbkData := Motor01_RunFdbk;
PMTR (MyNG_PLLS_Motor01, 0, 0, 0, 0, 0);
Motor01_Starter := MyNG_PLLS_Motor01.Out_Run1Data;
/* Execute the Motor 02 logic: get run feedback input, execute PMTR, send output to starter */
MyNG_PLLS_Motor02.Inp_1RunFdbkData := Motor02_RunFdbk;
PMTR (MyNG_PLLS_Motor02, 0, 0, 0, 0, 0);
Motor02_Starter := MyNG_PLLS_Motor02.Out_Run1Data;
/* Execute the Motor 03 logic: get run feedback input, execute PMTR, send output to starter */
MyNG_PLLS_Motor03.Inp_1RunFdbkData := Motor03_RunFdbk;
PMTR (MyNG_PLLS_Motor03, 0, 0, 0, 0, 0);
Motor03_Starter := MyNG_PLLS_Motor03.Out_Run1Data;
/* Copy the Motor 01 Status to the PLLS array [0] */
MyNG_PLLS_Motors[0].Sts_Available := MyNG_PLLS_Motor01.Sts_Available;
MyNG_PLLS_Motors[0].Sts_Stopped := MyNG_PLLS_Motor01.Sts_Stopped;
MyNG_PLLS_Motors[0].Sts_Starting := MyNG_PLLS_Motor01.Sts_Starting1;
MyNG_PLLS_Motors[0].Sts_Running := MyNG_PLLS_Motor01.Sts_Running1;
MyNG_PLLS_Motors[0].Sts_Stopping := MyNG_PLLS_Motor01.Sts_Stopping;
/* Copy the Motor 02 Status to the PLLS array [1] */
MyNG_PLLS_Motors[1].Sts_Available := MyNG_PLLS_Motor02.Sts_Available;
MyNG_PLLS_Motors[1].Sts_Stopped := MyNG_PLLS_Motor02.Sts_Stopped;
MyNG_PLLS_Motors[1].Sts_Starting := MyNG_PLLS_Motor02.Sts_Starting1;
MyNG_PLLS_Motors[1].Sts_Running := MyNG_PLLS_Motor02.Sts_Running1;
MyNG_PLLS_Motors[1].Sts_Stopping := MyNG_PLLS_Motor02.Sts_Stopping;
/* Copy the Motor 03 Status to the PLLS array [2] */
MyNG_PLLS_Motors[2].Sts_Available := MyNG_PLLS_Motor03.Sts_Available;
MyNG_PLLS_Motors[2].Sts_Stopped := MyNG_PLLS_Motor03.Sts_Stopped;
MyNG_PLLS_Motors[2].Sts_Starting := MyNG_PLLS_Motor03.Sts_Starting1;
MyNG_PLLS_Motors[2].Sts_Running := MyNG_PLLS_Motor03.Sts_Running1;
MyNG_PLLS_Motors[2].Sts_Stopping := MyNG_PLLS_Motor03.Sts_Stopping;
/* Now execute the Lead / Lag / Standby instruction */
PLLS (MyNG_PLLS, MyNG_PLLS_Motors, 0);
/* Now take the commands coming out of PLLS and forward them to the PMTR instances */
/* Program commands to Motor 01: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[0].PCmd_Lock)
alors
MyNG_PLLS_Motors[0].PCmd_Lock := 0;
MyNG_PLLS_Motor01.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[0].PCmd_Unlock)
alors
MyNG_PLLS_Motors[0].PCmd_Unlock := 0;
MyNG_PLLS_Motor01.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[0].PCmd_Start)
alors
MyNG_PLLS_Motors[0].PCmd_Start := 0;
MyNG_PLLS_Motor01.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[0].PCmd_Stop)
alors
MyNG_PLLS_Motors[0].PCmd_Stop := 0;
MyNG_PLLS_Motor01.PCmd_Stop := 1;
end_if;
/* Program commands to Motor 02: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[1].PCmd_Lock)
alors
MyNG_PLLS_Motors[1].PCmd_Lock := 0;
MyNG_PLLS_Motor02.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[1].PCmd_Unlock)
alors
MyNG_PLLS_Motors[1].PCmd_Unlock := 0;
MyNG_PLLS_Motor02.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[1].PCmd_Start)
alors
MyNG_PLLS_Motors[1].PCmd_Start := 0;
MyNG_PLLS_Motor02.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[1].PCmd_Stop)
alors
MyNG_PLLS_Motors[1].PCmd_Stop := 0;
MyNG_PLLS_Motor02.PCmd_Stop := 1;
end_if;
/* Program commands to Motor 03: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[2].PCmd_Lock)
alors
MyNG_PLLS_Motors[2].PCmd_Lock := 0;
MyNG_PLLS_Motor03.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[2].PCmd_Unlock)
alors
MyNG_PLLS_Motors[2].PCmd_Unlock := 0;
MyNG_PLLS_Motor03.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[2].PCmd_Start)
alors
MyNG_PLLS_Motors[2].PCmd_Start := 0;
MyNG_PLLS_Motor03.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[2].PCmd_Stop)
alors
MyNG_PLLS_Motors[2].PCmd_Stop := 0;
MyNG_PLLS_Motor03.PCmd_Stop := 1;
end_if;
Fournir une réponse