Propriétés d'objet
Les propriétés d'objet sont utilisées pour décrire les points de données associés à un objet. Par exemple, un client peut avoir une propriété Nom et une propriété Adresse. Un camion peut avoir des propriétés Chauffeur, Capacité et Emplacement.
Les propriétés sont un moyen simple et pratique de connaître les conditions présentes d'un objet. Les propriétés peuvent être statiques (par exemple, Fabricant et Numéro de modèle) ou dynamiques (Température, par exemple). Vous configurez vos propriétés d'objet en fonction de la structure de vos actifs, de vos processus métier et des solutions que vous souhaitez fournir.
Lorsque vous créez une propriété, vous pouvez choisir l'un des types de liaison suivants :
My Property
Propriété définie sur l'objet local. Il s'agit du réglage par défaut.
Local Bound
Lie la propriété à une autre propriété définie sur un autre objet sur le serveur ThingWorx. Vous pouvez configurer cette propriété en lecture seule et elle recevra sa valeur d'une autre propriété sur le serveur. A ne pas utiliser pour un périphérique distant, sauf si vous créez une liaison locale à une propriété liée à une propriété distance.
Remote
Lorsqu'un périphérique distant se connecte pour la première fois à un serveur ThingWorx, le serveur lie le périphérique distant à son objet correspondant. Une fois le périphérique distant lié, vous devez créer une liaison distante entre chaque propriété définie sur ce périphérique distant et l'objet distant qui représente le périphérique dans ThingWorx. ThingWorx utilise cette liaison pour envoyer et recevoir des mises à jour pour chaque valeur de propriété d'un périphérique distant sur une connexion WebSocket active.
* 
Lorsqu'un objet local et un objet distant ont une propriété de même nom, et qu'une autre propriété est liée au paramètre de propriété distante, la propriété distante définit également la valeur de la propriété locale.
* 
Pour plus d'informations sur la configuration des liaisons de propriété, qu'elles soient locales ou distantes, consultez la rubrique Gestion des liaisons de propriété.
Chaque propriété possède un nom, une description et un type de données ThingWorx, appelé Type de base dans ThingWorx. Selon le type de base spécifié, des champs supplémentaires peuvent être activés. Pour une propriété de type scalaire simple (nombre ou chaîne, par exemple), seuls des champs de base sont ajoutés, comme celui d'une valeur par défaut. Les types de base plus complexes mettent à votre disposition davantage d'options. Par exemple, dans le cas d'un type de base INFOTABLE, vous avez la possibilité de définir une forme de données pour décrire la structure de données de la table d'informations. Pour plus d'informations, consultez la table ci-après décrivant les types de base.
Une valeur de propriété d'objet est constituée de trois caractéristiques : valeur, horodatage et qualité (VTQ). Les valeurs VTQ peuvent être fournies ou définies automatiquement. Les statuts de qualité acceptables se trouvent dans la classe QualityStatus. Chaque fois qu'une propriété est définie ou mise à jour, toutes ses caractéristiques VTQ sont actualisées.
En général, une propriété peut être mise à jour dans Composer en définissant me.PropertyName = valeur. L'horodatage correspond à celui du serveur. Pour les mises à jour historiques par lots, vous pouvez utiliser le service UpdatePropertyValues, qui vous permet de transmettre une valeur, un horodatage et une qualité spécifiques. Les valeurs de propriété ne peuvent pas être nulles.
* 
Lors de l'écriture de services personnalisés, évitez de générer du code pouvant modifier simultanément la même propriété d'une entité donnée. Par exemple, n'incrémentez ni ne décrémentez pas simultanément une valeur de propriété, car cela peut entraîner des valeurs de propriété imprévisibles. De même, l'incrémentation de propriétés de manière à agir comme des compteurs dans les abonnements est une utilisation inappropriée qui entraînera des imprécisions.
Dans les versions ThingWorx 8.3.13, 8.4.9, 8.5.5 et ultérieures, l'événement HistoricalDataLogged se déclenche lors de la définition d'une valeur de propriété d'historique. Par exemple, imaginez que l'horodatage actuellement défini d'une propriété VTQ sur une entité est 2020-02-04 20:16:20. Lors de l'importation d'une nouvelle version de cette entité, une propriété VTQ plus ancienne est définie (par exemple, 2019-12-24 19:00:45). Cela entraînera le déclenchement de l'événement HistoricalDataLogged pour cette propriété, et tous les abonnements à cet événement sur la propriété seront exercés.
Alertes
Pour en savoir plus sur les alertes, consultez la rubrique Alertes.
Aspects des propriétés
Les propriétés peuvent présenter les aspects suivants :
Persistant
Lorsque ce paramètre est activé ou défini sur "vrai", chaque modification de valeur est conservée dans la base de données.
Les écritures dans la base de données des propriétés persistantes se produisent de manière asynchrone pour éviter les blocages. Alors que la valeur de la propriété est définie immédiatement, l'écriture en base de données se produit de manière asynchrone à un moment ultérieur. Les validations suivantes sont effectuées avant toute écriture d'une valeur de propriété persistante dans la base de données :
L'objet doit toujours exister.
L'objet doit posséder un ID.
L'ID de l'objet et l'ID de l'écriture en attente doivent correspondre.
L'objet doit toujours définir la propriété avec le même nom que l'écriture en attente.
La propriété définie doit toujours être persistante.
Les mises à jour et les redémarrages n'affectent pas le traitement de la file d'attente.
Lecture seule
Lorsque ce paramètre est activé ou défini sur "vrai", les données sont statiques et protégées contre toute écriture lors de l'exécution. La valeur ne peut changer que du fait d'une modification de la valeur par défaut. Ce réglage est utile pour les données de configuration statiques.
Journalisé
Lorsque ce paramètre est activé ou défini sur "vrai", la valeur de la propriété est automatiquement consignée dans un flux de valeurs à chaque modification de données (selon le type de modification des données).
* 
Si l'événement de modification de données ne se déclenche pas dans certaines circonstances, l'entrée de flux de valeurs peut ne pas être consignée, mais la valeur de propriété définie est conservée. Des propriétés peuvent être définies sur une entité, mais l'écriture des flux de valeurs correspondants peut être abandonnée, la file d'attente contenant ces écritures étant saturée et dans l'incapacité de se vider dans la base de données. Cela peut se produire si le volume des écritures entrantes est supérieur à la vitesse de vidage de la file d'attente. Cela peut être ajusté dans le fichier platform-settings.json de chaque fournisseur de persistance. La perte de connexion entre ThingWorx et la base de données peut également entraîner la sauvegarde de la file d'attente et un vidage non optimal.
Informations de modification des données
Type de modification des données
Ce paramètre vous permet de spécifier dans quelle mesure une modification de la valeur de la propriété doit déclencher un événement de modification de données. Il est utile quand d'autres processus doivent être lancés en fonction de la valeur de la propriété. Chaque abonné reçoit un avis de modification avec une table d'informations contenant l'ancienne et la nouvelle valeurs de la propriété. Par exemple, vous pouvez mettre en place un abonnement aux modifications apportées à la propriété DeliverySchedule, de manière à ce que, en cas de changements dans la planification des livraisons, vos chauffeurs puissent en être avisés par SMS.
Les options disponibles pour le paramètre Type de modification des données sont les suivantes :
Toujours : toute modification de la valeur de la propriété déclenchera l'événement auprès des abonnés.
Jamais : aucun événement de modification ne sera jamais déclenché.
Actif : pour la plupart des valeurs, toute modification déclenchera l'événement. Pour les types de données plus complexes (infotables, par exemple), les règles d'événement peuvent être différentes.
Inactif : l'événement sera déclenché si la nouvelle valeur entraîne une évaluation booléenne fausse.
Valeur : pour les valeurs numériques, l'événement sera déclenché si la nouvelle valeur a changé de plus du seuil de tolérance défini. La valeur de seuil est spécifiée avec le paramètre dataChangeThreshold (dont le type de base est NUMBER). Pour les valeurs non numériques, ce réglage se comporte de la même façon que Toujours.
Informations de liaison distante
La table ci-dessous répertorie les options disponibles si l'option Liaison est définie sur Liaison distante.
Option
Description
Nom de propriété distante
Nom de la propriété tel que défini sur l'Edge.
* 
Le nom de propriété et le nom de la propriété d'objet Edge liée n'ont pas besoin d'être identiques.
Méthode de mise en cache
Les options suivantes sont disponibles pour lire les valeurs des propriétés Edge liées :
Lire dans le cache du serveur interdit toute demande serveur sur la valeur de la propriété Edge. La valeur est uniquement récupérée sur le serveur. Les mises à jour de la valeur de la propriété Edge mise en cache sur le serveur sont tributaires du Type de modification des données et du taux d'analyse de la propriété Edge (à savoir, du push de la valeur de la propriété Edge). A défaut de paramétrage approprié sur la propriété Edge, il est possible que le serveur n'obtienne jamais la valeur de la propriété Edge et qu'il se contente de renvoyer la valeur par défaut de la propriété serveur. Si le Type de modification des données de la propriété Edge avec laquelle s'effectue la liaison est défini sur TOUJOURS ou VALEUR, le type de mise en cache prendra ce réglage par défaut.
Extraire à distance à chaque lecture récupère la valeur de la propriété Edge sur l'Edge à chaque demande. Cette option n'implique aucune mise en cache. Si le Type de modification des données de la propriété Edge avec laquelle s'effectue la liaison est défini sur JAMAIS, le type de mise en cache prend ce réglage par défaut.
Mis en cache aux moments spécifiés contrôle la fréquence à laquelle sont effectuées les demandes sur la propriété Edge. Après la première demande, le serveur accède à la propriété Edge pour connaître sa valeur, puis n'effectue aucune autre demande sur la propriété Edge pendant la durée définie. Notez que la propriété Edge peut mettre à jour la valeur serveur (par push) dans ce laps de temps.
Intervalle de mise en cache
Durée, en secondes, pendant laquelle le serveur met en cache la valeur de la propriété Edge avant qu'une demande de la valeur de la propriété ne la récupère depuis l'Edge. La valeur est toujours récupérée sur l'Edge lors de la première demande.
Type de démarrage
Spécifie la valeur utilisée pour initialiser une propriété liée à distance lorsque son objet démarre ou redémarre. Cette valeur d'initialisation ne déclenche pas d'événement de modification de propriété.
Utiliser la valeur par défaut : définit la valeur initiale de la propriété sur la valeur par défaut spécifiée, indépendamment de la valeur côté Edge. Si la propriété est persistante, la valeur initiale sera définie sur la dernière valeur conservée dans la base de données.
Lire la valeur Edge : interroge l'Edge pour connaître sa valeur actuelle afin que la valeur sur le serveur soit toujours synchronisée avec la valeur sur l'Edge, même lorsque l'objet redémarre sur le serveur.
Type de push
Type de push s'applique uniquement aux propriétés des objets Edge Enhanced. Ces composants ont la capacité de transmettre par push leurs modifications de valeur au serveur. Cette fonctionnalité peut être configurée via une liaison avec les propriétés serveur.
Push sur modification de la valeur : vous pouvez définir un seuil de modification de la valeur. Lorsque vous utilisez cette option, vous pouvez également définir la valeur Seuil de push, à savoir une plage d'insensibilité que doivent dépasser les variations de la valeur pour être transmises depuis l'Edge.
Aucun push
Push systématique
Seuil de push
Cette option est disponible si Type de push est défini sur Push sur modification de la valeur. Elle spécifie une plage d'insensibilité autour de la valeur de la propriété Edge que doivent dépasser les variations de la valeur pour que le push se produise. L'ampleur de la variation de la valeur de la propriété doit être supérieure à la valeur spécifiée.
En mode déconnecté
Spécifie comment il convient de gérer la liaison avec les valeurs des propriétés distantes en cas de perte de la connexion à l'objet distant.
Ignorer les modifications de valeur en mode déconnecté.
Compiler toutes les modifications en une seule dernière valeur modifiée : envoie la dernière valeur modifiée lorsque la connexion est restaurée.
Délai d'inactivité
Délai d'attente utilisé pour les appels aux objets distants lors de la lecture ou de l'écriture d'une propriété.
Utiliser le paramétrage par défaut du système : la valeur par défaut est de 30 secondes.
Délai d'inactivité personnalisé. Renseignez le champ Intervalle du délai d'inactivité (sec.).
Types de base de propriétés
Le type de base défini fournit des informations contextuelles concernant les données stockées dans la propriété. La table suivante répertorie les types de base disponibles pour toutes les entités objet :
Type de base
Description
BASETYPENAME
Nom de type de base valide.
BLOB
Objet Blob.
BOOLEAN
Valeur Vrai ou Faux.
DASHBOARDNAME
Nom de tableau de bord.
DATASHAPENAME
Référence à une forme de données dans le modèle. Fait l'objet d'un traitement spécial.
DATETIME
Date et heure formatées.
GUID
Identificateur global unique. Lorsqu'une propriété GUID est créée, un GUID est automatiquement créé dès lors qu'aucune valeur ou valeur par défaut n'a été définie par l'utilisateur. Les comportements suivants valent pour les propriétés GUID persistantes et non persistantes et sont également applicables dans un scénario de fédération :
Si la propriété est définie comme persistante ou non persistante et qu'aucune valeur ou valeur par défaut n'a été définie par l'utilisateur, une nouvelle valeur GUID sera générée à chaque initialisation de l'objet. Une nouvelle valeur est générée lors de tout redémarrage du système ou de l'objet.
Si la propriété est persistante et qu'une valeur ou une valeur par défaut a été définie par l'utilisateur, aucune nouvelle valeur n'est générée lors du redémarrage de l'objet ou du système.
GROUPNAME
Nom de groupe d'utilisateurs.
HTML
Contenu HTML.
HYPERLINK
URL standard (telle que www.ptc.com).
IMAGE
Données binaires qui peuvent être rendues sous la forme d'une image.
IMAGELINK
Lien URL vers une image.
INFOTABLE
Représentation standard de données dans ThingWorx, similaire à un jeu de résultats SQL. Un certain nombre de services intégrés sont disponibles pour la génération, la consommation et l'analyse d'une table d'informations.
INTEGER
Valeur numérique qui n'a pas de partie décimale.
JSON
Objet au format JSON (JavaScript Object Notation).
LOCATION
Coordonnées WGS (World Geodetic System) 84 standard, exprimées sous la forme [longitude, latitude], élévation.
LONG
Le type LONG s'utilise lorsqu'une valeur est plus longue que celles qu'autorise le type de base INTEGER.
MASHUPNAME
Référence à une application composite ThingWorx. Fait l'objet d'un traitement spécial.
MENUNAME
Nom de menu.
NUMBER
Valeur numérique.
* 
Les valeurs exponentielles sont autorisées. Par exemple, 123e45.
PASSWORD
Valeur de mot de passe masquée.
* 
Pour plus d'informations, consultez la rubrique Mots de passe.
QUERY
Objet JSON incluant un tableau de filtres. Chaque filtre doit inclure des éléments value, type et fieldname.
SCHEDULE
Planification CRON (configurée à l'aide de l'éditeur de planification).
STRING
Chaîne de caractères alphanumériques de n'importe quelle longueur.
TAGS
Valeurs de tag ThingWorx.
TEXT
Chaîne de caractères alphanumériques de n'importe quelle longueur. A la différence d'une chaîne STRING, une chaîne TEXT est indexée.
THINGCODE
Représentation numérique d'un objet contenant un ID de domaine et un ID d'instance. Par exemple, 2:1.
THINGNAME
Référence à un objet dans le modèle. Fait l'objet d'un traitement spécial.
THINGSHAPENAME
Référence à une forme d'objet dans le modèle. Fait l'objet d'un traitement spécial.
THINGTEMPLATENAME
Nom de modèle d'objet.
USERNAME
Référence à un utilisateur ThingWorx.
VEC2
Suite de deux valeurs numériques. Coordonnées 2D x et y, par exemple.
VEC3
Suite de trois valeurs numériques. Coordonnées 3D x, y et z, par exemple.
VEC4
Suite de quatre valeurs numériques. Coordonnées 4D x, y, z et w, par exemple.
XML
Extrait de code ou document XML.
* 
Les valeurs entrées dans les champs Valeur min. et Valeur max. sont uniquement indicatives. Des valeurs inférieures ou supérieures aux valeurs spécifiées sont acceptées.
Rubriques connexes