客车用盘式制动闸制动性能检测系统设计
客车用盘式制动闸制动性能检测系统设计,客车用盘式制动闸制动性能检测系统设计,客车,用盘式,制动闸,制动,性能,机能,检测,系统,设计
毕 业 设 计 附 件 二软件需求说明书专 业 机械设计制造及其自动化 学生姓名 胡 成 班 级 B机制077 学 号 0710101710 指导教师 卢 倩 完成日期 2011年6月6日 软件需求说明书1引言1.1编写目的软件完成后,在与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。此需求规格说明书软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、测试人员、项目管理人员。1.2项目背景检测系统软件开发是在硬件设计的基础上进行的,其主要作用是在现有硬件平台上尽可能完善系统功能,充分发挥硬件的潜力,满足设计功能要求,提高实用性和可靠性。良好的软件开发是实现系统功能的重要环节,也是提高系统性能的关键所在。本软件系统主要实现如下功能:(1)单片机系统软件:采集位移、压力、转速传感器输出的模拟信号,并实现单片机和工控机的串行通信;(2)工控机智能分析软件:提供友好的人机交互界面,实现工控机和多个数据采集器的多机串行通讯,读取它们采集的数据,并对数据进行分析、处理、融合、显示、存储和打印;对盘式制动闸制动性能进行智能分析与评价。在本系统软件的开发过程中必须遵循的原则是:(1)模块化、规范化设计,为方便软件的维护、更改和升级,将系统软件划分成若干个具有单一功能的独立模块。由于各模块间相对独立,从而提高了系统的可靠性和易维护性;(2)优化界面设计,为方便用户使用,软件开发时尽可能使界面简单实用;(3)使用编制、修改、调试、运行和升级方便的可视化编程语言。2任务概述2.1目标2.1.1 开发目标下位机软件开发应与硬件设计相结合,使硬件功能实现最大化。开发的上位机软件要具有友好的人机界面、高可靠性和智能分析的功能。2.1.2 应用目标更方便快速的实现对制动参数的检测。2.2运行环境2.2.1 硬件环境A 普通微机(Pentium II 或更高,128以上RAM)B KYC01型绝压/压力传感器C CZFBZF电涡流位移传感器D 光电式传感器2.2.2 软件环境A windows 98 以上的操作系统 B Visual Basic 6.02.3 条件与限制本软件是应用于一般的制动系统,只是关于制动闸性能进行了分析和研制。在功能上还可进一步改进。3功能要求3.1功能划分本系统有以下功能模块:1)信号采集模块 2)数据处理模块 3)数模转换模块 4)报表生成模块 5)用户界面模块4性能需求4.1数据精确度因为各种因素,程序算法引起的测量误差,现场的测试方法引起的误差,各种干扰引起的误差会影响数据精度。采取了软件冗余设计,以保证所采信号的可靠性。4.2时间特性一般操作的测量周期:400ms4.3适应性满足一般参数检测系统的需求,对前面提到的运行环境要求不应存在困难。5运行需求5.1用户界面本系统软件所有操作均简单易学,操作方便,而且在Windows程序管理器下产生运行文件程序组和形象的图标,用鼠标双击图标即可运行应用程序。5.2硬件接口本软件不需要特定的硬件或硬件接口进行支撑。目前市场上一般的PC机均可运行此软件。5.3软件接口运行于Windows98及更高版本具有WIN32 API的操作系统之上。5.4故障处理正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损。当单片机测试系统受干扰出现错误时,程序便脱离正常轨道乱飞。在本系统软件的开发过程中,加入了空操作指令NOP,避免了后面的指令被当作操作数执行,程序自动纳入正轨。此外,在RET、LJMP对系统流向起作用的指令之前插入两条NOP指令,也可确保这些重要指令的正确执行。在工控机软件的通讯模块设计中附加若干抗干扰措施,如上电或正式通信之前,对串行端口做几次空操作,清除端口的非法数据和命令。系统分析软件完成某种功能是需要用户操作的,这种操作具有一定的顺序性。6其它要求a)系统的功能实现情况: 用户可在本系统下实现各种用户要求的功能。b)系统的容错性: 用户操作失误时都有提示信息,具有较好的容错性能。6 毕业设计任务书课题: 客车用盘式制动闸制动性能检测系统设计 专 业 机械设计制造及其自动化 学 生 姓 名 班 级 学 号 指 导 教 师 专 业 系 主 任 发 放 日 期 2011年2月20日 一、设计内容客车用盘式制动闸是一种应用十分广泛且成熟的制动方式,但是其制动性能无法实现在线动态监测,可以借助于单片机构建在线动态检测系统,实现对盘式制动闸制动性能的动态在线检测,从而为制动性能的评估提供基础数据。该课题的主要设计内容有:(1) 传感器的选型设计与计算;(2) 盘式制动闸制动性能模型研究;(3) 基于单片机的数据采集单元的设计,主要包括检测传感器的选型设计、A/D 转换设计、控制单元设计、系统接口设计及通信交互设计等;(4) 制动系统软件程序设计。二、设计依据1课题来源:课程或实验室建设2产品名称:客车用盘式制动闸制动性能检测系统研究3设计对象:盘式制动闸制动性能检测系统4研究对象:盘式制动闸制动过程模型,以及利用单片机设计制动参数检测系统5盘式制动闸制动性能检测系统的检测参数确定及检测方法6盘式制动闸制动性能检测系统的检测要求及精度要求三、设计要求1盘式制动闸制动性能检测系统能满足检测要求,保证检测功能;2盘式制动闸制动性能检测系统应工作平稳可靠,结构简单,装卸方便,便于调试; 3尽量能用通用件以便降低制造成本;4对制动过程建立数学模型进行分析研究;5设计图样总量:折合成A0幅面在2张以上;工具要求:应用计算机软件绘图。6毕业设计说明书按照学校规定的格式规范统一编排、打印,字数不少于1万字。7查阅文献资料10篇以上,并有不少于3000汉字的外文资料翻译;8到相关单位进行毕业实习,撰写不少于3000字实习报告;9撰写开题报告。四、毕业设计物化成果的具体内容及要求1设计成果要求 1)毕业设计说明书 1 份2)系统零件图、电路控制图 3 张3)总程序清单 1 份2外文资料翻译(英译中)要求1)外文翻译材料中文字不少于3000字;2)内容必须与毕业设计课题相关;3)所选外文资料应是近5年的文章,并标明文章出处。五、 毕业设计(论文)进度计划起讫日期工作内容备 注2月20日2月21日布置任务2月21日3月5日调查研究,毕业实习3月5日3月19日方案论证,总体设计3月20日4月7日技术设计(部件设计)4月7日5月7日工作设计(零件设计)5月8日5月25日撰写毕业设计说明书5月26日5月27日毕业设计预答辩5月28日6月6日修改资料6月7日6月8日评阅材料6月9日6月10日毕业答辩6月11日6月15日材料整理装袋六、 主要参考文献:1 王永臣. 单片机制动闸自动调节系统M沈阳: 沈阳工业学院学报,2008 2 庄光山. 制动盘对盘形制动摩擦性能的影响J. 四川:铁道车辆,2007.3 赵田臣. 高速列车金属陶瓷复合材料制动闸片研制J. 石家庄:石家庄铁道学院学报,2007.4 程真启. 矿井提升机制动闸间隙监测仪的设计J. 江苏:煤矿机电, 2007.5 贾福音. 摩擦提升机滑绳安全可靠制动分析J. 沈阳:煤炭工程,2008.6 德国XAVER WIRTH. 制动闸片提高了盘形制动器的性能J.Heat Treatments of Materials, 2007.7 赵建明. 半金属基提速客车盘形制动闸片摩擦特性的研究J. 江苏:机械设计与制造工程, 2006.8 陈磊. 矿井提升机盘式制动闸空动时间测试装置设计M江西:煤矿机械, 2008.9 王宏德. 盘式制动闸制动力矩下降原因分析与对策J. 哈尔滨:中州煤炭, 2006.10日本 和田雄一等新开发的制动闸片和制动盘J. 哈尔滨:车辆工程,2009.七、其他八、专业系审查意见系主任: 年 月 日九、机械工程学院意见院长: 年 月 日61 2 3 4 5 6 A B C D 654321 D C B A Title Number RevisionSize B Date: 29-May-2010 Sheet of File: E:5.29MyDesign.ddb Drawn By: 3DU12 D1 发发发发发 D2 发发发发发 R1 430K R2 75K 1 2 3 VCC R2 10K R1 10K 5 4 2 3 1 2 AR1A AR2 OP05 R3 124K R4 2K R9 10K R6 10K R10 10K R7 10K R8 20K A 12V R5 124K 12V + - U0 V1 V2 OP05 VO2 VO1 + _ V0 741 毕业设计开题论证报告专 业 机械设计制造及其自动化 学生姓名 班 级 学 号 指导教师 完成日期 课题名称:客车用盘式制动闸制动性能检测系统设计 一、课题来源、课题研究的主要内容及国内外现状综述1.课题来源课程或实验室建设2.课题研究主要内容1产品名称:客车用盘式制动闸制动性能检测系统研究2设计对象:盘式制动闸制动性能检测系统3研究对象:盘式制动闸制动过程模型,以及利用单片机设计制动参数检测系统4盘式制动闸制动性能检测系统的检测参数确定及检测方法5盘式制动闸制动性能检测系统的检测要求及精度要求3.国内外现状综述1王永臣 陈刚 王磊 崔秀 在单片机制动闸自动调节系统中给出单片机制动闸自动调节系统的结构,阐明了它的工作原理和特点。系统采用根据流过电机电枢的电流控制电机启停的方法和多种抗干扰措施。其控制方案新颖,工作可靠,抗干扰能力较强。2庄光山 王成国 姚永强 王海庆在制动盘对盘形制动摩擦性能的影响中研究了惯性力矩制动试验台。对多种不同石墨形态的铸铁制动盘与混杂纤维增强酚醛基制动闸片配副时的摩擦磨损性能进行了研究。结果表明:制动盘对盘形制动摩擦性能有明显影响。3程真启 高顶 张晓光 赵番在矿井提升机制动闸间隙监测仪的设计中绍了基于Meal6单片机的矿井提升机闸间隙监测设备的设计方法,通过对煤矿提升机闸间隙和空动时间的测量,能够实现对盘形闸的监测,解决了煤矿提升的安全隐患问题,满足了煤矿安全生产的需要。4贾福音 李志佳 王一宾 孙晋响 在摩擦提升机滑绳安全可靠制动分析中析了摩擦提升中绳滑动与绳静、动张力的关系。通过理论分析、参数分配提出了满足系统安全可靠制动的外力制动方式,此方式不仅可以解除滑绳事故,也可以保证制动闸失灵状态下,对系统可靠制动。这套设备的研发成功,可有效控制滑绳事故的发生,为摩擦提升矿井安全高效生产提供保证。5陈磊 任中全 熊双辉在矿井提升机盘式制动闸空动时间测试装置设计中针对矿井提升机盘式制动闸空动时间偏长对矿井提升机事故的影响,依据煤矿安全规程对盘式闸空动时间测试方法进行了研究,采用了继电器的工作原理设计了测试盘式闸空动时间的测试装置,并使用虚拟仪器测试系统,通过Lab VIEW编程语言程序对本测试装置进行了验证。6王宏德在盘式制动闸制动力矩下降原因分析与对策中通过对盘式制动闸制动力矩下降原因的分析, 提出了相应的防范对策, 取得了较好的效果。系统操作简单快捷, 能够实现真正的自动排料。可靠性进一步提高, 维护量大大减少, 整个系统控制完全数字化, 通过操作面板上的数码管显示及几个触摸按钮, 即可完成全部操作。7和田雄一等(日)在新开发的制动闸片和制动盘中阐述新开发的耐磨耗制动闸片和耐热裂纹制动盘的优良性能, 两者组合使用时, 经济效益颇佳。新开发的制动闸片, 与各国采用的闸片相比, 其耐磨性较佳, 对制动盘也没有破坏作用。NCM 制动盘耐热裂纹性好, 也有减低摩擦副闸片磨耗的效果。新开发的制动闸片与制动盘组合使用时, 对降低车辆维修成本具有很大的意义。8. XAVER WIRTH德国在制动闸片提高了盘形制动器的性能中介绍德国铁路公司的高速列车与早期列车的四个制动盘相比, 它在每根轴上只装两个制动盘, 使用一种改善了接触模式的先进制动片, 可以降低嗓声并使能全吸收能力提高了。9. 庄光山 王成国 王海庆 姚永强在混杂纤维增强制动闸片的制动性能研究中采用改性酚醛树脂为基体, 炭纤维与钢纤维、矿物纤维等混杂材料作为增强材料, 研制了适用于提速列车盘形制动的少金属制动闸片。在惯性力矩试验台上对其制动性能进行了测试。试验结果表明, 该制动闸片在各种规定试验条件下的摩擦性能均能满足最高运行速度为120 km/ h160 km/ h 的提速列车的使用要求。10. 赵建明 吴鹏在半金属基提速客车盘形制动闸片摩擦特性的研究中介绍了一种适用于制造提速客车盘形制动闸片的半金属基摩擦材料的摩擦磨损特性方法。试验表明研制的配方半金属摩擦材料具有稳定的摩擦系数和较好的耐磨性及其抗热衰退性。实物惯性台架试验结果表明, 研制的配方闸片具有较高的摩擦系数, 制动距离较短, 制动性能稳定, 完全能满足提速客车运行的制动要求。总结:以上文献中作者从多个思路对盘式制动器的工作原理及条件有详细描述,多有从材料的角度来阐述车用盘式制动器的摩擦性能,但在检测动态性能方面少有阐述尤其未曾涉及传感器,A/D数模转换的内容,所以众论文只是提供了盘式制动器的感性认识和制动状态描述。二、本课题拟解决的问题(1) 传感器的选型设计与计算(2) 盘式制动闸制动性能模型研究(3) 基于单片机的数据采集单元的设计,主要包括检测传感器的选型设计、A/D 转换设计、控制单元设计,电源设计,通信等(4) 制动系统软件程序设计三、解决方案及预期效果1.制动性能模型研究主要有施闸及松闸过程中闸瓦运动学分析和制动力矩分析,此分析建立了制动闸的制动动力学模型,得到了制动性能参数之间的相互影响关系,为检测系统的设计提供基础性理论指导,可为传感器和检测系统的设计提供基础性数据。2.检测系统总体设计(硬件)主要有传感检测部分、数据采集部分和系统监控部分,传感器可以选用压力传感器、位移传感器,数据采集器主要采集模拟量,分为信号调理模块、A/D转换模块、单片机、串行通讯模块和电源。A/D转换主要考虑转换速度和精度;本系统选用的单片机要能够控制转换芯片、选择A/D转换芯片并读取A/D转换数据,同时还应有与上位工控机进行串行通信的功能。数据采集器采用12V供电,为了提高系统的可靠性,在系统的硬件、软件设计上都必须采取相应的抗干扰措施。(软件)单片机系统软件:采集位移、压力传感器输出的模拟信号,并实现单片机和工控机的串行通信;组成:主程序+中断程序 主程序是完成单片机系统初始化并采集传感器输出的信号;串行中断程序是完成单片机系统与工控机的串行通信。四、课题进度安排2月21日3月5日毕业实习阶段。毕业实习,查阅资料,到多个公司实践,撰写实习报告。3月5日3月19日开题阶段。提出总体设计方案及草图,填写开题报告。3月20日5月7日 设计初稿阶段。完成总体设计图、部件图、零件图。5月8日5月25日 中期工作阶段。完善设计图纸,编写毕业设计说明书,中期检查。5月26日5月27日毕业设计预答辩。5月28日6月6日毕业设计整改。图纸修改、设计说明书修改、定稿,材料复查。6月7日6月8日毕业设计材料评阅。6月9日6月10日毕业答辩。6月11日6月15日材料整理装袋。五、指导教师意见 签名 年 月日六、专业系意见 签名 年 月日七、学院意见 签名 年 月日6盐城工学院本科生毕业设计说明书 2011客车用盘式制动闸制动性能检测系统设计摘 要:针对现有的客车用盘式制动闸制动性能无法实现在线动态监测的现状,本论文借助于单片机构建在线动态检测系统,实现对盘式制动器制动性能的动态在线检测。首先,在分析了盘式制动闸制动系统国内外研究现状的基础上,对盘式制动闸制动性能进行数学建模研究,建立了制动闸的制动动力学模型。其次,通过传感器选型和硬件电路设计,给出了盘式制动闸制动性能检测系统的设计方案,完成了论文的主体设计内容:基于单片机的数据采集单元的设计,主要包括检测传感器的选型设计、A/D 转换设计、控制单元设计、通信设计等。最后,通过软件编程和硬件设计相结合,使硬件功能实现最大化。对数据进行分析、处理、融合;对盘式制动闸制动性能进行智能分析与评价。关键词:盘式制动闸制动系统;在线监测;单片机;制动特性 Design of Braking Performance of Passenger Vehicles Monitoring System for the Disc BreakAbstract: For existing passenger cars braking performance disc brake line can not achieve the status of dynamic monitoring, with this paper build on-line dynamic testing system microcontroller to make disc brake performance to achieve a dynamic online test.First, on the analysis of disc brake brake system based on the research status to disc brake on the mathematical modeling of braking performance. Establishing a dynamic model of the brake brake.Secondly, through the sensor selection and hardware circuit design, gives the performance test system design. Complete contents of the paper are the main design: Microcontroller-based design of data acquisition unit, including the selection of sensor design, A / D converter design, control unit design, communication design, and so on. Finally, through software programming and hardware design combined, which maximizes the hardware capabilities. Anglicizing, processing, and entertaining the data to make disc brake on the intelligent analysis and evaluation of performance.Key word: Disc brake system; On-line monitoring; Microcontroller; Braking characteristics. 毕 业 设 计 附 件 四源程序专 业 机械设计制造及其自动化 学生姓名 班 级 学 号 指导教师 完成日期 2011年6月6日 源程序速度采集AD/转换接口程序ORG 0000HADIO: SJMP START ORG 0013H ; INT1中断入口 MOV R6,#0AH ; 设置循环次数,延时10sLOOP: LCALL DEL; 调用1s延时子程序 JMP INDATA DJNZ R6,LOOP ORG 0040H; 主程序入口START: ANL P2,#07FH; 芯片选择 MOVX A,R1; 读一个数据并复位ADC中断触发器 ORL P2,80H; 置位P2.7 MOV R0,#20H; 数据地址 MOV Rl,0FFH; 虚拟地址 MOV A,#0FFH; 为中断循环置位累加器 ANL P2,#07FH; 发送片选信号 MOVX Rl,A 发送写输出信号,启动A/D转换 SETB EA 中断开放 SETB EXI 允许INT1中断LOOP: JNZ LOOP 中断等待,判A的内容=0,进入中断后A=0 NOP NOPINDATA: MOVX A,R1; 若片选为低,则输入数据 MOV R0,A 存储在存储器中 CRL A; 清累加器以得到中断循环输出 RET; 返回SMJZ: ORG 3000H MOV DPTR,#6000H 8279命令口地址 MOV A,#10H; 8位显示,右入口 MOVX DPTR,A; 输出控制字 MOV A,#14H 分频数20 MOVX DPTR,A; 8279内部产生100kHz频率 MOV A#90H; 写显示RAM地址,Al=1递增 MOVX DPTR,A RET 转速显示编程:ORG 3100HZSDISP: MOV RO,#43H; 显示缓冲地址43H MOV R2, #04H 显示共4位 MOV DPTR,#4000H; 指向8279数据口LOOP: MOV A,R0 MOV DPTR,#TAB; 开始查表,TAB=3180H MOVC A,A+DPTR MOVX DPTR,A DEC R0 DJNZ R2 ,LOOP RET延时lms程序:DL 1MS: MOV R3, #02H Ll: MOV R4, #0F8H L2: DJNZ R4, L2 DJNZ R3, LlRET数据处理及拆字程序如下:ADCP: ORG 1000HMOV A,R0; 从AD转换中取数据 MOV 26H,A; 数据送26H储存,作比较用 MOV B,#0FH; 将15的二进制数0FH送B DIV AB MOV 20H,A; 商数存A MOV 21H,B; 余数存B MOV R4,#02H; 两个单元均需要拆字显示 MOV R0,#20H; 从暂存单元取数 MOV Rl,#40H; 设暂存拆字结果临时单元LOOP: MOV A,R0 MOV B,#0AH; 除以10即可 DIV AB MOV R1,B; 存余数(个位) INC Rl MOV R1,A; 存商(十位) INC Rl INC R0DJNZ R4,LOOP RET 转速赋初值:ZSFCZ: MOV DPTR,#34X()H; 设置地址3400H MOV R4,#02H; 两个初值分别传送 MOV R0,#21H; 设暂存单元首地址LOOP: MOVX A,DPTR MOV R0,A DEC R0; 指向转速百位、千位 INC DPTR; 指向转速个位、十位 DJNZ R4, LRET 主程序: ORG 4200HMAIN: LCALL SMLZ LCALL ZSFCZ MOV R6,#0AH; 置循环次数,延时10SLOOP1: LCALL DEL; 调用1S延时子程序 LCALL ADIO LCALL ADCP LCALL DLlms; 调用lms延时子程序 LCALL ZSDISP DJNZ R6,LOOP1 LCALL KZYS MOV P2,#02H; ORL P2,#80H; 禁止片选信号 LCALL SMLZ LCALL TOCSH LCALL MBFCZLOOP2: LCALL CX LCALL MBDISP LCALL DLlms; 调用lms延时子程序 MOV R4,26H CJNE R4,00H,L00P2; 判转速是否为0,不为0,继续 SETB P2.2; 锁存秒表显示END ATmega16单片机对A/D芯片TLC3545的初始化和采样程序如下:voidInit_TLC3545() /初始化程序 CS3545_A=0; CS3545_A=0;/这里是把拉低2us,TLC3545初始化把拉低至少1个SCLK时钟 CS3545_A=1; voidSample_TLC3545() /采样程序 uint8 k; EA=0; EA=1; CS3545_A=0; SPIDAT=0x77; /写SPIDAT产生SCLK时钟 while(!ISPI); datah=SPIDAT; /收TLC3545发出的前8位,第一个字节 SPIDAT=0x77; while(!ISPI); datal=SPIDAT; /收后8位,第二个字节 SPIDAT=0x77; /继续给SCLK时钟,直到24thSCLK之后释放cs do k=0; while(k); /拖延时间,让TLC3545的在24个SCLK周期后才得以释放 dUw0=(datah 0 Then Ado1.Recordset.MoveFirst While Not Ado1.Recordset.EOF Ado1.Recordset.Delete Ado1.Recordset.MoveNext Wend End If最后,对数据记录进行操作,包括增加、修改、删除记录,以下是增加新记录的程序代码: With Ado1.Recordset .AddNew 新增加一条记录.Fields(1).Value = Date 数据采集日期 .Fields(2).Value = Time 数据采集时间For i=3 to 54 .Fields(i).Value = DataCom(i-2) 将采集到的数据值赋给相应的字段 Next i .MoveNext End with形成报表的输出,实现的主要代码如下:/声明一个WORD应用程序,使WORD中的APPLICATION对象对自动功能有效Dim Myword As New Word.Application/定义变量,使其代表WORD的一篇文档Dim Mydoc As Word.DocumentDim Myrange As RangeDim Mytable As TableDim mybook As BookmarkSet Mydoc = Myword.Documents.OPEN(App.Path & 报表模版.doc)Mydoc.SaveAs (App.Path & 报表1.doc)AppActivate Mydoc.Application.CaptionSet Mytable = Mydoc.Tables(1)Mytable.Select7 毕 业 设 计 附 件 三用户使用说明书专 业 机械设计制造及其自动化 学生姓名 班 级 学 号 指导教师 完成日期 2011年6月6日 1 系统简介本文的制动参数处理系统是基于Windows环境开发,该开发环境的最大特点是采用了面向对象的程序设计技术(OOP) 。面向对象程序设计是与传统的面向过程的结构化程序设计方法相对应的最新程序设计方法。主要作用是在现有硬件平台上尽可能完善系统功能,充分发挥硬件的潜力,满足设计功能要求,提高实用性和可靠性。本系统有以下几个特点:(a)程序开发周期短 由于开发环境采用了大量的可视化和程序源代码自动生成技术,使得程序开发界面部分的编程工作变得非常直观和简洁,这样程序开发人员就能够将主要精力集中在具体问题算法的设计上,而不必像过去那样因编写界面而耗去大量精力,从而提高了编程效率,缩短了开发周期。(b)写的程序操作方便 采用面向对象技术编写的程序通常都提供了大量的图形用户界面,操作人员可以在系统提供的在线帮助下通过鼠标和功能健进行准确的操作。(c)程序的维护、扩展和升级容易 采用面向对象技术编写的程序通常都提供了高级语言接口,这便于程序功能的扩展、升级和用户对程序的二次开发。(d)程序的可维护性好 面相对象的程序易于阅读和理解,程序员只需了解必要的细节,因此降低了程序的复杂性。(e)程序的易修改性好程序员可以很容易地修改、添加或删除程序的属性,这是通过增加或删除对象来完成的。(f)对象可以使用多次,可重用性好程序员可以将某些自己喜欢的类和对象保存起来,随时插入到应用程序中,无需做什么修改。2 软件开发系统说明工控机分析软件开发过程中采用模块化程序设计思想,使整个系统具有很强的可读性、可移植性和灵活性。该软件主要包括5个功能模块:用户界面模块、串行通信模块、显示分析模块、数据管理模块和生成报表模块,如图1所示。图1 分析软件总体结构图(1)用户界面模块:用户界面类似于真实的现场盘式制动闸实物,是人机对话界面,以直观的形式显示盘式制动闸的性能参数。(2)串行通信模块:负责发送数据采集器和PLC的选通信号,接收从下位机传来的数据,按通道传输给数据管理模块。因此,串行通信是整个系统的基础。上位机主要采用VB标准控件MSComm来实现串行通信程序的开发。(3)显示分析模块:它是整个系统软件的核心模块,对采集到的数据进行分析和处理,并以图形和数据形式显示出来。(4)数据管理模块:不断将从数据采集模块得到的新数据存储到相应数据库中,并做出记录表单,用于存放测试数据和和故障历史记录。本系统采用的数据库是微软的Access,采用VB提供的一种面向对象的数据库访问技术ADO通过OLE DB提供程序来访问数据库,使用和维护都比较简单。(5)生成报表模块:将盘式制动闸制动性能的检测结果以Word文档的形式生成性能分析报告和历史数据报表。3 报表生成VB中进行报表打印生成的方法有好几种,第一类为调用VB的方法Printform进行窗口的打印操作,该方法能够使用默认打印机打印当前Form中的可视区域,所以只需要设计一个合适的Form,就可以非常容易地打印出理想的效果。这种方法的人机交互能力不强,普通用户不会操作,难达到理想的效果;另一种方法采用Printer对象,Printer 对象是一个与设备无关的图片空间,支持用Print、Pest、Line、Paint Picture的Circle方法在Printer对象上创建文本和图形。并能设置输出文本的字体,当完成在Printer对象中放置信息后,可用EndDoc方法将输出传送到打印机。每次应用程序结束时,它们会自动使用EndDoc方法,将打印机对象中任何未确定的信息送到打印机。这种方法最大的缺点是编程量大,需要编程人员计算和控制打印位置,在Printer对象中打印位图也需要花费较多的时间,降低了应用程序的性能。对于广大的普通用户,都习惯了使用Word进行文字、图标的打印工作,因此,如果能在Word中自动生成报表并在用户的参与下完成报表的打印将使操作更加简单。本系统基于面向对象的思想,应用微软提供的Word对象,在VB中调用Word对象,从而实现报表的自动生成与打印工作。要在VB中应用Word,首先要在:“工程/应用”中选中“Microsoft Word 9.0 Object library”选项,先创建Word对象,再增加一个新文档,然后在新文档中对应地每个记录生成一个表格,并在表格中添加该记录的内容及对应的字段,形成报表的输出,实现的主要代码如下:/声明一个WORD应用程序,使WORD中的APPLICATION对象对自动功能有效Dim Myword As New Word.Application/定义变量,使其代表WORD的一篇文档Dim Mydoc As Word.DocumentDim My range As RangeDim My table As TableDim mybook As BookmarkSet Mydoc = Myword.Documents.OPEN(App.Path & 报表模版.doc)Mydoc.SaveAs (App.Path & 报表1.doc)AppActivate Mydoc.Application.CaptionSet Mytable = Mydoc.Tables(1)Mytable.Select31 2 3 4 5 6 7 8 A B C D 87654321 D C B A Title Number RevisionSize A3 Date: 30-May-2010 Sheet of File: E:帮帮帮帮SHEET2.DDB Drawn By: P1.0/T21 T2 EX2 P1.23 P1.34 P1.45 P1.56 P1.67 P1.78 RST9 P3.0/RXD10 P3.1/TXD11 P3.2/INT012 P3.3/INT113 P3.4/T014 P3.5/T115 P3.6/WR16 P3.7/RD17 XTAL218 XTAL119 GND20 VCC 40 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 PSEN 29 ALE/PROG 30 EA/VPP 31 P0.7 32 P0.6 33 P0.5 34 P0.4 35 P0.3 36 P0.2 37 P0.1 38 P0.1 39 U7 AT89C51 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 EOC7 D38 OE9 CLK 10VCC11 VREF+12 GND 13 D114 D215 VREF-16 D017 D418 D519 D620 D721 ALE 22 ADD C 23 ADD B 24 ADD A 25 IN0 26 IN1 27 IN2 28 U9 ADC0809CCN OE1 LE11 D13 Q1 2 D24 Q2 5 D37 Q3 6 D48 Q4 9 D513 Q5 12 D614 Q6 15 D717 Q7 16 D818 Q8 19 VCC 20 GND10 U6 SN74HC373N VCC +5V VCC +5V D1 D2 D3 D4 D5 D6 D7 D8 D1 D2 D3 D4 D5 D6 D7 D8 D1 D2 D3 D4 D5 D6 D7 D8 Q1 Q2 Q3 Q1 Q2 Q3 AVCC ALE ALE AVCC 1 2 3 U12A 74LS02 U10 INT0 INT0 4 5 6 U12B 74LS02 RD WR P2.7 P2.7 ALE 2 3 4 VCC 8 1 6 7 GND5 D R A B U11 MAX232 VCC EN1 RXD TXD DB_RX DB_TX EN1 1 2 Y1 XTAL C7 Cap 100pF C8 Cap 100pF IN1 3 OUT 2 GND U2 L7805ABV12V C1 Cap Pol1 1000uF C2 Cap Pol1 470uF VCC +5V R7 Res1 1K D1 D Schottky 发发发发发 R22 Res1 RST 2 3 1A 8 4 U1ALF442CN 2 3 1A 8 4 U4A LF442CN 2 3 1A 8 4 U3A LF442CN R5 Res1 240K R8 Res1 20K R10 Res1 240K R1 Res1 3.3K R12 Res1 3.3K R13 Res1 33K R2 Res1 33K AVCC AVCC AVCC Ui21 Ui22 IN1 5 6 7B 8 4 U1BLF442CN 5 6 7B 8 4 U4B LF442CN 5 6 7B 8 4 U3B LF442CN R6 Res1 240K R9 Res1 20K R11 Res1 240K R3 Res1 3.3K R14 Res1 3.3K R15 Res1 33K R4 Res1 33K AVCC AVCC AVCC Ui11 Ui12 IN0 2 3 1A 8 4 U5ALF442CN 2 3 1A 8 4 U8A LF442CN 5 6 7B 8 4 U3B LF442CN R19 Res1 240K R20 Res1 20K R21 Res1 240K R17 Res1 3.3K R23 Res1 3.3K R24 Res1 33K R18 Res1 33K AVCC AVCC AVCC Ui31 Ui32 IN2 IN0 IN1 IN2 RXD TXD WR RD IN2 CLK3 D2 S D 4 C D 1 Q 5 Q 6 A 74ALS74 CLK3 D2 S D 4 C D 1 Q 5 Q 6 A ALE S1 BUTTON + C3 VCC 10uF
收藏