欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法

文檔序號(hào):6637810閱讀:289來(lái)源:國(guó)知局
一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法
【專利摘要】一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法。收集起始圖形元件所連接的可執(zhí)行元件,將上述圖形元件作為一個(gè)疑似的圖形元件組中的圖形元件,并按照拓?fù)潢P(guān)系進(jìn)行初排序;依次遍歷收集到的可執(zhí)行元件,排查疑似圖形組,如果該圖形元件已經(jīng)被排序,則不做處理;對(duì)于單一圖形元件組內(nèi)的圖形元件進(jìn)行基于數(shù)據(jù)流和拓?fù)潢P(guān)系的快速排序,并在上述過(guò)程中通過(guò)閉環(huán)處理程序自動(dòng)識(shí)別并處理閉環(huán)回路;遍歷孤立的無(wú)連接關(guān)系的圖形元件,將上述圖形元件作為獨(dú)立的圖形元件組;圖形元件組之間通過(guò)各自的特征坐標(biāo)點(diǎn)進(jìn)行拓?fù)渑判?;遍歷已排序的圖形元件組,在組內(nèi)依次遍歷已排序的圖形元件,同時(shí)設(shè)置依次遞增的執(zhí)行序號(hào)。上述方法能夠智能識(shí)別處理圖形元件連接關(guān)系中的閉合回路,在整個(gè)執(zhí)行過(guò)程中完全無(wú)須人工干預(yù),方便高效。
【專利說(shuō)明】—種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于自動(dòng)化控制【技術(shù)領(lǐng)域】,尤其涉及一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法。

【背景技術(shù)】
[0002]在工業(yè)自動(dòng)化控制中,支持圖形化編程的組態(tài)軟件得到廣泛應(yīng)用。通常,該類軟件通過(guò)編輯圖形元件在頁(yè)面上的拓?fù)湮恢靡约氨舜酥g的連接關(guān)系達(dá)到組態(tài)某種用于數(shù)據(jù)處理和邏輯控制的程序的目的。
[0003]圖形元件中一般可包含兩種對(duì)外引腳:
[0004](I)輸入引腳:通過(guò)連線連接其它圖形元件的輸出引腳,將上述圖形元件作為當(dāng)前輸入引腳所屬圖形元件待操作的數(shù)據(jù)源。
[0005](2)輸出引腳:將當(dāng)前輸出引腳所屬圖形元件的操作結(jié)果輸出給通過(guò)連線連接的其它圖形元件。
[0006]圖形元件之間可使用連線相互連接,對(duì)于連線有如下定義:
[0007](I)連線起始端:連線中連接圖形元件輸出引腳的一端。
[0008](2)連線終止端:連線中連接圖形元件輸入引腳的一端。
[0009]另外,圖形元件的可大體進(jìn)行如下分類:
[0010](I)輸入元件:具有唯一的輸出引腳,作為數(shù)據(jù)源存在。
[0011](2)運(yùn)算元件:具有若干輸入引腳和輸出引腳,可根據(jù)輸入數(shù)據(jù)執(zhí)行某種功能后,從輸出引腳輸出執(zhí)行結(jié)果,作為功能執(zhí)行體存在??蓪⑷舾蓤D形元件通過(guò)連線連接,實(shí)現(xiàn)某種特定功能,并將上述圖形元件組合封裝為一個(gè)包含若干輸入引腳和輸出引腳的自定義的運(yùn)算元件使用。
[0012](3)終結(jié)元件:具有唯一的輸入引腳,執(zhí)行數(shù)據(jù)接收的動(dòng)作,作為終結(jié)端存在。
[0013]由于運(yùn)算元件和終結(jié)元件均執(zhí)行了某種動(dòng)作,因此在利用上述圖形元件組態(tài)邏輯算法時(shí)需要對(duì)其執(zhí)行順序進(jìn)行部署。目前已經(jīng)公開的文獻(xiàn)或相關(guān)產(chǎn)品中,對(duì)于圖形編輯及相關(guān)過(guò)程中依然存在不足之處:有一種是完全需要人工參與,即在組態(tài)邏輯算法過(guò)程中,對(duì)于具有可執(zhí)行功能的圖形元件的執(zhí)行順序需要人工進(jìn)行設(shè)置,整個(gè)過(guò)程紛繁復(fù)雜,容易出錯(cuò),新增或刪除圖形元件時(shí),相關(guān)圖形元件的執(zhí)行順序往往需要一并修改;另外有一種排序算法是半自動(dòng)進(jìn)行,即在組態(tài)邏輯算法過(guò)程中,一旦出現(xiàn)閉環(huán)情況,需要人為地設(shè)定某種特殊的圖形元件,顯式地打破程序中出現(xiàn)的閉環(huán),否則將無(wú)法對(duì)頁(yè)面中的圖形元件的執(zhí)行順序進(jìn)行自動(dòng)排布。


【發(fā)明內(nèi)容】

