气动打标机的原理及打标系统设计的研究_第1页
气动打标机的原理及打标系统设计的研究_第2页
气动打标机的原理及打标系统设计的研究_第3页
气动打标机的原理及打标系统设计的研究_第4页
气动打标机的原理及打标系统设计的研究_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

辽宁科技大学本科生毕业设计(论文)第页PAGE气动打标机的原理及打标系统的设计的研究摘要为适应全自动生产线上对产品打标记的要求,设计了一种可由计算机控制的自动打标机。其中气动打标机是广泛应用于汽车、摩托车、机械、航空等领域中的重要辅助工具,能够对产品的生产、使用等过程进行有效的管理和识别。目前,国外自动打标技术较为成熟,但价格昂贵,国内气动打标系统抗干扰性不强,精度容易丢失,操作不便。因此,研制一种经济适用、运行可靠、操作方便的气动打标机控制系统,该机具有选字灵活、体积小、安装方便、性能价格比高等优点。既具有一定的理论意义,又具有较大的实用价值。本文主要介绍了一套基于USB接口的气动打标机控制系统。这些自动打标机在实际生产中都取得较好的良好的打标效果,拥有广阔的发展前景。关键词:自动打标系统自动打标机的原理气动打标机基于USB接口气动打标机

AbstractBasedontherequirementsofautomatedproductlinesformarkingonworkpieces,anautomaticmarkingsystemwithcomputercontrolhasbeendesigned.Numaticmarkerisanimportantassistanttoolwidelyusedinthefieldsofauto,motor,achineandaeroindustry,anditcanmakeproductsbeeffectivelymanagedandidentifiedinmanufacturingandutilization.Atpresent,foreignpneumaticmarkertechnologyismorematurebutveryexpensive,whilethedomesticpneumaticmarkersystemisnotstrong,easytoloseaccuracyandoperationinconvenience。Therefore,developingapneumaticmarkercontrolsystemthatisaffordable,reliableandeasytooperatehassometheoreticalsignificanceandmoreracticalvalue.hemarkingdevicefeaturesagilecharacterselection,compactvolume,easyinstallationandexcellentcostperformanceratio.ThisstudyalsoshownthedevelopingofapneumaticmarkerwithUSBnterfacebasedonWindowsplatform.Theseautomaticmarkershaveobtainedgoodmarkingeffectinproductivity,whichhaveabroaderperspective.Keywords:automaticmarkingsystemthetenetsofautomaticmarkerpneumaticmarkerapneumaticmarkerwithUSBnterface

