Multirate real time control system code generator
First Claim
1. An automatic computer software code generator for multirate real time control systems, comprising:
- (a) functional library means for defining a multiplicity of functional blocks, including means for defining for each functional block a software template for generating a set of software statements for performing one or more logical and/or mathematical computations each time the software associated with said functional block is executed, and parametric variables to be used in said computations;
(b) catalog means coupled to said functional library means, for describing a specified multirate real time control system having specified external input signals and specified external output signals, including a first database for representing computational relationships between said external input signals and said external output signals of said specified multirate real time control system;
said computational relationships being defined by specified combinations of said functional blocks, specified parametric values for said specified functional blocks, and specified computation initiation conditions;
said computation initiation conditions including computational trigger conditions for asynchronous computations, and computational repetition rates and computational skew periods for periodic computations;
(c) linking means coupled to said catalog means for organizing said first database into a plurality of separate subsystems, each said subsystem including all the specified functional blocks with a given specified computation initiation condition, a separate subsystem being used for each unique specified computation initiation condition; and
(d) code generation means coupled to said catalog means for generating software for use in said specified control system, including means for generating;
a subsystem software routine for each said subsystem for performing computations corresponding to said computational relationships specified in said first database for said subsystem;
a scheduler program for initiating execution of said subsystem software routines in accordance with the specified computation initiation condition for each corresponding subsystem; and
software interface means for holding input, output and temporary data values for said specified multirate real time control system, includingzero order hold means for each said subsystem, for holding output values generated by said subsystem during each execution of said subsystem for use as input signals to other ones of said subsystems; and
sample and hold means for each said subsystem, including a sample and hold buffer and sampling means for copying into said sample and hold buffer specified input data signals to said subsystem from other ones of said subsystems and specified ones of said specified external input data signals.
2 Assignments
0 Petitions
Accused Products
Abstract
An automatic computer software code generator for multirate real time control systems uses a functional library to define a multiplicity of functional blocks for building a functional description of a control system. For each functional block there is a software template for generating a set of software statements for performing one or more computations each time the software associated with that functional block is executed. A functional description of the control system software to be generated is provided in the form of a catalog database, and the computational relationships to be implemented by the software generated by the invention are defined by specified combinations of the functional blocks in the functional library. A linking software module organizes the catalog database into a plurality of separate subsystems, each subsystem including all the specified functional blocks with a given repetition rate and skew. Finally, a code generation software module generates software for use in the specified control system. The software routines generated generally include: a subsystem software routine for each subsystem, a scheduler program for initiating the execution of the subsystem software routines in accordance with the repetition rate and skew specified for each corresponding subsystem; and a software interface for holding input, output and temporary data values.
117 Citations
8 Claims
-
1. An automatic computer software code generator for multirate real time control systems, comprising:
-
(a) functional library means for defining a multiplicity of functional blocks, including means for defining for each functional block a software template for generating a set of software statements for performing one or more logical and/or mathematical computations each time the software associated with said functional block is executed, and parametric variables to be used in said computations; (b) catalog means coupled to said functional library means, for describing a specified multirate real time control system having specified external input signals and specified external output signals, including a first database for representing computational relationships between said external input signals and said external output signals of said specified multirate real time control system; said computational relationships being defined by specified combinations of said functional blocks, specified parametric values for said specified functional blocks, and specified computation initiation conditions;
said computation initiation conditions including computational trigger conditions for asynchronous computations, and computational repetition rates and computational skew periods for periodic computations;(c) linking means coupled to said catalog means for organizing said first database into a plurality of separate subsystems, each said subsystem including all the specified functional blocks with a given specified computation initiation condition, a separate subsystem being used for each unique specified computation initiation condition; and (d) code generation means coupled to said catalog means for generating software for use in said specified control system, including means for generating; a subsystem software routine for each said subsystem for performing computations corresponding to said computational relationships specified in said first database for said subsystem; a scheduler program for initiating execution of said subsystem software routines in accordance with the specified computation initiation condition for each corresponding subsystem; and software interface means for holding input, output and temporary data values for said specified multirate real time control system, including zero order hold means for each said subsystem, for holding output values generated by said subsystem during each execution of said subsystem for use as input signals to other ones of said subsystems; and sample and hold means for each said subsystem, including a sample and hold buffer and sampling means for copying into said sample and hold buffer specified input data signals to said subsystem from other ones of said subsystems and specified ones of said specified external input data signals. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification