Parallel processing in a multitasking industrial controller
AssigneeAllen-Bradley Company, Inc.
InventorMark A. Flood
Life of this patent
Estimating the term…
Abstract
A method and apparatus for providing multitasking of a plurality of requests queued as a list in a single task of an industrial controller, each request including one or more separate segments. State information relating to each request being minimal at the end of each segment. The method processing the requests on a round-robin basis, interrupting each request only at the end of each segment so as to minimize the memory required to store the state information.
Claims14
A method of providing multitasking of a plurality of separate requests queued as a list in a single task in an industrial controller having a processor, each request including one or more separate segments to be executed in sequential order, the segments executed in a sequence comprising the steps of:
- (a) determining a plurality of break points at which the quantity of state information is minimal, each break point located at the end of a segment;
- (b) executing the segments of a given request from a start segment until a break point is reached;
- (c) storing state information relating to the state of the given request at the break point at the end of the list, the state information including the next segment of the given request after the break point;
- (d) retrieving state information from the list corresponding to the next request, the state information including a next segment of the next request, the next request following the given request in the list;
- (e) repeating steps (b) through (d) with the next request as the given request and the next segment of the next request as the start segment;
- and
- (f) repeating step (e) for each of the plurality of requests wherein the following segment after the start segment at step (e) is identical to the next segment stored at step (c) for the given request after the previous execution of the request at step (b).
An apparatus for use in industrial control for executing a plurality of separate requests queued as a list in a single task, each request including one or more separate segments to be executed in sequential order, the apparatus comprising:
- (a) a first calculator for determining a plurality of break points at which the quantity of state information is minimal, each break point located at the end of a segment;
- (b) a second calculator for executing the segments of a given request from a start segment until a break point is reached;
- (c) a scheduler for storing state information relating to the state of the given request at the break point at the end of the list, the state information including the next segment of the given request after the break point;
- (d) a retriever for retrieving state information from the list corresponding to the next request, the next request following the given request, the state information including a next segment of the next request;
- and
- (e) a loop returning execution of the requests to the second calculator with the next request as the given request and the next segment as the start segment, the loop returning execution to the second calculator until all of the segments of all of the requests have been executed.
A method of providing multitasking of a plurality of separate requests queued as a list in a single task in an industrial controller having a processor, each request including one or more separate segments to be executed in sequential order, the segments executed in a sequence comprising the steps of:
- (a) determining a plurality of break points at which the quantity of request state information is minimal, each break point located at the end of a segment;
- (b) executing the segments of a given request from a start segment until a break point is reached;
- (c) determining if the given request has been fulfilled;
- (d) if the request has been fulfilled:
- (i) replying to the request;
- (ii) clearing the request from the list;
- and
- (iii) skipping to step (f);
- (e) if the request has not been fulfilled, storing state information relating to the state of the given request at the break point at the end of the list, the state information including the heft segment of the given request after the break point;
- (f) retrieving state information from the list corresponding to the next request following the present request, the state information including a next segment of the next request;
- (g) repeating steps (b) through (f) with the next request as the given request and the next segment as the start segment;
- and
- (h) repeating step (g) for each of the plurality of requests wherein the following segment after the start segment at step (f) is identical to the next segment stored at step (e) for the given request after the previous execution of the request at step (b).
Dependencies are inferred from the claim text.