《超偏超重检测系统的设计与实现毕业设计.doc》由会员分享,可在线阅读,更多相关《超偏超重检测系统的设计与实现毕业设计.doc(58页珍藏版)》请在三一办公上搜索。
1、超偏超重检测系统的设计与实现 Design and Implementation of Overweight-erroweight Detecting Systemby Liu WenwenSupervisor: Yang YingNortheastern UniversityJune 2010毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提
2、供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含
3、任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日毕业设计(论文)任务书毕业设计(论文)题目:超偏超重
4、检测系统的设计与实现基本内容:基于linux操作系统上的程序开发(本设计在虚拟机下的LinuxRedHat 9.0操作系统上进行),经交叉编译后将可执行文件移植到ARM机上,通过现场测试人员的信息选择以及检测卡尺的数据采集,并能对数据进行计算、查找、打印输出,通过运行结果与车辆标重(BZ)比较来检测车辆是否有超偏超重情况。毕业设计(论文)专题部分:题目:基本内容:学生接受毕业设计(论文)题目日期第周指导教师签字:年月日超偏超重检测系统的设计与实现摘 要随着中国加入WTO,国内物流企业既面临前所未有的机遇,也面临残酷的市场竞争。而铁路作为国家重要的基础设施、国民经济的大动脉和大众化的交通工具,在
5、现代物流体系中发挥着重要作用,为国民经济持续快速协调健康发展提供了强大的运力支持,为物流业的快速发展奠定了结实的基础。而在大量铁路货运运输过程中,列车车厢会存在超重偏重的现象,在运输过程中存在很大的安全隐患,极大地影响着铁路运输的安全和铁路的整体形象,为了避免造成巨大的人员伤亡及财产损失,如果能方便,准确,有效,及时地检测列车超偏超重问题,便可极大限度地预防此类事故的发生,因此列车车厢超偏超载检测对铁路运输有着极其重大的意义。系统的主要功能就是对车厢四轴进行数据采集,通过系统计算结果,检测该车厢是否有超重偏重现象发生。该系统是基于Linux操作系统上的C+程序开发(本设计在VMware下的Li
6、unxRedHat 9.0操作系统上进行),经交叉编译后将可执行文件移植到ARM机上,通过现场测试人员的信息选择以及检测卡尺的数据采集,分别在空/重(K/Z)情况下,对车辆弹簧压缩情况进行测量,数据录入、保存,系统计算后,将计算结果与标重(BZ)比较,检测车辆是否发生超偏超重情况。本文首先进行了系统的需求获取和业务分析。然后,采用分治的方法对系统进行设计,将系统分为若干个功能模块,叙述了各个功能模块的详细设计与实现。通过对系统的测试,对其功能和性能进行评估。最后,进行总结,介绍系统的特点和不足之处,说明下一步的工作方向。关键字:车厢,超重,偏重,嵌入式开发Design and Implemen
7、tation of Overweight-errorweight Detecting SystemAbstractWith Chinas accession to WTO, the domestic logistics business facing unprecedented opportunities, but also face brutal competition in the market. The railway as a national critical infrastructure, the national economy artery and popular means
8、of transport in modern logistics system plays an important role, for the sustained, rapid, coordinated and healthy development of a strong capacity to support the rapid development of logistics industry laid a solid foundation.In a large number of rail freight transportation, the train cars will exi
9、st excess emphasis on the phenomenon, in transit there is a big security risk, greatly affecting rail safety and rails overall image, in order to avoid huge casualties and property damage, if convenient, accurate, effective and timely detection of train Unbalanced overweight, can greatly limit to pr
10、event such incidents, so rail vehicles over partial overload detection on rail transport has a great significance.Main function is to collect data on the car four-axis, calculated by the system to detect whether there is excess emphasis on the car phenomenon. The system is based on the Linux operati
11、ng system on the C + + application development (the design LiunxRedHat 9.0 operating system under VMware on), by the cross compiler will be ported to ARM machine executable file, through field testing of information personnel selection and testing caliper data collection, respectively, air / weight
12、(K / Z) case, the vehicle to measure the spring compressed, data entry, storage, system calculations, the calculated results with standard weight (BZ) compared to detect whether the vehicle is to occur, Partial overweight.Firstly, the system requires for access and business analysis. Then, using the
13、 partition method of the system design, the system is divided into several functional modules, described the various functional modules of the detailed design and implementation. Through the system, test its functionality and performance assessment. Finally, to sum up, introduc the system features a
14、nd shortcomings, indicating future work directions.Key words: cars, overweight, erroweight, embedded development目 录毕业设计(论文)任务书I摘 要IIABSTRACTIII第1章 引 言11.1 课题研究的背景和来源11.2 课题研究成果应用的实际意义21.3 本文的内容及主要工作3第2章 相关技术简介52.1 嵌入式Linux开发环境52.2 QT系统52.2.1 QT/Embedded开发环境52.2.2 QT的优势62.2.3 Qtopia62.3 交叉编译开发环境62.4
15、本章小结7第3章 需求分析93.1 系统实现目标93.2 系统运行环境93.3 功能性需求描述93.3.1 开始检测103.3.2 计算打印113.3.3 查询修改113.3.4 联机上传113.4 非功能性需求描述113.5 本章小结12第4章 系统设计134.1 系统设计原则134.2 系统总体设计134.3 主要窗口设计144.3.1 Login 设计144.3.2 MainDlg主窗口设计154.3.3 Measure窗口设计174.3.4 Myquery设计204.3.5 Browse4print设计214.3.6 Upload窗口设计224.3.7 Disquery设计234.3.
16、8 Print设计244.3.9 Dataif设计244.3.10 Key设计254.3.11 Posix_QextSerialPort串口设计264.3.12 Result设计264.4 本章小结26第5章 系统实现275.1 开始检测模块275.2 计算打印模块295.3 查找修改325.4 联机上传355.5 本章小结35第6章 系统测试376.1 单元测试376.2 集成测试386.3 系统测试38 6.3.1系统测试数据.386.4 本章小结39第7章 结 论417.1 本文工作总结417.2 进一步展望41参考文献43致 谢45第1章 引 言1.1 课题研究的背景和来源铁路作为国民
17、经济的大动脉,铁路货运在现代物流体系中发挥着重要作用,为了能更好的为国民经济持续快速的发展提供运力,保证铁路货运的安全,对火车安全系数的检测显得尤为重要。随着电子技术的快速发展,特别是大规模集成电路的产生而出现的微型机,使现代科学研究得到了质的飞跃,而嵌入式微控制器技术的出现则是给现代工业控制领域带来了一次新的技术革命。超偏超重检测系统就是基于嵌入式系统的开发,满足现代铁路货运检测的嵌入式新产品。同其他计算机技术一样,嵌入式也是在硬件和软件交替发展的双螺旋支撑下逐渐趋于稳定和成熟的。嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有
18、严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能1。嵌入式系统的特点:嵌入式系统功耗低、体积小、专用性强。嵌入式系统与PC的最大不同就是嵌入式CPU大多工作在为特定用户群的系统中,能够把PC中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。嵌入式系统的硬件和软件都必须高效率地设计,系统要精简。操作系统一般和应用软件集成在一起。对软件代码质量要求很高,应该尽
19、最大可能避免“死机”的发生。嵌入式系统开始需要专门的开发工具和开发环境。嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器微处理器、存储器及外设器件和IO端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用5。嵌入式控制器的应用几乎无处不在:移动电话、家用电器、汽车无不有它的踪影。嵌入式控制器因其体积小、可靠性高、功能强、灵活方便等许多优点,其应用已深入到工业、农业、教育、国防、科研以及日常生活等各个领域,对各行各业的技术改造、
20、产品更新换代、加速自动化化进程、提高生产率等方面起到了极其重要的推动作用。嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5 - 10 个嵌入式微处理器。在制造工业、过程控制、网络、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。嵌入式系统工业是专用计算机工业,其目的就是要把一切变得更简单、更方便、更普遍、更适用;通用计算机的发展变为功能电脑,普遍进入社会,嵌入式计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式智能芯片是构成未来世界的“数字基因”7。1.2 课题研究成果应用的实际意义铁路行车安全
21、是铁路运输工作的重中之重。铁路部门将防止货物三重一超两脱一开(超重,偏重,集重;超限;货物脱落,蓬布脱落;车门开放)作为确保行车安全的重要工作常抓不懈,通过明确岗位责任制,强化作业现场管理等方法,但是由于历史原因,铁路现有的货运货物计量一直采用比较原始的计量方式:整车货物以件计算,散装货物通过测定其密度来确定装载高度,这些办法非常不准确,因而,货运列车因为超重、偏载而引起断轴、切轴、爬轨和列车颠覆事故时有发生,引起的事故骇人听闻,极大地影响着铁路运输的安全和铁路的整体形象,超偏超载近年来成为影响铁路行车安全的重要因素,如果能方便,准确,有效,及时地检测列车超偏超重问题,便可极大限度地预防此类事
22、故的发生,因此铁路车辆超偏超载检测对铁路运输有着极其重大的意义。由于铁路车辆检测具有重大意义,在超偏超重检测方面有很多方法,最常见的有轨道衡方法。固定式轨道衡测量方法只具有简单的静态称重功能,投资大且需要专门的称重地点,不能检测出偏载,而且由于安装要求和成本较高,无法大量采用,使应用受到很大的局限性。嵌入式的发展极大推动了计算机技术和计算机产业的发展,使计算机与各个领域完美结合,所以将计算机技术与铁路检测结合起来,将检测算法以计算机软件形式经过嵌入式开发应用到现在铁路检测当中。 本课题研究的系统,是通过嵌入式系统,将超偏超生检测算法通过程序移植到ARM机上,系统通过检测人员的信息选择及数据采集
23、,并进行数据的计算、保存、打印,将计算得到的结果与车厢标重比较,实现对车厢超偏超重的检测。1.3 本文的内容及主要工作本文在分析介绍了嵌入式系统相关技术,基于铁路检测系统的需求特点,完成嵌入式检测系统的设计,实现对车厢超偏超重的检测。各章的内容组织如下:第2章介绍了嵌入式Linux开发环境、QT系统、交叉编译技术。第3章分析了系统的开发环境,利用用例建模分析系统的功能需求,并且根据实际情况补充了部分需求,提出了非功能性需求。第4章对系统进行总体设计,对检测系统的各个窗口进行设计,包括login、mainDlg、measure 、myquery、disquery、browse4print、pri
24、nt、upload、key,并画出个别窗口的类图。第5章通过流程图介绍了开始检测、计算打印、查询修改、联机上传四个模块的实现,并简单系统的工作流程。第6章介绍了利用工具进行测试的情况,并对出现的错误进行了分析解决。第7章结论部分是对整个论文工作的总结以及下一步工作的展望,指出我们工作中有待改进的地方,同时指明了下一步的研究方向。第2章 相关技术简介2.1 嵌入式Linux开发环境由于嵌入式系统本身相对于PC来说资源的缺乏,可能嵌入式设备上根本没有标准显示终端或者标准键盘,因此也就不可能在嵌入式设备上直接进行程序编制,即嵌入式系统本身不具备自举开发能力,只能先在PC上完成程序编写、编译、链接,之
25、后把可执行程序下载到嵌入式设备上运行。通常采用宿主机+目标机的交叉调试方式。宿主机就是安装有嵌入式linux开发环境的PC机,可以利用它强大的功能资源高效地完成目标系统的开发。嵌入式开发通常需要有交叉编译、调试等系列工具、目标板的编程下载工具、目标处理器及平台的整个内核源码树等。可以自己去组建、移植所有的一切8。2.2 QT系统QT是一个支持多操作系统平台的应用程序开发框架,它的开发语言是C+。QT最初主要是为跨平台的软件开发者提供统一的、精美的图形用户编程接口,但是现在它也提供了统一的网络和数据库操作的编程接口12,13,14。QT是以工具开发包的形式提供给开发者的,这些工具开发包包括了图形
26、设计器、Makefile制作工具、字体国际化工具和QT的C+类库等。谈到C+类库我们自然会想到MFC。QT的类库等价于MFC的开发库,但是QT的类库是支持跨平台的类库,也就是说QT类库封装了适应不同操作系统的访问细节,这是QT 的魅力所在。目前QT支持的操作系统平台包括:MS/Windows - 95、98、2000、XP 和 VistaUnix/Linux和很多其他X11平台; Macintosh -Mac OS X;Embedded有帧缓冲(framebuffer)支持的Linux平台,Windows CE10。2.2.1 QT/Embedded开发环境QT/Embedded是一个为嵌入式
27、设备上的图形用户接口和应用开发而定制的C+工具开发包。通常可以运行在多种不同的处理器上部署的嵌入式Linux操作系统上。此外,QT/Embedded还包括了几个提高开发速度的工具。一般来说,属于QT/Embedded开发的应用程序最终会发布到安装有嵌入式Linux操作系统的小型设备上,所以使用装有Linux操作系统的PC或者工作站来完成QT/Embedded开发当然是最理想的环境,尽管QT/Embedded也可以安装在UNIX和Windows系统上13。2.2.2 QT的优势QT同X Window上的Motif,Openwin,GTK 等图形界面库和Windows 平台上的 MFC,OWL,V
28、CL,ATL 是同类型的东西,但是 QT具有下列优点: (1)优良的跨平台特性: QT支持下列操作系统: Microsoft Windows 95/98,Microsoft Windows NT, Linux,Sun OS,HP-UX,等等。(2)面向对象:QT的良好封装机制使得QT的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。QT提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。 (3)丰富的 API :QT包括多达 250个以上的 C+ 类,还提供基于模板的 collections,serializa
29、tion,file,I/O device,directory management,date/time 类,甚至还包括正则表达式的处理功能。2.2.3 QtopiaQtopia 是为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台, Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。2.3 交叉编译开发环境程序设计需要开发环境的支持。根据运行平台的不同,开发环境分为本地开发环境和交叉开发环境,交叉开发环境又可分为开放型以及商业型两大类。需要交叉开发环境的支持是嵌入式应用软件开发的一个显著特点,交叉开发环境是指编译、链接、和调试嵌入式应用软件
30、的开发环境,与运行嵌入式应用软件的环境有所不同,通常采用宿主机+目标机6。图2.1 交叉编译过程2.4 本章小结本章等待先对嵌入式Linux开发环境进行了简单介绍,以及当今嵌入式开发流行的原因;介绍了QT系统、如何建立QT/Embedded开发环境、QT的优势以及Qtopia开发平台;同时介绍了交叉编译开发环境。第3章 需求分析软件需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。它的主要用途是明确系统需求,是用户和开发人员之间进行讨论的基础,并作为系统设计、实现以及测试的依据。只有准确全面的需求获取与分析才能保证系统设
31、计、系统实现的顺利进行,为后期测试提供必要的支持。3.1 系统实现目标在火车载重检测过程中,首先分别在空/重(K/Z)情况下,对火车车厢四轴弹簧压缩情况进行测量,数据采集、录入、保存,通过系统计算,将计算结果与标重(BZ)比较,检测车辆是否超偏超重。为保证检测系统能够有效地为车辆超偏超重检测人员服务,从功能上必须达到以下目标:必须实现在车辆超偏超重检测过程中的所有必需功能。作为超偏超重检测系统,系统必须能够实现对数据的采集、录入,保存,查找、打印等功能,保证系统实现的功能的有效性。必须保证检测人员得到数据的及时性和可靠性。检测人员作为整个系统的操作者,系统的信息通过检测人员的采集和录入,通过卡
32、尺采集到的数据也必须快速传达给系统,同时,要保证得到的数据的可靠性。必须保证检测人员和系统之间进行有效地通信。对于检测系统而言,通过系统计算得到的数据,对车辆是否进行调整尤其重要,所以,要保证检测人员和系统通信的通畅性、有效性,提高系统检测的效率。3.2 系统运行环境硬件环境:嵌入式开发板FriendlyARM,数据采集卡尺,热敏打印机,软件环境:VMware下的LinuxRedHat 9.0操作系统,采用QT系统的C+程序开发。3.3 功能性需求描述在面向对象的系统分析中,获取功能需求的最常用的技术就是用例建模技术。它能够直观地向客户展示系统的功能,方便技术人员准确地获取需求。在项目开发的前
33、期,它帮助开发人员理解系统的需求而不考虑具体的实现方法。用例,表示系统的一种行为或者某个功能。它是在特定条件下,为了达到某种目的,系统和用户之间进行交互的一个序列。用例模型由参与者和用例组成,参与者是与系统进行交互的外部实体,可能是某个人或者是某个事物。下图显示的就是本系统的用例图。本系统中,参与者是检测人员,对于用例分析来说,只有用例图和用例描述相结合才能表示系统的需求,相关的用例描述如下:图 3.1 超偏超重检测系统用例图3.3.1 开始检测用例标识:1.0 参与者:检测人员简要说明:检测人员在系统要求下选择信息、采集数据。基本事件流:1)检测人员选择信息,包括空/重(K/Z)、车型(c5
34、0121/k1023/w8110/w8010)等,对车辆进行数据采集。2)对所测量车号录入,并进行保存,选择是否打印。3.3.2 计算打印用例标识:2.0 参与者:检测人员简单说明:检测人员向系统提供要计算打印的车号或日期,系统显示出要打印的记录或显示“无记录”,查询到记录可以选择打印结果。基本事件流:1)检测人员向系统提供要查询的车号或日期进行查询。系统进行查询,反馈结果,查询方式为按日期查询时,可以查到当天的多个记录。2)检测人员可以对查询到数据进行修改、保存、打印结果。3.3.3 查询修改用例标识:3.0参与者: 收货人简要说明:货物到达站点以后,由收货人将货物提走。基本事件流:1)货物
35、在卸货操作以后检测当前位置,若当前站点和目的站点相同,则提示相关人员货物已经到达目的地。2)管理人员联络收货人完成提货操作。系统修改货物的状态。3.3.4 联机上传用例标识:4.0 参与者:检测人员简单说明:检测人员向宿主机发出信号,上传数据。基本事件流:1)检测人员向宿主机发出信号,选择是否上传数据,并选择是否删除现存记录。3.4 非功能性需求描述非功能性需求在整个系统中占有非常重要的位置,对系统的非功能性需求的满足是系统成功的基础,下面列出本系统的非功能性需求:(1) 系统能够长时间的持续工作。对于企业应用级的系统来说,软件的稳定性与正确性一样重要。考虑到本系统的实际情况,检测系统必须提供
36、满足10小时以上的工作电量。(2) ARM机必须能存储100条记录以上的空间。因为检测人员随身携带本检测系统,当需要进行大量的数据测量与检测时,要保证ARM机本身能够提供足够大的存储空间,至少要达到100条记录,一次检测工程结束后,可以将当前检测到的通过联机上传给宿主机,清空存储空间。3.5 本章小结本章首先介绍了系统的实现目标、开发环境。然后通过用例分析的方式获取和分析了系统的功能性需求,对需求进行了补充,提出了系统的非功能性需求。从而对系统的整体需求有了完整的了解。从本章的需求分析中可以得出,系统的非功能性需求相对来说比较易于实现,而功能性需求比较严格。对于功能性需求影响最大的就是系统设计
37、的架构,所以在设计和实现系统时,要在对系统的架构给予充分重视的前提下,实现功能性需求。第4章 系统设计4.1 系统设计原则(1) 低成本。随着技术的进步和系统复杂性的增加,软件成本在整个系统中所占的比重越来越大,企业应用中已经达到25%左右,而且有继续增加的趋势。为了降低系统的成本,系统中各个模块都采用开源项目中的组件完成。它们不仅能够提供比较完善的功能,而且还能根据系统需求进行适当扩展。(2) 规范性。从软件周期上来考虑,软件维护阶段在软件生命周期或生存期中占较大比重,有的可达软件生存周期的50-70%。所以需要软件在设计的过程中积极遵循各种规范,保证后期维护和开发人员能够快速理解系统。(3
38、) 易扩展。系统的设计直接决定可扩展性。可扩展性是软件工程追求的目标,能够大大提高软件的复用程度,较低开发成本。4.2 系统总体设计系统主要是为铁路检测人员提供好的检测设备,所以简单快捷实用是根本出发点。系统根据功能划分,将功能分解,降低之间的耦合性,从而,为了替换某个模块达到质量或效率的提升,就不会改变整个结构,只需要改相应的模块,工作量就会明显减少。说明:执行文件:jcxt数据文件:data.txt密码文件:password.txt车型文件:vehicletype.txt桌面文件:jcxt.desktop项目文件:jcxt.pro (用Qdevelop打开)交叉编译通过的jcxt二进制文件
39、以及data.txt文件、password文件、vehicletype文件复制到/opt/Qtopia/bin路径下,桌面文件jcxt.desktop文件复制到/opt/Qtopia/apps/Applications 。源代码文件:login.cpp login.h 登录main.cpp 主程序mainDlg.cpp mainDlg.h 主窗口measure.cpp measure.h 测量窗口myquery.cpp myquery.h 查询窗口display.cpp display.h 显示查询browse4print.cpp browse4print.h 为打印查询print.cpp p
40、rint.h 打印upload.cpp upload.h 上传数据dataif.cpp dataif.h 读取数据接口qextserialport.cpp qextserialport.h 串口qextserialbase.cpp qextserialbase.h 串口基类posix_qextserialport.cpp posix_qextserialport.h posix串口key.cpp key.h 输入数字、字符myctrl.cpp myctrl.h 重写控件类4.3 主要窗口设计4.3.1 Login 设计为了保证检测的保密性和安全性,对系统设置了密码,只有正确的登陆密码和退出密码
41、才能出入该系统。首先在ARM机上点击系统启动,进入系统,输入登录密码,才允许进行下一步操作;同样的,在一次检测结束之后,输入退出密码,才能退出系统。在login主函数login()中为输入的密码设置一个edit框,数字写入的位置lineEdit = new QLineEdit(this);lineEdit-setGeometry(QRect(p00.x(), p00.y() + rowSpace, btWidth*2, btHeight - 10);lineEdit-setEchoMode ( QLineEdit:Password );lineEdit-show();设计0-9的数字按钮,点按
42、数据键可以将数字以“*“号键的形式写入缓冲区Button*= new PushButton(* , this, 0);QObject:connect(button*,SIGNAL(clicked(QPushButton*),this, SLOT(btNumClicked(QPushButton *);Button*-setGeometry(QRect(p00.x(), p00.y() + 2*rowSpace, btWidth, btHeight);对输入错误的数字进行“清除”,以便重新输入btClear = new QPushButton(codec-toUnicode(清除, strlen
43、(清除) , this, 0);QObject:connect(btClear, SIGNAL(clicked(), this, SLOT(btClearClicked();btClear-setGeometry(QRect(p00.x() + colSpace * 2, p00.y() + rowSpace, btWidth, btHeight);函数btNumClicked(QPushButton * btNum)则是将数字写入edit框,点按数字按钮可将数据写入。函数btLoginClicked()是将输入的密码和系统已设置的登陆密码进行比较,若输入正确,允许进入,否则显示“密码错误”,
44、不能进入检测系统。函数btQuitClicked()是将输入的密码和系统已设置的退出密码进行比较,若输入正确,退出系统,否则显示“密码错误”,不能退出检测系统。函数btClearClicked()是对输入有误的数字进行清除。图 4.1 login窗口图4.3.2 MainDlg主窗口设计主窗口的设计是系统设计的关键,是引导检测系统的中枢。可以通过主窗口进入到四个功能模块(开始检测、计算打印、查询修改、联机上传)。在MainDlg主函数MainDlg()中设计“开始检测”“计算打印”“查找修改”“联机上传”四个按钮,点击按钮可以进入对应的操作窗口btStartMeasure = new QPus
45、hButton(codec-toUnicode(开始检测, strlen(开始检测) , this, 0);QObject:connect(btStartMeasure, SIGNAL(clicked(), this, SLOT(btStartMeasureClicked();btStartMeasure-setGeometry(QRect(p00.x(), p00.y() + rowSpace + rowSpan, btWidth, btHeight);函数showSubWin()可以进入子窗口下进行下一步具体操作。函数btStartMeasureClicked()是进入到开始检测的子窗口,
46、在些窗口下可以对车厢四轴进行数据采集,车型车号的录入,保存或打印结果。函数btCalcPrintClicked()是进入到计算打印的子窗口,在此窗口下可以对数据进行查找,若存在,则可对数据进行超偏超重的检测,并可以将得到的结果打印出来。函数btSeachNReviseClicked()是进入到查询修改的子窗口,在此窗口下可以对已存在的数据进行查找或修改功能。函数btConnectPCClicked()是进入到联机上传的子窗口,在此窗口下可以将已写入data.txt的记录上传给宿主机,并选择是否将全部记录删除,以减少ARM内存空间。图4.2 主窗口4.3.3 Measure窗口设计Measure模块是该检测系统的核心,要实现对车厢车轴的检测、对记录的保存等工作。对Measure做出类图构造