本發(fā)明涉及一種具有看門狗計(jì)時器的驅(qū)動控制裝置。
背景技術(shù):
在利用cpu(centralprocessingunit,以下簡稱為“cpu”)進(jìn)行致動器等控制對象裝置的驅(qū)動控制的驅(qū)動控制系統(tǒng)中,強(qiáng)烈渴望針對cpu的異?;蚬收系膶Σ?。因此,開發(fā)了各種對cpu進(jìn)行監(jiān)視并對cpu的異?;蚬收线M(jìn)行檢測的技術(shù)。例如在專利文獻(xiàn)1公開的技術(shù)中,除了監(jiān)視對象的cpu以外另外設(shè)置監(jiān)視ic,該監(jiān)視ic對cpu的扭矩監(jiān)視部和信號異常診斷部的工作狀態(tài)進(jìn)行監(jiān)視,如果檢測到其工作異常,則與微型計(jì)算機(jī)的自我監(jiān)視部協(xié)同實(shí)施故障安全控制。
然而,在該專利文獻(xiàn)1公開的技術(shù)中,監(jiān)視ic所檢測的cpu的工作異常限于扭矩監(jiān)視部和信號異常診斷部的工作異常等特定的異常。并且,該專利文獻(xiàn)1公開的技術(shù)存在無法針對在cpu的工作中可能發(fā)生的alu(arithmeticlogicunit,算數(shù)邏輯單元)的工作異常、數(shù)據(jù)路徑的工作異常、寄存器的工作異常、內(nèi)部ram的工作異常、地址計(jì)算的工作異常、中斷處理的工作異常、控制邏輯的工作異常、配置寄存器的工作異常的廣范圍的工作異常進(jìn)行檢測并進(jìn)行其對應(yīng)的問題。
作為針對在cpu中可能發(fā)生的廣范圍的工作異常的對應(yīng)手段,存在利用看門狗計(jì)時器的手段。例如在專利文獻(xiàn)2公開的技術(shù)中,從cpu向看門狗計(jì)時器周期性地供給脈沖信號并對看門狗計(jì)時器進(jìn)行重置。如果在cpu中發(fā)生工作異常而在預(yù)定時間內(nèi)未供給脈沖信號,則看門狗計(jì)時器向cpu輸出重置信號,使cpu執(zhí)行重置處理。另外,在專利文獻(xiàn)3公開的技術(shù)中,與專利文獻(xiàn)2同樣地設(shè)有看門狗計(jì)時器,但如果來自cpu的定期的看門狗計(jì)時器清零信號的供給中斷,則看門狗計(jì)時器判斷出cpu未正常工作,對主系統(tǒng)發(fā)送錯誤通知。
<現(xiàn)有技術(shù)文獻(xiàn)>
<專利文獻(xiàn)>
專利文獻(xiàn)1:(日本)特開2010-43536號公報(bào)
專利文獻(xiàn)2:(日本)特開2003-97345號公報(bào)
專利文獻(xiàn)3:(日本)特開2014-32558號公報(bào)
技術(shù)實(shí)現(xiàn)要素:
<本發(fā)明所要解決的問題>
然而,上述專利文獻(xiàn)2公開的技術(shù)存在針對即使給予重置信號作為控制處理器的cpu的重置功能也未正常工作的情況未采取對策的問題。另外,上述專利文獻(xiàn)2公開的技術(shù)存在即使作為控制處理器的cpu的重置功能正常工作也不能保證重置后的cpu進(jìn)行正常工作的問題。另外,上述專利文獻(xiàn)2及3公開的技術(shù)存在當(dāng)看門狗計(jì)時器自身的工作變成異常時難以將驅(qū)動控制系統(tǒng)維持在安全狀態(tài)的問題。
鑒于上述說明的情況,本發(fā)明的第1個目的在于提供一種驅(qū)動控制裝置,即便當(dāng)在控制處理器中發(fā)生控制處理器的重置未正常工作的工作異常或者即使控制處理器進(jìn)行了重置也未消除的工作異常時,也能夠?qū)Ⅱ?qū)動控制系統(tǒng)維持在安全狀態(tài)。另外,本發(fā)明的第2個目的在于提供一種驅(qū)動控制裝置,即便當(dāng)在看門狗計(jì)時器自身發(fā)生工作異常的情況下,也能夠?qū)Ⅱ?qū)動控制系統(tǒng)維持在安全狀態(tài)。
<用于解決問題的手段>
本發(fā)明提供一種驅(qū)動控制裝置,其特征在于,所述驅(qū)動控制裝置包括:控制處理器,生成控制信號;以及看門狗計(jì)時器,根據(jù)從所述控制處理器所供給的重置信號對計(jì)時值進(jìn)行重置,在該重置后,通過完成目標(biāo)計(jì)時時間的計(jì)時,連續(xù)地輸出將從所述控制處理器向控制對象裝置的控制信號的供給切斷的切斷信號。
根據(jù)本發(fā)明,如果從控制處理器向看門狗計(jì)時器的重置信號的供給中斷,則看門狗計(jì)時器通過完成目標(biāo)計(jì)時時間的計(jì)時,從而連續(xù)地切斷向控制對象裝置的控制信號的供給。因此,即便在控制處理器中發(fā)生控制處理器的重置未正常工作的工作異常或者即使控制處理器進(jìn)行了重置也未消除的工作異常時,也能夠阻止控制對象裝置受到控制處理器的工作異常的不良影響,將驅(qū)動控制系統(tǒng)維持在安全狀態(tài)。
在優(yōu)選的實(shí)施方式中,所述控制處理器包括診斷單元,進(jìn)行該控制處理器的工作的診斷;以及安全狀態(tài)轉(zhuǎn)移處理單元,當(dāng)所述診斷單元診斷出該控制處理器的工作中存在異常時,所述安全狀態(tài)轉(zhuǎn)移處理單元使該控制處理器轉(zhuǎn)移到與正常時相比工作范圍被限制的安全狀態(tài)。
根據(jù)該實(shí)施方式,即使發(fā)生看門狗計(jì)時器自身的工作異常,在發(fā)生控制處理器的工作異常時看門狗計(jì)時器未能切斷向控制對象裝置的控制信號的供給,也能夠?qū)⒖刂铺幚砥鬓D(zhuǎn)移到安全狀態(tài),將驅(qū)動控制系統(tǒng)維持在安全狀態(tài)。
在優(yōu)選的實(shí)施方式中,所述診斷單元以比所述目標(biāo)計(jì)時時間短的周期重復(fù)所述診斷,當(dāng)診斷出所述控制處理器為正常時輸出所述重置信號。
根據(jù)該實(shí)施方式,當(dāng)該診斷單元診斷出在該控制處理器的工作中存在異常時,在看門狗計(jì)時器輸出切斷信號前,安全狀態(tài)轉(zhuǎn)移單元使控制處理器轉(zhuǎn)移到安全狀態(tài)。因此,能夠確保控制對象裝置的安全性。
在優(yōu)選的實(shí)施方式中,當(dāng)所述診斷單元診斷出所述控制處理器的工作的異常時,所述安全狀態(tài)轉(zhuǎn)移處理單元使所述控制處理器輸出將所述控制對象裝置設(shè)為與正常時相比工作范圍被限制的安全狀態(tài)的控制信號。
根據(jù)該實(shí)施方式,當(dāng)診斷出控制處理器的工作異常時,通過限制控制對象裝置的工作范圍從而能夠確保控制對象裝置的安全性。
在優(yōu)選的實(shí)施方式中,當(dāng)所述診斷單元診斷出所述控制處理器的工作的異常時,所述安全狀態(tài)轉(zhuǎn)移處理單元使來自所述控制處理器的所述控制信號的輸出停止。
根據(jù)該實(shí)施方式,在診斷出控制處理器的工作的異常后,能夠阻止控制處理器的工作異常的影響涉及控制對象裝置。
在優(yōu)選的實(shí)施方式中,當(dāng)所述診斷單元診斷出所述控制處理器的工作的異常時,所述安全狀態(tài)轉(zhuǎn)移處理單元使所述控制處理器輸出使所述控制對象裝置的工作狀態(tài)根據(jù)時間推移轉(zhuǎn)移到預(yù)定的安全狀態(tài)的控制信號。
根據(jù)該實(shí)施方式,當(dāng)診斷出控制處理器的工作的異常時,能夠使控制對象裝置的驅(qū)動狀態(tài)隨著時間推移逐漸地轉(zhuǎn)移到安全狀態(tài)。因此,能夠防止控制對象裝置的工作變得不穩(wěn)定。
在優(yōu)選的實(shí)施方式中,所述控制處理器包括通信單元,當(dāng)所述診斷單元診斷出所述控制處理器的工作的異常時,所述通信單元向主控制器通知所述控制處理器的工作的異常。根據(jù)該實(shí)施方式,主控制器能夠識別控制處理器的工作的異常。
在優(yōu)選的實(shí)施方式中,當(dāng)所述診斷單元診斷出所述控制處理器的工作的異常時,所述安全狀態(tài)轉(zhuǎn)移處理單元將所述控制處理器設(shè)為保持狀態(tài)。根據(jù)該實(shí)施方式,當(dāng)診斷出控制處理器的工作異常時,由于控制處理器被設(shè)為保持狀態(tài),因此能夠防止控制處理器的工作異常的影響變大。
<發(fā)明的效果>
如上所述,根據(jù)本發(fā)明,即便當(dāng)在控制處理器中發(fā)生了控制處理器的重置未正常工作的工作異常或者即使控制處理器進(jìn)行了重置也未消除的工作異常時,也能夠阻止控制對象裝置受到控制處理器的工作異常的不良影響,將驅(qū)動控制系統(tǒng)維持在安全狀態(tài)。
附圖說明
圖1是表示包括本發(fā)明的一個實(shí)施方式的驅(qū)動控制裝置1的驅(qū)動控制系統(tǒng)的構(gòu)成的框圖。
圖2是表示該驅(qū)動控制裝置1的控制處理器11的處理內(nèi)容的流程圖。
圖3是表示該控制處理器11所執(zhí)行的安全功能診斷處理的流程圖。
圖4是表示該控制處理器11的第1工作示例的時序圖。
圖5是表示該控制處理器11的第2工作示例的時序圖。
圖6是表示該控制處理器11的第3工作示例的時序圖。
圖7是表示本發(fā)明的其他實(shí)施方式中的控制處理器的工作示例的時序圖。
具體實(shí)施方式
以下,參照附圖對本發(fā)明的實(shí)施方式進(jìn)行說明。
圖1是表示包括本發(fā)明的一個實(shí)施方式的驅(qū)動控制裝置1的驅(qū)動控制系統(tǒng)的構(gòu)成的框圖。如圖1所示,該驅(qū)動控制系統(tǒng)具有驅(qū)動控制裝置1、主控制器(hostcontroller)2、開關(guān)電路3、作為驅(qū)動控制裝置1的控制對象裝置的驅(qū)動電路4、以及致動器5。
主控制器2例如由plc(programmablelogiccontroller:可編程邏輯控制器)等控制裝置、以及由安全繼電器等構(gòu)成的安全裝置構(gòu)成。該主控制器2向驅(qū)動控制裝置1供給基于使用者的操作等所生成的控制指令信號。另外,主控制器2在驅(qū)動控制系統(tǒng)內(nèi)當(dāng)檢測到發(fā)生作業(yè)者向致動器5接近等的危險(xiǎn)的情況或者進(jìn)行了緊急停止按鈕的按下操作的情況等情況下生成安全信號并向驅(qū)動控制裝置1供給。另外,主控制器2從驅(qū)動控制裝置1接收表示驅(qū)動控制裝置1的控制處理器11(后面將說明)的異常的異常報(bào)告信號,并執(zhí)行產(chǎn)生警報(bào)等對應(yīng)于異常報(bào)告信號的處理。
開關(guān)電路3設(shè)置在驅(qū)動控制裝置1與驅(qū)動電路4之間。該開關(guān)電路3平常向驅(qū)動電路4供給驅(qū)動控制裝置1所輸出的控制信號,通過從驅(qū)動控制裝置1給予切斷信號而變?yōu)閿嚅_,切斷從驅(qū)動控制裝置1向驅(qū)動電路4的控制信號的供給。
驅(qū)動電路4例如為換流器(inverter)的主電路,由多個開關(guān)元件構(gòu)成。該驅(qū)動電路4基于從驅(qū)動控制裝置1所供給的控制信號使開關(guān)元件閉合,并經(jīng)由該開關(guān)元件向致動器5供給驅(qū)動電壓。致動器5例如為電動機(jī)。
驅(qū)動控制裝置1基于控制指令信號或安全信號生成控制信號,經(jīng)由開關(guān)電路3向驅(qū)動電路4供給控制信號,控制致動器5的驅(qū)動。如圖1所示,該驅(qū)動控制裝置1具有控制處理器11、以及看門狗計(jì)時器(以下簡稱為wdt(watchdogtimer))12。wdt12具有用于進(jìn)行一定周期的時鐘的計(jì)數(shù)的計(jì)數(shù)器,如果有來自控制處理器1的重置信號的供給,則wdt12將時鐘的計(jì)數(shù)值(也即計(jì)時值)設(shè)置為零。另外,如果計(jì)時值達(dá)到預(yù)定的目標(biāo)計(jì)時時間,則wdt12向開關(guān)電路3連續(xù)地供給切斷信號。
控制處理器11是基于從主控制器2所供給的控制指令信號或安全信號來生成用于控制致動器5的控制信號的單元。該控制處理器11是除了cpu核心以外,還內(nèi)置有用于存儲該cpu核心所執(zhí)行的程序的rom、以及被cpu核心用作工作區(qū)的ram的cpu。在圖1中,省略了cpu核心、rom以及ram的圖示。通過控制處理器11的cpu核心(為了便于說明,以下僅稱為控制處理器11)執(zhí)行rom內(nèi)的程序所實(shí)現(xiàn)的功能大致可以區(qū)分為圖1所示的通信處理部111、指令輸入處理部112、致動器控制處理部113、診斷處理部114、控制信號輸出處理部115、以及安全狀態(tài)轉(zhuǎn)移處理部116。
通信處理部111是從主控制器2接收控制指令信號及安全信號的單元。另外,當(dāng)通信處理部111從安全狀態(tài)轉(zhuǎn)移處理部116收到異常報(bào)告信號時,將該異常報(bào)告信號發(fā)送至主控制器2,之后,拒絕接收來自主控制器2的控制指令信號及安全信號。但是,當(dāng)主控制器2判斷異常報(bào)告信號的內(nèi)容并發(fā)送了復(fù)位指令信號時,通信處理部111接收該復(fù)位指令信號,恢復(fù)接收來自主控制器2的控制信號及安全信號。指令輸入處理部112是向致動器控制處理部113傳遞由通信處理部111從主控制器2所接收的控制指令信號及安全信號的單元。致動器控制處理部113是基于控制指令信號或安全信號,執(zhí)行用于生成用于驅(qū)動控制致動器5的控制信號的運(yùn)算處理的單元。
例如,當(dāng)致動器5為電動機(jī),驅(qū)動電路4為驅(qū)動電動機(jī)的換流器的主電路時,致動器控制處理部113生成用于控制驅(qū)動電路4的各個開關(guān)元件的on/off的pwm(pulsewidthmodulation,脈沖寬度調(diào)制)信號。此時,致動器控制處理部113根據(jù)控制指令信號或安全信號,對作為控制信號的pwm信號的脈沖寬度的增減進(jìn)行控制。
控制信號輸出處理部115是從控制處理器11輸出利用致動器控制處理部113所生成的控制信號的單元。當(dāng)從安全狀態(tài)轉(zhuǎn)移處理部116收到停止信號時,控制信號輸出處理部115停止輸出控制信號。
診斷處理部114是對致動器控制處理部113的工作是正常還是異常進(jìn)行診斷的單元。如圖1所示,診斷處理部114包括程序序列診斷處理部1141和安全功能診斷處理部1142。在此程序序列診斷處理部1141是對致動器控制處理部113的工作之中根據(jù)控制指令信號進(jìn)行控制信號的生成的工作是正常還是異常進(jìn)行診斷的單元。另外,安全功能診斷處理部1142是對致動器控制處理部113的工作之中根據(jù)安全信號進(jìn)行控制信號的生成的工作是正常還是異常進(jìn)行診斷的單元。
在這些診斷中,程序序列診斷處理部1141及安全功能診斷處理部1142針對在致動器控制處理部113中所使用的控制處理器11的alu的異常、數(shù)據(jù)路徑的異常、寄存器的異常、內(nèi)部ram的異常、地址計(jì)算單元的異常、中斷處理單元的異常、控制邏輯的異常、配置寄存器的異常進(jìn)行檢測。
診斷處理部114周期性地重復(fù)由程序序列診斷處理部1141所進(jìn)行的診斷處理以及由安全功能診斷處理部1142所進(jìn)行的診斷處理,當(dāng)?shù)玫搅吮硎驹趦蓚€診斷處理中致動器控制處理部113的工作為正常的診斷結(jié)果時,向wdt12供給重置信號。另外,對于安全狀態(tài)轉(zhuǎn)移處理部116,當(dāng)在由程序序列診斷處理部1141所進(jìn)行的診斷處理或由安全功能診斷處理部1142所進(jìn)行的診斷處理中,診斷出致動器控制處理部113的工作的異常時,向安全狀態(tài)轉(zhuǎn)移處理部116輸出異常信號。該異常信號包括表示控制處理器11為異常的信息以及表示其異常內(nèi)容的信息。
安全狀態(tài)轉(zhuǎn)移處理部116起到安全狀態(tài)轉(zhuǎn)移處理單元的作用,當(dāng)診斷處理部114診斷出在致動器控制處理部113的工作中存在異常時,該安全狀態(tài)轉(zhuǎn)移處理單元使控制處理器11轉(zhuǎn)移到與正常時相比工作范圍被限制的安全狀態(tài)。具體來說,在本實(shí)施方式中,所謂的安全狀態(tài)是控制處理器11被保持(不使內(nèi)部狀態(tài)轉(zhuǎn)移的狀態(tài)),不進(jìn)行控制信號的生成及輸出的狀態(tài)。當(dāng)從診斷處理部114收到異常信號時,安全狀態(tài)轉(zhuǎn)移處理部116向控制信號輸出處理部115輸出停止信號,并向通信處理部111輸出作為異常報(bào)告信號的異常信號,進(jìn)而將控制處理器11設(shè)為保持狀態(tài)。
以上為本實(shí)施方式的構(gòu)成。
接著,對本實(shí)施方式的動作進(jìn)行說明。圖2是表示控制處理器11的處理內(nèi)容的流程圖。如果隨著驅(qū)動控制裝置1的電源接通等而發(fā)生啟動指令,則首先進(jìn)到步驟s101,程序序列診斷處理部1141執(zhí)行程序序列診斷處理。該程序序列診斷處理是對致動器控制處理部113的工作之中根據(jù)控制指令信號生成控制信號的工作進(jìn)行診斷的處理。
接著進(jìn)到步驟s102,程序序列診斷處理部1141對于程序序列診斷處理的診斷結(jié)果進(jìn)行判斷。當(dāng)診斷結(jié)果表示出致動器控制處理部113的工作為異常時,處理進(jìn)到步驟s110,當(dāng)診斷結(jié)果表示出致動器控制處理部113的工作為正常時,處理進(jìn)到步驟s103。
接著進(jìn)到步驟s103,安全功能診斷處理部1142執(zhí)行安全功能診斷處理。該安全功能診斷處理是對致動器控制處理部113的工作之中根據(jù)安全信號生成控制信號的工作進(jìn)行診斷的處理。
接著進(jìn)到步驟s104,安全功能診斷處理部1142對于安全功能診斷處理的診斷結(jié)果進(jìn)行判斷。當(dāng)診斷結(jié)果表示出致動器控制處理部113的工作為異常時,處理進(jìn)到步驟s110,當(dāng)診斷結(jié)果表示出致動器控制處理部113的工作為正常時,處理進(jìn)到步驟s105。
接著如果進(jìn)到步驟s105,則診斷處理部114向wdt12輸出重置信號,使wdt12的計(jì)時值重置。接著如果進(jìn)到步驟s106,則致動器控制處理部113執(zhí)行本來的致動器控制處理。在該致動器控制處理中,致動器控制處理部113從指令輸入處理部112取得控制指令信號或安全信號,基于控制指令信號或安全信號生成控制信號,向控制信號輸出處理部115供給。
如果該步驟s106結(jié)束,則處理返回步驟s101。之后,只有在程序序列診斷處理(步驟s101)及安全功能診斷處理(步驟s103)的兩個診斷結(jié)果之中致動器控制處理部113的工作為正常的情況下,按步驟s101→s102→s103→s104→s105→s106→s101的順序重復(fù)各個步驟的處理。
另一方面,在步驟s102或s104中,如果診斷結(jié)果表示出致動器控制處理部113的工作為異常,則處理進(jìn)到步驟s110。在該步驟s110中,診斷處理部114向安全狀態(tài)轉(zhuǎn)移處理部116輸出異常信號。并且,安全狀態(tài)轉(zhuǎn)移處理部116向通信處理部111輸出異常報(bào)告信號。由此,通信處理部111向主控制器2發(fā)送異常報(bào)告信號,之后,拒絕接收來自主控制器2的控制指令信號及安全信號。但是,當(dāng)主控制器2判斷異常報(bào)告信號的內(nèi)容并發(fā)送了復(fù)位指令信號時,通信處理部111接收該復(fù)位指令信號,恢復(fù)接收來自主控制器2的控制信號及安全信號。接著如果進(jìn)到步驟s111,則安全狀態(tài)轉(zhuǎn)移處理部116進(jìn)行用于轉(zhuǎn)移到安全狀態(tài)的處理。具體來說,安全狀態(tài)轉(zhuǎn)移處理部116向控制信號輸出處理部115輸出停止信號。由此,控制信號輸出處理部115停止來自致動器控制處理部113的控制信號的向外部的輸出。另外,安全狀態(tài)轉(zhuǎn)移處理部116停止針對控制處理器11的內(nèi)部時鐘,將控制處理器11設(shè)為保持(hold)狀態(tài),結(jié)束圖2所示的處理。
圖3是表示步驟s103的安全功能診斷處理的處理內(nèi)容的流程圖。如果安全功能診斷處理部1142開始執(zhí)行該安全功能診斷處理,則首先進(jìn)到步驟s201,從rom讀出安全功能診斷用的輸入數(shù)據(jù)并存儲到ram。接著如果進(jìn)到步驟s202,則安全功能診斷處理部1142將該輸入數(shù)據(jù)供給到致動器控制處理部113,使其基于該輸入數(shù)據(jù)進(jìn)行運(yùn)算。接著如果進(jìn)到步驟s203,則安全功能診斷處理部1142將致動器控制處理部113的運(yùn)算結(jié)果寫入ram。接著如果進(jìn)到步驟s204,則安全功能診斷處理部1142再次從rom讀出安全功能診斷用的輸入數(shù)據(jù)并存儲到ram。接著如果進(jìn)到步驟s205,則安全功能診斷處理部1142再次將該輸入數(shù)據(jù)供給到致動器控制處理部113,使其再次基于該輸入數(shù)據(jù)進(jìn)行運(yùn)算。接著如果進(jìn)到步驟s206,則安全功能診斷處理部1142將致動器控制處理部113的運(yùn)算結(jié)果寫入ram。接著如果進(jìn)到步驟s207,則安全功能診斷處理部1142對在步驟s203中寫入到ram的運(yùn)算結(jié)果與在步驟s206中寫入到ram的運(yùn)算結(jié)果進(jìn)行比較,診斷兩者是否一致。
當(dāng)步驟s207的判斷結(jié)果為“否”時,處理進(jìn)到步驟s208。接著如果進(jìn)到步驟s208,則安全功能診斷處理部1142診斷為致動器控制處理部113為異常,結(jié)束安全功能診斷處理。
另一方面,當(dāng)步驟s207的判斷結(jié)果為“是”時,處理進(jìn)到步驟s210。接著如果進(jìn)到步驟s210,則安全功能診斷處理部1142從rom讀出安全功能診斷用的測試數(shù)據(jù),存儲到ram。接著如果進(jìn)到步驟s211,則安全功能診斷處理部1142使致動器控制處理部113基于該測試數(shù)據(jù)進(jìn)行運(yùn)算。接著如果進(jìn)到步驟s212,則安全功能診斷處理部1142將致動器控制處理部113的運(yùn)算結(jié)果寫入ram。接著如果進(jìn)到步驟s213,則安全功能診斷處理部1142從rom讀出作為基于測試數(shù)據(jù)的運(yùn)算結(jié)果的期待值的判定值。接著如果進(jìn)到步驟s214,則安全功能診斷處理部1142對在步驟s212中寫入ram的運(yùn)算結(jié)果與在步驟s213中從rom讀出的判定值進(jìn)行比較,判斷兩者是否一致。當(dāng)該步驟s214的判斷結(jié)果為“否”時,處理進(jìn)到上述步驟s208。另一方面,當(dāng)步驟s214的判斷結(jié)果為“是”時,處理進(jìn)到步驟s215。接著如果進(jìn)到步驟s215,則安全功能診斷處理部1142診斷為致動器控制處理部113為正常,結(jié)束安全功能診斷處理。
以上為圖2的步驟s103中的安全功能診斷處理的內(nèi)容。步驟s101的程序序列診斷處理也基本上與該安全功能診斷處理相同。
圖4~圖6是表示本實(shí)施方式的工作示例的時序圖。圖4表示出在上述圖2中,在程序序列診斷處理(步驟s101)及安全功能診斷處理(步驟s103)的兩個診斷中診斷為致動器控制處理部113為正常的情況的工作示例。該情況中,在控制處理器11中,如圖4所示,周期性地重復(fù)由程序序列診斷處理、安全功能診斷處理及致動器控制處理所構(gòu)成的處理。
在此,從wdt12被重置到變?yōu)槌瑫r的目標(biāo)計(jì)時時間比1個周期份的程序序列診斷處理、安全功能診斷處理及致動器控制處理的總所需時間長。因此,如果wdt12被重置,則其之后,在wdt12的計(jì)時值達(dá)到目標(biāo)計(jì)時時間之前,在程序序列診斷處理(步驟s101)及安全功能診斷處理(步驟s103)兩個診斷中診斷為致動器控制處理部113為正常,wdt12被重置。因此,不會使wdt12變?yōu)槌瑫r并切斷開關(guān)電路3。
另外,當(dāng)在程序序列診斷處理(步驟s101)及安全功能診斷處理(s103)兩個診斷中診斷為致動器控制處理部113為正常時,則診斷處理部114不輸出異常信號,安全狀態(tài)轉(zhuǎn)移處理部116不向控制信號輸出處理部115輸出停止信號。因此,控制信號輸出處理部115輸出致動器控制處理部113所生成的控制信號,開關(guān)電路3向驅(qū)動電路4供給該控制信號。
圖5表示出在上述圖2的程序序列診斷處理(步驟s101)中診斷出致動器控制處理部113的工作的異常,在時刻t1從診斷處理部114輸出異常信號(圖2的步驟s110)的工作示例。如果輸出該異常信號,則安全狀態(tài)轉(zhuǎn)移處理部116向控制信號輸出處理部115輸出停止信號。因此,如圖5所示,控制信號輸出處理部115停止輸出致動器控制處理部113所生成的控制信號。
另外,在本實(shí)施方式中,wdt12的目標(biāo)計(jì)時時間比程序序列診斷處理被重復(fù)的周期長。因此,如圖5所示,在時刻t1之后的時刻t2,wdt12的計(jì)時值達(dá)到目標(biāo)計(jì)時時間,wdt12向開關(guān)電路3輸出切斷信號。因此,開關(guān)電路3變成關(guān)斷。
通過這樣根據(jù)本實(shí)施方式,當(dāng)程序序列診斷處理部1141檢測到控制處理器11的工作異常時,在wdt12切斷開關(guān)電路3之前,安全狀態(tài)狀態(tài)轉(zhuǎn)移處理部116使利用控制信號輸出處理部115所進(jìn)行的控制信號的輸出停止。對于安全功能診斷處理部1142檢測到控制處理器11的工作異常的情況也同樣。因此,即使在例如wdt12未正常工作的情況下也能夠阻止控制處理器11的誤操作的影響涉及到作為控制對象裝置的驅(qū)動電路4及致動器5。
再有,根據(jù)本實(shí)施方式,由于從控制處理器11向主控制器2輸出異常報(bào)告信號,因此主控制器2能夠識別控制處理器11的工作異常,采取適當(dāng)?shù)膶Σ?。另外,根?jù)本實(shí)施方式,由于控制處理器11在異常診斷時使其自身轉(zhuǎn)移到保持狀態(tài),因此能夠阻止控制處理器11的工作異常的進(jìn)行,能夠避免控制處理器11陷入致命的故障。
圖6表示出在上述圖2中,程序序列診斷處理部1141開始執(zhí)行程序序列診斷處理(步驟s101)之后,發(fā)生程序序列診斷處理部1141的工作異常,未由診斷處理部114輸出重置信號,wdt12的計(jì)時值在時刻t3達(dá)到目標(biāo)計(jì)時時間的工作示例。通過這樣根據(jù)本實(shí)施方式,當(dāng)發(fā)生程序序列診斷處理部1141的工作異常時,wdt12的計(jì)時值達(dá)到目標(biāo)計(jì)時時間,利用切斷信號將開關(guān)電路3設(shè)為關(guān)斷,能夠阻止控制處理器11的誤操作的影響涉及作為控制對象裝置的驅(qū)動電路4及致動器5。對于發(fā)生安全功能診斷處理部1142的工作異常的情況也同樣。
<其他的實(shí)施方式>
以上對本發(fā)明的一個實(shí)施方式進(jìn)行了說明,但對于本發(fā)明也考慮其他的實(shí)施方式。例如如下所示。
(1)在上述實(shí)施方式中,在圖3的步驟s201~s206中,致動器控制處理部113進(jìn)行了兩次基于輸入數(shù)據(jù)的運(yùn)算,在步驟s207中程序序列診斷處理部1141對運(yùn)算結(jié)果進(jìn)行了比較,但運(yùn)算的次數(shù)不限于2次。致動器控制處理部113可以進(jìn)行3次以上運(yùn)算,程序序列診斷處理部1141可以對各個運(yùn)算的運(yùn)算結(jié)果進(jìn)行比較。越增加運(yùn)算的次數(shù)則越容易檢測控制處理器11的工作異常,但是對于控制處理器11會產(chǎn)生負(fù)擔(dān),因此根據(jù)控制處理器11的性能來適當(dāng)?shù)卮_定運(yùn)算的次數(shù)即可。
(2)在上述實(shí)施方式中,在執(zhí)行程序序列診斷處理之后執(zhí)行安全功能診斷處理,但是也可以將該順序顛倒。另外,可以在圖3的步驟s210~s214的處理之后執(zhí)行步驟s201~s207的處理。
(3)在上述實(shí)施方式中,將致動器控制處理部113的運(yùn)算結(jié)果與判定值進(jìn)行比較,但也可以通過將致動器控制處理部113的運(yùn)算的所需時間與預(yù)定的基準(zhǔn)時間進(jìn)行比較來檢測控制處理器11的工作異常。另外,例如在圖3的安全功能診斷處理中,可以對步驟s202的運(yùn)算的所需時間與步驟s205的運(yùn)算的所需時間進(jìn)行比較,當(dāng)兩個所需時間之差超過預(yù)定的閾值時診斷為致動器控制處理部113工作為異常。另外,在控制處理器11例如通過分時控制來并行地進(jìn)行多個處理的情況下,可以對各個處理進(jìn)行的順序進(jìn)行監(jiān)視,當(dāng)各個處理的順序不是預(yù)定的順序時診斷為控制處理器11的工作為異常?;蛘邔Ω鱾€處理的所需時間與預(yù)定的基準(zhǔn)時間進(jìn)行比較,當(dāng)任意的處理的所需時間與基準(zhǔn)時間之差超過預(yù)定的閾值時診斷為控制處理器11的工作為異常?;蛘卟⒂没谔幚眄樞虻呐袛嘁约盎谔幚硭钑r間的判斷來檢測控制處理器11的工作是否為異常。
(4)在上述實(shí)施方式中,如果診斷處理部114向安全狀態(tài)轉(zhuǎn)移處理部116供給異常信號,則安全狀態(tài)轉(zhuǎn)移處理部116向控制信號輸出處理部115供給停止信號,控制信號輸出處理部115停止控制信號的供給。然而,此時安全狀態(tài)轉(zhuǎn)移處理部116也可以使致動器控制處理部113進(jìn)行與安全狀態(tài)對應(yīng)的控制信號的生成,來代替向控制信號輸出處理部115供給停止信號。在此,所謂的安全狀態(tài)是與正常時相比工作范圍被限制的致動器5的驅(qū)動狀態(tài),安全狀態(tài)包括速度被限制的致動器5的驅(qū)動狀態(tài)或致動器5的停止等。再有,安全狀態(tài)轉(zhuǎn)移處理部116可以根據(jù)異常信號的內(nèi)容使致動器控制部113進(jìn)行與安全狀態(tài)對應(yīng)的控制信號的生成。為此,控制處理器11的rom或ram可以預(yù)先存儲異常信號的內(nèi)容以及與其內(nèi)容對應(yīng)的安全狀態(tài)或安全狀態(tài)的確定方法。當(dāng)診斷出控制處理器11的工作異常時,安全狀態(tài)轉(zhuǎn)移處理部116使致動器控制處理部113生成用于將致動器5設(shè)為該安全狀態(tài)的控制信號。
或者當(dāng)診斷出控制處理器11的工作異常時,安全狀態(tài)轉(zhuǎn)移處理部116可以使致動器控制處理部113生成隨著時間推移使致動器5轉(zhuǎn)移到安全狀態(tài)(例如停止?fàn)顟B(tài))的控制信號。
另外,優(yōu)選安全狀態(tài)轉(zhuǎn)移處理部116在向致動器控制處理部13發(fā)送了使其進(jìn)行與該安全狀態(tài)對應(yīng)的控制信號的生成的指示之后,等待經(jīng)過預(yù)定時間,向控制信號輸出處理部115輸出停止信號。另外,優(yōu)選在安全狀態(tài)轉(zhuǎn)移處理部116向控制信號輸出處理部115輸出停止信號為止的期間,診斷處理部114向wdt12連續(xù)地供給重置信號。由此,在預(yù)定時間的期間,向驅(qū)動電路4供給由致動器控制處理部113所生成的與安全狀態(tài)對應(yīng)的控制信號,控制致動器5。該預(yù)定時間可以是預(yù)先設(shè)定的一定時間,也可以根據(jù)控制處理器11的異常檢測時的致動器5的工作速度等來確定。根據(jù)該實(shí)施方式,能夠防止由于致動器5的突然停止引起的事故。
(5)在上述實(shí)施方式中,通過利用按照程序序列診斷處理、安全功能診斷處理、致動器控制處理的任務(wù)單位的分時控制,并行地進(jìn)行程序序列診斷處理、安全功能診斷處理、致動器控制處理,從而與由控制處理器11進(jìn)行的控制信號的生成并行地實(shí)施了控制處理器11的診斷。然而,也可以利用按照比任務(wù)單位更小的時間單位的分時控制來并行地進(jìn)行程序序列診斷處理、安全功能診斷處理、致動器控制處理。
圖7是表示程序序列診斷處理、安全功能診斷處理、致動器控制處理的分時控制的實(shí)施方式的時序圖。在該例子中,時間軸被分割為具有一定時間長度的多個時隙。在圖7所示的例子中,在多個時隙c之間夾著時隙a或b??刂铺幚砥?1利用離散的多個時隙來執(zhí)行致動器控制處理。另外,控制處理器11在利用預(yù)定個數(shù)的時隙a執(zhí)行了程序序列診斷處理之后,利用預(yù)定個數(shù)的時隙b執(zhí)行安全功能診斷處理,當(dāng)在兩個診斷處理中診斷為控制處理器的工作為正常時周期性地重復(fù)向wdt12輸出重置信號的操作。根據(jù)該實(shí)施方式,能夠縮短多個致動器控制處理間的時間間隔。因此,對于1個周期份的程序序列診斷處理及安全功能診斷處理的所需時間較長的情況有效。
(6)本發(fā)明對于以具有多個cpu核心的多核cpu為控制處理器11的驅(qū)動控制裝置也顯然能夠適用。在該情況中,例如可以通過使多個cpu核心執(zhí)行致動器控制處理,比較各個cpu核心的運(yùn)算結(jié)果,從而診斷有無cpu核心的工作異常。該情況中,周期性地確認(rèn)是否檢測出各個cpu核心的工作的異常,當(dāng)未檢測出異常時向wdt12輸出重置信號,當(dāng)檢測出異常時使控制處理器11轉(zhuǎn)移到安全狀態(tài)即可。
(7)在上述實(shí)施方式中,利用軟件實(shí)現(xiàn)用于診斷控制處理器11的工作的診斷處理部114,但也可以利用硬件來實(shí)現(xiàn)診斷處理部114。
符號說明
1驅(qū)動控制裝置;2主控制器;3開關(guān)電路;4驅(qū)動電路;5致動器;11控制處理器;12wdt;111通信處理部;112指令輸入處理部;113致動器控制處理部;114診斷處理部;115控制信號輸出處理部;116安全狀態(tài)轉(zhuǎn)移處理部;1141程序序列診斷處理部;1142安全功能診斷處理部。