WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Integrated control system for industrial automation applications    
United States Patent5485620   
Link to this pagehttp://www.wikipatents.com/5485620.html
Inventor(s)Sadre; Ahmad (Solon, OH), Baechtel; Donald F. (Lyndhurst, OH), Graber; Mark S. (Streetsboro, OH)
AbstractA system for generating, editing, executing, monitoring and debugging an application program for controlling an industrial automation mechanism comprising components of logic, motion and/or process control. The programming and operating environments contain a single Man Machine Interface (MMI) with close and intuitive linkages between sequential programs and continuous programs that aid in the programming, operation and troubleshooting of application programs.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5485620
Integrated control system for industrial automation applications - US Patent 5485620 Drawing
Integrated control system for industrial automation applications
Inventor     Sadre; Ahmad (Solon, OH) , Baechtel; Donald F. (Lyndhurst, OH) , Graber; Mark S. (Streetsboro, OH)
Owner/Assignee     Automation System and Products, Inc. (Chagrin Falls, OH)
Patent assignment
All assignments
Publication Date     January 16, 1996
Application Number     08/201,751
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     February 25, 1994
US Classification     717/162 700/18 700/26 700/83 700/86 700/9
Int'l Classification    
Examiner     Kriess; Kevin A.
Assistant Examiner     Butler; Dennis M.
Attorney/Law Firm     Hochberg; D. Peter Kusner; Mark Jaffe; Michael
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/139 364/140 364/141 364/146 364/188 364/147 364/191 364/192 364/193 364/167.01 364/180 364/181 364/221 364/221.9 364/222 364/222.6 395/155 395/700 395/919 395/921 395/922
Patent Tags     integrated control industrial automation applications
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5392207
Wilson
700/64
Feb,1995

[0 after 0 votes]
5265004
Schultz
700/22
Nov,1993

[0 after 0 votes]
5265005
Schmidt
700/18
Nov,1993

[0 after 0 votes]
5253186
Lipner
702/182
Oct,1993

[0 after 0 votes]
5247693
Bristol
717/139
Sep,1993

[0 after 0 votes]
5225974
Mathews
700/11
Jul,1993

[0 after 0 votes]
5212631
Schmidt
700/7
May,1993

[0 after 0 votes]
5177420
Wada
318/568.11
Jan,1993

[0 after 0 votes]
5168441
Onarheim
700/17
Dec,1992

[0 after 0 votes]
5097405
Sato
700/19
Mar,1992

[0 after 0 votes]
5072356
Watt

Dec,1991

[0 after 0 votes]
4910691
Skeirik
706/45
Mar,1990

[0 after 0 votes]
4852047
Lavallee
700/86
Jul,1989

[0 after 0 votes]
4823255
Tanaka
700/86
Apr,1989

[0 after 0 votes]
4803634
Ohno
700/213
Feb,1989

[0 after 0 votes]
4742443
Rohn
700/7
May,1988

[0 after 0 votes]
4736320
Bristol
717/109
Apr,1988

[0 after 0 votes]
4663704
Jones
700/83
May,1987

[0 after 0 votes]
4636938
Broome
700/86
Jan,1987

[0 after 0 votes]
4500950
Putman
700/9
Feb,1985

[0 after 0 votes]
4215396
Henry
700/7
Jul,1980

[0 after 0 votes]
4215398
Burkett
700/7
Jul,1980

[0 after 0 votes]
4204253
van den Hanenberg
714/32
May,1980

[0 after 0 votes]
4122519
Bielawski
707/200
Oct,1978

[0 after 0 votes]
3974484
Struger
700/24
Aug,1976

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


Having thus described the invention, the following is claimed:

1. An apparatus for the development and execution of an application program having at least one sequential program for controlling at least one sequential machine function and having at least one continuous program for controlling at least one continuous machine function, said apparatus comprising:

means for producing the application program in the form of a diagram, said means for producing including:

means for producing at least one step box having therein a sequential program including one or more sequential program statements, each sequential program statement including a sequential program statement label, and

means for producing at least one action box having therein at least one continuous program identifier for identifying a continuous program, each continuous program identifier associated with at least one sequential program statement label, each said action box associated with one of said at least one step boxes;

execution means for executing said application program; and

means for linking said at least one step box and said at least one action box for producing said application program.

2. The apparatus of claim 1, wherein said execution means determines when to execute each continuous program identified in said action box, before executing said sequential program statements in the step box associated therewith.

3. The apparatus of claim 1, wherein said at least one sequential machine function is motion control.

4. The apparatus of claim 1, wherein said at least one sequential machine function is process control.

5. The apparatus of claim 1, wherein said sequential program statements are in at least one of the following formats: RS-274D syntax, application icon, BASIC, Fortran, and C.

