基于力控组态软件的控制实例(完整资料)_第1页
基于力控组态软件的控制实例(完整资料)_第2页
基于力控组态软件的控制实例(完整资料)_第3页
基于力控组态软件的控制实例(完整资料)_第4页
基于力控组态软件的控制实例(完整资料)_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于力控组态软件的控制实例(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)

基于力控组态软件的控制实例(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)电控学院基于力控组态软件的锅炉监控系统设计院(系):电气与控制工程学院专业班级:10级测控1班姓名:张坡坡学号:10060701272013年4月2目录1。力控组态软件PCAuto.....。。..。......。.。....。....。。。。...31。1软件的认识...。.。。。。。.。。...。..。....。.。。。.。.。。。。.。。。...31.2软件的使用...。....。.。...。.......。...。...。.。。。。。........。.32。系统功能概述。。。..。。。...。..。.。。。..。。.。...。。...。...33.系统设计。。。....。......。..。。..。.。。。。......。。...。。.43.1设计思想.。.。。..。...。。。..。....。..。..。.。.。。。....。。。。43.2软件组态设计..。.................。.。。.。...。..。。......。...。。43.3系统功能实现的脚本程序。...。.。。.。。....。.。。.....。。..。.。..。..114。设计心得体会......。。....。..............。。。。。.。。.。121。力控组态软件PCAuto1.1软件的认识力控监控组态软件PCAuto是对现场生产数据进行采集与过程控制的专用软件,是在自动控制系统监控层一级的软件平台,它能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到集中管理和监控的目的,同时还可以方便地向控制层和管理层提供软、硬件的全部接口,来实现与“第三方”的软、硬件系统进行集成.力控监控组态软件PCAuto最大的特点是能以灵活多样的“组态方式”进行系统集成,它提供了良好的用户开发界面和简捷的工程实践方法,用户只要将其预设置的各种软件模块进行简单的“组态”,便可以非常容易地实现和完成监控层的各项功能,缩短了自动化工程师的系统集成的时间,大大地提高了集成效率。力控的应用范围广泛、可用于开发石油、化工、半导体、汽车、电力、机械、冶金、交通楼宇自动化、食品、医药、环保等多个行业和领域的工业自动化、过程控制、管理监测、工业现场监测、远程监测/远程诊断、企业管理/资源计划等系统。PCAuto组态软件具有功能强大的图形开发环境Draw,采用面向对象的图形技术,创建动画式人-机界面系统及高可靠性快速的图形界面运行系统View,用来运行Draw创建图形窗口。先进的分布式实时数据库DB是整个应用系统的核心模块,负责整个力控应用系统的实时数据处理、历史数据存储、统计数据处理、报警信息处理、数据服务请求处理及完成与过程的双向通信。1.2软件的使用在组态软件中填写一些事先设计的表格,再利用图形功能把被控对象(温度计、压力计、锅炉、趋势曲线、报表、温控曲线等)形象的画出来,通过内部数据连接把被控对象的属性与I/O设备的实时数据进行逻辑连接.当由组态软件生成的应用系统投入运行后,与被控对象相连的I/O设备数据发生变化会直接带动被控对象的属性变化。2。系统功能概述基于力控组态软件的锅炉监控系统的设计主要是充分利用软件的优势,通过对锅炉系统中的三个主要参数,即锅炉水位、炉膛压力、锅炉内温度的控制来实现对锅炉系统的实时监控。具体的控制原则为:当锅炉液位“LEVEL”的值高于100时,系统产生报警,对应的入水阀门会变小到5%;当炉内压强“YQ"的值高于0.11Mpa时,系统也会报警,同时出气阀门开启;同样,当锅炉内温度“WD”的值高于90时,系统也产生报警信息,同时进气阀门会变小到5%.其中锅炉水位由仿真PLC的常量寄存器控制,炉膛压力和锅炉内温度也分别由仿真PLC的常量寄存器控制,由于无法准确地建立锅炉水位、炉膛压力、锅炉内温度三者之间的函数关系,在设计时人为设定炉膛压力和锅炉内温度分别随锅炉水位增减情况的不同而有不同的增减量变化.系统的启停则由“开始”按钮进行控制。系统报警时,会生成报警曲线。温度过高时,加热设备停止加热,其中是否加热有动画连接实现,加热时加热设备一直闪烁,否则停止闪烁。3。系统设计3.1设计思想锅炉设备是一个复杂的控制对象,主要的输入变量是负荷、锅炉给水、燃料量、减温水、送风和引风等;主要的输出变量是汽包水位、蒸汽压力、炉膛负压、过剩空气等。因输入变量与输出变量相互关联,如果蒸汽负荷发生变化,必将会引起汽包水位、蒸汽压力和过热蒸汽温度等变化,因此锅炉是一个多输入、多输出且相互关联的控制对象。由于条件限制及能力有限,本控制系统将主要控制三个变量:锅炉水位、炉内温度、炉内压力。在本控制系统的图形界面上具备报警通知及确认、报表组态及打印、历史数据查询与显示等功能.各种报警、报表、趋势都是动画连接的对象,其数据源都可以通过组态来指定。每个画面的内容可以根据实际情况灵活设计。3。2软件组态设计基于力控PCAuto组态软件的设计与实现主要包括以下几个步骤:画面创建、动画连接、I/O设备设置、创建实时数据库、数据连接.画面创建根据本系统的特点,设计了锅炉监控系统主界面,数据的采集、保存及查询界面,报警信息,温控曲线四个界面.主界面如图1所示,主要包括了系统开关,锅炉精灵,压力、温度的精灵,加热设备和一些控制阀门。图1锅炉监控系统主界面数据的采集、保存及查询界面如图2所示,说明了系统的实时数据信息,及相关历史数据的查询。主要包含趋势曲线和历史报表.“历史报表”工具可以方便的实现报表打印功能图2数据的采集、保存及查询界面报警信息界面如图3所示,由报警组态及相关报警设置来完成系统的报警任务.图3报警信息界面温控曲线界面如图4所示,主要有温控曲线组件完成,便于更好的实现锅炉内温度的控制与观测.图4温控曲线界面动画连接动画连接是指画面中图形对象与变量或表达式的对应关系。建立了连接后,在监控系统运行时,根据变量或表达式的数据变化,图形对象改变颜色,大小等外观,文本会进行动态刷新。这样就将现场真实的数据放映到计算机的监控画面中,从而达到监控的目的.此控制系统中分别对开关精灵、报警灯、界面切换、加热设备等进行了相关的动画连接。从而可以动态的实现系统的良好控制。具体实现方法如图5中各图所示。(a)开关的相关动画连接(b)阀门的相关动画连接(c)各界面切换的相关动画连接图5动画连接I/O设备设置及管理I/O设备设置是指对包括应用程序的“软件设备”和现场数据采集交换的硬件设备在内的广义上I/O设备驱动程序进行配置,使其与组态软件建立通信,构成一个完成的系统。在被监控系统中,分别对锅炉的液位“LEVEL”,入口泵“IN_WATER”,出口阀门“OUT_WATER”,进行了定义,地址的分配,通信方式的选定等操作.在监控系统中建立的仿真PLC,其实现方法如图6所示。图6仿真PLC的建立配置I/O设备的过程在图形开发环境Draw的导航器中进行,按照设备安装对话框的提示就可以完成I/O设备的配置工作。I/O设备配置完成后,在导航器中将列出I/O设备的设备名称,同时生成的设备名称即可用于数据连接过程。在系统运行时,力控通过内部管理程序自动启动相应的I/O驱动程序,I/O驱动程序负责与I/O设备的实时数据交换。创建实时数据库实时数据库(DB)是整个监控系统的核心。它负责整个系统的实时数据处理和历史数据存储、统计数据处理、报警信息处理、数据服务请求处理,完成与过程数据采集的双向数据通信。在本系统中,经过创建点参数、定义I/O设备、数据连接等几个步骤便可以完成数据库的创建。系统中采用的I/O设备的数据采集与回送是实时数据库的一个最基本的功能。因为实时数据库系统应用所面向的监控对象最终还是要落实到具体的硬件设备。力控数据支持的I/O设备包括DCS、可编程控制器(PLC)、智能模块、板卡、智能仪表、控制器、变频器等。数据库与I/O设备之间的数据交换方式也相应的有很多种。本系统实时数据库的建立过程如下所示:以“LEVEL”点参数的建立、修改为例,包括基本参数、报警参数、数据连接、历史参数等的设置。图7相关点参数的设置3。3系统功能实现的脚本程序调出程序脚本串口,编写程序如下:图8脚本程序程序:IFRUN。PV==1THEN

