延伸執行模型:術語的定義

您可以使用 MicroC 設定檔來指定元素動作的順序。元素組件的執行順序指定,是根據執行架構及下列兩個 MicroC 概念:執行檔執行管理程式

執行檔物件

使用 MicroC 設定檔時,如果將某個元素定義為執行管理程式,而且並行設定是循序,該元素就會具有自己的事件佇列。此行為與一般行為有所不同,在一般行為中,只有已將模型元素的並行設為作用中,模型元素才具有事件佇列。

類別或物件在其「特性」視窗的一般標籤中是標籤為執行檔。實作 doExecute() 方法時需要類別的執行檔標籤。doExecute() 方法執行它自己的計算並傳回值。

「特性」視窗 - 已啟用「執行架構」勾選框
「特性」視窗 - 「組件」標籤

執行管理程式物件

標籤為執行管理程式的類別或物件,可控制自身及其組件的執行。

每個執行管理程式都會控制其執行檔組件的執行。執行管理程式具有自己的事件佇列,用於處理其狀態圖中所定義的事件。您可以透過修改 C_CG::Class::ExecutionManagerDispatchEventOrder 內容的值,以指定是在元素組件的 doExecute 方法之前還是之後處理事件。執行管理程式的事件佇列大小是由 C_CG::Class::ExecutionManagerEventQueueSize 內容所控制。執行管理程式同時會處理針對其組件的組件(向下至階層的最低層次)定義的任何狀態圖。新的執行管理程式可以在模型階層中的任何位置定義。但是,就 doExecute 呼叫而言,執行管理程式只會呼叫針對其直接組件定義的 doExecute 方法。

如果您已將一個以上的模型元素指定為執行檔,但是模型中並不是至少有一個元素在作用中,則產生的程式碼會包括套件層次的 doExecute 方法。此套件層次方法會呼叫您在套件的最上層針對個別執行檔元素定義的 doExecute 方法。透過修改 C_CG::Configuration::UseMainTask 內容的值,可以關閉此預設行為。

作用中元素的特性對話框

針對作用中元素,會定義執行管理程式的 doExecute() 方法來:
  • 依照定義的執行順序,呼叫其沒有狀態圖之所有「執行檔」組件的 doExecute()
  • 將所有事件分派在其事件佇列中(如果它們存在的話)。
您可以使用啟動原則內容(對於作用中元素,可具有值定期非同步),來控制上方作業的順序。依預設,作用中元素的「特性」對話框在執行架構欄位中,始終定義為執行檔和執行管理程式。它還始終包含兩個值供選取:定期非同步
「特性」視窗 - 已啟用「執行架構」勾選框
  • 定期值可讓您執行從系統啟動算起的「延遲」時間,然後每隔「期間」時間定期執行。對於每次啟動,執行到完成為止。
  • 非同步值會讓「期間」和「延遲」欄位變暗,並且可讓您在作業系統 (OS) 的佇列有擱置信號(事件)時,從作業系統取得控制權。

循序元素的特性對話框

循序元素可以標籤為執行管理程式,並且是實作 doExecute () 方法所需要的。若要控制循序模型及其組件的執行,必須勾選執行管理程式方框。作為執行管理程式,循序元素會驅動其所有組件所需的完整執行,包括其回應組件的事件分派。

註: 對於循序元素,啟動訊框不會顯示出來。

「特性」視窗 - 已啟用「執行架構」勾選框

執行管理程式:執行順序

執行順序可以在模型的同層級組件之間定義。

在「特性」視窗的組件標籤中,可以定義含有下列直欄的組件表格:
  • 名稱 – 組件的名稱
  • 執行順序 - 可以具有下列其中一個值:
    • 整數:針對標籤為執行檔的組件出現。指出執行的順序,可以修改。
    • N/A:針對未標籤為執行檔的組件出現。無法修改。

「特性」視窗 - 已啟用「執行架構」勾選框

  • 類型:可以具有下列其中一個值:
    • 執行管理程式:標籤為執行管理程式的組件。
    • 執行檔:標籤為執行檔的組件。
    • 回應:有狀態圖且未標示為執行檔或執行管理程式的組件。
    • :沒有狀態圖且未標示為執行檔或執行管理程式的組件。
    • 作用中:標籤為作用中的組件。
    • inNetworkPort:連接至輸入信號。
    • outNetworkPort:連接至輸出信號。

「特性」視窗 - 已啟用「執行架構」勾選框


意見回饋