EXPORT_LOG

Icône du lien vers le conceptVoir également Icône du lien vers le conceptExemple

Génère des données de consignations d'historiques en utilisant la fonctionnalité fournie par l'Export de données. Pour plus d'informations, voir l'aide sur l'Analyse de données (L'Application Explorer.Analyse de données). Voir également les Notes fonctionnelles importantes ci-dessous.

Support WebVue - Oui.

L'utilisation des verbes EXPORT, EXPORT_LOG et EXPORT_TREND est préférée à celle des verbes SVLOG et SVTREND. Ces derniers ne sont conservés que pour compatibilité.

L’Export de données est protégé par une option de licence dans la clé de protection du logiciel PcVue. Si vous ne possédez pas cette option, l’Export de données ne s’effectuera qu’en mode démonstration.

Mode Mnémonique Syntaxe
1 GETRECORD 1
2 GETSTATISTIC 2
3 READBUFFER 3
4 CANCEL 4
5 DISPOSE 4

Arguments communs

Argument

Définition

LogListName

Nom de la liste de consignations à partir de laquelle les données sont obtenues. Type STR.

StartTime Heure de début de la requête d'historiques. L'heure de début doit être antérieure à l'heure de fin. Type DOUBLE.
EndTime Heure de fin de la requête d'historiques. L'heure de fin doit être postérieure à l'heure de début. Type DOUBLE.
Events

Nombre, calculé en utilisant des valeurs de poids binaires, représentant les événements à requêter (valeurs décimales entre parenthèses). Type DOUBLE.
0x0000 0001 = Alarme présente (1)
0x0000 0002 = Alarme au repos (2)
0x0000 0004 = Alarme présente non acquittée (4)
0x0000 0008 = Alarme absente non acquittée (8)
0x0000 0010 = Alarme présente acquittée (16)
0x0000 0020 = Alarme absente acquittée (32)
0x0000 0040 =Alarme non accessible (64)
0x0000 0080 = Alarme inhibée (128)
0x0000 0100 = Alarme masquée par programme (256)
0x0000 0200 = Alarme masquée par variable (512)
0x0000 0400 = Alarme masquée par opérateur (1024)
0x0000 0800 = Alarme masquée par expression (2048)
0x0000 1000 = Alarme prise en compte (4096)
0x0000 2000 = Transition à 0 (8192)
0x0000 4000 = Transition à 1 (16384)
0x0000 8000 = Invalide (32768)
0x0001 0000 = Actions opérateur commande (65536)
0x0002 0000 = Actions opérateur acquittement (131 072)
0x0004 0000 = Actions opérateur connexion/déconnexion (262 144)
0x0008 0000 =Actions opérateur exécution programme (524 288)
0x0010 0000 = Actions opérateur masquage d'alarme (1 048 576)

AlarmLevelMin Niveau d'alarme minimum (0 à 29). Type INTEGER
AlarmLevelMax Niveau d'alarme maximum (0 à 29). Type INTEGER
ExpressionFilter

Expression de filtre sur attributs.

Voir la rubrique :
L'Application Explorer.Archives.Configuration des unités d'archivage.Unité d'archivage propriétaire.Configuration de l'enregistrement des consignations.Utilisation de filtre d'expression sur attributs.

StatusVariable Nom d'une variable mesure dans laquelle le status de l'export est reporté. Type STR.
LineSeparator Caractère utilisé comme séparateur de ligne dans le buffer de sortie. Type STR.
L'utilisation de "\n" (retour chariot) est recommandée pour éviter les erreurs d'analyse syntaxique dues aux paramètres régionaux ou à la valeur des champs (qui peuvent inclure des virgules, des point-virgules ou des points).
ColumnSeparator Caractère utilisé comme séparateur de colonne dans le buffer de sortie. Type STR.
L'utilisation de "\t" (tabulation) est recommandée pour éviter les erreurs d'analyse syntaxique dues aux paramètres régionaux ou à la valeur des champs (qui peuvent inclure des virgules, des point-virgules ou des points).
MaxRetLines Nombre maximum de lignes retournées par la requête (surcharge le paramètre global Compteur max pour données générées). 0 = pas de maximum. Type INTEGER
MaxValuesToProcess Nombre maximum de valeurs brutes traitées (surcharge le paramètre global Compteur max pour données brutes). 0 = pas de maximum. Type INTEGER

Syntaxe 1

IntVal = EXPORT_LOG(Mode, LogListName, StartTime, EndTime, Events, AlarmLevelMin, AlarmLevelMax, ExpressionFilter, StatusVariable, LineSeparator, ColumnSeparator, MaxRetLines, DataFormat, DataHeader)

Type de retour : INTEGER.

Argument

Définition

DataFormat

