一种单线程多轴控制方法及相关装置制造方法及图纸

技术编号:28870174 阅读:16 留言:0更新日期:2021-06-15 23:02
本申请实施例公开了一种单线程多轴控制方法及相关装置,解决了多轴控制之间等待耗时,软件开发难度高的问题。本申请包括:定义轴卡中所有任务包含的动作逻辑;创建一个主线程,主线程用于依次循环运行轴卡中的所有任务;判断主线程中的轴卡的当前控制状态是否达到第一目标控制状态,若是,则获取轴卡在所述第一目标控制状态下的轴运行状态;当所述轴运行状态为允许执行时,则根据轴卡的动作逻辑去响应相应的动作;当所述轴运行状态为不允许执行时,则控制所述主线程执行下一个任务的动作逻辑;判断轴卡的当前控制状态是否到达第二目标控制状态,若是,则获取轴卡在所述第二目标控制状态下的轴运行状态;根据所述轴运行状态执行相应的动作。

【技术实现步骤摘要】
一种单线程多轴控制方法及相关装置
本申请实施例涉及运动控制
,特别涉及一种单线程多轴控制方法及相关装置。
技术介绍
目前国内设备制造厂商中,中大型设备的控制有PLC控制和PC控制两种,PC控制相比于PLC控制,功能开发更灵活,比如接入第三方的软件通讯,工厂的MES以及CIM系统等。PC控制是通过软件编程实现的,所以实现方式种类比较多,因为软件架构设计得越合理,效率及扩展性会越好,出错的概率会更低,所以一个好的软件架构设计尤为重要。现有的PC控制技术方案大多是采用业务层驱动控制逻辑,即按照指定的业务流程,软件控制轴卡驱动单个轴运动,需求与业务场景的变更需要更改软件各轴的控制流程。然而现有技术中,由于中大型设备轴的数量比较多,多轴控制之间会有等待耗时,导致设备运行的节拍达不到要求;同时,软件开发时需要考虑的场景比较复杂,软件开发难度大。
技术实现思路
本申请实施例提供了一种单线程多轴控制方法及相关装置,解决了多轴控制之间等待耗时,软件开发难度高的问题。本申请实施例第一方面提供了一种单线程多轴控制的方法,包括:定义轴卡中所有任务包含的动作逻辑;创建一个主线程,所述主线程用于依次循环运行所述轴卡中的所有任务;判断所述主线程中的所述轴卡的当前控制状态是否达到第一目标控制状态,若是,则获取所述轴卡在所述第一目标控制状态下的轴运行状态;当所述轴运行状态为允许执行时,则根据所述轴卡的动作逻辑去响应相应的动作;当所述轴运行状态为不允许执行时,则控制所述主线程执行下一个任务的动作逻辑;判断所述轴卡的当前控制状态是否到达第二目标控制状态,若是,则获取所述轴卡在所述第二目标控制状态下的轴运行状态;根据所述轴运行状态执行相应的动作。可选的,在所述根据所述轴运行状态执行相应的动作之后,所述方法还包括:创建一个空子线程,所述空子线程用于设置所述主线程循环的间隔时间。可选的,在所述判断所述主线程中的所述轴卡的当前控制状态是否达到第一目标控制状态之后,所述方法还包括:若否,则不对所述轴卡发出动作指令,控制所述主线程执行下一个任务的动作逻辑。可选的,在所述判断所述轴卡的当前控制状态是否到达第二目标控制状态之后,所述方法还包括:若否,则不对所述轴卡发出动作指令,控制所述主线程执行下一个任务的动作逻辑。可选的,所述定义轴卡中所有任务包含的动作逻辑,包括:定义轴卡中所有任务包含的动作逻辑,所述动作逻辑包括控制状态、所述控制状态下要执行的轴动作以及触发所述轴动作的条件。本申请实施例第二方面提供了一种单线程多轴控制装置,包括:定义单元,用于定义轴卡中所有任务包含的动作逻辑;第一创建单元,用于创建一个主线程,所述主线程用于依次循环运行所述轴卡中的所有任务;第一判断单元,用于判断所述主线程中的所述轴卡的当前控制状态是否达到第一目标控制状态;第一获取单元,用于在所述第一判断单元判断所述主线程中的所述轴卡的当前控制状态达到第一目标控制状态之后,获取所述轴卡在所述第一目标控制状态下的轴运行状态;响应单元,用于当所述轴运行状态为允许执行时,则根据所述轴卡的动作逻辑去响应相应的动作;第一控制单元,用于当所述轴运行状态为不允许执行时,则控制所述主线程执行下一个任务的动作逻辑;第二判断单元,用于判断所述轴卡的当前控制状态是否到达第二目标控制状态;第二获取单元,用于在所述第二判断单元判断所述主线程中的所述轴卡的当前控制状态达到第二目标控制状态之后,获取所述轴卡在所述第二目标控制状态下的轴运行状态;执行单元,用于根据所述轴运行状态执行相应的动作。可选的,在所述执行单元之后,所述装置还包括:第二创建单元,用于创建一个空子线程,所述空子线程用于设置所述主线程循环的间隔时间。可选的,在所述第一判断单元之后,所述装置还包括:第二控制单元,用于在所述第一判断单元判断所述主线程中的所述轴卡的当前控制状态未达到第一目标控制状态之后,不对所述轴卡发出动作指令,控制所述主线程执行下一个任务的动作逻辑。可选的,在所述第二判断单元之后,所述装置还包括:第三控制单元,用于在所述第二判断单元判断所述主线程中的所述轴卡的当前控制状态未达到第二目标控制状态之后,不对所述轴卡发出动作指令,控制所述主线程执行下一个任务的动作逻辑。可选的,所述定义单元,包括:定义模块,用于定义轴卡中所有任务包含的动作逻辑,所述动作逻辑包括控制状态、所述控制状态下要执行的轴动作以及触发所述轴动作的条件。本申请实施例第三方面提供了一种单线程多轴控制的装置,包括:处理器、存储器、输入输出单元以及总线;所述处理器与所述存储器、输入输出单元以及总线相连;所述处理器执行如下操作:定义轴卡中所有任务包含的动作逻辑;创建一个主线程,所述主线程用于依次循环运行所述轴卡中的所有任务;判断所述主线程中的所述轴卡的当前控制状态是否达到第一目标控制状态,若是,则获取所述轴卡在所述第一目标控制状态下的轴运行状态;当所述轴运行状态为允许执行时,则根据所述轴卡的动作逻辑去响应相应的动作;当所述轴运行状态为不允许执行时,则控制所述主线程执行下一个任务的动作逻辑;判断所述轴卡的当前控制状态是否到达第二目标控制状态,若是,则获取所述轴卡在所述第二目标控制状态下的轴运行状态;根据所述轴运行状态执行相应的动作。本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行上述第一方面任意一种单线程多轴控制的方法。从以上技术方案可以看出,本申请实施例具有以下优点:本申请中,创建一个用于依次循环运行轴卡中所有任务类的主线程,在该主线程内,根据各任务类设定的动作逻辑执行相应的动作,不用担心因为多线程导致的程序锁死或者并发,也解决了多轴控制之间等待耗时,软件开发难度高的问题。附图说明图1为本申请实施例中单线程多轴控制的方法一个实施例流程示意图;图2为本申请实施例中单线程多轴控制的方法另一实施例流程示意图;图3为本申请实施例中单线程多轴控制的方法另一实施例流程示意图;图4为本申请实施例中单线程多轴控制的装置一个实施例流程示意图;图5为本申请实施例中单线程多轴控制的装置另一实施例流程示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的阐述,显然阐述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本申请保护范围。本申请实施例提供了一种单线程多轴控制方法及相关装置,解决了多轴控本文档来自技高网
...

