公交车自动报站系统设计的论文(全文5篇)

时间:2019-11-15 06:14:04下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《公交车自动报站系统设计的论文》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《公交车自动报站系统设计的论文》。

第一篇:公交车自动报站系统设计的论文

随着科学技术的不断发展、生活水平的不断提高,GPS技术也得到了空前的发展。GPS主要是不断接收同步卫星的信号并将其信号解析出相应的数据还原成为经纬度信号,根据经纬度信号则可以实现定位功能,传统的导航定位技术也是采用了该原理来实现。随着GPS的普及,成本也不断的降低,可以根据相应的技术来实现其扩展功能,如可以将其技术应用在公交车上。本文主要介绍根据GPS技术实现公交车的自动报站和调度,不需要人为的直接干预达到公交车系统自动运行的目的。本文主要是将微电子技术、自动控制技术、GPS技术、语音技术综合在一起实现一个智能化的系统。

国内外在智能公交车方面的研究早在20世纪初就开始,采用的技术不尽相同功能也各异。国内一些公交车系统主要采用的是人工干预电脑控制的方式实现智能报站等功能。其工作方式如下:在系统内部提前设置好上下路线对应站台的相关设置,司机师傅在行驶车辆的同时也必须时刻关注站台的距离,当车辆临近站台时则手动按下相应的按键实现报站功能^该种方式可以实现报站是毋庸置疑的,但是根据站台人员数量的不同、司机师傅的疲意程度、道路的拥挤程度都会造成站台的漏报、错报的现象,影响人们的出行和交通服务的质量,还有可能造成潜在的安全隐患。因此,新一代的智能报站系统的需求与日俱增。

智能语音报站结构设计:

GPS语音报站系统集合了全球定位系统技术、语音播报技术、显示提示技术于一体的综合技术,可以实现车辆的自动报站和自动定位,大大的减少的交通安全的出现和极大的提髙效率。采用GPS技术的主要原因是不管GPS制造技术还是解析GPS数据信息的算法技术都很成熟、安全性高、体积小、方便携带,采集信号后可以在各种显示电路上就其基本信息显示出来。本系统主要采用6H级别的GPS接收模块对卫星数据进行接收,以STC89C52作为主控芯片用于对GPS信号的解析,最终得出当前的位置、经纬度、时间、偏航角、速度、海拔、时间等信息。将解析出来的经纬度信息与单片机内部储存的地址信息不断对比,如果二者信号一直则启动语音播报动作。系统时刻采集GPS信号,根据解析出的GPS经纬度信息来判断汽车当前的位置信息,当汽车到达本站时则启动相应的语音电路和液晶显示电路以提醒用户达到目的站台。系统确保司机的正常行驶还设定了超速警告的电路,当汽车的行驶速度超过设定的值时,系统则会自动启动声光报警电路直到汽车的速度在安全行驶速度范围内警告信号才自动解除,使得系统更加安全可行的进行。

系统的总体方案:

目前,太空中一共有24颗卫星时刻向人类提供服务,这24颗卫星分别以55°的角度分布在地球上空20—200KM的轨道面上,卫星之所以这样分布的原因在于使得地球上的任何地方在任何时候都可以保证能够接收到至少6颗卫星信号的数据,以确保GPS快速准确的定位导航,一般卫星数量越多则GPS定位的速度、精度就越高,出现漂移问题就越少。这24颗卫星可以源源不断的向用户提供需要的数据,数据以广播式的方式散发出去,数据的类型是完全共享的所以能够减低很大的成本,不需要后期续费使用。

系统的硬件设备主要有单片机、电源模块、语音播报模块、GPS模块以及液晶显示模块,通过相关的技术来解决个设备之间的相互通信问题即主要是通过单片机来解析GPS接收来自卫星的数据来实现确定当前的经炜度、时间、速度等信息并通过液晶电路将其解析的数据及时准确的显示出来即完成自动报站和超速警告任务。执行的过程:通过GPS模块时刻接收卫星不断发送的数据,并根据四颗及以上的不同卫星信号经过单片机算法的处理后计算出当前的经纬度、时间、速度、海拔等信息,随后再由主控制器驱动相关的语音播报和液晶显示电路工作,实现自动报站和超速警告的工作。

该系统主要涉及的技术内容有:

(1)电源模块的设计。GPS接收模块不断接收卫星的数据,功率越大则信号越强、速度越快、精度越高,所以一个可靠的电源电路是保证系统正常可靠运行的前提。

(2)GPS模块的选择。由于GPS技术的不断普及GPS模块类型繁多,选择合适的GPS则成为重点问题,军品级别的GPS成本简直是个天价用户也是消费不起的;价格低廉的GPS则精度低、速度慢、抗干扰能力差。本系统通过对种GPS模块的研究和分析得出两款GPS模块类型能满足人们的日常使用即6M和6H类型的GPS。后者相对于前者则精度要高、速度快、抗干扰能力强,系统通过研究分析得出6H更适合全球定位系统的设计工作。

(3)液晶模块的选择。公交车自动报站系统的服务对象是百姓即希望每个人群都能容易接受,所以设计的显示电路应该是人们都认识的中文汉字,以便于人们阅读相关信良。

语音模块的选择。系统最为人性化的就是能够听到真人发音播报站台信息,为了能更好的突出人性化的特点、更好的还原真人的发音系统对语音电路的选择条件则更加苛刻。通过不断的测试发现市场上语音芯片ISD1730能够很好的还原语音信号,该芯片的失真信号小、播报语音信号强完全能够胜任公交车自动报站要求。

人们一般通过在便捷式设备上安装模块接收卫星数据最终达到导航定位的目的。GPS导航定位基本原理:GPS卫星实际上是向用户发送的是时间和卫星当前的信号,用户使用的GPS模块主要是接收其发送的相关信息,并通过一定的算法测量出卫星数据从发送到接收的延迟时间,同时根据卫星发送的信号解析出卫星到用户的距离。这就是为什么至少需要4颗以上包括4颗卫星信号才能定位成功的原因。

系统的创新点:

系统采用的是成熟的科学技术手段,利用GPS模块采集卫星数据解析出当前的位置信息,单片机接受数据信号实现自动播报站台信息提醒司机、乘客朋友准备停车下站,与此同时还可以自动的得出显示出当前站台的信息,实现声图并茂的显示出来,灵活方便扩展能力强、系统可移植性高,整个过程不需要人员的直接干预,保证司机可以专心驾驶车辆确保乘客的安全,提髙系统的可靠性能。

总结

针对文的智能控制系统能够满足公交车智能报站的基本功能,具有自动报站功能的同时还可以自动检测汽车的速度,超出安全速度时则能够启动声光警报信号提醒司机正常驾驶。确保车俩安全、可靠的运行。

综合国际的发展可以发现GPS技术伴随我们走过了几个世纪了,GPS技术的广泛使用,便捷式移动设备也得到了极大的普及,而在国内各行业中GPS技术还在起步阶段,因此对于推广GPS技术的产业化发展具有广泛的市场价值,GPS技术不仅仅能够使用在公交车报站、导航技术上,同时还可以进一步开发如可以开发出智能汽车的自动调度,根据汽车的行驶路径进行自动的调节来缓解道路拥挤的交通问题等。总而言之,GPS技术可以在各行各业的单位、企业中发挥巨大的作用,为人类文明建设贡献出无穷的力量。

第二篇:自动骑马订书机系统设计

齐齐哈尔大学毕业设计(论文)

摘要

骑马订书机一种快速高性能的订书设备,大部分印刷厂都配有该设备。传统的骑马订书机设备,在高速工作状态下,很容易发生堵纸现象。本次设计中对传统的骑马订书机的电气系统进行了改造,对订书机头增加了电磁控制装置,在容易发生堵纸增加了微动开关,增加了光电传感器检测装置,从而很好地解决了,高速工作下的堵纸现象。本设计中还对传统骑马订书机的控制系统进行了PLC改造,使其控制系统更加智能化,提高了工作效率,减少了工人的工作量。关键词:电磁控制;光电传感器;微动开关;PLC

I

齐齐哈尔大学毕业设计(论文)

Abstract Combined saddle stitching, a fast high-performance stapler device, most of the printers are equipped with the device.Stapler riding equipment, state of the high-speed operation, it is prone to the phenomenon of blocking the paper.The design of the electrical system of the traditional riding stapler transformation of electromagnetic control device, a micro switch prone to blocking the paper, an increase of the photoelectric sensor detection device on the stapler head, so good the solution to the phenomenon of blocking paper in the high-speed work.This design the control system of the traditional riding stapler PLC transformation to make it more intelligent control system to improve the work efficiency, reduce the workload of the workers.Key words: electromagnetic control; photoelectric sensor;micro switch;PLC

II

齐齐哈尔大学毕业设计(论文)

目录

摘要......................................................................I ABSTRACT.................................................................II 第1章 绪论..............................................................1 1.1 骑马订书机的产生背景及印刷行业的发展状况..........................1 1.2 骑马订书机的发展趋势..............................................2 1.3 骑马订书机的书钉成型过程...........................................4 第2章 自动骑马订书机的传动机构的设计....................................5 2.1 电动机的选择......................................................5 2.1.1电动机类型的选择..............................................5 2.1.2电机容量的选择................................................5 2.2 齿轮传动设计......................................................6 2.2.1齿轮传动的简介................................................6 2.2.3按齿面接触强度设计齿轮........................................8 2.2.4按齿根弯曲强度设计...........................................11 2.2.5齿轮几何尺寸的计算...........................................13 2.3 轴的设计及校核...................................................13 2.3.1 齿轮作用在传动轴上的力.......................................13 2.3.2初步估算轴的最小直径.........................................15 2.3.4轴上的载荷...................................................17 2.3.5校核轴的强度.................................................17 2.4 带传动的设计.....................................................20 2.4.1概述.........................................................20 2.4.2带传动的设计计算.............................................21 2.5 凸轮的设计.......................................................24 2.5.1凸轮的简介...................................................24 2.5.2确定凸轮的基本外形尺寸.......................................24 第3章 骑马订书机的电气控制设计.........................................30 3.1 骑马订书机的特点及控制要求.......................................30 3.2 电气线路设计.....................................................30 3.2.1 执行电路的设计..............................................30 3.2.2控制电路的设计...............................................31 I

齐齐哈尔大学毕业设计(论文)

3.3电器元件的选择....................................................31 3.4编制电气元件明细表................................................35 第4章 自动骑马订书机的PLC控制设计.....................................36 4.1 PLC的简介.......................................................36 4.1.1PLC的定义及基本结构..........................................36 4.1.2PLC的特点及应用范围..........................................37 4.1.3PLC的工作原理................................................38 4.1.3PLC的选择原则................................................38 4.2 自动骑马订书机的PLC选型及控制电路改造...........................39 4.2.1自动骑马订书机的PLC类型选择.................................39 4.2.2PLC控制电路设计..............................................40 结论.....................................................................43 参考文献.................................................................44 致谢.....................................................................45 II

齐齐哈尔大学毕业设计(论文)

第1章

绪论

1.1 骑马订书机的产生背景及印刷行业的发展状况

20世纪50年代,二次世界大战结束世界经济逐步发展,印刷行业的业务量日益增加,老式的订书机设备已不能满足大批量的印刷的要求,高效率的骑马订书机应运而生。20世纪60年代骑马订书机逐步在各个国家得到应用,极大地提高了,印刷行的工作效率。

近年来,我国经济飞速发展,其中广告类印刷品,连续5年保持7.5%以上的高速增长,2011年的总产值突破15万亿大关。其它的文化印刷品也有很大的提高。根据十二五规划,“十二五”期间,文化产业要实现跨越式发展,并在2016年成为国民经济支柱性产业。作为文化产业的一个重要组成部分,印刷产业尚有很大发展空间。党的十七届六中全会通过的《关于深化文化体制改革推动社会主义文化大发展大繁荣若干重大问题的决定》,给文化产业重要组成部分的印刷业也带来了前所未有的发展机遇。随着人民群众的生活水平的提高,随着文化大发展大繁荣,群众在文化消费上将迎来一个高消费期。

新闻出版总署“十二五”期间实施重大项目带动印刷产业发展的重要举措和引导产业实现转型升级扶持政策的相继出台,为印刷产业发展创造了良好的文化氛围和市场政策环境,印刷行业形成的绿色、创意、和谐发展的印刷产业发展理念,为印刷产业发展打开了智慧的闸门,对绿色印刷业的推进,将促进印刷企业有一个飞跃性的发展,也将牵动着含有绿色印刷技术、符合环保要求的设备、器材、出版、包装、个性化印刷品产业链条的膨胀性的迅猛发展。

