Objets de données

22.04.2021

L'objet de données est le terme générique pour les ensembles de données, les formules, les objets d'analyse et les objets de liaison de données, ou pour tous les objets qui contiennent des données ou qui renvoient des données en tant que résultat calculé. Tous les objets de données, à l'exception des ensembles de données, sont basés sur le code FPScript. Ces objets de données peuvent toutefois être utilisés comme des ensembles de données et peuvent être affichés, par exemple, sous forme de graphique ou de tableau. Le résultat peut avoir l'une des structures de données et l'un des types de données pris en charge par FPScript. Vous pouvez à tout moment convertir tous les objets de données basés sur FPScript en ensembles de données. La formule contenant le FPScript est calculée une dernière fois et est ensuite remplacée par son résultat.

Type de données

FlexPro est capable de gérer et de traiter les données de manière à ce que la mémoire requise soit adaptée de manière optimale à la résolution des données. Cela est particulièrement utile pour les grands ensembles de données, étant donné que la mémoire requise peut varier d'un facteur quatre, selon le type de données.

FlexPro y parvient en utilisant différents types de données, c'est-à-dire des formats de stockage pour les chiffres et le texte. Le système dispose de plus de quatre types de données numériques de base qui peuvent être utilisés pour les nombres réels et complexes, ainsi que des types de données numériques pour le calendrier et l'intervalle de temps. En outre, il existe un type de données pour les chaînes de caractères, pour les valeurs booléennes et pour le type de données Empty, qui représente un résultat vide.

Le tableau suivant donne un aperçu des types de données.

Type de données

Explication

Notation dans FPScript

Vide

Variable non initialisée, résultat vide ou placeholder pour un argument de fonction.

Vide

<Identifier>

Valeur booléenne

Peut avoir la valeur TRUE ou FALSE.

VRAI, FAUX

Entier de 16 bits

Peut contenir des nombres entiers dans la plage de -32768 à +32767.

1234S, -1245S

Entier 32 bits

Peut contenir des nombres entiers compris entre -2147483648 et +2147483647.

1234N, -1234N, 1000000N

Entier 64 bits

Peut contenir des nombres entiers compris entre -9223372036854775808 et +9223372036854775807.

1234L, -1234L, 2147483648N

Valeur à virgule flottante 32 bits

Peut contenir des valeurs à virgule flottante dans la plage de -3,4e+38 à +3,4e+38.

1.23S, 1.45e-3S, ?S

Valeur à virgule flottante 64 bits

Peut contenir des valeurs à virgule flottante comprises entre -1,7e+308 et +1,7e+308.

1.23, 1.45e-3, 1.23L, ?

Entier complexe de 16 bits

Peut contenir des entiers complexes dans la plage de -32768 à +32767.

(1234S, -1245S)

Entier complexe de 32 bits

Peut contenir des entiers complexes compris entre -2147483648 et +2147483647.

(1234N, -1234N)

Entier complexe de 64 bits

Peut contenir des entiers complexes compris entre -9223372036854775808 et +9223372036854775807.

(1234L, -1234L)

Valeur complexe à virgule flottante de 32 bits

Peut contenir des valeurs complexes à virgule flottante dans la plage de -3,4e+38 à +3,4e+38.

(1.23S, 1.45e-3S)

Valeur complexe à virgule flottante de 64 bits

Peut contenir des valeurs complexes à virgule flottante comprises entre -1,7e+308 et +1,7e+308.

(1.23, 1.45e-3)

Heure du calendrier

Peut contenir des données et des valeurs temporelles. Les valeurs de l'heure du calendrier sont stockées sous forme de valeurs à virgule flottante de 64 bits représentant le nombre de secondes qui se sont écoulées depuis le 1/1/1970 Temps universel coordonné (UTC). Les valeurs de temps calendaire antérieures à cette date ne sont pas prises en charge, c'est-à-dire que la valeur en virgule flottante basée sur cette valeur de temps calendaire ne peut pas être négative.

FlexPro interprète les valeurs de temps du calendrier comme des quantités en utilisant les secondes comme unité implicite. Le symbole de l'unité, cependant, n'est pas édité.

