基于PLC控制的物料运输系统_第1页
基于PLC控制的物料运输系统_第2页
基于PLC控制的物料运输系统_第3页
基于PLC控制的物料运输系统_第4页
基于PLC控制的物料运输系统_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

四川省高等教育自学考试机械制造与自动化专业毕业论文论文题目基于PLC控制的物料运送系统指导老师罗华学生姓名何杰准考证号8002103461242011年9月14日基于PLC控制的物料运送系统机械设计制造及其自动化专业学生:何杰指导老师:罗华摘要:物料运输系统是物流中重要的组成部分,它是不直接进行人工干预的情况下对货物进行自动存取。它是现代工业社会发展的高新技术产物,对加快物流流通、降低成本有着重要的意义。近年来,随着消费水平的提高,越来越多的商家认识到物流运输系统的改善与合理性对商家的发展非常重要,而对于一些小型超市往往要对货物进行分类存放,并建立货物相关信息,时时跟踪,便于对货存信息的掌握,如果仅靠人工,这样比较耗时,不便于商家的发展。本课题针对以上问题主要对货物分类存取控制系统进行了设计:最先是人工建立一个货物信息库。在存货物时,利用条码扫描将货物的信息传入计算机中,并整理将对应的指令传给PLC。然后PLC按指令控制气压系统、步进电机的运动,将货物存放到指定位置;在取货时,控制思路和存货是大致一样,从而实现对货物的分类和存取的功能。在整个过程都满足货物先存先取得原则。关键词:PLC、条码扫描器、步进电机、气压系统、传感器Abstract:Materialtransportsystemisanimportantcomponentoflogistics,itisnotdirecthumaninterventioninthecaseofautomaticaccesstothegoods.Itisamodernindustrialsociety,thedevelopmentofhigh-techproducts,toacceleratetheflowoflogisticsandcostofgreatsignificance.Inrecentyears,withconsumptionlevels,moreandmorebusinessesrealizetheimprovementoflogisticsandtransportsystemsandreasonabledevelopmentofthebusinessisveryimportant,butforsomesmallsupermarketsoftenhavetoclassifythegoodsstored,andtheestablishmentofrelatedgoodsinformation,alwaysfollow,easytostockinformationonthemaster,ifonlybymanual,sothatistime-consumingandnoteasytobusinessdevelopment.Themainsubjectoftheaboveproblemsoftheclassificationsystemforaccesscontroldesign:thefirstistheartificialestablishmentofagoodsinformationdatabase.Goodsinstorage,theuseofbarcodescanningincominggoodsinformationinthecomputer,andfinishinginstructionswillbepassedtothecorrespondingPLC.AndPLCcontrolledpneumaticsystemaccordingtoinstructions,thesteppermotormovement,thegoodsstoredinthespecifiedlocation;inthepickup,thecontrolandinventoryisroughlythesameidea,inordertoachievetheclassificationofgoodsandaccessfunctions.Aremetthroughouttheprocesstoobtainfirstprincipleofpre-existinggoods.Keywords:PLC,barcodescanner,steppermotors,Pressuresystem,sensors目录TOC\o"1-3"\u第一章绪论 11.1引言 11.2题的目的和意义 11.3总体方案 11.3.1系统的总体方案 11.3.2系统的特点 21.4本文研究内容 2第二章物料运输控制系统的原理 32.1PLC简介 32.1.1PLC的概述及发展 32.1.2PLC的应用特点 42.1.3PLC的应用领域 52.2计算机 62.2.1计算机的定义 62.2.2计算机的应用领域 62.3EAN码及条码扫描仪 62.3.1EAN码介绍 62.3.2条码扫描器MS-890特点 72.3.3MS-890的应用领域 8第三章物料运输控制系统的硬件设计 83.1主要器件的选型 83.1.1步进电机及其驱动器的选型 83.1.2开光的选用 113.1.3传送带的选择 113.2控制系统的电气设计 123.2.1控制系统的具体控制思路 123.2.2强电驱动线路 123.2.3PLC接线图 13第四章物料运输控制系统的软件设计 134.1梯形图的特点及基本绘制规则 134.2控制系统I/O分配表 144.3程序流程图 154.4程序的编写 164.5程序模拟仿真 37第五章总结与展望 40参考文献 40致谢 41第一章绪论1.1引言可编程逻辑控制器(ProgrammableLogicController),简称PLC,它是20世纪70年代以来,在集成电路、计算机技术基础上发展起来的一种新型工业控制设备。由于它具有功能强、可靠性高、配置灵活、使用方便以及体积小、重量轻等优点,国外已广泛应用于自动控制的各个领域。与继电-接触器系统相比系统更加可靠;易于在现场变更程序;便于使用、维护、维修;能直接推动电磁阀、接触器与其相关的执行机构;能向中央数据处理系统直接传输数据等。采用可编程控制器来实现物料运输中步进电机的控制从而实现对货物送到指定位子,这可以在一定程度上减少物料运输人力资源,也可加货物存取的效率。拓展PLC在自动化行业的应用领域,具有一定的经济和理论意义。1.2题的目的和意义物料运输系统是物流中重要的组成部分,它是不直接进行人工干预的情况下对货物进行自动存取。它是现代工业社会发展的高新技术产物,对加快物流流通、降低成本有着重要的意义。近年来,随着消费水平的提高,越来越多的商家认识到物流运输系统的改善与合理性对商家的发展非常重要,而对于一些小型超市往往要对货物进行分类存放,并建立货物相关信息,时时跟踪,便于对货存信息的掌握,如果仅靠人工,这样比较耗时,不便于商家的发展。随着微处理器、步进电机可再宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电机最突出的优点。目前比较典型的控制方法是用单片机产生脉冲序列来控制步进电机。但采用单片机控制,不仅要设计复杂的控制程序和I/O接口电路,实现比较麻烦,而且对现场适应性差,可靠性不高。基于PLC控制步进电机具有设计简单,实现方便,定位精度高参数设定灵活等优点。因此用PLC来控制步进电机也是实现的控制系统中应用非常广泛,非常有实用价值。1.3总体方案1.3.1系统的总体方案本系统主要是将条码扫描、PLC、步进电机、气压系统等有机结合建立成小型的物料运输系统,实现对货物的分类和存取的功能。系统布局如图1-1。气压缸主要是在货物分道是实现助推的作用,为了减少PLC的I/O口,我采用了气压缸并联的形式在货物到后,三缸同时动作,气压压系统回路如图1-2,此回路实现了工进-快退的功能。图1-1物料运输系统布局图图1-2气压系统回路1.3.2系统的特点本系统的柔性很强,只要改变相应货物条码信息,就可以完成不同程度的分类;在步进电机的控制方面,基于步进电机的优势,也使得系统的优势显著,本系统性价比比较好,对中小型超市十分的适合1.4本文研究内容物料运输是当今物料运输行业中重要的环节,本文通过对物料运输系统的分析,做了了个利用条码识别货物信息,用PLC控制的对货物分类的物料运输系统。本文研究内容共分五章:绪论主要介绍PLC控制的应用及背景。阐述了选题的目的和意义。物料运输控制系统原理主要介绍了PLC控制、计算机、条码识别器三者的功能。物料运输系统硬件设计主要介绍系统硬件的选型和控制电路的设计。物料运输系统程序设计主要介绍物料运输系统的程序设计。总结与展望对本文进行了总结并对物料运输系统做了初步展望。第二章物料运输控制系统的原理2.1PLC简介2.1.1PLC的概述及发展PLC=ProgrammableLogicController,可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。是工业控制的核心部分。早期的可编程控制器称作可编程逻辑控制器(ProgrammableLogicController,PLC),它主要用来代替继电器实现逻辑控制。随着技术的发展,这种采用微型计算机技术的工业控制装置的功能已经大大超过了逻辑控制的范围,因此,今天这种装置称作可编程控制器,简称PC。但是为了避免与个人计算机(PersonalComputer)的简称混淆,所以将可编程序控制器简称PLC,plc自1966年美国数据设备公司(DEC)研制出现,现行美国,日本,德国的可编程序控制器质量优良,功能强大。PLC实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同,其发展如下:起源:1968年美国通用汽车公司提出取代继电器控制装置的要求。1969年,美国数字设备公司研制出了第一台可编程控制器PDP—14,在美国通用汽车公司的生产线上试用成功,首次采用程序化的手段应用于电气控制,这是第一代可编程序控制器,称Programmable,是世界上公认的第一台PLC。1969年,美国研制出世界第一台PDP-141971年,日本研制出第一台DCS-81973年,德国研制出第一台PLC1974年,中国研制出第一台PLC发展:20世纪70年代初出现了微处理器。人们很快将其引入可编程控制器,使PLC增加了运算、数据传送及处理等功能,完成了真正具有计算机特征的工业控制装置。此时的PLC为微机技术和继电器常规控制概念相结合的产物。个人计算机发展起来后,为了方便和反映可编程控制器的功能特点,可编程序控制器定名为ProgrammableLogicController(PLC)。20世纪70年代中末期,可编程控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及极高的性价比奠定了它在现代工业中的地位。20世纪80年代初,可编程控制器在先进工业国家中已获得广泛应用。世界上生产可编程控制器的国家日益增多,产量日益上升。这标志着可编程控制器已步入成熟阶段。20世纪80年代至90年代中期,是PLC发展最快的时期,年增长率一直保持为30~40%。在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。20世纪末期,可编程控制器的发展特点是更加适应于现代工业的需要。这个时期发展了大型机和超小型机、诞生了各种各样的特殊功能单元、生产了各种人机界面单元、通信单元,使应用可编程控制器的工业控制设备的配套更加容易。2.1.2PLC的应用特点1.实现成本低由于可以直接利用已有的配电网络作为传输线路,所以不用进行额外布线,从而大大减少了网络的投资,降低了成本。2.范围广电力线是覆盖范围最广的网络,它的规模是其他任何网络无法比拟的。PLC可以轻松地渗透到每个家庭,为互联网的发展创造极大的空间。3.高速率PLC能够提供高速的传输。目前,其传输速率依设备厂家的不同而4.5M~45Mbps之间。远远高于拨号上网和ISDN,比ADSL更快!足以支持现有网络上的各种应用。更高速率的PLC产品正在研制之中。4.永远在线PLC属于"即插即用",不用烦琐的拨号过程,接入电源就等于接入网络!5.便捷不管在家里的哪个角落,只要连接到房间内的任何电源插座上,就可立即拥有PLC带来的高速网络享受!在本课题中,我主要应用三菱PLC产品中的FX2N系列,其基本单位有16/32/48/65/80/128点,六个基本FX2N单元中的每一个单元都可以通过I/O扩展单元扩充为256I/O点,其基本单元如下表所示。FX2N系列的基本单元型号输入点数输出点数扩展模块可用点数继电器输出可控硅输出晶体管输出FX2n-16MR-001FX2n-16MSFX2n-16MT8824~32FX2n-32MR-001FX2n-32MSFX2n-32MT161624~32FX2n-48MR-001FX2n-48MSFX2n-48MT242448~64FX2n-64MR-001FX2n-64MSFX2n-64MT323248~64FX2n-80MR-001FX2n-80MSFX2n-80MT404048~64FX2n-128MR-001FX2n-128MT646448~64FX2N具有丰富的元件资源,有3072点辅助继电器。提供了多种特殊功能模块,可实现过程控制位置控制。有多种RS—232C/RS—422/RS—485串行通信模块或功能扩展板支持网络通信。FX2N具有较强的数学指令集,使用32位处理浮点数。具有方根和三角几何指令满足数学功能要求很高数据处理。它是FX系列PLC家族中最先进的系列。由于FX2N系列具备如下特点:最大范围的包容了标准特点、程式执行更快、全面补充了通信功能、适合世界各国不同的电源以及满足单个需要的大量特殊功能模块,它可以为你的工厂自动化应用提供最大的灵活性和控制能力。FX2N系列的其它功能1、内置式24V直流电源,24V、400mA直流电源可用于外围设备,如传感器或其它元件。2、快速断开端子块,因为采用了优良的可维护性快速断开端子块,即使接着电缆也可以更换单元。3、时钟功能和小时表功能,在所有的FX2NPLC中都有实时时钟标准。时间设置和比较指令易于操作。小时表功能对过程跟踪和机器维护提供了有价值的信息。4、持续扫描功能,为应用所需求的持续扫描时间定义操作周期。5、输入滤波器调节功能,可以用输入滤波器平整输入信号(在基本单元中x000到x017)。6、注解记录功能,元件注解可以记录在程序寄存器中。7、在线程序编辑,在线改变程序不会损失工作时间或停止生产运转。8、RUN/STOP开关,面板上运行/停止开关易于操作。9、远程维护,远处的编程软件可以通过调制解调器通信来监测、上载或卸载程序和数据10、密码保护,使用一个八位数字密码保护您的程序。2.1.3PLC的应用领域目前,PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,使用情况大致可归纳为如下几类。1.开关量的逻辑控制这是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。2.模拟量控制在工业生产过程当中,有许多连续变化的量,如温度、压力、流量、液位和速度等都是模拟量。为了使可编程控制器处理模拟量,必须实现模拟量(Analog)和数字量(Digital)之间的A/D转换及D/A转换。PLC厂家都生产配套的A/D和D/A转换模块,使可编程控制器用于模拟量控制。3.运动控制PLC可以用于圆周运动或直线运动的控制。从控制机构配置来说,早期直接用于开关量I/O模块连接位置传感器和执行机构,现在一般使用专用的运动控制模块。如可驱动步进电机或伺服电机的单轴或多轴位置控制模块。世界上各主要PLC厂家的产品几乎都有运动控制功能,广泛用于各种机械、机床、机器人、电梯等场合。4.过程控制过程控制是指对温度、压力、流量等模拟量的闭环控制。作为工业控制计算机,PLC能编制各种各样的控制算法程序,完成闭环控制。PID调节是一般闭环控制系统中用得较多的调节方法。大中型PLC都有PID模块,目前许多小型PLC也具有此功能模块。PID处理一般是运行专用的PID子程序。过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛的应用。5.数据处理现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。6.通信及联网PLC通信含PLC间的通信及PLC与其它智能设备间的通信。随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。2.2计算机2.2.1计算机的定义计算机(Computer)是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。由硬件和软件所组成,两者是不可分割的。人们把没有安装任何软件的计算机称为裸机。随着科技的发展,现在新出现一些新型计算机有:生物计算机、光子计算机、量子计算机等。2.2.2计算机的应用领域目前,计算机的应用可概括为以下几个方面。1.科学计算(或称为数值计算)早期的计算机主要用于科学计算。目前,科学计算仍然是计算机应用的一个重要领域。如高能物理、工程设计、地震预测、气象预报、航天技术等。由于计算机具有高运算速度和精度以及逻辑判断能力,因此出现了计算力学、计算物理、计算化学、生物控制论等新的学科。2.过程检测与控制利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入计算机,再根据需要对这些数据进行处理,这样的系统称为计算机检测系统。特别是仪器仪表引进计算机技术后所构成的智能化仪器仪表,将工业自动化推向了一个更高的水平。3.信息管理(数据处理)信息管理是目前计算机应用最广泛的一个领域。利用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、帐目计算、信息情报检索等。近年来,国内许多机构纷纷建设自己的管理信息系统(MIS);生产企业也开始采用制造资源规划软件(MRP),商业流通领域则逐步使用电子信息交换系统(EDI),即所谓无纸贸易。4.计算机辅助系统1)计算机辅助设计(CAD)是指利用计算机来帮助设计人员进行工程设计,以提高设计工作的自动化程度,节省人力和物力。目前,此技术已经在电路、机械、土木建筑、服装等设计中得到了广泛的应用。

