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 false.
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.
Las funciones siguientes están disponibles para su uso en las expresiones de estado:
HAS_ALERTS: esta función se evalúa como true si hay alertas activas en el equipo.
ARE_ALL_CHILDREN_RUNNING: esta función se evalúa como true si todos los hijos de este equipo tienen el estado En ejecución.
IS_SCHEDULED: esta función se evalúa como true si la hora actual está dentro de un turno.
IS_DATA_OK: esta función se evalúa como true 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.
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")
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 false. En consecuencia, el resultado de No configurado se evalúa como true. 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 true.
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. Ahora, toda la información utilizada para la evaluación del 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>)