首页> 中国专利> 基于Android平台的开放式数控系统及其中进行二次开发的方法

基于Android平台的开放式数控系统及其中进行二次开发的方法

摘要

本发明属于机电一体化的数控技术领域,并公开了一种基于Android平台的开放式数控系统,其包括用于接收控制指令以完成数控加工过程的实时控制的伺服系统,该数控系统还包括采用Android平台实现的人机交互界面、用于执行数控系统的实时控制任务并与人Android平台进行数据交互的IPC单元以及总线式I/O单元和总线式伺服驱动单元。本发明还公开了一种在上述数控系统中根据具体实时任务进行二次开发的方法。本发明的数控系统解决了传统数控系统人机界面操作繁琐且欠缺灵活性等不足;Android平台支持实时多任务操作系统,软件开发和移植容易;同时本发明的二次开发方法也适合于不同的软件操作环境,具有很强的可移植性。

著录项

  • 公开/公告号CN102830654A

    专利类型发明专利

  • 公开/公告日2012-12-19

    原文格式PDF

  • 申请/专利权人 深圳华中数控有限公司;

    申请/专利号CN201210336439.2

  • 申请日2012-09-12

  • 分类号G05B19/4093(20060101);

  • 代理机构44217 深圳市顺天达专利商标代理有限公司;

  • 代理人易钊

  • 地址 518057 广东省深圳市南山区科技苑南路市高新区南区W2-AF1厂房

  • 入库时间 2023-12-18 07:41:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-04-15

    授权

    授权

  • 2014-10-29

    著录事项变更 IPC(主分类):G05B19/4093 变更前: 变更后: 申请日:20120912

    著录事项变更

  • 2013-05-08

    实质审查的生效 IPC(主分类):G05B19/4093 申请日:20120912

    实质审查的生效

  • 2012-12-19

    公开

    公开

说明书

技术领域

本发明属于机电一体化数控技术领域,并涉及一种开放式数控系统。更具 体地,本发明涉及基于Android平台的开放式数控系统及其中进行二次开发的 方法。

背景技术

现有技术中,数控系统已经成为机床装备的核心关键设备。经过多年发展, 数控系统的体系结构基本分为两种类型:传统的单板结构和现场总线结构。其 中传统的单板结构系统功能固定,不具备开放性,无法满足用户日益增加的应 用需求;而现场总线结构的数控系统虽然具有良好的开放性,可以方便的扩充 或修改系统用户配置或功能,但其昂贵的售价不适用于量大面广的普及型应用 用户需求。然而,不论是传统单板结构还是现场总结结构,现有数控系统的人 机交互界面是固定的,且面向机床加工控制过程,灵活性差,不适宜进行二次 开发。随着制造业和自动化行业对控制个性化的需求日益强烈,现有的固定用 户功能、界面模式以及昂贵的个性化定制费用已经无法满足用户多样化的需 求。因此,克服传统数控系统人机界面的不足,满足用户个性化功能和界面的 定制需求,实现快速的二次界面开发,缩短开发周期显得尤为迫切与重要。此 外,现有的数控系统所采用的操作系统平台基本局限在DOS、Windows、工业 Linux以及片级专用系统,对于核心控制功能的实现具有可靠性好、实时性好 的优点,然而,对于个性化用户功能与界面的开发则效率低下,且可利用的资 源比较缺乏。因此,现有的数控系统在系统结构和平台构建上无法满足用户日 益增长的个性化控制需求,需要对其进行完善与改进,以保证在满足用户需求 的同时提高开发效率,丰富界面开发资源。

Android平台是Google(谷歌)公司开发的基于Linux平台的开源移动终 端操作系统,希望借助建立标准化、开放式的移动终端软件平台,在移动产业 内形成一个开放式的生态系统。目前,Android平台已成为移动终端设备开发 的首选平台,在通信领域有着广泛成熟的应用。然而,在数控领域尚不存在基 于Android平台的数控系统开发与应用,Android平台丰富的资源、免费的使 用和开放架构还未吸收到数控系统的开发中。

