毛江錕 劉洪源
摘? ?要:針對(duì)船載時(shí)間統(tǒng)一系統(tǒng)B碼終端時(shí)間異常問(wèn)題,深入分析監(jiān)控軟件設(shè)置調(diào)制比及輸出時(shí)區(qū)原理,建立FTA故障樹(shù)分析模型,分析故障底事件,定位了B碼終端時(shí)間異常問(wèn)題的故障部位是監(jiān)控軟件。為了解決該問(wèn)題,對(duì)監(jiān)控軟件代碼進(jìn)行分析,進(jìn)一步精確定位了B碼終端時(shí)間異常問(wèn)題的原因是監(jiān)控軟件中B(AC)碼調(diào)制比設(shè)置函數(shù)存在缺陷,修改監(jiān)控軟件設(shè)置函數(shù),使其符合了時(shí)間統(tǒng)一設(shè)備內(nèi)部通信協(xié)議。通過(guò)對(duì)改進(jìn)后的軟件進(jìn)行測(cè)試表明,監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比后設(shè)備輸出時(shí)區(qū)不再發(fā)生跳變,從而有效解決了B碼終端時(shí)間異常問(wèn)題。
關(guān)鍵詞:船載;時(shí)間統(tǒng)一;B碼終端;時(shí)區(qū);FTA;異常
中圖分類號(hào):TP274? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: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
船載時(shí)間統(tǒng)一系統(tǒng)為船舶各用戶及配套設(shè)備提供標(biāo)準(zhǔn)頻率和標(biāo)準(zhǔn)時(shí)間信號(hào),確保岸船設(shè)備之間時(shí)間同步,特別是對(duì)科學(xué)試驗(yàn)中整個(gè)試驗(yàn)系統(tǒng)時(shí)間和頻率的統(tǒng)一、保證測(cè)量數(shù)據(jù)正確有效有著重大意義[1]。目前船載時(shí)間統(tǒng)一技術(shù)及設(shè)備日趨成熟,但在使用過(guò)程中也陸續(xù)發(fā)現(xiàn)了一些問(wèn)題,其中B碼終端時(shí)間異常問(wèn)題比較突出,該問(wèn)題直接導(dǎo)致輸出時(shí)間錯(cuò)誤。主要現(xiàn)象是在監(jiān)控軟件上設(shè)置B(AC)碼調(diào)制比時(shí)會(huì)引起用戶終端時(shí)間5個(gè)小時(shí)的跳變,但監(jiān)控軟件和控制器面板顯示時(shí)間均正常,監(jiān)控軟件關(guān)閉后重啟問(wèn)題消失。通過(guò)深入分析設(shè)置調(diào)制比及輸出時(shí)區(qū)原理,建立FTA故障樹(shù)模型對(duì)該問(wèn)題進(jìn)行研究,并進(jìn)行相應(yīng)改進(jìn),預(yù)期解決B碼終端時(shí)間異常問(wèn)題,以提高船載時(shí)間統(tǒng)一系統(tǒng)的可靠性。
1? ?設(shè)置調(diào)制比及輸出時(shí)區(qū)原理分析
調(diào)制比及輸出時(shí)區(qū)設(shè)置命令的傳遞原理圖如圖1所示。船載時(shí)間統(tǒng)一設(shè)備的B(AC)碼調(diào)制比、輸出時(shí)區(qū)可通過(guò)控制器或監(jiān)控軟件進(jìn)行設(shè)置,產(chǎn)生器接收到設(shè)置的B(AC)碼調(diào)制比、輸出時(shí)區(qū)等信息后,產(chǎn)生相應(yīng)格式的輸出時(shí)碼。產(chǎn)生的輸出時(shí)碼,再通過(guò)時(shí)碼區(qū)放模塊進(jìn)行硬件信號(hào)區(qū)分放大后輸出到時(shí)間統(tǒng)一設(shè)備外,供用戶使用[2-3]。
時(shí)間統(tǒng)一設(shè)備內(nèi)部通信協(xié)議中,設(shè)置B(AC)碼調(diào)制比、顯示時(shí)區(qū)、輸出時(shí)區(qū)是由同一條命令碼的不同字節(jié)位表示,即每次發(fā)出的該條命令碼必然同時(shí)設(shè)置這三項(xiàng)參數(shù)。監(jiān)控軟件(經(jīng)SNMP中轉(zhuǎn))與控制器的該條命令碼格式完全相同[4]。
時(shí)間統(tǒng)一設(shè)備中,顯示時(shí)區(qū)僅用于界面時(shí)間顯示,輸出時(shí)區(qū)僅用于設(shè)備實(shí)際的輸出時(shí)碼數(shù)值定義。兩者均可獨(dú)立設(shè)置,因此,顯示時(shí)區(qū)與輸出時(shí)區(qū)可不相同。
2? ?基于FTA的B碼終端時(shí)間異常問(wèn)題研究
2.1? ?FTA分析模型
為了準(zhǔn)確地定位問(wèn)題,采用FTA(故障樹(shù))分析法,通過(guò)列舉和分析導(dǎo)致故障發(fā)生的底事件,進(jìn)行逐一排除,最后針對(duì)性地分析故障底事件的產(chǎn)生機(jī)理,提出有效的解決措施[5-6]。
針對(duì)問(wèn)題現(xiàn)象,建立如圖2所示的B碼終端時(shí)間異常故障樹(shù)分析模型,再依據(jù)故障樹(shù)對(duì)每一底事件(Xn)進(jìn)行排查。
2.2? ?底事件分析
2.2.1? ?B碼區(qū)放模塊(X1)故障分析
B碼區(qū)放模塊為純硬件轉(zhuǎn)發(fā)結(jié)構(gòu),可能導(dǎo)致輸出失真,但不可能導(dǎo)致輸出時(shí)區(qū)的變化。因此,可排除B碼區(qū)放模塊故障事件。
2.2.2? ?產(chǎn)生器(X2)故障分析
由圖1可知,監(jiān)控軟件與控制器對(duì)輸出時(shí)區(qū)的設(shè)置為并行傳輸結(jié)構(gòu)。但控制器設(shè)置B(AC)碼調(diào)制比并不會(huì)導(dǎo)致輸出時(shí)區(qū)故障現(xiàn)象,而監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比會(huì)導(dǎo)致輸出時(shí)區(qū)故障現(xiàn)象[7]。
通過(guò)走查產(chǎn)生器軟件代碼,發(fā)現(xiàn)產(chǎn)生器對(duì)監(jiān)控軟件或控制器所下發(fā)命令碼的處理函數(shù)為同一函數(shù)。即產(chǎn)生器對(duì)監(jiān)控軟件與控制器的命令碼處理完全相同。因此,可排除產(chǎn)生器故障事件。
2.2.3? ?控制器(X3)故障分析
通過(guò)CAN總線抓包,查看和比較控制器和監(jiān)控軟件(經(jīng)SNMP模塊中轉(zhuǎn))分別設(shè)置B(AC)碼調(diào)制比時(shí)的CAN總線命令碼。設(shè)置B(AC)碼調(diào)制比、顯示時(shí)區(qū)、輸出時(shí)區(qū)的CAN總線命令碼定義格式如下[8-9]:
第1字節(jié):幀頭固定為0x10
第2字節(jié):調(diào)制比(1-6)
第3字節(jié):顯示時(shí)區(qū)的正負(fù)標(biāo)志(0或1)
第4字節(jié):顯示時(shí)區(qū)的值(0-12)
第5字節(jié):輸出時(shí)區(qū)的正負(fù)標(biāo)志(0或1)
第6字節(jié):輸出時(shí)區(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)制比、顯示時(shí)區(qū)的4個(gè)字節(jié)完全正確,而設(shè)置輸出時(shí)區(qū)的2個(gè)字節(jié)為不符合協(xié)議的錯(cuò)誤數(shù)值。因此,可排除控制器故障事件。
2.2.4? ?SNMP模塊(X4)故障分析
由圖1可知,監(jiān)控軟件下發(fā)的網(wǎng)絡(luò)命令碼需要通過(guò)SNMP模塊轉(zhuǎn)發(fā)至CAN總線。通過(guò)網(wǎng)絡(luò)抓包,查看監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比時(shí)的網(wǎng)絡(luò)命令碼。網(wǎng)絡(luò)命令碼定義格式與CAN總線命令碼定義格式完全相同[10]。圖5是監(jiān)控軟件的調(diào)制比設(shè)置網(wǎng)絡(luò)截圖,由圖5可知,網(wǎng)絡(luò)命令碼只有4個(gè)字節(jié),即缺失了第5-7字節(jié)。
通過(guò)走查SNMP模塊軟件代碼,發(fā)現(xiàn):因?yàn)镃AN總線標(biāo)準(zhǔn)協(xié)議限制單條指令的數(shù)據(jù)位不超過(guò)8個(gè)字節(jié)。因此SNMP模塊軟件設(shè)計(jì)為,每次收到監(jiān)控軟件命令,均直接將其填充至長(zhǎng)度為8個(gè)字節(jié)的共用發(fā)送緩沖區(qū)中并轉(zhuǎn)發(fā)。當(dāng)所接收的命令碼格式不足8個(gè)字節(jié)時(shí),不足的字節(jié)位將保持之前共用發(fā)送緩沖區(qū)的值。
例如:01,02為其他命令碼;03為調(diào)制比、輸出時(shí)區(qū)設(shè)置命令碼。01協(xié)議長(zhǎng)度為7個(gè)字節(jié);02協(xié)議長(zhǎng)度為6個(gè)字節(jié);03協(xié)議長(zhǎng)度為7個(gè)字節(jié)。表1和表2分別是故障和正常時(shí)網(wǎng)絡(luò)命令和轉(zhuǎn)發(fā)后的CAN命令格式,其中下劃線字體為CAN總線協(xié)議定義的有效處理字節(jié)。
通過(guò)對(duì)圖4與圖5的比對(duì),SNMP模塊的轉(zhuǎn)發(fā)符合其設(shè)計(jì)要求。故障基底是由于監(jiān)控軟件的生成錯(cuò)誤,而不是SNMP模塊的轉(zhuǎn)發(fā)錯(cuò)誤。因此,可排除SNMP模塊故障事件。
2.2.5? ?監(jiān)控軟件(X5)故障分析
通過(guò)對(duì)監(jiān)控軟件代碼的核查,發(fā)現(xiàn)在B(AC)碼調(diào)制比設(shè)置函數(shù)中,監(jiān)控軟件只生成了前4個(gè)字節(jié),而未生成第5-7字節(jié)。不符合時(shí)間統(tǒng)一設(shè)備的內(nèi)部通信協(xié)議。代碼如下所示。
因此,B碼終端時(shí)間異常問(wèn)題可定位于監(jiān)控軟件故障事件。
2.3? ?故障復(fù)現(xiàn)
在時(shí)間統(tǒng)一設(shè)備開(kāi)機(jī)后,通過(guò)監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比,設(shè)備輸出時(shí)區(qū)即發(fā)生跳變。連續(xù)多次測(cè)試后,B碼終端時(shí)間異常問(wèn)題100%復(fù)現(xiàn)。
3? ?B碼終端時(shí)間異常問(wèn)題改進(jìn)及實(shí)驗(yàn)驗(yàn)證
通過(guò)上述分析,B碼終端時(shí)間異常問(wèn)題是由監(jiān)控軟件中B(AC)碼調(diào)制比設(shè)置函數(shù)的缺陷所導(dǎo)致的。該問(wèn)題主要通過(guò)完善監(jiān)控軟件來(lái)解決。
修改后的代碼如下所示。
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;
/*本地時(shí) */
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時(shí)*/
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總線截圖。通過(guò)監(jiān)控軟件設(shè)置B(AC)碼調(diào)制比,設(shè)備輸出時(shí)區(qū)不再發(fā)生跳變。連續(xù)多次測(cè)試后,設(shè)備100%正常。
4? ?結(jié)束語(yǔ)
船載時(shí)間統(tǒng)一系統(tǒng)的B碼終端時(shí)間異常問(wèn)題將直接導(dǎo)致用戶各設(shè)備接收異常的時(shí)間,針對(duì)該問(wèn)題,采用FTA分析方法并深入剖析監(jiān)控軟件設(shè)置調(diào)制比及輸出時(shí)區(qū)原理,精準(zhǔn)定位了B碼終端時(shí)間異常問(wèn)題的原因是監(jiān)控軟件中B(AC)碼調(diào)制比設(shè)置函數(shù)存在缺陷,不符合時(shí)間統(tǒng)一設(shè)備內(nèi)部通信協(xié)議。通過(guò)改進(jìn)監(jiān)控軟件程序并進(jìn)行測(cè)試,解決了B碼終端時(shí)間異常問(wèn)題,提高了船載時(shí)間統(tǒng)一系統(tǒng)輸出B碼的可靠性。
參考文獻(xiàn)
[1]? ? 劉澤水,鄒海東. 時(shí)間統(tǒng)一系統(tǒng)秒同步故障遠(yuǎn)程預(yù)警系統(tǒng)設(shè)計(jì)[J]. 計(jì)算技術(shù)與自動(dòng)化,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]? ? 童寶潤(rùn). 時(shí)間統(tǒng)一技術(shù)[M]. 北京:國(guó)防工業(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)航定位報(bào)告體制與工程技術(shù)[J].導(dǎo)航定位學(xué)報(bào),2013,1(3):1—9.
[8]? ? 馬煦,瞿穏科,韓玉宏. 衛(wèi)星導(dǎo)航系統(tǒng)授時(shí)精度分析與評(píng)估[Z]. 電訊技術(shù),2007,47(2):112—115.
[9]? ? 門(mén)蘭寧. 北斗接收機(jī)關(guān)鍵技術(shù)研究[D]. 西安:西安電子科技大學(xué),2013:65.
[10]? 周啟民. 高精度守時(shí)電路設(shè)計(jì)及其在導(dǎo)航接收機(jī)的實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2008.