Multi-tasking operation system for industrial controller
AssigneeAllen-Bradley Company, Inc.
InventorErnst Dummermuth
Life of this patent
Estimating the term…
Abstract
A multi-tasking operating system for real-time control of industrial processes integrates ladder type programs and state-type programs by viewing each as a series of instructions with an implicit pointer list pointing to the next instruction. A fixed number of instructions of each program task are executed after which the effective pointer to the next instruction is stored toward the next time that task is invoked. Multiple tasks that need to be coordinated can be linked with subtasks that can be guaranteed complete execution by allocating sufficient instructions to those subtasks.
Claims7
A method of providing multi-tasking of a plurality of separate task programs in an industrial controller having a processor, the task programs having instructions executed in an instruction sequence comprising the steps of:
- (a) executing the instruction of a given task program in the instruction sequence from a start instruction until a completion of execution of a pre-determined number of instructions;
- (b) storing in a current pointer list an indication of a next instruction in the instruction sequence of the given task program after the completion of execution of the predetermined number of instructions, the current pointer list identifying the next instruction to the given task program;
- (c) determining a next instruction for a next task program from the current pointer list;
- (d) repeating steps (a)-(c) with the next task program as the given task program and the next instruction as the start instruction;
- (e) repeating step (d) for each of the plurality of task programs wherein the next instruction for the next task program at step (d) is identical to the next instruction stored at step (b) for the given task program after a previous execution of the given task program at step (a);
- and
- (f) repeating step (e);
- wherein the plurality of separate task programs includes at least one ladder task program being ridden in a ladder-type language in which each instruction is scanned sequentially in a fixed sequence wherein the predetermined number of instructions to be executed depends on the task;
- wherein the predetermined number of instructions for the ladder task is selected to substantially complete the execution of each instruction of the ladder task once.
A method of providing multi-tasking execution of a plurality of separate task programs in an industrial controller, the industrial controller having a processor, the task programs having instructions executed in an instruction sequence, the method comprising the steps of:
- (a) identifying a fixed number of instructions in each task to be executed without interruption;
- (b) beginning executing instructions of a given task program at a first instruction indicated by a pointer in a pointer list and continuing in an instruction sequence;
- (c) preventing switching to a next task program until the execution of the fixed number of instructions after the first instruction of the given task program substantially independently of the time of execution of the fixed number of instructions of the given task program, the fixed number being predetermined for the given task program;
- (d) executing the instructions of the next task program;
- (e) repeating steps (c) and (d) with the next task program as the given task program for each of the task programs;
- and
- (f) repeating step (e).
Dependencies are inferred from the claim text.