基于PMAC的镗铣加工中心数控系统的研究

2013-10-24 13:08孙建业
制造技术与机床 2013年2期
关键词:人机界面数控系统电动机

孙建业 李 强

(沈阳理工大学辽宁省高速切削工程技术研究中心,辽宁沈阳 110159)

开放式数控系统是当今数控系统的发展趋势,PC+运动控制器的结构是目前实现开放式数控系统的有效、现实的途径。这种基于开放式可编程运动控制器的系统结构以通用微机为平台,以PC机标准插件形式的开放式可编程运动控制器为核心,支持用户的开发和扩展,具有上、下两级的开放性。Delta Tau公司的可编程多轴控制器(PMAC)是这种运动控制器的典型代表。其拥有自身的CPU,同时开放包括通信端口、存储结构在内的大部分地址空间、具有灵活性好、功能稳定、可共享计算机所有资源等特点[1]。它是一个拥有高性能的伺服运动控制器,可最多控制三十二轴的同时运动。

本文以镗铣加工中心为测试平台,在PMAC多轴运动控制卡基础上,建立开放式数控系统,实现通讯和控制功能。利用Microsoft的专业开发工具Visual C++6.0,按照标准数控系统界面的基本要求,初步构建了一个开放式的数控系统人机界面,进行了调试和验证,效果良好。

1 硬件结构

1.1 镗铣加工中心机床结构

镗铣加工中心结合了镗床和铣床的两种功能于一体,可以实现水平和垂直2个方向的加工,一次安装就能够对其5个表面的车铣、镗孔、曲面的加工,实现对工件平面的铣削、钻孔、攻丝等工序的复合式加工。使加工效率更高、精度更好,极大地提高了产品品质和劳动效率。镗铣加工中心机床结构如图1所示,机床分为两个坐标系:铣刀坐标系与镗刀坐标系。铣刀垂直运动方向为Z1轴,水平运动方向为Y1轴。镗刀水平运动方向为Z2轴,垂直运动方向为Y2与Y3轴,采用双电动机同步控制。工作台的运动为X轴方向,为两个坐标系共用。工作台的旋转采用液压控制。加工时根据工艺要求选择轴组,按照需要进行切换。

1.2 镗铣加工中心电气结构

镗铣加工中心电气结构如图2所示。本系统采用Turbo PMAC-PCI型卡,卡自身可提供8通道轴接口。输入与输出模块为PMAC提供的DTC-32IN与DTC-32OUT模块。PMAC提供了位置转接板ACC-8P,方便实现对PMAC板卡上的接口进行转接。J7与J8是PMAC与机械驱动设备的接口,它是PMAC多轴运动控制器用来驱动伺服单元和获取编码器反馈信号等信息的专用接口。一个JMACH接口包含四组通道,每一组通道包括:模拟量输出引脚、增量式脉冲编码器反馈信号输入引脚、相关的输入/输出的标志引脚和电源引脚。该机床具有双主轴,双刀库控制系统,含6个坐标轴,一个手摇脉冲发生器。Turbo PMAC-PCI自带8通道轴接口,需进行扩展。ACC-24P是Delta Tau公司提供的4通道扩展附件,通过与PMAC卡上的JEXP接口及ACC-8P转接板附件相连,可以实现4个轴口的扩展。

2 软件结构

系统的软件结构以Windows为系统平台,通过IPC的ISA总线插槽与PMAC连接,在VC++6.0编辑环境下调用Pcomm32.dll动态链接库,分别编制不同任务的前端用户界面程序,方便地构造用户操作界面,具有很大的灵活性和开放性[1]。Pcomm32.dll是Delta Tau公司提供的动态链接库。包含了与PMAC进行通讯的各种方法,并将其主要函数进行分类、封装,根据用户需要而调用。不用直接对端口进行操作就可以完成对 PMAC硬件的操作。通过PEWIN32PRO软件实现对PMAC的参数设置与调试,并且程序设计灵活迅速及可移植性好。系统软件结构如图3所示。

3 人机界面的实现

3.1 人机界面程序编制

镗铣加工中心的人机界面程序主要是将数控系统的操作界面显示在屏幕上,为操作者提供一个直观的操作环境。如图4所示,主界面设计包括程序编辑、打开程序、系统参数设置、手动操作、状态显示、自动循环、MDI模式,循环启动与停止等。整个人机界面基于Windows环境,采用菜单式按钮,具有很好的人机交互性[2]。

3.2 动态链接库的调用

在VC程序中调用Pcomm32.dll动态链接库就能完成上位机同PMAC之间的数据交换。在VC中用隐式调用的方法如下:

设定库函数的链接路径点击菜单Project,而后点击Setting。在弹出的窗口中找到Link分页。在Object/library modules的栏中填写lib文件所在的路径默认是 C:windowssystem32pcomm32.lib。

在全局作用域中声明导入函数:extern“C”_declspec(dllimport)BOOL_stdcallOpenPmacDevice(DWOR-D dwDevice);函数原型:BOOL OpenPmac-Device(DWOR-D dwDevice);调用方式:OpenPmac-Device(0)。

3.3 界面功能的实现

在VC++环境中实现动态链接库加载后,要实现人机界面与PMAC之间的通信,首先要在所编写的界面初始化函数“BOOL CMyDlg::OnInitDialog()”中加入其通信函数“{OpenPmacDevice(0);}”(0代表第一块PMAC卡),这样就可以利用其链接库的函数与PMAC进行通信。其中手动控制、参数设置等功能都可以通过函数“PmacGetResponseA(DeviceNumber,Response,255,“String”)”来实现,只要改变 String 字符串的内容发送不同的指令,如设置电动机1正转,将String替换为“#1J+”。若要设置PMAC参数,可通过以下函数实现:

