Especificación de expresiones de estado
Tenga en cuenta las directrices siguientes al especificar las expresiones de estado:
Operadores válidos: AND, OR, NOT, <, >, <=, >=, =, !=, (, ).
Operandos válidos: números, etiquetas, true y false (los operandos true y false no distinguen entre mayúsculas y minúsculas).
Especifique las cadenas entre comillas simples (').
Especifique las etiquetas y funciones entre comillas dobles (").
Si una expresión está en blanco, se evalúa como falsa.
En el caso de las líneas, las expresiones se pueden relacionar con los activos de la línea. Por ejemplo, una línea podría estar en Período de inactividad planificado si cualquiera de los dos activos de la línea se encuentra en Período de inactividad planificado. Copie las expresiones de Período de inactividad planificado de cada activo pertinente; a continuación, péguelas en la expresión de Período de inactividad planificado para la línea.
Funciones
Las funciones siguientes están disponibles para su uso en las expresiones de estado:
HAS_ALERTS: esta función se evalúa como verdadera si hay alertas activas en el equipo.
ARE_ALL_CHILDREN_RUNNING: esta función se evalúa como verdadera si todos los hijos de este equipo tienen el estado En ejecución.
IS_SCHEDULED: esta función se evalúa como verdadera si la hora actual está dentro de un turno.
IS_DATA_OK: esta función se evalúa como verdadera si se detectan datos de buena calidad en todas las propiedades adicionales definidas en la página Propiedades adicionales de este equipo, y en todas las propiedades y etiquetas utilizadas en la evaluación de expresiones de estado o cálculos de KPI.
* 
En el caso de los equipos que tienen propiedades enlazadas a etiquetas KEPServerEX, cuando se pierde la conexión a KEPServerEX, la función IS_DATA_OK sigue evaluándose como verdadera. Para que las expresiones de estado de equipo verifiquen el estado de conexión con KEPServerEX, la propiedad isConnected para el equipo se debe incluir en las expresiones de estado adecuadas.
1. En la cosa de equipo individual o la plantilla de cosa para un tipo de equipo que tiene propiedades enlazadas a etiquetas de KEPServerEX, sustituya el servicio GetTagPickerProperties.
2. En el editor de scripts, añada la propiedad isConnected al valor de myList y guarde el servicio. Esto permite seleccionar la propiedad isConnected al editar las expresiones de estado en la página Estado.
3. En cada cosa de equipo impactada, edite las expresiones de estado adecuadas para incluir la propiedad isConnected de dicho equipo. Por ejemplo, se puede editar la expresión de estado para el estado Aviso en Pump1 de la siguiente manera:
"isConnected" AND "IS_DATA_OK" AND ("HAS_ALERTS")
4. Pulse en Guardar para guardar la expresión de estado actualizada.
Al utilizar una de estas funciones en una expresión, si la función se aplica al equipo actual, no es necesario especificar el nombre de cosa del equipo en la expresión. Las funciones especificadas con un nombre de cosa son válidas y se pueden utilizar en expresiones para incluir funciones relativas a otros equipos.
Por ejemplo, si una línea llamada Line1 incluye activos llamados Pump1 y Pump2, para incluir una comprobación de alertas en cualquier activo de la expresión del estado Aviso en Line1, escriba una expresión como la siguiente:
"IS_DATA_OK" AND ("HAS_ALERTS" AND "HAS_ALERTS:Asset_Pump1" AND "HAS_ALERTS:Asset_Pump2")
Para obtener información sobre el uso de funciones en expresiones de estado cuando la configuración de estado basada en suscripciones está activada, consulte Descripción del cálculo de estado basado en suscripciones.
Expresiones de estado por defecto para nuevas líneas y activos
Cuando se crean inicialmente líneas y activos, sus expresiones de estado por defecto son:
No configurado: NOT"<nombre_cosa_equipo>:isConfigured"
Período de inactividad planificado: NOT "IS_SCHEDULED" OR ("IS_DATA_OK" AND (false))
Aviso: "IS_DATA_OK" AND ("HAS_ALERTS")
En ejecución:
Activos: "IS_DATA_OK" AND (false)
Líneas: "IS_DATA_OK" AND ("ARE_ALL_CHILDREN_RUNNING")
Período de inactividad no planificado: "IS_DATA_OK" AND (false)
No disponible: true
* 
Cuando se crea un equipo, la propiedad isConfigured de la cosa se establece en falso. En consecuencia, el resultado del estado No configurado se evalúa como verdadero. Una vez que se ha editado y guardado al menos una expresión de estado en el equipo, o una vez que se han reordenado los estados, la propiedad isConfigured se establece automáticamente en verdadero.
Si se dispone de tipos de equipo personalizados, se pueden determinar las expresiones de estado por defecto para las nuevas instancias de esos tipos de equipo. Para obtener más información, consulte Personalización de las expresiones de estado por defecto para las plantillas de cosa de equipos personalizados.
Expresiones de estado para equipos creados antes de la versión 8.4
Antes de la versión 8.4, cierta lógica de evaluación de estado se producía fuera de las expresiones de estado definidas en el equipo. A partir de la versión 8.4, toda la información que se utiliza para la evaluación de estado está presente en las expresiones. Para los equipos que estaban presentes en ThingWorx Apps antes de la actualización del sistema a la versión 8.4, las expresiones de estado existentes se actualizan para incluir la lógica de evaluación actual, al tiempo que se conservan las expresiones definidas previamente:
Si la expresión existente estaba en blanco, se actualiza a la expresión por defecto actual para dicho estado.
Las expresiones existentes para los estados Aviso, En ejecución y Período de inactividad no planificado se concatenan con la función IS_DATA_OK del modo siguiente:
"IS_DATA_OK" AND (<expresión existente>)
El estado de Período de inactividad planificado se transfiere a la primera posición después de Sin configurar. Las expresiones previamente existentes para los estados Aviso, En ejecución y Período de inactividad no planificado se combinan en una lista OR, y se incluyen con la expresión previamente existente para Período de inactividad planificado en la expresión actualizada, del modo siguiente:
NOT "IS_SCHEDULED" OR ("IS_DATA_OK" AND NOT (<Expresión de Aviso> OR <Expresión de En ejecución> OR <Expresión de Período de inactividad no planificado>) AND (<expresión existente>)