戴志威 王洋 吳洪玲
摘? 要:隨著工業(yè)控制計算機在工業(yè)生產(chǎn)控制領域應用越來越廣,而且常工作在無人值守或條件惡劣的工作場合,要求具有抗震、防塵、防潮、防電磁干擾等特點,工業(yè)控制計算機受輸入電源不穩(wěn)定性干擾,容易出現(xiàn)掉電后無法自動開機的現(xiàn)象。文章提出一種工業(yè)控制計算機掉電自恢復運行方法,通過硬件設計、軟件復位等流程設計,解決當前工業(yè)控制計算機掉電無法自動開機運行以及維護效率低下等問題。
關鍵詞:工業(yè)監(jiān)控系統(tǒng);主板;基板管理控制器;復位信號;RC復位電路
中圖分類號:TP311.52;TP273? ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)09-0138-04
The Method of Power-Off Self Recovery Operation of IPC
DAI Zhiwei1,WANG Yang2,WU Hongling1
(1.Nanning Yanxiang Special Computer Software Co.,Ltd.,Nanning? 530031,China;
2.Shenzhen Polytechnic,Shenzhen? 518055,China)
Abstract:With the widely application of IPC in the field of industrial production,and often work in unattended or poor working conditions,which requires seismic,dust,moisture,electromagnetic interference and other characteristics,IPC disturbed by the instability of input power supply,and its easy to fail to start automatically after power failure. In this paper,a method of power-off self recovery operation of industrial control computer is proposed. Through the design of hardware connection,software reset signal,the current problems of power-off failure of industrial control computer and low maintenance efficiency are solved.
Keywords:industrial monitoring system;motherboard;BMC;reset signal;RC reset circuit
0? 引? 言
基于裝備制造業(yè)轉(zhuǎn)型升級,設備可靠性運行及使用率的提高將更能讓制造商體會到智能制造的優(yōu)勢[1]。在實際工業(yè)生產(chǎn)應用中,工業(yè)自動化設備一般都內(nèi)置了控制機械或智能化外設的工業(yè)計算機,并且安裝在作業(yè)現(xiàn)場。而作業(yè)現(xiàn)場使用了很多的高功率設備,這些高功率設備的工作時間非常不確定,可能出現(xiàn)一臺設備加工完畢后暫停,另一臺設備需要連續(xù)工作,當設備出現(xiàn)反復啟停的時候,工業(yè)計算機的輸入電源在某種情況下出現(xiàn)擾動,導致工業(yè)計算機主板掉電后無法開機。當這類異常出現(xiàn)后,傳統(tǒng)做法是通過人工干預進行開機,目前缺少一種有效的追蹤異常的方法,無法找到出現(xiàn)異常的本質(zhì)原因。當現(xiàn)場設備數(shù)量比較多的時候,無疑會給生產(chǎn)管理人員帶來問題,最終造成生產(chǎn)產(chǎn)能、生產(chǎn)效率大幅降低,人力成本及維護成本增加。
基于此,南寧市研祥特種計算機軟件有限公司與深圳市職業(yè)技術學院共同開展了工業(yè)控制計算機可靠性關鍵技術研究,提出一種工業(yè)自動化設備監(jiān)控系統(tǒng)可靠性管理方法和裝置,通過硬件連接、軟件復位信號、消息處理等流程設計,解決當前工業(yè)控制計算機掉電無法自動開機運行以及監(jiān)控系統(tǒng)硬件昂貴、維護效率低下、人力成本高等問題[2]。
1? 硬件設計
在硬件層面主要設計了主板和微控制器,如圖1所示。其中,主板由CPU、PCH、SIO和溫度傳感器構成。微控制器作為一個主處理單元,獨立于主板運行,通過和主板上的擴展接口如SIO、PCH上的信號線I2C、SMBus1進行連接,且連接有PCH的RESET引腳、Reload Default引腳、PLT_RST引腳,并與主板的模擬輸出信號引腳AIN1、AIN2、AIN3相連。相關術語解釋如表1所示。
根據(jù)實際要求,給主板工作模式定義了三個狀態(tài),即欠電壓狀態(tài)、初始化狀態(tài)、正常狀態(tài)。主板正常啟動后,默認進入到正常狀態(tài);當外部電壓出現(xiàn)掉電等異常事件后產(chǎn)生中斷,進入中斷服務程序,切換當前的狀態(tài)為欠電壓狀態(tài),進行監(jiān)控處理;監(jiān)控處理完畢后,將當前的狀態(tài)切換為初始化狀態(tài),然后恢復異常前的環(huán)境變量,隨后再切換到正常狀態(tài),按照上述切換邏輯進行狀態(tài)切換,確保主板的正常運行。
微控制器可根據(jù)需要設置不同的掉電電壓閾值,如4.5 V、3.7 V和3.0 V,構成一個個電壓檔。當電壓掉到其中任意一個檔,會自動產(chǎn)生一個中斷,這時程序?qū)⑻霎斍皥?zhí)行的任務,轉(zhuǎn)而執(zhí)行低電壓檢測主板的工作狀態(tài)。如果此次電壓異常事件導致了主板掉電且沒有正常開機,那么該微控制器將會采取三種方式:第一,給PCH的RESET信號輸出一次低脈沖;第二,給Power Button信號輸出一次低脈沖;第三,給清CMOS信號輸出一個低脈沖,從而保證主板可以正常開機[3]。
2? 軟件復位方法設計
在軟件層面主要設計了掉電檢測模塊、判斷模塊和切換模塊[4]。其中掉電檢測模塊,用于檢測到外部中斷信號以及工業(yè)自動化設備的主板處于欠電壓狀態(tài);判斷模塊,用于判斷PLT_RST是否為低電平;切換模塊,用于在設置CMOS信號為高電平后,或用于檢測到工業(yè)自動化設備的主板處于欠電壓狀態(tài)即判斷PLT_RST不為低電平時,切換主板的工作模式為初始化狀態(tài),以及在主板進行初始化后再切換主板的工作模式為正常狀態(tài)。
2.1? 主板掉電自恢復運行檢測實現(xiàn)方法
微控制器能夠自動偵測主板的當前運行狀態(tài),通過設置好的流程邏輯達到控制主板自主運行能力的目的[5]。如圖2所示,主要執(zhí)行步驟如下:
第一步,掉電檢測模塊檢測到外部中斷信號以及工業(yè)設備的主板處于欠電壓狀態(tài)[6]。
第二步,判斷模塊判斷PLT_RST是否為低電平,若是,則延時第一預設時間。
第三步,再次判斷PLT_RST是否為低電平,若是,則輸出Power Button為低電平,并延時第二預設時間后設置Power Button為高電平;若否,則輸出RESET為低電平,并延時第三預設時間后設置RESET為高電平。若檢測到工業(yè)自動化設備的主板處于欠電壓狀態(tài),判斷PLT_RST不為低電平時,切換模塊切換主板的工作模式為初始化狀態(tài),將主板進行初始化,再切換主板的工作模式為正常狀態(tài)。
第四步,設置Power Button或RESET為高電平后,延時第四預設時間。
第五步,再判斷PLT_RST是否為低電平,若是,則輸出清CMOS信號為低電平,并延時第五預設時間,設置CMOS信號為高電平,再由切換模塊切換主板的工作模式為初始化狀態(tài),將主板進行初始化,再切換主板的工作模式為正常狀態(tài);若否,則直接切換主板的工作模式為初始化狀態(tài),將主板進行初始化,再切換主板的工作模式為正常狀態(tài)。
其中預設的時間可根據(jù)需要設定,并通過開啟定時器進行計時。第一/四預設時間可設定為2.0 s或5.0 s等,第二/三/五預設時間可設定為0.4 s、0.5 s、1.0 s等。
2.2? 主板對接收的消息進行校驗和處理
如圖3所示,當主板的工作模式為正常狀態(tài)時,對接收的消息進行校驗,然后處理接收的消息。其中,消息通訊的協(xié)議包括消息頭、長度、命令、操作碼、數(shù)據(jù)字段、校驗碼等。消息頭可為固定的字符,如“s”“t”。長度是指長度字段,最大為255。命令為與上位機之間進行通訊的命令碼;數(shù)據(jù)字段為對應的每個命令所需要的數(shù)據(jù)字段。校驗碼由長度、命令碼、操作碼、數(shù)據(jù)字段累加所得。例如,上位機通過CMD_GET_TEMP_VAL可以獲取系統(tǒng)溫度、CPU溫度等。上位機發(fā)送獲取溫度命令請求‘s' - 't' - 0x03 - 0x03 - 0x00 - 0x00 – CheckSum。微控制器對上位機響應命令:‘s' - 't' - 0x12 - 0x03 - 0x00 -data[0..15] – CheckSum。
具體執(zhí)行步驟如下:
第一步,將消息字段校驗序號初始化為零。
第二步,判斷串口是否接收到消息,若是,分別檢測校驗序號為0、1、2、3、4、5的消息字段,然后再分別判斷消息字段校驗序號0、1、2、3、4所對應的字節(jié)是否為第一預設頭字節(jié)、字節(jié)是否為第二預設頭字節(jié)、字節(jié)是否為有效長度、字節(jié)是否為有效的命令、字節(jié)是否為有效操作碼。若是,則將消息字段校驗序號加1,返回到判斷串口是否接收到消息的步驟;否則,重新將消息字段校驗序號置0,返回到判斷串口是否接收到消息的步驟。若檢測的消息字段校驗序號為5,則判斷消息字段校驗序號為5對應的字節(jié)所表示的數(shù)據(jù)字段是否大于預設值,若是,進一步判斷接收數(shù)據(jù)是否完畢,若接收完畢,則將消息字段校驗序號加1返回到判斷串口是否接收到消息的步驟;若未接收完畢,返回到判斷串口是否接收到消息的步驟。
第三步,若判斷消息字段校驗序號為5所對應的字節(jié)所表示的數(shù)據(jù)字段小于或等于預設值時,則判斷校驗和是否正確,若是,執(zhí)行該消息,執(zhí)行完后將消息字段校驗序號置0;否則,將消息字段校驗序號置0,然后結束。
2.3? 對外部輸入信號接收并處理
對外部輸入信號進行處理,實現(xiàn)按鍵被觸發(fā)時間長短產(chǎn)生不同的命令。具體執(zhí)行步驟如圖4所示:
第一步,接收外部輸入信號。初始化外部中斷引腳下降沿觸發(fā),且中斷標志位為0。FP_RST為外部輸入信號,具有兩個功能:一是負責復位主板,二是負責清除CMOS參數(shù)為默認值。兩個功能的執(zhí)行是通過被按下的時間長度決定的。例如設置按下FP_RST后,主板可能會復位,連續(xù)按下超過指定時間,則會執(zhí)行清除CMOS的動作。
第二步,判斷接收外部輸入信號(FP_RST)所產(chǎn)生的中斷標志位是否為0,若是,則清除中斷標志位,將外部中斷管腳設置為上升沿觸發(fā),輸出復位信號為低電平,然后設置中斷標志位為1,且維持復位信號為低電平超過指定時間,再設置清除CMOS信號為低電平[7,8],指定時間為被設置按下后執(zhí)行清除CMOS動作的時間,如4.0 s;否則,清除中斷標志位,將外部中斷管腳設置為下降沿觸發(fā),輸出復位信號為高電平,延時第六預設時間,再設置清除CMOS信號為高電平。
3? 結? 論
本文研究的工業(yè)控制計算機掉電自恢復運行方法,還可應用于BIOS運行階段,檢測到BIOS沒有運行完畢,則記錄事件日志,并進行欠電壓狀態(tài)處理;也可應用于操作系統(tǒng)運行階段,在操作系統(tǒng)運行階段,在上位機上安裝一個應用程序,并通過該應用程序發(fā)送心跳報文,若主板在規(guī)定的時間內(nèi)沒有接收到心跳報文,則認為操作系統(tǒng)出現(xiàn)異常,將操作系統(tǒng)進行復位。通過硬件邏輯來捕獲該掉電異常,然后觸發(fā)主板的中斷,進入到欠電壓模式,處理異常狀態(tài),實現(xiàn)了基板管理控制器的部分控制功能,可以監(jiān)控主板的狀態(tài),保證主板異?;謴?,提升自主運行能力;支持對主板的固件升級達到柔性擴展功能,且通用性強;通過延時預設時間為主板進行緩沖和響應提供足夠時間,確保檢測的準確性。
參考文獻:
[1] 吳占軍.工業(yè)設備遠程監(jiān)控系統(tǒng)關鍵技術 [J].電子世界,2018(18):202+204.
[2] 張光.基于物聯(lián)網(wǎng)與計算機技術的工業(yè)設備監(jiān)控系統(tǒng) [J].計算機與數(shù)字工程,2016,44(10):1944-1947+1956.
[3] 楊帆.系統(tǒng)控制單元及自動化復位技術的設計與驗證 [D].西安:西安電子科技大學,2014.
[4] 高希棟.一種智能電能表掉電檢測模塊的電路設計 [J].機電信息,2018(15):141+143.
[5] 劉云翔,姚文斌.一種智能工業(yè)設備報修方法及系統(tǒng) [J].現(xiàn)代電子技術,2018,41(10):157-160.
[6] 馬陸玲.主板掉電時自動恢復CMOS的方法 [J].實驗技術與管理,2001(1):78.
[7] 楊鈞,余章平.直流開關電源欠壓保護電路 [J].電源世界,2006(6):12-13+42.
[8] 孫華,陳宇,任廣軍,等.開關電源瞬態(tài)掉電恢復報故障分析 [J].硅谷,2011(12):185.
作者簡介:戴志威(1992—),男,漢族,湖南婁底人,工程師,碩士,主要研究方向:計算機應用。