基于多核处理器的任务处理方法、数控机和存储介质技术

技术编号:36389516 阅读:48 留言:0更新日期:2023-01-18 09:53
本申请涉及一种基于多核处理器的任务处理方法、数控机和存储介质。所述方法包括:获取待处理任务;当所述待处理任务为实时任务时,为所述待处理任务分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果;当所述待处理任务为非实时任务时,为所述待处理任务分配Linux系统所绑定的第二处理器进行处理,获得第二处理结果。采用本方法能够提高EtherCAT主站的实时性。EtherCAT主站的实时性。EtherCAT主站的实时性。

【技术实现步骤摘要】
基于多核处理器的任务处理方法、数控机和存储介质


[0001]本申请涉及数控
,尤其是一种基于多核处理器的任务处理方法、数控机和存储介质。

技术介绍

[0002]EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写。EtherCAT是确定性的工业以太网。EtherCAT开发的目的是让以太网可以运用在自动化应用中。传统的EtherCAT主站将任务统一进行处理,导致EtherCAT主站的实时性较差。

技术实现思路

[0003]基于此,有必要针对上述技术问题,提供一种能够提高EtherCAT主站的实时性的基于多核处理器的任务处理方法、装置、计算机设备和存储介质。
[0004]一种基于多处理器的任务处理方法,应用于EtherCAT主站,所述方法包括:
[0005]获取待处理任务;
[0006]当所述待处理任务为实时任务时,为所述待处理任务分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果;
[0007]当所述待处理任务为非实时任务时,为所述待处理任务分配Linux系统所绑定的第二处理器进行处理,获得第二处理结果。
[0008]一种数控机,包括EtherCAT主站,所述数控机用于实现本申请各实施例中方法的步骤。
[0009]一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本申请各实施例中方法的步骤。
[0010]上述基于多核处理器的任务处理方法、数控机和存储介质,对Xemomai系统和Linux进行分核处理,将Xemomai系统和Linux系统安装在不同的处理器中,使得非实时任务不会被实时任务一直抢占,保证非实时任务的流畅性,提高EtherCAT主站的实时性。
附图说明
[0011]图1为一个实施例中基于多处理器的任务处理方法的应用环境示意图;
[0012]图2为一个实施例中基于多处理器的任务处理方法的流程示意图;
[0013]图3为传统的EtherCAT主站架构示意图;
[0014]图4为一个实施例中EtherCAT主站架构示意图;
[0015]图5为一个实施例中EtherCAT主站接收数据流与传统方式的对比示意图;
[0016]图6为一个实施例中EtherCAT主站接收数据流与传统方式的对比示意图。
具体实施方式
[0017]应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0018]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0019]需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
[0020]另外,在本申请中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
[0021]本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。距离来说,在不脱离本申请的范围的情况下,可以将第一处理器称为第二处理器,且类似地,可将第二处理器称为第一处理器。第一处理器和第二处理器两者都是处理器,但其不是同一处理器。
[0022]可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
[0023]在一个实施例中,如图1所示,为一个实施例中基于多处理器的任务处理方法的应用环境示意图。图1中包括EtherCAT主站110和EtherCAT从站120。EtherCAT主站110和EtherCAT从站120有线或无线连接,并且可以进行通信。EtherCAT主站110中包含多个处理器,至少为两个。传统的方式中,Xenomai系统的优先级高于Linux优先级。当实时任务到来时,设备调用Xenomai系统优先处理实时任务,只有当待实时任务执行完毕后,才会调用Linux系统执行非实时任务,以保证Xenomai系统的实时任务不受Linux系统的影响,提高实时系统的可确定性。然而,传统的方式存在EtherCAT主站实时性较差的问题。基于此,提出了本申请各实施例中的基于多处理器的任务处理方法。
[0024]图2为一个实施例中基于多处理器的任务处理方法的流程示意图,应用于EtherCAT主站,其中包括:
[0025]步骤202,获取待处理任务。
[0026]具体地,待处理任务可以是在应用中触发的待处理任务,也可以是从EtherCAT从站接收的待处理任务。且待处理任务可以是待处理实时任务,也可以是待处理非实时任务。待处理实时任务如待处理EtherCAT数据、实时中断请求等。待处理非实时任务如界面交互任务、日志处理任务、非实时中断请求等。
[0027]步骤204,当待处理任务为实时任务时,为待处理任务分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果。
[0028]其中,通过第一处理器处理得到的结果称为第一处理结果。并且待处理任务通过第一处理器进行处理与通过第二处理器进行处理所得到的处理结果可以是相同的。实时任务是指当前应当处理的任务,如包含通信数据的任务。Xenomai系统是一种采用双内核机制的Linux内核的强实时扩展,用于处理系统的实时任务。
[0029]具体地,EtherCAT主站可预设任务的类型,如EtherCAT数据划分为实时任务,界面交互数据划分为非实时任务。
[0030]可以理解的是,第一处理器的数量为至少一个,可依据需求自行配置。当待处理任务为实时任务时,EtherCAT主站为待处理任务分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果。
[0031]步骤206,当待处理任务为非实时任务时,为待处理任务分配Linux系统所绑定的第二处理器进行处理,获得第二处理结果。
[0032]其中,通过第二处理器处理得到的结果称为第二处理结果。非实时任务可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多处理器的任务处理方法,其特征在于,应用于EtherCAT主站,所述方法包括:获取待处理任务;当所述待处理任务为实时任务时,为所述待处理任务分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果;当所述待处理任务为非实时任务时,为所述待处理任务分配Linux系统所绑定的第二处理器进行处理,获得第二处理结果。2.根据权利要求1所述的方法,其特征在于,所述当所述待处理任务为实时任务时,为所述待处理任务分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果,包括:当所述待处理任务为从应用触发的待处理EtherCAT数据时,为所述待处理EtherCAT数据分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果;向EtherCAT从站发送所述第一处理结果。3.根据权利要求2所述的方法,其特征在于,所述向EtherCAT从站发送所述第一处理结果,包括:将所述第一处理结果直接发送至网卡驱动,通过所述网卡驱动向EtherCAT从站发送所述第一处理结果。4.根据权利要求3所述的方法,其特征在于,所述将第一所述处理结果直接发送至网卡驱动,包括:调用去除Linux网络协议栈接口的发送函数,将所述第一处理结果直接发送至网卡驱动。5.根据权利要求1所述的方法,其特征在于,所述当所述待处理任务为实时任务时,为所述待处理任务分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果,包括:当所述待处理任务为EtherCAT从站所发送的待处理EtherCAT数据时,为所述待处理EtherCAT数据分配Xenomai系统所绑定的第一处理器进行处理,获得第一处理结果;在应用中应用所述第一处理结果。6.根据权利要求5所述的方法...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:深圳数马电子技术有限公司
类型:发明
国别省市:

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

1