毛江錕 劉洪源
摘? ?要:針對船載時間統(tǒng)一系統(tǒng)B碼終端時間異常問題,深入分析監(jiān)控軟件設(shè)置調(diào)制比及輸出時區(qū)原理,建立FTA故障樹分析模型,分析故障底事件,定位了B碼終端時間異常問題的故障部位是監(jiān)控軟件。為了解決該問題,對監(jiān)控軟件代碼進行分析,進一步精確定位了B碼終端時間異常問題的原因是監(jiān)控軟件中B(AC)碼調(diào)制比設(shè)置函數(shù)存在缺陷,修改監(jiān)控軟件設(shè)置函數(shù),使其符合了時間統(tǒng)一設(shè)備內(nèi)部通信協(xié)議。通過對改進后的軟件進行測試表明,監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比后設(shè)備輸出時區(qū)不再發(fā)生跳變,從而有效解決了B碼終端時間異常問題。
關(guān)鍵詞:船載;時間統(tǒng)一;B碼終端;時區(qū);FTA;異常
中圖分類號:TP274? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A
Abstract: For the problem of B code terminal time anomaly of timing system on ship,the principle of monitoring software setting up modulation ratio and output time zone is deeply analyzed,the FTA is established,and the bottom event is analyzed,which locate the fault location of B code terminal time abnormality is monitoring software. In order to solve the problem,analysis the monitoring software code,further locate the reason of B code terminal time anomaly problem is having a defect in the B(AC) code modulation ratio setting function in the monitoring software. After modifying the monitoring software setting function,it conforms to the internal communication protocol of the timing equipment. Through the test of the improved software,it shows that the equipment output time zone is no longer hopping,after setting the B(AC) code modulation ratio of monitoring software,it effectively solves the problem of B code terminal time anomaly.
Key words: ship;timing system;B code terminal;time zone;FTA (fault tree analysis);abnormality
船載時間統(tǒng)一系統(tǒng)為船舶各用戶及配套設(shè)備提供標準頻率和標準時間信號,確保岸船設(shè)備之間時間同步,特別是對科學(xué)試驗中整個試驗系統(tǒng)時間和頻率的統(tǒng)一、保證測量數(shù)據(jù)正確有效有著重大意義[1]。目前船載時間統(tǒng)一技術(shù)及設(shè)備日趨成熟,但在使用過程中也陸續(xù)發(fā)現(xiàn)了一些問題,其中B碼終端時間異常問題比較突出,該問題直接導(dǎo)致輸出時間錯誤。主要現(xiàn)象是在監(jiān)控軟件上設(shè)置B(AC)碼調(diào)制比時會引起用戶終端時間5個小時的跳變,但監(jiān)控軟件和控制器面板顯示時間均正常,監(jiān)控軟件關(guān)閉后重啟問題消失。通過深入分析設(shè)置調(diào)制比及輸出時區(qū)原理,建立FTA故障樹模型對該問題進行研究,并進行相應(yīng)改進,預(yù)期解決B碼終端時間異常問題,以提高船載時間統(tǒng)一系統(tǒng)的可靠性。
1? ?設(shè)置調(diào)制比及輸出時區(qū)原理分析
調(diào)制比及輸出時區(qū)設(shè)置命令的傳遞原理圖如圖1所示。船載時間統(tǒng)一設(shè)備的B(AC)碼調(diào)制比、輸出時區(qū)可通過控制器或監(jiān)控軟件進行設(shè)置,產(chǎn)生器接收到設(shè)置的B(AC)碼調(diào)制比、輸出時區(qū)等信息后,產(chǎn)生相應(yīng)格式的輸出時碼。產(chǎn)生的輸出時碼,再通過時碼區(qū)放模塊進行硬件信號區(qū)分放大后輸出到時間統(tǒng)一設(shè)備外,供用戶使用[2-3]。
時間統(tǒng)一設(shè)備內(nèi)部通信協(xié)議中,設(shè)置B(AC)碼調(diào)制比、顯示時區(qū)、輸出時區(qū)是由同一條命令碼的不同字節(jié)位表示,即每次發(fā)出的該條命令碼必然同時設(shè)置這三項參數(shù)。監(jiān)控軟件(經(jīng)SNMP中轉(zhuǎn))與控制器的該條命令碼格式完全相同[4]。
時間統(tǒng)一設(shè)備中,顯示時區(qū)僅用于界面時間顯示,輸出時區(qū)僅用于設(shè)備實際的輸出時碼數(shù)值定義。兩者均可獨立設(shè)置,因此,顯示時區(qū)與輸出時區(qū)可不相同。
2? ?基于FTA的B碼終端時間異常問題研究
2.1? ?FTA分析模型
為了準確地定位問題,采用FTA(故障樹)分析法,通過列舉和分析導(dǎo)致故障發(fā)生的底事件,進行逐一排除,最后針對性地分析故障底事件的產(chǎn)生機理,提出有效的解決措施[5-6]。
針對問題現(xiàn)象,建立如圖2所示的B碼終端時間異常故障樹分析模型,再依據(jù)故障樹對每一底事件(Xn)進行排查。
2.2? ?底事件分析
2.2.1? ?B碼區(qū)放模塊(X1)故障分析
B碼區(qū)放模塊為純硬件轉(zhuǎn)發(fā)結(jié)構(gòu),可能導(dǎo)致輸出失真,但不可能導(dǎo)致輸出時區(qū)的變化。因此,可排除B碼區(qū)放模塊故障事件。
2.2.2? ?產(chǎn)生器(X2)故障分析
由圖1可知,監(jiān)控軟件與控制器對輸出時區(qū)的設(shè)置為并行傳輸結(jié)構(gòu)。但控制器設(shè)置B(AC)碼調(diào)制比并不會導(dǎo)致輸出時區(qū)故障現(xiàn)象,而監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比會導(dǎo)致輸出時區(qū)故障現(xiàn)象[7]。
通過走查產(chǎn)生器軟件代碼,發(fā)現(xiàn)產(chǎn)生器對監(jiān)控軟件或控制器所下發(fā)命令碼的處理函數(shù)為同一函數(shù)。即產(chǎn)生器對監(jiān)控軟件與控制器的命令碼處理完全相同。因此,可排除產(chǎn)生器故障事件。
2.2.3? ?控制器(X3)故障分析
通過CAN總線抓包,查看和比較控制器和監(jiān)控軟件(經(jīng)SNMP模塊中轉(zhuǎn))分別設(shè)置B(AC)碼調(diào)制比時的CAN總線命令碼。設(shè)置B(AC)碼調(diào)制比、顯示時區(qū)、輸出時區(qū)的CAN總線命令碼定義格式如下[8-9]:
第1字節(jié):幀頭固定為0x10
第2字節(jié):調(diào)制比(1-6)
第3字節(jié):顯示時區(qū)的正負標志(0或1)
第4字節(jié):顯示時區(qū)的值(0-12)
第5字節(jié):輸出時區(qū)的正負標志(0或1)
第6字節(jié):輸出時區(qū)的值(0-12)
第7字節(jié):特別預(yù)留值
圖3是控制器的調(diào)制比設(shè)置CAN總線截圖,圖4監(jiān)控軟件的調(diào)制比設(shè)置CAN總線截圖,從圖3和圖4可知,控制器發(fā)出的CAN總線命令碼完全正確;SNMP模塊發(fā)出的CAN總線命令碼中,設(shè)置B(AC)碼調(diào)制比、顯示時區(qū)的4個字節(jié)完全正確,而設(shè)置輸出時區(qū)的2個字節(jié)為不符合協(xié)議的錯誤數(shù)值。因此,可排除控制器故障事件。
2.2.4? ?SNMP模塊(X4)故障分析
由圖1可知,監(jiān)控軟件下發(fā)的網(wǎng)絡(luò)命令碼需要通過SNMP模塊轉(zhuǎn)發(fā)至CAN總線。通過網(wǎng)絡(luò)抓包,查看監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比時的網(wǎng)絡(luò)命令碼。網(wǎng)絡(luò)命令碼定義格式與CAN總線命令碼定義格式完全相同[10]。圖5是監(jiān)控軟件的調(diào)制比設(shè)置網(wǎng)絡(luò)截圖,由圖5可知,網(wǎng)絡(luò)命令碼只有4個字節(jié),即缺失了第5-7字節(jié)。
通過走查SNMP模塊軟件代碼,發(fā)現(xiàn):因為CAN總線標準協(xié)議限制單條指令的數(shù)據(jù)位不超過8個字節(jié)。因此SNMP模塊軟件設(shè)計為,每次收到監(jiān)控軟件命令,均直接將其填充至長度為8個字節(jié)的共用發(fā)送緩沖區(qū)中并轉(zhuǎn)發(fā)。當所接收的命令碼格式不足8個字節(jié)時,不足的字節(jié)位將保持之前共用發(fā)送緩沖區(qū)的值。
例如:01,02為其他命令碼;03為調(diào)制比、輸出時區(qū)設(shè)置命令碼。01協(xié)議長度為7個字節(jié);02協(xié)議長度為6個字節(jié);03協(xié)議長度為7個字節(jié)。表1和表2分別是故障和正常時網(wǎng)絡(luò)命令和轉(zhuǎn)發(fā)后的CAN命令格式,其中下劃線字體為CAN總線協(xié)議定義的有效處理字節(jié)。
通過對圖4與圖5的比對,SNMP模塊的轉(zhuǎn)發(fā)符合其設(shè)計要求。故障基底是由于監(jiān)控軟件的生成錯誤,而不是SNMP模塊的轉(zhuǎn)發(fā)錯誤。因此,可排除SNMP模塊故障事件。
2.2.5? ?監(jiān)控軟件(X5)故障分析
通過對監(jiān)控軟件代碼的核查,發(fā)現(xiàn)在B(AC)碼調(diào)制比設(shè)置函數(shù)中,監(jiān)控軟件只生成了前4個字節(jié),而未生成第5-7字節(jié)。不符合時間統(tǒng)一設(shè)備的內(nèi)部通信協(xié)議。代碼如下所示。
因此,B碼終端時間異常問題可定位于監(jiān)控軟件故障事件。
2.3? ?故障復(fù)現(xiàn)
在時間統(tǒng)一設(shè)備開機后,通過監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比,設(shè)備輸出時區(qū)即發(fā)生跳變。連續(xù)多次測試后,B碼終端時間異常問題100%復(fù)現(xiàn)。
3? ?B碼終端時間異常問題改進及實驗驗證
通過上述分析,B碼終端時間異常問題是由監(jiān)控軟件中B(AC)碼調(diào)制比設(shè)置函數(shù)的缺陷所導(dǎo)致的。該問題主要通過完善監(jiān)控軟件來解決。
修改后的代碼如下所示。
byte[] bys1 = new byte[7];
bys1[0] = 0x10;
bys1[1] = Convert.ToByte(iPro);
Form_main.byte_Tiaozhi = bys1[1];
bys1[2] = Form_main.int_GMt_sign;
bys1[3] = Form_main.int_GMt_value;
/*本地時 */
if (Form_main.int_GMtOut == 1)
{
bys1[4] = Form_main.int_GMt_sign;
bys1[5] = Form_main.int_GMt_value;
bys1[6] = 0x01;
Form_main.int_GMtOut = 1;
}
/*UTC時*/
else if (Form_main.int_GMtOut == 0)
{
bys1[4] = 0x00;
bys1[5] = 0x00;
bys1[6] = 0x00;
Form_main.int_GMtOut = 0;
}
圖6是修改代碼后監(jiān)控軟件的調(diào)制比設(shè)置網(wǎng)絡(luò)截圖,圖7是修改代碼后監(jiān)控軟件的調(diào)制比設(shè)置CAN總線截圖。通過監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比,設(shè)備輸出時區(qū)不再發(fā)生跳變。連續(xù)多次測試后,設(shè)備100%正常。
4? ?結(jié)束語
船載時間統(tǒng)一系統(tǒng)的B碼終端時間異常問題將直接導(dǎo)致用戶各設(shè)備接收異常的時間,針對該問題,采用FTA分析方法并深入剖析監(jiān)控軟件設(shè)置調(diào)制比及輸出時區(qū)原理,精準定位了B碼終端時間異常問題的原因是監(jiān)控軟件中B(AC)碼調(diào)制比設(shè)置函數(shù)存在缺陷,不符合時間統(tǒng)一設(shè)備內(nèi)部通信協(xié)議。通過改進監(jiān)控軟件程序并進行測試,解決了B碼終端時間異常問題,提高了船載時間統(tǒng)一系統(tǒng)輸出B碼的可靠性。
參考文獻
[1]? ? 劉澤水,鄒海東. 時間統(tǒng)一系統(tǒng)秒同步故障遠程預(yù)警系統(tǒng)設(shè)計[J]. 計算技術(shù)與自動化,2015,(2):46—48.
[2]? ? 李天文.GPS原理及應(yīng)用(第一版)[M].北京:科學(xué)出版社,2003,9:94.
[3]? ? GUO X P. Constrained optimization for average cost continuous-time Markov decision processes[J]. IEEE Tans Automat Control,2007,52:1139—1143.
[4]? ? 童寶潤. 時間統(tǒng)一技術(shù)[M]. 北京:國防工業(yè)出版社,2004:110.
[5]? ? ZOU Hai-dong. Research on the prediction of second synchronization in timing system using cubic exponential smoothing[C]. LEMCS 2015,2015,07:36.
[6]? ? 唐金元. 北斗衛(wèi)星導(dǎo)航區(qū)域系統(tǒng)發(fā)展應(yīng)用綜述[J]. 全球定位系統(tǒng)2013,38(5):47—52.
[7]? ? 譚述森,李琳. 北斗系統(tǒng)導(dǎo)航定位報告體制與工程技術(shù)[J].導(dǎo)航定位學(xué)報,2013,1(3):1—9.
[8]? ? 馬煦,瞿穏科,韓玉宏. 衛(wèi)星導(dǎo)航系統(tǒng)授時精度分析與評估[Z]. 電訊技術(shù),2007,47(2):112—115.
[9]? ? 門蘭寧. 北斗接收機關(guān)鍵技術(shù)研究[D]. 西安:西安電子科技大學(xué),2013:65.
[10]? 周啟民. 高精度守時電路設(shè)計及其在導(dǎo)航接收機的實現(xiàn)[D].武漢:武漢理工大學(xué),2008.