A method and apparatus for a control system of an automation network. The control system comprises an automation device operably connected to the network. Also operably connected to the control system is a network device for storing an application program for controlling the automation device. A message request for the application program is transmitted from the automation device to the network device. A customized application program is selected in response to the message request and transmitted to the automation device. The application program is installed in the automation device and executed.
|
20. A method of operating a control system on a network comprising the steps of:
providing a network device for storing a plurality of customized application programs to be executed on an automation device;
requesting a network address for the automation device by the automation device;
requesting one customized application program of the plurality of customized application programs by the automation device as part of a bootstrap protocol;
selecting the one customized application program;
transmitting the one customized application program to the automation device; and,
installing the one customized application program on the automation device at a boot time of the automation device.
1. A control system, comprising:
an automation device operably connected to a network;
a network device operably connected to the network; and,
a plurality of customized application programs for the automation device stored in the network device, wherein one customized application program of the plurality of customized application programs controls the automation device, and is selected by the network device in response to a specific application program request message for the one customized application program received at the network device and sent from the automation device as part of a bootstrap protocol, and wherein the customized application program is downloaded to the automation device at a boot time of the automation device.
17. A network control system, comprising:
means for operably connecting a network device to the network control system, the network device stores a plurality of customized application programs for controlling an automation device;
means for transmitting a message requesting a network address by the automation device;
means for transmitting a message by the automation device requesting one customized application program of the plurality of customized application programs as part of a bootstrap protocol;
means for selecting the one customized application program in response to the message requesting the one customized application program;
means for transmitting the one customized application program to the automation device; and,
means for installing the one customized application program at a boot time of the automation device.
12. A method of operating a control system on a network comprising the steps of:
providing a network device for storing a plurality of customized application programs to be executed on an automation device;
transmitting a message for requesting a network address for the automation device by the automation device;
transmitting a message by the automation device for requesting one customized application program of the plurality of customized application programs for the automation device as part of a bootstrap protocol;
selecting the one customized application program in response to the message for requesting one customized application program of the plurality of customized application programs;
transmitting the one customized application program to the automation device; and,
installing the one customized application program on the automation device at a boot time of the automation device.
2. The control system of
3. The control system of
13. The method of
14. The method of
identifying the message for requesting one customized application program of the plurality of customized application programs;
selecting a user application program in response to the message requesting one customized application program of the plurality of customized application programs; and,
selecting an executive program in response to the user application program selected.
15. The method of
an executive program code for the automation device; and,
a user program code for the automation device, the user program is selected in response to the message requesting one customized application program of the plurality of customized application programs.
16. The method of
21. The method of
selecting a user code for the one customized application program; and,
selecting an executive code for the one customized application program.
|
The present invention relates to a control system. More specifically, the present invention relates to a control system on a network having an automation device wherein the operating program for controlling the automation device is to selected from a network device in response to the automation device.
An automation network includes several nodes, i.e., network devices, connected on a network and controlled from one or more locations. Often times, network designers prefer to use similar, interchangeable devices on a network. Depending on the application of an individual, “standardized,” network device, certain functions of the device may not be used.
An automation device such as a programmable logic controller (PLC) generally comprises a computer processing unit, RAM, Flash RAM and a network interface. The application program for controlling the PLC is stored in the Flash RAM, typically consuming 256-512K of Flash RAM. The application code is transmitted to RAM at boot up of the automation device. Depending on the desired funtionality of the automation device, various portions of the application code may not be used. For instance, an all-purpose or “universal” application program can implemented wherein a standard executive code and user code for the control system exists within the application program for any desired network function. Due to the universality of the application code, the application code can be quite large. Some of the PLCs integrated with the network will not utilize all of the functionality provided within the standardized application program. Transferring and executing a large application program will affect the overall efficiency of the control system. The unnecessary use of storage space on the system, along with the additional time involved in transferring larger program codes, contributes to the inefficiency of the control system.
The present invention is provided to solve these and other problems.
The present invention is directed to a control system comprising an automation device operably connected to a network. A network device is operably connected to the network and comprises an at least one predetermined application program for controlling the automation device. The application program is selected in response to a message requesting the application program that is sent by automation device. The application program includes an executive code and user code. Alternatively, the application program can be dynamic wherein the executive and user codes are selected in response to the message requesting the application program and/or the selected executive and user codes.
Another embodiment of the present invention is directed to a method of operating a control system on a network. An application program is stored on a network device operably connected to the network. A message requesting the application program is originated by the automation device. An application program is selected in response to the message requesting the application program. The selected application program is transmitted and installed on the automation device. Alternatively, the program application comprises an executive and a user code. The user code is selected in response to the message requesting the application code. The executive code is selected in response to the selected user code. The selected user and executive codes are transmitted to the automation device for execution.
Other features and advantages of the invention, which are believed to be novel and nonobvious, will be apparent from the following specification taken in conjunction with the accompanying drawings in which there is shown a preferred embodiment of the invention. Reference is made to the claims for interpreting the full scope of the invention which is not necessarily represented by such embodiment.
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the embodiments illustrated.
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the embodiments illustrated.
A control system shown in
Other network devices 14, i.e., network personal computer, computer, input/output (IO) module 16, printer, etc., can also be operably connected to the network 12. A network device 14, preferably a server, stores one or more predetermined application programs 20 for use with the automation device 10. The application program 20 is selected in response to a message sent by the automation device 10 requesting the application program. Storing an array of application programs 20 within the network device 14 eliminates the need for the automation device 10 to store its own application programs.
An application program 20 comprises an executive code and a user code for the PLC 10, along with a boot up code. The application program 20 can be stored, created and edited using the network device 14 without requiring the resources of the PLC 10. In addition, a standard or universal application program 20 can be “customized” for a particular function or automation device 10. Thus, depending on the application program 20 required by the automation device 10, the network device 14 can provide the automation device 10 with an application program code that is specifically directed to the desired fimctionality. The request is generated by the PLC 10 incorporating a dynamic host configuration (DHCP) or bootstrap (BOOTP) protocol.
Further customization of the application program 20 includes tailoring the executive program of the application program to meet the minimum criteria to effectively execute the application program 20. For example, a single, common, generic application program can reside in the server 14. Subject to the message request sent by the PLC 10 requesting the application program, unutilized sections of the code can be eliminated and parsed out from the generic application program prior to transmitting the selected application program to the PLC. In response to the message request for the application program, the server 14 selects a user code and an executive code. The user code can be selected in response to the message request for the application program. The executive program code can be selected in response to the user code selected and/or the message requesting the application program. Alternatively, several specific, predetermined application codes capable of interacting with any PLC 10 on the network can reside on the network device 14.
The “customized” executive and application program 20 codes improve the efficiency of the network 12 by decreasing the need for storage space on the automation device 10 and allowing for faster transfers of the application program 20 throughout the network 12. In addition, the need for Flash RAM on the automation device 10 to store the application program is significantly reduced. The PLC's Flash RAM will contain the minimum amount of code for downloading the executive and user codes from the network device 14. The application program code 20 for the PLC 10 is stored in the network device 14 and downloaded to the automation device 10 at boot time.
Although the preferred network 12 implementation is Ethernet, other network implementations can also be used such as Internet, Profibus, ControlNet and Modbus+. An application program 20 for controlling an automation device 10 is stored on a network device 14 operably connected to the network 12. The PLC 10 sends out a BOOTP or DHCP request for obtaining an address on the network 12. A message request from the PLC 10 is transmitted to the network device 14, preferably a server, for acquiring the application program 20. The applicable application program 20 is selected and transmitted from the network device 14 to the PLC 10 in response to the message request for the application program. The application program 20 is then installed and executed on the PLC 10.
The application program 20 provides an operating program, i.e., executive and user codes; to the PLC 10. The executive code comprises a real time operating system 28, language support 30 and communication support 32. The user code 34 includes ladder logic or IEC 1131 code. The PLC 10 operating program can be stored, created or edited remotely from the PLC 10 and then transmitted to the PLC for use in the control system when desired. The TCP/IP stack enables data transfers over the network as by the IP protocol. The server 14 includes a program package 26 for editing and creating application programs 20. A user can access the program package 26 via a web page. The web page will display a home page which may contain text, some type of multimedia offerings such as graphic images, video, or audio, and hypertext links to other documents. A user using a browser can view the application program 20 via the web page and edit or create application programs 20 for use on the control system. The browser functions as a remote human-machine interface (HMI) with the network device 14 and the PLC's operating program 20.
It is understood by those skilled in the art that numerous changes and deviations in the form and detail thereof may be made without departing from the spirit and scope of the present invention. For example, the control system can incorporate a wireless network, or a network with a plurality of gateways and bridges. Similarly, the network device can be modified to include more components or to reduce the number of components. However, these variations do not depart from the scope of the present invention wherein network addressing is based, partly or completely, on the physical site location of the devices in the network.
Thus, the present invention has been described with respect to the preferred embodiments thereof. While specific embodiments have been illustrated and described, numerous modifications come to mind without significantly departing from the spirit of the invention and the scope of protection is only limited by the scope of the accompanying claims.
Patent | Priority | Assignee | Title |
10942710, | Sep 24 2019 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
11042362, | Sep 26 2019 | Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC | Industrial programming development with a trained analytic model |
11048483, | Sep 24 2019 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
11080176, | Sep 26 2019 | Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC | Testing framework for automation objects |
11163536, | Sep 26 2019 | Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC | Maintenance and commissioning |
11269598, | Sep 24 2019 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
11308447, | Apr 02 2020 | Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC | Cloud-based collaborative industrial automation design environment |
11392112, | Sep 26 2019 | Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC | Virtual design environment |
11481313, | Sep 26 2019 | Rockwell Automation Technologies, Inc. | Testing framework for automation objects |
11640566, | Sep 26 2019 | Rockwell Automation Technologies, Inc. | Industrial programming development with a converted industrial control program |
11663553, | Apr 02 2020 | Rockwell Automation Technologies, Inc. | Cloud-based collaborative industrial automation design environment |
11669309, | Sep 24 2019 | Rockwell Automation Technologies, Inc. | Extensible integrated development environment (IDE) platform with open application programming interfaces (APIs) |
11681502, | Sep 24 2019 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
11733687, | Sep 26 2019 | Rockwell Automation Technologies, Inc.; ROCKWELL AUTOMATION TECHNOLOGIES, INC | Collaboration tools |
11822906, | Sep 26 2019 | Rockwell Automation Technologies, Inc. | Industrial programming development with a converted industrial control program |
11829121, | Sep 26 2019 | Rockwell Automation Technologies, Inc. | Virtual design environment |
7512593, | Jun 08 2004 | SIEMENS INDUSTRY, INC | System for searching across a PLC network |
7860874, | Jun 08 2004 | SIEMENS INDUSTRY, INC | Method for searching across a PLC network |
9102060, | Oct 26 2009 | KUKA Roboter GmbH | Method and device for controlling a multiple-machine arrangement |
9141105, | Jul 23 2008 | HURCO COMPANIES, INC | Method and apparatus for monitoring or controlling a machine tool system |
9495368, | Jul 30 2001 | Rockwell Automation Technologies, Inc. | Method for consistent storage of data in an industrial controller |
9852152, | Jul 30 2001 | Rockwell Automation Technologies, Inc. | Method for consistent storage of data in an industrial controller |
Patent | Priority | Assignee | Title |
5012402, | Dec 17 1987 | Murata Kikai Kabushiki Kaisha | System for modifying a machine's program at a remote location |
5162986, | Oct 19 1990 | ALLEN-BRADLEY COMPANY, INC , MILWAUKEE, WI A CORP OF WI | Remote downloading and uploading of motion control program information to and from a motion control I/O module in a programmable controller |
5168441, | May 30 1990 | ALLEN-BRADLEY COMPANY, INC , A CORP OF WI | Methods for set up and programming of machine and process controllers |
5485620, | Feb 25 1994 | Automation System and Products, Inc. | Integrated control system for industrial automation applications |
5752033, | May 26 1994 | Mitsubishi Denki Kabushiki Kaisha | Programming device for programmable controller, functional unit for programmable controller, and method of inputting memory display for programming device |
5805442, | May 30 1996 | SCHNEIDER AUTOMATION INC | Distributed interface architecture for programmable industrial control systems |
5878257, | Nov 15 1996 | Cirrus Logic, Inc.; Cirrus Logic, INC | Self-booting mechanism to allow dynamic system configuration and diagnostic |
5909368, | Apr 12 1996 | Fisher-Rosemount Systems, Inc | Process control system using a process control strategy distributed among multiple control elements |
5974547, | Mar 20 1998 | Hewlett Packard Enterprise Development LP | Technique for reliable network booting of an operating system to a client computer |
6055632, | Sep 25 1997 | Allen-Bradley Company, LLC | Method and apparatus for transferring firmware to a non-volatile memory of a programmable controller system |
6195591, | Apr 12 1996 | Fisher-Rosemount Systems, Inc. | Process control system using a process control strategy distributed among multiple control elements |
6247168, | Apr 29 1997 | ROCKWELL AUTOMATION, INC | Embedded non-volatile programming tool |
6263487, | Jan 17 1996 | Siemens AG | Programmable controller |
6268853, | Sep 30 1999 | Rockwell Technologies, L.L.C. | Data structure for use in enterprise controls |
6308325, | Apr 09 1996 | International Business Machines Corporation | Apparatus and method for downloading data to electronic device |
6414871, | May 12 2000 | XILINX, Inc.; Xilinx, Inc | Systems and methods for programming programmable devices |
6466972, | Mar 31 1999 | International Business Machines Corporation | Server based configuration of network computers via machine classes |
6788980, | Jun 11 1999 | SCHNEIDER ELECTRIC SYSTEMS USA, INC | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
DE19615190, | |||
EP917034, | |||
EP982644, | |||
FR2785122, | |||
JP9245705, | |||
WO114963, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 17 2000 | WISCHINSKI, RAINER H | SCHNEIDER AUTOMATION INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011134 | /0563 | |
Aug 09 2000 | Schneider Automation Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jun 24 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 25 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jun 25 2019 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 25 2010 | 4 years fee payment window open |
Jun 25 2011 | 6 months grace period start (w surcharge) |
Dec 25 2011 | patent expiry (for year 4) |
Dec 25 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 25 2014 | 8 years fee payment window open |
Jun 25 2015 | 6 months grace period start (w surcharge) |
Dec 25 2015 | patent expiry (for year 8) |
Dec 25 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 25 2018 | 12 years fee payment window open |
Jun 25 2019 | 6 months grace period start (w surcharge) |
Dec 25 2019 | patent expiry (for year 12) |
Dec 25 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |