EXPORT_TREND

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

Génère des données de tendance 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 importantes 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 GETRAW 1
2 GETSAMPLE 2
3 GETSTATISTIC 3
4 GETAGGREGATED 4
5 READBUFFER 5
6 CANCEL 6
7 DISPOSE 6

Arguments communs

Argument

Définition

ListVariables

Liste des variables pour lesquelles requêter les données historiques, sous forme d'une chaîne de caractères ou d'un pointeur vers un buffer contenant la chaîne. Type STR ou DOUBLE.

Branch Branche préfixant tous les noms de variables. Type STR.
Unit Nom de l'unité d'archivage contenant les données historiques. Si vide, l'unité d'archives primaire de chaque variable est utilisée. 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.
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
TimeStampsFormat Format de l'horodate. 0 = date et heure, 1 = date seulement, 2 = heure seulement. Optionnel. Par défaut : 0.

Syntaxe 1

IntVal = EXPORT_TREND(Mode, VariableName, Branch, Unit, StartTime, EndTime, StatusVariable, LineSeparator, ColumnSeparator, MaxRetLines[, TimeStampsFormat]);

Type de retour : INTEGER.

Argument

Définition

VariableName

Variable à partir de laquelle les données d'historiques sont collectées. Type STR.

Exécution

Mode

Mnémonique

Action

1 GETRAW

Génère une requête d'historiques retournant les valeurs brutes pour une seule variable.
Retour : Voir Notes fonctionnelles ci-dessous.

Syntaxe 2

IntVal = EXPORT_TREND(Mode, ListVariables, Branch, Unit, StartTime, EndTime, StatusVariable, LineSeparator, ColumnSeparator, MaxValuesToProcess, MaxRetLines, SamplingRateInterval, SamplingRateValue [,SynchroSecondValue, SynchroMinuteValue, SynchroHourValue, SynchroDayValue, SynchroMonthValue, TimeStampsFormat]);

Type de retour : INTEGER.

Argument

Définition

SamplingRateInterval Unités du taux d'échantillonnage. Type INTEGER.
0 = Secondes
1 = Minutes
2 = Heures
3 = Jours
4 = Semaines
5 = Mois
6 = Années
SamplingRateValue Valeur du taux d'échantillonnage. Type INTEGER

SynchroSecondValue
SynchroMinuteValue
SynchroHourValue
SynchroDayValue
SynchroMonthValue

Equivalent aux propriétés Synchronisation Heure et Jour dans l'onglet Echantillonnage de 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). Type INTEGER

Exécution

Mode

Mnémonique

Action

2 GETSAMPLE

Génère une requête d'historiques retournant des valeurs échantillonnées pour la liste des variables.

Retour : Voir Notes fonctionnelles ci-dessous.

Syntaxe 3

IntVal = EXPORT_TREND (Mode, ListVariables, Branch, Unit, StartTime, EndTime, StatusVariable, LineSeparator, ColumnSeparator, MaxValuesToProcess, MaxRetLines, StatFlag);

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). Type DOUBLE.
0x0001 = Minimum (1)
0x0002 = Maximum (2)
0x0004 = Moyenne (4)
0x0008 = Somme (8)
0x0010 = Ecart-type (16)
0x0020 = Première valeur (32)
0x0040 = Dernière valeur (64)
0x0080 = Compteur (128)
0x0100 = Horodate de la valeur minimum (256)
0x0200 = Horodate de la valeur maximum (512)
0x0400 = Horodate de la première valeur (1024)
0x0800 = Horodate de la dernière valeur (2048)
0x1000 = Moyenne pondérée (4096)

Exécution

Mode

Mnémonique

Action

3 GETSTATISTIC

Génère une requête d'historiques retournant les valeurs de statistiques pour la liste des variables.

Retour : Voir Notes fonctionnelles ci-dessous.

Syntaxe 4

IntVal = EXPORT_TREND(Mode, ListVariables, Branch, Unit, StartTime, EndTime, StatusVariable, LineSeparator, ColumnSeparator, MaxValuesToProcess, MaxRetLines, StatFlag, SamplingRateInterval, SamplingRateValue [,SynchroSecondValue, SynchroMinuteValue, SynchroHourValue, SynchroDayValue, SynchroMonthValue, TimeStampsFormat, TimeStampsFields]);

Type de retour : INTEGER.

Argument

Définition

TimeStampsFields

Nombre indiquant les champs horodates à utiliser. Type INTEGER

0 = Horodate de début uniquement. Valeur par défaut si TimeStampsFields n'est pas utilisé.
1 = Horodatage de fin uniquement.
2 = Horodatage de début et de fin.

Voir Syntaxe 2 et 3 pour la description des arguments StatFlag, SamplingRateInterval, SamplingRateValue, SynchroSecondValue, SynchroMinuteValue, SynchroHourValue, SynchroDayValue et SynchroMonthValue.

Exécution

Mode

Mnémonique

Action

4 GETAGGREGATED

Génère une requête d'historiques retournant les valeurs de statistiques agrégées pour la liste des variables.

Retour : Voir Notes fonctionnelles ci-dessous.

Syntaxe 5

IntVal = EXPORT_TREND(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 GETRAW, GETSAMPLED, GETSTATISTIC ou GETAGGREGATED.
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 6

IntVal = EXPORT_TREND(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é dans 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_TREND fonctionne de façon asynchrone. Une fois qu'une requête d'historiques a été générée par les modes GETRAW, GETSAMPLED, GETSTATISTIC ou GETAGGREGATED, le script continue 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 à 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.

A la fin, le mode DISPOSE doit être exécuté pour libérer le buffer interne utilisé dans la requête d'historiques.

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 intégrée dans le script.

Valeur

Définition

0 La requête d'historiques a été envoyée avec succès.
-1 VariableName ou ListVariable est d'un type incorrect ou ne peut pas être lu.
-2 Branch est d'un type incorrect ou ne peut pas être lu.
-3 UnitName est d'un type incorrect ou ne peut pas être lu.
-4 Branch plus VariableName n'existent pas.
-5 La variable, ou une des variables, n'est pas configurée en tendance.
-6 StartTime est invalide ou indéfini.
-7 EndTime est invalide ou indéfini.
-8 StatusVariable n'est pas une chaîne ou la variable n'est pas une mesure.
-9 LineSeparator ne peut pas être lu.
-10 ColumnSeparator ne peut pas être lu.
-20 StatFlag n'est pas un double.
-21 SamplingRateInterval n'est pas un entier.
-22 SamplingRateValue n'est pas un entier.
-23 Le paramètre Synchronise n'est pas valide.
-30 Une requête d'historiques précédente est toujours en cours.

Valeurs de variable de status

Status de la dernière requête d'historiques.

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 le lien Exemple ci-dessus.