首页> 中国专利> 一种基于线程管理的数控系统实时任务动态配置方法

一种基于线程管理的数控系统实时任务动态配置方法

摘要

本发明涉及一种基于线程管理的数控系统实时任务动态配置方法,包括以下步骤:创建线程配置与管理模块及数控系统功能模块;加载线程配置与管理模块;加载数控系统功能模块;激活实时线程;在线增减、配置实时线程;所述线程配置与管理模块统一负责数控系统实时线程的创建,并提供函数注册接口供其它功能模块调用。本发明提出一种基于线程管理的实时任务动态配置方法,实现了数控系统实时线程任务的可重构,并且该方法支持数控系统实现实时任务的在线增加与删除,显著提高了数控系统实时任务配置的灵活性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-08-26

    专利权的转移 IPC(主分类):G06F9/46 变更前: 变更后: 登记生效日:20150803 申请日:20101209

    专利申请权、专利权的转移

  • 2013-08-07

    授权

    授权

  • 2012-09-12

    实质审查的生效 IPC(主分类):G06F9/46 申请日:20101209

    实质审查的生效

  • 2012-07-11

    公开

    公开

说明书

技术领域

本发明涉及数控系统领域,具体地说是一种基于线程管理的数控 系统实时任务动态配置方法。

背景技术

模块化设计是开放式数控系统的基本特征之一,其在系统开发中 得到日益广泛的应用。由于采用模块化设计,可以将数控系统的实时 任务分解为若干子任务,然后,每个子任务分别由不同的模块来实现, 可以提高模块的重用性,但同时造成数控系统实时任务的配置与管理 非常复杂。因此,如何实现这些实时任务的配置与管理对实现数控系 统的开放性具有重要意义。

目前,数控系统对于实时任务采用静态的配置与管理模式,一旦 实时任务发生改变,需要重新对模块进行代码编辑、调试、编译,极 大限制了数控系统任务配置的可重构性。

发明内容

针对现有技术中数控系统存在的对于实时任务采用静态的配置 与管理模式,当实时任务发生改变,需要重新对模块进行代码编辑、 调试、编译等不足之处,本发明要解决的技术问题是提供一种基于线 程管理的数控系统实时任务动态配置方法,实现数控系统实时任务的 配置与管理,并支持数控系统实时任务的在线增加与删除,实现实时 任务的动态可重构性。

为解决上述技术问题,本发明采用的技术方案是:

本发明一种基于线程管理的数控系统实时任务动态配置方 法,包括以下步骤:

创建线程配置与管理模块及数控系统功能模块;

加载线程配置与管理模块;

加载数控系统功能模块;

激活实时线程;

在线增减、配置实时线程。

所述线程配置与管理模块统一负责数控系统实时线程的创 建,并提供函数注册接口供其它功能模块调用。

所述数控系统功能模块包括实现系统实时任务各子任务功 能模块,数控系统功能模块提供功能实现的输出函数,以便调用 线程配置与管理模块的函数注册接口时添加到实时线程中。

各子任务功能模块根据数控系统提供的配置文件向相应的 线程中注册输出函数,函数注册的顺序与线程运行时函数的执行 顺序一致。

所述激活实时线程采用同时激活、同时挂起的方式,使数控 系统各个线程基于不同的优先级实现同步协调运行。

所述在线增减、配置实时线程是根据用户的选择进行系统实 时线程或实时线程中函数的添加与删除,实现实时任务的动态管 理。

本发明的有益效果及优点为:

1.本发明提出一种基于线程管理的实时任务动态配置方法,实 现了数控系统实时线程任务的可重构,并且该方法支持数控系统实现 实时任务的在线增加与删除,显著提高了数控系统实时任务配置的灵 活性。

附图说明

图1为实施本发明方法的流程图;

图2为本发明方法实现实时任务配置示意图;

图3为数控系统实时任务的在线增减及配置示意图。

具体实施方式

本发明方法提供了一种数控系统模块化结构设计方案,基于该方 案可以将数控系统实时任务分解到若干不同的模块中去实现,每个模 块完成任务的部分功能。如图1所示,本发明基于线程管理的数控系 统实时任务动态配置方法包括以下步骤:

创建线程配置与管理模块及数控系统功能模块;加载线程配置与 管理模块;加载数控系统功能模块;激活实时线程;在线增减、配 置实时线程。

创建线程配置与管理模块及系统功能模块。线程配置与管理模块 负责数控系统实时任务的配置与管理,该模块根据配置文件进行数控 系统实时线程的创建,并提供函数注册接口供其它功能模块调用,将 功能模块的功能实现函数添加到实时线程中,以实现实时任务的配 置。系统功能模块主要包括实现系统实时任务各子任务的模块,例如 输入模块、插补计算模块、输出模块等,并提供功能实现的输出函数, 以便调用线程配置与管理模块的函数注册接口时添加到实时线程中。

加载线程配置与管理模块。该模块根据数控系统任务实时性要求 的不同,基于配置文件建立若干优先级不同的实时线程,每个线程分 别处理不同的实时任务,线程创建后处于空闲状态,以便各功能模块 调用该模块的函数注册接口,实现实时任务的配置。采用统一的模块 进行数控系统实时线程的创建,使得模块的开发人员不必关心其它模 块的实现细节,只进行本模块相关功能的开发,有利于提高数控系统 的开发效率。

加载数控系统功能模块。实时线程是由顺序执行的若干函数构 成,这些函数分别在不同的功能模块中实现,数控系统根据不同的功 能要求加载功能模块,然后,在各个模块的初始化过程中,根据配置 文件通过调用线程配置与管理模块的函数注册接口向相应的线程中 添加函数,实现数控系统线程任务的动态配置与管理。若实时任务发 生改变,只需要更改配置文件,不必进行模块的重新调试、编译等, 实现数控系统实时任务的动态配置与管理。

激活实时线程。数控系统各个线程同时激活、同时挂起,便于数 控系统各个线程基于不同的优先级实现同步协调运行,保证系统功能 实现的可靠性。

在线增减、配置实时线程。数控系统启动完成后,可以根据用户 选择进行系统实时线程的增减及其中函数的在线添加与删除,满足用 户在系统运行时进行实时任务的配置与管理。

数控系统启动时,首先加载线程管理与配置模块,由该模块根据 配置文件实现数控系统实时线程的创建,然后各个模块根据数控系统 配置文件,向数控系统实时线程中注册输出函数,系统配置完各个实 时线程后,激活实时线程运行。

上述配置文件的格式如下:

mkthread thread_name  period_nsec  thead_priority

addfunc  mod_name  function_name  thread_name

其中,线程创建指令,包含所创建的线程名称、周期、优先级等 信息;函数注册指令,包含注册函数的模块名称,注册的函数名称及 线程名称等信息。

数控系统启动完成后,通过人机接口获取需要添加或删除线程名 称及优先级等信息,进行实时线程的在线添加与删除,实现实时任务 的动态管理。

数控系统通过人机接口获取需要添加或删除函数的线程名、函数 名、模块名等,系统根据从界面获得的信息进行实时线程中函数的在 线添加与删除,实现线程中函数的动态配置。主要步骤如下:

发送线程挂起指令,停止线程运行;

向需要添加或删除函数的模块发送指令,由该模块在线程中添加 函数或从线程中删除函数;

系统发送线程激活指令,启动线程运行。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号