Format de données des colonnes. Le format de chaque colonne est séparé par le caractère "|". Type STR.
Exemple : #D/#M/#Y|#h:#m:#s|#E|#T

DataHeader Texte d'entête. Chaque entête de colonne est séparé par le caractère "|". Type STR.
Exemple : Date|Time|Event|Title

Exécution

Mode

Mnémonique

Action

1 GETRECORD

Génère une requête d'historiques pour renvoyer les enregistrements consignés contenues dans une liste de consignations.
Retour : Voir Notes fonctionnelles ci-dessous.

Syntaxe 2

IntVal = EXPORT_LOG(Mode, LogListName, StartTime, EndTime, Events, AlarmLevelMin, AlarmLevelMax, ExpressionFilter, StatusVariable, LineSeparator, ColumnSeparator, MaxValuesToProcess, MaxRetLines, StatFlag, StatSortOrder, StatCountersFormat, StatRounded)

Type de retour : INTEGER.

Argument

Définition

StatFlag

Nombre, calculé en utilisant des valeurs de poids binaires, représentant les statistiques à générer (valeurs décimales entre parenthèses). 0x0000 0000 0001 = Compteur de toutes les transitions (1)
0x0000 0000 0002 = Transition à 0 (Occurrences) (2)
0x0000 0000 0004 = Transition à 1 (Occurrences) (4)
0x0000 0000 0008 = Invalide (Occurrences) (8)
0x0000 0000 0010 = Transition à 0 (Durée) (16)
0x0000 0000 0020 = Transition à 1 (Durée) (32)
0x0000 0000 0040 = Invalide (Durée) (64)
0x0000 0000 0080 = Alarme au repos (Occurrences) (128)
0x0000 0000 0100 = Alarme présente (Occurrences) (256)
0x0000 0000 0200 = Alarme absente acquittée (Occurrences) (512)
0x0000 0000 0400 = Alarme absente non acquittée (Occurences) (1024)
0x0000 0000 0800 = Alarme présente acquittée (Occurrences) (2048)
0x0000 0000 1000 = Alarme présente non acquittée (Occurrences) (4096)
0x0000 0000 2000 = Alarme invalide (Occurrences) (8192)
0x0000 0000 4000 = Alarme masquée par expression (Occurrences) (16384)
0x0000 0000 8000 = Alarme inhibée (Occurrences) (32768)
0x0000 0001 0000 = Alarme non accessible (Occurrences) (65536)
0x0000 0002 0000 = Alarme masquée par programme (Occurrences) (131 072)
0x0000 0004 0000 = Alarme masquée par opérateur (Occurrences) (262 144)
0x0000 0008 0000 = Alarme masquée par variable (Occurrences) (524288)
0x0000 0010 0000 = Alarme au repos (Durée) (1 048 576)
0x0000 0020 0000 = Alarme présente (Durée) (2 097 152)
0x0000 0040 0000 = Alarme absente acquittée (Durée) (4 194 304)
0x0000 0080 0000 = Alarme absente non acquittée (Durée) (8 388 608)
0x0000 0100 0000 = Alarme présente acquittée (Durée) (16 777 216)
0x0000 0200 0000 = Alarme présente non acquittée (Durée) (33 554 432)
0x0000 0400 0000 = Alarme invalide (Durée) (67 108 864)
0x0000 0800 0000 = Alarme masquée par expression (Durée) (134 217 728)
0x0000 1000 0000 = Alarme inhibée (Durée) (268 435 456)
0x0000 2000 0000 = Alarme non accessible (Durée) (536 870 912)
0x0000 4000 0000 = Alarme masquée par programme (Durée) (1 073 741 824)
0x0000 8000 0000 = Alarme masquée par opérateur (Durée) (2 147 483 648)
0x0001 0000 0000 = Alarme masquée par variable (Durée) (4 294 967 296)

StatSortOrder Statistique utilisée pour trier les résultats. Sélectionné en utilisant une des valeurs utilisées pour StatFlag. 0 = aucun tri. Type LONGLONG.
StatCountersFormat Numéro indiquant l'unités des compteurs de durée. Type INTEGER.
0 = Aucun
1 = Secondes
2 - Minutes
3 = Heures
4 = Jours
StatRounded Type INTEGER.
0 = Aucun arrondi
1 = Arrondi

Exécution

Mode

Mnémonique

Action

2 GETSTATISTIC

Génère une requête d'historiques pour retourner des valeurs de statistiques depuis la liste de consignations.

Retour : Voir Notes fonctionnelles ci-dessous.

Syntaxe 3

IntVal = EXPORT_LOG(Mode, BufferHandle);

Type de retour : INTEGER.

Argument

Définition

BufferHandle

