一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种控制周期调度的方法及控制器与流程

2022-05-06 07:50:14 来源:中国专利 TAG:


1.本发明涉及控制周期调度的技术领域,尤其涉及一种控制周期调度的方法及控制器。


背景技术:

2.支持用户程序多任务和多周期的控制器一般采用前后台系统或者实时操作系统,其中采用前后台系统的控制器,控制周期由后台主循环实现,但是在用户程序多任务执行时,最小颗粒度为用户程序幅,每幅程序的大小(执行时间)由用户决定,控制器调度某幅用户程序时,不能中途退出,当每幅程序的大小差异很大时,会导致控制周期负荷波动大;单幅程序过大,会导致本控制周期执行时间超上限;单幅程序过小,会导致本控制周期执行时间过小;用户程序组态时需要尽量均衡分配每幅程序的负荷。采用实时操作系统的控制器,控制周期由多个操作系统任务实现,但是在多任务并发执行时,不适合输入/输出等顺序逻辑处理,实现复杂,具有不确定性。


技术实现要素:

3.(一)要解决的技术问题
4.鉴于现有技术的上述缺点、不足,本发明提供一种控制周期调度的方法及控制器,其解决了现有技术中单独使用一种系统,如单独使用前后台系统时在用户程序多任务执行时,控制器调度某幅用户程序时,不能中途退出,当每幅程序的大小差异很大时,会导致控制周期负荷波动大;单幅程序过大,会导致本控制周期执行时间超上限;单幅程序过小,会导致本控制周期执行时间过小,以及如单独使用实时操作系统时,不适合输入/输出等顺序逻辑处理,实现复杂具有不确定性的技术问题。
5.(二)技术方案
6.本实施例提供一种控制周期调度方法,前后台系统和实时操作系统均设置在控制器中,所述控制周期调度方法包括:
7.s1、所述前后台系统接收与该控制器连接的输入模块的数据,并对所述输入模块的数据进行顺序逻辑的执行处理,直至所述输入模块的数据处理完毕,获取相应的执行处理结果;
8.s2、针对前后台系统和所述实时操作系统进行上下文切换处理,以在控制器中实现由前后台系统切换到实时操作系统;
9.s3、所述实时操作系统针对用户程序任务进行处理,直至达到预先设定时间段;
10.s4、针对所述实时操作系统和前后台系统进行上下文切换处理,以在控制器中实现由实时操作系统切换到前后台系统;
11.s5、所述前后台系统,将所述执行处理结果输出到与该控制器连接的输出模块。
12.优选的,所述s1包括:
13.所述前后台系统基于前台中断程序进行接收输入模块的数据;
14.所述前后台系统基于后台程序对所述输入模块的数据进行顺序逻辑的执行处理,直至处理完毕,获取相应的执行处理结果。
15.优选的,所述s2中针对前后台系统和所述实时操作系统进行上下文切换处理,具体包括:
16.将前后台系统的上下文保存到前后台堆栈中,然后从实时操作系统中的任务堆栈中恢复用户程序任务上下文。
17.优选的,所述s3包括:
18.所述实时操作系统针对用户程序任务采用时间片轮询调度方法进行处理,直至用户程序任务的处理时间达到预先设定时间段。
19.优选的,所述实时操作系统针对用户程序任务采用时间片轮询调度方法进行处理,直至用户程序任务的处理时间达到预先设定时间段,具体包括:
20.所述实时操作系统针对每一用户程序任务的程序幅进行时间片切片,获取每一用户程序任务所对应的程序幅时间片段,并论询调度处理各个用户程序任务所对应的程序幅时间片段,直至用户程序任务的处理时间到预先设定的时间段后退出调度。
21.优选的,所述s4针对所述实时操作系统和前后台系统进行上下文切换处理,具体包括:
22.先将实时操作系统中的用户程序任务的上下文保存到实时操作系统中的任务堆栈中,然后从前后台堆栈中恢复前后台系统的上下文。
23.优选的,所述s5具体包括:
24.所述前后台系统基于前台中断程序将所述执行处理结果输出到与该控制器连接的输出模块。
25.优选的,
26.所述输入模块的数据包括:ai数据和/或di数据。
27.优选的,
28.所述用户程序任务预先存储在控制器的内存中。
29.另一方面,本实施例还提供一种控制器,所述控制器在与输入模块和输出模块连接后执行上述任一的控制周期调度方法。
30.(三)有益效果
31.本发明的有益效果是:本发明的一种控制周期调度的方法及控制器,由于采用前后台系统和实时操作系统进行上下文切换,相对于现有技术而言,其可以在控制器面对需要顺序执行的输入模块的数据时使用前后台系统处理,在面对用户程序多任务执行时,使用实时操作系统处理,综合了前后台系统和实时操作系统的优点,解决了单独使用单独使用前后台系统时在用户程序多任务执行时,控制器调度某幅用户程序时,不能中途退出,当每幅程序的大小差异很大时,会导致控制周期负荷波动大;单幅程序过大,会导致本控制周期执行时间超上限;单幅程序过小,会导致本控制周期执行时间过小,以及如单独使用实时操作系统时,不适合输入/输出等顺序逻辑处理,实现复杂具有不确定性的技术问题。摒弃了前后台系统和实时操作系统的缺点。
附图说明
32.图1为本发明的一种控制周期调度的方法流程图;
33.图2为本发明实施例中的控制周期示意图;
34.图3为本发明前后台系统接收输入模块的数据并对输入模块的数据进行顺序逻辑的执行处理示意图;
35.图4为本发明前后台系统发出执行处理结果示意图;
36.图5为本发明实时操作系统针对用户程序任务采用时间片轮询调度方法进行处理示意图;
37.图6为本发明实施例中前后台系统和实时操作系统进行上下文切换处理示意图;
38.图7为本发明实施例中实时操作系统和前后台系统行上下文切换处理示意图。
具体实施方式
39.为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
40.为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
41.参见图1,本实施例提供一种控制周期调度方法,前后台系统和实时操作系统均设置在控制器中,所述控制周期调度方法包括:
42.s1、所述前后台系统接收与该控制器连接的输入模块的数据,并对所述输入模块的数据进行顺序逻辑的执行处理,直至所述输入模块的数据处理完毕,获取相应的执行处理结果;
43.s2、针对前后台系统和所述实时操作系统进行上下文切换处理,以在控制器中实现由前后台系统切换到实时操作系统;
44.s3、所述实时操作系统针对用户程序任务进行处理,直至达到预先设定时间段;
45.s4、针对所述实时操作系统和前后台系统进行上下文切换处理,以在控制器中实现由实时操作系统切换到前后台系统;
46.s5、所述前后台系统,将所述执行处理结果输出到与该控制器连接的输出模块。
47.具体的,控制器实现了一个控制周期循环,参见图2,该控制周期包括前后台系统1(即前后台系统1阶段)