2)计算机辅助制造(CAM)是指利用计算机进行生产设备的管理、控制与操作,从而提高产品质量、降低生产成本。缩短生产周期,并且还大大改善了制造人员的工作条件。

3)计算机辅助测试(CAT)是指利用计算机进行复杂而大量的测试工作。

4)计算机辅助教学(CAI)指利用计算机帮助教师讲授和帮助学生学习的自动化系统,使学生能够轻松自如地从中学到所需要的知识。2.3EAN码及条码扫描仪2.3.1EAN码介绍EAN码由前缀码、厂商识别码、商品项目代码和校验码组成。前缀码是国际EAN组织标识各会员组织的代码,我国为690—695;厂商代码是EAN编码组织在EAN分配的前缀码的基础上分配给厂商的代码;商品项目代码由厂商自行编码;校验码为了校验代码的正确性。在编制商品项目代码时,厂商必须遵守商品编码的基本原则:对同一商品项目的商品必须编制相同的商品项目代码;对不同的商品项目必须编制不同的商品项目代码。保证商品项目与其标识代码一一对应,即一个商品项目只有一个代码,一个代码只标识一个商品项目.我国的通用商品条码与其等效。我们日常购买的商品包装上所印的条码一般就是EAN码。另外,图书和期刊作为特殊的商品也采用了EAN13表示ISBN和ISSN。前缀977被用于期刊号ISSN,图书号ISBN用978为前缀,我国被分配使用7开头的ISBN号,因此我国出版社出版的图书上的条码全部为9787开.另外,图书和期刊作为特殊的商品也采用了EAN13表示ISBN和ISSN。前缀977被用于期刊号ISSN,图书号ISBN用978为前缀,我国被分配使用7开头的ISBN号,因此我国出版社出版的图书上的条码全部为9787开.以条形码6936983800013为例此条形码分为4个部分,从左到右分别为:1-3位:共3位,对应该条码的693,是中国的国家代码之一。(690--695都是中国的代码,由国际上分配)4-8位:共5位,对应该条码的69838,代表着生产厂商代码,由厂商申请,国家分配9-12位:共4位,对应该条码的0001,代表着厂内商品代码,由厂商自行确定第13位:共1位,对应该条码的3,是校验码,依据一定的算法,由前面12位数字计算而得到。首先,把条形码从右往左依次编序号为“1,2,3,4……”从序号二开始把所有奇数序号位上的数相加求和,用求出的和乘3,再把所有偶数序号上的数相加求和,用求出的和加上刚才奇数序号上的数的和乘3的积,然后得出和。再用大于或等于这个和的最小的10的倍数减去这个和,就得出校验2.3.2条码扫描器MS-890特点Microscan是一家专注于精确的数据采集与控制解决方案,为众多行业的自动化与OEM客户提供服务的全球技术领先公司。其产品是高精度的仪器。从高速条码读取这一类业务直到通过机器视觉进行高精度定向、安放和坐标检查,Microscan产品都可靠地执行复杂的数据采集任务。Microscan在80年代初就以发明第一款激光二极管条码扫描器以及发明二维数据矩阵符号,在自动识别(AutoID)产业掀起了一场革命。时至今日,Microscan继续在条码读取和机器视觉领域进行新产品开发,仍然是公认的技术领先者。MS-890是一种重型扫描器,具有极高的灵活性,用于在各种工厂条件下解决大量实际应用。它每秒解码次数:400至1000次读取范围;10至120”(254至3048mm);IP65封装;可选IB-890接线盒它具备经扩展的读码范围以及智能扫描光栅,为线性条码以及堆栈标签提供了强大的读取功能。多功能和坚实的设计,使MS-890成为理想的工业用扫面器。读码范围广:MS-890光学系统的设计,旨在能够以扩展或变化的距离成功读码,例如在传送带或组装区域周围的安全地带或间隙地带进行读码。可见指示器:发光LED指示灯位于MS-890对于所有成功读码提供即时视觉确认。有效读取绿色闪光从前窗投射出,在扫描器的360度范围内清晰可见。可选接线盒:IB-890接线盒提供了方便灵活的集成性,不需要任何特殊电缆或连接器。其功能包括:•以太网