综上可知,由于目前数控系统的架构和采用的平台对用户快速个性化功能 和界面的开发具有很大的局限性,为了解决此二次开发问题,有必要对现有的 数控系统进行创新的改进。

发明内容

本发明要解决的技术问题,针对现有技术中的数控系统在进行用户个性化 功能和界面开发时的局限性和长开发周期的问题,提供一种具有良好开放性、 结构配置灵活、成本易于控制且可适用于不同类型用户的配套需求的基于 Android平台的开放式数控系统。

本发明要解决的技术问题通过以下技术方法得以实现:提供一种基于 Android平台的开放式数控系统,包括用于接收控制指令完成数控加工过程的 实时控制的伺服系统,其中,所述数控系统还包括:

采用所述Android平台实现的人机交互界面,用于接收对所述数控系统的 数据配置以及向用户显示实时控制的结果;

IPC单元,用于执行所述数控系统的实时控制任务并通过与所述Android 平台进行数据交互;

总线式I/O单元和总线式伺服驱动单元,用于将所述IPC单元发出的所述 控制指令转发给所述伺服系统以控制所述数控加工过程、以及用于将所述伺服 系统的实时控制的结果反馈给所述IPC单元。

在上述基于Android平台的开放式数控系统中,所述数控系统还包括用于 提供实时开发环境的实时多任务调度模块和实时多任务接口;所述IPC单元通 过所述实时多任务调度模块调度实时任务。

在上述基于Android平台的开放式数控系统中,所述实时多任务接口还用 于调用访问所述数控系统的内核层所需要的外部接口函数以及用于实现在所 述数控系统的应用层进行的实时开发。

在上述基于Android平台的开放式数控系统中,所述Android平台包括:

Linux交叉编译环境搭建模块,用于搭建Linux交叉编译环境并生成适用 于所述Android平台下的操作系统的.so库文件;

Android开发环境搭建模块,用于搭建适用于所述Android平台下的操作 系统的开发环境;以及

程序编译模块,用于生成应用层人机交互界面程序、生成基于所述Android 平台下的操作系统的Launcher代码以及生成APK安装文件。

在上述基于Android平台的开放式数控系统中,所述Linux交叉编译环境 搭建模块生成适用于所述Android平台下的操作系统的.so库文件指:将API 库文件转为所述.so库文件。

在上述基于Android平台的开放式数控系统中,所述程序编译模块生成所 述APK安装文件指:将所述Launcher代码和API库文件打包以生成所述APK 安装文件。

在上述基于Android平台的开放式数控系统中,所述人机交互界面接收的 对所述数控系统的数据配置包括系统操作管理、参数设置、G代码输入、系统 诊断和位置显示;所述IPC单元执行的所述数控系统的实时控制任务包括过程 控制、运动控制和逻辑控制。其中,运动控制包括但不限于位置插补、轴位置 控制和位置补偿。

在上述基于Android平台的开放式数控系统中,所述IPC单元和所述 Android平台通过以太网连接,所述总线式I/O单元和总线式伺服驱动单元通 过串行总线与所述IPC单元串行通信。

根据本发明的另一方面,提供一种在基于Android平台的开放式数控系统 中进行二次开发的方法,所述方法包括以下步骤:

S1、搭建Linux交叉编译环境,并生成适用于所述Android平台下的操作 系统的.so库文件;

S2、搭建适用于所述Android平台下的操作系统的开发环境;以及

S3、在步骤S2所搭建的开发环境下开发基于所述Android平台的数控系 统的代码。

在上述基于Android平台的开放式数控系统中进行二次开发的方法中,所 述步骤S3具体包括以下子步骤:

S31、基于Java语言开发应用层人机交互界面程序;