LEVEL.PV=LEVEL.PV-3;ﻭWD.PV=WD.PV-2;ﻭYQ.PV=YQ。PV+0.001875;

ﻭIFIN_WATER。PV==100THENﻭLEVEL。PV=LEVEL。PV+6;

ENDIF

IFIN_WATER。PV==5THENﻭLEVEL。PV=LEVEL.PV+0.3;ﻭENDIF

IFIN_GAS.PV==100THENﻭWD.PV=WD.PV+4;ﻭENDIFﻭIFIN_GAS.PV==5THEN

WD.PV=WD.PV+0.2;ﻭENDIF

IFOUT_GAS。PV==1THEN

YQ.PV=YQ.PV—0.00375;

ENDIFﻭﻭIFLEVEL.PV〈=80THENﻭIN_WATER。PV=100;ﻭENDIFﻭIFWD.PV<=60THEN

IN_GAS。PV=100;

ENDIFﻭIFYQ.PV<=0.11THEN

OUT_GAS.PV=0;ﻭENDIF

IFLEVEL.PV〉=100THENﻭIN_WATER。PV=5;

ENDIFﻭIFWD。PV〉=75THEN

IN_GAS.PV=5;ﻭENDIF

IFYQ.PV>=0。11THENﻭOUT_GAS.PV=1;ﻭENDIFﻭ

