APP下载

船载时间统一系统B码终端时间异常问题研究与改进

2019-11-05毛江锟刘洪源

计算技术与自动化 2019年3期
关键词:时区异常

毛江锟 刘洪源

摘   要:针对船载时间统一系统B码终端时间异常问题,深入分析监控软件设置调制比及输出时区原理,建立FTA故障树分析模型,分析故障底事件,定位了B码终端时间异常问题的故障部位是监控软件。为了解决该问题,对监控软件代码进行分析,进一步精确定位了B码终端时间异常问题的原因是监控软件中B(AC)码调制比设置函数存在缺陷,修改监控软件设置函数,使其符合了时间统一设备内部通信协议。通过对改进后的软件进行测试表明,监控软件设置B(AC)码调制比后设备输出时区不再发生跳变,从而有效解决了B码终端时间异常问题。

关键词:船载;时间统一;B码终端;时区;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

船载时间统一系统为船舶各用户及配套设备提供标准频率和标准时间信号,确保岸船设备之间时间同步,特别是对科学试验中整个试验系统时间和频率的统一、保证测量数据正确有效有着重大意义[1]。目前船载时间统一技术及设备日趋成熟,但在使用过程中也陆续发现了一些问题,其中B码终端时间异常问题比较突出,该问题直接导致输出时间错误。主要现象是在监控软件上设置B(AC)码调制比时会引起用户终端时间5个小时的跳变,但监控软件和控制器面板显示时间均正常,监控软件关闭后重启问题消失。通过深入分析设置调制比及输出时区原理,建立FTA故障树模型对该问题进行研究,并进行相应改进,预期解决B码终端时间异常问题,以提高船载时间统一系统的可靠性。

1   设置调制比及输出时区原理分析

调制比及输出时区设置命令的传递原理图如图1所示。船载时间统一设备的B(AC)码调制比、输出时区可通过控制器或监控软件进行设置,产生器接收到设置的B(AC)码调制比、输出时区等信息后,产生相应格式的输出时码。产生的输出时码,再通过时码区放模块进行硬件信号区分放大后输出到时间统一设备外,供用户使用[2-3]。

时间统一设备内部通信协议中,设置B(AC)码调制比、显示时区、输出时区是由同一条命令码的不同字节位表示,即每次发出的该条命令码必然同时设置这三项参数。监控软件(经SNMP中转)与控制器的该条命令码格式完全相同[4]。

时间统一设备中,显示时区仅用于界面时间显示,输出时区仅用于设备实际的输出时码数值定义。两者均可独立设置,因此,显示时区与输出时区可不相同。

2   基于FTA的B码终端时间异常问题研究

2.1   FTA分析模型

为了准确地定位问题,采用FTA(故障树)分析法,通过列举和分析导致故障发生的底事件,进行逐一排除,最后针对性地分析故障底事件的产生机理,提出有效的解決措施[5-6]。

针对问题现象,建立如图2所示的B码终端时间异常故障树分析模型,再依据故障树对每一底事件(Xn)进行排查。

2.2   底事件分析

2.2.1   B码区放模块(X1)故障分析

B码区放模块为纯硬件转发结构,可能导致输出失真,但不可能导致输出时区的变化。因此,可排除B码区放模块故障事件。

2.2.2   产生器(X2)故障分析

由图1可知,监控软件与控制器对输出时区的设置为并行传输结构。但控制器设置B(AC)码调制比并不会导致输出时区故障现象,而监控软件设置B(AC)码调制比会导致输出时区故障现象[7]。

通过走查产生器软件代码,发现产生器对监控软件或控制器所下发命令码的处理函数为同一函数。即产生器对监控软件与控制器的命令碼处理完全相同。因此,可排除产生器故障事件。

2.2.3   控制器(X3)故障分析

通过CAN总线抓包,查看和比较控制器和监控软件(经SNMP模块中转)分别设置B(AC)码调制比时的CAN总线命令码。设置B(AC)码调制比、显示时区、输出时区的CAN总线命令码定义格式如下[8-9]:

第1字节:帧头固定为0x10

第2字节:调制比(1-6)

第3字节:显示时区的正负标志(0或1)

第4字节:显示时区的值(0-12)

第5字节:输出时区的正负标志(0或1)

第6字节:输出时区的值(0-12)

第7字节:特别预留值

