0 引言
卷板机是将钢或其它金属,非金属板弯曲成相应曲率制件的设备。近年来,随着石油化工、原子能、造船、宇航、水电、汽车制造、铁路运输及建筑等行业的迅速发展,对于各种形状,规格以及高精度要求的板材制件的需求量也随之急速增加。卷板机在我国已形成一定的规模,其制造水平也在不断的提高。但目前国内生产的数控卷板机大都使用简单NC 控制,加工效率低,功能相对单一,一个型号的卷板机只能加工一个规格的产品,例如,加工圆筒的卷板机只能加工圆筒,而不能加工锥筒,缺乏灵活性。本文结合某厂W11X1300 ×10 水平下调式三辊卷板机的改造,提出了卷板机数控系统IPC + PMAC 的设计方案,并对驱动系统进行了全液压伺服设计,用数控系统直接控制液压系统,可以加工不同型号高精度的圆筒和锥筒,具有一定的柔性。
1 卷板机的结构及工作原理
W11X1300 ×10 水平下调式三辊卷板机是该厂生产的中型卷板机,如图1 所示。其中上辊可以上下运动,其运动由两端的液压缸驱动。2 个下辊可水平移动,且下辊间距可调。3 个辊的回转由液压马达驱动。
卷板是利用卷板机对板料进行连续3 点弯曲的过程。如图2 ,卷板工艺过程大致分为4 步:预弯、对中、卷圆、矫圆。
2 卷板机数控系统设计
基于PC 机和WINDOWS 操作系统的开放式、模块化数控系统是当今数控技术发展的主要方向。在PC 机的WIN95/ N T 下有2 种方法可以实现数字控制:一种是由一台计算机和一些功能模块组成的单机模式,这种模式在硬件成本上是较为便宜的,但在软件的编写上却相当复杂,不便于普通用户的二次开发;另一种是并行双CPU 上下位机通讯模式,相对而言该种模式具有更大的灵活性,是一种便于用户化开发的全方位的开放式体系结构。本数控系统采用开放式数控系统的标准设计,即第2 种方法,使用了IPC + PMAC 的开放式结构体系,将PMAC 插入PC 机中所构成的数控系统的硬件系统,运行速度快、控制精度高;数控系统软件用VC + + 610 开发,使用美国DEL TA TAU 公司提供的动态链接库PCOMM ,开发周期短。
2.1 数控系统硬件设计
2.1.1 数控系统硬件结构
本系统的硬件采用目前国内流行的工控机+ 运动控制卡的结构体系,系统硬件结构如图3 所示。工控机采用了研华PC104/ PIII500 型嵌入式工业控制机,该机结构紧促,体积很小,因而节省数控柜的空间,而且主板上有104 总线,为PMAC 提供了总线接口。工控机作为系统的主处理器,负责系统的管理、人机界面动态显示、加工程序编辑、预处理及系统参数的设置,在后台运行。
运动控制卡采用美国DEL TA TAU 公司的PMAC2/ 104 型控制卡,它提供了104 总线接口,可以直接插接到工控机上。PMAC 自带独立的高速CPU ,相当于一台独立的计算机,可以脱机独立运行,也可以通过总线或者RS232/ 422 串口和计算机通讯,作为从处理器,与主机构成主从结构的双CPU 数控系统,本系统即采用这种结构体系。PMAC 卡带有数字信号处理器DSP ,具有强大的数字运算能力,完成数控插补、PLC程序运行等实时任务,在前台运行。这样,开发者就可以避免在非实时性操作系统WIN95/ N T 下花大量精力和时间实现数控系统实时性任务,而只要开发上位人机交互、加工文件下载、机床状态量读取等非实时的任务。工控机和PMAC 卡通过总线通信,来完成命令转送和数据的交换。两者之间的通信是实时的,通过调用美国DEL TA TAU 公司提供的动态链接库PCOMM 的函数来实现。
2.1.2 数控系统接口设计
PMAC 卡的J 2 口是8 路开关量I/ O 口,但在本系统中,要用到的开关量多于8 路,故在此口上加了一块ACC —34AA 智能I/ O 板,该板带有32 路的输入输出口。其中一部分输出口用来控制液压系统中的电磁换向阀的电磁铁,电磁铁的控制电流在1~2 A ,而I/ O 板只能提供几十mA 的驱动电流,不能直接驱动电磁铁,故系统中使用固态继电器做为中间继电器,使两者的接口电流匹配,为了便于安装和节省空间选用集成的固态继电器板。
2.2 数控系统软件设计
卷板机数控系统采用开放式的结构体系,系统软件使用面向对象的系统分析与设计方法,模块化设计,用面向对象的高级语言VC + + 610 实现,使得系统维护方便,便于功能扩充。系统软件包括运行在上的IPC 的人机界面程序、上位机和下位机的通信驱动程序和PMAC 中对各种输入输出量进行监控的PLC程序等3 部分。系统软件结构关系如图4 所示。可以看到,PCOMM 在用户程序和PMAC 卡之间起到一个桥梁作用,由动态链接库提供的函数同底层的虚拟设备驱动程序(WINDOWS9X) 进行数据交换,然后由虚拟设备驱动程序直接和硬件交换数据。
2.2.1 人机界面程序的编制
本系统的人机界面根据卷板机的加工操作特点编制的,界面简洁友好,便于工人学习、操作。该部分主要包括程序编辑人机界面、加工参数输入和修改人机界面、加工模拟人机界面、故障诊断报警人机界面和在线帮助人机界面,具有很好的人机交互性(HMI) ,在人机界面部分采用主菜单和相关子菜单的形式,菜单采用按钮式,当主菜单中的某一按钮按下时,就出现与其相关的子菜单。这种图形化软键代替了传统数控机床上的错综复杂的操作按钮,使得操作面板显得非常简洁。
2.2.2 通信驱动程序的编制
在通常系统软件的开发中,通信驱动程序的编程是工作量最大,最困难的部分,但PMAC 为用户提供了PCOMM 这个动态链接库来完成上位机同PMAC 之间的数据交换,它包括了PMAC 的所有的通信方式。这就使得这部分的开发工作变得简单,剩下的只是对动态库中的函数的调用问题了[6 ] 。下面具体介绍在VC + + 610 下调用动态库及使用库函数的方法。
PCOMM32 动态库里包含有200 多个库函数,熟悉高级语言的编程人员通过它方便地实现PMAC同上位PC 机的数据交换。PCOMM 中虽然函数众多,但常用的并不多,用其中的几个就可以完成大部分的通信控制功能,满足系统需要。常用的有如下9 个函数:OpenPmacDevice ( ) 、ClosePmacDevice ( ) 、PmacConfigure () 、PmacGetResponseA ( ) 、PmacDownLoadFile ( ) 、PmacGetBufferA ( ) 、PmacReady ( ) 、PmacSendCommandA () 。
在VC + + 610 中调用动态库有2 种方法即动态链接和静态链接。这里介绍动态链接在PCOMM中的应用。需要用到WINDOWS 的几个API (应用程序编程接口) 函数:LoadLibrary (加载动态库) 、Get ProcAddress (取得相应函数地址) 、FreeLibrary (卸载动态库) 。
首先在头文件中为所需的函数定义函数指针类型,其参数表要和动态库函数原型相同。如先定义3 个函数指针类型的别名: typedef BOOL ( CALLBACK 3 OpenPmac) (DWORD) 、typedef BOOL(CALLBACK 3 ClosePmac) (DWORD) 、typedef int (CALLBACK 3 PmacGet ) (DWORD , PCHAR ,UIN T ,PCHAR) 。
然后在该文件中定义3 个函数指针: OpenPmac open 、ClosePmac close 、PmacGet pmacget 。其次需要在执行文件中加载动态库,获得相应函数地址并赋给你所定义的函数指针:
hMyDll = LoadLibrary (“pmac”) ;加载动态库
ASSERT(hMyDll ! = NULL) ;
open = (OpenPmac) Get ProcAdress (hMyDll “, OpenPmacDevice”) ;得函数地址并赋给函数指针
close = (ClosePmac) Get ProcAdress (hMyDll “, ClosePmacDevice”) ;
pmacget = (PmacGet) Get ProcAddress (hMyDll “, PmacGetResponseA”) ;
接着通过指向函数的指针调用该函数:
if (open ! = NULL)
{
( 3 open) (0) ; / / 调用通信初始化函数
Set Timer (1 ,50 ,NULL) ;/ / 设置定时器采集时间为50 ms
}
void CpcommDlg : :On Timer (UIN T nIDEvent) / / 定时器响应函数
{
( 3 pmacget) (0 ,buf ,255 “, rx0”) ; / / 读取PMAC 卡寄存器X0 里的内容,存放在buf 中;
Update (FAL SE) ;
CDialog : :On Timer (nIDEvent) ;
}
最后在程序退出的时候需要将动态库卸载:
BOOL CPcommDlg : :Dest royWindow() ;
{
( 3 close) (0) ;/ / 关断与PMAC 的通信
FreeLibrary (hMyDll) ;/ / 卸载动态库
ret urn CDialog : :Dest royWindow() ;
}
2.2.3 PLC程序的编制
PMAC 带有内置的软PLC 功能, PLC 的运行也是由PMAC 来实现的。PLC 的语法是采用IF -EL SE 结构的类C 语言,开发者只要有C 语言的基础就可以很快写出所需的PLC 程序。然后,利用PMAC 自带的软件开发平台,编辑,编译PLC 程序,并下载到PMAC 卡中。系统的PLC 程序完成系统的初始化和对各种输入输出量进行监控,主要包括看门狗PLC、上电PLC、主PLC、指示灯管理PLC 和下电PLC。主PLC 用来完成对控制面板及机床输入、输出进行监控的任务,它主要包括各种手动、自动功能的实现、主轴运动的控制、上料和卸料等操作。
3 结论
基于IPC + PMAC 结构的双CPU 开放式数控系统,由于PMAC 的强大的功能,不仅在硬件系统的连接集成上比较方便,而且在系统软件的开发由于其提供的动态库支持也变得相对简单,用户开发自己的数控系统其实就是对PMAC 功能的定制。这使用户在比较短的周期内能开发出所需特定功能的数控系统。