安全運算裝置、安全輸入裝置、安全輸出裝置以及安全控制器的制造方法
【專利說明】安全運算裝置、安全輸入裝置、安全輸出裝置以及安全控制
□ □
技術領域
[0001]本發明涉及安全運算裝置、安全輸入裝置、安全輸出裝置以及安全控制器,特別是涉及一種實施內部診斷的安全控制器的結構,該內部診斷用于保障可靠性較高的控制動作。
【背景技術】
[0002]用于安全控制的安全控制器例如按照與功能安全相關的國際標準即IEC61508,要求能夠檢測出處理器或存儲器中的電路的永久性故障即硬件故障、和暫時性的故障即軟件故障這兩種故障。
[0003]對于安全控制器的內部診斷,例如已知下述方法,S卩,將2個處理器的運算結果對照而進行相互診斷的方法、和由I個處理器執行2次相同的運算處理而對處理結果進行比較的方法。例如,在專利文獻I中,公開了將由I個處理器執行2次相同的運算處理而得出的結果寫入各自的存儲器的方法。
[0004]專利文獻1:日本特開昭59 - 194204號公報
【發明內容】
[0005]如果采用專利文獻I所記載的結構,則對來自2個存儲器的輸出使用二重化的分接器和觸發電路而進行一重化。由處理器執行2次運算處理而得到的結果的對照通過二重化的硬件電路實現。采用該二重化電路結構的情況與由一重輸入輸出電路構成的通常的結構相比,存在下述問題,即,需要冗余的電路結構,導致安全控制器變復雜且高成本。
[0006]本發明就是鑒于上述情況而提出的,其目的在于得到一種安全運算裝置、安全輸入裝置、安全輸出裝置以及安全控制器,該安全運算裝置、安全輸入裝置、安全輸出裝置以及安全控制器作為一重電路結構而能夠實現簡化和低成本,并能夠檢測出硬件故障以及軟件故障這兩種故障。
[0007]為了解決上述課題,并實現目的,本發明的特征在于,具有:處理器,其實施輸入數據的程序處理;以及存儲器,其保存輸入至所述處理器的所述輸入數據、以及所述程序處理的結果即輸出數據,所述存儲器在第I存儲區域、和地址與所述第I存儲區域不同的第2存儲區域的每一個中都能夠保存所述輸入數據以及所述輸出數據,所述處理器具有:執行控制部,其執行第I處理過程和第2處理過程,該第I處理過程包含寫入所述第I存儲區域的所述輸入數據的所述程序處理、和向作為所述程序處理的結果而寫入所述第I存儲區域的所述輸出數據添加冗余碼,該第2處理過程包含寫入所述第2存儲區域的所述輸入數據的所述程序處理、和向作為所述程序處理的結果而寫入所述第2存儲區域的所述輸出數據添加冗余碼;結果對照部,其對在所述第I處理過程中添加了所述冗余碼的所述輸出數據、和在所述第2處理過程中添加了所述冗余碼的所述輸出數據進行對照;運算診斷部,其通過運算,診斷所述處理器以及所述存儲器有無故障;以及異常處理部,其在所述輸入數據以及所述輸出數據的冗余校驗、所述結果對照部的對照、以及所述運算診斷部的診斷中的至少一項檢測出異常的情況下,使所述輸出數據的輸出停止。
[0008]發明的效果
[0009]本發明所涉及的安全運算裝置具有包含處理器以及存儲器的一重電路結構。執行控制部分別對從第I存儲區域讀出的輸入數據、以及從第2存儲區域讀出的輸入數據執行程序處理。結果對照部通過對針對雙方的輸入數據的程序處理的結果進行對照,從而檢測出軟件故障。運算診斷部檢測出處理器以及存儲器中的硬件故障。由此,安全運算裝置具有下述效果,即,作為一重電路結構而能夠實現簡化和低成本,并能夠檢測出硬件故障以及軟件故障這兩種故障。
【附圖說明】
[0010]圖1是表示本發明的實施方式I所涉及的具有安全運算裝置的安全控制器的結構的框圖。
[0011]圖2是表示安全控制器的動作過程的流程圖(其一)。
[0012]圖3是表示安全控制器的動作過程的流程圖(其二)。
[0013]圖4是表示本發明的實施方式2所涉及的具有安全運算裝置的安全控制器的動作過程的流程圖(其一)。
[0014]圖5是表示本發明的實施方式2所涉及的具有安全運算裝置的安全控制器的動作過程的流程圖(其二)。
[0015]圖6是表示本發明的實施方式6所涉及的具有安全運算裝置的安全控制器的結構的框圖。
[0016]圖7是表示本發明的實施方式7所涉及的具有安全輸入裝置的安全控制器的結構的框圖。
[0017]圖8是表示安全輸入裝置的動作過程的流程圖。
[0018]圖9是表示本發明的實施方式8所涉及的具有安全輸出裝置的安全控制器的結構的框圖。
[0019]圖10是表示安全輸出裝置的動作過程的流程圖。
[0020]圖11是表示本發明的實施方式9所涉及的安全控制器的結構的框圖。
[0021]圖12是表示本發明的實施方式10所涉及的安全控制器的結構的框圖。
【具體實施方式】
[0022]下面,基于附圖,對本發明所涉及的安全運算裝置、安全輸入裝置、安全輸出裝置以及安全控制器的實施方式進行詳細說明。此外,本發明并不限定于這些實施方式。
[0023]實施方式I
[0024]圖1是表示本發明的實施方式I所涉及的具有安全運算裝置的安全控制器的結構的框圖。安全控制器具有安全運算裝置10、安全輸入裝置18、以及安全輸出裝置19。
[0025]安全運算裝置10實施用于安全控制的運算處理。安全輸入裝置18接受向安全控制器輸入的輸入信號。安全輸出裝置19從安全控制器將輸出信號輸出至外部。安全運算裝置10、安全輸入裝置18、以及安全輸出裝置19經由總線20彼此進行內部連接。
[0026]安全運算裝置10具有處理器11以及存儲器12。處理器11實施輸入至安全運算裝置10的輸入數據的程序處理。存儲器12保存輸入至處理器11的輸入數據、以及程序處理的結果即輸出數據。
[0027]存儲器12具有彼此獨立的第I存儲區域12A以及第2存儲區域12B。第2存儲區域12B的地址與第I存儲區域12A的地址不同。第I存儲區域12A以及第2存儲區域12B均能夠保存輸入數據以及輸出數據。
[0028]處理器11具有執行控制部13、結果對照部14、運算診斷部15、異常處理部16、以及輸入輸出處理部17。執行控制部13執行針對寫入至第I存儲區域12A的輸入數據的第I處理過程、和針對寫入至第2存儲區域12B的輸入數據的第2處理過程。結果對照部14將在第I處理過程中寫入至第I存儲區域12A的輸出數據和在第2處理過程中寫入至第2存儲區域12B的輸出數據進行對照。
[0029]運算診斷部15通過運算,診斷出處理器11以及存儲器12有無故障。在運算診斷部15進行的處理器11以及存儲器12的診斷中,例如可以使用測試模式。異常處理部16在輸入數據以及輸出數據的冗余校驗、結果對照部14的對照、以及運算診斷部15的診斷中的至少一項檢測出異常的情況下,使輸出數據的輸出停止。
[0030]輸入輸出處理部17進行安全輸入裝置18與第I存儲區域12A以及第2存儲區域12B之間的輸入數據的轉發、和安全輸出裝置19與第I存儲區域12A以及第2存儲區域12B之間的輸出數據的轉發。
[0031]圖2以及圖3是表示安全控制器的動作過程的流程圖。安全輸入裝置18向輸入數據添加冗余碼。輸入輸出處理部17將添加有冗余碼的輸入數據從安全輸入裝置18讀入。輸入輸出處理部17將讀入的輸入數據寫入至第I存儲區域12A以及第2存儲區域12B (步驟 SI) ο
[0032]執行控制部13對寫入至第I存儲區域12A的輸入數據(第I輸入數據)所附帶的冗余碼進行校驗(步驟S2)。冗余碼例如是CRC (Cyclic Redundancy Checking)。
[0033]在該冗余校驗中檢測出異常的情況下(步驟S3,Yes),異常處理部16使安全控制器的動作停止(步驟S18)。另一方面,如果通過步驟S2的冗余校驗確認出沒有異常(步驟S3,No),則執行控制部13執行第I輸入數據的程序處理(步驟S4)。程序例如是由用戶生成的應用程序。在程序處理中,執行控制部13使用第I輸入數據、以及第I存儲區域12A所保存的自身保存數據。
[0034]執行控制部13將步驟S4的處理結果即輸出數據(第I輸出數據)寫入至第I存儲區域12A (步驟S5)。執行控制部13根據步驟S4的處理結果,將第I存儲區域12A所保存的自身保存數據改寫。
[0035]執行控制部13向寫入至第I存儲區域12A的第I輸出數據添加冗余碼(步驟S6)。冗余碼例如是CRC。從步驟S2至步驟S6相當于針對寫入至第I存儲區域12A的第I輸入數據的第I處理過程。
[0036]下面,執行控制部13對寫入至第2存儲區域12B的輸入數據(第2輸入數據)所附帶的冗余碼進行校驗(步驟S7)。冗余碼例如是CRC。在該冗余校驗中檢測出異常的情況下(步驟S8, Yes),異常處理部16使安全控制器的動作停止(步驟S18)。另一方面,如果通過步驟S7的冗余校驗確認出沒有異常(步驟S8,No),則執行控制部13執行第2輸入數據的程序處理(步驟S9)。
[0037]第I存儲區域12A以及第2存儲區域12B除了偏移地址不同以外,存儲映像相同。執行控制部13對于第2輸入數據,以與步驟S4中對第I輸入數據進行處理時的偏移地址不同的偏移地址執行相同的程序。在程序處理中,執行控制部13使用第2輸入數據、以及第2存儲區域12B所保存的自身保存數據。
[0038]執行控制部13將步驟S9的處理結果即輸出數據(第2輸出數據)寫入至第2存儲區域12B (步驟S10)。執行控制部13根據步驟S9的處理結果,將第2存儲區域12B所保存的自身保存數據改寫。
[0039]執行控制部13向寫入至第2存儲區域12B的第2輸出數據添加冗余碼(步驟Sll)。冗余碼例如是CRC。從步驟S7至步驟Sll相當于針對寫入至第2存儲區域12B的第2輸入數據的第2處理過程。
[0040]然后,結果對照部14將在步驟S6中添加了冗余碼的第I輸出數據和在步驟Sll中添加了冗余碼的第2輸出數據進行比較對照(步驟S12)。結果對照部14也可以在第I以及第2輸出數據的基礎上,將值可能變更的自身保存數據包含在比較對照的范圍內。
[0041]在結果對照部14的對照中檢測出異常的情況下(步驟S13,Yes