一种基于PMAC的开放式数控系统的设计与实现

2012-07-03 08:59李树军徐永新金益韩
制造业自动化 2012年4期
关键词:下位数控系统驱动器

郭 鼓,李树军,徐永新,杨 凯,金益韩

(西北工业大学 机电学院,西安 710072)

0 引言

随着计算机集成制造技术的迅猛发展,开放化、集成化与模块化已成为数控系统的重要特性。开放式数控系统具有良好的软硬件重构特性,更能有效地满足当今市场的需求,已成为数控系统发展的主要趋势。PC机+可编程运动控制器作为开放式数控系统的一种,它支持用户的开发和扩展,具有上、下两级开放的特性,结合PC机友好人机界面和可编程运动控制器强大的控制计算能力,更能弥补单一模式在开放式数控系统设计中的不足[1,2]。

本开放式数控系统采用上述组成模式,主要由工业控制计算机(IPC)+多轴运动控制卡(PMAC)组成,再配有交流伺服电机、伺服驱动器、编码器和接近开关等构成一个模块化数控系统。

1 硬件平台设计

本开放式数控系统是针对一套三坐标移动测试实验台而设计的。该实验台共有X、Y、Z三轴。其中,X、Z两轴在水平方向相互垂直,X轴为交流伺服电机刚性连接滚珠丝杠;Z轴通过一级同步带轮进行1:2减速,同步带轮刚性连接滚珠丝杠;Y轴为竖直方向且为龙门结构、双边驱动,电机刚性连接滚珠丝杠。为保证Y轴双电机同步控制,选用美国DELTA TAU公司推出的开放式可编程运动控制卡——PMAC(programmable multiaxes controller)。该卡具有运动控制、内务处理、离散控制、同上位机交互等基本功能,内部使用一片Motorola DSP 56303数字信号处理芯片,速度、分辨率、带宽等指标远优于一般的控制器[3]。由于PMAC的操作界面为原始的DOS界面,不便于人机交互,在本数控系统中选用工业控制计算机(IPC)作为终端实时显示,有效地解决了上述问题。另外,IPC与PMAC均具有自己的CPU,它们组成主从式控制结构:IPC负责人机交互和控制系统的实时监控等工作, PMAC完成电机运转的控制、编码器信号的实时反馈、运动轨迹的计算、回零和限位等细节工作,由此加快了数据的处理速度,提高了系统的工作效率。该数控系统硬件结构原理图如图1所示。

系统的通讯速度由PMAC卡与上位机(IPC)之间的通讯方式决定。PMAC卡与上位机(IPC)之间的通讯方式分为RS232串口通讯和Ethernet接口通讯,后者相对前者具有较高的传输速度和较远的传输距离,本数控系统采用后者,以提高数据的传输效率,更有效地实现实时反馈。

机械结构的运动执行体由交流伺服电机及其配套伺服单元组成。在由上述XYZ三轴组成的立体空间中,Y轴完成竖直方向的运动任务。为防止Y方向负载在重力作用下下滑,Y轴电机必须带有制动器。

2 下位机控制系统设计

下位机控制系统的核心采用PMAC卡,它控制交流伺服电机、伺服驱动器和各轴接近开关等相关单元的工作。其设计内容主要包括:交流伺服电机试运行、交流伺服电机PID调节和交流伺服电机运动程序设计。其硬件连接实物图如图2所示。

图1 数控系统硬件结构原理图

图2 硬件连接实物图

2.1 交流伺服电机试运行

在用PMAC卡调节伺服电机之前,必须使用伺服驱动器对各轴的伺服电机进行试运行,为后续调节工作做好准备。

驱动器试运行之前,分别将驱动器参数Pn50A和Pn50B设置为2100、6543,进行手动调试。通过驱动器面板上的操作按键换到Fn002参数,进入JOG模式,以驱动器默认速度(Pn304=500r/min)进行电机的正反转测试[4]。在电机带动丝杠转动正常的条件下,将Pn304分别调至200r/min、100r/min、50r/min和20r/min对电机试运行,检测机械结构是否存在安装问题。本系统在调试过程中,利用该方法发现了X轴丝杠螺母副在与负载连接时预紧力过紧致使丝杠在低速时无法转动,进而造成电机瞬间发热等问题。

