本發(fā)明涉及一種工業(yè)自動(dòng)化控制系統(tǒng)軟件方法,尤其是一種基于云超實(shí)時(shí)仿真平臺(tái)與硬件在環(huán)的實(shí)時(shí)決策方法。
背景技術(shù):
在工業(yè)自動(dòng)化控制系統(tǒng)中,系統(tǒng)仿真多數(shù)遵循模型-視圖-控制器模式(model-view-controller,mvc),模型指針對(duì)控制對(duì)象的物理特性描述與功能行為特征,在仿真過(guò)程中保存控制對(duì)象的狀態(tài);視圖指用戶可視化界面,在仿真過(guò)程顯示模型狀態(tài),且允許用戶輸入?yún)?shù)并傳遞給控制器;控制器提供控制算法,響應(yīng)用戶操作更新算法參數(shù)。當(dāng)控制算法發(fā)生改變時(shí),改變的狀態(tài)將被發(fā)送給模型。當(dāng)模型收到請(qǐng)求后,通過(guò)物理模型對(duì)狀態(tài)改變計(jì)算得到更新的行為特征,并返回給控制器。
系統(tǒng)仿真方法主要有閉環(huán)仿真與在環(huán)仿真兩種方式。在閉環(huán)仿真方式中,模型與控制器均為軟件模擬,通過(guò)部署在計(jì)算機(jī)、服務(wù)器或者云端實(shí)現(xiàn)實(shí)時(shí)或超實(shí)時(shí)仿真。在環(huán)仿真則是通過(guò)部署控制器到相應(yīng)的物理設(shè)備上,通過(guò)以太網(wǎng)、usb或者工業(yè)現(xiàn)場(chǎng)總線方式實(shí)現(xiàn)與運(yùn)行在計(jì)算機(jī)上的模型進(jìn)行數(shù)據(jù)交換。
目前的工業(yè)自動(dòng)化控制系統(tǒng)在長(zhǎng)時(shí)間運(yùn)行過(guò)程中,系統(tǒng)硬件往往出現(xiàn)無(wú)預(yù)兆的突發(fā)性故障,即使系統(tǒng)通過(guò)長(zhǎng)時(shí)間的閉環(huán)仿真驗(yàn)證,也無(wú)法完全避免未知軟件錯(cuò)誤與極端情況下的未知錯(cuò)誤。另外目前在環(huán)仿真方案采用的是全軟件模擬仿真方法,建立模型時(shí)間周期長(zhǎng),成本高,準(zhǔn)確率低,仿真結(jié)果與真實(shí)結(jié)果差異大;而且仿真平臺(tái)多都是以離線的方式進(jìn)行超實(shí)時(shí)仿真,無(wú)論是硬件在環(huán)仿真方法還是全軟件模擬仿真方法,都無(wú)法實(shí)現(xiàn)根據(jù)離線仿真結(jié)果對(duì)在線系統(tǒng)進(jìn)行實(shí)時(shí)干預(yù)以避免故障發(fā)生。
技術(shù)實(shí)現(xiàn)要素:
有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問(wèn)題是對(duì)在工業(yè)自動(dòng)化控制系統(tǒng)運(yùn)行中遇到突發(fā)性故障時(shí)進(jìn)行自我診斷,提升系統(tǒng)故障診斷的速度,實(shí)現(xiàn)在故障發(fā)生前對(duì)故障預(yù)判能力,對(duì)工業(yè)自動(dòng)化控制系統(tǒng)進(jìn)行實(shí)時(shí)干預(yù),自我修復(fù)避免故障發(fā)生。
為解決所述問(wèn)題,本發(fā)明提供一種基于云超實(shí)時(shí)仿真平臺(tái)與硬件在環(huán)的實(shí)時(shí)決策方法,包括以下步驟:
步驟100讀取輸入值;
步驟200將步驟100中讀取的所述輸入值寫入第一控制器的輸入變量?jī)?nèi)存和第二控制器的輸入變量?jī)?nèi)存;
步驟300根據(jù)步驟200中寫入的所述輸出值,所述第一控制器執(zhí)行運(yùn)算邏輯得到第一輸出變量值,所述第二控制器執(zhí)行運(yùn)算邏輯得到第二輸出變量值,通過(guò)云計(jì)算執(zhí)行所述第一控制器或所述第二控制器的運(yùn)算邏輯;
步驟400對(duì)比步驟300得到的所述第二輸出變量值與故障樹;
步驟410根據(jù)步驟400的對(duì)比結(jié)果判斷是否存在故障:如果存在故障,則進(jìn)入步驟500,如果不存在故障,則進(jìn)入步驟600;
步驟500根據(jù)步驟410中的判斷結(jié)果,強(qiáng)制向所述第一控制器寫入第三輸出變量值,再進(jìn)入步驟600;
步驟600根據(jù)步驟410比較所述第一輸出變量值與所述第二輸出變量值,或者根據(jù)步驟500比較所述第三輸出變量值與所述第二輸出變量值;
步驟610判斷步驟600中的所述第一輸出變量值與所述第二輸出變量值是否相同,或者判斷所述第三輸出變量值與所述第二輸出變量值是否相同:如果所述第一輸出變量值與所述第二輸出變量值相同,或者所述第三輸出變量值與所述第二輸出變量值相同,則返回步驟100;如果所述第一輸出變量值與所述第二輸出變量值不同或者所述第三輸出變量值與所述第二輸出變量值不同,則進(jìn)入步驟700;
步驟700根據(jù)步驟610的判斷結(jié)果,如果所述第一輸出變量值與所述第二輸出變量值不同,則將所述第一輸出變量值復(fù)制到所述第二控制器中,并將所述第一輸出變量值輸送至執(zhí)行器,則返回步驟100;如果所述第三輸出變量值與所述第二輸出變量值不同,則將所述第三輸出變量值復(fù)制到所述第二控制器中,并將所述第三輸出變量值輸送至執(zhí)行器,則返回步驟100。
進(jìn)一步地,所述步驟100中的所述輸入值是通過(guò)工業(yè)現(xiàn)場(chǎng)總線中讀取的所有輸入值,所述第一控制器和所述第二控制器同時(shí)讀取所述輸入值。
進(jìn)一步地,所述第一控制器是工業(yè)控制器,所述第二控制器是虛擬控制器,所述第二控制器是云超實(shí)時(shí)仿真平臺(tái)為所述第一控制器建立的虛擬控制器鏡像。
進(jìn)一步地,所述第一控制器與所述第二控制器同時(shí)與輸入設(shè)備建立閉環(huán)連接,且所述第一控制器與所述第二控制器定時(shí)讀取所述輸入值。
進(jìn)一步地,所述步驟300中所述的運(yùn)算邏輯為所述第一控制器的實(shí)際工作邏輯,所述第二控制器根據(jù)所述輸入值運(yùn)用所述運(yùn)算邏輯對(duì)下一個(gè)或者多個(gè)更新周期進(jìn)行模擬。
進(jìn)一步地,所述步驟410中所述的故障包括造成系統(tǒng)停機(jī)、過(guò)程停止的問(wèn)題。
進(jìn)一步地,所述步驟500中向所述第一控制器寫入第三輸出變量值是實(shí)時(shí)進(jìn)行的,通過(guò)所述云超實(shí)時(shí)仿真平臺(tái)向所述第一控制器發(fā)送強(qiáng)制改寫指令完成,以阻止故障發(fā)生。
進(jìn)一步地,其特征在于,所述決策方法基于的系統(tǒng)包括云超實(shí)時(shí)仿真平臺(tái)、傳感器與執(zhí)行器、工業(yè)控制器和工業(yè)系統(tǒng)設(shè)備,所述云超實(shí)時(shí)仿真平臺(tái)和所述工業(yè)控制器通過(guò)工業(yè)以太網(wǎng)連接,所述工業(yè)控制器和所述傳感器與所述執(zhí)行器通過(guò)工業(yè)現(xiàn)場(chǎng)總線連接,所述傳感器與所述執(zhí)行器連接至所述工業(yè)系統(tǒng)設(shè)備;所述系統(tǒng)包括至少一個(gè)所述傳感器、至少一個(gè)執(zhí)行器和至少一個(gè)所述工業(yè)控制器。
進(jìn)一步地,所述云超實(shí)時(shí)仿真平臺(tái)包括通訊模塊,虛擬控制器運(yùn)行棧和決策輔助管理器,通訊模塊通過(guò)工業(yè)現(xiàn)場(chǎng)總線和傳感器與執(zhí)行器讀取輸入值,并將所述輸入值寫入虛擬控制器運(yùn)行棧中;虛擬控制器運(yùn)行棧包含一個(gè)或者多個(gè)虛擬控制器運(yùn)行環(huán)境,每個(gè)虛擬控制器運(yùn)行環(huán)境獨(dú)立運(yùn)行,完成處理所述輸入值后,所述虛擬控制器將生成的所述第二輸出變量值推送到?jīng)Q策輔助管理器;所述決策輔助管理器將收到的所述第二輸出變量值與云超實(shí)時(shí)仿真平臺(tái)數(shù)據(jù)庫(kù)預(yù)先設(shè)定的故障樹數(shù)據(jù)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果來(lái)判斷故障是否發(fā)生,所述決策輔助管理器從數(shù)據(jù)庫(kù)中查找相應(yīng)故障的解決方案并寫回到工業(yè)控制器中。
進(jìn)一步地,所述系統(tǒng)開始部署工業(yè)自動(dòng)化控制程序時(shí),控制代碼將同時(shí)被上傳到所述工業(yè)控制器和所述虛擬控制器中。
本發(fā)明提供了一種基于云超實(shí)時(shí)仿真平臺(tái)與設(shè)備混合在環(huán)的在線實(shí)時(shí)決策方法,具體為使用工業(yè)自動(dòng)化控制系統(tǒng)軟件實(shí)現(xiàn)超實(shí)時(shí)仿真,并根據(jù)仿真結(jié)果提前判斷設(shè)備故障,通過(guò)實(shí)時(shí)在線監(jiān)控手段實(shí)現(xiàn)自我防護(hù),并具有以下優(yōu)勢(shì):
1、本發(fā)明提供了一種工業(yè)自動(dòng)化控制系統(tǒng)故障預(yù)判方法,使得工業(yè)自動(dòng)化生產(chǎn)過(guò)程停機(jī)時(shí)間大幅度減少,提升生產(chǎn)效率,減少由于系統(tǒng)故障造成的經(jīng)濟(jì)損失以及工業(yè)原材料浪費(fèi);
2、本發(fā)明以云平臺(tái)作為仿真以及決策輔助計(jì)算資源,用戶能夠根據(jù)不同工業(yè)控制系統(tǒng)的需求定制云平臺(tái)計(jì)算能力,大幅度減少仿真過(guò)程中的時(shí)間、資源、能耗浪費(fèi);
3、本發(fā)明提出的超實(shí)時(shí)仿真技術(shù)使用與實(shí)際情況相同的控制器與代碼,省去了建立仿真模型的時(shí)間,大幅節(jié)省了系統(tǒng)開發(fā)與測(cè)試時(shí)間,提升仿真效率。
4、本發(fā)明提出的超實(shí)時(shí)仿真技術(shù)通過(guò)結(jié)合工業(yè)控制器與虛擬控制器閉環(huán)超實(shí)時(shí)仿真與在線實(shí)時(shí)驗(yàn)證的手段,達(dá)到提前預(yù)判系統(tǒng)故障的效果。
以下將結(jié)合附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說(shuō)明,以充分地了解本發(fā)明的目的、特征和效果。
附圖說(shuō)明
圖1是本發(fā)明的決策方法一個(gè)優(yōu)選實(shí)施例的流程圖;
圖2是本發(fā)明的決策方法相關(guān)系統(tǒng)一個(gè)優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
圖3是本發(fā)明的決策方法一個(gè)優(yōu)選實(shí)施例的云超實(shí)時(shí)仿真平臺(tái)與其他模塊的工作關(guān)系示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明涉及的一種基于云超實(shí)時(shí)仿真平臺(tái)與硬件在環(huán)的實(shí)時(shí)決策方法的優(yōu)選實(shí)施例做了詳細(xì)描述,但本發(fā)明并不僅限于該實(shí)施例。為了使公眾對(duì)本發(fā)明有徹底的了解,在以下本發(fā)明優(yōu)選實(shí)施例中詳細(xì)說(shuō)明了具體的細(xì)節(jié)。
實(shí)施例1
如圖1所示,一種基于云超實(shí)時(shí)仿真平臺(tái)與硬件在環(huán)的實(shí)時(shí)決策方法,包括以下步驟:
步驟100讀取輸入值,該輸入值是通過(guò)工業(yè)現(xiàn)場(chǎng)總線中讀取的所有輸入值,第一控制器和第二控制器同時(shí)讀取該輸入值,第一控制器與第二控制器通過(guò)工業(yè)現(xiàn)場(chǎng)總線定時(shí)讀取輸入值;工業(yè)自動(dòng)化系統(tǒng)控制程序初始化時(shí),控制代碼被同時(shí)上傳到第一控制器與第二控制器中,用于讀取并處理第一控制器與第二控制器中的數(shù)據(jù);
步驟200將步驟100中讀取的輸入值寫入第一控制器的輸入變量?jī)?nèi)存和第二控制器的輸入變量?jī)?nèi)存,該第一控制器是工業(yè)控制器,該第二控制器是虛擬控制器,且該第二控制器是云超實(shí)時(shí)仿真平臺(tái)為第一控制器建立的虛擬控制器鏡像;第一控制器與第二控制器同時(shí)與輸入設(shè)備建立閉環(huán)連接,該輸入設(shè)備為傳感器與執(zhí)行器;
步驟300根據(jù)步驟200中寫入的輸出值,第一控制器執(zhí)行運(yùn)算邏輯得到第一輸出變量值,第二控制器執(zhí)行運(yùn)算邏輯得到第二輸出變量值;通過(guò)云計(jì)算執(zhí)行第一控制器或第二控制器的運(yùn)算邏輯,第一控制器和第二控制器執(zhí)行的運(yùn)算邏輯為第一控制器的實(shí)際工作邏輯,第二控制器根據(jù)輸入值運(yùn)用運(yùn)算邏輯對(duì)下一個(gè)或者多個(gè)更新周期進(jìn)行模擬;通過(guò)云計(jì)算執(zhí)行所述第一控制器或所述第二控制器的運(yùn)算邏輯;
步驟400對(duì)比步驟300得到的第二輸出變量值與故障樹,該步驟虛擬控制器通過(guò)對(duì)下一個(gè)或者多個(gè)更新周期后的輸出值與故障樹的結(jié)果比較來(lái)對(duì)故障進(jìn)行預(yù)判;
步驟410根據(jù)步驟400的對(duì)比結(jié)果判斷是否存在故障:如果存在故障,則進(jìn)入步驟500,如果不存在故障,則進(jìn)入步驟600;該故障包括造成系統(tǒng)停機(jī)、過(guò)程停止的問(wèn)題;
步驟500根據(jù)步驟410中存在故障的判斷結(jié)果,云超實(shí)時(shí)仿真平臺(tái)向第一控制器發(fā)送強(qiáng)制改寫指令向第一控制器實(shí)時(shí)寫入第三輸出變量值,再進(jìn)入步驟600,以阻止故障發(fā)生;
步驟600根據(jù)步驟410比較第一輸出變量值與第二輸出變量值,或者根據(jù)步驟500比較第三輸出變量值與第二輸出變量值;
步驟610判斷步驟600中的第一輸出變量值與第二輸出變量值是否相同,或者判斷第三輸出變量值與第二輸出變量值是否相同:如果第一輸出變量值與第二輸出變量值相同,或者第三輸出變量值與第二輸出變量值相同,則返回步驟100;如果第一輸出變量值與第二輸出變量值不同或者第三輸出變量值與第二輸出變量值不同,則進(jìn)入步驟700;
步驟700根據(jù)步驟610的判斷結(jié)果,如果第一輸出變量值與第二輸出變量值不同,則將第一輸出變量值復(fù)制到第二控制器中,并將第一輸出變量值輸送至執(zhí)行器,返回?cái)?shù)據(jù)100;如果第三輸出變量值與第二輸出變量值不同,則將第三輸出變量值復(fù)制到第二控制器中,并將第三輸出變量值輸送至執(zhí)行器,返回步驟100。
如圖2所示,一種基于云超實(shí)時(shí)仿真平臺(tái)與硬件在環(huán)的實(shí)時(shí)決策方法的系統(tǒng)包括云超實(shí)時(shí)仿真平臺(tái)、傳感器與執(zhí)行器、工業(yè)控制器和工業(yè)系統(tǒng)設(shè)備,云超實(shí)時(shí)仿真平臺(tái)與至少一個(gè)工業(yè)控制器通過(guò)工業(yè)以太網(wǎng)連接,每個(gè)工業(yè)控制器通過(guò)工業(yè)現(xiàn)場(chǎng)總線連接至少一個(gè)傳感器與至少一個(gè)執(zhí)行器,至少一個(gè)傳感器與至少一個(gè)執(zhí)行器連接至工業(yè)系統(tǒng)設(shè)備。如圖2中所示,該系統(tǒng)包括3個(gè)傳感器與3個(gè)執(zhí)行器、3個(gè)工業(yè)控制器。工業(yè)現(xiàn)場(chǎng)總線通常以固定頻率更新所連接的輸入設(shè)備和輸出設(shè)備,當(dāng)每個(gè)循環(huán)周期開始時(shí),第一控制器或第二控制器會(huì)根據(jù)所有通過(guò)工業(yè)現(xiàn)場(chǎng)總線讀取的輸入值進(jìn)行邏輯計(jì)算,更新第一控制器或第二控制器總線的輸出值并將輸出值傳輸至執(zhí)行器。
如圖3所示,云超實(shí)時(shí)仿真平臺(tái)包括通訊模塊,虛擬控制器運(yùn)行棧和決策輔助管理器,通訊模塊通過(guò)工業(yè)現(xiàn)場(chǎng)總線和傳感器與執(zhí)行器讀取輸入值,并將輸入值寫入虛擬控制器運(yùn)行棧中;虛擬控制器運(yùn)行棧包含一個(gè)或者多個(gè)虛擬控制器運(yùn)行環(huán)境,每個(gè)虛擬控制器運(yùn)行環(huán)境獨(dú)立運(yùn)行,完成處理輸入值后,虛擬控制器將生成的第二輸出變量值推送到?jīng)Q策輔助管理器;決策輔助管理器將收到的第二輸出變量值與云超實(shí)時(shí)仿真平臺(tái)數(shù)據(jù)庫(kù)預(yù)先設(shè)定的故障樹數(shù)據(jù)進(jìn)行對(duì)比,根據(jù)對(duì)比結(jié)果來(lái)判斷故障是否發(fā)生,決策輔助管理器從數(shù)據(jù)庫(kù)中查找相應(yīng)故障的解決方案并寫回到工業(yè)控制器中,實(shí)現(xiàn)故障預(yù)判與自我保護(hù)功能。
系統(tǒng)開始部署工業(yè)自動(dòng)化控制程序時(shí),控制代碼將同時(shí)被上傳到工業(yè)控制器和虛擬控制器中。
硬件在環(huán),即是硬件在回路(hardware-in-the-loop),分為下面三種情況(如果將實(shí)際控制器的仿真稱為虛擬控制器,實(shí)際對(duì)象的仿真稱為虛擬對(duì)象,可得到控制系統(tǒng)仿真的3種形式:)
①虛擬控制器+虛擬對(duì)象=動(dòng)態(tài)仿真系統(tǒng),是純粹的系統(tǒng)仿真;
②虛擬控制器+實(shí)際對(duì)象=快速控制原型(rcp)仿真系統(tǒng),是系統(tǒng)的一種半實(shí)物仿真;
③實(shí)際控制器+虛擬對(duì)象=硬件在回路(hil)仿真系統(tǒng),是系統(tǒng)的另一種半實(shí)物仿真。
實(shí)施例2
實(shí)施例2采用與實(shí)施例1相似的方法和系統(tǒng),其中僅將超實(shí)時(shí)仿真計(jì)算采用的云服務(wù)器用本地服務(wù)器代替,使用本地服務(wù)器能夠減少網(wǎng)絡(luò)延時(shí),但是本地服務(wù)器相對(duì)計(jì)算能力較云服務(wù)器弱。
實(shí)施例3
實(shí)施例3采用與實(shí)施例1相似的方法和系統(tǒng),其中故障樹能夠替換為任意自定義格式文本或者數(shù)據(jù)定義的故障,但是使用任意自定義格式文本或者數(shù)據(jù)定義的故障替代后,系統(tǒng)無(wú)法進(jìn)行信息分享,對(duì)輸出數(shù)據(jù)分享、挖掘造成困難。
以上詳細(xì)描述了本發(fā)明的較佳具體實(shí)施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)人員無(wú)需創(chuàng)造性勞動(dòng)就能夠根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過(guò)邏輯分析、推理或者有限的實(shí)驗(yàn)?zāi)軌虻玫降募夹g(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護(hù)范圍內(nèi)。