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 :
Aucun
Propriété définie sur l'objet local. Il s'agit du réglage par défaut.
Liaison locale
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.
Liaison distante
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 rubrique Types de base des propriétés.
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, vous pouvez utiliser les services UpdatePropertyValues et UpdatePropertyValuesBatched, qui vous permettent d'effectuer des mises à jour de valeur de plusieurs propriétés. Les valeurs de propriété ne peuvent pas être nulles. Pour plus d'informations sur ces services, consultez la table ci-dessous.
Option
Description
UpdatePropertyValues
Accepte un seul paramètre de table d'informations de valeurs composé de plusieurs lignes. Chaque ligne contient le nom, la valeur et la qualité de la propriété, avec l'horodatage de mise à jour. Les valeurs de propriété ne peuvent pas être nulles.
Par défaut, les mises à jour des valeurs sont effectuées séparément pour chaque propriété. Pour que les valeurs soient triées et regroupées par horodatage plutôt que par propriété, le paramètre GroupPropertyValuesByTime doit être défini sur true dans la section BasicSettings du fichier platform-settings.json.
Lorsque le paramètre ci-dessus est défini sur true, dans toutes les propriétés mises à jour avec le même horodatage, les événements déclenchés par des données s'activent en même temps que les alertes. Par conséquent, les abonnements multi-événements enregistrés pour tout ou partie de ces événements ne s'exécutent qu'une fois par horodatage et les événements correspondants sont transmis dans le paramètre events.
UpdatePropertyValuesBatched
Accepte un seul paramètre de table d'informations batches composé de plusieurs lignes. Chaque ligne contient un lot de valeurs de propriétés et l'horodatage de mise à jour.
La valeur du champ batch est une table d'informations composée de plusieurs lignes. Chaque ligne contient le nom, la valeur et la qualité de la propriété. Les valeurs de propriété ne peuvent pas être nulles.
Les valeurs des propriétés sont triées et regroupées par horodatage des lots, ce qui signifie que, dans toutes les propriétés mises à jour avec le même horodatage, les événements déclenchés par des données s'activent en même temps que les alertes. Par conséquent, les abonnements multi-événements enregistrés pour tout ou partie de ces événements ne s'exécutent qu'une fois par horodatage et tous les événements correspondants sont transmis dans le paramètre events.
* 
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.
L'événement HistoricalDataLogged se déclenche lors de la définition d'une valeur de propriété 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 :
Type de base : consultez la rubrique Types de base des propriétés.
Possède une valeur par défaut : définit une valeur par défaut pour la propriété lors de l'initialisation de l'objet.
Index : si ce paramètre est activé, la propriété est stockée et indexée dans la base de données du fournisseur de persistance de propriétés pour des recherches plus performantes à l'aide du service QueryImplementingThingsOptimized. Pour plus d'informations, consultez la rubrique Propriétés indexées.
Seules les propriétés qui ne sont pas fréquemment modifiées doivent être indexées. Les propriétés de données de télémesure ne doivent pas être indexées.
Lorsque vous sélectionnez Index, le paramètre Persister est automatiquement sélectionné, et la modification du paramètre Persister est désactivée.
Si le paramètre Index est désactivé par la suite, l'option Persister sera conservée, mais sa modification sera réactivée pour vous permettre de le définir ou de le désélectionner.
Seuls les types de base suivants prennent en charge le paramètre Index : STRING, NUMBER, INTEGER, LONG, BOOLEAN, DATETIME, THINGNAME, USERNAME, GROUPNAME, HYPERLINK, IMAGELINK, MASHUPNAME, MENUNAME, DASHBOARDNAME, TEXT, GUID, NOTIFICATIONCONTENTNAME, NOTIFICATIONDEFINITIONNAME, STYLETHEMENAME et THINGGROUPNAME.
Persister : lorsque ce paramètre est activé ou défini sur "vrai", chaque modification de valeur est rendue persistante 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.
Journal : 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.
Etendue : sélectionnez l'étendue de la propriété.
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 types numériques, l'événement de modification sera déclenché si la nouvelle valeur a changé de plus du seuil de tolérance défini. Pour les types non numériques, l'événement de modification se déclenchera si la valeur diffère de celle d'origine. La consignation de la valeur dans un flux de valeurs ne se produit que s'il a été déterminé que la valeur a changé.
Désapprouvé
Si vous cochez la case Désapprouvé, l'entité sera désapprouvée. Entrez la Version dans laquelle l'entité doit être désapprouvée, au format major.minor.patch. Si vous le souhaitez, ajoutez un commentaire.
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.
* 
Si l'option En mode déconnecté est configurée via un service pour définir Compiler toutes les modifications en une seule dernière valeur modifiée, définissez foldType sur FOLD.
Si l'option En mode déconnecté est configurée via un service pour définir Ignorer les modifications de valeur, définissez foldType sur NONE.
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.).
Rubriques connexes
Est-ce que cela a été utile ?