2.2 PID调节

确认电机转动一切正常后,进入下位机控制系统设计过程中最核心的环节——PMAC调节交流伺服电机。将驱动器参数Pn50A和Pn50B分别设置为8100、6548,进行PMAC卡调试。

为了使系统获得良好的稳态特性和动态特性,需要对系统的PID位置控制环进行校正和调整。PID控制器是比例、积分微分校正装置。比例增益为系统提供刚性,其大小决定系统的响应速度,若该值太大会引起电机使能震动;积分增益可用消除系统的稳态误差,若该值较小会致使系统跟随误差波动较大;微分增益是为系统提供稳定性的阻尼项,能改善系统的动态特性,而该值过大会引起噪声[5,6]。PID调节原理图如图3所示。

PMAC卡可用通过PWEIN32PRO软件中的Pmac tuning pro非常方便地调节其PID参数,获得良好的控制性能。使用在线命令使电机处于闭环状态,可对各个参数值进行调整,同时可通过电机的阶跃响应曲线和抛物线响应曲线查看系统的稳态特性和动态特性。阶跃响应曲线反映电机的响应速度和稳态特性,抛物线响应曲线反映电机的跟随误差是否在可调范围内。图4、图5为Y电机的响应曲线。

2.3 运动程序设计

图3 PID调节原理图

图4 阶跃响应曲线

图5 抛物线响应曲线

应本开放式数控系统的设计要求——交流伺服电机既能够按照0.01mm、0.05mm、0.1mm、1.0mm和10.0mm的步进距离点动,也能实现连续运动。其中,交流伺服电机的点动可由PMAC编写运动程序实现,连续转动可通过给电机发送在线命令实现。

PMAC运动程序是在PWEIN32PRO软件中编写[7],其主要界面如图6所示。

图6 运动程序编写界面

