4.8数据回放.37
4.9数据传递.38
5数据分析仪界面实现39
5.1主操作界面.39
5.2导入数据界面.58
5.3数据回放界面.64
5.4章节小结.65
6功能实现与成果展示66
6.1功能实现逻辑.66
6.2系统实现效果.70
6.3部署.75
结论78
致谢79
参考文献.80
附录A核心代码.83
1 绪论 1.1 课题背景 武器设备监控系统,主要监控了各武备系统的传感器(比如雷达火控台、光电跟踪仪等)、武备控制系统(比如指挥控制台、光电火控台等)和武器设备等系统,通过 TCP/IP 协议,实现武备系统的通信、协同工作等。在不同设备协同工作的时候,设备之间互相发送、接受报文信息,通过报文信息来判断下一步操作,再进行报文转发,或者判断操作目标,或者发出操作指令,相互协调合作来执行作战命令。 但是由于武备控制系统缺乏数据分析设备,操作人员无法在线监控各个分系统间的通讯状态、控制时序,结果出现被控对象抖动,而无法查明原因,严重影响了系统研制的进度,增加了研制成本。本项目基于此需求,拟设计出一套数据分析仪,包含数据录取回放功能、数据含义解析、故障诊断与定位功能、性能指标检测功能、分系统模拟功能,从而为武备控制系统在系统联调、交验、靶场试验、售后服务过程中提供技术保障,缩短各个阶段的时间,减少研制成本。 1.2 武器设备交互通信 在武备控制系统的节点上存在许多设备,设备之间的通信数据将是本文进行数据分析的数据来源。本文将主要针对 4 种设备,分别是光电跟踪仪、光电火控台、左、右单 30mm 舰炮,其设备节点号分别为“0x03”、“0x0C”、“0x21”、“0x22”。 光电跟踪仪与光电火控台之间的通信,主要为火控台设置跟踪仪的相关参数、向跟踪仪发送命令,跟踪仪则根据命令去跟踪目标,并获取目标当前各参数,将数据发送给火控台。火控台根据目标数据滤波结算,计算射击诸元。这两个设备之间,光电跟踪仪每 20ms 产生一次中断,立即进行光电指向器、角速度、己舰情况数据的采样,并进行光电测距,完成偏差数据处理,在 4-6ms 将报文向火控台汇报,汇报的报文按照报文标识为“0x030C”的格式来组装。而光电火控台同样 20ms 产生一次中断,在 0-2ms 按报文标识“0x0C03”发送报文给光电跟踪仪,发送的数据为以光电跟踪仪指向器为坐标原点的坐标量,指示目标方位数据。假如发送数据前未收到跟踪仪发送的报文,则给出“未收到报文”信息。 光电火控台与单 30mm 舰炮之间的通信,主要是光电火控台向舰炮发送计算好的射击诸元控制信息,舰炮回送其状态信息。比如火控台需要装定余弹数,发送给舰炮报文,而舰炮接收到报文,回送装定的余弹数,并表示数据装定成功。同时,舰炮还会回送射击过程中的故障信息,比如舰炮随动故障、计算机故障等。若发送数据前根据报文帧号检测未接收到对应的报文,则回送“未接受报文”信息。 1.3 开发平台 本文主要基于.NET 开发平台,使用 C#编程语言,在 Visual Studio 开发工具上进行软件开发,不管是操作界面的设计,亦或是数据库的操作,它们都提供了充足且方便的工具加以利用。下文主要介绍了.NET 框架的优势、C#技术的特点以及本文所需的 SQLite 数据库的操作要点。 1.3.1 Microsoft .NET 框架 微软总裁兼首席执行官 Steve Ballmer 给.NET 下的定义为:“.NET 代表一个集合,一个环境,一个可以作为平台支持下一代 Interact的可编程结构”。.NET=新平台+标准协议+统一开发工具。.NET的最终目的就是让用户在任何地方、任何时问,以及利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收就可以了,而所有后台复杂性均封装起来[1]。 .NET框架能够支持所有关键的面向对象的概念,例如封装、重载、继承和多态性。事例成员和静态成员等内容都封装在类当中,这样的设计使得代码更为简单易读。本文中通过这些机制,对设定的方法进行了灵活运用,丰富了功能,减少代码复杂性。为了避免由于改写方法而引起的代码出错,需要通过非虚拟的方法定义类,并且不可以被派生类改写。通过这种设置,节省了虚拟函数表,且能够保证正确的版本控制[2]。.NET应用程序主要可以分为两类:一类是 ASP.NET 网页应用程序;另一类是 Windows 应用程序。Windows 应用程序是基于传统的 C/S架构,它可以开发MIS 系统,也可以开发 Windows 服务类应用程序,或者是动态链接库(DLL)。本文的开发就是基于 C/S架构的Windows 应用程序[3]。 1.3.2 C#技术 C#语言是微软为.NET Framework 量身订做的编程语言,面向对象,简单但是很安全。开发人员可以利用它来建立基于.NET 框架上的各种应用程序,安全可靠。C#可以创建简单的客户端应用程序、XML Web 服务、分布式组件、C/S应用程序、数据库应用程序等等。它同时拥有 C/C++的强大功能和 visual BaSic 简单易用的特性,是首个组件导向的程序语言。运用C#语言进行程序设计时,不需要考虑某一功能的具体实现过程,只需要知道实现这一功能需要哪些方法,然后对方法进行调用即可[4-5]。
- 上一篇:基于E-MOTION伺服系统及其在AGV小车上的应用
- 下一篇:汽车轮毂涂装车间除尘系统设计
-
-
-
-
-
-
-
中国传统元素在游戏角色...
g-C3N4光催化剂的制备和光催化性能研究
浅析中国古代宗法制度
上市公司股权结构对经营绩效的影响研究
江苏省某高中学生体质现状的调查研究
现代简约美式风格在室内家装中的运用
NFC协议物理层的软件实现+文献综述
高警觉工作人群的元情绪...
C++最短路径算法研究和程序设计
巴金《激流三部曲》高觉新的悲剧命运