6. The apparatus of claim 5, wherein said RS-274D syntax includes at least one of the following: embedded Structured Text, embedded BASIC, embedded Fortran, and embedded C.

7. The apparatus of claim 1, wherein said continuous program identified by the continuous program identifier is in at least one of the following formats: Relay Ladder Logic Networks and Function Blocks.

8. The apparatus of claim 1, wherein said execution means includes means for evaluating Relay Ladder Logic Networks having output elements and function blocks anywhere in the Relay Ladder Logic Networks.

9. The apparatus of claim 1, wherein said sequential program statements and said continuous programs identified by said continuous program identifier include program statements which cause the execution means to temporarily suspend execution of the currently executing application program and begin execution of a second application program.

10. The apparatus of claim 1, wherein said apparatus further comprises:

means for producing the application program in the form of a top level diagram, said top level diagram including application program steps, each step representing at least one sequential or continuous program; and

means for associating an operator button with each said application program step, said operator button activated by an operator, wherein said operator button associated with each application program step must be activated before said at least one program associated with the application program step is executed by said execution means.

11. The apparatus of claim 10, wherein said top level diagram includes transition statements, each transition statement associated with an application program step, said transition statements preventing execution of subsequent application program steps until an operator button associated with the subsequent application program step is activated by an operator.

12. The apparatus of claim 1, wherein said execution means begins executing said continuous program identified by said continuous program identifier in the action box, before executing the sequential program statements in the associated step box.

13. The apparatus of claim 1, wherein said continuous program identifier in said action box further identifies a sequential program statement in said associated step box, said execution means executing said continuous program identified by the continuous program identifier in response to the execution of the sequential program statement identified by the continuous program identifier.

14. The apparatus of claim 1, wherein said continuous program identifier in said action box further identifies a sequential program statement in said associated step box and a synchronization event associated with said identified sequential program statement, said execution means executing said continuous program identified by the continuous program identifier in response to the execution of said identified sequential program statement and the occurrence of said identified synchronization event associated with the identified sequential program statement.

15. The apparatus of claim 1, wherein said continuous program identifier in said action box further identifies an action qualifier associated with said identified continuous program, said execution means executing said identified continuous program in accordance with the identified action qualifier.

16. The apparatus of claim 1, wherein said apparatus further comprises means for displaying said identified continuous program.

17. The apparatus of claim 16, wherein said apparatus further comprises means for inserting a function block into said identified continuous program.

18. An apparatus for the development and execution of an application program having at least one sequential program for controlling at least one sequential machine function and having at least one continuous program for controlling at least one continuous machine function, said apparatus comprising:

means for producing the application program in the form of a diagram, said means for producing including:

means for producing at least one step box having therein a sequential program including one or more sequential program statements, each sequential program statement including a sequential program statement label, and

means for producing at least one action box having therein at least one continuous program, each continuous program associated with at least one sequential program statement label, each said action box associated with one of said at least one step boxes;

execution means for executing said application program; and

means for linking said at least one step box and said at least one action box for producing said application program.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

The present invention relates generally to a system for generating, editing, executing, monitoring and debugging an application program which provides integrated control of sequential and continuous machine processes.

More particularly, the present invention relates to a system for generating, editing, executing, monitoring and debugging an application program which provides simultaneous control of all the logic, motion and process control components of an industrial automation application.

The present invention finds advantageous application to an automated transfer line and will be described with particular reference thereto, it being appreciated that the present invention has broader applications and may be used with other industrial automation applications, including material handling, metal forming, and robotics.

BACKGROUND OF THE INVENTION

A typical automated transfer line, as shown in FIG. 1, consists of a number of work stations where the work piece undergoes various operations, for example metal cutting and forming, in a specific, predetermined order. The flow of the work piece, such as an automotive engine block, from the point of entry into the line, its guidance and navigation through the work stations, and its final exit from the line after successful completion of all automated operations, must be controlled with high order of accuracy to result in the proper synchronization and coordination of the automated transfer line.

It is critical that the operation of the automated transfer line be error free and reliable as the smallest inaccuracy in any part of the control system, such as the communication link between various controls at each work station, can have disastrous results. It is also extremely important that the application program for the automated transfer line be relatively straightforward and reliable for both setup and integration, as well as continuous operation and troubleshooting by the factory floor personnel.

