指定元素組件的動作順序

您可以使用 MicroC 設定檔,來指定必須針對元素組件執行的動作順序。

關於這項作業

您可以指定必須針對類別、隱含物件及檔案執行的動作。

元素組件的執行順序指定基於下列兩個 MicroC 概念:

若要指定模型元素是執行檔,請針對該元素建立名為 doExecute 的方法。您可以使用該方法,指定必須針對該元素執行的動作,以作為特定動作順序的一部分。

註: 如果您未針對執行檔元素建立 doExecute 方法,則該程式會在產生程式碼期間,產生空的 doExecute 方法。

每個 doExecute 方法必須由執行其計算及傳回的程式碼組成,這表示其無法使用作業系統所提供的任何「等待」功能。

您可以在元素「特性」視窗的執行架構區段中,指定元素需要是執行檔還是執行管理程式。當您使用的是 MicroC 設定檔時,執行架構區段只會出現在「特性」視窗中。

註: 當您將元素的並行設定指定為循序時,您可以決定元素是執行檔還是執行管理程式。但是,如果您將元素的並行設定指定為作用中,則該程式會自動使元素成為執行管理程式

程序

  1. 透過按一下新建按鈕 「新建」按鈕 建立 MicroC 設定檔,或者選取檔案 > 新建,以開啟新建專案視窗。
  2. 專案名稱欄位中,鍵入專案名稱。
  3. 資料夾內的位置欄位中,按一下瀏覽,以選取專案的資料夾位置。
  4. 專案類型欄位中,選取 MicroC 設定檔,並在專案設定中,選取 CodeCentric752C
  5. 按一下確定。如果不存在指定的位置,產品會詢問您是否要建立該位置。按一下 產品即會產生 MicroC 專案。
  6. 使用圖表工具,建立或新增類別至您的模型。若要將某個執行架構指派給您的類別,請強調顯示該類別,從下拉清單中按一下滑鼠右鍵選取特性
    「特性」視窗 - 已啟用「執行架構」勾選框
  7. 若為執行管理程式,請在「特性」視窗的組件標籤上,指定其組件的執行順序。
    「特性」視窗 - 「組件」標籤

結果

當使用 MicroC 設定檔時,如果將某個元素定義為執行管理程式,即使並行設定是循序,該元素也會具有自己的事件佇列。此行為與一般行為有所不同,只有已將模型元素的並行設為作用中(在「特性」視窗的一般標籤上)時,模型元素才具有事件佇列。

執行管理程式的事件佇列大小由 C_CG::Class::ExecutionManagerEventQueueSize 內容所控制。

每個執行管理程式都會控制其執行檔組件的執行。執行管理程式具有自己的事件佇列,用於處理在其狀態圖中定義的事件以及針對本身並非執行管理程式之組件定義的任何狀態圖。您可以透過修改 C_CG::Class::ExecutionManagerDispatchEventOrder 內容的值,以指定是在元素組件的 doExecute 方法之前還是之後處理事件。

註: 執行管理程式同時會處理針對其組件的組件(向下至階層的最低層次)定義的任何狀態圖。但是,就 doExecute 呼叫而言,執行管理程式只會呼叫針對其直接組件定義的 doExecute 方法。

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

註: 套件層次 doExecute 方法只會呼叫針對套件中最上層元素定義的 doExecute 方法。它不會處理階層中較低層次之與執行管理程式無關的執行檔元素。

回饋