【技术保护点】
1.一种单线程多轴控制的方法,其特征在于,包括:/n定义轴卡中所有任务包含的动作逻辑;/n创建一个主线程,所述主线程用于依次循环运行所述轴卡中的所有任务;/n判断所述主线程中的所述轴卡的当前控制状态是否达到第一目标控制状态,若是,则获取所述轴卡在所述第一目标控制状态下的轴运行状态;/n当所述轴运行状态为允许执行时,则根据所述轴卡的动作逻辑去响应相应的动作;/n当所述轴运行状态为不允许执行时,则控制所述主线程执行下一个任务的动作逻辑;/n判断所述轴卡的当前控制状态是否到达第二目标控制状态,若是,则获取所述轴卡在所述第二目标控制状态下的轴运行状态;/n根据所述轴运行状态执行相应的动作。/n

【技术特征摘要】
1.一种单线程多轴控制的方法,其特征在于,包括:
定义轴卡中所有任务包含的动作逻辑;
创建一个主线程,所述主线程用于依次循环运行所述轴卡中的所有任务;
判断所述主线程中的所述轴卡的当前控制状态是否达到第一目标控制状态,若是,则获取所述轴卡在所述第一目标控制状态下的轴运行状态;
当所述轴运行状态为允许执行时,则根据所述轴卡的动作逻辑去响应相应的动作;
当所述轴运行状态为不允许执行时,则控制所述主线程执行下一个任务的动作逻辑;
判断所述轴卡的当前控制状态是否到达第二目标控制状态,若是,则获取所述轴卡在所述第二目标控制状态下的轴运行状态;
根据所述轴运行状态执行相应的动作。


2.根据权利要求1所述的方法,其特征在于,在所述根据所述轴运行状态执行相应的动作之后,所述方法还包括:
创建一个空子线程,所述空子线程用于设置所述主线程循环的间隔时间。


3.根据权利要求1所述的方法,其特征在于,在所述判断所述主线程中的所述轴卡的当前控制状态是否达到第一目标控制状态之后,所述方法还包括:
若否,则不对所述轴卡发出动作指令,控制所述主线程执行下一个任务的动作逻辑。


4.根据权利要求1所述的方法,其特征在于,在所述判断所述轴卡的当前控制状态是否到达第二目标控制状态之后,所述方法还包括:
若否,则不对所述轴卡发出动作指令,控制所述主线程执行下一个任务的动作逻辑。


5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述定义轴卡中所有任务包含的动作逻辑,包括:
定义轴卡中所有任务包含的动作逻辑,所述动作逻辑包括控制状态、所述控制状态下要执行的轴动作以及触发所述轴动作的条件。


6.一种单线程多轴控制装置,其特征在于,包括:
定义单元,用于定义轴卡中所有任务包含的动作逻辑;
第一创建单元,用于创建一个主线程,所述主线程用于依次循环运行所述轴卡中的所有任务...

【专利技术属性】
技术研发人员:杨威张耀王康
申请(专利权)人:深圳精智达技术股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1