S32、基于所述Android平台下的操作系统开发Launcher代码;以及

S33、将所述Launcher代码和API库文件打包以生成APK安装文件。

实施本发明可以获得以下有益效果:

(1)本发明的开放式数控系统基于Android平台,该平台下的操作系统 集成于Android平板电脑中,操作时可以跟随操作者进行移动,不操作时则可 将其置于屏保模式后悬挂于机械本体上,即节能又克服了现有数控系统人机界 面固定、呆板、不灵活等缺点;

(2)基于Android平台建立的人机交互方式更加人性化,易于学习和操 作;Android平台支持实时多任务操作系统,软件开发和移植容易,适合应用 于工业控制场合;同时本发明的二次开发方法也适合于不同的软件操作环境, 具有很强的可移植性;

(3)通过灵活的选取和配置不同功能的总线式I/O单元和总线式伺服驱 动单元可使本发明在硬件上针对不同的机床和加工对象,具有广泛的适用性;

(4)采用Android平台解决了现有技术中个性化定制成本过高的问题, 便于在量大面广的数控加工过程中得到应用。

附图说明

以下将结合附图和具体实施例对本发明做进一步详细说明。附图中:

图1是本发明的基于Android平台的开放式数控系统的结构示意图;

图2是本发明的基于Android平台的开放式数控系统的硬件结构示意图;

图3a是本发明的基于Android平台的开放式数控系统的第一逻辑框图;

图3b是本发明的基于Android平台的开放式数控系统的第二逻辑框图;

图4是本发明的在基于Android平台的开放式数控系统中进行二次开发的 方法的流程图;以及

图5是本发明的在基于Android平台的开放式数控系统中进行二次开发的 方法的另一流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 用以解释本发明,并不用于限定本发明。

如图1-2和3a-3b所示,本发明提供了一种基于Android平台的开放式数 控系统(以下简称数控系统)。该数控系统分为三层结构(见图1):系统内核 层、应用平台层和应用程序层。与现有的数控系统相比,对本发明的数控系统 进行的界面开发和个性化定制均只需要在应用平台层和应用程序层组成的应 用层进行,同时与硬件和系统内核层隔离。

参见图2和图3a,本发明的数控系统包括Android平台1、IPC单元和伺 服系统2;其中,Android平台1用于完成数控系统的数据配置过程,而伺服 系统2则用于接收控制指令以完成对数控加工过程的实时控制。

具体地,本发明所采用的Android平台1为Android平板电脑,其包含基 于Android平台实现的人机交互界面11,且该人机交互界面11为面向用户的 操作程序,用户可通过该操作程序输入对数控系统进行控制的各参数,从而完 成数控系统的数据配置过程。换言之,人机交互界面11可用于接收对数控系 统的数据配置。这里所说的数据配置例如但不限于系统操作管理、参数设置、 G代码输入、系统诊断和位置显示等。另一方面,人机交互界面11也可将伺 服系统2实时控制的结果显示给用户,便于用户根据实际情况对数控加工过程 进行进一步调控。

如图1所示,与数据配置过程相对应的是,人机交互界面11可包含通用 菜单和应用程序接口(Application Program Interface,API)、故障诊断单元、 文本编辑器和API、网络通信单元、状态显示和API以及MDI等。除此之外, Android平台内(或描述为PC机内)设有至少一个相互关联的共享内存区(未 图示);人机交互界面11所接收的各类型数据可经适配性处理后发往共享内存 区,同时也可从该共享内存区内读取各实时控制的结果,用于进一步显示。