Handle du buffer précédemment créé en utilisant ALLOC_BUFFER. Type de retour : LONG.

Exécution

Mode

Mnémonique

Action

5 READBUFFER

Lit le buffer de données après un GETRECORD ou GETSTATISTIC.
La variable de status doit être 0 (Terminé), 4 (Terminé mais le nombre maximum de points a été atteint) ou 5 (Terminé mais le nombre maximum de valeurs traitées a été atteint).
Retour : Nombre de lignes extraites ou si plus petit que 1 :
0 = Fin du buffer
-1 = Handle du buffer invalide
-2 = Aucune demande d'historiques n'a été envoyée
-3 = Aucune réponse reçue
-4 = Rien à lire
-5 = Buffer trop petit

Syntaxe 4

IntVal = EXPORT_LOG(Mode);

Type de retour : INTEGER.

Exécution

Mode

Mnémonique

Action

6 CANCEL

Annule la requête d'historiques courante. Un CANCEL doit toujours être suivi par un DISPOSE.
Retour : Toujours 0.

7 DISPOSE Libère le buffer interne utilisé par une requête d'historiques. Doit toujours être appelé avant de faire une nouvelle demande d'historiques ou après un CANCEL.
Retour : Toujours 0.

Notes fonctionnelles importantes

L'instruction EXPORT_LOG fonctionne de façon asynchrone. Une fois qu'une requête d'historiques a été générée par les modes GETRECORD ou GETSTATISTIC, le script continue d'être exécuté sans attendre les données d'historiques qui seront générées. La valeur de retour de l'instruction indique si la requête d'historiques a été envoyée avec succès, ou non.

Lorsque la requête d'historiques est terminée (avec succès ou non) la valeur de la variable de status est modifiée en conséquence. Sur ce changement, si la valeur de la variable de status indique un succès, le mode READBUFFER doit être utilisé pour récupérer les données dans une mémoire tampon (buffer) à partir duquel un traitement ultérieur peut être effectué (par exemple un export vers Excel en utilisant le verbe BUFTOEXCEL).

Il sera probablement nécessaire d'utiliser plusieurs fois READBUFFER jusqu'à ce que le code retour de READBUFFER soit égal à 0 indiquant que toutes les données ont été traitées.

Si vous utilisez une boucle comprenant READBUFFER, vous devez respecter la limite de 30 secondes autorisée pour une exécution SCADA Basic. Si vous dépassez ceci (ce qui est possible si vous traitez de grandes quantités de données), l'exécution sera annulée avec une erreur.

Une fois terminé, un mode DISPOSE doit être exécuté pour libérer le buffer interne utilisé dans la requête historique.

Valeurs de retour

Toutes les valeurs de retour autres que zéro indiquent une erreur. Notez en particulier un retour de -30 qui indique qu'une requête précédente est toujours en cours et devra être gérée dans le script.

Valeur

Définition

0 Requête envoyée
-1 LogListName n'est pas un STR
-2 LogList n'existe pas
-3 Start time est indéfini ou invalide
-4 End time est indéfini ou invalide
-5 Event Code ne peut pas être lu
-6 Event Code est plus petit ou égal à 0
-7 AlarmLevelMin ne peut pas être lu
-8 AlarmLevelMin doit être entre 0 et 29
-9 AlarmLevelMax ne peut pas être lu
-10 AlarmLevelMax doit être 0 et 29
-11 AlarmLevelMin doit être plus petit que AlarmLevelMax
-12 ExpressionFilter n'est pas un STR
-13 StatusVariable n'est pas un STR
-14 StatusVariable n'est pas une mesure
-15 LineSeparator ne peut pas être lu
-16 ColumnSeparator ne peut pas être lu
-20 DataFormat n'est pas un STR
-21 DataHeader n'est pas un STR
-22 Format et header ont un nombre de colonnes différents
-23 StatFlag ne peut pas être lu
-24 StatFlag doit être plus petit ou égal à 0
-25 StatSortingOrder ne peut pas être lu
-26 StatSortingOrder doit être plus petit que 0
-27 StatCountersFormat ne peut pas être lu
-28 StatCountersFormat doit être entre 0 et 4
-29 StatRoundedToRequest ne peut pas être lu
-30 Une requête d'historiques précédente est toujours en cours.

Valeurs de variable de status

L'état de la dernière requête historique.

Valeur

Définition

0 Terminé avec succès.
1 En exécution.
3 Annulé.
4 Terminé mais le nombre maximum de points a été atteint.
5 Terminé mais le nombre maximum de valeurs traitées a été atteint.
10 Échec.
11 Echec dû à une configuration incorrecte.
12 Echec dû à un échec de la requête d'historiques.

Exemples

Pour plus d'exemples, sélectionnez en haut de la rubrique.