MXPA00008445A - Input/output (i/o) scanner for a control system with peer determination - Google Patents

Input/output (i/o) scanner for a control system with peer determination

Info

Publication number
MXPA00008445A
MXPA00008445A MXPA/A/2000/008445A MXPA00008445A MXPA00008445A MX PA00008445 A MXPA00008445 A MX PA00008445A MX PA00008445 A MXPA00008445 A MX PA00008445A MX PA00008445 A MXPA00008445 A MX PA00008445A
Authority
MX
Mexico
Prior art keywords
node
standard communications
input
scanner
devices
Prior art date
Application number
MXPA/A/2000/008445A
Other languages
Spanish (es)
Inventor
G Swales Andrew
Naismith Ronald
Tanzman Allan
Dean Papdopoulos A
P Metcalf Orlando
Original Assignee
Schneider Automation Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Schneider Automation Inc filed Critical Schneider Automation Inc
Publication of MXPA00008445A publication Critical patent/MXPA00008445A/en

Links

Abstract

The present invention is directed to an apparatus for communication with at least one device which resides on a standard communications network using a standard communications protocol. The apparatus has a scanner for scanning the device, a device scan table for storing data relating to the device, and a standard communications interfaces for interfacing between to the device scanner and the standard communications network using the standard communication protocol. The present invention is also directed to a device scanner for a first device located on a first node of a standard communications network. The device scanner is provided for scanning devices on the standard communications network and for identifying a second device on a second node of the standard communications network. The device scanner has an initiator for initiating a first communications command in a peer protocol format to the second node, a receptor for receiving from the second node asecond communications command in the peer protocol format, in response to the first communications command, and an identifier for identifying the second device on the second node as a peer device. This apparatus and device can be used within a control system for monitoring input devices and for controlling output devices which reside on the standard communications network. The standard communications network can be an Ethernet network, and the standard communications protocol used therein can TCP using Modbus.

Description

