Template language for industrial controller programming
AssigneeRockwell Technologies, LLC
InventorsMarvin J. Schwenke, J. Andrew Sinclair, Raymond J. Staron
Life of this patent
Estimating the term…
Abstract
A programming language for programming industrial controllers in relay ladder logic language, the programming language including both extensions to standard RLL rung form itself and extensions wholly independent of the standard form. The language uses a plurality of templates, each template including truly reusable relay ladder language sections. Most templates also include specifications identifying other templates which provide additional language logic required to define job-specific aspects of the referencing template. Using the templates a machine tree can be provided which mirrors an industrial process. By compiling all of the templates, a relay ladder language program can be provided.
Claims16
A programming apparatus for an industrial controller which has a processor module that stores and executes a machine language program to control a machine, machine control dividable into different control task types corresponding to different physical and operational machine characteristics, each control task of a specific type including at least some common characteristics and often task distinct characteristics, the apparatus to be used with a template set including template types, each template type designed to control a different one of said control tasks, some templates including a logic section that provides machine language logic for common characteristics of an associated control task type, some templates including a child module specification section for designating instances of other templates required to further specify additional logic needed to control task distinct characteristics, wherein each template instance is a module and each module that references another module is a parent module, the apparatus for providing a complete template based machine tree for the machine, the apparatus comprising:
- a memory means for storing the template set;
- input means for entering input data about physical and operational characteristics of the machine;
- editor means communicating with both the memory means and the input means for gleaning information from the input data and creating new modules and populating child identification sections of existing modules as a function of the gleaned information, the modules together forming a template based machine tree that completely characterizes all of the physical and operational characteristics of the machine.
A programming tool for programming an industrial controller in machine language to control a machine, machine control dividable into different control task types corresponding to different physical and operational machine characteristics, each control task of a specific type including at least some common characteristics and often including some task distinct characteristics, the tool comprising:
- a template set including template types, each template type designed to control a different one of said control tasks, some templates including a logic section that provides machine language logic for common characteristics of an associated control task type, some templates including a child module specification section for designating instances of other templates required to provide logic needed to control task distinct characteristics, wherein each template instance is a module and each module that specifies another module is a parent module;
- whereby a network of modules can be assembled to form a machine tree and a plurality of modules based on the same template can be included in a single machine tree;
- and
- wherein the machine tree can be formed to completely characterize an industrial process such that when the contents of each module is substituted for a specification in a parent module, a substantially complete real time program for controlling the machine is provided in machine language logic.
A programming tool for programming an industrial controller in machine language to control a machine, machine control dividable into different control task types corresponding to different physical and operational characteristics, each control task f a specific type including at least some common characteristics and often including some task distinct characteristics, wherein the machine includes at least one indexer, the indexer having at least one associated station, the at least one station having at least one associated work unit and at least one of the work unit, station, indexer or machine having at least one associated axis of movement, the tool comprising:
- a template set including template types, each template type designed to control a different one of said control tasks, some templates including a logic section that provides machine language logic for common characteristics of an associated control task type, some templates including a child module specification section for designating instances of other templates required to provide logic needed to control task distinct characteristics, wherein each template instance is a module and each module that specifies another module is a parent module, and the machine template has a child identification section for designating indexer modules, the indexer template has a child identification section for designating station modules, the station template has a child identification section for designating work unit modules, and the work unit template has a child identification section for designating axis modules;
- c
- whereby a network of modules can be assembled to form a machine tree and a plurality of modules based on the same template can be included in a single machine tree;
- and
- wherein the machine tree can be formed to completely characterize an industrial process such that when the contents of each module is substituted for a specification in a parent module, a substantially complete real time program for controlling the machine is provided in machine language logic.
A method to be used with a programming apparatus for an industrial controller which has a processor module that stores and executes a machine language program to control a machine, machine control dividable into different control task types corresponding to different physical and operational machine characteristics, each control task of a specific type including at least some common characteristics and often task distinct characteristics, the apparatus to be used with a template set including template types, each template type designed to control a different one of said control tasks, some templates including a logic section that provides machine language logic for common characteristics of an associated control task type, some templates including a child module specification section for designating instances of other templates required to further specie additional logic needed to control task distinct characteristics, wherein each template instance is a module and each module that references another module is a parent module, characteristics of a machine being illustrated as a machine image, the method for providing a complete template based machine tree for the machine, the method including the steps of:
- gleaning information from the machine image;
- and
- creating new modules and populating child identification sections of existing modules as a function of the gleaned information, the modules together forming a template based machine tree that substantially characterizes all of the physical and operational characteristics of the machine.
Dependencies are inferred from the claim text.