Source de commande de procédé (Process Command Source, PCMDSRC)
Ces informations s’appliquent aux automates CompactLogix 5380P, ControlLogix 5580P et ControlLogix 5590P.
L'instruction Source de commande de procédé (Process Command Source, PCMDSRC) sélectionne la source de commande d'un dispositif.
L'instruction inclut ces sources de commande :
- Portable (Hand)
- Hors service
- Maintenance
- Asservissement
- Externe
- Programme verrouillé
- Programme
- Opérateur verrouillé
- Opérateur
Langues disponibles
Diagramme à relais

Diagramme de bloc fonctionnel

Texte structuré
PCMDSRC (PCMDSRC 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 |
|---|---|---|---|
PlantPAx Control | P_COMMAND_SOURCE | balise | Structure des données requises pour une bonne exécution de l'instruction. |
Structure P_COMMAND_SOURCE
Membres d'entrée | 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_OwnerCmd | DINT | Commande Dispositif de propriétaire : 0 = Aucun, Inp_OwnerCmd,10 = Verrouillage Opérateur, Inp_OwnerCmd,11 = Déverrouillage Opérateur, Inp_OwnerCmd,12 = Verrouillage Programme, 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, Inp_OwnerCmd,29 = Écho. La valeur par défaut est 0. |
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 si vous avez besoin d'une réinitialisation. L'instruction efface automatiquement cet opérande. La valeur par défaut est définie sur vrai. |
Inp_Hand | BOOL | 1 = Acquérir Portable (généralement défini de façon permanente sur local), 0 = Libérer Portable. La valeur par défaut est fausse. |
Inp_Ovrd | BOOL | 1 = Acquérir Asservissement (logique de programme de priorité supérieure) 0 = Libérer Asservissement. La valeur par défaut est fausse. |
Inp_ExtInh | BOOL | 1 = Bloquer acquisition Externe, 0 = Autoriser acquisition Externe. La valeur par défaut est définie sur vrai. |
Cfg_HasOper | BOOL | 1 = Opérateur (déverrouillé) existant, peut être sélectionné. La valeur par défaut est définie sur vrai. |
Cfg_HasOperLocked | BOOL | 1 = Opérateur verrouillé existant, peut être sélectionné. La valeur par défaut est définie sur vrai. |
Cfg_HasProg | BOOL | 1 = Programme (déverrouillé) existant, peut être sélectionné. La valeur par défaut est définie sur vrai. |
Cfg_HasProgLocked | BOOL | 1 = Programme verrouillé existant, peut être sélectionné. La valeur par défaut est définie sur vrai. |
Cfg_HasExt | BOOL | 1 = Externe existant, peut être sélectionné. La valeur par défaut est fausse. |
Cfg_HasMaint | BOOL | 1 = Maintenance existante, peut être sélectionnée. La valeur par défaut est définie sur vrai. |
Cfg_HasMaintOoS | BOOL | 1 = Maintenance hors service existante, peut être sélectionnée. La valeur par défaut est définie sur vrai. |
Cfg_OvrdOverLock | BOOL | 1 = Asservissement remplace Programme/Opérateur, 0 = Ne pas asservir le verrouillage. La valeur par défaut est définie sur vrai. |
Cfg_ExtOverLock | BOOL | 1 = Externe annule le verrouillage Programme/Opérateur, 0 = Ne pas asservir le verrouillage. La valeur par défaut est fausse. |
Cfg_ProgPwrUp | BOOL | 1 = Mise sous tension à Programme, 0 = Mise sous tension à Opérateur. La valeur par défaut est fausse. |
Cfg_ProgNormal | BOOL | Source normale : 1 = Programme si aucune demande, 0 = Opérateur si aucune demande. La valeur par défaut est fausse. |
Cfg_PCmdPriority | BOOL | Priorité de la commande. 1 = Les commandes Programme l’emportent, 0 = Les commandes Opérateur l’emportent. La valeur par défaut est fausse. |
Cfg_PCmdProgAsLevel | BOOL | 1 = PCmd_Prog utilisé en tant que niveau. La valeur par défaut est fausse. |
Cfg_PCmdLockAsLevel | BOOL | 1 = PCmd_Lock utilisé comme niveau (1=Verrouiller, 0=Déverrouiller). La valeur par défaut est fausse. |
Cfg_ExtAcqAsLevel | BOOL | 1 = XCmd_Acq utilisé en tant que niveau (1 = Acquérir, 0 = Libérer). La valeur par défaut est fausse. |
PCmd_Oper | BOOL | Commande Programme pour sélectionner l’opérateur (Programme vers Opérateur). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
PCmd_Prog | BOOL | Commande Programme pour sélectionner le programme (Opérateur vers Programme). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
PCmd_Lock | BOOL | Commande Programme pour verrouiller le programme (interdire Opérateur). L'instruction met automatiquement à zéro ce paramètre si Cfg_PCmdLockAsLevel = 0. La valeur par défaut est fausse. |
PCmd_Unlock | BOOL | Commande Programme pour déverrouiller le programme (autoriser l'acquisition par l'opérateur). L'instruction efface automatiquement cet opérande. La valeur par défaut est fausse. |
PCmd_Normal | BOOL | Commande Programme pour sélectionner Normal (Opérateur ou Programme). 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_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_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_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. |
XCmd_Acq | BOOL | Commande Externe pour acquérir la propriété (Opérateur/Programme/Asservissement/Maintenance vers Externe). L’instruction efface cet opérande automatiquement si Cfg_ExtAcqAsLevel = 0. La valeur par défaut est fausse. |
XCmd_Rel | BOOL | Commande Externe pour libérer la propriété si Cfg_ExtAcqAsLevel = 0 (Externe vers Opérateur/Programme/Asservissement/Maintenance). 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_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_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. |
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. |
Membres de sortie | Type de données | Description |
|---|---|---|
EnableOut | BOOL | Activer la sortie. Cet état de sortie reflète toujours l'état de l'entrée EnableIn. |
Sts_Initialized | BOOL | 1 = L'instruction est initialisée. Utilisez Inp_InitializeReq pour réinitialiser. |
Sts_eSrc | INT | La source de commande actuelle s'affiche avec les bits d'état : Sts_eSrc.0 : Verrouiller, Sts_eSrc.1 : Normal, Sts_eSrc.2 : Portable, Sts_eSrc.3 : Maintenance, Sts_eSrc.4 : Asservissement, Sts_eSrc.5 : Programme, Sts_eSrc.6 : Opérateur, Sts_eSrc.7 : Hors service, Sts_eSrc.8 : Externe. |
Sts_bSrc | INT | Mappage de bits de sélection active (pour un pôle totem HMI avec sélection de la demande de source de commande) Sts_bSrc.0 : Portable, Sts_bSrc.1 : Programmé hors service (échelon faux), Sts_bSrc.2 : Maintenance hors service, Sts_bSrc.3 : Maintenance, Sts_bSrc.4 : Asservissement, Sts_bSrc.5 : Externe, Sts_bSrc.6 : Programme verrouillé, Sts_bSrc.7 : Programme, Sts_bSrc.8 : Opérateur verrouillé, Sts_bSrc.9 : Opérateur. |
Sts_Hand | BOOL | 1 = Portable est sélectionné (remplace Hors service, Maintenance, Asservissement, Externe, Programme, Opérateur). |
Sts_OoS | BOOL | 1 = Hors service est sélectionné (remplace Maintenance, Asservissement, Externe, Programme, Opérateur). |
Sts_Maint | BOOL | 1 = Maintenance est sélectionné (remplace Asservissement, Externe, Programme, Opérateur). |
Sts_Ovrd | BOOL | 1 = Asservissement est sélectionné (remplace Externe, Programme, Opérateur). |
Sts_Ext | BOOL | 1 = Externe est sélectionné (remplace Programme, Opérateur). |
Sts_Prog | BOOL | 1 = Programme est sélectionné. |
Sts_ProgLocked | BOOL | 1 = Programme est sélectionné et verrouillé. |
Sts_Oper | BOOL | 1 = Opérateur est sélectionné. |
Sts_OperLocked | BOOL | 1 = Opérateur est sélectionné et verrouillé. |
Sts_ProgOperSel | BOOL | État (verrouillé) de la sélection Programme/Opérateur : 1 = Programme, 0 =Opérateur. |
Sts_ProgOperLock | BOOL | État de verrouillage Programme/Opérateur, 1 = Verrouillé et 0 = Déverrouillé. |
Sts_Normal | BOOL | 1 = La sélection est égale à l’état normal (Programme ou Opérateur). |
Sts_ExtReqInh | BOOL | 1 = Demande pour Externe bloquée, impossible d’accéder à Externe depuis l’état actuel. |
Sts_ProgReqInh | BOOL | 1 = Demande pour Programme bloquée, impossible de passer à Programme dans l’état actuel. |
Sts_MAcqRcvd | BOOL | 1 = La commande Acquérir maintenance a reçu cette scrutation. |
MRdy_OoS | BOOL | 1 = Prêt pour MCmd_OoS, activez le bouton HMI. |
MRdy_IS | BOOL | 1 = Prêt pour MCmd_IS, activez le bouton HMI. |
MRdy_Acq | BOOL | 1 = Prêt pour MCmd_Acq, activez le bouton HMI. |
MRdy_Rel | BOOL | 1 = Prêt pour MCmd_Rel, activez le bouton HMI. |
XRdy_Acq | BOOL | 1 = Prêt pour XCmd_Acq pour activer le bouton HMI. |
XRdy_Rel | BOOL | 1 = Prêt pour XCmd_Rel pour activer 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_Lock | BOOL | 1 = Prêt pour OCmd_Lock, activez le bouton HMI. |
ORdy_Unlock | BOOL | 1 = Prêt pour OCmd_Unlock, activez le bouton HMI. |
ORdy_Normal | BOOL | 1 = Prêt pour OCmd_Normal, activez le bouton HMI. |
Out_OwnerSts | DINT | É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 Opérateur verrouillé, .23 = possède Programme, .24 = Possède Programme verrouillé, .29 = Écho, .30 = Pas prêt |
Fonctionnement
L’instruction utilise ces sources de commande. Les sources de commande sont classées par ordre de priorité, de la plus élevée à la plus basse, dans ce tableau.
Source de commande | Description |
|---|---|
Portable (Hand) | La logique câblée ou toute autre logique externe à l’instruction contrôle le dispositif. Cette instruction suit l’état du dispositif pour un retour sans à-coup à l’une des autres sources de commande. (Source de commande de priorité la plus élevée) |
Hors service | L’instruction est désactivée et n’a pas de propriétaire. |
Maintenance | Maintenance contrôle l’appareil et remplace les contrôles Opérateur, Programme, Externe et Asservissement. Les commandes et paramètres d’opérateur sont acceptées pour HMI. |
Asservissement | La logique de priorité contrôle le dispositif et remplace les contrôles Opérateur, Programme et Externe. L’entrée Asservissement (Inp_Ovrd) est acceptée. |
Externe | La logique Externe (p. ex. le contrôle du pilote de terrain ou l’instruction SCADA en amont) contrôle le dispositif. Les commandes Externe (XCmd_) sont acceptées. |
Programme verrouillé | La logique Programme contrôle le dispositif. Les commandes Programme (PCmd_) sont acceptées. Opérateur ne peut pas prendre le contrôle depuis Programme. Asservissement ne peut pas prendre le contrôle depuis Programme sauf si Cfg_OvrdOverLock = 1. |
Programme | La logique Programme contrôle le dispositif. Les commandes Programme (PCmd_) sont acceptées. |
Opérateur verrouillé | Opérateur contrôle le dispositif. Les commandes Opérateur (OCmd_) pour HMI sont acceptées. Programme ne peut pas prendre le contrôle de l’opérateur. Asservissement ne peut pas prendre le contrôle d’Opérateur sauf si Cfg_OvrdOverLock = 1. |
Opérateur | Opérateur contrôle le dispositif. Les commandes Opérateur (OCmd_) pour HMI sont acceptées. (source de commande de priorité la plus basse) |
L’instruction active ou désactiveles opérations suivantes :
- Maintenance hors-service existe
- Maintenance existe
- Externe existe
- Programme (déverrouillé) existe
- Programme verrouillé existe
- Opérateur (déverrouillé) existe
- Opérateur verrouillé existe
- PCmd_Lock utilisé comme niveau (1 = Verrouiller, 0 = Déverrouiller)
L’instruction vérifie si les configurations de contrôle ne sont pas valides et force la configuration valide la plus proche.
Le modèle de contrôle principal définit la source des commandes et des paramètres acceptées par la fonction de réception. Le modèle de contrôle principal détermine si la source est :
- Une entité de programmation qui réside entièrement dans l’environnement de traitement ou
- Une interface externe qui émet des commandes et des paramètres externes et de manière asynchrone avec l’environnement de traitement.
Verrouiller une source de commande empêche l'autre source de commande d'acquérir des privilèges.
Modèle de source de commande principale
Le modèle de contrôle principal se compose de ces sources de commande :
- Oper
- OperLocked
- Prog
- ProgLocked
Le modèle de contrôle est configuré par défaut sur cette configuration. D'autres sources de commande peuvent être présentes dans le modèle mais agir comme des sources de commande, agissant indépendamment de la machine par état Opérateur/Programme de base.
Activation de sources de commande en tant que configuration
L'utilisateur peut activer ou désactiver chaque source de commande. La configuration par défaut utilise l'intégralité du modèle de base ; lors de la mise sous tension de l'environnement de traitement, la source de commande sera désignée par défaut. Certaines combinaisons de sources de commande activées sont non valides, car elles sont inutiles ou peuvent créer des modifications imprévues.
Mise sous tension en mode Programme
La configuration permet à l'utilisateur de spécifier si Opérateur ou Programme est la valeur par défaut de la mise sous tension.
Priorité au mode Programme
La configuration permet à l’utilisateur de spécifier si les commandes Opérateur ou Programme prennent la priorité lorsqu’elles sont exercées simultanément.
Réinitialisation automatique des commandes
Toutes les commandes sont traitées comme des commandes verrouillées par impulsion. Cela signifie que toutes les commandes sont automatiquement mises à zéro lorsque l’instruction les exécute et les traite.
Modification des états de destination
Sous certaines configurations, la source de commande de destination pour certaines commandes peut changer. Cela correspond au but de la commande. Par exemple, si Prog est désactivé, la commande OCmd_Prog est transférée vers l'état ProgLocked au lieu de l'état Prog. Cela permet de maintenir l’objectif de la commande OCmd_Prog : l’entité opérateur souhaite placer la fonction dans le contrôle du programme. Si la commande avait été supprimée, il n'y aurait eu aucun moyen d'y parvenir. Cela s’effectue uniquement dans les configurations où cela ne provoque aucun conflit ou aucune condition de concurrence, mais où cela préserve autant de fonctionnalités utilisateur que possible.
Sources de commande de priorité élevée
Ces sources de commande de priorité élevée fonctionnent indépendamment dans le modèle :
- Externe
- Asservissement
- Maintenance
- Hors service
- En service
- Portable (Hand)
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 modifiez le code en ligne, assurez-vous que Inp_InitializeReq = 1 (valeur par défaut).
Surveillance de l'instruction PCMDSRC
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. Sts_eSrc est défini sur 0. Sts_bSrc est défini sur 0. |
Première exécution de l'instruction | Toutes les commandes automatiquement effacées à chaque exécution sont effacées et ignorées. La sélection Programme/Opérateur est définie en fonction de la configuration (Cfg_ProgPwrUp). La sélection de verrouillage de Programme ou d'Opérateur est définie sur déverrouillée. L'état Maintenance acquis/relâchée n'est pas modifié et perdure lors d'une transition de la mise sous tension de l'automate ou de PROG à RUN. |
La condition d'entrée d'échelon est égale à faux | L'instruction est mise hors service si Inp_Hand=0. la sortie est désactivée. Le traitement de la sélection de la source de commande s'effectue, sauf que les commandes Programme et Opérateur sont ignorées et effacées et que tous les bits d'état de possession (Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog et Sts_Oper) sont mis à 0. Lorsque la condition d'entrée d'échelon prend la valeur vrai, la sélection Programme/Opérateur est définie en fonction de la configuration (Cfg_ProgPwrUp). |
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. Sts_eSrc est défini sur 0. Sts_bSrc est défini sur 0. |
Première exécution de l'instruction | Toutes les commandes automatiquement effacées à chaque exécution sont effacées et ignorées. La sélection Programme/Opérateur est définie en fonction de la configuration (Cfg_ProgPwrUp). La sélection de verrouillage de Programme ou d'Opérateur est définie sur déverrouillée. L'état Maintenance acquis/relâchée n'est pas modifié et perdure lors d'une transition de la mise sous tension de l'automate ou de PROG à RUN. |
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 est mise hors service si Inp_Hand=0. la sortie est désactivée. Le traitement de la sélection de la source de commande s'effectue, sauf que les commandes Programme et Opérateur sont ignorées et effacées et que tous les bits d'état de possession (Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog et Sts_Oper) sont mis à 0. Lorsque la condition d'entrée d'échelon prend la valeur vrai, la sélection Programme/Opérateur est définie en fonction de la configuration (Cfg_ProgPwrUp). |
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 | Reportez-vous à Pré-scrutation dans le tableau Diagramme à relais. |
Première exécution de l'instruction | Voir la première exécution de l’instruction dans le tableau Diagramme à relais. |
EnableIn est vrai | Reportez-vous à la condition d’entrée d’échelon est vraie dans le tableau Diagramme à relais. |
Post-scrutation | Les bits EnableIn et EnableOut sont définis sur faux. |
Fournir une réponse