INPUT / OUTPUT EXPLORER (I / O) FOR A CONTROL SYSTEM WITH DETERMINATION OF PAR Technical Field The present invention relates generally to control systems. More specifically, the present invention relates to an apparatus and method for determining the type of a communication device that uses communication protocols. ^ r known by standard networks, and to move data, relative to input and output (I / O) devices within the control system, to and from a programmable logic controller. BACKGROUND OF THE INVENTION Within control systems, there is a need to make I / O devices and modules, programmable logic controllers (PLCs) and other devices, capable of being used in standard communications protocols, such as Ethernet, TCP / IP, and others. This includes the ability to interface a proprietary communications protocol with standard protocols. Previous I / O scanners within such devices typically used proprietary control network protocols. Using proprietary control network protocols resulted in high installation costs, low ease of use, and compatibility issues with other devices / systems used in control systems, such as in factory automation applications. U.S. Patent Nos. 5,159,673 (Sackman et al.), 4,992,926 (Janke et al.), 4,897,777 (Jamke et al.), 5,245,704 (eber et al.), 4,937,777 (Flood et al.), 5,307,463 (Hyatt et al.) And 5,805,442 (Crater et al.), provide some background and context for the present invention. The present invention is directed to solving the aforementioned and other problems. # ^^ Compendium of the Invention The present invention is an apparatus for communication with at least one device that resides in a standard communications network, such as an Ethernet network, using a standard communications protocol, such as TCP using Modbus. The apparatus has a scanner for scanning devices, a scanning table for devices for storing data relating to the device, and a standard communications interface for interfacing between the device scanner and the standard communications network using the standard communications protocol. The present invention is also a device s for a first device located in a first node of a standard communications network. The device scanner is provided to scan devices in the standard communications network, and to identify a second device in a second node of the standard communications network. The device browser has an initiator to initiate a first communications command in a peer protocol format to the second node, a receiver to receive a second communications command in the peer protocol format from the second node in response to the first command of communications, and an identify to identify the second device in the second node as a pair device. This apparatus and device can be used within a control system to monitor input devices and to control output devices that reside in the standard communications network, as will be described in detail below. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a functional block diagram of an axis block of an Ethernet control system network of the present invention. Figure 2 is a functional block diagram of an embodiment of the present invention and connections to other portions of the control system of the present invention. Figure 3 is a state diagram of the control states of an explorer of the present invention. Fig. 4 is a block and timing functional diagram of an embodiment of the torque device determination of the present invention.
Figures 5A-5G are a detailed flow diagram of an embodiment of the software code running in an embodiment of the explorer of the present invention. Detailed Description Although this invention is susceptible of being embodied in many different forms, it is shown in the drawings and will be described in detail in the present preferred embodiments of the invention, with the understanding that the present disclosure should be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspects of the invention to the illustrated embodiments. With reference to figures 1 and 2, an embodiment of the present invention is an apparatus for communication with at least one device 22, 26, 32 and / or 36, which resides in a standard communications network 10, such as an Ethernet network, using a standard communications protocol, such as TCP. The apparatus has a browser 110, which resides within the element labeled "NOE" 100 in Figure 1. "NOE" means an Ethernet module or card of network options. In the embodiment / example shown in Figure 1, the NOE is a communications card that fits in a backplane 70 having various slots (eight in Figure 1) for various cards / modules, such as the local input modules 24 and local output modules 34, within the control system. An embodiment of the present invention is implemented with software (also referred to as firmware, or Exec), which runs on the NOE module having a microprocessor and memory. However, the present invention can be implemented in several different ways, such as having the browser 110 resident in the PLC 50, 52 itself, depending on the implementation of the invention. The device scanner is provided to scan the devices 22, 26, 32, 36 both locally (located in its own backplane) or remotely (by the standard communications network, shown as an Ethernet network in the figures). A device scan table 120 is provided for storing data relating to devices 22, 26, 32, 36. A standard communications interface 140, such as a TCP / IP stack with an Ethernet controller, is provided to interface between the device scanner 110 and the standard communications network 10 using the standard communications protocol, such as TCP. The embodiment of the present invention in Ethernet network uses Ethernet as the level 10 network of the device. This provides a fast, flexible and convenient way to interconnect the 1/0 devices of different PLCs or I / O modules to the PLCs. The device scan table 120 includes various parameters that can be used by the browser 110 to communicate with the devices 22, 26, 32, 36. A listing of the parameters in a specific embodiment of the present invention is provided in a graphic later. Some of these parameters within the scan table 120 are as follows: a first scan parameter is provided to indicate the number of devices 22, 26, 32, 36 to be scanned by the device scanner 110. A second scan parameter it is provided to indicate a type of device. A third scan parameter is provided to indicate where to retrieve and store data for devices 22, 26, 32, 36. A fifth scan parameter is provided to indicate the length of the stored data and the recovered data. Within the control system, programmable logic controllers (PLCs) 50, 52 communicate with each other and with other devices using a PLC communication protocol. One such protocol is Modbus, a known protocol. In the present embodiment, the PLC communications protocol is communicated by the standard communications protocol, such as TCP. Detailed information on the Modbus protocol and TCP and TCP / IP can be found on the Internet at www.modico. com and other sites, including the documentation listed as "Open Modbus / TCP Specification", which is incorporated by reference in the present description. The standard communications network 10 provides communication between the device scanner 110 and the remote devices 22, 32 and the modules 20, 30. Within Figure 1, the element 42 outlines that many other devices can be connected to the standard network of Communications 10, as is well known. As indicated above, in a specific embodiment of the present invention, the I / O scanner 110 scans the I / O devices using the Modbus protocol (from Schneider Automation, Inc.) over TCP / IP. In this embodiment, the 01/0110 scanner uses the read registers, the write registers, and the Modbus commands for the read / write registers to move data to and from the PLC memory. This will allow specific types of PLCs within the control system to efficiently transfer repetitive data to Ethernet modules, other types of PLCs, and any other TCP / IP Ethernet device that supports the MB (Modbus) protocol. The control system shown in Figure 1 may have numerous PLCs 50, 52. Each PLC 50, 52 typically has a microprocessor and memory (PLC memory such as random access memory, RAM), are software or firmware running on them. Within the embodiment shown in FIGS. 1 and 2, the PLCs 50, 52 each have PLC memory including a configuration table. The configuration table of the PLC memory may have the same parameters listed within the scan table 120 previously listed and / or listed within the parameter table below. In the embodiment using a configuration table within the PLC memory, the parameters within the configuration table of the PLC memory are read to the scan table 120 upon the start of the NOE 100 and / or the device scanner. 110. However, other embodiments of the present invention may have the parameters read to the scan table 120 by other means, such as by means of a web page (accessible through the worldwide network, www), located in the NOE. same. This type of NOE can generally be called a server module attached to the web. Alternatively, the parameters can be placed in the scan table by a user who creates / edits a file on the user's personal computer, and the user can send the file to the NOE using a file transfer protocol (FTP) or some other means of transfer from a remote location. In the embodiment shown in Figures 1 and 2, the PLCs 50, 52 are adapted to communicate with the local input and output (I / O) devices 26, 36 through the backplane 70, and with the remote devices input and output (I / O) 22, 32 through the backplane 70, the NOE 100, the network 10, and the I / O modules 20, 30 in the network 10. The NOE 100 in the embodiment of Figures 1 and 2 are adapted for communication with the PLC 50,52, the local input and output devices 26, 36, the Ethernet 10 network, and the remote input and output devices 22, 32. As stated before, and as will be described in detail below, the server module NOE 100 has a browser 110 for scanning the input and output devices, a scan table 1/0 120 for storing real-time information and other information for the input and output devices , a standard communications protocol 142 interface and a network controller communication standard 144 to form an interface between the I / O scanner 110 and the standard communications network 10 using the standard communications protocol. The standard communications network controller 144 may be a commercially available .AM79C961 controller. In the embodiment shown in figures 1 and 2, the NOE 100 module also has a real-time operating system to run the various tasks in the NOE, including the "NOE scan task" or browser 110. Commercially available operating systems may be used, such as the real-time operating system PSOS manufactured by Integra-ted Systems, Inc. of Sunnyvale, California, United States. The information in the real-time operating system PSOS is available from this company and / or on the Internet at www. isi com. A preferred real-time operating system that can be used is VX ORKS, provided by the company Ind River Systems, Inc. of Alameda, California, United States. VXWORKS has been used within the QUANTUM product line of Schneider Automation, Inc., the assignee of the present invention. Some of the embodiments of the present invention do not require a real-time operating system, such as the Ml product line from Schneider Automation, Inc., in which case the firmware runs on a processor without the assistance of the time operating system. real . In one embodiment, the operation of the scanner 110 is configured using a commercially available panel of software applications, such as Modsoft or Concept. The software panel is used to input information about I / O devices, which will be explored by the NOE, that is, they will be written and read. In a particular embodiment of the present ? According to the invention, the scan table 120 includes: the number of 16-bit words that the device accepts as input or outputs; the source or destination address in the memory space of the controller (referred to as 0X, IX, 3X or 4X registers); the value of time out for a device, which is the amount of time that is allowed to elapse before a device is considered insane; a flag to indicate what to do with the input data when a device has stopped responding, the two options being HOLD or ZERO. This implementation produces the IP address of the device from its Modbus address, as follows: Device IP address: AA.BB.CC.MB AA.BB.CC are the first three octets of this NOE IP address, and MB is the Modbus address that has been captured with the software panel. A further embodiment includes the ability to directly capture remote 1/0 devices, IP addresses, as well as device types. A TCP connection will be reserved for each 1/0 device in the scan list, until the maximum of 128 devices is reached. As used within this description, FC 3 means function code 3, which is a read message of MB (Modbus). Similarly, FC 16 means function code 16, it is also a write register message MB, and FC 23 means function code 23, which is a read / write message MB. The preferred embodiment of the present invention is capable of supporting Peer Cop, the name of a particular control system arrangement of Schneider Automation, Inc., which is disclosed in U.S. Patent Application Serial No. 60 / 078,223, entitled "Communications System for a Control System Over Ethernet and IP Networks and Communications Interfaces for Such Systems", which is incorporated by reference in the present description. Additional information about "peer cop" is also available on the Internet at www. modicon. com, which is incorporated herein by reference. In this embodiment, the user can use the "peer cop" input screens in the software panel to configure the NOE, including the I / O scan table, although there are other ways to configure the NOE, as described in FIG. the present description.
The general installation and flow of the software / firmware of the I / O scanner are shown in Figure 3. The following table of transitions to the next state indicates the following states of the following state diagram of Figure 3.
In an embodiment, the I / O scanner 110 uses the event flag capability of the real-time operating system PSOS (RTOS). This allows up to 16 events defined by the user to be assigned to a task. The interface of the I / O scanner to the backplane controller (BP) is via a function to return the call. The BP controller calls the answering function to interface with the 1/0 110 scanner. The return call feature raises the appropriate event to the I / O scanner 110. The I / O scanner 110 runs in an infinite loop, verifying the events. If an event is raised, the I / O scanner 110 performs the appropriate function. The event flag communication within the PSOS RTOS does not provide the full functionality of the message queuing communication method, but requires much less system resources. Event flags do not need to be queued in this embodiment. ^ The I / O scanner 110 uses the services of a client task 160 to implement the I / O scan. The client portion or task 160 is the portion of the NOE 100 that handles "client" tasks. For example, the user can write a control program for the PLC 50 that, as part of the operation of the program in the PLC, the PLC will send / receive a Modbus message to / from the backplane 70, and these types of messages will be handled for the client task 160 a / del ^ Stacking TCP / IP 142 and Ethernet controller 144. Parameters are used to pass connection list pointers and connection fixes. With reference to the above transition table to the next state and figure 3, there is no processing required during the IOScanEmpty state. The backplane controller initializes the I / O scan table 120 by existing or created configuration data located elsewhere, as described herein. During the IOScanNewCfg state, the 1/0 browser disables interrupts, and tests to determine if the state is still IOScanNewCfg. If the state is IOScanNewCfg, the task of the 1/0 110 browser changes the lOScan state to IOScanReadCfg and re-enables the interrupts. The I / O scanner 110 also performs the routine tasks necessary to remove any previously used open connections. If the IOScan-NewCfg test fails, then browser 10 110 re-enables interrupts and exits. The browser 10110 copies the scan data structure 10 to its own local variable to ensure that there will be no contention problem with the backplane controller trying to access the data at the same time. Another aspect of the present invention includes a "torque" determination portion that, among other things, was implemented to allow the versatility of the control system. As will be described later in greater detail, a particular embodiment of the present invention includes using two determinations to determine whether a device (in the scan list) is a pair: (1) Does the device understand the registration command of the device? Modbus read / write (function code 23) and (2) the information in scan table 120 equals the communication that the remote device is addressing to this node? If these two conditions are satisfied, then it is determined that the device is a "torque" device. With reference to Figure 4, in view of Figures 1 to 3, in general, the present invention is a method for identifying a second device 210 in a second node of a standard communications network 10 from a first device 200 located in a first node of the standard communications network 10. The method first initiates from the first node a first communications command in a peer protocol format to the second node. The method then responds to the first communication command from the second node to the first node. ^ r The method then starts from the second node a second communication command in the protocol protocol format to the first node. The method then responds to the second command from the first node to the second node. The method then identifies the second device in the second node as a peer device within the first device in the first node, and the method identifies the first device in the first node as a peer device within the second device in the second node. ^^ node. The method then sets the first node to an active state, and sets the second node to a passive state. In one embodiment, the peer protocol format can be a programmable logic controller (PLC) format, the peer device can be a programmable logic controller (PLC) device, the peer protocol format can be Modbus, and the standard communications network can be Ethernet.
The present invention is also a device scanner 110 for a first device 200 located in a first node of a standard communications network 10, for scanning devices in the standard communications network 10, and 5 for identifying a second device 210 in a second node of the standard communications network 10. The device browser 110 has an initiator for initiating a first communication command in a peer protocol format to the second node, a receiver for receiving a second 0 communication command on the second node from the second node. torque protocol format, in response to ^ first communication command, and an identifier for identifying the second device 210 in the second node as a pair device. The device scanner 110 may have the scan table 120 of prior embodiments incorporated in the device scanner 110 or as a separate portion of the system for storing parameters relative to the devices. As in the previous embodiments, the browser 110 uses one or more parameters to explore ^^ the devices. In a particular embodiment, if communication has been initiated by a device that is in the scan table 120, ie a device for which this NOE 100 has been configured to communicate, then the determination test is carried out of torque. As indicated before, the torque determination includes at least the following aspects: 1) Does the remote device understand the read / write register command? 2) Does the communication of the remote device match the characteristics of this scan table 120? That is, does the write length equalize the reading length in the scan table, and the read length equals the write length in the scan table 120? If (1) and (2) are satisfied, then the device is labeled as a "pair". There are two types of pairs: active pairs and passive pairs. The active pair assumes the task of initiating the exploration, while the passive pair only monitors the health of the active pair.
More particularly, as part of its operation, the I / O scanner 110 determines during initialization whether an I / O device listed in scan table 120 is an even device, which will initiate transfers actively, or a simple slave device, in whose case the I / O scanner must issue readings or MB writings to obtain or receive data. To determine the peer status, the I / O scanner 110 issues a read / write request MB (which is FC 23) to the I / O device. If the I / O device responds with an exception, indicating that it does not support the read / write request, then it is assumed that the I / O device is a simple device, and therefore this I / O scanner 110 must initiate all requests of input data. If the device responds positively, then it may or may not be a pair. The next qualifying event to declare a 1/0 device as a pair is the arrival of a read / write request from the 1/0 even device. If the read / write request is received and the input and output lengths match the configuration in scan table 120 of this 5 I / O scanner, then it is declared that the device is a pair. As mentioned before briefly, when a device is declared to be a pair, then the IP addresses of the I / O devices are used to say which 1/0 device will be "active" and which I / O device will be "passive". By convention, 0 the I / O device with the lowest IP address will become active ^ (minor = active) and the device with the largest IP address will become passive (superior = passive) in the I / O scanning process. The passive device accepts / provides data in response to requests from the active I / O device. Figure 4 shows 5 the timeline for the determination of torque: TO - node # 1 initiates read / write MSTR to node # 2 TI - node # 2 responds to node request # 1 T2 - node # 2 starts read / write MSTR to node # 1 ^^ T3 - node # 1 responds to node request # 2 T4 - node # 1 declares pair to node # 2 node # 2 then declares node # 1 The node # 1 becomes active and the node # 2 becomes passive. The following provides additional detail of an embodiment of the browser 110 and the scan table 120 of the present invention. The I / O 120 scan table allows up to a maximum of 128 input devices and a maximum of 128 output devices. The I / O scan table allows sending up to 100 words of data to or from a device in the I / O scan table 120. The scan table format 1/0 120 is as follows: During the IOScanReadCfg state, the 01/0110 scanner initializes the connection and transaction fixes, then it goes into transition to the IOScanRunning state. During the IOScanRunning state, the 1/0 scanner is issuing read / write registers (FC 23) to 1/0 devices in the scan table 120 that have both inputs and outputs, write record 4x, and write command commands. read4x to 1/0 devices in the scan table 120. The received data back from the read responses4x are sent to the backplane controller to update the controller memory. The following describes more particularly the active torque processing of an embodiment of the present invention. In the case of the 1/0 pair, the initial FC 23 of the pair, of the torque determination, will be received by the server or server task 190, as well as the FC 23s of the active pair devices. The server 190 will determine whether the device associated with an arriving FC 23 is in the I / O scan table 120 of the I / O scanner. If it is, the server 190 will take control of the I / O scan table 120 using the semaphore of the I / O scan table. Once the server 190 has control of the I / O scan table 120, the server 190 will determine whether the device associated with the arriving FC 23 already has a flag as a pair, or is listed as a slave. If the device is listed as a slave in the I / O scan table, then this FC 23 is part of the torque determination. The server 190 then raises an IOSCAN_PEER_ DETERMINATION_EVENT to the I / O browser 110. Upon receipt of IOSCAN_ PEER_DETERMINATION_EVENT, the I / O scanner 110 will update the state of the device either to the active pair or to the passive pair, based on the IP addresses. If the device is listed as an active pair, then this FC 23 is the I / O scan data associated with this pair. The server 190 will take control of the I / O scan table 120 by claiming the semaphore. The server 190 will write the new data to the I / O scan table 120 and update the NewInputDataAvailable flag. The server 190 will then release the semaphore from the I / O scan table 120.
If the output data length is non-zero, the server 190 will take control of the I / O scan table 120, and write the output data in response to the FC 23 to the peer. The I / O scan table 120 may be split into two or five more groups so that the server 190 and / or the browser 110 take control of only one or more groups and allow access to the other groups for the other task. In passive pair, the response to the exchange of torque data is received directly by the browser 110, and is treated the same as in the case of the slave. 0 The following describes with more particularity the WD input device scanning operation of an embodiment of the present invention. Although the explorer I / O 110 is in the IOScanRunning state, the BP controller sends an event to the browser 1/0 110 at each end of scan 5 (EOS). The transmission of the data request for each entry in the scan table is carried out in the EOS. The I / O scanner 110 sends an FC 23 or FC 3 for each slave input, and active torque input in the scan table 120, ^ P if the device has responded to the previous data request. The I / O scanner 110 clears the band of received I / O data for each request you have sent. The input data that is received as a result of the FC 23 or FC 3 commands that were transmitted will cause an IOSCAN_TCIP_EVENT. This event is generated by the TCPSignalHandler function. The IOSCAN_TCIP_EVENT is handled by the I / O scanner 110 by determining which connection the response was received for, and by setting the 1/0 data flag received for that device. The health timer is reset, and the health bit is set for the device. The following describes more particularly the scanning operation of the output device of an embodiment of the present invention. Following the scanning operation of the input device, the output devices are scanned. The output data is sent to every 0 slave output, and active torque output in the list of ^ P scan, if the device has confirmed the previous output data. When a device in the exit scan list acknowledges receipt of the output data, the health timer for the device is reset, and health bit 5 is set. To conserve consistency for all the output data sent in each scan, the I / O scanner 110 passes the output data through double attenuators before starting the data output for each scan. In this way, if the ^ r BP controller updated part of the output data, while 0 the I / O scanner 110 was in the middle of a transmission, the current set of data being output would not be affected. The following describes more particularly the health information operation of the I / O device of an embodiment of the present invention. The health timer for each device is initially set to the value of time out of health in scan table 1/0 120. The timer capability of the real-time operating system 150 is used to maintain the health timers for each device in the exploration table 1/0120. The timer of the RTOS system 150 is configured to generate an event to the I / O scanner 110 every 16.67 msec. This is achieved via the function call tm_evevery (long pulses without signature, long events without signature, * tmid long without signature) (see documentation 0 PSOS for more details). This sets a timer that will reload automatically. Each time the timer expires, an event is generated to the I / O scanner 110, indicated that health timers need to be reduced. Following the update, any device whose health timer has expired, is flagged as bad by resetting the health bit for the device. Each time data is received from an input device or an acknowledgment is received from an output device, the health timer for that device is ^ P set at the initial value of time out of health. In order to use the health information of the I / O device with the current MSTR to obtain "peer cop" health, a 128-bit array will be used to provide health information for 128 devices. Otherwise, health will be provided for the first 64 devices. The I / O scan table 120 will be analyzed with respect to ascending IP addresses. Each bit in the 128-bit array indicates the health of one of the 1/0 devices. The 1/0 110 scanner is capable of 1,000 transactions per second. The following provides additional information on the relationship between the I / O scanner 110, the server 190, and the backplane controller 180. In an embodiment of the present invention, three components are used to perform I-scan. / O: the backplane controller 180, the server 190, and the I / O scanner 110. A double attenuator scan table and a double attenuator output table 0 are used. The double attenuator output table is used for ^ P writing requests that come out. An input table is also used for read requests that come out. A health arrangement is also used. When the configuration changes, the backplane controller 180 copies the configuration of the PLC 50 to a configuration table while the client and server tasks are using another configuration table. When the backplane controller 180 has completed the configuration copy, it points to the client task of the I / O browser 110 ^ P setting the event flag. The client task 160 then changes the tables, and the new table will also be used by the server 190. It is the client task 160 that determines which tables (configuration and output) are used by the server 190 and the backplane controller 180. Do this with one variable for the configuration table and another variable for the output table. The server 190 and the backplane controller 180 read the appropriate variable and determine the table to be used, and client task 160 establishes the appropriate variable. The server 190 examines whether the read, write or read-write request of the remote node has a corresponding rung in the scan table 120. If not, the request is processed in the normal way by passing the request to the backplane controller 180. If there is a corresponding line, the server 190 processes it using the input and output tables. To save bandwidth, the server 190 compares its IP address with the remote node. If its IP address is greater than the remote node, it goes to passive mode, and changes the state in the scan table 120. At a later time, when the client task 160 observes that it is in a passive state, it no longer sends requests Modbus to the remote node. In this way, bandwidth is saved by sending fewer messages. Referring back to the embodiment in Figures 1 and 2, the I / O scanner 110 handles the cyclic communication, the server 190 communicates directly with the dual port RAM and an ASIC that is directly connected to a connecting rod which runs through the backplane 70, which in turn is connected to the PLC 50. The backplane controller 180 handles communication to / from the controller. As discussed above, the PLC 50 has configuration tables that store, at least, the number of devices to be scanned, whether a device is an input, output, or input and output device. If a device is an input, the table stores where to store the data in the controller's memory. If the device is an output, the table stores where to recover the data in memory. If the device is both an input 5 and an output 5 device, the table stores both. The configuration table also stores the length (in bytes) of the input and output data. As described above in detail, the configuration table also includes a time out of health parameter for each device. If there is no 0 response to a read / write to an I / O device inside the ^ P timeout parameter, the device can be "flagged" as insane in the NOE 100. The NOE 100 tracks the dynamic state of health. In this embodiment, the configuration table 5 is scanned by the NOE 100, and then the NOE 100 operates in accordance with those parameters. The controller (PLC) 50, 52 runs in a cyclic manner, and handles the updating of the inputs and outputs once per scan. At the end of each exploration, ^ P the controller gives a tp indication to the NOE 100 that the controller is at the end of a scan, and the NOE 100 then takes a slide of all available outputs and copies the outputs to its local memory. The NOE 100 then generates messages to update all the output devices that are in the I / O scan table. The NOE 100 also takes the current values for all the input devices (after sending read messages for all the input devices) and the NOE 100 updates the controller 50 with all the new input data. In Figure 2, there is an indication of a table of I / O scan 120"controlled by traffic light". This term was briefly mentioned before. The scan table 120 needs to be available to both the I / O scanner 110 and the server 190 because the server 190 needs to be able to talk to an "even" device that is generating messages. Those 0 messages will go to server 190 first (before the I / O scanner ^ 110). Generally, the server 190 receives requests on the Modbus port 502 of the other controllers 50, 52 and NOEs 100. Continuing, in order to prevent both the server 190 and the I / O scanner 110 from accessing the scan table 1 / 0 120 5 at the same time, a control mechanism is provided to control the "ownership" of the table at any given time either by the browser 1/0 110 or the server 190. If this is not done, problems may arise with the consistency of the data and its ^ P use. Client task 160 is a portion of the NOE 100 that handles "client" tasks. As described earlier, the users of the controllers will create programs to run on the controllers. Programs can be written to send Modbus messages over TCP. The controller 50, 52 will send a message to the backplane 70 (message type that will be handled by the client task 160) and the client task 160 will send the message in TCP / IP over the Ethernet network. Then a TCP / IP message will return over the Ethernet network, the client task will handle the return message, and send it to the controller 50, 52 for use by the program running on the 50, 52 controller. The function library Client connection 128 is a library of functions that are used to format and format messages to / from the backplane 70 format handled by the backplane controller 180, as well as the format of the 0 TCP / IP stacking 142, including the handling of the Modbus format.
A detailed flow diagram (graph) of an embodiment of the I / O scanner 110 of the present invention is shown in Figures 5A to 5G, as would be understood by a person skilled in the art. This embodiment does not need to use RTOS 5 150 for its operation, and thus includes some additional routines for handling. The program of this detailed flow chart can be loaded into non-volatile program firmware memory in the NOE. Although specific embodiments have been illustrated and described, numerous modifications come to mind without departing significantly from the spirit of the invention, and the scope of protection is limited only by the scope of the accompanying claims.

