用於在處理系統中處理數據時識別錯誤的方法和控制系統的製作方法
2023-04-24 15:03:41
專利名稱:用於在處理系統中處理數據時識別錯誤的方法和控制系統的製作方法
技術領域:
本發明涉及一種用於在處理系統中處理數據以便形成數據包時識別錯誤的方法。本發明還涉及執行該方法的處理系統。
背景技術:
在用於處理與安全性有關的數據的系統的情況下,在兩個或更多通道中頻繁地處理數據,即通過不同途徑彼此獨立地處理數據多次。關於這一點,通常通過在不同處理單元上執行相同的處理方法兩次或更多次並且將由此獲得的結果相互比較來實現多通道特性。假定如果通過所有途徑獲得相同結果,則存在正確地計算了各個處理方法的結果的非常高的概率。這幾乎排除硬體中的系統和自發錯誤。極不可能的上,兩個未被識別的錯誤將正好產生與相同位置處的錯誤相同的結果。只有那時錯誤才將保持未被檢測到。
然而,如果在連續地執行所有處理方法的方法步驟的處理系統中、例如在單個微處理器中進行處理,則可以通過在該微處理器中連續地處理數據多次來實現多通道特性。然後,接連地處理該數據多次。特別地,可以以不同方式來實現數據的多次處理,這意味著,舉例來說,計算算法執行不同的單個步驟以便當數據被正確地處理時獲得相同結果。
現在,檢驗以這種方式獲得的結果的等同性。特別是在單個微處理器中進行處理的情況下,一個問題在於不能確保當微處理器有錯誤時或當處理系統有錯誤時,來自多通道處理的不相等的結果不會由於另外的錯誤仍然被解釋為正確的結果並被釋放用於進一步的處理。這特別成問題,因為通常僅需要一些方法步驟來用於比較所確定的結果,以便確定所確定的數據的正確性。然而,如果在單個微處理器中實現多通道特性,則微處理器中的在方法步驟期間的錯誤可能導致即使微處理器有錯誤,不相等的結果也不被識別為正確的並且數據的處理也被繼續。
在控制工程中,諸如PROFISAFE的標準被用於傳輸數據,例如所述標準規定用於有用數據的特定協議和特定格式。這保護要傳輸的數據以防任何傳輸鏈路上的所有典型錯誤、諸如數據的失真和顛倒。該數據配備有共同的數據幀地址、校驗和以及生命周期計數器。
在單個微處理器中實現多通道特性的系統中,例如在單個信息處理單元中,不能可證明地確保微處理器在識別出錯誤的情況下不轉發不正確的數據。然而,與安全性有關的領域要求「單個錯誤安全性」,其中當出現了單個錯誤時可證明地停止處理或停止數據的生成和提供。這意味著,對於任何錯誤而言,該系統必須可證明地總是處於安全狀態中,以便能夠排除人員的任何風險。在這方面重要的是由系統本身識別出錯誤以及該系統自己關閉。這防止第二錯誤出現並且能夠導致不安全狀態。
NIKOLAIZIK,Jürgen;NKOLOV,Boris;WARLITZ,Joachim的Fehlertolerante Mikrocomputersystems[Fault-tolerantmicrocomputer systems](BerlinVerl.Technik,1990年,第23-67頁,(ISBN3-341-00959-4))公開了一種容錯微型計算機系統,該容錯微型計算機系統具有中央處理單元,其中通過利用兩個不同的程序接連地執行數據處理來實現錯誤識別,其中比較結果以便檢測錯誤。
發明內容
本發明的目的是提供一種用於在處理數據以便形成數據包時識別錯誤的方法,該方法提供用於在處理系統中執行處理的單個錯誤安全性,其中連續地執行處理方法的處理步驟。並且本發明的目的是提供一種用於處理數據以便形成數據包的處理系統,該處理系統允許可靠地識別出現的錯誤。
該目的通過根據權利要求1的方法、通過根據權利要求6的電腦程式產品以及通過根據權利要求7的控制系統來實現。
在從屬權利要求中說明了本發明的另外的有利改進。
按照本發明的第一方面,提供一種用於在處理系統中處理數據以便形成包含輸出數據和測試數據項的數據包時識別錯誤的方法。該處理系統連續地執行處理方法的方法步驟。形成測試數據項,以便確認輸出數據的有效性。該方法包括下列步驟提供輸入數據;按照第一處理方法基於輸入數據確定輸出數據;按照第二處理方法基於輸入數據確定測試數據項,其中第一和第二處理方法在處理系統中接連地被執行並相互協調,以便針對相同的輸入數據產生輸出數據和測試數據項,使得測試數據項能夠確認輸出數據;以及如果測試數據項不能確認輸出數據的有效性,則在處理系統中識別出錯誤。
本發明方法具有以下優點,即測試數據項和輸出數據在處理系統中彼此獨立地被確定,從而避免輸出數據以相同的方式被確定兩次或更多次,以便找到可能的錯誤。在單個處理系統中多次執行相同的處理方法以便確定輸出數據通常將不允許識別存在於處理系統中的錯誤,因為該錯誤將以相同的方式對相同的處理方法有消極影響。使用計算彼此不同的值、即輸出數據和測試數據項的兩種不同的、即第一和第二處理方法的事實意味著,處理系統中的錯誤導致在第一處理方法中確定的輸出數據和在第二處理方法中確定的測試數據項彼此不協調,即測試數據項不能確認輸出數據的有效性。
優選地,所確定的測試數據項是輸出數據的校驗和。
可以規定,通過首先按照第三處理方法確定中間輸出數據以及按照第四處理方法利用所確定的中間輸出數據確定測試數據項來按照第二處理方法確定測試數據項。在這方面,第三處理方法和第一處理方法通過不同途徑確定輸出數據或中間輸出數據。特別地,可以以相對於第三處理方法的相反邏輯來執行第一處理方法。由此實現的效果是第一和第三處理方法不包含相同的方法步驟,這意味著當在方法步驟中出現錯誤時,兩種處理方法產生不同的輸出數據。因此,按照第四處理方法,基於中間輸出數據確定的測試數據項將不確認輸出數據的有效性。這允許可靠地識別錯誤。
按照一個優選實施例,直接在確定了中間輸出數據之後確定測試數據項,其中在確定了測試數據項之後刪除中間輸出數據。由此實現的效果是中間輸出數據不與測試數據一起存在於例如處理系統的存儲器中,這意味著可以防止不正確地轉發由中間輸出數據和測試數據項形成的數據包。在處理系統中中間輸出數據不可用或僅短暫地可用的事實意味著中間輸出數據非常不可能或幾乎不可能例如由於處理系統中的錯誤而作為輸出數據被轉發。
按照本發明的一個實施例,能夠由輸出數據和測試數據項形成數據包,其中在傳輸了數據包之後進行檢驗以確定,測試數據項是否確認輸出數據的有效性,以便檢驗數據包的有效性。
按照本發明的另一方面,提供一種用於在處理數據以便形成數據包時識別錯誤的處理系統。該處理系統具有處理單元,該處理單元用於連續地執行處理方法中的處理步驟,用於按照第一處理方法基於輸入數據確定輸出數據,以及用於按照第二處理方法基於輸入數據確定測試數據項。另外,設置有存儲器,在該存儲器中存儲有第一和第二處理方法的方法步驟以便利用處理單元來執行這些方法步驟。第一和第二處理方法在處理系統中接連地被執行並且彼此協調,以便針對相同的輸入數據生成輸出數據和測試數據項,使得測試數據項能夠確認輸出數據的有效性。還存在被設置用於在測試數據項不能確認輸出數據項時識別錯誤的錯誤確定單元。
按照本發明的另一實施例,設置有傳輸單元,以便連結測試數據項和輸出數據以形成數據包,以及以便經由網絡傳輸所述數據包。
下面參考附圖更詳細地說明本發明的優選實施例,其中圖1示出用於經由PROFIBUS控制機器的控制系統,在該控制系統中實現本發明方法;圖2示出舉例說明本發明方法的優選實施例的流程圖。
具體實施例方式
圖1示出具有微處理器2和存儲器3的控制系統1。存儲器3被用來存儲程序數據和有用數據。微處理器2能夠使用程序數據來對被存儲在存儲器3中的有用數據執行處理方法。例如,微處理器2是連續地執行該處理方法的方法步驟的標準微處理器。
控制系統1經由PROFIBUS 4連接到機器5上,該機器5被規定為受控制系統1控制。PROFIBUS 4被用於傳輸還包含控制數據和測試數據的數據包。控制數據是在微處理器2中執行的第一處理方法的結果。測試數據同樣在微處理器2中按照第二處理方法來確定並被用於檢驗接收機上、即機器5中的控制數據的有效性,即測試數據和控制數據需要彼此協調。通常,測試數據可以容易地根據控制數據、例如通過形成校驗和來確定。
圖2示出表明基於本發明的處理方法的優選實施例的流程圖。在步驟S2中,所提供的輸入數據(步驟S1)首先被用於按照第一處理方法基於輸入數據來確定輸出數據。接著,使用第三處理方法來根據輸入數據確定中間輸出數據(步驟S3),第一和第三處理方法基本上實現相同的功能,其中有利地通過不同途徑獲得輸出數據。例如,第一處理方法使用正邏輯以及第三處理方法使用負邏輯,以便獲得輸出數據。
如果控制系統正確地工作,使用第一處理方法獲得的數據和使用第三處理方法獲得的中間輸出數據是相同的。如果當特定處理步驟被不正確地執行時在第一或第三處理方法中出現錯誤,則按照第一處理方法和按照第三處理方法獲得不同的輸出數據。基於步驟S4的校驗和計算被用於根據中間輸出數據來計算該中間輸出數據的校驗和。如果第一處理方法和第三處理方法以及校驗和計算被正確地執行,則在步驟S4中所確定的校驗和對應於在步驟S2中所確定的、輸出數據的校驗和。
為了防止中間輸出數據和校驗和在存儲器3中作為共同的數據包或彼此以規定的關聯可用以及防止由控制系統1不正確地發送,優選地在執行了步驟S3後不將中間輸出數據存儲在存儲器3中,而是僅緩存在微處理器的寄存器中或與存儲器3分開的高速緩衝存儲器等等中,以及在步驟S4中確定了校驗和之後刪除,以便它們決不存在於存儲器3中。這確保存儲器3隻有按照第三處理方法所確定的中間輸出數據的校驗和可用,而不是中間輸出數據本身。
由於第一處理方法通過不同的途徑獲得輸出數據,所以只有當處理是正確的時,輸出數據和校驗和才能彼此匹配,即只有當正確地執行了處理方法時,校驗和才確認輸出數據的有效性。
在步驟S5中校驗和以及輸出數據被彼此連結以形成數據包,然後按照步驟S6經由PROFIBUS 4被發送到要操作的機器5。在步驟S7中,機器5確定校驗和是否與輸出數據匹配,即校驗和是否確認輸出數據的有效性。如果是,則過程返回到步驟S1。
如果發現了錯誤,則機器5能經由PROFIBUS 4將該錯誤傳輸到控制系統1,以便控制系統1被自動關閉或停止處理。替代地,機器5能夠在錯誤數據到達的情況下阻止從控制系統1接收另外的數據包以及能夠自己關閉。
優選地,可以在控制系統1中使用相同的微處理器2來執行確定校驗和是否確認輸出數據的檢驗,這意味著,當出現了錯誤時控制系統1按照步驟S8自已關閉。
作為接口,控制系統1使用向外防護的協議、例如PROFISAFE,該協議能夠被用於操作PROFIBUS 4。在這方面,使用不同的保護機制將數據打包成幀。通過對PROFISAFE協議的幀的最後檢驗來實現控制數據的有效性。如果檢驗是正確的,則可以釋放並發送數據包。在錯誤的情況下,停止控制系統1。如果控制系統1中的錯誤將導致不正確的子結果並且也不阻止發送,則數據的接收機、即機器5能夠在檢驗所使用的保護幀時檢測到該錯誤並且能夠相應地例如通過阻止控制系統1進一步發送錯誤的數據包來作出反應。
優選地使用相反邏輯來執行第一處理方法和第三處理方法,以便防止相同的方法步驟導致相同的錯誤輸出數據。也可以使第一和第三處理方法以非常不同的方式執行相同的功能。這可以利用能夠被用來以不同方式實現相同功能的數學整形方法來實現。
也可以在不預先確定中間輸出數據的情況下直接根據輸入數據計算例如校驗和形式的測試數據項。這具有以下優點,即中間輸出數據在控制系統中永不可用,以便中間輸出數據不會被錯誤地連結到測試數據項以及不正確地作為數據包通過例如PROFIBUS 4被發送。
尤其是如果測試數據計算能夠與第一處理方法的功能相連結以形成具有不同方法步驟的新處理方法,則這是可能的,其中在該新處理方法中與第一處理方法相同的處理步驟的數量儘可能小,並且尤其是零。
權利要求
1.一種用於在處理系統(1)中處理輸入數據以便形成包含輸出數據和測試數據項的數據包時識別錯誤的方法,其中形成所述測試數據項以便確認所述輸出數據的有效性,其中連續地執行下列方法步驟-按照第一處理方法基於所述輸入數據確定所述輸出數據;-按照第二處理方法基於所述輸入數據確定所述測試數據項,其中按照第三處理方法基於所述輸入數據確定中間輸出數據,以及按照第四處理方法根據所確定的中間輸出數據確定測試數據項,其中所述第一處理方法和所述第三處理方法通過不同途徑實現相同的功能;以及-如果所述測試數據項不能確認所述輸出數據的有效性,則在所述處理系統中識別出錯誤。
2.如權利要求1所述的方法,其中,所確定的測試數據項是所述輸出數據的校驗和。
3.如權利要求1或2所述的方法,其中,直接在確定了所述中間輸出數據之後確定所述測試數據項,並且在確定了所述測試數據項之後刪除所述中間輸出數據。
4.如權利要求1至3之一所述的方法,其中,以相對於所述第三處理方法的相反邏輯來執行所述第一處理方法。
5.如權利要求1至4之一所述的方法,其中,在傳輸了由所述輸出數據和所述測試數據項形成的數據包之後進行檢驗以確定,是否可以按照所述第二處理方法根據所述輸出數據確定所述測試數據項,以便檢驗所述數據包的有效性。
6.一種電腦程式產品,用於在微處理器中執行如權利要求1至5之一所述的方法。
7.一種處理系統(1),用於在處理輸入數據以便形成包含輸出數據和用於確認該輸出數據的有效性的測試數據項的數據包時識別錯誤,具有處理單元(2),該處理單元用於連續地執行處理步驟,以及在這種情況下按照第一處理方法基於所述輸入數據確定所述輸出數據,並且按照第二處理方法基於所述輸入數據確定所述測試數據項,其中確定所述測試數據項包括按照第三處理方法基於所述輸入數據確定中間輸出數據以及按照第四處理方法根據所確定的中間輸出數據確定測試數據項,所述第一處理方法和所述第三處理方法通過不同途徑實現相同的功能;以及所述處理單元用於如果所述測試數據項不能確認所述輸出數據的有效性、則在該處理系統中識別出錯誤;以及具有存儲器(3),該存儲器存儲所述第一和第二處理方法的方法步驟以便利用所述處理單元執行這些方法步驟。
8.如權利要求7所述的處理系統(1),具有用於傳輸由所述測試數據項和所述輸出數據形成的數據包的傳輸單元(4)。
全文摘要
本發明涉及一種用於在處理系統中處理輸入數據以便形成包含輸出數據和測試數據項的數據包時識別錯誤的方法,形成該測試數據項以便確認該輸出數據的有效性,其中連續地執行下列方法步驟按照第一處理方法基於輸入數據確定輸出數據;按照第二處理方法基於輸入數據確定測試數據項,其中按照第三處理方法基於輸入數據確定中間輸出數據並且按照第四處理方法根據所確定的中間輸出數據確定測試數據項,其中第一處理方法和第三處理方法通過不同途徑實現相同的功能;以及如果測試數據項不能確認輸出數據的有效性,則在該處理系統中識別出錯誤。
文檔編號H04L1/00GK1942866SQ200580011858
公開日2007年4月4日 申請日期2005年4月13日 優先權日2004年4月19日
發明者U·普呂斯邁耶 申請人:德國倍福自動化有限公司