本發(fā)明涉及裝置故障診斷系統(tǒng)領(lǐng)域,具體涉及一種工業(yè)控制器故障診斷系統(tǒng)。
背景技術(shù):
1、隨著工業(yè)系統(tǒng)規(guī)模日趨龐大,對(duì)控制器的功能與性能提出了越來(lái)越高的要求,這直接導(dǎo)致控制器的軟硬件也愈發(fā)復(fù)雜,復(fù)雜的軟硬件系統(tǒng)在帶來(lái)豐富功能與強(qiáng)大性能的同時(shí),也在一定程度上增加了控制器發(fā)生故障的概率,同時(shí)也給故障排查帶來(lái)了極大的困難。工業(yè)控制系統(tǒng)作為工業(yè)控制系統(tǒng)的大腦,負(fù)責(zé)整個(gè)控制系統(tǒng)信號(hào)的匯聚運(yùn)算以及輸出,其穩(wěn)定性可靠性直接關(guān)乎整個(gè)工業(yè)生產(chǎn)過(guò)程的安全,因此關(guān)于控制器故障診斷的研究具有重要意義。目前工業(yè)故障診斷方面的研究主要還是集中在整個(gè)工業(yè)生產(chǎn)系統(tǒng)中,而控制器本身的故障診斷與可靠性的保證主要還是依賴于研發(fā)過(guò)程的質(zhì)量管控。
技術(shù)實(shí)現(xiàn)思路
1、發(fā)明目的:本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種工業(yè)控制器故障診斷系統(tǒng)。用于監(jiān)視控制器狀態(tài)及快速定位控制器問(wèn)題。
2、所述系統(tǒng)包括監(jiān)視系統(tǒng)和工業(yè)控制系統(tǒng);所述監(jiān)視系統(tǒng)和工業(yè)控制系統(tǒng)之間通過(guò)冗余以太網(wǎng)鏈路進(jìn)行連接;
3、所述工業(yè)控制系統(tǒng)用于將控制器運(yùn)行狀態(tài)信息通過(guò)冗余以太網(wǎng)鏈路推送到監(jiān)視系統(tǒng);
4、所述監(jiān)視系統(tǒng)對(duì)收到的控制器運(yùn)行狀態(tài)信息進(jìn)行分析處理、展示記錄,并對(duì)異常數(shù)據(jù)進(jìn)行告警提示。
5、所述控制器運(yùn)行狀態(tài)信息包括網(wǎng)絡(luò)狀態(tài)、網(wǎng)絡(luò)負(fù)荷、cpu負(fù)荷、內(nèi)存負(fù)荷、背板總線狀態(tài)和控制器冗余狀態(tài),通過(guò)讀取網(wǎng)卡中相應(yīng)寄存器收集網(wǎng)絡(luò)負(fù)荷,利用操作系統(tǒng)提供的接口獲取cpu和內(nèi)存負(fù)荷,由can?bus驅(qū)動(dòng)程序探測(cè)背板總線狀態(tài)。
6、所述工業(yè)控制系統(tǒng)包括兩個(gè)冗余控制器模塊、io模塊和背板總線,所述冗余控制器模塊和io模塊通過(guò)背板總線進(jìn)行通訊。
7、所述兩個(gè)冗余控制器模塊包括主控制器和從控制器,如果主控制器異常,從控制器會(huì)繼續(xù)進(jìn)行控制器的運(yùn)行狀態(tài)信息的收集上報(bào),同時(shí)將主控制器的異常狀態(tài)上報(bào)給監(jiān)視系統(tǒng)。
8、所述監(jiān)視系統(tǒng)包括數(shù)據(jù)采集模塊、數(shù)據(jù)分析模塊、數(shù)據(jù)展示模塊和數(shù)據(jù)記錄模塊;
9、所述數(shù)據(jù)采集模塊基于冗余以太網(wǎng)接口接收工業(yè)控制系統(tǒng)推送上來(lái)的數(shù)據(jù);
10、所述數(shù)據(jù)分析模塊負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行分析處理和故障判別;
11、所述數(shù)據(jù)展示模塊將分析處理完成的數(shù)據(jù)展示在計(jì)算機(jī)畫(huà)面中,對(duì)異常數(shù)據(jù)給出告警提示;
12、所述數(shù)據(jù)記錄模塊將需要記錄的數(shù)據(jù)存儲(chǔ)到本地計(jì)算機(jī)的磁盤(pán)中。
13、所述冗余以太網(wǎng)鏈路為雙環(huán)形冗余以太網(wǎng)鏈路,監(jiān)視系統(tǒng)通過(guò)兩根6類屏蔽雙絞線連接到環(huán)形冗余鏈路中的交換機(jī)上,控制器系統(tǒng)中的兩個(gè)互為冗余的控制器模塊通過(guò)四根6類屏蔽雙絞線連接到環(huán)形冗余鏈路中的交換機(jī)上;所述環(huán)形冗余以太網(wǎng)鏈路包括一個(gè)專用交換機(jī)和兩個(gè)以上普通交換機(jī)構(gòu)成,所述專用交換機(jī)中包含一個(gè)cpu和一個(gè)交換核心,cpu負(fù)責(zé)環(huán)網(wǎng)檢測(cè)功能,交換核心負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā);正常運(yùn)行時(shí),交換核心其中一個(gè)端口是關(guān)閉的;cpu有兩個(gè)網(wǎng)口,cpu周期性地從其中一個(gè)網(wǎng)口發(fā)送帶有cpu唯一id的以太網(wǎng)報(bào)文,從另一個(gè)網(wǎng)口接收以太網(wǎng)報(bào)文,如果未接收到報(bào)文或者報(bào)文中的id不一致則判定網(wǎng)絡(luò)故障,立即控制交換核心開(kāi)啟另一個(gè)端口,恢復(fù)正常通信。
14、所述網(wǎng)絡(luò)負(fù)荷包括單播、組播和廣播;所述網(wǎng)絡(luò)負(fù)荷由8個(gè)64位數(shù)據(jù)組成,每個(gè)網(wǎng)口占兩個(gè)64位數(shù)據(jù),分別表示輸入輸出流量,網(wǎng)絡(luò)負(fù)荷分為三種狀態(tài):常規(guī)工況、調(diào)試工況、異常工況;所述常規(guī)工況指的是控制器編程完成投入生產(chǎn)后的正常運(yùn)行工況,調(diào)試工況指的是工程師正在對(duì)控制器進(jìn)行組態(tài)編程,異常工況指的是控制器流量明顯超出正常范圍,具體范圍由特定控制器型號(hào)決定;
15、所述網(wǎng)絡(luò)狀態(tài)由四個(gè)字節(jié)組成,四個(gè)字節(jié)分別指示四個(gè)網(wǎng)口狀態(tài),每個(gè)字節(jié)的最高位表示網(wǎng)口當(dāng)前狀態(tài),0表示正常,1表示異常,低七位表示每分鐘網(wǎng)口狀態(tài)切換次數(shù),其中網(wǎng)口每分鐘網(wǎng)絡(luò)狀態(tài)切換次數(shù)的合理性判定依據(jù)如下:0次為正常,1~3次為檢修狀態(tài),大于3次為網(wǎng)絡(luò)異常。數(shù)據(jù)處理模塊依據(jù)所述合理性判定依據(jù)對(duì)上傳的網(wǎng)口狀態(tài)數(shù)據(jù)進(jìn)行處理并給出狀態(tài)指示。
16、所述cpu負(fù)荷支持對(duì)具體cpu核、具體進(jìn)程進(jìn)行獨(dú)立監(jiān)控;所述cpu負(fù)荷由一個(gè)變長(zhǎng)數(shù)據(jù)包決定,數(shù)據(jù)包長(zhǎng)度取決于cpu核心數(shù)和進(jìn)程數(shù),每個(gè)數(shù)據(jù)包分為兩個(gè)以上子數(shù)據(jù)包,每個(gè)子數(shù)據(jù)包包含類型、線程名稱、所在cpu核心、負(fù)荷三個(gè)字段,包類型占1個(gè)字節(jié),線程名稱占10個(gè)字節(jié),cpu核心占1個(gè)字節(jié),負(fù)荷占1個(gè)字節(jié),包類型分為cpu包和線程包,cpu包不含線程名稱字段;數(shù)據(jù)處理過(guò)程中首先根據(jù)數(shù)據(jù)包格式提取各個(gè)字段,解析出各個(gè)cpu總負(fù)荷及線程負(fù)荷并進(jìn)行運(yùn)算,判斷各個(gè)線程負(fù)荷累加之和是否等于cpu總負(fù)荷,然后再逐個(gè)判斷各個(gè)線程負(fù)荷是否異常,在常見(jiàn)工況下要求系統(tǒng)單核心運(yùn)算負(fù)荷低于20%,在一些數(shù)據(jù)同步要求較高的運(yùn)動(dòng)控制系統(tǒng)中可能會(huì)占用70%以上負(fù)荷,具體異常閾值取決于特定應(yīng)用場(chǎng)景,可以通過(guò)監(jiān)視系統(tǒng)界面設(shè)置。
17、所述內(nèi)存負(fù)荷支持對(duì)單獨(dú)進(jìn)程資源占用進(jìn)行獨(dú)立監(jiān)控;所述內(nèi)存負(fù)荷由一個(gè)變長(zhǎng)數(shù)據(jù)包決定,數(shù)據(jù)包長(zhǎng)度取決于進(jìn)程數(shù),每個(gè)數(shù)據(jù)包包含一個(gè)總包頭和兩個(gè)以上子數(shù)據(jù)包,包頭包含總內(nèi)存大小及總內(nèi)存消耗,每個(gè)子數(shù)據(jù)包包含包線程名稱、內(nèi)存負(fù)荷兩個(gè)字段,線程名稱占10個(gè)字節(jié),負(fù)荷占4個(gè)字節(jié);數(shù)據(jù)處理過(guò)程中首先根據(jù)數(shù)據(jù)包格式提取各個(gè)字段,解析出各個(gè)內(nèi)存總負(fù)荷及線程負(fù)荷并進(jìn)行運(yùn)算,判斷各個(gè)線程內(nèi)存負(fù)荷累加之和是否等于內(nèi)存總負(fù)荷,然后再逐個(gè)判斷各個(gè)線程內(nèi)存負(fù)荷是否異常,在不集成opc?ua、profinet主站、dds等內(nèi)存占用較大的第三方組件的情況下,常規(guī)工業(yè)控制器應(yīng)用所占用內(nèi)存一般不高于50mb,具體異常閾值取決于特定應(yīng)用場(chǎng)景,可以通過(guò)監(jiān)視系統(tǒng)界面設(shè)置。
18、通過(guò)采用上述技術(shù)方案,本發(fā)明取得的有益效果是:
19、通過(guò)冗余控制器以及冗余以太網(wǎng)鏈路,故障診斷信息可以得到可靠采集與傳輸,極大地降低了因診斷信息的丟失而診斷失效的概率,基于工業(yè)控制系統(tǒng)的工作場(chǎng)景特點(diǎn)選取相應(yīng)診斷信息,基本覆蓋常見(jiàn)的故障點(diǎn),使得故障診斷更具針對(duì)性,減少了故障診斷的時(shí)間,提升了故障診斷的效率。
1.一種工業(yè)控制器故障診斷系統(tǒng),其特征在于,包括監(jiān)視系統(tǒng)和工業(yè)控制系統(tǒng);所述監(jiān)視系統(tǒng)和工業(yè)控制系統(tǒng)之間通過(guò)冗余以太網(wǎng)鏈路進(jìn)行連接;
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述控制器運(yùn)行狀態(tài)信息包括網(wǎng)絡(luò)狀態(tài)、網(wǎng)絡(luò)負(fù)荷、cpu負(fù)荷、內(nèi)存負(fù)荷、背板總線狀態(tài)和控制器冗余狀態(tài),通過(guò)讀取網(wǎng)卡中相應(yīng)寄存器收集網(wǎng)絡(luò)負(fù)荷,利用操作系統(tǒng)提供的接口獲取cpu和內(nèi)存負(fù)荷,由can?bus驅(qū)動(dòng)程序探測(cè)背板總線狀態(tài)。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述工業(yè)控制系統(tǒng)包括兩個(gè)冗余控制器模塊、io模塊和背板總線,所述冗余控制器模塊和io模塊通過(guò)背板總線進(jìn)行通訊。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述兩個(gè)冗余控制器模塊包括主控制器和從控制器,如果主控制器異常,從控制器會(huì)繼續(xù)進(jìn)行控制器的運(yùn)行狀態(tài)信息的收集上報(bào),同時(shí)將主控制器的異常狀態(tài)上報(bào)給監(jiān)視系統(tǒng)。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述監(jiān)視系統(tǒng)包括數(shù)據(jù)采集模塊、數(shù)據(jù)分析模塊、數(shù)據(jù)展示模塊和數(shù)據(jù)記錄模塊;
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述冗余以太網(wǎng)鏈路為雙環(huán)形冗余以太網(wǎng)鏈路,監(jiān)視系統(tǒng)通過(guò)兩根6類屏蔽雙絞線連接到環(huán)形冗余鏈路中的交換機(jī)上,控制器系統(tǒng)中的兩個(gè)互為冗余的控制器模塊通過(guò)四根6類屏蔽雙絞線連接到環(huán)形冗余鏈路中的交換機(jī)上;所述環(huán)形冗余以太網(wǎng)鏈路包括一個(gè)專用交換機(jī)和兩個(gè)以上普通交換機(jī)構(gòu)成,所述專用交換機(jī)中包含一個(gè)cpu和一個(gè)交換核心,cpu負(fù)責(zé)環(huán)網(wǎng)檢測(cè)功能,交換核心負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā);正常運(yùn)行時(shí),交換核心其中一個(gè)端口是關(guān)閉的;cpu有兩個(gè)網(wǎng)口,cpu周期性地從其中一個(gè)網(wǎng)口發(fā)送帶有cpu唯一id的以太網(wǎng)報(bào)文,從另一個(gè)網(wǎng)口接收以太網(wǎng)報(bào)文,如果未接收到報(bào)文或者報(bào)文中的id不一致則判定網(wǎng)絡(luò)故障,立即控制交換核心開(kāi)啟另一個(gè)端口,恢復(fù)正常通信。
7.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)負(fù)荷包括單播、組播和廣播;所述網(wǎng)絡(luò)負(fù)荷由8個(gè)64位數(shù)據(jù)組成,每個(gè)網(wǎng)口占兩個(gè)64位數(shù)據(jù),分別表示輸入輸出流量,網(wǎng)絡(luò)負(fù)荷分為三種狀態(tài):常規(guī)工況、調(diào)試工況、異常工況;所述常規(guī)工況指的是控制器編程完成投入生產(chǎn)后的正常運(yùn)行工況,調(diào)試工況指的是工程師正在對(duì)控制器進(jìn)行組態(tài)編程,異常工況指的是控制器流量明顯超出正常范圍,具體范圍由特定控制器型號(hào)決定。
8.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)狀態(tài)由四個(gè)字節(jié)組成,四個(gè)字節(jié)分別指示四個(gè)網(wǎng)口狀態(tài),每個(gè)字節(jié)的最高位表示網(wǎng)口當(dāng)前狀態(tài),0表示正常,1表示異常,低七位表示每分鐘網(wǎng)口狀態(tài)切換次數(shù),其中網(wǎng)口每分鐘網(wǎng)絡(luò)狀態(tài)切換次數(shù)的合理性判定依據(jù)如下:0次為正常,1~3次為檢修狀態(tài),大于3次為網(wǎng)絡(luò)異常;數(shù)據(jù)處理模塊依據(jù)所述合理性判定依據(jù)對(duì)上傳的網(wǎng)口狀態(tài)數(shù)據(jù)進(jìn)行處理并給出狀態(tài)指示。
9.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述cpu負(fù)荷支持對(duì)具體cpu核、具體進(jìn)程進(jìn)行獨(dú)立監(jiān)控;所述cpu負(fù)荷由一個(gè)變長(zhǎng)數(shù)據(jù)包決定,數(shù)據(jù)包長(zhǎng)度取決于cpu核心數(shù)和進(jìn)程數(shù),每個(gè)數(shù)據(jù)包分為兩個(gè)以上子數(shù)據(jù)包,每個(gè)子數(shù)據(jù)包包含類型、線程名稱、所在cpu核心、負(fù)荷三個(gè)字段,包類型占1個(gè)字節(jié),線程名稱占10個(gè)字節(jié),cpu核心占1個(gè)字節(jié),負(fù)荷占1個(gè)字節(jié),包類型分為cpu包和線程包,cpu包不含線程名稱字段;數(shù)據(jù)處理過(guò)程中首先根據(jù)數(shù)據(jù)包格式提取各個(gè)字段,解析出各個(gè)cpu總負(fù)荷及線程負(fù)荷并進(jìn)行運(yùn)算,判斷各個(gè)線程負(fù)荷累加之和是否等于cpu總負(fù)荷,然后再逐個(gè)判斷各個(gè)線程負(fù)荷是否異常。
10.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述內(nèi)存負(fù)荷支持對(duì)單獨(dú)進(jìn)程資源占用進(jìn)行獨(dú)立監(jiān)控;所述內(nèi)存負(fù)荷由一個(gè)變長(zhǎng)數(shù)據(jù)包決定,數(shù)據(jù)包長(zhǎng)度取決于進(jìn)程數(shù),每個(gè)數(shù)據(jù)包包含一個(gè)總包頭和兩個(gè)以上子數(shù)據(jù)包,包頭包含總內(nèi)存大小及總內(nèi)存消耗,每個(gè)子數(shù)據(jù)包包含包線程名稱、內(nèi)存負(fù)荷兩個(gè)字段,線程名稱占10個(gè)字節(jié),負(fù)荷占4個(gè)字節(jié);數(shù)據(jù)處理過(guò)程中首先根據(jù)數(shù)據(jù)包格式提取各個(gè)字段,解析出各個(gè)內(nèi)存