调用子程序的方法及装置与流程

文档序号:12176711阅读:810来源:国知局
调用子程序的方法及装置与流程

本发明涉及机器人领域,具体而言,涉及一种调用子程序的方法及装置。



背景技术:

目前,在机器人领域,越来越多的人在研究如何高效流畅的控制机器人,众所周知,在控制机器人时,机器人的控制程序非常重要,往往关系到机器人的工作效率,然而,目前,在机器人程序的调用过程中,机器人的子程序或其他程序调度能力非常有限,调用子程序不方便。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种调用子程序的方法及装置,以至少解决相关技术中运行机器人程序时,调度其他程序不方便的技术问题。

根据本发明实施例的一个方面,提供了一种调用子程序的方法,包括:在机器人运行主程序的过程中,判断是否需要调用子程序;若是,则使用预设子程序调用函数来调用上述子程序。

进一步地,在使用预设子程序调用函数来调用上述子程序之后,上述方法还包括:打开上述子程序;加载并解析上述子程序的数据文件;开始执行上述子程序。

进一步地,上述方法还包括:在上述子程序执行完毕之后,重新回到上述主程序;继续执行上述主程序的剩余程序行。

进一步地,在加载并解析上述子程序的数据文件之后,上述方法还包括:周期性回传的上述主程序的程序名到示教器;保存上述主程序的程序名路径;保持程序行周期性更新。

进一步地,在使用预设子程序调用函数来调用上述子程序的同时,上述方法还包括:中断运行上述主程序;保存上述主程序的中断位置;或者将上述主程序的中断位置先加1再保存加1后的位置。

根据本发明的另一方面,提供了一种调用子程序的装置,包括:判断单元,用于在机器人运行主程序的过程中,判断是否需要调用子程序;调用单元,用于在是的情况下,使用预设子程序调用函数来调用上述子程序。

进一步地,上述装置还包括:打开单元,用于在上述调用单元在使用预设子程序调用函数来调用上述子程序之后,用于打开上述子程序;加载单元,用于加载并解析上述子程序的数据文件;第一执行单元,用于开始执行上述子程序。

进一步地,上述装置还包括:跳转单元,用于在上述子程序执行完毕之后,重新回到上述主程序;第二执行单元,用于继续执行上述主程序的剩余程序行。

进一步地,上述装置还包括:回传单元,用于在加载并解析上述子程序的数据文件之后,周期性回传的上述主程序的程序名到示教器;第一保存单元,用于保存上述主程序的程序名路径;更新单元,用于保持程序行周期性更新。

进一步地,上述装置还包括:中断单元,用于在使用预设子程序调用函数来调用上述子程序的同时,中断运行上述主程序;第二保存单元,用于保存上述主程序的中断位置,或者,将上述主程序的中断位置先加1再保存加1后的位置。

在本发明实施例中,采用一种调用子程序的方法,该方法包括:在机器人运行主程序的过程中,判断是否需要调用子程序;若是,则使用预设子程序调用函数来调用子程序,达到了运行机器人程序时,方便的调度其他程序的目的,从而实现了维持机器人正常工作的技术效果,进而解决了相关技术中运行机器人程序时,调度其他程序不方便的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的调用子程序的方法流程图;

图2是根据本发明实施例的另一种可选的调用子程序的示意图;

图3是根据本发明实施例的一种可选的调用子程序的装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种调用子程序的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种可选的调用子程序的方法流程图,如图1所示,该方法包括如下步骤:

步骤S102,在机器人运行主程序的过程中,判断是否需要调用子程序;

步骤S104,若是,则使用预设子程序调用函数来调用子程序。

也即,在控制机器人的过程中,需要运行机器人的主程序,在机器人的主程序中,包含有子程序,首先判断机器人的运行过程是否需要调用子程序,在判断需要调用子程序的情况下,机器人的运行程序会制动使用预设的子程序调用函数,完成调用子程序的过程。