Claims (31)

  1. CLAIMS 1. An apparatus for communication with at least one device that resides in a standard communications network using a standard communications protocol, comprising: 5 a scanner to explore the device; a device scan table for storing data relating to the device, the browser using the data in the scan table of devices relative to the device to scan the device; and, a standard communications interface to form a ^ P interface between the scanner and the device in the standard communications network using the standard communications protocol. The apparatus of claim 1, wherein the device scan table comprises: a first scan parameter indicating the number of devices to be scanned by the device scanner; a second scan parameter indicating a type of device; ^ a third scanning parameter that indicates where to store and retrieve data for the devices; and a fourth scan parameter that indicates the length of the stored data and the recovered data. 3. The apparatus of claim 1, wherein the standard communications network is an Ethernet network. 4. The apparatus of claim 1, wherein the standard communications protocol is TCP. The apparatus of claim 1, wherein a programmable logic controller communications protocol is communicated by the standard communications protocol. 6. The apparatus of claim 1, wherein the standard communications network provides communication between the device browser and the devices. 7. An apparatus for monitoring and controlling input and output devices that reside in a standard communications network using a standard communications protocol, which comprises: a scanner for scanning the input and output devices; an input / output scan table (1/0) for storing input and output data relative to the input and output devices; and a standard communications interface to form an interface between the I / O scanner and the standard communications network using the standard communications protocol. The apparatus of claim 7, wherein the I / O scan table comprises: a first scan parameter indicating the number of devices to be scanned by the I / O scanner; a second scanning parameter that indicates whether each device is an input device, an output device, or an input and output device; a third scanning parameter that indicates where to store data from the input devices; a fourth scan parameter that indicates where 5 retrieve data for the output devices; and a fifth scan parameter indicating the length of the stored data and the recovered data, for the input and output devices, respectively. 9. The apparatus of claim 7, wherein the standard communications network is an Ethernet network. ^ P 10. The apparatus of claim 7, wherein the standard communications protocol is TCP. The apparatus of claim 7, wherein a programmable logic controller communications protocol is communicated by the standard communications protocol. The apparatus of claim 7, wherein the standard communications network provides communication between the I / O scanner and the input and output devices. ^ P 13. A control system for monitoring input devices and for controlling output devices that reside in a standard communications network using a standard communications protocol, the control system comprising: a programmable logic controller (PLC) having a microprocessor and a PLC memory that has a configuration table, the PLC being adapted to communicate with at least one or more local input and output devices, and being adapted to communicate with at least one or more remote input and output devices, the configuration table storing parameters for the input and output devices, the parameters including one or more of the following parameters: a first configuration parameter which indicates the number of devices to be scanned, a second configuration parameter that indicates whether each device is an input device, an output device, or an input and output device, a third configuration parameter that indicates where ^ P store data from the input devices in the memory of PLC, a fourth configuration parameter that indicates where to recover data in the PLC memory for the output devices, and a fifth configuration parameter that indicates the length of the stored data and the recovered data, for the input and output devices , respectively; a server module adapted for communication with the PLC, adapted for communication with local devices ^ input and output, and adapted for communication with the standard communications network and remote input and output devices, the server module having: a scanner to scan the input and output devices, an I / O scan table for storing Real-time information for the input and output devices, a standard communications protocol interface and a standard communications network controller to form an interface between the 1/0 scanner and the standard communications network using the standard communications protocol, a real-time operating system for operating the server module, wherein the scan table 1/0 5 comprises: a first scanning parameter indicating the number of devices to be scanned by the 1/0 scanner; a second scan parameter that indicates whether each device is an input device, an output device, or an input and output device; a third scanning parameter that indicates where to store data from the input devices in the PLC memory; 5 a fourth scan parameter indicating where to retrieve data for the output devices in the PLC memory; and a fifth scan parameter indicating the P length of the stored data and the recovered data, for 0 the input and output devices, respectively. A method for identifying a second device in a second node of a standard communications network from a first device located in a first node of the standard communications network, comprising the steps of: starting from the first node a first communication command in a peer protocol format to the second node; starting from the second node a second communication command in the peer protocol format to the first node; identifying the second device in the second node 5 as an even device within the first device in the first node; and identifying the first device in the first node as an even device within the second device in the second node. 15. The method of claim 14, wherein the ^ P torque protocol format is a programmable logic controller format. 16. The method of claim 14, wherein the even device is a programmable logic controller device. 17. The method of claim 14, wherein the torque protocol format is Modbus. 18. The method of claim 14, wherein the standard communications network is Ethernet. ^ P 19. The method of claim 14, wherein 0 further comprises the step of: after starting from the first node a first communications command in a peer protocol format to the second node, responding to the first communications command of the second node to the first node. 20. The method of claim 14, further comprising the step of: after starting from the second node the second communications command in the peer format protocol to the first node, responding to the second communications command of the first node to the second node. The method of claim 14, further comprising the steps of: establishing the first node in an active state; and establish the second node in a passive state. 0 22. A device scanner for a first ^ device located in a first node of a standard communications network, for scanning devices in the standard communications network, and for identifying a second device in a second node of the standard communications network, comprising: 5 an initiator to initiate a first communications command in a peer protocol format to the second node; a receiver for receiving from the second node a second communications command in the peer protocol format, in response to the first communications command; and 0 an identifier for identifying the second device in the second node as an even device. 23. The device scanner of claim 22, further comprising a scan table for storing parameters relative to the devices, the scanner using one or more of the parameters to scan the devices. 24. The device scanner of claim 22, wherein the second device identifies the first device in the first node as a peer device. 25. The device scanner of claim 5 22, wherein the torque protocol format is a programmable logic controller format. 26. The device browser of claim 22, wherein the even device is a programmable logic controller device. 0 27. The device explorer of the claim ^ P 22, where the even protocol format is Modbus. 28. The device browser of claim 22, wherein the standard communications network is Ethernet. 29. The device browser of claim 5 22, wherein after the device browser initiates the first communications command, the second node responds to the first communications command to the first node. 30. The device browser of claim ^ P 22, wherein after the second command of 0 communications is received by the first node, the device browser responds to the second communications command to the second node. The device browser of claim 22, wherein after the second device in the second node is identified as an even device, the first node is set to an active state, and the second node is established in a passive state . Summary The present invention is directed to an apparatus for communication with at least one device that resides in a standard communications network using a standard communications protocol. The apparatus has a scanner to scan the device, a scan table of devices to store data relative to the device, and a standard communications interface to form an interface between the device scanner and the standard communications network using the standard communications protocol . The present invention is also directed to a device scanner for a first device located in a first node of a standard communications network. The device scanner is provided to scan devices in the standard communications network and to identify a second device in a second node of the standard communications network. The device browser has an initiator to initiate a first communications command in a peer protocol format to the second node, a receiver to receive a second communications command in the peer protocol format from the second node in response to the first command of communications, and an identifier to identify the second device in the second node as an even device. This apparatus and device can be used within a control system to monitor input devices and to control output devices that reside in the standard communications network. The standard communications network can be an Ethernet network, and the standard communications protocol used in it can be TCP using Modbus.
