Fonctionnement du module BMENOP0300 dans une application PAC
Traduction de la notice originale
Présentation
Cette rubrique décrit les opérations suivantes du module BMENOP0300 :
Opération de contrôle en tant que serveur
Le module BMENOP0300 peut fonctionner selon quatre modèles de contrôle :
Conformément à la norme IEC 61850, l'application PAC doit être programmée de façon à satisfaire les dépendances des opérations de contrôle.
Tâche 1 / état du PAC : l’opération de contrôle est autorisée uniquement si le PAC est à l'état RUN.
Elément
Etat
Fonctionnement
Procédure de configuration
Etat du PAC
STOP
La commande Oper est rejetée.
Utilisez Control Expert pour gérer l’état du PAC.
Etat du PAC
RUN
La commande Oper est opérationnelle.
Tâche 2 / Modèle de contrôle : l’opération de contrôle n’est pas autorisée si le modèle de contrôle est à l’état « status only » (état uniquement) :
Elément
Etat
Fonctionnement
Procédure de configuration
Modèle de contrôle
Status only
La commande Oper est rejetée.
Configurez le modèle de contrôle dans « Paramètres de l'application ».
Modèle de contrôle
Directe avec sécurité normale /
Sélection avant utilisation avec sécurité normale /
Directe avec sécurité renforcée /
Sélection avant utilisation avec sécurité renforcée /
La commande Oper est opérationnelle.
Tâche 3 / LN/Beh.stVal : l’opération de contrôle est autorisée selon l’état de fonctionnement du nœud logique, Cet état peut être configuré dans le PAC selon vos besoins :
Elément
Etat
Fonctionnement
Procédure de configuration
LN/Beh.stVal
OFF (5)
La commande Oper est rejetée.
Configurez l'élément dans « Paramètres de l'application » s’il n’est pas affecté dans le mappage des E/S, ou dans l’application PAC s’il est affecté dans le mappage des E/S.
LN/Beh.stVal
ON (1)
La commande Oper est opérationnelle.
Tâche 4 / le modèle Does ou SBOes fournit une opération de contrôle beaucoup plus sécurisée que le modèle normal. Le module BMENOP0300 vérifie l'état de l’objet de données (DO) dans le PAC pendant l’exécution de l'opération. Comme chaque CDC possède sa propre définition de commande de contrôle et d'état, suivez la logique de programmation recommandée (décrite ci-après) dans votre application PAC pour configurer l'état de l’objet de données :
CDC
Etat du DO
Etat attendu
SPC
stVal
stVal doit être égal à ctlVal.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
DPC
stVal
stVal est à l'état ON quand ctlVal est à l’état TRUE.
stVal est à l'état OFF quand ctlVal est à l’état FALSE.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
INC
stVal
stVal doit être égal à ctlVal et compris dans la plage de valeurs.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
ENC
stVal
stVal doit être égal à ctlVal et compris dans la plage de valeurs.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
ISC
valWTr.posVal
valWTr.posVal doit être égal à ctlVal et compris dans la plage de valeurs.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
BSC
valWTr.posVal
Si ctlVal est à l’état STOP :
     valWTr.posVal doit rester inchangé.
Si ctlVal est à l’état HIGHER :
     valWTr.posVal doit augmenter.
Si ctlVal est à l’état LOWER :
     valWTr.posVal doit diminuer.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
APC
mxVal.i / mxVal.f
mxVal.i ou mxVal.f doit être égal à ctlVal et compris dans la plage de valeurs.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
BAC
mxVal.i / mxVal.f
Si ctlVal est à l’état STOP :
     mxVal.i et mxVal.f doivent rester inchangés.
Si ctlVal est à l’état HIGHER :
     mxVal.i ou mxVal.f doivent augmenter.
Si ctlVal est à l’état LOWER :
     mxVal.i ou mxVal.f doivent diminuer.
t
L’horodatage doit être mis à jour en conséquence.
Oper.ctlNum
Le numéro de contrôle doit être incrémenté après chaque opération.
NOTE : Le module BMENOP0300 permet d'exécuter une opération sur un point défini sur la même valeur pendant plusieurs itérations consécutives. Utilisez le numéro de contrôle géré dans la logique du PAC pour déterminer si l'opération de contrôle est en cours d’exécution.
Opération de contrôle en tant que client
Le module BMENOP0300 prend en charge un bloc de données dédié, capable de déclencher une requête de bloc de rapport, de bloc GOOSE, de bloc de contrôle ou d’opération d’interrogation. SE recommande la création d’un rapport activé manuellement après le démarrage du module pour vérifier qu'il est correctement généré.
Le bloc de données de chaque commande est constitué de trois éléments : le déclencheur de la commande, les options et l'état. Le contenu et le type des options dépendent du type de commande, tandis que le déclencheur et l'état sont de même type mais ont un contenu différent :
Toutes les commandes ont une structure de données DATA_BLOCK_TEMPLATE, définie ci-dessous :
Elément
Type
Déclencheur
Définition
Cmd
BYTE
Dchg
Déclencheur de la commande : le module BMENOP0300 envoie une commande si cette valeur change.
Option
BYTE
-
Option de la requête
Option
Le type dépend du bloc de contrôle
-
Option de la requête
Etat
WORD
-
Octet de poids faible :
   Identique à la commande de déclenchement.