ENDIF4.设计心得体会通过这次对力控组态软件的使用,我们在搜集大量资料和观看一系列力控软件实例的基础上,很好的完成了本次锅炉监控系统的设计任务,掌握了组态软件课理论与实际间的联系,也熟练了数据库的建立,数据采集的创建,报警的运用等等,通过繁琐的动画连接和实时数据库中各种变量的建立,找到了一定的规律。通过简单的控制语句的编程,发现了其中很多控制变量间的编程规律,很好的实现了组态功能。设计的过程中遇到过不少问题,软件的安装也尝试了好几个版本,或者是程序的编写问题,或者是变量的创建不合适,再或者是动画的关联,等等,通过大家一起探讨,一起研究,解决了一系列的困难,最终能够在一台电脑上将实验中的各种现象完美的展现出来,但是还是有的地方没有弄太明白,不过最终仍旧根据要求圆满地完成了设计的任务,在困难的陪同下体验了一下成功的喜悦,增强了以后学习和解决困难、问题的信心,更增添了对力控软件的研究兴趣。最后感谢老师对我们的教学和指导,也希望在以后的设计中老师能够给予帮助与鼓励。作业力控支持多种形式的网络通信,主要有哪几种?答:力控支持的网络通信方式包括DDE,OPC,ODBC。什么是网络数据库连接?答:网络数据库:(1)在网络上运行的数据库;(2)网络上包含其他用户地址的数据库;(3)信息管理中,数据记录可以以多种形式相互关联的一种数据库。网络数据库是跨越电脑在网络上创建、运行的数据库.网络数据库中的数据之间的关系不是一一对应的,可能存在着一对多的关心,这种关系也不是只有一种路径的涵盖关系,而可能会有多种路径和从属关系.网络数据库连接即将网络数据库作为服务器和客户端提供或接收数据.若要自启动力控的WebServe和网络服务器程序,应该如何设置?答:双击系统配置导航器中的“系统配置/初始启动程序”,在力控程序启动设置查看Web服务器HttpSvr和NetServer是否已经选中。如果没有选择,手动选择这个程序。选择后启动力控程序是否将会自动启动力控的Web服务器程序.解释“系统冗余”和“双机热备”,力控软件冗余系统如何配置?答:“系统冗余”:在一些对系统可靠性要求很高的应用中,需要考虑热备份也就是系统冗余,这是指系统中一些关键模块或网络在设计上有一个或多个备份,当现在工作的部分出现问题时,系统可以通过特殊的软件或硬件自动切换到备份上,从而保证了系统不间断工作.“双机热备":特指基于高可用系统中的两台服务器的设备(或高可用),因两机高可用在国内使用较多,故得名双机热备。力控冗余系统配置:假设构成双机冗余系统的两个节点计算机分别为M机和S机。将M机当做主机,S机当做从机。将组态好的力控工程分别安装到M机和S机上。(1)主站配置:在M机上打开应用工程,在开发系统Draw导航器中选择“系统配置/节点配置",“本机配置"采用缺省的“默认配置”.双机“网络节点”,从而增加一个代表从机(S机)的节点配置项。(2)从机配置:在S机上打开应用工程,在开发系统Draw导航器中选择“系统配置/节点配置”,“本机配置"采用缺省的“默认配置”.双机“网络节点”,从而增加一个代表主机(M机)的节点配置项。在导航器中“系统配置/双机冗余"选项中设置本机类型为从机,主机节点为“M”,其他同主站配置。基于机器人运动控制系统软件设计摘要:移动机器人的运动控制主要是完成移动机器人的运动平台,提供一种移动机器人的控制方式。本文通过对移动机器人的研究,实现了基于渡越时间法的超声波测距模块设计,为机器人提供简单方便的障碍物距离检测。本文主要完成对主控板控制器软件设计、电机驱动控制器软件设计和超声波测距软件的设计,使开发系统能够服务于移动机器人研究的通用开发平台。关键词:机器人;运动控制;软件设计;超声波测距中途分类号:TP9文献标识码:B0引言随着计算机、网络、机械电子、信息、自动化以及人工智能等技术的飞速发展,移动机器人的研究进入了一个崭新的阶段。同时,太空资源、海洋资源的开发与利用为移动机器人的发展提供了广阔的空间。目前,智能移动机器人,无人自主车等领域的研究进入了应用的阶段,随着研究的深入,对移动机器人的自主导航能力,动态避障策略,避障时间等方面提出了更高的要求。地面智能机器人路径规划,是行驶在复杂,动态自然环境中的全自主机器人系统的重要环节,而地面智能机器人全地域全自主技术的研究,是当今国内外学术界面临的挑战性问题.智能移动机器人是一类能够通过传感器感知环境和自身状态,实现在有障碍物的环境中面向目标自主运动,从而完成一定功能的机器人系统。移动机器人技术研究综合了路径规划、导航定位、路径跟踪与运动控制等技术。涉及到包括距离探测、视频采集、温湿度以及声光等多种外部传感器,作为移动机器人的输入信息。移动机器人的运动控制主要是完成移动机器人的运动平台,提供一种移动机器人的控制方式。性能良好的移动机器人运动控制系统是移动机器人运行的基础,能够服务于移动机器人研究的通用开发平台。移动机器人技术研究综合了多学科领域的知识,关键技术可分为:路径规划、导航定位、路径跟踪与运动控制技术。路径规划又可分为全局和局部路径规划.全局路径规划是根据移动机器人总体任务进行路径规划,将总体路径任务分解,并建立全局地形数据库;局部路径规划是根据全局规划分解的子任务,结合移动机器人当前状态信息,实时规划可行路径;导航定位技术确定移动机器人在全局地图中的位置,并实时得到机器人与路径跟踪的相对位置关系,其关键技术是多传感器信息处理与数据融合技术.路径跟踪与运动控制技术的任务是控制移动机器人跟踪局部规划给出的路径,结合导航定位系统得到机器人本身状态信息与道路信息,完成航向和速度控制。移动机器人的路径规划、导航控制以及路径跟踪与运动控制技术是相互关联的,任何一个系统的不完善都会导致整体性能的下降。1主控板软件设计主控板硬件完成模块管理、设备通讯及机器人定位脉冲检测等内容。在实际应用中,主控板硬件还负责超声波测距的软件管理。主控板硬件中只有主控板控制器需要进行软件设计。主控板控制器TMS320LF2407A的主要任务是超声波测距的软件设计管理和其他一些基本设置内容,包括电机码盘的正交编码脉冲检测。初始选定TMS320LF2407A作为主控板控制器是考虑到此控制系统可以作为以后机器人应用的平台,可以在TMS320LF2407A里嵌入实时系统,提升系统性能,方便接口开发。主控板控制器的软件设计内容包括模块初始化、串口通讯、正交编码脉冲检测和超声波测距软件。这里介绍模块初始化串口通讯和正交编码脉冲检测等内容。图1主控板控制器程序流程图。图1主控板控制器程序流程图复位向量地址为程序入口,然后程序进行初始化。初始化内容包括扩展方式、溢出方式、DARAM、倍频、JTAG等基本配置.另外还有使用的相关I/O的设置、程序使用相关定时器的设置、程序使用相关中断的设置和串口通讯的相关设置.这些配置都是控制器使用的基本配置流程。初始化之后会开启相关的中断程序,随后进入超声波测距程序,并一直循环。中断服务程序处于就绪状态,一旦有中断发生,中断服务程序立即执行。在TMS320LF2407A的所有程序中,需要对其串口的数据发送和接收程序做说明.异步通信使用三条线(地线、发送线、接收线)连接采用RS232格式的终端。发送各位依次为一个起始位、l~8个数据位、可选的一个奇偶校验位、1~2个停止位.因此串口通讯能够传输的最大的数据单位为8位,即一个字节。在设计中控制器和各终端会有各种类型的数据交流,如整形数据和浮点数据,因此需要对串口发送和接收的数据进行数据转换。四个字节的单精度浮点数的数据传输,因为串口每次最多只能传输一个字节,所以只需要把每个四字节浮点数的存储数据转换成字节形式发送即可,设计中采用强制转换的方式完成。数据接收的时候也可以采取同样的处理方式,反向转换即可。另外在数据转换上也可选择共用体来实现,共用体的实质和上面讲述的类型转换是一样的,只是共用体的各个数据类型占用的存储空间是共同的,对于这个存储空间,共用体定义的任何结构类型变量都可以调用。上位机里的串口数据处理采用的是这种方法,十分方便.对于正交编码脉冲的检测,TMS320LF2407A具有独立的正交编码脉冲单元,只要对单元寄存器进行简单设置即可得到机器人驱动轮的运行方向和距离参数。TMS320LF2407A将这些数据通过串口发送到上位机,由上位机建模,对数据加以处理后得到机器人的位姿信息.2电机驱动软件设计电机驱动软件完成电机的驱动控制和闭环调速.驱动控制使用的是电机驱动主控芯片STCl2C4052AD的片内PWM外设单元,生成的PWM信号经过电机驱动芯片驱动电机,可以通过调节PWM占空比来调节加载在电机上24VDC电压的占空比,从而调节电机转速.PWM占空比由片内8位的PWM控制寄存器进行控制,该寄存器取值范围为0—255,分别代表PWM信号占空比从l到0的连续变化。同时STCl2C4052AD接收电机光电码盘的脉冲信号,利用片内时钟计算出电机运行速度,通过速度控制算法完成电机的闭环调速。电机驱动及闭环调速软件算法流程图如图2所示。图2电机驱动控制器程序流程图如上图所示,程序开始后进行初始化,初始化包括程序使用相关变量定义、10ms定时器0、定时器l及串口、脉冲计数用外中断0、看门狗等寄存器的设置和电机状态参数(刹车、速度)等的初始化。然后进入循环状态,循环过程中更新看门狗寄存器的相关标志位.速度检测和闭环调速程序分别在外中断0和定时器0中完成。中断服务程序也就包含了外中断0、定时器0以及串口中断服务程序.外中断0是电机光电码盘的脉冲检测外设,所有电机光电码盘的脉冲都会引起外中断0的中断。码盘脉冲测速的原理是计算STCl2C4052AD单位定时时间内的脉冲数目,因此外中断0的中断服务程序的内容就是对脉冲计数.而上位机设定的目标电机转速也会被转换为此单位定时时间内的脉冲数目。可以定义一个全局变量,每次进入外中断0的中断将该变量加1即可。另外为防止程序干扰,应该对计数值加以修正,如小于0的时候等于0,大于某一设定值的时候等于某一设定值等.3超声波测距软件设计设计中的超声波测距软件利用了常用超声波测距的渡越时间法.渡越时间法的工作原理为发射超声波的同时开始计时,接收到超声波后停止计时,记录超声波的传输时间为t,那么超声波测距模块和障碍物的距离为s由下式表示。S=v*t/2其中v为超声波在空气中的传播速度。由下式表示。其中,T为空气的华氏温度。在常温下,超声波的传输速度随温度变化并不太大,而且超声波的传输时间都为毫秒级,因此影响不是很大。不过也可以为超声波测距模块添加一个温度校正模块,检测环境温度,再在主控板控制器计算超声波速度时进行修正。现在市场已有集成温度检测器件,也很方便。超声波测距的主要流程为发射超声波以后,如果有反射超声波信号返回,则由外中断0接收计算距离.在超声波信号发射的同时打开定时器3,定时时间为最大超声波测量距离所需的传输时间,如果在定时器3中断的时候还没有外中断0中断事件发生,即没有反射超声波信号返回,那么在进入定时器3中断的时候关闭超声波返回中断和超声波传输时间定时器l,进行下一次的超声波测距循环。程序流程图如图3所示。图3超声波测距程序流程图外中断0接收到超声波测距信号返回,则进入外中断0服务程序进行测距程序处理。若没有超声波信号返回则将发生定时器3的定时中断,说明等待超时,设定测距范围内无障碍物.两种情况都将引发等待标志位的改变,程序跳出等待状态,更改工作超声波测距模块,进行下一个超声波模块的测距处理。外中断0和定时器0的程序流程图如图4所示.图4外中断0和定时器3程序流程图图中A为外中断0程序流程图。进入中断服务程序表示有超声波信号返回。程序开始关闭所有系统的可屏蔽中断和测距使用外设,读取定时器l计数值,计算障碍物距离。更改程序循环标志,然后中断服务程序返回。B为定时器3的程序流程图。进入中断服务程序表示测距范围内无障碍物,因此只用关闭系统的可屏蔽中断和测距使用外设,直接更改程序循环标志,退出中断服务程序即可。设置定时器1不产生中断,而设置定时器1为定时最大值也不会发生定时器l中断。因此不必写定时器1的中断服务程序。4结论本主控板控制器协调上位机和各模块的工作,软件设计中详细讲述串口传输中的数据类型处理问题。利用单片机PWM外设生成脉冲宽度调制信号驱动电机,并通过光电码盘实现电机的闭环调速。超声波测距模块已经有广泛的应用,超声波测距模块软件程序采用通用的渡越时间法完成距离的测量,并通过模拟开关实现多超声波测距模块的分时工作。毕业实习报告题目:基于Android考试系统软件开发设计姓名:专业:通信工程班级学号:12042243同组人:指导教师:南昌航空大学信息工程学院2016年1月16日目录TOC\o"1-3"\h\uHYPERLINK\l_Toc8875前言PAGEREF_Toc88751第一章软件开发环境PAGEREF_Toc194212HYPERLINK\l_Toc213831.1JDK安装

