冗余的自動(dòng)化系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種具有多個(gè)彼此連接的自動(dòng)化儀器的冗余自動(dòng)化系統(tǒng),所述自動(dòng)化儀器為了控制技術(shù)進(jìn)程各處理一個(gè)控制程序。所述自動(dòng)化系統(tǒng)具有多個(gè)作為主機(jī)運(yùn)行的自動(dòng)化儀器,其中提出了解決辦法,通過(guò)這些解決辦法能夠在硬件耗費(fèi)減少的情況下實(shí)現(xiàn)冗余運(yùn)行。
【專利說(shuō)明】冗余的自動(dòng)化系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種具有多個(gè)彼此連接的自動(dòng)化儀器的冗余自動(dòng)化系統(tǒng),這些自動(dòng)化儀器為了控制技術(shù)進(jìn)程各處理一個(gè)控制程序。
【背景技術(shù)】
[0002]在自動(dòng)化領(lǐng)域內(nèi),需要增強(qiáng)高容錯(cuò)能力的解決方案(H系統(tǒng)),這些解決方案適合用于將設(shè)備的可能出現(xiàn)的停機(jī)時(shí)間減少到最小。開(kāi)發(fā)這類高度容錯(cuò)的解決方案的需要很高的成本,其中,一種習(xí)慣用在自動(dòng)化領(lǐng)域的H系統(tǒng)的特征在于,兩個(gè)或者多個(gè)自動(dòng)化儀器或計(jì)算機(jī)系統(tǒng)形式的分系統(tǒng)經(jīng)由同步連接件相互耦合。原則上,兩個(gè)分系統(tǒng)都可以以讀的形式和/或以寫(xiě)的形式訪問(wèn)連接在H系統(tǒng)上的外圍單元。兩個(gè)分系統(tǒng)中的其中一個(gè)相對(duì)于連接到系統(tǒng)上的外圍來(lái)說(shuō)是主導(dǎo)性的。這就是說(shuō),僅由兩個(gè)分系統(tǒng)中的其中一個(gè)向外圍單元進(jìn)行輸出或者說(shuō)用于這些外圍單位的輸出信息,這個(gè)分系統(tǒng)作為主機(jī)工作或者說(shuō)負(fù)責(zé)主機(jī)功能。為了讓兩個(gè)分系統(tǒng)能夠同步運(yùn)行,它們經(jīng)由同步連接以有規(guī)律的間隔被同步化。就同步的頻率及其范圍而言,可以區(qū)分不同的特征(溫備用,熱備用)。
[0003]當(dāng)其中一個(gè)分系統(tǒng)故障并且必須切換到另一個(gè)分系統(tǒng)時(shí),經(jīng)常要求H系統(tǒng)具有不受干擾的“故障備援(Failover)”。這就是說(shuō),盡管是無(wú)計(jì)劃地從一個(gè)分系統(tǒng)切換或更換到另一個(gè)分系統(tǒng),但是這種切換或更換不受干擾地作用于需要控制的技術(shù)進(jìn)程。在此允許的是,在連接著的外圍的輸出端上允許出現(xiàn)(短的)死機(jī)時(shí)間,在此期間,這些輸出端堅(jiān)持它們最后有效的進(jìn)程輸出值。然而,在這些輸出端上由于切換而出現(xiàn)值的跳躍(干擾)是不被希望的,因此應(yīng)該避免。因?yàn)?,無(wú)干擾也要理解為進(jìn)程輸出值的曲線延伸的連續(xù)性。
[0004]為了實(shí)現(xiàn)這一點(diǎn),這兩個(gè)分系統(tǒng)必須在故障的時(shí)間點(diǎn)具有相同的系統(tǒng)狀態(tài)。這通過(guò)合適的同步法確保實(shí)現(xiàn)。如果兩個(gè)分系統(tǒng)處理該進(jìn)程的輸入信息(輸入),那么當(dāng)這兩個(gè)系統(tǒng)在進(jìn)程輸入數(shù)據(jù)或進(jìn)程輸入信息相同的情況下以相同的方式改變它們各自的“thread-global (線程-全程)”數(shù)據(jù)(程序的共同數(shù)據(jù),特別是來(lái)自不同優(yōu)先級(jí)的程序的數(shù)據(jù))時(shí),它們就處于相同的系統(tǒng)狀態(tài)。為了實(shí)現(xiàn)這一點(diǎn),同步法確保了兩個(gè)分系統(tǒng)的單個(gè)線程以相同的方式和方法被中斷或完成處理。借此得到相同的“線程山(Threadgebirge) ”。
[0005]由西門(mén)子產(chǎn)品目錄ST70,章6,2013版中公知一種冗余的、由兩個(gè)分系統(tǒng)(一個(gè)主和一個(gè)從PLC)構(gòu)成的自動(dòng)化系統(tǒng),該系統(tǒng)被設(shè)計(jì)用于提高需要控制的設(shè)備的容錯(cuò)能力。為此,自動(dòng)化系統(tǒng)配有中介件(Mitteln),這些中介件首先基于某個(gè)事件決定,必須啟動(dòng)哪個(gè)程序,才能合適地對(duì)這個(gè)事件做出反應(yīng)。對(duì)于以下情況,即,例如在執(zhí)行某個(gè)程序期間,某個(gè)事件以需要控制的技術(shù)進(jìn)程的待處理警報(bào)的形式被接在自動(dòng)化系統(tǒng)的一個(gè)報(bào)告輸出端上,習(xí)慣上在某個(gè)等待時(shí)間點(diǎn)停止正在運(yùn)行的程序并且啟動(dòng)一個(gè)被設(shè)計(jì)用于分析這個(gè)警報(bào)并且用于導(dǎo)入措施的程序。這個(gè)自動(dòng)化系統(tǒng)被有規(guī)律地同步,并且確保了,其中一個(gè)分系統(tǒng)失靈不會(huì)干擾需要控制的進(jìn)程,因?yàn)榱硪粋€(gè)分系統(tǒng)能夠讓它們的對(duì)應(yīng)控制程序的相應(yīng)部分的執(zhí)行或處理工作繼續(xù)下去,或讓這個(gè)控制程序的相應(yīng)部分的處理工作繼續(xù)下去。
[0006]對(duì)于以下情況,S卩,例如出現(xiàn)在第一分系統(tǒng)上的事件不與包含兩個(gè)分系統(tǒng)的自動(dòng)化系統(tǒng)的第二分系統(tǒng)同步,并且在第一分系統(tǒng)處理完這個(gè)事件以后故障,就可能干擾需要控制的技術(shù)進(jìn)程的過(guò)程;因?yàn)?,相比第二分系統(tǒng)在知道該事件的情況下可能經(jīng)歷的、為了不干擾需要控制的技術(shù)進(jìn)程也可能必須的程序路徑,所述第二分系統(tǒng)-在不知道該事件的情況下-運(yùn)行的是另一個(gè)、代表著所述程序的執(zhí)行順序的程序路徑。
[0007]要指出的是,程序不僅要理解為這樣一種程序,還要理解為一個(gè)子程序,程序的一部分,一個(gè)任務(wù),一個(gè)線程,一個(gè)組織模塊,一個(gè)功能模塊或其他合適的用于實(shí)現(xiàn)自動(dòng)化功能的程序代碼,其中,自動(dòng)化系統(tǒng)的程序習(xí)慣劃分成優(yōu)先級(jí),并且根據(jù)它們對(duì)應(yīng)的優(yōu)先級(jí)被處理和執(zhí)行。
[0008]習(xí)慣上,在冗余的自動(dòng)化系統(tǒng)中分別為一個(gè)主自動(dòng)化儀器(主機(jī)PLC)分別設(shè)計(jì)一個(gè)從自動(dòng)化儀器(備用PLC)作為冗余伙伴,也就是說(shuō),對(duì)于η個(gè)主自動(dòng)化儀器需要2η個(gè)從自動(dòng)化儀器,這意味著非常高的硬件耗費(fèi)。這類自動(dòng)化系統(tǒng)成本高,并且此外做這樣一個(gè)自動(dòng)化系統(tǒng)的項(xiàng)目非常復(fù)雜。
【發(fā)明內(nèi)容】
[0009]因此,本發(fā)明的基本目的是,實(shí)現(xiàn)一種開(kāi)頭所述類型的自動(dòng)化系統(tǒng),通過(guò)它能夠?qū)崿F(xiàn)硬件耗費(fèi)更小的冗余。
[0010]該目的通過(guò)在權(quán)利要求1特征的部分提供的措施得以解決。
[0011]有利的是,以簡(jiǎn)單的方式也可以以附加的方式實(shí)現(xiàn)(熱-備份(hot-standby))冗余。冗余不一定強(qiáng)制性地包括自動(dòng)化系統(tǒng)的所有主機(jī)(主自動(dòng)化儀器,主機(jī)PLC)。有可能的是,僅挑選特定數(shù)量的主機(jī)PLC,它們通過(guò)備用PLC冗余地運(yùn)行。由于硬件耗費(fèi)少,就2n解決方案而言,這種自動(dòng)化系統(tǒng)相比現(xiàn)有技術(shù)的故障率(MTTF)減少。如果其中一個(gè)主機(jī)PLC故障,那么,備用PLC承擔(dān)這個(gè)主PLC的功能。備用PLC的配屬于這個(gè)主機(jī)PLC的從機(jī)控制程序成為主機(jī)控制程序,并且實(shí)現(xiàn)已故障的主機(jī)PLC的控制任務(wù)。這種故障對(duì)于任何有潛在問(wèn)題的主機(jī)PLC都不形成干擾,其中,通過(guò)備用PLC確保了不會(huì)發(fā)生所有主機(jī)PLC都故障的情況。
[0012]為了能夠繼續(xù)它們的程序處理工作,主機(jī)PLC不必(主動(dòng))等待從自動(dòng)化儀器或者說(shuō)后備自動(dòng)化儀器(備用PLC)的應(yīng)答;所有相關(guān)信息從主機(jī)到從機(jī)的傳輸是在時(shí)間上異步地完成的。由此使得主機(jī)的處理效率與為事件同步提供的通信帶寬脫鉤,這特別是就一方面處理器的處理效率的提升和另一方面通信效率的提升之間的越來(lái)越嚴(yán)重的不平衡而言很重要;因?yàn)橥ㄐ判室话悴荒芘c越來(lái)越高的處理效率同步。
[0013]在出現(xiàn)事件以后,每個(gè)主機(jī)與從機(jī)以以下方式完成同步,S卩,不僅主機(jī)還有從機(jī)基于這些事件經(jīng)歷相同的程序路徑,其中,在事件上不同步地完成這些經(jīng)歷過(guò)程。這就是說(shuō),主機(jī)就程序處理或運(yùn)行而言在時(shí)間上在從機(jī)前進(jìn)行,或者說(shuō)從機(jī)在時(shí)間上在主機(jī)后進(jìn)行。從機(jī)相對(duì)于其中一個(gè)主機(jī)“滯后進(jìn)行”或“在先進(jìn)行”在上下文中要理解為主機(jī)開(kāi)始處理處理區(qū)段和從機(jī)開(kāi)始處理處理區(qū)段之間的時(shí)間差。
[0014]這也適用于以下情況,S卩,為主機(jī)和從機(jī)(儲(chǔ)備)設(shè)計(jì)不同的具有不同的工作能力的HW平臺(tái)。由于主機(jī)和從機(jī)之間的耦合是不同步的,所以可以更輕易地平衡運(yùn)行時(shí)間差,特別是當(dāng)例如工作能力強(qiáng)的備用PLC用時(shí)間分片法完成多個(gè)主機(jī)PLC的儲(chǔ)備功能時(shí)。儲(chǔ)備程序(從程序)在時(shí)間上的后滯在此暫時(shí)更大,并且緊接著又減小。
[0015]在本發(fā)明的一種構(gòu)造方案中設(shè)計(jì)的是,在傳輸當(dāng)前的釋放指令(Freigabe)的時(shí)間點(diǎn),也通過(guò)相應(yīng)的主機(jī)向從機(jī)傳輸進(jìn)程輸入值。首先總結(jié)并收集對(duì)于從機(jī)相關(guān)的信息,并且最后將它們傳輸給從機(jī)。這意味著,與公知的時(shí)間同步法不同,在公知的時(shí)間同步法的框架內(nèi)必須同時(shí)向從機(jī)發(fā)送相關(guān)信息,這里不僅對(duì)設(shè)計(jì)成主機(jī)的自動(dòng)化儀器而且對(duì)從機(jī)或?qū)髠渥詣?dòng)化儀器有明顯減少的“管理耗費(fèi)”。
[0016]在本發(fā)明的另一種構(gòu)造方案中設(shè)計(jì)的是,由從機(jī)在處理完相應(yīng)的處理區(qū)段以后向相應(yīng)的主機(jī)應(yīng)答相應(yīng)的釋放指令。未應(yīng)答的釋放指令的數(shù)量向相應(yīng)的主機(jī)指明從機(jī)當(dāng)前的滯后進(jìn)行,由此可以采取對(duì)于相應(yīng)的主機(jī)合適的錯(cuò)誤,從而不讓時(shí)間上的滯后太大。
[0017]作為備用PLC,優(yōu)選地設(shè)計(jì)一種基于多核的單元,其中,可以為備用PLC的每個(gè)核分配主機(jī)PLC作為冗余拍檔(Redundanz-Partner)。該備用PLC也可以構(gòu)造成工作能力強(qiáng)的工業(yè)PC,其具有相應(yīng)地構(gòu)造的工作存儲(chǔ)器和相應(yīng)地設(shè)置的處理能力。
[0018]本發(fā)明的其他有利的構(gòu)造方案從其他的從屬權(quán)利要求中得出。
【專利附圖】
【附圖說(shuō)明】
[0019]接下來(lái),借助其中示出了本發(fā)明的一個(gè)實(shí)施例的附圖更詳盡地闡述本發(fā)明、它的構(gòu)造方案以及優(yōu)點(diǎn)。
[0020]圖中示出:
[0021]圖1、2和6是冗余的自動(dòng)化系統(tǒng),以及
[0022]圖3至5是主機(jī)和從機(jī)時(shí)間不同步地耦合的整個(gè)進(jìn)程。
【具體實(shí)施方式】
[0023]首先參見(jiàn)圖6,其中使出了一種本身公知的、冗余的、包括兩個(gè)分系統(tǒng)的自動(dòng)化系統(tǒng)。第一分系統(tǒng)Ta構(gòu)造成主自動(dòng)化儀器(主機(jī)PLC),第二分系統(tǒng)Tb構(gòu)造成從自動(dòng)化儀器(備用PLC),其中,這兩個(gè)分系統(tǒng)經(jīng)由現(xiàn)場(chǎng)總線Fb與外圍單元Pe相連。在這里,例如符合PR0FIBUS-DP規(guī)格的現(xiàn)場(chǎng)總線Fb就可以。原則上,其他的總線系統(tǒng)也是合適的,例如Ethernet>Fieldbus>Modbus或者也可以是并聯(lián)的總線系統(tǒng)。外圍單元Pe經(jīng)由輸入導(dǎo)線ES從測(cè)量值變換器或者測(cè)量值發(fā)送器獲得信號(hào),這些測(cè)量值變換器或測(cè)量值發(fā)送器用于獲取進(jìn)程狀態(tài),并且經(jīng)由輸出導(dǎo)線作為信號(hào)輸送給調(diào)節(jié)機(jī)構(gòu),利用該調(diào)節(jié)機(jī)構(gòu)影響所述進(jìn)程。在圖6中,為了能夠表示情況,沒(méi)有示出這個(gè)進(jìn)程以及測(cè)量值變換器、測(cè)量值發(fā)送器和調(diào)節(jié)機(jī)構(gòu)。公知的自動(dòng)化系統(tǒng)的兩個(gè)分系統(tǒng)Ta,Tb周期循環(huán)地并且同步地運(yùn)行相同的控制程序。為了它們的同步,設(shè)計(jì)了同步連接件SV,其中,冗余及監(jiān)控功能經(jīng)由這個(gè)同步連接件SV得以實(shí)現(xiàn)。
[0024]下面參見(jiàn)圖1和2,其中使出了冗余的自動(dòng)化系統(tǒng)。這些自動(dòng)化系統(tǒng)在本例子中具有三個(gè)主自動(dòng)化儀器PLCl,PLC2,PLC3,四個(gè)外圍單元Pe I,Pe2,Pe3,Pe4以及從自動(dòng)化儀器備用PLC,其中,這些自動(dòng)化儀器PLCl,PLC2,PLC3,備用PLC和外圍單元Pel,Pe2,Pe3,Pe4彼此連接。作為連接,在本實(shí)施例中設(shè)計(jì)了一個(gè)環(huán)形結(jié)構(gòu)Rs,這個(gè)環(huán)形結(jié)構(gòu)例如利用本身公知的PR0FINET標(biāo)準(zhǔn)。當(dāng)然可以設(shè)計(jì)其他的網(wǎng)絡(luò)結(jié)構(gòu)或網(wǎng)絡(luò)拓?fù)鋵?shí)現(xiàn)冗余,例如總線拓?fù)浠蛘咝切屯負(fù)浠蛘咭部梢允沁@些拓?fù)涞幕旌闲问?。為了?shí)現(xiàn)主自動(dòng)化儀器PLCl,PLC2,PLC3與從自動(dòng)化儀器備用PLC之間的工作能力更強(qiáng)的耦合,根據(jù)圖2的自動(dòng)化系統(tǒng)具有一個(gè)雙環(huán)結(jié)構(gòu)Rss,由此與外圍數(shù)據(jù)分隔開(kāi)地傳輸為了同步所必要的數(shù)據(jù),并且特別是可以縮短在故障的情況下的切換時(shí)間。三個(gè)主自動(dòng)化儀器PLC1,PLC2,PLC3的每一個(gè)都處理一個(gè)控制程序Pel,Pc2, Pc3,其中,所述從自動(dòng)化儀器備用PLC設(shè)計(jì)用于為每個(gè)主機(jī)控制程序Pd,Pc2, Pc3處理一個(gè)相應(yīng)的從機(jī)控制程序Pbl,Pb2,Pb3。由此確保的是,例如當(dāng)主自動(dòng)化儀器PLCl故障時(shí),從自動(dòng)化儀器備用PLC能夠承擔(dān)這個(gè)故障的主機(jī)PLCl的功能,因?yàn)閺淖詣?dòng)化儀器備用PLC處理從機(jī)控制程序Pbl,這個(gè)從機(jī)控制程序?qū)?yīng)的是故障的主自動(dòng)化儀器PLCl的主機(jī)控制程序Pci。
[0025]由于主自動(dòng)化儀器PLCl故障,所以連接Rs被中斷,并且從自動(dòng)化儀器備用PLC經(jīng)由連接Rs的第一區(qū)段Rl與主自動(dòng)化儀器PLC2,PLC3及外圍單元Pe2,Pe3, Pe4交換信息,相反地,經(jīng)由連接Rs的第二區(qū)段R2與外圍單元Pel交換數(shù)據(jù)。
[0026]為了闡述如何事件同步地處理這些控制程序,下面參見(jiàn)圖3至5,在圖3至5中,示出了其中一個(gè)主自動(dòng)化儀器PLC1,PLC2,PLC3 (下面被稱為主機(jī)M)和后備自動(dòng)化儀器備用PLC(下面被稱為從機(jī)S)之間的時(shí)間不同步的耦合的整個(gè)進(jìn)程?!笆录降靥幚怼痹谏舷挛闹斜硎?,不僅主機(jī)還有從機(jī)基于某個(gè)事件經(jīng)歷相應(yīng)的控制程序的相同程序路徑,其中,在時(shí)間上不同步地完成這種經(jīng)歷。
[0027]在根據(jù)圖3至5的例子中,主機(jī)M就對(duì)技術(shù)進(jìn)程的控制而言起主導(dǎo)作用,并且負(fù)責(zé)進(jìn)程控制,其中,這個(gè)主機(jī)從其中一個(gè)或多個(gè)外圍單元讀取進(jìn)程輸入信息或進(jìn)程輸入值,并且時(shí)間上不同步地提供給從機(jī)S。那么,只有當(dāng)主機(jī)M因?yàn)楦蓴_而故障時(shí),從機(jī)S才承擔(dān)主機(jī)功能或接過(guò)主機(jī)地位。
[0028]主機(jī)M處理用于控制技術(shù)進(jìn)程的程序Pl,其中,從機(jī)S也處理與這個(gè)控制程序Pl對(duì)應(yīng)的程序P2。兩個(gè)控制程序Pl,P2具有許多持續(xù)時(shí)間不同的處理區(qū)段(Va),其中,這些控制程序P1,P2可以在每個(gè)處理區(qū)段Va的各個(gè)起點(diǎn)和各個(gè)終點(diǎn)上中斷。因此,每個(gè)通常包括許多程序代碼的處理區(qū)段Va的起點(diǎn)和終點(diǎn)代表可中斷的程序位置或中斷點(diǎn)0,1,2,…y。在這些位置0,1,2,《"y上,可以在必要時(shí)通過(guò)主機(jī)M和從機(jī)S中斷各個(gè)控制程序Pl,P2,從而能夠在出現(xiàn)某個(gè)事件或某個(gè)進(jìn)程警報(bào)以后導(dǎo)入合適的反應(yīng)。此外,在這些中斷點(diǎn)0,1,2,…y上還可以中斷中斷相應(yīng)的控制程序PI,P2,從而讓主機(jī)M和從機(jī)S能夠經(jīng)由現(xiàn)場(chǎng)總線Fb或者經(jīng)由同步連接件Sv(圖4)交換釋放指令、應(yīng)答或者其他的信息。在各個(gè)可預(yù)設(shè)的或預(yù)設(shè)的時(shí)間區(qū)間Zi,i = 1,2,…結(jié)束以后,并且在出現(xiàn)相應(yīng)的時(shí)間區(qū)間Zi結(jié)束后緊接著的中斷點(diǎn)的時(shí)間點(diǎn),優(yōu)選地是緊跟在相應(yīng)的時(shí)間區(qū)間Zi后的第一個(gè)中斷點(diǎn)上,主機(jī)M向從機(jī)S傳輸釋放指令或釋放信號(hào),這個(gè)信號(hào)向從機(jī)S表示,控制程序P2可以處理至從機(jī)S的哪一個(gè)處理區(qū)段Va。在本實(shí)施例中設(shè)定的是,在時(shí)間區(qū)間Zl結(jié)束以后,在時(shí)間點(diǎn)tl和時(shí)間點(diǎn)t2,此時(shí),第一中斷點(diǎn)Pl_6(中斷點(diǎn)6)在這個(gè)時(shí)間點(diǎn)跟隨在時(shí)間區(qū)間Zl后面,主機(jī)M向從機(jī)S傳輸釋放指令Fl。該釋放指令Fl包含用于從機(jī)S的信息,使得這個(gè)從機(jī)允許處理它的需要處理的控制程序P2,直至一個(gè)中斷點(diǎn)P2_6(中斷點(diǎn)),其中,所述控制程序P2的中斷點(diǎn)P2_6就是控制程序Pl的沖斷位置Pl_6。這就是說(shuō),由于從機(jī)S釋放,所以可以處理控制程序P2的處理區(qū)段Va,這些處理區(qū)段就是控制程序Pl的直至生成釋放指令或釋放信號(hào)的處理區(qū)段Va,其中,在這個(gè)例子中,為了簡(jiǎn)單起見(jiàn)設(shè)定的是,生成釋放指令的時(shí)間點(diǎn)就是向從機(jī)S傳輸釋放指令的時(shí)間點(diǎn)。因此,通過(guò)從機(jī)S處理這些處理區(qū)段Va與通過(guò)主機(jī)M處理相應(yīng)的處理區(qū)段Va在時(shí)間上不同步,其中,在通過(guò)從機(jī)S處理完控制程序P2的處理區(qū)段Va以后,只有當(dāng)主機(jī)M向從機(jī)S傳輸另一個(gè)釋放指令時(shí),才由從機(jī)S運(yùn)行其他的處理區(qū)段Va。出現(xiàn)這些中斷點(diǎn)P 1_6,P2_6 (中斷點(diǎn)6)的時(shí)間點(diǎn)代表著跟隨時(shí)間區(qū)間ZI的時(shí)間區(qū)間Z2的起點(diǎn)。
[0029]以所描述的方式和方法完成了對(duì)控制程序Pl,P2的進(jìn)一步的在時(shí)間上不同步的處理工作。在時(shí)間區(qū)間Z2結(jié)束以后出現(xiàn)第一中斷點(diǎn)P1_A的時(shí)間點(diǎn)t3,主機(jī)M向從機(jī)S傳輸另一個(gè)釋放指令F2,這個(gè)釋放指令向從機(jī)S表明,可以運(yùn)行其他的處理區(qū)段Va直至中斷點(diǎn)P2_A。這些處理區(qū)段Va還是那些主機(jī)M已經(jīng)從時(shí)間點(diǎn)t2直至?xí)r間點(diǎn)t3(也就是直至中斷點(diǎn)P1_A)處理完的處理區(qū)段。這就是說(shuō),從機(jī)S從先前的釋放指令Fl時(shí)間點(diǎn)直至當(dāng)前的釋放指令F2時(shí)間點(diǎn)t3之間處理這些處理區(qū)段Va。在時(shí)間區(qū)段Z2結(jié)束以后出現(xiàn)第一個(gè)中斷點(diǎn)P1_A的時(shí)間點(diǎn)就是緊跟著時(shí)間區(qū)間Z2的時(shí)間區(qū)間Z3的起點(diǎn)。
[0030]現(xiàn)在可能出現(xiàn)的情況是,在某個(gè)時(shí)間區(qū)間期間出現(xiàn)一個(gè)事件,例如一個(gè)進(jìn)程警報(bào)形式的事件。在本實(shí)施例中,用E表示了這類事件,主機(jī)M在時(shí)間區(qū)間Z3期間在時(shí)間點(diǎn)t4必須合適地按照控制程序Pl的規(guī)定對(duì)這類事件做出反應(yīng)。在這種情況下,主機(jī)M不是在時(shí)間區(qū)間Z3以后出現(xiàn)跟在時(shí)間區(qū)間Z3后面的中斷點(diǎn)的時(shí)間點(diǎn)向從機(jī)S傳輸釋放指令F3,而是在出現(xiàn)跟在事件E的出現(xiàn)后面的中斷點(diǎn)P1_C(中斷點(diǎn)C)的時(shí)間點(diǎn)。這就是說(shuō),時(shí)間區(qū)間Z3由于該事件E被縮短,其中,時(shí)間點(diǎn)t5就是緊跟著的時(shí)間區(qū)間TA的起點(diǎn)?;趥鬏斀o從機(jī)S的釋放指令F3,從機(jī)S處理控制程序P2的處理區(qū)段Va,這些處理區(qū)段是控制程序Pl的被主機(jī)M在時(shí)間點(diǎn)t3和t5之間已經(jīng)處理完的區(qū)段Va。
[0031]基于該事件E,主機(jī)M在時(shí)間區(qū)間Z4期間處理更高優(yōu)先級(jí)的處理區(qū)段Va,例如主機(jī)M在時(shí)間點(diǎn)t4完成一次線程更換,并且還是在時(shí)間區(qū)間Z4結(jié)束以后在時(shí)間點(diǎn)t6傳輸針對(duì)時(shí)間點(diǎn)t7的釋放指令F4,在時(shí)間點(diǎn)t7出現(xiàn)跟在時(shí)間區(qū)間Z4后面的第一個(gè)中斷點(diǎn)Pl_12(中斷點(diǎn)12)。基于這個(gè)釋放指令,從機(jī)S同樣處理處理區(qū)段Va直至控制程序P2的一個(gè)中斷點(diǎn)P2_12(中斷點(diǎn)12),其中,這些處理區(qū)段Va是控制程序Pl在時(shí)間點(diǎn)t5和t7之間的處理區(qū)段Va,并且其中,從機(jī)S同樣完成一次線程更換。
[0032]正如闡述的那樣,主機(jī)M的釋放指令使得從機(jī)S能夠經(jīng)歷像主機(jī)M —樣的“線程山”,這就是說(shuō),從機(jī)S在控制程序P2中的相當(dāng)于控制程序Pl中的位置上完成一次“線程更換”。只有當(dāng)主機(jī)M為此通過(guò)一個(gè)釋放指令提出要求時(shí),從機(jī)S才繼續(xù)它的運(yùn)行。就處理區(qū)段的處理工作而言,主機(jī)M實(shí)時(shí)地處理這些區(qū)段,正如在單機(jī)運(yùn)行或在不冗余運(yùn)行狀態(tài)下,并且以有規(guī)律的時(shí)間間距以及在出現(xiàn)事件以后發(fā)出釋放指令,讓從機(jī)S處理相應(yīng)的處理區(qū)段,其中,主機(jī)M繼續(xù)處理它的控制程序P1,并且不積極地等待從機(jī)S的應(yīng)答。相對(duì)于相應(yīng)的處理區(qū)段的處理工作,從機(jī)S跑在主機(jī)M的后面,并且基于發(fā)出的主機(jī)釋放指令處理這些處理區(qū)段。
[0033]接下來(lái)參見(jiàn)圖4,在圖4中使出了主導(dǎo)地位從主機(jī)M向從機(jī)S的過(guò)渡。
[0034]主機(jī)M以所描述的方式和方法向從機(jī)S傳輸釋放指令F5,F(xiàn)6,F(xiàn)7,在此設(shè)定的是,主機(jī)M在時(shí)間點(diǎn)t8故障。
[0035]基于釋放指令F5至F7,從機(jī)S處理控制程序P4的處理區(qū)段Va,直至中斷點(diǎn)P4_B (中斷點(diǎn)B),其中,這些處理區(qū)段Va就是控制程序P3的直至中斷點(diǎn)P3_B (中斷點(diǎn)B)的已經(jīng)通過(guò)主機(jī)M被處理過(guò)的處理區(qū)段Va。
[0036]在時(shí)間點(diǎn)tel,te2,主機(jī)M在處理控制程序P3的框架內(nèi)以讀的方式訪問(wèn)外圍單元Pe,這就是說(shuō),主機(jī)M讀取進(jìn)程輸入值Ewl,Ew2,按照控制程序P3的規(guī)定處理這些值,并且生成進(jìn)程輸入值A(chǔ)wl,Aw2,主機(jī)M在時(shí)間點(diǎn)tal,ta2向外圍單元Pe傳輸這些值。主機(jī)M將這些進(jìn)程輸入值Ewl,Ew2傳輸給從機(jī)S,這在圖中用振動(dòng)的線LI,L2表示。傳輸過(guò)程連同釋放指令F5,F(xiàn)7 —起完成,使得主機(jī)M和從機(jī)S之間的通信負(fù)擔(dān)在處理這些處理區(qū)段Va期間直至這些釋放指令F5,F(xiàn)7不增加。從機(jī)S同樣根據(jù)控制程序P4處理這些進(jìn)程輸入值Ewl,Ew2,并且同樣生成從機(jī)S向外圍單元Pe傳輸?shù)倪M(jìn)程輸出值A(chǔ)wl,Aw2。在此從以下情形出發(fā),即,外圍單元是具有主接口和次接口的、“接線的”外圍單元。主接口被設(shè)計(jì)用于接受主機(jī)M的進(jìn)程輸出值,次接口被設(shè)計(jì)用于接受從機(jī)S的進(jìn)程輸出值,在這個(gè)過(guò)程中,如果從機(jī)S發(fā)現(xiàn)主機(jī)M故障,從機(jī)S就將外圍單元從主接口切換到次接口上。
[0037]正如闡述的那樣,設(shè)定主機(jī)M在時(shí)間點(diǎn)t8故障。從機(jī)S例如通過(guò)以下方式識(shí)別這次故障,即,主機(jī)M在一段預(yù)定的持續(xù)時(shí)間期間沒(méi)有經(jīng)由同步連接件Sv或現(xiàn)場(chǎng)總線Fb (圖4)向從機(jī)S傳輸活躍信號(hào)。在從機(jī)S例如在時(shí)間點(diǎn)t9識(shí)別了這次故障以后,從機(jī)S不立即接過(guò)主導(dǎo)地位;因?yàn)樵跁r(shí)間點(diǎn)t9,從機(jī)S的系統(tǒng)狀態(tài)不同于主機(jī)M,因此無(wú)干擾的更換或過(guò)渡是不可能的。在這個(gè)時(shí)間點(diǎn)t9,從機(jī)S剛才已經(jīng)處理這些處理區(qū)段Va直至某個(gè)中斷點(diǎn)P4_6 (中斷點(diǎn)6),于是,主機(jī)M的相應(yīng)的直至中斷點(diǎn)P3_6 (中斷點(diǎn)6)的處理區(qū)段Va已經(jīng)成為過(guò)去。在完成過(guò)渡以后,也就是在從機(jī)S在時(shí)間點(diǎn)tlO已經(jīng)處理完通過(guò)釋放指令F7釋放的、直至中斷點(diǎn)P4_B的處理區(qū)段Va以后,從機(jī)S接過(guò)主導(dǎo)地位,并且因此負(fù)責(zé)該技術(shù)進(jìn)程的控制,其中,從機(jī)S在時(shí)間點(diǎn)tlO將外圍單位從主接口切換到次接口。于是,在這次過(guò)渡期間,(迄今的)從機(jī)S仍然路徑同步地經(jīng)歷相同的線程山,并且處理與(迄今的)主機(jī)M在它故障之前已經(jīng)處理過(guò)的相同的進(jìn)程輸入值,其中,(迄今的)從機(jī)S在這些輸入值的基礎(chǔ)上獲取和(迄今的)主機(jī)M—樣的進(jìn)程輸出值。當(dāng)達(dá)到了最后的釋放指令的目的(在本例子中是處理處理區(qū)段Va直至中斷點(diǎn)P4B),這次過(guò)渡就結(jié)束了。
[0038]過(guò)渡持續(xù)的時(shí)間基本上等于在“故障”時(shí)間點(diǎn)時(shí)間上滯后的持續(xù)時(shí)間。為了將時(shí)間上的滯后保持在可容忍的程度內(nèi),那么,當(dāng)從機(jī)S已經(jīng)完成了相應(yīng)的運(yùn)行以后,通過(guò)從機(jī)S不同步地通過(guò)各個(gè)應(yīng)答Q8至Q12應(yīng)答主機(jī)M的每個(gè)釋放指令F8至F12(圖3)。對(duì)于以下情況,即,時(shí)間上的滯后還太高或太長(zhǎng),例如可能導(dǎo)致冗余損耗,主機(jī)M就采取合適的措施,用來(lái)減少時(shí)間上的滯后或者讓時(shí)間上的滯后不變的太大。
[0039]例如,主機(jī)M可以通過(guò)以停止或延遲處理優(yōu)先級(jí)低的線程對(duì)過(guò)大的滯后做出反應(yīng),其中,處理優(yōu)先級(jí)更高的線程需要的計(jì)算時(shí)間明顯少于100%。因此,主機(jī)M需要經(jīng)歷的處理區(qū)段更少,并且生成更少的釋放指令,使得從機(jī)S可以“休息”。
【權(quán)利要求】
1.一種具有多個(gè)彼此連接的自動(dòng)化儀器的冗余自動(dòng)化系統(tǒng),所述自動(dòng)化儀器為了控制技術(shù)進(jìn)程各處理一個(gè)控制程序,其特征在于,這些自動(dòng)化儀器中的一個(gè)作為從機(jī)(備用PLC, S)工作,這些自動(dòng)化儀器中的至少兩個(gè)分別作為主機(jī)(PLC1,PLC2,PLC3,M)工作,其中 所述從機(jī)(備用PLC,S)設(shè)計(jì)用于針對(duì)每個(gè)主機(jī)控制程序(Pcl,Pc2,Pc3)處理相應(yīng)的從機(jī)控制程序(Pbl,Pb2,Pb3),并且用于當(dāng)所述主機(jī)(PLC1,PLC2,PLC3,M)中的一個(gè)故障的情況下,承擔(dān)已故障的所述主機(jī)(PLC1,PLC2,PLC3,M)的功能, 每個(gè)主機(jī)(PLC1,PLC2,PLC3,M)設(shè)計(jì)用于處理所述主機(jī)的要處理的主機(jī)控制程序(Pcl,Pc2,Pc3,Pl)的處理區(qū)段(Va),并且在出現(xiàn)事件(E)以后或者在預(yù)定的時(shí)間區(qū)間(Zi,i = 1,2,…)結(jié)束以后向所述從機(jī)(備用PLC,S)傳輸主機(jī)釋放指令(F1,F(xiàn)2,F(xiàn)3,F(xiàn)4),其中,所述主機(jī)釋放指令(F1,F(xiàn)2,F(xiàn)3,F(xiàn)4)向從機(jī)(備用PLC, S)顯示,所述從機(jī)(備用PLC, S)允許處理到的、與這個(gè)主機(jī)控制程序(Pcl,Pc2,Pc3,Pl)相對(duì)應(yīng)的所述從機(jī)控制程序(Pbl,Pb2,Pb3,P2)的所述處理區(qū)段(Va),并且 所述從機(jī)(備用PLC,S)設(shè)計(jì)用于基于所述主機(jī)釋放指令(F1,F(xiàn)2,F(xiàn)3,F(xiàn)4)處理要處理的所述從機(jī)控制程序(Pbl,Pb2,Pb3,P2)的所述處理區(qū)段(Va),所述處理區(qū)段就是需要處理的所述主機(jī)控制程序(Pcl,Pc2,Pc3,Pl)從先前的主機(jī)釋放指令(F1,F(xiàn)2,F(xiàn)3,F(xiàn)4)到當(dāng)前的主機(jī)釋放指令(Fl,F(xiàn)2,F(xiàn)3,F(xiàn)4)已經(jīng)處理完的處理區(qū)段(Va)。
2.根據(jù)權(quán)利要求1所述的冗余自動(dòng)化系統(tǒng),其特征在于,所述從機(jī)(備用PLC,S)設(shè)計(jì)用于在對(duì)相應(yīng)的所述處理區(qū)段(Va)進(jìn)行處理后向相應(yīng)的所述主機(jī)(PLC1,PLC2,PLC3,M)應(yīng)答相應(yīng)的所述主機(jī)釋放指令(Fl,F(xiàn)2,F(xiàn)3,F(xiàn)4)。
3.根據(jù)權(quán)利要求1或2所述的冗余自動(dòng)化系統(tǒng),其特征在于, 所述自動(dòng)化系統(tǒng)設(shè)計(jì)用于在要借助相應(yīng)的所述主機(jī)(PLC1,PLC2,PLC3,M)處理的所述主機(jī)控制程序(Pel,Pc2, Pc3, Pl)中和要借助所述從機(jī)(備用PLC,S)處理的所述從機(jī)控制程序(Pbl,Pb2,Pb3,p2)中分別在相應(yīng)的所述處理區(qū)段(Va)的起點(diǎn)和終點(diǎn)設(shè)置中斷點(diǎn)(Pl_6,P1_A,P1_C,Pl_12,P2_6,P2_A,P2_12), 相應(yīng)的所述主機(jī)(PLC1,PLC2,PLC3,M)設(shè)計(jì)為,設(shè)置跟在相應(yīng)的所述時(shí)間區(qū)間(Zi,i=1,2,…)后面的時(shí)間區(qū)間(Zi, i = 1,2,…)的起點(diǎn) a)跟在相應(yīng)的所述時(shí)間區(qū)間(Zi,i= 1,2,...)后面的所述中斷點(diǎn)(P1_6,P1_A,P1_12)出現(xiàn)的所述時(shí)間點(diǎn)(t2,t3, t6),或者 b)跟在所述事件(E)出現(xiàn)以后的所述中斷點(diǎn)(P1_C)出現(xiàn)的所述時(shí)間點(diǎn)(t5),以及 相應(yīng)的所述主機(jī)(PLC1,PLC2,PLC3,M)進(jìn)一步設(shè)計(jì)為,在a)和b)中所述的時(shí)間點(diǎn)(t2,t3,t6 ;t5)向所述從機(jī)(備用PLC, S)傳輸所述主機(jī)釋放指令(Fl,F(xiàn)2,F(xiàn)4 ;F3)。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的冗余自動(dòng)化系統(tǒng),其特征在于,相應(yīng)的所述主機(jī)(PLC1,PLC2,PLC3,M)設(shè)計(jì)用于在傳輸所述主機(jī)釋放指令(F1,F(xiàn)2,F(xiàn)4 ;F3)的所述時(shí)間點(diǎn)(t2,t3,t6 ;t5)也向所述從機(jī)(備用PLC, S)傳輸進(jìn)程輸入值(Ewl, Ew2)。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的冗余自動(dòng)化系統(tǒng),其特征在于,所述主機(jī)(PLC1,PLC2,PLC3,M)和所述從機(jī)(備用PLC,S)根據(jù)總線、環(huán)形、星型拓?fù)浠蛘吒鶕?jù)這些拓?fù)涞幕旌闲问奖舜诉B接。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的冗余自動(dòng)化系統(tǒng),其特征在于,所述連接構(gòu)造成冗余的。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的冗余自動(dòng)化系統(tǒng),其特征在于,所述從機(jī)(備用PLC, S)是多核的或基于PC的單元。
8.一種用于根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的冗余自動(dòng)化系統(tǒng)的從機(jī),其中,所述冗余自動(dòng)化系統(tǒng)設(shè)置有多個(gè)彼此連接的自動(dòng)化儀器,所述自動(dòng)化儀器為了控制技術(shù)進(jìn)程各處理一個(gè)控制程序,并且其中,這些自動(dòng)化儀器中的一個(gè)作為從機(jī)(備用PLC,S)工作,這些自動(dòng)化儀器中的至少兩個(gè)分別作為主機(jī)(PLC1,PLC2,PLC3,M)工作,其特征在于,所述從機(jī)(備用PLC,S)設(shè)計(jì)用于 針對(duì)每個(gè)主機(jī)控制程序(Pel,Pc2,Pc3)處理相應(yīng)的從機(jī)控制程序(Pbl,Pb2,Pb3),并且用于在所述主機(jī)(PLC1,PLC2,PLC3,M)中的一個(gè)故障的情況下,承擔(dān)發(fā)生故障的所述主機(jī)(PLCI, PLC2,PLC3,M)的功能,并且 基于主機(jī)釋放指令(Fl,F(xiàn)2,F(xiàn)3,F(xiàn)4)處理要處理的所述從機(jī)控制程序(Pbl,Pb2,Pb3,P2)的處理區(qū)段(Va),這些處理區(qū)段就是需要處理的所述主機(jī)控制程序(Pcl,Pc2,Pc3,Pl)從先前的主機(jī)釋放指令(Fl,F(xiàn)2,F(xiàn)3,F(xiàn)4)到當(dāng)前的主機(jī)釋放指令(Fl,F(xiàn)2,F(xiàn)3,F(xiàn)4)已經(jīng)處理完的處理區(qū)段(Va)。
【文檔編號(hào)】G05B19/05GK104516306SQ201410523109
【公開(kāi)日】2015年4月15日 申請(qǐng)日期:2014年9月30日 優(yōu)先權(quán)日:2013年10月1日
【發(fā)明者】托馬斯·格羅施, 于爾根·拉福斯, 阿爾伯特·倫施勒 申請(qǐng)人:西門(mén)子公司