首页> 中国专利> 基于教导指令实现运动控制多分支同步执行的方法

基于教导指令实现运动控制多分支同步执行的方法

摘要

本发明涉及一种工业控制系统中基于教导指令实现运动控制多分支同步执行的方法,其特征在于,所述的方法包括支持多分支同步执行的数控加工教导文件生成处理操作和多分支同步执行运动控制处理操作,所述的支持多分支同步执行的数控加工教导文件生成处理操作。采用该种基于教导指令实现运动控制多分支同步执行的方法,使数控系统可以同步执行多个其他不相冲突的动作,使机床进行更高效的加工,极大提高了机床加工效率,在相同时间内可以执行更多操作,节省人力成本,能够为社会创造更多价值;其中使用的一整套自定义保存机制能够确保加工数据的安全保存,并在系统资源的开销上相对较小,提高了系统的整体效率,工作性能稳定可靠、适用范围较为广泛。

著录项

  • 公开/公告号CN104076736A

    专利类型发明专利

  • 公开/公告日2014-10-01

    原文格式PDF

  • 申请/专利权人 上海维宏电子科技股份有限公司;

    申请/专利号CN201410334721.6

  • 申请日2014-07-15

  • 分类号G05B19/18;

  • 代理机构上海智信专利代理有限公司;

  • 代理人王洁

  • 地址 201108 上海市闵行区都会路2338弄总部一号企业园区29号

  • 入库时间 2023-12-17 01:44:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-15

    授权

    授权

  • 2014-10-29

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

    实质审查的生效

  • 2014-10-01

    公开

    公开

说明书

技术领域

本发明涉及领域工业控制系统领域,特别涉及机械手控制系统的应用技术领域,具体是 指一种工业控制系统中基于教导指令实现运动控制多分支同步执行的方法。

背景技术

现有数控系统中使用教导方式编辑教导文件进行加工的,都是把数控系统上的一整套功 能操作分成各种不同的教导指令,一般是使用顺序执行的方式从教导文件中的第一条指令开 始执行到最后一条指令直至结束,即执行了一次加工文件。有些教导文件中可能存在跳转指 令,虽然顺序有些变动,但是运行的实际效果仍然是按照特定的顺序一条接一条指令的顺序 执行。

在对数控系统的实际操作中,有一些教导指令相互之间是不冲突的,理论上可以同时执 行以完成机床和控制系统的某种功能需求。机床和控制系统的某些动作可能耗时还比较多, 即对应的教导指令中的某些步骤可能在执行的过程中需要特定的时长,如果在此过程中数控 系统无法同时执行其他不冲突的动作,将会对最终的加工效率造成一定的影响,无法达到最 优的加工效果。长时间累积下来,也会对最终的经济效益有很大的影响。

为了解决上述问题,迫切需要一种使用并行方式多分支同步执行数控教导指令的方案, 使数控系统可以在执行某一动作的过程中同步执行多个其他不相冲突的操作。

发明内容

本发明的目的是克服了上述现有技术中的缺点,提供一种能够确保数控系统在执行某一 动作的过程中同步执行多个其他不相冲突的动作、显著提高机床的加工效率、在相同的时间 内可以执行更多操作、工作性能稳定可靠、适用范围较为广泛的工业控制系统中基于教导指 令实现运动控制多分支同步执行的方法。

为了实现上述的目的,本发明的工业控制系统中基于教导指令实现运动控制多分支同步 执行的方法如下:

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法,其主要特点是, 所述的方法包括支持多分支同步执行的数控加工教导文件生成处理操作和多分支同步执行运 动控制处理操作,所述的支持多分支同步执行的数控加工教导文件生成处理操作,包括以下 步骤:

(1.1)所述的系统根据用户操作,生成包含分支指令集的教导指令集合并进行存储;

(1.2)所述的系统根据所述的教导指令集合生成支持多分支同步执行的数控加工教导文 件并进行存储;

所述的多分支同步执行运动控制处理操作,包括以下步骤:

(2.1)所述的系统根据用户操作,载入所述的支持多分支同步执行的数控加工教导文件, 并解析成为标准数控加工指令;

(2.2)所述的系统创建分支链表,并将需要同步执行的各个分支添加至该分支链表中;

(2.3)所述的系统执行到分支操作时,通过定时装置遍历监控所述的分支链表,控制各 个分支的同步执行处理;

(2.4)所述的系统继续执行分支操作之后的其他数控加工指令。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的分支指令集中 包括分支指令和合并分支指令。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的将教导指令集 合并进行存储,包括以下步骤:

(1.1.1)将所述的教导指令集合在所述的系统中以子程序的形式进行保存;

(1.1.2)将所述的子程序以预设的数据格式保存在系统的硬盘中。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的根据教导指令 集合生成支持多分支同步执行的数控加工教导文件并进行存储,包括以下步骤:

(1.2.1)所述的系统根据所述的教导指令集合生成主程序文件,且该主程序文件中包含 有分支指令和对应的合并分支指令,且所述的分支指令和对应的合并分支指令成对出现;

(1.2.2)所述的系统在所述的分支指令与对应的合并分支指令之间生成需要同步执行的 至少两个分支,每个所述的分支中均具有独立运动指令集合,且分属于不同分支中的独立运 动指令集合之间彼此互不冲突;

(1.2.3)所述的系统将所述的主程序程序以预设的数据格式保存在系统的硬盘中。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的独立运动指令 集合中包含有由相应的操作指令所分解得到的多步原子操作步骤,且每步所述的原子操作步 骤中均包含有执行该原子操作所需要的信息。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的分支中还可以 包括对子程序的调用。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的创建分支链 表,包括以下步骤:

(2.2.1)所述的系统中的解析器在解析数控加工教导文件的过程中,当解析到所述的分 支指令时创建该分支链表;

(2.2.2)所述的解析器将系统中的分支标示位设置为TRUE。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的通过定时装置 遍历监控所述的分支链表控制各个分支的同步执行处理,包括以下步骤:

(2.3.1)所述的定时装置持续扫描所述的分支标示位是否为TRUE;

(2.3.2)如果否,则重复上述步骤(2.3.1);

(2.3.3)如果是,则所述的定时装置周期性的扫描遍历所述的分支链表,并依次判断该 分支链表中每一个节点所对应的分支的步骤是否已经执行完毕;

(2.3.4)如果执行完毕,则返回步骤(2.3.3)继续扫描遍历所述的分支链表;

(2.3.5)如果未执行完毕,则按照顺序逐一判断该分支中的每一步原子操作步骤是否已 执行;

(2.3.6)如果未执行,则执行该步原子操作步骤所对应的操作动作;否则返回上述步骤 (2.3.5),直到所有的原子操作步骤均执行完毕,返回上述步骤(2.3.4);

(2.3.7)当所述的定时装置检测到所有的节点所对应的分支的步骤均执行完毕后,该定 时装置将所述的分支标示位设置为FLASE,并返回步骤(2.4)。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的执行该步原子 操作步骤所对应的操作动作,包括以下步骤:

(2.3.6.1)系统控制执行所述的原子操作步骤所对应的操作动作;

(2.3.6.2)设置该部原子操作步骤所对应的继续向下执行标识位为TRUE。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的判断原子操作 步骤是否已执行,具体为:

(2.3.5.1)所述的定时装置判断该原子操作步骤所对应的继续向下执行标识位是否为 TRUE;

(2.3.5.2)如果是,则返回已执行的结果;如果否,则返回未执行的结果。

该工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的原子操作步骤 为置端口操作或者延时操作时,所述的步骤(2.3.6.1)中还包括以下步骤:

(2.3.6.1.1)将时间参数减去一个扫描周期,以更新时间;

(2.3.6.1.2)继续执行下一步的原子操作步骤。

采用了该发明的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法,由 于其中增加了分支的教导指令,最终用户可以更方便地使用数控系统,让机床加工中能够并 行执行操作步骤,使数控系统可以在执行某一动作的过程中同步执行多个其他不相冲突的动 作,从而使机床可以进行更高效的加工,极大的提高了机床的加工效率,在相同的时间内可 以执行更多操作,节省人力成本,能够为社会创造更多价值;同时其中使用的一整套自定义 的保存机制能够确保加工数据的安全保存,并在系统资源的开销上相对较小,提高了系统的 整体效率,工作性能稳定可靠、适用范围较为广泛。

附图说明

图1为本发明的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的 文件保存过程示意图。

图2为本发明的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的 教导指令解释示意图。

图3为本发明的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的 分支执行原理示意图。

图4为本发明的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的 分支同步执行过程的流程图。

图5为本发明的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的 分支内部拆分过程示意图。

图6为本发明的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法中的 分支执行过程整体示意图。

具体实施方式

为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。