PAGEREF_Toc213832HYPERLINK\l_Toc36421。2AndroidSDK安装以及系统设置

PAGEREF_Toc36422HYPERLINK\l_Toc58251。3Eclipse安装以及ADT工具的安装

PAGEREF_Toc582521.4Android平台特点

PAGEREF_Toc261731.5Eclipse简介

PAGEREF_Toc91773HYPERLINK\l_Toc269591.6AndroidSDK简介

PAGEREF_Toc269594HYPERLINK\l_Toc221731.7ADT简介

PAGEREF_Toc221734HYPERLINK\l_Toc14227第二章需求分析PAGEREF_Toc142275HYPERLINK\l_Toc133752。1设计平台介绍PAGEREF_Toc1337552.2题目描叙PAGEREF_Toc2073952.3需求分析PAGEREF_Toc117945HYPERLINK\l_Toc311732.4设计思路PAGEREF_Toc311736HYPERLINK\l_Toc14139第三章系统结构PAGEREF_Toc1413973.1系统整体模块PAGEREF_Toc4137HYPERLINK\l_Toc114793。2登录注册模块PAGEREF_Toc1147973.3选题模块PAGEREF_Toc510973。4答题模块PAGEREF_Toc1956083。5结果显示模块PAGEREF_Toc47368HYPERLINK\l_Toc293723.6程序逻辑结构PAGEREF_Toc293728HYPERLINK\l_Toc27661第四章系统工作原理PAGEREF_Toc2766194.1客户端程序设计

