CN116700135A - Method and device for testing task scheduling mode of programmable logic controller - Google Patents

Method and device for testing task scheduling mode of programmable logic controller Download PDF

Info

Publication number
CN116700135A
CN116700135A CN202310995611.3A CN202310995611A CN116700135A CN 116700135 A CN116700135 A CN 116700135A CN 202310995611 A CN202310995611 A CN 202310995611A CN 116700135 A CN116700135 A CN 116700135A
Authority
CN
China
Prior art keywords
task
class
tasks
test group
programmable logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310995611.3A
Other languages
Chinese (zh)
Other versions
CN116700135B (en
Inventor
康晓非
王峥瀛
王杰
朱强
王乾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gezhouba Electric Power Rest House
China Three Gorges Corp
Original Assignee
Beijing Gezhouba Electric Power Rest House
China Three Gorges Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gezhouba Electric Power Rest House, China Three Gorges Corp filed Critical Beijing Gezhouba Electric Power Rest House
Priority to CN202310995611.3A priority Critical patent/CN116700135B/en
Publication of CN116700135A publication Critical patent/CN116700135A/en
Application granted granted Critical
Publication of CN116700135B publication Critical patent/CN116700135B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1204Multiprocessing, several plc's, distributed logic control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

The invention relates to the technical field of programmable logic controllers, and discloses a method and a device for testing a task scheduling mode of a programmable logic controller, wherein the method for testing the task scheduling mode of the programmable logic controller comprises the following steps: dividing a plurality of programmable logic controller tasks into a first type of task and a second type of task; creating a third class of tasks, a fourth class of tasks, a fifth class of tasks and a sixth class of tasks; setting each task test group according to the third class of tasks, the fourth class of tasks, the fifth class of tasks and the sixth class of tasks, wherein the task test group comprises any one of the third class of tasks and the fourth class of tasks and any one of the fifth class of tasks and the sixth class of tasks; respectively calculating the time consumption of each task in each task test group, and respectively obtaining a first time consumption result of each task in each task test group; and determining the scheduling mode of the programmable logic controller task according to the first time consuming result of each task in each task test group. The invention realizes the test of the task scheduling mode of the programmable logic controller.

Description

Method and device for testing task scheduling mode of programmable logic controller
Technical Field
The invention relates to the technical field of programmable logic controllers, in particular to a method and a device for testing a task scheduling mode of a programmable logic controller.
Background
In the field of industrial control, the reliability requirement on the task execution of a programmable logic controller (Programmable Logic Controller, PLC) is very high, the accuracy and the certainty of the task operation of the PLC are also very important, and especially, most of a plurality of key infrastructures adopt the PLC for data acquisition and unit control, for example, a power plant usually adopts the PLC for automatic control, and the certainty of the task scheduling of the PLC by the power plant is very high.
In the practical application process, a plurality of PLC tasks are simultaneously generated, when each PLC task is executed, the scheduling mode of each PLC task can be determined, when the PLC task is executed, the scheduling mode is problematic, and the solution is complex, so that the scheduling mode for testing the PLC task becomes an important research direction, and at present, the research on the scheduling mode for testing the PLC task is less, and a complete method for testing the scheduling mode for the PLC task does not exist yet.
Disclosure of Invention
In view of the above, the present invention provides a method and apparatus for testing task scheduling of a programmable logic controller, so as to solve the problem of testing task scheduling of a programmable logic controller.
In a first aspect, the present invention provides a method for testing a task scheduling mode of a programmable logic controller, including: classifying the plurality of programmable logic controller tasks to divide the plurality of programmable logic controller tasks into a first class of tasks and a second class of tasks; the task time consumption of the first type of task is greater than the task time consumption of the second type of task; creating a third class of tasks, a fourth class of tasks, a fifth class of tasks and a sixth class of tasks, wherein the third class of tasks is a first class of tasks with a first priority, the fourth class of tasks is a second class of tasks with the first priority, the fifth class of tasks is a first class of tasks with a second priority, the sixth class of tasks is a second class of tasks with a second priority, and the first priority is higher than the second priority; setting each task test group according to the third class of tasks, the fourth class of tasks, the fifth class of tasks and the sixth class of tasks, wherein the task test group comprises any one of the third class of tasks and the fourth class of tasks and any one of the fifth class of tasks and the sixth class of tasks; respectively calculating the time consumption of each task in each task test group, and respectively obtaining a first time consumption result of each task in each task test group; and determining the scheduling mode of the programmable logic controller task according to the first time consuming result of each task in each task test group.
The beneficial effects are that: the invention divides a plurality of programmable logic controller tasks into a first class task and a second class task, the time consumption of the first class task is larger than the time consumption of the second class task, a third class task, a fourth class task, a fifth class task and a sixth class task are created, the third class task is the first class task with the first priority, the fourth class task is the second class task with the first priority, the fifth class task is the first class task with the second priority, the sixth class task is the second class task with the second priority, the first priority is higher than the second priority, each task test group is set according to the third class task, the fourth class task, the fifth class task and the sixth class task, the time consumption of each task in each task test group is calculated respectively, the scheduling mode of the programmable logic controller task is determined according to the first time consumption result of each task in each task test group.
In an alternative embodiment, the first task trial includes a third class of tasks and a fifth class of tasks; the second task test group comprises a third type of task and a sixth type of task; the third task test group comprises a fourth type task and a fifth type task; and the fourth task test group comprises a fourth type of task and a sixth type of task.
The beneficial effects are that: the first task test group is used for verifying the certainty of the task priority, if the first time consuming result of the third task in the first task test group is far smaller than the first time consuming result of the sixth task of the third task in the first task test group, the priority of the third task is higher than that of the sixth task, the fourth task test group is used as a comparison test, the second task test group and the third task test group are used for determining whether the scheduling mode of the programmable logic controller task is priority scheduling, and the fourth task test group is used as a comparison group.
In an alternative embodiment, if the first time consuming result of the third task in the second task test group is different from the first time consuming result of the fifth task in the third task test group, and/or the first time consuming result of the sixth task in the second task test group is different from the first time consuming result of the fourth task in the third task test group, the task scheduling mode of the programmable logic controller is priority scheduling; and if the first time consuming result of the third type task in the second task test group is the same as the first time consuming result of the fifth type task in the third task test group, and the first time consuming result of the sixth type task in the second task test group is the same as the first time consuming result of the fourth type task in the third task test group, the task scheduling mode of the programmable logic controller is non-priority scheduling.
The beneficial effects are that: the priorities of the third type of tasks in the second task test group and the fifth type of tasks in the third task test group are different, the time consumption is the same, the priorities of the sixth type of tasks in the second task test group and the fifth type of tasks in the third task test group are different, and the time consumption is the same, so that if the first time consumption result of the third type of tasks in the second task test group is different from the first time consumption result of the fifth type of tasks in the third task test group, and/or the first time consumption result of the sixth type of tasks in the second task test group is different from the first time consumption result of the fourth type of tasks in the third task test group, the influence of the difference of the priorities on the time consumption results of the test groups is illustrated, and the scheduling mode of the programmable logic controller task can be judged to be priority scheduling. If the first time consuming result of the third type task in the second task test group is the same as the first time consuming result of the fifth type task in the third task test group, and the first time consuming result of the sixth type task in the second task test group is the same as the first time consuming result of the fourth type task in the third task test group, the fact that the time consuming results of the test groups are not affected by different priorities is indicated, and the task scheduling mode of the programmable logic controller can be judged to be non-priority scheduling.
In an alternative embodiment, if the scheduling mode of the programmable logic controller task is priority scheduling, determining whether the programmable logic controller task is preemptive priority scheduling according to the first time consumption result of each task in each task test group.
In an alternative embodiment, if the difference between the first time consuming result of the fifth task in the first task testing group and the first time consuming result of the third task in the first task testing group is greater than a first preset value, the programmable logic controller task is preemptive priority scheduling.
The beneficial effects are that: the time consumption level of the fifth type task in the first task test group is the same as that of the third type task in the first task test group, the priority of the third type task is higher than that of the fifth type task, if the difference between the first time consumption result of the fifth type task in the first task test group and the first time consumption result of the third type task in the first task test group is larger than a first preset value, the first time consumption result of the third type task is far smaller than that of the fifth type task, namely when the fifth type task is executed, the third type task is preempted, and the third type task is preempted and executed preferentially, so that the waiting time of the third type task is shortened, and if the difference between the first time consumption result of the fifth type task in the first task test group and the first time consumption result of the third type task in the first task test group is larger than the first preset value, the programmable logic controller is the preempted and scheduled.
In an alternative embodiment, if the programmable logic controller task is a non-priority schedule; respectively calculating the time consumption of each task in each task test group based on the set first time slice, and respectively obtaining a third time consumption result of each task in each task test group; respectively calculating the time consumption of each task in each task test group based on the set second time slices, and respectively obtaining a fourth time consumption result of each task in each task test group; and judging whether the programmable logic controller task is time vane round robin scheduling or not according to the first time consuming result, the third time consuming result and the fourth time consuming result.
In an alternative embodiment, the time slices are times from when each task in each task trial begins to run to be preempted, the first time slice being greater than the second time slice.
In an alternative embodiment, the programmable logic controller task is time-sliced round robin scheduling if the first time consuming result of the third class of tasks in the first task trial group is less than the third time consuming result of the third class of tasks in the first task trial group is less than the fourth time consuming result of the third class of tasks in the first task trial group.
The beneficial effects are that: the time slices are the time from starting operation to preemption of each task in each task test group, a third time consuming result and a fourth time consuming result of the time slices are set, compared with a first time consuming result of a non-set time slice, the time slices are preempted after reaching the time set by the time slices in the task execution process, therefore, the time consumption of the set time slices is more than the time consumption of the non-set time slices, namely, the first time consuming result of the third type task in the first task test group is the smallest, the time slices are set as the first time slices, the third time consuming result of the third type task in the first task test group is calculated, the time slices are set as the second time slices, the fourth time consuming result of the third type task in the first task test group is calculated, the first time slices are larger than the second time slices, and when the time slices are smaller in size, the task is switched more frequently, and the time consumption is more, so if the first time consuming result of the third type task in the first task test group is smaller than the first time consuming result of the third type task in the first task test group is the first time consuming result of the first task test group is smaller than the time consuming result of the third type task in the first task test group, the time-consuming result of the third task test group is the time-consuming logic task controller is the time-consuming result of the third task test group task, and the time controller can be programmed.
In an alternative embodiment, the scan period of the programmable logic controller task is set; judging whether the difference between the actual time consumption of the task of the programmable logic controller and the scanning period is larger than a second preset value or not; if the difference between the actual time consumption of the programmable logic controller task and the scanning period is larger than a second preset value, the programmable logic controller task is a first type task; if the difference between the actual time consumption of the programmable logic controller task and the scanning period is smaller than or equal to a second preset value, the programmable logic controller task is a second type task.
In an alternative embodiment, a first priority parameter is given to the first class of tasks to obtain a third class of tasks; assigning a first priority parameter for the second class task to obtain a fourth class task; assigning a second priority parameter for the first class task to obtain a fifth class task; and giving a second priority parameter to the second class of tasks to obtain a sixth class of tasks.
In an alternative embodiment, the scheduled execution duration of each task in each task test group is obtained, wherein the scheduled execution duration represents the total duration of the preset task execution; each time each task in each task test group is executed, the counter counts one more, and when the execution of the planned execution duration is finished, the counting is stopped, so that the total count is obtained; and obtaining the time consumption of each task in each task test group according to the quotient of the planned execution time length and the total count.
In an alternative embodiment, when each task in each task test group starts to execute, the timer is controlled to start timing; when execution of each task in each task test group is finished, the timer is controlled to finish timing; and obtaining the time consumption of each task in each task test group according to the timing result of the timer.
In a second aspect, the present invention provides a testing device for task scheduling modes of a programmable logic controller, including: the task classification module is used for classifying the plurality of programmable logic controller tasks to divide the plurality of programmable logic controller tasks into a first type of tasks and a second type of tasks; the task time consumption of the first type of task is greater than the task time consumption of the second type of task; the task creation module is used for creating a third class of tasks, a fourth class of tasks, a fifth class of tasks and a sixth class of tasks, wherein the third class of tasks are first class tasks with first priority, the fourth class of tasks are second class tasks with first priority, the fifth class of tasks are first class tasks with second priority, the sixth class of tasks are second class tasks with second priority, and the first priority is higher than the second priority; the task test group setting module is used for setting each task test group according to the third class of tasks, the fourth class of tasks, the fifth class of tasks and the sixth class of tasks, wherein the task test group comprises any one of the third class of tasks and the fourth class of tasks, and any one of the fifth class of tasks and the sixth class of tasks; the time consumption calculation module is used for calculating the time consumption of each task in each task test group and obtaining a first time consumption result of each task in each task test group; and the scheduling mode determining module is used for determining the scheduling mode of the task of the programmable logic controller according to the first time consuming result of each task in each task test group.
The beneficial effects are that: the invention divides a plurality of programmable logic controller tasks into a first class task and a second class task, the time consumption of the first class task is larger than that of the second class task, a task creation module creates a third class task, a fourth class task, a fifth class task and a sixth class task, the third class task is a first class task with a first priority, the fourth class task is a second class task with a first priority, the fifth class task is a first class task with a second priority, the sixth class task is a second class task with a second priority, the first priority is higher than the second priority, a task test group setting module sets each task test group according to the third class task, the fourth class task, the fifth class task and the sixth class task, a time consumption calculation module calculates the first time consumption result of each task in each task test group, a scheduling mode determining module determines a scheduling mode of the programmable logic controller task according to the first time consumption result of each task in each task test group.
In a third aspect, the present invention provides a computer device comprising: the programmable logic controller task scheduling method comprises the steps of storing a program, wherein the program is executed by a processor, and the program is executed by the processor.
In a fourth aspect, the present invention provides a computer readable storage medium, where computer instructions are stored on the computer readable storage medium, where the computer instructions are configured to cause a computer to execute the testing method of the task scheduling manner of the programmable logic controller according to the first aspect or any embodiment corresponding to the first aspect.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are needed in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the present invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for testing task scheduling of a programmable logic controller according to an embodiment of the invention;
FIG. 2 is a flow chart of another method for testing task scheduling of a programmable logic controller according to an embodiment of the invention;
FIG. 3 is a flow diagram of classifying a plurality of programmable logic controller tasks according to an embodiment of the invention;
FIG. 4 is a flow chart illustrating the calculation of the time consumption of each task in each task trial according to an embodiment of the invention;
FIG. 5 is a schematic flow chart of another method for calculating time consumption of each task in each task trial according to an embodiment of the invention;
FIG. 6 is a block diagram of a programmable logic controller task scheduling mode test device according to an embodiment of the present invention;
fig. 7 is a schematic diagram of a hardware structure of a computer device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The embodiment of the invention provides a testing method of a task scheduling mode of a programmable logic controller, which achieves the effect of testing the priority of the task of the programmable logic controller by calculating the time consumption of each task test group.
According to an embodiment of the present invention, there is provided a method embodiment for testing a task scheduling manner of a programmable logic controller, it should be noted that, steps illustrated in the flowchart of the drawings may be performed in a computer system such as a set of computer executable instructions, and, although a logic sequence is illustrated in the flowchart, in some cases, steps illustrated or described may be performed in a different order than that illustrated herein.
In this embodiment, a method for testing a task scheduling manner of a programmable logic controller is provided, which may be used for the task of the programmable logic controller, and fig. 1 is a flowchart of a method for testing a task scheduling manner of a programmable logic controller according to an embodiment of the present invention, as shown in fig. 1, where the flowchart includes the following steps:
step S101, classifying a plurality of programmable logic controller tasks to divide the plurality of programmable logic controller tasks into a first type of tasks and a second type of tasks; the task time consumption of the first type of task is greater than the task time consumption of the second type of task.
Programmable logic controller tasks refer to tasks that individually run in programmable logic controller engineering.
The task time consumption of the first type of task is greater than the task time consumption of the second type of task, and the first type of task is a high-time-consumption task and the second type of task is a low-time-consumption task.
Step S102, creating a third class of task, a fourth class of task, a fifth class of task and a sixth class of task, wherein the third class of task is a first class of task with a first priority, the fourth class of task is a second class of task with a first priority, the fifth class of task is a first class of task with a second priority, the sixth class of task is a second class of task with a second priority, and the first priority is higher than the second priority.
In a specific implementation process, a general programmable logic controller manufacturer sets task priorities at 32 levels, which are 0,1, 31, and the smaller the number, the larger the priority.
Illustratively, the third class of tasks is a high priority high time consuming task, the fourth class of tasks is a high priority low time consuming task, the fifth class of tasks is a low priority high time consuming task, and the sixth class of tasks is a low priority low time consuming task.
Step S103, setting each task test group according to the third class task, the fourth class task, the fifth class task and the sixth class task, wherein the task test group comprises any one of the third class task and the fourth class task and any one of the fifth class task and the sixth class task.
Step S104, time consumption of each task in each task test group is calculated, and a first time consumption result of each task in each task test group is obtained.
Step S105, determining a scheduling mode of the programmable logic controller task according to the first time consuming result of each task in each task test group.
According to the method for testing the task scheduling mode of the programmable logic controller, the tasks of the programmable logic controller are divided into the first class tasks and the second class tasks, the time consumption of the tasks of the first class is larger than that of the tasks of the second class, the time consumption of the tasks of the third class, the fourth class tasks, the fifth class tasks and the sixth class tasks are created, the third class tasks are the first class tasks with the first priority, the fourth class tasks are the second class tasks with the first priority, the fifth class tasks are the first class tasks with the second priority, the sixth class tasks are the second class tasks with the second priority, the first priority is higher than that of the second class tasks, the task test groups are set according to the tasks of the third class tasks, the fourth class tasks, the fifth class tasks and the sixth class tasks, the time consumption of the tasks in the task test groups is calculated respectively, and the scheduling mode of the programmable logic controller tasks is determined according to the first time consumption results of the tasks in the task test groups.
In this embodiment, a method for testing a task scheduling manner of a programmable logic controller is provided, which can be used for the task of the programmable logic controller, and fig. 2 is a flowchart of another method for testing a task scheduling manner of a programmable logic controller according to an embodiment of the present invention, as shown in fig. 2, where the flowchart includes the following steps:
step S201, classifying the plurality of programmable logic controller tasks to divide the plurality of programmable logic controller tasks into a first type of tasks and a second type of tasks; the task time consumption of the first type of task is greater than the task time consumption of the second type of task. Please refer to step S101 in the embodiment shown in fig. 1 in detail, which is not described herein.
In step S202, a third class of task, a fourth class of task, a fifth class of task and a sixth class of task are created, wherein the third class of task is a first class of task with a first priority, the fourth class of task is a second class of task with a first priority, the fifth class of task is a first class of task with a second priority, the sixth class of task is a second class of task with a second priority, and the first priority is higher than the second priority. Please refer to step S102 in the embodiment shown in fig. 1 in detail, which is not described herein.
In some alternative embodiments, a first priority parameter is given to the first class of tasks to obtain a third class of tasks; assigning a first priority parameter for the second class task to obtain a fourth class task; assigning a second priority parameter for the first class task to obtain a fifth class task; and giving a second priority parameter to the second class of tasks to obtain a sixth class of tasks.
In step S203, task test groups are set according to the third class task, the fourth class task, the fifth class task and the sixth class task, where the task test groups include any one of the third class task and the fourth class task, and any one of the fifth class task and the sixth class task. Please refer to step S103 in the embodiment shown in fig. 1 in detail, which is not described herein.
In some alternative embodiments, the first task trial group includes a third class of tasks and a fifth class of tasks; the second task test group comprises a third type of task and a sixth type of task; the third task test group comprises a fourth type task and a fifth type task; and the fourth task test group comprises a fourth type of task and a sixth type of task.
Step S204, time consumption of each task in each task test group is calculated, and a first time consumption result of each task in each task test group is obtained. Please refer to step S104 in the embodiment shown in fig. 1 in detail, which is not described herein.
Step S205, determining a scheduling mode of the programmable logic controller task according to the first time consuming result of each task in each task test group. Please refer to step S105 in the embodiment shown in fig. 1 in detail, which is not described herein.
Specifically, the step S205 includes:
in step S2051, if the first time-consuming result of the third task in the second task test group is different from the first time-consuming result of the fifth task in the third task test group, and/or the first time-consuming result of the sixth task in the second task test group is different from the first time-consuming result of the fourth task in the third task test group, the scheduling mode of the programmable logic controller task is priority scheduling.
In step S2052, if the first time-consuming result of the third task in the second task test group is the same as the first time-consuming result of the fifth task in the third task test group, and the first time-consuming result of the sixth task in the second task test group is the same as the first time-consuming result of the fourth task in the third task test group, the task scheduling mode of the programmable logic controller is non-priority scheduling.
The priorities of the third type of tasks in the second task test group and the fifth type of tasks in the third task test group are different, the time consumption is the same, the priorities of the sixth type of tasks in the second task test group and the fifth type of tasks in the third task test group are different, and the time consumption is the same, so that if the first time consumption result of the third type of tasks in the second task test group is different from the first time consumption result of the fifth type of tasks in the third task test group, and/or the first time consumption result of the sixth type of tasks in the second task test group is different from the first time consumption result of the fourth type of tasks in the third task test group, the influence of the difference of the priorities on the time consumption results of the test groups is illustrated, and the scheduling mode of the programmable logic controller task can be judged to be priority scheduling. If the first time consuming result of the third type task in the second task test group is the same as the first time consuming result of the fifth type task in the third task test group, and the first time consuming result of the sixth type task in the second task test group is the same as the first time consuming result of the fourth type task in the third task test group, the fact that the time consuming results of the test groups are not affected by different priorities is indicated, and the task scheduling mode of the programmable logic controller can be judged to be non-priority scheduling.
Step S206, determining whether the task of the programmable logic controller is preemptive priority scheduling according to the first time consuming result of each task in each task test group.
In some alternative embodiments, the programmable logic controller task is preemptive priority scheduling if the difference between the first time consuming result of the fifth class of task in the first task trial and the first time consuming result of the third class of task in the first task trial is greater than a first preset value.
And if the difference between the first time consuming result of the fifth task in the first task test group and the first time consuming result of the third task in the first task test group is smaller than or equal to a first preset value, the programmable logic controller task is non-preemptive priority scheduling.
The first preset value is as large as possible, so that the first time-consuming result of the fifth type of task in the first task test group is far larger than the first time-consuming result of the third type of task in the first task test group.
The time consumption level of the fifth type task in the first task test group is the same as that of the third type task in the first task test group, the priority of the third type task is higher than that of the fifth type task, if the difference between the first time consumption result of the fifth type task in the first task test group and the first time consumption result of the third type task in the first task test group is larger than a first preset value, the first time consumption result of the third type task is far smaller than that of the fifth type task, namely when the fifth type task is executed, the third type task is preempted, the third type task is executed preferentially, and therefore waiting time of the third type task is shortened, and if the difference between the first time consumption result of the fifth type task in the first task test group and the first time consumption result of the third type task in the first task test group is larger than the first preset value, the first time consumption result of the third type task is far smaller than that of the fifth type task is indicated to be preemptive priority, otherwise, the third type task is preempted.
Step S207, time consumption of each task in each task test group is calculated based on the set first time slice, and a third time consumption result of each task in each task test group is obtained.
Step S208, time consumption of each task in each task test group is calculated based on the set second time slices, and fourth time consumption results of each task in each task test group are obtained.
In some alternative embodiments, the time slices are times from when each task in each task trial begins to run to be preempted, the first time slice being greater than the second time slice.
A programmable logic controller (Programmable Logic Controller, PLC) task time slice refers to the PLC distributing the time to process multiple tasks to a small portion of each task in one cycle. Such time allocation is typically based on fixed time intervals, also called time slices. Each task runs within its assigned time slice and then switches to the next task. This time-sliced rotation ensures that each task has an opportunity to be processed, thereby enabling multitasking.
The length of the PLC task time slices can be adjusted according to the system requirements. Shorter time slices may increase the response speed of the system, but may also increase the overhead of task switching. Longer time slices may reduce the overhead of task switching, but may reduce the response speed of the system. The use of the PLC task time slices can help to realize parallel processing and improve the efficiency of the system. By reasonably distributing the time slices, the critical tasks can be ensured to be processed in time, and other non-critical tasks can be processed at the same time. This is important for automated systems that require multiple tasks to be performed simultaneously, such as factory line control, robotic control, etc. In a word, the PLC task time slice is a mechanism for distributing processing time, and can help the PLC to realize multi-task processing, and improve the efficiency and response speed of the system.
Illustratively, if the first time slice is set to be T, the first time slice is set to be T/2.
Step S209, judging whether the task of the programmable logic controller is time vane round robin scheduling according to the first time consuming result, the third time consuming result and the fourth time consuming result.
In some alternative embodiments, the programmable logic controller task is time-sliced round robin scheduling if the first time-consuming result of the third class of tasks in the first task trial group is less than the third time-consuming result of the third class of tasks in the first task trial group is less than the fourth time-consuming result of the third class of tasks in the first task trial group.
And if the first time consuming result of the third class of tasks in the first task test group is greater than or equal to the first time consuming result of the third class of tasks in the first task test group, is greater than or equal to the fourth time consuming result of the third class of tasks in the first task test group, or is greater than or equal to the first time consuming result of the third class of tasks in the first task test group, is less than the fourth time consuming result of the third class of tasks in the first task test group, or is less than the first time consuming result of the third class of tasks in the first task test group, is greater than or equal to the fourth time consuming result of the third class of tasks in the first task test group, the programmable logic controller task is non-time blade round robin scheduling.
The time slice is the time from starting running to being preempted of each task in each task test group, a third time consuming result and a fourth time consuming result of the time slice are set, compared with a first time consuming result without the time slice, the time slice is preempted after reaching the time set by the time slice in the task execution process, therefore, the time consumption of the time slice is set to be larger than the time consumption without the time slice, namely, the first time consuming result of the third type task in the first task test group is the minimum, the time slice is set to be the first time slice, the third time consuming result of the third type task in the first task test group is calculated, setting the time slices as second time slices, calculating a fourth time consuming result of the third type of tasks in the first task test group, wherein the first time slices are larger than the second time slices, when the size of the time slices is smaller, task switching is more frequent and time consuming is more, so that if the first time consuming result of the third type of tasks in the first task test group is smaller than the third time consuming result of the third type of tasks in the first task test group, the programmable logic controller task is time blade round robin scheduling, and otherwise, non-time blade round robin scheduling is performed.
In this embodiment, a method for testing a task scheduling manner of a programmable logic controller is provided, which can be used for the task of the programmable logic controller, and fig. 3 is a flowchart for classifying a plurality of tasks of the programmable logic controller according to an embodiment of the present invention, where the classifying of the plurality of tasks of the programmable logic controller is step S101 in fig. 1, as shown in fig. 3, the flowchart includes the following steps:
in step S3011, a scan cycle of the programmable logic controller task is set.
Since the scan period of the programmable logic controller task can be changed, the invention sets the scan period to be T1 in order to avoid the influence of the change of the scan period on the test result.
Step S3012, determining whether the difference between the actual time consumption of the task of the programmable logic controller and the scan period is greater than a second preset value.
The second preset value is as large as possible so that the actual time taken by the programmable logic controller task is much longer than the scan period.
In step S3013, if the difference between the actual time consumption of the task of the programmable logic controller and the scan period is greater than the second preset value, the task of the programmable logic controller is a first type task.
In step S3014, if the difference between the actual time consumption of the task of the programmable logic controller and the scan period is less than or equal to the second preset value, the task of the programmable logic controller is the second type task.
Step S301 in fig. 3 is step S101 in fig. 1.
If the difference between the actual time consumption of the programmable logic controller task and the scanning period is larger than the second preset value, the actual time consumption of the programmable logic controller task is far larger than the scanning period, the programmable logic controller task is indicated to be a high time consumption task, otherwise, the programmable logic controller task is indicated to be a low time consumption task.
In this embodiment, a method for testing a task scheduling manner of a programmable logic controller is provided, which may be used for the task of the programmable logic controller, and fig. 4 is a flowchart of calculating time consumption of each task in each task test group according to an embodiment of the present invention, where the time consumption of each task in each task test group is calculated as step S104 in fig. 1, as shown in fig. 4, and the flowchart includes the following steps:
step S4041, obtaining the planned execution duration of each task in each task test group, wherein the planned execution duration represents the preset total duration of task execution.
In step S4042, each time each task in each task test group is executed, the counter counts one more, and when execution of the scheduled execution time period is ended, the counting is stopped, so as to obtain a total count.
Step S4043, obtaining the time consumption of each task in each task test group according to the quotient of the planned execution time length and the total count.
Step S404 in fig. 4 is step S104 in fig. 1.
In this embodiment, a method for testing a task scheduling manner of a programmable logic controller is provided, which may be used for the task of the programmable logic controller, and fig. 5 is another flowchart for calculating time consumption of each task in each task test group, where the time consumption of each task in each task test group is calculated as step S104 in fig. 1, as shown in fig. 5, and the flowchart includes the following steps:
in step S5041, when each task in each task test group starts to execute, the timer is controlled to start counting.
In step S5042, when execution of each task in each task test group is completed, the timer is controlled to end counting.
In step S5043, the time consumption of each task in each task test group is obtained according to the timing result of the timer.
Step S504 in fig. 5 is step S104 in fig. 1.
The embodiment also provides a testing device for task scheduling modes of the programmable logic controller, which is used for realizing the embodiment and the preferred implementation mode, and the description is omitted. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
The present embodiment provides a testing device for task scheduling modes of a programmable logic controller, as shown in fig. 6, including:
the task classification module 601 is configured to classify a plurality of programmable logic controller tasks into a first type of task and a second type of task; the task time consumption of the first type of task is greater than the task time consumption of the second type of task.
In some alternative embodiments, the task classification module 601 includes:
and the scanning period setting unit is used for setting the scanning period of the task of the programmable logic controller.
And the judging unit is used for judging whether the difference between the actual time consumption of the task of the programmable logic controller and the scanning period is larger than a second preset value.
And the determining unit is used for determining the task of the programmable logic controller as the first type of task according to the fact that the difference between the actual time consumption of the task of the programmable logic controller and the scanning period is larger than a second preset value.
The determining unit is further configured to determine that the task of the programmable logic controller is a second type task according to the difference between the actual time consumption of the task of the programmable logic controller and the scanning period being less than or equal to a second preset value.
The task creation module 602 is configured to create a third type of task, a fourth type of task, a fifth type of task, and a sixth type of task, where the third type of task is a first type of task with a first priority, the fourth type of task is a second type of task with a first priority, the fifth type of task is a first type of task with a second priority, and the sixth type of task is a second type of task with a second priority, and the first priority is higher than the second priority.
The task test group setting module 603 is configured to set each task test group according to a third type task, a fourth type task, a fifth type task, and a sixth type task, where the task test group includes any one of the third type task and the fourth type task, and any one of the fifth type task and the sixth type task.
The time consumption calculation module 604 is configured to calculate time consumption of each task in each task test group, and obtain a first time consumption result of each task in each task test group.
In some alternative embodiments, the time consuming computing module 604 includes:
the acquisition unit is used for acquiring the planned execution time length of each task in each task test group, wherein the planned execution time length represents the total time length of the preset task execution.
And the counting unit is used for counting one more according to each task in each task test group, and stopping counting when the execution of the scheduled execution duration is finished to obtain the total count.
And the calculation unit is used for obtaining the time consumption of each task in each task test group according to the quotient of the planned execution time length and the total count.
In some alternative embodiments, the time consuming computing module 604 further comprises:
and the starting timing control unit is used for controlling the timer to start timing according to the starting execution of each task in each task test group.
And the end timing control unit is used for controlling the timer to end timing according to the execution end of each task in each task test group.
And the time consumption determining unit is used for obtaining the time consumption of each task in each task test group according to the timing result of the timer.
The scheduling mode determining module 605 is configured to determine a scheduling mode of the task of the programmable logic controller according to the first time consuming result of each task in each task test group.
In some alternative embodiments, the task scheduling method of the programmable logic controller is priority scheduling if the first time consuming result of each task in the second task testing group is different from the first time consuming result of each task in the third task testing group.
If the first time consuming result of each task in the second task test group is the same as the first time consuming result of each task in the third task test group, the task scheduling mode of the programmable logic controller is non-priority scheduling
The scheduling mode determining module 605 is further configured to determine, if the scheduling mode of the task of the programmable logic controller is priority scheduling, whether the task of the programmable logic controller is preemptive priority scheduling according to the first time consuming result of each task in each task test group.
In some alternative embodiments, the programmable logic controller task is preemptive priority scheduling if the difference between the first time consuming result of the fifth class of task in the first task trial and the first time consuming result of the fifth class of task in the first task trial is greater than a first preset value.
The scheduling mode determining module 605 is further configured to calculate time consumption of each task in each task test group if the task of the programmable logic controller is non-priority scheduling based on the set first time slice, and obtain a third time consumption result of each task in each task test group; respectively calculating the time consumption of each task in each task test group based on the set second time slices, and respectively obtaining a fourth time consumption result of each task in each task test group; and judging whether the programmable logic controller task is time vane round robin scheduling or not according to the first time consuming result, the third time consuming result and the fourth time consuming result.
In some alternative embodiments, the programmable logic controller task is time-sliced round robin scheduling if the first time-consuming result of the third class of tasks in the first task trial group is less than the third time-consuming result of the third class of tasks in the first task trial group is less than the fourth time-consuming result of the third class of tasks in the first task trial group.
Further functional descriptions of the above respective modules and units are the same as those of the above corresponding embodiments, and are not repeated here.
The test device of the task scheduling manner of the programmable logic controller in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit ) circuit, a processor and a memory executing one or more software or fixed programs, and/or other devices that can provide the above functions.
The embodiment of the invention also provides a computer device, which is provided with the testing device of the task scheduling mode of the programmable logic controller shown in the figure 6.
Referring to fig. 7, fig. 7 is a schematic structural diagram of a computer device according to an alternative embodiment of the present invention, as shown in fig. 7, the computer device includes: one or more processors 10, memory 20, and interfaces for connecting the various components, including high-speed interfaces and low-speed interfaces. The various components are communicatively coupled to each other using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions executing within the computer device, including instructions stored in or on memory to display graphical information of the GUI on an external input/output device, such as a display device coupled to the interface. In some alternative embodiments, multiple processors and/or multiple buses may be used, if desired, along with multiple memories and multiple memories. Also, multiple computer devices may be connected, each providing a portion of the necessary operations (e.g., as a server array, a set of blade servers, or a multiprocessor system). One processor 10 is illustrated in fig. 7.
The processor 10 may be a central processor, a network processor, or a combination thereof. The processor 10 may further include a hardware chip, among others. The hardware chip may be an application specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general-purpose array logic, or any combination thereof.
Wherein the memory 20 stores instructions executable by the at least one processor 10 to cause the at least one processor 10 to perform a method for implementing the embodiments described above.
The memory 20 may include a storage program area that may store an operating system, at least one application program required for functions, and a storage data area; the storage data area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, memory 20 may optionally include memory located remotely from processor 10, which may be connected to the computer device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
Memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk, or solid state disk; the memory 20 may also comprise a combination of the above types of memories.
The computer device also includes a communication interface 30 for the computer device to communicate with other devices or communication networks.
The embodiments of the present invention also provide a computer readable storage medium, and the method according to the embodiments of the present invention described above may be implemented in hardware, firmware, or as a computer code which may be recorded on a storage medium, or as original stored in a remote storage medium or a non-transitory machine readable storage medium downloaded through a network and to be stored in a local storage medium, so that the method described herein may be stored on such software process on a storage medium using a general purpose computer, a special purpose processor, or programmable or special purpose hardware. The storage medium can be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, a solid state disk or the like; further, the storage medium may also comprise a combination of memories of the kind described above. It will be appreciated that a computer, processor, microprocessor controller or programmable hardware includes a storage element that can store or receive software or computer code that, when accessed and executed by the computer, processor or hardware, implements the methods illustrated by the above embodiments.
Although embodiments of the present invention have been described in connection with the accompanying drawings, various modifications and variations may be made by those skilled in the art without departing from the spirit and scope of the invention, and such modifications and variations fall within the scope of the invention as defined by the appended claims.