•插接式继电器模快

•接线条的连接性

•与手持式扫描器的连接性智能光栅:MS-890的特色之一是可以为扫描角度和速度进行优化的智能光栅,从而可以读取多个符号15或安置不一致的标签。自动校准:自动校准功能可自动确定并选择焦距、增益值和跟踪性能等的最佳读取设置。条码编程:可在车间就地更改扫描器,方法十分简单,只需要对准条码并按EZ按钮。使用此功能可很方便的在多台MS-890扫描器上重复进行设置。2.3.3MS-890的应用领域条码扫描器广泛应用于商业POS收银系统、快递仓储物流、图书服装医药、银行保险通讯等多个领域的需求。键盘接口,USB接口和RS232接口三种接口可供选择。产品标配包括扫描枪主机,USB数据线,手册以及白色支架;快递公司\仓储物流\仓库盘点\超市卖场\图书服饰店等,只要有条码的地方就有镭码存在。而正因MS-890扫描范围广,其广泛应用在轻工业到重工业升降机或传送带。第三章物料运输控制系统的硬件设计3.1主要器件的选型3.1.1步进电机及其驱动器的选型A)步进电机的选择

步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。其型号的选择就是通过三大要素来确定

1、步距角的选择

电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度(三相电机)等

2、静力矩的选择

