Propiedades de cosa
Las propiedades de cosa se utilizan para describir los puntos de datos relacionados con una cosa. Por ejemplo, supongamos que un cliente tiene una propiedad de nombre y una propiedad de dirección. Un camión puede tener las siguientes propiedades: conductor, capacidad y ubicación.
Las propiedades son una manera simple y práctica de saber las condiciones actuales de una cosa. Las propiedades pueden ser estáticas (por ejemplo, fabricante y número de modelo) o dinámicas (por ejemplo, temperatura). Se pueden configurar propiedades en función de la estructura de activos, los procesos empresariales y las soluciones que se quieren proporcionar.
Al crear una propiedad, se puede seleccionar uno de los siguientes tipos de enlaces:
Ninguno
Una propiedad para una cosa local. Esta es la configuración por defecto.
Enlazado localmente
Permite vincular la propiedad con una propiedad definida en una cosa distinta del servidor de ThingWorx. Esta propiedad se puede definir para que sea de solo lectura y, además, puede recibir un valor de otra propiedad en el servidor. No se utiliza para dispositivos remotos, a menos que se cree un enlace local a una propiedad enlazada de manera remota.
Enlazado remotamente
Cuando un dispositivo remoto se conecta por primera vez a un servidor ThingWorx, el servidor enlaza el dispositivo remoto a su cosa correspondiente. Una vez enlazado el dispositivo remoto, se debe crear un enlace remoto entre cada propiedad definida en dicho dispositivo y la cosa remota que representa el dispositivo en ThingWorx. ThingWorx utiliza este enlace para enviar y recibir actualizaciones de cada valor de propiedad de un dispositivo remoto en una conexión de WebSocket activa.
* 
Si una cosa local y una cosa remota tienen una propiedad con el mismo nombre y otra propiedad está enlazada a la configuración de propiedad remota, la propiedad remota también define el valor de la propiedad local.
* 
Para obtener información sobre la configuración de enlaces de propiedad, ya sean locales o remotos, consulte Gestión de enlaces de propiedad.
Cada propiedad tiene un nombre, una descripción y un tipo de datos de ThingWorx denominado tipo base en ThingWorx. En función del tipo base, se pueden activar campos adicionales. Un tipo escalar sencillo, como un número o una cadena, permite añadir campos básicos como valor por defecto. Los tipos base más complejos tienen más opciones. Por ejemplo, un tipo base de INFOTABLE incluye la capacidad de definir una definición de datos para describir la estructura de datos de la infotable. Para obtener más información, consulte Tipos base de propiedades.
Un valor de propiedad de cosa consta de tres características: valor, fecha y calidad (VTQ). Se pueden proporcionar o definir automáticamente valores de VTQ, y los estados de calidad aceptable se encuentran en la clase QualityStatus. Siempre que se define o se actualiza una propiedad, se actualizan todas sus características de VTQ.
En general, una propiedad se puede actualizar en Composer definiendo me.PropertyName = value, y la fecha y hora reflejarán la fecha y hora actuales del servidor. Para las actualizaciones históricas, se pueden utilizar los servicios UpdatePropertyValues y UpdatePropertyValuesBatched, que permiten realizar actualizaciones de valores de múltiples propiedades. Los valores de la propiedad no se pueden definir en nulo. Para obtener más información sobre estos servicios, consulte la siguiente tabla.
Opción
Descripción
UpdatePropertyValues
Permite aceptar un parámetro de infotable de valores únicos que consta de múltiples filas. En cada fila se incluyen el nombre, el valor y la calidad de la propiedad, acompañados por la fecha y hora de actualización. Los valores de la propiedad no se pueden definir en nulo.
Por defecto, las actualizaciones de valores se realizan para cada propiedad por separado. Para clasificar y agrupar los valores por fecha y hora en lugar de por propiedad, la configuración GroupPropertyValuesByTime se debe definir en verdadero en la sección BasicSettings de platform-settings.json.
Cuando la configuración anterior se define en verdadero, las alertas y los eventos activados por datos de todas las propiedades actualizadas con la misma fecha y hora se lanzan juntos. Como resultado, las suscripciones multievento registradas para algunos o todos estos eventos solo se ejecutarán una vez por fecha y hora, y los eventos coincidentes se pasarán en el parámetro events.
UpdatePropertyValuesBatched
Acepta un único parámetro batches de infotable que consta de múltiples filas. En cada fila se incluye un lote de valores de propiedades y la fecha y hora de actualización.
El valor del campo batch es una infotable que consta de múltiples filas. En cada fila se incluyen el nombre, el valor y la calidad de la propiedad. Los valores de la propiedad no se pueden definir en nulo.
Los valores de las propiedades se clasifican y agrupan por marcas de fecha y hora de los lotes, lo que significa que los eventos y las alertas activados por datos de todas las propiedades actualizadas con la misma fecha y hora se lanzan juntos. Como resultado, las suscripciones multievento registradas para algunos o todos estos eventos solo se ejecutarán una vez por fecha y hora, y todos los eventos coincidentes se pasarán en el parámetro events.
* 
Al escribir servicios personalizados, se debe evitar la generación de código que puede modificar simultáneamente la misma propiedad de una entidad dada. Por ejemplo, no incremente ni reduzca simultáneamente un valor de propiedad, ya que puede provocar valores de propiedad imprevisibles. Del mismo modo, el incremento de las propiedades para que actúen como contadores dentro de las suscripciones es un uso incorrecto habitual que provocará inexactitudes.
El evento HistoricalDataLogged se inicia cuando se define un valor de propiedad histórica. Por ejemplo, considere que la fecha y hora del conjunto actual de una propiedad VTQ en una entidad es 2020-02-04 20:16:20. Al importar una nueva versión de la entidad, se define una propiedad VTQ anterior, como 2019-12-24 19:00:45. Dicho conjunto hará que se inicie el evento HistoricalDataLogged para dicha propiedad y se utilizarán todas las suscripciones a ese evento en la propiedad.
Alertas
Para obtener información sobre alertas, consulte Alertas.
Aspectos de las propiedades
Las propiedades pueden tener la siguiente configuración de aspecto:
Tipo base: consulte Tipos base de propiedades.
Tiene valor por defecto: permite definir un valor por defecto para la propiedad cuando se inicializa la cosa.
Índice: si se selecciona, la propiedad se almacena y se indexa en el proveedor de persistencia de propiedad de base de datos para mejorar la búsqueda mediante el servicio QueryImplementingThingsOptimized. Consulte Propiedades indexadas para obtener más información.
Solo se deben indexar las propiedades que cambian con poca frecuencia. Las propiedades de datos de telemetría no se deben indexar.
Si se selecciona Índice, se seleccionará automáticamente la configuración Persistir y se desactivará la edición de la configuración Persistir.
Si la configuración Índice se desactiva posteriormente, la opción Persistir permanecerá seleccionada, pero la edición se volverá a activar para que el usuario pueda definirla o anular su selección.
Solo los siguientes tipos base soportan la configuración Índice: STRING, NUMBER, INTEGER, LONG, BOOLEAN, DATETIME, THINGNAME, USERNAME, GROUPNAME, HYPERLINK, IMAGELINK, MASHUPNAME, MENUNAME, DASHBOARDNAME, TEXT, GUID, NOTIFICATIONCONTENTNAME, NOTIFICATIONDEFINITIONNAME, STYLETHEMENAME y THINGGROUPNAME.
Persistir: si se selecciona o se define en verdadero, cada cambio de valor persiste en la base de datos. Las escrituras de la base de datos de propiedades persistentes se producen de manera asíncrona para evitar bloqueos. Aunque el valor de la propiedad se define inmediatamente, la escritura de la base de datos se produce de manera asíncrona posteriormente. Las siguientes validaciones tienen lugar antes de que se escriba un valor de propiedad persistente en la base de datos:
La cosa debe existir todavía.
La cosa debe tener un ID.
El ID de la cosa y el ID de escritura pendiente deben coincidir.
La cosa todavía debe definir la propiedad con el mismo nombre que la escritura pendiente.
La propiedad definida todavía debe ser persistente.
Las actualizaciones y los reinicios no afectan al procesamiento de la cola.
Solo lectura: si se selecciona o se define en verdadero, los datos son estáticos y no se pueden escribir en tiempo de ejecución. La única manera de cambiar el valor es cambiando el valor por defecto. Esto es útil para los datos de configuración estáticos.
Registro: si se selecciona o se define en verdadero, el valor de la propiedad se registra automáticamente en un flujo de valor cuando cambian los datos (en función del tipo de cambio de datos).
* 
Si el evento de cambio de datos no se arranca en determinadas circunstancias, la entrada de flujo de valor no se registra, pero se conserva el valor de la propiedad definido. Es posible que las propiedades se puedan definir en una entidad, pero se puede quitar la escritura de flujo de valor correspondiente, debido a que la cola que contiene esas escrituras se está llenando y no se puede vaciar en la base de datos. Esto puede ocurrir si el volumen de escrituras entrantes es mayor que la velocidad de vaciado que tiene configurada la cola. Esto se puede ajustar en platform-settings.json por proveedor de persistencia. La pérdida de conexión de ThingWorx con la base de datos también puede provocar que la cola realice una copia de seguridad y que no se vacíe de manera eficiente.
Ámbito: permite seleccionar el ámbito de la propiedad.
Información de cambio de datos
Tipo de cambio de datos
Esta opción de configuración especifica cuándo un cambio de valor de propiedad desencadena un evento de cambio de datos. Se utiliza cuando otros procesos se deben iniciar según el valor de la propiedad. A cada suscriptor se le envía una notificación de cambio con una infotable en la que se incluyen los valores anterior y nuevo de la propiedad. Por ejemplo, se puede configurar una suscripción para los cambios realizados en la propiedad DeliverySchedule. Si la programación cambia, se puede avisar al conductor por SMS.
Las opciones de Tipo de cambio de datos son las siguientes:
Siempre: el evento se desencadena para suscriptores de cualquier cambio de valor de la propiedad.
Nunca: no se desencadena ningún evento de cambio.
Activado: para la mayoría de los valores, cualquier cambio desencadenará un evento. Para tipos base más complejos, como infotables, las reglas del evento pueden ser distintas.
Desactivado: el evento se desencadena si el nuevo valor se evalúa como un booleano falso.
Valor: para los tipos numéricos, si el nuevo valor ha cambiado más que el valor umbral, se iniciará el evento de cambio. Para los tipos no numéricos, el evento de cambio se activará al cambiar el valor de cualquier forma desde el valor original. El registro del valor en un flujo de valor solo se produce si se ha determinado que el valor ha cambiado.
Desfasado
Si se selecciona la casilla Desfasado, la entidad quedará obsoleta. Introduzca el valor de Versión a partir del cual la entidad debe quedar obsoleta, en el formato major.minor.patch. Opcionalmente, añada un comentario.
Información de enlace remoto
En la siguiente tabla se muestran las opciones que están disponibles si la opción Enlace se define en Enlazado remotamente.
Opción
Descripción
Nombre de propiedad remota
El nombre de la propiedad, tal como existe en el servidor Edge.
* 
No es necesario que el nombre de propiedad y el nombre de propiedad de la cosa Edge enlazada sean iguales.
Método de caché
En el método de caché se proporcionan los siguientes métodos para leer valores de la propiedad de Edge enlazada.
La opción Leer de la caché del servidor prohíbe solicitudes del servidor al valor de la propiedad de Edge. Solo recupera el valor del servidor. Todas las actualizaciones del valor de la propiedad Edge almenado en caché en el servidor dependen del valor Tipo de cambio de datos de la propiedad Edge y de la velocidad de escaneado (la definición de inserción del valor de la propiedad Edge). Sin la configuración correcta en la propiedad Edge, es posible que el servidor nunca tenga el valor de la propiedad Edge y que solo devuelva el valor por defecto de la propiedad del servidor. Si el valor de Tipo de cambio de datos de la propiedad Edge a la que se va a enlazar es igual a SIEMPRE o VALOR, el tipo de caché será esta configuración por defecto.
La opción Obtener en cada lectura remota permite recuperar el valor de la propiedad Edge del servidor Edge para cada solicitud. No hay ningún almacenamiento en caché con esta opción. Si el valor de Tipo de cambio de datos de la propiedad Edge a la que se va a enlazar es igual a NUNCA, el tipo de caché se define en esta configuración por defecto.
La opción En caché durante un tiempo específico permite controlar la frecuencia de solicitudes a la propiedad Edge. Después de la primera solicitud, el servidor accede a la propiedad Edge para obtener su valor y no realiza otra solicitud a la propiedad Edge durante el número de segundos definido. Se debe tener en cuenta que la propiedad Edge puede actualizar el valor del servidor (mediante inserción) durante ese tiempo.
Intervalo de caché
Período de tiempo (en segundos) durante el que el servidor almacena en caché el valor de la propiedad Edge antes de que una solicitud lo recupere del servidor Edge. El valor siempre se recupera del servidor Edge en la primera solicitud.
Tipo de inicio
Permite especificar el valor utilizado para inicializar una propiedad enlazada de forma remota cuando se inicia o reinicia su cosa. Este valor inicializado no activa un evento de cambio de propiedad.
Utilizar valor por defecto: permite definir el valor inicial de la propiedad en el valor por defecto especificado, a pesar del valor del lado del servidor Edge. Si la propiedad se almacena, el valor inicial se definirá en el último valor almacenado en la base de datos.
Leer valor del servidor Edge: permite consultar el valor actual del servidor Edge, de modo que el valor del servidor esté siempre sincronizado con el valor del servidor Edge, incluso si la cosa se reinicia en el servidor.
Tipo de inserción
La opción Tipo de inserción solo se aplica a propiedades de cosa mejoradas del servidor Edge. Estos componentes pueden insertar sus cambios de valor en el servidor. Esta capacidad se puede configurar mediante el enlace de propiedades del servidor.
Inserción basada en cambio de valor: se puede configurar un umbral de cambio de valor. Al utilizar esta configuración, también se puede definir el valor de Umbral de inserción, que es una banda muerta que se debe superar antes de que un nuevo valor se inserte en el servidor desde el servidor Edge.
Nunca se inserta
Se inserta siempre
Umbral de inserción
Esta opción está disponible si Tipo de inserción se define en Inserción basada en cambio de valor. Permite especificar el rango (más o menos) alrededor del valor de la propiedad Edge para que se produzca la inserción del valor de la propiedad. El valor de la propiedad debe cambiar en más que el valor especificado.
Cuando se desconecta
Permite especificar cómo se debe controlar el enlace del valor de la propiedad remota si la conexión a la cosa remota se pierde temporalmente.
Desestimar valores que cambian durante la desconexión.
Reunir todos los cambios en un único valor de última modificación: permite enviar el último valor cambiado cuando se restablece la conexión.
* 
Si Cuando se desconecta se configura a través de un servicio para definir Reunir todos los cambios en un único valor de última modificación, definafoldType: FOLD.
Si Cuando se desconecta se configura mediante un servicio para definir Desestimar valores que cambian, se debe definir foldType: NONE.
Tiempo de espera
El tiempo de espera que se utiliza para las llamadas a cosas remotas durante una lectura o escritura de propiedades.
Utilizar valor por defecto del sistema: el valor por defecto es 30 segundos.
Tiempo de espera personalizado. Añádalo a Intervalo de tiempo de espera (s).
Vínculos relacionados
¿Fue esto útil?