MXPA/A/2000/008445A 1998-12-30 2000-08-29 Input/output (i/o) scanner for a control system with peer determination MXPA00008445A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09224196 1998-12-30

Publications (1)

Publication Number Publication Date
MXPA00008445A true MXPA00008445A (en) 2002-06-05

Family

ID=

Similar Documents

Publication Publication Date Title
US6327511B1 (en) Input/output (I/O) scanner for a control system with peer determination
US8041840B2 (en) Industrial control system with autonomous web server
US7032029B1 (en) Method and apparatus for an active standby control system on a network
US4926375A (en) Multiple nodes broadcast communication method with receiver identification by bit position in transferred massage
EP1125207B1 (en) Bi-directional process-to-process byte stream protocol
US6587884B1 (en) Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC)
CA2271145C (en) Web interface to a programmable controller
JP5461501B2 (en) Web interface to input / output devices
US6151625A (en) Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US6952727B1 (en) Method for adapting a computer-to-computer communication protocol for use in an industrial control system
JP2001505343A (en) Internetwork communication controller
EP1584172A1 (en) Message transfer using multiplexed connections in an osi-tp environment
US7519737B2 (en) Input/output (I/O) scanner for a control system with peer determination
MXPA00008445A (en) Input/output (i/o) scanner for a control system with peer determination
JPH02241150A (en) Data communication method
US6804798B2 (en) System and method for setting new values for configuration parameters on a device
Cisco IBM Channel Attach Commands
EP1941356B1 (en) Electronic apparatus with server device for managing setting data
JP3501650B2 (en) Programmable controller network system
JP3042599B2 (en) Printing equipment
JPH07334462A (en) Client/server system having quick monitoring function for action state of server
JP2880202B2 (en) Set call management method
JP2890962B2 (en) Loosely coupled multi-hot standby computer system
JPS62135042A (en) Automatic recognition system for equipment address in data communication
KR19990039779A (en) File loading method by interprocessor communication