首页 PMAC卡简介教程文件

PMAC卡简介教程文件

举报
开通vip

PMAC卡简介教程文件PMAC卡简介1.PMAC卡-简介和预备知识PMA中是功能非常强大的运动控制卡,但是网上PMAC勺教程很少,仅有的几个教程还是官网培训教程,罗列概念和记流水账,最不喜欢这样的教程。自己学习PMA球的时候走了许多弯路,冈妆子找完工作就写一下PMAC勺相关教程,看完整个系列的教程,相信对于PMAC勺使用是没有问题的,主要分为以下几个模块:简介和预备知识PMACM件PMACF位机编程PMACt位机编程PMACJ介PMA魂本上算是自动控制行业中功能最强大的运动控制卡了,虽然价格不菲,但是使用及其方便,功能也极其强大,怎么强...

PMAC卡简介教程文件
PMAC卡简介1.PMAC卡-简介和预备知识PMA中是功能非常强大的运动控制卡,但是网上PMAC勺教程很少,仅有的几个教程还是官网培训教程,罗列概念和记流水账,最不喜欢这样的教程。自己学习PMA球的时候走了许多弯路,冈妆子找完工作就写一下PMAC勺相关教程,看完整个系列的教程,相信对于PMAC勺使用是没有问题的,主要分为以下几个模块:简介和预备知识PMACM件PMACF位机编程PMACt位机编程PMACJ介PMA魂本上算是自动控制行业中功能最强大的运动控制卡了,虽然价格不菲,但是使用及其方便,功能也极其强大,怎么强大自己去搜啦,这是官网链接。PMACI一系列控制卡的简称,常用的有PMAC1PMAC2TurboPMAC1TurboPMAC2UMACClipper等,基本功能和使用方法是一样的,这里我使用的是TurboPMAC1控制卡。在国内PMACT多家代理,笔者固定联系的是苏州均信,维修的话有北京泰道公司,北京泰道公司的官方QQS号为190220668,在群里面可以提问,有各路大神和官方人员解答疑问,群共享里面也有许多资料供学习。运动控制基础“工欲善其事,必先利其器”,在本文中还是先说一下运动控制相关理论,这里只是一些基本概念,深入了解还是要自行查看相关资料。定义:在复杂条件下将预定的控制 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 规划 污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文 指令转变成期望的机械运动,实现机械运动精确的位置控制、速度控制、加速度(转矩)的控制。最简单的运动控制系统我们考虑一个最简单的控制卡-驱动器-电机反馈运动控制系统控制器一A执行机构被控对象控制器:根据要求的参考输入信号(如位移、速度、力等),产生相应的控制信号,这里对应PMA的制卡。执行机构:根据运动控制器发出的控制信号,产生操作量,作用在被控对象上,带动被控对象产生相应的运动。运动控制中执行机构通常由电机及其驱动器组成的,其中驱动器提供电机功率,使得电机做旋转或直线运动。被控对象:将被操纵的机器设备称为被控对象。这里对应常用旋转电机运动模组或直线电机模组。传感器(反馈检测装置):对被控对象的过程实际信号(如实际位移、实际速度、实际力等)进行检测、转换为电信号,经整形、放大提供给控制器,从而对被控对象构成闭环负反馈控制。常用的传感器有光电编码器、光栅尺、测速发电机和张力/压力控制器等。如上图,可以看到运动控制系统有反馈检测装置,就拿这里的运动控制系统来说,不使用反馈控制的运动控制系统就叫开环系统,反馈控制的是通过编码器采集的信号来反馈的运动控制系统就叫半闭环控制系统(因为此时的被控对象的信号是间接的方式得到的),反馈控制的是通过光栅尺采集的信号来反馈的运动控制系统就叫全闭环控制系统。三环控制关于三环控制,有一篇比较通俗的文章( 原文 少年中国说原文俱舍论原文大医精诚原文注音大学原文和译文对照归藏易原文 链接),这里截取一段,稍作修改如下:运动伺服一般都是三环控制系统,从内到外依次是电流环、速度环、位置环,这三环一起构成一个完整的运动控制系统。1、电流环:电流环的输入是速度环PID调节后的输出,我们称为“电流环给定”,然后电流环的这个给定和“电流环的反馈”值进行比较后的差值在电流环内做PID调节输出给电机,“电流环的输出”就是电机的每相的相电流,“电流环的反馈”不是编码器的反馈而是在驱动器内部安装在每相的霍尔元件(磁场感应变为电流电压信号)反馈给电流环的。2、速度环:速度环的输入就是位置环PID调节后的输出以及位置设定的前馈值,我们称为“速度设定”,这个“速度设定”和“速度环反馈”值进行比较后的差值在速度环做PID调节后输出就是上面讲到的“电流环的给定”。速度环的反馈来自于编码器(光栅尺)的反馈后的值经过“速度运算器”得到的。3、位置环:位置环的输入就是外部的脉冲(如在控制卡中输入的待运动位置指令),外部的脉冲经过平滑滤波处理和电子齿轮计算后作为“位置环的设定”,设定和来自编码器反馈的脉冲信号经过偏差计数器的计算后的数值在经过位置环的PID调节后输出和位置给定的前馈信号的合值就构成了上面讲的速度环的给定。位置环的反馈也来自于编码器(光栅尺)。在上图中,我标出了三环控制和运动控制系统基本组成的对应关系,可以看到三环控制是把控制器、执行结构、被控对象和反馈检测细化了,上图中是一种常用的伺服电机驱动模式一一速度控制模式(即电机驱动器包括速度环和电流环),其他的伺服电机驱动模式包括位置控制模式、力矩控制模式等等。还需要注意的是在每一环的控制中,我们引入了PID控制的概念。PID控制(f)Plant/Process4佰后号e(t)的tr信号u(t)WkIPID是在工业控制中经典的控制算法,现在仍然被普遍的采用。当我们知道被控对象目标控制值,和当前被控对象实际测量值,那么就可以计算出实际控制差值,这就是反馈,那么拿到这个反馈要如何处理得到输出信号给被控对象使得被控对象的实际测量值越来越接近目标控制值呢?这时候就要有一种计算输出信号的算法,这里就该PID工作了。PID详细名称为:比例-积分-微分控制方式,是一种误差控制算法,综合作用可以使系统更加准确稳定的达到控制的期望。关于PID算法的原理和调节策略通俗讲解参见这篇文章。如果想深入研究,参见这篇文章,英文好的好的话也可以参见wiki。在使用PMACI成运动控制白时候,调整PID是必不可少的一个环节,一定要对PID原理有基本了解和知道PID的调节步骤。2.PMAC硬件-一个运动控制系统的实例运动控制系统的构成有很多方式,你可以使用嵌入式系统、专用运动控制PLG工控机+运动控制卡、专用数控装置等等。PMAC!制一般采用的都是工控机+运动控制卡(IPC)的方式,这样有搭建系统比较灵活,可扩展性强等优点。下面是一个完整的PMAC!动控制系统硬件组成和接线及信号传输示意图。里少用.他坐刷电稀整个运动控制系统按信号流通顺序,由PC->PMA牛->PMAC卡转接板->电机驱动器->电机(编码器)->运动模组(限位传感器)构成。图中红色线为信号传输示意图。对于一个控制系统来说,都有驱动电路和控制电路两路电。图中,驱动电路主要用于给驱动器供电,处理后输出电机驱动电以供电机正常工作,这里不同的驱动器要求不一样(220V或380V),这里为了简单使用220V。图中,控制电路主要控制整个系统:.交流接触器控制主驱动回路的通断(可采用直流接触器24V或交流接触器220V,这里用220V).电机驱动器控制电路供电(不同的驱动器要求不一样,直流24V或交流220V,这里为了简单使用220V).转接板供电(转接板是将PMAC勺信号分流,可使用官方转接板或自行 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的转接板,220V变压后输出15V给转接板供电).图中的限位传感器供电,220V变压后输出24V给转接板供电。(这里只是示意,实际中信号线和供电线都是从转接板走线)卜图是更加形象的说明整个系统的构成:图中的正负限位起保护作用,零限位用于编码器+滚阻丝杠模组回零时找到原点(因为编码器一般是增量编码器、不知道自己的当前位置),如果是光栅尺反馈也可以使用标记原点来回零。注意图中的运动模组,这里使用的是伺服电机+编码器+滚珠丝杠模组,构成半闭环系统,也可以使用直线电机+光栅尺(或伺服电机+编码器+滚珠丝杠模组+光栅尺)构成全闭环系统。如果是滚珠丝杠模组,需要了解导程这个概念,即丝杠转动一周模组前进的距离,常见导程为10mm,20mm如果是使用光栅尺作反馈,需要了解光栅尺分辨率这个概念。光栅尺的分辨率,是指光栅尺可读取并输出的最小长度变化,对应的参数有:每毫米光栅刻线数、脉冲数、细分等。目前国内光栅尺分辨率一般有5(im1m0.5m0.2pm0.1m以每毫米50线光栅为例,经过4细分,就能得到很简单的5dm的分辨率,至于高分辨率的光栅尺,就必须采用电子细分技术。再说整个模组的定位精度和重复定位精度,简单来说定位精度就是在一次定位测量中运动测量结果和实际目标指令距离的偏差范围,重复定位精度就是在多次定位测量中运动测量结果相互之间的偏差范围。整个模组的定位精度和重复定位精度是我们在设计一个运动控制系统时必须考虑的因素,这个受诸多因素的影响,必须认真考虑。如光学部分、机械部分、电气部分等等。这里有个常见的问题需要强调,整个模组的定位精度和重复定位精度是由实际测量元件和运动元件决定的,如果只是提高编码器、光栅尺等测量元件的精度,对于运动部分(电机、模组)的精度不够,那么整个模组的定位精度和重复定位精度依旧提不上去,举个最简单的例子,现在在100mmb,想运动到100.1mm处,光栅尺、编码器的精度可精确到0.1um,但是电机+模组精度有限,一个脉冲就跑了1mm那么无论如何也是不能够跑到100.1mm处的啦。经常有人说我的测量精度是够的,为什么不能够到精确运动啊,这个很可能和你的运动部分有关系。3.PMAOM件-组成和接口及安装拿到一块PMACK首先我们要看一下他的硬件组成(DSP)和提供的各种接口(I/O、串口等),然后就开始做准备工作(设置跳线),最后是安装(插槽PCI和转接板)。硬件组成和接口PMA会基于MotorolaDSP的伺服控制卡,不同型号的PMACT控制的最大轴通道个数不一样,DSFffl号也不一样。有专门的伺服芯片来完成编码器反馈计算等工作,PMA取最容易坏的地方就是这组芯片,实际部署时要做好接地保护和高压保护,一定不要热插拔。我所在实验室用的是TurboPMACPCI1,我也是用这个做示例,其他的诸如UMACClipper等系列应该差不多,请自行研究。如下图标出了常用接口:•耳触。七锯*£匕1口-4糊JEXP是安装扩展板卡的扩展口,如常见的增加通道个数(默认为8个通道)的卡等等,这是官网的扩展卡选配链接。JMACH和JMACH於别是对应1-4轴及5-8轴的控制信号输出通道,一般和转接板相连。JOPTO8路输出和8路输入通道口,一般的IO信号输出输出使用它。PMACT各种和上位机(PC)相连的方式,这里采用PCI接口,不同的型号还有VMEUS理方式。其他接口概不详述,请查阅手册。准备工作在上图中,我标出了跳线的位置,图中包括两种:使用跳线帽(红色)跳线和未跳线。跳线就相当于我们使用的软件设置选项一样,通过设置不同的跳线来配置不同的硬件功能,这是根据使用需求决定的,一般默认跳线是满足通用需求的。常用跳线如下:.供电跳线一般采用默认如下:E8sE87、E88选择OFFE89跳线选择ONE90跳线选择1-2E100跳线选择1-2.电机控制跳线E17A、E17BE17C、E17D跳线选择OFF(控制伺服电机选择OFF,控制音圈电机/直线电机选才iON.中断跳线中断是下位机(PMAC同上位机通信的机制,这里我们需要通过跳线配置中断触发的通道和变量。查阅硬件手册E54-E65用于设置中断,这里手册有点不清楚,我来解释一下,比如对于E54:LPointandPh\skillLayoutLocntwnDescriptionDefaultE54①B7JiiiH].pu_1iv2icallowEQUitoniieiiiip[PCarPMACmTenrprlevelIR*.Nuiiuupeiinstilled可知默认没有跳线,一旦找到跳线,使用跳线帽连接,允许通过EQU81道来向上位机发送中断请求以完成向上通信,这个中断级别为IR7,级别越高,越先被响应,PMACI户可使用的有IR5、IR6、IR7三个中断级别,IR1-IR4应该是被PMA3身保留采用。那么这里EQU吃什么通道呢,再查手册,可以看到EQU81JEQUR口的一个通道,如下图J9(JEQUKPosition*CompareConnectorJ9JtQV(1O-PinConnector)&fooooo]110oooco*Pin4SyimholFuMfhnNotes1EQUlQiiqjutEncoder1CLow”TRUEEQU工OmpuiEncoder2Cemp-EQLow|§TRUE3EQU3Qii([iiiiEncoderXUmtnp-EQLowisTRUE4EQU4OiiipuiEncoder4toniip-EQUwisTRUE5EQU5OiiqiinAmpEnabk1Lera-isTRI.'E6EQU6OuipuiAmpEtuibk2LoffisTRUE一EQU:Ou巾AmpEBible3Lea-kTRUESEQtJBOuipuiAmpEiisbk4LufnTR.UEg』w5吨此•PiKimc5itppty-5V1q+24V]QAGNt?ConiinmAiuMgGiwndJTliKcoiwecloi促mde*tThsb[CoaUSTudUSl.DtmEl14-E11I5皿就beclMjktpo.iHoiiY町叫卜加巴cmlpulsmidenableompnhfoithefouro□aidibdippedbydflauJcwi【bimULN2SO3A^ikultpeu-<'ulllec.[uidri'pAybeiep尿闻■讪LT)N28$1Aui蚂而dkmijpcii-€iui[i«riivo(E101-EI02加4«J!l血UPACTF63Of叫u“;i】W£VCMOSdihctJEQUa里可以理解为允许外部触发产生中断,外部触发向上位机通信。另外,这里涉及到后面的知识,查阅PMACa件手册,看到M812->X:$07810Cfl2f1:EQUScompareoutputenableM813->X:$07813C,13,1;EQU8compareinvertenable即可以在PMACF位机程序中,通过设置M812或M813的值来模拟外部触发,从而完成下位机编程时向上位机中断请求。这里暂时看不懂不要紧,后面还会讲到,这里是为了连贯,把这些知识放在一起。.其它设置跳线这里主要是说一下常见需要注意的参数:如E51跳线连接后开机会重置PMA也所有参数到初始状态,这一般是我们不需要的,注意检查,默认为未连接,但是代理公司维修时经常将此跳线连接。安装PMA或装比较简单,不同的接口和PC直接连起来就行,需要注意的是JMACH接口的接线,JMACH1含了供电、驱动器、编码器、限位各种信号,需要将其分流,最好使用转接板,就是把60针的排线分开,最简单的就是使用官方的ACC-8廓口ACC-8DC酸接板,分别如下图:前者直接将排线分各个接线柱,后者分成若干个接线DB头。其他功能更强大的转接板,请在上面给出的扩展板链接中查找。当然,也可以查手册自行了解各个针对应的信号意义,自行设计转接板,如TurboPMACPCI的手册上各个针的意义如下:Nffef-F«rjw^nfM.BP/E整EttOEWOgivIfhHhidftautl安装后的设置假设我们所有硬件都已经安装完成,下一步就是对不同的硬件做参数调节了,具体的pma(x装流程如下示意图。这里驱动器设参数设置不同的驱动器不一样,请自行查阅手册。4.PMAC下位机-PMA或装参数设置PMA强件安装完成后,必'须使用工具对PMAG目关参数进行调节才能正常工作。本文先介绍PMACPCI作工具PEWIN32然后一步步说明PMA假装参数设置过程。注意在此之前要完成驱动器的参数设置(即通常说的驱动器整定)。下一节介绍下位机相关知识和下位机编程,这些都是在PEWIN32中。PEWIN32下载安装PMAC1能非常强大,主要用来配置PMAC^、查看PMA箪制卡的各种状态变量及编写、调试PMAC§序等。(这里推荐使用PEWIN32PRO不推荐使用PEWIN32PRO2这个新版本有很多bug且不稳定)PEWIN32的相关安装包和license在购买pmac时向代理商索要即可。在安装PEWIN3此前要安装PComm32PRO这是PMACP0区动和编程接口库,没有安装这个,PC是无法和PMACS信白1PEWIN32m自己编写的程序都工作不了。安装界面如下:接下来安装PEWIN32注意PEWIN32R是一个主程序,需要将附加的一系列调试工具plot、tuning、setup安装。安装界面如下:AppHNMUNanualsPMACluningPinZOOPTalkDTPmActivtX3.14FF'丁」开冏M绅力”r.曾用可邨ImportantRelt»vNotesPEW1M32ProPMACPlotProP1Setup32Pro2.00P2S«tup32Pra3.00Turbo$etup^Pra1.53UMACConflgPid1-00Softu/areInstallationSuite2.03.204.g安装参数设置过程1.建立连接如下图,在setup中选择打开安装选项Tool5WindowMelpG«i«ralS*tupaiiiOptionsForceAllWindovrstoDeviceUumler,Show如Wimlciw/EhciwProjectHaiw"/i~F2FBjLCD&ydees--------1£i15-sT父式让乩他almTNrN加超MJrIJrNC触tU在DefaultDevice中选择当前Pewin32连接的卡号否则后续的中断程序无注意这里打开Properties勾选上EnabaleInterrupts,法成功发送中断同样确认这里的Download标签页中的第四项Donotdownload...没有勾选,否则后续的下位机程序无法成功downloadGexi^ralSetiipandOp-tionsXLefaiitDevicegeneralDowlacd乘收□n网rd□白ddminnsP'Parse陆forMacros[tflncluds,HJebeetc.)一时MPI匡包HCreateaLogFile(FieName.LOG,forrecordofresults)'CreateaMapfile(FieName.MAP,(orcrossreference]二Dqnotdownload(toseepr&.prcctssedi«$ultsonly)qDisplayWaningifPLC';可,runningbefored琳nlomdi的□KCancel2.配置电机和反馈建立连接后下面就是配置电机和反馈,这包括根据当前的电机类型、反馈形式(编码器、光栅尺)、轴通道选择等设置PMAC*参数。PEWIN3外在Tools选择对应的Setup工具,如本人使用的TurboPmacl的Setup界面如下:按照引导一步步设置参数即可3.开环测试如图,选择打开TuningPro,对指定轴做开环测试PMAJCZtProFI1AJCFL*tFroFMAJCTuningFroFISttupTroP2SetupTroIxurbc/UMACProUr^cCoiifigFro4.PID调节开环测试通过后,同样在TuningPro中调节PID参数使电机稳定运行5.当前硬件状态测试当所有的参数设置完成后,可以如下图打开Terminal界面、MotorStatus界面和Position监控界面Miwe*1r帖邛rTa-i.IqFii6口HatchljidwFositiojiJogRihhmnDPRI/3”Cem*frrWldtQuSrnA?C至皿五n.'eSy3(0iiStn.L・3ClibiL£t4tw.£iMbt叱号Fyngr部"LTStifit™;QndUpJgHTilTr中。的।StatusfudUplo&lIUD:St…Terminal界面主要用来动态发送命令、设置参数和查看参数、运行程序等,连接成功后打开会显示如下图最上面一行文字。MotorStatus主要用来查看当前电机激活状态、各个限位开关状态,可以用手遮挡各个限位开关,查看各个状态是否做出正确变化Ibt23)HT/O2/Z,e.,i至nIbi23-Ibl22;htT.稣bt1dibiiajIbttlrbMhbM7hl1^.bHj-bt12,hbiIVlb*lOjIbt9|IbA8|」Mji|X口口Mz'Kir*li.白怛d|100)NWjd&evidkillitfl1(tuftui■Jlt|(bl22)PmiHscendIni力代卜&PorhRid]|h1|ttbl2|C$-1|tMI|C5d|*btDlL5BIE5Ngcefiniinibk3C5AskHh「i*Eht2(bi15)AnignidiioCSIM14]Ibt13)Ibt12)[bl11)IbtlOjU»r^riitvnp^jxaiiia<|lb>B95il'|bl3>U讨『Utefi蝴g«nd[Im逐bk0|MS-|Fr:B*fvRrinhlhlipIHaJIF@汨日日匚lorfutm€生的IFe&er^ei:lorfutuieu&b]crpudlicriIrmlMatarPhxoRoqu。芭Fh*gitifdhhiqil_rJPosition默认用来监测当前各个轴的位置,右键可以添加对速度、跟随误差的监控,这里可以用手推动各个轴看反馈是否正常。一回IWPUploadparams将参数备份到磁盘文件中以防止意外修改了当前参数可以使用Backup->Restore来恢复参数。5.PMACF位机-下位机编程基础在开始下位机编程之前,先要了解下位机编程的基础-各种变量、运动参数和命令行操作。变量PMAC勺下位机实际上是一种类Basic的编程语言,但是又类似汇编语言,所有变量的存储空间都是预先分配好的,操作的时候存储数据只能在指定的几种变量类型和变量名中存储,整个系统的参数也是存储在变量中。变量类型和作用如下:1.I变量电机和编码器等的参数变量,用于设置电机的速度,精度,回零等数值,以及坐标系的状态,编码器的反馈形式,PID参数等,一句话,设置系统参数就靠它。举例子如下:Ixx19->最大手动加速度限制Ixx20->手动加速时间Ixx22->手动速度在PEWIN32中,如图打开I参数设置,一般我们使用第二个如下图,为全局I参数设置,可以根据Description看到不同I参数的含义FeErabfe0£iCRJFmqrtiryCoNid753Aunliiiy5“习P-oit菖司udFai®Corrol12%风飙RoNQoudRateConfiol1?R二।PR占“84jkyttmrdZuUcEridbb0吗.ipHAM也5」lConmintiilcnjlHt?rricLnatteu57jPRAMMel』CiaLsBdzkgtciu^LiRepcrtrigErabbta50□FRAMASCIICcmuuncdtaniErabt059MdLftS.Broiip0即?ikr&jVelcctp153T:拈Tune15Bl司3国“出3号m:862IrtffndM时始第匚田n。某R就卬口CcnttiUG3七口nliidWEcJhoEhdde1&4JnacIctKl^ieszcn;BSFagEreble1Ban强C"isUrkit>:0如下图,为当前电机的定义,如编码器反馈地址等等。实际上,上节讲到Setup引导设置也是设置电机的I参数,如果我们知道要设置哪些参数,完全可以手动在此修改,不用借助setup程序,setup程序只是做一个人性化界面引导而已。dI-V«cjialilexhyCattfgEixj:PiiCzEV1_94SQ7/O2/2MHP1ACTUILHO:PCIBIJ5Cilcacfy:mqinnrJfiewnEdtaiI7007C17037W7C7「escwHsikm;」”也财7AcUvg妇M口的17Corry^lbnEwb「MsHfl7Cgrrtaind0/加唐小的0]Matai7YobelT1AdidflttMdDoi7MaxaFmtm的dd崎虻%1。岫[7Ma^srFslo^ErebkMcigi7Mm支srSeal白FatesdfEdbon7Pasfcon]StdeFacicrHdhon7Valccty=>cJbFairerRxi第0LMsemEFfBa$K?SeFi'oSeiv」汇二1「iTij山innHcdfei七Lnirrrul/口口BacblshFutherIVari立Ie::UN电工如IJOQ-J工QTQ!如下图,安全设置包括电机的跟随误差(实际运动位置和命令运动位置的偏差)的5济21(电机被停止)和Warning(只在Terminal报警,不停止电机),还包括后面讲到Jog的最大加速度设置、运动程序的最大速度和加速度设置,当我们编程序时发现始终运行不到指定的速度很有可能就是此处的设置问题。如下图,为电机的运动设置,包括后续的Jog的速度、加速度设置等。<:l-VflTunbl^byCflicenrr¥1.94h(17/游川(11田P”CTUKHOjPCIBUS匚叵|.|Moior/IMals#7|*5白月lnEdkne.-3kMhl^udzk口日工小口门k;d.E7出Mo^t7J『q/Hone/FGERnwIir^1"7ZIMotorog/HoneS€wvcTime5Q|722Mdcr?Jc(]SHDd32723h«:r7HonngmpHdAnd口1>沔532做Maj7Adt.Mudt?Uu*J和72SUdD7Flag4731C07百Mder?HowrLtsrlU127MotCTTFtJS.torAoUnvrrRaf-gri口7SMoter7InPdskonBant1W729Motor7Oulpul/I^lPMiE□寸划0X4克比&CFTme口■Emit0如卜.图,这里保存的就是数,直接在此设置即可。TuningPro调试的结果,同样,如果我们知道要使用什么PID参F4I-V»ri,hiebyCatpigriry;PlftC;0VLy>4HIH/H?/?(TnHP・M:TFIRRO;PCIRUSH叵因1口江「』MqKi'/IMataitl7卜|MewMEditoi|l-'raiiable□escrjpfV'akH!730Hq财7P1DRxixli3laAGar'现用7?1MqIqii7Pip口闻i用6dhi129C732、|。既7pl口VqlHWkFF*内*dG/i128C733Mcihui7RDkii*gdG&gJ734Mulyi7RDhikg^WiMuJs1173BMohoi7RDAcedwdimFs*-dFjwsidGdh0在Maltol7RDNallchAlenCoeMe史ntU1a737Mnlroi7RDFJalthAb=r:neff匚hH:M2a736“口Im7HDIJsIthFiler..rnlhEE-rtDIa739Mmhoi?RDtJnthFilsnCoelf匚ertD2a74T“口hni71rqfscloijF・g1匚口1方1学)1a7«*1口Ini7Drt|wr|Fti:fcrr.jrnlRkHQKa甲r1S,388BUT:g忒以Ml中BtzttVKE$匕皿和心;20002.M变量在PMAC:作时,会将当前运行状态(电机参数,编码器位置,IO参数)放到指定的内存C中,找川要食育这部分参数,只前要用M发重绑7E指7E内仔即口」功网和设直,侣点类似语言的指针,如下图,这里可以电机DownloadSuggestedM-variables使用PEWIN3滩荐的M参数设置,一般我们使用默认设置。举例子如下:读取电机状态->给定位置(mx61)、实际位置(mx62)、位置偏差(mx64)其中x=1-16或1一24读取I/O口状态4m11在上位机的学习软件、监控程序以及下位机程序的编写过程中,电机当前位置、I/O口的状态等数据,采集时均由M变量来完成。3.P变量和Q变量P变量和Q变量都可用于PMA蹴程中的计算,48-位浮点形式,P变量为P0~P8191,Q变量为Q0~Q8191不同的卡P变量和Q变量数量稍有不同,他们类似于我们在C语言中编程变量,只不过他们的名字是预先指定的。P变量和Q变量不同之处是前者是全局变量,可在任意时刻任意程序或任意位置进行改变,从而对其它程序或状态直接产生影响;而Q变量是单一坐标系的局部变量,坐标系的概念稍后介绍。主要用途如下:.可用于计算功台匕目匕。P100=P101*45.可作为标志位软件触发IF(M1!=1ANDP10=0)PMA彷运动过程参数对于PMA阱一个指定的运动加速到指定的速度再停止,整个过程如下:其中IX20指定的为整个加速时间,IX21指定的为开始加速和停止加速时的S曲线加速时间,IX22为最终的速度,这里IX20、IX21、IX22设置的是手动Jog的总加速时间、S曲线加速时间和运动速度。在对应的运动程序中,使用TA、TSF指令来完成相应的同样的设置。手动操作PMAC勺手动操作主要是为了调试方便,主要指令如下,可以自行在view->terminal窗口中测试:.查看和设置各种类型变量I/P/Q/M变量的值.控制电机Jog运动.控制程序的运行状态如下图,为设置6号轴电机的运动参数(总加速时间Ixx20、S曲线加速时间Ixx21、运动速度Ixx22)/Tmin自1;PMAC:OV1.MS晅区PressEnter/Re二urnto3«iinew新建文件会打开编辑器,所有文件为PMCt缀。查看当前程序可以在File->UplaodPrograms查看当前已有的Program程序和PLC程序及他们的编号、状态。.命令序列程序上节讲到,PMA球中可以使用手动操作,在命令行设置参数状态、控制电机等,但是它一次只能发送一条命令,那么为了一次性运行多个命令序列,即可在PMCH序中如下编写:i620=200i621=20i622=10#6j/这里先设置6轴电机的运动参数,然后激活电机,类似的写法经常用于PMA修数的初始化中。程序编写完成后,点击Download按钮,命令系列程序在下载的过程中就会执行。如下图,勾选ShowMessageWindow打开Mesage9口如下图,在Message窗口可以可以看到当前程序是否有错误等,类似C语言编译过程。这些指令都是命令指令,所以他们都是在程序下载的时候运行,之间的运动程序主体会被写到特定的缓冲区,但是在这时候程序是不运行的。下面写编写一个简单的程序,如下:4.&1CLOSE#6->819.2X杆导程为10mm)#8->819.2Y杆导程为10mm);确认所有缓冲区被关闭;机械手X向,单位mm,(819.2=8192/10,丝;机械手Y向,单位mm,(819.2=8192/10,丝#6j/#8j/OPENPROG40CLEARINC13.X(10)Y(10)CLOSE;增量运动模式;X正方向前进10mm,Y£方向前进10mm注意这里,使用命令序列完成了轴的定义和电机的激活,但是中间的两行运动程序代码只是被写到对应的缓冲区,还没有执行。在terminal窗口输入命令&1b40r程序才运行。注意一个坐标系下关联的所有电机必须都激活,运动程序才能正常运行。在实际中,轴的定义和电机的激活最好放到单独的命令序列文件中。下面是一个比较复杂的程序:&1CLOSE#6->819.2Xmm,(819.2=8192/10,丝杆导程为#8->819.2Ymm,(819.2=8192/10,丝杆导程为#6j/#8j/OPENPROG40CLEAR;确认所有缓冲区被关闭;机械手X向,单位10mm);机械手Y向,单位10mm);ms;ms;mm/s;绝对模式;直线运动12.;运动参数设置13.TA(200)TS(20)F(50)ABSLinearp1=0TOC\o"1-5"\h\zWhile(p1<10)F(50)X(30)Y(10)F(10)X(10)Y(30)If(p1>2)ReturnEndIfp1=p1+1EndWhileCLOSE上面程序的含义就是从当前位置以速度50mm/s直线运动到绝对坐标(30,10)的位置,再从当前位置以速度10mm/s直线运动到绝对坐标(10,30)的位置,如此循环,如果没有If语句的话,循环10次,但是这里加了If语句就只循环2次了。基本的运动程序就是这样,再复杂的运动程序都是在此基础上延伸出来的。各种运动指令请查PMACSoftwareManual手册,相应的程序编写请查PMACUserManual手册。3.PLC运动程序在电气系统中,PLC是经常用的控制元件,就是有快速的扫描各个状态,对扫描到的状态变化做相应的处理。他的实时性非常高,简洁可靠。在PMA价有模拟PLC的功能。同样对于运动程序中的最后一个实例功能,改写如下:运动程序:&1CLOSE#6->819.2Xmm,(819.2=8192/10,丝杆导程为#8->819.2Ymm,(819.2=8192/10,丝杆导程为#6j/#8j/OPENPROG40CLEAR12.TA(200)13.TS(20)F(50)ABSLinearp1=0While(p1<10)F(50)X(30)Y(10)F(10)X(10)Y(30)p1=p1+1EndWhile;确认所有缓冲区被关闭;机械手X向,单位10mm);机械手Y向,单位10mm);ms;ms;mm/s;绝对模式;直线运动29.CLOSEPLC程序:OPENPLC20CLEARIf(p1=2)COMMAND&1b40aEndIfCLOSEenableplc20一般我们让PLC程序始终在后台运行,扫描指定的状态,这里我们在downloadPLC的时候就激活了PLC1序。这样当在terminal中输入&1b40r运行运动程序时,一旦p1=2,PLC可默认为立即扫描到该状态,这时候就会终止该程序。这里本来运动程序会运行两个循环,但是由于PMAC勺Lookhead的功能,这里只运行了一个循环就中止程序了,先留个悬念,马上讲到。4.PMAC运动程序Lookhead功能PMACE执行的时候会有Lookhead的功能,顾名思义就是前瞻的功能,就是在执行的时候会预先读取执行下面一段代码,对于运动轨迹相关的代码会进行预先计算,变量赋值会提前进行。分析如上运动程序,在第二个循环的时候,预先读取了整个循环内容,即运动指令还没运行时,p1=p1+1就已经被执行了,这时候PLC检测到p1的改变就会中止程序了。那么这里要怎么做才能避免预读取带来的副作用呢,其实很简单,在X(10)Y(30)后加一句dwell0即可,这告诉运动程序,预读取就到此位置或者说必须dwell0前的程序执行完毕才会进行后续操作。Lookhead还会带来其他的影响,如对一个直角拐弯,开启了lookhead后实际运行轨迹为圆角拐弯,这个要注意,具体的请参考手册。7.PMACF位机-回零程序的编写在运动控制中,运动轴的回零是一个共TIe的问题:对于半闭环的编码器+电机+模组或全闭TOC\o"1-5"\h\z环的直线电机+光栅尺来说,它们之所以能够知道自己当前处于一个什么样的位置就是靠编码器和光栅尺来 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 当前的位置,问题在于一般我们使用的都是相对式的编码器或光栅尺,换言之,我们必须告诉编码器和光栅尺以什么位置作为零点开始计算当前的坐标,指定当前的零点的过程就是回零的过程。相对式的编码器或光栅尺一旦掉电,就必须重新回零,这也是大多数数控机床上电要回零的原因。如下图,为了指定当前运动系统的零点,我们使用一个零位传感器来标记,对于编码器+电机+模组,零位传感器就是一个处在零位的限位传感器,对于直线电机+光栅尺可以不用设置特殊的硬件,直接捕获光栅尺的零位信号就行,当然你也可以不用零位信号,而统一使用限位传感器来指定零位。同时每个运动系统一般都是有正负限位的,一方面是作为安全用途,一旦模组运动超出正负限位范围自动停掉电机防止造成危害,另一方面,也可作为触发使用,下面会讲到。.信号的触发为了形象的说明问题,考虑模组和传感器的如下相对运动,这里传感器既可以是限位传感器也可以是零位点触发,基本原理是一样的。这里为了说明问题,将传感器拉长了,实际上传感器的接触长度很短。上升沿f卜降沿“,「IT可以看到,当前模组和传感器相对运动的时候,还没接触的时候信号为低电平,一旦模组开始进入传感器范围,这时候电平跳变为高电平,存在一个上升沿,捕获这个上升沿就是模组刚刚进入传感器范围的时刻。模组继续运动,一旦模组完全离开传感器范围,这时候电平跳变为低电平,存在一个下降沿,捕获这个下降沿就是模组刚刚完全离开传感器范围的时刻。因为最开始的时候没有回零,这时候模组是不知道自己当前到底处于什么位置的,但是在高低电平跳变的时候会发送中断,我们可以捕获这两个中断从而判断当前模组是否运动到指定的位置,从而将当前指定位置标记为零点。.回零策略上面其实已经叙述了最基本的思想:利用信号触发的上下沿来通知PMAO否已经运动到指定位置,从而将当前模组在的位置标记为相对零点。但是,我们需要面临的一个问题是,模组的最开始位置是不定的。同样用之前的图,最开始时候模组可能处于零位的正向也可能处于负向,甚至可能直接就在正负限位或零点上。这时候该怎么编写一个回零程序,在最开始不知道模组的位置的时候让模组正确的运动到零点呢?止限位零位依限位u□nr正限位零位位限也毫无疑问,模组处于正向的时候必须向负向移动才能到零点触发,模组在负向的时候必须向正向移动才能到零点触发,但是它们的方向是完全相反的,这让我们编写运动程序很为难。为了解决这个问题,我们采用如下策略:?i.不管当前模组处于什么位置,都先向负向运动直到触发负限位?2.从负限位触发点开始向正向移动,PMA会通过指定一个偏移值来完成的,所谓偏移值就是到达触发点后再偏移多少距离,这个偏移要求必须让模组移动到零位的正向?2.然后,模组负向运动直到准确停在零点触发点,当前标记为零点好了,现在基本策略定下来了。现在说说偏移值的问题。当我们运动到指定限位导致电平出现上下沿信号的时候,这时候PMA做到中断,但是此时还在运动,不会准确的停在指定点上。对于这种问题,PMACS供的解决方案是,既然不能准确的停止那就不让它准确的停在指定的触发点上,而是指定一个偏移值,当第一次上下沿触发的时候会记录当前的位置,这个当前的位置是可以准确记录的,这样运动到偏移一个指定值时是可以完成的,当然这个值是不能太小的,否则也停不准。那么要精确的停止在某一点怎么做呢,很简单,借鉴这种方法,既然你要跑过,那就让你先跑过,再反向回走偏移的值就行,这就是很多机床看回零时先过零点再反向走回来的原因,看运动平台在那不知所谓的来回捣鼓,其实干的就是这事儿。PMAW指定偏移值为0,仔细观察PMA3自己帮我们完成走过再回来的流程,这个需要了解一下以便于我们清楚整个回零轨迹为什么这样跑动和为什么使用偏移值。下面结合示意图看回零过程H可以看到:?1.负向运动到负限位直到触发,这里分为两种情况:A.不在负限位的时候,直接负向移动直到上升沿触发B.在负限位的时候,正向移动直到下降沿触发注意一个使用上升沿,一个使用下降沿,是为了保证两种情况触发时模组位置是一样的,看示意图就懂了?2.按照步骤1指定的移动偏移值移动到零位的正向去,只要指定了偏移值,PMA会自动完成这个偏移过程?3.从偏移后的位置负向移动,按照之前讲的先走过一点再反向走回从而精确停在零位,这个偏移可能很小,人眼不易观察出来。.PMAC回零代码一个单独的轴的典型回零程序如下:1.2.3.4.5.;程序功能:实现6轴回零运动。.**************************************************************;********CLOSE;确认所有缓冲区被关闭&1;以下部分为运动程序OPENPROG20CLEAR;6轴回零If(M622=1)I623=50(Counts/msec),方向为正I626=81920*161/16CountI7123=2号I7122=10沿Home6Dwell20ElseI623=-50(Counts/msec),方向为负I624=$120000I626=81920*161/16CountI7123=2号I7122=6沿Home6Dwell20EndIfI623=-50(Counts/msec),方向为负I624=$100000I626=01/16CountI7123=0号I7122=7及Z向的下降沿信号Home6Dwell50;负限位有信号;回零速度;回零偏置,单位;使用负限位为触发信;捕捉触发信号的下降;回零;负限位无信号;回零速度;禁能限位;回零偏置,单位;使用负限位为触发信;捕捉触发信号的上升;回零;回零速度;使能限位;回零偏置,单位;使用原位信号为触发信;捕捉触发信号的上升沿;回零37.CLOSE代码中需要说明如下:?1.使用负限位做标记的时候,必须禁能限位,否则一旦模组运动到限位传感器处会自动停止当前电机?2.这里在回原位(零位)的时候,捕捉模式设为7,既支持编码器的上升沿也支持光栅尺的零位信号?3.在前两步时,速度可以较快,最后一步准确回零的时候速度要慢这里的回零代码笔者在各个项目中使用过,稳定可靠,具体的参数含义请自行查阅手册。8.PMAC±位机-VC编程环境配置前面讲的知识都是在PE-WIN32中操作的,都是针对PMACF位机编程的,现在开始讲解PMAC—位机一一PC端如何与PMAC!信:给PMACt送控制信号及处理PMAC勺中断响应。本文先说PMACV编程的环境配置。.文件夹结构PMACP编程必须安装PComm32安装完文件夹结构如下:toPCa32FKP.|[X。屣,Q住》搜索后文件疾电址却匕C:iPrsgraTi加工2"』七0二口所JLtHD文件中弱幅®查音5交件和文件典仕势2二J旬睡T新丈畔兴通得过『立华星龙F酋.*丫好口但此中杵市耳它位置|」Sellala□曲名攵裆If些季立档单朝神*_J和:*居Fn“n・t«x-PMJJCLI5TTOE邳,UlII曲I'm!lai4.H收总⑥工具,帮划讨Driviarilietu^V*rcian)Fni*uTFFCnill57FHI泰助支件KLFYTT*st■若tTt交本文档3注Pmactest.exe用于在PAMCS完成后测试当前安装是否成功,PmacTest是该程序的源码PCOMM32PRO.H廉PComm3的编程帮助手册VCTest和VBTest文件夹是上位机编程的小DemoDriver(DebugVersion)文件夹里是PMAC勺各种驱动和动态链接库及其导入库等Include文件尾PMAC勺接口头文件.驱动结构模型Driver(DebugVersion)文件夹内容如下13回愣案文件夹kl,L--sJ性为卜![二CropsFils'DGhTmXrcQnnSZJRD\Drivar(Ieb、EVar=i耕到文件的就珞©交看出)、愧微⑥工具©Wfe&P其它位置我的文档共享文档我国电帕网上都白内文件事文件其任鳍J创建一个新文性黑U椁茂个丈件夹把布gwa温共享此文件再洋*信息—口与'J跃位Oh出巡*.«1@at!Co»£i0-*MTCPcnm^.libObj«tF;lcLitrary111KBPuaciee:nf安逑归目4⑪inf安迪恰息4KBPuacser.:nf安装值息4KDFuaeSer^ei.txwPmcStr7trFlodileP-onwi32dllio.Fnsrpri«ys军统交性224KEFracsei-sys系统立俘105KDPnActtsL«xfiPflATTESTMFC“p.D-eltn.TauUe七a,£...A这里提供了Pcomm32.dll动态链接库和导入库Pcomm32.lib,.sys都是PMAC勺各种接口的驱动。PMAC勺整个驱动结构模型如下图:可以看到,我们针对动态链接库提供接口编程就行了.代码演示?1.打开VCTest目录,会发现有myRuntime.h和myRuntime.cpp文件,连同上面的Pcomm32.dll一同拷贝进当前项目目录。?2.然后将myRuntime.h和myRuntime.cpp添加到当前项目中?3.就可以开始使用了最简单的测试程序如下:新建MFC§序PmacConnect,PmacConnectDlg.cpp引入头文件//添加PCommM乍库头文件#include"myRuntime.h"添加一个按钮响应,如下:voidCPmacConnectDlg二OnConnect(){//动态加载Pcomm32.dll函数if(NULL!=OpenRuntimeLink())TOC\o"1-5"\h\z{AfxMessageBox(TEXT"力口载Pcomm32.dll成功!”));}else{AfxMessageBox(TEXT"力口载Pcomm32.dll失败!”));return;}〃打开指定卡号PMACX里打开0号卡if(TRUE==OpenPmacDevice(0)){AfxMessageBox(TEXT"打开PMA诚功!"));}else{AfxMessageBox(TEXT"打开PMA供败!"));}//关闭到PMAC1接ClosePmacDevice(0);//动态关闭Pcomm32.dll的使用CloseRunti
本文档为【PMAC卡简介教程文件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
與因
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:49
分类:
上传时间:2022-02-08
浏览量:6