步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)

3、电流的选择

静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压)

综上所述选择电机一般应遵循以下步骤:

4、力矩与功率换算

步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下:

P=Ω·M

Ω=2π·n/60

P=2πnM/60

其P为功率单位为瓦,Ω为每秒角速度,单位为弧度,n为每分钟转速,M为力矩单位为牛顿·米

P=2πfM/400(半步工作)

其中f为每秒脉冲数(简称PPS)

B)步进电机应用中要注意的地方

1、步进电机应用于低速场合每分钟转速不超过1000转,(0.9度时6666PPS),最好在1000-3000PPS(0.9度)间使用,可通过减速装置使其在此间工作,此时电机工作效率高,噪音低。

2、步进电机最好不使用整步状态,整步状态时振动大。

3、由于历史原因,只有标称为12V电压的电机使用12V外,其他电机的电压值不是驱动电压伏值,可根据驱动器选择驱动电压(建议:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),当然12伏的电压除12V恒压驱动外也可以采用其他驱动电源,不过要考虑温升。

4、转动惯量大的负载应选择大机座号电机。

5、电机在较高速或大惯量负载时,一般不在工作速度起动,而采用逐渐升频提速,一电机不失步,二可以减少噪音同时可以提高停止的定位精度。

6、高精度时,应通过机械减速、提高电机速度,或采用高细分数的驱动器来解决,也可以采用5相电机,不过其整个系统的价格较贵,生产厂家少,其被淘汰的说法是外行话。

7、电机不应在振动区内工作,如若必须可通过改变电压、电流或加一些阻尼的解。

8、电机在600PPS(0.9度)以下工作,应采用小电流、大电感、低电压来驱动。