本发明的数控系统还包含IPC(Industrial Personal Computer)单元3、总 线式I/O单元4a、4b…4n和总线式伺服驱动单元5a、5b…5n;其中,IPC单 元3为数控系统的核心组件,用于执行数控系统的实时控制任务。如图2所示, 本发明的IPC单元3提供四个串行通讯接口PORT0、PORT1、PORT2和PORT3。 进一步地,总线式I/O单元4a、4b…4n和总线式伺服驱动单元5a、5b…5n通 过串行总线与IPC单元3串行通信,并用于建立IPC单元3与伺服系统2之 间的连接。具体地,总线式I/O单元4a、4b…4n和总线式伺服驱动单元5a、 5b…5n用于将IPC单元3发出的运动控制指令转发给伺服系统2以控制数控 加工过程,同时还用于将伺服系统2实时控制的结果反馈给IPC单元3。

进一步说明的是,本发明的IPC单元3通过以太网与Android平台1通信, 实现两者之间的数据交换。具体地,从Android平台1、尤其从基于Android 平台1实现的人机交互界面11接收用户输入的控制数据,向Android平台1、 尤其向基于Android平台1实现的人机交互界面11传输实时控制的结果。另 外,IPC单元3可实施的控制包括过程控制、运动控制和逻辑控制。对应地, 应用层(应用程序层与应用平台层)包含实施逻辑控制和运动控制的过程控制 单元31和运动控制器32。本发明的运动控制包括但不限于位置插补、位置补 偿和轴位置控制;其实现过程为:运动控制器32的插补器、轴位置控制模块 和位置补偿模块等组件接收由应用平台层的相应应用程序接口传递的控制数 据,同时调用系统内核层的相关功能函数和接口函数,完成适用于实时任务的 数控加工过程的控制。

进一步参见图2和图3b,本发明的数控系统还包括用于提供实时开发环 境的实时多任务调度模块6和实时多任务接口(也称为实时多任务API,见图 1);其中,实时多任务API还用于调用访问数控系统的内核层所需要的外部 接口函数以及用于实现在数控系统的应用层进行的实时开发。IPC单元3通过 实时多任务调度模块6调度实时任务,从而实现相应控制。具体应用中与实时 相关的模块通过这一实时多任务API与实时多任务调度模块6连接。通过实 时多任务API,本发明的实时应用程序与硬件是完全隔离的,这样针对不同应 用的二次开发只需修改应用程序层软件,而无需与硬件打交道。利用应用平台 与应用程序的各种API(如图2中所示出的应用程序开发接口层API),还可 实现对其功能的快速扩展。因此,只需利用相应的API就可完成二次开发。

本发明的数控系统可在应用层建立便于进行二次开发的“人机界面”;具 体来说,Android平台1包含Linux交叉编译环境搭建模块12、Android开发 环境搭建模块13和程序编译模块14。其中,Linux交叉编译环境搭建模块12 用于搭建Linux交叉编译环境并生成适用于Android平台下的操作系统的.so 库文件。若在Windows系统下Linux交叉编译环境搭建模块12通过使能 Cygwin软件搭建Linux交叉编译环境;若在Linux系统下则通过使能Ubuntu  gcc软件建立所需Linux交叉编译环境。随后,由于现有的API均只能支持 Windows和Linux平台,将API库文件通过所建立的Linux交叉编译环境转换 为在Android平台的操作系统下可调用的.so库文件。Android开发环境搭建模 块13则用于搭建适用于Android平台下的操作系统的开发环境。其中,Android 开发环境搭建模块13通过使能Eclipse、JDK、NDK和SDK等软件建立Android 开发环境。程序编译模块14则用于生成应用层人机交互界面程序、生成基于 Android平台下的操作系统的Launcher代码以及生成APK安装文件。所生成 的应用层人机交互界面程序包括界面布局和从系统内核层调用的API接口函 数;所生成的Launcher代码使得Android平台下的操作系统启动时可直接运行 本发明的数控系统的各对应程序;所生成的APK安装文件则由程序编译模块 14将Launcher代码和API库文件打包形成。上述二次开发过程很好地利用了 本发明的应用平台与应用程序的各种API,通过应用程序层的实时开发即可实 现与实时任务匹配的修改与调整。