请参阅图1至图6所示,该工业控制系统中基于教导指令实现运动控制多分支同步执行 的方法,其中包括支持多分支同步执行的数控加工教导文件生成处理操作和多分支同步执行 运动控制处理操作,所述的支持多分支同步执行的数控加工教导文件生成处理操作,包括以 下步骤:

(1.1)所述的系统根据用户操作,生成包含分支指令集的教导指令集合并进行存储;该 分支指令集中包括分支指令和合并分支指令;该将教导指令集合并进行存储,包括以下步骤:

(1.1.1)将所述的教导指令集合在所述的系统中以子程序的形式进行保存;

(1.1.2)将所述的子程序以预设的数据格式保存在系统的硬盘中;

(1.2)所述的系统根据所述的教导指令集合生成支持多分支同步执行的数控加工教导文 件并进行存储,包括以下步骤:

(1.2.1)所述的系统根据所述的教导指令集合生成主程序文件,且该主程序文件中包 含有分支指令和对应的合并分支指令,且所述的分支指令和对应的合并分支指令成对 出现;

(1.2.2)所述的系统在所述的分支指令与对应的合并分支指令之间生成需要同步执行 的至少两个分支,每个所述的分支中均具有独立运动指令集合,且分属于不同分支中 的独立运动指令集合之间彼此互不冲突;该独立运动指令集合中包含有由相应的操作 指令所分解得到的多步原子操作步骤,且每步所述的原子操作步骤中均包含有执行该 原子操作所需要的信息;该分支中还可以包括对子程序的调用;

(1.2.3)所述的系统将所述的主程序程序以预设的数据格式保存在系统的硬盘中; 所述的多分支同步执行运动控制处理操作,包括以下步骤:

(2.1)所述的系统根据用户操作,载入所述的支持多分支同步执行的数控加工教导文件, 并解析成为标准数控加工指令;

(2.2)所述的系统创建分支链表,并将需要同步执行的各个分支添加至该分支链表中; 该创建分支链表,包括以下步骤:

(2.2.1)所述的系统中的解析器在解析数控加工教导文件的过程中,当解析到所述的 分支指令时创建该分支链表;

(2.2.2)所述的解析器将系统中的分支标示位设置为TRUE;

(2.3)所述的系统执行到分支操作时,通过定时装置遍历监控所述的分支链表,控制各 个分支的同步执行处理,包括以下步骤:

(2.3.1)所述的定时装置持续扫描所述的分支标示位是否为TRUE;

(2.3.2)如果否,则重复上述步骤(2.3.1);

(2.3.3)如果是,则所述的定时装置周期性的扫描遍历所述的分支链表,并依次判断 该分支链表中每一个节点所对应的分支的步骤是否已经执行完毕;

(2.3.4)如果执行完毕,则返回步骤(2.3.3)继续扫描遍历所述的分支链表;

(2.3.5)如果未执行完毕,则按照顺序逐一判断该分支中的每一步原子操作步骤是否 已执行,具体为:

(2.3.5.1)所述的定时装置判断该原子操作步骤所对应的继续向下执行标识位是 否为TRUE;

(2.3.5.2)如果是,则返回已执行的结果;如果否,则返回未执行的结果;

(2.3.6)如果未执行,则执行该步原子操作步骤所对应的操作动作;否则返回上述步 骤(2.3.5),直到所有的原子操作步骤均执行完毕,返回上述步骤(2.3.4);该执行该 步原子操作步骤所对应的操作动作,包括以下步骤:

(2.3.6.1)系统控制执行所述的原子操作步骤所对应的操作动作;当原子操作步 骤为置端口操作或者延时操作时,所述的步骤(2.3.6.1)中还包括以下步骤:

(2.3.6.1.1)将时间参数减去一个扫描周期,以更新时间;

(2.3.6.1.2)继续执行下一步的原子操作步骤;

(2.3.6.2)设置该部原子操作步骤所对应的继续向下执行标识位为TRUE;

(2.3.7)当所述的定时装置检测到所有的节点所对应的分支的步骤均执行完毕后,该 定时装置将所述的分支标示位设置为FLASE,并返回步骤(2.4);

(2.4)所述的系统继续执行分支操作之后的其他数控加工指令。

在实际使用当中,本发明的技术方案的具体实现过程如下:

1、通过教导编辑出来的文件,其由基本的教导指令组成,教导指令是程序加工的基本单 位。为了方便解析,编辑之后的教导文件以一种自定义格式的数据保存。