刚刚过去的北京国际图书节以“绿色印刷”为主题。绿色印刷也是未来印刷业发展的一个重要方向。从实施绿色印刷战略合作协议到未来五年实施绿色印刷的阶段性目标的确立,一直到关于中小学教科书实施绿色印刷的通知的颁布,我国绿色印刷工作已经进入实质性实施阶段。不久前,全国评选出来的获得环境标志产品认证的印刷企业已经达到103家,我们可以看出来全国范围的绿色印刷工作也在有条不紊的展开着。从这一份103家印企获绿色“身份证”的印刷企业名单中,我们可以清楚的看到北京地区获得环境标产品认证的印刷企业已经达到15家,仅次于江苏省,屈居第二位。同时,有10家及以上印企获得认证的地区包括北京、上海、江苏、广东。可见在这些区域印刷行业的发展还是很发达的,对于绿色印刷工作的开展也是十分积极。为了促进绿色印刷工程的实施,从不久前的针对中小学教科书提出来的要求从今年秋季学期起,全国各地使用的绿色印刷中小学教科书数量要占到本地中小学教科书使用总量的30%;再经过1到2年,1

齐齐哈尔大学毕业设计(论文)

基本实现全国中小学教科书绿色印刷全覆盖。到现在首批绿色印刷婴幼儿图书首发以及获得环境标志产品认证的企业不断增多。

可见,为了推动我国绿色印刷行业的发展,从政府到企业,再到个人,大家都用不同的方式积极地促进着,从政策的制定,通知的颁布,到具体的实施,每个人为绿色印刷的有利实施做着贡献。一系列的事实说明我的印刷行业正在向着绿色节能高效的可持续发展的道路上来。

1.2 骑马订书机的发展趋势

骑马订书机机最早出现在欧洲,经过几十年的发展.技术有了很大的提高。近几年,随着计算机技术网路技术,PLC技术的发展,相应的的技术不断应用到骑马订书机机上使其功能越来越完善。同时,随着客户要求的不断提高.骑马装订联动机又增设了许多新功能.如卡纸粘贴、自动上书帖、喷码等。随着自动控制技术以及自动控制技术的发展自动骑马订书机主要有以下的发展趋势。

1、自动化程度越来越高

随着社会经济的发展,印刷行业的生产批量日益增多,印刷行业的熟练工有严重匮乏,自动化程度的提高显得日益重要。自动化程度的提高主要体现在PLC技术的应用、自动调整书帖规格以及完善的总体自动检测检测系统3个方面。自动调整整书帖规格开本大小已经成为骑马装订联动机的总体发展趋势,只要在屏幕中输入书本的控制器便能自动对开本大小进行调整。精密达FENGMI半自动骑马订书机上淮南光华光神DQ404-02半自动骑马订书机上海紫光DQB450自动骑马订书机都具备该功能,并且上海紫光DQB450自动骑马订书机还具有接收网络数据的功能,即能够根据网络上的相关数据对机器进行调整,从而实现印前、印刷及印后装订的全程数字化。

2、功能越来越完善[1] 随着客户要求的不断提高,以及相应技术的发展自动骑马装订机又增设了卡纸粘贴、自动上书帖、喷码等新功能。如瑞安市缪氏印刷机械有限公司产品新设备DQ404A-02/DQ404B-02型半自动骑马订书机淮南光华光神机械电子有限公司光华光神的DDQ404-02GD半自动骑马订书机都备有自动上书贴功能以减轻工人的劳动强度,提高生产效率。此外,书本装订时,通过喷码机器对书册内外侧进行喷码,如邮政编码、地址等。Osako公司的Prima 能够完成这项个性化的装订功能,而且上海紫光公司计划将其应用到下一代骑马装订联动机中。

3、速度越来越高,功能越来越稳定[2]

早在20世纪70年代初,上海订书机械厂就已生产了PDQ一02型骑马装订联动机,最大生产能力为6000本/小时。到了20世纪90年代,又研制出FENGMING型骑马装 2

齐齐哈尔大学毕业设计(论文)

订联动机(如图1-1),最高速度达1万本/小时,不仅改进和提高了稳定性、可靠性和操作性,而且在外观上都有了不同程度的改善。2003年.上海紫光机械有限公司相继研制出LQDl0和LQD8F骑马装订联动机,LQDl0的性能与LQD8E相比有了很大的提高.最高速度达到1.2万本/小时最大开本尺寸为480mm×320mm。搭页机叼纸轮轴采用双叼牙结构.提高了搭页过程的稳定性,对于正反长短边书帖.既能用钢皮叼牙打开,也能用真空吸嘴搭无长短边书帖。三面切书机改进为先切前1:3,再切边口的形式。海德堡和马天尼公司是生产骑马装订联动机的两家大公司,其中海森堡公司最新研制的自动骑马订书机速度在2万本/小时以上。

图1-1 “FENGMING”骑马订书机

4、集成化、绿色化程度越来越高

进入21世纪来社会经济的飞速发展,化石能源的日益枯竭低耗能、高效率的的发展模式越来受到各国政府及企业的重视。绿色低耗能低污染化,绿色技术是一门综合技术,节约能源、节约资源、提高生产率是绿色制造技术的核心要求。事实上,绿色制造技术的应用既是可持续发展的客观要求,也是市场竞争的需要。近几年由于电力电子和数控技术的进步,以及直线电机、力矩电机、电主轴、光栅检测等部件的成熟,直驱技术订书机的应用速度加快,国外多家订书机企业的新产品已使用直线电机驱动。直驱技术的应用将极大推动订书机的结构改变和性能提高,也大大降低了订书机的能耗。

近几年来印刷行业迅速发展,人工成本越来越高,选择高效率的机器逐渐成为大型印刷行业的共识。随着计算机技术,PLC技术的发展,订书机越来越集成化,订书,裁 3

齐齐哈尔大学毕业设计(论文)

剪,印刷逐渐集为一体。集成化的订书机,能够同时完成多项功能,提高了机器的效率,减少了工人的工作强度,同时又节约了工人成本,增加了企业的竞争力。

1.3 骑马订书机的书钉成型过程

骑马订书机的书钉成型过程包括:送料,切断,和做订三个过程。送料时中刀滑板下行,短销推动连杆单向机构逆时针旋转,铁丝从穿丝嘴穿入,铁丝便夹在二滚轮中靠摩擦力传动,经铁丝导轨从切料轴的孔中穿出,进入成型模长槽中。切料当铁丝到达一定位置时,边刀滑板上行,其中部的凸块推动切丝摇臂的斜面而使其逆时针旋转,由此刀架下移,刀片把铁丝切断。中刀滑板上行到一定高度,成型模由压簧推入,是切断了的铁丝边刀上铁丝槽的正下方,随后,边刀滑板下行,边刀的上的铁丝槽压向成型模两端伸出的铁丝,弯成门字形的订书钉。成订过程如图1-2所示:

1-切料刃轴;2-切料刀片;3-成形钩;4-铁丝;5-咬丝钩;6-边刀滑板;

图1-2 骑马订书机的成钉过程

齐齐哈尔大学毕业设计(论文)

第2章

自动骑马订书机的传动机构的设计

2.1 电动机的选择

2.1.1电动机类型的选择

电磁调速异步电动机又称滑差电机[7],它是一种利用直流电磁滑差恒转矩控制的交流无级变速电动机。由于它具有调速范围广、速度调节开滑、起动转矩大、控制功率小、有速度负反馈、自动调节系统时机械特性硬度高等一系列优点,因此在印刷机及骑马订书机、无线装订、高频烘干联动机、链条锅炉炉排控制中都得到广泛应用。如801型对开立式停回转凸版印刷机、JS2101型对开双面胶印机,J2105型对开单色胶印机、J2108型对开单色胶印机、PZ4880-01A型对开四色胶印机等印刷机械采用这种电动机就更能符合印刷工艺要求。

因此,本次设计选择电磁调速异步电动机(又称滑差电机)。该电动机具有以下主要优点:

(1)交流无级调速,机械特性硬度较高;

(2)结构简单、工作可靠、维护方便、价格低廉;

(3)调速范围大,用在像印刷机这样的恒转矩负载时,一般可达10:1,有特殊要求(如轮转机)时亦可达50:1;

(4)可调节转矩。在现代化的联合轮转机中,都应用了自动化的纸张拉紧机械,它可以达到随着卷筒纸直径的变化,调节离合器的转矩经保持拉力不变。

2.1.2电机容量的选择

电机工作的有效功率