PAGEREF_Toc195829HYPERLINK\l_Toc139974.2界面布局PAGEREF_Toc1399794.3题目读取PAGEREF_Toc17287114。4判题算法PAGEREF_Toc12530124.5数据交互PAGEREF_Toc1677014总结PAGEREF_Toc697415HYPERLINK\l_Toc29810参考文献PAGEREF_Toc2981016前言移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。来自美国最大的风险投资机构KPCB的数据显示,全球智能手机出货量正在以远高于台式电脑、笔记本电脑出货量的速度快速增长。搭载安卓操作系统的智能手机目前已经成为市场上最炙手可热的智能产品,安卓有望成为智能手机市场主导力量.据业内统计,目前国内的Android研发人才缺口至少30万.由于目前Android技术较新,无论是相关书籍、培训还是大学教育,都处于初级阶段,因此Android人才短期将供不应求。从长期来看,随着各种移动应用和手机游戏等内容需求日益增加,也将激励大中小型手机应用开发商加大对Android应用的开发力度,因此Android人才的就业前景也非常广泛。本次设计过程包含需求分析、总体设计以及详细设计。需求分析从总体上得出设计中可能要实现的模块。总体设计是对需要分析的进一步细化,掌握大致的实现过程。而详细设计则是精确到设计中的每一个细节,如何实现和解决遇到的一些问题.本系统的难点在于如何用较好的算法处理判题和记分策略,设计中采取的舍弃首行做法和各类题型分离处理方式,而且软件工程的设计方法,并且可用于实际开发中去。第一章软件开发环境1。1JDK安装

