磨加工主动量仪动态数据交换技术的研究
2014-03-09郑鹏张琳娜赵凤霞
郑鹏,张琳娜,赵凤霞
(郑州大学机械工程学院,河南郑州 450001)
磨加工主动量仪动态数据交换技术的研究
郑鹏,张琳娜,赵凤霞
(郑州大学机械工程学院,河南郑州 450001)
根据工控主板型磨加工主动量仪的硬件结构特点及功能要求,利用组态软件和高级语言混合编程方式实现主动量仪软件系统的开发。针对磨加工主动量仪数据采集、分析和处理的数据通信问题,提出了基于BlockDDE技术的动态数据交换方法。给出了主动量仪数据交换的原理,以及BlockDDE初始化、建立数据库、数据传输的详细步骤。为验证该方法的正确性,给出了具体的应用实例。实验结果表明:该方法可以满足主动量仪数据传输的实时性、高速性、精确性要求。研究成果将为新型磨加工主动量仪的开发提供必要的技术支持。
磨加工;主动测量;BlockDDE技术;控制系统
随着制造业现代化的不断发展,工业生产对设备的加工精度、加工效率提出了更高的要求。磨削加工担负着零件精密表面的最终加工工序,它的精度对机械产品的质量具有直接的影响[1]。磨加工主动测量控制仪 (简称主动量仪)在近二十年得到了快速的发展,它是一种在线测量工件并能控制磨削进程的智能化设备[2-3]。在工作过程中,主动量仪始终测量着工件的尺寸,并将其尺寸变化量随时传递给控制器,再由控制设备发出信号控制机床的动作,如图1所示。由于它能使操作人员无需停机就能测量工件,减少了劳动强度,提高了生产效率,降低了废品率。但目前国内磨加工主动量仪的发展相对落后,产品普遍存在功能单一、显示不够直观、设置及调整不方便等不足。
图1 磨加工主动量仪工作原理图
针对国内磨加工主动量仪存在的问题,以基于工控主板的总线式硬件系统为平台,利用组态软件进行控制软件系统的开发。由于组态软件开发界面便捷,很大程度上提高了人机界面的交互能力和可操作性[4-5]。但组态软件受限于数据采集频率,它无法满足磨削加工中的测量采样要求。因此,采用组态软件与高级语言混合编程方式进行系统的开发无疑是有效解决高速采样和数据处理问题的途径。文中针对混合编程过程中数据采集、分析和处理的交互问题,提出了基于BlockDDE的主动量仪动态数据交换方法,有效地提高了数据通信效率,保证了过程的实时性和准确性,为磨加工主动量仪的系统开发提供可靠的技术支持。
1 磨加工主动量仪数据交换原理
磨加工主动量仪采用组态王KingView作为系统的上层平台,实现显示和用户操作界面功能;采用VisualBasic(以下简称VB)程序作为底层平台,实现与传感测量装置及数控磨床接口通信,完成数据采集及数据处理。系统的数据交换工作流程如图2所示。在磨削加工过程中,测量装置 (测头)始终监测着工件的尺寸变化,并实时将采样数据传递给主动量仪的底层平台VB程序,VB程序从组态王参数配方中读取已预先设定的各参数,并将当前工件尺寸测量值和信号点设定值进行比对,从而通过IO口发出信号 (粗磨、精磨、光磨、到尺寸等)给磨床控制系统,机床随即进行相应的动作,如改变砂轮的转速和进给速度等。同时,按要求实时地将处理后的数据传递给上层平台组态王界面进行显示。
图2 主动量仪数据交换流程图
2 BlockDDE动态数据交换技术
由上述主动量仪的功能和数据交换原理可知,当采用混合编程时,高速、实时、准确的数据交换尤为重要。采用基于BlockDDE的动态数据交换技术,实现主动量仪工作过程中组态王和VB之间的数据动态交互。
标准DDE(Dynamic Data Exchange)是微软公司在Windows平台上设计的一个完整的通信协议,它支持两个或多个应用程序能彼此交换数据和发送指令[6]。DDE始终发生在客户应用程序和服务器应用程序之间。提供数据的一方称为服务器,接收数据的一方称为客户。通过建立“热链路”将客户程序和服务器程序联系起来,所谓“热链路”,就是请求服务程序,每当特定项的数据发生变化时,就将数据值直接发送给客户程序。使用标准的DDE时,每个DDE项目都必须对应一个热链接,当要交换的数据量大时,将消耗更多的资源,而且在数据量大并且数据变化频繁时,速度会变得很慢。BlockDDE可以有效地解决这一“瓶颈”问题,在使用BlockDDE时,在服务器程序和客户程序之间只需建立一个热链接,服务器程序的多个数据项同时发生变化后,只需一次DDE通信就可以传送给客户程序,运行速度快捷。图3所示为两种交换方式的比较。
图3 DDE及BlockDDE链接方式
DDE通信都需要建立服务程序名,主题名及项目名3个标识。对于标准的DDE,组态王的应用程序名和主题分别规定为“VIEW”和“tagname”,在数据词典里定义I/O变量的同时也定义了项目名;VB程序的应用程序名和主题分别为工程名和窗体的LinkTopic属性值,项目名是一个特定的文本框、标签或图片框的名称。对于BlockDDE,可通过调用初始化函数同时完成对服务程序名和主题名的声明,并且项目名不但可以是对应于VB应用程序中的控件名,而且还可以是变量名,这对于采用VB开发底层程序而言,不需要在窗体上创建控件,从而使得程序更加简洁流畅。
3 基于BlockDDE实现主动量仪动态数据交换
根据上述磨加工主动量仪数据交换过程,基于BlockDDE技术实现动态数据的交换主要包括初始化、建库、数据传输。BlockDDE以动态链接库的形式用来开发DDE服务程序 (以下简称I/O SERVER)。
3.1 BlockDDE的初始化
BlockDDE的初始化首先需要声明I/O SERVER的服务名和主题名,登记重载函数DataFormKingView的实际地址以及主窗口句柄。初始化是由函数SDde_Initial来完成的,通常在主窗口创建进行。下面一段代码用于初始化服务名svrName为“主动量仪”,主题名topicName为“BlockDDE”的 I/O SERVER。Dim suc As Integer
3.2 建立数据库
BlockDDE为每一个I/O SERVER维护一个数据库。所有需要传送的数据点都要登记入库,必须声明每个数据点变量的ID号、变量类型、数据属性及初始值,可通过调用函数CreatDateBaseItem为每一个数据点登记。
CreateDataBaseItem(ByVal hInst As long,ByVal wTagID as integer,Byval bType As BYTE,ByVal bAttri As BYTE,InitialDdeValue As DDEValue)
其中:wTagID为该变量在组态王数据词典中的ID号;bType为该变量的数据类型,有模拟型(FLOAT_TYPE)、长整型 (LONG_TYPE)、离散型(DISC_TYPE)、字符串型 (STRING_TYPE)4种;bAttri为该变量的数据属性,有读写或只写;InitialD-deValue为该变量的初始值。
如定义测量装置测头1的数据变量为G1,数据类型为IO实型,ID地址为21,数据属性为读写。为判断主动量仪当前工作状态是手动还是自动,在组态王中定义IO字符串变量READY,ID地址为23。如图4所示,则有
图4 变量定义列表
3.3 组态王与I/O SERVER间的双向数据传输
初始化和创建数据库成功后,I/O SERVER和组态王之间能够进行双向数据交换。I/O SERVER可以不断地将变化的数据传送给组态王并随时接收组态王发送过来的数据。I/O SERVER向组态王传送的过程分两步:首先,调用SDde_SetDataToDB将新值设入到BlockDDE数据库中,然后调用SDde_Send,将其发送给组态王。
组态王与I/O SERVER之间的数据交换是双向的,I/O SERVER通过重载函数DateFormKingView来完成组态王向I/O SERVER发送数据。当组态王中的变量发生改变时,将调用DateFormKingView。如组态王传递工作状态READY值给I/O SERVER的字符串READY变量,则有:
4 实验与分析
磨加工主动量仪实现加工过程在线的工件测量,并将控制信号发送给数控磨床,通过闭环控制实现工件的自动加工。该实验从测头值、工作状态、内部补调值3个方面进行数据的动态传输和显示,从而验证文中提出的动态数据通信方法的正确性。
首先在组态王KingView环境的工程浏览器下,根据向导建立DDE设备,DDE设备命名为BLOCKDDE,服务器名和话题名分别为“主动量仪”和“BlockDDE”,数据交换方式选择“高速块交换”,如图5所示。
DDE设备建立完成后,在数据词典中定义相应的DDE变量,如表1所示,分别建立对应于测头1、测头 2、工作状态、内部补调值变量 G1、G2、READY、nb,其中“寄存器”的值就是在定义变量时变量属性中的项目名,对应于VB应用程序中的控件名或变量名,如图6所示。
图5 DDE的设备建立
表1 组态王变量定义
图6 组态王数据词典变量定义界面
实验过程中数控磨床驱动测量装置,接触式测量工件,VB程序采集并处理测头1、测头2的测量数据,对传感器电压值与尺寸关系为:测量值=(测头电压值-零位电压值)×倍率,其结果如表2所示。为便于观察,将测量数据显示于VB工程界面中,如图7所示,当主动量仪工作时,VB程序将测头数据传递给组态王用户界面进行显示。运行组态王工程后,在主动量仪测量窗口4中通过智能仿真仪表显示测头1、测头2的数据,仪表具有自动倍率切换功能,如图8所示。
表2 测头数据
图7 VB工程界面
图8 组态王测量窗口界面
主动量仪工作过程中,组态王将主动量仪的工作状态READY值 (手动为0、自动为1)反馈到VB中,通过VB与数控磨床IO的通信,磨床产生相应的动作。另一方面,由于主动量仪存在系统误差,操作人员在加工过程中可以通过内部补调值修正实时测量结果,如图8所示,该内部补调值需要传递给后台VB程序进行相应运算,因此,VB需要实时接收组态王发送的内部补偿值,接收到的READY及内部补调值如图7所示。
图9所示为主动量仪的加工过程状态显示窗口,加工中组态王实时接收VB传输来的尺寸数据,通过描绘加工过程数据的曲线,可以直观地反映出工件在磨削过程中所处的加工状态。
图9 主动量仪加工状态曲线显示图
实验结果表明:利用组态王和VB混合编程中的数据通信方法能够满足主动量仪对数据处理的要求;并且利用BlockDDE技术,VB应用程序与组态王数据交换的实时性也可以满足过程控制的需要。
5 结论
基于BlockDDE通信技术实现磨加工主动量仪的动态数据通信,为综合运用组态王软件及VB高级语言的混合编程进行主动量仪软件控制系统的开发提供了必要的技术基础。经过实验测试,在线测量数据的传递准确性、实时性及稳定性能够满足功能要求,进一步验证了该方法的可行性和正确性。
[1]SCHOLZ Rick.Gaging Improves Automatic Grinder Control[J].Quality,2002(4):33 -353.
[2]王鸿伟.磨加工过程中的主动测量仪[J].轴承,2004(4):32-34.
[3]薛君英.PULCOMV4主动量仪在数控珩磨加工中的应用[J].机电信息,2010(30):12-13.
[4]杨汉,袁中凡.基于组态软件和PLC的机翼精加工水平测控系统[J].中国测试技术,2008(1):131-133.
[5]李瑞先,谭德荣,曹雁锋.基于组态王测控系统软件的设计及实现[J].测控技术,2006(6):57-59.
[6]田晓英,张文焱,刘庆滨,等.利用DDE技术实现King View与VC程序的监控数据通讯[J].自动化技术与应用,2004(12):45-48.
Study on Dynam ic Data Exchange Technology for Grinding Active Measuring Instrument
ZHENG Peng,ZHANG Linna,ZHAO Fengxia
(Institute of Mechanical Engineering,Zhengzhou University,Zhengzhou Henan 450001,China)
According to the characteristics of hardware structure and functionality requires of the grinding activemeasuring instrument,mixed-language programming of the configuration software and the computer advanced language was adopted in the activemeasuring instrument system software development.For the communication problem of data acquisition and processing,dynamic data exchangemethod based on BlockDDE was presented.Data exchange principle of the active measuring instrument was described,and BlockDDE initializing,database establishing and data transferwere also described.Finally,an application examplewas given to verify the proposedmethod.The experimental results show that the real-time and accuracy of data exchange for the activemeasuring instrument can bemet by the proposedmethod.The research results can provide profound technical supports for the grinding activemeasuring instrument development.
Grinding;Activemeasurement;BlockDDE technology;Control system
TH705
A
1001-3881(2014)10-162-4
10.3969/j.issn.1001 -3881.2014.10.049
2013-04-27
郑鹏 (1976—),男,工学博士,副教授,主要从事机械精度设计、传感检测技术等领域的研究。E-mail:zpzzut@163.com。