该设备,切钢丝所用力为F=9.2KN,传从速度为V=0.6m/s电机工作的有效功率为`

PWFv1000W92000.6W

10000.846.57KW从电动机到工作机输送带间的总效率为

31234

齐齐哈尔大学毕业设计(论文)

式中

1、

2、

3、4分别为联轴器、轴承、齿轮传动和凸轮的传动效率[5],有表可查10.99、20.98、30.97、40.94 则

W0.990.9830.970.940.84

电机的转速

二级圆柱齿轮减速器传动比i08~10,V带传动比范围i12~4作轴转速为n020r/min所以电动机的转速的可选范围为

ni0i1n0320~800r/min

查表可知:可选JZT251—4型电机,120—1200r/min,7.5KW 2.2 齿轮传动设计

2.2.1齿轮传动的简介

齿轮传动是利用两齿轮的轮齿相互啮合传递动力和运动的机械传动。

齿轮传动的特点:传动效率较高,传动过程平稳,使用寿命长,齿轮之间的传动比精确,工作状况可靠,能够传动功率范围大。例如齿轮的传递功率范围可以从很几瓦到几万千瓦;传动速度高达300m/s;齿轮直径范围大,可以从手表用的几毫米齿轮到大型水利工程用的二十多米齿轮,但是制造大型齿轮需要有专门的齿轮制造设备,大型齿轮啮合传动会产生很大的噪声,而且大型齿轮的精度不易保证。

齿轮的齿面应具有较高的耐磨性能、抗塑性变形、抗点蚀、抗胶合的能力,而齿根要有较高的抗折断的能力。因此,对轮齿材料性能的基本要求为:齿面要用硬度较高的材料、齿芯要韧性较好的材料。常用的齿轮材料是铸铁 钢、和无机非金属材料。钢材的韧性交好,抗冲击能力强,还可以通过物理及化学处理改善其钢材力学性能,所以钢材最适合用来制造齿轮。

齿轮在工作过程中 HB<350时,称为软齿面H8>350时,称为硬齿面齿面硬度 HB<350 时

常用材料;

45、35SiMn、40Cr、40CrNi、40MnB。特点: 具有较好的综合性能,齿面具有较高强度和硬度,齿芯具有较好韧性。热处理后切齿精度可达8级。制造简单、经济、生产率高,对精度要求不高。齿面硬度 HB>350大于 采用中碳钢时: 常用材料:

45、40Cr、40CrNi。特点:齿面硬度高 HRC=48-55,接触强度高,耐磨性好。齿芯保持调质后的韧性,耐冲击能力好,承载能力较高。精度可达7级精度。

齐齐哈尔大学毕业设计(论文)

适用于大量生产,如:汽车、机床等中速中载变速箱齿轮。采用低碳钢时:常用材料;20Cr、20CrMnTi、20MnB、20CrMnTo。

齿轮在工作时由于某种原因而损坏,使其失去正常工作能力的现象称为失效。齿轮的失效形式有很多种,常见的失效形式有:

1、齿面磨损

齿轮在传动过程中,轮齿啮合处存在滑动摩擦。齿轮在受力情况下,齿面间的相对滑动使齿面发生磨损。磨损会破坏齿面形状,造成传动不平稳;另外,磨损使轮齿变薄,造成齿侧间隙增大,轮齿强度降低。齿面磨损是润滑条件差的开式齿轮传动(外露的齿轮传动)的主要失效形式,也是开式蜗杆传动的主要失效形式。

2、轮齿折断

齿轮在工作中,其轮齿的受力状况相当于悬臂梁,齿根处受到的弯矩最大,所产生的应力集中。在啮合过程中,齿轮根部所受的弯矩是交替变化的,因此,在该处最容易产生疲劳裂纹而使轮齿折断,轮齿的这种失效形式称为轮齿的疲劳折断。齿轮的另一种折断是长期过载或受到过大冲击载荷时的突然折断,称为过载折断。

3、轮齿塑性变形

在低速重载的工作条件下,齿轮的齿面承受很大的压力和摩擦力,由于这些力的作用,材料较软的齿轮的局部齿面可能产生塑性流动,使齿面出现凹槽或凸起的棱台,从而破坏齿轮的齿廓形状,使齿轮丧失工作能力。齿轮的这种失效形式称为轮齿的塑性变形。

4、齿面点蚀

齿轮工作时,当啮合表面反复受到接触挤压作用,且由此所产生的压力过大或使用时间过长时,齿面会产生细微的疲劳裂纹。随着齿轮的连续工作,裂纹会沿表层不断扩大,使齿面出现小块金属剥落,形成麻点和斑坑。轮齿齿面发生的这种失效形式称为齿面点蚀。严重的齿面点蚀会破坏齿轮轮齿的工作表面,造成传动不平稳,产生噪声,甚至使齿轮失去工作能力。齿面点蚀这种失效形式多发生在润滑条件良好的闭式齿轮传动中。

5、齿面胶合

在高速重载的闭式齿轮传动中,齿面润滑较为困难,啮合面在重载作用下产生局部高温使其粘结在一起,当齿轮继续运动时,会在较软的齿面上撕下部分金属材料而出现撕裂沟痕,这种由于齿面粘结和撕裂而造成的失效称为齿面胶合。齿面出现胶合现象后,将严重损坏齿面而导致齿轮失效。闭式蜗杆传动中极易发生这种失效。

2.2.2选定各齿轮类型,精度等级,材料及齿数

齐齐哈尔大学毕业设计(论文)

本设计中,已知输入功率为7.5KW,小齿轮转速为860r/min,齿数比为3.2。工作寿命为15年(每年工作300天),每天工作8小时。

(1)本设计中骑马订书机主轴齿轮精度选择

根据本设计方案,选用直齿圆柱齿轮。骑马订书机为一般工作机器,速度不高,故运用7精度(GB 10095—88)。

(2)材料选择

综合设计思路方案,根据濮良贵《机械设计》第八版191页选择小齿轮材料为40C(质),硬度为280HBS,大齿轮材料为45钢(调质),硬度为240HBS。

(3)齿数选择

选择小齿轮齿数z124,大齿轮z2243.276.8,取z277

2.2.3按齿面接触强度设计齿轮[3]

由濮良贵《机械设计》第八版203页齿面接触强设计计算公式进行计算,即

32ZEKT1u1d1t2.32·uHd式中

d1t——所求齿轮直径(mm)

T1——齿轮传动的转矩(N·mm)

ZE——弹性影响系数(MPa)

12(21)

d——齿宽系数

K——载荷系数

(1)确定公式内的各个计算数值

1)试选载荷系数Kt1.3 2)计算小齿轮传递的转矩

T195.510

5P1n1(22)

95.51057.5Nmm 8608.328104Nm3)根据濮良贵《机械设计》第八版表10-7选取出齿宽系数

d1

4)根据濮良贵《机械设计》第八版表10-6查得材料的弹性影响系数

齐齐哈尔大学毕业设计(论文)

ZE189.8MPa

5)根据濮良贵《机械设计》第八版表10-21查得小齿轮的接触疲劳强度极限

12Hlim600MPa;大齿轮的接触疲劳强度极限Hlim550MPa

6)计算应力循环次数

N160n1jLh

(23)

6086083002153.7151093.715109N2 3.21.1611097)根据濮良贵《机械设计》第八版表10-19查得接触疲劳寿命系数KHN10.90,KHN20.95

8)计算接触疲劳许用应力通常取失效概率为1%,安全系数S=1

H1KHN1lim1S0.9600540MPa

(2-4)S0.95550522.5MPa H2KHN2lim2(2)计算

1)计算小齿轮分度圆直径

3d1t2.323ZEKT1u1·u Hd4189.81.38.328104.2· 522.513.22 = 2.32= 61.634mm 2)小计算圆周速度v

v

d1tn16010003.1461.634860m/s6010002.77m/s(25)

3)计算齿宽b 9

齐齐哈尔大学毕业设计(论文)

bdd1t

(26)

161.634mm 61.634mm4)计算齿宽与齿高比

b h模数

mtd1tz161.634242.568mm

(2-6)

齿高

H2.25mt5.778mm宽与齿高比

(2-7)

b61.63410.67 h5.7785)计算载荷系数

根据v2.77ms,7级精度根据濮良贵《机械设计》第八版图10-8查得动载荷系数

KV1.12

对于直齿轮

KHKF1;

根据濮良贵《机械设计》第八版表10-2查得使用系数KA1; 查得7级精度小齿轮相对支承非对称布置时KHB1.423由表得KFB1.35

载荷系数为:

b10.67,KH1.423查hKKAKVKH

(28)

11.1211.4231.5946)按实际的载荷系数校正所算得的小分度圆直径

齐齐哈尔大学毕业设计(论文)

d1d1t3KKt3(29)

1.5941.365.968mm61.6347)计算模数m

md165.9682.748mm

z1242.2.4按齿根弯曲强度设计[3]

齿根弯曲强度设计公式为 m2KT1YFaYsa2dz1F(210)

式中

FE1——齿轮的弯曲疲劳强度极限(1)确定公式内的各计算数值

由濮良贵《机械设计》第八版图10-20c查得小齿轮的弯曲疲劳强度极限:

FE1500MPa

大齿轮的弯曲疲劳极限:

FN1380MPa

查得弯曲疲劳寿命系数:

KFN10.85,KFN20.88

计算弯曲疲劳许用应力:取弯曲疲劳完全系数S1.4,得

F1KFN1FE

1S0.85500MPa1.4303.57MPa(211)

齐齐哈尔大学毕业设计(论文)

F2KFN2FE2S0.88380MPa

1.4238.86MPa计算载荷系数:

KKAKVKFaKFb11.1211.351.512

由濮良贵《机械设计》第八版表10-5查得齿形系数

YFa12.65,YFa22.226

查取应力校正系数

YSa11.58,YSa21.764

计算大小齿轮的YFaYSaF并加以比较

YFaYSaF12.651.580.01379303.57

2.2261.7640.01644238.86

F2由上式可知大齿轮的数值较大 设计计算

3YFaYSam21.5128.3281040.016442.05mm1242

由计算结果可知,齿面接触疲劳强度计算的模数m大于由齿根弯曲疲劳强度计算的模数,齿轮模数m主要取决于弯曲强度所决定的承载能力,仅与齿轮直径有关,可取由弯曲强度算得的模数2.05并就近圆整为标准值m=2.5mm,按接触强度算的的分度圆直径d1=65.968mm。

算出小齿轮的齿数:

z1d165.96826 m2.5大齿轮的齿数:

z23.22683.2取z284

齐齐哈尔大学毕业设计(论文)

2.2.5齿轮几何尺寸的计算

(1)计算分度圆的直径

小齿轮分度圆直径

d1z1m262.565mm

大齿轮分度圆直径

d2z2m842.5210mm

(2)确定齿轮中心距的

d1d2265210

2137.5mma(3)计算齿轮宽度

(212)

bddd116565mm

2.3轴的设计及校核

2.3.1 齿轮作用在传动轴上的力

分析骑马订书机的传动系统图可知主轴箱内各轴均为转轴。已知电机功率为7.5KW,转速为120~1200r/min,小齿轮工作转速为860r/min,齿数比为3.2。现对主轴进行分析和设计:

1、轴上的输出功率P2 p2p127.59.89.7

26.9KW2、轴上的转矩T2

由于n120~1200r/min,当n120r/min时,轴的转矩

PT295500002

n2 13

齐齐哈尔大学毕业设计(论文)

6.9Nmm 12054625Nmm 9550000

3、作用在齿轮上的力[3]

Ft2T2254625520N d210FrFttan520tan20189N

FnFt520554Ncoscos20

式中圆周力Ft,径向力Fr及轴上的法向力Fn如图2-1所示

MMH2MV2

齐齐哈尔大学毕业设计(论文)

图2-1 轴的载荷分析图

2.3.2初步估算轴的最小直径

选取材料为45钢,调质处理,根据表15-3,取A0100,可得

dminA03p2n2

6.912038.5mm 1003轴的最小直径显然是安装联轴器处的直径,为了确定轴的最小直径,必须先确定联轴器的孔径。考虑到转矩变化很小,取KA=1.3

TcaKAT21.35462571012.5Nmmd=40mm故,轴的最小直径dmin=40mm

(213)

按照转矩Tca的条件,查表GB/T 5014—2003,选用LX3弹性柱销联轴器,孔径为2.3.3轴的结构设计

(1)拟定轴上零件的分配方案,如图2-2所示。

齐齐哈尔大学毕业设计(论文)

2-2轴的结构与装配

(2)确定各轴段直径和长度

1)初步选择滚动轴承。因同时受径向载荷和很小的轴向载荷作用,故选深沟球轴承。初定dIIIdIIIIV65mm,因此,选深沟球轴承6413,其尺寸为dDB65mm120mm23mm,于是有lI—II23mm。选定,dIIIII90mm,lIIIII54mm。

2)安装z84齿轮的轴段III-IV的直径dIVV60mm,齿轮左端用套筒定位,右端用轴肩定位,dIVV60mm 为了使套筒可靠地压紧齿轮,此轴段应略短于轮毂宽度,故取lIVV61mm。dVVI45mm,lVVI8mm。

3)查表GB/T 5014—2003取联轴器LX3的Y型,孔长60mm,石棉垫片宽度为6mm故,lVIVII60mm6mm66mm,dVIVII40mm

4)轴的长度为:

l23mm54mm64mm61mm8mm66mm276mm

(3)轴上零件的周向定位

齐齐哈尔大学毕业设计(论文)

齿轮与轴,联轴器与轴,均采用平键连接,由表查得,齿轮与轴的平键截面为bh14mm9mm,键槽长定为54mm,联轴器与轴的平键为bh12mm8mm,长为40mm 2.3.4轴上的载荷

可化为简支梁的轴跨距为L2L3L461mm8mm66mm135mm,根据计算,截面C为危险截面,做出轴的扭矩图和弯矩图,各个数值参考如表2-2:

表2-1 轴的各个计算数值

载荷

水平面H

垂直面V 支反力F

FNH1274N FNH2274N

FNV1100N FNV289N

弯矩

MH20207.5Nmm

MV7375Nmm 总弯矩M

M22Nmm 20207.5737521511扭矩T

T254625Nmm

2.3.5校核轴的强度

(1)轴的计算应力

轴的计算应力校核时,只需校核轴上承受最大弯矩和扭矩的截面的强度,本设计中最大最大弯矩和扭矩的截面为C面,根据表中数据以及扭转应力为脉动循环变应力,取0.6,轴的计算应力[3]

caMT422W(214)

2215110.65462520.1453MPa43MPa

前已选定轴的材料为45钢,调质处理,查濮良贵《机械设计》第八版表15-1可知,160MPa,因此1)判断危险截面 ca1,故安全。

(2)校核轴的疲劳强度

齿轮轴段弯矩最大,截面III为危险截面,其它截面均按扭转强度较宽设定的,故,只需轴的右侧即可。

齐齐哈尔大学毕业设计(论文)

2)截面右侧各个系数的计算[3]

抗弯截面系数:

W0.1d30.14036400mm3抗扭截面系数:

WT0.2d30.240312800mm3截面左侧弯矩M为:

73.7530.5M2151112615Nmm73.75截面上的转矩:

(215)

(216)

T254625Nmm

截面上的弯曲应力:

M126151.97MPa W6400b截面上的扭转切应力 :

T546254.27MPa WT12800轴的材料为45钢,调质处理[6]。由濮良贵《机械设计》第八版表15-1查得

TB640MPa,1275MPa,1155MPa。

截面上由于轴肩而形成理论应力集中系数及,由濮良贵《机械设计》第八版

D44r2.01.1,经插值后得1.82,1.20。0.05,附表3-2查取因d40d40濮良贵《机械设计》第八版附图3-2查得轴材料的敏性系数为

q0.82,q0.85

k1q(1)

(217)

10.82(1.821)1.68k1q(1)(218)

由图表选出

10.85(1.21)1.17

0.67,0.82

齐齐哈尔大学毕业设计(论文)

轴按磨削加工,查图可得表面质量系数

0.92

轴的表面未经强化处理,即q1,按濮良贵《机械设计》第八版公式(3-12)及(3-12a)的轴的综合系数为

碳钢的特性系数

计算安全系数 [3]

Kk111.680.6710.9212.60Kk111.170.8210.921 1.510.1~0.取0.10.05~0.1取0.05S1Kam2752.64.860.1021.76S1Kam

1551.5117.8020.0517.80211.1619

(219)

(220)

(221)

齐齐哈尔大学毕业设计(论文)

ScaSSSS21.7611.162222(221)

21.7611.169.9S1.5故可知轴是安全的。

2.4 带传动的设计

2.4.1概述[4] 带传动是一种挠性传动。带传动的基本组成零件为带轮和传动带。当主动轮转动时,利用摩擦,将动力通过传动带传递给从动轮。工作示意图如图2-3所示:

(a)不工作

(b)工作

2-3传动带工作示意图

带传动具有结构简单、传动平稳、能缓冲吸振、能够轻易实现远距离,价格便宜、维护容易等特点。在近代机器设备中应用广泛。摩擦型带传动能够实现过载打滑、而且机器工作时噪声低,但摩擦型带传动比不够精确;同步带传动能够保证一定的传动比,但是对带的载荷变动量的吸收能力差,高速速运转时噪声很大。根据用途不同,有一般工业用传动带、汽车用传动带、农业机械用传动带和家用电器用传动带。摩擦型传动带根据其截面形状的不同又分平带、V带和特殊带等。

带传动的功率损失有:

(1)滑动损失 摩擦型V带传动工作时,由于带轮上下边的拉力差及其带轮不同变形差形成弹性滑动,从而导致带与从动轮的速度损失。弹性滑动功率损失率通常在1%~2%之间。严重滑动,特别是过载打滑,会使带的运动长时间处于不稳定状态,效率急剧下降,摩擦磨损加剧,从而严重影响带的寿命。滑动损失随紧边与松边拉力差的增大而增大,随带体弹性模量的增大而减小。

齐齐哈尔大学毕业设计(论文)

(2)内摩擦损失 带在运行中的反复伸缩,会使带体内部产生摩擦引起功率损失。内摩擦损失随预紧力、带厚与带轮直径比的增大而增大。减小带的带轮之间的拉力变化,可减小带传动的内摩擦损失。

(3)空气阻力损失 带轮高速运行时,运行风阻引起的功率损失。带传动的功率损失与速度的平方成正比。因此设计高速带传动时,应减小带的表面积,尽量用厚窄的带;带轮的轮辐表面应平滑或用辐板以减小风阻。

(4)轴承摩擦损失 轴承受带拉力的作用产生摩擦,也会导致带传动的功率损失,轴承摩擦损失是引起功率损失的重要因素之一。

综合上述损失,带传动的效率约在80%~96%范围内,设计带传动时,要根据带综合因素来选取带轮与传动带的形状。

2.4.2带传动的设计计算

骑马订书机带式传动系统中采用V带传动。已知电动机功率为P7.5kW,转速为n11200r/min,传动比i3.4,每天工作8小时

1、确定计算功率Pca[4] 由带传动工作情况系数表查得濮良贵《机械设计》第八版表8-7知KA1.1,故

PcaKAP1.17.5kW8.25kW

2、选择V带的带型根据Pca、n1由普通V带选型图,选用A型。

3、确定带轮基准直径dd并验算带速v 1)选择取小带轮基准直径

dd1120mm

2)验算带速 由经验知

vdd1n16010003.141201200

6010007.54m/s

齐齐哈尔大学毕业设计(论文)

因为5 m/s < v < 30 m/s,故带速合适。3)计算大带轮基准直径

dd2idd13.4120mm 408mm元整取dd2400mm

4、确定V带中心距a和基准长度Ld 1)初定中心距

0.7(dd1dd2)a02(dd1dd2)

初定中心距a0 = 600 mm 2)计算带所需基准长度 L2a0(dd2dd1)d02(dd1dd2)4a0260022(120400)(400120)4600

2050mm

查表得基准长度:

Ld =2000 mm 3)带的实际中心距a

aa0LdLd0

2200020506002mm575mm

4)中心距变化范围[3] amina0.015Ld6000.0152000570mmamaxa0.03Ld6000.032000660mm

222)(223)

齐齐哈尔大学毕业设计(论文)

中心变化距范围570~660 mm

4、计算验证小带轮上的包角1[3] 1180(dd2dd1)

57.3a57.3180(400120)57515290(224)

5、计算带的根数z 1)计算单根V带的额定功率Pr 由dd1120mm和n11200r/min,查表得P02.28kW

根据n11200r/min,i3.4查表得

P00.15kW

查表得K0.925,KL0.93于是

Pr(P0P0)KKL

2)计算V带的根数

(225)

(2.280.15)0.9250.93kW2.2kWz

取4根

6、单根V带的初始拉力最小值[3]

Pca8.253.75 Pr2.2F0min500500232N应使初拉力F0>F0min

7、轴的最小压力[3]

(2.5K)Pcaqv2Kzv(224)

(2.50.925)8.250.17.5420.92547.54 23

齐齐哈尔大学毕业设计(论文)

Fpmin2zF0minsin12152 224161sin1251N2.5 凸轮的设计

2.5.1凸轮的简介[5]

凸轮是一种机械机械回转或滑动部件,它把运动传递给紧靠它边缘运动的滚轮或在槽面上运动的针杆。凸轮在各种机械中广泛的应用,尤其在纺织机械,印刷机械,冲压机床等自动控制装置中应用最为广泛。随着制造技术的发展,凸轮的制造越来越精确,应用范围也逐渐扩大。凸轮传动的特点如下: 只要合理的设计出凸轮的轮廓,就能很容易地获得预期的运动规律。2 凸轮的响应速度快 3 凸轮机构结构简单紧凑 凸轮轮廓线与推杆之间为点线接触,易磨损。5 凸轮制造困难。

凸轮的种类很多,按凸轮的形状分类可分为盘形凸轮和圆柱形凸轮;按推杆分类可分为,尖顶推杆凸轮,滚子推杆凸轮和平底推杆凸轮;按接触的方式不同可分为,力封闭凸轮和几何封闭凸轮。

2.5.2确定凸轮的基本外形尺寸

自动骑马订书机采用直动滚子推杆盘形凸轮机构,工作条件是高速轻载。对推杆的要求为:当凸轮转过90°时,推杆上升150mm,凸轮继续转过90°时时,推杆停止不动;凸轮再继续转过60°时,推杆下降150mm,凸轮转过其余角时,推杆又停止不动。、确定凸轮机构的基本尺寸 基圆半径

初步确定基圆的半径r0=300mm,推杆棍子半径为rr=60mm。本此设计的工作条件是高速轻载,选用冲击较小的运动规律。

2、确定凸轮机构的运动方程

初步选定,推程阶段为正弦加速运动规律,回程阶段选用五次多项式运动规律[5]。运动规律如图2-4所示:

(1)正弦运动规律的方程式为:

齐齐哈尔大学毕业设计(论文)

vh1cos(2/0)/0a2h2sin(2/0)/02sh(/0)sin(2/0)/(2)

(2)五次多项式的运动规律方程为:

sC0C1C22C33C44C55vds/dtC12C23C324C435C54 adv/dt2C226C3212C42220C523

(a)正弦运动规律图

(b)五次多项式运动规律

图2-4 凸轮推程与回程阶段的运动规律

由图知正弦加速运动规律和五次多项式运动规律都没有柔性冲击和刚性冲击,适合高速轻载的凸轮设计。

3、计算凸轮的理论廓线

对于对心直动滚子推杆盘形凸轮机构,凸轮的理论轮廓线坐标为

x(s0s)sinecosy(s0s)cosesinsr0,求得:

(225)

本次骑马订书机的设计中e0x(r0s)sin

y(r0s)cos对上式中的位移s进行分段计算

齐齐哈尔大学毕业设计(论文)

(1)骑马订书机凸轮的推程阶段

0290/2

0190/2

s1h(1/01)sin(21/01)/(2)

h(21/)sin(41)/(2)

10,/2

(2)骑马订书机凸轮的远休止阶段

0290/2

s21

5(3)骑马订书机凸轮的回程阶段0360/3

s3346h55310h3/0315h43/033/0

327h033/3121h543/4145h853/5

(4)骑马订书机凸轮近休止阶段

041202/3

s40

推程和回程阶段的压力角

arctands/drs

0去计算间隔为5°计算以上各式的值,将结果写入表格中。计算结果时:推程阶段:1远休止阶段:123

回程阶段:123近休止阶段:12345

4、计算凸轮的实际工作廓线

20,/2

30,/3

40,/3

(2-26)

齐齐哈尔大学毕业设计(论文)

其中

xxrrcosyyrrsin(227)

sin(dx/d)/(dx/d)2(dy/d)2 cos(dy/d)/(dx/d)2(dy/d)2

(1)骑马订书机凸轮的实际工作推程阶段 10,/2

dx/d(ds/d)sin1(r0s)cos12h 1cos4(1)sin1(r0s)cos1



dy/d(ds/d)cos1(r0s)sin12h

1cos4(1)cos1(r0s)sin1



(2)骑马订书机凸轮的实际工作远休止阶段

20,/2

dx/d(r0s)cos(/22)dy/d(r0s)sin(/22)

(3)骑马订书机凸轮的实际工作回程阶段

30,/3

dx/d(ds/d)sin(3)(r0s)cos(3)

(81h032/3486h033/4729h034/5)sin(3)

(r0s)cos(3)

35dy/d(810h3/34860h34/47290h3/5)cos(3)(r0s)sin(3)

4)骑马订书机凸轮的实际工作远休止阶段

30,2/3

dx/d(r0s)cos(4/34)

齐齐哈尔大学毕业设计(论文)

dy/d(r0s)sin(4/34)

凸轮的工作曲线与实际曲线的计算结果如表2-2

表2-2 凸轮的各个计算数值

0 5 10

350 x

0.000 26.175 52.365

y

300.000 299.185 296.226

x

0.000 21.602 44.468



240.000 238.885 237.228-52.092-26.148 0.000

295.446 298.984 300.000

-41.468-20.916 0.000

236.352 238.645 240.000 355 360

由表中各个数值计算结果,可作出凸轮的轮廓曲线如图2-5所示:

图2-5 凸轮的轮廓曲线

齐齐哈尔大学毕业设计(论文)

凸轮机构推程阶段最大的压力角为19.856°,相应凸轮的转角为45°;回程阶段的最大压力角为27.658°,相应的凸轮转角为210°,凸轮的最大压力角小于许用压力角,故凸轮的尺寸设计合理。

齐齐哈尔大学毕业设计(论文)

第3章

骑马订书机的电气控制设计

3.1 骑马订书机的特点及控制要求

1、骑马订书机的运动由电动机M传动

2、主轴制动靠刹车轮的摩擦制动

3、到发生堵纸现象时,微动开关启动,电机M断电,机器停止工作。

4、机器的运动与停止等操作都集中在电气操作箱上。

电动机M的型号:JZT251—4 7.5kW 220V 1200r/min 3.2 电气线路设计

3.2.1 执行电路的设计

根据骑马订书机的工作要求,为了调速,并降低启动电流,电动机M选用松下变频器BFV00072G 220V 0.75KW。总电路的过载保护选用,选用熔断器FU[10]。执行电路图如3-1所示:

图3-1 自动骑马订书机的执行电路图

齐齐哈尔大学毕业设计(论文)

3.2.2控制电路的设计

光电传感器的初状态闭合,当检测到书帖信号时,光电传感器SL1的长闭触电开启,继电器KM3断开,从而使电磁铁主回路中的电流继电器KA1失电断开,电磁铁YV不工作,离合机构啮合,订书机机头工作。当无书帖时,光电传感器SL1闭合,继电器KM3得电触点闭合,从而使从而使电磁铁主回路中的电流继电器KA1得电闭合,电磁铁电磁铁YV工作,离合机构断开,订书机机头不工作。接近开关SL2同步复位KM3,以保证装订机头,停于上限位置。当发生纸张拥堵时,微动开关SS1断开,继电器KM1失电,变频器的控制回路中的开关SA开启,变频器失电,停止工作,电动机M停止。当光电传感器SL1检测到书帖时,SL1-2触电闭合,计数器得到一次信号,累加一次。当无书帖时,计数器无信号,不累加。控制电路图如3-2所示

图3-2 自动骑马订书机的控制电路图

3.3电器元件的选择[6]

1、电源引入开关Q

电源引入开Q关主要起外部输入电路的作用,可根据电机M的额定电流选用。

P7500IA19.7A U380选用HZ-25/3型开关,额定电流25A

2、变频器[12] 变频器(Variable-frequency Drive,VFD)是应用变频技术与微电子技术,通过改变电机工作电源频率方式来控制交流电动机的电力控制设备。变频器主要由整流(交流 31

齐齐哈尔大学毕业设计(论文)

变直流)、滤波、逆变(直流变交流)、制动单元、驱动单元、检测单元微处理单元等组成。通过改变电源的频率来达到改变电源电压的目的,根据电机的实际需要来提供其所需要的电源电压,进而达到节能、调速的目的,另外,变频器还有很多的保护功能,如过流、过压、过载保护等等。随着工业自动化程度的不断提高,变频器也得到了非常广泛的应用。为了电动机M调速,并降低启动电流,电动机M选用松下变频器BFV00072G 220V 0.75KW。

3、电位器

电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。电位器通常由电阻体和可移动的电刷组成。当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。电位器既可作三端元件使用也可作二端元件使用。后者可视作一可变电阻器。工作示意图图如3-3所示:

图3-3 电位器工作原理图

本设计中为了获得部分稳定的电压输出,选用日本思博(sakae)22HP-10电位器,主要参数如下:

功率:2W

最大工作电压:250V 预期旋转寿命:1000000次

4、光电传感器[16] 光电传感器是采用光电元件作为检测元件的传感器。它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。光电池作为光电探测使用时,其基本原理与光敏二极管相同。光电电传感器具有检测距离长;对检测物体的限制少; 响应时间短 ;分辨率高 ;可实现非接触的检测 ;可实现颜色判别 ;便于调整等优点。

本设计中当每个书帖装订好时,为使其信号转化为计数器能识别的电信号,选用PIH-TC20NOC3D(对射型NPN常开+常闭 / 距离3CM / DC10-30V)光电传感器。

齐齐哈尔大学毕业设计(论文)

5、熔断器FU1,FU2 FU1是对总电路的保护熔断器。熔体电流为:

P7500IRA19.7A

U380可选用RL-15熔断器,配用20A的熔断器。FU2,选用RL-15熔断器,配用2A的熔断器。

6、继电器KA,KA1,KA2及KA3 继电器专用的固态继电器可以具有短路保护,过载保护和过热保护功能,与组合逻辑固化封装就可以实现用户需要的智能模块,直接用于控制系统中。

固态KA选用固态继电器SAP-4040D 40A,各项参数如下 负载最大电流:40A;

负载电压:40V-480V;

控制电压:3-32VDC;

频率范围:47/63HZ 工作环境温度:-40-80℃

动作状态指示:LED,KA1,KA2及KA3选用SSR-10DA(10A)单相固态继电器 各项参数如下: 负载最大电流:10A;

负载电压:40V-480V;

控制电压:3-32VDC;

频率范围:47/63HZ 工作环境温度:-30-75℃

动作状态指示:LED,7、停止开关SB1,启动开关SB2 停止开关SB1选用LA10绿色,启动开关SB2选用LA10红色

8、电磁铁YT 电磁铁控制电磁离合机构的啮合与断开,选用直流推拉式电磁铁HCNE-1038主要参数如下:

吸力:5N

行程:10mm

控制电压:DC24V

9、开关电源

开关电源是利用现代电力电子技术,控制开关管开通和关断的时间比率,维持稳定输出电压的一种电源,开关电源一般由脉冲宽度调制(PWM)控制IC和MOSFET构成。本次设计中所选开关电源为欧姆龙开关电源S8JC-100-24 100W DC24V。如图3-4所示:

齐齐哈尔大学毕业设计(论文)

图3-4 S8JC-100-24型欧姆龙开关电源

10、计数器

本设计中选用JDM9-6数显智能计数器(图3-5)220V交流 110V 24V交直流电压均可直接工作 计数范围:6位LED数码管0-999999

图3-5 JDM9-6型数显智能计数器

齐齐哈尔大学毕业设计(论文)

3.4编制电气元件明细表

根据3.3所选电气元件,列出3-1所示,电气元件表

3-1 自动骑马订书机电气元件明细表

符号 M Q RP U SL 名 称 异步电动机 组合开关 电位器 变频器 光电传感器

型 号 JZT251-4 HZ-25/3 22HP-10 BFV00072G PIH-TC20NOC3D

380V 1200r/min 7.5KW 3极

500V

25A

2W 250V 220V 0.75KW 距离3CM

DC10-30V KA 固态继电器

SAP-4040D

40A 控制电压:

3-32vDC KA1 继电器

SSR-10DA

10A 控制电压:

3-32vDC KA2 继电器

SSR-10DA

10A 控制电压:

3-32vDC KA3 SB1 SB2 YT FU1 FU2 G C 继电器 控制按钮 控制按钮 电磁铁 熔断器 熔断器 开关电源 计数器

SSR-10DA LA10 LA10 HCNE-1038 RL-15 RL-15 S8JC-100-24 JDM9-6

10A 控制电压:

3-32vDC 绿色 红色

吸力5N 行程10mm

DC24V 500V 熔体 10A 500V 熔体

2A 100W 24V

24V 1 1 1 1 1 1 1 1 1 1 数量 1 1 1 1 2

齐齐哈尔大学毕业设计(论文)

第4章

自动骑马订书机的PLC控制设计

4.1 PLC的简介

4.1.1PLC的定义及基本结构[18] PLC又称可编程逻辑控制器(Programmable Logic Controller,PLC),它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。可编程逻辑控制器实质是一种专用于工业控制的计算机。

PLC硬件的基本结构包括:电源、中央处理器(CPU)、储存器、输入输出借口、外部设备。

1、电源

电源是PLC的能量源,可靠稳定的电源很大程度上决定了PLC工作性能。如果没有一个持续稳定的电源系统PLC是无法正常工作的。因此,PLC控制器的制造商对电源的设计和制造十分重视。PLC的电源有直流和交流两种,直流多为24V的电源,交流多为220V电源,PLC电源的抗干扰能力都很强,有的交流电源PLC供电范围在140V~250V之间。

2、中央处理器(CPU)

中央处理单元(CPU)是可编程逻辑控制器的核心部件,是PLC的控制运算中心。它负责处理PLC接受的用户程序和数据,检查电源、存储器、计数器、定时器等部件的运行状态,并能够判断用户程序中的语法错误。当PLC投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并存入“内存映像”,然后从用户程序存储器中逐条读取用户程序,按指令执行逻辑或算数运算,当所有的用户程序执行完毕之后,将输入输出映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。

3、存储器

存储器主要用来存放用户的程序及数据。存储器的主要种类有,ROM、EPROM、EEROM。

4、输入输出接口

PLC输入输出接口是CPU与外部设备之间交换信息的连接电路,它们通过总线与CPU相连,简称I/O接口。PLC的输入输出接口包括:数字量输入模块,数字量输出模块,模拟量输入模块和模拟量输出模块四大部分。PLC之所以能够在恶劣的工业环境中正常工作,输入输出接口起了重要作用。

齐齐哈尔大学毕业设计(论文)

5、外部设备

PLC的外部设备主要有:显示器、打印机、编程器等。目前,PLC多采用个人计算机编程,PLC通过通信电缆与PC连接,从而使PLC的编程、监控达到了真正意义上的快捷、方便。

4.1.2PLC的特点及应用范围[12] PLC是面向用户的专用控制器,相对于应用广泛的继电—接触系统以及单片机应用系统具有很多特点。

(1)PLC控制器的考干扰能力强,一般的PLC控制系统不用考虑干扰问题,继电气控制虽然能够抵抗一般的电磁干扰,但在高电磁环境中,可靠性会急剧下降。单片机控制系统则要专门设计抗干扰系统,非常容易受到电磁干扰,不能够在较高电磁环境下工作,应用范围较小。

(2)PLC系统的维护方便,利用PLC自我诊断功能可以很快的找出故障点及时排除故障。继电器控制系统常用的电子元件容易损坏,更换时检查非常不方便费时费力。单片机控制系统需要定期维护且维护复杂,技术难度较高,需要专门的技术人员。(3)PLC程序开发采用梯形图,明了简便易学不需要专门的计算机知识。机电控制系统开发时图样多,线路复杂接线工作量大,出现错误排查困难系统的调试工作量大周期长。单片机控制系统设计复杂,系统的调节测试技术难度大,需要有专门计算机技术知识的人进行测试。

(4)PLC控制系统通用性较好,适用范围广非常适合在恶劣的工业环境中工作,而且系统易于扩展,接口即插即用。继电器控制系统铺设好后改装麻烦,费时费力,一般为专用系统。单片机系统改造时要经过专门的软硬件技术改造再能使用,改造时间长。(5)PLC的硬件成本相对于继电器控制系统和单片机控制系统较高,这是制约PLC控制系统应用的一个重要因素。

随着工业自动化的提高,如今只要涉及控制的地方,都离不开PLC这个大脑,可大概分为两个领域:

(1)单机控制为主的自动化设备,比如:包装机械、印刷机械、纺织机械、注塑机械、自动焊接设备、机床设备、冶金行业的辊压、连铸机械等。这些设备的所有动作,加工都需要靠依据工艺设定在PLC内的程序来指导执行和完成,就如人的大脑。(2)以过程控制为主的流程自动化设备,比如污水处理、自来水处理、楼宇控制、火电主控、辅控、水电主控、辅控、太阳能、水泥、石油、石化、铁路交通等。这些行业所有设备的连续生产运行,总存在许多的监控点和大量的实时参数,而要监视、控制、和采集这些流程参数和相关的工艺设备,也必须依靠PLC这个大脑来完成,当然传统叫法也有DCS,尽管设计之初的理念不一样,但现技术路线已逐渐融合。

齐齐哈尔大学毕业设计(论文)

4.1.3PLC的工作原理[19] PLC采用循环扫描的方式工作,实际工作时,用户设定好程序后,CPU从第一条程序开始执行,执行方式是从上向下,从左向右,程序结束时,再返回第一执行直到循环结束。工作过程如图4-1所示。

4-1 PLC的工作过程框图

1、自诊断

PLC在扫描用户程序之前,都首先进行自我诊断。自我诊断包括输入输出接口,储存器,CPU等,发现异常情况,停机显示出错。若PLC自我诊断正常,用户程序开始执行。

2、通信

在通信阶段PLC编程器或计算机有通信请求,PLC会在这段时间内完成数据收发工作。

3、读入现场信号

在这个阶段PLC对各个输入端信号进行扫描,将外部输入存入映像寄存器。对于接通电路输入信号,映像寄存器中状态为“1”;对于断开电路输入信号,映像寄存器的状态为“0”,也就是说某一个输入信号相对应的电器元件在映像寄存器中为“1”时,该电器元件的状态为“ON”,在映像寄存器中为“0”时,该电气元件的状态为“OFF”。

4、程序执行

这一阶段CPU将用户当前程序调出,逐条执行,程序的运算结果会存在映像寄存器中。如果在这一阶段用户改变程序内容,PLC不会立刻执行,要在下一个扫描周期执行。

5、输出结果

当PLC将程序执行完毕后,PLC会把输出状态寄存器的指令状态,转化成执行元件所能够识别的电信号,从而控制被控设备及电器元件。

4.1.3PLC的选择原则[19] PLC系统设计时,明确控制方案后就是PLC的选型问题了。PLC的选择依据主要有 如下:

齐齐哈尔大学毕业设计(论文)

(1)输入输出点数的估算,PLC选择是输入输出点数要留一定的余量,通常是比实际所需点数高10%到40%,也可根据实际情况自行考虑。

(2)储存量的估算,PLC选择时要首先根据机器所执行的功能,初步估算应用程序的大小,从而初步确定储存器的大小。

(3)控制功能的选择,用户选择PLC设备时,要熟悉所控制设备的主要功能及控制方式,来确定PLC的类型。

(4)PLC机型的选择,以上三个步骤完成之后,PLC的各项参数基本确定,就要考虑机型问题。PLC的产品种类很多,用户要根据自身经济情况和所控机器的情况综合考虑,选择性价比合适的产品。

4.2 自动骑马订书机的PLC选型及控制电路改造

4.2.1自动骑马订书机的PLC类型选择

根据自动骑马订书机的规格和各项技术要求,可选用日本三菱公司生产FX2N-32MR-001型PLC[15](如图4-2)。FN系列PLC是日本三菱公司制造的高性能小型PLC,性能稳定,速度快是现有PLC产品中性价比较高的产品,其中FN2系列是FN系列中速度最快的型号。FX2N-32MR-001型PLC的规格如下:

电源规格:AC 100V~240V,DC24V

输入输出点数:输入16,输出16(继电器)外形尺寸:150×87×90(mm)

齐齐哈尔大学毕业设计(论文)

图4-2 FX2N-32MR-001型PLC 4.2.2PLC控制电路设计

(1)自动骑马订书机的输入输出点数如表4-1所示:

表4-1地址分布表

输入地址 X0 X1

注释 电机启动按钮SB1 光电传感器SL1未检测到数

到书帖信号

光电传感器SL1检测到数贴

信号

光电传感器SL2检测到数贴

信号

纸张拥堵微动开关SS1 错帖微动开关SS2 电机停止SB2

输出地址 Y0 Y1

注释 电动机启动 继电器KA1得

电闭合 电磁铁YT得电闭合 电动机停止 X2 Y2 X3 X4 X5 X6

Y3

齐齐哈尔大学毕业设计(论文)

(2)自动骑马订书机的PLC接线图如图4-3所示

图4-3自动骑马订书机的PLC接线图

(3)自动骑马订书机的PLC程序图如图4-4所示: 41

齐齐哈尔大学毕业设计(论文)

图4-4 自动骑马订书机的PLC程序图

齐齐哈尔大学毕业设计(论文)

结论

紧张忙碌的毕业设计,终于接近尾声。在毕业设计这段时间里,我学到了很多知识,同时也对大学所学知识做了一次系统的总结。在毕业设计初期,我遇到了很大的困难,面对题目不知如何下手。在老师指导下我查逐步理清了设计思路,通过查阅相关资料,向老师请教和同学们讨论我逐步解决了毕业设计中的相关难题。最终,我顺利完成了毕业设计论文。

此次设计,我对传统骑马订书机的电气部分精进行了设计改装,传在对订书机头增加了电磁控制装置,在容易发生堵纸增加了微动开关,增加了光电传感器检测装置,从而很好地解决了,传统骑马订书机在高速工作下状态了的容易堵纸的现象。本设计中还对传统骑马订书机的控制系统进行了PLC改造,使其控制系统更加智能化,提高了工作效率,减少了工人的工作量。

总结此次设计,我遇到了很多棘手的难题,但在老师和同学们的帮助下通过查阅相关资料我都一一解决了。通过这次设计,增强了我的分析思考能力和团队合作能力,为我日后的工作打下了良好的基础。

齐齐哈尔大学毕业设计(论文)

参考文献

[1] 陈金成.骑马装订联动机的技术现状与发展趋势[J].印刷技术,2004.6 [2] 孟祥福,江蓉,刘传思.半自动骑马订书联动机[P].中国:CN2813299,2006.8 [3] 濮良贵,纪名刚.机械设计[M].北京:高等教育出版社,2006.5 [4] 李心耀,洪建忠,蒋春梅.同步带传动在离心机配平系统中的应用与研究[J].机械传动,2011.11 [5] 王世刚,胡宏佳, 机械原理与设计实验[M].哈尔滨:哈尔滨工程大学出版社,2004 [5] 孙午光.高速凸轮[M].北京:高等教育出版社,1992 [6] 王世刚,王树才.机械设计实践与创新[M].北京:国防工业出版社,2010.9 [7] 林瑞光.电机与拖动技术[M].杭州:浙江大学出版社,2002.8 [8] Mott, Robert L.Machine elements in mechanical design [M].Beijing:China Machine Press,2003.

[9] 齐占庆,王振臣.机床电气控制技术[M].北京:机械工业出版社,1997.5 [10] 黄永红.电气控制与PLC应用技术[M].北京:机械工业出版社,2011.8 [11] 廖常初.设备改造中的PLC梯形图设计方法[J].电工技术杂志,2001.9 [12] 彭婧.基于PLC控制的双头车床主电路设计[J].机械,2010.02 [13] Mott,Robert L.Machine elements in mechanical design [M].Beijing:China Machine Press,2003.

[14] Bo Chen,Jifeng Wang,Shanben Chen.A study on application of multi-sensor information fusion in pulsed GTAW[J].strial Robot,2010.3 [15] 李江全,王玉巍,刘荣.三菱PLC通信与控制应用的编程实例[M].北京:中国电力出版社,2011.8 [16] Hui-Myoung Oh,Sungsoo Choi,Youngsun Kim.A Systematic Approach to Analyzing Multipath Parameters From PLC Channel Response[J].IEEE Transactions on Power Delivery,2008.23(4)[17] Hajarnavis V, Young K.An Assessment of PLC Software Structure Suitability for the Support of Flexible Manufacturing Processes[J].IEEE transactions on automation science and engineering,2008.5(4)[18] Murat Uzam.PLC/MCU: PLC with PIC16F648A Microcontroller-Part 16[J].44

齐齐哈尔大学毕业设计(论文)

Electronics World,2010.116(1886)[19] 程子华.PLC原理与编程实例分析[M].北京:国防工业出版社,2007.1 [20] 王得胜,韩红彪.电气控制系统设计[M].北京:电子工业出版社 2011.4

致谢

时光如白驹过隙,转眼间美好的四年大学时光即将结束。大学的最后一项重要工作——毕业设计,也接近尾声。回首四年的大学生活,我受益颇多。在做毕业设计的这段时间里,同学们和老师都给了我无私的帮助。在此,对帮助我的人致以诚挚的感谢。在毕业设计中我遇到了很多困难,在同学和老师的帮助下我都逐一解决。我要特意感谢李东升老师,李西兵老师,尤其是我的毕业设计导师郭建华教授,他严谨的治学风格,幽默的说话方式,独特的人格魅力深深的感染了我,使我受益匪浅。我还要感谢我的同组同学,张阳、高先龙他们给我了很多帮助。我还要特别感谢18#317兄弟们,你们不仅在学习上给我了很多帮助,还在生活中给我了很大的帮助,你们都是我的好兄弟。最后谢谢所有帮助过我的人,谢谢你们。

第三篇:公交车管理系统

燕山大学课程设计说明书

名称:操作系统OS

题目:公交车上司机与售货员协调工作模拟

班级:07级计算机 开发小组:三剑客 课题负责人:张浩

课题组成员:张浩 李康 张晓玉

姓名

学号

班级

自评成绩 张

070104010121 07应用2班

A 李

070104010113 07软件3班

B 张晓玉

070104010131 07软件3班

B

开发日期:2010年1月11日-15日

1概述

计算机操作系统是计算机系统中最不可缺少的,最常用的软件,也是核心的,最接近于计算机硬件的软件。其特点是内容繁多,概念抽象,因此造成理解困难,掌握不易。本软件的主要目的是通过直观的演示,使学生能够感性的明白掌握多道程序及其进程同步和互斥的程序设计的基本方法。

1.1基本功能

利用多线程同步技术模拟公交车系统,实现司机与售票员的同步与互斥关系,即开车时不允许开门,开门时不允许开车,实现每个乘客一个线程同步互斥的上下车。每站随即生成上下车人数,上下车线程实行,先下后上原则。到终点站后,可以统计本次出车的载客人数。

1.2开发计划

第一步,进行问题分析,确定需要解决的问题; 第二步,进行整体构思与框架设计;

第三步,查阅资料,分析所需要设计的程序算法; 第四步,进行各种算法及各个细节编码的详细设计; 第五步,进行代码调试,修改程序中的错误; 第六步,整理总结书写报告,进行答辩。

1.3人员分工

张浩:分析构架,核心代码编写;

李康:用户界面设计,辅助代码编写,调试; 张晓玉:功能测试、书写实验报告。

1.4 开发环境及开发工具

本程序是以在windows XP下用Netbeans和 jdk搭建的平台上,以Java作为开发语言进行编写的。

使用的开发工具:netbeans.NetBeans平台直接提供了应用程序的常见需求,如菜单、文档管理和设置。“NetBeans”构建应用程序是指,仅提供 NetBeans平台尚不包含的应用程序部分,而不是从头开始编写应用程序。在开发周期结束时,可以将应用程序与 NetBeans平台捆绑在一起,从而节省了很多时间和精力,并且构建的应用程序稳定可靠。

使用的开发语言:java.Java是一种简单的、面向对象的、分布式的、解释的、键壮的、安全的、结构的中立的、可移植的、性能很优异的多线程的、动态的语言。其特点主要有:平台无关性、健壮性、面向对象、安全性、分布式。

1.5使用的基本概念和原理

多道程序:用户所提交的作业都先存放在外存中并排成一个队列,成为“后备队列”;然后,由作业调度程序按一定的算法由后被队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。

进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

线程:操作系统用来调度、分派的最小单位。同步和互斥:

临界段:临界段对象通过提供所有线程必须共享的对象来控制线程。只有拥有临界段对象的线程才可以访问保护资源(进行临界区操作)。在另一个线程可以获取对象的访问权。用户应用程序可能会使用临界对象来阻止两个线程同时访问共享的资源发文件等。

互斥量:互斥量的工作方式和临界段非常相似,其区别在于互斥量不

公保护一个进程内的资源共享,而且还保护系统中进程之间的共享资源。它是通过为互斥量提供一个“互斥量名”来进行进程间资源共享协调的。

事件:事件对象用于给线程传递信号,指示线程中特定的操作可以开始或结束。除非线程已经收到了这个事件信号,否则它将一直处于挂起状态。当事件对象进入其信号状态时,正在等待该事件的线程就可以开始执行。例如,一个应用程序可以通过事件来通知线程它需要的数据已经准备好。经常利用事件进行线程之间的通信。

信号量:信号量与互斥相似,但是互斥只允许在同一时刻一个线程访问它的数据,而信号量允许多个线程在同一时刻访问它的数据。WIN32 不知道哪一个线程拥有信号量,它只保证信号量使用的资源计数正确的设置。

2需求分析

协调司机和售票员以及乘客在运行与开关门以及上下车时的关系,实现同步互斥,避免发生不必要的冲突,节省了时间空间资源。本程序显示上下车人数,并显示车上总人数,使车内人数不超过总座位数。最终,利用统计功能,显示此次公交车运行的各种参数:车次、总站数、总载客数。

3总体设计

基本的技术路线:面向对象;

软件的总体结构:分为可视化界面以及后台数据执行;

内部模块关系:司机类与售票员类同步互斥,上车类与下车类同步互斥;

总体流程:停车-开门-下车-上车-关门-开车;

需要创建的进程线程:主窗口线程、司机线程、售票员线程、上车乘客线程、下车乘客线程。

流程图如下:

4详细设计

Wait(),notify(),实现进程的等待和唤醒。

BusJFrame()创建主窗口,Driver()和Conductor()分别创建司机和售票

员线程,PassengerOn()创建上车线程,PassengerOff()创建下称线程。

确定要设计的过程、构件、类、对象、函数和它们的参数,要给出具体的名称和参数及其解释。

由Driver类调用BusState类的stopCar()和runCar()方法,由Conductor类调用BusState类的openDoor()和closeDoor()方法,实现同步互斥。

由PassengerOn类调用Seat类的takeOn()和hasOn()方法,由PassengerOff类调用Seat类的takeOff()和hasOff()方法,实现上下车线程的同步和互斥

5编码设计

5.1开发环境的设置和建立

首先安装JDK,如下图:

然后安装Netbeans,并关联JDK:

5.2程序设计过程只需要注意的事项

实现同步互斥的方法应成对出现,防止出现死锁状态;互斥信号应定义清晰,以用于互斥方法的实现;线程的创建和指针传递清晰明确,用于线程之间的交互。

5.3关键构件和插件的使用

Netbeans的使用与一般编程软件接近,但是它包含了很多强大的插件,利用其中的插件我们可以简单的实现很多复杂的功能,例如在本次试验中

恶我们程序的可视化窗口的建立就是利用如下组建实现的。

5.4主要程序的代码设计及注释

BusState类主要源代码: public class BusState {

public static boolean doorClosed=false;

public static boolean busStopped=true;

//获取输出框指针

private static JTextArea bSay;

public static void getBusSay(JTextArea b)

{

bSay=b;

}//获取输出框指针

public synchronized void stopBus()

{

busStopped=true;

bSay.setText(“车已停”);

this.notify();

}

public synchronized void runBus()throws InterruptedException

{

while(!doorClosed)

{

this.wait();

busStopped=false;

}

}

public synchronized void closeDoor()

{

doorClosed=true;

bSay.setText(“门已关”);

this.notify();

}

public synchronized void openDoor()throws InterruptedException

{

while(!busStopped)

{

this.wait();

doorClosed=false;

}

}

} package ysu;

import java.util.logging.Level;import java.util.logging.Logger;

Conductor类的主要源代码: public class Conductor extends Thread{

//获取主窗口指针

private static BusJFrame bj;

public static void getBusJFrame(BusJFrame b)

{

bj=b;

}

//获取BusState类的指针

private static BusState bState;

public static void getBusState(BusState b)

{

bState=b;

}

//获得一个Driver进程类的指针

private static Driver dr;

public static void getDriver(Driver d)

{

dr=d;

}

//用于创建On和Off类

private void createOn()

{

Thread a=new PassengerOn();

a.start();

}

private void createOff()

{

Thread b=new PassengerOff();

b.start();

}

private boolean timeToQuit=false;

private int station=0;

public static boolean finish=false;

public void run()

{

while(!timeToQuit)

{

try {

bState.openDoor();

bj.busSay.setText(“门已开”);

Thread.sleep(1000);

bj.busSay.setText(null);

bj.conductorSay.setText(“请抓紧时间上下车”);

Thread.sleep(2000);

bj.conductorSay.setText(null);

bj.busSay.setText(“开始上下车”);

Thread.sleep(2000);

bj.busSay.setText(null);

Seat.doorAvailable=true;

if(Seat.willOn>(Seat.seatRemain+Seat.willOff))

{

Seat.canOn=Seat.seatRemain+Seat.willOff;

}else

{

Seat.canOn=Seat.willOn;

}

//统计本次出车载客人次数

Seat.totalPassenger=Seat.totalPassenger+Seat.canOn;

//创建上下车乘客的进程

for(int i=0;i

{

坐下班客车“);

createOff();}

for(int i=0;i

createOn();} if(Seat.canOn==0&&Seat.willOff==0){

finish=true;}else {

finish=false;//等待上下车完成 } while(!finish){Thread.sleep(100);} if(Seat.canOn

bj.busSay.setText(”很抱歉n本车已满n欢迎乘

Thread.sleep(2000);} Seat.doorAvailable=false;Seat.hasOn=0;//清零,防止出现累加 Seat.hasOff=0;

bj.busSay.setText(“上下车完毕”);

bj.seatRemain.setText(“"+Seat.seatRemain);

bj.seatUsed.setText(”“+Seat.seatUsed);

station++;

if(station>Seat.totalStation)

{

timeToQuit=true;

Driver.timeToQuit=true;

break;

}

Thread.sleep(2000);

bj.busSay.setText(null);

bj.conductorSay.setText(”关门了“);

Thread.sleep(2000);

bj.conductorSay.setText(null);

bState.closeDoor();

Thread.sleep(1000);

} catch(InterruptedException ex){

Logger.getLogger(Conductor.class.getName()).log(Level.SEVERE, null, ex);

}

try {

Thread.sleep(200);

} catch(InterruptedException ex){

Logger.getLogger(Conductor.class.getName()).log(Level.SEVERE, null, ex);

}

}

bj.conductorSay.setText(”终点站到了n谢谢乘坐本车n再见“);

bj.willOff.setText(”“+0);

bj.willOn.setText(”“+0);

BusJFrame.sumrizeAvailable=true;

dr.stop();

} } /* * To change this template, choose Tools | Templates * and open the template in the editor.*/ package ysu;import java.util.logging.Level;import java.util.logging.Logger;Driver类主要源代码:

public class Driver extends Thread{

//获取主窗口指针

private static BusJFrame bj;

public static void getBusJFrame(BusJFrame b)

{

bj=b;

}

//获取BusState类的指针

private static BusState bState;

public static void getBusState(BusState b)

{

bState=b;

}//获取BusState类的指针

public static boolean timeToQuit=false;

public void run()

{

while(!timeToQuit)

{

try {

bState.runBus();

Thread.sleep(1000);

bj.driverSay.setText(”出发“);

已有的人

人数

bj.nowNextSation.setText(”下一站“);bj.nextStation.setText(”第“+(++Seat.nextStation)+”站“);int a=(int)(Math.random()*10);//下车人数不能多于车上if(Seat.seatUsed

Seat.willOff=Seat.seatUsed;}else {

Seat.willOff=a;} //提前创建下一站要下车的人数 if(Seat.nextStation==Seat.totalStation){

Seat.willOn=0;

Seat.willOff=Seat.seatUsed;}else {

Seat.willOn=(int)(Math.random()*10);//生成上车的} bj.willOff.setText(”“+Seat.willOff);bj.willOn.setText(”“+Seat.willOn);bj.busSay.setText(null);Thread.sleep(2000);bj.driverSay.setText(null);

bj.busSay.setText(”客车行驶中“);

Thread.sleep(3000);

bj.busSay.setText(null);

bj.driverSay.setText(”到站了“);

bj.nowNextSation.setText(”本站“);

Thread.sleep(1000);

bj.driverSay.setText(null);

bj.busSay.setText(”车已停“);

Thread.sleep(1000);

bState.stopBus();

Thread.sleep(1000);

} catch(InterruptedException ex){

Logger.getLogger(Driver.class.getName()).log(Level.SEVERE, null, ex);

}

}

} } Seat类的主要源代码: /* * To change this template, choose Tools | Templates * and open the template in the editor.*/ package ysu;/** * * @author Administrator */ public class Seat {

public static int totalStation=4;

public static int totalPassenger=0;

public static int totalSeat=30;

public static int stationName=10;

public static int busName=30;

public static int seatTotal=30;

public static int seatRemain=30;

public static int seatUsed=0;

public static int willOff=0;

public static int willOn=0;

public static int canOn=0;

public static int hasOn=0;

public static int hasOff=0;

public static int nextStation=0;

public static boolean doorAvailable=true;

public static void reset()

{

totalStation=12;

totalPassenger=0;

totalSeat=30;

stationName=0;

busName=30;

seatTotal=30;

seatRemain=30;

seatUsed=0;

willOff=0;

willOn=0;

canOn=0;

hasOn=0;

hasOff=0;

nextStation=0;

doorAvailable=true;

}

public synchronized void takeOn()throws InterruptedException

{

while(!doorAvailable||hasOff

{

this.wait();

}

doorAvailable=false;

hasOn++;

seatUsed++;

seatRemain--;

}

public synchronized void takeOff()throws InterruptedException

{

while(!doorAvailable)

{

this.wait();

}

doorAvailable=false;

hasOff++;

seatUsed--;

seatRemain++;

}

public synchronized void hasOff()

{

doorAvailable=true;

this.notifyAll();

if(Seat.hasOff==Seat.willOff&&Seat.canOn==0)

{

Conductor.finish=true;

}

}

public synchronized void hasOn()

{

doorAvailable=true;

this.notifyAll();

if(Seat.hasOn==Seat.canOn)

{

Conductor.finish=true;

}

} } PassengerOn类的主要源代码如下: /* * To change this template, choose Tools | Templates * and open the template in the editor.*/ package ysu;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author Administrator */ public class PassengerOn extends Thread{

//获得Seat类的指针

private static Seat seat;

public static void getSeat(Seat s)

{

seat=s;

}

//获取主窗口指针

private static BusJFrame bj;

public static void getBusJFrame(BusJFrame b)

{

bj=b;

}

@Override

public void run()

{

try {

Thread.sleep(100);

} catch(InterruptedException ex){

Logger.getLogger(PassengerOn.class.getName()).log(Level.SEVERE, ex);

}

try {

seat.takeOn();

} catch(InterruptedException ex){

Logger.getLogger(PassengerOn.class.getName()).log(Level.SEVERE, ex);

}

bj.busSay.append(”第“+Seat.hasOn+”人已经上车n“);

bj.seatUsed.setText(”“+Seat.seatUsed);

bj.seatRemain.setText(”“+Seat.seatRemain);

bj.willOn.setText(”“+(Seat.canOn-Seat.hasOn));

bj.willOff.setText(”“+(Seat.willOff-Seat.hasOff));

try {

Thread.sleep(2000);

} catch(InterruptedException ex){

Logger.getLogger(PassengerOn.class.getName()).log(Level.SEVERE, ex);

null,null, null,}

seat.hasOn();

} } PassengerOff类的主要源代码如下: /* * To change this template, choose Tools | Templates * and open the template in the editor.*/

package ysu;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author Administrator */ public class PassengerOff extends Thread{

//获得Seat类的指针

private static Seat seat;

public static void getSeat(Seat s)

{

seat=s;

}

//获取主窗口指针

private static BusJFrame bj;

public static void getBusJFrame(BusJFrame b)

{

bj=b;

}

@Override

public void run()

{

try {

Thread.sleep(100);

} catch(InterruptedException ex){

Logger.getLogger(PassengerOff.class.getName()).log(Level.SEVERE, ex);

}

try {

seat.takeOff();

} catch(InterruptedException ex){

Logger.getLogger(PassengerOff.class.getName()).log(Level.SEVERE, ex);

}

bj.busSay.append(”第“+Seat.hasOff+”人已经下车n“);

bj.seatUsed.setText(”“+Seat.seatUsed);

bj.seatRemain.setText(”“+Seat.seatRemain);

bj.willOn.setText(”“+(Seat.canOn-Seat.hasOn));

bj.willOff.setText(”"+(Seat.willOff-Seat.hasOff));

try {

Thread.sleep(2000);

} catch(InterruptedException ex){

Logger.getLogger(PassengerOff.class.getName()).log(Level.SEVERE, ex);

}

seat.hasOff();

} }

null,null, null,5.5解决的技术难点、经常犯的错误

理清司机与售票员之间的同步互斥关系和用于实现互斥的变量和放法,理清上下车乘客的同步互斥关系的变量与方法,确定司机、售票员、上下车乘客同步互斥变量;

出现的错误有:互斥变量的使用,设计的位置不当,实现同步互斥的方法位置不当,最初的逻辑构架关系不对,以上错误经认真斟酌、校验,均已解决。

6测试

在已经安装JDK的操作系统中双击可执行文件,进入公交车模拟系统,可以根据菜单或者快捷键进行操作。

点击开始,系统中显示客车次、总站台数等等,如图:

上下车人员按先下后上进行上下车,如图:

当到达终点站时,车上乘客必须全部下车,不允许上车操作,如图:

当到达终点站,进行下车完毕后,点击统计,可以查看本次出车载客人次,如图:

点击退出即可退出公交车模拟系统。

7.总结

突出特地:简单、易操作。完整地表示了行车与开门的同步互斥,下车与上车的同步互斥。

经验、教训和感受:

总体说来,这次OS课程设计是一次很有趣味的历程。实验期间安装了Netbeans并参考了一些基础书籍,对Netbeans的基本操作和特性有了必须的了解,为课设的开展打下了一个最简陋的基础。实验题目涵盖面较广,需要广泛的查阅资料,以及开动脑筋独立解决种种问题。Netbeans并不是易于使用的系统,因此在实验过程中也自然的遇到了许许多多“稀奇古怪”的问题,同时又在解决与理解问题中对这个系统一个个精妙的强大的设计感叹不已。

与其他同学的交流也是这次课设中有意思的地方。本班解决生产者消

费者问题和公交车模拟问题的同学几乎各占一半,于是在讨论的过程中也对不同的设计风发之间的差异有了更深的认识。从同学那里获得帮助,帮助别人解决问题,自己都受益匪浅,也在这样的氛围中越来越感觉到应用编程与开发的乐趣。

在完成的源代码中还存在相当多的不足,例如图形显示的Bug,忽略文件属性控制等等。需要在以后的学习与工作中更加努力的改进。这次的OS课程设计,也为我们提供了一个锻炼与审视自身能力的机会,意义匪浅。

8.参考文献

Netbeans-JAVA桌面、WEB与企业级程序开发详解 吴亚峰 王鑫磊著

人民邮电出版社

JAVA语言程序设计

郎波 著

清华大学出版社

第四篇:公交车调度系统解决方案

[公交车调度系统解决方案] 联系电话:***

联系QQ:100816410

一、需求分析

随着我国国民经济的飞速发展,城市建设日新月异,城市交通问题日益严重,已成为严重影响许多大中城市发展的重点问题之一。由公共交通客运量大、相对投资少、占有资源少、效率高、污染相对较少、人均占用道路少等优点。近年来,各地政府领导及交通管理部门都大国发展公共交通,改善城市交通。然而要想使得城市公交发展步入快车道,就迫切需要建设一个符合公交系统实际应用的智能化调度管理系统,通过技术集成,形成新的系统概念和系统功能,提高交通和管理部门的管理水平,向管理要效益,要资源。针对行业管理难题,制定了一套完整的公交车的GPS解决方案,可以实时记录车辆状态信息,包含车辆的具体位置,行驶方向,行驶速度,停车时间,停车地点,历史信息回放,里程统计等功能。GPS系统已经率先为汽车租赁行业的科学化管理进行实践,实现了与多种现代化技术手段的有机结合,很好地解决了制约我国汽车租赁业发展的难题。公交车辆管理调度的特点是:

高精度定位车辆的具体位置、行驶方向、行驶速度——规避租车风险

轨迹回放:可调阅被控车辆历史行程、轨迹记录——有效分析行车路线远程控制车辆:特殊情况下通过监控中心对被控车辆远程进行断油断电、锁车——保障汽车安全

对系统响应要求灵活、及时

车辆信息统一管理:车辆资料有序存档、方便查询

我们提出既满足GPS监控系统的需求,又无必要建设和维护一个大型的系统,而且对功能的要求相对简单、实用的方案。

二、系统概念

GPS车辆监控调度系统是集全球卫星定位系统(GPS)、地理信息系统(GIS)以及无线通信技术于一体的软、硬件综合系统。主要由三部分组成:监控中心软件系统、无线数据链路和GPS车载终端。可对移动车辆进行统一集中管理和实时监控调度指挥。GPS车辆监控调度系统利用电脑通过INTERNET,监控范围可以随着目标移动、放大、缩小,使目标始终保持在屏幕上,实现多窗口、多车辆、多屏幕同时追踪;GPS满足了车辆的安全、快捷、准确的需求,提高了车辆服务能力、人员利用率、规范科学化管理水平及降低车辆的油耗、人员成本。

三、方案特点

系统利用GPS导航定位技术、GSM移动通信技术、GIS地理信息技术和计算机及网络技术,成功地为构造了一个可以覆盖全国的多层次的GPS车辆监控服务的系统,利用电脑通过INTERNET,监控范围可以随着目标移动、放大、缩小,使目标始终保持在屏幕上,实现多窗口、多车辆、多屏幕同时追踪;GPS满足了车辆的安全、快捷、准确的需求,提高了车辆服务能力、人员利用率、规范科学化管理水平及降低人员成本。

四、系统功能简介

车辆定位查询

GPS卫星定位管理系统建立起了租赁公司与移动资产之间迅速、准确、有效的信息传递通道。租赁公司可以随时掌握移动资产状态。同时,可以根据需要对车辆进行远程控制。隐秘跟踪式GPS卫星监控车载终端,安装此终端的车辆或设备将连续发送工作信号和位置信息到管理中心。

越界报警

租赁公司可以设定租赁车辆或设备的运行界限,当车辆或设备超出界限时,将自动向监控中心发出 车辆越界报警,中心将自动对车辆进行实时跟踪。紧急报警

当油罐车辆遇劫时,可触发隐蔽式的报警按钮向中心报警,总控中心在地图上将对该移动目标进行相应的色彩及图标的突出显示并以声、光报警提醒值班员注意,同时在屏幕上显示出该移动目标的用户资料,包括车辆信息(车辆编号、车牌号、车型、颜色、发动机号)、驾驶员信息(司机名、驾驶证号、行驶证号、联系电话)、联系方式(所属单位、负责人、电话)、车辆状态(车辆位置、方向、速度、时间)等信息,帮助值班员进行警情处理。能提供警情受理记录窗,供值班员记录受理情况。

超速报警

为确保行车安全,监控中心可以提示司机注意行车安全,控制行车速度,从而降低事故风险。

轨迹记录/回放

系统可将被监控车辆或设备的运行轨迹自动记录下来,选定某车某时间段的位置记录进行轨迹回放,为事后的分析或处理纠纷提供可靠的证据。

车辆信息统一管理

建立各类数据系统,包括:用户数据管理系统、车载终端管理系统、协助单位管理系统、值班员管理系统、警情管理系统、录音管理系统等,并进行存储,可提供查询、回放、打印等功能。

五、系统效应

统一调度:提高车辆管理效率

超速报警:确保行车安全

定位跟踪、实时监控,有效规避风险

消除隐患,降低风险系数

远程遥控,断油断电,保证行车安全

轨迹记录/回放,协助事后追车,降低公司损失

第五篇:自动售货机系统程序

Coin类:

#include #include #include

using namespace std;

class Coin { public: /** Constructs a coin with a given name and value @param n the coin name @param v the coin value */ Coin(string n, double v);/** Gets the coin name.@return the name */ string get_name()const;/** Gets the coin value @return the value */ double get_value()const;private: string name;double value;};

Coin::Coin(string n, double v){ name = n;value = v;}

string Coin::get_name()const { return name;}

double Coin::get_value()const { return value;}

Product类: #include #include #include

using namespace std;

class Product { public: /** Constructs a product with a given name, price and quantity @param n the product name @param p the price @param q the quantity */ Product(string n, double p, int q);/** Gets the product name @return the name */ string get_name()const;/** Gets the product price @return the price */ double get_price()const;/** Gets the product quantity @return the quantity */ int get_quantity()const;/** Adds to the product quantity @param amount the amount to add */ void add_quantity(int amount);private: string name;double price;int quantity;};

Product::Product(string n, double p, int q){ name = n;price = p;quantity = q;}

string Product::get_name()const { return name;}

double Product::get_price()const { return price;}

int Product::get_quantity()const { return quantity;}

void Product::add_quantity(int amount){ quantity = quantity + amount;}

VendingMachine类:

class VendingMachine { public: /** Constructs a vending machine with no current product selection.*/ VendingMachine();/** Adds product to the machine.@param p the product to add */ void add_product(Product p);/** Sets the currently selected product @param name the product name @return true if the machine has a product with the given name */ bool select_product(string name);void chaxun_product();//查询当前售货机内的商品

/** Adds a coin to pay for the currently selected product.@param c the coin to add @return true if sufficient coins have been added to pay for the selected product.*/ bool add_coin(vector current_pay);/** Removes all coins that were added to pay for the current product.@return the value of the returned coins */ double return_coins();/** Removes all money that was paid for products.@return the value of the money */ double remove_money();double add_coinbijiao(vector current_pay);//对投入的金钱和所购买的商品的价格进行比较

double return_yiyoucoins();//统计售货机中已有的货款 void setcurrent_product();//把当前选择的商品代号置为-1 int getcurrent_product();//得到当前选择的商品代号 private: vector

products;int current_product;vector current_payment;vector coins;};

VendingMachine::VendingMachine(){ current_product =-1;}

void VendingMachine::add_product(Product p)//添加商品 { for(int i = 0;i < products.size();i++){ if(products[i].get_name()== p.get_name()&& products[i].get_price()== p.get_price()){ products[i].add_quantity(p.get_quantity());cout<<“添加成功!”<

{

cout<<“已存在该商品,与您输入的价格不同!”<

return;

} } products.push_back(p);cout<<“添加成功!”<

bool VendingMachine::select_product(string name)//选择商品 {

int i;for(i = 0;i < products.size();i++){

if(products[i].get_name()== name && products[i].get_quantity()> 0){ current_product = i;return true;} else { if(products[i].get_name()== name && products[i].get_quantity()== 0){ cout << “对不起,该商品已售完!n”;return false;} } } if(i==products.size()){ cout<<“对不起,不存在该商品!”<

double VendingMachine::return_yiyoucoins()//统计售货机当前的金钱总额 { double total = 0;for(int i = coins.size()1;i >= 0;i--){ coins.push_back(current_payment[i]);current_payment.pop_back();} products[current_product].add_quantity(-1);current_product =-1;cout<<“交易成功!”<

{ return false;} }

double VendingMachine::add_coinbijiao(vector current_pay){ if(current_product ==-1)return false;double total = 0;for(int k=0;k < current_pay.size();k++){ total = total + current_pay[k].get_value();

} double m=products[current_product].get_price()-total;if(m>0)return m;else return-1;}

double VendingMachine::return_coins()//统计当前投入的金钱总额 { double total = 0;for(int i = current_payment.size()1;i >= 0;i--){ total = total + coins[i].get_value();coins.pop_back();} return total;}

void VendingMachine::chaxun_product(){

if(products.size()==0){ cout<<“暂时没有添加商品!”<void VendingMachine::setcurrent_product(){ current_product=-1;}

int VendingMachine::getcurrent_product(){ return current_product;}

Main函数:

#include #include #include #include“coin.h” #include“product.h” #include“machine.h” using namespace std;

void main(){ vector coins;vector current_pay;coins.push_back(Coin(“nickel”, 0.05));coins.push_back(Coin(“dime”, 0.1));coins.push_back(Coin(“quarter”, 0.25));coins.push_back(Coin(“rmb”, 1.00));

VendingMachine machine;bool more = true;machine.chaxun_product();while(more){ cout << “a)添加商品 x)查询商品 s)选择商品 p)投币 c)取消 e)查询当前金额 r)取款 q)退出: ”;string command;cin>>command;if(command == “a”){ cout << “商品名: ”;string name;cin>>name;

cout << “价格: ”;double price;cin >> price;cout << “数量: ”;int quantity;cin >> quantity;machine.add_product(Product(name, price, quantity));} else if(command == “s”){

double total1;

total1=machine.return_yiyoucoins();

if(total1>=5000)//当售货机中的货款大于等于5000时,暂停售货

{

cout<<“对不起,现在暂停售货!”<

}

else

{ machine.setcurrent_product();cout << “商品名: ”;string name;cin>>name;machine.select_product(name);

} } else if(command == “p”){

if(machine.getcurrent_product()!=-1)//如果当前已选择商品,才可以投币

{ bool panduan=false;while(!panduan)//多次投币的实现

{ cout << “所投钱币名称(以 # 结束投币过程):”;string name;cin>>name;while(name!=“#”){ bool found = false;for(int i = 0;!found && i < coins.size();i++){ if(coins[i].get_name()== name){ current_pay.push_back(coins[i]);found=true;} } if(!found){ cout << “不存在该货币,请重新投入:n”;} cin>>name;

}

double k=machine.add_coinbijiao(current_pay);if(k==-1)

{ machine.add_coin(current_pay);for(int i = current_pay.size()1;i >= 0;i--){ total = total + current_pay[i].get_value();current_pay.pop_back();} cout << “Returned(退还)” <

else

cout<<“您还没有选择商品!”<

{

machine.setcurrent_product();

double total=0;

for(int i = current_pay.size()1;i >= 0;i--){ total = total + coins[i].get_value();coins.pop_back();} return total;}

void VendingMachine::chaxun_product(){

if(products.size()==0){ cout<<“暂时没有添加商品!”<void VendingMachine::setcurrent_product(){ current_product=-1;}

int VendingMachine::getcurrent_product(){ return current_product;} }

JAVA

import Input.touqian;import java.*;class shangpin {

} class fenpeiqi {

}

class xianshichanpin {

fenpeiqi fpq[]=new fenpeiqi[3];public xianshichanpin(){

fpq[0]=new fenpeiqi(3.0);fpq[0].sp[0]=new shangpin(“玉米烤肠

”,10);fpq[0].sp[1]=new shangpin(“可口可乐

”,15);fpq[0].sp[2]=new shangpin(“百事可乐

”,10);fpq[1]=new fenpeiqi(5.0);fpq[1].sp[0]=new shangpin(“哈德门香烟”,10);fpq[1].sp[1]=new shangpin(“将军香烟

”,15);fpq[1].sp[2]=new shangpin(“红梅香烟

”,10);fpq[2]=new fenpeiqi(10.0);fpq[2].sp[0]=new shangpin(“一支笔香烟”,10);fpq[2].sp[1]=new shangpin(“红塔山香烟”,10);fpq[2].sp[2]=new shangpin(“泰山香烟

”,15);double price;shangpin sp[]=new shangpin[3];public fenpeiqi(double price){ } this.price=price;String name;int num;public shangpin(String name,int num){

} this.name=name;this.num=num;

#“);#”);#“);#”);#“);

} } void show(){ System.out.println(”===============

System.out.println(“#

System.out.println(”#

System.out.println(“#

欢迎使用自动售货机

System.out.println(”#

System.out.println(“#

=================”);System.out.println(“===============

System.out.println();System.out.println(”编号tt“+”名称ttt“+”价格tt“+”数量t“);for(int i=0;i

} if(fpq[i]!=null){

} for(int j=0;j

} } if(fpq[i].sp[j]!=null){ =================”);System.out.println((i+1)*10+j+1+“tt”+fpq[i].sp[j].name+“tt”+fpq[i].price+“tt”+fpq[i].sp[j].num);System.out.println(“=============== } =================”);class panduan { boolean ying()

} {

} boolean zhi(){

}

int z=touqian.in();

if(z==5||z==10){ } else { } return false;return true;double y=touqian.dou();if(y==1||y==0.5){ } else { } return false;return true;class jiabi {

switch(touqian.in())void ceshi(){ System.out.println(“请选择投放钱的类型 ”);System.out.println(“1 表示投放 硬币”);System.out.println(“2 表示投放 纸币”);System.out.println(“请输入您选择的钱的类型 :”);

panduan pd=new panduan();

{ case 1:

System.out.println(“请您投入有效的面值”);

if(pd.ying())

{

System.out.println(“您投入的是有效地硬币”);

System.out.println();

// System.out.println(“^_^ 请选择您所需要的物品^_^”);

}

else

}

class chanpin {

{

System.out.println(“您投入的不是有效地硬币,请您重新投入”);

}

break;

case 2 :

System.out.println(“请您投入有效的面值”);

if(pd.zhi())

{

//

}

else

{

}

break;

default :

System.out.println(“请您重新投入有效地货币”);

} }

System.out.println(“您投入的不是有效的纸币,请您重新投入”);System.out.println(“您投入的是有效的纸币”);System.out.println();System.out.println(“^_^ 请选择您所需要的物品^_^”);

} } public static void main(String args[]){

System.out.println(“请输入您想要产品的编码:”);int bianma;bianma=touqian.in();System.out.println(“请输入您想要产品的数量:”);int shuliang;shuliang=touqian.in();System.out.println(“您一共要付:”);double sumjine;sumjine= xianshichanpin xscp=new xianshichanpin();xscp.show();

下载公交车自动报站系统设计的论文(全文5篇)word格式文档
下载公交车自动报站系统设计的论文(全文5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    公交车管理系统整体解决方案

    公交车管理系统整体解决方案 公交车管理系统能够时刻监测公交出行路线和运行状态,公交行驶路径轨迹一目了然,车辆业务管理系统帮您快速解决车辆难题。智百盛公交车管理系统界......

    区域气象自动监测系统设计及建设

    区域气象自动监测系统设计及建设近年来,气象综合观测系统建设快速发展,全国地面气象观测站已全部完成自动气象站的建设,区域自动气象站作为综合观测体系的重要组成部分具有量......

    自动搅拌机控制系统及其监控系统设计(推荐)

    图书分类号: 密 级: 毕业设计(论文) 自动搅拌机控制系统及其监控系统设计 AUTOMATIC MIXER CONTROL SYSTEM AND MONITORING SYSTEM DESIGN 毕业设计(论文) 学位论文原创性声......

    自动售货机的PLC系统设计[5篇范文]

    常工院毕业设计论文 自动售货机的PLC系统设计 摘要:本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为了几个程序块,然后分别对程序块进行编......

    城市公交车设计说明书

    YD6100GH城市公交车 乘客区数字化设计 专 业:机械设计制造及其自动化(汽车工程) 学 生:陆海英 指 导 教 师:陈靖芯 完 成 日 期:2006-6-7 扬州大学机械工程学院 中文摘要 随着城市......

    智能公交车管理系统功能需求

    1 系统功能设计 1.1 GIS功能 GIS功能模块包括地图服务、地图管理、检索、车辆实时显示、车辆跟踪功能、轨迹绘制、距离计算功能。 GIS模块数据流序列图gis服务器客户端GPS数......

    水文自动测报系统规范

    水文自动测报系统规范 1 总 则 1.0.1 为适应我国水文自动测报系统的发展,做好水文自动测报系统规划、设计、建设和运行管理,统一技术标准,特制定本规范。 1.0.2 本规范适用于......

    消防自动报警系统操作规程

    消防系统操作规程 1.消防设备为专用设备,采用不间断电源,如遇特殊情况需停电时,停电时间不宜超过1小时。 2.火警处理: 当发生火警时,首先应按“消音”键中止警报声。然后应根据......