JDK是Java语言的原创者推出的原始开发环境.采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为http://www。oracle.com/technetwork/indexes/downloads/index.html,也可从其他网站下载。下载完成后,双击运行JDK安装程序并根据提示设定环境变量.

1。2

Android

SDK安装以及系统设置

下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT。Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中.如果没有找到设定PATH变量的行,可以自己添加一行:exportPATH=${PATH}:<$SDK_ROOT/tools的完全路径。Mac下,在home目录中找到文件。bash_profile,和Linux的一样处理.如果还没有在机器上设定这个文件,可以创建一个。bash_profile文件.Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path",将$SDK/tools的完全路径加入其中。通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了.需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的设置,将其指向变动后的路径。配置SDK有两种方法:第一种,通过SDK下载器自动下载和配置.适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。适合网络不是很好,下载速度慢的情况下。

1.3

Eclipse安装以及ADT工具的安装

下载Eclipse安装包后,无需安装,只需解压缩,点击“eclipse。exe"文件即可运行。Android为Eclipse定制了一个插件,即Android

Develpoment

Tools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功能,可以让用户快速建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序.安装ADT:启动Eclipse,选择Help〉Install

New

Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入"ADT",然后点击Archive。..,浏览和选择已经下载的ADT插件压缩文件,点击OK。返回可用软件的视图,你会看到这个插件,然后选择Developmer

Tools,点击Next,最后重启Eclipse。软件开发环境搭建好后,便可以开始创建项目了.1.4Android平台特点

Android是一个专门针对移动设备的软件集,它包括一个底层Linux操作系统,中间层的中间件和上层的java应用程序。Android平台的开发特点如下:(1)应用程序框架支持组件的重用与替换.这在之前的手机操作系统当中是很难想象的.这意味着我们可把系统中不喜欢的应用程序替换掉,安装我们喜欢的应用程序.(2)Dalvik虚拟机专门为移动设备做了优化。Android应用程序将由java编写、编译的类文件通过DX工具转换成一种后缀名为。dex的文件来执行。Dalvik虚拟机是基于寄存器的,相对于java虚拟机要快很多.(3)内部集成浏览器基于开源的WebKit引擎.有了内置的浏览器,这将意味着WAP应用的时代即将结束,真正的移动互联网时代已经来临,手机就是一台“小电脑”,可以在网上随意遨游.(4)优化了图形库包括2D和3D图形库,3D图形库基OpenGL

