机床电缆作为机床电气系统的组成部分,担负着电能和电能信号传送的重任,在生产加工过程中扮演着重要角色。但长期频繁的往复运动必然使机床拖链中的电缆出现疲劳受损,而工作环境中的油污、粉尘等因素又加速了绝缘层老化,线芯短、断路等现象。为了了解电缆的寿命并快速判断电缆通断,本文模拟机床拖链中电缆实际运行条件,搭建含有油槽的测试平台,选用固高科技生产的GUC系列运动控制器,基于VS2008编译环境中的VC++模块,利用其提供的MFC编辑程序界面的方法以及控制器自带的库函数,建立“PC+运动控制器”开放式电缆测试运动控制系统。
1 系统的总体结构设计
电缆测试平台在设计搭建过程中,要充分考虑布置在拖链中电缆的实际运动情况以及工作环境对它的影响等因素。电缆测试系统试验台实物图如图1所示。
电缆布置在拖链中,拖链一端固定在接线盒上,另一端固定在运动负载上,电机连接联轴器带动滚珠丝杠,旋转的滚珠丝杆通过滚轴螺母带动负载水平往复性运动。整个运动过程既可实现匀速运动,又可实现变速运动,往复运动次数以及运动距离可以实时显示。为了更符合电缆实际工作情况,可以对油槽中加入油污或切削液,也可以每隔一段时间,手动喷洒;在电缆测试运动过程中,电缆两端通过接线端子与控制器的I/O口相连接,构成闭合回路,以便人机界面实时显示电缆在反复运动中出现的断路、短路等情况。
2 系统的硬件设计
一般开放式运动控制系统主要由PC、运动控制卡、连接端子板、伺服驱动器以及伺服电机5个部分组成,如图2所示。电缆测试运动控制系统采用了固高科技生产的GUC系列运动控制器,该控制器是PC技术与运动控制技术相结合的产物,它以Intel标准X86架构的CPU和芯片组为系统处理器,采用高性能DSP和FPGA作为运动控制协处理器,在实现高性能多轴协调运动控制的同时,可以实现普通PC的所有基本功能。电缆测试运动控制系统硬件主要由以下几部分器件组成。
(1)GUC-300-ESV运动控制器;
(2)三洋伺服电机驱动器以及伺服电机;
(3)驱动器电源以及+24 V直流电源(用于GUC系列运动控制器及接口板电源);
(4)原点开关、正/负限位开关;
(5)显示器、输入设备或专用人机界面。
电缆测试系统采用深圳固高科技生产GUC-300-ESV一体化运动控制器,该控制器集系统处理器和运动控制处理器于一体,运动控制处理器采用GE系列控制器。这种嵌入式一体化的解决方案给用户带来很大的方便,一台GUC-300-ESV控制器加上一个显示器就可以建立一个等同于“PC+运动控制器”开放式电缆测试运动控制系统。
GUC-300-ESV运动控制器提供C语言函数库和Windows动态链接库,可实现复杂的控制功能。该运动控制器技术参数及功能如下。
(1)系统处理器采用X86架构、主频100 MHz的CPU,PCI总线通信方式;
(2)控制周期为200 ?滋s且不可调;
(3)3路(每轴一路)模拟量以及脉冲信号输出,模拟量的分辨率为16 bit,输出电压范围为-10 V~10 V,脉冲输出最大频率为256 kHz;
(4)带有3路编码器信号输入,输入最大频率为4 MHz;
(5)每轴分别各有一个正、负限位信号、原点信号以及驱动报警信号等专用输入信号,还有一个伺服允许信号和驱动器复位信号;
(6)分别拥有16路经光电隔离处理过的通用数字量输入输出,其中16路通用输出是采用集电极开路输出,驱动能力达200 mA;
(7)可实现直线、圆弧插补运动,提供了8 KB的缓冲区,可实现运动轨迹预处理;
(8)带有PID+速度前馈+加速度前馈滤波器;
(9)可设置跟随误差极限、加速度极限以及输出电压饱和极限等一些安全保护措施;
(10)提供了DOS下的C语言函数库和Windows下的动态链接库,在Windows系统下,用户可以使用任何能够支持动态链接库的开发工具来开发应用程序,例如Visual C++、Visual Basic和Delphi等。
3 系统的软件设计
电缆测试系统软件设计是在Windows系统下基于GUC-300-ESV控制器进行开发设计的,软件设计主要包括两个部分:一是可视化编程部分;另一个是代码编程部分。可视化编程部分利用VS2008提供的强大软件开发工具向导,不需要手工编写代码,只要根据自己的设计思想,用鼠标或键盘进行操作即可。与采用代码编写相比,用可视化编程部分进行Window风格的图形用户界面和各种控件的制作,将更加简单方便。代码编写部分采用VS2008提供的文本编辑器,用面向对象的VC++语言进行编写。
3.1 主机与运动控制器通信的建立
使用运动控制器开发应用程序之前,先安装驱动程序,并把运动控制器自带的动态链接库ges.dll、头文件ges.h以及ges.lib文件复制到工程文件夹里,在VS2008编译器中对ges.lib文件进行链接设置后,并在应用程序文件中加入函数库的头文件的声明,至此,就可以使用动态链接库中的所有函数编写应用程序了[2]。
在安装完驱动后,用控制器自带软件检测主机是否与控制器建立联系,自带软件运行界面如图3所示。若演示程序能正常工作,说明控制器通信正常,只有通信正常,才可以进行系统的操作,否则需找出问题后,重新检测。
3.2 可视化控制界面的设计
可视化控制界面的设计不仅要满足控制要求,同时还要友好美观。电缆测试平台主控制界面及参数设置界面运行结果分别如图4、图5所示。
主控制界面主要包括两个部分:一部分负责实时显示控制状态;另一部分是控制按钮。控制状态显示包括显示控制器初始化是否成功、测试工作台是否回零,实时显示往复运动循环次数、工作台运行的规划位置、实际位置以及运行速度,主界面中间的I/O口状态的显示实时反映电缆在运动过程中是否出现短路、断路等情况;控制按钮主要完成运动控制的开始、停止、运动控制的参数设置以及运动方式的选择等。
参数设置界面主要由轴运动参数设置和控制器I/O口信号输出选择设置两部分组成。轴运动参数设置主要完成工作台运动速度、运动方式(匀速或变速)以及往复运动次数的设置;通过对I/O信号输出口选择设置,结合主控制界面I/O口状态指示灯的显示,可以判断电缆是否出现短路、断路等情况。
3.3 程序内部代码的编写
打开Microsoft Visual Studio 2008软件,选择新建一个基于对话框的MFC应用程序类型的项目,接着对对话框资源视图添加一些控件,建立友好控制界面,最后对程序内部手动编写相应的运动控制代码,总体程序编写流程图如图6所示。
在OnInitDialog函数中,先对控制界面的大小、显示的位置、界面字体和菜单按钮进行了初始化。检测控制卡是否打开,调用运动控制器函数库中的GT_Open、GT_Reset函数对运动控制器初始化并对专用信号参数进行设置。部分初始化程序如下。
short CWireTestPlatformDlg::InitCard()
{
short rtn=0;
short lmtsns=0xffff;
short homesns=0x00ff;
rtn+=GT_Open(0xffff); //打开运动控制器
Sleep(200);
rtn+=GT_Reset(); //复位运动控制器
rtn+=GT_AlarmOff(1);
rtn+=GT_AlarmOn(2); //驱动使能
rtn+=GT_AlarmOff(3);
rtn+=GT_ClrSts(1);//清除控制轴1的状态
rtn+=GT_ClrSts(2); //清除控制轴2的状态
rtn+=GT_ClrSts(3); //清除控制轴3的状态
rtn+=GT_LmtSns(lmtsns);
//设置控制轴限位开关的触发电平
rtn+=GT_HomeSns(homesns);
//设置运动控制器轴Home信号的触发沿
return rtn;
}
将运动中电缆两端接在控制器通用数字I/O口上,形成闭合回路,在参数设置界面中设置输出口, 使控制器相应I/O口向与之相连的电缆输出电平信号,并检测是否有返回信号,通过主控制界面的I/O口指示灯的亮灭来判断电缆在运行中是否出现断路、短路等情况。在程序中分别调用控制器函数库中GT_ExInpt、GT_ExOpt函数读取16路通用数字I/O输入的电平状态和设置16路通用数字I/O输出的电平状态来实现电缆通断检测。通断测试流程如图7所示。
实时更新I/O状态程序如下。
GT_ExInpt(&m_Inputvalue);
//读取路通用数字I/O输入的电平状态
if(!(m_Inputvalue &(1<<3)))
m_Outputvalue=m_Outputvalue &(~(1<<6));
GT_ExOpt(m_Outputvalue);
//设置通用数字I/O的输出信号
主控界面指示灯显示I/O状态部分程序如下:
……
for(int i=0;i<16;i++)
{
if(m_Inputvalue &(1<<i))
//输入信号无效指示灯不亮
m_InLed[i].SetIcon(IDI_GREEN_NO,CSize(24,24),0,0);
else
//输入信号有效指示灯亮
m_InLed[i].SetIcon(IDI_GREEN_YES,CSize(24,24),0,0);
}
……
for(int i=0;i<16;i++)
{
if(m_Outputvalue &(1<<i))
//输出信号无效指示灯不亮
m_OutLed[i].SetIcon(IDI_GREEN_NO,CSize(24,24),0,0);
else
//输出信号有效指示灯亮
m_OutLed[i].SetIcon(IDI_GREEN_YES,CSize(24,24),0,0);
}
……
基于VC和GUC-300-ESV运动控制器建立的电缆测试平台,界面美观实用、操作简单,编写测试实验程序,模拟机床在各种工况下运行:匀速运动、变加、减速运动、快速定位运动等,并对电缆进行检测,实时显示电缆的通断情况。电缆测试平台还可对气管、油管的可靠性进行检测,具有广泛的应用领域。