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.

Patent
   7313609
Priority
Aug 09 2000
Filed
Aug 09 2000
Issued
Dec 25 2007
Expiry
May 12 2023
Extension
1006 days
Assg.orig
Entity
Large
22
24
all paid
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 claim 1 wherein the one customized application program comprises an executive code and a user code.
3. The control system of claim 2 wherein the executive code is selected in response to the user code selected.
4. The control system of claim 1 wherein the automation device is a programmable logic controller.
5. The control system of claim 1 wherein the network device is a server.
6. The control system of claim 5 wherein the server has a TCP/IP protocol stack.
7. The control system of claim 1 wherein the network is Internet.
8. The control system of claim 1 wherein the network is Ethernet.
9. The control system of claim 1 wherein the network is Profibus.
10. The control system of claim 1 wherein the network is ControlNet.
11. The control system of claim 1 wherein the network is Modbus+.
13. The method of claim 12 further comprising the step of executing the customized one application program on the automation device.
14. The method of claim 12 wherein the step of selecting the one customized application program in response to the request for one customized application program of the plurality of customized application programs comprises the steps 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 claim 12, wherein the specific customized application program further comprises:
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 claim 15 wherein the executive program code is customized in response to the message to meet the minimum requirements for executing the one customized application program.
18. The network control system of claim 17 wherein the automation device is a controller.
19. The network control system of claim 17 wherein the network device is a server.
21. The method of claim 20 wherein further comprises:
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.

FIG. 1 is an illustration of a block diagram representing the present invention;

FIG. 2 shows a block diagram of the present invention illustrating the relationship between an automation device and a network device for storing an application program to be executed on the automation device;

FIG. 3 shows a block diagram of another embodiment of the present invention; and,

FIG. 4 shows a block diagram of another embodiment of the present invention.

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 FIG. 1 includes an automation device 10 operably connected to a network 12. The automation device 10, preferably a programmable logic controller (PLC), can be operably connected to other PLCs 10 or input/output (IO) devices 16. The PLC 10 controls and monitors the IO devices 16. Depending on the desired application of PLC 10, the PLC can comprise different hardware and software code.

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.

FIGS. 2-4 show block diagrams of the present invention illustrating the relationship between an automation device 10 and a network device 14, i.e., server, for storing an application program 20 to be executed on the automation device 10. The server 14 includes a network interface 22 having an unique network address 24 and an application program 20. The server 14 acts as a hypertext transfer protocol (HTTP) interpreter which uses a network protocol, i.e., Transmission Control Protocol/Internet Protocol (TCP/IP) stack to interact with the network interface 22 and the application program 20. This enables the transfer of the application program 20 to the PLC 10 through the network 12.

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.

Wischinski, Rainer H

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 onAssignorAssigneeConveyanceFrameReelDoc
Jul 17 2000WISCHINSKI, RAINER H SCHNEIDER AUTOMATION INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0111340563 pdf
Aug 09 2000Schneider Automation Inc.(assignment on the face of the patent)
Date Maintenance Fee Events
Jun 24 2011M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Jun 25 2015M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Jun 25 2019M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Dec 25 20104 years fee payment window open
Jun 25 20116 months grace period start (w surcharge)
Dec 25 2011patent expiry (for year 4)
Dec 25 20132 years to revive unintentionally abandoned end. (for year 4)
Dec 25 20148 years fee payment window open
Jun 25 20156 months grace period start (w surcharge)
Dec 25 2015patent expiry (for year 8)
Dec 25 20172 years to revive unintentionally abandoned end. (for year 8)
Dec 25 201812 years fee payment window open
Jun 25 20196 months grace period start (w surcharge)
Dec 25 2019patent expiry (for year 12)
Dec 25 20212 years to revive unintentionally abandoned end. (for year 12)