ES1.0。强大的图形库给游戏开发带来福音。(5)SQList用作结构化的数据存储.(6)多媒体支持包括常用的音频、视频和静态印象文件格式.(7)GSM电话(8)蓝牙,EDGE,3G,WIFI.(9)照相机,GPS,指南针和加速计.(10)丰富的开发环境包括设备模拟器、调试工具内存及性能分析图表和Eclipse集成开发环境插件。Android系统构架如1.1图所示。1.5

Eclipse简介

Eclipse是一个综合开发环境(Integrated

Development

Environment)IDE,它是一个功能完整且成熟的软件,由IBM公司于2001年首次推出。大家可以在其官方网站http://www.eclipse。org免费下载该软件的打包文件,释放到文件夹即可使用。Eclipse是一个开放源代码、基于Java的可扩展开发平台.开放源代码的意思是让使用者能够取得软件的原始码,部分地有权去修改和传播这个软件。有人非常形象地将Eclipse比喻成软件开发者的“打铁铺”,它一开始备有火炉、铁砧与铁锤.就像铁匠会用现有的工具打造新的工具一样,程序员也能用Eclipse打造新工具来开发软件———这些新工具可扩充Eclipse的功能。

图1.1Android系统构架1.6Android

SDK简介

Android

SDK(software

development

kit,SDK)

Tool软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,是Android专属的软件开发工具包.

1.7

ADT简介

目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。第二章需求分析2.1设计平台介绍Android是Google推出的开源手机操作系统。它基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:1、开放性。2、应用程序无界限3、应用程序是在平等条件下创建的.4、应用程序可以轻松的嵌入网络。5、应用程序可以并行运行。Android的应用层是用Java语言编写的运行在虚拟机上的程序,我们课程设计中所用到开发语言就是Java.2.2题目描叙一个测验系统,用户能够方便的进行登录,选题,答题。能够读取特定文件夹下的题目,用户也可以自己编写测试题目。2.3需求分析设计的题目是一个自我评测系统。包含的功能如下:1、登录界面.用于已经这册的用户进行登录。2、注册系统。允许新的用户进行注册,并且将个人信息写入数据库。3、题目选择系统。能够显示指定文件夹下的题目信息,可以选择任意一套题目进行作答.4、选择题答题系统.能够显示选择题文件的选择题,并且可以进行作答,记录用户选择题的答案。5、多选题答题系统。能够显示多项选择的题目信息,并且能够作答等操作,记录用户答案,进行结果校验。6、评测反馈表.显示用户的信息,并显示用户的成绩。2.4设计思路采用三层架构,如图所示,即数据访问层、业务逻辑层和表示层。方便项目的扩充与维护。图2.1系统结构框图三层架构,包括表现层、业务逻辑层和数据访问层。

作用:实现数据的访问方式与表现层相分离,利于代码的维护、项目的扩展、修改和跨平台移植。

(1)表现层

程序界面,可以是控制台、Swing图形界面、Android界面,也可以是HTML界面。

(2)业务逻辑层

数据访问层与表现层的桥梁,实现与考试相关的业务代码并负责向表现层提供与考试相关的服务。如登录验证、判题打分、设置登录者为考生、将考生选择的答案保存、下载考题、提供指定编号的考题。(3)数据访问层

从网络下载考题、下载已注册的考生、从下载的考题中产生一个考卷、提供考试时间、考题数量、考试标题。第三章系统结构3。1系统整体模块依据需求分析,设计如下一个模块结构:图3。1系统模块3。2登录注册模块此模块可以进行登录系统做题和允许新用户进行注册。登录系统允许用户通过输入的信息,查询数据库用相关表内的信息,如果用户信息匹配则允许用户登录,同时记录登录的用户信息,否则则提示用户错误信息,让用户修改操作。对于没有账户信息的用户,则可以注册新用户,便于新用户使用该系统。3。3选题模块用户可以在题目列表中选择任意一套题目进行答题.该题目列表是系统自动搜索指定目录下的相应文件信息,自动生成的一个列表。保证信息的全面与正确性.3。4答题模块用户可以随时选择返回做做过的题目,在用户选择结果之后,能够保存好用户的结果,用户在进行题号切换时不会丢失原来的结果,保证题目评分的正确性。用户在做完题目之后,随时可以方便提交试卷.3。5结果显示模块从数据库中取出用户的信息,用列表的方式显示出来.3.6程序逻辑结构程序的核心在于答案校验的算法当中,首先需要将用户的信息保存下来,并且要保证用户的信息不会丢失。例如:在用户选择完当前一题的结果之后切换到下一题去时,又返回到原来的上一题时,不会导致分数重复计算,或者答案丢失.在用Java读取文件的时候,需要一些处理文件信息的技巧。对于多选题的结果校验,由于选择多项答案的时候,由于选择顺序的关系,可能会导致结果不能与标准答案进行有效的比对。第四章系统工作原理4。1

客户端程序设计

