一种数控系统中应用的开发与集成方法及系统的制作方法

文档序号:10552702阅读:261来源:国知局
一种数控系统中应用的开发与集成方法及系统的制作方法
【专利摘要】本发明公开了一种数控系统中应用的开发与集成方法,包括:在QML脚本中定义应用的外形参数、或在动态库中定义外形参数或调用图形库,以在HMI中形成应用的用户界面;在QML脚本或动态库中编写应用对应的数控功能模块,数控功能模块调用数控系统接口获取数控系统的运行状态数据进行处理,从而实现相应的数控功能,同时相应的数控功能通过所述用户界面反馈给用户;通过上述方式,即可实现数控系统中应用的开发集成。本发明的方法使得应用的开发和集成简单可靠,不但能够适用于各种不同类型的数控系统,而且数控系统在保证能够完成实时性控制和非实时性大规模数据处理的同时简洁可靠。
【专利说明】
一种数控系统中应用的开发与集成方法及系统
技术领域
[0001]本发明属于数控技术领域,具体涉及一种数控系统中应用的开发与集成方法及系统。
【背景技术】
[0002]数控系统为完成数控加工及其他功能,需要在数控系统中集成相应的功能模块。一般来说目前的数控系统中,制造商在出厂时集成一系列功能模块,通常都是将相应的功能模块集成在数控系统内部控制软件中,例如插补运算、译码处理等,可以满足一定的功能需求。
[0003]但是,随着智能制造需求的发展,以及用户个性化的需求,需要数控系统智能朝着多元化发展,要求数控系统具有越来越多的附加功能,例如工艺参数优化、G代码拟合与优化等,为了适应上述需求,数控系统制造商在其中设置了相应的接口,用户可以在其基础之上进行二次开发,以便集成于数控系统中。
[0004]但是,当前数控系统开发仍然是数控厂商独立的商业行为,严格的商业保密行为仍阻碍数控系统二次开发的进一步活跃,此外,即使数控系统厂商提供丰富的数控系统二次开发接口,开发人员与数控系统的粘度仍很高,开发人员需经过专业培训,了解相应数控系统各模块的开发模式,才能完成特定的数控系统的二次开发。
[0005]另外,即使用户可方便的开发数控系统智能化应用,完成实时性控制和非实时性大规模数据处理请求时,使得数控系统需消耗大量系统资源,导致数控系统负载过重,性能下降;为保证数控系统正常工作,需使用高性能多CPU结构、大规模集成电路升级数控系统硬件,这又导致数控系统、伺服驱动系统平台更加复杂,设计和制造成本、升级和使用成本急剧增加,可靠性下降。特别是,数控系统中集成的应用或者功能太多,会导致数控系统过于臃肿和复杂,一方面使得系统运行或控制效率降低,另一方面可能会使得系统不稳定,严重时会影响数控系统的安全。
[0006]专利文献CN104298175B公开了一种基于虚拟化技术的数控系统及方法,其中,数控系统包括设置在本地的数控装置以及设置在远程的服务端,其与本地的数控装置网络互连,用于处理非实时性任务,包括G代码编程、译码、加工仿真,同时可实现加值功能;其中,所述服务端与数控装置通过安装在所述数控装置上的客户端实现互连,该客户端运行在数控装置系统上,其通过利用虚拟技术在数控装置的人交互设备上对服务器进行虚拟操作,实现在本地数控装置上对服务端的操作控制,进而两者完成协调配合实现数控加工控制。
[0007]该方案通过采用远程服务器结合虚拟技术,可以有效减轻对数控系统硬件结构和资源消耗的影响,同时在一定程度上能够减轻数控系统的复杂和臃肿,避免系统运行或控制效率降低。但是上述方案仍然会存在二次开发严重依赖相应的数控系统类型,开发难度大,而且其对数控系统的臃肿减轻效果一般,本质上依然会导致数控系统不断扩展和臃肿,影响系统稳定性和安全性。

【发明内容】

