MXPA99004249A - Web interface to a programmable controller - Google Patents
Web interface to a programmable controllerInfo
- Publication number
- MXPA99004249A MXPA99004249A MXPA/A/1999/004249A MX9904249A MXPA99004249A MX PA99004249 A MXPA99004249 A MX PA99004249A MX 9904249 A MX9904249 A MX 9904249A MX PA99004249 A MXPA99004249 A MX PA99004249A
- Authority
- MX
- Mexico
- Prior art keywords
- interface module
- programmable logic
- data
- logic controller
- backplane
- Prior art date
Links
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims description 25
- 230000006854 communication Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims description 9
- 238000010168 coupling process Methods 0.000 claims description 9
- 238000005859 coupling reaction Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000009434 installation Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004886 process control Methods 0.000 description 7
- 230000036541 health Effects 0.000 description 6
- 240000003538 Chamaemelum nobile Species 0.000 description 5
- 235000007866 Chamaemelum nobile Nutrition 0.000 description 5
- 235000007232 Matricaria chamomilla Nutrition 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 3
- 239000006096 absorbing agent Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 230000009131 signaling function Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012084 conversion product Substances 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Abstract
A control system includes an Internet web interface to a network of at least one programmable logic 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 PLC back plane and includes an HTTP protocol interpreter, a PLC back plane driver, a TCP/IP stack, and an Ethernet board kernel. The Web interface provides access to the PLC back plane 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 PLC. Using this interface, the user can retrieve all pertinent data regarding the operation of the programmable logic controller system.
Description
WEB INTERFACE FOR A PROGRAMMABLE CONTROLLER
Technical Field The present invention relates generally to the field of programmable controllers and, more particularly, to a system for coupling a network of programmable controllers through an inter-network to a monitoring and control device. Antecedent Technique The systems and processes of remote monitoring and control have taken many forms. In the past, dedicated lines have become the most common form 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 places, but these types of systems are generally restricted to downloading and uploading data files. Providing any type of control function between places is rather limited in this type of environment. In addition, an end user usually required a custom interface to access the control system. With the growth of the Internet and its World Wide Web providing a delivery platform to organize Internet data through hypertext links, a client server system can be designed that will give each end user the same type of user friendly interface with the same universal access to Web services. The Web call is a network of documents called sites or pages, stored on servers around the world. Each page will usually contain text, some type of multimedia offer, such as graphic, video or audio images, and possibly hypertext links to other documents. A browser allows a user to read the pages and interact with the selections associated with them. The browser is a graphic software program that sends commanders to the Internet website and displays whatever information is available on the page. Various browser programs are commercially available from different vendors. The Internet network employs methods designed to handle thousands of general-purpose computers that share 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 that share a single cable, but rather a network of interconnected point-to-point links that involve both general-purpose stations and specialized infrastructure components, such as routers and firewalls. The type of personal computer or workstation used by the end user to connect to the Web is no longer of importance. Communication over the Internet and other networks requires one of several types of protocols. Protocols such as Internet protocol (IP) provide file transfers, email, and other services. A programming language from Sun Microsystems known as Java, together with the hypertext markup language (HTML) used to design templates and graphics for the site or web page, has extended Internet technology such that a Web site can be used for applications dynamic, commonly called "chamomiles" ("ap-plets"), which can be downloaded and run by the end user. These chamomiles are interpreted and executed within a Web browser and have been generally restricted to word processing and similar uses. The download and execution of chamomiles can be slow compared to other types of compiled languages. Security rules imposed on a browser and introduced by the underlying Java language prevent chamomiles from obtaining certain data from any other device, except the Web server itself. Programmable logic controllers (PLCs) are widely used in industrial and process control. Many manufacturers provide factory automation information using Microsoft Windows and other types of communications network environments. These networks are usually slow, are not universally accessible and are limited to monitoring and data exchange. Control can be implemented, but since communication networks are non-deterministic, control is not real-time. Specialized industrial networks that use patented field connector bar alternatives can be extremely expensive. Conversion products are required to allow the information carried by those networks to be visible in a network of general purposes. There are considerable installation costs and other startup costs associated with the existence of such intermediate devices. Fire walls between the Web server and the application are designed to solve security problems and are not designed for high performance. It would be desirable to develop an automation control system whereby a user can use general, commercial networks, such as the Internet, instead of specialized industrial networks to remotely monitor automation control devices, such as PLCs. SUMMARY OF THE INVENTION Accordingly, the main objective of the present invention is to provide an interface between an industrial control system and a Web browser coupled to a free network of connections, such as the Internet. Another objective of the present invention is to provide remote access through a Web browser to the information and data contained in an industrial control system having a programmable logic controller. In the preferred embodiment of the invention, the invention allows easy access by a commercial network, such as the Internet, to information within a programmable logic controller (PLC). Access can be done locally or globally using a commercial Web browser. The invention comprises a control system of essential elements, including, but not limited to a Web interface, a local network, and a network interface with at least one PLC control system running an application program for controlling output devices in response to the state of input devices. The Web interface runs Web pages from an Ethernet card directly coupled to the backplane of the PLC and includes an HTTP protocol interpreter, a PLC backplane controller, a TCP / IP stack, and an Ethernet card kernel. The Web interface provides access to the backplane of the PLC through a user in a remote location through the Internet. The interface translates the standard protocols in the Ethernet, TCP / IP and HTTP industry used in the Internet into data recognizable by the PLC. Using this interface, the user can retrieve all relevant data related to PLC operation, including PLC configuration, I / O statuses and registers, operation statistics, diagnostics and distributed 1/0 configurations. Updates to the operating software can also be downloaded by accessing the Internet. Other features and advantages of the invention, which are believed to be novel and not obvious, will be apparent from the following description, taken in conjunction with the accompanying drawings, in which a preferred embodiment of the invention is shown. Reference will be made to the claims to interpret the full scope of the invention, which are not necessarily represented by such embodiment. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows a panoramic block diagram of a typical system illustrating the relationship between a user in a remote location and an Internet website used to monitor a process control system according to the present invention. . Figure 2 is a basic block diagram of the present invention illustrating an Internet interface to a programmable logic controller system. Figure 3 is a block diagram of the Web server module illustrated in Figure 2, according to the present invention. Figure 4 is a typical imitation page available to a user in a remote location using a browser illustrating the present invention for controlling a programmable controller system. Detailed Description Although this invention is susceptible of embodiments in many different ways, a preferred embodiment will be described and illustrated in detail herein.
The present disclosure exemplifies the principles of the invention and should not be considered a limit to the broader aspects of the invention by the particular embodiment described. Figure 1 shows a panoramic block diagram of a typical system illustrating the relationship between a user 2 in a remote location and an Internet Web site 4 used to monitor a process control system 6. User 2 will have a personal computer (PC) 8 having a commercially available browser 10, such as Navigator from Netscape Commu-nications or Microsoft Internet Explorer, installed to observe the contents of Web site 4 by means of a monitor 12. The PC provides a remote interface to be human- machine (HMI) to the process control system 6. Various interconnection services are readily available to provide the physical and electrical interconnection of the PC to the Internet 14 itself. The Internet 14 is a collection of independent communication networks worldwide that are interconnected and function as a single entity free of connections. The communication is based on a client-server base, using several established protocols that allow communications and file transfers between the client and the server. The most widely used protocol is the Internet Protocol (IP). Web site 4 includes a network interface 16 having a single Internet address 18, a server 20, and an application program 22. Server 20 acts as the HTTP interpreter using TCP in conjunction with IP, through TCP stacking / IP 24 to interact with the network interface 16 and the application program 22. This enables data transfer between the application program 22 and the user 2 through the Internet 14. The application program provides data from the application system. process control 6. This data can be used to monitor the process of control by user 2 in the remote place. Stacking TCP / IP 24 enables data transfers over the Internet 14 between user 2 and Web site 4, as required for the various layers specified by the IP protocol. User 2 can connect to Internet 14 using one of several Internet access providers and will capture the address of Web site 5 when it connects. Website 4 will display a main page that may contain text, some type of multi-media elements such as graphic, video or audio images, and possibly hypertext links to other documents. The browser 10 will allow the user 2 to read the page and interact with the selections associated with it. The browser 10 will send commands to Web site 4, which will use the application program 22 to display any information that is available from the process control system 6. The browser 10 functions as a remote human-machine interface or HMI control of the system of process control, as will be explained later in detail.
Figure 2 shows a basic block diagram of the present invention, illustrating the Internet interface for a programmable logic controller system. The Web site 4 includes the network interface 16 having a unique Internet address 18 and a Web server 30. The Web server 30 provides the main page for the Web site. A wall of fire or security for the overall system may be included in the Web server 30, but it is generally maintained as part of the network interface 16. In addition to providing security for various pages on the site, the user may disable the server Web 30. A password and a list of users are provided in the initial configuration files stored on the Web server 30 that are downloaded from a remote server. The protection of the configuration file is then provided by the remote server and the Web server 30 through the password and the user list. The Web server 30 provides a direct connection for a programmable logic controller (PLC) 32 to the Internet 14 connecting the Web server 30 in its backplane 34. The Web server 30 provides both a client interface and a server interface. All signals between the PLC 32 and the Web server 30 are through the backplane 34 rather than by a set of cables that normally have to be coupled to input / output modules that are themselves connected in the backplane 34. Rear plane signals include direction, control, data and energy. The client interface allows a user to send commands to a remote node over the Internet and the server interface allows processing commands that originated from a remote node. Controlling the PLC 32 from a remote HMI, essentially on a real-time basis, is possible by controlling the flow of data through the Web server 30. Associated with the PLC 32 are its application programs 36, the double gate memory 38 and the input / output devices 40. The application program includes a ladder logic program for controlling the I / O devices 40. The Web server 30 functions as a node in a TCP / IP network 42, allowing it to send commands to the PLC 32 and receive an answer. Although the TCP / IP network 42 in the preferred embodiment is an Ethernet network, other high-level protocols may be used. Using a web browser at a remote location via the Internet 14, a user can control and view configuration information of the PLC 32. The Web server 30 is shown in greater detail in Figure 3. Various components provide the connectivity required to perform its functions. functionality A real-time operating system 44 controls the interaction between the components. The operating system 44 allocates the central processor (CPU) 46 to various tasks, provides memory management and provides a set of message services and signal services. Message and signal services allow communication between tasks, and between controllers and a task. The connection to the TCP / IP network 42 is through an Ethernet controller 48 that transmits and receives messages through the Ethernet card via an Ethernet communications chip such as the AM79C961. The Web server will have a unique global address 18, allowing it to be addressed by other devices in the network. The communication can be by a fiber optic cable or a twisted pair cable. The Ethernet controller 48 manages transmission dampers 50 and reception 51 in the memory 52, and interfaces with the AM79C961 Ethernet chip. The transmission shock absorbers 50 and reception shock absorbers 51 are shared by both the AM79C961 chip and the Ethernet 48 controller. The Ethernet 48 controller also provides a transmission request interface, and a reception indication interface to a TCP / IP 54 stack. AM79C961 chip provides a transmission queue interface, a receive queue interface, and generates interrupts upon completion of the transmission of a message and upon receipt of a new message. The Ethernet controller 46 has reception dampers in the reception queue. In the interrupt routine, the Ethernet controller 46 examines the reception queue. If there are any messages in the receive queue, the receive buffer passes to the TCP / IP stacking 54. The TCP / IP stacking 54 copies the buffer, and some time later it calls the Ethernet controller 48 to return the buffer and places the buffer back back in the reception queue. Stacking TCP / IP 54 calls the Ethernet controller 48 to transmit a message. The Ethernet controller 46 attempts to assign a buffer from the shared memory 52. If successful, it copies the message to the buffer, and places the buffer in the transmission queue AM79C961. If there is no transmission damper, then the controller discards the transmission message. In the interrupt routine, the Ethernet controller 48 examines the transmission queue and releases the transmitted dampers. The TCP / IP network 42 allows special MSTR (master) functions that allow nodes in the network to initiate message transactions. These MSTR functions include reading and writing data and are used for commands and responses. They allow programs running on PLC 32 to send commands to a remote node on the TCP / IP network 42 and receive the answers. A backplane controller 56 sends commands and receives the response to the PLC 32 by the backplane 34. The backplane controller 56 receives requests from the MSTR blocks of the PLC ladder logic stored in its memory 38. When a response is available, the backplane controller 56 passes it back to the MSTR block. The backplane controller 56 provides a server interface 58 and client 60 with the applications. The server interface 58 allows an application to issue a request command to the executive program of the PLC 32, and receive its response. The client interface 60 allows an application to receive a new MSTR request, and passes the response to the ladder logic program. The server interface 58 uses a queuing mechanism and back-call functions. A request queues both the request and the callback function associated with the request. When the backplane controller 56 serves the request in its interrupt routine, it calls the associated callback function. The answer and the original request are passed to the retro-call-day function. The callback function can call an operation routine either to pass a message or signal to the application. The client interface 60 also uses queuing and back-calling functions. The client application queues both an indication request and a callback function associated with the request. When the backplane controller 56 detects a new MSTR block request in its interrupt routine, it calls the associated callback function. The request is passed to the call back function. The callback function can call an operating system routine to either pass a message or a signal to the application. If the backplane controller 56 detects that the MSTR block has been aborted, or is no longer being resolved, it calls an associated abort callback function, supplied by a user. The application calls a routine to pass the MSTR response and a back-call routine associated with the controller. Some time later, the controller passes the response to the ladder logic program in its interrupt service routine, and then calls the back-call function supplied by the user. The PLC 32 interfaces with the hardware of the Web server 30 via the double gate memory 38. It reads and writes to the double gate memory 38 using an ASIC chip. Writing to a specific place will cause an interruption. The PLC 32 first writes a message in the double gate memory 38, and then causes an interrupt. The message indicates a type of command. A type indicates that an MSTR block is being resolved. Other types are used to pass requests to the PLC 32, and get the answers to the requests. After the PLC 32 passes the message, it arranges the double gate memory 38 for commands issued by the backplane controller 56. These commands are read memory, write memory, and processing is completed. The backplane controller 56 uses state machines to process the MSTR interrupts. The maximum number of active MSTR blocks is set to four in the present invention, requiring four state machines. When the backplane controller 56 receives an MSTR interrupt, it attempts to find an associated state machine that matches the MSTR block. If there are already four pending transactions, there are no more available, and the backplane controller 56 will set the MSTR outputs to false. If a state machine is found, the backplane controller 56 determines whether it is a new transaction, a pending transaction, or a response is available. If it is a new transaction, copy the request, and call the associated back-call routine of the application. If it is a pending transaction, it indicates to the ladder logic program that the MSTR block is still busy. If a response is available, the backplane controller 56 copies the response, sets the MSTR completion or error output, and calls the application's callback routine. Two interruptions are used to process an application.
In the first interruption, called the pre-commit interrupt, the backplane controller 56 copies the request to a data structure located in the dual memory 38 of the PLC 32. In the second interruption, called the interruption of the end of the After scanning, the backplane controller 56 copies the response of the controller data structure to the user's data buffer. Then call the associated back-call function of the user. The request to access the records of the PLC 32 is processed by the backplane controller 56, and is not sent to the executive program of the PLC for processing. The backplane controller 56 determines the memory location in the memory 38 of the registers of the PLC 32. In an interruption of the end of the scan, the backplane controller 56 processes the read / write requests of registers by sending commands via the dual gate memory 38 to PLC 32 to read or write the places that contain the registers. The backplane controller 56 will service a maximum of four register read / write requests at the end of a scan interruption. A client task 58 interfaces with the TCP / IP stack 54, the backplane controller 56, and uses the message services of the operating system 44. It processes the MSTR request. When the client task 58 receives an MSTR request from the backplane controller 56, it passes the request to the TCP / IP stack 54. When the TCP / IP stack 54 returns a response to the client task 58, the response passes to the client. backplane controller 56. TCP / IP stacking 54 provides a Berkeley TCP / IP interface and a signal extension. The signal extension calls a function supplied by the user, which passes a pin number, a task identification, and an event. The signal function calls the operating system 44 to send a message to the task indicated by the task identification. Sends a message either client task 58 or server task 60. Client task 58 raises request prompts to backplane controller 56, and the associated callback routine calls operating system 44 to send a message to the task of client 58 for a new MSTR transaction. Client task 58 manages multiple outstanding MSTR transactions using the state machines. There is a linked list of connection state machines. The connection state machines are used to establish and close connections. In addition, each connection state machine contains a list of transaction state machines. Each transaction machine in the connection state machine represents a transaction to a node represented by the connection machine. The transaction machines are used to send a request, and process the response. Client task 58 enters a loop after carrying out initialization. Call operating system 44 to receive a message. The operating system will block client task 58 until there is a message or until a time has expired. It receives either a TCP / IP 54 stacking message, a MSTR back-call routine, or its time expires. Process the message or the expiration of time and then re-enter the loop. If the message received from the operating system 44 is a new MSTR request, the client task will obtain a connection state machine, and places a new transaction machine at the end of the list of connection state machines. At this point, the transaction machine will attempt to transmit the message. It may not be possible to transmit the message because no connection has been established, or because the remote side may have applied flow control. If the message received from the operating system 44 is a TCP / IP event, the client task 58 finds the associated connection machine and determines whether the TCP / IP event is an accepted connection., an aborted connection, or an event of received data. Based on the connection state, and the state of the transaction machine, the client task 58 processes the message to advance the transactions, if any. Receiving data for MSTR responses can occur during several TCP / IP events, and the transaction state machine assembles the data into a response. When client task 58 requests the TCP / IP stack to transmit a message, not the entire message can be transmitted. This occurs when the remote node is controlled in flow, which is explained later. If the call to the operating system 44 to receive a message returns with an expiration of time, or if there is a message, the client task 58 searches for the list of connection machines that are controlled in flow. For each flow-controlled connection, try to advance the transaction state machines in the list of connection state machines that are flow-controlled. The server task 60 processes a request originating from the user at the remote location. The server task 60 is arranged in interface with the backplane controller 56, the TCP / IP stacking 54, and the message services of the operating system 44. The server task 60 places requests to the backplane controller 56, and a associated back-calling routine uses the message services of the operating system 44 to send the response to the server task 60. A signal function of the TCP / IP stacking 54 also uses the sending services of the operating system 44 to send a TCP / IP event to server task 60. Server task 60 can handle multiple transactions and connections. As the client task 58, it maintains a list of connection machines, and each connection machine contains a list of transaction machines. The connection machines are for managing the connection and the transaction machines manage the incoming requests and responses. The server task 60 enters a loop after carrying out the initialization. Call operating system 44 to receive a message. The operating system 44 blocks the server task 60 until there is a message or until the time expires. It receives a message from the signal handler of the TCP / IP stacking 54, from the backplane controller 56, or the time expires. Process the message or time and re-enter the loop. If the message received from the operating system 44 is from the signal handler of the TCP / IP stacking 54, the server task 60 determines whether the event is a connection request, a closing pin event, or a received data event. Based on the TCP / IP event, the server task 60 uses the connection machine and the transaction machine to advance the transaction. The data received for a request may occur during several received data events, and the transaction machine assembles the events in a request message. When the response message is received from the operating system 44, the server task 60 finds the connection machine and the transaction machine in order to send the response. When the server task 60 requests the TCP / IP stacking 54 to transmit a message, not the entire message can be transmitted. This occurs when the remote node is controlled in flow. If the call to the operating system 44 is to receive a message return with expiration of time, or if there is a message, the server task 54 searches for the list of connection machines that are controlled in flow. For each flow-controlled connection, try to advance the transaction state machines in the list of connection state machines that are flow-controlled. After the task of the server 60 has analyzed the header of a request that arrives, it attempts to assign a structure to pass the request to the backplane driver 56. If the server task is already processing a predetermined number of pending requests, the attempt fails, the connection is placed in a locked state, and the body of the request is not read from TCP / IP stacking 54. As a result, TCP / IP stacking 54 can apply flow control to the remote node. When one of the requests is incomplete, the free data structure event causes a blocked connection machine to continue processing the incoming Modbus request. The HTTP task 62 interfaces with the TCP / IP stack 54, and the backplane controller 56. The HTTP server task 62 receives an HTTP request from the TCP / IP stack
54. To process the request, you can access the PLC 32 through the backplane controller 56 and a backplane 34. The HTTP server task 62 sends back the response through the TCP / IP stacking 54. The rack is supplied by the system operational 44. The rack creates the HTTP task, accepts the connection, and analyzes the HTTP request. After analyzing the request, it calls operating system 44 to process the request. Processing the request involves determining the type of request and processing the actual request. The different types of requests allow a user to acquire a slide of the PLC 32 operations allowing a view of various registers within the PLC 32 and the dual memory 38. These types of requests also include displaying the configuration of the PLC 32, remote statistics, Distributed I / O and module health, screen logs, backplane configuration, Ethernet statistics and others, as shown in Table 1: Table 1 Show main page Show programmable logic controller configuration Show Ethernet statistics Show the record request request page Display the records 4x Show the racks attached to the backplane of the controller Send an image. The different images are gif files that are displayed on the various pages Show 1/0 remote statistics Display the list of 1/0 remote falls configured Show a 1/0 remote rack and health configuration Show 1/0 fall communication statistics Remote display the reference I / O values of a remote I / O module Display a list of configured distributed I / O nodes Show the configuration and health of a distributed I / O node Display the reference values of an I / O module Distributed The home page contains hyperlinks to seven pages of data. The configuration page will display the configuration of PLC 32. The remote I / O and health status pages of the distributed I / O module are a series of linked pages. The first page displays the health statistics of the communications in the remote I / O header and distributed I / O and contains a link to a configured fall page. The configured drop page displays a table that contains fall numbers that are linked to a fall status page and rack numbers that are linked to drop and rack configuration pages. Two tables are included in the fall status page, one to show the communication status of the fall and another to show which racks are populated with the 1/0 modules. The drop and rack configuration page displays the 1/0 modules, your health, and the slot location for the given rack. From a selected module, a user can observe their input and output values. The registration data is displayed in a template that has a form and a table, the user capturing an address and a length. The table will display the values of the records. A table showing option modules and their slot placement is displayed on the backplane configuration page. The data that appears on the pages is static but can be updated automatically at pre-selected times. The operating system 44 processes these requests and responds by sending HTTP messages through the TCP / IP stacking 54. The processing of some of these requests involves reading the PLC traffic keeper, registers, coils or various zero-page locations where they are maintained. the statistics. To carry out these readings, the operating system 44 sends a request to the post-master plane controller 56 and uses an event signal mechanism and event flags to determine when the request is completed. After sending the request to backplane controller 56, operating system 44 waits for an event flag to be sent. When the backplane driver completes the request, the backplane controller 56 calls a back-call routine, which sets the event. The operating system 44 then resumes the processing of the request. An imitation page representing something of the hardware physically connected to a programmable logic controller system can be constructed using various readily available graphic programs that are not an objective of the present invention. The present invention allows a user in a remote location, using a browser, to observe the page of imitation and actually control various components illustrated on the page of imitation. Figure 4 shows a simple ladder logic diagram of engine start-stop control that may be available as an imitation page for the user. Pushing a motor start push button 150 will cause a motor start relay 152 to be energized through the normally closed stop push button 154 and a normally closed overload contact 156. The motor starting auxiliary contact 158 will lock the relay 152 after the start push button 150 is released and the pilot light 160 will illuminate. The auxiliary motor start contact 162 will provide power to the pump motor 164, which will remain running until the stop push button 154 is depressed or the overload relay 166 senses an overload condition. In this example, the start push button 150, the stop push button 154, the overload contact 156, the auxiliary motor starting contacts 158 and 162, and the overload relay 166 are inputs of the programmable logic controller system . The relay 152, the pilot light 160 and the pump motor 164 are outputs. The PLC will have the registers that contain the animation data for the inputs and outputs. An application program in the PLC will respond to the inputs to control the outputs. A user in a remote location will browse the Internet to the main page of the installation of the programmable logic controller system. The PLC will have other control functions as well, and if the user has the necessary authorizations, various options will be available. The main page will allow the user to acquire a slide of PLC operations allowing a view of various pages that will allow access to records within the PLC. Other pages will also include screens of the PLC configuration, health statistics of remote and distributed I / O modules, screen logs, backplane configuration, Ethernet statistics and others, as previously shown in Table 1. The page of Imitation diagram will be called on a browser screen, which will allow the user to observe the state of the system. The light of the imitation diagram 160, the relay 152, the contacts 158, 162, and the pump motor 164 will be updated to correspond to the state of the actual devices. The states of the entrances and exits will then be shown in the staircase diagram, which will be updated automatically as they change. By using chamomiles that represent the start buttons 150 and stop 154, the user can manually control the start and stop of the motor using a pointer (mouse) or keyboard to place a cursor and "press" (click). either in the starting frame 168 or the stop frame 170. Although specific embodiments have been illustrated and described, numerous modifications are possible without departing from the scope or spirit of the invention.
Claims (18)
- CLAIMS 1. An interface module to allow access to a programmable logic controller system from a communication network in a remote location, the interface module adapted for installation in a slot coupled through a backplane to a programmable logic controller, the module comprising: A. a microprocessor; B. a real-time operating system; C. means for coupling the interface module to said communication network; D. means for coupling the interface module to said backplane and for transferring data between the interface module and said programmable logic controller; E. means for processing requests for data received from said remote location by said communication network; F. means for enabling data transfers between the remote site and said programmable logic controller system; and G. means for interfacing a protocol task with said backplane, said interface means for receiving a request for data from said enabling means, for accessing said programmable logic controller system for said requested data, and for sending a response to said remote location by means of said enabling means, said response in a frame supplied by said operative system. The interface module of claim 1, wherein said communications network is a worldwide network known as the Internet, using an Internet Protocol (IP). 3. The interface module of claim 2, wherein said interface module functions as a Web site on the Internet, said interface module including a global IP address. The interface module of claim 3, wherein said network coupling means includes a network controller for receiving data requests from a browser on the Internet and for sending a response back to said browser. The interface module of claim 4, wherein said backplane coupling means includes a backplane controller for coupling the interface module to said backplane controller and including means for accessing a dual gate memory in said controller. programmable logic to transfer data between the interface module and said programmable logic controller. The interface module of claim 5, wherein said processing data requests include a client task to initiate requests received from said communication network and a server task to process requests for data received from said communication network. The interface module of claim 6, wherein said means enabling data transfer includes a protocol stacking using a stacking transmission control protocol (TCP). The interface module of claim 7, wherein said protocol task interface means includes a server task that uses the hypertext transport protocol (HTTP) to deliver hypertext documents to said network coupling means. The interface module of claim 8, wherein said rack creates an HTTP task, accepts a connection, analyzes the HTTP request and calls the real-time operating system to process the request. The interface module of claim 9, wherein said data requests allow a user at a remote location to observe the data within said programmable logic controller from said browser on the Internet. The interface module of claim 10, wherein said data requests further include requests to observe the configuration of said programmable logic controller and the state of input and output devices coupled to the programmable logic controller. 12. An interface module to allow access to a programmable logic controller system from a communication network at a remote location, the interface module adapted for installation in a slot coupled through a backplane to a programmable logic controller, the module comprising: A. a microprocessor; B. a real-time operating system; C. a network interface for coupling the interface module to said communication network; D. a backplane controller for coupling the interface module to said backplane and for transferring data between the interface module and said programmable logic controller; E. a server application for processing requests for data received from said communication network; F. a client application to initiate requests received from said communications network; G. a stacking protocol to enable the transfer of data between the remote location and said programmable logic controller system; and H. a server task for interfacing said protocol task with said backplane, said server task for receiving a data request from said protocol stack, accessing said programmable logic controller system for said requested data, and for sending a response to said remote location through said stacking protocol and network interface, said response in a rack provided by said operating system. The interface module of claim 12, wherein said communications network is a worldwide network known as the Internet using an Internet Protocol (IP). The interface module of claim 13, wherein said interface module functions as a Web site on the Internet. The interface module of claim 14, wherein said protocol stack is a stacking transmission control protocol (TCP) / IP. The interface module of claim 15, wherein said server task uses the hypertext transport protocol (HTTP) to deliver hypertext documents, and said hive to create an HTTP task, accept a connection, analyze the HTTP request, and call the real-time operating system to process the request. The interface module of claim 16, wherein said data requests allow a user at a remote location to observe data within said programmable logic controller. 18. The interface module of claim 17, wherein said data requests further include views of the configuration of said programmable logic controller and the state of input and output devices coupled to the programmable logic controller.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08927005 | 1997-09-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MXPA99004249A true MXPA99004249A (en) | 1999-09-01 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8291121B2 (en) | System and method for interfacing with a controller | |
| US6061603A (en) | System for remotely accessing an industrial control system over a commercial communications network | |
| US6484061B2 (en) | Web interface to a programmable controller | |
| US6151625A (en) | Internet web interface including programmable logic controller for controlling output devices based on status of input devices | |
| CA2362437C (en) | Dual ethernet stack for maximum speed access to a plc | |
| US7058693B1 (en) | System for programming a programmable logic controller using a web browser | |
| US6732191B1 (en) | Web interface to an input/output device | |
| CA2373659C (en) | A web browser | |
| US5982362A (en) | Video interface architecture for programmable industrial control systems | |
| US7146408B1 (en) | Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller | |
| JP2003053688A (en) | Robot system having teach pendant | |
| MXPA99004249A (en) | Web interface to a programmable controller | |
| AU5191501A (en) | Web interface to an input/output device | |
| AU2007202547A1 (en) | Web interface to an input/output device | |
| AU2448001A (en) | Server-based active document control |