Les valeurs de l'heure du calendrier sont converties en fonction du fuseau horaire configuré sous Fichier > Options > Langue et région.

'23.12.2004 12:23:30.1234'

'12/23/2004 12:23:30.1234'

'?/?/?'

(Les éléments de temps peuvent être omis en commençant par la droite et sont alors pris comme 0)

Période de temps

Peut contenir des intervalles de temps écrits dans les formats DD:HH:MM:SS ou HH:MM:SS. Les valeurs sont stockées sous la forme de valeurs à virgule flottante de 64 bits, l'unité étant la seconde.

FlexPro interprète les intervalles de temps comme des quantités en utilisant les secondes comme unité implicite. Le symbole de l'unité, cependant, n'est pas édité.

'12:23:30.1234'

'11:12:23:30.1234'

-12:23:30' (intervalle de temps négatif)

'?:?:?'

Chaîne de caractères

Peut contenir des chaînes de caractères d'une longueur maximale de 2 Go.

"This is a string"

Référence de l'objet

Une référence à un objet d'automatisation ou à un objet FlexPro.

Set Object = Diagram.2d

Comme on peut le voir dans les exemples ci-dessus, FlexPro utilise le point décimal ou le 'N' ou 'n' ajouté pour distinguer les nombres entiers des valeurs à virgule flottante. La résolution peut être spécifiée à l'aide de l'extension 'S' ou 'L', ou 's' ou 'l'. S" signifie "Short", c'est-à-dire un entier de 16 bits ou une valeur à virgule flottante de 32 bits, et "L" signifie "Long", c'est-à-dire un entier de 64 bits ou une valeur à virgule flottante de 64 bits. Si vous omettez le suffixe, la résolution la plus élevée est automatiquement sélectionnée pour les valeurs à virgule flottante, et pour les entiers, une résolution de 32 ou 64 bits est utilisée, selon le format qui peut stocker la constante spécifiée. Le "L" peut donc généralement être omis.

Remarque : La façon dont les nombres décimaux auxquels vous n'avez pas ajouté de suffixe ou de point décimal sont interprétés dépend du paramètre Interpréter les nombres décimaux sans point décimal comme des valeurs à virgule flottante dans l'onglet Général de la boîte de dialogue Propriétés de la base de données du projet. Cette option est activée par défaut, ce qui signifie que les nombres sont interprétés comme des valeurs à virgule flottante de 64 bits. Ce paramètre permet d'éviter les erreurs d'arrondi accidentelles qui peuvent se produire lors de l'utilisation de l'arithmétique des nombres entiers. La division intégrale 1 / 2 donne 0 et non 0,5, par exemple.

Si vous calculez des données dans un format différent, FlexPro adapte automatiquement les types de données. L'adaptation automatique se fait toujours de manière à ce qu'aucune information ne soit perdue. Si, par exemple, un nombre entier et une valeur à virgule flottante doivent être additionnés, le nombre entier est converti en valeur à virgule flottante et non l'inverse, car sinon des décimales pourraient être perdues. Pour les données constantes, que vous utilisez dans les formules, FlexPro reconnaît le type de données à partir de la notation. Vous avez la possibilité de convertir les types de données de manière explicite en utilisant un opérateur de conversion de type:

Série de données FloatingPoint64 Convertit toutes les valeurs de la série de données en valeurs à virgule flottante de 64 bits.

Lesréférences d'objets ne peuvent être utilisées que de manière limitée. Vous pouvez affecter une référence d'objet à une variable locale mais ne pouvez ni la passer comme argument à une fonction FPScript ni la retourner comme résultat d'une formule. Si une référence d'objet est utilisée comme argument de fonction, comme valeur de retour d'une formule ou dans un calcul mathématique, elle est convertie en sa valeur. Si l'objet auquel la référence fait référence est un objet de données, par exemple une formule, sa valeur de retour est utilisée ; pour tous les autres objets, la valeur est Empty.

Composante

Les ensembles de données peuvent avoir une structure de données agrégée, c'est-à-dire une structure de données qui se compose de trois éléments au maximum. Ces composantes sont appelées les composantes X, Y et Z. La description correspond aux noms des axes des graphiques 2D et 3D.