运动程序的编写主要包括定义坐标系、指定坐标轴、确定轴系数和确定运动模式。PMAC运动程序中最多可定义8个坐标系,因此在每段运动程序的开头必须定义坐标系,否则运动程序不执行。在该数控系统中只有一个坐标系,定义为&1。将XYZ轴四个电机(Y轴分为Y1和Y2两个电机)分别定义为:1号电机(#1)、2号电机 (#2)、3号电机(#3)和 4号电机(#4),在PMAC中将Y轴的两个电机定义为:#2->Y,#3->Y,使得两个电机都跟随虚拟轴Y轴转动,便完成Y轴双电机的同步控制。轴系数是电机带动负载直线运动1mm电机编码器的脉冲数,主要由编码器分频脉冲数、螺距和传动比决定,其计算公式如(1)式所示。

PMAC运动程序中有绝对运动模式、增量运动模式、直线运动、圆弧运动和曲线运动等,因此在运动程序前必须确定执行机构的运动轨迹选择合适的运动模式。在本数控系统中选用直线运动、绝对模式。其运动程序主要框架为:

CLOSE

DEL GAT

&n

#{motor}->{ 轴系数 }{axis}

OPEN PROG m CLEAR

CLOSE

使用在线命令” &nBmR”执行运动程序m。

3 上位机控制系统设计

在该开放式数控系统中,上位机需要同下位机进行PMAC通讯。上位机发送控制指令给下位机,下位机采集完数据后需要上传给上位机,上位机经过转换、判断,最终在上位界面中实时显示各轴的运动状态。该数控系统借助Windows的友好人机界面,在Windows XP操作系统平台下,以VC++6.0编译器为基本软件开发和调试工具,在Delta Tau公司提供的PComm32通讯函数库及其驱动程序完成上位机软件的编写,其人机界面如图7所示。PComm32通讯函数库是上位机与下位机之间通讯的桥梁,在VC环境下对PMAC数控系统进行开发,必须将PComm32PRO中的“PComm32.dll”加载到IPC内存当中,以便调用PComm32PRO中的任意函数[8]。

图7 人机界面

该人机界面主要包括轴参数实时监控模块、轴控制参数模块、界面切换和通断模块。轴参数实时监控模块完成各轴电机状态实时显示的功能。通过轴控制参数模块可以控制电机的使能、启动、停止和回零,并且按照所选择的参数(坐标轴、正负向、运动模式、步进距离)完成相应的运动。

在该上位机软件中,通过函数OpenPmacDevice(DWORD dwDevice)连接PMAC卡,建立IPC与PMAC之间的通讯,与之成对使用的是BOOL ClosePmacDevice(DWORD dwDevice) 函数,在退出程序之前必须使用该函数断开IPC与PMAC之间的通讯,以便释放IPC内存空间。上位机与下位机通讯中最主要的函数是PmacGetResponseA(),该函数既能发送指令给下位机,又能从下位机接受上传的数据,如:PmacGetResponseA(0, buf2,255,”&1B1R”)发送在线命令使PMAC卡执行5号运动程序,PmacGetResponseA(0, buf2, 255,M166)取PMAC寄存器M166中的值。

在MFC中设置一个定时器,设定每隔50ms触发一次,同时定义该定时器的WM-TIMER消息处理函数OnTimer(),将读取到的数值实时反馈到界面上,此时各电机的实时速度和实时位置的反馈值将在编辑框中每50ms更新一次[9,10]。

4 手持控制器设计

为进一步完善该开放式数控系统,便于远近程切换,本文采用以C8051F060为主控芯片配套使用MAX3488芯片、LED液晶显示屏、RS422-RS232转换器等设计了一个手持控制器。该手持控制器应具有同上述人机界面相同的功能,精确控制各电机的启停和运转。

手持控制器的功能主要通过C8051F060单片机编程来实现,再经MAX3488芯片将单片机发送的TTL电平信号转换成差分信号,完成远距离传输,最后经过RS422-RS232转换器转换成上位机可识别的RS232电平信号。而手持控制器设计的难点是C8051F060单片机与VC之间的通讯,即如何搭建手持控制器与电机之间的桥梁。其中,单片机与VC之间的通讯可以通过对MSComm控件编写串口通讯代码实现;手持控制器数据的接受和发送可以在MSComm控件的属性里选择COM端口、设置波特率、校验位和数据位等相关参数,然后通过串口事件消息处理函数OnComm()实现。

5 结论

针对特定的三维移动测试实验机构,本文设计并开发了一套开放式数控系统。该数控系统核心采用PMAC多轴可编程运动控制器,完成Y轴双电机同步控制,并使用PMAC自带的PID控制算法,自主调整各个参数,确保了系统响应速度快、控制精度高,获得了良好的稳态性能和动态品质。以VC++6.0为平台设计的人机交互界面便于操作,构建了完善的控制系统。

[1] 白海清. 基于PMAC的数控试验台机械系统设计与软件开发[D]. 西安理工大学, 2007.

[2] 叶志坚. 基于PMAC的五轴数控弯丝机系统的研发[D].厦门大学, 2009.

[3] PMAC用户手册[M]. 北京钧义志成科技发展有限责任公司.

[4] AC伺服驱动器∑-∨系列用户手册, 设定篇[M]. 北京钧义志成科技发展有限责任公司.

[5] 高静, 麦继平. 基于PMAC的直线电机PID控制性能的研究[J]. 仪器仪表用户, 2006, 6.

[6] 陶永华. 新型PID控制及其应用(第2版)[M]. 北京: 机械工业出版社, 2002.

[7] Pewin32 PRO SOFTWARE REFERENCE MANUAL [M].DELTA TAU Data Systems, Inc, 2002.

[8] PCOMM32PRO SOFTWARE REFERENCE MANUAL[M].DELTA TAU DataSystem, Inc, 2002.

[9] 郑阿奇. Visual C++教程[M]. 北京: 清华大学出版社,2008.

[10] 宋坤, 刘锐宁, 李伟明. MFC程序开发参考大全[M]. 北京: 人民邮电出版社, 2007.

猜你喜欢
下位数控系统驱动器
气动网络多腔室弯曲软体驱动器结构优化
藏起驱动器号确保数据安全
提高火力发电厂自动电压控制系统投入率的措施
发射机房监控系统之下位机
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
空间大载荷石蜡驱动器研制
围观党“下位”,吐槽帝“登基”