[0008]针对现有技术的以上缺陷或改进需求,本发明提供了一种数控系统中应用的开发与集成方法及系统,其通过改进的应用集成手段并结合云计算的优势,使得数控系统中应用的开发和集成简单可靠,不但能够适用于各种不同类型的数控系统,而且数控系统在保证能够完成实时性控制和非实时性大规模数据处理的同时简洁可靠。
[0009]为实现上述目的,按照本发明的一个方面,提供一种数控系统中应用的开发与集成方法,其通过在人机交互界面(HMI)中直接进行作为独立应用的各数控加工功能模块的开发集成,从而实现数控系统中应用的方便集成,具体包括:
[0010]在QML脚本中定义应用的外形参数、或在动态库中定义外形参数或调用图形库,以在HMI中形成应用的用户界面;
[0011 ]在QML脚本或动态库中编写应用对应的数控功能模块,所述数控功能模块调用数控系统接口获取数控系统的运行状态数据进行处理,从而实现相应的数控功能,同时相应的数控功能通过所述用户界面反馈给用户;
[0012]通过上述方式,即可实现数控系统中应用的开发集成。
[0013]作为本发明的进一步优选,所述在HMI中形成应用的用户界面具体为:HMI通过其消息响应函数接收用户发送的消息,进而打开对应的应用的用户界面,从而在HMI中形成对应的应用的用户界面。
[0014]作为本发明的进一步优选,所述外形参数包括界面尺寸、形状、颜色和位置。
[0015]作为本发明的进一步优选,所述数控功能模块为包括有本地应用安装路径的模块,该本地应用用于实现相应的数控功能,数控功能模块通过该安装路径打开所述本地应用进而实现相应的数控功能。
[0016]作为本发明的进一步优选,所述数控系统为具有云端服务器的数控系统,所述数控功能模块为包括云端服务器地址的模块,所述云端服务器上发布有用于实现相应数控功能的应用,所述数控功能模块通过该地址调用所述云端服务器上的应用,进而实现相应的数控功能。
[0017]作为本发明的进一步优选,所述云端服务器上发布的应用可通过Webservice发布至所述云端服务器上。
[0018]本发明还公开了一种数控系统中应用的开发与集成系统,其通过在人机交互界面(HMI)中直接进行作为独立应用的各数控加工功能模块的开发集成,从而实现数控系统中应用的方便集成,具体包括:
[0019]用户界面开发集成模块,用于在HMI中形成应用的用户界面,其通过在QML脚本中定义应用的外形参数、或在动态库中定义外形参数或调用图形库实现;
[0020]以及
[0021 ]数控功能模块,其通过在QML脚本或动态库中编写应用对应的数控功能模块实现,所述数控功能模块用于调用数控系统接口获取数控系统的运行状态数据以进行处理,从而实现相应的数控功能,并通过所述用户界面反馈给用户。
[0022]作为本发明的进一步优选,所述在HMI中形成应用的用户界面具体为:HMI通过其消息响应函数接收用户发送的消息,进而打开对应的应用的用户界面,从而在HMI中形成用户界面。
[0023]作为本发明的进一步优选,所述数控功能模块为包括有本地应用安装路径的模块,该本地应用用于实现相应的数控功能,该数控功能模块通过该安装路径打开所述本地应用进而实现相应的数控功能。
[0024]作为本发明的进一步优选,所述数控系统为具有云端服务器的数控系统,所述数控功能模块为包括云端服务器地址的模块,所述云端服务器上设置有用于实现相应数控功能的应用,所述数控功能模块通过该地址调用所述云端服务器上的应用,进而实现相应的数控功能。
[0025]总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
[0026](I)本发明的开发集成方法中,以QML脚本或动态库形式开发集成,应用的界面以及功能开发简单,使得数控系统二次开发的通用性好,显著降低开发集成难度。
[0027](2)本发明的开发集成方法可以使用户可简单轻松地进行数控系统二次开发和智能化应用的集成,同时通过调用云端应用,使用云端资源来实现数控系统功能,避免数控系统软件智能升级时过渡消耗数控硬件资源,导致数控系统性能下降,或数控系统软件智能升级时迫使硬件升级造成成本急剧上升、可靠性下降,保证数控系统简洁、可靠,轻松升级。
[0028](3)本发明的开发集成方法中,可以充分利用成熟的功能模块或应用,只需通过将其安装路径或者地址通过QML脚本或动态库进行封装,即可进行集成。
[0029](4)本发明的开发集成方法中,数控功能模块可调用云端应用,让云端应用与云端资源充分为数控系统服务,本地硬件无需升级即可完成传统数控系统无法完成的功能,解除了智能化应用对数控系统硬件资源的严苛要求,用户只需开发数控系统智能化应用,无需考虑数控系统硬件是否会负荷过重,性能下降,甚至无法完成功能,通过WebService技术将功能复杂的应用发布在云端,无论何时何地,用户只需知道云端函数接口的输入输出及站点,即可通过网络调用云端应用。
【附图说明】
[0030]图1为本发明的应用开发及集成方法的示意图;
[0031]图2为本发明的应用开发及集成方法应用于具有云端服务器的数控系统时数控功能模块调用云端服务器上的应用的示意图。
[0032]具体实施例方式
[0033]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0034]用户对数控系统进行二次开发时,需要考虑数控系统的硬件资源,避免应用程序消耗资源过大,导致数控系统卡机、性能下降,本发明提出的方法让云端丰富的硬件资源为数控系统服务,解除数控系统硬件资源对用户二次开发的限制。
[0035]如图1和2所示,本发明所提出的一种数控系统的应用开发与集成方法,其通过在人机交互界面(HMI)中直接进行作为独立应用的各数控加工功能模块的开发集成,从而实现数控系统中应用的方便集成,具体包括:
[0036]在QML脚本中定义应用的外形参数、或在动态库中定义外形参数或调用图形库,以在HMI中形成应用的用户界面;
[0037]在QML脚本或动态库中编写应用对应的数控功能模块,所述数控功能模块调用数控系统接口获取数控系统的运行状态数据进行处理,从而实现相应的数控功能,同时相应的数控功能通过所述用户界面反馈给用户;
[0038]通过上述方式,即可实现数控系统中应用的开发集成。
[0039]本发明中可以QML脚本或动态库形式集成,也可直接将应用通过QML脚本集成。优选地,所有本地应用集成在HMI (Human Machine Interface,人机交互界面)中,用户通过HMI调用各种应用。本发明中,通过在QML脚本中定义界面的外形参数,开发功能模块,调用数控系统接口获取数控系统的运行状态数据,即可方便的开发应用;当应用需求复杂,需调用多种第三方库,利用QML脚本无法实现时,可将应用打包成动态库,集成至HMI中;若已有成熟软件能够实现所需功能,则可直接利用QML脚本将本地应用程序集成在一起,无需进行二次开发,从而大大减少二次开发的工作量。本地应用程序若需数控系统的运行状态数据,可通过在QML脚本中调用数控系统接口,并将数据输入本地应用程序。
[0040]在一个实施例中,以华中8型数控系统为例,将本地应用和云端应用集成在华中8型数控系统的HMI中的具体过程以及其启动、调用方式进行详细阐述。
[0041]在该实施例中,以QML脚本或动态库形式集成应用,通过调用与华中8型数控系统对应的数控系统接口NCK(Numerical Control System Interface Funct1n Kernel),实现对HMI中应用集成的界面设计和功能。本发明的应用开发及集成方法的示意图QML脚本如图所示,数控功能模块调用云端服务器上的应用的示意图如图2所示。QML脚本或动态库中可定义本地应用用户界面的外形参数、消息响应函数、实现应用需求的数控功能模块。
[0042]当然,本实施例中的NCK是针对华中8型数控系统所对应的数控系统接口,如果是其他数控系统,也可以采用对应的数控系统接口,一般来说,数控系统接口封装了可访问逻辑轴的轴名、轴类型、逻辑轴对应的通道号、轴电流、轴误差、参数数据等数据的接口函数,用于获取数控系统的运行状态数据。
[0043]QML脚本优选可利用Qt Quick编写,动态库利用Qt编写,例如对界面设计、功能实现复杂的本地应用,利用动态库集成至HMI中;对界面设计简单、功能实现单一的本地应用,利用QML脚本集成至HMI中。
[0044]用户通过HMI调用应用时,QML脚本、动态库中消息响应函数捕获用户发送的消息,根据其中外形参数,生成本地应用用户界面,QML脚本或动态库调用数控系统接口访问数控系统的运行状态数据,调用实现数控功能的数控功能模块完成本地应用的数控功能。
[0045]在一个实施例中,以QML脚本形式直接进行应用程序开发和集成,该实施例中包括在QML脚本中定义界面的外形参数,编写并调用数控功能模块,调用NCK获取数控系统的运行状态数据作为数控功能模块的输入,以完成相应功能,即可方便的开发应用。例如,直接开发集成一个显示机床加工时的各坐标系位置、加工程序的显示以及当前机床加工的主要参数及状态的主加工界面,优选可以作为HMI启动界面,其具体实现方式可以如下:
[0046]首先,通过QML脚本定义主加工界面顶部状态栏、底部菜单、右侧菜单的形状、位置、颜色、背景图片参数及文本框的外形参数,右侧菜单和底部菜单中可以优选嵌套定义切换至刀具管理界面的按钮、切换至系统参数PLC的按钮等。同时,调用华中8型的NCK中接口访问机床坐标、工件坐标、剩余进给、负载电流、机床指令进给速度、机床实际进给速度、主轴实际进给速度、主轴指令进给速度等,通过对应的主加工界面图表进行传送和显示。
[0047]还可通过在本地QML脚本中调用定时器,定时更新文本框中的数据,QML脚本中消息响应函数响应用户切换界面的消息。
[0048]在一个实施例中,应用需求复杂,需调用第三方库,可在开发应用时,编写并调用数控功能模块,处理由NCK获取的数据,完成相应的功能,或调用第三方库,处理由NCK获取的数据,完成相应功能,然后将应用程序封装成动态库,即可方便的开发并集成应用。例如,为动态显示加工过程中机床与刀具的相对运动,检查加工是否存在碰撞,可开发并集成机床防碰撞软件,其具体实现方式如下:
[0049]机床防碰撞软件以动态库形式开发、集成在HMI中,利用OpenGL编写三维图形显示接口,开源碰撞检测库coldet检查图形是否存在碰撞,在动态库中定义三维图形显示区的外形参数,定义同时调用NCK中接口访问刀具坐标、机床实际进给速度、工件坐标、工件实际进给速度送至三维图形显示接口,动态显示工件、刀具相对运动,并通过coldet实时检查刀具和工件是否存在碰撞。
[0050]在一个实施例中,可直接利用QML脚本将本地应用程序集成在一起,可方便用户随时调用任一本地应用程序,便于本地应用程序的集中管理,从而大大减轻了用户二次开发的工作量。
[0051 ] 例如HMI中将本地应用程序集成在智能化应用中心界面,智能化应用中心界面的具体实现过程如下:智能化应用中心界面以QML脚本形式开发集成,QML脚本中定义了工艺参数优化软件等所有本地应用程序的外形参数,同时给出了本地应用的安装路径,定义了本地应用的消息响应函数,加载QML脚本后,用户通过键盘或鼠标触发消息响应函数后,消息响应函数根据本地应用程序安装路径打开本地应用程序。
[0052]通过将安装在本地硬件的本地应用集成在智能化应用中心界面,数控系统进行二次开发时,若已有成熟软件能够实现所需功能,则无需重复进行二次开发。
[0053]通过本地应用程序集成本地应用时,所有本地应用程序通过一个QML脚本集成至HMI中,具体来说,首先将本地应用程序安装路径写入QML脚本,HMI生成本地应用界面后,用户通过本地应用界面调用本地应用时,QML脚本中消息响应函数捕获用户发送的消息,消息响应函数根据本地应用程序安装路径打开本地应用程序。此处方式,可以实现本地应用程序在数控系统中的集成。
[0054]在一个实施例中,为了保证数控系统既能完成用户非实时性大规模数据处理要求,同时避免升级数控系统造成成本过大或稳定性下降的问题,将数控系统无法完成或会造成数控系统超负荷工作的应用放至云端虚拟服务器,并通过WebService技术将云端应用以站点形式发布在云端服务器上,本地应用通过访问站点即可访问云端应用。
[0055]该实施例中的数控系统是在云数控体系架构的基础上实现的,其依赖于数控系统和云端。该实施例中,数控系统包括本地数控装置以及云端服务器,其中本地数控装置一般包括本地硬件和安装在其上的本地功能模块,例如主加工界面、刀具管理等,一般是实时性控制功能和/或本地硬件资源可满足应用对资源需求的模块。本发明中,将本地功能模块封装为单独的应用,并安装在本地数控装置的硬件上,通过HMI集成在一起,以便于使用,可称之为本地应用,即本地应用为在本地硬件上开发的智能化应用集合。
[0056]云端包括云端硬件及运行在其上的云端功能模块,例如机器学习库等,一般是非实时性控制功能和/或需处理大规模数据而本地硬件资源无法满足应用对资源需求的功能模块。本发明中将相应的功能模块封装为应用,作为在云端硬件上开发的智能化应用集合,可称之为云端应用。
[0057]本地数控装置和云端服务器通过网络实时通信。
[0058]在云端虚拟机上通过WebService技术将应用以接口函数的形式发布在站点上,本地应用通过网络访问站点即可访问云端应用,云端应用获取云端硬件资源完成应用后,通过网络通信将结果发送至本地应用。
[0059]在该实施例中,为实现工艺参数优化,开发了工艺参数优化软件,其实现机制如下:
[0060]因数千台数控机床以1000Hz频率、16通道全天候采集数控机床数据时数据量高达3G,处理如此大规模的数据,传统数控系统基本束手无策,即使数据量小至上百兆,对于单CPU的数控系统仍需消耗其较大资源,造成数控系统卡机、性能下降,升级数控系统硬件资源尚可满足工艺参数优化的硬件需求,但是会带来设计和制造成本、升级和使用成本急剧增加,可靠性下降的问题。本实施例中,将工艺参数常用的优化算法,通过WebService技术封装至云端站点,即可将本地应用对本地硬件资源的需求,转至云端应用对云端硬件资源的需求,从而让本地硬件轻松地完成各种任务。其中,工艺参数优化软件让云端应用充分为数控系统服务的流程如下:
[0061 ] stepl:调用NCK获得工艺参数数据,如进给速度;
[0062]step2:利用网络将工艺参数所需的数控系统的运行状态数据传送至发布有机器学习库的云端服务器,并调用机器学习库完成工艺参数优化;
[0063]step3:服务器将结果通过网络返回至工艺参数优化软件中,从而实现工艺参数优化。
[0064]该实施例中本地应用调用云端应用,让云端应用与云端资源充分为数控系统服务,本地硬件无需升级即可完成传统数控系统无法完成的功能,解除了智能化应用对数控系统硬件资源的严苛要求,用户只需开发数控系统智能化应用,无需考虑数控系统硬件是否会负荷过重,性能下降,甚至无法完成功能,通过WebService技术将功能复杂的应用发布在云端服务器上,无论何时何地,用户只需知道云端应用的输入输出及站点地址,即可通过网络调用云端应用。
[0065]本发明中,将数据访问接口封装在数控系统接口中,利用QML脚本、动态库、本地应用,用户只需定义用户界面外形参数,按需编写实现应用需求的数控功能模块,想要何种方式打开应用便定义相应的消息响应函数,方便快捷地即可开发本地应用。
[0066]此外,WebService具有跨语言特性,用户可利用C++、JA VA、C#等语言开发云端应用,降低了云端应用的开发难度;用户经过简单的培训,了解QML脚本、动态库、数控系统接口、云端应用后,即可对数控系统进行二次开发,大大降低了开发人员与数控系统的粘度。
[0067]同时通过QML脚本、动态库、本地应用程序将本地应用集成在HMI中,使得用户可以通过一个本地应用调用所有本地应用及云端应用,使用起来友好、方便。
[0068]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种数控系统中应用的开发与集成方法,其通过在人机交互界面(HMI)中直接进行作为独立应用的各数控加工功能模块的开发集成,从而实现数控系统中应用的方便集成,具体包括: 在QML脚本中定义应用的外形参数、或在动态库中定义外形参数或调用图形库,以在HMI中形成应用的用户界面; 在QML脚本或动态库中编写应用对应的数控功能模块,所述数控功能模块用于调用数控系统接口获取数控系统的运行状态数据以进行处理,从而实现相应的数控功能,并通过所述用户界面反馈给用户; 通过上述方式,即可实现数控系统中应用的开发集成。2.根据权利要求1所述的一种数控系统中应用的开发与集成方法,其中,所述在HMI中形成应用的用户界面具体为:HMI通过其消息响应函数接收用户发送的消息,进而打开对应的应用的用户界面,从而在HMI中形成用户界面。3.根据权利要求2所述的一种数控系统中应用的开发与集成方法,其中,所述外形参数包括界面尺寸、形状、颜色和位置。4.根据权利要求1-3中任一项所述的一种数控系统中应用的开发与集成方法,其中,所述数控功能模块为包括有本地应用安装路径的模块,该本地应用用于实现相应的数控功能,该数控功能模块通过该安装路径打开所述本地应用进而实现相应的数控功能。5.根据权利要求1-3中任一项所述的一种数控系统中应用的开发与集成方法,其中,所述数控系统为具有云端服务器的数控系统,所述数控功能模块为包括云端服务器地址的模块,所述云端服务器上设置有用于实现相应数控功能的应用,所述数控功能模块通过该地址调用所述云端服务器上的应用,进而实现相应的数控功能。6.根据权利要求5所述的一种数控系统中应用的开发与集成方法,其中,所述云端服务器上设置的应用通过Webservice发布在所述云端服务器上。7.—种数控系统中应用的开发与集成系统,其通过在人机交互界面(HMI)中直接进行作为独立应用的各数控加工功能模块的开发集成,从而实现数控系统中应用的方便集成,具体包括: 用户界面开发集成模块,用于在HMI中形成应用的用户界面,其通过在QML脚本中定义应用的外形参数、或在动态库中定义外形参数或调用图形库实现; 以及 数控功能模块,其通过在QML脚本或动态库中编写应用对应的数控功能模块实现,所述数控功能模块用于调用数控系统接口获取数控系统的运行状态数据以进行处理,从而实现相应的数控功能,并通过所述用户界面反馈给用户。8.根据权利要求7所述的一种数控系统中应用的开发与集成系统,其中,所述在HMI中形成应用的用户界面具体为:HMI通过其消息响应函数接收用户发送的消息,进而打开对应的应用的用户界面,从而在HMI中形成用户界面。9.根据权利要求7或8所述的一种数控系统中应用的开发与集成方法,其中,所述数控功能模块为包括有本地应用安装路径的模块,该本地应用用于实现相应的数控功能,该数控功能模块通过该安装路径打开所述本地应用进而实现相应的数控功能。10.根据权利要求7-9中任一项所述的一种数控系统中应用的开发与集成系统,其中,所述数控系统为具有云端服务器的数控系统,所述数控功能模块为包括云端服务器地址的模块,所述云端服务器上设置有用于实现相应数控功能的应用,所述数控功能模块通过该地址调用所述云端服务器上的应用,进而实现相应的数控功能。
【文档编号】G06F9/44GK105912339SQ201610239207
【公开日】2016年8月31日
【申请日】2016年4月15日
【发明人】杨建中, 张耀词, 惠恩明, 马驰飞, 王平, 陆永亮, 李纪柳
【申请人】华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1