Un signal temporel simple se compose, par exemple, d'une composante Y, qui contient une série de données avec les tensions, et d'une composante X, qui contient une série de données de même longueur avec les temps associés. Une valeur de chacune des composantes Y et X forme ensemble un point d'une courbe dans le plan bidimensionnel d'un graphique 2D.

L'illustration suivante clarifie ces relations :

Dans les formules, vous pouvez accéder séparément aux différents composants de l'ensemble de données en spécifiant le nom du composant comme extension de nom. Signal.Y extrait, par exemple, la composante Y de l'ensemble de données Signal.

Structure de données

Les ensembles de données peuvent avoir différentes structures de données. La structure des données spécifie comment les données sont organisées dans l'ensemble de données. Une distinction est faite entre les structures de données simples et les structures de données agrégées. Les structures de données agrégées sont construites à partir des structures de données simples. Le tableau suivant donne un aperçu des structures de données simples:

Structure de données

Contenu

Valeur scalaire

Une valeur scalaire.

Série de données

Un tableau unidimensionnel de valeurs.

Matrice de données

Un tableau bidimensionnel de valeurs. Les colonnes peuvent être considérées comme des séries de données ayant le même nombre de valeurs.

Tous les types de données sont autorisés pour les structures de données simples.

Les structures de données agrégées suivantes sont basées sur les structures ci-dessus :

Structure de données

Contenu

Exemple d'application

Signal

Une composante Y et une composante X, chacune avec un ensemble de données de la même longueur.

Un signal horaire. La composante Y contient la tension et la composante X le temps associé.

Série Signal

Une composante Y avec une matrice de données et une composante X avec une série de données. La longueur de la série de données doit correspondre au nombre de lignes de la matrice de données.

Une série spectrale. La composante Y contient plusieurs spectres de fréquence et la composante X des valeurs de fréquence applicables à tous les spectres.

Série de signaux avec une composante X bidimensionnelle

Une composante Y et une composante X avec une matrice de données de la même taille.

Une série de signaux horaires. La composante Y contient les tensions des différents signaux et la composante X, les heures calendaires associées.

Série de signaux avec une composante Z

Comme pour une série de signaux, cependant, avec une composante Z supplémentaire avec un nombre de valeurs qui doit correspondre au nombre de colonnes dans la matrice de données Y.

Une série spectrale, où les points de temps pour lesquels les spectres ont été déterminés sont saisis dans la composante Z.

Série de signaux à composante bidimensionnelle X et Z

Comme dans le cas d'une série de signaux avec une composante X bidimensionnelle, cependant, avec une composante Z avec un nombre de valeurs qui doit correspondre au nombre de colonnes dans la matrice de données Y.

Une série de signaux horaires. La composante Y contient les tensions des différents signaux et la composante X contient les temps associés en secondes. La composante Z contient les heures calendaires auxquelles les signaux ont été mesurés.

Courbe de l'espace

Une composante Y, une composante X et une composante Z, chacune avec une série de données de même longueur.

Une trajectoire dans un espace tridimensionnel. Une mesure qui a été prise à des endroits arbitraires sur une surface.

Liste

Une liste dans laquelle chaque élément peut avoir n'importe quelle structure de données et peut notamment être une liste elle-même. Les éléments des listes peuvent également contenir des références à des objets.

Une liste contenant plusieurs ensembles de données, comme le résultat d'une requête de données.

Une structure de données complexe, telle que le résultat d'une régression, qui, en plus d'une série de données avec les paramètres trouvés, contient également leurs intervalles de confiance et la mesure de la qualité de l'ajustement de la régression.

Pour les composantes X et Z des structures de données agrégées, tous les types de données réelles ainsi que les types temps calendaire et période de temps sont autorisés. Pour le composant Y, des types de données complexes supplémentaires et le type de valeur booléenne sont autorisés. Les structures de données agrégées de FlexPro simplifient particulièrement l'analyse dans FlexPro, puisque les composantes X, Y et, le cas échéant, Z peuvent être calculées dans une seule formule. Une formule qui calcule une transformée de Fourier, par exemple, peut recalculer en même temps les amplitudes du signal temporel en amplitudes spectrales et les valeurs temporelles en valeurs fréquentielles.