2、由于程序全是通过教导编辑出来的,不会载入其他文件。因此在这里生成并保存的文 件没必要按照GM指令格式设计,那样会提高解析难度。只要系统内部能够识别并解析就可 以了。因此设计生成的需要保存的文件是我们自己定义的格式,方便解析,也方便修改后的 保存。例如:可以定义“G011”代表Y直线运动到坐标11;定义“G131”代表将速度设为速度 参数的31%;“G270”代表置输出端口y07为0;“G3721”等待输入端口x72为1。

3、程序中可以进行教导编辑和保存的文件有主程序和子程序的区分,可以教导主程序也 可以教导子程序。主程序和子程序都是使用自定义的数据格式保存。其中主程序和子程序中 都可以呼叫子程序,都可以包含分支指令。

4、教导之后的文件在加工之前会被解析成标准的数控加工指令,即GM指令,最终使用 标准格式的加工文件进行加工。请参阅图1所示,描述的是把教导文件最终转换成数控加工 文件的过程。

5、这里所谓的分支是指:在达到某种条件或是执行文件到某一行时,某些规定好的动作 需要同时执行,这些同时并且按照各自顺序执行的动作就是分支。请参阅图2所示。

若无分支指令,正常的执行顺序将是按照从上到下的顺序依次执行,而此处在步骤【2】 开始执行之后,步骤【3】【4】【5】同时执行,且互不影响。在步骤【3】【4】【5】都执行完 毕后,【6】才执行,然后才进行下一步的执行。执行的示例如图3所示。

1)程序开始后执行普通的数控加工指令(这里需要说明的是教导文件中的全部指令都被 封装成了一个个的小子程序,普通教导程序的每一步都只可能是通过教导编辑出来的数控指 令,例如,可能是呼叫子程序/直线运动/延时中的一种指令)

2)当遇到分支开始的标志时,开始分支功能。这里假设有三个分支:【分支1】、【分支2】、 【分支3】,这三个分支在【开始分支】后同时执行,并且互不干扰(即并行运动)。

3)在全部分支执行完毕之后才完成下面的【合并分支】,然后继续向下执行。

4)这里的【分支1】、【分支2】、【分支3】的内容其实就是一般的【子程序/直线/延时】, 也就是G/M指令的集合。之所以称之为【分支】是因为不同【分支】是同时执行的,而不是 按照顺序一个个执行的。

6、分支的执行原理

要实现多个操作同时运动,而现有的解析器同一时间最多支持一个分支的解析和运动。 这就得想其他的办法解决多分支并行运动的问题。可以想到,每个分支,除了轴运动,其他 全部都只是操作端口、延时或是速度等指令,这些动作完全可以不用解析器完成,而且每个 操作需要耗费的时长各不相同。本发明把含有轴运动的的分支交由解析器完成,其他分支在 其他地方完成。通过比选,综合考虑解析速度和执行效率,我们使用函数指针的形式来完成 分支功能。

其中每一步操作的示例图如图5所示,假设【分支一】的GM指令的功能可以描述为: 置Y11号端口为开启状态,暂停200ms,然后置Y11号端口为关闭状态。我们将这个分支做 如下分解。

如图5所示,假设一个分支有3个步骤,那么我们可以把每个步骤当成一个原子操作, 三个按顺序执行的原子操作组合成了这个分支。每个原子操作都可以用函数实现出来,那么 可以将这个分支分成3个按顺序执行的函数。开始执行分支一时,首先判断分支一是否已经 执行完毕,已执行完毕则直接跳过,控制流转交到分支二;未执行则开始执行分支的步骤一。 执行步骤一时调用相关函数设置端口Y11为开启;然后设置继续向下执行标识位为true;被 设置为继续向下执行的标识位为true的原子操作步骤,下次扫描到时会自动被跳过。由于步 骤一设置继续向下执行标识位为true,下面会执行步骤二,首先会更新统计时间,判断设定 时长(200ms)是否已到?如果时间到了,设置继续向后执行的标识位为true;如未到,设置 继续向后执行的标识位为false,并且把控制流转到分支二的执行流程中。直到下一个扫描周 期才会继续进入步骤二的执行逻辑。直到步骤二执行完毕,分支一的执行流才会进入步骤三, 执行时会调用函数,设置Y11端口为关闭;然后会设置继续向后执行的标识位为true。如此, 分支一的所有步骤都已经被执行完成,会把分支一的是否向后执行的标识位设置为true。

