PMAC控制器(精选6篇)
PMAC控制器 第1篇
机器人控制系统是一种典型的多轴实时运动控制系统。传统的机器人控制系统硬件上都是采用专用微处理,软件上运用前后台控制方式,其中后台是个无限大的循环,前台为多个中断的封闭式体系结构。这种结构的控制器存在制造和使用成本高,开发周期长,升级换代困难,无法添加系统的新功能等一系列缺点。
本文介绍了一种基于μC/OS-II与片上可编程技术SOPC的可编程多轴运动控制器,这种控制器采用开放式硬件、软件结构,可以根据需要方便地扩展功能,具有良好的实时性、开放性和扩展性,能适应于不同类型机器人或机器人自动生产线。
2 控制器的硬件结构
研究国内外的多轴运动控制器和片上可编程SOPC技术,并根据机器人控制系统的具体情况,设计了如图1所示的开放式多轴运动控制器P M A C的控制系统。运动控制器的主芯片,FPGA芯片采用Altera公司的cyclone II系列EP2C35,系统时钟为50MHz。
多轴运动控制器PMAC主控CPU采用Altera公司的Nios II系列32位RSIC嵌入式处理器,Nios II软核微处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS。同时,外部扩展了32M Flash和64M SDRAM。由于uC/OS-Ⅱ内核运行要占用一定的CPU资源,而且每个任务要占用相当数量的RAM作为任务堆栈,因此。可编程多轴运动控制器PMAC的这些特点非常适合于移植μC/OS-II。主控微处理器NIOS II软核根据控制指令的控制多个电机的协调运行,定时向各电机发出控制命令和运行参数。为了消除强弱电的耦合保证电机的正常运转,P W M的输出信号在送到驱动电路之前经过光电耦合隔离电路。位置反馈信号通过对光电编码器输出脉冲的计数而得到,为了提高反馈信号的分辨率,在光电编码器的输出接了一个四倍频电路,从而提高了编码器的分辨率,也就提高了位置和速度反馈信号的分辨率。
3 软件平台的设计和实现
多轴运动控制器是一个多任务并行执行的实时控制器。在软件实现上,采用由管理层、执行层、运动控制层组成的结构来划分各模块,各模块之间按照标准接口进行通讯,可以很方便地更换或添加新模块,并将实时操作系统μC/OS-II移植到Nios II软核上,实现对多电机的高效和实时控制,如图2所示。μC/O S-Ⅱ是由Jean J.Labrosse编写的开放式实时操作系统,它是一个源代码公开、可移植、可固化、可裁减、抢占式实时多任务内核。同时它还具有良好的可扩展性和可移植性,被广泛地应用于各种架构的微处理器上。它提供下列服务,任务调度,任务管理,时间管理和任务间的通信等[1]。
3.1 管理层
协调管理层包括键盘控制模块、L C D显示模块和可扩充的远程网络通讯模块等。键盘控制模块主要输入多轴运动控制器的控制指令和设置控制器参数(启动、停止等),为了达到更逼真的效果和更好的人机交互,传统的运动控制器协调管理层通过示教模块所得的位置以位置型变量保存下来,在应用程序中进行引用,而本文提供了多轴运动控制器信息的动态在线显示功能,控制模块将反馈信息通过通讯接口到执行层中。
3.2 任务层
任务执行层接受并执行管理层的指令,生成下层的控制指令。执行层中包括命令处理、任务控制、运动控制接口;为了使整个控制过程得以顺利地进行,还有信息采集和反馈模块。命令处理模块接收来自协调管理层的指令,处理后执行相应的操作。控制器参数设置、系统初始化、系统退出、外部输出等命令,经检验有效性后可由命令处理模块直接执行。任务控制模块根据控制策略进行运算产生对多轴电机的控制信号[4]。
3.3 运动控制层
经过任务执行层的处理后由运动控制接口传过来的运动指令控制运动控制层,从而输出一定要求的高质量脉冲并经过光电隔离、滤波后到达驱动电路,最后驱动电机运动实现对多电机的位置的控制[3]。通过光电编码器得到机器臂的位置、速度反馈信号,为了提高反馈信号的分辨率,在光电编码器经滤波后接了一个四倍频电路,从而提高了编码器的分辨率,也就提高了位置和速度反馈信号的分辨率[5]。
3.4 通讯接口
协调管理层和任务执行层分别运行在μC/OS-II之下,通过μC/OS-II提供的任务间通讯功能,为了实现各模块的独立性和可替换性,对通讯接口进行了统一,各模块按照标准接口进行通讯,具体的通讯细节由通讯接口进行封装,同时通讯接口在FPGA内部实现有效的防止干扰信号。
3.5 μC/OS-II在Nios II上的移植
所谓移植.就是使一个实时内核能在某个微处理器或微控制器上运行。μC/OS-II代码大部分是用C语言写的,但仍需要用汇编语言写一些和处理器相关的代码,是因为μC/OS-II在读写处理器寄存器时只能通过汇编语言来实现。由于μC/OS-II在设计时就己经充分考虑了可移植性,所以μC/OS-II的移植相对来说时比较容易的[1]。
Altera公司的IDE 6.0内嵌了μC/OS-II,使μC/OS-II内核在Nios II的HAL系统库之上进行操作,HAL使得基于μC/OS-II的程序更易于移植到其他Nios II硬件系统,程序对低层硬件的变化不敏感。μC/OS-II程序可访问所有的H A L服务且能调用H A L的A P I函数。Altera把μC/OS-II移植到Nios II处理器。在Nios II IDE中,μC/OS-II的使用十分方便,可对所有RTOS模块进行配置,不必直接修改源文件来使允许或禁止内核的功能。μC/OS-II软件类似于SOPC Builder中元件的驱动程序,Altera在alterakitsnios_51componentsaltera_nios2UCOSII路径下提供μC/OS-II与Nios II处理器相关的代码。在alterakitsnios_51componentsmicrum_uc_osii目录下提供与处理器无关的代码。当在Nios II IDE工程中包含Nios II时,在componentsmicrum_uc_osii目录下的头文件和源文件被包括在程序库路径中,使μC/OS-II内核被编译和链接到工程中[2]。
4 实验及应用
4.1 实验结果及分析
为了测试控制器的性能,将下位机运动控制器)的反馈的速度值和控制器发送的各关节的速度值,在matlab上用描点法得到的转速曲线如图4所示,下面的红线为给定的速度,上面的蓝线是经过运动控制器得到的反馈值。图3就是控制器打印到屏幕上运动参数,将其绘制到图4中,看是否能达到实验预计的效果。从图4可以得出,运动伺服控制器运行良好。
通过上面的实验可以得出,本文研究的基于u C/OS-Ⅱ的编程方式非常适用于比较复杂的多电机位置伺服系统,能够满足实时性,整体性能良好,根据需要还可以在硬件平台上为控制器添加其他功能(如视觉模块等),机器人的轨迹规划可采用更先进的控制策略,从而使机器人控制器的性能更好,满足现代工业生产的需要。
5 结束语
通过将μC/OS-II与片上可编程技术SOPC的特点充分结起来建立的嵌入式平台设计和对机器人控制器的应用研究得出了以下结论:
(1)采用SOPC和μC/OS II嵌入式平台设计机器人控制器系统具有易于编程结构清晰的特点,特别是在控制任务复杂较多的情况下只要合理的策划和分配任务多达50多个任务的划分足够复杂任务的拓展比起传统的前后台任务系统具有响应快不易死机的特点。
(2)系统的硬件和软件平台都具有可编程性和可移植性的特点。
摘要:通过SOPC Builder搭建出的Nios II微处理器软核及外围设备控制器作为可编程多轴控制器硬件平台,本文较详细地介绍基于μC/OS-II的多轴控制器的软件设计思想。系统将μC/OS-II与片上可编程技术SOPC的特点充分结起来,很好地解决了可编程多轴控制器PMAC(Programmable Multi-Axis Controller)的程序结构复杂以及实时性差难题。实验结果表明,改善了传统系统软件单任务顺序机制,系统安全性、实时性都得到了显著的提高。
关键词:嵌入式实时操作系统,任务,μC/OS-II,控制器
参考文献
[1]Jean J.Labrosse编著.μC/OS-II实时嵌入式系统设计[M].重庆:中国电力出版社,2001.
[2]李兰英等编著.NiosⅡ嵌入式软核SOPC设计原理及应用[M].北京:北京航空航天大学出版社,2006.
[3]宗光华,李大寨译著.机器人控制器与程序设计[M].北京:科学出版社,2004.
[4]方正,杨华等.嵌入式智能机器人平台研究[J].机器人,2006,(1):14-15.
PMAC控制器 第2篇
1 控制按钮设计
控制面板上设置特定按钮以实现对控制系统更直接快捷的控制,例如友嘉精机以FANUC系统为基础的数控车削中心的控制面板上设置程序编辑区、旋钮区、手动按钮区等,用以可以实现X/Y轴选择、快/慢速移动和程序模拟等功能。在PMAC特有的PLC程序的支持下,在砂轮修形机控制柜上设置快捷按钮可以使到对机床的操作更加方便[2]。
2 PLC程序设计
控制面板功能采用JTHW接口的I/O控制板来实现,其中快速进给率旋钮、慢速进图1整体PLC编译状态图给率旋钮、X/Y轴选择旋钮、正方向移动按钮、负方向移动按钮的功能通过PLC程序实现。
ACC-34AE是PMAC公司配套提供的I/O扩展卡,板上包括8个输入口和8个输出口,将主卡上的5V信号转换成为24V带光电隔离的输入/输出信号。在数控机上,I/O扩展卡ACC-34AE的8入8出的I/O点在控制面板上以按钮和旋钮表示。
数控机工作台进给速度倍率调整PLC程序:
倍率调整,当用户手动旋转倍率旋钮后,在下一次运行X/Z轴进给的时候PMAC会将指令传送给驱动器,改变伺服电机的进给速度。
倍率调整所对应的PLC程序,其编译界面如图1所示:
3 结语
本章主要介绍PMAC运动控制器PLC程序特点,包括编译使用的语句的基本含义。在此基础上详细说明如何实现控制面板上的快捷功能,并对其对应的PLC程序设计进行了详细介绍。
参考文献
[1]潘铭.基于PMAC的开放数控教学平台硬件设计[J].中国科教创新导刊,2009,31:186~187.
PMAC控制器 第3篇
关键词:同步控制,PMAC,自动化药房,出药升降机
0 引言
出药升降机是自动化药房出药系统中完成处方中盒装药品调配、取出和发送的关键运动部件,其运行速度和重复精度的高低直接影响到自动化药房的处理能力和可靠性。针对系统的实际设计要求,我们在机械传动上采用垂直简支升降、双交流伺服电机同步驱动的方式,在电气控制上采用可编程运动控制器PMAC控制双交流伺服驱动器,使出药升降机双电机具有良好的同步动态特性,不仅大大提高了出药升降机的运行速度和位置精度,而且明显提高了系统的抗干扰能力,保证了系统的可靠运行。
1 出药升降机垂直简支升降传动原理
系统中盒装药品储存的仓库为矩阵式立体储药库,药品按照使用频率的不同和外形尺寸的不同分布在储药库不同的层和列,出药升降机挂在两根直线运动单元上,构成简支梁结构,通过垂直升降运动定位在储药层位置后,完成药品的调配和取出。升降机机械主体材质为铝材,具有柔性特点,图1为其传动机构示意图。升降机由两个交流伺服电机驱动沿y轴上下往复运动,由于出药升降机跨度大、重量大、运行速度要求高、位置重复精度要求高,故采用双伺服电机同步驱动的方式。
2 同步控制方案讨论及确定
出药升降机双伺服电机的同步控制主要有3种方案,即并联式同步控制、串联式同步控制和位置跟随式同步控制。
2.1 并联式同步控制结构原理
当双伺服电机需要同步控制时,最直接的控制方法是同时给双电机输入相同的路径指令,如图2所示,此控制结构被称为并联式同步控制结构。由于其各轴的运动回路采用相互独立的设计,两伺服电机间不存在任何交互关系,当任一电机受未知干扰影响其输出时,则无法保证双电机之间的同步性能,因此只适用于无或弱机械结构耦合的同步控制中。对于强机械耦合的结构,若是双电机在任意时刻产生位置不同步现象,极有可能造成机械结构的损害。
2.2 串联式同步控制结构原理
如图3所示,串联式结构也是同步控制的一种传统结构。串联式控制结构利用各轴频宽的差异,将两伺服电机分为主动电机和从动电机。将主动电机的位置输出作为从动电机的位置输入,根据各轴机械和伺服频宽的差异来调节比例增益值。但此控制方法容易因伺服落后而造成跟随误差,若双轴同步误差的最大值在允许的范围内,则可以考虑应用在有机械结构耦合的情况下。
2.3 位置跟随式同步控制原理
位置跟随是PMAC多轴运动控制器自带的一种控制方法,通过它可以协调其控制下的多个轴的运动。将主动电机的编码器信号送入PMAC的编码器,从动电机被告知该编码器寄存器是主寄存器,通过设置跟随使能(Ix06)与合适的跟随比(Ix07、Ix08),从动电机便可跟随主动电机,达到同步控制[1]。但此控制方法难以实现两电机的速度同步,出现从动电机速度滞后主动电机速度的现象。
在实际应用中,考虑到升降机机械结构的柔性特点以及系统应用环境干扰源相对较少等,我们采用了并联式同步控制方式,并采取了一些措施以提高系统的抗干扰能力和同步控制精度。
3 出药升降机的电气同步控制
3.1 电气控制系统构成
系统采用工控机作为上位机,采用PMAC2-PC104四轴运动控制器作为下位控制器,伺服电机采用日本富士交流伺服系统,控制模式采用速度伺服模式。系统上、下位机通过ISA总线进行通讯,程序调用指令和控制参数由上位机给定,下位机执行运动程序,给出两通道模拟信号指令,控制伺服电机同步运行。
PMAC2-PC104是美国Delta Tau公司开发的基于DSP的可编程四轴运动控制器,它具有响应速度快、精度高、开发周期短、编程和操作简单的特点,能够对存储在它内部的程序进行单独计算,执行运动程序、PLC程序,进行伺服环更新,并以串口、总线两种方式与主计算机进行通讯。而且它还可以自动对任务进行优先级判断,从而进行实时的多任务处理。这使得它在处理时间和任务切换这两方面大大减轻了主机和编程器的负担,提高了整个系统的运行速度和控制精度。出药升降机电控系统构成见图4。
3.2 提高系统同步控制精度的几点措施
在升降机双电机同步运行系统中,影响系统同步运行性能的因素主要来自两方面。其一就是在相对独立的两个电机运行回路中,电机各自受到的扰动,从而导致其伺服性能下降,影响同步运行的性能;其二就是两电机之间存在机械耦合,而两个电机的运动又不能达到绝对的完全同步,因此产生一个电机对另一个电机的影响。针对这两方面因素,我们采取了一些措施来克服它们的影响,提高了系统的同步运行性能。
3.2.1 线性插补运动模式在同步运动中的应用
线性插补是一般运动控制器具有的基本功能和实现高精度控制的基本手段[2]。在升降机双电机的同步控制中,我们应用PMAC控制器具有的线性插补运动模式指令LINEAR,使双电机按照45o斜线轨迹进行线性插补运动,并将双电机的同步位置误差作为偏差给定,通过控制器再返回各电机的指令通道以补偿误差,从而保证了系统的同步性能,大大提高了升降机的位置重复精度。
3.2.2 电机跟随误差极限的设定
电机跟随误差极限包括致命跟随误差极限和警告跟随误差极限。如果电机实际位置对命令位置的滞后超出了致命跟随误差预设值,PMAC控制器按照程序关闭出错的电机,同时其它电机是否关闭是可以选择的;如果电机实际位置对命令位置的滞后超出了警告跟随误差预设值,PMAC控制器产生一条消息,警告出现了一个非致命跟随误差,通过该消息控制系统决定下步操作以消除电机的位置误差。
PMAC控制器的I变量Ix11、Ix12分别用于设定致命跟随误差极限和警告跟随误差极限。Ix11致命跟随误差极限的设定会影响升降机双电机同步控制的性能。若该值设定较大,会导致电机的伺服定位精度降低;若该值设定较小,则升降机在允许的定位精度范围内正常运行时,会经常出现因超出致命跟随误差而报警停车的现象,从而影响到升降机的正常运行。Ix12设置了电机跟随误差的警告位,当跟随误差超过Ix12时,电机可被触发进行复位运动。在实际调试运行中,我们在允许的定位精度前提下,为Ix11设定了较大的值;Ix12的设定值要小于Ix11,否则将不会起作用。
3.2.3 系统PID参数调节
PID控制不要求有精确的受控对象的数学模型,并且控制效果一般是比较令人满意的,所以在升降机双电机的同步控制中,我们对两轴的PID参数进行了反复调节。在PMAC控制器中,比例增益Kp变量为Ix30,提供系统的刚性;微分增益Kd变量为Ix31,用于提供系统的阻尼以保证系统的稳定;积分增益Ki变量为Ix33,用于降低系统的稳态误差。根据上述的原则采用试凑法进行PID参数调节,其步骤为[3]:
(1)确定比例增益Kp:确定比例增益Kp时,首先去掉PID的积分项和微分项,一般是令Ki=0、Kd=0,使PID为纯比例调节。将比例增益系数Kp由小到大变化(系统默认值Kp=2 000),观察系统响应,直至响应速度快、有一定范围的超调为止。如果系统静差在规定范围之内,且响应曲线已满足设计要求,那么只需纯比例调节器即可。
(2)确定积分增益Ki:比例增益Kp确定后,如果系统静差达不到设计要求,则可加入积分作用。设定一个较大的积分增益Ki的初值,然后逐渐减小Ki,直至系统出现振荡,之后再反过来,逐渐加大Ki,直至系统振荡消失,静差消减为0。反复试验几次,直到消除静差的速度满意为止。这时的超调量若比原来加大,应适当降低比例增益Kp。
(3) 确定微分增益Kd:微分增益Kd一般不用设定,为0即可,若使用比例积分(PI)控制器经过反复调整仍达不到设计要求或不稳定,则需加入微分作用,调节时将微分增益Kd由零递增,观察超调量和稳定性,同时相应地微调比例增益Kp和积分增益Ki,逐步试凑,直到满意为止。
另外还有几个伺服控制I变量可以减小伺服系统的轨迹误差:电机速度前馈增益Kvff变量为Ix32,可以减小轨迹误差、增大系统阻尼、改善系统的动态性能;电机加速度前馈增益Kaff变量为Ix35,可减小惯性迟滞引起的跟踪误差。这几个参数在基本PID参数调节好后试凑调节。
基本参数的调节可以根据伺服轴的阶跃响应特性进行,前馈控制参数的调节则根据抛物线响应特性进行,参数调节好后的响应曲线见图5~图8。其中,cts为码盘计数反馈值,可认为是位置反馈值。
4 实验曲线
出药升降机的速度范围为0.8m/s~1m/s,在实际运行时,升降机运行平稳,快速性好。在出药升降机速度为1m/s、运动行程为1.5m、往复运动30次时,使用百分表对其重复位置精度进行测量,实验曲线见图9。从图9中可以看到升降机的重复位置精度在±0.2mm之内,说明升降机具有较高的定位精度,双伺服电机同步运行性能良好。
5 结论
采用基于PMAC运动控制器的并联式同步控制方式,不仅实现了出药升降机双交流伺服电机良好的同步控制性能,同时控制系统具有开放特性,便于现场调试,维护简单,调整方便,对于推动我国药房自动化、智能化发展具有积极的意义。
参考文献
[1]丛爽,李泽湘.实用运动控制技术[M].北京:电子工业出版社,2006.
[2]刘毅.基于PMAC的微小型机床数控系统研究[D].哈尔滨:哈尔滨工业大学,2006:18-24.
PMAC控制器 第4篇
关键词:PMAC,运动控制卡,双端口RAM,硬件结构
0 引言
运动控制卡作为开放式数控系统的核心控制部件,一直是国内外科研机构研究的重点,其设计的合理性对提高自身性能以及整个数控系统的性能均具有重要意义。近些年来,随着微电子技术、数字信号处理技术以及嵌入式技术的发展,运动控制卡的集成度和可靠性不断得到提高,并逐渐从数控系统中分离出来,转而成为制造业领域中一个独立的控制类产品。在此类产品中,由美国Delta Tau Data Systems公司生产的高性能系列可编程多轴控制器(Programmable Multi Axis Controller,简称PMAC)以其强大的运动控制功能、良好的系统兼容性和灵活的可扩展性在各种工业控制领域都得到了广泛的应用,被公认为业内最成熟的运动控制类产品之一。PMAC卡不仅可以独立地进行数据处理和程序运行等工作,而且还对各项任务的优先级进行了精心地设置,以确保它们能够被快速合理地完成。这样PMAC卡就成为了一台实时多任务的计算机[1],可以作为下位机应用到实际工程之中。虽然目前针对PMAC控制卡实际应用方面的文献较多[2],但对于其硬件结构和运行机理方面的研究文献却相对较少。本文较为细致地研究了一种8轴PMAC-PC运动控制卡和双端口RAM卡的硬件结构,分析了它们的工作原理与总线通讯方式,并对其硬件结构设计的合理之处进行了讨论。
1 PMAC-PC卡的硬件结构分析
1.1 基板的硬件结构分析
PMAC-PC卡的基板上共有22种芯片,可分为模拟电路和数字电路两部分,其结构图如图1所示。基板的核心是门阵列单元,它由两片可编程门阵列芯片构成,分别负责4个运动轴的信号处理工作。
模拟电路部分的核心是D/A转换单元,它由8片16位串行输入的D/A转换芯片AD1851组成,其正负5伏的工作电源由模拟电路供电单元的正负电压调节器来提供。数字电路部分的时钟分频单元
为它提供了2.4576Mhz的时钟频率信号;CPU板上的控制芯片DSP56002所提供的DAC控制信号和待转换的并行DAC数据信号以及用于同步的时钟信号通过门阵列单元分别生成相应的DAC片选信号和串行化的DAC数据信号。这些信号最终通过光电耦合单元提供给D/A转换单元来产生各轴所需的模拟控制信号。当伺服驱动器接收到这些信号后便对各轴的运行状态进行实时更新。
数字电路部分可以分为三个功能模块:伺服环处理模块、外设接口模块和总线通讯模块。在伺服环处理模块中,时钟分频单元首先对CPU板上有源晶振所提供的19.6608Mhz时钟频率信号进行分频处理,进而产生相频率、伺服频率和编码器采样频率,这些信号最终输入给门阵列单元用于处理换向更新任务和伺服更新任务。其中换向更新任务的优先级处于第二位,它负责多相电机的换向工作,换向周期由相频率决定,不过为每台电机换向需要额外占用两个模拟量输出通道,所以工程中通常选择由驱动器来换向。伺服更新任务的优先级处于第三位,它负责检测和更新每台电机的运行状态以及数据采集和报表生成工作,伺服更新周期由伺服频率决定。在每个更新周期中,由于门阵列单元负责采集和处理由伺服驱动器提供的各个电机的状态反馈信息(包括复位信号、极限位信号、故障信号和编码器差分输入信号),所以DSP56002可以直接读取当前被控对象的位置值,并根据该值与计算出的下一个受控位置值的偏差来决定当前系统速度环的控制量。此外它还可以对伺服电机的使能状态进行在线控制。外设接口模块为系统提供了丰富的扩展功能,用户可以根据使用情况自行选择由并行接口单元扩展的显示器接口、控制面板接口、手轮接口、通用I/O接口以及串行通讯接口等[3]。总线通讯模块实现了PMAC-PC卡与主机通讯的功能,通讯的方式可分为轮询和中断两种。轮询方式主要通过软件编程来实现,但执行效率较低;中断方式执行效率较高,不过需要硬件的支持。PMAC-PC卡利用一片中断控制器82C59A来处理INPOS、BFUL、EROR、F1ER、JEQU和HREQ的内部中断请求信号以及来自JOPT接口的MI1和MI2中断请求信号。ISA总线的中断信号采用的是边沿触发方式,当中断发生时,主机通过驱动程序通知逻辑控制单元和总线收发器读取中断类型码并响应该中断。只有PMAC卡的高8位地址跳线值与ISA总线上所对应的高8位地址值相同时,地址比较单元才会产生使能信号,通知这两个单元完成以上的通讯工作。
1.2 CPU板的硬件结构分析
PMAC-PC卡的CPU板上一共有10种芯片,可分为6个工作单元,其结构图如图2所示,图中各种信号线的含义与图1相同。CPU板的核心是摩托罗拉公司生产的24位定点数字信号处理器DSP56002,其时钟频率为19.6608Mhz,由外部有源晶振来提供。DSP的端口B和端口C分别工作在主机接口模式和串行通讯接口模式,并分别与基板上的总线通讯模块和JRS422接口相连,来实现控制卡的并行与串行通信。系统中512K的快闪存储器用于存储系统固件(Firmware)和用户程序,在上电和复位时,其内容会拷贝到384K的快速存储器中以便系统程序的快速访问。缓冲/驱动单元一方面将门阵列单元提供的电机状态反馈信息传送给DSP,另一方面再将DSP计算出的控制量传送给门阵列单元。逻辑控制单元负责协调与同步CPU板的各项处理工作。监测单元主要由电源监控芯片DS1231和反向触发器构成,当供电低于4.75V时,它将产生非屏蔽中断信号,通知DSP触发看门狗定时器,禁用整个控制卡,并点亮红色报警灯;当供电低于4.5V时,监测单元将产生DSP的复位信号。
1.3 PMAC-PC卡的总线通讯方式
PMAC-PC卡使用的总线通讯标准是由IEEE966协会在1987年正式通过的工业标准体系结构(Industry Standard Architecture),即ISA总线标准。这种总线的前身是IBM公司在1984年开发的AT总线,它支持8位或16位的数据操作,最高工作频率为8Mhz,实际传输速率的最大值为8Mbyte/s。而PMAC-PC卡则是作为ISA平台下的扩展I/O卡来工作,其地址范围可以设置在前4K的I/O地址空间之内。出于对ISA平台兼容性的考虑,它的数据线宽度只有8位,只能与主机进行单字符的I/O通讯。虽然PMAC-PC卡将这项通讯任务的优先级设置为最高级,但是它所占用的计算时间却不多。ISA平台下的I/O访问周期如图3所示[4]。
2 双端口RAM卡的工作原理
双端口RAM(DPRAM)卡上一共有13种芯片,可分为7个工作单元,其核心是IDT公司生产的一片8K16位的双端口静态RAM芯片,图2是它的结构图。DPRAM两个相互独立的端口各自拥有一套地址线、控制线和数据线,可以同时访问同一片存储器阵列的不同存储单元。一方面,PMAC-PC卡CPU板上的地址线、控制线和数据线通过缓冲/驱动单元以及接口端子P3、P4和J3、J4与DPRAM右端口相应的信号线进行了互联,从而实现了它对DPRAM右端口的访问。另一方面,主机可以通过ISA总线发送读写命令来访问DPRAM左端口相应的存储单元。其具体过程是:系统每次上电后,驱动程序会将DPRAM卡的高10位地址信息通过译码单元写入地址比较单元,当主机访问它时,地址比较单元与总线上的高10位地址信息相同,从而产生左端口的选通信号以及缓冲/驱动单元的使能信号,此后总线上的低14位地址信号和控制信号就可以进入到缓冲/驱动单元并为DPRAM的左端口提供访问控制信号和地址信号,同时给总线收发器提供使能信号和方向控制信号(其中使能信号是通过逻辑控制单元最终产生的),从而完成主机与DPRAM卡之间的数据交换。而外设驱动单元会根据左端口当前是否处于忙状态来驱动总线信号IOCHRDY,通知总线控制器是否需要额外的时钟周期来完成读写操作。这样DPRAM卡就可以作为运动控制卡和主机之间信息沟通的桥梁,一方面为PMAC-PC卡实时地添加轨迹参数或旋转程序代码,另一方面将被控对象当前的运行状态传送给主机。
与PMAC-PC卡不同,DPRAM卡是作为ISA平台下的总线存储器资源(Bus Memory Resource)来工作,其地址范围通常可以设置在$B0000与$EC000之间[5]。用户可以通过设置跳线E1来选择是否让它支持16位的数据传输。在支持的情况下,外设驱动单元会驱动总线信号MEMCS16*告知总线驱动器去执行16位数据传输的总线周期。ISA平台下的内存访问周期如图3所示。
2 结束语
本文对一种8轴PMAC-PC运动控制卡和双端口RAM卡的硬件体系结构、工作原理及其使用的总线通讯方式进行了分析,结果表明,PMAC-P C卡采用了目前比较流行的可编程逻辑器件(Programmable Logic Device,简称PLD)与DSP相结合的设计方案,基板上的PLD(门阵列单元)作为DSP的协处理器,负责采集和计算各轴的反馈信息,并将计算结果直接提供给DSP。这样设计一方面可以减轻DSP的工作负荷,使其专注于轨迹规划和后台处理工作,另一方面与从控制芯片相比,PLD能够以硬件的速度并行计算各轴的反馈信息,减少了由软件计算该信息所产生的系统延时,从而提高了整个控制系统的实时性、集成度和可靠性,并且降低了系统成本。由于ISA总线的访问时序、电压等级以及信号线的功能与PC/104总线完全一致[6],所以它对于PC/104总线运动控制卡的设计仍具有一定的参考价值,尽管16位的数据宽度可以满足中低端用户的需求,但较低的传输速率会限制上位机与控制卡的信息交换,所以PC/104总线逐渐会被传输速率更高、数据宽度更大的PCI、PCI/104和PCI/104-Express等总线形式所取代。新一代的PMAC运动控制卡PMAC-PCI不仅采用了PCI总线通讯方式,而且还提高了系统的集成度,这使得双端口RAM可以直接集成到运动控制卡上;虽然其控制芯片采用了主频更高、扩展能力更强的563xx系列DSP,但它仍然是24位的定点DSP,而且其内核和指令系统均与5600x系列DSP向上兼容,这表明新型控制卡仍然延续了PMAC-PC卡所采用的硬件体系结构,同时其资源配置方式与运行机理也没有发生实质性地改变[7],因此这种设计方案对于自主设计和开发此类运动控制卡的软硬件仍具有参考和借鉴意义。
参考文献
[1]Delta Tau System Inc.PMAC User's Manual[R].2007.
[2]丛明,张士军,周玉敏,等.基于PMAC的硅片传输机器人控制器的设计与实现[J].制造业自动化,2006,(5):48-52.
[3]Delta Tau System Inc.PMAC PC Hardware Reference Man ual[R].2004.
[4]Edward Solari.ISA&EISA Theory&Operation[M].San Diego:Annabooks,1992.
[5]Delta Tau System Inc.PMAC Dual-Ported RAM User's Manual[R].2004.
[6]PC/104 Embedded Consortium.PC/104 Specification[S].www.pc104.org,2003.
基于PMAC的多系统数控机床研究 第5篇
PMAC多轴运动控制板是由Delta Tau公司推出的低成本高精度的多轴控制板, 是工业领域最常用的运动控制板之一, 广泛应用于各数控系统中[1]。在教学实践中, 存在三种数控机床系统:华中数控、三菱和FANUC。为提高学生的适应性, 学校通常会同时采购三种数控机床, 而三种机床通常床身的区别并不大, 这样就造成了资源的浪费。因此迫切需求能将三种数控系统融合在一起的方法。
1 实现原理
文中介绍了一种利用VB软件以及PMAC运动控制卡实现多系统数控机床的方法。功能实现的硬件为工控机一台, 华中数控、三菱和FANUC的数控面板各一套, 数控机床一台。
三种数控面板分别通过串口与工控机相连接并实现通讯。工控机将接收到的数控面板的命令转换成数控系统PMAC可用的格式, 并将转换后的命令发送到PMAC卡, 由PMAC卡根据收到的指令驱动数控机床进行相关动作。由工控机处理PMAC运动控制卡反馈的数据, 并实时控制数控面板上界面的切换和文字的显示, 控制系统的流程如图1所示。
2 工控机程序编写
工控机作为多系统机床的核心, 综合处理各组成部件间的信息, 让数控面板、PMAC运动控制卡和数控机床有机地结合在一起, 协调工作。软件的原理是将各系统的数控编程语言进行转化, 转化成统一的、PMAC运动控制卡可用的程序代码, 并且将需要显示的数据, 如主轴转速、当前刀号等数据转化为各数控面板能识别的数据, 并使数据显示在数控面板上。程序的功能完全可由目前很成熟的、简单的VB编程语言来实现。下面以FANUC系统的数控编程语言为例, 就代表性代码进行说明。
2.1 符号替换
数控编程语言中的符号与PMAC运动控制卡能识别的符号稍有差别, 需要进行转换。例如数控编程语言中的“=”对应到PMAC运动控制卡的符号就是“EQ”, 下面是替换语句:
同样的还有“!=”、“>”、“!<”、“<”和“︳”分别替换为“NE”、“GT”、“GE”、“LT”和“OR”
2.2 用户坐标系替换
在数控编程语言中, 用户坐标系只用G54等简写就足够了, G54坐标系数据可以在数控面板里面输入。但是对于PMAC运动控制卡来说, 必须写出完整的坐标系, 如:“G54X300.Y300.Z300.”, 下面是替换语句:
同样的还有G55~G59的用户坐标系。
3 结论
研究了一种基于工控机和PMAC实现多面板数控机床的方法, 以FANUC系统的数控编程语言为例, 详细说明了实现方法及思路。利用VB语言编写工控机程序, 实现了工控机对数据的分析和处理。实现了数控机床编程系统的集成化, 节约了购置成本。自主搭建的多系统数控机床, 已在自主研发的基于PMAC的数控加工中心系统VNCZT-545上得到成功应用。
摘要:对多系统数控机床的设计进行了详细介绍。研究了一种基于V B和数控面板实现多系统数控机床的方法, 利用VB语言编写多系统切换的工控机软件, 实现多系统的界面切换和功能对应, 利用各机床系统的相通性, 实现多个数控系统共用同一台机床, 只切换面板就可以更换不同的机床系统。大大提高了数控机床的利用率, 特别是对于学校实训教学来说, 采用这种多系统的数控机床, 可以在很大程度上节约实训设备经费, 节约场地。并给出了关键的程序代码。编制的程序代码具有通用性和可移植性, 已在自主研发的基于PMAC的数控加工中心系统VNCZT-545上得到成功应用。
关键词:PMAC,多系统,数控机床
参考文献
[1]佚名.Delta Tau Clipper多轴运动控制卡[EB/OL].http://www.cntrades.com/b2b/jixie0406/sell/itemid-24806557.html.
[2]吕孝敏.基于宏程序的二次曲线数控加工[D].合肥:合肥工业大学, 2010.
[3]朱跃峰.基于FANUC Oi数控系统宏程序研究[D].安肥:合肥工业大学, 2008.
[4]申博.CNC齿轮测量中心编程系统[D].西安:西安工业学院, 2005.
PMAC控制器 第6篇
关键词:PMAC,工件坐标系,G54,数控系统
0 引言
数控机床自身的坐标为机床坐标,而在实际加工中,为了编程方便,一般是基于工件本身编写NC代码,即工件坐标,这样就会导致在加工时,机床坐标原点与工件坐标原点出现偏差,不能实现正常加工的现象,因此加工时,首先要建立工件坐标系,程序中的坐标值均以此坐标系为依据[1],使得刀具能够根据工件坐标系的设定值到达指定位置,进行正常加工,从而保证工件加工质量。
目前,关于建立工件坐标系的研究颇多,原理和方法也类似,但是基于PMAC运动控制卡的工件坐标系建立方法的研究较少,本文针对此问题展开研究,基于自主研发的TDNC-H8数控系统,结合PMAC运动控制卡的功能,开发以G54为代表的工件坐标系设定功能模块,实现自动对刀,对于提高加工效率和加工质量具有重要的意义。
1 基于PMAC的数控加工程序实现方法
近年来,随着计算机技术的飞速发展,开放式数控系统应运而生。“PC+运动控制卡”模式的开放式数控系统,是目前比较流行的一种数控系统开发方式。这种开放系统中,NC代码需要通过PC并行总线传送给运动控制卡,然后由运动控制卡向驱动器发出运动指令,从而完成数控加工过程[2]。数控加工用NC代码一般是通过专用软件生成或由人工编写,都是以工件本身为加工原点进行编写。实际加工时,调用系统中储存的加工程序或者根据需要也可以进行人工即时编写,以满足加工需求。
在“PC+运动控制器”型开放式数控系统中,NC代码需要被翻译成可供PMAC卡直接执行的目标程序格式[3]。即完成数控代码功能的识别,并将提取的关键字转换为运动控制器中对应的运动函数中的参数,也就是将所有的命令转化为PMAC能识别的语言,也称译码,见表1,再去控制相应运动部件执行动作。
2 工件坐标系建立的原理与方法
2.1 工件坐标系与机床坐标系的区别与联系
机床坐标系、工件坐标系是数控加工中的重要概念。机床坐标系为机床上固有的坐标系,并有其固有的坐标原点,即机床原点(又称为机械原点)。它是由机床生产厂家根据机床各轴的行程设定的。工件坐标系是编程时使用的坐标系,又称为编程坐标,编程时首先根据被加工零件的几何形状和尺寸,在零件图上设定工件坐标系,使零件图上的所有几何元素在坐标系中都有确定的位置,为编程提供轨迹坐标和运动方向。不同工件的工件坐标系原点可能不同,它与机床坐标系间存在一定的偏差,如图1所示,Xa和Yb分别为横坐标和纵坐标偏差值。
实际加工中,为了避免更换工件时重新对刀,可以记录第一次对刀的数值即工件坐标系下的刀具原点与机床坐标系下的刀具原点的差值并建立工件坐标系,更换工件后,勿需人工对刀,节省时间,提高加工效率和加工质量。因此工件坐标系与机床坐标系之间存在着一定的关联,数值关系随着加工工件的不同会发生变化,但从逻辑上来说是保持不变的,同时也是工件坐标系建立的方法依据。
2.2 基于PMAC的G54工件坐标系的建立方法
数控加工时,数控系统是在机床坐标系下控制刀具运动的,而加工程序及程序中刀具的运动轨迹完全是在工件坐标系中规划的,一般情况下都是要求将加工程序输入给数控系统后,数控系统能由刀位点在工件坐标系中的坐标换算出它在机床坐标系中的坐标[4]。但对于PMAC运动控制卡而言,其对应的PSET指令功能是重新定义当前轴的位置,因此就需要数控系统能把刀位点在机床坐标系中的坐标换算为在工件坐标系中的坐标。
如图2所示,假设当前刀位点坐标为(200,200,300),定义当前点为工件加工原点,即工件坐标系原点,其实现过程为:用M1、M2和M3分别代表PMAC运动控制卡固有的存储当前刀位点坐标值变量,通过程序读取变量值,此时M1=200,M2=200,M3=300,即机床坐标系与工件坐标系的差值;将其存储到设定的变量M11、M22和M33中待用。根据PSET指令的功能,设定工件坐标系原点的方法即是将当前轴的坐标设定为0,因此G54指令功能的译码部分即是两个变量之差,也即将当前刀位点在机床坐标系下的坐标转化为工件坐标系下的坐标。
若更换相同工件时,如果刀位点坐标值发生了改变,如位置Ⅱ,此时M1=300,M2=300,M3=400,通过调用G54及译码功能,计算出当前刀位点在工件坐标系中的坐标为(100,100,100),然后加工程序的首行编写G00 X0 Y0 Z0,系统使得刀具回到工件坐标系的原点待加工,勿需重新对刀,提高加工效率。实质上是直接用偏移值确定了工件坐标系原点与机床参考点的距离。工件坐标系一经建立,它们在机床坐标系中的位置就固定下来了[5]。
3 基于Visual C++的G54功能模块开发
3.1 G54功能模块构建
结合Visual C++可视化功能,构建单独的G54功能模块,便于人机交互和功能拓展,如图3所示;且嵌入到开放式数控系统中运行。该模块包括五个坐标值的编辑和录入,还有底部的人机交互功能、右侧及底部功能键。通过右侧按键,五个坐标值编辑栏可以实现自动捕捉当前刀具位置坐标并进行显示,将其设定为工件坐标系;此外运用底部的编辑界面,可以人工设定当前工件坐标系的各个坐标值,也可以对自动获得的坐标进行一定程度的修正;运用底部按键可以实现与其他功能模式之间的切换;并且也能实现窗口间的切换,方便使用和查看。
3.2 G54功能的实现过程
首先,启动机床后,经人工手动对刀至工件坐标系原点。然后从系统中选择到G54功能模块,按下“F17测量”按键,此时刀具在机床坐标系下的坐标值便自动被捕获并相应地显示出来,同时也作为工件坐标系原点坐标被保存。在加工过程中,也可以实时地切换到G54功能模块进行浏览和查看。当加工结束,更换相同工件时,勿需再对刀,数控程序NC代码中只要正常编写G54指令,直接运行程序,刀具即能从最初设定的工件坐标系原点开始加工,节省对刀时间,提高加工效率。此外,在加工过程中,如果出现换刀,在G54功能模块中重新捕捉当前刀具坐标值或者人工输入坐标值来设定工件坐标系原点,实现重新对刀。
4 结束语
本文通过研究工件坐标系与机床坐标系间的关系,结合PMAC运动控制卡的功能,分析建立工件坐标系的方法,并基于Visual C++开发G54功能模块,具有良好的通用性和较高的开放性;并且嵌入到数控系统中,在六轴联动数控加工中心中实现自动对刀功能,提高加工效率和质量。本功能模块已在相关项目中得到应用,实践证明该模块具有很强的可操作性和较高的实用价值。
参考文献
[1]李英平,侯万明,宋玉梅,郑万江.基于FUNUC 0iT数控系统工件坐标系的建立与刀具补偿[J].工艺与装备.2008.2:80-82.
[2]郑华林,马建禄,潘盛湖,郭高垒.基于P C运动控制卡的数控系统NC代码编译技术研究[J].机床与液压.2011.10:94-96.
[3]贾旭,卢晓红,王鑫鑫,贾振元.基于PMAC的微铣床数控系统中G代码编译研究[J].组合机床与自动化加工技术.2012.3:104-107.
[4]牛禄峰,高秀兰,王宝.数控机床编程技术及对刀操作中的几个问题[J].机床与液压.2006.1:49-51.