Utilisez la structure de données List pour créer des structures de données complexes, par exemple, si les structures de données prises en charge par FlexPro ne sont pas adaptées au résultat. Vous pouvez faire en sorte que les résultats soient renvoyés sous forme de liste, même lorsqu'une procédure de calcul renvoie plusieurs résultats qui ne peuvent pas être calculés indépendamment les uns des autres sous forme de formules distinctes. Les listes sont la base des analyses multicanaux utilisant FlexPro. De nombreux objets d'analyse ainsi que des fonctions et des opérateurs dans FPScript prennent en charge les listes. Ils sont traités par élément et le résultat est alors également une liste.

Les listes sont spéciales car elles ne sont autorisées que comme valeur de retour pour les formules, mais pas comme structure de données pour un ensemble de données. Lors de la conversion d'une formule en un ensemble de données, seul le premier élément de la liste est utilisé. Il en va de même pour les fonctions FPScript qui ne prennent pas en charge le traitement des listes. Ces derniers extraient aussi généralement le premier élément et ignorent le reste.

Unité de données

Chaque composant d'un objet de données peut avoir une unité physique et est donc converti en une quantité. Le gestionnaire d'unités fait partie intégrante de FPScript. Vous pouvez effectuer des calculs avec des quantités directement dans FPScript. FPScript traite l'unité comme une partie intégrante des données, est capable de convertir les unités, reconnaît les calculs incorrects et détermine l'unité de résultat d'un calcul à partir des unités des arguments. Le code FPScript suivant génère, par exemple, un signal avec une onde sinusoïdale d'une amplitude de 2 V, une fréquence de 0,1 kHz et un intervalle d'échantillonnage de 1 ms :

// Augmentation des valeurs de temps dans l'intervalle [0 s, 10 s]

// et intervalle d'échantillonnage 1 ms

Dim t = Série(0 s, 10 s, 1 ms)

Signal(2 V * Sin(2 Pi * 0,1 kHz * t), t)

L'unité peut également être attribuée ultérieurement via les informations d'en-tête de l'objet de données. Veuillez voir ci-dessous pour plus de détails.

Affectation des objets de données

FlexPro enregistre normalement tous les composants d'une structure de données agrégées dans un seul ensemble de données ; par exemple, les amplitudes et les valeurs temporelles d'un signal temporel. Cela s'applique également s'il existe plusieurs ensembles de données avec la même composante X, par exemple lorsque vous importez des données d'une mesure multicanaux. Les valeurs de temps pour les canaux individuels sont généralement linéairement croissantes, de sorte que FlexPro n'a qu'à stocker la valeur initiale, l'incrément et le nombre de valeurs comme paramètres au lieu de colonnes de chiffres. Il existe cependant des cas où les valeurs X doivent être stockées explicitement, par exemple parce que la fréquence d'échantillonnage a varié pendant le processus de mesure. Dans ce cas, le stockage des mêmes valeurs X dans chaque ensemble de données serait inefficace. Par conséquent, FlexPro prend en charge une autre option pour gérer les structures de données agrégées. Pour ce faire, les valeurs Y et les valeurs X sont stockées dans des ensembles de données distincts en tant que séries de données, et ces ensembles de données sont ensuite affectés les uns aux autres.

Cette affectation est enregistrée dans les informations d'en-tête de l'ensemble de données et peut être modifiée dans l'onglet Composants et affectations de la boîte de dialogue Propriétés.

L'ensemble de données qui contient les séries de données avec les valeurs X y est marqué comme la composante X, et les ensembles de données contenant les valeurs Y pour les canaux individuels d'une mesure sont marqués comme les composantes Y respectivement. En outre, il est fait référence à l'ensemble de données X dans les informations d'en-tête des ensembles de données Y.

En effectuant des affectations, FlexPro peut toujours trouver le jeu de données X approprié, par exemple, lors de la création d'un graphique. Dans la courbe du graphique, FlexPro active ensuite l'option Séparer les ensembles de données pour les composants X et Y et saisit en outre l'ensemble de données X affecté dans l'ensemble de données Y dans la courbe.