请参阅图4所示:我们把一组分支中的各个分支放在一个分支的链表中,每一个分支包 含分支中的每一步原子操作,每一步原子操作步骤对象包含执行该操作需要的全部信息。分 支的链表是解析加工文件时解析到分支指令时创建的,在执行分支操作时首先由一个定时装 置定时扫描整个分支链表,首先扫描到分支一,然后判断该分支的步骤是否已经执行完毕, 如果执行完毕则直接处理下一个分支,如果没有执行完毕则开始判断该分支的第一步原子操 作,通过标识位判断该步骤是否已经执行过了,如果没有执行过,则执行该步对应的操作, 否则直接执行下一步。需要特别指出的是,一个原子操作步骤,如果是置端口操作,或是延 时操作,则会将时间参数减去一个扫描周期,达到更新时间的目的,并且继续到下一步操作 而不是停止在当前步骤,直到一个分支的所有步骤都执行完毕,会给出分支执行完毕的标识。 一次扫描周期会把整个分支链表中包含的所有需要执行的原子操作步骤都遍历一次,直到所 有的操作都已执行完成之后给出分支执行完毕的标识。主程序会继续执行分支以外的其他操 作。整个分支在执行的过程中,由于定时器的扫描周期短,实际应用中的一些操作步骤耗时 和一个扫描周期相比要长很多,因此使用分支功能之后加工效率能有非常明显的提升。

本发明的一种具体实施方式,可以按下列步骤进行:

(1)通过控制系统教导出一套教导指令,并把教导出来的指令集合在控制系统中选择以 子程序的形式保存,此时子程序以特定的数据格式保存在硬盘中。

(2)通过控制系统教导出一个主程序文件,主程序中需要包含分支和合并分支两种指令。 在分支之后合并分支之前教导出一些不互相冲突的独立运动指令集合,其中可以包含对子程 序的调用。教导完成之后的主程序也以特定格式保存在硬盘上。

(3)载入该教导文件,此时控制系统会对教导文件进行解析。选择使用当前的主程序开 始在数控系统上进行加工操作。我们可以看到在程序执行到分支指令后的各个分支动作时, 这些机床运动操作是同步执行的,而不是一步步的按照既定顺序等一步骤执行完成之后才执 行下一个步骤操作。

本发明中的在工控中实现分支教导的方法,其中具有以下特点:

(1)机床加工文件使用教导出来的教导指令集合;

(2)教导文件和子程序文件都以自定义格式保存数据。

(3)教导指令中可以呼叫子程序。

(4)可以对子程序进行教导和编辑,也可以对主程序进行教导和编辑,主程序可以调用 子程序,子程序同样可以调用子程序。

(5)教导文件的基本组成部分是教导指令,分支指令是教导指令的一种。

(6)分支指令和合并分支之间可以包含多个不相互冲突的功能分支,在解析执行的过程 中这些分支是同步执行的。如分支一要求X轴向正方向运动,分支二要求X轴向负方向运动, 此类不能同时执行的操作步骤视为有冲突的分支功能操作。

(7)分支指令和合并分支指令必须成对出现。

(8)位于分支指令和合并分支指令之间的每个教导指令被视为一个分支,一个分支可以 包含对机床的多个操作指令。

(9)分支操作运行时会把每一个分支中的每个操作指令分解成多个最小的原子操作,这 些原子操作是不能继续拆分的。

(10)在分支执行的过程中使用了高精度的定时器,在极短的时间内遍历了各分支中所 有的原子操作。

(11)在分支的执行过程中遇到一些需要固定延时时间才能完成的动作,会在每一次扫 描时把固定延时时间参数减去一个扫描周期,达到更新时间的目的,并且继续到下一步原子 动作而不是停止在当前动作中。

(12)分支指令中包含的多个分支,其执行顺序是并行同步执行的。

采用了上述的工业控制系统中基于教导指令实现运动控制多分支同步执行的方法,由于 其中增加了分支的教导指令,最终用户可以更方便地使用数控系统,让机床加工中能够并行 执行操作步骤,使数控系统可以在执行某一动作的过程中同步执行多个其他不相冲突的动作, 从而使机床可以进行更高效的加工,极大的提高了机床的加工效率,在相同的时间内可以执 行更多操作,节省人力成本,能够为社会创造更多价值;同时其中使用的一整套自定义的保 存机制能够确保加工数据的安全保存,并在系统资源的开销上相对较小,提高了系统的整体 效率,工作性能稳定可靠、适用范围较为广泛。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种 修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限 制性的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号