上下文切换

实时操作系统

上下文切换

前后台系统2(即前后台系统2阶段)。
48.在本实施例的实际应用中,所述s1包括:
49.所述前后台系统基于前台中断程序进行接收输入模块的数据;
50.所述前后台系统基于后台程序对所述输入模块的数据进行顺序逻辑的执行处理,直至处理完毕,获取相应的执行处理结果。
51.具体的,参见图3,为前后台系统1阶段,前后台系统的前台中断程序进行接收输入模块的数据,然后前后台的后台程序对所述输入模块的数据进行顺序逻辑的执行处理。
52.在本实施例的实际应用中,所述s2中针对前后台系统和所述实时操作系统进行上
下文切换处理,具体包括:
53.参见图6,将前后台系统的上下文保存到前后台堆栈中,然后从实时操作系统中的任务堆栈中恢复用户程序任务上下文。
54.在本实施例的实际应用中,所述s3包括:所述实时操作系统针对用户程序任务采用时间片轮询调度方法进行处理,直至用户程序任务的处理时间达到预先设定时间段。
55.在本实施例的实际应用中,所述实时操作系统针对用户程序任务采用时间片轮询调度方法进行处理,直至用户程序任务的处理时间达到预先设定时间段,具体包括:
56.参见图5,所述实时操作系统针对每一用户程序任务的程序幅进行时间片切片,获取每一用户程序任务所对应的程序幅时间片段(也就是图5中的时间片,一个用户程序任务对应多个时间片),并论询调度处理各个用户程序任务所对应的程序幅时间片段,直至用户程序任务的处理时间到预先设定的时间段后退出调度。
57.在本实施例的实际应用中,所述s4针对所述实时操作系统和前后台系统进行上下文切换处理,具体包括:
58.参见图7,先将实时操作系统中的用户程序任务的上下文保存到实时操作系统中的任务堆栈中,然后从前后台堆栈中恢复前后台系统的上下文。
59.在本实施例的实际应用中,所述s5具体包括:
60.所述前后台系统基于前台中断程序将所述执行处理结果输出到与该控制器连接的输出模块。
61.在本实施例的实际应用中,所述输入模块的数据包括:ai数据和/或di数据。
62.在本实施例的实际应用中,所述用户程序任务预先存储在控制器的内存中。
63.用户程序任务存储在控制器的内存中,然后,实时操作系统可以对这个内存中的用户程序任务进行处理。
64.另一方面,本实施例还提供一种控制器,所述控制器在与输入模块和输出模块连接后执行上述任一的控制周期调度方法。
65.本实施例中的一种控制周期调度的方法及控制器,由于采用前后台系统和实时操作系统进行上下文切换,相对于现有技术而言,其可以在控制器面对需要顺序执行的输入模块的数据时使用前后台系统处理,在面对用户程序多任务执行时,使用实时操作系统处理,提高了控制的处理效率。
66.由于本发明上述实施例所描述的系统,为实施本发明上述实施例的方法所采用的系统,故而基于本发明上述实施例所描述的方法,本领域所属技术人员能够了解该系统的具体结构及变形,因而在此不再赘述。凡是本发明上述实施例的方法所采用的系统都属于本发明所欲保护的范围。
67.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
68.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程
和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
69.应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
70.此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
71.尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
72.显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献