9、应遵循先选电机后选驱动的原则。C)驱动器的选择步进驱动器是步进系统中的核心组件之一。步进驱动器工作模式有三种基本的步进电机驱动模式:整步、半步、细分。其主要区别在于电机线圈电流的控制精度(即激磁方式)。整步驱动在整步运行中,同一种步进电机既可配整/半步驱动器也可配细分驱动器,但运行效果不同。步进驱动器按脉冲/方向指令对两相步进电机的两个线圈循环激磁(即将线圈充电设定电流),这种驱动方式的每个脉冲将使电机移动一个基本步距角,即1.80度(标准两相电机的一圈共有200个步距角)。半步驱动在单相激磁时,电机转轴停至整步位置上,驱动器收到下一脉冲后,如给另一相激磁且保持原来相继处在激磁状态,则电机转轴将移动半个步距角,停在相邻两个整步位置的中间。如此循环地对两相线圈进行单相然后双相激磁步进电机将以每个脉冲0.90度的半步方式转动。所有瑞亚宝公司的整/半步驱动器都可以执行整步和半步驱动,由驱动器拨码开关的拨位进行选择。和整步方式相比,半步方式具有精度高一倍和低速运行时振动较小的优点,所以实际使用整/半步驱动器时一般选用半步模式。细分驱动细分驱动模式具有低速振动极小和定位精度高两大优点。对于有时需要低速运行(即电机转轴有时工作在60rpm以下)或定位精度要求小于0.90度的步进应用中,细分驱动器获得广泛应用。其基本原理是对电机的两个线圈分别按正弦和余弦形的台阶进行精密电流控制,从而使得一个步距角的距离分成若干个细分步完成。如上图所示。例如十六细分的驱动方式可使每圈200标准步的步进电机达到每圈200*16=3200步的运行精度(即0.1125°)。D)驱动器选型原则驱动器的电流:电流是判断驱动器能力的大小,是选择驱动器的重要指标之一,通常驱动器的最大电流要略大于电机标称电流,通常驱动器有0.8A、2A、3A、4A、5A、5.8A、6A、6.8A、8A、10A、13A.等规格。驱动器供电电压:供电电压是判断驱动器升速能力的标志,常规电压供给有:12VDC、24VDC、40VDC、80VDC、110VAC等。驱动器的细分:细分是控制精度的标志,通过增大细分能改善精度。细分能增加电机平稳性,通常步进电机都有低频振动的特点,通过加大细分可以改善,使电机运行非常平稳步进驱动器是步进系统中的核心组件之一。它按照控制器发来的脉冲/方向指令(弱电信号)对电机线圈电流(强电)进行控制,从而控制电机转轴的位置和速度.步进电机驱动器选型必需注意的问题1、选择坚持转矩(HOLDINGTORQUE)坚持转矩也叫静力矩,是指步进电机通电但没有转变时,定子锁住转子的力矩。因为步进电机低速运转时的力矩接近坚持转矩,而步进电机的力矩跟着速度的增大而疾速衰减,输出功率也随速度的增大而转变,所以说坚持转矩是权衡步进电机负载才能最主要的参数之一。比方,普通不加阐明地讲到1N.m的步进电机,可以了解为坚持转矩是1N.m。2、选择相数两相步进电机本钱低,步距角起码1.8度,低速时的震动较大,高速时力矩下降快,合用于高速且对精度和平稳性要求不高的场所;三相步进电机步距角起码1.5度,振动比两相步进电机小,低速功能好于两相步进电机,最高速度比两相步进电机高百分之30至50,合用于高速且对精度和平稳性要求较高的场所;5相步进电机步距角更小,低速功能好于3相步进电机,但本钱偏高,合用于中低速段且对精度和平稳性要求较高的场所。3、选择步进电机应遵照先选电机后选驱动器准则,先明白负载特征,再经过比拟分歧型号步进电机的静力矩和矩频曲线,找到与负载特征最匹配的步进电机;精度要求高时,应采用机械减速安装,以使电机任务在效率最高、噪音最低的形态;防止使电机任务在振动区,如若必需则经过改动电压、电流或添加阻尼的办法处理;电源电压方面,建议57电机采用直流24V-36V、86电机采用直流46V、110电机采用高于直流80V;大转变惯量负载应选择机座号较大的电机;大惯量负载、任务转速较高时,电机而应采用逐步升频提速,以避免电机掉步、削减噪音、进步停转时的定位精度;鉴于步进电机力矩普通在40Nm以下,超出此力矩局限,且运转速度大于1000RPM时,即应思索选择伺服电机,普通交流伺服电机可正常运转于3000RPM,直流伺服电机可可正常运转于10000RPM。4、选择驱动器和细分数最好不选择整步形态,由于整步形态时振动较大;尽量选择小电流、大电感、低电压的驱动器;配用大于任务电流的驱动器、在需求低振动或高精度时配用细分型驱动器、关于大转矩电机配用高电压型驱动器,以取得优越的高速功能;在电机实践运用转速凡间较高且对精度和平稳性要求不高的场所,不用选择高细分数驱动器,以便节省本钱;在电机实践运用转速凡间很低的前提下,应选用较大细分数,以确保运转光滑,削减振动和噪音;总之,在选择细分数时,应综合思索电机的实践运转速度、负载力矩局限、减速器设置状况、精度要求、振动和噪音要求等。既然选择步进驱动器,首先应该对步进电机以及脉冲控制位控模块有一定的了解。只有了解输入输出设备的情况,才能根据楼上几位的步进驱动器的选型指南一一对应。3.1.2开光的选用在本课题中我主要是选用光敏开关对货物的轨迹的定位,光敏开关是接近开关的一种,它克服了接触式行程开关的不足,也克服了接近开关的作用距离短、不能直接检测非金属材料等缺点。它具有体积小、功能多、寿命长、精度高、响应快、检测距离远以及抗电磁干扰能力强等优点。它可非接触、无损伤的检测和控制各种固体、液体、透明体、黑体、柔软体和烟雾等物质的状态和动作。其按照检测方式可分为反射式、对射式和镜面式三种类型。我选用反射式中的扩散,其特点课检查透明和不透明物体,通用性强。在系统运行过程中,为了提高系统的安全性,在步进电机运行轨道的极限位置还安装了行程开关,它是利用生产机械某些运动部件的碰撞来发出控制命令的主令电器。用于控制生产机械的运动方向、速度、行程大小或位置的一种自动控制器件。3.1.3传送带的选择在仓库出入口与送货机械手之间的物料运输装置选用的是动力式滚子传送机,常用于水平的或微斜的输送线路。驱动装置将动力传送给滚子,使其转动,通过滚子表面与运送物品表面间的摩擦力输送物品,为了节约成本我选用成组驱动,由一个驱动装置驱动。3.2控制系统的电气设计3.2.1控制系统的具体控制思路本系统有两种工作方式:存货、取货。在存货过程中,首先要将货物的条码信息输送到计算机中,并进行分析整理生成相应的信息。当货物通过传送带通过扫描仪时,扫描仪将货物条码信息写入计算机中,并与开始人工输入的条码信息对比、核对。再将相应的信息写入PLC中,PLC发出指令控制气压缸及以后的步进电机的运行,把货物送到指定位子,最终达到货物分类的目的。在取货过程中,与存货的过程大致差不多,先是人工将要取货的条码信息输送到计算机中,通过核对原计算机中的信息,并将相应信息送给PLC,PLC发出相应指令控制步进电机的运行,把货物取出送到传送带上。3.2.2强电驱动线路存货传送带驱动电机(M12为气泵电机)取货传送带驱动电机3.2.3PLC接线图第四章物料运输控制系统的软件设计4.1梯形图的特点及基本绘制规则梯形图是各种PLC通用的编程方式,尽管不同厂家生产的PLC指令系统以及指令的助记符不完全相同,但梯形图编写的基本原则是相同的。在编写梯形图时,一般应遵循下列基本原则。1、梯形图中的触点,无论是I/O触点、内部通用继电器触点、定时器触点还是计数器触点,均可在编写程序中无限次使用,即可动合也可动断。无需用复杂的程序结构来减少触点的使用次数。2、梯形图按照从上到下、从左到右的顺序排列,每个继电器线圈为一个逻辑行。每一逻辑行起于左母线,终于右母线直接相连,不能再继电器线圈与右母线之间连接其他元素。3、继电器线圈不能直接与左母线相连,如有需要,可通过一个没有使用的内部继电器的动断触点或特殊继电器R9010的动合触点来连接。4、一般情况下,梯形图中某编号的继电器线圈只能出现一次,否则容易引起误操作。但在某些特殊情况下,也允许出现重号的继电器线圈,如使用多个跳转指令的程序段及使用步进指令的程序段。5、在梯形图中,串联触点使用的次数没有限制,并联触点使用的次数也没有限制。6、两个或两个以上的继电器线圈可以并联输出。7、一段完整的梯形图程序必须以END结束。4.2控制系统I/O分配表输入设备名称PLC输入点输出设备名称PLC输出点启动按钮X0输出脉冲Y0停止按钮X1步进电机驱动器1方向Y1存货按钮X2步进电机驱动器1使能Y2取货按钮X3步进电机驱动器2方向Y3传感器1X4步进电机驱动器2使能Y4传感器2X5步进电机驱动器3方向Y5传感器3X6步进电机驱动器3使能Y6货到位1X7电磁阀YA1Y7货到位2X10电磁阀YA2Y10货到位3X11KM1线圈Y11垂直计数1X12KM2线圈Y12水平计数1X13KM3线圈Y13右限位开关1X14KM4线圈Y14左限位开关1X15KM5线圈Y15下限位开关1X16KM6线圈Y16垂直计数2X17KM7线圈Y17水平计数2X20KM8线圈Y20右限位开关2X21KM9线圈Y21左限位开关2X22KM10线圈Y22下限位开关2X23KM11线圈Y23垂直计数3X24KM12线圈Y24水平计数3X25右限位开关3X26左限位开关3X27下限位开关3X30入口检测开关X314.3程序流程图4.4程序的编写4.5程序模拟仿真为了检验程序编写的是否正确,我用三菱触摸屏仿真软件对程序的运行过程进行了仿真,其操作过程如下所示。1、PLC程序写入,如下图4-1图4-12、打开触摸屏仿真软件,如图4-2图4-2程序仿真编程软件中的画面,如图4-3如图4-3程序仿真触摸屏软件中的画面,如图4-4如图4-4第五章总结与展望随着科学技术特别是信息工程、计算机技术等高新科技技术的飞速发展和普及,世界已经进入了信息时代。面对激烈的市场竞争,长期以来人们在企业管理中所惯用的那种粗放式管理已不能适应极度膨胀的信息量和成倍增长的数据处理工作的需要。物料运输系统如何对物料高效、有序地加以控制是物料系统正常工作的关键之一。基于PLC控制的物料运输系统是集机械、计算机、通信网络、传感器和自动控制等多种技术为一体,以搬运机械化、控制自动化、管理微机化、信息网络化为特征的现代化传输系统,它是产品生产与存储的纽带。在本课题中我主要对货物分类和对其存储运输控制进行了阐述,其重点放在了PLC对系统控制方面,对编程做了详细的编写,系统控制采用自动控制工作方式,PLC通过RS-232串行口与上位机通讯,接受上位机的指令,使货位准确定位。PIC程序相对很直观,易懂,对操作人员要求并不是很高。基于PLC控制步进电机具有设计简单,实现方便,定位精度高参数设定灵活等优点,我相信本系统在仓库管理,尤其是小型超市十分的适用。参考文献顾战松.可编程控制器原理与应用[M].北京国防工业出版社,1996.刘光起.PLC技术与应用[M].北京:北京工业出版社,2008.刘艳梅.三菱PLC基础与系统设计[M].北京:机械工业出版社,2010.张云刚.从入门到精通——三菱FX2NPLC技术与应用[M].北京:人民邮电出版社,2007.郭昌荣.FX系列PLC的链接通讯及VB图形监控[M].北京:北京航空航天大学出版社,2008.王积伟.液压与气压传动(第二版)[M].北京:机械工业出版社,2010.代保华.PLC在定位控制系统中的应用[J]武汉交通科技大学学报,1998年03期.关慧贞.机械制造装备设计[M].北京:机械工业出版社,2011.贾伯年.传感器技术(第三版)[M].南京:东南大学出版社,2007.致谢衷心感谢我的导师罗华老师,在课题的选择、以及论文的写作的过程中,罗老师给予我悉心的指导。罗老师渊博的知识、严谨的学风、扎实的理论基础和诲人不倦的胸怀,将是我一生的楷模,其执着的钻研精神和朴实的工作作风令人尊敬。在论文完成之际,谨向罗老师致以最诚挚的谢意!同时,感谢本科自考这边的老师们,是他们的付出和不辞辛苦的授课,让我们在专科学习期间还能利用课余时间套读本科,让我学到更多的知识。最后对参加本文评审和答辩的老师致以衷心的感谢!学生:何杰2011年9月14日附录资料:不需要的可以自行删除C语言-INT10中断号视频服务程序00H(设置视频模式)输入:AH=00HAL=视频模式输出:无说明:视频服务程序00H用来设置视频配置为表10-l中列出之一。AL寄存器给定所需视频模式。若设置了新视频模式,则清除屏幕。视频服务程序0lH(设置光标大小)输入:AH=01HCH=光标开始扫描行CL=光标结束扫描行输出:无说明:该服务程序用于正文模式。在一个字符单元内由一行或几行组成的光标将在字符显示位置得闪烁。该服务程序定义光标的显示行数。对CGA模式,8扫描行(0~7)用于光标。对EGA模式,使用14行(0~13)。MCGA和VGA适配器,光标可具有16扫描行(0~15)高。缺省设置如下:CGA:CH=6,CL=7EGA:CH=ll,CL=12MCGA和VGA:CH量13,CL=1视频服务程序02H(设置光标位置)输入:AH=02HBH=光标页号DH=光标行号DL=光标列号输出:无说明:该服务器序用于将光标移到指定行和列位置。该服务程序即可用于正文模式也可用于图形模式;然而,仅在正文模式下才显示光标。屏幕左上角为坐标系统的原点。对支持多页的正文和图形模式,则必须指定页号,以保证光标位置正确。视频服务程序03H(读光标位置)输入:AH=03HBH=页号输出:CH=光标开始行CL=光标结束行DH=行号DL=列号说明:该服务程序用于获取光标大小和位置。BH给定了页号。CH中存放光标开始扫描行,而CL中为光标结束扫描行。DH中存放行位置,DL中为列位置。视频服务程序05H(设置活动显示页)输入:AH=05HAL=活动页号输出:无说明:该服务程序为正文和图形模式用来设置活动显示页号。AL指定所需页号。对多数正文模式,页号范围为0一7。对具有足够视频缓冲EGA和VGA适配器,可支持多页图形。对所有正文和图形模式,缺省为0页。视频服务程序06H(向上翻滚活动窗口)。输入:AH=06HAL=翻滚行数BH=空白行属性CH左上角行号CL=左上角列号DH=右下角行号Dl=右下角列号输出:无说明:该服务程序用来创建和翻滚一正文窗口。CH和CL中给出了正文窗口左上角坐标,DH和DL中给出了正文窗口右下角坐标。AL中定义了翻滚的行数。若AL=00H,则正文窗口为空白。当滚动窗口时,底部行是空白行,其属性由BH中指定。视频服务程序07H(向下翻滚窗口)输入:AH=07HAL=翻滚行数BH=空白行属性CH=左上角行号CL=左上角列号DH=右下角行号DL=右下角列号输出:无说明:该服务程序用来创建和翻滚一正文窗口。CH和CL中给出了正文窗口左上角坐标,DH和DL中给出了正文窗口右下角坐标。AL中定义了翻滚的行数。若AL=00H,则正文窗口为空白。当滚动窗口时,顶部行为空白,其属性由BH中指定。视频服务程序08H(读字符和属性)输入:AH=08HBH=活动页号输出:AH=字符属性AL=字符码说明:该服务程序用于读取正文或视频模式下,光标所在处字符。在图形模式下,获取的字符同图形模式下使用的字符生成表有关。在正文模式下,将获得字符的ASCII码。字符属性存放在AH中,字符ASCII码存放在AL中。图形模式下,AH中内容无意义.视频服务程序09H(写字符和属性)输入:AH=09HAL=写字符的ASCII码BL=写字符的属性BH=活动页号CX=重复写字符和属性次数输出:无说明:该服务程序写一个字符到屏幕当前光标处。AL中指定字符码。正文模式下,BL中指定字符属性。图形模式下,BL指定背景颜色。字符可重复写。CX为写字符及属性的次数。视频服务程序0FH(取当前视频模式)输入:AH=0FH输出:AH=每行字符数AL=当前显示模式BH=活动页号说明:该服务程序用来获取当前视频模式,屏幕宽(以字符计),以及活动显示页号;视频显示模式存放在AL中。屏幕宽度(以字符计)存放在AH中,活动页号存放在BH中。文件相关函数 函数名:fopen 功能:打开一个流 用法:FILE*fopen(char*filename,char*type); 函数名:fclose 功能:关闭一个流 用法:intfclose(FILE*stream); fopen()函数提供了几种打开文件的方式,这是由其字符指针参数type决定的。以下给出打开方式列表:参数作用R只读W新建、可写,如果文件存在则覆盖A存在则在文件后附加,如果不存在则新建后写r+更新一个存在的文件(读和写)w+增加一个新的文件更新(读和写),如果文件存在则覆盖a+存在则在文件后附加(读和写),如果不存在则新建后更新(读和写)*以文本模式打开一个存在或新建的文件,附加”t”在参数后(rt,w+t,etc.)。*以二进制模式打开一个存在或者新建的文件,附加”b”在参数后(wb,a+b,etc.)。函数名:fseek 功能:重定位流上的文件指针 用法:intfseek(FILE*stream,longoffset,intfromwhere);读取文件函数: 函数名:fread 功能:从一个流中读数据 用法:intfread(void*ptr,intsize,intnitems,FILE*stream);写入文件函数: 函数名:fwrite 功能:写内容到流中 用法:intfwrite(void*ptr,intsize,intnitems,FILE*stream);fseek()函数提供了文件指针的三个初始位置,这是由其参数fromwhere决定的,以下给出其列表:常量值文件定位SEEK_SET0从文件头开始寻找SEEK_CUR1从文件当前位置开始寻找SEEK_END2从文件最后开始寻找 函数名:fprintf 功能:传送格式化输出到一个流中 用法:intfprintf(FILE*stream,char*format[,argument,...]); 函数名:fscanf 功能:从一个流中执行格式化输入 用法:intfscanf(FILE*stream,char*format[,argument...]);发声函数 函数名:sound 功能:以指定频率打开PC扬声器 用法:voidsound(unsignedfrequency); 函数名:nosound 功能:关闭PC扬声器 用法:voidnosound(void);常规内存操作函数申请函数:malloc(),farmalloc(),calloc(),farcalloc(),realloc(),farealloc()函数名:malloc功能:内存分配函数用法:void*malloc(unsignedsize);函数名:farmalloc功能:从远堆中分配存储块用法:voidfar*farmalloc(unsignedlongsize);函数名:calloc功能:分配主存储器用法:void*calloc(size_tnelem,size_telsize);函数名:farcalloc功能:从远堆栈中申请空间用法:voidfar*farcalloc(unsignedlongunits,unsignedlingunitsz);函数名:realloc功能:重新分配主存用法:void*realloc(void*ptr,unsignednewsize);函数名:farrealloc功能:调整远堆中的分配块用法:voidfar*farrealloc(voidfar*block,unsignedlongnewsize);使用函数:memcpy(),memset(),memmove(),movedata()函数名:memcpy功能:从源source中拷贝n个字节到目标destin中用法:void*memcpy(void*destin,void*source,unsignedn);函数名:memset功能:设置s中的所有字节为ch,s数组的大小由n给定用法:void*memset(void*s,charch,unsignedn);函数名:memmove功能:移动一块字节用法:void*memmove(void*destin,void*source,unsignedn);函数名:movedata功能:拷贝字节用法:voidmovedata(intsegsrc,intoffsrc,intsegdest,intoffdest,unsignednumbytes);释放函数:free(),farfree()函数名:free功能:释放已分配的块用法:voidfree(void*ptr);函数名:farfree功能:从远堆中释放一块用法:voidfarfree(void);指针操作函数:MK_FP(),FP_OFF(),FP_SEG()函数名:MK_FP功能:设置一个远指针用法:voidfar*MK_FP(unsignedseg,unsignedoff);函数名:FP_OFF功能:获取远地址偏移量用法:unsignedFP_OFF(voidfar*farptr);函数名:FP_SEG功能:获取远地址段值用法:unsignedFP_SEG(voidfar*farptr);如果想知道还剩下多少常规内存,我们可以使用以下函数:函数名:coreleft()功能:获取空闲内存用法:unsignedcoreleft(void);函数名:farcoreleft()功能:获取远堆空闲内存用法:unsignedlongfarcoreleft(void);XMS功能调用索引表:功能号功能版本功能00H功能01H功能02H功能03H功能04H功能05H功能06H功能07H功能08H功能09H功能0AH功能0BH功能0CH功能0DH功能0EH功能0FH功能10H功能11H取XMS版本号请求高内存区HMA释放高内存区HMA全程启用A20全程停用A20局部启用A20局部停用A20查询A20状态查询自由扩展内存分配扩展内存块释放扩展内存块移动扩展内存块锁住扩展内存块扩展内存块解锁取EMB句柄信息重新分配扩展内存块请求上位存储块UMB释放上位存储块UMBXMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS规范V2.0XMS功能调用函数1.测试xms是否存在使用中断2fH的43H(AH)功能的00H(AL)子功能,可以获得是否安装了XMS驱动程序的信息,如果AL返回为80H则说明XMS安装了。以下给出具体函数:chartest_xms(){asm{movax,0x4300int0x2f}if(_AL==0x80)XMS=1;return(XMS);}2.获取xms驱动程序入口地址使用中断2fH的43H(AH)功能的10H(AL)子功能,可以获得xms驱动程序入口地址,返回的ES:BX便是具体的入口。以下给出具体函数:voidget_driver_address(){if(XMS){asm{movax,0x4310//功能号43Hint0x2f//调用中断2fH}xms=(void(far*)())(((long)(_ES)<<16)+_BX);//取到指向xms服务函数的指针}}3.获取XMS版本号在获得XMS驱动程序入口地址之后,我们可以根据XMS驱动程序提供的功能号来调用具体的XMS功能,使用功能00H(AH)可以获得XMS的版本信息,AX返回XMS版本号,BX返回内部修订版本,以下给出具体函数:voidget_xms_version(unsigned*xms_ver,unsigned*int_ver){if(XMS){asmmovah,0x00//取得功能号xms();//调用XMS驱动程序*xms_ver=_AX;//返回xms版本号*int_ver=_BX;//返回内部修订本HMA=_DX;}}4.请求分配高端内存(HighMemoryArea)使用功能01H(AH)可以请求分配高端内存,同时DX给入要分配的内存字节数,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:charRequest_HMA(unsignedsize){charerror_code=0xff;if(XMS){asm{movah,0x01movdx,size}xms();error_code=_BL;}return(error_code);}5.释放高端内存使用功能02H(AH)可以释放高端内存,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:charRelease_HMA(){charerror_code=0xff;if(XMS){asmmovah,0x02xms();error_code=_BL;}return(error_code);}6.全程激活A20地址线使用功能03H(AH)可以全程激活A20地址线,用于使用HMA,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:charglobal_enable_A20(){charerror_code=0xff;if(XMS){asmmovah,0x03xms();error_code=_BL;}return(error_code);}7.全程关闭A20地址线使用功能04H(AH)可以全程关闭A20地址线,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:charglobal_disable_A20(){charerror_code=0xff;if(XMS){asmmovah,0x04xms();error_code=_BL;}return(error_code);}8.局部激活A20地址线使用功能05H(AH)可以局部激活A20地址线,用于直接访问扩充内存,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:charlocal_enable_A20(){charerror_code=0xff;if(XMS){asmmovah,0x05xms();error_code=_BL;}return(error_code);}9.局部关闭A20地址线使用功能06H(AH)可以局部关闭A20地址线,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:charlocal_disable_A20(){charerror_code=0xff;if(XMS){asmmovah,0x06xms();error_code=_BL;}return(error_code);}10.查询A20地址线状态使用功能07H(AH)可以查询A20地址线当前处于激活还是关闭状态,AX返回0001H表示激活、0000H表示关闭,失败时BL返回错误代码,以下给出具体函数:charquery_A20_state(unsigned*state){charerror_code=0xff;if(XMS){asmmovah,0x07xms();*state=_AX;//返回a20地址线状态error_code=_BL;}return(error_code);}11.查询空闲的扩充内存空间使用功能08H(AH)可以查询空闲的扩充内存空间,不包括HMA,AX返回最大的扩充内存块的大小(单位:K),DX返回总的扩充内存块的大小(单位:K),失败时BL返回错误代码,以下给出具体函数:charquery_free_xms(unsigned*max_block,unsigned*total){charerror_code=0xff;if(XMS){asmmovah,0x08xms();*max_block=_AX;//返回最大的扩充内存块的大小*total=_DX;//返回总的扩充内存块的大小error_code=_BL;}return(error_code);}12.分配扩充内存使用功能09H(AH)可以分配扩充内存,DX给入要求分配的内存块大小(单位:K),AX返回0001H表示成功、0000H表示失败,DX返回内存块的句柄,失败时BL返回错误代码,以下给出具体函数:charallocate_xms(unsignedsize,unsigned*handle){charerror_code=0xff;if(XMS){asm{movah,0x09movdx,size}xms();*handle=_DX;//返回句柄error_code=_BL;}return(error_code);}13.释放指定句柄所分配的扩充内存使用功能0AH(AH)可以释放指定句柄所分配的扩充内存,DX给入内存块的句柄,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:charfree_xms(unsignedhandle){charerror_code=0xff;if(XMS){asm{movah,0x0amovdx,handle}xms();error_code=_BL;}return(error_code);}14.移动扩充内存块使用功能0BH(AH)可以移动扩充内存块,DS:SI给入xms_mov结构,AX返回0001H表示成功、0000H表示失败,失败时BL返回错误代码,以下给出具体函数:typedefstructxms_mov{unsignedlongbyte_count;//移动的字节数unsignedsource_handle; //源句柄unsignedlongsource_offset;//源偏移量unsigneddestination_handle;//目的句柄unsignedlongdestination_offset;//目的偏移量}xmm;charmove_xms(xmm*xmm_ptr){charerror

温馨提示

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

评论

0/150

提交评论