Personalización del contenido y el acceso a la información > Configuración y personalización del estado de los equipos > Activación del cálculo de estado basado en suscripciones para sistemas con un gran número de activos
Activación del cálculo de estado basado en suscripciones para sistemas con un gran número de activos
Los sistemas con un gran número de activos que no utilizan KPI pueden utilizar un cálculo de estado basado en suscripciones para mejorar el rendimiento. Puesto que esta configuración almacena la información de estado en un flujo de valor en lugar de en la base de datos relacional, el cálculo de estado basado en suscripciones no soporta el cálculo de KPI.
* 
Cualquier información de estado almacenada en la base de datos antes de activar el cálculo de estado basado en suscripciones no se migra al flujo de valores.
Para obtener más información sobre cómo las funciones de cálculo de estado basadas en suscripciones, consulte Descripción del cálculo de estado basado en suscripciones.
Antes de activar el cálculo basado en suscripciones
Se debe tener en cuenta que el cálculo del estado basado en suscripciones se ha probado en el siguiente escenario sin problemas:
Activos de 15.5 k
50 propiedades dinámicas en cada activo
Promedio de índice de actualización de propiedades de una vez cada 2,5 minutos
En un activo individual, se utilizan 14 propiedades de ese activo en el cálculo de 5 estados.
InfluxDB se utiliza con un flujo de valor único para todos los activos
Especificaciones del servidor:
Servidor de ThingWorx: 16 CPU virtuales y 64 GB de RAM
Máquina virtual de Azure: D16s V3
Servidores independientes para InfluxDB y PostgreSQL
Sin cálculo de KPI
No probado con transferencia de ficheros y acceso remoto
Activación del cálculo de estado basado en suscripciones
Para activar el cálculo de estado basado en suscripciones, complete los siguientes pasos:
1. Configure InfluxDB como proveedor de persistencia para ThingWorx. Para obtener más información, consulte Utilización de InfluxDB como proveedor de persistencia en el Centro de ayuda de ThingWorx.
2. Actualice el administrador de estado que se ha configurado para ThingWorx Apps.
a. En ThingWorx Composer, navegue a la cosa de configuración de puntos de arranque (PTC.Factory.C_LaunchPointConfigurationThing_[versión]).
b. En Configuración, pulse en para editar la entrada StatusManager en la tabla de configuración ManagerConfigurationSettings.
c. Cambie el Valor de PTC.SCA.SCO.DefaultStatusManager a PTC.SCA.SCP.DefaultStatusManager.
d. Pulse en Definir.
e. Pulse en Guardar para guardar los cambios en la cosa de configuración del punto de inicio.
3. Ejecute el servicio para activar el cálculo de estado alternativo.
a. En ThingWorx Composer, navegue hasta el administrador de estado alternativo (PTC.SCA.SCP.DefaultStatusManager).
b. En Servicios, ejecute el servicio EnableScaledStatusCalcuation. El servicio se ha completado correctamente cuando se muestra "No hay resultados" en el panel de salida del servicio.
4. Cree un nuevo tipo de equipo basado en activo para utilizarlo en los activos.
a. Cree una nueva plantilla de cosa que implemente las definiciones de cosa necesarias para los tipos de equipo que desea que aparezcan en Asset Advisor. Para obtener más información, consulte Creación de plantillas de cosa personalizadas para tipos de equipos.
b. En la nueva plantilla de cosa, defina un flujo de valor basado en InfluxDB. Para obtener más información, consulte Flujos de valor en el centro de ayuda de ThingWorx.
c. Cree una nueva cosa de proveedor de recursos basada en la plantilla de cosa PTC.SCA.AssetResourceProviderTemplate.
d. En el nuevo proveedor de recursos, en Servicios, pulse en para sustituir el servicio CreateEquipmentInstance.
e. En el panel de scripts, quite el código que crea un flujo de valor (líneas 44 a 56).
f. Pulse en Terminadoy, a continuación, en Guardar para guardar el servicio actualizado en el proveedor de recursos.
g. En la cosa de configuración del punto de inicio (PTC.Factory.C_LaunchPointConfigurationThing_[versión]), en Configuración, pulse en Añadir en la tabla de configuración EquipmentTypeSettings para añadir el nuevo tipo de equipo. Especifique la plantilla de cosa creada en 4a y el proveedor de recursos creado en el paso 4c para el nuevo tipo de equipo. Para obtener más información, consulte Definición de tipos de equipos.
h. Pulse en Guardar para guardar la cosa de configuración del punto de inicio actualizada.
5. Utilice el nuevo tipo de equipo para crear los activos.
Descripción del cálculo de estado basado en suscripciones
El cálculo de estado por defecto para ThingWorx Apps se basa en el programador. Con el cálculo de estado basado en el programador, el estado de todos los equipos se calcula cada minuto, activado mediante el programador de estado (PTC.Factory.StatusEvaluationScheduler). Cuando se activa el cálculo de estado basado en suscripciones, en su lugar, el cálculo de estado de un equipo se activa mediante una suscripción:
Cada vez que hay un cambio de valor para cualquier propiedad en el equipo que se utiliza en una expresión de estado.
Cada vez que se activa una alerta en el equipo (si se utiliza la función HAS_ALERTS en una expresión de estado).
Cada vez que se borra una alerta en ese equipo (si se utiliza la función HAS_ALERTS en una expresión de estado).
Cuando se edita una expresión de estado o se reordenan los estados en la página Estado del equipo, y se pulsa en Guardar.
Como resultado, si una expresión de estado incluye una propiedad de otro equipo, los cambios en ese valor de propiedad no activan el cálculo de estado para el equipo actual. Por ejemplo, si la expresión de estado de En ejecución para Pump1 incluye una propiedad de Compressor1, un cambio en el valor de propiedad en Compressor1 no activa el cálculo de estado de Pump1. Cuando se activa el cálculo de estado de Pump1, el valor de propiedad de Compressor1 se incluye en el cálculo.
La misma situación se aplica a las funciones que se utilizan en expresiones de estado. Las expresiones de estado que incluyen la función HAS_ALERTS se evalúan cada vez que se activa o borra una alerta para el equipo actual. Si la función HAS_ALERTS se utiliza para verificar las alertas en un equipo independiente, esta verificación solo se realiza cuando se activa el cálculo de estado para el equipo actual. Por ejemplo, la expresión de estado de Aviso para Pump1 podría incluir lo siguiente:
"HAS_ALERTS" AND "HAS_ALERTS:Asset_Compressor1"
Cuando se activa el cálculo de estado de Pump1 (por un cambio de valor de propiedad o una alerta que se activa o borra en Pump1), se verifican las alertas de Pump1 y Compressor1. Sin embargo, si se activan o borran alertas de Compressor1, no se activa el estado de Pump1 que se va a calcular.
Las otras funciones (ARE_ALL_CHILDREN_RUNNING, IS_SCHEDULED y IS_DATA_OK) solo se evalúan cuando el cálculo de estado para el equipo actual se activa mediante un cambio de propiedad o una alerta que se activa o se borra en el equipo actual.
* 
PTC no recomienda utilizar la función IS_DATA_OK en expresiones de estado con el cálculo de estado basado en suscripciones.
Cuando el cálculo de estado basado en suscripciones está activado, el cálculo de estado se activa para un equipo cuando se pulsa en Guardar después de editar una expresión de estado en la página Estado del equipo en Instalación y configuración > Equipo. Si se edita una expresión de estado para un equipo en ThingWorx Composer, el cálculo de estado no se activa para ese equipo.
Para obtener más información, consulte Especificación de expresiones de estado.