毕业论文-基于autocad和mpc02运动控制程序的开发doc_第1页
毕业论文-基于autocad和mpc02运动控制程序的开发doc_第2页
毕业论文-基于autocad和mpc02运动控制程序的开发doc_第3页
毕业论文-基于autocad和mpc02运动控制程序的开发doc_第4页
毕业论文-基于autocad和mpc02运动控制程序的开发doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发1基于AUTOCAD和MPC02运动控制程序的开发(机械设计制造及其自动化)学生陈增强指导老师李翔龙摘要基于AUTOCAD和MPC02的设计与开发,使产品从在AUTOCAD上的设计到利用MPC02实现机床的运动控制,从而实现CAD/CAM一体化技术的小雏形,这也是先进制造技术发展的一个趋势,MPC02加工的精度高,最小精度是0001微米。AUTOCAD是一个功能很强的图形编辑系统,它提供了图形输入、图形编辑和图形输出的一个完整的工作环境,并且还可以把图形输出成DXF格式文件,以便其他程序读取、分析、加工和处理,其他程序也可以按照规定的格式生成DXF文件,AUTOCAD可以接受该DXF文件并转换成图形。MPC02控制卡是基于PC机PCI总线的步进机或数字式伺服机的上位控制单元,它与PC机负责人机互界面的管理和控制系统的实时监控等方面的工作(例如键盘和鼠标的管理、系统状态的显示、控制指令的发送、外部信号的监控等等);MPC02卡完成运动控制的所有细节,MPC02运动函数库用于二次开发,用户只要用VC或VISUALBASIC等支持DLL调用的开发工具编制所需的用户界面程序,并把它与MPC02运动链接起来,就可以开发出自己的控制系统,例如数控系统、检测设备、自动生产线。基于上述的介绍,本文所要进行的研究和开发工作就是以下几个方面(1)AUTOCAD把图形输出成DXF格式文件,(2)用VISUALBASIC60编一个DXF接口程序,把有用的数据提取出来,(3)用VISUALBASIC60编一个程序,实现对MPC02的运动控制,从而开发了一个基于AUTOCAD对MPC02的开发技术。关键词AUTCADMPC02运动控制程序ABSTRACTBASEDONAUTOCADANDMPC02,WEMAKETHEPRODUCTFROMDESIGNINGONTHEAUTOCADTOUSINGMPC02FORMOTIONCONTROLOFTHEMACHINEBED,ANDREALIZECAD/CAMINTEGRALTECHNIQUETHISISALSOATRENDOFFORERUNNERMANUFACTURINGONDEVELOPINGTECHNIQUEMPC02PROCESSESHIGHACCURACYMINIMUMACCURACYIS0001MICRONAUTOCADHAVEAEDITEDSKETCHSYSTEMWITHVERYSTRONGFUNCTION,ITPROVIDETHESKETCHTOINPUT,THESKETCHTOEDITANDCOMPLETEWORKENVIRONMENTOFSKETCHOUTPUTTINGITALSOCANMAKETHESKETCHOUTPUTTINGINTHEDXFFORMATIONDOCUMENT,SOTHATOTHERPROGRAMSCANREAD、ANALYSIS、PROCESSANDDEALWITHITTHEOTHERPROGRAMSCANALSOMAKETHEDXFSDOCUMENTFOLLOWINGTHERULES,ANDAUTOCADACCEPTTHEDOCUMENT,CONVERSINGSKETCHMPC02CONTROLCARDISACCORDINGTOPCMACHINEPCIORARITHMETICFIGURETYPEUNITITANDPCMACHINEREPRESENTATIVEDIRECTORSMACHINEWITHEACHOTHERDOTHEJOBOFINTERFACEWITHCONTROLLINGTHE四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发2SYSTEMSUPERVISEANDCONTROLLINGWAITINGTHEASPECTOFSTEPOFTHETOTALLINEFOREXAMPLETHEMANAGEWITHTHEKEYBOARDANDMOUSE、THEMANIFESTATIONOFTHESYSTEM、SENDINGOUTOFTHECONTROLLINGSUPERVISE,ANDEXTERIORSIGNALETCTHEMPC02COMPLETESALLDETAILSOFMOVINGCONTROLMPC02MOVINGFUNCTIONSTORESUSEFORDEVELOPMENT,ANDPROGRAMMERSONLYUSEVCORVISUALBASICWHICHARETHEDEVELOPINGTOOLSSUPPORTINGDLLFORWRITINGTHECUSTOMERINTERFACEPROGRAMTHATISNEEDEDCONNECTINGTHEPROGRAMWITHMPC02MOVING,WECANDEVELOPOUTTHEOWNCONTROLSYSTEMFOREXAMPLECONTROLSYSTEM,EXAMINATIONEQUIPMENTS,AUTOMATICPRODUCTIONLINEBASEONTHEABOVEINTRODUCTION,THISTEXTRESEARCHINGANDDEVELOPINGPROGRAMISBELOWAFEWASPECT1AUTOCADOUTPUTTHESKETCHWITHDXFFORMATIONDOCUMENT2USETHEVISUALBASIC60WRITEACONNECTINGPROGRAMOFDXF3USEVISUALBASIC60FORWRITINGAPROGRAMTOCONTROLMPC02SMOVING,SOAPROGRAM,ACCORDINGTOAUTOCADANDMPC02,ISDVELOPEDKEYWORDAUTOCADMPC02MOTIONCONTROLPROGRAM四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发3第一章程序开发综述11绪论先进制造技术是为了适应时代要求提高竞争能力,对制造技术不断优化及推陈出新而形成的。先进制造技术是制造业不断吸收机械、电子、信息(计算机与通信、控制理论、人工智能等)、能源及现代系统管理方面的成果、并将其综合应用于产品设计、制造、检测、管理、销售、使用、服务乃至回收的制造全过程,以实现优质、高效、低耗、清洁、灵活生产、提高对动态多变的产品市场的适应能力和竞争能力的制造技术的总称。在人类社会生产发展的历史长河中,蒸汽机和电机的应用延伸了人的体力劳动,催生了工业革命;而以计算机技术为核心的信息技术(INFORMATIONTECHNOLOGY,简称IT)的应用则延伸了人的脑力劳动,导致了一次新的工业革命制造业信息化。制造业信息化是本世纪人类最伟大的科技成果电子计算机在制造业应用发展的必然结果。从1946年第一台电子计算机问世以来的半个多世纪里,计算机的应用几乎扩展到制造业生产经营活动的所有领域,使传统制造业从工业社会大专业化社会生产向信息的专业化、信息化社会生产发展。计算机辅助设计与制造COMPUTERAIDEDDEIGNANDMANUFACTURING,简称CAD/CAM技术是计算机科学、电子信息技术与现代设计制造技术相结合的产物,是当代先进的生产力,被国际公认为20世纪90年代的十大重要技术成就之一。CAD/CAM系统以计算机硬件、软件为支持环境,通过各个功能模块(分系统)实现对产品的描述、计算、分析、优化、绘图、工艺规程设计、仿真以及NC加工。而广义的CAD/CAM集成系统还应包括生产规划、管理、质量控制等方面。CAD/CAM系统是一种从设计到制造的综合技术,能够对设计制造过程中信息的产生、转换、存储、流通、管理进行分析和控制,所以CAD/CAM系统是一种有关产品设计和制造的信息处理系统。CAD/CAM系统的组成应包括CAD,CAPP,CAM,CAE和工程数据库、产品数据交换标准、计算机网络等单元技术。CAD/CAM系统是以计算机硬件为基础,系统软件为主体,应用软件为核心组成的面向工程设计问题的信息处理系统。面对高速发展的计算机技术,CAD/CAM系统在理论方法、体系结构与实施技术上均在不断更新和发展。本论文就是秉承了CAD/CAM技术设计开发了这个基于AUTOCAD对MPC02的运动控制的程序,使零件从设计到制造成品。在AUTOCAD里,设计人员对零件进行设计开发,并用AUTOCAD的一种格式文件(”DXF”文件)保存在某个特定的位置,然后再用VISUALBASIC60编一个DXF接口程序提取有用的数据,例如直线,就要得到直线的起始点的坐标位置和终点的坐标信息,并将保存起来,VB程序将保存的数据转换成可利用的数据,并驱动电机运动,从而完成对零件的加工,这就四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发4是程序的整个总的概括。本程序的开发工作是由我和吴坤壁同学合作完成,吴坤壁同学完成前半部分的工作,而我完成后半部分的工作,所以在本论文中我主要介绍我完成的部分。12VISUALBASIC60的开发特点121VB的简介MICROSOFT公司推出的WINDIWS应用程序开发工具VISUALBASIC,VISUAL意为“可视化”,指的是一种开发图形用户界面(GUI)的方法,所以VISUALBASIC是基于BASIC的可视化的程序设计语言。在VISUALBASIC中,既继承了其先辈BASIC所具有的程序设计语言简单义勇的特点,其编程系统又采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把WINDOWS的编程复杂性封装起来,提供了一种所见即所得的可视界面设计方法,给广大非计算机专业人员学习、使用、研究和开发WINDOWS环境下的应用程序带来了福音。VISUALBASIC最早是由MICROSOFT公司在1991年推出的,刚推出的VISUALBASIC也有缺陷,功能也相对少了一些。经过了MICROSOFT公司的不断努力,1993年推出的VB30已初具规模,进入实用阶段,利用VB可快速地创建多媒体、图形界面等的应用程序。1995年、1997年和1998相继推出的VB40、VB50和VB60在开发环境、功能上进一步完善和扩充,尤其在数据库管理、网络应用方面更胜一筹,使得VB成为许多程序员首选的编程工具,本程序的设计开发就是利用VISUALBASIC60这强大的功能特点,下面我们就来谈一下VB的功能特点。122VB的功能特点VB主要的功能特点如下1具有面向对象的可视化设计工具具有面向对象的程序设计方法(OOP),把程序和数据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计的要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅编写针对对象要完成哪些功能的程序,因而程序设计的功率可提高许多。2事件驱动的编程机制事件驱动是非常适合图形用户界面的编程方式。传统的编程方式是一种面向过程,按程序事先设计的流程运行。但在图形用户界面的应用程序中,用户的动作即事件掌握着程序的运行流向,每个事件都驱动一段程序的运行。程序员只要编写响应用户动作的四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发5代码,各个动作之间不一定有联系。这样的应用程序代码较短,使得程序既易于编写又易于维护。3提供了易学易用的应用程序集成开发环境在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成执行文件,在WINDOWS中运行,使用户在友好的开发环境中工作。4结构化的程序设计语言VB具有丰富的数据类型、众多的内部函数和结构化程序结构,而且简单易学。5支持多种数据库系统的访问利用数据控件或ODBC能够访问的数据库系统有,MICROSOFTACCESS、BTRIEVE、DBASE、MICROSOFTFOXPRO和PARADOX等,也可访问MICROSOFTEXECEL、LOTUSL123等多种电子表格。6OLE技术VB的核心就是其对对象的链接与嵌入(OLE)的支持,利用OLE,VB能够开发集声音、图象、动画、字处理、WEB等对象于一体的应用程序。7ACTIVE技术ACTIVE技术发展了原有的OLE技术,它使开发人员摆脱了特定语言的束缚。可方便地使用标准的ACTIVE部件,调用标准的接口,实现特定的功能。8完备HELP联机帮助功能与WINDOWS环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可随时方便地得到所需的帮助信息;VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了捷径。123VB60新功能特点与以前的版本相比,VB60除了新增了一些控件、函数外,主要的改进是提供了功能强大的数据库和WEB开发工具。1新增控件新增了许多控件,如工具条控件COOLBAR、数据库控件ADODATA、日历界面时间控件DATETIMEPICKER和MONTHVIEW、图形组合框控件IMAGECOMBO等。2语言新功能(1)新增了较多的字符串函数,如筛选函数FILTER、连接函数JION、反向查找函数INSTRREV、分隔函数SPLIT、替换函数REPLACE等,还有日期等其他函数。(2)函数可以返回数组,动态数组可以赋值。(3)增加了文件系统对象,能全面地实现驱动器、子目录和文件的管理。3数据库功能的增强新增了功能强大、使用方便的ADOACTIVEDATABASEOBJECT技术,ADO是微软制四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发6订的应用程序级数据库访问接口,支持所有OLDDB数据库厂商。ADO包括了强有的ODBC,而且占有内存少,访问速度更快。同时提供的ADO控件,不但可以用最少的代码创建数据库应用程序,也可以取代DATA和RDO控件。4增强网络功能VB60最重要的新特性之一,是提供了DHTMLDYNAMICHTML设计工具。这种技术可以使WEB页面设计者动态地创建和编辑页面,使用户在VB中开发多功能的网络应用软件。5新增了多个应用程序向导VB新增的应用程序向导可以自动创建不同类型、不同功能的应用程序。有数据向导、数据窗体向导、IIS应用程序和DHTML等;同时已有的向导增强了功能。因为VISUALBASIC60有上述多种优点,所以我们选择了它作为我们的开发设计的工具,在下文分析设计的过程中我们将更加深入的介绍VB60在我们程序设计开发的运用。13AUTOCAD的DXF格式AUTOCAD是一个功能很强的图形编辑系统,它提供了图形输入、图形编辑和图形输出的一个完整的工作环境。其系统的灵活性和广泛的开放性决定了众多的应用程序选择它作为图形设计、编辑及前后处理的支撑平台。特别是AUTOCADR14提供了的面向对象的高级语言开发环境OBJECTARX,可以让应用程序开发者用面向对象的VISUALC或VISUALBASIC语言建立功能更加完整的基于AUTOCAD的应用程序。然而在某些应用中,其他用户应用程序需要使用或必须检查AUTOCAD生成的图形。而在另外的一些应用中,又需要使用AUTOCAD来观察、修改和输出由其他CAD生成的图形。由于AUTOCAD图形数据库(“DWG”文件)是以十分紧缩的二进制格式来存储的,并且该格式随AUTOCAD版本的更新及新特性的加入而经常发生大的变动,所以AUTODESK公司不提供这种文件的结构格式,也不鼓励用户编写程序直接读写该格式文件。AUTOCAD提供了另一种格式的文件,用于其他CAD系统及应用程序间的图形信息交换,这就是所谓的“图形交换文件(DRAWINGINTERCHANGEFILE)”,它是一种既严密又易于读取的文件格式。AUTOCAD把图形输出成DXF格式文件,以便其他程序读取、分析、加工和处理;其他程序也可以按照规定的格式生成DXF文件,AUTOCAD可以接受该DXF文件并转换成图形。131DXF文件的一般结构DXF文件的最小组成单位是组(GROUP)。一个DXF文件由多个组组成。每个组在DXF文件中占两行。第一行是组码(GROUPCODE),它是一个整数;第二行是组值(GROUP四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发7VALUE),它的数据类型取决于组码的数值。DXF文件的组码分成很多类,每类组码具有确定的用途,并确定其相应的组值的类型。每组均用组码作为其简称,例如,组码为0的组称为0组;组码为70的组称为70组。DXF文件分成多个节(SECTION),每个2均由多个组(GROUP)的组成。每个节均由一个组值为字符串SECTION的0组开始,后跟组值为表示节名的字符串的2组,其后为组成该节的各个组,最后以组值为字符串ENDSEC的0组表示该节的结束。所有节都结束后,在DXF文件的最后是组值为字符串EOFENDOFFILE的0组作为文件结束标志。典型的DXF文件由下面几个节组成(1)标题节(HEADER)标题节记录了图形的一般信息。它包括AUTOCAD图形数据库的版本号以及大量的系统变量。每个参数都有一个表示变量名字符串的9组和若干个表示变量值的组。(2)类节CLASSES类节保存由应用程序定义的类,而该类的实例则出现在块节(BLOCKS)、实体节(ENTITIES)和对象节(OBJECTS)中。(3)表节(TABLES)表节按顺序包含表131所述的9个符号表信息。表131符号表内容序号表名说明1APPID应用程序标识符表2BLOCK_RECORD块引用描述表3DIMSTYLE尺寸标注格式描述表4LAYER层描述表5LTYPE线型定义表6STYLE文本格式表7UCS用户坐标系统表8VIEW视图表9VPORT视口配置表(4)块节(BLOCKS)块节描述图形中所包含的块定义,包括块中的实体。(5)实体节(ENTITIES)实体节描述构成图形的所有实体和块引用,但不包括块内的实体。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发8(6)对象节(OBJECTS)对象节包含图形数据库中所有非图形实体的定义数据。所有那些既不是实体,也不是符号表记录,又不是符号表的实体出现在该节中。DXF文件的一般结构如下标题节开始0块节开始0SECTIONSECTION22HEADERBLOCKS标题节结束0块节结束0ENDSECENDSEC类节开始0实体节开始0SECTIONSECTION22CLASSESENTITIES类节结束0实体节结束0ENDSECENDSEC表节开始0对象节开始0SECTIONSECTION22TABLESOBJECTS表节结束0对象节结束0ENDSECENDSEC文件结束0EOF132实体节常用实体的定义格式实体节可以出现在DXF文件的BLOCKS和ENTITIES两节中。在这两节中实体的出现是等同的,但是BLOCKS节中的实体没有实体描述字。下面给出每个实体出现在文件中的格式。定义一个实体时,某些组一定要出现,而某些是任选的,并且仅在与它们的缺省值不同时才出现。在下面的讨论中,一定要出现的组成它的组码和功能来给出,而任选组用跟在组说明之后的“可选N”来指出。在组说明中“N”为缺省值。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发9阅读DXF文件是图形数据库的一个完整表示,并随着AUTOCAD的进一步改进,将给实体增加一些新组以完成另外的功能。用表驱动方式编写DXF处理程序,不能对某一个实体中组的顺序作任何假定,并应当忽略当前尚未定义的任何组。这将使它能更容易地与AUTOCAD将来的版本兼容。每个实体均从标识实体类型的一个组码0开始。后面我们会给出实体的DXF名称。每个实体都包含一个组码8,它后面给出实体所在的层名。每个实体均可以具有与它相关的高度、厚度、线型或颜色等信息。如果实体描述字有效,则每个实体均有一个组码5来容纳其描述字(以一个标识十六进制数的字符串表示)。在本论文中,我们主要用了实体的两个专用码,下面来介绍这两个专用码LINE100子类标记(ACDBLINE)10,20,30起点X,Y,Z11,21,31终点X,Y,ZARC100子类标记(ACDBLINE)10,20,30圆心坐标X,Y,Z40半径50起始角度(度)51终止角度14简要概括程序开发整个内容基于AUTOCAD和MPC02运动控制程序的开发是利用AUTOCAD和MPC02的特性,将它们连接起来,集成零件设计和加工为一体的控制程序,具有CAD/CAM的技术的小雏形,这也是制造业将来发展的趋势。本程序的设计开发分为两部分,前部分主要调用AUTOCAD、设计图形、保存图形并以DXF格式输出,后部分主要驱动电机运动,完成零件的加工。程序的执行过程如图141所示。打开本程序序调用AUTOCAD零件的设计以DXF格式输出并回到本程序的控制界面四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发10图141程序执行流程图141基于AUTOCAD的程序设计本程序的设计开发有别以往对AUTOCAD的设计开发,我们采用调用的方式打开AUTOCAD软件,然后在AUTOCAD里进行零件的设计开发,并将设计完后的零件以“DXF”格式保存在特定的位置,这一步是比较重要的一步,也是决定我们能否获得可靠数据的关键,所以我们这一步也用了比较多的时间来设计,确保正确无误。142基于MPC02的运动控制MPC02配备了功能强大、内容丰富的运动控制驱动软件工具,其运动函数库可用于二次开发,用户只要用VC或VISUALBASIC等支持DLL调用的开发工具编制所需的用户界面程序,并把它与MPC02运动库链接起来,就可以开发出自己的控制系统,例如数控系统、检测设备、自动生产线等。在这里我们开发的程序是把在AUTOCAD软件里设计的零件,通过MPC02加工完成的,这类似于数控系统。在接下来的第三章中,我将会详细的介绍这部分的设计过程。获得数据电机运动加工四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发11第二章MPC02运动控制介绍21概述MPC02控制卡是基于PC机PCI总线的步进电机或数字式伺服电机的上位控制单元,它与PC机构成主从式控制结构PC机负责人机交互界面的管理和控制系统的实时监控等方面的工作(例如键盘和鼠标的管理、系统状态的显示、控制指令的发送、外部信号的监控等等);MPC02卡完成运动控制的所有细节(包括脉冲和方向信号的输出、自动升降速的处理、原点和限位等信号的检测等等)。每块MPC02卡可控制3轴步进电机或数字式伺服电机,并支持多卡共用,以实现多于三个运动轴的控制;每轴均可输出脉冲和方向信号,以控制电机的运转;同时,可外接原点、减速、限位等开关信号,以实现回原点、保护等功能,这些开关信号由MPC02卡自动检测并作出反应。另外,MPC02卡还提供了适用于伺服系统的伺服使能和偏差清零信号接口,以及供用户使用的通用I/O接口。MPC02卡采用先进的专用控制芯片,具有梯形及S形升降速曲线,最高输出频率可达24MHZ,带有编码器反馈端口,主要适用于数字式交流伺服系统或闭环的步进电机控制系统。MPC02配备了功能强大、内容丰富的运动控制驱动软件工具。MPC02在插补算法和运动函数的执行效率方面采用了更有效的方法,提高了插补精度、插补速度和实时性。这些软件工具主要分为示范软件和运动函数库两大类。利用MPC02的示范软件既可以很快地熟悉MPC02控制卡的软、硬件功能,又可以方便快捷地测试执行电机及驱动系统在完成各种运动时的性能特性。MPC02运动函数库用于二次开发,用户只要用VC或VISUALBASIC等支持DLL调用的开发工具编制所需的用户界面程序,并把它与MPC02运动库链接起来,就可以开发出自己的控制系统,例如数控系统、检测设备、自动生产线等。MPC02的运动函数库能够完成与运动控制有关的复杂细节(比如升降速、直线插补、圆弧插补等),这样就可以大大缩短控制系统的开发周期。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发1222MPC02硬件介绍221MPC02硬件结构MPC02控制卡作为开发运动控制系统的平台,其结构是开放式的。该卡插在PC机PCI扩展槽内使用,同时使用控制卡的数量和各卡上的控制轴数可方便地配置;MPC02卡提供了功能强大的运动控制函数库,并可以充分利用PC机现有的资源来开发完美的运动控制系统。MPC02控制卡的结构示意图如下222MPC02的技术特性和使用范围MPC02控制卡主要特征有开放式结构、使用简便、功能丰富、可靠性高等。MPC02的特征体现在硬件和软件两个方面在硬件方面采用PC机的PCI总线方式,适用范围广,卡上无需进行任何跳线设置,所有资源自动配置在WINDOWS98及WINDOWS2000操作系统中支持即插即用,使用非常方便;MPC02的接线方式采用SISC型插头,可使用屏蔽线缆,并且所有的输入、输出信号均用光电隔离,提高了控制卡的可靠性和抗干扰能力;在软件方面提供了丰富的运动控制函数库,以满足不同的应用要求。用户只需根据控制系统的要求编制人机界面,并调用MPC02运动函数库中的指令函数,就可以开发出既满足要求又成本低廉的多轴运动控制系统。MPC02的技术指标主要有3轴步进机或数字式伺服控制;脉冲输出速度可代24MPS梯形、S形加速度;运动中可变速;多轴高速线性插补;圆弧、椭圆和螺旋插补;可输脉冲/方向或双脉冲信号;四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发13每轴带有SERVOON和SERVOCLS信号每轴带有原点、减速和限位开关等接口;4个通用输入开关信号,8个通用输出开关信号;可外接编码器位置反馈(A型);具有外部定时器中断;WINDOWS环境下WDM、DLL库;演示和测试软件、例子程序。正是由于MPC02的开放式结构,使之应用范围十分广泛,在由步进机和数字式伺服机组成的基于PC机的运动系统中,都可以使用MPC02作为核心控制单元,例如数控机床、加工中心、机器人等;XYZ控制台;绘图仪、雕刻机、印刷机械;送料装置、云台;打标机、绕线机;医疗设备;包装机械、纺织机械;等等。223MPC02的接口技术MPC02控制卡采用68芯SISC接口,外接线可采用屏蔽线缆,以提高控制卡的抗干扰能力。其中开关量信号(原点、减速、限位以及I/O信号等)采用1224DCV光电隔离;脉冲量信号(脉冲、方向、编码器反馈等)采用5DCV高速光电隔离。1信号接口定义MPC02卡SISC68的接口定义为表221表221编号名称定义编号名称定义1OUT7输出72OUT6输出63OUT5输出54OUT4输出45OUT3输出36OUT2输出27OUT1输出18OUT0输出09SRV1伺服使能110CLR1偏差清零111SRV2伺服使能212CLR2偏差清零213SRV3伺服使能314CLR3偏差清零315GND2424V电源地16DCV2424V电源正17PUL1脉冲118PUL1脉冲1四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发1419DIR1方向120DIR1方向121PUL2脉冲222PUL2脉冲223DIR2方向224DIR2方向225PUL3脉冲326PUL3脉冲327DIR3方向328DIR3方向329GND55V电源地30DCV55V电源正31IN1输入132IN2输入233IN3输入334IN4输入4编号名称定义编号名称定义35EA3编码器A336EA3编码器A337EB3编码器B338EB3编码器B339EZ3编码器Z340EZ3编码器Z341EA2编码器A242EA2编码器A243EB2编码器B244EB2编码器B245EZ2编码器Z246EZ2编码器Z247EA1编码器A148EA1编码器A149EB1编码器B150EB1编码器B151EZ1编码器Z152EZ1编码器Z153SD1负向减速154SD1正向减速155EL1负向限位156EL1正向限位157ORG1原点158SD2负向减速259SD2正向减速260EL2负向限位261EL2正向限位262ORG2原点263SD3负向减速364SD3正向减速365EL3负向限位366EL3正向限位367ORG3原点368ALM外部报警输入表221(续表)注除通用输入/输出信号外,信号名称中的1、2、3分别对应MPC02卡上的第1、2、3轴。各接口信号的详细说明如下表222表222类型功能编号说明脉冲量脉冲/方向1728脉冲/方向信号与步进电机驱动器或数字式伺服电机驱动器相连以控制其运转。脉冲/方向信号为光电隔离的差分式输出信号,以提高其抗干扰能力。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发15对于仅需要单端式信号的驱动器,只要接该差分信号的正端即可(参见接线方法);对于接收双脉冲信号的驱动器,PUL端为正转(CW)脉冲输出端,DIR端为反转(CCW)脉冲输出端(这种情况下,应调用SET_OUTPUT_MODE设置MPC02卡的脉冲输出模式,参见SET_OUTPUT_MODE函数说明)。编码器反馈3552编码器反馈输入接口用于接收外部旋转式光电编码器或直线光栅尺等的A/B相90相位差信号和Z相零位信号。MPC02卡的编码器反馈输入采用光电隔离的差分接收方式。对于单端输出的编码器信号,将MPC02卡的信号正端()接编码器电源(应为5V电源,若不是5V请与供应商联系)的正极,信号负端()接编码器的单端信号。信号光隔电源29、305V光电隔离电源。为脉冲/方向提供光电隔离和差分信号的驱动。该电源由外部提供。限位55、5660、6165、66MPC02卡上每个控制轴有两个限位输入信号(EL和EL)。在MPC02卡发送脉冲时,如果接收到相应的限位信号,MPC02卡将立即停止发送脉冲。减速53、5458、5963、64MPC02卡上每个控制轴有两个减速输入信号(SD和SD)。在MPC02卡执行快速指令发送脉冲时,如果接收到相应的减速信号,MPC02卡将以设定的加速度减速至低速。原点57、62、67MPC02卡上每个控制轴有一个原点输入信号(ORG)。在MPC02卡执行回原点指令发送脉冲时,如果接收到相应的原点信号,即表示已到达原点,MPC02卡将立即停止发送脉冲。伺服使能9、11、13MPC02卡上每个控制轴有一个伺服使能输出信号(SRV),通过调用SET_SERVO_ON函数来控制伺服系统的SERVOON状态。偏差清零10、12、14MPC02卡上每个控制轴有一个伺服偏差计数器清零信号(CLR),通过调用SET_SERVO_CLR函数来清除伺服系统的偏差计数器。外部报警68MPC02卡有一个共用的外部报警输入信号,当MPC02卡接收到该信号时,卡上的各轴将立即停止发送脉冲。通用输入3134MPC02卡提供4个通用的光电隔离输入口,供用户使用。通用输出18MPC02卡提供8个通用的光电隔离输出口,供用户使用。开关量信号光隔电源15、161224DCV的光电隔离电源,该电源由外部提供,为所有开关量信号提供光电隔离的驱动。表222(续表)注在系统中若不需要减速、原点、伺服使能、偏差清零,可将其作为通用I/O使用。2接线方法MPC02卡的开关量输入信号(限位、减速、原点、外部报警和通用输入),可以是触点型开关,也可以是NPN输出的传感器接近开关等。其接线方法如图31所示。MPC02卡的开关量输出信号(伺服使能、偏差清零和通用输出),可以作为伺服系统的输入开关信号(伺服ON、偏差计数器清零)或驱动12/24DCV的中间继电器或光电四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发16耦合器。其接线方法如图32所示。MPC02卡的脉冲/方向输出信号,作为步进电机或数字式伺服电机驱动器的控制信号,脉冲信号的频率决定电机的转速,脉冲信号的个数决定电机的转角。脉冲和方向信号的接线方法如图33所示。MPC02卡的编码器反馈输入信号,用于接收外部旋转式光电编码器或直线光栅尺等的A/B相90相位差信号和Z相零位信号。其接线方法如图34所示。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发1723MPC02软件介绍231MPC02运动控制功能MPC02控制卡的运动控制功能主要取决于运动函数库。运动函数库为单轴及多轴的步进或伺服控制提供了许多运动函数单轴运动、多轴独立运动、多轴插补运动等等。另外,为了配合运动控制系统的开发,还提供了一些辅助函数中断处理、编码器反馈、间隙补偿等。下面简单介绍一下这些函数的功能。1单轴运动控制单轴运动有三个基本的类型点位运动(PMOVE)连续运动(VMOVE)回原点运动(HMOVE)这些运动又可以在常速模式或梯形速度模式下工作因此总共有六种基本运动类型列表如下CON_PMOVE以常速移动指定距离(图(A)FAST_PMOVE以梯形速度移动指定距离(图(B)CON_VMOVE以指定的常速连续运动(图(C)FAST_VMOVE加速后保持在指定高速的连续运动(图(D)CON_HMOVE以常速运动至原点(图(E)FAST_HMOVE加速后快速移至原点位置(图(F)四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发18带有升/降速控制的运动函数称之为快速(FAST)运动函数,譬如FAST_PMOVE,FAST_VMOVE和FAST_HMOVE,而常速运动函数则称之为常速(CON)运动函数,如CON_PMOVE,CON_VMOVE,CON_HMOVE2多轴独立运动控制多个运动轴能以独立的形式进行点位运动、连续运动和回原点运动(同时开始,不一定同时到达)这类运动一般在函数名的末尾以2或3来指明参加运动的轴数,例如CON_PMOVE2是一个两轴同时独立做点位运动的函数,FAST_HOME3是三轴独立做回原点运动的函数。这一类函数总共有12个。3多轴插补运动控制多轴插补函数能以特定的矢量速度执行线性、圆弧、椭圆和螺旋插补运动。参与插补运动的各轴同时开始运动,并且按照特定的算法同时到达各自的目标位置。线性插补函数允许两轴或三轴沿直线运动;圆弧类插补函数允许两轴沿着圆弧或椭圆运动,以及三轴作螺旋运动。做直线插补运动时,可以采用均匀矢量速度方式或梯形矢量速度方式。例如,FAST_LINE3函数让三轴以梯形矢量速度走直线运动。这一类的函数总共有六个。4运动指令执行方式运动指令可以两种方式运行,批处理方式和立即方式。(1)批处理方式主要在多条不同的运动指令连续执行时使用。在这种方式下只有上一条运动指令控制的所有轴全部运动完毕后才开始下一条运动指令的执行。(2)立即方式主要在单指令实时控制不同的轴运动时使用。该方式下不等上一条运四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发19动指令控制的所有轴运动完毕即开始下一条运动指令的执行。若新发出指令控制的轴只要未处于运动状态则立即开始按新运动指令运动,否则新发出指令不予执行并返回一个错误。这种方式若用在多条不同的运动指令连续执行时使用可能造成某些指令无法执行,除非开发人员通过检查运动状态或错误代码加以避免。以下代码示例说明同一批运动指令按不同方式执行后的区别(假设1、2两轴速度设置相同)批处理方式SET_BATCH_FLAG1CON_PMOVE1,1000CON_PMOVE2,2000CON_PMOVE1,1000运行后运动轨迹如下立即方式SET_BATCH_FLAG0CON_PMOVE1,1000CON_PMOVE2,2000CON_PMOVE1,1000运行后运动轨迹如下其中第三条指令执行不到,因为第三条指令发出时第一条指令控制的1轴正在运动四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发20232MPC02的函数描述一控制卡和轴设置函数该类函数主要用于设置MPC02卡的使用数量、控制轴数以及每轴的输出模式,速度、加速度、S形曲线等的设置和读取等等。相关函数有INTAUTO_SETVOID;/自动检测和自动设置控制卡/INTINIT_BOARDVOID;/对控制卡硬件和软件初始化/INTGET_MAX_AXEVOID;/读取总轴数/INTSET_OUTMODEINTCHINTMODEINTOUTLOGIC;/设置各轴输出模式/INTSET_HOME_MODEINTCHINTHOME_MODE;/设置回原点模式/INTSET_CONSPEEDINTCHDOUBLECONSPEED;/设置各轴常速度/DOUBLEGET_CONSPEEDINTCH;/读取各轴常速度/INTSET_PROFILEINTCHDOUBLELSDOUBLEHSDOUBLEACC;/设置梯形速度/INTGET_PROFILEINTCHDOUBLE/设置1轴常速度SET_CONSPEED2,1000/设置2轴常速度SET_VECTOR_CONSPEED1000/设置矢量常速度用于插补函数ARC_CENTER1,2,0,2000,180CON_PMOVE1,4000CON_PMOVE2,4000ARC_CENTER1,2,2000,0,180CON_PMOVE2,4000CON_PMOVE1,4000ARC_CENTER1,2,0,2000,180CON_PMOVE1,4000CON_PMOVE2,4000ARC_CENTER1,2,2000,0,180CON_PMOVE2,4000CON_PMOVE1,4000通过这个例子,我们就能比较清楚的知道怎样通过指令来控制MPC02的运动,这将有助于我们的设计。24MPC02运动控制系统的开发利用MPC02的动态链接库(DLL),开发者可以很快开发出WINDOWS平台下的运动控制系统。MPC02动态链接库是标准的WINDOWS32位动态链接库,选用的开发工具应支持WINDOWS标准的32位DLL调用。以下介绍如何利用常用的开发工具MICROSOFTVISUALBASIC开发基于WINDOWS平台的运动控制程序。241概述四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发31为了开发基于WINDOWS的运动控制程序,用户可以使用VB50或更高版本,开发一个简单的VISUALBASIC控制程序非常容易。按照如下步骤可以快速开发一个简单的控制程序。(1)安装MPC02驱动程序及函数库;(2)用VISUALBASIC写一个界面程序(3)将MPC02BAS文件添加到VBPROJECT中去;(4)在应用程序中调用运动函数。所有VISUALBASIC的教材都介绍了如何写介面程序,包括按钮、对话框以及菜单等。对于熟悉VISUALBASIC和MPC02运动函数库的开发者来说,一个由输入框和命令按钮组成的基于WINDOWS的简单运动程序可以在几分钟内就可以开发出来。当然开发一个复杂的运动应用程序所需的时间可能会长一些。242动态链接库函数调用方法在VB中调用动态链接库(DLL)中函数应包括两部分工作函数声明每一个动态链接库(DLL)中的函数在VB中的声明已经包含在MPC02BAS文件中了,该文件可在MPC02卡软件安装盘MPC02WIN98DLLVB文件夹下找到,用户只需要将该文件添加进VB工程中即可。函数调用若调用函数的返回值为空或不需要返回值,则按如下方法调用CON_PMOVE1,2000或CALLCON_PMOVE1,2000若要得到函数的返回值,则按如下方法调用DIMRTNASLONGRTNCON_PMOVE1,2000注意传递的参数数据类型及接收返回值的变量类型应与函数声明的数据类型一致,并且建议函数描述中所有INT型(C语言中的整形)和LONG型(C语言中的长整形)参数及返回值均统一采用LONG型(VB中的长整形)数据类型;所有的FLOAT(C语言中的单精度浮点型)和DOUBLE(C语言中的双精度浮点型)参数及返回值均统一采用DOUBLE型(VB中的双精度浮点型)数据类型,否则将可能产生无法预料的结果。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发32第三章运用VB60对MPC02的二次开发31界面的设计在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一个对象,而每个对象都是可视的。程序员的设计时只需用现有工具数据界面设计的要求,直接在屏幕上“画”窗口、菜单、按钮、滚动条等不同的类型的对象,并为每个对象设置属性。本程序用VB设计了一个控制MPC02运动的界面如图31所示。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发33图31MPC02控制卡的界面主要由7个按钮控件、运动参数框、矢量速度框、反馈信息框组成,每个按钮控件实行每个功能,而在运动参数框和矢量速度框里则设置各种参数,从而组成完成各个动作。下面就来介绍一下,界面各控件的功能。(1)在运动参数框里,主要设置X、Y轴的轴号。在第二章对MPC02的介绍中,我们知道MPC02可对立体零件的加工,但本程序的设计只针对平面的加工,所以只需要对X、Y轴的设置,默认的轴号设置是轴1、轴2。(2)在矢量速度框里,主要是对各轴速度的设置。框里包括有常速速度、起始速度、最大速度和加速度。在常速加工中,只需要常速速度,在对MPC02函数的调用就只需要常速速度,而其他的速度设置则可以不用理会,这并不会影响到加工的速度。相反,进行快速加工时,则需要起始速度、最大速度和加速度,这时同样不用理会常速速度的设置。矢量速度的默认设置为常速速度为1000PPS、起始速度为1000PPS、最大速度是5000PPS和加速度为1000PPSS。(3)反馈信息框主要是把轴X、Y的位置显示出来,从而我们可以知道轴在哪个位置,加工到哪一段。(4)控件名为“AUTOCAD”的按钮是用来调用AUTOCAD的,从而在AUTOCAD上进行设置,并以DXF的格式输出。四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发34图32单击该按钮打开AUTOCAD后,就可以在AUTOCAD进行各种图形的设置,画出我们需要的图形,如图33。绘完图后需要把图形进行保存,在这里是把图形保存成DXF格式,这方便于以后的数据处理,如图34。(5)控件名为“获取数据”的按钮,主要是把界面的数据赋给数组变量,并AUTOCAD的“DXF”进行处理,把获得的数据存储在特定的地方,为以后MPC02运动控制卡提供数据。(6)控件名为“常速加工”的按钮,主要是驱动MPC02控制卡进行常速速度进行运动。(7)控件名为“快速加工”的按钮,主要是驱动MPC02控制卡进行快速速度进行运动。(8)控件名为“缓停”、“急停”、“快速复位”的按钮,分别驱动MPC02控制卡缓停、急停和快速复位的运动。打开AUTOCAD四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发35图33图3432编写程序代码在AUTOCAD进行图形的绘制。保存为DXF四川大学本科毕业论文基于AUTOCAD和MPC02运动控制程序的开发36面向对象的程序设计是伴随WINDOWS图形界面的诞生而产生的一种新的程序设计思想,与传统设计有着较大的区别,VISUALBASIC就采用了面向对象的程序设计思想。所谓“对象”就是一个可操作的实体,如窗体,以及窗体中的按钮、文本框等控件。每个对象都能响应多个不同的事件,每个事

温馨提示

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

评论

0/150

提交评论