Today, automated transfer line applications generally require logic control (e.g., control of IF . . . THEN conditional actions) and motion control (e.g., control of a servo) and at times process control (e.g., control of the electrical current flow to a welder). It should be noted that motion control can be regarded as a specialized type of process control. Application engineers choose several industrial controllers, each specializing in one of the control technologies (i.e., logic, motion and process control), and each with its own specialized hardware and software implementations. The application engineers then program each of these individual devices, typically using different programming languages and development environments, to control a specific subset of the total industrial automation application. Additional hardware and software interconnections and communications must be added to get the individual devices to work together in a coordinated and synchronized manner. The difficulty and cost of programming, integrating, operating and supporting such a complex system is substantial. Key disadvantages of existing automated transfer line control arrangements include the following:

1. Hardware duplication; each controller usually has its own chassis, computer, I/O and power supply.

2. Multiple operator interfaces and program development support systems; this makes the system more difficult to program, debug and operate resulting in increased system support cost.

3. Error prone inter-connecting logic; the control device interconnections require extra integration time and often represent a major source of the system problems thereby reducing the overall reliability of the total system.

4. Sub-optimized usage of controller performance; generally, one or more of the controllers has much more performance than is required for its assigned portion of the application, and since there is no ability to share workload among different controllers, this excess performance is wasted while the total system cost is increased.

In the typical automated transfer line application shown in FIG. 1, control units 2, 4, 6, 8 and 10 require logic, motion, and/or process control. Accordingly, each of these control units requires multiple industrial controllers. In general, one controller for each control technology will be required at each control unit. The typical implementation process for one of these control units is shown in FIG. 2. The system Integrator or the original equipment manufacturer (OEM) carries the overall responsibility for implementing process plan 20 for an individual control unit. Process plan 20 is developed by a process engineer and the implementation of that plan requires the following tasks to be completed:

A. Separating process plan 20 into individual logic control program steps 22, motion control program steps 24 and process control program steps 26.

B. Selecting, purchasing and integrating individual logic controller(s) 28, motion controller(s) 30 and process controller(s) 32, each having its own hardware, operating system and program development environment.

C. Generating separate programs for each individual controller. In this respect, logic control program steps 22 are typically programmed in graphical ladder language (e.g., Relay Ladder Logic Network); the motion control program steps 24 are typically programmed in RS-274D or a proprietary motion language; and the process control program steps 26 are typically specified in Function Block Networks.

D. Adding inter-controller synchronization interconnections and program logic.

E. Debugging this complex architecture. It is noted that the integrated view of the entire system control, specified via these separate programs, is extremely difficult to observe as the interdependence, coordination and synchronization between the various control components is buried deep within the inter-control communication links and the program for each of the controls. Also, the man-machine interfaces 34a, 34b, and 34c are of a general purpose nature which makes the operation of the entire system very difficult for the factory floor personnel.

F. Documenting, maintaining and supporting the integrated system.

While logic, motion and process control have both sequential and continuous functions, a programmer is concerned primarily with sequential functions with respect to motion control, continuous functions with respect to logic control, and both sequential and continuous functions with respect to process control. Sequential functions are actions which are sequential in nature, while continuous functions are actions which are continuous in nature. Both types of functions will be described in greater detail below.

It has been standard practice to program "sequential" motion control functions using RS-274D or a proprietary motion control language on a computerized numerical control (CNC) or some other type of motion controller, to program "continuous" logic control functions using ladder logic and function blocks on a programmable logic controller (PLC), to program "sequential" process control functions using standard Sequential Function Charts, flow charts, or batch recipes, and to program "continuous" process control functions using Function Block Networks.

Each of these controllers and programs serve a specific need in a portion of the application program and present their own specialized programming environment and unique window into the application domain. Unfortunately, none of these programming techniques can adequately address the entire application requirements alone. When used together, these diverse programming techniques implemented on separate controllers are inefficient, do not integrate or interconnect well, are difficult to operate and troubleshoot, and can be prohibitively expensive. A new, simpler, more integrated solution is needed that does not deviate too far from the methods already used to program and troubleshoot on the factory floor to minimize training time.

Many industrial automation applications require the integration of sequential and continuous programs into a single application program, which controls the sequential and continuous machine processes of an industrial automation application.

Sequential programs are used to control the major sequencing of an application program. Accordingly, sequential program steps are executed only once, one step after the other, like a procedure, waiting for the previous step to complete before the next step is executed. Continuous programs are used to monitor and control environmental conditions either during the entire application program or during specific portions of the application program. Accordingly, continuous programs are scanned repeatedly and executed whenever the qualifying conditions are appropriate.

As noted above, sequential functions are actions which are sequential in nature, and accordingly are most easily and intuitively programmed using sequential programs. Likewise, continuous functions are actions which are continuous in nature, and accordingly are most easily and intuitively programmed using continuous programs.

Examples of sequential functions include:

1. machine operation or sequencing, for example: (a) turn the machine on and wait for all functions to report ready, (b) position the workpiece to be processed, (c) begin processing and wait for the