述第一控制器可以檢測(cè)主控制器的工作狀態(tài)是否正常,即在預(yù)定時(shí)間內(nèi)如果檢測(cè)到主控制器的生命信號(hào),則證明主控制器的工作狀態(tài)正常,同時(shí),上述第一控制器還檢測(cè)上述主控制器向系統(tǒng)總線發(fā)送的記錄數(shù)據(jù)是否為正常數(shù)據(jù),即主控制器向系統(tǒng)總線發(fā)送的記錄數(shù)據(jù)的小于預(yù)設(shè)的第一閾值的情況下,說明該記錄數(shù)據(jù)為有效數(shù)據(jù),否則為無效數(shù)據(jù),只有判斷上述主控制器的工作狀態(tài)正常、發(fā)送的記錄數(shù)據(jù)有效的情況下,上述第一控制器才允許從系統(tǒng)總線中讀取的記錄數(shù)據(jù)參加比對(duì),從而選出運(yùn)行程序的初始值。可選的,在上述主控制器工作狀態(tài)異?;虬l(fā)送數(shù)據(jù)無效的情況下,在本方案中,上述第一控制器可以發(fā)出提示信息或報(bào)警信息以提醒工作人員注意上述主控制器發(fā)生了故障。
[0035]可選的,在步驟S106,在任意一個(gè)或多個(gè)控制器獲取記錄數(shù)據(jù)集合中數(shù)值最大的記錄數(shù)據(jù)之后,本實(shí)施例提供的方法還可以包括:
[0036]步驟S107,運(yùn)行程序,生成結(jié)果數(shù)據(jù)。
[0037]步驟S108,將結(jié)果數(shù)據(jù)發(fā)送至系統(tǒng)總線。
[0038]具體的,在本方案中,每個(gè)控制器通過同步的方式使得與其他控制器中的初始值相同后,則運(yùn)行程序,并將結(jié)果數(shù)據(jù)發(fā)送至系統(tǒng)總線,此時(shí)列車網(wǎng)絡(luò)控制系統(tǒng)中的每個(gè)控制器向系統(tǒng)總線發(fā)送的結(jié)果數(shù)據(jù)為相同的。
[0039]可選的,在本方案中,上述數(shù)據(jù)累計(jì)記錄程序可以為執(zhí)行數(shù)據(jù)累計(jì)記錄功能的程序。
[0040]步驟S106,從記錄數(shù)據(jù)集合中獲取數(shù)值最大的記錄數(shù)據(jù),并將數(shù)值最大的記錄數(shù)據(jù)作為運(yùn)行程序的初始值的步驟可以包括:
[0041]步驟S1061,將記錄數(shù)據(jù)集合的多個(gè)記錄數(shù)據(jù)進(jìn)行對(duì)比,獲得數(shù)值最大的記錄數(shù)據(jù)。
[0042]步驟S1062,將數(shù)值最大的記錄數(shù)據(jù)作為運(yùn)行數(shù)據(jù)累計(jì)記錄程序的初始值。
[0043]這里需要說明的是,在本方案中,數(shù)據(jù)累計(jì)記錄程序只是一個(gè)優(yōu)選的實(shí)施例,上述一個(gè)或多個(gè)控制器也可以運(yùn)行其他多種程序。
[0044]可選的,上述記錄數(shù)據(jù)包含多個(gè)數(shù)據(jù)類型,每個(gè)數(shù)據(jù)類型對(duì)應(yīng)一個(gè)記錄數(shù)據(jù)集合,步驟S106,從記錄數(shù)據(jù)集合中獲取數(shù)值最大的記錄數(shù)據(jù),并將數(shù)值最大的記錄數(shù)據(jù)作為運(yùn)行程序的初始值的步驟還可以包括:
[0045]步驟S1063,獲取第一數(shù)據(jù)類型對(duì)應(yīng)的記錄數(shù)據(jù)集合。
[0046]具體的,在本方案中,上述記錄數(shù)據(jù)可以包含如下一種或多種數(shù)據(jù)類型:運(yùn)行數(shù)據(jù)、里程、TCMS工作時(shí)間、空壓機(jī)工作時(shí)間、牽引能耗、再生能耗、輔助能耗。每種數(shù)據(jù)類型都對(duì)對(duì)應(yīng)有一個(gè)記錄數(shù)據(jù)集合,即在一種可選的實(shí)施例中,如果每個(gè)控制器都向系統(tǒng)總線中各自輸入一個(gè)第一數(shù)據(jù)類型的數(shù)據(jù),比如說運(yùn)行里程類型的數(shù)據(jù),則在系統(tǒng)總線中,關(guān)于運(yùn)行里程類型的多個(gè)記錄數(shù)據(jù)則為一個(gè)集合,集合里數(shù)據(jù)的個(gè)數(shù)則取決于控制器的個(gè)數(shù)。
[0047]步驟S1064,將第一數(shù)據(jù)類型對(duì)應(yīng)的記錄數(shù)據(jù)集合中的數(shù)值最大的記錄數(shù)據(jù)作為運(yùn)行程序的第一數(shù)據(jù)類型的數(shù)據(jù)的初始值。
[0048]具體的,在獲得上述第一數(shù)據(jù)類型對(duì)應(yīng)的記錄數(shù)據(jù)集合之后,則將上述集合中的最大的記錄數(shù)據(jù)作為運(yùn)行程序的初始值,這里需要說明的是,由于控制器內(nèi)數(shù)據(jù)類型為多種,上述控制器將所有類型的記錄數(shù)據(jù)集合中的數(shù)值最大的記錄數(shù)據(jù)都作為運(yùn)行程序的初始值,可以保證所有控制器的同一類型的數(shù)據(jù)的初始值的一致性和同步性。
[0049]可選的,在步驟106,從記錄數(shù)據(jù)集合中獲取數(shù)值最大的記錄數(shù)據(jù),并將數(shù)值最大的記錄數(shù)據(jù)作為運(yùn)行程序的初始值之后,本實(shí)施例提供的方法還包括:
[0050]步驟S109,如果在網(wǎng)絡(luò)控制系統(tǒng)中添加新的控制器,則重復(fù)執(zhí)行步驟102至步驟S106,直至獲取記錄數(shù)據(jù)集合中新的數(shù)值最大的記錄數(shù)據(jù)。
[0051]具體的,在本方案中,可以在列車的網(wǎng)絡(luò)控制系統(tǒng)運(yùn)行一段時(shí)間后并入新的控制器進(jìn)行工作,由于后并入的控制器在初運(yùn)行的過程中也執(zhí)行步驟102至步驟S106,即發(fā)送數(shù)據(jù)、比較、對(duì)比、重新定義運(yùn)行程序初始值的過程,保證了在程序運(yùn)行前,實(shí)現(xiàn)了新并入的控制器與其他的控制器的運(yùn)行程序初始值一致性。
[0052]可選的,在步驟S106,從記錄數(shù)據(jù)集合中獲取數(shù)值最大的記錄數(shù)據(jù),并將數(shù)值最大的記錄數(shù)據(jù)作為運(yùn)行程序的初始值之后,本實(shí)施例提供的方法還可以包括:
[0053]步驟S110,如果在網(wǎng)絡(luò)控制系統(tǒng)中添加新的控制器,則直接獲取記錄數(shù)據(jù)集合中的數(shù)值最大的記錄數(shù)據(jù)作為運(yùn)行程序的初始值。
[0054]這里需要說明的是,列車的網(wǎng)絡(luò)控制系統(tǒng)中運(yùn)行一段時(shí)間后,可以向系統(tǒng)中增加新的控制器進(jìn)行工作,由于在網(wǎng)絡(luò)控制系統(tǒng)中,控制器進(jìn)行上傳、讀取、比對(duì)記錄數(shù)據(jù)的過程要耗費(fèi)大量的網(wǎng)絡(luò)資源,因此,在一種可選的方案中,新的控制器在并入網(wǎng)絡(luò)控制系統(tǒng)后,不參與記錄數(shù)據(jù)的比對(duì),而是直接獲取其余多個(gè)控制器中所讀取的數(shù)值最大的記錄數(shù)據(jù)。
[0055]下面結(jié)合圖2至圖4,對(duì)本申請(qǐng)結(jié)合具體應(yīng)用場(chǎng)景展開描述:
[0056]列車網(wǎng)絡(luò)控制系統(tǒng)在初上電過程中,如圖2所示,在Tl時(shí)間內(nèi)所有正常工作的控制器首先將自身記錄的數(shù)據(jù)通過特定的端口發(fā)送到列車總線上,該端口可以是;車位端口104車位端口 105。如圖3所示,Tl時(shí)間之后,本車控制器從列車總線上讀取其他控制器發(fā)往總線上的數(shù)據(jù),將所有控制器的同一類型的數(shù)據(jù)進(jìn)行比對(duì)(持續(xù)對(duì)比T2時(shí)間),在T2時(shí)間內(nèi)每種類型的數(shù)據(jù)選取最大值作為本控制器的本類數(shù)據(jù)的初始值,通過該種比對(duì)方式,可以保證所有控制器的同一類型的數(shù)據(jù)初始值的一致性和同步性。如圖4所示,T2時(shí)間之后,所有控制器的初始值保證一致,開始運(yùn)行正常的數(shù)據(jù)累計(jì)記錄的程序,并將結(jié)果實(shí)時(shí)的發(fā)送到系統(tǒng)總線中。由于所有控制器的記錄程序完全一致,輸入?yún)?shù)完全一致,因此所計(jì)算的結(jié)果將會(huì)完全一致。
[0057]如果系統(tǒng)在運(yùn)行一段時(shí)間后有其他控制器并入系統(tǒng)工作,由于后并入的系統(tǒng)即新的控制器在初運(yùn)行的過程中依次經(jīng)歷發(fā)送數(shù)據(jù)、比較、重新定義初始值的過程,保證了在記錄程序正常運(yùn)行前,已經(jīng)實(shí)現(xiàn)了與其他控制器記錄數(shù)據(jù)初始值的一致性,從而實(shí)現(xiàn)新控制器的數(shù)據(jù)重置,進(jìn)而實(shí)現(xiàn)與其他控制器計(jì)算結(jié)果的一致性。如果在運(yùn)行一段時(shí)間后,有任意一個(gè)控制器發(fā)生故障,此故障的控制器不會(huì)對(duì)其他控制器造成任何輸入?yún)?shù)的改變,在下次初運(yùn)行時(shí)可以通過上述方法,實(shí)現(xiàn)與其他控制器的數(shù)據(jù)同步的目的。
[0058]以主控制器為例,如果在確定初始化數(shù)據(jù)之后即在讀取系統(tǒng)總線上所有控制器的記錄數(shù)據(jù)之后,進(jìn)一步,本方案可以檢測(cè)主控制器當(dāng)前工作狀態(tài)是否正常,發(fā)送的數(shù)據(jù)是否正常,如果預(yù)定時(shí)間內(nèi)如果沒有檢測(cè)到生命信號(hào),則說明主控制器出問題了,在當(dāng)前控制器則拋棄對(duì)方的無效數(shù)據(jù),等待生命信號(hào)以及數(shù)據(jù)有效,才開始記錄數(shù)據(jù)的比對(duì)。
[0059]綜上,本發(fā)明通過對(duì)系統(tǒng)中所有控制器所記錄的數(shù)據(jù)進(jìn)行比對(duì)的方法,解決了系統(tǒng)中同等地位的控制器所記錄的數(shù)據(jù)存在差異的問題。減少了數(shù)據(jù)記錄的誤差,提高了系統(tǒng)提供的信息的準(zhǔn)確性。
[0060]實(shí)施例二
[0061]本實(shí)施例提供了一種用于列車網(wǎng)絡(luò)控制系統(tǒng)的數(shù)據(jù)處理裝置,在一種可選的實(shí)施例當(dāng)中,上述列車的網(wǎng)絡(luò)控制系統(tǒng)可以是一種用于列車的多冗余控制系統(tǒng),在上述網(wǎng)絡(luò)控制系統(tǒng)中可以包括多個(gè)控制器,如圖5所示,該數(shù)據(jù)處理裝置可以包括:
[0062]第一發(fā)送模塊12,用于在每個(gè)控制器上電后,將本地存儲(chǔ)的記錄數(shù)據(jù)發(fā)送至系統(tǒng)總線,使得系統(tǒng)總線記錄所有控制器的記錄數(shù)據(jù)。
[0063]具體的,在本方案中,可以在列車網(wǎng)絡(luò)控制系統(tǒng)在初上電的過程中,在Tl時(shí)間內(nèi),任意一個(gè)控制器首先將自身存儲(chǔ)的數(shù)據(jù)即上述記錄數(shù)據(jù)通過特定的端口發(fā)送到列車總線上,這里需要說明的是,在本方案中,上述記錄數(shù)據(jù)可以為運(yùn)行數(shù)據(jù)、里程、TCMS工作時(shí)間、空壓機(jī)工作時(shí)間、牽引能耗、再生能耗、輔助能耗等數(shù)據(jù),上述端口可以為Mvb總線,can總線,以太網(wǎng)等傳輸方式。
[0064]這里還需要說明的是,上述多個(gè)控制器中可以包含車頭控制器和車尾控制器。
[0065]優(yōu)選的,可以在Tl時(shí)間內(nèi)將上述列車網(wǎng)絡(luò)控制系統(tǒng)中的所有的控制器中存儲(chǔ)的數(shù)據(jù)發(fā)送至系統(tǒng)總線。
[0066]讀取模塊14,用于任意一個(gè)或多個(gè)控制器從系統(tǒng)總線中讀取所有控制器的記錄數(shù)據(jù),得到記錄數(shù)據(jù)集合。
[0067]具體的,在本方案中,列車網(wǎng)絡(luò)控制系統(tǒng)中的任意一個(gè)控制器可以在Tl時(shí)間過后,從上述系統(tǒng)總線中讀取所有控制器發(fā)送的記錄數(shù)據(jù),得到記錄數(shù)據(jù)的集合。
[0068]第一處理模塊16,用于任意一個(gè)或多個(gè)控制器獲取記錄數(shù)據(jù)集合中數(shù)值最大的記錄數(shù)據(jù),并將數(shù)值最大的記錄數(shù)據(jù)作為用于運(yùn)行程序的初始值。
[0069]具體的,在本方案中,列