Cette affectation peut être effectuée non seulement pour les ensembles de données, mais aussi pour tous les objets de données, tels que les formules. Pour les formules, cependant, l'affectation n'est généralement pas nécessaire, puisque la composante X peut simplement être incluse dans le résultat avec la fonction Signal.

Commande de données

L'ordre des données est une propriété d'une série de données, qui spécifie comment les valeurs de la série de données sont triées. Une distinction peut être faite entre les ordres de données suivants :

Description

Utilité

Aucun

Les valeurs de l'ensemble de données ne sont pas dans un ordre particulier.

Constante

L'ensemble de données est une valeur scalaire, ou toutes les valeurs de l'ensemble de données sont identiques.

Augmentation de

Chaque valeur de l'ensemble de données est supérieure ou égale à celle qui la précède.

Augmentation linéaire

La distance entre les valeurs voisines est constante et supérieure à zéro.

Diminution de

Chaque valeur de l'ensemble de données est inférieure ou égale à celle qui la précède.

Diminution linéaire

La distance entre les valeurs voisines est constante et inférieure à zéro.

Un signal pour lequel la composante X est linéairement croissante est décrit comme étant échantillonné de manière équidistante. Certains algorithmes d'analyse de données, par exemple la FFT, l'exigent.

FlexPro affiche l'ordre des données des composants individuels des objets de données dans une fenêtre popup lorsque vous utilisez la souris pour pointer l'objet dans la liste des objets.

Informations d'en-tête

Les informations d'en-tête, également appelées métadonnées ou en-tête de données, sont des attributs que vous pouvez attribuer à un objet de données.

À cette fin, vous pouvez saisir les éléments suivants dans la boîte de dialogue Propriétés d'un objet de données (les quatre premiers attributs s'appliquent à chaque objet, et pas seulement aux objets de données) :

Commentaires

Il s'agit de commentaires concernant le contenu de l'objet. Les commentaires apparaissent avec le nom dans la liste des objets. Vous pouvez saisir jusqu'à trois commentaires pour les objets de données avec une structure de données agrégée. Un pour chaque composant.

Hyperlien

Une référence à un fichier externe, un site web, une adresse e-mail ou un autre objet de la base de données du projet. La commande Suivre un hyperlien ouvre l'objet auquel il fait référence.

Date

La date et l'heure de création de l'objet sont spécifiées ici.

Paramètres

Une liste de paramètres librement modifiable dans laquelle des informations supplémentaires peuvent être enregistrées.

Les attributs suivants sont spécifiques aux objets de données :

Calculs

Une liste de calculs qui fournissent des quantités liées à l'ensemble de données. Habituellement, vous configurez les calculs pour l'indexation des données. Lors de l'importation d'un ensemble de données, Data Explorer les copie ensuite dans les informations d'en-tête de l'ensemble de données.

Unité

L'unité physique pour les composants individuels de l'objet de données. L'interprétation de l'unité dans les informations d'en-tête dépend du fait que l'objet de données est un ensemble de données, une formule ou un objet d'analyse :

oL'unité est attribuée aux données d'un ensemble de données sans transformation, et dans le futur, celles-ci seront retournées comme présentes dans cette unité. Dans les ensembles de données, FlexPro garde généralement toujours l'unité de données en synchronisation avec l'unité dans les informations d'en-tête.

oLes données d'une formule ou d'un objet d'analyse sont toutefois transformées en cette unité avant chaque accès. Si le code FPScript fournit un résultat sans unité, l'unité spécifiée sera attribuée sans transformation. Cependant, si le code fournit un résultat avec une unité, celle-ci sera transformée en l'unité spécifiée. Si l'unité contenue dans les informations d'en-tête est incompatible avec l'unité fournie par le résultat de la formule FPScript, vous verrez apparaître un message d'erreur de FlexPro.

Remarque : Pour transformer les données d'un ensemble de données en une unité différente, utilisez la commande Change Units ou saisissez le nouveau symbole d'unité dans le champ Data Unit de la fenêtre Properties.

Quantité

Le nom de la quantité physique pour les composants individuels de l'objet de données.

Limites supérieure et inférieure de la plage de données