如图4所示,本发明还提供了一种在基于Android平台的开放式数控系统 中进行二次开发的方法。该方法开始于步骤S11,随后在步骤S12中,搭建 Linux交叉编译环境,并生成适用于Android平台下的操作系统的.so库文件。 在步骤S13中,搭建适用于Android平台下的操作系统的开发环境(也可简称 为Android开发环境),便于基于Android平台实现后续以实时任务为依据而 进行而二次开发过程。随后在步骤S14中,在所搭建的Android开发环境下开 发本发明的数控系统的代码;Android平台下的操作系统可直接运行所开发的 代码。该方法结束于步骤S15。

在图5中,本发明进一步提供了一种在基于Android平台的开放式数控系 统中进行二次开发的方法。该方法开始于步骤S21,随后在步骤S22中,搭建 Linux交叉编译环境。具体地,判断所基于的操作系统是Windows系统、还是 Linux系统。若为Windows系统,则在步骤S23a中,使能Cygwin软件的运行; 若为Linux系统,则在步骤S23b中使能Ubuntu gcc软件的运行。在下一步骤 S24中,在所搭建的Linux交叉编译环境下将API库文件转换为.so库文件, Android平台下的操作系统可调用.so库文件。在下一步骤S25中,通过使能 Eclipse、JDK、NDK和SDK等软件的运行搭建适用于Android平台下的操作 系统的开发环境,也即搭建Android开发环境。随后,在步骤S26中,基于Java 语言开发应用层人机交互界面程序;具体包括进行界面布局和调用API接口 函数。接下来,在步骤S27中,基于所搭建的Android平台下的操作系统开发 Launcher代码,使得Android平台的操作系统启动时能直接运行本数控系统的 软件。最后在步骤S28中,将所开发的Launcher代码和API库文件打包生成 APK安装文件。该方法结束于步骤S29。

图5中进行二次开发的一具体示例详述如下:

1.搭建交叉编译环境:下载安装Cygwin软件,并正确设置系统环境变量。

2.使用Cygwin软件将数控系统API库文件生成.so库文件:打开Cygwin 软件,调用cd命令进入API库文件所在目录,编写自定义的.mk文件,然后 在Cygwin软件中调用命令$NDK/ndk-build即可生成Android能够调用的.so库 文件。

3.搭建Android开环境,本例使用Eclipse开发软件,并根据实际开发需求 安装相应功能模块。

4.开发人机交互界面:在Eclipse软件中新建Android工程文件,设置相关 参数后根据需求调用数控系统API接口函数开发软件界面。

5.开发Launcher代码:基于Android Launcher源码开发Launcher代码, 并在工程文件中对AndroidManifest.xml文件进行相应配置。

6.生成APK安装文件:在工程文件下运行Run As Android Application选 项对应的命令,进而自动编译在libs文件下生成相应APK文件。

综上所述,本发明的开放式数控系统解决了传统数控系统人机界面固定无 法移动、操作繁琐且欠缺灵活性等不足;基于Android平台建立的人机交互方 式更加人性化,易于学习和操作;Android平台支持实时多任务操作系统,软 件开发和移植容易,适合应用于工业控制场合;同时本发明的二次开发方法也 适合于不同的软件操作环境,具有很强的可移植性;由于二次开发过程与硬件 完全隔离,本发明的数控系统在硬件上可针对不同的机床和加工对象,配置性 强且适用面广。另外,采用Android平台解决了现有技术中个性化定制成本过 高的问题,便于在量大面广的数控加工过程中得到应用。也即本发明实现了一 种二次开发方便、结构配置灵活、成本可控且适用于多种类型配套要求的开放 式数控系统。

以上所述仅为本发明的优选实施例,并不用以对本发明做任何限制。应该 理解的是,本领域技术人员可根据本发明的示教对本发明进行各种修改和调 整,但这些修改和调整均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号