通过上述实施方式,采用一种调用子程序的方法,该方法包括:在机器人运行主程序的过程中,判断是否需要调用子程序;若是,则使用预设子程序调用函数来调用子程序,达到了运行机器人程序时,方便的调度其他程序的目的,从而实现了维持机器人正常工作的技术效果,进而解决了相关技术中运行机器人程序时,调度其他程序不方便的技术问题。

可选地,在使用预设子程序调用函数来调用子程序之后,上述方法还包括:打开子程序;加载并解析子程序的数据文件;开始执行子程序。

也即,为了能够正常的调用子程序,在使用预设子程序调用函数来调用子程序之后,需要将将子程序中的数据文件进行加载和解析,通过加载和解析数据文件,可以获取子程序所需要执行的命令,进而完成不同的操作动作。

可选地,上述方法还包括:在子程序执行完毕之后,重新回到主程序;继续执行主程序的剩余程序行。也即,在执行完子程序后,为了维持机器人按照预先设定的程序运行,需要重新回到主程序中,完成主程序中剩余的程序行。

可选地,在加载并解析子程序的数据文件之后,上述方法还包括:周期性回传的主程序的程序名到示教器;保存主程序的程序名路径;保持程序行周期性更新。也即,为了清楚地获取运行程序运程在具体某一个程序时,可以将主程序的程序名回传到示教器中,当然,可以按照一定的时间周期进行回传,具体可根据实际情况确定。另外,为了避免当出现突发情况,即运行程序出现故障时,程序路径丢失,可以将主程序的程序名路径进行保存,进一步地,可以将程序行周期性更新。

可选地,在使用预设子程序调用函数来调用子程序的同时,上述方法还包括:中断运行主程序;保存主程序的中断位置;或者将主程序的中断位置先加1再保存加1后的位置。具体的,图2是根据本发明实施例的另一种可选的调用子程序的示意图,如图2所示。为了防止在运行子程序的过程中,系统出现紊乱,可以将之前运行的主程序中断,以保证程序的正常运行。当然,优选地,还可以将主程序的中断位置保存或将主程序的中断位置先加1再保存加1后的位置。进而加快下次运行主程序。需要说明的是,Call A:调用子程序A;SubPrgOp.CurPrgName:当前程序名;SubPrgOp.SaveCurrentPrgDone=1:保存当前程序名完成;PrgControlStep=30(stop):程序停止;SubPrgOp.LoadSubPrgDone=1:打开当前子程序完成;PrgControlStep=20:子程序开始执行;SubPrgOp.ExeDone=1:子程序运行完成;PrgControlStep=30(stop):子程序停止;SubPrgOp.LoadMainPrgDone=1:恢复主程序完成。

实施例2

根据本发明的另一方面,提供了一种调用子程序的装置,图3是根据本发明实施例的一种可选的调用子程序的装置的示意图,如图3所示,该装置包括:判断单元20,用于在机器人运行主程序的过程中,判断是否需要调用子程序;调用单元40,用于在是的情况下,使用预设子程序调用函数来调用子程序。

通过上述实施方式,达到了运行机器人程序时,方便的调度其他程序的目的,从而实现了维持机器人正常工作的技术效果,进而解决了相关技术中运行机器人程序时,调度其他程序不方便的技术问题。

可选地,上述装置还包括:打开单元,用于在调用单元在使用预设子程序调用函数来调用子程序之后,用于打开子程序;加载单元,用于加载并解析子程序的数据文件;第一执行单元,用于开始执行子程序。

可选地,上述装置还包括:跳转单元,用于在子程序执行完毕之后,重新回到主程序;第二执行单元,用于继续执行主程序的剩余程序行。

可选地,上述装置还包括:回传单元,用于在加载并解析子程序的数据文件之后,周期性回传的主程序的程序名到示教器;第一保存单元,用于保存主程序的程序名路径;更新单元,用于保持程序行周期性更新。

可选地,上述装置还包括:中断单元,用于在使用预设子程序调用函数来调用子程序的同时,中断运行主程序;第二保存单元,用于保存主程序的中断位置,或者,将主程序的中断位置先加1再保存加1后的位置。

需要说明的是,实施例2中装置部分的各实施方式与实施例1中方法部分的各实施方式是对应的,在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1