Claims (15)

1. A method for testing a task scheduling mode of a programmable logic controller is characterized by comprising the following steps:
classifying a plurality of programmable logic controller tasks to divide the plurality of programmable logic controller tasks into a first class of tasks and a second class of tasks; the task time consumption of the first type of task is greater than the task time consumption of the second type of task;
creating a third class of tasks, a fourth class of tasks, a fifth class of tasks and a sixth class of tasks, wherein the third class of tasks are first class tasks with first priority, the fourth class of tasks are second class tasks with first priority, the fifth class of tasks are first class tasks with second priority, the sixth class of tasks are second class tasks with second priority, and the first priority is higher than the second priority;
setting each task test group according to the third class task, the fourth class task, the fifth class task and the sixth class task, wherein the task test group comprises any one of the third class task and the fourth class task and any one of the fifth class task and the sixth class task;
Respectively calculating the time consumption of each task in each task test group, and respectively obtaining a first time consumption result of each task in each task test group;
and determining the scheduling mode of the programmable logic controller task according to the first time consuming result of each task in each task test group.
2. The method of claim 1, wherein the setting task trial groups according to the third class of tasks, the fourth class of tasks, the fifth class of tasks, and the sixth class of tasks comprises:
a first task trial group comprising the third class of tasks and the fifth class of tasks;
a second task test group including the third type of task and the sixth type of task;
a third task test group comprising the fourth class of tasks and the fifth class of tasks;
and a fourth task test group comprising the fourth type of task and the sixth type of task.
3. The method according to claim 1 or 2, wherein determining the scheduling manner of the task of the programmable logic controller according to the first time consuming result of each task in each task test group includes:
if the first time consuming result of the third type task in the second task test group is different from the first time consuming result of the fifth type task in the third task test group, and/or the first time consuming result of the sixth type task in the second task test group is different from the first time consuming result of the fourth type task in the third task test group, the scheduling mode of the programmable logic controller task is priority scheduling;
And if the first time consuming result of the third type task in the second task test group is the same as the first time consuming result of the fifth type task in the third task test group, and the first time consuming result of the sixth type task in the second task test group is the same as the first time consuming result of the fourth type task in the third task test group, the scheduling mode of the programmable logic controller task is non-priority scheduling.
4. A method according to claim 3, characterized in that the method further comprises:
and if the scheduling mode of the programmable logic controller task is the priority scheduling, determining whether the programmable logic controller task is preemptive priority scheduling according to the first time consuming result of each task in each task test group.
5. The method of claim 4, wherein determining whether the programmable logic controller task is a preemptive priority dispatch based on the first time consuming result of each task in each of the task trial sets comprises:
and if the difference between the first time consuming result of the fifth task in the first task test group and the first time consuming result of the third task in the first task test group is larger than a first preset value, the programmable logic controller task is preemptive priority scheduling.
6. A method according to claim 3, characterized in that the method further comprises:
if the programmable logic controller task is non-priority scheduling;
respectively calculating the time consumption of each task in each task test group based on the set first time slice, and respectively obtaining a third time consumption result of each task in each task test group;
respectively calculating the time consumption of each task in each task test group based on the set second time slices, and respectively obtaining a fourth time consumption result of each task in each task test group;
and judging whether the programmable logic controller task is time vane rotary scheduling or not according to the first time consuming result, the third time consuming result and the fourth time consuming result.
7. The method according to claim 6, characterized in that the method comprises:
and the time slices are the time from the starting of each task in each task test group to the preemption, and the first time slice is larger than the second time slice.
8. The method of claim 6, wherein said determining whether the programmable logic controller task is a time-vane rotary schedule based on the first time consuming result, a third time consuming result, and the fourth time consuming result comprises:
And if the first time consuming result of the third class of tasks in the first task test group is smaller than the third time consuming result of the third class of tasks in the first task test group is smaller than the fourth time consuming result of the third class of tasks in the first task test group, the programmable logic controller task is time-vane round robin scheduling.
9. The method of claim 1, wherein classifying the plurality of programmable logic controller tasks to divide the plurality of programmable logic controller tasks into a first type of task and a second type of task comprises:
setting a scanning period of the programmable logic controller task;
judging whether the difference between the actual time consumption of the programmable logic controller task and the scanning period is larger than a second preset value or not;
if the difference between the actual time consumption of the programmable logic controller task and the scanning period is larger than a second preset value, the programmable logic controller task is a first type task;
and if the difference between the actual time consumption of the programmable logic controller task and the scanning period is smaller than or equal to the second preset value, the programmable logic controller task is a second type task.
10. The method of claim 1, wherein creating the third class of tasks, the fourth class of tasks, the fifth class of tasks, and the sixth class of tasks comprises:
assigning a first priority parameter to the first class of tasks to obtain the third class of tasks;
assigning a first priority parameter to the second class of tasks to obtain the fourth class of tasks;
a second priority parameter is given to the first class task, and the fifth class task is obtained;
and giving a second priority parameter to the second class task to obtain the sixth class task.
11. The method of claim 1, wherein said separately calculating the time elapsed for each task in each of said task trial sets comprises:
acquiring the planned execution time length of each task in each task test group, wherein the planned execution time length represents the total time length of the preset task execution;
each time each task in each task test group is executed, the counter counts one more, and when the execution of the planned execution duration is finished, the counting is stopped, so that the total count is obtained;
and obtaining the time consumption of each task in each task test group according to the quotient of the planned execution time length and the total count.
12. The method according to claim 1 or 11, wherein said calculating the time consumption of each task in each of said task trial sets, respectively, comprises:
when each task in each task test group starts to execute, a timer is controlled to start timing;
when execution of each task in each task test group is finished, controlling a timer to finish timing;
and obtaining the time consumption of each task in each task test group according to the timing result of the timer.
13. A test device for a task scheduling mode of a programmable logic controller, the device comprising:
the task classification module is used for classifying the plurality of programmable logic controller tasks to divide the plurality of programmable logic controller tasks into a first type task and a second type task; the task time consumption of the first type of task is greater than the task time consumption of the second type of task;
the task creating module is used for creating a third class of tasks, a fourth class of tasks, a fifth class of tasks and a sixth class of tasks, wherein the third class of tasks are first class tasks with first priority, the fourth class of tasks are second class tasks with first priority, the fifth class of tasks are first class tasks with second priority, the sixth class of tasks are second class tasks with second priority, and the first priority is higher than the second priority;
The task test group setting module is used for setting each task test group according to the third class task, the fourth class task, the fifth class task and the sixth class task, wherein the task test group comprises any one of the third class task and the fourth class task and any one of the fifth class task and the sixth class task;
the time consumption calculation module is used for calculating the time consumption of each task in each task test group and obtaining a first time consumption result of each task in each task test group;
and the scheduling mode determining module is used for determining the scheduling mode of the task of the programmable logic controller according to the first time consuming result of each task in each task test group.
14. A computer device, comprising:
the programmable logic controller task scheduling method according to any one of claims 1 to 12 comprises a memory and a processor, wherein the memory and the processor are in communication connection, the memory stores computer instructions, and the processor executes the computer instructions, so that the programmable logic controller task scheduling method according to any one of claims 1 to 12 is tested.
15. A computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of testing a task scheduling scheme of a programmable logic controller according to any one of claims 1 to 12.
CN202310995611.3A 2023-08-09 2023-08-09 Method and device for testing task scheduling mode of programmable logic controller Active CN116700135B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310995611.3A CN116700135B (en) 2023-08-09 2023-08-09 Method and device for testing task scheduling mode of programmable logic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310995611.3A CN116700135B (en) 2023-08-09 2023-08-09 Method and device for testing task scheduling mode of programmable logic controller

