《实验室管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《实验室管理系统详细设计说明书.docx(55页珍藏版)》请在第壹文秘上搜索。
1、LabManager实验室管理系统详细设计说明书版本修改日期修改人修改内容V1.02010-11-15郑新华创建文档。一、引言31.1 编写目的31.2 背景313定义31.4 参考资料3二、各模块详细设计32.1、 照相站姿态识别模块(CameraStation.exe)32.1.1、 程序描述32.1.2、 程序功能42.1.3、 性能52.1.4、 逻辑结构52.2、 弹道复现模块(DemonStrate.exe)242.2.1、 程序描述242.2.2、 功能242.2.3、 逻辑结构252.3、 设备接入代理模块(DeVProXy.exe)282.3.1、 程序描述282.3.2、
2、功能28233、逻辑结构292.4、 控制台主控程序(ConsoLexe)302.4.1、 程序描述302.4.2、 功能302.4.3、 逻辑结构312.5、 数据采集和分析服务器422.5.1、 程序描述422.5.2、 功能422.5.3、 逻辑结构432.5.4、 管理信息配置文件错误!未定义书签。一、引言1.1 编写目的本文档旨在说明LabManager实验室管理系统中各模块的执行流程、数据结构及其之间的关系,作为今后编码工作的依据。本文供主要技术人员、公司内部人员阅读、讨论使用。背景1.abManager实验室管理系统vl.0于2010年8月份开始筹备开发,由研发中心软件部承担开发
3、任务。1.2 定义实验室:南京理工大学弹道重点实验室。1.3 参考资料RabManager实验室管理系统概要设计VLoO.doc二、各模块详细设计2.1、 照相站姿态识别模块(CameraStation.exe)2.1.1. 程序描述本模块运行在照相站工控机上,随系统启动,为常驻内存程序。由于需要对控制卡进行读写以及监控相机照片生成目录,若同时启动多个实例则会影响照片分析结果,为不可重入模块。左右相机新生成照片的监控和分析,在程序中采用并发处理。系统的姿态识别操作是分布在各照相站完成的,各照相站姿态识别模块负责在相片生成后对其进行分析并将结果上送至数据采集服务器进行后续分析、展示和存储。IPo
4、图如下:IPO图系统:实验室管理系统模块:照相站姿态识别模块设计人:郑新华 日期:上层调用模块:可调用的下层模块:无无考虑到用户体验的要求,在每次击发完成后1分钟内照相站需要完成对图像处理和图像识别,将最终的飞行姿态发送至数据采集和分析服务器汇总,由后者转发给弹道复现模块进行弹道复现。2.1.4.逻辑结构QfcaltrPMlIirKXrI:CMMirKXrlRecVairCtrl(inOnCbdGn pCtri : (Xi. it *pBuf Void) : msigned IUngPnrslUtd(in pBuCf : void, in )Un : unsiod IoojU : Cced“C
5、e/CtilXIin ”RlIrf : void, in ILm : UfWigntd Ialg) : boolpVaiCtrl:CMainCtr):voidCCfr*GctCtr)QxrdPdXun()CctCw,rrfiun()*GctLcftPktd*thO:CEr*CotRlhtfthO:charN:LwtPabOQblaCtrl*SctStdtc():VOid*SUiAdtUrdO:VOIdtCctStateO:intKIrfhoioHnX:InLIny:nt.lH*Nh:cur):vld结败I-结心*SAtSu*tU:voidCetSwicO:inilxj(ir.Fmi)/OCMF
6、aetcryfJkiz5欢9ipCtrl:CHiinCtrl华_IFKCk:C械k.B11gQn.pCj三Bnsc:OCof*usc*Sxi(intuU*:unsignedlung:wid如纯InCtHl):Ioid*CriAtd(lnnCni:int.InltM:vdd*.InUuHHM:IHlallInOdIMWJ:(XtAapMuiCtr):CMiinCtrl心H)HI“(In*f:void.InIBufl.vr:卜科):unfMMItxig*SetUaiCtr)(inpttaiCtrl:OtiinCtrDIXitHLonO:UtiDiignttdkr11jSend(in*pff:voi
7、d,inILen:UntdSrKldlo:void类名称CMainCtrI描述主控类,业务层接口类类型定义typedefstruct(int;横坐标inty;纵坐标!COORDINATE;typedefstruct(COORDINATEpos;质心坐标COORDINATEAis10;中轴线坐标集std:stringStrPath;照片全路径RAWJNFO;原始信息常量定义无友元类无属性名称是否静态属性类型属性可见性属性描述m_State否CStateprivate状态类m-Cfg否CCfgprivate配置对象m_LeftMonit否CMonitprivate左侧相机监控对象m_RightMo
8、nit否CMonitprivate右侧相机监控对象方法型构voidOnPhoto(constRAWJNF0&info);描述检测到相机照片生成并解析出像素坐标时执行该函数可见性public参数info:从照片分析得到的质心像素坐标、中心轴像素坐标集和照片全路径返回值斤.异常无方法型构voidStandard);描述标定坐标轴可见性public参数无返回值无异常无方法型构boolGetCtrlCardParam(CONTROLER_PARAM¶m);描述获取控制卡参数可见性public参数无返回值获取成功则返回true,否则返回false异常无方法型构boolGetCameraParam
9、(CAMERA_PARAM¶m);描述获取相机参数可见性public参数无返回值获取成功则返回true,否则返回false异常无方法型构conststd:string&GetLeftMonitPathO;描述获取左侧相机照片生成的目录可见性public参数无返回值左侧相机照片生成的目录异常无方法型构conststd:string&GetRightMonitPathO;描述获取右侧相机照片生成的目录可见性public参数无返回值右侧相机照片生成的目录异常无方法型构boolSetCtrlCardParam(constCONTROLER_PARAM¶m);描述设置控制卡参数可见性pu
10、blic参数无返回值设置成功则返回true,否则返回false异常无方法型构boolSetCameraParam(constCAMERA_PARAM¶m);描述设置相机参数可见性public参数返回值设置成功则返回true,否则返回false异常无方法型构boolSetLeftMonitPath(conststd:string&StrPath);描述设置左侧相机照片生成的目录可见性public参数strPath:左侧相机照片生成的目录返回值设置成功则返回true,否则返回false异常无方法型构boolSetRightMonitPath(conststd:string&strPath)
11、;描述设置右侧相机照片生成的目录可见性public参数strPath:右侧相机照片生成的目录返回值设置成功则返回true,否则返回false异常无方法型构voidSetStatefintnState);描述设置当前运行状态可见性public参数nState:要设置的运行状态返回值无异常无方法型构intGetStatef);描述获取当前运行状态可见性public参数无返回值当前运行状态异常无类名称CMonit描述照片监控和分析类类型定义无常量定义无友元类无属性名称是否静态属性类型属性可见性属性描述m_strMonitPath否std:stringprivate监控目录m_pMainCtrl否CM
12、ainCtrI*private主控对象指针方法型构voidRegMainCtrl(CMainCtrl*pMainCtrl);描述注册主控对象,以便在检测到新生成了照片并对其进行分析后将结果发送给主控对象,由后者对结果进行进一步分析。可见性public参数pMainCtrl:主控对象指针返回值无异常无方法型构CMonit(conststd:string&StrMonitPath);描述构造函数可见性public参数StdMonitPath:该对象监控的路径返回值无异常无类名称CCfg描述配置文件读写类S类型定义typedefstructcharmode;工作模式CharfIashNum;闪光次数
13、charStationID;站点编号SYS_PARAM;typedefstructintnGSL;光幕靶间距i11tCBL;光幕靶2至摄像头中心距intnSL;视场范围LEN_PAAM;typedefstructintnSET;成像边缘余量int11CST;摄像头固有延时intnSOT;快门打开间隔intnLGT;激光器固有延时intnMINL;激光触发最小间距intnV_S;估计弹速m/sintnCCT_S;光幕2至摄像头触发延时,不含固延intnCLT_S;光幕2至激光触发延时,不含固延intnCLT_S_2;光幕2至激光触发延时2,不含固延intnCLT_S_3;光幕2至激光触发延时3,不含固延intnPCT;参数计算时间参考TIME_PARAM;typedefstruct