客户端是使用者最直接接触的东西,包括是否能够让客户很轻松、方便的使用,操作响应时间、主机连接时间、图片综合质量、首页布局质量、首页信息类型等.

一般来说,一个界面主要由下面几个因素构成:

(1)文字:文字元素是信息传达的主体部分。界面中的文字主要包括标题、信息、文字链接几种主要形式。标题和传统媒体中信息传达的基本作用相同,是内容的简概说明一般比较醒目、优先编排。文字作为占据页面重要比率的元素,同时又是信息重要载体,它的字体、大小、颜色和排布对页面整体设计影响极大。

(2)图形:图形在界面中具有重要作用.合理的运用图形,可以生动直观、形象地表现设计主题。网页中常用的图形格式包括jpg和gif,这两种格式压缩比高,得到了Android平台的支持,图形元素包括标题、背景、主图、链接图标四种。

(3)界面版式:版式是界面设计的重要组成部分,它将文字、图形等视觉元素进行组合配置,使页面整体视觉效果美观和谐,便于阅读,操作,实现信息传达的最佳效果。

终端系统的界面设计也是综合了文字,图形等元素。使每一个功能有文字与图片的共同描述,达到看图就大概知道此键是什么功能的目的,最终的目的还是为了使用者能够快速上手,不至于因为操作的不得当而放弃此系统。4。2界面布局在进行界面设计的时候,使用最多的方法是使用Eclipse和ADT工具配置的开发环境,进行可视化的图形界面编辑。Android界面布局主要是在只是在工程的资源文件res下的layout文件夹里添加xml布局文件,实现开发人员对控件的可视化操作,体现了安卓开发MVC的设计理念。该实习项目主要难在一些精确控制的控件上加上一些关键性的语句,解决可能需要复杂算法才能解决的难题。例如:在控制编辑文本框的输入时,需要按下回车键的时候切换到下一控件上去,但是由于编辑文本框默认是多行输入的,一般在输入完之后按下回车,会增加编辑文本框的大小,另起一行,让见面变得不美观。在编辑文本框中只需要加上一行代码即可以解决上面的问题:android:singleLine=”true”。还有控制好各个控件之间的间距,最好设置好各个控件的权重,适应各种不同分辨率的手机屏幕,解决手机屏幕自适应问题。在登陆和注册两个按钮需要做些主要的逻辑处理,为两个按钮分别绑定监听器事件,在后面的代码中实现相应的逻辑处理。具体的效果如图4.1中的所示,实现的代码在图4.2中可以看到。图4。1登录界面图4。2文本编辑框代码4.3题目读取读取题目的过程,主要是通过文件流进行读写的。该课程设计中的测试题并没有经过任何的加密算法,而是UTF—8格式的明文,只需要用Java的文件流操作,就可以方便的读写文件。题目的格式,一个题目占据五行,第一行是题目问题,第二~五题是题目的答案。题与题之间没有多余的空行.单选题和多选题是用不同后缀名的文件,但是题目的是一样的,之所以用不同的文件格式,是为了方便区分不同类型的题目,能够减轻程序设计的负担,但也许会加大出题者的一些繁琐工作。个人认为,这样小的一个代价,足够换取程序设计的复杂性。图4。3读取题目图4。4题目构成4.4判题算法每一题的设计上都包含有相应的标准答案位于其中,对应于每种格式的题目,都有与之相对应的答案格式文件。例如:为单选题的问题,与之对应的。ans是相应的答案.由于Java读写文件上存在一些问题,读取的第一行文件不能够有效的转换成相应的字符串形式,从而不能够方便与标准答案进行比较,从而导致判题结果不正确。处理的方式就是,答案文件的第一行都放弃使用,在第一行,存放无效的字符串,从第二行起取出来的字符串才是第一题的结果.进行这样的处理之后还是不能够得到想要的比对结果,因为在系统中设置了,用户允许在提交答案之前,任意的对题目进行修改。一般的处理方式,在进行题目的切换之后,如果立即进行答案的判断,容易造成结果不正确。因为切换题目之后,分数累加,如果切换回去之后依然正确,可能又会累加,又或者换题之前做错了结果,换回来重做之后,如果做错了,会导致重复减分,以致结果不正确.解决这种问题的一种算法就是,在进行从单选切换到多选题的时候,才进行结果判断,并且记分,记分并不累加到总分上去,而是只是算当前题型的分数.在判断多项选择题时,会遇上由于结果选择顺序的不一致,导致与标准答案的结果不一致,解决的办法是,设置四个临时变量用于保存每个选项的值,每个选项对应不同的值,当选择完之后用这四个值按照一定得规则组合出原来的结果,具体实现的代码如图4。5中所示。多选的总分方法在4。6中也已经给出来。图4。5记录多选题结果图4.6总分代码4。5数据交互交互设计上,细致得考虑到了用户的需求,提供了用户选择试卷的权限,能够让用户随意做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论