指定狀態運算式
請記住以下有關指定狀態運算式的指導原則:
有效運算子︰ANDORNOT<><=>==!=()
有效運算元:數字、標籤、truefalse (truefalse 運算元不區分大小寫)
指定單引號之間的字串 (')
指定雙引號之間的標籤與函數 (")
如果運算式為空白狀態,則其評估結果為 false
針對生產線,運算式可和生產線的資產相關連。舉例來說,若生產線中兩個資產中的任何一個在「已規劃的停機時間」內,則該生產線可能處於「已規劃的停機時間」內。為各個相應的資產複製「已規劃的停機時間」運算式,然後將其貼入生產線的「已規劃的停機時間」運算式中。
下列函數可用於狀態運算式︰
HAS_ALERTS—若設備有使用中警示,則此函數評估為 true
ARE_ALL_CHILDREN_RUNNING - 若此設備工件的所有子項均處於「執行中」狀態,則此函數評估為 true
IS_SCHEDULED—如果 目前的時間位於班次中,則此函數評估為 true
IS_DATA_OK—若於以下對象 (於「附加屬性」頁面上為此設備工件定義的所有附加屬性,以及用於狀態運算式評估或 KPI 計算的所有屬性與標籤) 中偵測到良好品質資料,則此函數評估為 true
當在運算式中使用其中一個函數時,如果函數適用於目前的設備,則不需要在運算式中指定設備的物件名稱。指定項目名稱的函數為有效狀態,並可用於在運算式中包括針對其他設備的函數。
例如,如果名為 Line1 的生產線包括名為 Pump1 與 Pump2 的資產,如需在 Line1「警告」狀態的運算式中包含對任一資產警示的檢查,請輸入以下運算式:
"IS_DATA_OK" AND ("HAS_ALERTS" AND "HAS_ALERTS:Asset_Pump1" AND "HAS_ALERTS:Asset_Pump2")
最初建立生產線與資產時,其預設狀態運算式如下:
「未設定」 - NOT"<equipment_thing_name>:isConfigured"
「已規劃的停機時間」NOT "IS_SCHEDULED" OR ("IS_DATA_OK" AND (false))
「警告」"IS_DATA_OK" AND ("HAS_ALERTS")
「執行中」-
「資產」—"IS_DATA_OK" AND (false)
「生產線」—"IS_DATA_OK" AND ("ARE_ALL_CHILDREN_RUNNING")
「未規劃的停機時間」"IS_DATA_OK" AND (false)
「不可用」true
* 
建立新設備時,物件上的 isConfigured 屬性會設定為 false。這會導致「未設定」的狀態評估為 true。編輯並儲存至少一個設備上的狀態運算式後,或重新排序狀態之後,isConfigured 內容會自動設定為 true
在 8.4 發行版本之前,某些狀態評估邏輯,發生於設備上定義的狀態運算式外部。此時,運算式中會顯示用於狀態評估的所有資訊。對於系統升級至 8.4 前已存在於 ThingWorx Apps 中的設備,現有狀態運算式會更新為包括目前的評估邏輯,同時會保留先前定義的運算式:
如果現有運算式為空白狀態,它會更新為此狀態的目前預設運算式。
「警告」「執行中」「未規劃的停機時間」狀態的任何現有運算式,會與 IS_DATA_OK 函數合併,如下所示:
"IS_DATA_OK" AND (<現有運算式>)
「已規劃的停機時間」狀態會移至「未設定」之後的第一個位置。「警告」「執行中」「未規劃的停機時間」狀態之舊有運算式,會整合至 OR 清單,並將「已規劃的停機時間」之舊有運算式包括在內,成為更新運算式,如下所示︰
NOT "IS_SCHEDULED" OR ("IS_DATA_OK" AND NOT (<警告運算式> OR <正在執行運算式> OR <未規劃的停機時間運算式>) AND (<現有運算式>)