[0014]本發(fā)明要解決的技術(shù)問(wèn)題是,提供一種能夠自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法,其排序過(guò)程完全無(wú)須人工干預(yù),智能解決圖形元件連接過(guò)程中出現(xiàn)的閉環(huán)回路。
[0015]為更好的描述本發(fā)明,因此做如下定義:將輸入元件或輸入引腳無(wú)連接的運(yùn)算元件并稱為起始元件;將運(yùn)算元件和終結(jié)元件稱為可執(zhí)行元件;將通過(guò)連線串聯(lián)在一組的圖形元件稱為圖形元件組。將連線的輸出引腳一端稱為連線的起始端,將連線的輸入引腳一端稱為連線的終止端。
[0016]為更好的描述本發(fā)明,因此做如下說(shuō)明:每一個(gè)可執(zhí)行元件中包含一個(gè)名為“分組排序標(biāo)志位”的標(biāo)志位,具體含義如下:當(dāng)該標(biāo)志位被置為真時(shí),表示該可執(zhí)行元件的執(zhí)行順序已經(jīng)被確定了 ;反之,則表示該可執(zhí)行元件的執(zhí)行順序尚未被確定。
[0017]本發(fā)明具體采用以下技術(shù)方案:一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法,其特征在于,所述方法包括以下步驟:
[0018](I)在邏輯組態(tài)頁(yè)面中,將所有圖形元件分組初始化,收集起始元件所連接的可執(zhí)行元件,并按照可執(zhí)行元件的二維坐標(biāo)點(diǎn)進(jìn)行排序;
[0019](2)依次遍歷收集到的可執(zhí)行元件,如果當(dāng)前遍歷的可執(zhí)行元件已經(jīng)完成分組排序即確定了執(zhí)行順序,并且已經(jīng)被包含在其它圖形元件組中,則繼續(xù)遍歷其它可執(zhí)行元件;否則將當(dāng)前遍歷的可執(zhí)行元件帶入到步驟(3)進(jìn)行處理;
[0020](3)根據(jù)該可執(zhí)行元件的輸入引腳以及輸出引腳的連線的連接關(guān)系,得到該可執(zhí)行元件所屬的一個(gè)圖形元件組中若干可執(zhí)行元件的執(zhí)行順序即分組排序;
[0021](4)遍歷孤立的無(wú)連接關(guān)系的圖形元件,將孤立的無(wú)連接關(guān)系的圖形元件作為獨(dú)立的圖形元件組;
[0022](5)圖形元件組之間通過(guò)各自的特征坐標(biāo)點(diǎn)進(jìn)行組間排序;
[0023](6)遍歷已排序的圖形元件組,在組內(nèi)依次遍歷已排序的圖形元件,同時(shí)設(shè)置依次遞增的執(zhí)行序號(hào)。
[0024]本申請(qǐng)還進(jìn)一步優(yōu)選包括以下技術(shù)方案。
[0025]在步驟(I)中,將所有可執(zhí)行元件中所包含的是否完成分組排序標(biāo)志位清零;
[0026]將每一圖形元件最左上角在所述邏輯組態(tài)頁(yè)面中的拓?fù)湮恢米鳛樵搱D形元件的在所述直角坐標(biāo)系中的二維坐標(biāo)點(diǎn),根據(jù)起始元件所連接的可執(zhí)行元件的二維坐標(biāo)點(diǎn)進(jìn)行排序,排序規(guī)則為先上后下、從左至右,即先按照I軸坐標(biāo)對(duì)圖形元件進(jìn)行升序排列,y軸坐標(biāo)相同的再按照X軸坐標(biāo)進(jìn)行升序排序。
[0027]在步驟(2)中,遍歷某一可執(zhí)行元件的時(shí)候需要判斷其是否已經(jīng)被其它圖形元件組所包含,如果該可執(zhí)行元件所屬的分組排序標(biāo)志位已經(jīng)被置為真,則認(rèn)為該可執(zhí)行元件已經(jīng)完成分組排序,并且已經(jīng)被包含在其它圖形元件組中了。
[0028]在步驟(3)中,定義并使用列表數(shù)據(jù)結(jié)構(gòu)作為存儲(chǔ)所述分組排序的執(zhí)行元件的容器;定義并使用先進(jìn)先出的隊(duì)列數(shù)據(jù)結(jié)構(gòu)作為輔助結(jié)構(gòu)存儲(chǔ)尚未經(jīng)過(guò)分組排序的可執(zhí)行元件。
[0029]確定單一圖形元件組內(nèi)圖形元件執(zhí)行順序的具體步驟包括:
[0030](31)從隊(duì)列數(shù)據(jù)結(jié)構(gòu)的隊(duì)列頭中取出當(dāng)前操作的可執(zhí)行元件,按照引腳從上到下的順序依次遍歷其輸入引腳端連線,并判斷該連線是否為閉環(huán)反饋連線,如果確定某條連線為非閉環(huán)反饋連線,同時(shí)連線另一端的圖形元件為可執(zhí)行元件且分組排序標(biāo)志位尚未被置為真,則將該連線另一端的可執(zhí)行元件加入到隊(duì)列頭部,重復(fù)步驟(31);
[0031](32)如果可執(zhí)行元件的某一輸入引腳對(duì)應(yīng)的連線為閉環(huán)反饋連線或輸入引腳對(duì)應(yīng)的連線為非閉環(huán)反饋連線且連線另一端的圖形元件為輸入元件,則認(rèn)為可執(zhí)行元件的該輸入引腳所對(duì)應(yīng)的數(shù)據(jù)源為已知,如果當(dāng)前操作的可執(zhí)行元件所有輸入引腳所對(duì)應(yīng)的數(shù)據(jù)源均已知,則將該可執(zhí)行元件的分組排序標(biāo)志位置為真,并將該可執(zhí)行元件附加到列表數(shù)據(jù)結(jié)構(gòu)尾部;
[0032](33)將隊(duì)列數(shù)據(jù)結(jié)構(gòu)的隊(duì)列中原有元素即尚未經(jīng)過(guò)分組排序的可執(zhí)行元件依次取出,查看當(dāng)前操作的可執(zhí)行元件的輸出端連線,將非閉環(huán)反饋連線對(duì)應(yīng)的分組排序標(biāo)志位尚未被置為真的可執(zhí)行元件進(jìn)行排序:首先將上述可執(zhí)行元件按照終結(jié)元件和運(yùn)算元件進(jìn)行分類,并對(duì)兩種類型圖形元件分別進(jìn)行排序,將排序后的終結(jié)元件和運(yùn)算元件依次添加到隊(duì)列尾部后,再將隊(duì)列中原有元素按照原有順序依次添加到隊(duì)列尾部,重復(fù)步驟(31)。
[0033]其中,在步驟(31)中,判斷某連線是否為閉環(huán)反饋連線的方法為:
[0034]以正在操作的可執(zhí)行元件的某一條輸入引腳對(duì)應(yīng)的連線作為初始連線,以深度優(yōu)先的原則依次向圖形元件輸入引腳指向的數(shù)據(jù)源方向遞歸地遍歷圖形元件;
[0035]將上述按照深度優(yōu)先原則遍歷圖形元件過(guò)程中遍歷到的若干連線統(tǒng)稱為“訪問(wèn)路徑”,在上述遍歷過(guò)程中每遍歷到一條連線就將其記錄到該訪問(wèn)路徑對(duì)應(yīng)的連線向量表中;
[0036]當(dāng)遍歷到圖形元件為起始元件時(shí),則意味著該條訪問(wèn)路徑的終結(jié),同時(shí)訪問(wèn)路徑上對(duì)應(yīng)的連線向量表中的連線均被置為非閉環(huán)反饋連線;
[0037]當(dāng)某條訪問(wèn)路徑上新遍歷并加入到該路徑對(duì)應(yīng)的連線向量表中連線的終止端對(duì)應(yīng)的圖形元件與連線向量表中已經(jīng)存在的某一連線起始端對(duì)應(yīng)的圖形元件是同一個(gè)圖形元件時(shí),意味著這兩條連線及其中間的若干連線構(gòu)成了閉合回路,按照上述閉合回路所包含的連線在連線向量表中的順序依次對(duì)上述連線進(jìn)行遍歷:對(duì)于每條連線,將其起始端和終止端對(duì)應(yīng)的可執(zhí)行元件排序,如果連線終止端對(duì)應(yīng)的圖形元件靠前,則認(rèn)為該連線為閉合回路中唯一的閉環(huán)反饋線,其余連線均為非閉環(huán)反饋連線。
[0038]在步驟(5)中,所述圖形元件組內(nèi)部除了包含可執(zhí)行元件外,還包含若干輸入元件,將一個(gè)圖形元件組中最靠前的圖形元件的二維坐標(biāo)點(diǎn)即為作為該圖形元件組的特征坐標(biāo)點(diǎn),所有圖形元件組根據(jù)各自的特征坐標(biāo)點(diǎn)的拓?fù)湮恢眠M(jìn)行組間排序。
[0039]本發(fā)明具有以下有益的技術(shù)效果:
[0040]提供一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法,針對(duì)頁(yè)面內(nèi)的圖形元件按照連接關(guān)系進(jìn)行分組處理,在圖形元件組內(nèi)部進(jìn)行基于拓?fù)湮恢煤蛿?shù)據(jù)流的智能順序,并且在該過(guò)程中智能識(shí)別處理閉合回路,確定閉環(huán)反饋連線。整個(gè)排序過(guò)程完全無(wú)須人工干預(yù),大大提高了編程人員的工作效率。

【專利附圖】

【附圖說(shuō)明】
[0041]圖1為本發(fā)明公開的自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法流程圖;
[0042]圖2為本發(fā)明確定單一圖形元件組內(nèi)部所包含的圖形元件的排序方法流程圖;
[0043]圖3為本發(fā)明確定閉環(huán)反饋連線的閉環(huán)處理程序的流程圖;
[0044]圖4為本發(fā)明所描述的圖形元件分組排序方法中連線網(wǎng)絡(luò)圖;
[0045]其中⑴描述了僅存在一條路徑且無(wú)閉合回路的情況;(2)描述了僅存在一條路徑且無(wú)分支的完整的閉環(huán)的情況;(3)描述了僅存在一條路徑且閉環(huán)發(fā)生在起始連線之外的存在情況;(4)描述了存在多條路徑的綜合情況;
[0046]圖5為本發(fā)明提供的圖形繪制系統(tǒng)的圖形元件智能分組排序方法示例圖,其中(I)描述了圖形元件連接關(guān)系無(wú)閉合回路的情況;(2)描述了圖形元件連接存在閉合回路的情況;(3)描述了圖形元件之間的連接存在閉環(huán)時(shí),閉合回路中所包含的圖形元件的拓?fù)湮恢米兓瘜?duì)排序的影響。

【具體實(shí)施方式】
[0047]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一種實(shí)施例,而不是全部的實(shí)施例。
[0048]如附圖1所示,本申請(qǐng)公開了一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法,所述方法包括以下步驟:
[0049](I)圖形元件分組初始化:將所有可執(zhí)行元件中所包含的是否完成分組排序標(biāo)志位清零,只有當(dāng)該可執(zhí)行元件確定執(zhí)行順序后該可執(zhí)行元件所屬的分組排序的標(biāo)志位才被置為真;在邏輯組態(tài)頁(yè)面建立直角坐標(biāo)系,將每一圖形元件最左上角在所述邏輯組態(tài)頁(yè)面中的拓?fù)湮恢米鳛樵搱D形元件的在所述直角坐標(biāo)系中的二維坐標(biāo)點(diǎn);遍歷邏輯組態(tài)頁(yè)面中的圖形元件,收集起始元件所連接的可執(zhí)行元件,根據(jù)起始元件所連接的可執(zhí)行元件的二維坐標(biāo)點(diǎn)進(jìn)行排序,排序規(guī)則為先上后下、從左至右,即先按照I軸坐標(biāo)對(duì)圖形元件進(jìn)行升序排列,y軸坐標(biāo)相同的再按照X軸坐標(biāo)進(jìn)行升序排序;
[0050](2)排查疑似圖形元件組,經(jīng)過(guò)步驟(I)排序后的可執(zhí)行元件未必是一個(gè)單獨(dú)的圖形元件組,它有可能屬于一個(gè)已經(jīng)存在的圖形元件組,將經(jīng)步驟(I)排序后的可執(zhí)行元件按照順序依次進(jìn)行遍歷,并認(rèn)為每一個(gè)可執(zhí)行元件為一個(gè)疑似圖形元件組中的圖形元件,當(dāng)遍歷某一可執(zhí)行元件的時(shí)候需要判斷其是否已經(jīng)被其它圖形元件組所包含,如果該可執(zhí)行元件所屬的分組排序標(biāo)志位已經(jīng)被置為真,則認(rèn)為該可執(zhí)行元件已經(jīng)完成分組排序,并且已經(jīng)被包含在其它圖形元件組中了,繼續(xù)遍歷其它可執(zhí)行元件;否則將當(dāng)前遍歷的可執(zhí)行元件帶入到步驟(3)進(jìn)行處理;
[0051](3)確定每一個(gè)圖形元件組中圖形元件執(zhí)行順序:根據(jù)步驟(2)得到了一個(gè)標(biāo)志位尚未被置為真的可執(zhí)行元件;根據(jù)該可執(zhí)行元件的輸入引腳以及輸出引腳的連線的連接關(guān)系,得到一個(gè)圖形元件組中若干可執(zhí)行元件的執(zhí)行順序即分組排序;定義并使用列表數(shù)據(jù)結(jié)構(gòu)作為存儲(chǔ)所述分組排序的執(zhí)行元件的容器;定義并使用先進(jìn)先出的隊(duì)列數(shù)據(jù)結(jié)構(gòu)作為輔助結(jié)構(gòu)存儲(chǔ)尚未經(jīng)過(guò)分組排序的可執(zhí)行元件;將當(dāng)前遍歷的可執(zhí)行元件入隊(duì)列尾部,此時(shí)隊(duì)列中只有一個(gè)可執(zhí)行元件,圖形元件組內(nèi)部圖形元件排序過(guò)程是一個(gè)循環(huán),終止條件為隊(duì)列為空;
[0052](4)遍歷其余圖形元件組:經(jīng)過(guò)步驟(2)和步驟(3)已經(jīng)找到了所有包含起始元件的且彼此之間有連接關(guān)系的若干圖形元件所構(gòu)成的圖形元件組,并確定了其內(nèi)部可執(zhí)行元件的執(zhí)行順序;將邏輯頁(yè)面中剩余的孤立無(wú)連接關(guān)系的且分組排序標(biāo)志位尚未被置為真的可執(zhí)行元件分別當(dāng)為一個(gè)獨(dú)立的圖形元件組;
[0053](5)圖形元件組之間的排序:圖形元件組內(nèi)部除了包含可執(zhí)行元件外,還包含若干輸入元件,將一個(gè)圖形元件組中包含的所有圖形元件經(jīng)步驟(2)、(3)的分組排序后,將最靠前的圖形元件的坐標(biāo)點(diǎn)即為作為該圖形元件組的特征坐標(biāo)點(diǎn),所有圖形元件組根據(jù)各自的特征坐標(biāo)點(diǎn)的拓?fù)湮恢眠M(jìn)行組間排序;
[0054](6)按順序依次獲取并遍歷經(jīng)過(guò)步驟(5)的已排序各個(gè)圖形元件組中對(duì)應(yīng)的圖形元件列表,為每一個(gè)可執(zhí)行元件設(shè)置遞增的執(zhí)行序號(hào)。
[0055]進(jìn)一步的,在步驟(3)中,確定單一圖形元件組內(nèi)圖形元件執(zhí)行順序的具體步驟包括:
[0056](31)從隊(duì)列數(shù)據(jù)結(jié)構(gòu)的隊(duì)列頭中取出當(dāng)前操作的可執(zhí)行元件,并按照引腳從上到下的順序依次遍歷其輸入引腳端連線,并通過(guò)閉環(huán)處理程序判斷該連線是否為閉環(huán)反饋連線,如果確定某條連線為非閉環(huán)反饋連線,同時(shí)連線另一端的圖形元件為可執(zhí)行元件且分組排序標(biāo)志位尚未被置為真,則將該連線另一端的可執(zhí)行元件加入到隊(duì)列頭部,重復(fù)步驟
(31);
[0057](32)如果可執(zhí)行元件的某一輸入引腳對(duì)應(yīng)的連線為閉環(huán)反饋連線或輸入引腳對(duì)應(yīng)的連線為非閉環(huán)反饋連線且連線另一端的圖形元件為輸入元件,則認(rèn)為可執(zhí)行元件的該輸入引腳所對(duì)應(yīng)的數(shù)據(jù)源為已知,如果當(dāng)前操作的可執(zhí)行元件所有輸入引腳所對(duì)應(yīng)的數(shù)據(jù)源均已知,則將該可執(zhí)行元件的分組排序標(biāo)志位置為真,并將該可執(zhí)行元件附加到列表數(shù)據(jù)結(jié)構(gòu)尾部;
[0058](33)將隊(duì)列數(shù)據(jù)結(jié)構(gòu)的隊(duì)列中原有元素依次取出后備用,查看當(dāng)前操作的可執(zhí)行元件的輸出端連線,將非閉環(huán)反饋連線對(duì)應(yīng)的分組排序標(biāo)志位尚未被置為真的可執(zhí)行元件進(jìn)行排序。
[0059]在步驟(33)的排序過(guò)程中終結(jié)元件優(yōu)先于運(yùn)算元件,首先將上述可執(zhí)行元件按照終結(jié)元件和運(yùn)算元件進(jìn)行分類,并對(duì)兩種類型圖形元件分別進(jìn)行排序,將排序后的終結(jié)元件和運(yùn)算元件依次添加到隊(duì)列尾部后,再將隊(duì)列中原有元素按照原有順序依次添加到隊(duì)列尾部,重復(fù)步驟(31)。
[0060]進(jìn)一步的,(31)步驟中所述的閉環(huán)處理程序具體操作包括:
[0061]為更好的描述閉環(huán)處理程序的操作流程,做出如下定義:
[0062]以正在操作的執(zhí)行元件的某一條輸入引腳對(duì)應(yīng)的連線作為初始連線,以深度優(yōu)先的原則依次向圖形元件輸入引腳指向的數(shù)據(jù)源方向遞歸地遍歷圖形元件。將上述按照深度優(yōu)先原則遍歷圖形元件過(guò)程中遍歷到的若干連線統(tǒng)稱為“訪問(wèn)路徑”。同時(shí),在上述遍歷過(guò)程中每遍歷到一條連線就將其記錄到該訪問(wèn)路徑對(duì)應(yīng)的連線向量表中,訪問(wèn)路徑所包含的連線隨著遍歷深度的加深不斷增加。一條初始連線可能引發(fā)出多條訪問(wèn)路徑。遞歸遍歷圖形元件的終止條件為有兩個(gè):1)當(dāng)遍歷到圖形元件為起始元件時(shí),則意味著該條訪問(wèn)路徑的終結(jié),同時(shí)訪問(wèn)路徑上對(duì)應(yīng)的連線向量表中的連線均被置為非閉環(huán)反饋連線;2)或者,當(dāng)某條訪問(wèn)路徑上新遍歷并加入到該路徑對(duì)應(yīng)的連線向量表中連線的終止端對(duì)應(yīng)的圖形元件與連線向量表中已經(jīng)存在的某一連線起始端對(duì)應(yīng)的圖形元件是同一個(gè)圖形元件時(shí),意味著這兩條連線及其中間的若干連線構(gòu)成了閉合回路。按照上述閉合回路所包含的連線在連線向量表中的順序依次對(duì)上述連線進(jìn)行遍歷。對(duì)于每條連線,將其起始端和終止端對(duì)應(yīng)的可執(zhí)行元件排序,如果連線終止端對(duì)應(yīng)的圖形元件靠前,則認(rèn)為該連線為閉合回路中唯一的閉環(huán)反饋線,其余連線均為非閉環(huán)反饋連線。
[0063]進(jìn)一步的,步驟(31)中調(diào)用閉環(huán)處理程序應(yīng)注意:
[0064]由于閉環(huán)處理程序是將一條連線起始的所有路徑進(jìn)行遍歷訪問(wèn),因此在調(diào)用該程序前需要判斷目標(biāo)起始連線是否經(jīng)過(guò)閉環(huán)處理程序判定,如果該連線已經(jīng)過(guò)判定,便無(wú)須重復(fù)調(diào)用,以提高程序處理效率。另外,無(wú)須對(duì)終結(jié)元件的輸入端連線調(diào)用閉環(huán)處理程序,原因在于:(a)終結(jié)元件只有唯一的輸入端連線,因此該連線本身必定為非閉環(huán)反饋連線。(b)如果該先連線起始端連接的可執(zhí)行元件為輸入元件,那么該路徑上只有一條連線,且為非閉環(huán)反饋連線;如果該連線起始端連接的可執(zhí)行元件為運(yùn)算元件,則其自身的輸入端連線一定已經(jīng)完成閉環(huán)處理程序的判定,這是由前面步驟所決定的。
[0065]進(jìn)一步的,步驟(32)中排序目標(biāo)執(zhí)行元件應(yīng)注意:
[0066]如果目標(biāo)執(zhí)行元件的某個(gè)輸入引腳沒有連線,那么仍然認(rèn)為該輸入引腳引入的數(shù)據(jù)源為已知。根據(jù)上述規(guī)定,即使可執(zhí)行元件的對(duì)外引腳連接不完整,仍然可使用該分組排序方法排序頁(yè)面中已經(jīng)存在的圖形元件。這使得本方法的適用范圍進(jìn)一步擴(kuò)大。
[0067]下面進(jìn)一步通過(guò)實(shí)施例介紹本申請(qǐng)的技術(shù)方案。
[0068]實(shí)施例1:
[0069]請(qǐng)參閱圖1,其為自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法流程圖,同時(shí)結(jié)合以圖5(1)所示的圖形元件分布以及連接關(guān)系為例,說(shuō)明如何針對(duì)頁(yè)面中的圖形元件進(jìn)行分組排序。為方便描述,使用圖形元件內(nèi)部包含的符號(hào)來(lái)識(shí)別圖形元件。例如,包含符號(hào)“ ini”的輸入元件,稱為“輸入元件ini”。本申請(qǐng)自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法包括以下步驟:
[0070](I)圖形元件初始化:圖5(1)中,起始元件分別為輸入元件in1、輸入元件in2、輸入元件in3、輸入元件varl,其連接的可執(zhí)行元件經(jīng)拓?fù)渑判虻慕Y(jié)果為運(yùn)算元件GE、運(yùn)算元件ADD、運(yùn)算元件MUL、運(yùn)算元件SUB。
[0071](2)排查疑似的圖形元件組:當(dāng)查看運(yùn)算元件GE時(shí),其尚未未經(jīng)過(guò)排序處理,因此將其帶入步驟(3)進(jìn)行處理。由于在對(duì)包含運(yùn)算元件GE的圖形元件組進(jìn)行排序處理后,運(yùn)算元件ADD、運(yùn)算元件MUL以及運(yùn)算元件SUB也已經(jīng)一并經(jīng)過(guò)了排序處理,因此當(dāng)隨后排查包含運(yùn)算元件ADD、運(yùn)算元件MUL以及運(yùn)算元件SUB時(shí),它們的分組排序標(biāo)志位已經(jīng)被置為真,它們各自所代表的圖形元件組均不存在。
[0072](3)確定單一分組內(nèi)圖形元件執(zhí)行順序:
[0073]定義輔助隊(duì)列Q和輔助列表L,將運(yùn)算元件GE置于已被清空的輔助隊(duì)列Q中。從輔助隊(duì)列中取出隊(duì)列頭元素,將其作為當(dāng)前目標(biāo)執(zhí)行元件,該過(guò)程為一個(gè)循環(huán)過(guò)程,終止條件為隊(duì)列為空,圖2描述了該部分的流程圖,步驟(31)?(33)為其具體實(shí)施的步驟。最終,運(yùn)算元件GE為首的圖形元件組進(jìn)行排序處理后,組內(nèi)的可執(zhí)行元件排列順序?yàn)檫\(yùn)算元件ADD、運(yùn)算元件MUL、運(yùn)算元件SUB、輸出元件varl、運(yùn)算元件GE、輸出元件out。
[0074](31)遍歷目標(biāo)執(zhí)行元件輸入端連線。下面詳述第一次執(zhí)行該步驟時(shí)的情況:此時(shí)取出的目標(biāo)執(zhí)行元件為運(yùn)算元件GE,隨后通過(guò)調(diào)用閉環(huán)處理程序處理以目標(biāo)執(zhí)行元件左側(cè)的連線作為目標(biāo)起始連線的所有訪問(wèn)路徑。如果存在閉合回路,則找到該閉合回路中的唯一的一條閉環(huán)反饋連線。在圖5(1)所示的圖形元件連接關(guān)系中不存在閉合回路,閉環(huán)處理程序的處理流程將在實(shí)施例2中進(jìn)行詳細(xì)描述。此處,僅將閉環(huán)處理程序的結(jié)果進(jìn)行展示,以運(yùn)算元件GE輸入端的連線為首的路徑共5條,分別為Pathl {line8}、Path2 {linel, line2, line4, line6}、Path3 {linel, line2, lin4, line7}、Path4 {linel, line2, line5}、Path5 {linel, line3},上述路徑中涉及的所有連線均不是閉環(huán)反饋連線。由于當(dāng)前目標(biāo)執(zhí)行元件GE的輸入連線Iinel和IineS均為非閉環(huán)反饋連線,且運(yùn)算元件SUB未經(jīng)排序,因此需要將運(yùn)算元件SUB置于輔助隊(duì)列頭部,重復(fù)步驟(31)。
[0075](32)已知輸入源的目標(biāo)執(zhí)行元件完成排序。下面詳述第一次執(zhí)行該步驟時(shí)的情況:經(jīng)過(guò)反復(fù)執(zhí)行步驟(31),此時(shí)輔助隊(duì)列Q中的所包含的可執(zhí)行元件分別為運(yùn)算元件ADD,此時(shí)目標(biāo)執(zhí)行元件即為運(yùn)算元件ADD,由于其輸入端連線的起始端圖形元件為起始元件,因此認(rèn)為運(yùn)算元件ADD的所有輸入源有已知,那么將運(yùn)算元件ADD置于輔助列表L中,至此運(yùn)算元件ADD完成排序。
[0076](33)遍歷目標(biāo)執(zhí)行元件輸出端連線。下面詳述第一次執(zhí)行該步驟時(shí)的情況:目前,輔助隊(duì)列Q為空,將輔助隊(duì)列Q中的元件依次取出備用的步驟可略過(guò)。此時(shí),目標(biāo)執(zhí)行元件為運(yùn)算元件ADD,其唯一的輸出端連線line4是非閉環(huán)反饋連線,且line4另一端的運(yùn)算元件SUB尚未經(jīng)過(guò)排序,那么則將其放入輔助隊(duì)列Q中,重復(fù)步驟(31)。
[0077](4)遍歷其它圖形元件組:圖5(1)中無(wú)孤立的可執(zhí)行元件為輸出元件var2,它自身構(gòu)成一個(gè)圖形元件組。
[0078](5)確定各分組之間排序:首先,獲取各個(gè)圖形元件組的特征坐標(biāo)點(diǎn)。在圖5(1)中所示的圖形元件組有兩個(gè):一個(gè)為包含運(yùn)算元件GE的圖形元件組,其內(nèi)部所有圖形元件經(jīng)過(guò)拓?fù)渑判蚝?,排在最靠前的為運(yùn)算元件GE,則該圖形元件組的特征坐標(biāo)點(diǎn)即為運(yùn)算元件GE的拓?fù)湮恢米鴺?biāo);另一個(gè)為僅包含輸出元件var2的圖形元件組,那么該圖形元件組的特征坐標(biāo)點(diǎn)即為輸出元件var2的拓?fù)湮恢米鴺?biāo)。顯而易見,圖形元件組間排序的結(jié)果為包含運(yùn)算元件GE的圖形元件組在前,僅包含輸出元件var2的圖形元件組在后。
[0079](6)確定頁(yè)面中可執(zhí)行元件最終排序:首先,依次遍歷包含運(yùn)算元件GE的圖形元件組內(nèi)的可執(zhí)行元件的,再遍歷包含輸出元件var2的圖形元件組內(nèi)的可執(zhí)行元件。該頁(yè)面中可執(zhí)行元件的最終排序?yàn)?
[0080]運(yùn)算元件ADD、運(yùn)算元件MUL、運(yùn)算元件SUB、輸出元件varl、運(yùn)算元件GE、輸出元件out、輸出元件var2。
[0081]實(shí)施例2:
[0082]圖4說(shuō)明了若干連線構(gòu)成的網(wǎng)絡(luò)圖舉例,并將圖形元件抽象為圓點(diǎn),以突出路徑中連線之間的彼此關(guān)系。其中,圖中加粗的連線即為起始連線。圖4(1)描述了僅存在一條路徑且無(wú)閉合回路的情況;圖4(2)描述了僅存在一條路徑且無(wú)分支的完整的閉環(huán)的情況;圖4(3)描述了僅存在一條路徑且閉環(huán)發(fā)生在起始連線之外的存在情況;圖4(4)則描述了存在多條路徑的綜合情況。無(wú)論哪一種情況,均可使用閉環(huán)處理程序進(jìn)行判定。
[0083]圖3描述了閉環(huán)處理程序的流程圖,下面將結(jié)合以圖5(2)所示的圖形元件分布以及連接關(guān)系為例,說(shuō)明如何智能處理和識(shí)別閉合回路中的閉環(huán)反饋連線。
[0084]以圖5(2)中的運(yùn)算元件GE作為當(dāng)前目標(biāo)執(zhí)行元件,其輸入端連線所構(gòu)成的所有訪問(wèn)路徑有5條,包括:Pathl: {line8}、Path2: {linel, line3}、Path3: {I ine I,Iine2, Iine4, Iine6}、Path4: {I ine I,Iine2, Iine5}以及Path5 {linel, line2, line4, line7}。其中,line5的起始端運(yùn)算元件為SUB,終止端運(yùn)算元件為MUL ;line7的起始端運(yùn)算元件為SUB,終止端運(yùn)算元件為ADD。訪問(wèn)路徑Pathl、Path2以及Path3的末端均為輸入元件,符合終止以深度優(yōu)先原則依次向輸入端方向遞歸地遍歷圖形元件的條件,且未構(gòu)成閉合回路,其路徑上的連線網(wǎng)絡(luò)符合圖4(1)所示的連線網(wǎng)絡(luò)模型;訪問(wèn)路徑Path4和Path5已經(jīng)形成了閉合回路,其路徑上的連線網(wǎng)絡(luò)符合圖4(3)所示的連線網(wǎng)絡(luò)模型。
[0085]以Path4為例進(jìn)行詳細(xì)說(shuō)明,當(dāng)遍歷line5之前,該路徑的連線向量表中有Iinel和line2兩條連線,且這兩條連線不構(gòu)成閉合回路。將line5插入到該路徑的連線向量表后,依次遍歷連線向量表中原有存在的連線,查看line5的起始端運(yùn)算元件SUB是否與其中的某條連線的終止端運(yùn)算元件為同一個(gè)運(yùn)算元件,從而可以判定這兩條連線之間所有連線形成了閉合回路。顯而易見,line2和line5構(gòu)成了閉合回路。接下來(lái),則在閉合回路中尋找到閉環(huán)反饋連線。對(duì)比line2的起始端運(yùn)算元件MUL和終止端運(yùn)算元件SUB的拓?fù)湮恢每芍鹗级诉\(yùn)算元件MUL拓?fù)湮恢每壳?,因此line2不是閉環(huán)反饋連線;繼續(xù)對(duì)比line5的起始端運(yùn)算元件SUB和終止端運(yùn)算元件ADD的拓?fù)湮恢每芍?,其終止端運(yùn)算元件ADD拓?fù)湮恢每壳埃藭r(shí)可以確定line5是閉環(huán)反饋連線,那么Path4路徑上其它連線均為非閉環(huán)反饋連線。同樣地,Path5路徑上唯一的閉環(huán)反饋連線為line7,其它連線均為非閉環(huán)反饋連線。
[0086]進(jìn)一步的,圖5(3)展示了閉合回路中所包含的圖形元件的拓?fù)湮恢米兓瘜?duì)排序的影響。由于確定一個(gè)閉合回路中唯一的閉環(huán)反饋連線是以連線兩端運(yùn)算元件的拓?fù)湮恢藐P(guān)系為依據(jù)的,那么如果連線一端的運(yùn)算元件拓?fù)湮恢冒l(fā)現(xiàn)了改變,那么閉合回路中的閉環(huán)反饋連線則有可能變?yōu)槠渌B線。與圖5(2)相比,圖5(3)中運(yùn)算元件SUB的拓?fù)湮恢迷诖怪狈较蛏习l(fā)生了改變。那么在由line2和line5組成的閉合回路中,對(duì)比line2的起始端運(yùn)算元件MUL和終止端運(yùn)算元件SUB的拓?fù)湮恢每芍?,終止端運(yùn)算元件SUB拓?fù)湮恢每壳?,因此line2則成為閉環(huán)反饋連線。因此,盡管圖形元件個(gè)數(shù)不變,僅僅因?yàn)檫\(yùn)算元件SUB的拓?fù)湮恢冒l(fā)生了改變,最終導(dǎo)致圖5(2)和圖5(3)中可執(zhí)行元件的順序發(fā)生了改變。
[0087]對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明實(shí)施例的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明實(shí)施例將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【權(quán)利要求】
1.一種自動(dòng)處理閉環(huán)回路的圖形元件分組排序方法,其特征在于,所述方法包括以下步驟: (1)在邏輯組態(tài)頁(yè)面中,將所有圖形元件分組初始化,收集起始元件所連接的可執(zhí)行元件,并按照可執(zhí)行元件的二維坐標(biāo)點(diǎn)進(jìn)行排序;(2)依次遍歷收集到的可執(zhí)行元件,如果當(dāng)前遍歷的可執(zhí)行元件已經(jīng)完成分組排序即確定了執(zhí)行順序,并且已經(jīng)被包含在其它圖形元件組中,則繼續(xù)遍歷其它可執(zhí)行元件;否則將當(dāng)前遍歷的可執(zhí)行元件帶入到步驟(3)進(jìn)行處理; (3)根據(jù)該可執(zhí)行元件的輸入引腳以及輸出引腳的連線的連接關(guān)系,得到該可執(zhí)行元件所屬的一個(gè)圖形元件組中若干可執(zhí)行元件的執(zhí)行順序即分組排序; (4)遍歷孤立的無(wú)連接關(guān)系的圖形元件,將孤立的無(wú)連接關(guān)系的圖形元件作為獨(dú)立的圖形元件組; (5)圖形元件組之間通過(guò)各自的特征坐標(biāo)點(diǎn)進(jìn)行組間排序; (6)遍歷已排序的圖形元件組,在組內(nèi)依次遍歷已排序的圖形元件,同時(shí)設(shè)置依次遞增的執(zhí)行序號(hào)。
2.根據(jù)權(quán)利要求1所述的圖形元件分組排序方法,其特征在于: 在步驟(1)中,將所有可執(zhí)行元件中所包含的是否完成分組排序標(biāo)志位清零; 將每一圖形元件最左上角在所述邏輯組態(tài)頁(yè)面中的拓?fù)湮恢米鳛樵搱D形元件的在所述直角坐標(biāo)系中的二維坐標(biāo)點(diǎn),根據(jù)起始元件所連接的可執(zhí)行元件的二維坐標(biāo)點(diǎn)進(jìn)行排序,排序規(guī)則為先上后下、從左至右,即先按照1軸坐標(biāo)對(duì)圖形元件進(jìn)行升序排列,7軸坐標(biāo)相同的再按照X軸坐標(biāo)進(jìn)行升序排序。
3.根據(jù)權(quán)利要求1所述的圖形元件分組排序方法,其特征在于: 在步驟(2)中,遍歷某一可執(zhí)行元件的時(shí)候需要判斷其是否已經(jīng)被其它圖形元件組所包含,如果該可執(zhí)行元件所屬的分組排序標(biāo)志位已經(jīng)被置為真,則認(rèn)為該可執(zhí)行元件已經(jīng)完成分組排序,并且已經(jīng)被包含在其它圖形元件組中了。
4.根據(jù)權(quán)利要求1所述的圖形元件分組排序方法,其特征在于: 在步驟(3)中,定義并使用列表數(shù)據(jù)結(jié)構(gòu)作為存儲(chǔ)所述分組排序的執(zhí)行元件的容器;定義并使用先進(jìn)先出的隊(duì)列數(shù)據(jù)結(jié)構(gòu)作為輔助結(jié)構(gòu)存儲(chǔ)尚未經(jīng)過(guò)分組排序的可執(zhí)行元件。
5.根據(jù)權(quán)利要求4所述的圖形元件分組排序方法,其特征在于: 確定單一圖形元件組內(nèi)圖形元件執(zhí)行順序的具體步驟包括: (31)從隊(duì)列數(shù)據(jù)結(jié)構(gòu)的隊(duì)列頭中取出當(dāng)前操作的可執(zhí)行元件,按照引腳從上到下的順序依次遍歷其輸入引腳端連線,并判斷該連線是否為閉環(huán)反饋連線,如果確定某條連線為非閉環(huán)反饋連線,同時(shí)連線另一端的圖形元件為可執(zhí)行元件且分組排序標(biāo)志位尚未被置為真,則將該連線另一端的可執(zhí)行元件加入到隊(duì)列頭部,重復(fù)步驟(31); (32)如果可執(zhí)行元件的某一輸入引腳對(duì)應(yīng)的連線為閉環(huán)反饋連線或輸入引腳對(duì)應(yīng)的連線為非閉環(huán)反饋連線且連線另一端的圖形元件為輸入元件,則認(rèn)為可執(zhí)行元件的該輸入引腳所對(duì)應(yīng)的數(shù)據(jù)源為已知,如果當(dāng)前操作的可執(zhí)行元件所有輸入引腳所對(duì)應(yīng)的數(shù)據(jù)源均已知,則將該可執(zhí)行元件的分組排序標(biāo)志位置為真,并將該可執(zhí)行元件附加到列表數(shù)據(jù)結(jié)構(gòu)尾部; (33)將隊(duì)列數(shù)據(jù)結(jié)構(gòu)的隊(duì)列中原有元素即尚未經(jīng)過(guò)分組排序的可執(zhí)行元件依次取出,查看當(dāng)前操作的可執(zhí)行元件的輸出端連線,將非閉環(huán)反饋連線對(duì)應(yīng)的分組排序標(biāo)志位尚未被置為真的可執(zhí)行元件進(jìn)行排序:首先將上述可執(zhí)行元件按照終結(jié)元件和運(yùn)算元件進(jìn)行分類,并對(duì)兩種類型圖形元件分別進(jìn)行排序,將排序后的終結(jié)元件和運(yùn)算元件依次添加到隊(duì)列尾部后,再將隊(duì)列中原有元素按照原有順序依次添加到隊(duì)列尾部,重復(fù)步驟(31)。
6.根據(jù)權(quán)利要求5所述的圖形元件分組排序方法,其特征在于: 在步驟(31)中,判斷某連線是否為閉環(huán)反饋連線的方法為: 以正在操作的可執(zhí)行元件的某一條輸入引腳對(duì)應(yīng)的連線作為初始連線,以深度優(yōu)先的原則依次向圖形元件輸入引腳指向的數(shù)據(jù)源方向遞歸地遍歷圖形元件; 將上述按照深度優(yōu)先原則遍歷圖形元件過(guò)程中遍歷到的若干連線統(tǒng)稱為“訪問(wèn)路徑”,在上述遍歷過(guò)程中每遍歷到一條連線就將其記錄到該訪問(wèn)路徑對(duì)應(yīng)的連線向量表中; 當(dāng)遍歷到圖形元件為起始元件時(shí),則意味著該條訪問(wèn)路徑的終結(jié),同時(shí)訪問(wèn)路徑上對(duì)應(yīng)的連線向量表中的連線均被置為非閉環(huán)反饋連線; 當(dāng)某條訪問(wèn)路徑上新遍歷并加入到該路徑對(duì)應(yīng)的連線向量表中連線的終止端對(duì)應(yīng)的圖形元件與連線向量表中已經(jīng)存在的某一連線起始端對(duì)應(yīng)的圖形元件是同一個(gè)圖形元件時(shí),意味著這兩條連線及其中間的若干連線構(gòu)成了閉合回路,按照上述閉合回路所包含的連線在連線向量表中的順序依次對(duì)上述連線進(jìn)行遍歷:對(duì)于每條連線,將其起始端和終止端對(duì)應(yīng)的可執(zhí)行元件排序,如果連線終止端對(duì)應(yīng)的圖形元件靠前,則認(rèn)為該連線為閉合回路中唯一的閉環(huán)反饋線,其余連線均為非閉環(huán)反饋連線。
7.根據(jù)權(quán)利要求1所述的圖形元件分組排序方法,其特征在于: 在步驟(5)中,所述圖形元件組內(nèi)部除了包含可執(zhí)行元件外,還包含若干輸入元件,將一個(gè)圖形元件組中最靠前的圖形元件的二維坐標(biāo)點(diǎn)即為作為該圖形元件組的特征坐標(biāo)點(diǎn),所有圖形元件組根據(jù)各自的特征坐標(biāo)點(diǎn)的拓?fù)湮恢眠M(jìn)行組間排序。
【文檔編號(hào)】G06F17/50GK104408263SQ201410746628
【公開日】2015年3月11日 申請(qǐng)日期:2014年12月9日 優(yōu)先權(quán)日:2014年12月9日
【發(fā)明者】李維, 徐延明, 師嘉, 魏瑩, 王沿海 申請(qǐng)人:北京四方繼保自動(dòng)化股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
西盟| 辰溪县| 武冈市| 大同市| 广丰县| 伊宁市| 襄城县| 大渡口区| 辽宁省| 清丰县| 扎囊县| 山丹县| 涪陵区| 台东市| 永吉县| 西宁市| 安仁县| 永清县| 陆川县| 独山县| 广州市| 榆中县| 黑龙江省| 宁强县| 东安县| 平邑县| 德保县| 溆浦县| 石楼县| 汤原县| 隆安县| 深圳市| 垣曲县| 垦利县| 黑龙江省| 观塘区| 惠州市| 莫力| 集安市| 永嘉县| 思茅市|