M60870_5

Icône du lien vers le conceptVoir également

Contrôle de la communication pour les drivers client IEC 60870-5, IEC 101 et IEC 104.

Cette instruction remplace l'instruction M104 à partir de la version 15.1. L'instruction M104 est toujours supportée en exécution, mais ne doit pas être utilisée pour de nouveaux projets.

Support WebVue - Oui.

Mode

Mnémonique

Syntaxe

1 START 1
2 STOP 1
3 CFG 2
4 CLOCKSYNCHRO 3
5 TEST 3
6 RESET 4
7 SWITCHOVER 8
8 GENINT 3
9 GRPINT 5
10 GENINT_COUNTER 3
11 GRPINT_COUNTER 5
12 CMD_EXECUTE 6
13 CMD_SBO_SELECT 6
14 CMD_SBO_CANCEL 7
15 CMD_SBO_OPERATE 7
16 READ_IOA 9
17 READ 7
18 SETPARAM 10
19 SETPARAM_MNV 11
20 SETPARAM_MSV 11
21 SETPARAM_MFP 11

Arguments communs

Argument

Définition

CommObjectName

Nom d'un objet de communication IEC 60870-5, sous la forme Network, Network.Device ou Network.Device.Sector. Type STR

SectorName

Nom d'un secteur IEC 60870-5 sous la forme Network.Device.Sector. Type STR.

ResultVar

Nom d'une variable mesure dans laquelle est placée une valeur correspondante au résultat de l'exécution. Type STR.

Valeurs possibles :

1 - Commande en cours
2 - Commande terminée avec succès
3 - Commande en échec
-1 - L'objet network n'a pas été trouvé (erreur retournée par le producteur)
-2 - L'objet device n'a pas été trouvé (erreur retournée par le producteur)
-3 - L'objet sector n'a pas été trouvé (erreur retournée par le producteur)

Syntaxe 1

IntVal = M60870_5(Mode, CommObjectName, Destination[, ResultVar]);

Type de retour : INTEGER.

Argument

Définition

Destination Destination de la commande. Type STR.
LOCAL - La commande est exécutée localement. Il n'y a aucun effet sur un poste qui ne produit pas l'objet de communication.
ACTIVE - La commande est envoyée vers le poste actif de l'association qui produit l'objet de communication, ou exécutée sur le poste local si aucune liste de serveurs n'est définie.
ALLPRODUCERS - La commande est envoyée à tous les postes de l'association qui produit l'objet de communication, ou exécutée sur le poste local si aucune liste de serveurs n'est définie.

Exécution

Mode

Mnémonique

Action

1

START

Démarre un objet de communication IEC 60870-5.

2 STOP Arrête un objet de communication IEC 60870-5.
   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre CommObjectName
-3 : L'objet CommObjectName n'a pas été trouvé
-4 : Valeur invalide pour le paramètre Destination
-8 : La variable ResultVar n'a pas été trouvée

Syntaxe 2

