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 efficace de surveiller les conditions présentes d'un objet. Elles peuvent être :
statiques : valeurs qui ne changent pas, telles que le fabricant et le numéro de modèle ;
dynamiques : valeurs qui changent au fil du temps, telles que la température.
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.
Types de liaison de propriété
Lorsque vous créez une propriété, vous pouvez sélectionner 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
La propriété est liée à 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. Ce type de liaison n'est généralement pas utilisé 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.
* 
Après modification de la valeur de la propriété distante sur l'objet distant via Composer, elle n'est pas enregistrée dans ThingWorx et l'événement DataChange n'est pas déclenché. Seule la mise à jour de la propriété est envoyée à l'Edge.
* 
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é.
Détails de la 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.
Mise à jour des valeurs de propriété
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.
* 
Avant d'utiliser le service UpdatePropertyValues, assurez-vous que l'utilisateur actuel dispose d'une autorisation d'écriture pour la propriété. Ce service n'utilise pas les autorisations utilisateur système lors de la mise à jour des valeurs VTQ.
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, si l'horodatage actuel d'une propriété VTQ est 2020-02-04 20:16:20 et qu'une valeur historique avec l'horodatage 2019-12-24 19:00:45 est importée, l'événement se déclenchera. Tous les abonnements à cet événement seront exécutés en conséquence.
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 : fournit un contexte concernant les données stockées dans la propriété. Pour plus d'informations, 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 : si cette option est sélectionnée ou définie sur true, 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 : si ce paramètre est sélectionné ou défini sur true, les données sont statiques et ne peuvent pas être écrites au moment de l'exécution. Leur 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 : si ce paramètre est sélectionné ou défini sur true, la valeur de la propriété est automatiquement journalisée dans un flux de valeurs chaque fois que les données changent, en fonction du type de modification des données.
* 
Si un événement de modification de données ne se déclenche pas, l'entrée de flux de valeurs peut ne pas être journalisé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. Une 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
Le type de modification des données spécifie à quel moment une modification de la valeur de la propriété doit déclencher un événement de modification de données. Ce paramètre est utile lorsque 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 : déclenche un événement de modification de données chaque fois que la valeur de la propriété change, quelle que soit la valeur.
Jamais : désactive les événements de modification de données pour la propriété. Aucun événement n'est déclenché.
Actif : déclenche un événement de modification de données lorsque la valeur de la propriété change. Avec la plupart des types de base, toute modification déclenchera un événement. Pour les types de données plus complexes (infotables, par exemple), les règles d'événement peuvent être différentes.
Inactif : déclenche un événement de modification de données uniquement lorsque la nouvelle valeur correspond à Boolean false.
Valeur : pour les types de base numériques, un événement de modification de données est déclenché uniquement si la nouvelle valeur diffère de la précédente de plus d'un seuil défini. Pour les types non numériques, l'événement de modification est déclenché chaque fois que la valeur change. 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
Spécifie le 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
Définit la façon dont le serveur récupère la valeur de la propriété Edge liée. Les options disponibles sont les suivantes :
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
Spécifie la 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
Détermine 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
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
Disponible lorsque Type de push est défini sir 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é
Spécifie le 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.).
Liens connexes
Est-ce que cela a été utile ?