Applicants' invention relates generally to the field of factory automation devices and more particularly to a system for coupling a network of factory automation devices through an internetwork to a monitoring and control device.
Remote monitoring and control of systems and processes have taken many forms. In the past, dedicated lines became the most common forms of communication between a control system and a remote location. This has limited application since the control system was not accessible from multiple locations. Modems have made it possible to access the control system from different locations, but these types of systems are generally restricted to downloading and uploading data files. Providing any type of control function between locations is rather limited in this type of environment. Further, an end user generally requires a customized interface to access the control system.
With the growth of the Internet, and its World Wide Web providing a delivery platform for organizing Internet data through hypertext links, a client server system can be designed that will provide each end user the same type of a user friendly interface with the same universal access to services on the Web. The Web is a network of documents called sites or pages stored on server computers throughout the world. Each page will usually contain text, some type of multimedia offerings such as graphic images, video, or audio, and possible hypertext links to other documents. A browser allows a user to view the pages and interact with the choices associated with it. The browser is a graphical software program that sends commands to the Internet Web site and displays whatever information is available on the page. Various browser programs are commercially available from different manufacturers.
The Internet network employs methods designed to handle thousands of general purpose computers sharing a single cable and therefore has no ability to differentiate traffic in terms of its purpose or the criticality of its data. The Internet is no longer a network of computers sharing a single cable, but rather a web of interconnected point to point links involving both general purpose stations and specialized infrastructure components such as routers and firewalls.
The type of network device used by the end user to connect to the Web is of no regard, i.e., personal computer, work station, PDA, cell phone, etc. Communication over the Internet and other networks requires one of several types of protocols. Protocols such as Internet Protocol (IP) provide for file transfers, electronic mail, and other services. A Sun Microsystem programming language known as Java, along with Hypertext Markup Language (HTML) used in designing layouts and graphics for a Web site or page have extended Internet technology such that a web site can be used for dynamic applications, commonly called applets, that can be downloaded and run by the end user. These applets are interpreted and run within a Web browser and have been generally restricted to word processing and similar uses. Downloading and running applets can be slow in comparison to other types of compiled languages. Security rules imposed on a browser and enforced by the underlying Java language prevent applets from obtaining certain data from any other device other than the Web server itself.
Factory automation devices such as programmable logic controllers (PLCs) and IO modules are widely used in industry and process control. Many manufacturers provide factory automation information using Microsoft Windows and other types of communication networking environments. These networks are usually slow, are not universally accessible and are limited to monitoring and data exchange. Control may be implemented, but since the communication networks are non-deterministic, control is not real time. Specialized industrial networks using proprietary fieldbus alternatives can be very expensive. Conversion products are required to allow information carried over those networks to be visible on a general purpose network. There are significant installation and other deployment costs associated with the existence of such intermediate devices. Firewalls between the Web server and the application are designed to solve problems of security and are not designed for high performance.
Programming a factory automation device, such as a programmable logic controller (PLC), in these environments has many shortcomings. With a variety of PLCs available in an integrated control system, making changes or updates may be difficult and expensive. The program package uses valuable memory within the PLC that can be more effectively utilized in other areas. Sharing of PLC resources to create and edit programs run on the PLC can diminish the PLC's capability and utility.
It would be desirable to develop an automation control system whereby a user could use general, commercial networks such as the Internet, in place of specialized industrial networks to remotely edit new and existing factory automation control devices such as PLCs.
An object of the present invention includes a system for programming an application program controlling a factory automation device on a communication network. The system for programming the factory automation device comprises a programming device operably connected to the communication network. A program package resident in the programming device is used for creating and editing the application program. At least one web page resides on the programming device and is operably connected to the program package. The web page is accessible to a user using a web browser to edit the application program controlling the factory automation device.
A further object of the present invention is to provide remote programmability of a factory automation device contained in an industrial control system. Updates to the operating software of the factory automation device can also be transferred through the Internet access. Residing in a programming device is a program package accessible to a user on the Internet. The user can edit programs controlling the operation of the factory automation device. The factory automation device's operating software can be transferred to the programming device from a remote location or from the programming device to the factory automation device.
Yet another object of the invention allows for easy access over a commercial network such as the Internet to a device for programming an application program of a factory automation device, preferably a programmable logic controller (PLC). Access can be made locally or worldwide using a commercial Web browser. The invention is comprised of a control system of essential elements including, but not limited to a Web interface, a local network, and a network interface to at least one PLC control system running an application program for controlling output devices in response to status of input devices. The Web interface runs Web pages from an Ethernet board coupled directly to the programming device and includes a hypertext transfer protocol (HTTP) interpreter, a programming device driver, a Transmission Control Protocol/Internet Protocol (TCP/IP) stack, and an Ethernet board kernel. The Web interface provides access to the programming device by a user at a remote location through the Internet. The interface translates the industry standard Ethernet, TCP/IP and HTTP protocols used on the Internet into data recognizable to the programming device. Using this interface, the user can retrieve all pertinent programming data regarding the operation of the PLC, including PLC configuration, Input/Output (I/O), registers, operating statistics, diagnostics, and distributed I/O configurations.
Another object of the present invention is to provide an interface between a programming device and an industrial control system coupled to a network such as the Internet.
Another object of the present invention is to provide remote access through a web browser to operating program information and data contained in an industrial control system having a factory automation device.
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.
Although this invention is susceptible to embodiments of many different forms, a preferred embodiment will be described and illustrated in detail herein. The present disclosure exemplifies the principles of the invention and is not to be considered a limit to the broader aspects of the invention to the particular embodiment as described.
In
The web site 4 includes a network interface 16 having an unique Internet address 18, a server 20, and an application program 22. The server 20 acts as a hypertext transfer protocol (HTTP) interpreter which uses Transmission Control Protocol (TCP) in conjunction with Internet Protocol, through a Transmission Control Protocol/Internet Protocol (TCP/IP) stack 24 to interact with the network interface 16 and the application program 22. This enables the transfer of the application program 22 to the PLC 32 through the internet 14. The application program 22 provides an operating program to the PLC 32. The PLC 32 operating program can be created or edited remotely from the PLC and then transmitted to the PLC for use in the communication network when desired. The TCP/IP stack 24 enables data transfers over the Internet 14 between the user 2 and the web site 4 as required for the various layers specified by the IP protocol.
The user 2 can connect to the Internet 14 using one of a number of Internet service providers and will enter the address of the web site 4 when connected. The web site 4 will display a home page which may contain text, some type of multimedia offerings such as graphic images, video, or audio, and possible hypertext links to other documents. The browser 10 will allow the user 2 to view the page and interact with the choices associated with it. The browser 10 will send commands to the web site 4 which will use the application program 22 to display whatever information is available from the PLC's operating program. The browser 10 functions as a remote human-machine interface (HMI) with the communication network and PLC's operating program.
Associated with the PLC 32 are its application programs 22, programming device 21 and Input/Output (I/O) modules 40. The application programs 22 include a ladder logic program for controlling the I/O modules 40 of the network. The web server 30 functions as a node on a TCP/IP network 14 allowing it to send data and commands to a device on the network and receive the response. Although the TCP/IP network 14 in the preferred embodiment is an Ethernet network, other high level protocols could be used. Using a web browser at a remote location through the Internet, a user can view and edit the PLC's operating program.
A program package 33, using either Java or HTML, resides within a programming device 21. The programming device 21 is operably connected to the network and can be physically placed near or far from the PLC 32. The program package 33 is based on Ethernet and Web technology and allows editing of the application program 22 by the user using a programming device 21, preferably a personal computer 8. The application programs 22, stored as either a ladder logic or an IEC 1131 language program, are viewed and saved as PLC programs within the programming device 21, accessible using either the standard HTTP or custom PLC protocols that run over TCP/IP. The information needed to edit the operating program, including web pages for the editing procedures, reside in the programming device 21, preferably the program package 33. The program package 33 converts the PLC operating programs to and from formats needed for editing with a browser 10. The program package 33 also includes a symbol editor 37 and a language editor 39. The user 2 will be able to view, create and edit the PLC application programs 22 from anywhere a browser 10 is available. A firewall or security for the programming device 21 maintained as part of its network interface prevents unauthorized users from accessing the program package 33.
In addition to providing the ability to edit the application programs 36 by providing a File Transfer Protocol (FTP) based view of the application programs 36, file backup and restore can be handled through standard programming tools, allowing the user to manage the application programs 36 directly and efficiently and to also use standard revision control software to manage the application programs 36. Further, since all the symbols can be stored within the programming device 21, any device capable of interfacing with the network 14, i.e., PDA, cell phone, etc., can be used to edit the application program 36. Alternatively, the comments and symbols can be stored on another network device, such as a PC, that is physically separated form the programming device 21.
A user at a remote location can edit the operating program of the PLC 32 by accessing a web page associated with the program package 33 via the Internet. A mimic page shown in
It is also to be understood by one of ordinary skill in the art that the communication network can comprise any combination of wired and wireless technology.
While the specific embodiments have been illustrated and described, numerous modifications are possible/without departing from the scope or spirit of the invention.
This application is a continuation-in-part of U.S. patent application Ser. No. 09/303,458, filed Apr. 30, 1999 now U.S. Pat. No. 6,151,625, which is a continuation-in-part of U.S. patent application Ser. No. 08/927,005, filed Sep. 10, 1997 now U.S. Pat. No. 6,282,454. This application is also related to the following, commonly assigned application, entitled “Apparatus for Controlling Internetwork Communications,” U.S. patent application Ser. No. 08/926,837. The contents of these Applications are expressly incorporated herein by reference.
| Number | Name | Date | Kind |
|---|---|---|---|
| 3971000 | Cromwell | Jul 1976 | A |
| 4251858 | Cambigue et al. | Feb 1981 | A |
| 4319338 | Grudowski et al. | Mar 1982 | A |
| 4688167 | Agarwal | Aug 1987 | A |
| 4701845 | Andreasen et al. | Oct 1987 | A |
| 4845644 | Anthias et al. | Jul 1989 | A |
| 4858152 | Estes | Aug 1989 | A |
| 4897777 | Janke et al. | Jan 1990 | A |
| 4912623 | Rantala et al. | Mar 1990 | A |
| 4937777 | Flood et al. | Jun 1990 | A |
| 4949274 | Hollander et al. | Aug 1990 | A |
| 4953074 | Kametani et al. | Aug 1990 | A |
| 4974151 | Advani et al. | Nov 1990 | A |
| 4979107 | Advani et al. | Dec 1990 | A |
| 4992926 | Janke et al. | Feb 1991 | A |
| 5012402 | Akiyama | Apr 1991 | A |
| 5023770 | Siverling | Jun 1991 | A |
| 5047959 | Phillips et al. | Sep 1991 | A |
| 5072356 | Watt et al. | Dec 1991 | A |
| 5072412 | Henderson, Jr. et al. | Dec 1991 | A |
| 5109487 | Ohgomori et al. | Apr 1992 | A |
| 5122948 | Zapolin | Jun 1992 | A |
| 5131092 | Sackmann et al. | Jul 1992 | A |
| 5134574 | Beaverstock et al. | Jul 1992 | A |
| 5151896 | Bowman et al. | Sep 1992 | A |
| 5151978 | Bronikowski et al. | Sep 1992 | A |
| 5157595 | Lovrenich | Oct 1992 | A |
| 5159673 | Sackmann et al. | Oct 1992 | A |
| 5161211 | Taguchi et al. | Nov 1992 | A |
| 5165030 | Barker | Nov 1992 | A |
| 5179700 | Aihara et al. | Jan 1993 | A |
| 5225974 | Mathews et al. | Jul 1993 | A |
| 5245704 | Weber et al. | Sep 1993 | A |
| 5251302 | Weigl et al. | Oct 1993 | A |
| 5283861 | Dangler et al. | Feb 1994 | A |
| 5297257 | Struger et al. | Mar 1994 | A |
| 5307463 | Hyatt et al. | Apr 1994 | A |
| 5321829 | Zifferer | Jun 1994 | A |
| 5343469 | Ohshima | Aug 1994 | A |
| 5349675 | Fitzgerald et al. | Sep 1994 | A |
| 5386524 | Lary et al. | Jan 1995 | A |
| 5398336 | Tantry et al. | Mar 1995 | A |
| 5406473 | Yoshikura et al. | Apr 1995 | A |
| 5420977 | Sztipanovits et al. | May 1995 | A |
| 5430730 | Sepulveda-Garese et al. | Jul 1995 | A |
| 5440699 | Farrand et al. | Aug 1995 | A |
| 5446868 | Gardea et al. | Aug 1995 | A |
| 5471617 | Farrand et al. | Nov 1995 | A |
| 5528503 | Moore et al. | Jun 1996 | A |
| 5598536 | Slaughter, III et al. | Jan 1997 | A |
| 5611059 | Benton et al. | Mar 1997 | A |
| 5613115 | Gihl et al. | Mar 1997 | A |
| 5623652 | Vora et al. | Apr 1997 | A |
| 5625781 | Cline et al. | Apr 1997 | A |
| 5699350 | Kraslavsky | Dec 1997 | A |
| 5734831 | Sanders | Mar 1998 | A |
| 5793954 | Baker et al. | Aug 1998 | A |
| 5805442 | Crater et al. | Sep 1998 | A |
| 5862391 | Salas et al. | Jan 1999 | A |
| 5950006 | Crater et al. | Sep 1999 | A |
| 5975737 | Crater et al. | Nov 1999 | A |
| 5982362 | Crater et al. | Nov 1999 | A |
| 5997167 | Crater et al. | Dec 1999 | A |
| 6016523 | Zimmerman et al. | Jan 2000 | A |
| 6028866 | Engel et al. | Feb 2000 | A |
| 6032203 | Heidhues | Feb 2000 | A |
| 6038486 | Saitoh et al. | Mar 2000 | A |
| 6058251 | Okamoto et al. | May 2000 | A |
| 6061721 | Ismael et al. | May 2000 | A |
| 6122670 | Bennett et al. | Sep 2000 | A |
| 6151640 | Buda et al. | Nov 2000 | A |
| 6263487 | Stripf et al. | Jul 2001 | B1 |
| 6268853 | Hoskins et al. | Jul 2001 | B1 |
| 6510350 | Steen et al. | Jan 2003 | B1 |
| 6587884 | Papadopoulos et al. | Jul 2003 | B1 |
| 6788980 | Johnson | Sep 2004 | B1 |
| 6853867 | Klindt et al. | Feb 2005 | B1 |
| 20040210629 | Klindt et al. | Oct 2004 | A1 |
| Number | Date | Country |
|---|---|---|
| 44 10 171 | Apr 1995 | DE |
| 296 00 609 | Mar 1997 | DE |
| 196 15 093 | Oct 1997 | DE |
| 19615190 | Oct 1997 | DE |
| 0 542 657 | May 1993 | EP |
| 0 814 393 | Dec 1997 | EP |
| 0917034 | May 1999 | EP |
| 0982644 | Mar 2000 | EP |
| 2785122 | Apr 2000 | FR |
| 60192447 | Sep 1985 | JP |
| 09245705 | Mar 1999 | JP |
| WO 9718636 | May 1997 | WO |
| WO 9853581 | Nov 1998 | WO |
| WO 0114963 | Mar 2001 | WO |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 09303458 | Apr 1999 | US |
| Child | 09635278 | US | |
| Parent | 08927005 | Sep 1997 | US |
| Child | 09303458 | US |