IntVal = M60870_5(Mode, CommObjectName, PropertyName, PropertyValue[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

PropertyName

Nom de la propriété à modifier. Voir la liste ci-dessous. Type STR.

PropertyValue Nouvelle valeur à positionner pour la propriété. Voir la liste ci-dessous. Type STR.

Property name

Property value

Description

"IpAddress"

"x.x.x.x"

String containing an IP V4 address.

Exécution

Mode

Mnémonique

Action

3

CFG

Modifie la configuration d'un objet de communication IEC 60870-5.

   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre CommObjectName
-3 : L'objet CommObjectName n'a pas été trouvé
-6 : Paramètre PropertyName invalide
-8 : La variable ResultVar n'a pas été trouvée

Syntaxe 3

IntVal = M60870_5(Mode, SectorName[, ResultVar]);

Type de retour : INTEGER.

Exécution

Mode Mnémonique Action
4 CLOCKSYNCHRO Envoie une requête clock synchronisation au secteur.
5 TEST Envoi une requête Test au secteur.
8 GENINT Envoie une requête Interrogation Générale au secteur.
10 GENINT_COUNTER Envoie une requête Interrogation Générale des Compteurs au secteur.
   

Retour : 1 si OK, 0 sinon.

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre SectorName
-3 : L'objet SectorName n'a pas été trouvé
-8 : La variable ResultVar n'a pas été trouvée

Syntaxe 4

IntVal = M60870_5(Mode, SectorName, Qualifier[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

Qualifier

Qualificateur de la requête. Type INTEGER

Les valeurs possibles sont :

1 - Reset général du processus
2 - Réinitialisation des informations horodatées du tampon d'événements en attente

Les valeurs privées du Qrp peuvent également être utilisées comme décrit dans la norme IEC 60870-5.

Exécution

Mode

Mnémonique

Action

6

RESET

Envoie une requête Reset au secteur.

   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre SectorName
-3 : L'objet SectorName n'a pas été trouvé
-6 : Paramètre Qualifier invalide
-8 : La variable ResultVar n'a pas été trouvée

Syntaxe 5

IntVal = M60870_5(Mode, SectorName, GroupNumber[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

GroupNumber

Numéro de groupe. Type INTEGER

Exécution

Mode

Mnémonique

Action

9

GRPINT

Envoie une requête Interrogation par groupe au secteur. GroupNumber doit être entre 1 et 16.
11 GRPINT_COUNTER Envoie une requête Interrogation des compteurs par groupe au secteur. GroupNumber doit être entre 1 et 4.
   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre SectorName
-3 : L'objet SectorName n'a pas été trouvé
-6 : Paramètre GroupNumber invalide
-8 : La variable ResultVar n'a pas été trouvé
-15 : Paramètre GroupNumber hors plage

Syntaxe 6

IntVal = M60870_5(Mode, VariableName, Value[, Qualifier [, ResultVar]])

Type de retour : INTEGER.

Argument

Définition

VariableName

Nom de la variable cible de la requête. Type STR.
Value

Valeur à envoyer. Type DOUBLE ou STR.

Les commandes de step position utilisent les valeurs suivantes :

0 ou "UP" - Envoie une commande step up
1 ou "DOWN" - Envoie une commande step down
Qualifier

Qualificateur de la requête si l'on veut remplacer celle définie au niveau de la variable. La valeur peut être une chaîne de caractères prédéfinie ou une valeur analogique. Tapez STR ou INTEGER.

Des valeurs numériques supérieures à 3 peuvent également être utilisées pour les valeurs privées du Qoc.Qu comme décrit dans la norme IEC 60870-5.

  Qualificateur Chaîne de caractères Qualificateur Integer Notes
  "" Non supporté Utiliser la chaîne vide "" pour appliquer le Qualificateur défini au niveau de la configuration de la variable.
  "NO" 0  
  "SHORT_PULSE" 1  
  "LONG_PULSE" 2  
  "PERSISTENT" 3  

Exécution

Mode

Mnémonique

Action

12 CMD_EXECUTE Envoie une commande Execute pour la variable VariableName.
13 CMD_SBO_SELECT Envoie une commande Select pour la variable VariableName.
   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-6 : Paramètre Qualifier invalide
-7 : Paramètre VariableName invalide
-8 : La variable VariableName or ResultVar n'a pas été trouvée
-14 : Paramètre Qualifier hors plage
-15 : Paramètre Value invalide
-19: Une commande est déjà en cours

Syntaxe 7

IntVal = M60870_5(Mode, VariableName[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

VariableName

Nom de la variable cible de la requête. Type STR.

Exécution

Mode

Mnémonique

Action

14

CMD_SBO_CANCEL

Envoie une commande Cancel pour la variable VariableName.

   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-7 : Paramètre VariableName invalide
-8 : La variable VariableName or ResultVar n'a pas été trouvée
-12 : Échec de l'annulation de la commande SBO - La commande n'a jamais été sélectionnée
15 CMD_SBO_OPERATE Envoie une commande Operate pour la variable VariableName.
   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-7 : Paramètre VariableName invalide
-8 : La variable VariableName or ResultVar n'a pas été trouvée
-12 : Échec de l'annulation de la commande SBO - La commande n'a jamais été sélectionnée
17 READ Envoie une requête Read pour la variable VariableName.
   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-7 : Paramètre VariableName invalide
-8 : La variable VariableName or ResultVar n'a pas été trouvée
-12 : Type de variable invalide
-16 : La variable source is not the IEC 60870-5 driver

Syntaxe 8

IntVal = M60870_5(Mode, DeviceName[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

DeviceName

Nom de l'équipement IEC 60870-5 ou de l'équipement de secours à forcer actif. Type STR.

Le nom doit être :

Pour un équipement principal : Network.Device
Pour un équipement de secours : Network.Device.StandbyDevice.

Exécution

Mode

Mnémonique

Action

7 SWITCHOVER Dans le cadre de la redondance, envoie une commande de bascule pour forcer l'activation de DeviceName.
   

Retour:

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre DeviceName
-3 : L'objet DeviceName n'a pas été trouvé
-6 : Paramètre DeviceName invalide
-8 : La variable ResultVar n'a pas été trouvée

Syntaxe 9

IntVal = M60870_5(Mode, SectorName, IOA[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

IOA

Adresse de l'objet d'information à lire. La valeur peut être une chaîne de caractères ou une valeur analogique brute. Type STR or INTEGER.
L'interprétation de la chaîne de caractères dépend du format d'adresse défini pour le secteur.

  Chaîne IOA Description
  "x" Structurée sur 1 octet
  "x#y" Structurée sur 2 octets
  "x#y#z" Structurée sur 3 octets

Exécution

Mode

Mnémonique

Action

16 READ_IOA Envoie une requête Read pour l'objet d'information à l'adresse IOA du secteur
   

Retour : 1 si OK, 0 sinon.

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre SectorName
-3 : L'objet SectorName n'a pas été trouvé
-6 : Paramètre IOA invalide
-8 : La variable ResultVar n'a pas été trouvée

Syntaxe 10

IntVal = M60870_5(Mode, VariableName, Qualifier, Value[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

VariableName

Nom de la variable cible de la requête. Type STR.
Value Valeur du paramètre à positionner. Type DOUBLE.
Qualifier

Identifiant du paramètre à positionner.

Des valeurs numériques supérieures à 4 peuvent également être utilisées pour les valeurs privées du Qpm.Kpa comme décrit dans la norme IEC 60870-5.

  Qualificateur Chaîne de caractères Qualificateur numérique
  "THRESHOLD_VALUE" 1
  "SMOOTHING_FACTOR" 2
  "LOW_LIMIT" 3
  "HIGH_LIMIT" 4

Exécution

Mode

Mnémonique

Action

18 SETPARAM Envoie une requête pour positionner le paramètre Qualifier à la valeur Value pour l'IOA mappé sur la variable VariableName.
   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-4 : Valeur de chaîne de caractères non valide pour le paramètre Qualifier
-6 : Paramètre Qualifier invalide
-7 : Paramètre VariableName invalide
-8 : La variable VariableName or ResultVar n'a pas été trouvée
-14 : Paramètre Qualifier hors plage
-15 : Paramètre Value invalide

Syntaxe 11

IntVal = M60870_5(Mode, SectorName, IOA, Qualifier, Value[, ResultVar])

Type de retour : INTEGER.

Argument

Définition

IOA

Adresse de l'objet d'information qui est la cible de la requête. La valeur peut être une chaîne de caractères ou une valeur analogique brute. Type STR or INTEGER.
L'interprétation de la chaîne de caractères dépend du format d'adresse de secteur défini. Type STR.

  Chaîne de caractères IOA Description
  "x" Structurée sur 1 octet
  "x#y" Structurée sur 2 octets
  "x#y#z" Structurée sur 3 octets
Value Valeur du paramètre à positionner. Type INTEGER
Qualifier

Identifiant du paramètre à positionner.

Des valeurs numériques supérieures à 4 peuvent également être utilisées pour les valeurs privées du Qpm.Kpa comme décrit dans la norme IEC 60870-5.

  Qualificateur Chaîne de caractères Qualificateur Integer
  "THRESHOLD_VALUE" 1
  "SMOOTHING_FACTOR" 2
  "LOW_LIMIT" 3
  "HIGH_LIMIT" 4

Exécution

Mode

Mnémonique

Action

19 SETPARAM_MNV Envoie une requête pour positionner le paramètre Qualifier à la valeur Value pour l'objet d'information à l'adresse IOA du secteur SectorName pour une valeur mesure normalisée.
20 SETPARAM_MSV Envoie une requête pour positionner le paramètre Qualifier à la valeur Value pour l'objet d'information à l'adresse IOA du secteur SectorName pour une valeur mesure mise à l'échelle.
21 SETPARAM_MFP Envoie une requête pour positionner le paramètre Qualifier à la valeur Value pour l'objet d'information à l'adresse IOA du secteur SectorName pour une valeur à virgule flottante.
   

Retour :

0 : Commande envoyée
-1 : Mode invalide
-2 : Erreur de syntaxe pour le paramètre SectorName
-3 : L'objet SectorName n'a pas été trouvé
-4 : Valeur de chaîne de caractères non valide pour le paramètre Qualifier
-6 : Paramètre Qualifier ou IOA invalide
-8 : La variable ResultVar n'a pas été trouvée
-14 : Paramètre Qualifier hors plage
-15 : Paramètre Value invalide