一種功能塊圖數據流的排序系統及方法
【技術領域】
[0001]本發明涉及自動化控制技術領域,具體涉及一種功能塊圖數據流的排序系統及方法。
【背景技術】
[0002]現有技術中,功能塊圖是廣泛應用于工業控制系統中的圖形化編程語言,對于控制的邏輯進行編輯,有效對控制系統進行更有效、更直觀的邏輯編輯方式。功能塊圖的廣泛應用也對工業控制系統有巨大的貢獻,現代很多龐大控制工程中均使用功能圖進行邏輯的編輯,并且能有效的實現控制功能。
[0003]通過功能塊圖實現了模塊的順序控制,但是由于龐大的功能塊圖編輯過程中無法對每個模塊進行邏輯分析并且賦予運算順序號的方式。因此,在龐大的控制邏輯中,缺少一種有效的排序方式對功能塊圖進行合理有效的運算順序的賦值,導致在功能塊圖中運算先后順序有誤,產生數據運行有誤,影響邏輯運算的正常運行。
[0004]中國發明CN1851649公開了一種實現多引擎并行處理器中數據包排序的方法,關鍵是,在數據流的分發過程中產生標記的編碼,并保存為一個序列,在數據流的收集過程中對保存在序列中的標記依次解碼,選中與該標記相對應的引擎通道或負載通道,依次輸出對應的一個完整的數據包,且只允許一個數據包輸出。雖然解決了對輸出數據包的排序,但是存在不能合理智能賦予運算順序號的問題。
【發明內容】
[0005]為了克服現有技術中的缺陷,本發明提供了一種功能塊圖數據流排序系統及方法,解決了傳統功能塊圖中,各模塊的運行順序號無序運行,在龐大的功能塊圖中無法合理智能的賦予運算順序號的問題。本發明的功能塊圖功能圖的智能排序方法針對功能塊圖中包含多種模塊類型進行運算排序。
[0006]本發明是通過如下技術方案實現的:一種功能塊圖數據流的排序系統,包括至少一個賦予了以運算順序號為賦值的源節點模塊,所述源節點模塊為中間節點模塊提供數據流,所述中間節點模塊為終節點模塊提供經過順序結構運算的數據流信息,所述源節點模塊至少包括一個輸出模塊引腳,所述中間節點模塊包括若干個運算模塊,所述每個運算模塊包括輸入模塊引腳和輸出模塊引腳,所述輸入模塊引腳與源節點模塊至少連接一個,所述終節點模塊至少包括一個輸入模塊引腳。
[0007]進一步地,所述運算模塊包括數學運算功能模塊、邏輯運算模塊、選擇功能模塊、控制功能模塊和時間功能模塊。
[0008]進一步地,所述源節點模塊為多個。
[0009]進一步地,所述終節點模塊為多個。
[0010]進一步地,本發明還提供了一種功能塊圖數據流的排序方法,所述方法包括以下步驟:
[0011]步驟1:遍歷整理檢測功能塊圖的連接關系,確保連接的關系正確;
[0012]步驟2:用遍歷方式統計功能塊圖中的源節點和終節點,并且對源節點的模塊賦予運算順序號賦值;
[0013]步驟3:由獲得的終節點模塊,根據樹型結構從左至右的對終結點模塊排序,排序過程通過遞歸算法,從終節點模塊根據連接關系尋找下一模塊,并且檢測是否進行了運算順序號的賦值,若沒有賦值則依此類推尋找下一個連接的模塊,若已經被賦予運算順序號則返回上一個模塊進行運算順序號的賦值,依此類推進行排序直到所有模塊排序完成;
[0014]步驟4:通過對經過整體連接的模塊進行運算順序號的賦值,檢測運算所述模塊順序號的最大值是否等于所有模塊的總數,等于則直接輸出排序結果,不等于則返回到所述步驟2再次進行排序。
[0015]本發明所述功能塊圖數據流的排序系統及方法與現有技術相比,優越效果在于:本發明對功能圖的樹型結構從左至右按照順控的邏輯流程進行排序,基于模塊中的反饋信號等于上一節點模塊的信號,利用遞歸算法更好的整理整個邏輯結構,從而得到每個模塊的合理的運算順序號,經過本發明的排序方式和邏輯運算,獲得的運算輸出結果正確、合理、有效。
【附圖說明】
[0016]圖1為本發明所述功能塊圖數據流的排序系統流程圖無反饋信號的結構示意圖;
[0017]圖2為本發明所述功能塊圖數據流的排序系統中存在反饋信號的結構示意圖;
[0018]圖3為本發明所述功能塊圖數據流的排序系統的整體結構示意圖。
[0019]附圖標記如下:
[0020]卜源節點模塊,2-中間節點模塊,3-終節點模塊。
[0021]圖中箭頭方向為數據傳輸方向;m、n和i為正的自然數。
【具體實施方式】
[0022]下面結合附圖對本發明【具體實施方式】作進一步詳細說明。
[0023]如圖1-3所示,具體說明本發明,本發明提供的一種功能塊圖數據流的排序系統,所述排序系統包括至少一個賦予了以運算順序號為賦值的源節點模塊1,所述源節點模塊I為中間節點模塊2提供數據流,所述中間節點模塊2為終節點模塊3提供經過順序結構運算的數據流信息,所述源節點模塊I至少包括一個輸出模塊引腳,所述中間節點模塊2包括若干個運算模塊,所述每個運算模塊包括輸入模塊引腳和輸出模塊引腳,所述輸入模塊引腳與源節點模塊I至少連接一個,所述終節點模塊3至少包括一個輸入模塊引腳,所述運算模塊包括數學運算功能模塊、邏輯運算模塊、選擇功能模塊、控制功能模塊和時間功能模塊。所述源節點模塊I為一個或多個。所述終節點模塊3為一個或多個。
[0024]本發明具體如圖1所示,所述功能塊圖結構包括:功能圖中的源節點模塊1、中間節點模塊2和終節點模塊3,所述的源節點模塊I和終結點模塊3屬于輸入輸出功能模塊,所述中間節點模塊2包括所有的運算模塊,如數學運算功能模塊、邏輯運算模塊、選擇功能模塊、控制功能模塊、時間功能模塊等。所述源節點模塊I是對于功能塊圖的數據流中開始輸入的模塊,在整體的功能塊圖邏輯功能圖中,可以存在一個或者多個源節點,功能上是使用了輸入功能模塊。整體的邏輯結構中,由其模塊進行數據輸入,進行邏輯運算,模塊引腳只存在一個引腳輸出下一個模塊時,并沒有數據對此模塊進行輸入,實現數據流向邏輯圖傳入功能。在智能排序的方法中,首先對該源節點模塊進行運算順序號的賦值,這樣就能進行下一步的中間節點模塊2的排序。
[0025]所述中間節點模塊2是對于功能塊圖的數據流中運算過程的模塊,對于整體的邏輯結構運算過程的中間點反應出其運算的順序結構,模塊引腳存在輸入和輸出,實現數據流的輸入、模塊運算和輸出功能,中間節點模塊2包括所有的運算模塊,如數學運算功能模塊、邏輯運算模塊、選擇功能模塊、控制功能模塊、時間功能模塊等,在這些模塊中均是存在輸入輸出引腳,但是不要求每個引腳均連接使用,多個輸入引腳中至少連接一個,輸出引腳可以不進行