Publications (2)

Publication Number Publication Date
CN116700135A true CN116700135A (en) 2023-09-05
CN116700135B CN116700135B (en) 2023-10-20

Family

ID=87831640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310995611.3A Active CN116700135B (en) 2023-08-09 2023-08-09 Method and device for testing task scheduling mode of programmable logic controller

Country Status (1)

Country Link
CN (1) CN116700135B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
JP2002163117A (en) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd Task scheduling device
CN1818875A (en) * 2006-03-16 2006-08-16 浙江大学 Grouped hard realtime task dispatching method of built-in operation system
CN103399798A (en) * 2013-07-29 2013-11-20 深圳市汇川控制技术有限公司 Multitask control method and multitask control device of PLC (programmable logic controller)
CN103885881A (en) * 2014-04-03 2014-06-25 北京航空航天大学 High-real-time concurrent testing method based on multi-task mechanism of VxWorks system
US20190286477A1 (en) * 2018-03-16 2019-09-19 Imam Abdulrahman Bin Faisal University Real-time feasibility systems and methods
WO2021093248A1 (en) * 2019-11-13 2021-05-20 上海商汤智能科技有限公司 Scheduling method and apparatus, electronic device, and storage medium
WO2022067531A1 (en) * 2020-09-29 2022-04-07 深圳大学 Computing resource aware task scheduling method
CN115033374A (en) * 2022-04-30 2022-09-09 杭州电子科技大学 Task-to-thread matching method of multi-core programmable controller

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
JP2002163117A (en) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd Task scheduling device
CN1818875A (en) * 2006-03-16 2006-08-16 浙江大学 Grouped hard realtime task dispatching method of built-in operation system
CN103399798A (en) * 2013-07-29 2013-11-20 深圳市汇川控制技术有限公司 Multitask control method and multitask control device of PLC (programmable logic controller)
CN103885881A (en) * 2014-04-03 2014-06-25 北京航空航天大学 High-real-time concurrent testing method based on multi-task mechanism of VxWorks system
US20190286477A1 (en) * 2018-03-16 2019-09-19 Imam Abdulrahman Bin Faisal University Real-time feasibility systems and methods
WO2021093248A1 (en) * 2019-11-13 2021-05-20 上海商汤智能科技有限公司 Scheduling method and apparatus, electronic device, and storage medium
WO2022067531A1 (en) * 2020-09-29 2022-04-07 深圳大学 Computing resource aware task scheduling method
CN115033374A (en) * 2022-04-30 2022-09-09 杭州电子科技大学 Task-to-thread matching method of multi-core programmable controller

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
康鹏 等: "一种基于分组的多核嵌入式实时调度算法", 微电子学与计算机, no. 10, pages 32 - 35 *
马雄波 等: "基于RTX的软PLC多任务系统研究", 组合机床与自动化加工技术, no. 01, pages 35 - 40 *

