一種動(dòng)態(tài)管理控制邏輯集的方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種動(dòng)態(tài)管理控制邏輯集的方法,其特征是通過(guò)建立一個(gè)開(kāi)放式架構(gòu)的控制邏輯池1實(shí)現(xiàn)控制系統(tǒng)中對(duì)大量復(fù)雜控制邏輯的動(dòng)態(tài)調(diào)度管理。其中,該方法還包括:控制邏輯集2包含了所述控制系統(tǒng)中的所有控制邏輯,并按照功能或?qū)傩苑謩e封裝為共享函數(shù)對(duì)象;控制邏輯注冊(cè)表3登記了控制邏輯集2中的所有控制邏輯的相關(guān)信息;控制邏輯執(zhí)行隊(duì)列群4包含了2個(gè)以上的控制邏輯執(zhí)行隊(duì)列,作為控制邏輯的執(zhí)行通道和緩存空間;控制邏輯池動(dòng)態(tài)調(diào)度平臺(tái)5在接到所述控制系統(tǒng)主程序請(qǐng)求執(zhí)行某個(gè)控制邏輯的信息后,通過(guò)控制邏輯注冊(cè)表3提取該控制邏輯相關(guān)信息,選擇并添加入控制邏輯執(zhí)行隊(duì)列群4中合適的控制邏輯執(zhí)行隊(duì)列。
【專(zhuān)利說(shuō)明】—種動(dòng)態(tài)管理控制邏輯集的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明公開(kāi)了一種動(dòng)態(tài)管理控制邏輯集的方法,其特征是通過(guò)構(gòu)建一個(gè)開(kāi)放結(jié)構(gòu)的控制邏輯池,實(shí)現(xiàn)各類(lèi)基于計(jì)算機(jī)或MCU的控制系統(tǒng)中的控制邏輯集群的動(dòng)態(tài)調(diào)度與管理,充分發(fā)揮了多線程技術(shù)的快速、靈活的優(yōu)勢(shì)。
【背景技術(shù)】
[0002]控制邏輯(control logic)是各類(lèi)基于計(jì)算機(jī)或MCU (Micro Control Unit微控制單元)的控制系統(tǒng)中軟件程序的關(guān)鍵部分,它的作用是通過(guò)給定的邏輯算法的運(yùn)算,得出控制結(jié)論,完成相應(yīng)的自動(dòng)控制任務(wù)。
[0003]在工業(yè)控制、農(nóng)業(yè)自動(dòng)化控制、樓宇自控、智能家居、機(jī)電設(shè)備控制等行業(yè)和領(lǐng)域,當(dāng)前越來(lái)越多地采用主要由計(jì)算機(jī)構(gòu)成的集中式或集中加分布式自動(dòng)控制系統(tǒng),但是,系統(tǒng)中的控制程序普遍仍采用IEC 61131系列國(guó)際標(biāo)準(zhǔn)。
[0004]事實(shí)上,IEC 61131系列標(biāo)準(zhǔn)的產(chǎn)生和發(fā)展是為了規(guī)范早期PLC的生產(chǎn)和應(yīng)用,其中軟件結(jié)構(gòu)模型模擬了硬件邏輯電路的工作機(jī)理,采用了循環(huán)或定時(shí)循環(huán)的順序掃描運(yùn)行原則,雖然該標(biāo)準(zhǔn)也可以將部分控制邏輯設(shè)計(jì)為函數(shù)形式,在運(yùn)行中調(diào)用,但本質(zhì)上仍然是一種單線程的程序結(jié)構(gòu),難以適應(yīng)集中控制模式中大量且復(fù)雜的控制邏輯的運(yùn)行管理,限制了控制系統(tǒng)的響應(yīng)速度,也限制了大數(shù)據(jù)集中與共享的運(yùn)用。這也是為什么目前通過(guò)組態(tài)模式建立的集中式監(jiān)控系統(tǒng)仍然將控制邏輯分布在眾多的現(xiàn)場(chǎng)控制器內(nèi),集中到中央服務(wù)器的數(shù)據(jù)多用于監(jiān)視、查詢和報(bào)表,控制邏輯并沒(méi)有集中,即所謂的“分散控制,集中管理”。
[0005]綜上所述,現(xiàn)有的技術(shù)方案在處理控制邏輯的運(yùn)行機(jī)制上存在有如下問(wèn)題:
[0006]1.不論控制邏輯如何分割成相對(duì)獨(dú)立的功能塊或子函數(shù),在運(yùn)行中都是順序執(zhí)行;
[0007]2.在分布式控制系統(tǒng)中,雖然可以把眾多的控制邏輯分別放在不同的現(xiàn)場(chǎng)控制單元中同時(shí)運(yùn)行,但是,這種分布式并行方案也同時(shí)將數(shù)據(jù)分割,控制邏輯在執(zhí)行時(shí)所能利用的數(shù)據(jù)量受到限制,相應(yīng)地,控制邏輯的功能必然受到限制;
[0008]3.將數(shù)據(jù)與控制邏輯全部集中存放與處理的全集中方案,如果大量的控制邏輯程序只能順序執(zhí)行,控制系統(tǒng)的響應(yīng)時(shí)間則會(huì)變得難以接受。
[0009]因此,隨著信息技術(shù)的高速發(fā)展,支持多線程的計(jì)算機(jī)或MCU越來(lái)越普及,探索實(shí)現(xiàn)基于多線程軟件技術(shù)的復(fù)雜控制邏輯集群的有效運(yùn)行管理方案就有了更加緊迫的需求和更現(xiàn)實(shí)的應(yīng)用價(jià)值。
[0010]本發(fā)明創(chuàng)新地提出了“控制邏輯池”的開(kāi)放式架構(gòu)方案,實(shí)現(xiàn)了控制系統(tǒng)中對(duì)復(fù)雜控制邏輯的動(dòng)態(tài)調(diào)度管理,提高了系統(tǒng)的運(yùn)行效率,增強(qiáng)了系統(tǒng)的可靠性和軟件程序的可復(fù)用性,同時(shí)由于控制邏輯可以獨(dú)立封裝還使得控制系統(tǒng)具有了更好的可維護(hù)性。
【發(fā)明內(nèi)容】
[0011]本發(fā)明公開(kāi)了一種動(dòng)態(tài)管理控制邏輯集的方法,目的是要實(shí)現(xiàn)各類(lèi)控制系統(tǒng)中大量控制邏輯的并行處理、動(dòng)態(tài)調(diào)度、靈活增刪改的管理問(wèn)題。
[0012]為了實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明所采用的技術(shù)方案包括:
[0013]1.本發(fā)明所述的一種動(dòng)態(tài)管理控制邏輯集的方法,其技術(shù)方案參見(jiàn)圖1,為本發(fā)明技術(shù)方案的結(jié)構(gòu)圖,本發(fā)明特征是通過(guò)建立一個(gè)開(kāi)放式架構(gòu)的控制邏輯池1,實(shí)現(xiàn)了控制系統(tǒng)中對(duì)大量復(fù)雜控制邏輯的動(dòng)態(tài)調(diào)度管理,他包括:
[0014](I)控制邏輯集2包含了所有所述控制系統(tǒng)中的控制邏輯,并按照功能或?qū)傩苑庋b打包,控制系統(tǒng)運(yùn)行時(shí)為完成某個(gè)控制任務(wù)可以將控制邏輯集2中的相關(guān)控制邏輯并列執(zhí)行或相互接續(xù)執(zhí)行或相互交叉調(diào)用;
[0015](2)控制邏輯注冊(cè)表3登記了控制邏輯集2中的所有控制邏輯的ID、名稱(chēng)、類(lèi)別、所需參數(shù)、優(yōu)先級(jí)及內(nèi)部特征屬性;
[0016](3)控制邏輯執(zhí)行隊(duì)列群4包含至少2個(gè)隊(duì)列,作為控制邏輯的執(zhí)行通道,并用于多個(gè)控制邏輯執(zhí)行請(qǐng)求的緩存;通常部分控制邏輯中含有短暫的等待指令,但這會(huì)影響其他控制邏輯的及時(shí)運(yùn)行,因此需要建立至少2個(gè)隊(duì)列,其中一個(gè)隊(duì)列可被指定用于處理所述控制邏輯內(nèi)部特征屬性為“有等待”的一類(lèi)控制邏輯;
[0017](4)控制邏輯池動(dòng)態(tài)調(diào)度平臺(tái)5在接到執(zhí)行某個(gè)控制邏輯的請(qǐng)求信息后通過(guò)控制邏輯注冊(cè)表3提取該控制邏輯相關(guān)信息,并比較其優(yōu)先級(jí)及內(nèi)部特征屬性,選擇并添加入控制邏輯執(zhí)行隊(duì)列群4中合適的隊(duì)列;
[0018]2.本發(fā)明所述的一種動(dòng)態(tài)管理控制邏輯集的方法,其特征是利用計(jì)算機(jī)操作系統(tǒng)提供的共享函數(shù)庫(kù)技術(shù),將所述控制系統(tǒng)中的所有控制邏輯按照功能或?qū)傩苑謩e封裝為共享函數(shù)對(duì)象,集中管理形成控制邏輯集2,實(shí)現(xiàn)控制系統(tǒng)運(yùn)行中對(duì)控制邏輯的動(dòng)態(tài)加載執(zhí)行或卸載。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0019]圖1為本發(fā)明技術(shù)方案的結(jié)構(gòu)圖
[0020]圖2為本發(fā)明技術(shù)方案中控制邏輯池動(dòng)態(tài)調(diào)度流程圖
[0021]圖3為本發(fā)明技術(shù)方案中執(zhí)行隊(duì)列運(yùn)行管理流程圖
【具體實(shí)施方式】
[0022]以下通過(guò)【專(zhuān)利附圖】
【附圖說(shuō)明】本發(fā)明技術(shù)方案的實(shí)施方式:
[0023]圖1為本發(fā)明技術(shù)方案的結(jié)構(gòu)圖,說(shuō)明了本發(fā)明技術(shù)方案實(shí)施構(gòu)建的方式。其中,該方法包括:通過(guò)建立一個(gè)開(kāi)放式架構(gòu)的控制邏輯池1,實(shí)現(xiàn)了控制系統(tǒng)中對(duì)大量復(fù)雜控制邏輯的動(dòng)態(tài)調(diào)度管理,該方法還包括:
[0024](I)控制邏輯集2包含了所有所述控制系統(tǒng)中的控制邏輯,并按照功能或?qū)傩苑庋b打包,控制系統(tǒng)運(yùn)行時(shí)為完成某個(gè)控制任務(wù)可以將控制邏輯集2中的相關(guān)控制邏輯并列執(zhí)行或相互接續(xù)執(zhí)行或相互交叉調(diào)用;
[0025](2)控制邏輯注冊(cè)表3登記了控制邏輯集2中的所有控制邏輯的ID、名稱(chēng)、類(lèi)別、所需參數(shù)、優(yōu)先級(jí)及內(nèi)部特征屬性;
[0026](3)控制邏輯執(zhí)行隊(duì)列群4包含至少2個(gè)隊(duì)列,作為控制邏輯的執(zhí)行通道,并用于多個(gè)控制邏輯執(zhí)行請(qǐng)求的緩存;通常部分控制邏輯中含有短暫的等待指令,但這會(huì)影響其他控制邏輯的及時(shí)運(yùn)行,因此需要建立至少2個(gè)隊(duì)列,其中一個(gè)隊(duì)列可被指定用于處理所述控制邏輯內(nèi)部特征屬性為“有等待”的一類(lèi)控制邏輯;
[0027](4)控制邏輯池動(dòng)態(tài)調(diào)度平臺(tái)5在接到執(zhí)行某個(gè)控制邏輯的請(qǐng)求信息后通過(guò)控制邏輯注冊(cè)表3提取該控制邏輯相關(guān)信息,并比較其優(yōu)先級(jí)及內(nèi)部特征屬性,選擇并添加入控制邏輯執(zhí)行隊(duì)列群4中合適的隊(duì)列;
[0028]2.本發(fā)明所述的一種動(dòng)態(tài)管理控制邏輯集的方法,其特征是利用計(jì)算機(jī)操作系統(tǒng)提供的共享函數(shù)庫(kù)技術(shù),將所述控制系統(tǒng)中的所有控制邏輯按照功能或?qū)傩苑謩e封裝為共享函數(shù)對(duì)象,集中管理形成控制邏輯集2,實(shí)現(xiàn)控制系統(tǒng)運(yùn)行中對(duì)控制邏輯的動(dòng)態(tài)加載執(zhí)行或卸載;其中,【具體實(shí)施方式】包括但不限于:
[0029](I)在Windows平臺(tái)中,將所述控制系統(tǒng)中的所有控制邏輯按照功能或?qū)傩苑謩e封裝為.dll動(dòng)態(tài)鏈接庫(kù);
[0030](2)在Linux平臺(tái)中,將所述控制系統(tǒng)中的所有控制邏輯按照功能或?qū)傩苑謩e封裝為.so共享對(duì)象。
[0031]圖2為本發(fā)明技術(shù)方案中控制邏輯池動(dòng)態(tài)調(diào)度流程圖,說(shuō)明了本發(fā)明技術(shù)方案關(guān)鍵部分的具體實(shí)施方法示例,該示例基于控制邏輯執(zhí)行隊(duì)列群中建有2個(gè)基本的控制邏輯執(zhí)行隊(duì)列,分別標(biāo)注為隊(duì)列(I)和隊(duì)列(2)。其中,該方法包括:控制邏輯池動(dòng)態(tài)調(diào)度平臺(tái)執(zhí)行步驟I收到控制邏輯i的執(zhí)行請(qǐng)求后,開(kāi)始執(zhí)行步驟2根據(jù)控制邏輯i的ID,在控制邏輯注冊(cè)表中找到控制邏輯i的相應(yīng)屬性;進(jìn)入步驟3,判斷控制邏輯i的屬性中的“有無(wú)等待”屬性項(xiàng)是否為“有等待”;如果步驟3的結(jié)果為是,進(jìn)入步驟4從控制邏輯執(zhí)行隊(duì)列(I)頭部取出其控制邏輯的優(yōu)先級(jí)Pri (max);進(jìn)入步驟6,判斷是否Pri (max)大于等于步驟I中收到的控制邏輯i的優(yōu)先級(jí);如果步驟6的結(jié)果為是,則執(zhí)行步驟7插入隊(duì)列(I)的尾部,否則執(zhí)行步驟8插入隊(duì)列(I)的頭部;如果步驟3的結(jié)果為否,進(jìn)入步驟5從隊(duì)列(5)頭部取出其控制邏輯的優(yōu)先級(jí)Pri (max);進(jìn)入步驟9,判斷是否Pri (max)大于等于步驟I中收到的控制邏輯i的優(yōu)先級(jí);如果步驟9的結(jié)果為是,則執(zhí)行步驟11插入隊(duì)列(2)的尾部,否則執(zhí)行步驟10插入隊(duì)列(2)的頭部。
[0032]圖3為本發(fā)明技術(shù)方案中執(zhí)行隊(duì)列運(yùn)行管理流程圖,示例說(shuō)明了本發(fā)明技術(shù)方案中所述控制邏輯執(zhí)行隊(duì)列群中從控制邏輯執(zhí)行隊(duì)列I到控制邏輯執(zhí)行隊(duì)列η都擁有各自的但也是相同的執(zhí)行隊(duì)列自身的運(yùn)行管理功能的實(shí)施方法。其中,該方法包括:首先對(duì)隊(duì)列i進(jìn)行查看,進(jìn)入步驟I的判斷,如果步驟I的結(jié)果為否,則繼續(xù)查看直到步驟I的結(jié)果為是;當(dāng)步驟I的結(jié)果為是,執(zhí)行步驟2從隊(duì)列i的頭部取出一項(xiàng),然后執(zhí)行步驟3按相應(yīng)參數(shù)執(zhí)行此邏輯,即對(duì)步驟2中該項(xiàng)數(shù)據(jù)解析后,根據(jù)解析后得到的控制邏輯ID與控制邏輯注冊(cè)表找到相應(yīng)的控制模塊,傳入解析后的參數(shù),開(kāi)始執(zhí)行控制邏輯;最后執(zhí)行步驟4,將此項(xiàng)刪除,頭指針下移,然后轉(zhuǎn)到步驟I。
[0033]需要說(shuō)明的是,以上實(shí)施例是用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制。
[0034]綜上所述,本發(fā)明具有如下優(yōu)點(diǎn):
[0035]1.本發(fā)明通過(guò)建立一個(gè)開(kāi)放式架構(gòu)的控制邏輯池實(shí)現(xiàn)了控制系統(tǒng)中對(duì)大量復(fù)雜控制邏輯的動(dòng)態(tài)調(diào)度管理,特別是可以成為全集中控制系統(tǒng)架構(gòu)中關(guān)鍵的控制邏輯構(gòu)建與運(yùn)行管理的一個(gè)可行的、有效的、開(kāi)放的方案;[0036]2.本發(fā)明在較為宏觀的架構(gòu)層面給出了控制邏輯集的動(dòng)態(tài)管理實(shí)施方案,也將該方案在實(shí)際項(xiàng)目中運(yùn)行檢驗(yàn)的經(jīng)驗(yàn)教訓(xùn)形成諸多的優(yōu)化細(xì)節(jié)融入本發(fā)明技術(shù)方案中,具有較高的應(yīng)用價(jià)值。
[0037]本發(fā)明技術(shù)方案已經(jīng)用于 申請(qǐng)人:的實(shí)際工程項(xiàng)目中,并經(jīng)過(guò)了至少2年的運(yùn)行檢驗(yàn)。
【權(quán)利要求】
1.本發(fā)明所述的一種動(dòng)態(tài)管理控制邏輯集的方法,其特征在于通過(guò)建立一個(gè)開(kāi)放式架構(gòu)的控制邏輯池實(shí)現(xiàn)控制系統(tǒng)中對(duì)大量復(fù)雜控制邏輯的動(dòng)態(tài)調(diào)度管理,它包括: (1)控制邏輯集,其包含了所有所述控制系統(tǒng)中的控制邏輯,并按照功能或?qū)傩苑庋b打包,控制系統(tǒng)運(yùn)行時(shí)為完成某個(gè)控制任務(wù)可以將控制邏輯集中的相關(guān)控制邏輯并列執(zhí)行或相互交叉調(diào)用執(zhí)行; (2)控制邏輯注冊(cè)表,其登記了所述控制邏輯集中的所有控制邏輯的ID、名稱(chēng)、類(lèi)別、運(yùn)行所需參數(shù)、優(yōu)先級(jí)及內(nèi)部特征屬性; (3)控制邏輯執(zhí)行隊(duì)列群,其包含至少2個(gè)控制邏輯執(zhí)行隊(duì)列,作為控制邏輯的執(zhí)行通道,并用于多個(gè)控制邏輯執(zhí)行請(qǐng)求的排隊(duì)緩存;由于,通常有控制邏輯中含有短暫的等待指令,這樣會(huì)影響其他控制邏輯的及時(shí)運(yùn)行,因此控制邏輯執(zhí)行隊(duì)列群中需要建立至少2個(gè)控制邏輯執(zhí)行隊(duì)列,其中一個(gè)隊(duì)列可被指定用于處理所述控制邏輯內(nèi)部特征屬性含有“有等待”特征的一類(lèi)控制邏輯; (4)控制邏輯池動(dòng)態(tài)調(diào)度平臺(tái),其在接到所述控制系統(tǒng)主程序請(qǐng)求執(zhí)行某個(gè)控制邏輯的信息后,通過(guò)所述控制邏輯注冊(cè)表提取該控制邏輯相關(guān)信息,并比較其優(yōu)先級(jí)及內(nèi)部特征屬性,然后選擇并添加入控制邏輯執(zhí)行隊(duì)列群中合適的控制邏輯執(zhí)行隊(duì)列。
2.根據(jù)權(quán)利要求1所述的一種動(dòng)態(tài)管理控制邏輯集的方法,其特征是利用計(jì)算機(jī)操作系統(tǒng)提供的共享函數(shù)庫(kù)技術(shù),將所述控制系統(tǒng)中的所有控制邏輯按照功能或?qū)傩苑謩e封裝為共享函數(shù)對(duì)象,集中管理并形成控制邏輯集,實(shí)現(xiàn)控制系統(tǒng)運(yùn)行中對(duì)控制邏輯的動(dòng)態(tài)加載執(zhí)行或卸載。
【文檔編號(hào)】G05B19/042GK103885365SQ201410109942
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2014年3月24日 優(yōu)先權(quán)日:2014年3月24日
【發(fā)明者】韓騏鍵 申請(qǐng)人:三和智控(北京)系統(tǒng)集成有限公司