图3是控制器的调制比设置CAN总线截图,图4监控软件的调制比设置CAN总线截图,从图3和图4可知,控制器发出的CAN总线命令码完全正确;SNMP模块发出的CAN总线命令码中,设置B(AC)码调制比、显示时区的4个字节完全正确,而设置输出时区的2个字节为不符合协议的错误数值。因此,可排除控制器故障事件。

2.2.4   SNMP模块(X4)故障分析

由图1可知,监控软件下发的网络命令码需要通过SNMP模块转发至CAN总线。通过网络抓包,查看监控软件设置B(AC)码调制比时的网络命令码。网络命令码定义格式与CAN总线命令码定义格式完全相同[10]。图5是监控软件的调制比设置网络截图,由图5可知,网络命令码只有4个字节,即缺失了第5-7字节。

通过走查SNMP模块软件代码,发现:因为CAN总线标准协议限制单条指令的数据位不超过8个字节。因此SNMP模块软件设计为,每次收到监控软件命令,均直接将其填充至长度为8个字节的共用发送缓冲区中并转发。当所接收的命令码格式不足8个字节时,不足的字节位将保持之前共用发送缓冲区的值。

例如:01,02为其他命令码;03为调制比、输出时区设置命令码。01协议长度为7个字节;02协议长度为6个字节;03协议长度为7个字节。表1和表2分别是故障和正常时网络命令和转发后的CAN命令格式,其中下划线字体为CAN总线协议定义的有效处理字节。

通过对图4与图5的比对,SNMP模块的转发符合其设计要求。故障基底是由于监控软件的生成错误,而不是SNMP模块的转发错误。因此,可排除SNMP模块故障事件。

2.2.5   监控软件(X5)故障分析

通过对监控软件代码的核查,发现在B(AC)码调制比设置函数中,监控软件只生成了前4个字节,而未生成第5-7字节。不符合时间统一设备的内部通信协议。代码如下所示。

因此,B码终端时间异常问题可定位于监控软件故障事件。

2.3   故障复现

在时间统一设备开机后,通过监控软件设置B(AC)码调制比,设备输出时区即发生跳变。连续多次测试后,B码终端时间异常问题100%复现。

3   B码终端时间异常问题改进及实验验证

通过上述分析,B码终端时间异常问题是由监控软件中B(AC)码调制比设置函数的缺陷所导致的。该问题主要通过完善监控软件来解决。

修改后的代码如下所示。

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是修改代码后监控软件的调制比设置网络截图,图7是修改代码后监控软件的调制比设置CAN总线截图。通过监控软件设置B(AC)码调制比,设备输出时区不再发生跳变。连续多次测试后,设备100%正常。

4   结束语

船载时间统一系统的B码终端时间异常问题将直接导致用户各设备接收异常的时间,针对该问题,采用FTA分析方法并深入剖析监控软件设置调制比及输出时区原理,精准定位了B码终端时间异常问题的原因是监控软件中B(AC)码调制比设置函数存在缺陷,不符合时间统一设备内部通信协议。通过改进监控软件程序并进行测试,解决了B码终端时间异常问题,提高了船载时间统一系统输出B码的可靠性。

参考文献

[1]    刘泽水,邹海东. 时间统一系统秒同步故障远程预警系统设计[J]. 计算技术与自动化,2015,(2):46—48.

[2]    李天文.GPS原理及应用(第一版)[M].北京:科学出版社,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]    童宝润. 时间统一技术[M]. 北京:国防工业出版社,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]    唐金元. 北斗卫星导航区域系统发展应用综述[J]. 全球定位系统2013,38(5):47—52.

[7]    谭述森,李琳. 北斗系統导航定位报告体制与工程技术[J].导航定位学报,2013,1(3):1—9.

[8]    马煦,瞿穏科,韩玉宏. 卫星导航系统授时精度分析与评估[Z]. 电讯技术,2007,47(2):112—115.

[9]    门兰宁. 北斗接收机关键技术研究[D]. 西安:西安电子科技大学,2013:65.

[10]  周启民. 高精度守时电路设计及其在导航接收机的实现[D].武汉:武汉理工大学,2008.

猜你喜欢

时区异常
横跨四个时区的大巴西
横跨四个时区的大巴西
假期,下一站
你,正值其时
发电机负序电流异常增大的原因分析
电力计量装置异常的监测方法及处理对策
嵌入式系统课程“中断、异常与事件”教学实践及启示
探讨糖尿病合并促甲状腺激素、甲状腺激素异常患者的临床诊断治疗
“异常”动力
化难为易,图解时区计算题