Avec les données mesurées, ces champs spécifient la plage de données utilisée dans l'unité physique des données, telle que -5 V à +5 V. FlexPro peut les utiliser pour la mise à l'échelle automatique des axes. Les limites de la plage de données sont facultatives. Si vous ne les spécifiez pas, le minimum et le maximum de l'ensemble de données seront utilisés à la place.

Horodateur

FlexPro utilise ces champs, s'ils sont spécifiés, pour convertir les données temporelles du temps relatif au temps absolu et vice versa. L'horodatage est une valeur de temps calendaire, à laquelle est attribué le temps t = 0 dans les données temporelles. Lors de la conversion en temps absolu, il est ajouté à toutes les données, et lors de la conversion en temps relatif, il est soustrait.

Auteur

L'auteur de l'objet. Ceci est particulièrement utile pour les ensembles de données saisis manuellement et pour les formules.

Origine

Une description de l'origine de l'objet de données, par exemple le nom de l'emplacement d'une mesure.

Ensembles de données assignés

Désigne les objets de données affectés qui forment une structure de données agrégée avec les données de l'objet (voir ci-dessus).

Format, format X, format Z

Spécifie comment les données de l'objet de données doivent être formatées lors de la sortie.

Couleur

Une couleur peut être attribuée à chaque ensemble de données pendant l'importation des données. Cette couleur a ensuite la priorité sur le schéma de couleurs du graphique lorsqu'il est affiché sous forme de courbe. Les couleurs sont lues à partir du fichier à importer tant qu'elles sont stockées dans le fichier. Le résultat est que les courbes dans FlexPro sont affichées dans les mêmes couleurs que celles qui sont affichées sur l'appareil de mesure.

Exportation de données

FlexPro vous offre la possibilité d'exporter des ensembles de données, des formules et des objets connexes. Vous pouvez enregistrer les données dans les formats de fichier FlexPro (.fpf), Texte (.txt), CSV (.csv) et (.wav) ainsi que dans plusieurs formats de fichier propriétaires. CSV signifie Comma Separated Values. Dans ce format, les valeurs sont séparées par le séparateur de liste spécifié dans le panneau de configuration de Windows sous la rubrique Région.

Lors de l'enregistrement au format CSV ou texte, vous avez la possibilité d'exporter plusieurs objets les uns en dessous des autres ou côte à côte dans un seul fichier. Pour ces formats, vous pouvez en outre sélectionner différents formats de fichier et préciser si le code de résultat ou de formule doit être édité pour les formules.

Le format FlexPro est similaire à une variante du format texte, où les données de plusieurs ensembles de données sont stockées côte à côte dans un tableau et avec toutes les informations d'en-tête. Dans ce cas, toutefois, une ligne supplémentaire contenant un identifiant de format de données est ensuite éditée. Quels que soient les paramètres du système, les valeurs à virgule flottante sont toujours éditées avec un point comme symbole décimal. Les heures du calendrier sont également toujours éditées dans le même format, quels que soient les paramètres du système.

Principalement les signaux et les séries de signaux avec deux signaux sont adaptés à l'exportation en tant que fichier audio. Les signaux sont traités comme un signal mono, et les séries de deux signaux sont traitées comme un signal stéréo. Les séries de signaux comportant plus de deux canaux sont exportées en tant que fichiers wave multicanaux. La composante X des données doit correspondre à l'une des fréquences d'échantillonnage suivantes prises en charge par le format de fichier audio : 11025 Hz, 22050 Hz ou 44100 Hz.

Vous pouvez exporter les données des formules, des ensembles de données et des objets connexes en tant qu'objets OLE et ainsi insérer des liens vers ces données dans des applications client OLE. FlexPro fournit les données en format CSV et texte.

Voir aussi

Ensemble de données

Formules

Objet d'analyse

Objet de liaison de données

Travailler avec des objets de données

Lecture d'objets de données sous forme de fichier audio

Modification des informations d'en-tête d'un objet de données

Modification des unités d'objets de données

Conversion de formules, d'objets d'analyse ou d'objets de liaison de données en ensembles de données

Conversion d'objets d'analyse ou d'objets de liaison de données en formules

Consolidation de plusieurs objets de données dans une liste

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :