專利名稱:防止將非實際數(shù)據(jù)電報存入計算機存儲器的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的方法,以及實現(xiàn)這種方法的裝置。
為控制與安全相關(guān)的過程,例如火車信號技術(shù),要使用具有多重信號技術(shù)安全性能的計算機。該計算機具有多通道結(jié)構(gòu),而且相同的處理過程按照相同的或不同的程序獨立進行。通過連續(xù)地比較內(nèi)部計算機總線上的數(shù)據(jù)和地址,和/或通過結(jié)果比較可早期檢測出處理結(jié)果因干擾造成的不一致。所述安全信號技術(shù)計算機可設(shè)計成失效(自動)保護,或者是一種普通的商用機,這種計算機系統(tǒng)的失效保護特性是通過特殊的安全措施保證的。
為了減輕這種安全信號技術(shù)計算機的負(fù)荷,來自外部的處理數(shù)據(jù)有時要在一個數(shù)據(jù)預(yù)處理裝置中進行加工。所述數(shù)據(jù)預(yù)處理裝置檢測諸如進入其中的數(shù)據(jù)是否滿足特定的處理條件,例如關(guān)于電報結(jié)構(gòu)的條件,關(guān)于電報內(nèi)容中的應(yīng)用數(shù)據(jù)和檢測數(shù)據(jù),以及所傳輸數(shù)據(jù)的可靠性。所述數(shù)據(jù)預(yù)處理裝置通常不進行失效保護。該裝置雖然不能將初始輸入的正確數(shù)據(jù)轉(zhuǎn)換成其內(nèi)容含義上的任意錯誤數(shù)據(jù)電報,而不會讓安全計算機無法識別出這種錯誤的數(shù)據(jù)電報;但是不能排除的是,所述數(shù)據(jù)預(yù)處理裝置例如通過其可變更存儲器的有錯誤的地址指令向安全計算機提供數(shù)據(jù)電報,該數(shù)據(jù)電報與實際過程狀態(tài)不符,而表示一個舊的過程狀態(tài),該狀態(tài)在一個較早的時刻已經(jīng)提供給安全計算機。這種實質(zhì)上不再準(zhǔn)確的數(shù)據(jù)電報通常不會被安全計算機作為錯誤信號識別,因為它已經(jīng)滿足了所處理的電報格式以及所確定的檢測條件。對該問題的補救措施僅僅是附帶一個時間印章或者按照一個預(yù)定的算法生成附屬于所傳輸電報的而且能被安全計算機檢測的附加識別符;所傳輸?shù)膽?yīng)用數(shù)據(jù)的安全附件然后經(jīng)所述時間印章或附加識別符構(gòu)成。這種附加識別符的傳輸可用于評價數(shù)據(jù)電報的準(zhǔn)確性,但是會因數(shù)據(jù)量乃至數(shù)據(jù)傳輸時間的增加,以不利的方式影響過程控制安全計算機的聯(lián)機性能。
本發(fā)明的任務(wù)是,提供一種防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的方法,以及提供應(yīng)用該方法的裝置,利用該方法和裝置無需向電報內(nèi)附加時間印章和附加識別符,就能保證安全計算機將非實際電報排除在處理過程之外。
本發(fā)明所述任務(wù)的解決方案是,在測試運行期間在數(shù)據(jù)預(yù)處理裝置的讀/寫存儲器內(nèi)寫入一個與所述存儲器容量相適應(yīng)的填充數(shù)據(jù)最小值,然后重新讀取所存儲的數(shù)據(jù),并與相對應(yīng)的原始填充數(shù)據(jù)進行內(nèi)容的一致性比較。其特點還在于,數(shù)據(jù)預(yù)處理裝置根據(jù)一臺最好是安全計算機或一臺自動檢測裝置的指令,為執(zhí)行測試運行而對其讀/寫存儲器進行FIFO′s或LIFO′s方式的結(jié)構(gòu)轉(zhuǎn)換,所述計算機或自動檢測裝置的存儲器內(nèi)順序?qū)懭胍粋€與所述存儲器容量相適應(yīng)的填充數(shù)據(jù),然后所述計算機或自動檢測裝置重新讀取存儲器,并且計算機將所讀取的數(shù)據(jù)與原始填充數(shù)據(jù)進行內(nèi)容上的一致性比較。所述防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的裝置的特征還包括,數(shù)據(jù)預(yù)處理裝置根據(jù)一臺最好是安全計算機或一臺自動檢測裝置執(zhí)行測試運行的指令,而對其讀/寫存儲器進行寫入寄存器方式的結(jié)構(gòu)轉(zhuǎn)換,所述計算機或自動檢測裝置在與其連接的存儲器內(nèi)順序?qū)懭胍粋€與所述存儲器容量相適應(yīng)的填充數(shù)據(jù),然后所述計算機或自動檢測裝置內(nèi)順序?qū)懭肓硪粋€和上述填充數(shù)據(jù)不同的、但與所述存儲器容量相適應(yīng)的數(shù)據(jù),并且重新讀取順序出現(xiàn)在所述寫入寄存器輸出端的數(shù)據(jù),并且計算機將所讀取的數(shù)據(jù)與原始填充數(shù)據(jù)進行內(nèi)容上的一致性比較。通過該方案,事件控制和/或在預(yù)定時間間隔內(nèi),所述數(shù)據(jù)預(yù)處理裝置的可修改讀取存儲器被寫入填充數(shù)據(jù),其數(shù)據(jù)量可保證,以前所存儲的電報被覆蓋或從存儲器中清除;所以在所述數(shù)據(jù)預(yù)處理裝置中不再有滿足過程數(shù)據(jù)預(yù)定描述條件的數(shù)據(jù)電報,該電報也不會傳輸給安全計算機并在該機內(nèi)導(dǎo)致錯誤的解釋。通過填充數(shù)據(jù)的復(fù)讀可保證,實際上所有可能留在所述數(shù)據(jù)預(yù)處理裝置內(nèi)的數(shù)據(jù)被覆蓋或者從所述數(shù)據(jù)預(yù)處理裝置的存儲器中被消除。
本發(fā)明所述方法和裝置的有利方案和進一步改進體現(xiàn)在以下特征中第1方案在測試運行期間數(shù)據(jù)預(yù)處理裝置的功能被中斷,在此時間內(nèi)在數(shù)據(jù)預(yù)處理裝置的讀/寫存儲器和所述填充數(shù)據(jù)之間產(chǎn)生一個鏈接,以實現(xiàn)該數(shù)據(jù)的串行寫入和串行讀取。
第2方案所述填充數(shù)據(jù)被描述成一種格式,它明顯區(qū)別于待傳輸數(shù)據(jù)以及數(shù)據(jù)預(yù)處理裝置本身在該狀態(tài)下所能產(chǎn)生的數(shù)據(jù)。
第3方案所述填充數(shù)據(jù)采用不同素數(shù)的字符串描述。
第4方案所述填充數(shù)據(jù)采用不同數(shù)字的字符串描述,所述數(shù)字屬于一個在所述數(shù)據(jù)預(yù)處理裝置正常運行中不使用的數(shù)字系統(tǒng)。
第5方案接受測試運行的條件是,所有按規(guī)則傳輸?shù)膶嶋H數(shù)據(jù)已傳輸給安全計算機。
第6方案所述測試運行在實際數(shù)據(jù)進入數(shù)據(jù)預(yù)處理裝置時中斷。
第7方案所述實際數(shù)據(jù)的進入將由數(shù)據(jù)預(yù)處理裝置向安全計算機顯示出來。
第8方案在數(shù)據(jù)已滿的情況下,數(shù)據(jù)預(yù)處理裝置產(chǎn)生一條含義為“存儲器已滿”的記錄,并且每條不合時宜地產(chǎn)生的這種記錄作為數(shù)據(jù)預(yù)處理裝置的錯誤狀態(tài)歸類。
第9方案在測試運行之外執(zhí)行一個排除表,表中寫入所有從數(shù)據(jù)預(yù)處理裝置中接收的數(shù)據(jù),其形式為數(shù)據(jù)電報,每條傳輸?shù)臄?shù)據(jù)電報和已經(jīng)存儲的電報之間進行排除性檢查,并且在成功地完成了一個接續(xù)的測試運行后,清除所有在此之前存儲在排除表中的電報。
第10方案在所述排除表中,不寫入完整的數(shù)據(jù)電報而只寫入從中導(dǎo)出的較簡單的數(shù)據(jù),并且將該數(shù)據(jù)與后面進入的數(shù)據(jù)電報的對應(yīng)修改數(shù)據(jù)進行排除性比較。
第11方案在排除表中存儲的數(shù)據(jù)通過數(shù)據(jù)電報的數(shù)據(jù)的檢測總和構(gòu)成。
第12方案所述數(shù)據(jù)預(yù)處理裝置向計算機和/或自動檢測裝置傳輸一個識別符,該識別符告知計算機,在數(shù)據(jù)預(yù)處理裝置內(nèi)不再存有按規(guī)定傳輸?shù)膶嶋H數(shù)據(jù),并且該識別符使計算機或自動檢測裝置進入測試運行狀態(tài),在該狀態(tài)下數(shù)據(jù)預(yù)處理裝置進行功能檢測。
第13方案所述數(shù)據(jù)預(yù)處理裝置通過讀取識別其最后一個存儲位而識別出測試運行的終點,并且將其存儲器重新轉(zhuǎn)換到正常狀態(tài)。
第14方案所述計算機或自動檢測裝置向數(shù)據(jù)預(yù)處理裝置告知測試運行已經(jīng)成功地結(jié)束,此時數(shù)據(jù)預(yù)處理裝置將其讀/寫存儲器重新轉(zhuǎn)換到正常狀態(tài)。
第15方案所述數(shù)據(jù)預(yù)處理裝置是一個微控制器。
第16方案所述讀/寫存儲器不僅包含工作存儲器,也包含微控制器的CPU寄存器。
第17方案所述計算機在測試運行之外執(zhí)行一個內(nèi)部或外部的排除表,表中寫入所有從數(shù)據(jù)預(yù)處理裝置中接收的數(shù)據(jù)電報,計算機對每條傳輸?shù)臄?shù)據(jù)電報和已經(jīng)存儲在排除表中的電報進行排除性檢查,并且在成功地結(jié)束了一個新的測試運行后,清除所有存儲在排除表中的電報。
第18方案設(shè)置一個外部排除表管理器,它在測試運行之外執(zhí)行一個排除表,該管理器在該表中寫入所有從數(shù)據(jù)預(yù)處理裝置進入計算機的數(shù)據(jù)電報,并且該管理器將這些數(shù)據(jù)電報中的每一條和已經(jīng)存儲在排除表中的電報進行排除性檢查,而且該管理器可根據(jù)計算機或自動檢測裝置的要求將其執(zhí)行的排除表刪除。
第19方案所述計算機安裝在一種車輛中,該車輛的設(shè)計可經(jīng)數(shù)據(jù)預(yù)處理裝置接收軌道傳輸裝置發(fā)出的數(shù)據(jù)電報,并且至少在行駛方向反轉(zhuǎn)時,使數(shù)據(jù)預(yù)處理裝置執(zhí)行一次檢測,從而在成功地完成了測試運行后,將該計算機或排除表管理器所執(zhí)行的排除表刪除。
按照第1方案,在測試運行期間,為覆蓋和/或取消所述數(shù)據(jù)預(yù)處理裝置的讀寫存儲器中存儲的舊數(shù)據(jù)電報,讀寫存儲器被轉(zhuǎn)換到一個所謂的填充模式,在該模式下,串行寫入填充數(shù)據(jù),然后串行讀取所寫入的數(shù)據(jù)。從而能達到以簡單的方式按照要求對所有可修改存儲器進行操作。
第2方案的優(yōu)點是,適當(dāng)設(shè)計填充數(shù)據(jù)的格式,使其與所述數(shù)據(jù)預(yù)處理裝置本身所生成的數(shù)據(jù)不同;否則的話將存在危險,使所述數(shù)據(jù)預(yù)處理裝置形成干擾數(shù)據(jù),該干擾數(shù)據(jù)對應(yīng)于安全計算機所接收的填充數(shù)據(jù),以致于實際上無法識別,不能對所存儲的電報進行覆蓋或清除。
第3和第4方案給出了兩種實現(xiàn)填充數(shù)據(jù)的表達的方便形式;所述填充數(shù)據(jù)的表達對安全計算機而言,能夠可靠地識別出實用數(shù)據(jù)和填充數(shù)據(jù)的區(qū)別。
按照第5方案,進入測試運行的條件是,不再有實際數(shù)據(jù)傳輸給安全計算機。該數(shù)據(jù)通過填充數(shù)據(jù)被覆蓋或從所述數(shù)據(jù)預(yù)處理裝置的可修改存儲器中清除,所以失去了對處理過程的控制。
第6和第7方案涉及實際數(shù)據(jù)在測試運行中的進入;它將導(dǎo)致實際測試運行的中斷,從而迅速進入對新數(shù)據(jù)的處理。
為了對所述數(shù)據(jù)預(yù)處理裝置的可修改存儲器的運行狀態(tài)和運行方式進行檢測,按照第8方案,所述數(shù)據(jù)預(yù)處理裝置的讀寫存儲器內(nèi)填充數(shù)據(jù)的整個填充過程都受到監(jiān)測,也就是說確認(rèn)該存儲器是否全部寫入了與該存儲器的容量相對應(yīng)的填充數(shù)據(jù)量,或者已經(jīng)在先前寫入,或者“存儲器已滿”的狀態(tài)是否沒有達到要求。這樣安全計算機方面有關(guān)所述數(shù)據(jù)預(yù)處理裝置可能出現(xiàn)的錯誤的信號表示與填充數(shù)據(jù)的復(fù)讀無關(guān)。
因為由于時間的原因,每次將電報傳輸給安全計算機后,所述數(shù)據(jù)預(yù)處理裝置的讀寫存儲器都要寫入填充數(shù)據(jù),而且安全計算機要對所存儲的數(shù)據(jù)進行復(fù)讀,所以第9方案的優(yōu)點在于,在測試運行之外,執(zhí)行一個排除表,在表內(nèi)存儲自上次測試結(jié)束以來安全計算機所接收的所有電報,這樣便能檢測以前進入的電報是否被排除。根據(jù)存儲器的大小,即根據(jù)排除表所能支配的存儲器容量以及電報的出現(xiàn)次數(shù),在特定的時間間隔內(nèi),安全計算機能夠可靠地識別出重復(fù)的電報,并且將其作用關(guān)閉。如果能夠成功地結(jié)束一項填充測試,則該結(jié)果便用于清除所述排除表。
第10方案的特征是,在所述排除表中,為替代完整的數(shù)據(jù)電報而寫入從中導(dǎo)出的數(shù)據(jù),按照第11方案該數(shù)據(jù)通過數(shù)據(jù)電報的數(shù)據(jù)的檢測總和構(gòu)成。通過該措施可顯著減少排除表所需的存儲器開銷,其效果是加大了測試運行之間的時間間隔。
在前述采用兩種裝置實施本發(fā)明所述方法時,在其中一實施例中,數(shù)據(jù)預(yù)處理裝置的讀/寫存儲器采用FIFO′s或LIFO′s組織方式,而在另一實施例中,相應(yīng)的存儲器采用寫入寄存器組織方式。在兩種情形中,均可在存儲器內(nèi)順序?qū)懭胩畛鋽?shù)據(jù),然后為檢測目的重新順序讀取該數(shù)據(jù);當(dāng)然讀取程序的過程的區(qū)別在于,在測試運行期間,讀寫存儲器的結(jié)構(gòu)。測試運行功能或者優(yōu)先采用安全計算機的補充方式,或者在安全計算機之外設(shè)置一個自動檢測機,該檢測機負(fù)責(zé)該任務(wù)或至少負(fù)責(zé)該任務(wù)的一部分。重要的是,測試運行的功能在所述數(shù)據(jù)預(yù)處理裝置之外進行,而且盡可能顯示后者的錯誤狀態(tài)。
根據(jù)第12方案,所述數(shù)據(jù)預(yù)處理裝置最好向安全計算機發(fā)出信息,表明當(dāng)前不存在應(yīng)當(dāng)傳輸?shù)某R?guī)數(shù)據(jù)。采用這種方式可使安全計算機得知,在所述數(shù)據(jù)預(yù)處理裝置進入測試運行狀態(tài)時,并沒有需要傳輸?shù)膶嶋H數(shù)據(jù)電報應(yīng)當(dāng)清除。
按照第13方案,隨著對所述數(shù)據(jù)預(yù)處理裝置最后一個存儲器地址的讀取,所述數(shù)據(jù)預(yù)處理裝置的存儲器重新轉(zhuǎn)換成正常狀態(tài),此時它使用所述數(shù)據(jù)預(yù)處理裝置的功能;該方案并不需要來自外部的附加啟動信息。
按照第14方案,最好是安全計算機或自動檢測機在測試運行成功結(jié)束后,向所述數(shù)據(jù)預(yù)處理裝置發(fā)出信號;所述數(shù)據(jù)預(yù)處理裝置可以據(jù)此將存儲器重新轉(zhuǎn)換到存儲器的正常狀態(tài),其前提是,該裝置未發(fā)現(xiàn)其存儲地址本身已經(jīng)被完全讀取。
按照第15方案所述的優(yōu)選實施例,所述數(shù)據(jù)預(yù)處理裝置可以是一個微控制器,對于這種程序控制裝置,特別重要的是應(yīng)能執(zhí)行確認(rèn)錯誤狀態(tài)的功能控制,因為該裝置完全有可能存儲舊的非實際數(shù)據(jù)電報,然后可能重新輸出。
根據(jù)第16方案,所述數(shù)據(jù)預(yù)處理裝置采用微控制器的優(yōu)點是,CPU寄存器也可以寫入和讀取填充數(shù)據(jù),從而識別出那里可能出現(xiàn)的錯誤功能,并且將其刪除。
第17方案的特征包括了第9方案所述方法的技術(shù)實施方案,其特征是在測試運行之外通過一個排除表識別所述數(shù)據(jù)預(yù)處理裝置的錯誤功能。
根據(jù)第18方案,為了減輕安全計算機的負(fù)荷,排除表的管理功能可以全部或部分地從安全計算機劃出。在安全計算機完全卸載的情況下,排除表管理裝置始終同時接收從所述數(shù)據(jù)預(yù)處理裝置向安全計算機輸出的數(shù)據(jù)電報,并且向安全計算機顯示一條電報重復(fù)信息。安全計算機或自動檢測機顯示排除表管理,并且在填充測試完成后將排除表刪除。
在測試運行之外由安全計算機或自動檢測機執(zhí)行的排除表情況中,應(yīng)當(dāng)確認(rèn)排除表內(nèi)所存儲的電報在常規(guī)電報進入前已經(jīng)被清除,而且常規(guī)電報和已經(jīng)存儲的電報之間從運行角度看是一致的。這種情況例如會在鐵路運行中出現(xiàn),但一列火車通過一個線路裝置并且從中得到數(shù)據(jù),然后變換了火車的行駛方向?;疖嚾缓笤俅瓮ㄟ^線路信號裝置,并且再次接收其已經(jīng)得到的數(shù)據(jù),但是該數(shù)據(jù)一直是有效的,因為它例如是描述了特定的地點位置。在這種情況下,第19方案是,一旦列車變換了其行駛方向,則清除列車所執(zhí)行過的排除表;這種情況例如始終發(fā)生在列車從一個端點火車站發(fā)車的時候。火車停在一個端點火車站時,有足夠的時間使所述數(shù)據(jù)預(yù)處理裝置的存儲器寫入填充數(shù)據(jù),該數(shù)據(jù)然后為測試目的重新讀取,并且清除排除表。因為有權(quán)刪除排除表的條件只是成功地結(jié)束了一次填充測試,所以事先應(yīng)當(dāng)執(zhí)行最后一次測試。
下面對照附圖所示的實施例對本發(fā)明作進一步的說明,附圖中
圖1表示一個數(shù)據(jù)預(yù)處理裝置的方案和結(jié)構(gòu),它位于測試運行之外的程序外圍設(shè)備和控制計算機之間;圖2表示同樣的數(shù)據(jù)預(yù)處理裝置的方案和結(jié)構(gòu),它處在測試運行中間;圖中相一致的部分均采用相同的標(biāo)號表示。
附圖中示意性地表示出一個任意的過程P,它怎樣受到計算機R1、R2的控制和監(jiān)測。受控制的過程例如是一個鐵路系統(tǒng),它有一些固定的裝置如道岔、信號和鐵路道口,以及其位置可移動的部分,例如火車。所述實施例中的計算機R1、R2最好是一種雙通道安全計算機。有兩個通道監(jiān)視程序進程,并相互獨立地進行數(shù)據(jù)處理。兩個通道連續(xù)進行一致性比較,并共同作用于所控制的過程。在所述過程和所述安全計算機之間設(shè)置了至少一臺數(shù)據(jù)預(yù)處理裝置DVV,它用于準(zhǔn)備過程數(shù)據(jù),并將數(shù)據(jù)以準(zhǔn)備就緒的形式提供給安全計算機。所述數(shù)據(jù)預(yù)處理裝置DVV是以微控制器方式構(gòu)成的,具有一個計算模塊R,該模塊包括一個CPU,至少一個程序存儲器和若干個可修改的讀寫存儲器S1至S3。該存儲器中的個別存儲器是作為工作存儲器構(gòu)成的,其他作為CPU寄存器使用。所述數(shù)據(jù)預(yù)處理裝置按照其執(zhí)行程序?qū)⑤斎肫渲械倪^程數(shù)據(jù)處理成修改過的數(shù)據(jù),然后將該數(shù)據(jù)或者主動輸出給安全計算機,或者根據(jù)后者的要求傳輸給安全計算機。所述數(shù)據(jù)以電報方式傳輸,其中該數(shù)據(jù)包括公知的應(yīng)用數(shù)據(jù)和由這些應(yīng)用數(shù)據(jù)構(gòu)成的檢測數(shù)據(jù),所述檢測數(shù)據(jù)可使安全計算機能夠可靠識別發(fā)生在所述過程和安全計算機之間的路徑上的傳輸錯誤。
數(shù)據(jù)傳輸給安全計算機后,存在于所述數(shù)據(jù)預(yù)處理裝置的工作存儲器中的這些數(shù)據(jù)或者被清除,或者所述數(shù)據(jù)預(yù)處理裝置的CPU察覺這些數(shù)據(jù)已經(jīng)被讀取,從而在將來將其作為失效處理。如果所述數(shù)據(jù)預(yù)處理裝置出現(xiàn)了故障,則可以想象,已經(jīng)由安全計算機讀取的數(shù)據(jù)立刻重新寫入工作存儲器,或者CPU不能察覺已經(jīng)讀取的數(shù)據(jù)應(yīng)當(dāng)作為失效處理。其后果是,所述數(shù)據(jù)預(yù)處理裝置的工作存儲器內(nèi)存儲的非實際數(shù)據(jù)在以后的某個時刻可能重新傳輸給安全計算機(數(shù)據(jù)重復(fù))。安全計算機僅檢測傳輸來的數(shù)據(jù)是否符合預(yù)定的條件;因為這些條件在老的數(shù)據(jù)上面也得到滿足。所以安全計算機將接受那些老數(shù)據(jù),盡管這些數(shù)據(jù)代表的是非實際過程狀態(tài)。
本發(fā)明的方案是,在一個特定的處理過程中,即所謂的測試運行中,將所有可能存在于所述數(shù)據(jù)預(yù)處理裝置內(nèi)的老數(shù)據(jù)從該裝置中清除。為實現(xiàn)此目的,所述安全計算機R1、R2從所述數(shù)據(jù)預(yù)處理裝置獲得一個信息,例如在傳輸了一條數(shù)據(jù)電報后得到一個信息,該信息的內(nèi)容是,根據(jù)所述數(shù)據(jù)預(yù)處理裝置的識別,沒有其他的數(shù)據(jù)需要傳輸。該功能是以下過程的前提條件,即所述安全計算機不會損失可能存在于所述數(shù)據(jù)預(yù)處理裝置內(nèi)的實際數(shù)據(jù)電報,而是將所述數(shù)據(jù)預(yù)處理裝置讀寫存儲器中所存儲的所有數(shù)據(jù)進行清除。所述過程是否在各個情況下都能實際作用于所述數(shù)據(jù)預(yù)處理裝置,并且導(dǎo)致被認(rèn)為是錯誤的信息被覆蓋或無效,倒并不一定要表示出來,因為按照本發(fā)明的一種需要進一步說明的最佳實施例,這種測試運行并不一定需要每次都向安全計算機傳輸數(shù)據(jù)電報,而是可能僅需要以較大的時間間隔傳輸數(shù)據(jù)。
在以下說明中假設(shè)當(dāng)安全計算機被所述數(shù)據(jù)預(yù)處理裝置通知進入本發(fā)明所述的測試運行狀態(tài),目前沒有向安全計算機傳輸時。為此,安全計算機向所述數(shù)據(jù)預(yù)處理裝置的微控制器發(fā)出一個信號或識別符,通知后者準(zhǔn)備進入測試運行狀態(tài)。作為其后果,所述數(shù)據(jù)預(yù)處理裝置的微控制器對其可修改存儲器(讀寫存儲器)進行結(jié)構(gòu)變換,構(gòu)成一個寫入寄存器方式或者一個FIFO′s或LIFO′s方式,使其構(gòu)成串聯(lián)形式。所述可修改存儲器包括微控制器的工作存儲器,而且最好也包括微控制器的CPU寄存器。所述工作存儲器的串聯(lián)布置最好通過微控制器CPU的程序控制實現(xiàn)。在其之后開始的測試運行期間,所述數(shù)據(jù)預(yù)處理裝置停止執(zhí)行其本身的功能。
為進入測試運行,安全計算機向所述數(shù)據(jù)預(yù)處理裝置的可修改存儲器內(nèi)寫入填充數(shù)據(jù)。所述填充數(shù)據(jù)的數(shù)量由所述數(shù)據(jù)預(yù)處理裝置存儲器的容量決定。當(dāng)測試運行的寫入階段結(jié)束時,所有在測試運行開始時存在于所述數(shù)據(jù)預(yù)處理裝置讀寫存儲器中的、以及可能尚存儲的數(shù)據(jù)或者從存儲器內(nèi)刪除,或者被填充數(shù)據(jù)所覆蓋。這樣便可保證,所述數(shù)據(jù)預(yù)處理裝置的讀寫存儲器內(nèi)不再有老數(shù)據(jù);因為在此時測試運行中清除了可能存儲的老數(shù)據(jù),所述數(shù)據(jù)處理裝置由于電報重復(fù)的原因而可能出現(xiàn)的錯誤狀態(tài)因而被排除。
以上情況存在的條件是,確認(rèn)向所述數(shù)據(jù)預(yù)處理裝置的可修改存儲器寫入數(shù)據(jù)實際上已經(jīng)按照安全計算機所要求的那樣發(fā)生。當(dāng)所述數(shù)據(jù)預(yù)處理裝置出現(xiàn)錯誤狀態(tài)時,必須預(yù)料到的是,通過安全計算機向所述數(shù)據(jù)預(yù)處理裝置的讀寫存儲器內(nèi)寫入數(shù)據(jù)的過程不一定如約發(fā)生;這里也必須估計到可能發(fā)生的錯誤狀態(tài),例如特定的存儲位置在寫入過程中被跳過,或者某些存儲位置被多次寫入數(shù)據(jù)。出于以上理由依照本發(fā)明所述方案,在測試運行期間,所述數(shù)據(jù)預(yù)處理裝置工作存儲器所讀取的填充數(shù)據(jù),在一個接續(xù)在寫入階段后面的讀取階段內(nèi)重新被讀取,并且將所讀取的數(shù)據(jù)與安全計算機所產(chǎn)生的原始填充數(shù)據(jù)進行比較。只有當(dāng)該比較顯示所述數(shù)據(jù)預(yù)定處理裝置的讀寫存儲器存儲的數(shù)據(jù)和安全計算機產(chǎn)生的填充數(shù)據(jù)一致時,而且所有讀寫存儲器均通過了檢測時,安全計算機才能認(rèn)定所述存儲器內(nèi)已經(jīng)沒有可隨時向其傳輸?shù)睦蠑?shù)據(jù)。
所述填充數(shù)據(jù)是,可以采用那些其順序與由所述數(shù)據(jù)預(yù)處理裝置的CPU自行產(chǎn)生的數(shù)據(jù)不同的數(shù)據(jù)。這些數(shù)據(jù)例如可以通過不同的素數(shù)表示,也可以采用另一種技術(shù)投入比較小的方案,即由不同的數(shù)字組成數(shù)字串,該數(shù)字串是所述數(shù)據(jù)預(yù)處理裝置在常規(guī)運行中所不使用的數(shù)字體系,例如7或11進制的數(shù)字體系。通過使用這種安全計算機可明確地重新識別出來的填充數(shù)據(jù),所述數(shù)據(jù)預(yù)處理裝置在測試運行期間便不會基于錯誤功能向安全計算機傳輸數(shù)據(jù),而使安全計算機誤認(rèn)為是所等待的正常填充數(shù)據(jù)。這樣一種情況可能出現(xiàn)的場合是,安全計算機將可能存儲在所述數(shù)據(jù)預(yù)處理裝置的可修改存儲器內(nèi)的數(shù)據(jù)通過時序脈沖的輸入而從該存儲器中清出。由于所述數(shù)據(jù)預(yù)處理裝置可能出現(xiàn)的故障現(xiàn)象,向安全計算機傳輸空數(shù)據(jù),而不是為填充其存儲器而實際寫入的空數(shù)據(jù),則此時安全計算機將識別不出所述數(shù)據(jù)預(yù)處理裝置的故障情況。
為了提早獲得所述數(shù)據(jù)預(yù)處理裝置的錯誤功能信息,一種合適的方案是,所述數(shù)據(jù)預(yù)處理裝置產(chǎn)生一個存儲器已滿的信息,并且將該信息傳輸給安全計算機。所述數(shù)據(jù)預(yù)處理裝置在讀寫存儲器的存儲量按照填充數(shù)據(jù)的相應(yīng)數(shù)量寫入之前就發(fā)出“存儲器已滿”的信號,所以所述數(shù)據(jù)預(yù)處理裝置的錯誤功能對于安全計算機而言無需讀取填充數(shù)據(jù)即可完全覆蓋。如果所述數(shù)據(jù)預(yù)處理裝置出現(xiàn)了另一種類型的錯誤功能,沒有發(fā)出本來所期望的存儲器已滿的信號,也還是能夠覆蓋所述數(shù)據(jù)預(yù)處理裝置的錯誤功能。為了節(jié)約時間,可放棄讀取填充數(shù)據(jù)。
為了提前得到測試運行結(jié)束的信息,一個適當(dāng)?shù)姆桨甘?,所述?shù)據(jù)預(yù)處理裝置產(chǎn)生一個存儲器已空的信號。隨著第一個填充數(shù)據(jù)的寫入而被關(guān)閉的存儲器已空信號在讀取完最后一個填充數(shù)據(jù)后重新被激活,所以所述數(shù)據(jù)預(yù)處理裝置能自行識別出測試運行已經(jīng)結(jié)束,而且所述數(shù)據(jù)預(yù)處理裝置隨之將其讀寫存儲器重新轉(zhuǎn)換成正常狀態(tài),使該存儲器工作在此狀態(tài)下,從而使作為數(shù)據(jù)預(yù)處理裝置使用的微控制器能夠重新起到預(yù)處理裝置的功能。但是安全計算機也可以專門測試運行已成功結(jié)束通知所述數(shù)據(jù)預(yù)處理裝置,從而要求其存儲器重新變換結(jié)構(gòu),并且繼續(xù)進行賦予它的任務(wù)處理工作。
為防止已經(jīng)由安全計算機所接受的數(shù)據(jù)電報在所述數(shù)據(jù)預(yù)處理裝置內(nèi)發(fā)生不希望的停留,以便實現(xiàn)最大安全性,應(yīng)采取的方案是,每次讀取完一個應(yīng)接受的正常數(shù)據(jù)電報后,將可能停留的非正常數(shù)據(jù)電報在安全計算機內(nèi)通過可回讀的填充數(shù)據(jù)覆蓋。但是該過程需要耗費大量的時間,所以大多無法實行。一種較好的方法是,安全計算機在測試運行中,在不接收數(shù)據(jù)電報的時間內(nèi)處于靜止?fàn)顟B(tài)和/或所述數(shù)據(jù)預(yù)處理裝置在預(yù)定的最大時間間隔內(nèi)進行測試運行。為了保證在此時間內(nèi)沒有數(shù)據(jù)電報多次進入安全計算機,根據(jù)一種特別有利的方案,安全計算機在測試運行的時間之外執(zhí)行一個所謂的排除表,表中寫入所有由所述數(shù)據(jù)預(yù)處理裝置向其傳輸?shù)碾妶?。每條新傳輸?shù)臄?shù)據(jù)電報將對照所有已經(jīng)存在表中的電報進行排除性檢測。如果在實際寫入和已經(jīng)存儲在表中的電報之間確認(rèn)了一致的情況,則實際讀入的電報將被賦予一條錯誤指令標(biāo)記,因為這顯然涉及到一條較老的、由所述數(shù)據(jù)預(yù)處理裝置提供的錯誤電報。只有那些成功地通過了排除性檢測的電報才能被安全計算機所接受并繼續(xù)處理。在安全計算機的排除表中所列舉的數(shù)據(jù)電報被刪除的條件是,安全計算機成功地完成了所述數(shù)據(jù)預(yù)處理裝置的一個新的測試運行。
由于在測試運行之外進入的數(shù)據(jù)電報要進行排除性檢測,所以例如在安全計算機內(nèi)的排除表必須被清除,必要時建立一個新的排除表,如果預(yù)計安全計算機從所述數(shù)據(jù)預(yù)處理裝置得到的是正常的,即不是基于所述數(shù)據(jù)預(yù)處理裝置的錯誤狀態(tài)而產(chǎn)生的一致性數(shù)據(jù)電報。這種情況在鐵路工程中出現(xiàn)的條件例如是,如果在所述數(shù)據(jù)預(yù)處理裝置寫入的數(shù)據(jù)電報涉及到一種屬于旁邊經(jīng)過的列車上的線路信息傳輸裝置而且該列車在經(jīng)過傳輸裝置時轉(zhuǎn)換了其行駛方向。這種情況大多出現(xiàn)在環(huán)形火車站中。此時列車?yán)缃?jīng)過設(shè)置在車站入口前不遠(yuǎn)的軌道信號機,從而傳輸一個地點標(biāo)記,所傳輸?shù)男畔⑹紫仁且粋€方向,然后是另一個方向。為了在行駛方向變換后能夠在列車上使用軌道信號機的信息,必須將列車駛?cè)胲囌緯r讀入軌道信號機的數(shù)據(jù)在駛出前,具體講在軌道信號機重新被列車駛過之前,在排除表中刪除。進行該過程的最簡單的方法是,此時設(shè)在相應(yīng)列車上的安全計算機當(dāng)列車停在車站內(nèi)時進行所述數(shù)據(jù)預(yù)處理裝置的測試運行,并且當(dāng)成功地結(jié)束測試后將其執(zhí)行的排除表刪除。
為了在存儲器容量既定的情況下對在排除表中盡可能存儲更多的數(shù)據(jù),并且為排除性檢測保留出空間,一種有利的方案是,將不是原始數(shù)據(jù)電報,而是從其中導(dǎo)出的相對較簡單的數(shù)據(jù),例如數(shù)據(jù)電報的檢測數(shù)據(jù)加以存儲,然后再與實際電報相應(yīng)的修改數(shù)據(jù)進行排除性檢測。
根據(jù)本發(fā)明所述的經(jīng)過詳細(xì)說明的實施例,所述安全計算機不僅提供填充數(shù)據(jù),而且為比較的目的復(fù)讀該填充數(shù)據(jù),并在測試運行之外執(zhí)行排除表,從而覆蓋電報的重復(fù)信息。其優(yōu)點是,所述安全計算機至少減輕了這些測試或檢測功能的部分任務(wù)。所述填充數(shù)據(jù)可由外部提供,并且在安全計算機的外部或內(nèi)部與所發(fā)出的填充數(shù)據(jù)進行比較。在附圖中,為表示選擇性地輸出填充數(shù)據(jù)以及選擇性地比較所述數(shù)據(jù)預(yù)處理裝置的讀寫存儲器內(nèi)寫入的填充數(shù)據(jù),用虛線表示出一個自動檢測機UA。至于測試功能是否在安全計算機內(nèi)執(zhí)行或者在外部執(zhí)行,從功能上看是等效的,重要的是,該功能不在所述數(shù)據(jù)預(yù)處理裝置中實現(xiàn),因為其功能狀態(tài)可能會出現(xiàn)故障。如果自動檢測機產(chǎn)生了信號并將填充數(shù)據(jù)傳輸給所述數(shù)據(jù)預(yù)處理裝置,而且所述安全計算機實現(xiàn)了復(fù)讀數(shù)據(jù)與輸出數(shù)據(jù)的比較或者相反的比較,則執(zhí)行數(shù)據(jù)比較的裝置也讀取其他各個裝置輸出的填充數(shù)據(jù),以便進行后面的比較,其條件是,該裝置事先沒有得到所輸出的填充數(shù)據(jù)。所述自動檢測機不僅可用于輸出填充數(shù)據(jù),而且也用于復(fù)讀數(shù)據(jù),以及用于將復(fù)讀的填充數(shù)據(jù)與原始填充數(shù)據(jù)進行比較。
和測試運行的進行方式類似的是排除表的執(zhí)行。其中一個外部的排除表管理器ALV設(shè)置在安全計算機的外部;一個可做為替代的或附加的排除表管理器讀取從所述數(shù)據(jù)預(yù)處理裝置傳輸給安全計算機的數(shù)據(jù)電報,并且建立起所述排除表。該裝置將實際數(shù)據(jù)電報與表中已有的電報進行比較,然后通知安全計算機是否發(fā)現(xiàn)有重復(fù)的電報。所述安全計算機向排除表管理器發(fā)出指令,列出排除表,對實現(xiàn)電報進行排除性檢測,而且必要時發(fā)出指令將某個表刪除。另一種選擇方案是,比較過程在安全計算機內(nèi)進行,而排除表在排除表管理器中執(zhí)行。
權(quán)利要求
1.一種防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的方法,其特征是,在測試運行期間在數(shù)據(jù)預(yù)處理裝置(DVV)的讀/寫存儲器(S1至S3)內(nèi)寫入一個與所述存儲器容量相適應(yīng)的填充數(shù)據(jù)最小值,然后重新讀取所存儲的數(shù)據(jù),并與相對應(yīng)的原始填充數(shù)據(jù)進行內(nèi)容的一致性比較。
2.如權(quán)利要求1所述的方法,其特征是,在測試運行期間數(shù)據(jù)預(yù)處理裝置的功能被中斷,在此時間內(nèi)在數(shù)據(jù)預(yù)處理裝置的讀/寫存儲器和所述填充數(shù)據(jù)之間產(chǎn)生一個鏈接,以實現(xiàn)該數(shù)據(jù)的串行寫入和串行讀取。
3.如權(quán)利要求1或2所述的方法,其特征是,所述填充數(shù)據(jù)被描述成一種格式,它明顯區(qū)別于待傳輸數(shù)據(jù)以及數(shù)據(jù)預(yù)處理裝置本身在該狀態(tài)下所能產(chǎn)生的數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征是,所述填充數(shù)據(jù)采用不同素數(shù)的字符串描述。
5.如權(quán)利要求3所述的方法,其特征是,所述填充數(shù)據(jù)采用不同數(shù)字的字符串描述,所述數(shù)字屬于一個在所述數(shù)據(jù)預(yù)處理裝置正常運行中不使用的數(shù)字系統(tǒng)。
6.如權(quán)利要求1至5中任一項所述的方法,其特征是,接受測試運行的條件是所有按規(guī)則傳輸?shù)膶嶋H數(shù)據(jù)已傳輸給安全計算機。
7.如權(quán)利要求6所述的方法,其特征是,所述測試運行在實際數(shù)據(jù)進入數(shù)據(jù)預(yù)處理裝置時中斷。
8.如權(quán)利要求7所述的方法,其特征是,所述實際數(shù)據(jù)的進入將由數(shù)據(jù)預(yù)處理裝置向安全計算機顯示出來。
9.如權(quán)利要求1至8中任一項所述的方法,其特征是,在存儲器的確已滿的情況下,數(shù)據(jù)預(yù)處理裝置產(chǎn)生一條含義為“存儲器已滿”的記錄,并且將每條不合時宜地出現(xiàn)的這種記錄作為數(shù)據(jù)預(yù)處理裝置的錯誤狀態(tài)歸類。
10.如權(quán)利要求1至9中任一項所述的方法,其特征是,在測試運行之外執(zhí)行一個排除表,表中寫入所有從數(shù)據(jù)預(yù)處理裝置中接收的數(shù)據(jù),其形式為數(shù)據(jù)電報,每條傳輸?shù)臄?shù)據(jù)電報和已經(jīng)存儲的電報之間進行排除性檢查,并且在成功地完成了一個接續(xù)的測試運行后,清除所有在此之前存儲在排除表中的電報。
11.如權(quán)利要求10所述的方法,其特征是,在所述排除表中,不寫入完整的數(shù)據(jù)電報而只寫入從中導(dǎo)出的較簡單的數(shù)據(jù),并且將該數(shù)據(jù)與后面進入的數(shù)據(jù)電報的對應(yīng)修改數(shù)據(jù)進行排除性比較。
12.如權(quán)利要求11所述的方法,其特征是,在排除表中存儲的數(shù)據(jù)通過數(shù)據(jù)電報的數(shù)據(jù)的檢測總和構(gòu)成。
13.一種防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的裝置,其特征是,數(shù)據(jù)預(yù)處理裝置(DVV)根據(jù)一臺最好是安全計算機(R1、R2)或一臺自動檢測裝置(UA)的指令,為執(zhí)行測試運行而對其讀/寫存儲器(S1,S2,S3)進行FIFO′s或LIFO′s方式的結(jié)構(gòu)轉(zhuǎn)換,所述計算機或自動檢測裝置的存儲器內(nèi)順序?qū)懭胍粋€與所述存儲器容量相適應(yīng)的填充數(shù)據(jù),然后所述計算機或自動檢測裝置重新讀取存儲器,并且計算機將所讀取的數(shù)據(jù)與原始填充數(shù)據(jù)進行內(nèi)容上的一致性比較。
14.一種防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的裝置,其特征是,數(shù)據(jù)預(yù)處理裝置(DVV)根據(jù)一臺最好是安全計算機(R1、R2)或一臺自動檢測裝置(A)的指令,為執(zhí)行測試運行而對其讀/寫存儲器(S1,S2,S3)進行寫入寄存器方式的結(jié)構(gòu)轉(zhuǎn)換,所述計算機或自動檢測裝置的存儲器內(nèi)順序?qū)懭胍粋€與所述存儲器容量相適應(yīng)的填充數(shù)據(jù),然后所述計算機或自動檢測裝置內(nèi)順序?qū)懭肓硪粋€和上述填充數(shù)據(jù)不同的、但與所述存儲器容量相適應(yīng)的數(shù)據(jù),并且重新讀取順序出現(xiàn)在所述寫入寄存器輸出端(S30)的數(shù)據(jù),并且計算機將所讀取的數(shù)據(jù)與原始填充數(shù)據(jù)進行內(nèi)容上的一致性比較。
15.如權(quán)利要求13或14所述的裝置,其特征是,所述數(shù)據(jù)預(yù)處理裝置向計算機和/或自動檢測裝置傳輸一個識別符,該識別符告知計算機,在數(shù)據(jù)預(yù)處理裝置內(nèi)不再存有按規(guī)定傳輸?shù)膶嶋H數(shù)據(jù),并且該識別符使計算機或自動檢測裝置進入測試運行狀態(tài),在該狀態(tài)下數(shù)據(jù)預(yù)處理裝置進行功能檢測。
16.如權(quán)利要求13或14所述的裝置,其特征是,所述數(shù)據(jù)預(yù)處理裝置通過讀取識別其最后一個存儲位而識別出測試運行的終點,并且將其存儲器重新轉(zhuǎn)換到正常狀態(tài)。
17.如權(quán)利要求13或14所述的裝置,其特征是,所述計算機或自動檢測裝置向數(shù)據(jù)預(yù)處理裝置告知測試運行已經(jīng)成功地結(jié)束,此時數(shù)據(jù)預(yù)處理裝置將其讀/寫存儲器重新轉(zhuǎn)換到正常狀態(tài)。
18.如權(quán)利要求13至17中任一項所述的裝置,其特征是,所述數(shù)據(jù)預(yù)處理裝置(DVV)是一個微控制器。
19.如權(quán)利要求18所述的裝置,其特征是,所述讀/寫存儲器(S1,S2,S3)不僅包含工作存儲器,也包含微控制器的CPU寄存器。
20.如權(quán)利要求13至19中任一項所述的裝置,其特征是,所述計算機在測試運行之外執(zhí)行一個內(nèi)部或外部的排除表,表中寫入所有從數(shù)據(jù)預(yù)處理裝置中接收的數(shù)據(jù)電報,計算機對每條傳輸?shù)臄?shù)據(jù)電報和已經(jīng)存儲在排除表中的電報進行排除性檢查,并且在成功地結(jié)束了一個新的測試運行后,清除所有存儲在排除表中的電報。
21.如權(quán)利要求13至19中任一項所述的裝置,其特征是,設(shè)置一個外部排除表管理器(ALV),它在測試運行之外執(zhí)行一個排除表,該管理器在該表中寫入所有從數(shù)據(jù)預(yù)處理裝置進入計算機的數(shù)據(jù)電報,并且該管理器將這些數(shù)據(jù)電報中的每一條和已經(jīng)存儲在排除表中的電報進行排除性檢查,而且該管理器可根據(jù)計算機或自動檢測裝置的要求將其執(zhí)行的排除表刪除。
22.如權(quán)利要求13至21中任一項所述的裝置,其特征是,所述計算機安裝在一種車輛上,該車輛的設(shè)計可經(jīng)數(shù)據(jù)預(yù)處理裝置接收軌道傳輸裝置發(fā)出的數(shù)據(jù)電報并且至少在行駛方向反轉(zhuǎn)時,使數(shù)據(jù)預(yù)處理裝置執(zhí)行一次檢測,從而在成功地完成了測試運行后,將該計算機或排除表管理器所執(zhí)行的排除表刪除。
全文摘要
本發(fā)明涉及一種防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的方法,其特征在于,在測試運行期間在數(shù)據(jù)預(yù)處理裝置(DVV)的讀/寫存儲器(S1至S3)內(nèi)寫入一個與所述存儲器容量相適當(dāng)?shù)奶畛鋽?shù)據(jù)最小值,然后重新讀取所存儲的數(shù)據(jù),并與相對應(yīng)的原始填充數(shù)據(jù)進行內(nèi)容的一致性比較。本發(fā)明還涉及一種防止將來自數(shù)據(jù)預(yù)處理裝置的非實際數(shù)據(jù)電報存入計算機存儲器的裝置。
文檔編號G06F11/00GK1228562SQ9910340
公開日1999年9月15日 申請日期1999年1月29日 優(yōu)先權(quán)日1998年1月29日
發(fā)明者沃爾夫?qū)び榷?申請人:西門子公司