String为需要改变的变量与赋值,当PMAC中的变量值被改变后,需发送一个“SAVE”命令进行保存,否则重启时变量的值将恢复之前的状态。

位置与速度的实时显示,这里利用了Timer定时器控件,同时将函数 PmacGetResponseA(Device-Number,Response,255,“String”)添加到该定时器的WM-TIMER消息处理函数OnTimer()中,其中String为PMAC中地址寄存器Mxx66或速度寄存器Mxx61(xx为电动机号),将读取到的数值经过换算实时反馈到界面上,并定时更新。

3.4 程序跟踪功能的实现

PMAC提供了许多的在线指令供调试和控制,其中“LIST PE”指令为列出正在执行的程序行。在Timer的定时器的WM-TIMER消息处理函数OnTimer()中加入“PmacGetResponseA(0,Response,255,“LIST PE”)”函数。定时从PMAC中传回正在执行的程序行并存储在Response中,给编辑框添控件加变量m_edit,然后对编辑框进行行列索引,定义“int charIndex=m_edit.LineIndex- (row)+column;”。使用 if语句进行判断,如果Response中的值与上一次不同,则令当前行数row++,否则不变。通过函数“m_edit.SetSel(charIndex,charIndex);”改变光标的位置,让其指向当前执行的程序行,这样就实现了程序跟踪的功能。

4 双轴组之间的切换

该镗铣加工中心为双轴组系统,每一个轴组都有一个独立的坐标系,在加工时我们要根据要求进行选择。所以在PMAC中我们定义两个坐标系&1与&2(其中&为PMAC的坐标系选址指令),将&1定义为镗刀坐标系,&2定义为铣刀坐标系,将电动机分配到所对应的轴上。其中工作台的移动方向的电动机为两坐标系共用。在加工时先选择坐标系然后再编写加工程序。在人机界面上,编写程序前要先注明是T(镗)还是X(铣)。如果为T,那么所编写的程序将被自动保存在&1坐标系下,为X将被保存在&2坐标系下。在加工时自动执行所选的坐标系相对应的程序。在两轴组间增加互锁功能,只有停止状态才能进行切换。

5 电动机同步功能的实现

镗铣加工中心的镗刀升降机构采用双电动机驱动控制,所以在加工过程中要涉及电动机的同步功能的实现。由于升降机构的的运动方式主要分为自动运行、点动运行、回零操作3种,每种运动方式各有其特殊性,所以在实现电动机同步过程中采用不同的方法。

5.1 自动运行

将两台电动机分配给同一个轴,这样在程序中单个轴的运动将给复合的电动机以完全相同命令,用这种方式协调并行的电动机来实现镗刀升降机构的电动机的同步控制,这时候的同步误差为两个轴的定位精度之和。

5.2 点动运行

点动运行有两种实现方式:一种是先设置一个虚拟轴,然后采用两轴跟随一个虚拟轴的方式,当用户启动点动命令时,发出虚拟轴运动命令,释放点动按钮时,终止虚拟轴运动,这样既可实现两台电动机的同步点动功能[3]。另一种可以通过PLC程序设置当该轴的电动按钮被按下时,向PMAC发送在线指令“COMMAND‘#1J+#2J+’”,此时两台电动机将同时向正向移动。当按钮被释放时,向PMAC发送在线指令“COMMAND^A”,两台电动机将同时停止运动。

5.3 回零控制

回零控制在机床操作中比较重要。在回零过程中,可先将其中一台电动机作为主电动机进行回零,从电动机进行跟随运动,在主电动机回零完毕后,将主电动机作为从电动机,从电动机作为主电动机再进行二次回零。从而减小同步误差,消除因从电动机滞后在两台电动机间产生的扭转力矩,保证系统的同步性能。

由于两台电动机都是由单独的伺服系统驱动,彼此之间是相互独立的单元。在同步过程中极有可能因外部干扰等原因而引起的位置不同步现象,而造成伺服性能下降,机械结构的损坏。为了避免该现象的发生,可通过电动机跟随误差限制来进行调整,若超出允许的误差范围则及时进行处理。

6 结语

本文针对特定的镗铣加工中心平台,采用PMAC多轴可编程运动控制器,研制了开放式数控系统。以VC++6.0为平台建立人机交互界面便于操作,实现通讯与控制功能,并根据机床的结构要求实现轴组切换,电动机的同步控制功能。通过调整相应参数,确保了系统响应速度与控制精度。

[1]白海清,彭玉海,何宁.基于PMAC的数控系统软件开发研究[J].机床与液压.2007,35(2):59-61.

[2]张冰蔚,黄彬,王佳.基于PMAC的活塞车床开放式数控系统[J].机电一体化,2006(1).

[3]王亚军,陈东生,蒲洁,等.双电动机驱动升降机构运动实时同步控制技术[J].组合机床与自动化加工技术.2009(9):60-62.

[4]马永波,贠超,刘相权,等.基于PMAC的自动化药房出药升降机的同步控制[J].机械工程与自动化,2008(3):122-124,128.

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

[6]PMAC/PMAC2 Software Reference Manual[Z] .DEL TATAU Data Systems,Inc.2003.

[7]DELTA TAU Data Sys tem Inc.PMAC USER’S MANUAL[M].USA:DELTA TAU Data Sys temInc,1999.

猜你喜欢
人机界面数控系统电动机
浅析电动机日常维护与保养
永磁同步电动机的节能计算
浅谈无锡地铁信号系统人机界面的应用与研究
现代汽车人机界面(HMI)设计趋势
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
基于KB0的电动机软启动控制系统
电动机的保护配合及CPS在民用建筑中的应用