Also Published As

Publication number Publication date
CN116700135B (en) 2023-10-20

Similar Documents

Publication Publication Date Title
US9778943B2 (en) Timer based virtual processor scheduling and suspension on physical processor for use of physical processor by other processing
EP2894564A1 (en) Job scheduling based on historical job data
US9128475B2 (en) Parallelized program control based on scheduled expiry of time signal generators associated with respective processing units
CN103778016A (en) Multi-thread processor
EP3523720B1 (en) Task scheduling
CN104778074A (en) Calculation task processing method and device
CN110058882B (en) OPU instruction set definition method for CNN acceleration
CN103399798A (en) Multitask control method and multitask control device of PLC (programmable logic controller)
US20200019436A1 (en) Control device, control method, and control program
CN116167463B (en) Distributed model training container scheduling method and device for intelligent computing
CN112748993A (en) Task execution method and device, storage medium and electronic equipment
CN104657111A (en) Parallel computing method and device
CN116700135B (en) Method and device for testing task scheduling mode of programmable logic controller
CN101750992B (en) General sequence control algorithm used in programmable logic controller
CN106874129B (en) Method for determining process scheduling sequence of operating system and control method
CN112659119A (en) Control method and device of mechanical arm, electronic equipment and storage medium
CN117056054A (en) Interrupt control method, interrupt controller, computer device, and storage medium
CN111767121B (en) Operation method, device and related product
CN103823711A (en) Method and device for providing relative timing in Java virtual machine
CN102508720A (en) Method for improving efficiency of preprocessing module and efficiency of post-processing module and system
CN115033374A (en) Task-to-thread matching method of multi-core programmable controller
CN109542069B (en) Distributed control system and method based on time and event hybrid driving
EP2781977B1 (en) Method and system for managing distributed computing in automation systems
CN110968412B (en) Task execution method, system and storage medium
CN109597815B (en) Data state updating method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant