




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密别 非密标记 导引头综合测试系统软件设计说明ZCP101000C1.1RWD1页共 79 北京航空航天大学2014 年 8 月 导引头综合测试系统软件设计说明ZCP101000C1.1RWD1 编 写 校 对 审 核 标 检 批 准 会 签: 目 次1 引言11.1 标示11.2 系统概述11.3 文档概述11.4 基线12 引用文件13 CSCI级设计决策14 CSCI体系结构设计24.1 体系结构24.1.1 软件模块结构24.1.2 系统软件架构44.2 全局数据结构说明54.2.1 常量54.2.2 变量54.3 CSCI部件54.3.1 自检模块54.3.2 登录模块54.3.3 用户管理模块54.3.4 数据回放模块54.3.5 外设控制模块54.3.6 测试结果管理模块54.3.7 添加测试任务模块64.3.8 运行状态上传模块64.3.9 数据上传功能64.3.10 修改数据库连接配置模块64.3.11 设备校准模块64.3.12 自动测试模块64.4 执行概念64.5 接口设计74.5.1 外部接口74.5.2 内部接口75 CSCI详细设计75.1 导引头测试模块85.2 外设控制105.3 用户管理模块105.4 文件管理模块115.5 程序界面设计155.6 MES管理系统205.7 自动测试215.8 数据库225.9 软件基本操作流程235.10 数据采集模块设计235.10.1 图像采集控制设计235.10.2 图像采集控制的实现255.11 RS-422通讯模块275.11.1 RS-422通讯控制设计275.11.2 RS-422通讯的实现285.12 AD测控模块295.12.1 AD测控设计295.12.2 AD测控的实现315.13 数据解码模块325.13.1 数据解码设计325.13.2 数据解码的实现345.14 数据存储模块355.15 数据显示模块375.15.1 图像显示设计375.15.2 LVDS数据显示设计385.15.3 RS-422数据显示设计395.15.4 模拟量数据显示设计405.16 用户管理模块405.17 系统登录模块415.17.1 数据显示配置415.18 数据回放模块设计425.19 图像和RS422回放设计425.19.1 灰度图像的显示435.19.2 二值图像的显示445.19.3 伪彩图像的显示445.19.4 图像局部放大445.19.5 图像分析设计455.20 回放控制设计465.20.1 变速播放设计465.20.2 播放控制设计465.21 设备自检模块475.22 上电电流采集回放模块设计475.22.1 上电电流采集和显示模块475.22.2 上电电流回放495.23 测试结果数据库模块设计495.23.1 测试结果自动保存方式495.23.2 测试结果显示、查找、修改与删除515.23.3 数据库备份525.23.4 测试结果EXCEL导出方式535.23.5 测试结果的上传545.24 自动测试模块设计565.24.1 自动测试环境初始化565.24.2 自动测试流程设计575.25 其它模块设计595.25.1 转台控制595.25.2 目标模拟器控制625.25.3 盲元剔除控制655.25.4 RS422数据下发实时显示与保存模块675.25.5 测试结果文件保存结构695.25.6 文件转移模块705.25.7 端口配置模块726 需求的可追踪性747 注释74ZCP101000C1.1RWD1 1 引言1.1 标示本软件项目名称为导引头综合测试系统,该软件适用于在常温状态下对导引头的主要功能进行定量检测。本文档配置标识为ZCP101000C1.1RWD1,版本号为1.0,发布号无。1.2 系统概述导引头综合测试系统,是一个以计算机为控制中心的自动化测试设备,在硬件平台的基础上充分发挥软件的控制作用,完成被测产品的电性能的定量检测,并保存相应的测试结果。因此,软件在测试系统中起着灵魂的作用,它的好与坏直接关系到整个测试系统性能的发挥。本测试软件设计基于软件工程的设计思想,采用自顶向下、分层设计的方法,结合层次化、模块化思想编写而成,具有界面友好、人机互动强、操作简单方便、自动化程度高等特点。1.3 文档概述本软件用户手册叙述了本软件所能实现的功能及运行环境以便使用者了解本软件的使用范围和使用方法,本文档为秘密级文件。1.4 基线每周项目组成员都会在一起讨论,比较项目与实际要求的差距,并提交问题及解决报告。每完成一小段计划,我们把它当作一个里程碑,并把项目进度中的一些重要的里程碑作为基线,步步为营,并确保基线的高质量完成。2 引用文件GJB438B-2009 军用软件开发文档通用要求GJB2786A-2009 军用软件开发通用要求3 CSCI级设计决策根据测试功能的不同,将导引头综合测试系统软件分为十三个功能模块:a) 用户登录模块:能判断用户名和密码是否匹配,并能添加用户及修改密码功能。每个用户名都有相对应的密码,只有当用户名跟密码相匹配时才能进入系统;b) 用户管理模块:能够创建用户、修改密码、删除用户;c) 自检模块:能够对设备中设备电源、产品电源和数据采集卡进行自检,并显示自检结果;d) 添加测试任务模块:添加测试任务、接收服务器传来的任务ID,刷新测试状态以及选择试验台检测、发射前检测或者自动检测等测试功能;e) 记录卡生成及数据显示模块:用于查看、显示测试完成的数据以及生成记录卡;f) 修改数据库连接配置模块:用于修改专用设备编号及数据传输的远程连接信息;g) 运行状态上传模块:测试人员上传开机时间、运行时间、运行故障的信息;h) 数据上传模块:实现测试报表的生成与数据上传功能;i) 设备校准模块:主要对电源和板卡进行校准;j) 退出模块:释放资源,退出系统。4 CSCI体系结构设计4.1 体系结构4.1.1 软件模块结构测试系统主要实现LVDS及422数据的实时采集、处理、显示、存储、回放、数据分析处理、硬件设备自检测等功能。软件设计将采用模块化结构,整个测控软件划分为以下几个基本模块:导引头测试模块、外设控制、系统校准和自检模块、用户管理模块、文件管理、MES管理系统、自动测试、测试结果数据库、数据分析处理模块。其基本功能结构如图1所示。图1 导引头综合测试软件系统框图4.1.2 系统软件架构a) 通用性设计软件结构的设计关系到软件是否具备通用性和扩展性。一个好的测试软件可以随着新型号新测试任务的增加不断升级,无需重新大量编写代码,缩短了系统开发的周期,也使得用户只需少量的学习就可以掌握软件的编写和使用。b) 模块化设计根据产品性能测试的一般要求,采用模块化的设计能够实现软件的通用接口,一旦设计好了各个模块的通用接口,当系统增加新的测试任务时,只需要在原来的基础上编写新的测试流程代码嵌入原先的程序即可完成新的测试功能。测试软件的基本层次结构如图2所示。图2 测试软件的层次结构图由图可见,测试软件从层次上分为三层:硬件层:随硬件板卡提供的针对特定板卡的应用程序接口(API)。这些应用程序接口是与硬件板卡的驱动程序乃至硬件板卡本身进行交互的最直接的途径。它从功能上真正地实现了模拟/数字信号的采集和发生。逻辑层:系统中包含不同类型的数据采集的硬件设备(板卡),而每一种硬件都会提供其独有的应用程序接口(API),这样就会造成上层功能构造的混乱。因此逻辑层的作用就是将不同硬件板卡的数据采集,与用户界面发出的针对某个板卡的控制指令进行统一协调的层次。它将不同板卡的不同格式的数据流转化为统一的格式,使得整个系统的扩展性更强,结构也更清晰。表现层:是指最上层的用户界面,用以显示采集上来的数据或进行必要的控制操作。这种设计不仅使测试软件结构框架明晰,便于前期的团队开发;同时也有助于后期的设备维护及系统更新。4.2 全局数据结构说明4.2.1 常量包括数据文件名称及其所在目录,功能说明,具体常量说明等。4.2.2 变量包括数据文件名称及其目录,功能说明,具体变量说明等。数据结构包括语句结构名称,功能说明,具体数据结构说明(定义、注释、取值)等。4.3 CSCI部件4.3.1 自检模块a) 电源自检功能;b) 板卡自检功能;4.3.2 登录模块a) 确认功能;b) 判别功能;c) 退出功能。4.3.3 用户管理模块a) 创建用户功能;b) 修改密码功能;c) 删除用户功能。4.3.4 数据回放模块a) 图像回放功能;b) LVDS数据回放功能;c) 422数据回放功能;d) 上电电流回放功能。4.3.5 外设控制模块a) 转台控制功能;b) 目标模拟器控制功能;c) 气源柜控制功能;4.3.6 测试结果管理模块a) 测试结果查找功能;b) 测试结果修改功能;c) 测试结果删除功能;d) 测试结果生成记录卡功能。4.3.7 添加测试任务模块a) 手动添加任务功能; b) 接受MES测试任务功能;c) 任务进度显示;d) 自动测试功能。4.3.8 运行状态上传模块上传运行状态功能。4.3.9 数据上传功能a) 上传表头信息功能;b) 查看记录卡功能;c) 上传测试数据功能。4.3.10 修改数据库连接配置模块a) 修改专用设备编号功能;b) 修改远程数据连接配置功能。4.3.11 设备校准模块a) 电源校准功能;b) 板卡校准;4.3.12 自动测试模块a) 自动测试项设置功能;b) 自动测试结果保存功能;c) 自动测试状态监视功能。4.4 执行概念双击桌面上的“导引头综合测试”软件图标,首先进入用户登录界面,输入用户名和密码后,系统通过配置文件中用户的信息与用户输入的信息进行比较,如果验证正确,将进入测试环境选择界面进行测试环境选择。进入主界面后,首先添加测试任务,填写产品编号、测试产品号、测试环境、测试者等完整的任务信息,也可接收一个MES任务。填写产品编号后可以查看该产品的测试进度。测试过程中,如果出现错误,则会提醒测试人员是否跳过该测试任务。如果测试人员没有及时做出选择,程序将自动跳过该测试任务,进行下一个测试任务或者结束测试。每当一个测试任务完成,程序提示是否保存测试数据,等待测试人员进行选择。如果在一定时间内没有选择,则会自动存储。测试完成后,测试人员可以选择数据查看数据界面,查看测试数据。也可以选择数据上传界面上传测试数据。4.5 接口设计4.5.1 外部接口用户界面:采用友好的Windows图形用户界面;软件接口:设计软件层次之间的接口,允许个层次和另一个层次之间交换请求和响应;服务器端:需要Oracle的支持;硬件接口:和Windows操作系统的接口,主要通过API函数实现:包括Oracle的接口和EXCEL的接口。4.5.2 内部接口a) 登录模块,进入软件登录模块。输入用户名和密码,进行密码用户比对,如果输入与实际一致,则能够进行其他操作。否则不能成功登陆;b) 用户管理模块,由登录调用,用来管理用户信息,包括:创建用户、修改密码、删除用户;c) 自检模块,自检模块主要对设备中的电源、板卡等硬件进行自检,并显示自检在结果;d) 添加测试任务模块,由界面选择模块调用,用来添加测试任务或者接受MES任务,并选择进行手动或者自动测试等功能;e) 发射前检测及模块,由添加测试任务模块进入该模块,点击各个功能按钮实现相应功能。其中自动测试模块包括:常温测试、综合循环测试、最终测试;f) 查看数据及生成报表模块,执行查看测试数据和生成记录卡的功能;g) 运行状态上传模块,由试验台检测模块、发射前检测模块和校准模块调用,执行运行状态数据上传功能;h) 数据上传模块,由界面选择模块调用,执行测试数据上传功能;i) 修改配置信息模块,由界面选择模块调用,执行修改专用产品编号和远程连接信息功能;j) 校准模块,主要对电源和板卡进行校准;k) 退出模块,由登录模块、试验台检测模块、发射前检测模块和校准模块、界面选择模块调用,执行完毕,退出系统。5 CSCI详细设计5.1 导引头测试模块导引头测试主要完成对电源状态的采集和控制和监视;对导引头图像进行采集和422数据进行采集,并将采集的数据以图像或曲线的形式解码显示在测试界面上。本系统采用北航自研的图像采集卡对导引头的图像进行采集。该板卡在软件设计时需要考虑以下两点:a) 板卡工作方式图像采集卡的工作方式按照动作形式分为三种:抓取单幅图像、获取一个序列图像和循环获取图像。本系统要求连续对图像进行采集,故应选用循环获得图像的方式。b) 数据缓冲区图像数据的缓冲区可以开在图像采集卡的板载内存上,也可以开在主机内存中。开缓冲区方式不同,所适用的场合也不尽相同。缓冲区开在板载内存上并采用获取一个序列的图像方式,数字图像卡能达到最高的采集性能,但它比较适用于获取图像时间短、速度极高的情况。这种情况下,图像采集卡把采集的图像数据直接保存在板载内存内,采集结束后再转存到主机内存中进行处理,因此不太适用于本工程长时间大批量的图像采集。在板载内存连续采集方式下,图像数据需要不断从板卡向系统内存转移,这种对外围设备操作导致拷贝的速度非常慢,拷贝16KB图像数据约需要耗时9.4ms左右。在主机内存连续采集的方式下,图像数据是在系统内存中传递,这种内存拷贝速度为微秒级,不需要另花时间从板上内存向系统内存拷贝数据,更适于高速连续采集数据图像。综上所述,本系统采用主机内存循环获取图像的采集模式。图像采集的基本流程如图3所示。图3 图像采集流程图在图像数据保存过程中,程序将图像和LVDS数据分开保存。这种做法可以提高图像回放时,载入文件的速度。本系统采用北航自研的RS422总线接口卡收发导引头的422格式数据。此卡配有完备的API接口,可以直接在.NET平台上调用。使用方法和操作控制器自带的COM串口一样灵活方便,而且其硬件特性完全满足被测产品的数据传输性能的需要。在测试过程中,当需要与导引头进行422数据通讯时,就打开相应的端口,执行读写命令即可。如若需要对接收到的数据进行保存,那么就需要采取与保存图像类似的方法,在一个单独的线程中进行文件的写入操作,避免对主测试程序性能的影响。RS422端口接收到的数据中,绝大多数是导引头的状态信息;而另一部分状态信息,导引头会通过LVDS通道随着图像信息一起发送,这部分信息放在每帧图像数据的最后512个字节中。因此解码导引头状态信息将涉及对LVDS数据和422数据的解码。LVDS数据采集时,连续存储在512字节的空间中,不能从中获得任何导引头状态的有效信息。解码过程就是按照LVDS定义的数据格式,分别解算出各个具体的状态信息,供显示和分析使用。每帧LVDS数据的大小为512字节,包含4字节LVDS数据格式帧头和508字节实际数据;而一帧422数据的大小为112字节,前3字节为帧头,后面的109字节需要进行解码。对于每个地址的数据,分别代表着不同的物理参数。解码的工作就是将每帧数据中所包含的这些物理参数解算出来,并以图形的方式显示。由于解算出来的状态信息非常多,不可能同时全部显示出来。因此,系统将设计一个数据选择面板,可由用户选择其中的几个数据进行波形显示,其他数据只显示当前的数值。选择操作可在测试过程中的任何时刻,不会影响到设备对数据的采集。导引头实时测试阶段,每次产品上电时,会记录前3秒的上电电流,并以波形曲线的形式画出和以文件的形式保存在计算中,用户可以在任意时间回放上电电流,并对其进行分析和计算。 5.2 外设控制外设设备包括目标、气源柜等。a) 目标控制目标控制包括目标光阑孔、目标快门和目标综合的设置,系统会自动查询发送的命令是否被正确执行,并定期查询目标状态,在目标状态监视波形图上绘制目标综合、光阑孔等参数的波形图。b) 气源柜系统对气源柜的控制主要有进气阀和出气阀控制和气源流量参数的读取。测试软件在运行过程当中,会记录外设的全部状态,如目标综合、光阑、快门、转台角速度、角位置、加速度、气源流量和磁盘阵列空间大小等状态数据,并保存到系统数据文件夹中,在时间轴上与422和图像等参数同步,方便随时查看和分析。5.3 用户管理模块为方便多个不同产品测试者对产品进行测试,用户管理模块可以方便的允许测试管理员对整个测试人员列表进行如添加、删除、修改等操作,方便测试管理和协调。同时,软件会针对不同的用户所有的权限来分别给予不同的操作限制,如系统管理员具有添加、修改、删除其它用户的权限,而普通用户只有修改自己用户密码和查看其它用户的权限;数据库方面,由于测试软件在自动测试过程当中,会根据设置来手动或自动保存所有的自动测试结果到总数据库当中,为了保护测试结果的安全,系统只允许管理员对数据库中的全部测试结果进行添加、删除、修改等操作,而普通的用户对允许对自己的测试结果进行修改等操作。以下是对用户过程的详细设计方案。a) 用户添加与修改 用户管理模块设计效果图如图4所示。图4 用户管理界面测试系统设计应用数据库对测试设备使用人员进行管理。在数据库表中,包括“用户名”、“密码”、“权限”等字段,仅“管理员”用户有权添加/删除用户或修改用户密码,其他用户只能浏览用户列表及修改自身密码。b)用户身份验证在进入测控主界面前,首先需要进行用户身份验证,用户登录界面设计效果图如图5所示。图5 用户身份验证界面只有在用户登录信息正确的情况下,才允许操作本测试系统。此外,根据测试需要,设置了“匿名登录”选项,可供操作人员打开测试系统,查看测试数据,但不允许修改任何设置和数据,且无权开始测试。5.4 文件管理模块数据管理模块主要包括图像的存储和回放、422数据的存储和回放、上电电流的存储和回放、422下发数据的存储和回放、目标、转台等其它参数的存储和回放。其中主要部分是数据回放的功能,它主要包括对文件中的数据进行读取、播放、定位、处理、二次存储等,并对获取的数据进行评估分析按照给定的算法给出分析结果。a) 图像和422数据的回放1) 图像和422回放文件读取文件的读取要与文件的存储格式相对应,否则将出现解析错误。本系统的文件存取可概括为:同组各文件按帧存取,同步存同步取,如图6所示。图6 文件按帧同步存取示意图系统采用分类存储的方式将图像数据、LVDS数据、422数据分别存储在不同的文件中,这些属于同一组测试数据,它们的文件名相同,只是扩展名不同。在存储时,所有的文件存储是同步的,即各文件存储的数据帧数是相同的,存储每一帧对应的时间相同,存储的起止时间也相同。按照文件存储格式定义,读取时,只要各文件同时开始读取,并且同时刻对同组中各文件读取的帧号相同,就能确保对三种数据的读取的同步性。由于每种文件存储的都是纯数据,各数据帧大小固定,因此读取某指定帧号数据通过偏移固定的地址就可以简单实现。当打开一个图像文件后,程序会同时打开相应的LVDS数据文件。首先根据文件的大小判断这个文件中存储了多少帧数据,每个文件存储的都是原始数据,例如LVDS图像文件001_IMG_00.raw大小为196 608 000 B,每一帧图像的大小为128128232 768 B,则两者相除可得196 608 00032 7686 000 ms,即这个文件内存储了1分钟的数据。同理,文件001_LVDS_00.bin的大小为3 080 192 B,每帧LVDS数据的大小为12822=512 B,相除也是6 000 ms。由上述可知各个文件的帧数是相同的,因此回放时每个文件偏移一帧数据送去显示即可实现某一时刻下的数据同步回放。采集到的每组数据量是固定的,在本次采集数据的开头增加起始绝对位置标签,在数据的结尾增加结束绝对位置标签,由于系统采样速率固定,因此由本次采集数据的个数则可计算出每个点所对应的具体位置。2) 数据解码和处理数据解码包括:从文件中读取图像数据、LVDS数据和422数据。由于图像文件可能非常大,因此回放过程采用以帧为单位,同时读取同时回放的方式。由图像数据解算出图像像素:从每帧图像数据的起始字节开始,每两个字节可以解算出一个像素。按图像数据中的正逆扫标志重新排列像素。按图像数据二值标志计算出二值图像的像素。由LVDS数据解算出导引头状态信息:根据LVDS数据的定义格式,将每帧图像所对应的512字节的LVDS字节数组解算出各个具体物理参数。由LVDS数据计算出目标跟踪框的位置和大小。3) 数据回放控制数据播放时,需要能控制播放的开始、暂停和停止,能设置播放的速度、方向、定位到某一帧。4) 数据回放显示回放显示包括图像显示和波形显示。图像显示可以同时显示两幅画面:一幅显示灰度或伪彩图像(可选);另一幅显示二值图像。5) 图像格式转换软件提供了将一个图像文件中的图像数据转换成flv格式的标准视频文件。此文件可以在其他任何一台装有flv视频播放器的计算机上播放,便于测试过程的复现。b) 上电电流回放测试软件在每次导引头上电时,都会以第10ms一次的速率采集+27V,+20V,20V的电流,采集时间为3S,采集完后,分析上电电流,即计算最大值、最小值、平均值和电流持续时间等相关参数,并把这些数据储存在txt文件当中,以便用户选择并回放任意一次的上电电流。上电电流实时监视和回放界面如图7所示:图7 上电电流回放界面c) 422下发数据查看测试软件使用422下发数据给导引头时,会将每次下的数据保存在整个文件当中,文件以打开测试软件为分隔标准,允许用户对任意一时间的下发指令进行查看,同时,还可以对下发的数据进行以二进制或十六进制的方式实时查看,422实时查看和回放界面如图8所示:图8 422发送数据回放界面5.5 程序界面设计程序界面总共包含总控界面、图像回放界面、422参数回放界面、状态监视和盲元烧写界面、测试结果管理界面。测试界面的总框图如图9所示:图9 测试界面的总框图a) 自动测试界面自动测试界面包括的界面框图如图10所示:图10 程序主界面框图1) 产品参数产品参数部分主要功能是设置和查看当前正在测试的产品信息,如产品编号,试验次数,产品名称,工作方式等,便于测试者方便的查看和设置,此参数会自动记录到测试结果当中。2) 电源监视主要包括电源一次电源电压和电流监视采集,二次电压采集监视和显示,同时还有根据产品编号而保存的产品总共上电时间,本次上电时间等。3) 产品测试状态信息主要包括产品测试环境以及测试的状态信息,如正在测试、未测试、已测试等。4) 测试项目管理主要包括对需要进行测试的任务管理,其中包括制冷时间测试,消耗电流测试,蓄冷测试等。5) 图像及其属性显示主要有图借的灰度图显示和二值图显示,当前采集帧数的显示等等。其中,当产品捕获到目标时,会自动用红色矩形框标出目标所在位置。下图演示的就是捕获到目标后,测试页面上显示出来的效果。图11 捕获目标时图像显示状态此外,可以用鼠标在图像显示窗口中任意拖拽,实现图像放大或平移的功能。系统还可根据鼠标所在位置,显示出当前点的灰度及位置信息。6) 测试状态及其结果显示主要包括对当前测试的状态信息的显示及结果的显示。7) 导引头工作状态监视对导引头的工作状态以LED的方式直观的显示。8) 目标,气源柜和转台监视目标监视包括目标的综合、光阑、快门等参数的设置和目标实时的状态显示。气源柜监视主要有气源供气时间、进气、出气阀开关、气源流量查看和显示。9) 自动测试控制包括自动测试的开始与停止以及采集复位等功能。b) 总控界面总控界面包括的界面框图如图12所示:图12 程序主界面框图1) 产品参数产品参数部分主要功能是设置和查看当前正在测试的产品信息,如产品编号、试验次数、产品名称、工作方式等,便于测试者方便的查看和设置,此参数会自动记录到测试结果当中。2) 电源控制和监视主要包括电源上电、下电、一次电源电压和电流监视采集、二次电压采集监视和显示,同时还有根据产品编号而保存的产品总共上电时间、本次上电时间等。3) 图像及其属性显示主要有图像的灰度图显示和二值图显示、当前采集帧数的显示等等。其中,当产品捕获到目标时,会自动用红色矩形框标出目标所在位置。下图演示的就是捕获到目标后,测试页面上显示出来的效果。图13 捕获目标时图像显示状态此外,可以用鼠标在图像显示窗口中任意拖拽,实现图像放大或平移的功能。系统还可根据鼠标所在位置,显示出当前点的灰度及位置信息。4) LVDS和422参数查看页面上LVDS参数波形显示的内容为用户从参数列表中选择出来的比较关心的导引头状态信息。以曲线的方式表现出来,能使用户非常直观地看到数据的变化趋势。由于实时绘制参数曲线十分消耗系统资源,同时绘制过多曲线会使图像采集的实时性受到影响,因此只能同时显示4个参数。422参数显示页面包括坐标导航图、422参数波形显示和422参数列表显示三部分, 其中,坐标导航图是将位标器以及雷达的测试信号中包含相位信息,显示为坐标导航图的形式。不同的测试状态下要测试的信号种类也不同:当为地面正常测试,两导航图分别显示“R1 & R2”和“DaY & DaZ”的曲线;当测试状态改变成挂飞状态时,则两导航图分别显示“Alpha & Beta”和“DaY & DaZ”的曲线。5) 导引头工作状态监视对导引头的工作状态以LED的方式直观的显示。6) 目标控制和监视包括目标的综合、光阑、快门等参数的设置和目标实时的状态显示。7) 导引头指令下发包括常用的导引头下发指令,如锁定、解锁、下发随动等等。c) 图像回放界面图像回放界面主的包括图像灰度和二值图的显示,当前回放信息的显示,当前选中参数波形的显示和所有可用参数的列表,还有当前选中段的部会计算值,如最大、最小、平均值等等。图像回放界面有导出数据功能,可以将当前的一帧图像数据以16进制的数的形式导出到EXCEL表格当中,以供测试者查看和分析计算。同时,图像回放数据可以在拖动选择踊波形区域时,实时计算和显示计算的部分值,并有导出当前波形全部数据或部分数据的实用功能。d) 422参数回放界面422参数回放界面大体和图像回放界面相似,所具有的功能和图像的相同。e) 状态监视界面此界面主要包含的为目标状态信息,如目标综合、目标光阑等,转台实时角位置、角速度、角加速度等转台信息,还有一些外部设备,如气源流量等的历史波形曲线,以便于测试者查看。其它还包括计算校正系数和盲元、SPI烧写、DSP烧写等功能,实现对产品出产参数校正和烧写等。f) 测试结果管理测试结果管理界面,主要是对自动测试结果进行管理和查看的界面,主要功能和使用方式见数据库模块。5.6 MES管理系统测试设备在开始产品测试时,要从总控下载测试任务,MES管理系统的作用就是对此设备的测试任务进行统一管理和记录。a) 测试任务下载MES管理系统有第一次启动时,会自动根据设定的IP地址和本机的编号等链接到总数据库,并自动下载和刷新测试任务信息,包括已完成,正在测试和未测试三种状态的测试任务;同时下载测试任务的详细信息,如任务ID、订单号等等,这些信息会记录到自动测试结果数据库当中,和实时测试的任务结果相对应,系统自动测试数据库中的数据标识为任务ID,即在数据库中,以任务ID为唯一的任务区别条件。从MES管理系统当中启动的测试软,会自动记录选择的测试任务,并且将当前测试任务标记为正在测试,同时,会在自动测试项中标明此次测试任务的详细信息。相对于没有从MES管理系统当中启动测试软件,则不会有这些信息,以便调试和零时测试使用。b) 测试结果的上传从MES管理系统启动测试任务,测试结束后,自动打开测试结果上传界面并整理测试结果,等待用户确认无误后上传到服务器。测试结果上传时,只需要填写最终测试者、检验人、检验时间等部分信息,剩余的信息,如设备编号、测试结果等多个数据系统会自动根据测试任务ID来区分并自动填写,用户只需检查测试结果和表头信息是否正确后,点击上传测试结果,测试结果便会上传到总数据库。5.7 自动测试由于测试设备在对产品测试过程当中,需要进行多项不同测试,自动测试软件可以简化对产品的测试过程,提高测试效率。用户只需要对自动测试流程进行相关配置后,点击自动测试按钮,自测就会部分除需要人为干预外,其它的全部自动执行。图14 自动测试流程图本系统的自动测试具有以下特点:a) 全程自动化系统在自动测试过程中,除了部分无法实现自动完成的情况,如打开导引头保护帽,调整气源柜压强到15Mp等等,其它的全部实现自动完成,包括数据的处理和计算、测试结果的保存,并且自动处理测试过程的异常情况。b) 稳定和安全系统在自动测试过程当中,时刻监视各个设备和产品的运行状态,如供电电压电流、气源流量、转台工作状态、目标综合等等,一旦发现异常,会立即停止自动测试,并且关闭导引头供电开关,使用系统进入相对最安全的状态,最大程序上保护产品不受任何损坏,同时,打开报警器,开始报警,并等待相关测试人员的处理。c) 使用更加灵活自动测试工具,允许测试者对测试流程进行多种配置,如选择自动测试项、是否在测试完成后保存数据到数据库等;同时,还允许用户在任意时间,测试的任意阶段,随时中止测试,而不会产生任何的异常。5.8 数据库a) Access数据管理工具的优点Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员,Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,极大的提高了工作效率和工作能力。本测试系统使用的数据库管理工具就是Microsoft Office Access,利用Access数据管理工具的优点,可以实现对自动测试结果的高效录入,删除,查找,修改等管理。b) 测试结果的保护系统将自动测试结果记录到单独的数据库文件中,为了防止意外对数据库文件造成的损坏,系统会在每7天定时检查一次数据库备份情况,若发现超过7天(包含7天),数据库没有备份,就会提醒测试者进行数据库的备份。备份的数据库放在系统的测试数据保存文件夹下。同时,测试结果数据库设有密码,保护数据库不受非法操作。在系统中查询和更改数据时,只有管理员有权限对数据库进行所有数据更改,删除等操作,而非管理员用户只能对自己的测试结果进行更改删除等操作,此保护措施可以很大程度上保护系统测试结果的安全性。c) 灵活易用的管理界面测试结果管理有测试结果按要求查询,按要求显示、删除、更改、导出EXCEL表格并打印等多种操作。如用户可以选择查询名、任务ID、设备编号后写入查询值,点击查询按钮后,系统会查找出符合条件的测试结果,并显示在当前表格当中。同时,用户也可以选择要显示的项,保证界面的整洁和工作效率的提高。系统管理员还具有修改,删除测试结果的权限,可以方便的管理所有的测试结果。5.9 软件基本操作流程导引头测控平台基本操作流程如图15所示。图15 导引头测控软件操作流程5.10 数据采集模块设计5.10.1 图像采集控制设计图像采集主要完成控制图像采集卡对导引头的LVDS格式的图像进行实时连续地采集。本系统采用北航自研的高性能的数字图像采集卡对导引头的图像进行采集。综合考虑板卡工作方式和数据缓冲区的特点,并结合本工程中连续长时间采集的需求,设计进行了如下考虑。缓冲区开在板载内存上并采用获取一个序列的图像方式,数字图像卡能达到最高的采集性能,但它最适用于获取图像短、获取速度极高的情况。这种情况下,数字图像采集卡把采集的图像数据直接保存在板载内存中,采集结束后再转存到主机内存中进行处理,因此不太适用于本工程长时间大批量的图像采集。在板载内存连续采集方式下,图像数据需要不断从板卡向系统内存转移,这种对外围设备操作导致拷贝的速度非常慢,拷贝16KB数据图像约需要耗时9.4ms左右。在主机内存连续采集的方式下,图像数据是在系统内存中传递,这种内存拷贝速度为微秒级,不需要另花时间从板上内存向系统内存拷贝数据,更适于高速连续采集数据图像。综上所述,本系统采用主机内存循环获取图像的采集模式。打开图像采集卡,对图像采集卡进行工作模式的配置,然后就可以启动图像采集了。采集过程中,系统自动查找到有效的图像帧后立即把其从缓冲区中拷贝出来,并立即释放被拷贝的环形缓冲内存,让它继续参加循环。在图像采集的回调中对图像数据进行处理、存储等。利用内存映射文件技术对图像数据进行高速地保存。同时,采集线程向UI线程发送显示的消息,系统以256级灰度来显示红外图像。最后停止图像采集。图像采集卡进行图像采集流程如图16所示。图16 图像采集流程图5.10.2 图像采集控制的实现图像采集部分首先将图像采集卡驱动进行了二次开发,将对板卡的操作和配置封装到类CAM1508Fundtion中。在该类中,完成对图像采集板卡的固定参数的配置,并将板卡API封装成几个通用的方法,从而可以方便地对采集过程进行控制。设计的难点在于将图像采集线程封装在了类CAM1508Fundtion中。这时,出现了两个关键问题:一是采集线程和主线程间的实时有效的通讯;二是如何防止缓冲区读写冲突问题。这两个问题如果处理不好,将造成采集丢帧、图像采偏、软件运行死机和软件崩溃等问题,影响测试。采集线程中不断将设备采集到的数据存储到缓冲区中,而主线程中要实时将这些数据取出进行处理、显示和存储。怎样保证缓冲区的读写不冲突是设计重点要考虑的。本设计是通过自定义消息ON_IMAGE_DATA_RECEIVE解决该问题的。在每一帧图像采集完毕后,通过系统的异步派送消息方法PostMessage()将该消息发送给主线程,主线程接收该消息并自动调用该消息的消息响应函数。这样只要在消息响应函数中使用这些数据,就能保证数据帧的完整性,而不会发生读写冲突。在采集停止时,采集线程应能根据主线程的通知及时停止。采集线程与主线程之间是通过共享标志变量m_bStopRing来现通讯的。采集线程每次执行采集前首先查看该变量的值,当该值为false时,才进行采集数据的操作,这种行为循环执行;当主线程将该值置为true时,采集线程查看到该值的改变,结束循环采集过程,执行结束。主线程等其停止后将线程句柄等资源释放。因此当要停止采集时,由主线程将该变量置为true即可。当采集出错时,采集线程应能够及时将出错信息通知给主线程,并立即停止板卡采集,复位板卡状态。但是采集出错是随机的,无法由主线程掌控。采集出错时采用的是自定义消息法,自定义采集出错消息WM_IMAGESAMPLE_ERROR。如果采集线程运行中发生错误,则在该线程中采用系统的异步消息派送方法PostMessage()将出错信息通知给主线程,该消息将被送往操作系统的消息队列中。只要在主线程中编写该错误消息的处理方法,包括调用停止采集,释放资源和关闭板卡等操作即可。当系统处理该消息时,就会自动调用该消息处理方法,从而满足要求。驱动二次开发所形成以下几个方法接口:a) 打开并初始化图像采集卡, 配置硬件参数 OpenDeviceSession() 在该方法的设计中,首先调用板卡驱动中的方法imgInterfaceOpen()打开指定的数字图像采集设备,再利用返回的设备号,用imgSessionOpen()来打开采集通道,当采集通道打开成功后,会返回一个有效的通道号,这个通道号是配置板卡和控制采集所必需的。打开板卡以后,可以获得板卡能够采集到的图像的高度宽度,从而可以初始化数据缓冲区。b) 启动图像采集任务 StartRingSample()在启动采集图像中主要创建了图像采集线程ImageSampleThread,并启动该线程。在图像采集线程中,通过循环调用板卡驱动函imgSessionExamineBuffer不断获取图像采集卡采集到的数据。并通过自定义系统的异步消息派送方法PostMessage()将自定义消息 ON_IMAGE_DATA_RECEIVE通知给主线程一帧图像采集结束。这样只要在主线程中编写消息处理方法,在消息处理方法中将这些数据取出和使用即可保证图像帧的完整性,也不会发生读写冲突。c) 停止采集任务 StopRingSample()在停止采集中,只要将采集线程停止标志m_bStopRing设置为true,并等待采集线程结束,释放线程句柄。d) 关闭图像采集卡 CloseDeviceSession()通过调用板卡驱动API的imgClose()方法关闭板卡设备,将资源号复位为0。主线程中控制图像采集过程主要是控制板卡采集的开始和停止。在上电操作中,通过调用OpenDeviceSession()来打开NI-1422设备,通过在采集按扭的响应函数中调用StartRingSample()和CloseDeviceSession()来启动和停止图像采集。通过编写ON_IMAGE_DATA_RECEIVE和WM_IMAGESAMPLE_ERROR消息处理函数来执行图像采集过程的数据操作和异常处理。在ON_IMAGE_DATA_RECEIVE消息处理中编写对图像数据的处理、显示、存储以及对LVDS数据的解算、显示和存储等逻辑过程。在WM_IMAGESAMPLE_ERROR消息处理中主要做了清理资源和复位板卡的操作。复位板卡是通过先关闭板卡再打开板卡实现的。由图像采集卡采集上来数据包括128128行的图像数据和1282个LVDS数据。5.11 RS-422通讯模块5.11.1 RS-422通讯控制设计RS-422总线收发模块是依靠RS-422接口与导引头进行信息交互的模块,包括RS-422数据的接收和RS-422指令的下发。RS-422上传的数据实时反映了导引头的各种状态信息,如方位角、离轴角等。本系统采用北航自研的RS422数据采集卡采集导引头发送的串口数据,由于系统需要连续接收串口数据,设计采用定时器定时侦听的方式。每隔固定的间隔时间便读取一次上传的数据。上传的串口数据,每一帧有97个字节,前三个字节为帧头,后94个数据是代表着不同意义的物理参数,需要根据指定的协议将数据解算出来再拿去显示。在进行数据上传的同时用户还可以通过RS-422通讯模块给导引头下发各种控制指令,控制导引头的工作状态。下发的数据每一帧有112个字节,前三个字节为帧头。这些指令的下发遵循协议如表1。表1 RS422通信协议指令协议解锁/锁定第97个字节写入1/0随动角度指令第103和107个字节各写入VFY、VFZ(挂飞模式)或者AlphaServo、BetaServo(正常模式)随动/取消随动第96个字节写入1/0允许截获/取消截获第111个字节写入1/0电气分离/取消电气分离第102个字节写入1/0RS-422数据接收和命令下发控制过程如图17所示。图17 RS-422串口数据采集流程图5.11.2 RS-422通讯的实现对RS-422的操作包括RS-422数据的上传和RS-422指令的下发。首先,为了使用方便,同样对RS-422驱动API进行了二次开发,其接口函数也存在于类RS422Fundtion中。封装后的接口函数主要包括以下几种:a) 打开RS-422板卡并初始化OpenRS422Comm()该方法中采用API函数viOpenDefaultRM()打开VISA的资源管理器,再根据返回的RS-422板卡号调用viOpen()函数打开数据传输的端口,并将板卡端口号返回,该端口号是之后配置和控制板卡所必须的。b) 设置RS-422的硬件参数 SetRS422Parameter()该方法中可变的参数只有波特率,可通过参数传入。其它设置在本工程中是固定的,不需要留出参数据口而在方法内部固定设置。设置的方法是调用API的viSetAttribute()方法对各参数分别进行设置。这些参数也可以直接在MAX配置软件中设置,包括设置波特率、限制传输模式(设置为四线制)、禁止以结束符为标志接收上传字符串,以及传输延迟时间等。c) 读取RS-422数据并将读取的数据及数据的实际个数返回 RS422ReadComm()在该方法中通过调用驱动API的viRead()方法从板卡缓冲区中读取数据,并将读取的数据和实际个数写入指定的存储地址中。d) 向板卡中写入命令数据帧 RS422WriteComm()将由各种命令组织成的RS-422数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏扬州人才集团下属企业招聘6人笔试备考题库及参考答案详解一套
- 2024年度河北省护师类之护师(初级)测试卷(含答案)
- 2025江苏扬州宝应县“乡村振兴青年人才”招聘67人笔试参考题库及一套参考答案详解
- 2024年河北邯郸大名县招聘村(居)党务、村务(居务)工作者354名招聘笔试备考试题及完整答案详解1套
- 2025广西来宾市招聘乡村振兴专员221人笔试备考试题及完整答案详解1套
- 2025年鄂尔多斯市公务员考试行测试卷历年真题有完整答案详解
- 2024 - 2025学年湘艺版小学音乐五年级下册期末考试卷及参考答案
- 炸鸡店的竞争优势与市场地位
- 口腔护理系统化指南
- 地下工程测量(矿山测量)
- 2024年国家公务员考试行测真题附解析答案
- 2025年河北省烟草专卖局公司招聘笔试参考题库含答案解析
- 基本药物制度政策培训课件
- 高层火灾疏散逃生应急预案
- 2025山东高速路桥集团股份限公司校园招聘430人管理单位笔试遴选500模拟题附带答案详解
- 生产安全事故事件管理知识培训课件
- 地球科学概论知到智慧树章节测试课后答案2024年秋中国石油大学(华东)
- 基于线性二次型的单神经元PID最优控制器设计及仿真
- 【MOOC】环境资源法学-西南政法大学 中国大学慕课MOOC答案
- 第三课 把握世界的规律 课件高考政治一轮复习统编版必修四哲学与文化-1
- 皮下注射技术操作流程课件
评论
0/150
提交评论