FTPC 狀態機(Flexible State Models)

       在離散製造應用中,狀態模型由系統定義。您不能添加新狀態或刪除現有狀態,並且更改對象狀態的事務是固定的。在流程製造模型中,默認情況下不定義狀態。您可以創建自己的狀態模型,並使用(FSM)對象在每個狀態下選擇允許哪些事務。FSM對象允許您在流程製造環境中創建狀態轉換功能,該功能可以應用於Plant Operations中的特定類。這些類稱爲有狀態類(Stateful Classes)。

注意:當對FSM對象進行更改時,更改不會立即生效。默認情況下,FSM對象每30分鐘緩存一次。對象緩存的確切時間取決於應用程序服務器。如果使用集羣環境,則只刷新接收FlexibleStateModel.save()事務的應用服務器。要刷新集羣中的所有應用程序服務器,必須重新啓動集羣。

FSM對象

       當創建FSM對象時,需要配置以下內容:

  • FSM States:定義有狀態對象的狀態,並確定在特定狀態下可以調用哪些事務。每個FSM必須配置一個默認狀態。
  • FSM Transitions:定義將對象移動到下一個狀態時調用的更改的名稱。當您調用applyTransition(…)方法時,它將需要轉換的名稱。在該轉換處的轉換實例的配置將確定對象的路徑。
  • FSM Transitions Instances:爲特定轉換指定從一個狀態到另一個狀態的路徑。如果在FSM狀態下對對象調用FSM轉換,則FSM轉換實例將確定在執行FSM轉換之後的下一個狀態。
  • State Transition Attributes(STAs):爲FSM創建附加屬性。與已命名的UDAs類似,定義STAs允許您在調用applyTransition(…)事務時爲ObjectStateHistory記錄收集額外的運行時數據。
  • Semantic Properties:定義可以在FSM狀態和轉換實例上執行的事務。
  • Semantic Property Sets:將語義屬性列表組合在一起。語義屬性集被分配給FSM對象。

有狀態的對象(Stateful Objects)/ FSM關係

       您可以使用FSM選項卡接口將有狀態類與特定的FSMs關聯起來。關係用於確定特定有狀態對象可以使用哪些FSMs。有狀態對象類可以有多個與之關聯的FSMs。例如,您可以配置一個設備對象,使其在創建後處於兩個FSMs的默認狀態。

注意:如果一個對象位於多個FSM上,則必須允許在該對象上執行的事務處於該對象位於所有FSM上的狀態。例如,您的運營商在兩個FSMs (FSM1和FSM2)上處於以下狀態:正常和活動。FSM1上的State Normal有sys.allow.carrier。保存分配給它的語義屬性,但是FSM2上的state Active沒有分配給它的語義屬性。當您調用Carrier.save()事務時,事務將失敗。sys.allow.carrier.save語義屬性必須分配給FSM2上的活動狀態,以便事務成功。

FSM工作原理

       通過創建您自己的FSM,您可以定義所需狀態(State)數量、這些狀態的名稱,以及狀態之間的轉換(Transtion),以便爲特定的部署做出適當的調整。FSM的流程是通過配置語義屬性來實現的。

下面的示例圖像是用於清潔設備的FSM,它有兩種狀態,Cleaned、Dirty。

  • Cleaned狀態是默認狀態(由*表示)。當一個對象被放置在這個FSM上時(通過設備/FSM關係自動放置或手動放置),它將在缺省情況下處於Cleaned狀態。
  • 可以將設備對象保存在Cleaned狀態,因爲語義屬性sys.allow.Equipment.save與該狀態相關聯。如果對象處於Dirty狀態,則不能執行此操作,因爲語義屬性與該狀態沒有關聯。
  • 可以使用applyTransition(…)方法來更改對象的狀態。
  1. 如果對象處於Cleaned狀態,則要應用的惟一有效轉換是dirty轉換(Transtion)。
  2. 如果對象處於Cleaned狀態,則可以應用clean轉換,但不會對對象進行更改,默認情況下也不會顯示錯誤。可以編寫應用程序代碼來顯示錯誤。
  3. 應用此轉換時,將評估和處理轉換實例的語義屬性和傳播定義。轉換實例的語義屬性的一個示例是檢查已登錄用戶是否具有將對象移動到下一個狀態的正確訪問權限的屬性。客戶機應用程序可以使用在轉換實例中定義的語義屬性來執行訪問特權。

       每個狀態轉換都作爲一組歷史記錄來維護,記錄對象通過FSM狀態的進展。此信息存儲在OBJECT_STATE_HISTORY數據庫表中。

FSM本地化

       您可以使用分配給FSM對象的Message Pack來本地化FSM狀態和轉換的名稱。與FSMs關聯的語義屬性名稱以及關係名稱和類型不支持本地化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章