目录摘要: 1Abstract: 21绪论 51.1引言: 51.2气动打标机概述 51.2.1气动打技术 51.2.2气动打标系统的普遍工作原理 51.2.3气动打标机的系统组成及分析 71.2.4气动打标机的发展方问 82基于USB接口的气动打标机 92.1方案设计与系统工作原理 102.1.1系统工作原理分析 102.1.2系统方案的确定 102.1.3打标机控制器设计 112.1.4USB接口的气动打标机的系统功能 113打标机控制器及硬件设计 123.1控制器总体设计 123.2接口芯片 133.3单片机设计 143.4FPGA控制器设计 153.5运动控制方法 163.5.1插补运算 163.5.2升降频控制 194硬件电路设计 204.1通信电路 204.2核心控制电路 204.3电磁阀驱动电路 214.4步进电机驱动电路 224.5外部信号管理电路 235打标机控制软件设计 235.1软件总体设计 235.1.1软件功能需求分析 245.1.2总体设计 245.2VC++开发平台 255.2.1Windows编程模型 255.2.2VC++应用程序创建过程 265.3打标机控制软件主程序设计 265.3.1显示编辑 275.3.2记录查询 315.3.3数据通信 336打标机控制系统抗干扰设计 346.1硬件抗干扰设计 356.1.1抑制干扰源 356.1.2切断干扰传播路径 356.1.3提高敏感元件的抗干扰性能 356.2软件抗干扰设计 366.3通信抗干扰设计 367研究总结与前景展望 387.1研究总结 387.2前景展望 38致谢 40参考文献 411绪论1.1引言:打标又称为标记,是通过一定的技术手段在相关材料上标记出图案或文字.打标技术可以追溯到远古时期,传统的手工纂刻及早期的字模冲印,都是一些典型的标记手段.近年来,随着自动控制技术及计算机技术的飞速发展,涌现出来了多种新型的打标技术。这些新兴的打标技术以其速度快,图案精美、清晰,使用便捷等特点在市场上得到了广泛的应用.随着国际上产品质量认证体系的推广和普及,各类制造企业通过对打标技术的应用,提高了产品档次,树立了产品品牌形象,增强了产品的防伪作用,同时还为企业提供了产品的可追溯性,因此产品的包装也面临更大的挑战.目前,在以制造业为主的中国,随着经济的高速增长,打标产业市场已成为一项朝阳产业。1.2.气动打标机概述1.2.1气动打标技术气动打标是电磁阀控制压缩空气(0.2-0.7Mpa)驱动高硬度(>HRC92)标记针以较高频率(300次/秒左右)上下震动,同时,由计算机操作系统控制、驱动器控制步进电机带动标记针做二维运动,从而实现在工件上的标记.其标记的内容是由无数个标记针在工件上冲击的小点构成.这一点,与针式打印机的打印过程有部分类似。气动打标具有成本低(目前单机价格1万元左右)、操作维护简单、应用领域广泛,标记深度深、便于计算机系统或网络控制的特点.是目前应用较为广泛的一种标记技术。1.2.2气动打标系统的普遍工作原理自动打标机的核心是自动打标系统,其主要由计算机控制系统、步进电机电源、定位步进电机、选字步进电机、气缸、字模及工件组成,其结构组成如图1所示[1]。各运动控制部分都装有光电传感器,预置了初始位置。一通电,系统重新校正各部分的定位,计算机控制系统发出初始化信号,控制定位步进电机、选字步进电机和气缸到起始位置.为下一步工作作准备。开始工作时,计算机控制系统接受信息并发出指令(脉冲数及电机运转方向),接通步进电机电源,控制定位步进电机实现打标头的横向定位,从而将打标头移动到打字位置.控制选字步进电机把所要求的字模转到规定位置,完成后,计算机控制系统控制气缸动作,气缸冲击字模,把字符打到工件上,从而完成一个标记的打印,气缸退回。循环进行,直到一个工件的标记全部打完后,选字步进电机和定位步进电机回到初始位置.重新定位,以消除系统间断运转所引起的累计误差。气动打标机工作时,气动打标机可固定在需要打标标记产品的流水线或专用夹具上,然后连通压缩空气源.通过专用打标软件预先编辑打标内容,并与控制机箱相连.气动打标机连通来自计算机控制信号,当计算机接到来自Y原点控制开关和X原点控制开关的信号后,即输出信号控制安装在步距细分拖动机构上的Y行程步进电机、X行程步进电机.首先将所有工位复位到原始位置,然后上料系统将工件送入打标工位,同时夹紧气缸将工件夹紧,X,Y轴向需要打印的第一点位置运动,运动到位后,Z轴向下运动并且打标头向下冲击,打上一个点,打完一个点后,打标头缩回,此时X,Y轴再向需要打印的第二点位置运动,到位后打标头打上第二个点,如此重复循环工作,带动标记头在驱动气源的配合工作下,采用高速冲击方式,形成字符,或图形点阵,直到打标完毕,从而完成在金属、塑料、玻璃、陶瓷等硬质材料上所需要的各种文字、号码、图形的标记打标.Fig1DiagramofControlSystem1.2.3气动打标机的系统组成及分析气动打标系统主要由:标记软件、标记头行走机构、控制机构、气动机构构成[2]。一是标记软件。目前气动打标系统与计算机的连接通常采用并口和USB接口两种连接方式。用户可通过标记软件制作出所需输出的文字或图案,一个完善的气动标记软件通常包含以下功能:(1)自动记忆功能:系统自动记忆设定的标记状态、打标格式、打标数据等各种信息,在下次开机时自动恢复上次关机时的状态,不需要初始化可立即工作。(2)工件存储功能:系统可以将建立好的不同格式工件以不同的文件名保存起来,方便的进行各种格式的标记。(3)模拟显示功能:工件的打标内容与打标位置在系统的主操作窗口中以1:1的比例显示出来,所见即所打,对于三轴的标记系统,系统可以三维的方式来显示所打标的内容。此外,还包括流水号自动递增、多种标记速度选择、自动日期等功能。二是标记头行走机构。标记头的行走包含垂直Z方向行走和水平X-Y方向行走。其中垂直Z方向行走调节的主要目的是根据工件尺寸大小来保持标记头与工件之间有合适的打标距离。距离过近或者过远都会对打印效果造成很大的影响。目前采用的多是通过旋转丝杆来带动固定在丝杆上的标记机构在垂直方向移动,旋转丝杆有手动和电动两种方式。目前采用较多的是手动方式。而电动调节方式以操作简单,定位精度高等特点,已开始被部分企业所采用。三是控制机构。控制机构由开关电源、控制板、驱动器、步进电机等部分组成,这一部分统称为控制箱。气动打标机机头通过多芯电缆及航插接头与控制箱相连。控制箱通过接口电路与计算机相连。控制箱接收计算机指令控制步进电机动作。当计算机接到来自Y原点控制开关和X原点控制开关的信号后,即输出信号控制安装在步距细分拖动机构上的Y行程步进电机、X行程步进电机,在驱动气源和气动打标头等部件的配合工作下,采用高速冲击方式,形成字符,或图形点阵。其中,驱动器的细分数,电压及控制板的相关参数均可根据打印要求做相关调节。四是气动机构。气动机构包含空气过滤器、电磁阀、标记针腔、标记针头等几部分组成。其中,空气过滤器对压缩空气进行净化,实现油水分离。控制箱控制电磁阀实现对压缩空气的控制,高质量的电磁阀可以确保标记字迹连续不缺笔。标记针腔有多种方式,它决定了标记针的运动方式。其中活塞式气动标记针腔,根除了传统气动标记头耗气量大、出针行程短、冲击频率低的设计缺陷,0.1Mpa的工作气压即可在玻璃上标记,使气动打标机的使用拓展到一个更广泛的应用领域。标记针采用高硬度合金材料磨制而成,其硬度一般大于HRC92。一个高品质的标记针对提高打印应用范围、提高打印质量起着重要的作用,早期的气动打标机多采用进口标记针头,近几年。国产化的标记针头的质量也的得到了显著的提高。但仍存在成本较高等问题。目前国际上正在开展通过离子表面注入技术实现对普通材料的变性研究如能实现,则可大幅度提高标记针的性能及成本,届时,气动打标记的应用将跨上一个新的台阶。1.2.4气动打标机的发展方问气动打标机是计算机技术、自动控制技术、机械设计技术、气动技术等多项报术综合交义的技术密集型产品.由于近年来这些相关的技术都得到了很大的发展,因此气动打标机技术也日趋完善.当前,国内外气动打标技术的发展主要有以下三个方向[3]①数字化、自动化20世纪so年代以来,气动打标机的数字化、自动化成为这一领域的研究热点,近年来,随着传感技术、电子技术、自动控制技术、计算机技术的发展,现代的打标机己经进入了计算机控制为主的时代.数字化自动化的具体表现有:打标过程实时监控和打标工件运行过程的监控(如对钢管在生产线上的监控);自动扫描、自动定位和跟踪检测技术在打标机系统中的应用;能够实时地、自动地修改和处理仟意复杂的图形和字符.②多功能、集成化在现代生产环境下,打标机不仅要能够进行单一形式的打标,还要实现功能多样化.比如:打标机既要能够打印标准字库中的字符,还要能够打印用户自行设计的字符图样,并且还能够在一定程度上对点阵字符的打印轨迹进行优化.传统的点阵打印是按照逐行或逐列扫描的顺序进行的,这样做电机的无效行程就较多,效率很低.如果能够将点阵字符轨迹进行优化,那么将获得较高的打印效率.这是打标机发展的一个重要方向.③结构简单化、操作界面人性化随着打标机集成化的提高,很多功能将集中在少数儿个模块中实现,气动打标机的结构也就相对变得越来越简单.简单化不仅仅体现在硬件的结构方面,同时也体现在软件方面,窗口式的操作程序、触摸屏等技术使打标机的各种操作更清楚、更容易掌握,这也是当前气动打标机技术发展的一个方向.而且,针对当前中国庞大的市场,各大打标机生产企业也紧紧抓住操作界面中文化这一课题,致力于开发符合国人操作习惯的操作界面.2基于USB接口的气动打标机传统的工业标记打印效率低、不美观、稳定性差、废品率高。气动、电动相结合的方式结构简单、成本低、速度快、可控性好.随着USB外设的普及,目前围绕在计算机周围的各式各样的连接线将有所改观,取而代之的是各种USB接口外设。同时,通过集线器或交换机扩展总线功能使普通用户能够非常方便地添加更多外设,无传统接口的计算机目前己成为现实[4]。针对不同的打印对象可以选择不同类型的气动打标机,且各种打标机的控制原理和方法各不相同,为此本文提出了一种基于USB接口的气动打标机控制系统方案其体系结构,整套控制系统包括硬件控制系统和控制软件。下面首先对控制器进行总体设计,得出控制器的系统结构,并分别对控制器中的关键部分—单片机和FPGA,进行设计。对本系统中FPGA所用插补运算和升降频控制两种控制方法进行介绍。最后对通信模块、核心控制电路、电磁阀驱动电路、步进电机驱动电路和外部信号管理模块电路进行设计。2.1方案设计与系统工作原理2.1.1系统工作原理分析用户输入要打印标记,系统根据所要标记的图形或文字的轮廓,经过主机中的打标控制软件处理,生成操作与画线指令,由主机的USB接口传输至由单片机和FPGA组成的控制器,并经过FPGA处理,形成步进电机的控制脉冲信号。发送控制信号到步进电机驱动器和高压气源电磁阀,受指令控制的步进电机驱动器驱动步进电机带动打印头在平面上按所标记的轮廓运动,驱动电磁阀标记轮廓的过程中作高频开关动作,从而实现了打印头在压缩空气作用下的高频冲击运动,在工件上打印出标记。另外,步进电机反过来将其位置及状态信息传给FPGA,由FPGA形成状态指令,并通过单片机反馈回打印控制系统,由打标控制系统进行综合,进而形成新的标记指令。2.1.2系统方案的确定通过对系统各个部分的分析,最后,我们确定了一个整体的设计方案,即:该系统由打标机控制器、打标机控制软件构成。打标机控制器,采用单片机与FPGA组合的控制方式,主要负责将上位机的指令转化为步进电机的控制脉冲以驱动电机和电磁阀,并将步进电机的状态信息反馈给上位机,选择CP2102接口芯片实现打标机的即插即用功能。打标机控制软件,主要实现打印机的系统设置,各种标记处理,打印显示,数据保存、通信,误差补偿、校正,外部数据接口等功能,在VC++6。0环境下开发。下图是系统设计的总体框图。图2.1总框图Fig2.1TotalBlockDiagram2.1.3打标机控制器设计打标机的控制器的性能的优劣直接影响打印质量,口前控制器核心主要由单片机实现,通过单片机收发打印指令、指令运算、生成步进脉冲,单片机的工作是相当繁重的,这样如果需要使打印速度与精度达到较高的水平,则需要一个性能较高的单片机芯片,并且单片机的程序的复杂度也同样需要提高,这将使系统的开发成本大大增加。近几年,FPGA得到了快速的发展,许多领域的电子设计都采用单片机与FPGA配合来实现.单片机的程序代码是顺序执行的,或者说是串行执行,而FPGA的代码是并行执行的,用FPGA执行指令运算和生成脉冲,将使单片机的处理仟务变得简单,选择低端产品就可以满足仟务要求,这样既提高了系统的运行速度,又降低了系统的设计成本,所以控制器选用单片机与FPGA的组合设计[5]。2.1.4USB接口的气动打标机的系统功能根据总体方案设计,对待开发的气动打标机归纳出如下功能:①参数管理功能实现系统参数的设置、保存、调用等。管理的参数有图形显示参数、刻印参数、打印方式等参数。②加工控制功能具有自动加工、手动连续或暂停/继续加工、手动设置刻印针头的参考点、急停等功能。系统根据加工控制指令和所设置的参数,进行插补计算,发送控制信号到步进电机驱动器和高压气源电磁阀,控制打印标记。③USB通信功能通过USB接口,实现上位机和单片机和FPGA的数据通讯。一方面将插补量和控制信息传递给单片机和FPGA;另一方面打标机状态信息和加工信息传至上位机。④打印演示功能图形化可视界面,显示和打印具有相同效果,在打印的同时演示打印路线。⑤图形管理功能按照用户要求,对所打印的气动打标机运动轨迹图形进行编辑操作,如字体变换等。此外可进行放大、缩小、旋转、移动和还原等图形变换操作。3打标机控制器及硬件设计3.1控制器总体设计控制器是标记打印机系统的硬件核心部分。它的主要功能是处理主机通过USB接口发送来的数据,传向步进电机,控制打印针在X、Y平面内运动,同时,控制器控制电磁阀,使打印针头作高频微冲击运动;将步进电机的位置和状态信息形成指令,再通过USB接口实时反馈到上位机。上位机的数据通过USB接口发送到控制器后,经过CP2102,将其转换为RS232信息流格式发送给单片机,如果该数据是画线指令或操作指令,发送该指令给FPGA;如果该数据是复位、停止的中断信号,则直接处理中断,并将处理的结果反馈给上位机。按钮指令包括复位和急停,由单片机直接处理。总结得出,CP2102完成USB/RS232数据转换工作;单片机主要完成与PC机通信、中断处理和FPGA控制的工作;FPGA主要完成指令处理及步进脉冲、步进方向和电磁阀控制等工作,其系统结构如图3.1。图3.1控制器系统结构图Fig3.1Controlsystemstructurediagram3.2接口芯片通用串行总线USB,它具有即插即用、传输速度快、通用性强、易扩展等优点。USB接口代替传统串行口已经成为整个行业的发展趋势。一般USB开发需要了解USB协议、固件编程、驱动程序开发等,这对很多开发者来说是既烦琐又不是必须掌握的。采用CP2102桥接器,可以无需改变现存系统固件,也无需编写驱动程序,只要具备一定的计算机应用程序的知识,就可以轻松开发出USB接口的产品。CP2102内部主要由USB收发器、电源管理器、48MHZ晶体振荡器等构成。USB收发器可以提供USB2。0规范下的全速物理接口。内含两个双数据缓冲区,一个是576字节接收缓冲区,另一个是640字节发送缓冲区,它们均用于USB数据与RS232数据的交换缓冲区。USB功能控制器包括串行接口引擎、USB协议引擎和收发缓冲控制器等的功能。提供六个控制脚(RTS发送请求、CTS线路畅通、DTR数据终端准备好、DSR数据准备好、DCD数据载波检测、RI响铃指示器[6]与同类产品相比,CP2102具有以下优点[7]:①具有较小的封装。CP2102为28脚SmmxSmmMLP封装。这在PCB上的尺寸就比竞争对手小30%左右。②高集成度。片内集成512字节EEPROM(用于存储厂家ID等数据),片内集成收发器、无需外部电阻;片内集成时钟,无需外部晶体。③低成本,可实现USB转串口的解决方案。CP2102的USB功能无需外部元件,而大多数竞争者的USB器件则需要额外的终端晶体管、上拉电阻、晶振和EEPROM。具有竞争力的器件价格,简化的外围电路,无成本驱动支持使得CP2102在成本上的优势远超过竞争者的解决方案。④具有低功耗、高速度的特性,符合USB2。0规范,适合于所有的DART接口(波特率为300bps~921。6kbps)。工业级温度范围为-40℃~85℃使用Cygnal免费提供的器件驱动程序,可以很容易地将CP2102实现一个有效的串口。电路板接到上位机的USB端口时,系统会提示发现新硬件,并要求安装驱动程序。双击从Silicon公司的官方网站上下载的CP2102的驱动程序CP210x_VCP_Win2K_XP文件,按照提示完成安装。安装完成以后,在系统设备管理器的“端口”里看见了“CP210xUSBtoDARTBridgeController(COM3)",即CP2102虚拟的那个COM口,即可以对这个串口进行操作。采用CP2102的最大优势在于开发者不必设计固件及驱动程序,总线枚举、数据收发与转换等全部由芯片自动完成。3.3单片机设计由于本系统的主要指令处理及步进脉冲形成由FPGA实现,所以单片机的处理能力要求不高,故我们选择美国ATMEL公司生产的AT89LV51单片机[7]。AT89LV51单片机是一种低电压、高性能的CMOS8位单片机,兼容标准MCS-51指令系统,提供许多高性价比的应用场合。每片AT89LV51提供一个全双工串行通信口,能够满足系统的串行通信要求。AT89LV51单片机内部有4K字节的Flash闪速存储器,它在出厂时已处于擦除状态,用户随时可对其进行编程,编程接口可接收高电压((+12V)或低电压(Vcc)的允许编程信号。低电压编程模式给用户提供在线编程的条件,方便用户编程和调试;高电压编程模式可以与通用的EPROM编程器兼容。本系统中,单片机所实现的功能较简单。程序首先进行单片机的初始化工作,接着程序进入到查询接口的循环中,当有数据到达时,程序对数据进行判断,如果该数据是画线指令或操作指令,发送该指令给FPGA;如果该数据是复位、停止的中断信号,则直接处理中断,并将处理的结果反馈给上位机。本系统单片机的程序设计流程图3.2图3.2单片机程序流程图Fig3.2AfdgSCMprogram该单片机ISP功能可方便厂家对产品的升级,通过ISP的下载线即可完成软件升级,而无需拆开设备。其次W78E516B的指令集同标准8052指令集完全兼容,它包含64k字节的主ROM<4k字节的辅助ROM,512字节片内RAM.足够用户用。3.4FPGA控制器设计FPGA的数据处理部分是控制器的关键环节,数据传输和整个控制器单元都集成在FPGA内部,它决定了系统的最终输出。FPGA是英文Field-ProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL,GAL,CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputB10Ck)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:①随着超大规模集成电路VLSI工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGA芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强。②FPGA芯片在出厂前全部都做过测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA的资金投入小,节省了许多潜在的花费。③用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件实现不同的功能。电路设计人员在很短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有较多改动时,更能显示出FPGA的优势。④电路设计人员使用FPGA进行电路设计时,不需要具备专门的集成电路IC深层次的知识,FPGA软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。本系统的FPGA设计采用了ALTERA公司的Cyclone系列产品EP1C3和QuartusII集成开发环境。Cyclone系列是ALTERA中等规模FPGA,EP1C3有2910个逻辑单元,支持接近5万门的设计,内嵌RAM共59904bits(约7。5Kbyte),可配置为用户程序RAM,也可以配置为双口RAM或FIFO全满足系统的设计要求[9]。FPGA功能总体设计框图如图3.3图3.3FPGA功能图框Fig3.3A3.5运动控制方法运动控制系统中,控制方法对于其实现不同的性能要求起着关键的作用。在FPGA中的控制方法主要包含插补运算和升降频控制两部分,下面对其分别进行阐述。3.5.1插补运算实际加工中有自由曲线、曲面、方程曲线和曲面体构成的复杂零件轮廓,还有一系列实验或经验数据表示的、没有表达轮廓形状的曲线方程的曲线,理论上,我们应该保证针头中心轨迹应与零件轮廓形状一致,但实际上,我们只能通过一系列的直线或圆弧去逼近它。插补的仟务就是根据进给速度的要求,在轮廓起点和终点之间计算出若干个中间点的坐标值。由于每个中间点计算所需的时间直接影响系统的控制速度,而插补中间点坐标值的计算精度又影响到系统的控制精度,所以插补算法对整个系统的性能指标至关重要。按照运算方式分,常用的插补方法有:逐点比较法、数字积分法、时间分割法、数字脉冲乘法器法、比较积分法等。不管是以哪一种方式实现插补,其基本原理都是相同的。在现场应用中,选取何种插补运算方法,我们可以用算法简便程度、插补精度高低、执行时间长短来评价。本设计采用逐点比较法,又称为区域判别法、代数运算法。它适合以步进电机为执行机构的开环数控系统。逐点比较法每走一步要进行以下4个步骤:①偏差判别:判别加工点对规定图形的偏离位置;②坐标进给:根据偏差判别的结果,决定控制沿哪个坐标进给一步,以接近直线;③偏差计算:计算出新加工点相对加工直线的偏差,作为下一步偏差判别的依据;④终点判别:判断是否到达终点,未到达终点则返回第一步,继续插补;若己到终点,则停止本程序段的插补。流程图如图3.4图3.4比较法工作循环图Fig3.4kingcyclemapofcomparisonbypoint逐点比较法可做直线插补和圆弧插补,两种插补的思想是一样的。下面给出直线插补的算法实现图3.5图3.5直线插补示原理Fig3.5interpolationprincipiumm(Xm,Ym))为动点,若m在OA直线上,则根据相似三角形关系可得:EQ\F(Xm,Ym)=EQEQ\F(Xe,Ye)(3.1)取Fm=YmXe-XmYe(3.2)作为直线插补的偏差式。若F=0,表明m点在OA直线上;若F>0,表明m点在OA直线上方的m处;若Fm<0,表明m点在OA直线下方的m处。从坐标原点出发,当Fm≥0时,应沿+X方向进给一步,走一步后新的坐标值为:Xm+1=Xm+1(3.3)Ym+1=Ym(3.4)Fm+1=Fm-Ym(3.5)当Fm<0时,应向+Y方向进给一步,走一步后新的坐标值为:Xm+1=Xm(3.5)Ym+1=Ym+1(3.5)Fm+1=Fm+Xe(3.5)其它三个象限的计算方法,可以用相同的原理获得。总之,插补计算过程就是:偏差判别,坐标进给,偏差计算,终点判别。3.5.2升步进电机有一技术参数是空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使打标机高速打印,脉冲频率应该有加速过程,即采用升降频控制。升降频控制方法很多,如线形升降频、S型曲线升降频、指数曲线升降频等。因FPGA的计算能力有限,本文采用线性升降频[8]。在线性速度变化下,可以将一段直线运动分解为加速、匀速和减速三段。加、减速步数在程序中重新计算后赋值。加速步数为总步数的一半,取整数。减速步数为总步数减去加速步数。最高频率也要根据计算后的加速步数通过计算重新赋值。加速方程是:f(t)=f0+at。己知启动频率f0(一般大于突跳频率)和加速度a(在加减速过程中保持不变),可对直线进行离散,求出对应的频率与时间间隔,转化成定时常数及脉冲数。将定时常数按升序排成一个表,按顺序方式查表得的数值作为软件定时器0的计数初值,就可以实现升速控制。反之则实现降速控制。因步进电机的电磁转矩和转速是非线性关系,因而加速度与频率也不是绝对的线性关系。所以它不能使步进电机在最短的时间内升到最高的频率,且保证力矩最大,适用于要求不太高的场合。4硬件电路设计整个硬件设计的原理图和PCB绘制均在Protel99SE环境下开发[9][10]。4.1通信电路实现USB/RS232转换功能,一方面从主机接收USB数据并将其转换为RS232信息流格式发送给单片机;另一方面可从RS232单片机接收数据转换为USB数据格式传送回主机,如图4.1图4.1USB接口电路Fig4.1interfacecircuit4.2核心控制电路单片机与FPGA采用总线方式连接,完成控制器的各种控制功能,如图4.2图4.2FPGA连接电路Fig4.2picturetweenSCMandFPGA4.3电磁阀驱动电路控制电磁阀工作主要考虑的是抗干扰设计,采用光电隔离控制。同时,在电磁阀两端并接续流二极管,消除开关继电器线圈时产生的反电动势干扰,如图4.3图4.3电磁阀驱动电路Fig4.3dianalvedrivecircuit4.4步进电机驱动电路对于输出给步进电机驱动器的方向和脉冲信号,则主要考虑的是驱动能力,电路如图4.4图4.4.电机驱动电路Fig4.4rectiondrivercircuit74HC14是6反向施密特触发器,使用74HC14一方面是增加驱动能力,另一方面是用来对输出信号进行波形整形,对干扰信号有一定的抑制作用。4.5外部信号管理电路控制器接收的外部信号有打印启动、急停、原点限位信号。它们都是由开关产生的简单的脉冲信号或电平信号。在外部其电路图如下:图4.5外部输入信号处理原理图Fig4.5diagramforexternalinputsignalprocessing由于外部开关触点核心部件为弹性金属片,因此不可避免的存在抖动,采用光电隔离控制。5打标机控制软件设计打标机控制系统是由软件和硬件组成的,逻辑上是一致的。所以一个系统功能的强弱。同一般的计算机系统的硬件和软件在不但取决于系统的硬件,也取决于系统的软件。5.1软件总体设计本章对气动打标机控制软件进行设计,首先根据软件需求进行总体设计,介绍了制软件的开发平台VC++,然后分别对主要模块包括显示编辑模块、记录查询模块、数据通信模块进行设计。5.1.1软件功能需求分析根据用户的实际需要,打标机系统控制软件应该满足以下主要功能:①显示编辑:用户可以根据需要在操作界面上输入想要打印的字符或者图形,也可以对自定义的字符图形进行编辑。②参数设置:对打印参数进行设置。③通信:根据制定的通信协议,实现控制软件和控制器之间的通信,从而达到控制下位机并实时反映下位机的工作状态的功能。④记录查询:用户能够根据需要保存和查询每日的标记内容及打标参数。5.1.2针对需求,软件总体结构设计如图5.1图5.1软件总体结构Fig5.1StructureIllistrationofMarkingSoftware5.2VC++开发平台本软件在VisualC++6。0环境下开发,我们首先来简单了解下VisualC++(简称VC++)开发平台。它是微软公司提供的强大、复杂的开发工具,借助其生成代码的向导,能快速生成可运行的Windows应用程序的外壳。VC++附带的基本类库,即MFC封装了大部分从前进行开发所用的API函数,己经成为许多C++编译器进行Windows开发的行业标准。5.2.1Windows编程模型Windows程序启动后,执行特定的仟务,其中最重要的是创建应用程序的主窗口,这个主窗口需要自己的代码来处理Windows发送给它的信息,所以Windows程序是通过来自操作系统的消息来处理用户的输入。Windows中的大部分消息是严格定义的,而且适用于所有的程序。例如,当创建一个窗口时,发送一个WM_CREAT消息;当用户按下鼠标左键时,会发送一个WM_LBUTTONDWON消息。Windows还对选定的窗口发送WM_COMMAND消息,以响应用户菜单的选择、对话框按钮的单击等操作,用户也可以定义自己的消息,并且能够由程序发送到桌面的仟何窗口,接收响应。Windows引入了一个名为图形设备接口(GDI)的抽象层。其中包含了一个重要的概念—设备环境(DC),它其实是一个对窗口的绘图属性保持跟踪的数据结构。Windows提供视频和打印机驱动程序。当应用程序进行显示或打印仟务时,就把设备环境映射到具体物理设备上,所以自己的应用程序不必知道系统连接的显卡和打印机的类型,不必进行硬件寻址,而只是调用GDI函数,发出适当的输入/输出指令即可。在进行Windows编程时,可以使用大量己经建立的格式在资源文件中存储数据。链接程序把二进制资源文件与C++编译程序的输出组合起来,生成一个可执行文件。资源文件可以包括位图、图标、菜单定义、对话框布局和字符串等等。一般情况下,使用所见即所得工具来编辑资源。例如,在布置一个对话框时,可以使用资源和可编辑框来选择需要在对话框中放置的元素(按钮、列表框等),并且用鼠标来确定元素的位置和大小[11]。5.2.2VC++应用程序创建过程VC++开发工具包含了两个完整的Windows应用程序开发系统。一个是只使用Win32API函数开发C++语言的Windows程序;另一个是在MFC类库应用程序框架范围内的C++编程。使用MFC类库编程接口也可以直接调用一些Win32函数。本课题采用了第二种方法进行应用程序的开发。在其他研究中,如无特殊说明一般指基于MFC类库的开发。应用程序创建过程如下:①生成不用编写代码的起始应用程序;②通过许多不同方法查看项口文件;③编辑源文件和包含文件;④建立应用程序的可视界面菜单和对话框;⑤编译和链接;⑥运行时调试应用程序。5.3打标机控制软件主程序设计本软件以Windows操作系统作为支撑平台,在VisualC++6。0环境下,运用现在常用的面向对象的软件开发方法,编程的单位是类。继承是软件复用的一种形式,它是一个可以扩展或者改进现有的类,从而创建新类的过程。新的类称为派生类,它和被继承的基类有相同的操作和属性,但通常添加了自身的数据成员和成员函数,扩展其自身的功能。不同类型的标记以及图形之间有很多共同的操作。例如日期类型和VIN号都属于字符类型的标记,它们有字符标记的共同点,都含有数字,刻印选择、拖动、编辑等等。但它们又有自己不同的地方,日期类型的标记只显示日期和时间格式类的字符串,而VIN号标记则只显示有数字字符,并且可以按照设定的规则在打印完成后加1。这些特点都是典型的继承关系,合理的设计各种类型的继承关系,将有助于减轻开发和维护难度。在打标机控制软件中,充分运用了面向对象的方法。下面就分别对控制软件主要完成的显示编辑、记录查询、数据通信功能进行设计。5.3.1显示编辑Entity类是各图元类的父类,在Entity类中定义了各图元类的公共的属性和方法,子类只要继承Entity类,就可以得到其拥有的属性和方法,同时也可以对继承的属性和方法进行扩充和完善。在CEntity类中,封装了各种标记的操作和属性,比如显示(Draw),取得所占据的矩形区域(GetRectRegion)、选择标记(SetSelected)以及各种移动(MoveTo)、旋转(SetRotate)等操作。大部分操作都作为虚函数定义,在派生类中完成其具体实现的功能。//编辑操作virtualvoidMove(PointptOffset);virtualvoidRotate(PointbasePt,floatangle);virtualvoidScale(PointbasePt,constfloatx_Scale,constfloaty_Scale);virtualvoidOffset(Pointpoint);//显示操作virtualvoidDraw(CVGSScrollView*pView);virtualCStringGetRunTimeClass(){return_T("CEntity");图5.2类设计结构图Fig5.2tureIllistrationofclasshierarchyObject类是所有MFC类的基类,Entity类直接派生自Object类。CPolyLine、CText、CBezier、CVectorGraph派生自Entity类,它们分别对应于多段线、文本、贝塞尔曲线和矢量图。CVIN、CDate、CNum派生自CText类,它们分别对应与VIN号、日期类型和数字类型。这些都是在本设计中用到的图元,每个图元类有其公共的属性和方法,这些属性和方法可以从它的父类Entity中继承得到,还有其自己的属性与方法,这些属性和方法可以在类定义中体现。以文本为例,列出其类定义:classText:publicCEntity如上所示,文本类从实体类中继承而来,并且拥有了实体类的属性和方法,同时我们还定义自己的属性和方法:BOOLCreate(CStringtext,CStringstrCharFontName,CStringstrChineseFontName,CStringstrTTFFontName,CPointbasePt);//新建字符voidMove(PointptOffset);//拖动字符上述操作都作为虚函数定义,在派生类中完成其具体实现的功能。下面我们就对本文所实现的TTF字体显示做介绍。由美国Apple公司和Microsoft公司联合开发的TrueType字库(TTF)已被用于windows中文版生成汉字字库。TrueType字体(TTF)以它优秀的设计思想及其所见即所得的输出效果脱颖而出。TrueType字体可被随意放大、缩小、旋转和变形而不影响字体的输出质量。它采用直线和B-样条(BEZIER-SPLINE)曲线来描述字体的轮廓,克服了以往点阵字体、笔划字体和向量轮廓字体的缺点。表现出强大的生命力。TrueType字库文件包含一个文件头和各索引表项列表,每一个表又包含一个表头和表数据。TTF字库文件是以表为基础的,每一个字库文件都是由几个必须表和几个可选表构成。下面主要对几个必须表的基本数据结构进行分析,分别表示如下:①首先来看CMAP表——CharactertoGlyphIndexMappingTable,该表是从Unicode编码到该字符在字形码表中位置的一个映射索引表。②关于Head表——Fontheader,在本表中需要从它的第49个字节开始的两个字节中查找indexToLocFormat(对于某一种字体它的indexToLocFormat是一定的)的两种格式属性,以便于在Loca应用。③关于Loca——IndexToLocation,该表就是对Head表中两种格式属性的分析:其一是short型,其二是Long型。④关于Glyf表——GlyphData的简称,Glyf表存储了所有关于该字符字模信息。根据上述分析,讨论对汉字的轮廓提取过程,对于给定的一个汉字以及其Unicode代码,它的提取过程包括如下几个步骤①对照CMAP表中Unicode码的分段区间,如果该Unicode值正好落在某一段内,则按照TTF的规定求取索引号(GlyphIndex)。该索引号是字符在字文件中的序号。②到Head表中找到indexToLocFormat,以确定偏移量在该字库文件是以short型格式存放,还是以long型格式存放。③根据第一步所得的GlyphIndex,到Loca表中取得该字符在字库文件中所在的位置。包括起始位置(即相对与文件头的偏移量Offsetl)和结束位置(即相对与文件头的偏移量Offset2),那么也就可以确定该字符字库文件中所占有的总长度Length=Offset2-Offsetl。最后就要根据Offset2和Offsetl,从字库文件中取出包含该字符的所有信息,并放在一个新的数组GlyfTab里。GlyfTab放的是具体的某一个字符的信息。表的结构,参照该结构进行如下的分析。表5.1如果NumberOfContours的值是大于0的,那么表示该字符是单一字符。否则的话,则说明该字符是一个组合字符。对于单一字符,可以直接按照表4.2所示的结构分析下面的数据,进行字符轮廓信息的提取;而对于组合字符,就要对该组合字符的每一个合成字符分别分析,然后再合成得到该组合字符的所有轮廓信息。表5.2其中,在数组endPtsofContours[n]中,n代表的是某字符所包含的轮廓的个数。endPtsofContours[i]数组,表示字符的第i个轮廓上最后一点的序号。需要强调的是xCoordinates[i],该数组存放的是X坐标的值,对于任意一个字符轮廓来说,除每一轮廓的起始点为绝对坐标值外,其余的都是相对于前一坐标的相对坐标值。对于yCoordinates[i],亦有同样的道理。该结构中最为关键的是对flags信息标志的解释。对于任意字符,理论上构成其轮廓的点数应该等于flag的个数,但是事实上,并非完全如此。这种情况,将在下面的flag结构中给以解释和说明。flags的数据结构如下:TypeDefStrueture{BoolOnCurve//某点在线,还是离线。1为在线,0为离线BoolXshotVector//确定x所占字节数BoolYshotVector//确定y所占字节数BoolRepeat//确定flag是否重复BoolXisSame//确定x坐标值Boo1YisSame//确定y坐标值Flaglist}其中,OnCurve是判断构成字符的某点是否在字体轮廓线上。如果在轮廓线上,那么OnCurve为True;否则,OnCurve为False。XshotVector代表的是X坐标所占的字节数,如果为True,表示X坐标占一个字节长度;否则X就要占两个字节数。YshotVector代表的意义同XshotVector。Repeat表示如果为True,则说明下一字节数值为当前flag将要重复的次数。因此flag的数目,可能要比字符轮廓上的坐标点数要少。XisSame有两种含义,取决于XshotVector的设置:1)当XshotVector为True时,则XisSame代表的是X的正负:XisSame为True,就表示X为正;否则,X为负;2)当XshotVector为False,如果XisSame为True,则当前的X值与其前一点的X值相等,否则,则当前的X值是一个16位的有符号的Delta矢量。YisSame解释同上,只不过是对Y坐标值进行相同的操作而已。通过上面的流程,我们就能够得到全部由直线段构成的曲线描述。显示结果如下图。图5.3TTF字库中读取的矢量汉字Fig5.3VectorChinesecharactersreadinTTFcharactertoreroom5.3.2记录查询该模块用于保存和查询标记内容及打标参数。本设计将数据保存在本地数据库中。考虑到实际数据量不会很大(一般在IO万条记录以内),数据库选用MSACCESS数据库来保存。VC++作为一个功能非常强大的可视化应用程序开发工具,是计算机界公认最优秀的应用开发工具之一。VC++6。0提供了多种数据库访问技术一一ODBC,DAO,OLEDB、ADO等。①ODBC(OpenDatabaseConnectivity)ODBC是为数据库应用程序访问关系型数据库时提供的一个统一接口,对于不同的数据库,ODBC提供了一套统一的API,使应用程序可以访问仟何一种提供了ODBC驱动程序的数据库。而且ODBC已经成为一种标准,所以口前所有的关系型数据库都提供了ODBC驱动程序,这使ODBC的应用非常的广泛,但ODBC只能用于关系型数据库,很难访问对象数据库及其他非关系型数据库。②DAO(DataAccessObject)DAO(DataAccessObject)是应用Jet数据库引擎的面向对象的接口,是组成数据引擎内核的一组动态链接库(DLL),DAO提供了一种通过程序代码创建和操纵数据库的机制。多个DAO构成一个体系结构,在这个结构中,各个DAO对象协同工作。MFCDAO是微软提供的用于访问MicrosoftJet数据库文件(*mdb)的强有力的数据库开发工具,它通过DAO的封装,向程序员提供了DAO丰富的操作数据库的手段。③OLEDB(ObjectLinkanEmbeddingDatabase)OLEDB是VC++开发数据库应用中提供的新技术,它基于COM接口。因此OLEDB对所有的文件系统包括关系型数据库和非关系型数据库都提供了统一的接口。这些特性使得OLEDB技术比传统的数据库访问技术更加优越。与ODBC技术相似,OLEDB属于数据库访问技术中的底层接口。直接使用OLEDB来设计数据库应用程序需要大量的代码。④ADO(ActiveXDataObject)ADO技术是基于OLEDB的访问接口,它继承了OLEDB技术的优点,对OLEDB的接口作了封装,定义了ADO对象,使程序开发得到简化。ADO技术是建立在OLEDB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能和简单易用的编程接口,不仅能访问关系型数据库,也可以访问非关系型数据库,是现在最快速的数据库访问中间层,因而得到广泛应用。5.3.3数据通信数据通信模块将上位机与下位机紧密地联系起来,它对标记打印机正常工作起着非常重要的作用。在本设计中,数据通信是通过USB接口进行的,软件将其视为串口操作即可。根据串口的通信机制我们制定了本系统的通信协议。传输的数据格式按不同的指令功能将指令划分为三种:画线指令、操作指令和中断指令。①画线指令画线指令共27个字节,其中包含插补数据和升降频控制数据,对步进电机进行运动控制。数据格式如表5.3表5.3画线指令数据格式Tab5.3Drawing-linedataformatAA55机号命令X,YMAX1MAX2CompPRD1PRD2NOPCheck说明帧头画线标志预留均为24位,代表各轴要走的步数24位,是MAX2的一半24位,表示X,Y中的最大值MAX_CHOOSE和PULSE_WIDTH16位,初速度:包括16位,加速度第21位结尾空数据校验预留②操作指令操作指令共16字节,对步进电机进行复位、停止、暂停、继续操作。数据格式如表5.4示。表5.4操作指令数据格式Tab5.4OperationcommanddataformatAA66机号命令操作当前位置Check说明帧头操作标志预留预留对步进电机的操作指令。反映的是当前的打印位置校验预留③中断指令中断指令共14字节,包含FPGA反馈的中断信息。数据格式如表5.5所示:表5.5中断指令数据格式Tab5.5InterruptioncommanddataformatAA77机号控制信号当前按钮状态当前位置Check说明帧头中断标志预留包含限位开关信息和流量控制的信息为系统预留反映的是当前的打印位置校验预留6打标机控制系统抗干扰设计随着微电子技术的发展和控制系统集成化程度的提高,大规模集成芯片内单位面积的元件数越来越多,所传递的信号电流也越来越小,系统的供电电压也越来越低,现已降到5V,3V乃至1.8V。因此,芯片对外界的噪声也越趋敏感,所以显示出来的抗干扰能力也就很低。再则,相对于其它的电子信息系统,控制系统不但系统复杂,设备多,I/O端口多,特别是外部的连接电缆又多又长,这类似于拾取噪声的高效天线,给噪声的耦合提供了充分的条件,使得各种噪声容易侵入控制系统。气动打标机打标的时,它们大多处在强电电路和强电设备所形成的恶劣电磁环境中,很容易被周围干扰源干扰而引起控制系统产生误动作,影响系统的正常工作,因此必须重视系统的抗干扰设计。为防止干扰,可以采用硬件、软件和通信相结合的抗干扰方法。硬件抗干扰有效率高的优点,但要增加系统的投资和设备的体积,软件抗干扰有投资低的优点,但要降低系统的工作效率。因此通过在硬件、软件、通讯三个方面做了较为详细的抗干扰设计,使得系统在整体上有了一个较好的抗干扰体系,对系统的可靠性有了一个较强的保证。6.1硬件抗干扰设计在本系统中数据总线较多,传输的速度较快,要求控制驱动线路准确、高效地传输信号。通过综合考虑,本系统在干扰源、传播路径和敏感器件三个方面进行了抗干扰设计。6.1.1抑制干扰源抑制干扰源就是尽可能的减小干扰源的du/dt,di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。在本系统中为抑制干扰源采用了如下措施:①驱动电路的输出加滤波电路,并且电容、电感引线要尽量短;②电路板上每个IC要并接一个0.01uF-0.1uF高频电容,以减小IC对电源的影响。在高频电容的布线时尽量减小电容的等效串联电阻,使其对滤波效果的影响降至最低;③布线时避免90。折线,减少高频噪声发射;④可控硅两端并接RC抑制电路,减小可控硅产生的噪声。6.1.2切断干扰传播路径按干扰传播路径可分为传导干扰和辐射干扰两类。所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大,要特别注意处理。所谓辐射干扰是指通过空间辐射传播到敏感器件的干扰。一般的解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加屏蔽罩。6.1.3提高敏感元件的抗干扰性能提高敏感器件的抗干扰性能是指从敏感器件这边考虑尽量减少对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。结合本系统在提高敏感器件抗干扰性能采用了如下的措施:①布线时尽量减少回路环的面积,电源线和地线要尽量粗,以降低感应噪声;②对于单片机闲置的I/O口,不要悬空,要接地或接电源。其它IC的闲置端在不改变系统逻辑的情况下接地或接电源;6.2软件抗干扰设计在抗干扰措施中硬件措施如果得当,可将大多数的干扰拒之门外,但侵入系统的干扰其频谱往往很宽,而且又具有随机性,仍然会有少数的干扰窜入系统,引起不良后果,故软件抗干扰措施作为第二道防线是必不可少的。本系统根据实际情况在软件方面所采取了指令冗余技术[12]。单片机系统的操作时序完全由程序计数器PC控制。因此,一旦PC因干扰而出现错误,程序便脱离正常运行轨道,这就是通常所说的程序“跑飞”,程序跑飞后往往出现操作数数值改变以及将操作数当作操作码来执行的错误,从而引起整个程序的混乱。为了使跑飞的程序迅速纳入正轨,在程序的关键地方仟务插入一些空语句NOPFIag=1,称之为指令冗余。有效的前提条件是跑飞的PC必须指向程序运行区。6.3通信抗干扰设计目前,一般气动打标机系统在运行过程中都是认定下位机一直处于等待接收状态,也就是说下位机在它工作的任意时刻都可执行来自上位机的命令[13]。上位机能在它工作的任意时刻发送全部命令、数据等。这种通信方式在上位机与下位机的程序设计比较简单,因而在目前被广泛应用。但它也存在一些不足之处:首先,用这种方式进行通信不能保证为通信建立起很好的通信链路,即下位机是否的确接收到来自上位机的数据,上位机无法知道上位机机是否的确接收到下位机的数据,下位机也无法知道。这使得通信过程中的错误不能及时被发现。其次,在有些实时控制、实时检测和信号处理等应用场合中,下位机也不能保证一直处于等待接收上位机命令的状态,下位机可能正在执行某段不允许串口中断的实时处理程序,这时上位机需要一直等待下位机的数据,使通信时间过长,通信效率降低。气动打标系统不但要能够保证完成打标任务,而且更重要的是要保证数据的可靠传输。通信过程的可靠性和有效性是整个打标系统的重要质量指标,关系到系统能否正常稳定的运行。为了能够在气动打标系统中建立可靠的通信链路,经过反复实验,设计出呼叫,应答,再通信的方案,其通信的可靠性在很大程度上得到了提高。上位机呼叫在每一次通信中上位机先每隔100ms发送呼叫命令,格式如表6.1。若在100ms的时间间隔内接收到下位机的应答码,收到应答说明此次通信链路建立,则继续发送画线指令、操作指令,进行正常的通信。如果未收到下位机的响应,表示链路中断,则上位机暂停打印,弹出“与下位机连接失败”的警告消息框,然后一直打开USB连接,直到连接成功,连接成功后继续打印。然后重复上面的过程[13]。表6.1呼叫指令数据格式Tab6.1Callinstructiondataformat。②下位机应答下位机如果收到上位机发送的某组呼叫命令,首先进行判断是否是呼叫命令,如果是,就向上位机发出应答命令,格式如表6.2,然后等待上位机发送下一步的操作命令,进行正常通信。如果在100ms时间内没有收到上位机的呼叫指令,则认为链路中断,重启USB接口芯片,等待上位机的发送呼叫指令。表6.2应答指令数据格式Tab6.2Responsioncommanddataformat格式与呼叫指令相同,只是标志位为‘99’。呼叫应答式通信机制,在我们的打标系统中应用效果很好。这种握手联络式通信虽然使上位机和下位机之间的通信协议有些复杂,但对于强电电路和强电设备所形成的恶劣电磁环境中的设备,是一种有效的通信方式。7研究总结与前景展望7.1研究总结本文在研究和对比了目前国内外市场上气动标记刻印的基础上,提出了一种标记刻印控制系统方案,现将具体工作归纳如下:①分析了气动打标机的现状和发展,指出目前市场上气动打标机产品的不足,并提出了解决方案;②考虑到现在主机上,特别是笔记本电脑上串口资源少,而USB接口资源丰富的特点,对通信模块进行设计,采用了USB接口,实现了即插即用。所采用的USB接口连接上位机与下位机并取得成功,使打印平稳可靠;③针对FPGA的强大处理能力以及广泛的应用前景,设计了以单片机和FPGA为核心的步进电机控制装置,开发并调试了单片机和FPGA中的代码,包括逐点比较直线插补算法和线形速率控制算法的实现;④开发了气动打标机控制软件,可以编辑出任意理想的字符和图形,提供数据库查询打印记录、重号对比提示功能,设计了通信协议,实现了对下位机打印路线的演示;⑤在硬件、软件、通信三个方面做了较为详细的抗干扰设计,使系统在恶劣的环境中稳定可靠。7.2前景展望通过与市场上同类产品的比较,该打标机具有以下优势:①采用USB接口连接;②使用单片机和FPGA联合控制;③多国语言界面;④抗干扰能力强,系统稳定可靠,特别是在通信协议中添加握手信号,其通信的可靠性在很大程度上得到了提高。并且在初步进行试验运行中,获得了较好的反应。但在整个控制系统中还有一些需要进一步研究的工作:①采用精度更高的插补方法;②支持图形转换,支持多种文件格式;③支持点阵打印,可以打印二维条码等;④进一步优化程序,提高操作效率。因此,基于USB接口的气动打标机在工业生产和机械设计领域具有广泛的应用空间和发展前景。致谢四年的学习、生活转眼间就要告一段落,在此,我要向曾经给予我指导和帮助的各位老师、同学以及所有关心我的人们表示衷心的感谢!感谢我的导师樊松老师。从论文的选题、撰写直到修订等整个过程,都是在樊松老师的关怀和悉心指导下完成的。导师渊博的知识、严谨的治学态度、敏锐的洞察力和锐意进取的开拓精神都是非常值得我学习的。从导师那里我不仅学到了丰富的专业知识、更学到了为人处事的道理。在此,谨对老师多年辛勤的培养和关心表示由衷的感谢!参考文献[1]武卫,辛世界,张新义,王好臣.自动打标机的研制[J].研究。开发,2021,12,40(460)。[2]杨昕.气动打标系统的分析与研究[J].湖南农机,2021,07(172-173)。[3]江卫华.基于PC计算机并行口气动标记机系统的设计[J].电气传动自动化.2021,24(1):44-46[4]路建萍,李小宁,孙静.自动气动打标机的控制系统开发[J].中国制造业信息化,2021,10,19(36).[5]姚遥.基于USB接口气动打标机控制系统的研发[D].重庆大学硕士学位论文。2021。[6]何源,顾金良.USB与RS232接口转换器的设计[J]。指挥控制与仿真.2021,10,5:114-115。[7]SiliconLaboratories.CP2102DataSheet[EB/OL].http://.2021。[8]高海涛,常吉连,李素萍.步进电机的升降频设计[J].机床电器.2021,339-40.[9]清源计算机工作室.Protel99SE原理图与PCB及仿真[M].机械工业出版社.2021.3.[10]夏路易石宗义.电

温馨提示

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

评论

0/150

提交评论