Octet de poids fort :
   Bit6 à bit7 :
     0 : Occupé
     1 : OK
     2 : Erreur détectée
   Bit0 à Bit5 : code d'erreur détectée. Voir le code de l’erreur pour connaître le type de fonction spécifique.
Codes des erreurs détectées relatives à Etat
Fonction
Code
Signification
Explication possible
Point de contrôle
1 à 27
AddCause
Reportez-vous aux descriptions des erreurs détectées AddCause, définies par la norme IEC 61850.
61
Déconnecté
Local avec IED distante.
63
Erreur de paramètre d'entrée détectée
Un paramètre d'entrée du bloc de données est non valide. Exemple : l'attribut d'entrée CtlVal est hors plage.
Interrogation
61
Déconnecté
Local avec IED distante.
62
Interrogation non opérationnelle
Certains objets de données ou attributs de données ne figurent pas dans l’IED distante.
L'interrogation se poursuit.
63
Erreur de paramètre d'entrée
Un paramètre d'entrée du bloc de données est non valide.
Contrôle de rapport
60
Commande AutoEna non opérationnelle
Le rapport n'a pas été activé lors du passage en mode en ligne. Ce code d'erreur dépend du paramètre de la commande AutoEna dans le bloc de contrôle de rapport.
61
Déconnecté
Local avec IED distante.
63
Erreur de paramètre d'entrée détectée
Un paramètre d'entrée du bloc de données est non valide. Exemple : l'index est hors plage.
Contrôle GOOSE
0
GOOSE désactivé
Le bloc de contrôle GOOSE est désactivé..
1
GOOSE activé
Le bloc de contrôle GOOSE est activé..
61
Déconnecté
Local avec IED distante.
Exemple 1 : REPORT_URCB affichant une structure normale :
Elément
Valeur courante
Valeur suivante
Remarque
Cmd
0
-> 1
Le changement de valeur déclenche l’opération d’une seule requête.
Option
0
1
Définit l'attribut d'activation du rapport.
Index
0
3
Désigne la troisième instance de ce rapport.
AutoEna
0
0
-
Attribut
0
1
La valeur 1 indique que le rapport est activé.
RptStatus
-
3
Numéro d'instance du rapport.
Etat
-
0x4001
Cette opération a été correctement exécutée.
Les éléments en gras et italique sont renseignés par l’application.
Exemple 2 : REPORT_URCB affichant une structure anormale :
Elément
Valeur courante
Valeur suivante
Remarque
Cmd
0
-> 5
Le changement de valeur déclenche l’opération d’une seule requête.
Option
0
1
Définit l'attribut d'activation du rapport.
Index
0
3
Désigne la troisième instance de ce rapport.
AutoEna
0
0
-
Attribut
0
1
La valeur 1 indique que le rapport est activé.
RptStatus
-
3
Numéro d'instance du rapport.
Etat
-
0xBF05=
{
0x8000 +
0x3F00 +
0x0005
}
Cette opération n’a pas été correctement exécutée.
0x8000 : erreur
0x3F00 : code d'erreur 63, paramètre d'entrée non valide (p. ex. : l’index est peut-être hors plage).
0x0005 : déclencheur de la commande
Les éléments en gras et italique sont renseignés par l’application.
Exemple 3 : {Module}_CO_BOOL affichant une structure normale :
Elément
Valeur courante
Valeur suivante
Remarque
Cmd
0
-> 2
Le changement de valeur déclenche l’opération d’une seule requête.
Vérification
0
0
Utilisation directe.
CtlVal
0
1
Point défini sur TRUE.
Etat
0
0x4002
Cette opération a été correctement exécutée.
Les éléments en gras et italique sont renseignés par l’application.
Exemple 4 : {Module}_CO_BOOL affichant une structure anormale :
Elément
Valeur courante
Valeur suivante
Remarque
Cmd
0
-> 3
Le changement de valeur déclenche l’opération d’une seule requête.
Vérification
0
0
Utilisation directe.
CtlVal
0
1
Point défini sur TRUE.
Etat
0
0xBD03=
{
0x8000 +
0x3D00 +
0x0003
}
Cette opération n’a pas été correctement exécutée.
0x8000 : erreur
0x3D00 : code d'erreur 61, IED distante non connectée.
0x0003 : déclencheur de la commande
Les éléments en gras et italique sont renseignés par l’application.
Opération de connexion en tant que client
Le DDT client du module BMENOP0300 permet de contrôler la connexion à l’IED distante à l'aide de l'élément ConnectCtrl. Par défaut, le module tente de se connecter à l'IED distante après le démarrage. Il est possible de vérifier l'état de la connexion par le biais de l'état de validité se trouvant dans l'état du client, ou de l'élément Actualisation du DDT client, comme indiqué ci-dessous pour un client {Module}_{IED name :
Elément
Type
Définition
Actualisation
BOOL
0 : Données non actualisées
1 : Données actualisées
En l'absence de connexion conforme à la norme IEC 61850 ou de communication sur l’embase, définissez-le sur FALSE.
ConenctCtrl
BOOL
0 : Connexion automatique
1 : Déconnexion
Modèle de données
PollBlock
Contrôle d'interrogation de chaque IED
ControlBlock
Contrôle général
ReportBlock
Contrôle de rapport
GooseBlock
GOOSE Contrôle