WO2003038536A2 - Method for transmitting raw data and field device - Google Patents

Method for transmitting raw data and field device Download PDF

Info

Publication number
WO2003038536A2
WO2003038536A2 PCT/DE2002/003712 DE0203712W WO03038536A2 WO 2003038536 A2 WO2003038536 A2 WO 2003038536A2 DE 0203712 W DE0203712 W DE 0203712W WO 03038536 A2 WO03038536 A2 WO 03038536A2
Authority
WO
WIPO (PCT)
Prior art keywords
raw data
field
user
field device
data
Prior art date
Application number
PCT/DE2002/003712
Other languages
German (de)
French (fr)
Other versions
WO2003038536A3 (en
Inventor
Torsten Ackerschewski
Andreas Jurisch
Stefan Walz
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2003038536A2 publication Critical patent/WO2003038536A2/en
Publication of WO2003038536A3 publication Critical patent/WO2003038536A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25428Field device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31161Java programcode or simular active agents, programs, applets

Definitions

  • the invention is in the field of remote-controlled operation, in particular for observing and operating field devices.
  • Field devices are used in the automation of a wide variety of technical processes, for example to monitor a production or manufacturing process or a processing process.
  • the field devices can be the production plants themselves or devices for monitoring, preferably for controlling and / or regulating, depending on the recorded field data, the technical production means or plants used.
  • raw data is generated in the field devices, which can be processed further, for example for evaluating measurement processes or for error detection.
  • the field devices in particular record measurement data that can be buffered and / or processed further.
  • the raw data present in the field device can include information about device-specific parameters, such as predefined and / or changeable settings of the field device.
  • This raw data can be, for example, measured values, event lists, diagnostic data, error messages or fault records in a binary format internal to the field device.
  • a visualization / representation of the raw data is necessary. Basically, you can choose between processing the raw data a distinction is made in the field device itself and a transmission of the raw data to an observation and operating device which can be connected to the field device.
  • the transmission of the raw data to the observation and operating device has the advantage of greater ease of use, since this is generally very low on the field devices; only simple operations for evaluating / processing the raw data on the field device are possible. In addition, it is often not possible to graphically prepare the raw data on the field device. Complex operating programs for remote control of the field devices have therefore been proposed. However, using these programs involves a great deal of effort if standardized communication mechanisms are to be used. In general, the well-known operating technologies of telecontrol technology, for example the use of a WIN-CC operator station, for operating field devices require the technical special features of the individual field devices to be observed.
  • the object of the invention is to provide an improved possibility for transferring raw data from field devices, which is essentially independent of the specific field device design and thereby ensures a high degree of compatibility.
  • the object is achieved by the method according to claim 1 and the device according to claim 11.
  • An essential advantage which the invention achieves over the prior art is that the raw data accumulating in the field device can be called up by using a browser which is based on standard Communication technologies based and therefore does not depend on the specific training of the field device.
  • the proposed way of transferring the raw data basically allows the raw data to be called up with a standard browser on a standard personal computer in order to then process the raw data with application programs.
  • Sufficient computing power is available for execution in the standard personal computer or the like used by the user, which is not available in the field device. This also applies to those required by the application program
  • An expedient development of the invention provides that the electronic description page is automatically analyzed in the user device after transmission to the user device in order to record the reference to the raw data, and that the raw data is automatically collected by the user after the reference is recorded in the electronic description page Field device are transmitted to the user device.
  • the raw data can be loaded from the field device onto the user device without the user having to intervene.
  • a preferred embodiment of the invention provides that a selection that can be assigned to the reference in the electronic description page by a user with the aid of a selection means that is electronically determined in the user device. and that the raw data is automatically transmitted from the field device to the user device after the selection of the user has been recorded.
  • the described retrieval of the raw data can, on the one hand, be carried out with the aid of an extension module (“plug-in” module) for the browser device.
  • This embodiment can expediently be used to retrieve static data that only change over longer periods or only sporadically
  • the TCP protocol is advantageously used here, and execution with the help of an ActiveX component would also be possible.
  • a client process can be used to call up dynamic data that is constantly changing, for example event lists and / or measured values Browser device can be used, in which an RPC protocol standard can then preferably be used.
  • the method can be used in conjunction with the widespread standard technology HTTP (HTTP - “Hypertext Transfer Protocol V ) if the electronic description page is expediently an HTML page.
  • HTTP Hypertext Transfer Protocol
  • a further development of the invention which is preferred with regard to the optimized use of data connections, provides that the raw data are transmitted from the field device to the user device via the communication connection.
  • an advantageous embodiment of the invention can provide that different protocols are used for the transmission of the electronic description page and for the transmission of the raw data. This makes it possible to choose a suitable transmission protocol.
  • a preferred development of the invention provides that the browser device transfers the data from the field device to the user device. raw data transmitted to the facility and that at
  • an application program is started automatically depending on the result of the analysis of the raw data. This ensures that the raw data are automatically processed with the application program provided for this purpose.
  • the file extension or its MIME type can be evaluated as a hint for the application program to be called.
  • a field device with a connection for a communication connection that can be addressed by a client device via an IP address is a server device for data communication with a browser device installed on the client device via the connection and a storage device with an electronic description page stored therein, the electronic description page comprising an electronic reference to raw data held in the field device and the electronic description page, including the raw data referenced by means of the electronic reference, about the server device and the Connection is electronically available.
  • the raw data from the field device can be called up using a conventional browser.
  • the devices according to the dependent device claims have the advantages listed in connection with the associated method claims.
  • the method and / or the device can advantageously be used for monitoring energy technology systems.
  • the method and / or the device can advantageously be used for monitoring energy technology systems.
  • Figure 1 is a schematic representation with a device network and a company intranet, which are connected via a proxy server;
  • FIG. 2 shows a user interface design of a browser device with graphic representations for several field devices
  • FIG. 3 shows another surface design of the browser device with a graphic representation of a front view of a field device
  • Figure 4 is a schematic representation of a field device and a user personal computer
  • FIG. 5 shows a flow chart for downloading HTML pages as part of an observation and operating system
  • FIG. 6 is a block diagram for explaining an RPC call
  • FIG. 7 shows the arrangement with the device network and the company intranet according to FIG. 1, individual elements of the proxy server being shown schematically;
  • Figure 8 is a schematic block diagram of the proxy server
  • FIG. 9 shows a schematic illustration to explain a client / server interaction
  • FIG. 10 shows a schematic illustration to explain device detection in a master / slave arrangement
  • FIG. 11 shows a Nassi-Sneider diagram
  • FIG. 12 shows a schematic tree representation of a method for device recognition
  • FIG. 13 shows a schematic illustration of a master / slave arrangement to explain a configuration query
  • FIG. 14 shows a schematic block diagram of a device management in the proxy server
  • FIG. 15 shows a schematic block diagram to explain the functional integration of an XSL parser in the proxy server (XSL - “Extended Stylesheet Langage”); and Figure 16 is a schematic block diagram for explaining an XSLT processor (XSLT - "Extended Stylesheet Language Transformations").
  • a monitoring and operating system (BuB system) that can be used in conjunction with field devices is described below.
  • FIG. 1 shows a schematic architecture of two networks, a device network with several field devices FG1 ... FGN and a company intranet with several user devices N1 ... NN, preferably a personal computer (PC).
  • the device network and the company intranet are connected via a proxy server 1.
  • the proxy server 1 is part of the observation and operating system and serves as a gateway between the device network and the company intranet.
  • information for example measurement and / or status data, is captured by the field devices FG1 ... FGN and transmitted to the user devices N1 ... NN in order to inform a user of the user devices Nl ... NN about the
  • the BuB system is used to record operating or Control inputs of the user with the help of the user devices N1 ... NN and for converting the inputs of the user in the field devices FG1 ... FGN.
  • FGN can be any device for observing, measuring, controlling and / or regulating a wide variety of physical quantities in different technical processes, for example for monitoring and / or controlling energy technology systems, for example a substation.
  • the device network comprises individual PPP connections 2 (PPP -
  • the proxy server 1 provides its own homepage in the form of HTML data (HTML - "HyperText Markup Language” ) is available, which shows an overview of the field devices FG1 ... FGN that can be reached in the device network (cf. FIG. 2); the homepage can be displayed in the user devices N1 ... NN using a standard browser.
  • HTML data HTML - "HyperText Markup Language”
  • the field devices FG1 ... FGN are only equipped with the star coupler 3 and a modem 4 connected to it.
  • the field devices FG1 ... FGN are connected to the modem 4 via an asynchronous serial interface directly via the star coupler 3.
  • An IP protocol IP - "Internet Protocol"
  • PPP link layer is used as the protocol for access to the field devices FG1 ... FGN.
  • Ethernet connections are connected to a switch or a hub. If this switch or hub has a PPP port in addition to Ethernet ports, then this is called a router. This PPP port can then also be connected directly to the modem 4.
  • the user devices N1... NN connected to the local network have access to a modem 5, which is connected to the modem 4 via a telecommunications network 6, for example a telephone network based on an ISDN or a mobile radio network Device network is connectable. If in the user facilities N1 ... NN a dial-up Established connection (remote data transmission), the user devices N1 ... NN can access the field devices FG1 ... FGN. If the proxy server 1 is now addressed by the user devices N1 ... NN, anyone connected to the company intranet can
  • the proxy server 1 "mirrors" all field devices FG1 ... FGN, ie information about the field devices FG1 ... FGN, into the company intranet.
  • HTTP protocol HTTP - "Hypertext Transfer Protocol "and RPC protocol (RPC -" Remote Procedure Call ").
  • the HTTP protocol is used for the transmission of static data. This is data that is transmitted only once to the proxy server 1 and then there in a file memory for later calls
  • the RPC protocol which is also an IP-based protocol, is used to transmit dynamic data.
  • the dynamic data is, in particular, in the field devices FG1 ... FGN recorded measured values and / or event lists, relating to information about events in the field devices FG1 ... FGN.
  • the HTTP protocol allows the user devices N1 ... NN to access the field devices FG1 ... FGN.
  • HTML data is first transmitted from the field device to the user device used in this application by selecting the associated IP address of the field device to be operated / observed, the HTML data comprising data with the With the help of the browser device of the retrieving user device, a representation of the field device can be generated, as is shown by way of example in FIG. 3.
  • the retrieval of the HTML Data for generating the representation according to FIG. 3 can be created with
  • a selection of one of the field devices shown in the overview in FIG. 2 can be triggered by the user, for example by actuating a mouse or a keyboard of the user device.
  • the following information is shown on the surface 20 of the browser device (see left side in FIG. 3): field device family (e.g. SIPROTEC4), field device type and field device type 21, an operating tree 22, the
  • Version of the BuB-Tool 23 (version and date) and details of the connection 24 to the field device (MLFB - "machine-readable manufacturing designation", BF number, connection status and IP address).
  • MLFB machine-readable manufacturing designation
  • BF number BF number
  • connection status and IP address The link or branch in the HTML page 25 assigned to operating tree 22 is displayed, depending on the link selected in operating tree 22, the associated HTML page 25 is displayed on surface 20 of the browser device.
  • the HTML pages stored in the field devices FG1 ... FGN i.e.
  • the HTML page 25 used to generate the representation shown in FIG. 3 can also include Java code which causes the browser device of the respective user device N1 ... NN to display the information from the parallel to the existing HTTP connection Field devices FG1 ... FGN loaded HTML page to establish another connection with the field devices FG1 ... FGN.
  • This second connection uses the RPC protocol to get dynamic data, such as event lists or measured values, from the field devices FG1 ... FGN particularly quickly and effectively for display in the user devices
  • FIG. 4 shows a schematic illustration for a more detailed explanation of the retrieval of the information in the context of the BuB system from the field devices FG1 ... FGN into the user devices N1 ... NN.
  • a browser device 31 is installed on a user personal computer 30, which represents an exemplary embodiment of the user devices N1 ... NN.
  • the user personal computer 30 is connected to a field device 33 via an IP network 32, which can include the proxy server 1, the star coupler 3, the modem 4, the modem 5 and the telecommunications network 6.
  • the field device 33 has an HTTP server 34.
  • HTML pages 35 are stored in the field device 33 and contain information specific to this field device 33.
  • the HTML pages 35 contain, for example, an HTML representation of the front view of the field device 33.
  • the HTML pages 35 are specially matched to the field device 33 and can be downloaded by the user personal computer 30 by means of an HTTP download from the HTTP server 34 of the field device 33 be retrieved.
  • the request for the HTML pages 35 from the field device 33 can be made by entering a URL (URL - “Uniform Resource Locator”) in the browser device 31 or by means of the reference from another HTML page
  • the field device 33 provides a series of raw data 36 (measured values, parameters, etc.) in the form of files.
  • the HTML pages 35 contain references to those in the field device 33 available raw data 36. If the raw data 36 are to be evaluated or changed in some other way, a program is required which can generate high-quality data formats according to certain algorithms then from the program, for example, to on-screen display in
  • connection with analysis options can be used.
  • the computing power required for this is generally not available in the field device 33.
  • the user With the help of the browser device 31, the user has the option of using the IP network 32 via communication links (modem, telephone networks, LAN - "Local Area Network", WAN - “Wide Area Network”) on the HTML pages 35 to access from the field device 33 and thus also the raw data 36 of the field device 33 referenced herein.
  • the HTML page (s) 35 is (are) first requested from the user personal computer 30 with the aid of the browser device 31.
  • the HTTP server 34 of the field device 33 After the HTTP server 34 of the field device 33 has provided the HTML page (s) 35, including the references to the raw data 36 contained therein, the HTML page 35 and the raw data 36 are transmitted to the user personal computer 30 ,
  • the HTML page 35 and the raw data 36 are transmitted by means of separate protocols between the field device 33 and the user personal computer 30, preferably HTTP or RPC protocol.
  • the raw data 36 can then be processed in the user personal computer 30 using suitable programs.
  • the field device 33 additionally comprises an RPC server 34a.
  • the referenced files of the raw data 36 can also be loaded automatically.
  • the parameter “SRC” is used to reference the file with the raw data 36 of the field device 33.
  • the downloading of the raw data 36 can also be triggered via a link on the HTML page 35 to be activated by the user. In this case, the call in HTML page 35 looks like this:
  • the browser device 31 can start the correct program for further processing the raw data 36, the browser device 31 must be informed of the content type of the raw data 36. There are different procedures for this, depending on the operating system of the user personal computer 30 and the browser device 31 used. Both the file extension (for example "* .ext") and the MIME type (MIME - "Multi-purpose Internet Mail Extension") supplied by the HTTP server 34 can be evaluated.
  • the raw data processing program converts the downloaded raw data 36.
  • the raw data processing program can be implemented as a browser plug-in, as an ActiveX component or as an external program.
  • the processing of sporadically generated raw data 36 is preferably carried out with the aid of a browser plug-in or an Active X component.
  • the data is accessed using the TCP protocol. If continuously updated raw data 36 are to be processed in the form of an endless data stream, then it makes sense to use a more effective protocol for the transmission to the user personal computer 30 (the user devices N1..NN).
  • the additional RPC protocol is used to separate the information to be displayed in the user devices N1 ... NN (or the user personal computer 30) about the field device (s) FG1 ... FGN or 33 in allows static and dynamic information.
  • the static information is Standard protocol transmitted, while the dynamic, i.e. changing data is transmitted via the more effective RPC protocol.
  • UDP User Defined Protocol
  • UDP User Defined Protocol
  • TCP Transmission Control Protocol
  • IP IP Protocol
  • UDP is located in the same layer as connection-oriented TCP, It is a connectionless protocol. The use of the UDP protocol always makes sense if only a little data is to be transmitted quickly. For example, there is an exchange of short requests between client and server in application programs. and answers.
  • An RPC call runs as follows, for example:
  • a client process 100 running within browser 31 calls an RPC interface 101.
  • This client process 100 can e.g. be a Java applet embedded in an HTML page.
  • the RPC interface 101 has the task of specifying the subroutine entry.
  • the specification contains the name of the function and the number and types of parameters. This defines a logical entry.
  • the RPC interface 101 enables the remote procedure 102 to be started.
  • the parameters of the client process 100 are read from the RPC interface 101.
  • the purpose of the RPC interface 101 is to package and convert the parameters for the server program.
  • the network routines send the messages to a server process 103, which runs in the RPC server 34a.
  • An RPC interface 104 of the server process 103 rebuilds the parameters from the message packets.
  • server program In the next step the server program is called.
  • a server stub is defined for this. This stub is the actual entry into the procedure lying on the server process 103.
  • control is passed back to the RPC interface 104.
  • Interface 104 packs the return parameters and then transports the data to the network routines.
  • the network routines transport the data to the client process 100 via network-dependent calls.
  • the concept of the remote procedure call ensures that the entire network code remains hidden in the RPC interface and in the network routines. This prevents the application programs (client and server) from looking at details such as Conversion EBCDIC ⁇ > ASCII, number conversion, socket, session etc., must take care of.
  • One advantage of using the RPC protocol for dynamic data is that it simplifies the implementation of distributed applications.
  • the retrieval of information described in connection with FIG. 4 from the field device 33, which includes the HTTP server 34, can also be carried out in connection with actions within the framework of the Observation and operating system can be used, which are executed for the purpose of operating the field device 33. This makes it possible to operate the field device 33 using the browser device 31. This is described in more detail below.
  • the field device 33 contains a storage device 35a, in which operating software is stored in the form of HTML pages 35, and a Java archive or data from which HTML pages can be generated.
  • the operating software is specially tailored to the field device 33.
  • an HTTP download starts, which leads to the downloading of the operating software from the HTTP server 34 of the field device 33 into the user personal computer 30.
  • the front view of the field device 33 is shown with all operating and display elements within the browser device (cf. FIG. 3 ). The user can then use certain operating functions of the field device 33
  • Trigger with the click of a mouse on the screen of the user's personal computer 30.
  • the user action is transmitted to the field device 33 by means of a fast and effective protocol which, on the one hand, transmits the above-mentioned operating requirements from the user personal computer 30 to the field device 33 and, on the other hand, reads back reactions from the field device 33.
  • the internal operating and display functions of the field device 33 to the interface of the browser device 31 are published, e.g. Keyboard buffer, display buffer, LED status.
  • TCP / IP and HTTP Internet protocols, such as TCP / IP and HTTP, do not offer any security mechanisms. Additional protocols are required to enable secure communication.
  • the mechanisms for protecting security-related actions on the field device 33 via TCP / IP communication are of particular importance. With regard to protection against unauthorized access, the operating actions on the field device 33 can be classified (cf. Table 1).
  • firewall e.g. proxy server
  • the internal network company intranet / LAN
  • another network e.g. Internet
  • the field device 33 is set in the delivery state in such a way that keys that enable the complete entry of customer passwords are blocked. This lock must be lifted by the customer on the field device 33 itself or with the operating program in the browser device 31 on the user personal computer 30 (password entry required).
  • In the delivery state only simple operating actions are possible via the browser device 31: navigation in the operating menu, display of measured values, parameters and message lists.
  • the parameterization of the field device 33 in the front view emulation is as on the field advises 33 possible if the blocking of the required
  • Actions relevant to security on the field device 33 are protected by authentication protocols, e.g. by means of a hash function and a key generated by the field device 33. This means that no conclusions can be drawn about entered passwords from the connection log.
  • 128-bit information the so-called “message digest”
  • the receiver compares the "message digest” with that of the field device 33 determined from the information. As a result, field device passwords are not transmitted via the communication link.
  • the keys generated in the field device 33 expire after a short time and can only be used once for a transmission. This means that the recording of security-relevant logs and a later repetition of these recorded logs is ineffective.
  • An element for the optimized implementation of the described functional interaction of the elements of the observation and operating system for example the use of the RPC protocol, the retrieval of the raw data from the field devices FG1 ... FGN and the operation of the field devices using a browser on the user devices N1 .. .NN, is the proxy server 1.
  • Known standard HTTP proxy servers only support the HTTP Protocol and are therefore not able to serve as a gateway between the device network and the company intranet. For this reason, a specific proxy server 1 designed for the BuB system was created, which supports both protocols used by the field devices FG1 ... FGN (HTTP, RPC).
  • connection (WAN - "Wide Area Network") between the device network and the intranet, a direct coupling of the device network segment via a hub or a switch consists in the use of so-called “caching".
  • a client makes a request for an object to a server device
  • this request initially runs via a so-called proxy device.
  • the proxy device checks whether the object in question is already in a local memory (cache) of the proxy device, which is usually formed on a hard disk. If it is determined here that the object is not locally in memory, the proxy device forwards the request to an actual target server device. From there, the proxy device receives the object and stores a copy of the object in the local for further requests for this object
  • a prerequisite for optimal execution of the described method is a sufficiently large memory area in the proxy device, ie in the order of magnitude of several hundred MB to several GByte. Otherwise, the local memory in the proxy device overflows and a "garbage collector" (a so-called clean-up service) must be started, which filters outdated objects from the memory in order to make space for new objects there.
  • aching an improvement in performance (faster data transport than external); a saving of external bandwidth
  • the proxy server 1 used to connect the device network and the company intranet (see FIG. 1) is based on the described basic principle and, due to the specific design, which will be described in detail later, also has the advantages mentioned below.
  • the proxy server 1 comprises a file memory or file system optimized for use in the BuB system. before that buffers all files with static data from the field devices FG1 ... FGN in the proxy server 1. If such a file is accessed for the first time, then this file must be fetched directly from one of the field devices FG1 ... FGN. If this file is accessed again, however, it can then be delivered directly from the file cache of the proxy server 1. Since the local company intranet is generally much faster than a modem connection to the field devices FG1 ... FGN, there are significant speed advantages when accessing the device network, since only the HTML pages and the Java archives of significantly smaller dynamic data are transmitted over the slow modem connection.
  • the proxy server 1 also increases security in the network.
  • the proxy server 1 seals off the two networks, device network and company intranet, from one another and only transmits the protocols processed in the proxy server 1. This means that only the requirements generated by a browser on the user devices N1 ... NN to the field devices FG1 ... FGN are transmitted from the company intranet. Only the responses generated by the field devices FG1 ... FGN are transmitted in the opposite direction. This means that all other data packets circulating on the company intranet are kept away from the device network and therefore do not influence the throughput in the device network. Furthermore, a high data volume occurring in the device network due to cross-communication between the field devices FG1 ... FGN cannot increase the network load in the company intranet.
  • the use of the RPC protocol by means of the proxy server 1 has the advantage of ensuring that the field devices FG1 ... FGN can be accessed by the xyserver 1 connected company intranet remains limited.
  • a company intranet is usually connected to the Internet via an HTTP gateway.
  • This gateway takes on a firewall function here (see FIG. 7) by blocking the transmission of the RPC protocol.
  • the data of the field devices FG1 ... FGN can no longer be accessed outside the company intranet, since all dynamic data of the field devices FG1 ... FGN are transmitted via the RPC protocol.
  • the proxy server 1 enables a variety of functions that are not available with the direct access to the field devices FG1 ... FGN that has been customary up to now.
  • the following compilation lists further essential functions that result in connection with the following detailed description of the proxy server 1:
  • a separate homepage is made available via which all connected field devices FG1 ... FGN can be reached.
  • the connected field devices FG1 ... FGN are automatically addressed and recognized; Representation of these field devices FG1 ... FGN on the homepage as the start page on the user devices N1 ... NN for direct device access. Access is made possible via device names of the field devices FG1 ... FGN, this is more user-friendly than access via the IP address.
  • the proxy server 1 can be configured using a browser on the user devices N1 ... NN (e-mail addresses, telephone numbers, device names, ...) - the proxy server 1 defines the possible access routes ("firewall function").
  • the proxy server 1 can temporarily store data from the field devices FG1 ... FGN This function is suitable, for example, for the logging of the accident information or the operational measured values. This data is stored internally in an XML database (XML - "Extended Markup Language").
  • the proxy server can make the data transmitted from the field devices FG1 ... FGN via the RPC protocol available in XML format For example, user-specific expansions of the representations available in proxy server 1 can be carried out.
  • an XSL parser XSL - "Extended Stylesheet Language" integrated in proxy server 1 is available.
  • the proxy server 1 can also be used as a client for further applications. Signaling of events in the LAN (LAN - "Local Area Network") via e-mail is possible.
  • the proxy server 1 provides its own e-mail mailboxes that can be accessed using a P0P3 client (POP3 - "Post Office Protocol Stepping 3" ) , such as Outlook, can be accessed. It is also possible to forward e-mails to another mailbox using an SMTP server (STMP - "Simple Message Transfer Protocol”) integrated in the proxy server 1.
  • the design of the proxy server 1 is described in more detail below.
  • FIG. 7 shows an arrangement with the device network and the company intranet according to FIG. 1, elements of the proxy server 1 being shown schematically.
  • FIG. 8 shows function blocks of the proxy server 1 in a block diagram.
  • each of the field devices FG1... FGN has a respective HTTP server HS1... HSN, which correspond to the respective HTTP server 34 (see FIG. 4) and is connected with a star coupling. ler 39 are connected.
  • the proxy server 1 also has an HTTP server 40. The operation of the proxy server 1 is described below with reference to FIG. 8.
  • Access to the proxy server 1 always takes place from the local network of the company intranet, in which the user devices N1 ... NN with the respective modem connection are located in the device network comprising the field devices, which can comprise a substation or several substations. If one of the user devices N1 ... NN is addressed as a server via the associated local IP address, this access is forwarded to the HTTP server 40 via a TCP / IP stack 41 (TCP - “Transfer Control Protocol”).
  • TCP / IP stack 41 TCP - “Transfer Control Protocol”.
  • the HTTP server 40 delivers the requested files to the company intranet.
  • the HTTP server 40 contacts a cache manager 43 via a file filter 42.
  • the file filter 42 normally forwards the request to the cache manager 43. Only certain requests are recognized based on the requested file type and sent to another processing path. These exceptions are described later.
  • the cache manager 43 first tries to find the requested file in the local files 44 or in a file cache 45. If the requested file is neither a local file of proxy server 1 nor in the file cache
  • a modem connection with the PPP protocol is preferably used as the connection to the device network (cf. FIG. 1). Since the proxy server 1 can hold several connections to different field devices FG1 ... FGN at the same time via this modem connection, an arbiteration of this modem connection is necessary because the PPP protocol can only manage a point-to-point connection.
  • a block slot protocol 48 is used for this purpose. This protocol allocates time slices on the modem communication link to the individual PPP connections and thus prevents collisions between the individual connections.
  • the block slot protocol 48 is also responsible for recognizing all field devices FG1 ... FGN active in the device network. For this purpose, the device network is searched cyclically for active field devices. The detected active field devices are entered by a device manager 49 into an XML database 50 of the proxy server 1.
  • the XML database 50 is a data tree stored according to the standardized “Document Object Model”. Now contains a user device N1,... Or, respectively, via the HTTP server 40 in the browser of a user device connected to the proxy server 1. NN loaded HTML page Java code that establishes a parallel UDP connection (UDP - "User Defined Protocol") for the RPC protocol, then this way an RPC server 51 is addressed from the company intranet.
  • UDP User Defined Protocol
  • connection management 52 Since the RPC protocol is based on the standardized UDP / IP protocol for performance reasons, a connection management 52 must be contained here in the proxy server 1, since the UDP protocol does not operate in a connection-oriented manner.
  • the connection management 52 ensures that a separate communication port for an RPC client 53 of the proxy server 1 is reserved in the device network for each usage device N1... NN from the company intranet. The RPC requirements out the company intranet is then via the RPC client 53 of the
  • Proxy server 1 forwarded directly to the device network
  • the responses of the field devices FG1 ... FGN to RPC requests are forwarded to the RPC server 51. This forwards the response of the respective field device FG1, ... or FGN to the user equipment via the company intranet.
  • the dynamic data currently transferred in the RPC protocol from the respective field device FG1,... Or FGN are stored in the XML database 50 in the proxy server 1.
  • the data stored in the XML database 50 can be converted into any other data formats using an XSL parser 54 integrated in the proxy server 1.
  • the necessary transformation instructions must be as XSL
  • Script file are stored locally in proxy server 1.
  • an * .XML file must be requested from the HTTP server 40.
  • Such a request is filtered out of the normal access path to the cache manager 43 by the file filter 42 connected to the HTTP server 40 and forwarded to the XSL parser 54.
  • This reads an XSL file of the same name from the files stored locally in proxy server 1 in addition to the requested XML file and starts the transformation process.
  • the result of this transformation is sent from the HTTP server 40 to the requesting user.
  • FGN from the XML database 50 or simply a subtree of the database can be transferred as an XML file.
  • the file filter 42, the cache management 43, the local files 44, the file cache 45, the XSL parser 54 and the XML database 50 form a file system of the proxy server 1.
  • HTTP Hypertext Transfer Protocol
  • client computer of the Internet user
  • server server device
  • the port 80 is defined as the starting point, ie an HTTP server is listening on this port for new client connections, or the vast majority of HTTP server software via a corresponding configuration dialog, you can also be instructed to use a different port for establishing contact.
  • HTTP client establishes a TCP connection to the desired HTTP server via port 80 and sends a request for a desired document to the HTTP server.
  • the HTTP server receives the request, evaluates it and, if successful, sends the desired document back to the HTTP client.
  • the HTTP server closes the TCP connection automatically after it has sent the HTTP client the requested document or an error message in response to its request.
  • HTTP HyperText Transfer Protocol
  • HTTP is therefore also known as a stateless protocol because the connection does not go through several phases, from logging in, through data exchange to logging out through the HTTP client.
  • this facilitates the development of HTTP client / HTTP server software, but is not very efficient with regard to the use of the available bandwidth.
  • the HTTP protocol is used to access sources in URL format (URL - "Uniform Resource Locator").
  • the HTTP client usually a web browser on the computer of the Internet user. It requires an HTML And then generates a sequence of requests for file references in that HTML page, after which the user will likely click a link in the requested HTML page and the HTTP client will send a request for the HTML pages associated with that link , to the same or another HTTP server.
  • These other communication connections no longer have any information about a previous connection. This works for simple ones Client / server environments. In the case of more extensive communications, however, this method of working can become a problem, because for every small amount of data that is to be transmitted, this excess (“overhead”) occurs, which reduces efficiency.
  • Figure 9 shows a schematic representation of the syntax of a request in connection with an HTTP client / server interaction.
  • the HTTP client / server interaction consists of a single request / response communication. It comprises a "request line”, one or more optional "request header fields” and an optional "entity body”.
  • request line a "request line”
  • request header fields a "request header fields”
  • entity body a "entity body”.
  • the HTTP client 60 then sends a command string to the HTTP server 61.
  • the HTTP server 61 responds via the TCP connection opened by the HTTP client 60 with a header that is next to it the HTTP version supported by the HTTP server 61 also contains the MIME type and the coding of the requested file.
  • the HTTP server 61 appends the content of the requested file to this header in ASCII format. After the HTTP server 61 has sent the complete file, it closes the TCP connection 63 opened by the HTTP client 60. This process can be repeated as often as desired.
  • the "request line” consists of three text fields, which are separated by spaces.
  • the first field specifies the method (or the command).
  • the second field specifies the name of the source (is the URL without specifying the protocol and the
  • the last field specifies the protocol version of the HTTP client 60 used, for example HTTP / 10.
  • the “request header fields” provide additional information about the request and the HTTP client 60.
  • the fields are used as a type of RPC parameter. Each field consists of a name, followed by a colon and the field value. The order of the "header fields” is not important here.
  • the "entity body” is sometimes used by HTTP clients 60 to send larger packets of information to the HTTP server 61.
  • the file cache 45 does not work as usual with the URL, the date and the lifespan of the files to be managed, but uses other criteria for identifying a file. If only the three criteria mentioned were used to decide whether a file locally in the file cache is identical to the file available in the field device, then a comparison of the file characteristics mentioned would be necessary to carry out this test. To do this, the header from the field device would have to be requested for each file. However, since the file system of the field devices FG1 ... FGN can only be loaded as a unit in the form of a KON file (converted files - format that can be loaded into the user devices N1 ... NN), such a comparison is not for every file required.
  • zip device-specific texts for applets
  • the file "ver.txt” can have the following content:
  • the slot protocol 48 (cf. FIG. 8) serves to connect the proxy server 1 to the field devices FG1... FGN in an arrangement with a star coupler according to FIG. 7.
  • the slot protocol 48 is divided into the two areas (i) device detection and (ii) Arbiting the star coupler arrangement.
  • the device detection is used for the automatic detection of all field devices FG1 ... FGN connected to the star coupler 39.
  • the arbitration must prevent collisions between datagrams of different field devices FG1 ... FGN on the communication link between proxy server 1 and the individual field devices FG1 ... FGN.
  • the device identification is a component of the slot protocol 48. This protocol part exclusively occupies the serial connection, i. H. no other communication may be active on the modem link during device detection. For this reason, device recognition is only activated when the modem connection is established. This part of the protocol is inactive during operation of the monitoring and operating system. Device detection can, however, be activated if necessary.
  • Figure 10 shows a master-slave arrangement with a star coupler to explain the device detection.
  • the slot protocol 48 works according to the master-slave principle.
  • a master 70 is located at the upper connection in FIG. 10.
  • the lower connections of a star coupler 71 which corresponds to the star coupler 3 in FIG. 1, are each occupied by a slave S1 ... SN, which the field devices FG1 ... FGN according to FIG 1 correspond.
  • the master 70 could query every possible address of the connected slaves S1 ... SN and, in response to this query, add the found slave Sl, ... or SN to the list of devices known to the master 70.
  • this procedure can no longer be carried out with an address range of 32 bits. 2 32 queries would be required here. However, this number can no longer be carried out since the time required for this query would exceed the life of the system.
  • the problem is solved according to the invention in the following way:
  • an address range is always queried when a request is made. Only the slaves that are in the queried address range respond to this request. Since there can be several field devices (slaves) in the same queried address range, a collision inevitably results in a simultaneous response from several of the slaves S1 ... SN. This collision is deliberately accepted and is part of the proposed procedure. For this reason, the master 70 only checks whether an answer to its request has been received within a defined period of time.
  • the master 70 sends out a request with a fixed bit of the address and a mask for the other address bits. Two queries can be used to test whether there are slaves in the address range specified by the fixed bit. If a response to a request for an address range was received, the mask is changed to one
  • FIG. 12 explains the described method again using a simple addressing scheme with a 4-bit address, that is to say for an address space from 0 to 15. It is assumed that the devices with addresses 3, 4 and 7 are in the arrangement , It will start with the query of the most significant bit. Address space 0 to 7 is tested on the one hand and address space 8 to 15 in a second query with one query. No device answers this second query. The master receives one or more answers to the first query. For this reason, the mask is reduced by an additional bit in address space 0 to 7. Address ranges 0 to 3 are now checked with a third query and 4 to 7 with a fourth query. This process is repeated as shown in FIG. 12 until the addresses are completely resolved and all devices are found.
  • the slaves Sl ... Sn or the field devices FG1 ... FGN are connected to the master 70 using an IP-based protocol.
  • IP protocol all bus users have a 32-bit address. The address is divided into octets and each octet is shown in decimal. The hexadecimal 32 bit number Ox8D8D8000 therefore corresponds to the IP address 141.141.128.0.
  • Ox8D8D8000 therefore corresponds to the IP address 141.141.128.0.
  • a recursive variant of the procedure described in the previous paragraph is used for the actual process for device detection / interrogation.
  • FIG. 11 shows the flow diagram of the method as a Nassi-Sneidermann diagram.
  • the test as to whether a field device (slave) can be addressed in the available address range is preferably initiated by master 70 with the aid of a request datagram known as such.
  • master 70 In contrast to conventional methods, however, it is consciously accepted that several of the slaves S1 ... SN respond to a request datagram sent by the master 70 at the same time.
  • the fact that all signals received by the slaves S1 ... SN in the star coupler 71 are linked via a logical OR gate and this sum signal is forwarded to the master 70, can ensure that a response from one of the slaves is present in the master 70 S1 ... SN is recognized in any case. If the response datagrams of several of the slaves S1 ... SN overlap temporarily, an incorrect datagram is received in master 70. This case is also recognized as the answer.
  • a monitoring time for the master 70 can be defined. If the master 70 receives a response within this monitoring time, there are slaves or field devices in the requested address area. Conversely, there are no field devices in the requested address area if the master 70 has not received a response to the request within the monitoring time.
  • the error protection of the received datagram can be used to prevent a line fault and thus a possible fault detection of a connected slave. If a line fault occurs during the monitoring time after a request from the master, which pretends that a slave is not present, this only leads to an extension of the query process, but not to incorrect detection of connected slaves, since this line fault occurs at the latest when the slave is completely resolved Mask is recognized.
  • the following paragraph shows the function of the method using an example:
  • Test 141 .141 84 .2
  • Mask 255 .255 .255 .255 .255
  • FIG. 12 illustrates the process shown in the form of a tree representation, the fields in bold outline indicating the queries that were answered by one or more slaves S1 ... SN or field devices.
  • an IP-based network can be used instead of the simple architecture with star coupler 39.
  • arbiting of this network by means of a protocol, for example the slot protocol 48, is not required.
  • This function is performed by the network itself.
  • functions of the network can also be used for device detection. With a network connection between the proxy server 1 and the field devices FG1 ... FGN becomes the self-configuration of the observation and
  • Operating system uses a broadcast service.
  • the detection of the connected field devices FG1 ... FGN i.e. in the embodiment with a star coupler arrangement and when using a network, in particular a LAN, the recognition is carried out automatically when the observation and operating system is started up and takes place without prior parameterization of the components involved in the system.
  • the broadcast service is used to identify the field devices connected to the IP-based network (e.g. LAN) that contain a server for their own operation.
  • the broadcast service also serves to collect spontaneous events that have occurred in the connected field devices.
  • the broadcast service is an IP application and is therefore based on the functions of the IP stack and is based on the UDP protocol. For this service server side z. B. a fixed port OxDOOO reserved. A free port is dynamically selected on the client side.
  • the IP programming interfaces of common operating systems such as B. MS Windows or Linux.
  • the proxy server 1 can thus be easily ported to classic office servers.
  • the broadcast service is active both in proxy server 1 and in the individual field devices.
  • proxy server 1 is defined as the master.
  • a configuration query is a UDP telegram sent by the master. Depending on the configuration, this telegram is directed to a broadcast or a multicast IP address.
  • a description Broadcast or multicast IP addresses can be found, for example, in Karanjit S. Siyan: Inside TCP / IP Third Edition, New Riders Publishing, Indianapolis, 1997, ISBN 1-56205- 714-6, page 187ff.
  • the UDP response telegrams of all Active field devices will therefore arrive at the requesting master within a certain time, so that the requesting party is able to determine how many and which field devices are in the network and can then obtain further information from the field devices via the HTTP protocol or others Request IP-based protocols.
  • the broadcast service also has the task of distributing an event occurring spontaneously in one of the field devices in the IP-based network to the participants of the broadcast service. Since the field devices on the one hand have no information about which master is responsible for this signal and, on the other hand, it may be possible for several masters with distributed tasks to exist in the IP-based network, the event telegram is sent as a broadcast to all network participants. The masters can use this signal Depending on the event type and sender, ignore or trigger an action which is carried out via another protocol, e.g. B. HTTP, retrieves additional information from the field device. This retrieval of additional information on the field device sending the event by the responsible master also serves as an acknowledgment of receipt by the master. If an event telegram is not confirmed, it is repeated at regular intervals (for example about 10 s or with a logarithmically increasing time) until confirmation is received from a master.
  • regular intervals for example about 10 s or with a logarithmically increasing time
  • FIG. 13 shows a schematic illustration to explain the method in the context of the configuration query.
  • proxy server 1 sends a configuration request 72 as a broadcast to all participants in the network. All field devices FG1 ... FGN respond with a UDP datagram to the IP address of the master that sent the configuration request. As already shown, this UDP datagram contains the most important information about the connected devices.
  • FIG. 14 shows a schematic block diagram of the connection of the device management 49 in the proxy server 1.
  • the device management 49 provides the cache management 43 and the XML database 50 with information about the data generated in the device network. known field devices FG1 ... FGN.
  • Device management 49 their information about the connected field devices FG1 ... FGN from the procedure running in the context of the slot protocol 48. In this way, the IP addresses of the connected field devices FG1 ... FGN are provided.
  • the device management 49 is supplied by the slot protocol 48 with the information about the recognized field devices FG1 ... FGN.
  • the slot protocol 48 only supplies the device management 49 with the IP addresses of the detected field devices FG1 ... FGN. All further information about the field devices FG1 ... FGN, which are to be provided by the device management 49 in the proxy server 1, is obtained by downloading HTTP data in defined files from the field devices FG1 ... FGN.
  • Device management 49 uses the known IP addresses of all recognized field devices
  • This information is also available in the file cache 45 (cf. FIG. 8) for the files already stored there.
  • this information can be used to decide whether the file in the file cache 45 is identical to the file available in the field device, without the file header of the requested file from the specific field device to read. Only the version information for the file in the file cache 45 has to be compared with the information from the device management 49 for the IP address of the specific field device.
  • the connection of the device management 49 to the XML database 50 is used to provide information from the field devices FG1 ... FGN. This information is loaded in the form of an XML file from the field devices FG1 ... FGN.
  • the following table shows an overview of the contents of this file:
  • the file “DevData.xml” is transformed in the proxy server 1 after downloading using the XSL parser 54 into the internal format of the proxy server 1 and then entered in the XML database 50 of the proxy server 1.
  • the XSL parser 54 (see FIG. 8) is used to generate dynamically generated HTML files from the central XML database 50 of the proxy server 1. For this purpose, XSL scripts stored locally in the proxy server 1 are used. The XSL scripts can be imported into the proxy server 1 using an admin page.
  • FIG. 15 shows the integration of the XSL parser 54 in the proxy server 1.
  • this request is filtered out by the file filter 42 and forwarded to the XML front-end HTTP 55.
  • This front end searches for an XSL transformation script belonging to the requested XML file and starts the XSL parser 54 with these two files.
  • the device manager 49 continuously monitors the status of the devices connected to the device network and updates this information using the XML front-end device data 56 in the XML database 50.
  • the XSL parser 54 is the main link in the representation of the current data received from the field devices FG1... FGN from the XML database 50.
  • Each XSL script specifies transformation rules that determine how certain data is output the XML database 50 are to be displayed in the form of HTML pages in the user devices N1 ... NN.
  • One of the basic principles of XML is the separation of content and presentation. An XML document only contains "content", its presentation must be defined separately in the form of a style sheet.
  • There are various ways of adding the display information to an XML document These are based on two basic processes: Either the document is brought into a displayable form according to a style sheet or the style sheet guides the display mechanism in how the individual elements of the document are to be displayed. These two basic processes can be varied in different ways: CSS stylesheet + XML document - »XML-enabled browser
  • the browser processes the document and the presentation information in the form of a CSS style sheet and creates a presentation.
  • a display program that can process XSL stylesheets receives the presentation information in the form of an XSL stylesheet in addition to the document.
  • the XML document is transformed from an XSL transformer into an (X) HTML document according to the transformation rules of an XSL stylesheet, which can then be displayed by a browser.
  • FIG. 16 shows a schematic block diagram of an XSLT processor (XSL - “Extended Stylesheet Language Transformation”).
  • FIG. 16 again illustrates the data flow when an XML file is requested.
  • the file Xview.XML requested by the client is forwarded from the HTTP server to the XSLT processor 54. This searches for the file belonging to the requested Xview.XSL file
  • Xview.XSL and starts the XSLT processor 54 with these two files. If process data from the XML database 50 of the proxy server is to be used in the transformation process started via the requested file Xview.XML, then the transformation script Xview.XSL must contain a reference to this database. In the example shown in FIG. 16, this XML database 50 has the name Siprogate .XML. Since all displayed with the help of the user facilities N1 ... NN
  • the XSLT parser must be manipulated so that it can be determined which data from the individual databases are involved in the design of the HTML page to be generated. This information is then used to determine in a second step whether this data is current. Thereupon, the update mechanisms required for this are initiated, if this is necessary, and the parsing process is then started again, only those data being updated that are currently being displayed to a user in any form using one or more of the user devices N1 ... NN become. This is achieved by only updating the requested data in the XML database.
  • this mechanism results in a reduction in the data transmitted between the field devices FG1 ... FGN and the proxy server 1, since on the one hand only on request and on the other hand only the data required for the respective display be fetched.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention relates to a method for transmitting raw data (36) between a field device (33) and a user device (30) for observation and/or operation of said field device (33), in addition to the embodiment of said field device (33). The raw data (36) is pre-held in the field device (33). A server device (34) is embodied in the field device (33). A browser device (31) is installed onto the user device (30) for data communication with the server device (34). The inventive method comprises the following steps: a communication link is set up in order to transmit electronic data between the field device (33) and the user device (30); an electronic description page (35) which can be graphically outputted on the user device (30) is transmitted with the aid of the browser device (31) from the server device (34) of the field device (33) to the user device (30) via said communication link whereby the electronic description page (35) consists of at least one electronic reference to the raw data (36) which is pre-held in the field device (33); the raw data (36) is transmitted from the field device (3 ) to the user device (33) and the raw data (36) is automatically processed (36) in the user device (30).

Description

Beschreibung •Description •
Verfahren zum Übertragen von Rohdaten und FeldgerätProcess for transferring raw data and field device
Die Erfindung liegt auf dem Gebiet des ferngesteuerten Betreibens, insbesondere zum Beobachten und Bedienen, von Feldgeräten.The invention is in the field of remote-controlled operation, in particular for observing and operating field devices.
Feldgeräte werden im Rahmen der Automatisierung von verschie- densten technischen Prozessen genutzt, beispielsweise zum Ü- berwachen eines Produktions- bzw. Herstellungsprozesses oder eines Verarbeitungsprozesses . Bei den Feldgeräten kann es sich um die Produktionsanlagen selbst oder um Geräte zum Ü- berwachen, vorzugsweise zum Steuern und/oder zum Regeln in Abhängigkeit von erfassten Felddaten, der eingesetzten technischen Produktionsmittel bzw. -anlagen handeln.Field devices are used in the automation of a wide variety of technical processes, for example to monitor a production or manufacturing process or a processing process. The field devices can be the production plants themselves or devices for monitoring, preferably for controlling and / or regulating, depending on the recorded field data, the technical production means or plants used.
Beim Betrieb der Feldgeräte fallen in den Feldgeräten Rohdaten an, die weiter verarbeitet werden können, beispielsweise zum Auswerten von Messprozessen oder zur Fehlererkennung.During operation of the field devices, raw data is generated in the field devices, which can be processed further, for example for evaluating measurement processes or for error detection.
Mit Hilfe unterschiedlicher Technologien werden mit den Feldgeräten insbesondere Messdaten erfasst, die zwischengespeichert und/oder weiter verarbeitet werden können. Darüber hinaus können die in dem Feldgerät vorliegenden Rohdaten In- formationen über gerätespezifische Parameter umfassen, wie vorgegebene und/oder veränderbare Einstellungen des Feldgeräts. Diese Rohdaten können beispielsweise Messwerte, Ereignislisten, Diagnosedaten, Fehlermeldungen oder Störschriebe in einem feldgeräteinternen binären Format sein.With the help of different technologies, the field devices in particular record measurement data that can be buffered and / or processed further. In addition, the raw data present in the field device can include information about device-specific parameters, such as predefined and / or changeable settings of the field device. This raw data can be, for example, measured values, event lists, diagnostic data, error messages or fault records in a binary format internal to the field device.
Zum Auswerten der Rohdaten durch das Bedienpersonal ist eine Visualisierung/Darstellung der Rohdaten notwendig. Hierbei kann grundsätzlich zwischen einer Verarbeitung der Rohdaten im Feldgerät selbst und einer Übertragung der Rohdaten zu einer Beobachtungs- und Bedienungseinrichtung unterschieden werden, die mit dem Feldgerät verbindbar ist.To evaluate the raw data by the operating personnel, a visualization / representation of the raw data is necessary. Basically, you can choose between processing the raw data a distinction is made in the field device itself and a transmission of the raw data to an observation and operating device which can be connected to the field device.
Die Übertragung der Rohdaten an die Beobachtungs- und Bedienungseinrichtung hat den Vorteil eines höheren Bedienkomforts, da dieser an den Feldgeräten in der Regel sehr gering ist; es sind nur einfache Bedienhandlungen zum Auswerten/Bearbeiten der Rohdaten am Feldgerät möglich. Darüber hinaus ist am Feldgerät eine grafische Aufbereitung der Rohdaten häufig nicht ausführbar. Es wurden deshalb komplexe Bedienprogramme für eine Fernbedienung der Feldgeräte vorgeschlagen. Bei der Nutzung dieser Programme entsteht jedoch ein sehr hoher Aufwand, wenn standardisierte Kommunikations- mechanis en eingesetzt werden sollen. Generell erfordern die bekannten Bedientechnologien der Fernwirktechnik, beispielsweise der Einsatz eines WIN-CC-Bedienplatzes, zum Betreiben von Feldgeräten die Beachtung der technischen Besonderheiten der einzelnen Feldgeräte.The transmission of the raw data to the observation and operating device has the advantage of greater ease of use, since this is generally very low on the field devices; only simple operations for evaluating / processing the raw data on the field device are possible. In addition, it is often not possible to graphically prepare the raw data on the field device. Complex operating programs for remote control of the field devices have therefore been proposed. However, using these programs involves a great deal of effort if standardized communication mechanisms are to be used. In general, the well-known operating technologies of telecontrol technology, for example the use of a WIN-CC operator station, for operating field devices require the technical special features of the individual field devices to be observed.
Aufgabe der Erfindung ist es, eine verbesserte Möglichkeit zum Übertragen von Rohdaten aus Feldgeräten zu schaffen, die im wesentlichen unabhängig von der spezifischen Feldgeräteausbildung ist und hierdurch eine hohe Kompatibilität gewähr- leistet.The object of the invention is to provide an improved possibility for transferring raw data from field devices, which is essentially independent of the specific field device design and thereby ensures a high degree of compatibility.
Die Aufgabe wird durch das Verfahren nach Anspruch 1 sowie die Vorrichtung nach Anspruch 11 gelöst.The object is achieved by the method according to claim 1 and the device according to claim 11.
Ein wesentlicher Vorteil, welcher mit der Erfindung gegenüber dem Stand der Technik erreicht wird, besteht darin, dass die in dem Feldgerät anfallenden Rohdaten mittels der Nutzung eines Browsers abgerufen werden können, welcher auf Standard- Kommunikationstechnologien basiert und somit nicht von der spezifischen Ausbildung des Feldgeräts abhängt. Die vorgeschlagene Weise des Übertragens der Rohdaten erlaubt es grundsätzlich die Rohdaten mit einem Standard-Browser auf ei- nem Standard-Personalcomputer abzurufen, um die Rohdaten anschließend mit Anwendungsprogrammen zu verarbeiten. Für das Ausführen steht in dem vom Benutzer eingesetzten Standard- Personalcomputer oder dergleichen eine ausreichende Rechnerleistung zur Verfügung, die im Feldgerät nicht verfügbar ist. Dieses gilt auch für den vom Anwendungsprogramm benötigtenAn essential advantage which the invention achieves over the prior art is that the raw data accumulating in the field device can be called up by using a browser which is based on standard Communication technologies based and therefore does not depend on the specific training of the field device. The proposed way of transferring the raw data basically allows the raw data to be called up with a standard browser on a standard personal computer in order to then process the raw data with application programs. Sufficient computing power is available for execution in the standard personal computer or the like used by the user, which is not available in the field device. This also applies to those required by the application program
Speicherplatz, der im Feldgerät in der Regel ebenfalls nicht vorhanden ist .Storage space that is usually also not available in the field device.
Eine zweckmäßige Weiterbildung der Erfindung sieht vor, dass die elektronische Beschreibungsseite nach dem Übertragen an die Nutzereinrichtung automatisch in der Nutzereinrichtung analysiert wird, um die Referenz auf die Rohdaten zu erfassen, und dass die Rohdaten nach dem Erfassen der Referenz in der elektronischen Beschreibungsseite automatisch von dem Feldgerät an die Nutzereinrichtung übertragen werden. Hierdurch können die Rohdaten vom Feldgerät auf die Nutzereinrichtung geladen werden, ohne dass der Benutzer eingreifen uss .An expedient development of the invention provides that the electronic description page is automatically analyzed in the user device after transmission to the user device in order to record the reference to the raw data, and that the raw data is automatically collected by the user after the reference is recorded in the electronic description page Field device are transmitted to the user device. As a result, the raw data can be loaded from the field device onto the user device without the user having to intervene.
Um dem Benutzer der Nutzereinrichtung die Auswahl zwischen verschiedenen Rohdatensätzen auf einfache Weise zu ermöglichen, sieht eine bevorzugte Ausgestaltung der Erfindung vor, dass eine der Referenz in der elektronischen Beschreibungs- seite zuordbare Auswahl durch einen Benutzer mit Hilfe eines Auswahlmittels der in der Nutzereinrichtung elektronisch er- fasst wird und dass die Rohdaten nach dem Erfassen der Auswahl des Benutzers automatisch von dem Feldgerät an die Nutzereinrichtung übertragen werden. Das beschriebene Abrufen der Rohdaten kann einerseits mit Hilfe eines Erweiterungsmoduls („plug-in"-Modul) für die Browser-Einrichtung ausgeführt werden. Diese Ausführung kann zweckmäßig zum Abruf von statischen Daten genutzt werden, die sich nur über größere Zeiträume ändern oder lediglich sporadisch auftreten. Hierbei wird vorteilhaft das TCP-Protokoll genutzt. Auch eine Ausführung mit Hilfe einer ActiveX- Komponente wäre möglich. Andererseits kann für den Abruf von dynamischen Daten, die sich fortlaufend ändern, beispielsweise Ereignislisten und/oder Messwerte, ein Client-Prozess in der Browser-Einrichtung genutzt werden, bei dem dann vorzugsweise ein RPC-Protokollstandard nutzbar ist.In order to enable the user of the user device to choose between different raw data sets in a simple manner, a preferred embodiment of the invention provides that a selection that can be assigned to the reference in the electronic description page by a user with the aid of a selection means that is electronically determined in the user device. and that the raw data is automatically transmitted from the field device to the user device after the selection of the user has been recorded. The described retrieval of the raw data can, on the one hand, be carried out with the aid of an extension module (“plug-in” module) for the browser device. This embodiment can expediently be used to retrieve static data that only change over longer periods or only sporadically The TCP protocol is advantageously used here, and execution with the help of an ActiveX component would also be possible. On the other hand, a client process can be used to call up dynamic data that is constantly changing, for example event lists and / or measured values Browser device can be used, in which an RPC protocol standard can then preferably be used.
Das Verfahren kann in Verbindung mit der weitverbreiteten Standardtechnologie HTTP (HTTP - „Hypertext Transfer Proto- colV) genutzt werden, wenn die elektronische Beschreibungs- seite zweckmäßig eine HTML-Seite ist.The method can be used in conjunction with the widespread standard technology HTTP (HTTP - “Hypertext Transfer Protocol V ) if the electronic description page is expediently an HTML page.
Eine hinsichtlich der optimierten Nutzung von Datenverbindungen bevorzugte Weiterbildung der Erfindung sieht vor, dass die Rohdaten von dem Feldgerät an die Nutzereinrichtung über die KommunikationsVerbindung übertragen werden.A further development of the invention, which is preferred with regard to the optimized use of data connections, provides that the raw data are transmitted from the field device to the user device via the communication connection.
Um die Effizienz der Übertragung verschiedener Datenformate zu verbessern, kann eine vorteilhafte Ausführungsform der Erfindung vorsehen, dass zum Übertragen der elektronischen Beschreibungsseite und zum Übertragen der Rohdaten unterschiedliche Protokolle genutzt werden. Hierdurch ist es möglich, ein jeweils geeignetes Übertragungsprotokoll zu wählen.In order to improve the efficiency of the transmission of different data formats, an advantageous embodiment of the invention can provide that different protocols are used for the transmission of the electronic description page and for the transmission of the raw data. This makes it possible to choose a suitable transmission protocol.
Eine bevorzugte Weiterbildung der Erfindung sieht vor, dass die Browser-Einrichtung die von dem Feldgerät an die Nutzer- einrichtung übertragenen Rohdaten analysiert und dass zumA preferred development of the invention provides that the browser device transfers the data from the field device to the user device. raw data transmitted to the facility and that at
Verarbeiten der Rohdaten in der Nutzereinrichtung ein Anwendungsprogramm in Abhängigkeit vom Ergebnis des Analysierens der Rohdaten automatisch gestartet wird. Hierdurch wird si- chergestellt , dass die Rohdaten automatisch mit dem hierfür vorgesehenen Anwendungsprogramm verarbeitet werden. Beim A- nalysieren der Rohdaten kann beispielsweise die Dateiextensi- on oder deren MIME-Typ (MIME - „Multipurpose Internet Mail Extension") als Hinweis für das aufzurufende Anwendungspro- gramm ausgewertet werden.Processing the raw data in the user device, an application program is started automatically depending on the result of the analysis of the raw data. This ensures that the raw data are automatically processed with the application program provided for this purpose. When analyzing the raw data, for example, the file extension or its MIME type (MIME - "Multipurpose Internet Mail Extension") can be evaluated as a hint for the application program to be called.
Nach einem weiteren Aspekt der Erfindung ist ein Feldgerät mit einem Anschluss für eine Kommunikationsverbindung, die von einer Client-Einrichtung über eine IP-Adresse adressier- bar ist, einer Servereinrichtung zur Datenkommunikation mit einer auf der Client-Einrichtung installierten Browser- Einrichtung über den Anschluss und einer Speichereinrichtung mit einer hierin gespeicherten, elektronischen Beschreibungs- seite geschaffen, wobei die elektronische Beschreibungsseite eine elektronische Referenz auf in dem Feldgerät vorgehaltene Rohdaten umfasst und wobei die elektronische Beschreibungs- seite, einschließlich der mittels der elektronischen Referenz referenzierten Rohdaten, über die Servereinrichtung und den Anschluss elektronisch abrufbar ist. Die Rohdaten aus dem Feldgerät können mit Hilfe eines üblichen Browsers abgerufen werden. Es bedarf keines spezifisch auf das Feldgerät abgestimmten Bedienprogramms, was insbesondere von Vorteil ist, wenn das Betriebssystem oder hierauf aufbauende Bedienprogramme aktualisiert werden müssen.According to a further aspect of the invention, a field device with a connection for a communication connection that can be addressed by a client device via an IP address is a server device for data communication with a browser device installed on the client device via the connection and a storage device with an electronic description page stored therein, the electronic description page comprising an electronic reference to raw data held in the field device and the electronic description page, including the raw data referenced by means of the electronic reference, about the server device and the Connection is electronically available. The raw data from the field device can be called up using a conventional browser. There is no need for an operating program that is specifically tailored to the field device, which is particularly advantageous if the operating system or operating programs based thereon have to be updated.
Die Vorrichtungen gemäß den abhängigen Vorrichtungsansprüchen weisen die in Verbindung mit den zugehörigen Verfahrensansprüchen aufgeführten Vorteile entsprechend auf. Das Verfahren und/oder die Vorrichtung können vorteilhaft zum Überwachen energietechnischer Anlagen verwendet werden.The devices according to the dependent device claims have the advantages listed in connection with the associated method claims. The method and / or the device can advantageously be used for monitoring energy technology systems.
Das Verfahren und/oder die Vorrichtung können vorteilhaft zum Überwachen energietechnischer Anlagen verwendet werden.The method and / or the device can advantageously be used for monitoring energy technology systems.
Die Erfindung wird im folgenden anhand von Ausführungsbei- spielen unter Bezugnahme auf eine Zeichnung näher erläutert. Hierbei zeigen:The invention is explained in more detail below on the basis of exemplary embodiments with reference to a drawing. Here show:
Figur 1 eine schematische Darstellung mit einem Gerätenetzwerk und einem Firmen-Intranet, die über einen Proxyserver verbunden sind;Figure 1 is a schematic representation with a device network and a company intranet, which are connected via a proxy server;
Figur 2 eine Oberflächengestaltung einer Browser- Einrichtung mit grafischen Darstellungen für mehrere Feldgeräte;FIG. 2 shows a user interface design of a browser device with graphic representations for several field devices;
Figur 3 eine andere Oberflächengestaltung der Browser- Einrichtung mit einer grafischen Darstellung einer Frontansicht eines Feldgeräts;FIG. 3 shows another surface design of the browser device with a graphic representation of a front view of a field device;
Figur 4 eine schematische Darstellung eines Feldgeräts und eines Nutzer-Personalcomputers;Figure 4 is a schematic representation of a field device and a user personal computer;
Figur 5 ein Ablaufdiagramm für ein Herunterladen von HTML- Seiten im Rahmen eines Beobachtungs- und Bediensystems ;FIG. 5 shows a flow chart for downloading HTML pages as part of an observation and operating system;
Figur 6 ein Blockdiagramm zum Erläutern eines RPC-Aufrufs ; Figur 7 eine Darstellung der Anordnung mit dem Gerätenetzwerk und dem Firmen-Intranet nach Figur 1, wobei einzelne Elemente des Proxyservers schematisch gezeigt sind;Figure 6 is a block diagram for explaining an RPC call; FIG. 7 shows the arrangement with the device network and the company intranet according to FIG. 1, individual elements of the proxy server being shown schematically;
Figur 8 eine schematische Blockdarstellung des Proxyservers ;Figure 8 is a schematic block diagram of the proxy server;
Figur 9 eine schematische Darstellung zur Erläuterung einer Client/Server-Interaktion;FIG. 9 shows a schematic illustration to explain a client / server interaction;
Figur 10 eine schematische Darstellung zur Erläuterung einer Geräteerkennung in einer Master/Slave-Anordnung;FIG. 10 shows a schematic illustration to explain device detection in a master / slave arrangement;
Figur 11 ein Nassi-Sneider-Diagramm;FIG. 11 shows a Nassi-Sneider diagram;
Figur 12 eine schematische Baumdarstellung eines Verfahrens zur Geräteerkennung;FIG. 12 shows a schematic tree representation of a method for device recognition;
Figur 13 eine schematische Darstellung einer Master/Slave- Anordnung zur Erläuterung einer Konfigurationsabfrage;FIG. 13 shows a schematic illustration of a master / slave arrangement to explain a configuration query;
Figur 14 ein schematische Blockdarstellung einer Gerätver- waltung im Proxyserver;FIG. 14 shows a schematic block diagram of a device management in the proxy server;
Figur 15 eine schematische Blockdarstellung zur Erläuterung der funktionellen Einbindung eines XSL-Parsers in dem Proxyserver (XSL - „EXtended Stylesheet Langua- ge") ; und Figur 16 eine schematische Blockdarstellung zur Erläuterung eines XSLT-Prozessors (XSLT - „EXtended Stylesheet Language Transformations") .FIG. 15 shows a schematic block diagram to explain the functional integration of an XSL parser in the proxy server (XSL - “Extended Stylesheet Langage”); and Figure 16 is a schematic block diagram for explaining an XSLT processor (XSLT - "Extended Stylesheet Language Transformations").
Im folgenden wird ein in Verbindung mit Feldgeräten nutzbares sogenanntes Beobachtungs- und Bediensystem (BuB-System) beschrieben.A monitoring and operating system (BuB system) that can be used in conjunction with field devices is described below.
Figur 1 zeigt eine schematische Architektur von zwei Netzwer- ken, ein Gerätenetzwerk mit mehreren Feldgeräten FG1...FGN und ein Firmen-Intranet mit mehreren Nutzereinrichtungen N1...NN, vorzugsweise Personalcomputer (PC). Das Gerätenetzwerk und das Firmen-Intranet sind über einen Proxyserver 1 verbunden. Der Proxyserver 1 ist Bestandteil des Beobach- tungs- und Bediensystems und dient als ein Gateway zwischen dem Gerätenetzwerk und dem Firmen-Intranet . Mit Hilfe des BuB-Systems werden einerseits Informationen, beispielsweise Mess- und/oder Zustandsdaten, von den Feldgeräten FG1... FGN erfasst und an die Nutzereinrichtungen N1...NN übermittelt, um einen Benutzer der Nutzereinrichtungen Nl ...NN über denFIG. 1 shows a schematic architecture of two networks, a device network with several field devices FG1 ... FGN and a company intranet with several user devices N1 ... NN, preferably a personal computer (PC). The device network and the company intranet are connected via a proxy server 1. The proxy server 1 is part of the observation and operating system and serves as a gateway between the device network and the company intranet. With the help of the BuB system, on the one hand, information, for example measurement and / or status data, is captured by the field devices FG1 ... FGN and transmitted to the user devices N1 ... NN in order to inform a user of the user devices Nl ... NN about the
Betriebszustand der Feldgeräte FG1...FGN zu informieren. Andererseits dient das BuB-Systems zum Erfassen von Bedienbzw. Steuereingaben des Benutzers mit Hilfe der Nutzereinrichtungen N1...NN und zum Umsetzen der Eingaben des Benut- zers in den Feldgeräten FG1...FGN. Bei den FeldgerätenInform the operating status of the field devices FG1 ... FGN. On the other hand, the BuB system is used to record operating or Control inputs of the user with the help of the user devices N1 ... NN and for converting the inputs of the user in the field devices FG1 ... FGN. With the field devices
FG1...FGN kann es sich um beliebige Geräte zum Beobachten, zum Messen, zum Steuern und/oder zum Regeln verschiedenster physikalischer Größen in unterschiedlichen technischen Prozessen handeln, beispielsweise zum Überwachen und/oder Steu- ern energietechnischer Anlagen, beispielsweise eines Umspannwerks . Das Gerätenetzwerk umfasst einzelne PPP-Verbindungen 2 (PPP -FG1 ... FGN can be any device for observing, measuring, controlling and / or regulating a wide variety of physical quantities in different technical processes, for example for monitoring and / or controlling energy technology systems, for example a substation. The device network comprises individual PPP connections 2 (PPP -
„Point to Point Protocol") , die über einen Sternkoppler 3 mit dem Proxyserver 1 verbindbar sind, oder ein separates Ether- net-Segment. Der Proxyserver 1 stellt eine eigene Homepage in Form von HTML-Daten (HTML - „HyperText Markup Language") zur Verfügung, die eine Übersicht über die in dem Gerätenetzwerk erreichbaren Feldgeräte FG1...FGN zeigt (vgl. Figur 2); die Homepage kann mit Hilfe eines Standard-Browsers in den Nutzereinrichtungen N1...NN dargestellt werden."Point to Point Protocol"), which can be connected to the proxy server 1 via a star coupler 3, or a separate Ethernet segment. The proxy server 1 provides its own homepage in the form of HTML data (HTML - "HyperText Markup Language" ) is available, which shows an overview of the field devices FG1 ... FGN that can be reached in the device network (cf. FIG. 2); the homepage can be displayed in the user devices N1 ... NN using a standard browser.
Gemäß Figur 1 sind die Feldgeräte FG1...FGN nur mit dem Sternkoppler 3 und einem daran angeschlossenen Modem 4 ausgestattet. In diesem Fall sind die Feldgeräte FG1...FGN über eine asynchrone serielle Schnittstelle direkt über den Stern- koppler 3 mit dem Modem 4 verbunden. Es sind verschiedene Formen der Ankopplung über aktive und passive Sternkoppler möglich. Als Protokoll für den Zugriff auf die Feldgeräte FG1...FGN wird ein IP-Protokoll (IP - „Internet Protocol") über eine PPP-Linkschicht verwendet.According to FIG. 1, the field devices FG1 ... FGN are only equipped with the star coupler 3 and a modem 4 connected to it. In this case, the field devices FG1 ... FGN are connected to the modem 4 via an asynchronous serial interface directly via the star coupler 3. Different forms of coupling via active and passive star couplers are possible. An IP protocol (IP - "Internet Protocol") via a PPP link layer is used as the protocol for access to the field devices FG1 ... FGN.
Wenn die Feldgeräte FG1...FGN mit einem Ethernet-Anschluss ausgestattet sind, sind die Ethernet-Anschlüsse mit einem Switch oder einem Hub verbunden. Besitzt dieser Switch oder dieser Hub neben Ethernet-Ports auch einen PPP-Port, dann spricht man von einem Router. Dieser PPP-Port kann dann e- benfalls direkt mit dem Modem 4 verbunden werden.If the field devices FG1 ... FGN are equipped with an Ethernet connection, the Ethernet connections are connected to a switch or a hub. If this switch or hub has a PPP port in addition to Ethernet ports, then this is called a router. This PPP port can then also be connected directly to the modem 4.
Im Firmen-Intranet haben die an das lokale Netz angeschlossenen Nutzereinrichtungen N1...NN Zugang zu einem Modem 5, wel- ches über ein Telekommunikationsnetz 6, beispielsweise ein Telefonnetz auf Basis eines ISDN- oder eines Mobilfunk- Netzes, mit dem Modem 4 des Gerätenetzwerk verbindbar ist. Wird in den Nutzereinrichtungen N1...NN jeweils eine DFÜ- Verbindung (DFÜ - Datenfernübertragung) eingerichtet, kann von den Nutzereinrichtungen N1...NN aus jeweils ein Zugriff auf die Feldgeräte FG1...FGN erfolgen. Wird nun der Proxyserver 1 von den Nutzereinrichtungen N1...NN angesprochen, kann von jeder der an das Firmen-Intranet angeschlossenenIn the company intranet, the user devices N1... NN connected to the local network have access to a modem 5, which is connected to the modem 4 via a telecommunications network 6, for example a telephone network based on an ISDN or a mobile radio network Device network is connectable. If in the user facilities N1 ... NN a dial-up Established connection (remote data transmission), the user devices N1 ... NN can access the field devices FG1 ... FGN. If the proxy server 1 is now addressed by the user devices N1 ... NN, anyone connected to the company intranet can
Nutzereinrichtungen Nl ...NN auf die Feldgeräte FG1... FGN zum Beobachten und Bedienen zugegriffen werden. Der Proxyserver 1 „spiegelt" alle Feldgeräte FG1...FGN, d.h. Informationen über die Feldgeräte FG1...FGN, ins Firmen-Intranet . Dazu werden vom Proxyserver 1 die folgenden Protokolle verarbeitet: HTTP-Protokoll (HTTP - „Hypertext Transfer Protocol" und RPC-Protokoll (RPC - „Remote Procedure Call") . Das HTTP- Protokoll dient zur Übertragung statischer Daten. Hierbei handelt es sich um Daten, die nur einmalig an den Proxyserver 1 übertragen werden und anschließend dort in einem Dateispeicher für spätere Abrufe durch die Nutzereinrichtungen N1...NN abgelegt werden. Das RPC-Protokoll, welches ebenfalls ein IP- basiertes Protokoll ist, wird zum Übertragen dynamischer Daten genutzt. Bei den dynamischen Daten handelt es sich ins- besondere um in den Feldgeräten FG1... FGN erfasste Messwerte und/oder Ereignislisten, betreffend Informationen über Ereignisse in den Feldgeräten FG1...FGN.User devices Nl ... NN can access the field devices FG1 ... FGN for observation and operation. The proxy server 1 "mirrors" all field devices FG1 ... FGN, ie information about the field devices FG1 ... FGN, into the company intranet. For this purpose, the following protocols are processed by proxy server 1: HTTP protocol (HTTP - "Hypertext Transfer Protocol "and RPC protocol (RPC -" Remote Procedure Call "). The HTTP protocol is used for the transmission of static data. This is data that is transmitted only once to the proxy server 1 and then there in a file memory for later calls The RPC protocol, which is also an IP-based protocol, is used to transmit dynamic data. The dynamic data is, in particular, in the field devices FG1 ... FGN recorded measured values and / or event lists, relating to information about events in the field devices FG1 ... FGN.
Das HTTP-Protokoll gestattet den Nutzereinrichtungen N1...NN den Zugriff auf die Feldgeräte FG1...FGN. Bei einem Zugriff im Rahmen des BuB-Systems werden zunächst mittels der Anwahl der zugehörigen IP-Adresse des zu bedienenden/beobachtenden Feldgeräts HTML-Daten von dem Feldgerät an die in diesem Anwendungsfall genutzte Nutzereinrichtung übermittelt, wobei die HTML-Daten Daten umfassen, mit deren Hilfe in der Browser-Einrichtung der abrufenden Nutzereinrichtung eine Darstellung des Feldgeräts erzeugt werden kann, wie dies beispielhaft in Figur .3 dargestellt ist. Der Abruf der HTML- Daten zum Erzeugen der Darstellung gemäß Figur 3 kann mitThe HTTP protocol allows the user devices N1 ... NN to access the field devices FG1 ... FGN. When accessing the BuB system, HTML data is first transmitted from the field device to the user device used in this application by selecting the associated IP address of the field device to be operated / observed, the HTML data comprising data with the With the help of the browser device of the retrieving user device, a representation of the field device can be generated, as is shown by way of example in FIG. 3. The retrieval of the HTML Data for generating the representation according to FIG. 3 can be created with
Hilfe einer Auswahl eines der in Figur 2 in der Übersicht dargestellten Feldgeräte durch den Benutzer ausgelöst werden, beispielsweise mittels der Betätigung einer Maus oder einer Tastatur der Nutzereinrichtung.A selection of one of the field devices shown in the overview in FIG. 2 can be triggered by the user, for example by actuating a mouse or a keyboard of the user device.
Gemäß Figur 3 sind auf der Oberfläche 20 der Browser- Einrichtung die folgenden Informationen dargestellt (vgl. linke Seite in Figur 3): Feldgerätefamilie (z.B. SIPROTEC4) , Feldgeräteart und Feldgerätetyp 21, ein Bedienbaum 22, dieAccording to FIG. 3, the following information is shown on the surface 20 of the browser device (see left side in FIG. 3): field device family (e.g. SIPROTEC4), field device type and field device type 21, an operating tree 22, the
Version des BuB-Tools 23 (Version und Datum) und Angaben zur Verbindung 24 mit dem Feldgerät (MLFB - „Maschinenlesbare Fabrikationsbezeichnung", BF-Nummer, Verbindungsstatus und IP-Adresse) . Auf der Oberfläche ist weiterhin die einem Link bzw. Zweig im Bedienbaum 22 zugeordnete HTML-Seite 25 angezeigt. In Abhängigkeit von dem im Bedienbaum 22 ausgewählten Link wird die zugehörige HTML-Seite 25 auf der Oberfläche 20 der Browser-Einrichtung dargestellt .Version of the BuB-Tool 23 (version and date) and details of the connection 24 to the field device (MLFB - "machine-readable manufacturing designation", BF number, connection status and IP address). The link or branch in the HTML page 25 assigned to operating tree 22 is displayed, depending on the link selected in operating tree 22, the associated HTML page 25 is displayed on surface 20 of the browser device.
Die in den Feldgeräten FG1...FGN abgelegten HTML-Seiten, d.h. auch die zur Erzeugung der in Figur 3 gezeigten Darstellung genutzte HTML-Seite 25, können Java-Code umfassen, der die Browser-Einrichtung der jeweiligen Nutzereinrichtung N1...NN dazu veranlasst, parallel zu der bestehenden HTTP-Verbindung zur Darstellung der aus den Feldgeräten FG1... FGN geladenen HTML-Seite eine weitere Verbindung mit den Feldgeräten FG1... FGN aufzubauen. Diese zweite Verbindung benutzt das RPC-Protokoll, um dynamische Daten, wie Ereignislisten oder Messwerte, aus den Feldgeräten FG1...FGN besonders schnell und effektiv für die Darstellung in den NutzereinrichtungenThe HTML pages stored in the field devices FG1 ... FGN, i.e. The HTML page 25 used to generate the representation shown in FIG. 3 can also include Java code which causes the browser device of the respective user device N1 ... NN to display the information from the parallel to the existing HTTP connection Field devices FG1 ... FGN loaded HTML page to establish another connection with the field devices FG1 ... FGN. This second connection uses the RPC protocol to get dynamic data, such as event lists or measured values, from the field devices FG1 ... FGN particularly quickly and effectively for display in the user devices
N1...NN innerhalb einer angewählten HTML-Seite, beispielsweise der in Figur 3 gezeigten HTML-Seite 25, zu übertragen. Informationsabruf aus den FeldgerätenN1 ... NN within a selected HTML page, for example the HTML page 25 shown in FIG. 3. Information retrieval from the field devices
Figur 4 zeigt eine schematische Darstellung zur näheren Erläuterung des Abrufens der Informationen im Rahmen des BuB- Systems von den Feldgeräten FG1... FGN in die Nutzereinrich- ' tungen Nl ...NN.FIG. 4 shows a schematic illustration for a more detailed explanation of the retrieval of the information in the context of the BuB system from the field devices FG1 ... FGN into the user devices N1 ... NN.
Gemäß Figur 4 ist auf einem Nutzer-Personalcomputer 30, der eine beispielhafte Ausbildung der Nutzereinrichtungen N1...NN darstellt, eine Browser-Einrichtung 31 installiert. Der Nutzer-Personalcomputer 30 ist über ein IP-Netzwerk 32, welches den Proxyserver 1, den Sternkoppler 3, das Modem 4, das Modem 5 sowie das Telekommunikationsnetzwerk 6 umfassen kann, mit einem Feldgerät 33 verbunden. Das Feldgerät 33 weist einen HTTP-Server 34 auf. In dem Feldgerät 33 sind HTML-Seiten 35 gespeichert, die für dieses Feldgerät 33 spezifische Informationen umfassen. Die HTML-Seiten 35 enthalten beispielsweise eine HTML-Darstellung der Frontansicht des Feldgeräts 33. Die HTML-Seiten 35 sind speziell auf das Feldgerät 33 abgestimmt und können mittels eines HTTP-Herunterladens vom HTTP-Server 34 des Feldgeräts 33 durch den Nutzer-Personalcomputer 30 abgerufen werden. Die Anforderung der HTML-Seiten 35 aus dem Feldgerät 33 kann mittels der Eingabe einer URL (URL - „Uniform Resource Locator") in der Browser-Einrichtung 31 oder mittels der Referenz aus einer anderen HTML-Seite herausAccording to FIG. 4, a browser device 31 is installed on a user personal computer 30, which represents an exemplary embodiment of the user devices N1 ... NN. The user personal computer 30 is connected to a field device 33 via an IP network 32, which can include the proxy server 1, the star coupler 3, the modem 4, the modem 5 and the telecommunications network 6. The field device 33 has an HTTP server 34. HTML pages 35 are stored in the field device 33 and contain information specific to this field device 33. The HTML pages 35 contain, for example, an HTML representation of the front view of the field device 33. The HTML pages 35 are specially matched to the field device 33 and can be downloaded by the user personal computer 30 by means of an HTTP download from the HTTP server 34 of the field device 33 be retrieved. The request for the HTML pages 35 from the field device 33 can be made by entering a URL (URL - “Uniform Resource Locator”) in the browser device 31 or by means of the reference from another HTML page
(„Link") ausgelöst werden. Neben den HTML-Seiten 35 werden vom Feldgerät 33 eine Reihe von Rohdaten 36 (Messwerte, Parameter, etc.) in Form von Dateien bereitgestellt. In den HTML-Seiten 35 befinden sich Referenzen auf die im Feldgerät 33 verfügbaren Rohdaten 36. Sollen die Rohdaten 36 ausgewertet oder in sonstiger Weise verändert werden, wird ein Programm benötigt, welches nach bestimmten Algorithmen hochwertige Datenformate erzeugen kann. Diese Datenformate können dann von dem Programm beispielsweise zur Bildschirmanzeige inIn addition to the HTML pages 35, the field device 33 provides a series of raw data 36 (measured values, parameters, etc.) in the form of files. The HTML pages 35 contain references to those in the field device 33 available raw data 36. If the raw data 36 are to be evaluated or changed in some other way, a program is required which can generate high-quality data formats according to certain algorithms then from the program, for example, to on-screen display in
Verbindung mit Analysemöglichkeiten verwendet werden. Die hierfür notwendige Rechenleistung steht in dem Feldgerät 33 in der Regel nicht zur Verfügung. Mit Hilfe der Browser- Einrichtung 31 besteht für den Anwender die Möglichkeit, unter Nutzung des IP-Netzwerks 32 über Kommunikationsverbindungen (Modem, Telefonnetze, LAN - „Local Area Network", WAN - „Wide Area Network") auf die HTML-Seiten 35 aus dem Feldgerät 33 und damit auch auf die hierin referenzierten Rohdaten 36 des Feldgeräts 33 zuzugreifen. Gemäß Figur 5 wird (werden) zu diesem Zweck mit Hilfe der Browser-Einrichtung 31 zunächst die HTML-Seite (n) 35 von dem Nutzer-Personalcomputer 30 angefordert. Nachdem der HTTP-Server 34 des Feldgeräts 33 die HTML-Seite (n) 35, einschließlich der hierin enthaltenen Refe- renzen auf die Rohdaten 36, bereitgestellt hat, werden die HTML-Seite 35 und die Rohdaten 36 an den Nutzer-Personalcomputer 30 übertragen. Hierbei werden die HTML-Seite 35 und die Rohdaten 36 mittels getrennter Protokolle zwischen dem Feldgerät 33 und dem Nutzer-Personalcomputer 30 übertragen, vorzugsweise HTTP- bzw. RPC-Protokoll . In dem Nutzer- Personalcomputer 30 können die Rohdaten 36 dann mit geeigneten Programmen verarbeitet werden. Zum Ausführen des RPC- Protokolls umfasst das Feldgerät 33 zusätzlich einen RPC- Server 34a.Connection with analysis options can be used. The computing power required for this is generally not available in the field device 33. With the help of the browser device 31, the user has the option of using the IP network 32 via communication links (modem, telephone networks, LAN - "Local Area Network", WAN - "Wide Area Network") on the HTML pages 35 to access from the field device 33 and thus also the raw data 36 of the field device 33 referenced herein. According to FIG. 5, the HTML page (s) 35 is (are) first requested from the user personal computer 30 with the aid of the browser device 31. After the HTTP server 34 of the field device 33 has provided the HTML page (s) 35, including the references to the raw data 36 contained therein, the HTML page 35 and the raw data 36 are transmitted to the user personal computer 30 , Here, the HTML page 35 and the raw data 36 are transmitted by means of separate protocols between the field device 33 and the user personal computer 30, preferably HTTP or RPC protocol. The raw data 36 can then be processed in the user personal computer 30 using suitable programs. To execute the RPC protocol, the field device 33 additionally comprises an RPC server 34a.
Beim Herunterladen der HTML-Seite 35 vom HTTP-Server 34 können die referenzierten Dateien der Rohdaten 36 automatisch mit geladen werden. Der Aufruf aus der HTML-Seite 35 kann wie folgt aussehen: <EMBED SRC="rawdata . ext"> . Mit dem Para- meter „SRC" wird die Datei mit den Rohdaten 36 des Feldgeräts 33 referenziert . Außerdem kann das Herunterladen der Rohdaten 36 auch über einen vom Benutzer zu aktivierenden Link auf der HTML-Seite 35 ausgelöst werden. Für diesen Fall könnte der Aufruf in der HTML-Seite 35 wie folgt aussehen:When downloading the HTML page 35 from the HTTP server 34, the referenced files of the raw data 36 can also be loaded automatically. The call from HTML page 35 can look like this: <EMBED SRC = "rawdata. Ext">. The parameter “SRC” is used to reference the file with the raw data 36 of the field device 33. In addition, the downloading of the raw data 36 can also be triggered via a link on the HTML page 35 to be activated by the user. In this case, the call in HTML page 35 looks like this:
<a href="rawdata.ext" type="mime type">link</a> .<a href="rawdata.ext" type="mime type"> link </a>.
Damit die Browser-Einrichtung 31 das richtige Programm zur Weiterverarbeitung der Rohdaten 36 starten kann, muss der Browser-Einrichtung 31 der Inhaltstyp der Rohdaten 36 mitgeteilt werden. Hierfür gibt es je nach verwendetem Betriebssystem des Nutzer-Personalcomputers 30 und genutzter Browser- Einrichtung 31 unterschiedliche Vorgehensweisen. Es kann so- wohl die Dateierweiterung (beispielsweise "*.ext") als auch der vom HTTP-Server 34 mitgelieferte MIME-Typ (MIME - „Multi- purpose Internet Mail Extension") ausgewertet werden. Das von der Browser-Einrichtung 31 gestartete Programm zur Rohdatenverarbeitung übernimmt die Konvertierung der heruntergela- denen Rohdaten 36. Das Programm zur Rohdatenverarbeitung kann als Browser-Plugin, als ActiveX-Komponente oder als externes Programm realisiert werden.So that the browser device 31 can start the correct program for further processing the raw data 36, the browser device 31 must be informed of the content type of the raw data 36. There are different procedures for this, depending on the operating system of the user personal computer 30 and the browser device 31 used. Both the file extension (for example "* .ext") and the MIME type (MIME - "Multi-purpose Internet Mail Extension") supplied by the HTTP server 34 can be evaluated The raw data processing program converts the downloaded raw data 36. The raw data processing program can be implemented as a browser plug-in, as an ActiveX component or as an external program.
Hierbei ist zwischen verschiedenen Typen von Rohdaten zu un- terscheiden. Die Verarbeitung von sporadisch entstehenden Rohdaten 36 wird vorzugsweise mit Hilfe eines Browser- Plugin' s oder einer Active X-Komponente vorgenommen. In diesem Zusammenhang erfolgt der Zugriff auf die Daten mit Hilfe des TCP-Protokolls. Sollen sich ständig aktualisierende Roh- daten 36 in Form eines Endlos-Datenstroms verarbeitet werden, dann ist es sinnvoll, ein effektiveres Protokoll für die Ü- bertragung an den Nutzer-Personalcomputer 30 (den Nutzereinrichtungen N1..NN) zu verwenden. Mit Hilfe des zusätzlichen RPC-Protokolls wird eine Auftrennung der in den Nutzerein- richtungen N1...NN (bzw. dem Nutzer-Personalcomputer 30) darzustellenden Informationen über das (die) Feldgerät (e) FG1...FGN bzw. 33 in statische und dynamische Informationen ermöglicht. Die statischen Informationen werden mit dem HTTP- Standardprotokoll übertragen, während die dynamischen, also veränderlichen Daten über das effektivere RPC-Protokoll übertragen werden. Der Aufwand, der beim Senden der dynamischen Daten mittels des HTTP-Protokolls durch Verbindungsaufbau/- abbau und Verbindungsüberwachung entstehen würde, würde den des ereignisabhängigen, wiederholten Sendens der dynamischen Daten mittels des RPC-Protokolls übersteigen. Da in der Regel nur wenige Daten schnell übermittelt werden sollen (Messwerte, Meldelisten, ...), ist der Einsatz eines verbindungs- losen Protokolls, insbesondere des RPC-Protokolls, für die dynamischen Daten vorteilhaft. Bei einem Aufruf entfernter Prozeduren (RPC - „Remote Procedure Call") ruft ein lokales Programm eine Prozedur auf einem entfernten System auf. Das Konzept des entfernten Prozeduraufrufs sorgt dafür, dass der gesamte Netzcode in der RPC-Schnittstelle und in den Netzroutinen verborgen bleibt. Damit wird vermieden, dass sich die Applikationsprogramme (Client und Server) um Details, wie z.B. Konvertierung EBCDIC < > ASCII, Zahlenkonvertierung,A distinction must be made between different types of raw data. The processing of sporadically generated raw data 36 is preferably carried out with the aid of a browser plug-in or an Active X component. In this context, the data is accessed using the TCP protocol. If continuously updated raw data 36 are to be processed in the form of an endless data stream, then it makes sense to use a more effective protocol for the transmission to the user personal computer 30 (the user devices N1..NN). The additional RPC protocol is used to separate the information to be displayed in the user devices N1 ... NN (or the user personal computer 30) about the field device (s) FG1 ... FGN or 33 in allows static and dynamic information. The static information is Standard protocol transmitted, while the dynamic, i.e. changing data is transmitted via the more effective RPC protocol. The effort that would be incurred when sending the dynamic data using the HTTP protocol by establishing / closing the connection and monitoring the connection would exceed the event-dependent, repeated transmission of the dynamic data using the RPC protocol. Since usually only a few data are to be transmitted quickly (measured values, message lists, ...), the use of a connectionless protocol, in particular the RPC protocol, is advantageous for the dynamic data. When a remote procedure call (RPC) is carried out, a local program calls a procedure on a remote system. The concept of the remote procedure call ensures that the entire network code is hidden in the RPC interface and in the network routines. This avoids that the application programs (client and server) focus on details such as conversion EBCDIC <> ASCII, number conversion,
Socket, Session etc., kümmern müssen. Ein Ziel von RPC ist die Vereinfachung der Implementierung von verteilten Anwendungen. UDP (UDP - „User Defined Protocol") wird von einigen Anwendungen, die nur kurze Nachrichten senden und diese wiederholen können, verwendet. UDP ist daher ein ideales Protokoll zur Verteilung von Informationen, die sich ständig än- dern, wie beispielsweise Börsenkurse. Statt die Daten in ein TCP-Umschlag zu packen und dann in den IP-Umschlag, wandern sie jetzt in einen UDP-Umschlag, bevor sie in den IP-Umschlag kommen. Obwohl UDP in der gleichen Schicht wie das verbin- dungsorientierte TCP beheimatet ist, handelt es sich um ein verbindungsloses Protokoll. Der Einsatz des UDP Protokolls erscheint immer dann sinnvoll, wenn nur wenige Daten schnell übermittelt werden sollen. So gibt es in Anwendungsprogrammen zwischen Client und Server einen Austausch von kurzen Anfra- gen und Antworten. Hier würde der Aufwand der durch Verbindungsaufbau/ -abbau und Verbindungsüberwachung entsteht, den des erneuten Sendens der Daten übersteigen. Das getrennte Ü- bertragen von statischen und dynamischen Daten zwischen den Feldgeräten FG1...FGN im Gerätenetzwerk und den Nutzereinrichtungen N1...NN im Firmen- Intranet mit Hilfe unterschiedlicher Protokolle wird durch das Vorsehen und die spezifische Ausbildung des später im Detail beschriebenen Proxyservers 1 optimiert .Socket, session etc. One goal of RPC is to simplify the implementation of distributed applications. UDP ("User Defined Protocol") is used by some applications that can only send short messages and can repeat them. UDP is therefore an ideal protocol for distributing information that is constantly changing, such as stock exchange prices packing the data into a TCP envelope and then into the IP envelope, they now migrate into a UDP envelope before they come into the IP envelope. Although UDP is located in the same layer as connection-oriented TCP, It is a connectionless protocol. The use of the UDP protocol always makes sense if only a little data is to be transmitted quickly. For example, there is an exchange of short requests between client and server in application programs. and answers. The effort involved in establishing / closing the connection and monitoring the connection would exceed that of sending the data again. The separate transmission of static and dynamic data between the field devices FG1 ... FGN in the device network and the user devices N1 ... NN in the company intranet using different protocols is provided by the provision and the specific design of the proxy server described later in detail 1 optimized.
Im folgenden wird die Nutzung des RPC-Protokolls zum Abrufen der dynamischen Daten in einer Client/Server-Anordnung (Nutzereinrichtungen Nl ...NN/Feldgeräte FG1... FGN) anhand der schematischen Darstellung in Figur 6 beschrieben.The use of the RPC protocol for retrieving the dynamic data in a client / server arrangement (user devices N1 ... NN / field devices FG1 ... FGN) is described below with reference to the schematic illustration in FIG. 6.
Ein RPC-Aufruf läuft beispielsweise wie folgt ab:An RPC call runs as follows, for example:
(a) Ein innerhalb des Brwosers 31 (vgl. Figur 4) ablaufender Client-Prozess 100 ruft eine RPC-Schnittstelle 101 auf. Dieser Client-Prozess 100 kann z.B. ein in eine HTML- Seite eingebettetes Java-Applet sein. Die RPC- Schnittstelle 101 hat die Aufgabe, den Unterprogrammeinsprung zu spezifizieren. Die Spezifikation enthält den Namen der Funktion sowie Anzahl und Typen der Parameter. Hiermit wird ein logischer Einsprung definiert. Die RPC- Schnittstelle 101 ermöglicht das Starten der entfernt liegenden Prozedur 102.(a) A client process 100 running within browser 31 (see FIG. 4) calls an RPC interface 101. This client process 100 can e.g. be a Java applet embedded in an HTML page. The RPC interface 101 has the task of specifying the subroutine entry. The specification contains the name of the function and the number and types of parameters. This defines a logical entry. The RPC interface 101 enables the remote procedure 102 to be started.
(b) Die Parameter des Client-Prozesses 100 werden von der RPC-Schnittstelle 101 gelesen. Der Zweck der RPC- Schnittstelle 101 liegt in der Verpackung und Konvertie- rung der Parameter für das Serverprogramm.(b) The parameters of the client process 100 are read from the RPC interface 101. The purpose of the RPC interface 101 is to package and convert the parameters for the server program.
(c) Die Netzroutinen versenden die Nachrichten an einen Ser- ver-Prozess 103, der im RPC-Server 34a abläuft. (d) Eine RPC-Schnittstelle 104 des Server-Prozess 103 baut die Parameter aus den Nachrichtenpaketen wieder auf.(c) The network routines send the messages to a server process 103, which runs in the RPC server 34a. (d) An RPC interface 104 of the server process 103 rebuilds the parameters from the message packets.
(e) Im nächsten Schritt wird das Serverprogramm aufgerufen. Dazu wird ein Serverstub definiert. Dieser Stub ist der eigentliche Einsprung in die auf dem Server-Prozess 103 liegende Prozedur.(e) In the next step the server program is called. A server stub is defined for this. This stub is the actual entry into the procedure lying on the server process 103.
(f) Nach Abarbeitung der Prozedur wird die Kontrolle wieder an die RPC-Schnittstelle 104 gegeben.(f) After the procedure has been processed, control is passed back to the RPC interface 104.
(g) Die Schnittstelle 104 verpackt die Rückgabeparameter und transportiert die Daten anschließend zu den Netzroutinen.(g) Interface 104 packs the return parameters and then transports the data to the network routines.
(h) Die Netzroutinen transportieren die Daten über netzwerkabhängige Aufrufe auf den Client-Prozess 100.(h) The network routines transport the data to the client process 100 via network-dependent calls.
(i) Die RPC-Schnittstelle 101 des Client-Prozesses 100 entpackt die Parameter und versorgt die angegebenen Parame- ter mit den neuen Daten.(i) The RPC interface 101 of the client process 100 unpacks the parameters and supplies the specified parameters with the new data.
(j) Die Kontrolle wird an den Client-Prozess 100 zurückgegeben, der die erhaltenen Daten weiterverarbeiten kann.(j) Control is returned to the client process 100, which can process the received data further.
Das Konzept des entfernten Prozeduraufrufs sorgt dafür, dass der gesamte Netzcode in der RPC-Schnittstelle und in den Netzroutinen verborgen bleibt. Damit wird vermieden, dass sich die Applikationsprogramme (Client und Server) um Details, wie z.B. Konvertierung EBCDIC < > ASCII, Zahlenkonvertierung, Socket, Session etc., kümmern müssen. Ein Vor- teil der Nutzung des RPC-Protokolls für die dynamischen Daten ist die Vereinfachung der Implementierung von verteilten Anwendungen .The concept of the remote procedure call ensures that the entire network code remains hidden in the RPC interface and in the network routines. This prevents the application programs (client and server) from looking at details such as Conversion EBCDIC <> ASCII, number conversion, socket, session etc., must take care of. One advantage of using the RPC protocol for dynamic data is that it simplifies the implementation of distributed applications.
Bedienen der FeldgeräteOperating the field devices
Der in Verbindung mit Figur 4 beschriebene Abruf von Information von dem Feldgerät 33, welches den HTTP-Server 34 umfasst, kann auch in Verbindung mit Handlungen im Rahmen des Beobachtungs- und Bediensystem genutzt werden, die zum Zweck des Bedienens des Feldgeräts 33 ausgeführt werden. Hierdurch ist es ermöglicht, das Feldgerät 33 mit Hilfe der Browser- Einrichtung 31 zu bedienen. Dieses wird im folgenden näher beschrieben.The retrieval of information described in connection with FIG. 4 from the field device 33, which includes the HTTP server 34, can also be carried out in connection with actions within the framework of the Observation and operating system can be used, which are executed for the purpose of operating the field device 33. This makes it possible to operate the field device 33 using the browser device 31. This is described in more detail below.
Das Feldgerät 33 enthält eine Speichereinrichtung 35a, in welcher Bediensoftware in Form von HTML-Seiten 35 gespeichert ist, und ein Java-Archiv oder Daten, aus denen HTML-Seiten erzeugbar sind. Die Bediensoftware ist speziell auf das Feldgerät 33 zugeschnitten. Mittels der Eingabe der URL- Adresse des Feldgeräts 33 durch den Nutzer startet ein HTTP- Herunterladen, was zum Herunterladen der Bediensoftware vom HTTP-Server 34 des Feldgeräts 33 in den Nutzer-Personal- Computer 30 führt. Nach dem Herunterladen der Bediensoftware von dem Feldgerät 33 auf den Benutzer-Personalcomputer 30 in Form der HTML-Seite (n) 35 wird die Vorderansicht des Feldgeräts 33 mit allen Bedien- und Anzeige-Elementen innerhalb der Browser-Einrichtung dargestellt (vgl. Figur 3). Der Benutzer kann dann bestimmte Bedienfunktionen des Feldgeräts 33 mitThe field device 33 contains a storage device 35a, in which operating software is stored in the form of HTML pages 35, and a Java archive or data from which HTML pages can be generated. The operating software is specially tailored to the field device 33. When the user enters the URL address of the field device 33, an HTTP download starts, which leads to the downloading of the operating software from the HTTP server 34 of the field device 33 into the user personal computer 30. After downloading the operating software from the field device 33 to the user personal computer 30 in the form of the HTML page (s) 35, the front view of the field device 33 is shown with all operating and display elements within the browser device (cf. FIG. 3 ). The user can then use certain operating functions of the field device 33
Hilfe eines Mausklicks auf dem Bildschirm des Benutzer- Personalcomputers 30 auslösen. Die Übermittlung der Benutzerhandlung zum Feldgerät 33 erfolgt mittels eines schnellen und effektiven Protokolls, das einerseits die genannten Be- dienanforderungen vom Benutzer-Personalcomputer 30 zum Feldgerät 33 überträgt und andererseits Reaktionen des Feldgeräts 33 zurückliest. Zu diesem Zweck werden die internen Bedien- und Anzeigefunktionen des Feldgeräts 33 zur Schnittstelle der Browser-Einrichtung 31 hin veröffentlicht, z.B. Tastaturpuf- fer, Displaypuffer, LED-Status.Trigger with the click of a mouse on the screen of the user's personal computer 30. The user action is transmitted to the field device 33 by means of a fast and effective protocol which, on the one hand, transmits the above-mentioned operating requirements from the user personal computer 30 to the field device 33 and, on the other hand, reads back reactions from the field device 33. For this purpose, the internal operating and display functions of the field device 33 to the interface of the browser device 31 are published, e.g. Keyboard buffer, display buffer, LED status.
Im Rahmen der Bedienung durch den Benutzer gibt es zwischen Benutzer—Personalcomputer 30 und dem Feldgerät 33 einen Aus- tausch von kurzen Anfragen und Antworten im Rahmen einerAs part of the operation by the user, there is an interface between the user personal computer 30 and the field device 33. exchange of short inquiries and answers as part of a
Client-Server-Verhältnisses. Hierbei würde der Aufwand, der im Zusammenhang mit dem Aufbau/Abbau und der Überwachung der HTTP-Verbindung zwischen dem Benutzer-Personalcomputer 30 und dem Feldgerät 33 entsteht, den Aufwand übersteigen, der beim erneuten Senden und Empfangen der Daten gemäß eines verbindungslosen Protokolls entsteht. Da in der Regel nur wenige Daten schnell übermittelt werden sollen (z.B. Tastendruck, Displayinhalt, LED-Status) , ist der Einsatz eines schnellen, effektiven, verbindungslosen Protokolls sinnvoll, beispielsweise des oben beschriebenen RPC-Protokolls. Zur Reduktion der ausgetauschten Datenmenge (z.B. Displayinhalt) zwischen dem Benutzer—Personalcomputer 30 und dem Feldgerät 33 werden Verfahren zur Komprimierung von Daten eingesetzt.Client-server relationship. The effort involved in setting up / clearing down and monitoring the HTTP connection between the user personal computer 30 and the field device 33 would exceed the effort involved in retransmitting and receiving the data in accordance with a connectionless protocol. Since usually only a few data are to be transmitted quickly (e.g. key press, display content, LED status), the use of a fast, effective, connectionless protocol makes sense, for example the RPC protocol described above. In order to reduce the amount of data exchanged (e.g. display content) between the user personal computer 30 and the field device 33, data compression methods are used.
Internet-Protokolle, wie TCP/IP und HTTP, bieten keinerlei Sicherheitsmechanismen. Es sind zusätzliche Protokolle notwendig, um eine sichere Kommunikation zu ermöglichen. Die Mechanismen zum Schutz sicherheitsrelevanter Aktionen am Feld- gerät 33 über TCP/IP-Kommunikation sind von besonderer Bedeutung. Hinsichtlich des Schutzes gegen unbefugte Zugriffe lassen sich die Bedienhandlungen am Feldgerät 33 klassifizieren (vgl. Tabelle 1) .Internet protocols, such as TCP / IP and HTTP, do not offer any security mechanisms. Additional protocols are required to enable secure communication. The mechanisms for protecting security-related actions on the field device 33 via TCP / IP communication are of particular importance. With regard to protection against unauthorized access, the operating actions on the field device 33 can be classified (cf. Table 1).
Tabelle 1Table 1
Figure imgf000021_0001
Figure imgf000021_0001
Figure imgf000022_0001
Figure imgf000022_0001
Missbräuchliche Handlungen beim Bedienen des Feldgeräts 33 können mittels der folgenden Maßnahmen im wesentlichen ausge- schlössen werden:Abusive actions when operating the field device 33 can essentially be excluded by the following measures:
Mit Hilfe einer Firewall (z.B. Proxyserver) kann das interne Netz (Firmen-Intranet/LAN) eine geschützte Verbindung mit einem anderen Netz (z.B. Internet) aufnehmen.With the help of a firewall (e.g. proxy server), the internal network (company intranet / LAN) can establish a protected connection with another network (e.g. Internet).
Das Feldgerät 33 ist im Lieferzustand so eingestellt, dass Tasten, die die vollständige Eingabe von Kundenpasswörtern ermöglichen, gesperrt sind. Diese Sperre muss vom Kunden am Feldgerät 33 selbst bzw. mit dem Bedienprogramm in der Browser-Einrichtung 31 auf dem Nutzer-Personalcomputer 30 aufgehoben werden (Passworteingabe erforderlich) . Im Lieferzustand sind damit nur einfache Bedienhandlungen über die Browser- Einrichtung 31 möglich: Navigation im Bedienmenü, Anzeige von Messwerten, Parametern und Meldungslisten.The field device 33 is set in the delivery state in such a way that keys that enable the complete entry of customer passwords are blocked. This lock must be lifted by the customer on the field device 33 itself or with the operating program in the browser device 31 on the user personal computer 30 (password entry required). In the delivery state, only simple operating actions are possible via the browser device 31: navigation in the operating menu, display of measured values, parameters and message lists.
Die Parametrierung des Feldgeräts 33 in der Frontansicht- Emulation ist mit Kenntnis der Passwörter wie am Feldge- rät 33 möglich, wenn die Sperrung der dazu benötigtenWith the knowledge of the passwords, the parameterization of the field device 33 in the front view emulation is as on the field advises 33 possible if the blocking of the required
Tasten gelöst ist.Buttons is released.
Sicherheitsrelevante Aktionen am Feldgerät 33 (Schalten, Steuern, Löschen von Puffern, ...) werden durch Authenti- fikationsprotokolle geschützt, z.B. mittels Hash-Funktion und eines vom Feldgerät 33 generierten Schlüssels. Damit können aus dem Verbindungsprotokoll keine Rückschlüsse auf eingegebene Passwörter erfolgen. Mit diesem Verfah- ren wird aus einer beliebig langen Nachricht eine 128 Bit lange Information, der sogenannte „Message Digest", gebildet, der an die originäre Nachricht angehangen wird. Der Empfänger (Feldgerät 33) vergleicht den „Message Digest" mit dem vom Feldgerät 33 aus der Information ermit- telten. Dadurch werden Feldgerätepasswörter nicht über die Kommunikationsverbindung übertragen.Actions relevant to security on the field device 33 (switching, controlling, deleting buffers, ...) are protected by authentication protocols, e.g. by means of a hash function and a key generated by the field device 33. This means that no conclusions can be drawn about entered passwords from the connection log. With this method, 128-bit information, the so-called "message digest", is formed from a message of any length and is appended to the original message. The receiver (field device 33) compares the "message digest" with that of the field device 33 determined from the information. As a result, field device passwords are not transmitted via the communication link.
Die im Feldgerät 33 generierten Schlüssel verfallen nach kurzer Zeit und können nur einmal für eine Übertragung verwendet werden. Damit ist die Aufzeichnung von sicherheitsrelevanten Protokollen und eine spätere Wiederholung dieser aufgezeichneten Protokolle wirkungslos.The keys generated in the field device 33 expire after a short time and can only be used once for a transmission. This means that the recording of security-relevant logs and a later repetition of these recorded logs is ineffective.
ProxygerverProxygerver
Ein Element zur optimierten Umsetzung des beschriebenen funktioneilen Zusammenwirkens der Elemente des Beobachtungs- und Bediensystems, beispielsweise der Nutzung des RPC-Protokolls, des Abrufs der Rohdaten aus den Feldgeräten FG1...FGN und der Bedienung der Feldgeräte mittels Browser auf den Nutzereinrichtungen N1...NN, ist der Proxyserver 1. Bekannte Stan- dard-HTTP-Proxyserver unterstützen ausschließlich das HTTP- Protokoll und sind somit nicht in der Lage, als Gateway zwischen dem Gerätenetzwerk und dem Firmen-Intranet zu dienen. Aus diesem Grund wurde ein spezifischer, für das BuB-System konzipierter Proxyserver 1 geschaffen, der beide von den Feldgeräten FG1... FGN verwendeten Protokolle (HTTP, RPC) unterstützt .An element for the optimized implementation of the described functional interaction of the elements of the observation and operating system, for example the use of the RPC protocol, the retrieval of the raw data from the field devices FG1 ... FGN and the operation of the field devices using a browser on the user devices N1 .. .NN, is the proxy server 1. Known standard HTTP proxy servers only support the HTTP Protocol and are therefore not able to serve as a gateway between the device network and the company intranet. For this reason, a specific proxy server 1 designed for the BuB system was created, which supports both protocols used by the field devices FG1 ... FGN (HTTP, RPC).
Ein wesentlicher Vorteil, der bei der Nutzung des Proxyservers 1 gegenüber der Ankopplung des Gerätenetzwerks an das Firmen-Intranet mittels Routers oder, wenn keine WAN-A major advantage that when using the proxy server 1 over the coupling of the device network to the company intranet using a router or, if no WAN
Verbindung (WAN - „Wide Area Network") zwischen dem Gerätenetzwerk und dem Intranet besteht, einer direkten Ankopplung des Geräte-Netzsegments über einen Hub oder einen Switch besteht in der Nutzung des sogenannten „Cachings".There is a connection (WAN - "Wide Area Network") between the device network and the intranet, a direct coupling of the device network segment via a hub or a switch consists in the use of so-called "caching".
Das diesem Verfahren („Caching") zugrunde liegende Prinzip wird im folgenden allgemein, ohne Bezugnahme auf die oben genannten Figuren, kurz beschrieben.The principle on which this method (“caching”) is based is briefly described in the following, generally without reference to the figures mentioned above.
Stellt ein Client eine Anfrage nach einem Objekt an eine Servereinrichtung, so läuft diese Anfrage zunächst über eine sogenannte Proxy-Einrichtung. Die Proxy-Einrichtung schaut nach, ob sich das betreffende Objekt bereits in einem lokalen Speicher (Cache) der Proxy-Einrichtung befindet, welcher in der Regel auf einer Festplatte ausgebildet ist. Wird hierbei festgestellt, dass das Objekt nicht lokal im Speicher vorliegt, reicht die Proxy-Einrichtung die Anfrage weiter zu einer eigentlichen Zielserver-Einrichtung. Von dort erhält die Proxy-Einrichtung das Objekt und speichert eine Kopie des Ob- jekts für weitere Anfragen nach diesem Objekt in dem lokalenIf a client makes a request for an object to a server device, this request initially runs via a so-called proxy device. The proxy device checks whether the object in question is already in a local memory (cache) of the proxy device, which is usually formed on a hard disk. If it is determined here that the object is not locally in memory, the proxy device forwards the request to an actual target server device. From there, the proxy device receives the object and stores a copy of the object in the local for further requests for this object
Speicher, bevor die Proxy-Einrichtung das Objekt an den anfragenden Client weitergibt. Wird das Objekt jedoch im lokalen Speicher der Proxy-Einrichtung gefunden, so wird die An- frage des Clients nicht an die Zielserver-Einrichtung durchgestellt, sondern der Client bekommt das gewünschte Objekt direkt von der Proxy-Einrichtung übermittelt. Voraussetzung für optimales Ausführen des beschriebenen Verfahrens ist ein genügend großer Speicher-Bereich in der Proxy-Einrichtung, d.h. in der Größenordnung von mehreren Hundert MB bis mehreren GByte. Ansonsten läuft der lokale Speicher in der Proxy- Einrichtung über und es muss ein „Garbage Collector" (ein sogenannter Aufräumdienst) gestartet werden, der veraltete Ob- jekte aus dem Speicher heraus filtert, um dort Platz für neue Objekte zu schaffen.Storage before the proxy device passes the object on to the requesting client. However, if the object is found in the local memory of the proxy device, the request The client's question is not put through to the target server device, but the client receives the desired object directly from the proxy device. A prerequisite for optimal execution of the described method is a sufficiently large memory area in the proxy device, ie in the order of magnitude of several hundred MB to several GByte. Otherwise, the local memory in the proxy device overflows and a "garbage collector" (a so-called clean-up service) must be started, which filters outdated objects from the memory in order to make space for new objects there.
Vorteile des beschriebenen Verfahrens („Caching") sind: eine Verbesserung der Leistungsfähigkeit (schnellerer Datentrans- port als extern) ; eine Einsparung von externer BandbreiteAdvantages of the described method (“caching”) are: an improvement in performance (faster data transport than external); a saving of external bandwidth
(mehr Platz für andere Dienste bleibt frei) ; eine Verminderung der Antwortzeiten(more space for other services remains free); a reduction in response times
Entlastung der Zielserver-Einrichtung; beim Transport des Objekts von der Proxy-Einrichtung zum Client entstehen keine bzw. geringere Übertragungskosten; und die Trefferquoten im lokalen Speicher der Proxy-Einrichtung können je nach Nutzung sehr hoch sein.Relief of the target server setup; when the object is transported from the proxy device to the client, there are no or lower transmission costs; and the hit rates in the proxy device's local memory can be very high depending on usage.
Der zum Verbinden des Gerätenetzwerks und des Firmen- Intranets (vgl. Figur 1) genutzte Proxyserver 1 basiert auf dem beschriebenen Grundprinzip und hat aufgrund der spezifischen Ausbildung, welche im Detail später beschrieben wird, darüber hinaus die im folgenden genannten Vorteile.The proxy server 1 used to connect the device network and the company intranet (see FIG. 1) is based on the described basic principle and, due to the specific design, which will be described in detail later, also has the advantages mentioned below.
Durch den Einsatz des Proxyservers 1 (vgl. Figur 1) ergeben sich deutliche Geschwindigkeitsvorteile beim Zugriff auf das Gerätenetzwerk. Der Proxyserver 1 umfasst einen für die Anwendung im BuB-System optimierten Dateispeicher bzw. Dateica- ehe, der alle aus den Feldgeräten FG1... FGN abgerufenen Dateien mit statischen Daten im Proxyserver 1 puffert. Wird auf eine solche Datei das erste Mal zugegriffen, dann muss diese Datei direkt aus einem der Feldgeräte FG1...FGN geholt werden. Bei einem wiederholten Zugriff auf diese Datei kann diese dann jedoch direkt aus dem Dateicache des Proxyservers 1 geliefert werden. Da das lokale Firmen-Intranet im allgemeinen viel schneller als eine Modemverbindung zu den Feldgeräten FG1...FGN ist, ergeben sich hier signifikante Geschwin- digkeitsvorteile beim Zugriff auf das Gerätenetzwerk, da im laufenden Betrieb nur noch die gegenüber den HTML-Seiten und den Java-Archiven deutlich kleineren dynamischen Daten über die langsame Modemverbindung übertragen werden.By using the proxy server 1 (see FIG. 1), there are significant advantages in terms of speed when accessing the device network. The proxy server 1 comprises a file memory or file system optimized for use in the BuB system. before that buffers all files with static data from the field devices FG1 ... FGN in the proxy server 1. If such a file is accessed for the first time, then this file must be fetched directly from one of the field devices FG1 ... FGN. If this file is accessed again, however, it can then be delivered directly from the file cache of the proxy server 1. Since the local company intranet is generally much faster than a modem connection to the field devices FG1 ... FGN, there are significant speed advantages when accessing the device network, since only the HTML pages and the Java archives of significantly smaller dynamic data are transmitted over the slow modem connection.
Der Proxyserver 1 erhöht darüber hinaus die Sicherheit im Netzwerk. Der Proxyserver 1 schottet die beiden Netzwerke, Gerätenetzwerk und Firmen-Intranet, gegeneinander ab und ü- berträgt nur die im Proxyserver 1 verarbeiteten Protokolle. Dies bedeutet, dass aus dem Firmen-Intranet nur die von einem Browser auf den Nutzereinrichtungen N1...NN an die Feldgeräte FG1...FGN generierten Anforderungen übertragen werden. In die Gegenrichtung werden nur die von den Feldgeräten FG1...FGN generierten Antworten übertragen. Damit werden alle anderen im Firmen-Intranet kursierenden Datenpakete vom Gerätenetzwerk ferngehalten und beeinflussen somit nicht den Durchsatz im Gerätenetzwerk. Des weiteren kann ein im Gerätenetzwerk auftretendes, hohes Datenaufkommen aufgrund von Querkommunikation zwischen den Feldgeräten FG1... FGN die Netzlast im Firmen-Intranet nicht erhöhen.The proxy server 1 also increases security in the network. The proxy server 1 seals off the two networks, device network and company intranet, from one another and only transmits the protocols processed in the proxy server 1. This means that only the requirements generated by a browser on the user devices N1 ... NN to the field devices FG1 ... FGN are transmitted from the company intranet. Only the responses generated by the field devices FG1 ... FGN are transmitted in the opposite direction. This means that all other data packets circulating on the company intranet are kept away from the device network and therefore do not influence the throughput in the device network. Furthermore, a high data volume occurring in the device network due to cross-communication between the field devices FG1 ... FGN cannot increase the network load in the company intranet.
Die Nutzung des RPC-Protokolls mittels des Proxyservers 1 hat den Vorteil, dass sichergestellt ist, dass die Zugriffsmöglichkeit auf die Feldgeräte FG1...FGN auf das an den Pro- xyserver 1 angeschlossene Firmen-Intranet beschränkt bleibt.The use of the RPC protocol by means of the proxy server 1 has the advantage of ensuring that the field devices FG1 ... FGN can be accessed by the xyserver 1 connected company intranet remains limited.
Ein Firmen-Intranet ist heute üblicherweise über ein HTTP- Gateway mit dem Internet verbunden. Dieses Gateway übernimmt hier eine Firewall-Funktion (vgl. Figur 7), indem es die Ü- bertragung des RPC-Protokolls blockiert. Hierdurch kann außerhalb des Firmen-Intranets nicht mehr auf die Daten der Feldgeräte FG1...FGN zugegriffen werden, da alle dynamischen Daten der Feldgeräte FG1...FGN über das RPC-Protokoll übertragen werden.A company intranet is usually connected to the Internet via an HTTP gateway. This gateway takes on a firewall function here (see FIG. 7) by blocking the transmission of the RPC protocol. As a result, the data of the field devices FG1 ... FGN can no longer be accessed outside the company intranet, since all dynamic data of the field devices FG1 ... FGN are transmitted via the RPC protocol.
Der Proxyserver 1 ermöglicht vielfältige Funktionen, die bei dem bisher üblichen, direkten Zugang zu den Feldgeräten FG1...FGN nicht zur Verfügung stehen. Die folgende Zusammenstellung listet weitere wesentliche Funktionen auf, die sich in Verbindung mit der nachfolgenden, detaillierten Beschreibung des Proxyservers 1 ergeben:The proxy server 1 enables a variety of functions that are not available with the direct access to the field devices FG1 ... FGN that has been customary up to now. The following compilation lists further essential functions that result in connection with the following detailed description of the proxy server 1:
Es wird eine eigene Homepage zur Verfügung gestellt, über die alle angeschlossenen Feldgeräte FG1...FGN erreichbar sind. - Die angeschlossenen Feldgeräte FG1... FGN werden automatisch adressiert und erkannt; Darstellung dieser Feldgeräte FG1...FGN in der Homepage als Startseite auf den Nutzereinrichtungen N1...NN für einen direkten Gerätezugriff. Es wird der Zugriff über Gerätenamen der Feldgeräte FG1...FGN ermöglicht, dies ist gegenüber dem Zugriff über die IP-Adresse nutzerfreundlicher.A separate homepage is made available via which all connected field devices FG1 ... FGN can be reached. - The connected field devices FG1 ... FGN are automatically addressed and recognized; Representation of these field devices FG1 ... FGN on the homepage as the start page on the user devices N1 ... NN for direct device access. Access is made possible via device names of the field devices FG1 ... FGN, this is more user-friendly than access via the IP address.
Der Proxyserver 1 kann mittels Browser auf den Nutzereinrichtungen N1...NN konfiguriert werden (e-mail-Adressen, Telefon-Nummern, Gerätenamen, ...) - Der Proxyserver 1 definiert die möglichen Zugriffswege („Firewall-Funktion") . - Der Proxyserver 1 kann Daten aus den Feldgeräte FG1... FGN Zwischenspeichern. Diese Funktion eignet sich z. B. für die Protokollierung der Störfallinformationen oder der Betriebsmesswerte. Diese Daten werden intern in einer XML- Datenbank (XML - „Extended Markup Language") abgelegt. Der Proxyserver kann die aus den Feldgeräten FG1... FGN ü- ber das RPC-Protokoll übertragenen Daten im XML-Format zur Verfügung stellen. Hierdurch können beispielsweise nutzerspezifische Erweiterungen der im Proxyserver 1 verfügbaren Darstellungen vorgenommen werden. Hierzu steht ein im Proxyserver 1 integrierter XSL-Parser (XSL - „Extended Stylesheet Language") zur Verfügung.The proxy server 1 can be configured using a browser on the user devices N1 ... NN (e-mail addresses, telephone numbers, device names, ...) - the proxy server 1 defines the possible access routes ("firewall function"). The proxy server 1 can temporarily store data from the field devices FG1 ... FGN This function is suitable, for example, for the logging of the accident information or the operational measured values. This data is stored internally in an XML database (XML - "Extended Markup Language"). The proxy server can make the data transmitted from the field devices FG1 ... FGN via the RPC protocol available in XML format For example, user-specific expansions of the representations available in proxy server 1 can be carried out. For this purpose, an XSL parser (XSL - "Extended Stylesheet Language") integrated in proxy server 1 is available.
Durch die mit Hilfe des XSL-Parsers realisierbaren Filter auf die XML-Datenbank kann der Proxyserver 1 ebenfalls als Client für weitere Applikationen genutzt werden. Signalisierung von Ereignissen im LAN (LAN - „Local Area Network") via e-mail ist möglich. Der Proxyserver 1 stellt eigene e-mail-Postfächer zu Verfügung, die mittels eines P0P3-Clients (POP3 - „Post Office Protocol Stepping 3") , wie z.B. Outlook, abgerufen werden können. Weiterhin ist eine Weiterleitung von e-mails an ein anderes Postfach mittels eines im Proxyserver 1 integrierten SMTP-Servers (STMP - „Simple Message Transfer Protocol") möglich.Due to the filters on the XML database that can be implemented with the aid of the XSL parser, the proxy server 1 can also be used as a client for further applications. Signaling of events in the LAN (LAN - "Local Area Network") via e-mail is possible. The proxy server 1 provides its own e-mail mailboxes that can be accessed using a P0P3 client (POP3 - "Post Office Protocol Stepping 3" ) , such as Outlook, can be accessed. It is also possible to forward e-mails to another mailbox using an SMTP server (STMP - "Simple Message Transfer Protocol") integrated in the proxy server 1.
Im folgenden wird die Ausbildung des Proxyservers 1 näher beschreiben.The design of the proxy server 1 is described in more detail below.
Figur 7 zeigt eine Anordnung mit dem Gerätenetzwerk und dem Firmen-Intranet gemäß Figur 1, wobei Elemente des Proxyservers 1 schematisch gezeigt sind. Figur 8 zeigt Funktionsblöcke des Proxyservers 1 in einem Blockschaltbild.FIG. 7 shows an arrangement with the device network and the company intranet according to FIG. 1, elements of the proxy server 1 being shown schematically. FIG. 8 shows function blocks of the proxy server 1 in a block diagram.
Gemäß Figur 7 weist jedes der Feldgeräte FG1... FGN einen jeweiligen HTTP-Server HS1...HSN auf, die dem jeweiligen HTTP- Server 34 (vgl. Figur 4) entsprechen und mit einem Sternkopp- ler 39 verbunden sind. Der Proxyserver 1 verfügt ebenfalls über einen HTTP-Server 40. Im folgenden wird die Arbeitsweise des Proxyservers 1 unter Bezugnahme auf Figur 8 beschrieben.According to FIG. 7, each of the field devices FG1... FGN has a respective HTTP server HS1... HSN, which correspond to the respective HTTP server 34 (see FIG. 4) and is connected with a star coupling. ler 39 are connected. The proxy server 1 also has an HTTP server 40. The operation of the proxy server 1 is described below with reference to FIG. 8.
Der Zugriff auf den Proxyserver 1 geschieht immer aus dem lokalen Netz des Firmen-Intranets heraus, in dem sich die Nutzereinrichtungen N1...NN mit der jeweiligen Modemverbindung in das die Feldgeräte umfassende Gerätenetzwerk befinden, das ein Umspannwerk oder mehreren Unterwerken umfassen kann. Wird eine der Nutzereinrichtungen N1...NN über die zugehörige lokale IP-Adresse als Server angesprochen, wird dieser Zugriff über einen TCP/IP-Stack 41 (TCP - „Transfer Control Protocol") an den HTTP-Server 40 weitergeleitet.Access to the proxy server 1 always takes place from the local network of the company intranet, in which the user devices N1 ... NN with the respective modem connection are located in the device network comprising the field devices, which can comprise a substation or several substations. If one of the user devices N1 ... NN is addressed as a server via the associated local IP address, this access is forwarded to the HTTP server 40 via a TCP / IP stack 41 (TCP - “Transfer Control Protocol”).
Der HTTP-Server 40 liefert die angeforderten Dateien in das Firmen-Intranet . Zu diesem Zweck wendet sich der HTTP-Server 40 über einen Dateifilter 42 an eine Cacheverwaltung 43. Der Dateifilter 42 leitet die Anforderung normalerweise an die Cacheverwaltung 43 weiter. Nur bestimmte Anforderungen werden anhand des angeforderten Dateityps erkannt und einem anderen Verarbeitungsweg zugeführt . Diese Ausnahmen werden später beschrieben. Die Cacheverwaltung 43 versucht als erstes, die angeforderte Datei in den lokalen Dateien 44 oder in einem Dateicache 45 zu finden. Ist die angeforderte Datei weder eine lokale Datei des Proxyservers 1 noch im DateicacheThe HTTP server 40 delivers the requested files to the company intranet. For this purpose, the HTTP server 40 contacts a cache manager 43 via a file filter 42. The file filter 42 normally forwards the request to the cache manager 43. Only certain requests are recognized based on the requested file type and sent to another processing path. These exceptions are described later. The cache manager 43 first tries to find the requested file in the local files 44 or in a file cache 45. If the requested file is neither a local file of proxy server 1 nor in the file cache
45 vorhanden, wird die Dateianforderung an einen HTTP-Client45 exists, the file request to an HTTP client
46 weitergeleitet. Dieser baut über einen weiteren TCP/IP- Stack 47 eine Verbindung zum HTTP-Server HS1, ... bzw. HSN des angesprochenen Feldgeräts FG1, ... bzw. FGN im Gerätenetzwerk auf, um die angeforderte Datei von dort zu beziehen. Als Verbindung zum Gerätenetzwerk wird vorzugsweise eine Modemverbindung mit dem PPP-Protokoll genutzt (vgl. Figur 1) . Da der Proxyserver 1 über diese Modemverbindung jedoch gleichzeitig mehrere Verbindungen zu verschiedenen Feldgerä- ten FG1... FGN halten kann, ist eine Arbitierung dieser Modemverbindung erforderlich, da das PPP-Protokoll nur eine Punkt- zu Punkt-Verbindung verwalten kann. Hierzu dient ein Block Slot-Protokoll 48. Dieses Protokoll teilt den einzelnen PPP- Verbindungen Zeitscheiben auf der Modem-Kommunikationsstrecke zu und verhindert so Kollisionen zwischen den einzelnen Verbindungen. Der Block Slot-Protokoll 48 ist weiterhin dafür zuständig, alle im Gerätenetzwerk aktiven Feldgeräte FG1...FGN zu erkennen. Dazu wird das Gerätenetzwerk zyklisch nach aktiven Feldgeräten abgesucht. Die erkannten aktiven Feldgeräte werden von einer Geräteverwaltung 49 in eine XML- Datenbank 50 des Proxyservers 1 eingetragen.46 forwarded. This establishes a connection to the HTTP server HS1,... Or HSN of the addressed field device FG1,... Or FGN in the device network via a further TCP / IP stack 47 in order to obtain the requested file from there. A modem connection with the PPP protocol is preferably used as the connection to the device network (cf. FIG. 1). Since the proxy server 1 can hold several connections to different field devices FG1 ... FGN at the same time via this modem connection, an arbiteration of this modem connection is necessary because the PPP protocol can only manage a point-to-point connection. A block slot protocol 48 is used for this purpose. This protocol allocates time slices on the modem communication link to the individual PPP connections and thus prevents collisions between the individual connections. The block slot protocol 48 is also responsible for recognizing all field devices FG1 ... FGN active in the device network. For this purpose, the device network is searched cyclically for active field devices. The detected active field devices are entered by a device manager 49 into an XML database 50 of the proxy server 1.
Bei der XML-Datenbank 50 handelt es sich um einen nach dem standardisierten „Document Object Model" abgelegten Daten- bäum. Enthält nun eine über den HTTP-Server 40 in den Browser einer mit dem Proxyserver 1 verbunden Nutzungseinrichtung Nl, ... bzw. NN geladene HTML-Seite Java-Code, der eine parallele UDP-Verbindung (UDP - „User Defined Protocol") für das RPC-Protokoll aufbaut, dann wird über diesen Weg ein RPC-Server 51 aus dem Firmen-Intranet heraus angesprochen.The XML database 50 is a data tree stored according to the standardized “Document Object Model”. Now contains a user device N1,... Or, respectively, via the HTTP server 40 in the browser of a user device connected to the proxy server 1. NN loaded HTML page Java code that establishes a parallel UDP connection (UDP - "User Defined Protocol") for the RPC protocol, then this way an RPC server 51 is addressed from the company intranet.
Da das RPC-Protokoll aus Leistungsgründen auf das standardisierte UDP/IP-Protokoll aufsetzt, muss hier im Proxyserver 1 eine VerbindungsVerwaltung 52 enthalten sein, da das UDP- Protokoll nicht verbindungsorientiert arbeitet . Die Verbin- dungsVerwaltung 52 stellt sicher, dass für jede Nutzungseinrichtung N1...NN aus dem Firmen-Intranet ein eigener Kommunikationsport für einen RPC-Client 53 des Proxyservers 1 in das Gerätenetzwerk reserviert wird. Die RPC-Anforderungen aus dem Firmen-Intranet werden dann über den RPC-Client 53 desSince the RPC protocol is based on the standardized UDP / IP protocol for performance reasons, a connection management 52 must be contained here in the proxy server 1, since the UDP protocol does not operate in a connection-oriented manner. The connection management 52 ensures that a separate communication port for an RPC client 53 of the proxy server 1 is reserved in the device network for each usage device N1... NN from the company intranet. The RPC requirements out the company intranet is then via the RPC client 53 of the
Proxyservers 1 direkt in das Gerätenetzwerk weitergeleitetProxy server 1 forwarded directly to the device network
Die Antworten der Feldgeräte FG1...FGN auf RPC-Anforderungen werden an den RPC-Server 51 weitergeleitet. Dieser gibt die Antwort des jeweiligen Feldgeräts FG1, ... bzw. FGN an die Nutzereinrichtungen über das Firmen-Intranet weiter. Parallel hierzu werden die aktuell im RPC-Protokoll übertragenen dynamischen Daten aus dem jeweiligen Feldgerät FG1, ... bzw. FGN in der XML-Datenbank 50 im Proxyserver 1 abgelegt.The responses of the field devices FG1 ... FGN to RPC requests are forwarded to the RPC server 51. This forwards the response of the respective field device FG1, ... or FGN to the user equipment via the company intranet. At the same time, the dynamic data currently transferred in the RPC protocol from the respective field device FG1,... Or FGN are stored in the XML database 50 in the proxy server 1.
Die in der XML-Datenbank 50 gespeicherten Daten können mit Hilfe eines im Proxyserver 1 integrierten XSL-Parsers 54 in beliebige andere Datenformate konvertiert werden. Die dazu notwendigen Transformationsanweisungen müssen als XSL-The data stored in the XML database 50 can be converted into any other data formats using an XSL parser 54 integrated in the proxy server 1. The necessary transformation instructions must be as XSL
Scriptdatei lokal im Proxyserver 1 abgelegt werden. Um einen solchen Transformationsprozess auszulösen, muss am HTTP- Server 40 eine *.XML-Datei angefordert werden. Eine solche Anforderung wird von dem am HTTP-Server 40 angeschlossenen Dateifilter 42 aus dem normalen Zugriffsweg auf die Cacheverwaltung 43 herausgefiltert und an den XSL-Parser 54 weitergeleitet. Dieser liest aus den im Proxyserver 1 lokal abgelegten Dateien neben der angeforderten XML-Datei eine gleichnamige XSL-Datei und startet den Transformationsprozess. Das Ergebnis dieser Transformation wird, vom HTTP-Server 40 an den anfordernden Nutzer gesendet. Auf diese Weise können z. B. HTML-Dateien dynamisch aus einer XSL-Vorlage mit den aktuellen Daten der Feldgeräte FG1...FGN aus der XML-Datenbank 50 erzeugt oder einfach ein Teilbaum der Datenbank als XML-Datei übertragen werden. Der Dateifilter 42, die Cache-Verwaltung 43, die lokalen Dateien 44, der Dateicache 45, der XSL-Parser 54 sowie die XML- Datenbank 50 bilden ein Dateisystem des Proxyservers 1.Script file are stored locally in proxy server 1. To trigger such a transformation process, an * .XML file must be requested from the HTTP server 40. Such a request is filtered out of the normal access path to the cache manager 43 by the file filter 42 connected to the HTTP server 40 and forwarded to the XSL parser 54. This reads an XSL file of the same name from the files stored locally in proxy server 1 in addition to the requested XML file and starts the transformation process. The result of this transformation is sent from the HTTP server 40 to the requesting user. In this way, e.g. B. HTML files generated dynamically from an XSL template with the current data of the field devices FG1 ... FGN from the XML database 50 or simply a subtree of the database can be transferred as an XML file. The file filter 42, the cache management 43, the local files 44, the file cache 45, the XSL parser 54 and the XML database 50 form a file system of the proxy server 1.
Im folgenden werden einzelne Funktionsblöcke des Proxyservers 1 näher beschrieben.Individual functional blocks of the proxy server 1 are described in more detail below.
HTTP-ServerHTTP server
Zunächst wird die grundsätzliche Arbeitsweise des im Proxyserver 1 ausgebildeten HTTP-Servers 40 (vgl. Figur 8) erläutert, wobei zum besseren Verständnis einige wesentliche Grundlagen des HTTP s beschrieben werden.First, the basic mode of operation of the HTTP server 40 embodied in the proxy server 1 (see FIG. 8) is explained, some essential basics of the HTTP being described for better understanding.
Wie bei anderen Applikationsprotokollen im Internet handelt es sich bei HTTP (HTTP - „Hypertext Transfer Protocol") um ein ASCII-Protokoll, das für den Datenaustausch eine abgesicherte TCP-Verbindung zwischen einem Client (Computer des Internetnutzers) und einem Server (Servereinrichtung, auf wel- eher abrufbare Internetinhalte - Daten - zur Verfügung stehen) benötigt. Als Anknüpfungspunkt ist dabei der Port 80 definiert, d. h. , ein HTTP-Server lauscht an diesem Port auf neue Client-Verbindungen. Alternativ kann die überwiegende Anzahl von HTTP-Server-Software über einen entsprechenden Konfigurationsdialog auch angewiesen werden, einen anderen Port für die Kontaktaufnahme heranzuziehen.As with other application protocols on the Internet, HTTP (HTTP - "Hypertext Transfer Protocol") is an ASCII protocol that uses a secure TCP connection between a client (computer of the Internet user) and a server (server device) for data exchange Internet access - data - are available) The port 80 is defined as the starting point, ie an HTTP server is listening on this port for new client connections, or the vast majority of HTTP server software via a corresponding configuration dialog, you can also be instructed to use a different port for establishing contact.
Anders als bei anderen Protokollen, z. B. FTP (FTP - „File Transfer Protocol") und POP3 , ist eine Verbindung zwischen einem HTTP-Client und einem HTTP-Server sehr kurzlebig. DerUnlike other protocols, e.g. B. FTP (FTP - "File Transfer Protocol") and POP3, a connection between an HTTP client and an HTTP server is very short-lived
HTTP-Client baut eine TCP-Verbindung zum gewünschten HTTP- Server über den Port 80 auf und setzt eine Anfrage nach einem gewünschten Dokument an den HTTP-Server ab. Der HTTP-Server erhält die Anfrage, wertet sie aus und sendet - im Erfolgsfall - das gewünschte Dokument an den HTTP-Client zurück. Der HTTP-Server schließt die TCP-Verbindung automatisch, nachdem er dem HTTP-Client das geforderte Dokument oder eine Fehlermeldung als Antwort auf dessen Anfrage zugesandt hat .HTTP client establishes a TCP connection to the desired HTTP server via port 80 and sends a request for a desired document to the HTTP server. The HTTP server receives the request, evaluates it and, if successful, sends the desired document back to the HTTP client. The HTTP server closes the TCP connection automatically after it has sent the HTTP client the requested document or an error message in response to its request.
Eine wichtige Funktionalität von HTTP ist es, dass der HTTP- Client dem HTTP-Server mitteilen kann, welche Art von Daten dieser verstehen kann. Es muss also bei jeder Anfrage eine Kommunikation zwischen dem HTTP-Client und dem HTTP-Server darüber stattfinden, wie die Daten übertragen werden sollen. Diese Kommunikation erzeugt einen sogenannten Überschuss bzw. Überhang („overhead") ; HTTP wird deshalb auch als statusloses Protokoll („stateless protocol") bezeichnet, weil die Verbin- düng nicht mehrere Phasen durchläuft, vom Einloggen, über den Datenaustausch bis hin zum Ausloggen durch den HTTP-Client. Dieses erleichtert einerseits die Entwicklung von HTTP- Client-/HTTP-Server-Software, ist aber im Hinblick auf die Nutzung der zur Verfügung stehenden Bandbreite nicht sehr ef- fizient.An important functionality of HTTP is that the HTTP client can tell the HTTP server what kind of data it can understand. With every request, there must be communication between the HTTP client and the HTTP server about how the data should be transmitted. This communication creates a so-called “overhead”; HTTP is therefore also known as a stateless protocol because the connection does not go through several phases, from logging in, through data exchange to logging out through the HTTP client. On the one hand, this facilitates the development of HTTP client / HTTP server software, but is not very efficient with regard to the use of the available bandwidth.
Das HTTP-Protokoll wird verwendet, um Zugriff auf Quellen im URL-Format (URL - „Uniform Resource Locator") zu erlangen. Der HTTP-Client, meistens ein Web-Browser auf dem Computer des Internet-Benutzers . Er verlangt eine HTML-Seite und generiert danach eine Sequenz von Anfragen bezüglich der Dateiverweise in dieser HTML-Seite. Danach wird der Benutzter wahrscheinlich einen Link in der angefragten HTML-Seite anklicken, und der HTTP-Client schickt eine Anfrage, bezüglich der mit diesem Link verknüpften HTML-Seiten, an den gleichen oder einen weiteren HTTP-Server. Diese weiteren Kommunikationsverbindungen haben keine Informationen mehr über eine vorhergegangene Verbindung. Dieses funktioniert bei einfachen Client/Server-Umgebungen. Bei umfangreicheren Kommunikationen kann diese Arbeitsweise allerdings zum Problem werden, denn für jede noch so kleine Datenmenge, die übertragen werden soll, fällt dieser Überschuss („Overhead") an, was die Effizienz mindert.The HTTP protocol is used to access sources in URL format (URL - "Uniform Resource Locator"). The HTTP client, usually a web browser on the computer of the Internet user. It requires an HTML And then generates a sequence of requests for file references in that HTML page, after which the user will likely click a link in the requested HTML page and the HTTP client will send a request for the HTML pages associated with that link , to the same or another HTTP server. These other communication connections no longer have any information about a previous connection. This works for simple ones Client / server environments. In the case of more extensive communications, however, this method of working can become a problem, because for every small amount of data that is to be transmitted, this excess ("overhead") occurs, which reduces efficiency.
Figur 9 zeigt eine schematische Darstellung der Syntax einer Anfrage in Verbindung mit einer HTTP-Client/Server- Interaktion.Figure 9 shows a schematic representation of the syntax of a request in connection with an HTTP client / server interaction.
Die HTTP-Client/Server-Interaktion besteht aus einer einzigen Anfrage/Antwort-Kommunikation. Sie umfasst eine „request li- ne", ein oder mehrere optionale „request header fields" und einen optionalen „entity body" . Von der HTTP-Client-Seite 60, also in der Regel vom Internet-Browser aus, wird eineThe HTTP client / server interaction consists of a single request / response communication. It comprises a "request line", one or more optional "request header fields" and an optional "entity body". One is sent from the HTTP client side 60, that is to say generally from the Internet browser
TCP-Verbindung zum HTTP-Server 61 geöffnet 62. Anschließend sendet der HTTP-Client 60 einen Kommandostring an den HTTP- Server 61. Der HTTP-Server 61 antwortet über die vom HTTP- Client 60 geöffnete TCP-Verbindung mit einem Kopf, der neben der vom HTTP-Server 61 unterstützten HTTP-Version auch den MIME-Type und die Kodierung der angeforderten Datei enthält. An diesen Kopf im ASCII-Format wird vom HTTP-Server 61 der Inhalt der angeforderten Datei angefügt. Nachdem der HTTP- Server 61 die komplette Datei gesendet hat, schließt dieser die vom HTTP-Client 60 geöffnete TCP-Verbindung wieder 63. Dieser Vorgang kann sich beliebig oft wiederholen.TCP connection to the HTTP server 61 opened 62. The HTTP client 60 then sends a command string to the HTTP server 61. The HTTP server 61 responds via the TCP connection opened by the HTTP client 60 with a header that is next to it the HTTP version supported by the HTTP server 61 also contains the MIME type and the coding of the requested file. The HTTP server 61 appends the content of the requested file to this header in ASCII format. After the HTTP server 61 has sent the complete file, it closes the TCP connection 63 opened by the HTTP client 60. This process can be repeated as often as desired.
Die folgende Zusammenstellung zeigt den Ablauf eines typischen HTTP-Zugriffs :The following compilation shows the process of a typical HTTP access:
1. „connection" (Verbindungsaufbau)1. "connection"
• WWW-Client baut eine TCP/lP-Verbindung zum WWW-Server auf 2. „request" (Anforderung)• WWW client establishes a TCP / IP connection to the WWW server 2. "request"
• Angabe einer Zugriffsmethode (GET, HEADER, POST...)• Specifying an access method (GET, HEADER, POST ...)
• Spezifikation des gewünschten Dokumentes mittels URL• Specification of the desired document using URL
• Zusatzinformationen in Form von MIME-Header• Additional information in the form of MIME headers
• Daten (bei POST)• data (at POST)
3. „response" (Antwort)3. "response"
• Header mit Statuscode• Header with status code
• Zusatzinformationen in Form von MIME-Header• Additional information in the form of MIME headers
• Dokument in HTML-Format• Document in HTML format
• Daten in sonstigen Formaten (Bilder, Sound...)• Data in other formats (images, sound ...)
4. „close" (Verbindungsabbau)4. "close" (disconnection)
• Im Normalfall vom HTTP-Server aus, nach Datenübertragung• Usually from the HTTP server after data transfer
• Im Spezialfall vom HTTP-Client aus (Übertragungszeit, Speicherplatz)• In special cases from the HTTP client (transmission time, storage space)
Hierbei besteht die „request line" aus drei Textfeldern, welche durch Leerzeichen getrennt sind. Das erste Feld spezifiziert die Methode (oder das Kommando) . Das zweite Feld spe- zifiziert den Namen der Quelle (ist die URL ohne die Angabe des Protokolls und des Hosts) . Das letzte Feld spezifiziert die verwendete Protokollversion des HTTP-Clients 60, beispielsweise HTTP/l.O. Die „request header fields" übergeben zusätzliche Informationen über die Anfrage und den HTTP- Client 60. Die Felder werden als eine Art RPC-Parameter benutzt. Jedes Feld besteht aus einem Namen, gefolgt von eine Doppelpunkt und dem Feldwert. Die Reihenfolge der „header fields" ist hierbei nicht wichtig. Der „entity body" wird manchmal von HTTP-Clients 60 verwendet, um größere Informationspakete an den HTTP-Server 61 zu senden.Here, the "request line" consists of three text fields, which are separated by spaces. The first field specifies the method (or the command). The second field specifies the name of the source (is the URL without specifying the protocol and the The last field specifies the protocol version of the HTTP client 60 used, for example HTTP / 10. The “request header fields” provide additional information about the request and the HTTP client 60. The fields are used as a type of RPC parameter. Each field consists of a name, followed by a colon and the field value. The order of the "header fields" is not important here. The "entity body" is sometimes used by HTTP clients 60 to send larger packets of information to the HTTP server 61.
Dateicachefile cache
Um eine möglichst effiziente Arbeit der Cacheverwaltung 43 zu ermöglichen, arbeitet der Dateicache 45 nicht wie üblich mit der URL, dem Datum und der Lebensdauer der zu verwaltenden Dateien, sondern nutzt weitere Kriterien zur Identifizierung einer Datei. Würden nur die drei genannten Kriterien für den Entscheid verwendet werden, ob eine lokal im Dateicache vorhandene Datei mit der im Feldgerät verfügbaren Datei identisch ist, dann wäre für die Durchführung dieses Tests ein Vergleich der genannten Dateimerkmale erforderlich. Dazu müsste für jede Datei der Kopf aus dem Feldgerät angefordert werden. Da das Dateisystem der Feldgeräte FG1... FGN jedoch nur als Einheit in Form, eines KON-Dateien (konvertierte Dateien - Format der in die Nutzereinrichtungen N1...NN ladbaren Dateien) geladen werden kann, ist ein solcher Vergleich nicht für jede Datei erforderlich. Eine Ausnahme bilden hier die dynamisch in den Feldgeräten FG1...FGN erzeugten Dateien, beispielsweise die Datei MLFB.TXT (MLFB - Maschinenlesbare Fabrikantenbezeichnung) , die nicht aus dem Dateisystem der Feldgeräte FG1...FGN ausgelesen, sondern aus der im jeweili- gen Feldgerät FG1, ... bzw. FGN eingestellten MLFB generiert wird.In order to enable the cache manager 43 to work as efficiently as possible, the file cache 45 does not work as usual with the URL, the date and the lifespan of the files to be managed, but uses other criteria for identifying a file. If only the three criteria mentioned were used to decide whether a file locally in the file cache is identical to the file available in the field device, then a comparison of the file characteristics mentioned would be necessary to carry out this test. To do this, the header from the field device would have to be requested for each file. However, since the file system of the field devices FG1 ... FGN can only be loaded as a unit in the form of a KON file (converted files - format that can be loaded into the user devices N1 ... NN), such a comparison is not for every file required. An exception to this are the files generated dynamically in the field devices FG1 ... FGN, for example the file MLFB.TXT (MLFB - machine-readable manufacturer name), which are not read from the file system of the field devices FG1 ... FGN, but from the field device FG1, ... or FGN set MLFB is generated.
Als Unterscheidungsmerkmal zwischen diesen beiden Dateiformen, nämlich den statischen Dateien und den Dateien mit dyna- mischen Daten, dient ein Eintrag in einer Datei „noca- che.txt". Alle dynamisch in den Feldgeräten FG1...FGN erzeugten Dateien müssen in dieser Datei aufgeführt sein. Statische Dateien werden vom HTTP-Server HS1...HSN der Feldgerä- te FG1...FGN mit einer unendlichen Lebensdauer gekennzeichnet. Im folgenden ist ein Beispiel für den Inhalt der Datei „nocache.txt" gezeigt:An entry in a file "nocache.txt" serves as a distinguishing feature between these two file forms, namely the static files and the files with dynamic data. All files generated dynamically in the field devices FG1 ... FGN must be in this file Static files are downloaded from the HTTP server HS1 ... HSN of the field devices. te FG1 ... FGN marked with an infinite lifespan. The following is an example of the content of the nocache.txt file:
/mlfb.txt: MLFB, BF-Nr., Displaytyp/mlfb.txt: MLFB, BF No., display type
/textpool . zip: gerätespezifische Texte für Applets/ textpool. zip: device-specific texts for applets
(mehrsprachig)(multilingual)
/ver.txt: Version, Datum/ver.txt: version, date
/chartab. jar : Gerätezeichensatz/ Chartab. jar: device character set
Die Datei „ver.txt" kann hierbei den folgenden Inhalt aufweisen/anzeigen :The file "ver.txt" can have the following content:
V01.01.01 Tue, 24 Oct 2000 07:50:00 GMTV01.01.01 Tue, 24 Oct 2000 07:50:00 GMT
Slot-Protokoll des ProxyserversSlot protocol of the proxy server
Das Slot-Protokoll 48 (vgl. Figur 8) dient der Anbindung des Proxyservers 1 an die Feldgeräte FG1... FGN in einer Anordnung mit Sternkoppler nach Figur 7. Das Slot-Protokoll 48 gliedert sich in die beiden Bereiche (i) Geräteerkennung und (ii) Arbitierung der Sternkoppleranordnung. Die Geräteerkennung dient der automatischen Erkennung aller an den Sternkoppler 39 angeschlossenen Feldgeräte FG1...FGN. Die Arbitierung muss Kollisionen von Datagrammen unterschiedlicher Feldgeräte FG1... FGN auf der Kommunikationsverbindung zwischen dem Proxyserver 1 und den einzelnen Feldgeräten FG1... FGN verhindern.The slot protocol 48 (cf. FIG. 8) serves to connect the proxy server 1 to the field devices FG1... FGN in an arrangement with a star coupler according to FIG. 7. The slot protocol 48 is divided into the two areas (i) device detection and (ii) Arbiting the star coupler arrangement. The device detection is used for the automatic detection of all field devices FG1 ... FGN connected to the star coupler 39. The arbitration must prevent collisions between datagrams of different field devices FG1 ... FGN on the communication link between proxy server 1 and the individual field devices FG1 ... FGN.
Im folgenden wird die Geräteerkennung bei Nutzung der Sternkoppleranordnung 39 beschrieben. GeräteerkennungThe device detection when using the star coupler arrangement 39 is described below. device Discovery
Die Geräteerkennung stellt einen Bestandteil des Slot- Protokolls 48 dar. Dieser Protokollteil belegt die serielle Verbindung exklusiv, d. h. während der Geräteerkennung darf keine andere Kommunikation auf der Modemstrecke aktiv sein. Deshalb wird die Geräteerkennung nur beim Aufbau der Modemverbindung aktiviert. Im laufenden Betrieb des Beobachtungsund Bediensystems ist dieser Protokollteil inaktiv. Die Gerä- teerkennung kann jedoch bei Bedarf aktiviert werden.The device identification is a component of the slot protocol 48. This protocol part exclusively occupies the serial connection, i. H. no other communication may be active on the modem link during device detection. For this reason, device recognition is only activated when the modem connection is established. This part of the protocol is inactive during operation of the monitoring and operating system. Device detection can, however, be activated if necessary.
Figur 10 zeigt eine Master-Slave-Anordnung mit Sternkoppler zur Erläuterung der Geräteerkennung.Figure 10 shows a master-slave arrangement with a star coupler to explain the device detection.
Das Slot-Protokoll 48 arbeitet nach dem Master-Slave-Prinzip. Ein Master 70 befindet sich am oberen Anschluss in Figur 10. Die unteren Anschlüsse eines Sternkopplers 71, welcher dem Sternkoppler 3 in Figur 1 entspricht, werden von jeweils einem Slave S1...SN belegt, welche den Feldgeräten FG1... FGN gemäß Figur 1 entsprechen. Der Master 70 könnte jede mögliche Adresse der angeschlossenen Slaves S1...SN abfragen und bei einer Antwort auf diese Anfrage den gefundenen Slave Sl, ... bzw. SN in die Liste der Geräte aufnehmen, die dem Master 70 bekannt sind. Diese Vorgehensweise ist jedoch bei einem Adressbereich von 32 Bit nicht mehr durchführbar. Hier wären 2 32 Abfragen erforderlich. Diese Zahl ist jedoch nicht mehr durchführbar, da hier die für diese Abfrage erforderliche Zeit die Lebensdauer der Anlage überschreiten würde. Um dennoch die an den Master 70 angeschlossenen Geräte automatisch erkennen zu können, wird das Problem erfindungsgemäß in der folgenden Weise gelöst: Bei einem Adressierungsschema mit einer Binär kodierten Adresse mit einer fest vorgegebenen Adresslänge wird bei einer Anfrage immer ein Adressbereich abgefragt. Auf diese Anfrage antworten nur die Slaves, die sich in dem abgefragten Adress- bereich befinden. Da sich hier mehrere Feldgeräte (Slaves) im gleichen abgefragten Adressbereich befinden können, kommt es bei einer gleichzeitigen Antwort von mehreren der Slaves S1...SN in diesem Fall zwangsläufig zu einer Kollision. Diese Kollision wird bewusst in Kauf genommen und ist Bestand- teil des vorgeschlagenen Verfahrens. Aus diesem Grund prüft der Master 70 nur, ob innerhalb eines definierten Zeitraums überhaupt eine Antwort auf seine Anfrage eingegangen ist.The slot protocol 48 works according to the master-slave principle. A master 70 is located at the upper connection in FIG. 10. The lower connections of a star coupler 71, which corresponds to the star coupler 3 in FIG. 1, are each occupied by a slave S1 ... SN, which the field devices FG1 ... FGN according to FIG 1 correspond. The master 70 could query every possible address of the connected slaves S1 ... SN and, in response to this query, add the found slave Sl, ... or SN to the list of devices known to the master 70. However, this procedure can no longer be carried out with an address range of 32 bits. 2 32 queries would be required here. However, this number can no longer be carried out since the time required for this query would exceed the life of the system. In order nevertheless to be able to automatically recognize the devices connected to the master 70, the problem is solved according to the invention in the following way: In the case of an addressing scheme with a binary-coded address with a predefined address length, an address range is always queried when a request is made. Only the slaves that are in the queried address range respond to this request. Since there can be several field devices (slaves) in the same queried address range, a collision inevitably results in a simultaneous response from several of the slaves S1 ... SN. This collision is deliberately accepted and is part of the proposed procedure. For this reason, the master 70 only checks whether an answer to its request has been received within a defined period of time.
Beträgt der Adressraum der adressierbaren Slaves S1...SN n Bits, sendet der Master 70 jeweils eine Anfrage mit einem feststehenden Bit der Adresse und einer Maske für die anderen Adressbits aus. Mit zwei Abfragen kann getestet werden, ob sich in dem durch das feststehende Bit vorgegebenen Adressbereich Slaves befinden. Wurde auf eine Anfrage für einen Ad- ressbereich eine Antwort erhalten, dann wird die Maske um einIf the address space of the addressable slaves S1 ... SN is n bits, the master 70 sends out a request with a fixed bit of the address and a mask for the other address bits. Two queries can be used to test whether there are slaves in the address range specified by the fixed bit. If a response to a request for an address range was received, the mask is changed to one
Bit verkleinert und für das nächste feststehende Bit mit wiederum zwei Abfragen getestet, ob sich in dem nun kleineren Adressbereich Slaves befinden. Kommt auf die Anfrage für den nun kleineren Adressbereich eine Antwort, dann ist das nächs- te Bit des Adressbereichs gefunden, in dem sich Slaves befinden. Dieser Vorgang wird so lange wiederholt, bis die Maske für den Adressbereich sich auf 0 Bits reduziert hat. Dann ist einer der Slaves S1...SN am Bus eindeutig identifiziert. Kommen bei einer Abfrage auf beide Zustände des gerade getes- teten Bits Antworten, dann werden beide Zweige in der nächsten Iteration weiter verfolgt. Da bei einer Maskengröße von 0 Bits nur das Gerät bzw. der Slave mit der angefragten, nun vollständig feststehenden Adresse auf die gestellte Anfrage antworten kann, können bei der letzten Anfrage auch keineReduced bit and tested for the next fixed bit with two inquiries whether there are slaves in the now smaller address area. If there is an answer to the request for the now smaller address area, the next bit of the address area in which slaves are located is found. This process is repeated until the mask for the address area has been reduced to 0 bits. Then one of the slaves S1 ... SN is clearly identified on the bus. If answers to both states of the bit being tested come up during a query, then both branches are followed up in the next iteration. Since with a mask size of 0 bits only the device or the slave with the requested, now completely fixed address to the request made cannot respond to the last request
Kollisionen mehr auftreten, und das Antworttelegramm der zu detektierenden Slaves kann spontane Informationen über den Zustand der angeschlossenen Slaves enthalten. Figur 12 erläu- tert das beschriebene Verfahren noch einmal anhand eines einfachen Adressierungsschemas mit einer 4-Bit Adresse, also für einen Adressraum vom 0 bis 15. Es wird vorausgesetzt, dass sich die Geräte mit den Adressen 3, 4 und 7 in der Anordnung befinden. Es wird mit der Abfrage vom höchstwertigen Bit be- gönnen. Es wird also zum einen der Adressraum 0 bis 7 und in einer zweiten Abfrage der Adressraum 8 bis 15 mit einer Abfrage getestet. Auf diese zweite Abfrage antwortet kein Gerät. Auf die erste Abfrage erhält der Master eine oder mehrere Antworten. Deshalb wird im Adressraum 0 bis 7 die Maske um ein weiteres Bit verkleinert. Es werden also nun die Adressbereiche 0 bis 3 mit einer dritten Abfrage und 4 bis 7 mit einer vierten Abfrage geprüft. Dieser Vorgang wiederholt sich entsprechend der Darstellung in Fig. 12 so lange, bis die Adressen vollständig aufgelöst und damit alle Geräte gefunden sind.Collisions occur more, and the response telegram of the slaves to be detected can contain spontaneous information about the status of the connected slaves. FIG. 12 explains the described method again using a simple addressing scheme with a 4-bit address, that is to say for an address space from 0 to 15. It is assumed that the devices with addresses 3, 4 and 7 are in the arrangement , It will start with the query of the most significant bit. Address space 0 to 7 is tested on the one hand and address space 8 to 15 in a second query with one query. No device answers this second query. The master receives one or more answers to the first query. For this reason, the mask is reduced by an additional bit in address space 0 to 7. Address ranges 0 to 3 are now checked with a third query and 4 to 7 with a fourth query. This process is repeated as shown in FIG. 12 until the addresses are completely resolved and all devices are found.
In dem beschriebenen Beispiel werden die Slaves Sl...Sn bzw. die Feldgeräte FG1... FGN mittels eines IP-basierten Protokolls an den Master 70 angeschlossen. Beim IP-Protokoll ha- ben alle Busteilnehmer eine 32 Bit-Adresse. Die Adresse wird in Oktette aufgeteilt und jedes Oktett dezimal dargestellt. Die hexadezimale 32 Bit-Zahl Ox8D8D8000 entspricht also der IP-Adresse 141.141.128.0. Für den eigentlichen Vorgang zur Geräteerkennung/-abfrage wird eine rekursive Variante des im vorhergehenden Absatz beschriebenen Verfahrens verwendet.In the example described, the slaves Sl ... Sn or the field devices FG1 ... FGN are connected to the master 70 using an IP-based protocol. With the IP protocol, all bus users have a 32-bit address. The address is divided into octets and each octet is shown in decimal. The hexadecimal 32 bit number Ox8D8D8000 therefore corresponds to the IP address 141.141.128.0. A recursive variant of the procedure described in the previous paragraph is used for the actual process for device detection / interrogation.
Figur 11 zeigt das Ablaufdiagramm des Verfahrens als Nassi- Sneidermann-Diagramm. Im Rahmen des beschriebenen Verfahrens wird der Test, ob ein Feldgerät (Slave) im verfügbaren Adressbereich ansprechbar ist, vorzugsweise mit Hilfe eines als solchen bekannten Re- quest-Datagramms vom Master 70 ausgelöst. Im Unterschied zu herkömmlichen Verfahren wird jedoch bewusst in Kauf genommen, dass auf ein vom Master 70 ausgesandtes Request-Datagramm mehrere der Slaves S1...SN gleichzeitig antworten. Dadurch, dass im Sternkoppler 71 alle von den Slaves S1...SN empfange- nen Signale über ein logisches ODER-Gatter verknüpft werden und dieses Summensignal an den Master 70 weitergeleitet wird, kann sichergestellt werden, dass im Master 70 eine Antwort eines der Slaves S1...SN in jedem Fall erkannt wird. Wenn sich die Antwort-Datagramme mehrerer der Slaves S1...SN zeit- lieh überlappen, wird im Master 70 ein fehlerhaftes Datagramm empfangen. Auch dieser Fall wird als Antwort erkannt.FIG. 11 shows the flow diagram of the method as a Nassi-Sneidermann diagram. In the context of the described method, the test as to whether a field device (slave) can be addressed in the available address range is preferably initiated by master 70 with the aid of a request datagram known as such. In contrast to conventional methods, however, it is consciously accepted that several of the slaves S1 ... SN respond to a request datagram sent by the master 70 at the same time. The fact that all signals received by the slaves S1 ... SN in the star coupler 71 are linked via a logical OR gate and this sum signal is forwarded to the master 70, can ensure that a response from one of the slaves is present in the master 70 S1 ... SN is recognized in any case. If the response datagrams of several of the slaves S1 ... SN overlap temporarily, an incorrect datagram is received in master 70. This case is also recognized as the answer.
Mit Hilfe der Vorgabe einer maximalen Antwortzeit für die Slaves S1...SN auf ein Request-Datagramm des Masters 70 und der Datagramm-Übertragungszeit kann eine Überwachungszeit für den Master 70 definiert werden. Erhält der Master 70 innerhalb dieser Überwachungszeit eine Antwort, dann befinden sich im angefragten Adressbereich Slaves bzw. Feldgeräte. Im Um- kehrschluss befinden sich im angefragten Adressbereich keine Feldgeräte, wenn vom Master 70 innerhalb der Überwachungszeit keine Antwort auf den Request empfangen wurde .With the aid of the specification of a maximum response time for the slaves S1 ... SN to a request datagram of the master 70 and the datagram transmission time, a monitoring time for the master 70 can be defined. If the master 70 receives a response within this monitoring time, there are slaves or field devices in the requested address area. Conversely, there are no field devices in the requested address area if the master 70 has not received a response to the request within the monitoring time.
Da bei einer vollständigen Auflösung der Adresse im Request des Maters 70 (d.h. die Maske wird leer) nur noch einer der Slaves S1...SN antworten darf, kann in diesem Fall auch keine Kollision mehr auftreten. Damit kann in diesem Fall die Fehlersicherung des empfangenen Datagramms benutzt werden, um eine Leitungsstörung und damit eine mögliche Fehlerkennung eines angeschlossenen Slaves auszuschließen. Tritt während der Überwachungszeit nach einem Request des Masters eine Leitungsstörung auf, die einen nicht vorhandenen Slave vortäuscht, führt das nur zu einer Verlängerung des Vorgangs zum Abfragen, aber nicht zu einer falschen Erkennung von angeschlossenen Slaves, da diese Leitungsstörung spätestens bei der vollständigen Auflösung der Maske erkannt wird. Der folgende Absatz zeigt anhand eines Beispiels die Funktion des Verfahrens :Since only one of the slaves S1 ... SN can respond to a complete resolution of the address in the request of the maters 70 (ie the mask becomes empty), a collision can no longer occur in this case. In this case, the error protection of the received datagram can be used to prevent a line fault and thus a possible fault detection of a connected slave. If a line fault occurs during the monitoring time after a request from the master, which pretends that a slave is not present, this only leads to an extension of the query process, but not to incorrect detection of connected slaves, since this line fault occurs at the latest when the slave is completely resolved Mask is recognized. The following paragraph shows the function of the method using an example:
Test 141, .141. .128.0 Mask: 255.255.128.0 Test 141. .141. .0.0 Mask: 255.255.128.0 Test 141. .141. .64, .0 Mask: 255.255.192.0 Test 141, .141. .96. .0 Mask: 255.255.224.0 Test 141. .141, .64, .0 Mask: 255.255.224.0 Test 141, .141. .80, .0 Mask: 255.255.240.0 Test 141. .141. .88, .0 Mask: 255.255.248.0 Test 141, .141, .80. .0 Mask: 255.255.248.0 Test 141. .141. .84, .0 Mask: 255.255.252.0 Test 141, .141, .86. .0 Mask: 255.255.254.0 Test 141. .141. .84. .0 Mask: 255.255.254.0 Test 141, .141. .85, .0 Mask: 255.255.255.0 Test 141. .141. .84, .0 Mask: 255.255.255.0 Test 141. .141. .84. .128 Mask: 255.255.255.128 Test 141. .141. .84. .0 Mask: 255.255.255.128 Test 141. .141. .84. .64 Mask: 255.255.255.192 Test 141. .141. ,84. .0 Mask: 255.255.255.192 Test 141. .141. ,84. .32 Mask: 255.255.255.224 Test 141. .141. .84. .0 Mask: 255.255.255.224 Test 141. .141. .84. .16 Mask: 255.255.255.240 Test 141. .141. .84. .0 Mask: 255.255.255.240 Test 141. .141. .84. .8 Mask: 255.255.255.248 Test 141. .141. .84. .0 Mask: 255.255.255.248 Test 141. .141. .84. .4 Mask: 255.255.255.252 Test: 141 141 84.0 Mask: 255 255.255.252Test 141, .141. .128.0 Mask: 255.255.128.0 Test 141. .141. .0.0 Mask: 255.255.128.0 Test 141. .141. .64, .0 Mask: 255.255.192.0 Test 141, .141. .96. .0 Mask: 255.255.224.0 Test 141. .141, .64, .0 Mask: 255.255.224.0 Test 141, .141. .80, .0 Mask: 255.255.240.0 Test 141. .141. .88, .0 Mask: 255.255.248.0 Test 141, .141, .80. .0 Mask: 255.255.248.0 Test 141. .141. .84, .0 Mask: 255.255.252.0 Test 141, .141, .86. .0 Mask: 255.255.254.0 Test 141. .141. .84. .0 Mask: 255.255.254.0 Test 141, .141. .85, .0 Mask: 255.255.255.0 Test 141. .141. .84, .0 Mask: 255.255.255.0 Test 141. .141. .84. .128 Mask: 255.255.255.128 Test 141. .141. .84. .0 Mask: 255.255.255.128 Test 141 ... 141. .84. .64 Mask: 255.255.255.192 Test 141. .141. , 84th .0 Mask: 255.255.255.192 Test 141. .141. , 84th .32 Mask: 255.255.255.224 Test 141 ... 141. .84. .0 Mask: 255.255.255.224 Test 141 ... 141. .84. .16 Mask: 255.255.255.240 Test 141 ... 141. .84. .0 Mask: 255.255.255.240 Test 141 ... 141. .84. .8 Mask: 255.255.255.248 Test 141 ... 141. .84. .0 Mask: 255.255.255.248 Test 141 ... 141. .84. .4 Mask: 255.255.255.252 Test: 141 141 84.0 Mask: 255 255.255.252
Test: 141 .141 84 .2 Mask: 255 .255 .255 .254Test: 141 .141 84 .2 Mask: 255 .255 .255 .254
Test: 141 141 84 .3 Mask: 255 .255 .255 .255Test: 141 141 84 .3 Mask: 255 .255 .255 .255
Test: 141 .141 84 .2 Mask: 255 .255 .255 .255Test: 141 .141 84 .2 Mask: 255 .255 .255 .255
Found : 141 141 84 .2Found: 141 141 84 .2
Test: 141 141 84 .0 Mask: 255 255 .255 254Test: 141 141 84 .0 Mask: 255 255 .255 254
Test: 141 141 80 .0 Mask: 255 .255 .252 .0Test: 141 141 80 .0 Mask: 255 .255 .252 .0
Test: 141 141 82 .0 Mask: 255 255 .254 .0Test: 141 141 82 .0 Mask: 255 255 .254 .0
Test: 141 .141 80 .0 Mask: 255 .255 .254 .0Test: 141 .141 80 .0 Mask: 255 .255 .254 .0
Test: 141 141 81 .0 Mask: 255 .255 .255 .0Test: 141 141 81 .0 Mask: 255 .255 .255 .0
Test: 141 141 80 0 Mask: 255 255 255 0Test: 141 141 80 0 Mask: 255 255 255 0
Test: 141 141 80 .128 Mask: 255 .255 .255 .128Test: 141 141 80 .128 Mask: 255 .255 .255 .128
Test : 141 141 80 192 Mask: 255 255 255 192Test: 141 141 80 192 Mask: 255 255 255 192
Test : 141 .141 80 .128 Mask: 255 .255 .255 .192Test: 141 .141 80 .128 Mask: 255 .255 .255 .192
Test : 141 141 80 160 Mask: 255 255 255 .224Test: 141 141 80 160 Mask: 255 255 255 .224
Test: 141 141 80 176 Mask: 255 255 255 240Test: 141 141 80 176 Mask: 255 255 255 240
Test: 141 141 80 160 Mask: 255 255 255 240Test: 141 141 80 160 Mask: 255 255 255 240
Test: 141 141 80 168 Mask: 255 255 255 248Test: 141 141 80 168 Mask: 255 255 255 248
Test: 141 141 80 160 Mask: 255 255 255 248Test: 141 141 80 160 Mask: 255 255 255 248
Test: 141 141 80 164 Mask: 255 255 255 252Test: 141 141 80 164 Mask: 255 255 255 252
Test: 141 141 80 166 Mask: 255 255 255 254Test: 141 141 80 166 Mask: 255 255 255 254
Test : 141 141 80 164 Mask: 255 255 255 254Test: 141 141 80 164 Mask: 255 255 255 254
Test: 141 141 80 165 Mask: 255 255 255 255Test: 141 141 80 165 Mask: 255 255 255 255
Test: 141 141 80 164 Mask: 255 255 255 255Test: 141 141 80 164 Mask: 255 255 255 255
Found : 141 141 80 164Found: 141 141 80 164
Test: 141 141 80 160 Mask: 255 255 255 252Test: 141 141 80 160 Mask: 255 255 255 252
Test: 141 141. 80 162 Mask: 255 255 255 254Test: 141 141. 80 162 Mask: 255 255 255 254
Test: 141 141 80 163 Mask: 255 255 255 255Test: 141 141 80 163 Mask: 255 255 255 255
Found : 141 141. 80 163Found: 141 141. 80 163
Test: 141 141 80 162 Mask: 255 255 255 255Test: 141 141 80 162 Mask: 255 255 255 255
Test: 141 141. 80 160 Mask: 255 255 255 254Test: 141 141. 80 160 Mask: 255 255 255 254
Test: 141 141. 80 161 Mask: 255 255 255 255Test: 141 141. 80 161 Mask: 255 255 255 255
Found : 141 141. 80 161 Test: 141.141.80.160 Mask: 255.255.255.255 Found: 141.141.80.160Found: 141 141. 80 161 Test: 141.141.80.160 Mask: 255.255.255.255 Found: 141.141.80.160
Test 141.141.80.128 Mask 255.255.255.224 Test 141.141.80.0 Mask 255.255.255.128 Test 141.141.64.0 Mask 255.255.240.0 Test 141.141.0.0 Mask 255.255.192.0Test 141.141.80.128 Mask 255.255.255.224 Test 141.141.80.0 Mask 255.255.255.128 Test 141.141.64.0 Mask 255.255.240.0 Test 141.141.0.0 Mask 255.255.192.0
58 Abfragen58 queries
Die Abfragen schlössen den Adressraum 141.141.0.0 bis 141.141.255.255 ein. Es wurden die Geräte mit den folgenden Adressen gefunden: 141.141.84.2 141.141.80.164 141.141.80.163 141.141.80.161 141.141.80.160The queries included the address space 141.141.0.0 to 141.141.255.255. The devices with the following addresses were found: 141.141.84.2 141.141.80.164 141.141.80.163 141.141.80.161 141.141.80.160
Figur 12 illustriert den dargestellten Vorgang in Form einer Baumdarstellung, wobei die fett umrandeten Felder die Abfragen kennzeichnen, die von einem oder mehreren Slaves S1...SN bzw. Feldgeräten beantwortet wurden.FIG. 12 illustrates the process shown in the form of a tree representation, the fields in bold outline indicating the queries that were answered by one or more slaves S1 ... SN or field devices.
Broadcast-DienstBroadcast service
Für die Anbindung des Proxyservers 1 an die FeldgeräteFor connecting the proxy server 1 to the field devices
FG1...FGN kann anstelle der einfachen Architektur mit Sternkoppler 39 ein IP-basiertes Netzwerk genutzt werden. In diesem Fall ist eine Arbitierung dieses Netzwerks durch ein Protokoll, beispielsweise das Slot-Protokoll 48, nicht erforder- lieh. Diese Funktion übernimmt das Netzwerk selbst. Für die Geräteerkennung können bei dieser Ausführungsform ebenfalls Funktionen des Netzwerks genutzt werden. Bei einer Netzwerkverbindung zwischen dem Proxyserver 1 und den Feldgeräten FG1...FGN wird zur Selbstkonfigurierung des Beobachtungs- undFG1 ... FGN, an IP-based network can be used instead of the simple architecture with star coupler 39. In this case, arbiting of this network by means of a protocol, for example the slot protocol 48, is not required. This function is performed by the network itself. In this embodiment, functions of the network can also be used for device detection. With a network connection between the proxy server 1 and the field devices FG1 ... FGN becomes the self-configuration of the observation and
Bediensystems ein Broadcast-Dienst benutzt.Operating system uses a broadcast service.
In beiden Fällen des Erkennens der angeschlossenen Feldgeräte FG1...FGN, d.h. bei der Ausführungsform mit Sternkoppleranordnung und bei Nutzung eines Netzwerks, insbesondere eines LANs, wird das Erkennen bei Inbetriebsetzung des Beobachtungs- und Bediensystems automatisch ausgeführt und erfolgt ohne vorherige Parametrierung der am System beteiligten Kom- ponenten.In both cases, the detection of the connected field devices FG1 ... FGN, i.e. in the embodiment with a star coupler arrangement and when using a network, in particular a LAN, the recognition is carried out automatically when the observation and operating system is started up and takes place without prior parameterization of the components involved in the system.
Der Broadcast-Dienst dient zum Erkennen der an das IP- basierte Netzwerk (z. B. LAN) angeschlossenen Feldgeräte, die einen Server für ihre eigene Bedienung enthalten. Weiterhin dient der Broadcast-Dienst zum Einsammeln von in den angeschlossenen Feldgeräten aufgetretenen spontanen Ereignissen. Der Broadcast-Dienst ist eine IP-Applikation und basiert somit auf den Funktionen des IP-Stacks und setzt auf dem UDP- Protokoll auf. Für diesen Dienst wird Serverseitig z. B. ein fest vorgegebener Port OxDOOO reserviert. Clientseitig wird dynamisch ein freier Port ausgewählt. Durch den Einsatz des Standard-UDP/lP-Protokolls kann hier auf den IP-Programmierschnittstellen von üblichen Betriebssystemen, wie z. B. MS- Windows oder Linux, aufgesetzt werden. Damit kann der Proxy- Server 1 problemlos auf klassische Büroserver portiert werden.The broadcast service is used to identify the field devices connected to the IP-based network (e.g. LAN) that contain a server for their own operation. The broadcast service also serves to collect spontaneous events that have occurred in the connected field devices. The broadcast service is an IP application and is therefore based on the functions of the IP stack and is based on the UDP protocol. For this service server side z. B. a fixed port OxDOOO reserved. A free port is dynamically selected on the client side. Through the use of the standard UDP / IP protocol, the IP programming interfaces of common operating systems such as B. MS Windows or Linux. The proxy server 1 can thus be easily ported to classic office servers.
Der Broadcast-Dienst ist sowohl im Proxyserver 1 als auch in den einzelnen Feldgeräten aktiv. Für den Broadcast-Dienst wird der Proxyserver 1 als Master festgelegt. Eine Konfigurationsabfrage ist ein vom Master abgesendetes UDP-Telegramm. Dieses Telegramm richtet sich je nach Konfiguration an eine Broadcast- oder eine Multicast-IP-Adresse. Eine Beschreibung von Broadcast- oder Multicast-IP-Adressen findet sich beispielsweise in Karanjit S. Siyan: Inside TCP/IP Third Edition, New Riders Publishing, Indianapolis, 1997, ISBN 1-56205- 714-6, Seite 187ff.The broadcast service is active both in proxy server 1 and in the individual field devices. For the broadcast service, proxy server 1 is defined as the master. A configuration query is a UDP telegram sent by the master. Depending on the configuration, this telegram is directed to a broadcast or a multicast IP address. A description Broadcast or multicast IP addresses can be found, for example, in Karanjit S. Siyan: Inside TCP / IP Third Edition, New Riders Publishing, Indianapolis, 1997, ISBN 1-56205- 714-6, page 187ff.
Alle Feldgeräte werden anschließend auf die Konfigurationsabfrage des Masters mit einem UDP-Telegramm antworten, welches die wichtigsten Konfigurationsdaten des Feldgeräts enthält. Da jetzt alle an dem IP-basierten Netzwerk angeschlossenen Feldgeräte theoretisch gleichzeitig Antworten möchten, wird es zunächst zu einigen Kollisionen auf dem genutzten Bus kommen, die durch das CSMA/CD-Verfahren (CSAM - „carrier sense, multiple access/collision detect") aufgelöst werden. Eine Beschreibung dieses Verfahrens ist ebenfalls in Karanjit S. Siyan: Inside TCP/IP Third Edition, New Riders Publishing, Indianapolis, 1997, ISBN 1-56205-714-6, Seite 97ff, zu finden. Die UDP-Antworttelegramme aller aktiven Feldgeräte werden also beim abfragenden Master innerhalb einer gewissen Zeit ankommen. Somit ist der Abfragende in der Lage festzu- stellen, wie viele und welche Feldgeräte sich im Netzwerk befinden, und kann anschließend von'den Feldgeräten weitere Informationen über das HTTP-Protokoll oder andere IP-basierte Protokolle anfordern.All field devices will then respond to the configuration query of the master with a UDP telegram, which contains the most important configuration data of the field device. Since all field devices connected to the IP-based network now theoretically want to answer at the same time, there will initially be some collisions on the bus used, which are caused by the CSMA / CD method (CSAM - "carrier sense, multiple access / collision detect") A description of this method can also be found in Karanjit S. Siyan: Inside TCP / IP Third Edition, New Riders Publishing, Indianapolis, 1997, ISBN 1-56205-714-6, page 97ff. The UDP response telegrams of all Active field devices will therefore arrive at the requesting master within a certain time, so that the requesting party is able to determine how many and which field devices are in the network and can then obtain further information from the field devices via the HTTP protocol or others Request IP-based protocols.
Der Broadcast-Dienst hat außerdem noch die Aufgabe, ein spontan in einem der Feldgeräte auflaufendes Ereignis im IP- basierten Netzwerk an die Teilnehmer des Broadcast-Dienstes zu verteilen. Da die Feldgeräte einerseits keine Information darüber besitzen, welcher Master für dieses Signal zuständig ist und es andererseits möglich sein kann, das im IP- basierten Netzwerk mehrere Master mit verteilten Aufgaben e- xistieren, wird das Ereignistelegramm als Broadcast an alle Netzwerkteilnehmer gesendet. Die Master können dieses Signal je nach Ereignistyp und Sender ignorieren oder eine Aktion auslösen, welche über ein weiteres Protokoll, z. B. HTTP, zusätzliche Informationen von dem Feldgerät abruft. Dieses Abrufen zusätzlicher Informationen am das Ereignis aussendenden Feldgerät durch den zuständigen Master dient gleichzeitig als Empfangsbestätigung des Masters . Wird ein Ereignistelegramm nicht bestätigt, dann wird es solange in regelmäßigen Abständen (beispielsweise etwa 10 s oder mit einer logarithmisch wachsenden Zeit) wiederholt bis eine Bestätigung von einem Master stattfindet.The broadcast service also has the task of distributing an event occurring spontaneously in one of the field devices in the IP-based network to the participants of the broadcast service. Since the field devices on the one hand have no information about which master is responsible for this signal and, on the other hand, it may be possible for several masters with distributed tasks to exist in the IP-based network, the event telegram is sent as a broadcast to all network participants. The masters can use this signal Depending on the event type and sender, ignore or trigger an action which is carried out via another protocol, e.g. B. HTTP, retrieves additional information from the field device. This retrieval of additional information on the field device sending the event by the responsible master also serves as an acknowledgment of receipt by the master. If an event telegram is not confirmed, it is repeated at regular intervals (for example about 10 s or with a logarithmically increasing time) until confirmation is received from a master.
Figur 13 zeigt eine schematische Darstellung zur Erläuterung des Verfahrens im Rahmen der Konfigurationsabfrage.FIG. 13 shows a schematic illustration to explain the method in the context of the configuration query.
Der Proxyserver 1 sendet als Master eine Konfigurationsanfrage 72 als Broadcast an alle Teilnehmer im Netzwerk. Alle Feldgeräte FG1...FGN antworten mit einem UDP-Datagramm an die IP-Adresse des Masters, der die Konfigurationsanfrage ausgesandt hat. Dieses UDP-Datagramm enthält wie bereits darge- stellt die wichtigsten Informationen über die angeschlossenen Geräte .As a master, proxy server 1 sends a configuration request 72 as a broadcast to all participants in the network. All field devices FG1 ... FGN respond with a UDP datagram to the IP address of the master that sent the configuration request. As already shown, this UDP datagram contains the most important information about the connected devices.
Geräteverwaltungdevice management
Die Verwaltung der mit Hilfe der Geräteerkennung bei Nutzung des Sternkopplers 39 oder des Broadcast-Dienstes erkannten Feldgeräte bzw. Slaves erfolgt im Proxyserver 1 mit Hilfe der Geräteverwaltung 49 (vgl. Figur 8) . Figur 14 zeigt ein sche- matisches Blockdiagramm der Anbindung der Geräteverwaltung 49 im Proxyserver 1.The management of the field devices or slaves recognized with the aid of the device recognition when using the star coupler 39 or the broadcast service is carried out in the proxy server 1 with the aid of the device management 49 (cf. FIG. 8). FIG. 14 shows a schematic block diagram of the connection of the device management 49 in the proxy server 1.
Die Geräteverwaltung 49 stellt der Cacheverwaltung 43 und der XML-Datenbank 50 Informationen über die im Gerätenetzwerk er- kannten Feldgeräte FG1... FGN zur Verfügung. Dazu bezieht dieThe device management 49 provides the cache management 43 and the XML database 50 with information about the data generated in the device network. known field devices FG1 ... FGN. The
Geräteverwaltung 49 ihre Informationen über die angeschlossenen Feldgeräte FG1...FGN aus dem im Rahmen des Slot- Protokolls 48 ablaufenden Verfahrens. Auf diese Weise werden die IP-Adressen der angeschlossenen Feldgeräte FG1... FGN bereitgestellt. Die Geräteverwaltung 49 wird vom Slot- Protokoll 48 mit den Informationen über die erkannten Feldgeräte FG1... FGN versorgt. Das Slot-Protokoll 48 liefert der Geräteverwaltung 49 nur die IP-Adressen der erkannten Feldge- rate FG1...FGN. Alle weiteren Informationen über die Feldgeräte FG1...FGN, die durch die Geräteverwaltung 49 im Proxyserver 1 bereitzustellen sind, werden mit des Herunterladens von HTTP-Daten in festgelegten Dateien aus den Feldgeräte FG1...FGN beschafft. Die Geräteverwaltung 49 stellt mit Hil- fe der bekannten IP-Adressen aller erkannten FeldgeräteDevice management 49 their information about the connected field devices FG1 ... FGN from the procedure running in the context of the slot protocol 48. In this way, the IP addresses of the connected field devices FG1 ... FGN are provided. The device management 49 is supplied by the slot protocol 48 with the information about the recognized field devices FG1 ... FGN. The slot protocol 48 only supplies the device management 49 with the IP addresses of the detected field devices FG1 ... FGN. All further information about the field devices FG1 ... FGN, which are to be provided by the device management 49 in the proxy server 1, is obtained by downloading HTTP data in defined files from the field devices FG1 ... FGN. Device management 49 uses the known IP addresses of all recognized field devices
FG1...FGN der Cacheverwaltung 43 die folgenden Informationen über die Feldgeräte FG1...FGN zur Verfügung: Feldgeräte-Typ, Feldgeräte-Version und Version des Dateiblocks für das Beobachtungs- und Bediensystem.FG1 ... FGN of cache management 43 the following information about the field devices FG1 ... FGN is available: field device type, field device version and version of the file block for the observation and operating system.
Im Dateicache 45 (vgl. Figur 8) sind diese Informationen für die dort bereits gespeicherten Dateien ebenfalls vorhanden. Damit kann bei einer Anforderung einer Datei von einem bestimmten der Feldgeräte FG1...FGN anhand dieser Informationen entschieden werden, ob die im Dateicache 45 vorliegende Datei mit der in dem Feldgerät verfügbaren Datei identisch ist, ohne den Dateikopf der angeforderten Datei aus dem bestimmten Feldgerät zu lesen. Es müssen nur die im Dateicache 45 vorliegenden Versionsinformationen für die Datei mit den Infor- mationen aus der Geräteverwaltung 49 für die IP-Adresse des bestimmten Feldgeräts verglichen werden. Die Anbindung der Geräteverwaltung 49 an die XML-Datenbank 50 dient der Bereitstellung von Informationen aus den Feldgeräten FG1...FGN. Diese Informationen werden in Form einer XML- Datei aus den Feldgeräten FG1... FGN geladen. Die folgende Tabelle zeigt eine Übersicht über die Inhalte dieser Datei :This information is also available in the file cache 45 (cf. FIG. 8) for the files already stored there. When a file is requested from a specific one of the field devices FG1 ... FGN, this information can be used to decide whether the file in the file cache 45 is identical to the file available in the field device, without the file header of the requested file from the specific field device to read. Only the version information for the file in the file cache 45 has to be compared with the information from the device management 49 for the IP address of the specific field device. The connection of the device management 49 to the XML database 50 is used to provide information from the field devices FG1 ... FGN. This information is loaded in the form of an XML file from the field devices FG1 ... FGN. The following table shows an overview of the contents of this file:
Figure imgf000049_0001
Figure imgf000049_0001
Alle diese Informationen werden in einer Datei „DevData.xml" gespeichert. Die Geräteverwaltung 49 veranlasst ein HTTP- Herunterladen dieser Datei, wenn eines der Feldgeräte FG1...FGN vom Slot-Protokoll 48 gefunden wurde. Alle weiteren Dateien werden von der Geräteverwaltung 49 nur dann aus dem Feldgerät geladen, wenn deren Dateipfad in dieser XML- Datei enthalten ist, d.h. es werden alle mit einem <DEV_PATH>-Tag gekapselten Dateien geladen.All this information is stored in a file “DevData.xml”. The device manager 49 initiates an HTTP download of this file if one of the field devices FG1 ... FGN was found by the slot protocol 48. All other files are saved by the device manager 49 only then loaded to the field device if their file path is contained in this XML file, ie all files encapsulated with a <DEV_PATH> tag are loaded.
Die Datei „DevData.xml" wird im Proxyserver 1 nach dem Herunterladen mit Hilfe des XSL-Parsers 54 in das interne Format des Proxyservers 1 transformiert und anschließend in der XML- Datenbank 50 des Proxyservers 1 eingetragen.The file “DevData.xml” is transformed in the proxy server 1 after downloading using the XSL parser 54 into the internal format of the proxy server 1 and then entered in the XML database 50 of the proxy server 1.
XSL-ParserXSL parser
Der XSL-Parser 54 (vgl. Figur 8) dient der Erzeugung von dynamisch generierten HTML-Dateien aus der zentralen XML- Datenbank 50 des Proxyservers 1. Dazu werden lokal im Proxy- Server 1 abgelegte XSL-Scripte benutzt. Die XSL-Scripte können mit Hilfe einer Admin-Seite in den Proxyserver 1 eingespielt werden.The XSL parser 54 (see FIG. 8) is used to generate dynamically generated HTML files from the central XML database 50 of the proxy server 1. For this purpose, XSL scripts stored locally in the proxy server 1 are used. The XSL scripts can be imported into the proxy server 1 using an admin page.
Figur 15 zeigt die Einbindung des XSL-Parsers 54 in dem Pro- xyserver 1.FIG. 15 shows the integration of the XSL parser 54 in the proxy server 1.
Wird über den HTTP-Server 40 eine XMl-Datei von den Nutzereinrichtungen N1...NN aus dem Intranet angefordert, dann wird diese Anforderung vom Datei-Filter 42 ausgefiltert und an das XML-Front-end HTTP 55 weitergeleitet. Dieses Front-end sucht eine zur angeforderten XML-Datei gehöriges XSL- Transformationsscript und startet den XSL-Parser 54 mit diesen beiden Dateien.If an XML file is requested by the user devices N1... NN from the intranet via the HTTP server 40, this request is filtered out by the file filter 42 and forwarded to the XML front-end HTTP 55. This front end searches for an XSL transformation script belonging to the requested XML file and starts the XSL parser 54 with these two files.
Da dynamisch generierte HTML-Seiten die verwendeten Daten immer aus der lokal im Proxyserver 1 liegenden XML-Datenbank 50 verwenden, muss der Inhalt dieser Datenbank mit den in den Geräten vorhandenen Daten abgeglichen werden. Dieser Ab- gleichprozess ist deshalb erforderlich, da viele in der XML- Datenbank 50 abgelegen Daten wie z. B. Messwerte zeitveränderlich sind. Diesen Abgleich übernimmt der Block XML-Front- end RPC-Cache 57. Bei einem Zugriff vom XSL-Parser 54 auf die XML-Datenbank 50 wird vom zwischengeschalteten XML-Front-end 57 die Gültigkeitsdauer der angeforderten Information überprüft. Ist die angeforderte Information bereits ungültig geworden, dann wird sie von der VerbindungsVerwaltung 52 neu aus dem RPC-Client 53 aus dem Gerät angefordert, in der XML- Datenbank 50 aktualisiert und an den XSL-Parser 54 weitergeleitet .Since dynamically generated HTML pages always use the data used from the XML database 50 located locally in the proxy server 1, the content of this database must be compared with the data available in the devices. This Ab- The same process is necessary because a lot of data stored in the XML database 50, such as, for example, B. Measured values are time-varying. The block XML front-end RPC cache 57 takes care of this comparison. When the XSL parser 54 accesses the XML database 50, the intermediate XML front-end 57 checks the validity period of the requested information. If the requested information has already become invalid, the connection manager 52 requests it again from the RPC client 53 from the device, updates it in the XML database 50 and forwards it to the XSL parser 54.
Die Geräteverwaltung 49 überwacht fortlaufend den Status der am Gerätenetzwerk angeschlossenen Geräte und aktualisiert diese Informationen mittels des XML-Front-end Gerätedaten 56 in der XML-Datenbank 50.The device manager 49 continuously monitors the status of the devices connected to the device network and updates this information using the XML front-end device data 56 in the XML database 50.
Der XSL-Parser 54 ist das Hauptbindeglied bei der Darstellung der aktuellen, von den Feldgeräten FG1... FGN empfangenen Daten aus der XML-Datenbank 50. Jedes XSL-Script gibt Trans- formationsregeln vor, die festlegen, in welcher Weise bestimmte Daten aus der XML-Datenbank 50 in Form von HTML- Seiten in den Nutzereinrichtungen N1...NN anzuzeigen sind. Eines der Grundprinzipien von XML ist die Trennung von Inhalt und Präsentation. Ein XML-Dokument enthält nur "Inhalt", sei- ne Präsentation muss, in Form eines Stylesheets , gesondert definiert werden. Es gibt verschiedene Möglichkeiten die Darstellungsinformation zu einem XML-Dokument hinzuzufügen. Diese beruhen auf zwei Grundverfahren: Entweder wird das Dokument gemäß eines Stylesheets in eine darstellbare Form ge- bracht oder das Stylesheet leitet den Darstellungsmechanismus dabei an, wie die einzelnen Elemente des Dokuments darzustellen sind. Diese beiden Grundverfahren können in verschiedener Weise variiert werden: CSS-Stylesheet + XML-Dokument —» XML-fähiger BrowserThe XSL parser 54 is the main link in the representation of the current data received from the field devices FG1... FGN from the XML database 50. Each XSL script specifies transformation rules that determine how certain data is output the XML database 50 are to be displayed in the form of HTML pages in the user devices N1 ... NN. One of the basic principles of XML is the separation of content and presentation. An XML document only contains "content", its presentation must be defined separately in the form of a style sheet. There are various ways of adding the display information to an XML document. These are based on two basic processes: Either the document is brought into a displayable form according to a style sheet or the style sheet guides the display mechanism in how the individual elements of the document are to be displayed. These two basic processes can be varied in different ways: CSS stylesheet + XML document - »XML-enabled browser
Der Browser verarbeitet das Dokument und die Darstellungsinformationen in Form eines CSS-Stylesheets und erzeugt eine Präsentation. - XSL-Stylesheet + XML-Dokument — > XSL-fähiges DarstellungsprogrammThe browser processes the document and the presentation information in the form of a CSS style sheet and creates a presentation. - XSL stylesheet + XML document -> XSL-capable display program
Ein Darstellungsprogramm, das XSL-Stylesheets verarbeiten kann, erhält neben dem Dokument die Präsentationsinformation in Form eines XSL-Stylesheets. - XSL-Stylesheet + XML-Dokument -> XSL-Transformator → HTML- DokumentA display program that can process XSL stylesheets receives the presentation information in the form of an XSL stylesheet in addition to the document. - XSL stylesheet + XML document -> XSL transformer → HTML document
Das XML-Dokument wird entsprechend der Transformationsregeln eines XSL-Stylesheets von einem XSL-Transformator in ein (X) HTML-Dokument transformiert, das dann von einem Browser dargestellt werden kann.The XML document is transformed from an XSL transformer into an (X) HTML document according to the transformation rules of an XSL stylesheet, which can then be displayed by a browser.
Figur 16 zeigt ein schematisches Blockschaltbild eines XSLT- Prozessors (XSL - „Extended Stylesheet Language Transformation") .FIG. 16 shows a schematic block diagram of an XSLT processor (XSL - “Extended Stylesheet Language Transformation”).
Das in Figur 16 dargestellte Blockschaltbild verdeutlicht noch einmal den Datenfluss, wenn eine XML-Datei angefordert wird. Die vom Client angeforderte Datei Xview.XML wird vom HTTP-Server an den XSLT-Prozessor 54 weitergeleitet. Dieser sucht die zur angeforderten Datei Xview.XSL gehörige DateiThe block diagram shown in FIG. 16 again illustrates the data flow when an XML file is requested. The file Xview.XML requested by the client is forwarded from the HTTP server to the XSLT processor 54. This searches for the file belonging to the requested Xview.XSL file
Xview.XSL und startet den XSLT-Prozessor 54 mit diesen beiden Dateien. Soll in dem über die angeforderte Datei Xview.XML gestarteten Transformationsprozess Prozessdaten aus der XML- Datenbank 50 des Proxyservers verwendet werden, dann muss das Transformationsscript Xview.XSL einen Verweis auf diese Datenbank enthalten. In dem in Figur 16 dargestellten Beispiel hat diese XML-Datenbank 50 den Namen Siprogate .XML. Da alle mit Hilfe der Nutzereinrichtungen N1...NN angezeigtenXview.XSL and starts the XSLT processor 54 with these two files. If process data from the XML database 50 of the proxy server is to be used in the transformation process started via the requested file Xview.XML, then the transformation script Xview.XSL must contain a reference to this database. In the example shown in FIG. 16, this XML database 50 has the name Siprogate .XML. Since all displayed with the help of the user facilities N1 ... NN
Informationen bei ihrer Anforderung einen XSLT-Prozessor ' durchlaufen, ist es zweckmäßig, die hierbei angeforderten Informationen wie bereits beschrieben mit Hilfe des XML-Front- ends RPC-Cache 57 auf ihre Gültigkeit zu prüfen und das Resultat für einen Aktualisierungsmechanismus zu verwenden. Hierzu muss der XSLT-Parser so manipuliert werden, dass festgestellt werden kann, welche Daten aus den einzelnen Datenbanken bei der Gestaltung der zu erzeugenden HTML-Seite be- teiligt sind. Anhand dieser Information wird dann in einem zweiten Schritt festgestellt, ob diese Daten aktuell sind. Daraufhin werden die dazu erforderlichen Aktualisierungsmechanismen angestoßen, sofern dies notwendig ist, und im Anschluss der Parservorgang noch einmal gestartet, wobei immer nur jene Daten aktualisiert werden, die gegenwärtig in jeglicher Form einem Benutzer mit Hilfe einer oder mehrerer der Nutzereinrichtungen N1...NN angezeigt werden. Das wird dadurch erreicht, dass nur die angeforderten Daten in der XML- Datenbank aktualisiert werden. Aufgrund der möglicherweise erheblichen Gesamtgröße der XML-Datenbank 50 ergibt sich mit Hilfe dieses Mechanismus eine Reduzierung der zwischen den Feldgeräten FG1... FGN und dem Proxyserver 1 übertragenen Daten, da einerseits nur auf Anforderung und andererseits immer nur die für die jeweilige Darstellung erforderlichen Daten geholt werden. Through information in their request an XSLT processor ', it is advisable to check the information requested in this case as described by the XML-RPC frontends cache 57 for validity and use the result for an update mechanism. To do this, the XSLT parser must be manipulated so that it can be determined which data from the individual databases are involved in the design of the HTML page to be generated. This information is then used to determine in a second step whether this data is current. Thereupon, the update mechanisms required for this are initiated, if this is necessary, and the parsing process is then started again, only those data being updated that are currently being displayed to a user in any form using one or more of the user devices N1 ... NN become. This is achieved by only updating the requested data in the XML database. Due to the possibly considerable overall size of the XML database 50, this mechanism results in a reduction in the data transmitted between the field devices FG1 ... FGN and the proxy server 1, since on the one hand only on request and on the other hand only the data required for the respective display be fetched.

Claims

Patentansprüche claims
1. Verfahren zum Übertragen von Rohdaten (36) zwischen einem Feldgerät (33) und einer Nutzereinrichtung (30) zum Beobach- ten und/oder zum Bedienen des Feldgeräts (33) , wobei die Rohdaten (36) in dem Feldgerät (33) vorgehalten werden, wobei in dem Feldgerät (33) eine Servereinrichtung (34) ausgebildet ist und wobei auf der Nutzereinrichtung (30) für eine Datenkommunikation mit der Servereinrichtung (34) eine Browser- Einrichtung (31) installiert ist, das Verfahren die folgenden Verfahrensschritte aufweisend:1. A method for transmitting raw data (36) between a field device (33) and a user device (30) for observing and / or operating the field device (33), the raw data (36) being held in the field device (33) whereby a server device (34) is formed in the field device (33) and a browser device (31) is installed on the user device (30) for data communication with the server device (34), the method comprising the following method steps:
Ausbilden einer Kommunikationsverbindung zum Übertragen von elektronischen Daten zwischen dem Feldgerät (33) und der Nutzereinrichtung (30) ; - Übertragen einer mit Hilfe der Browser-EinrichtungForming a communication link for transmitting electronic data between the field device (33) and the user device (30); - Transfer one using the browser setup
(31) auf der Nutzereinrichtung (30) grafisch ausgebbaren, elektronischen Beschreibungsseite (35) von der Servereinrichtung (34) des Feldgeräts (33) an die Nutzereinrichtung (30) über die Kommunikationsverbin- düng, wobei die elektronische Beschreibungsseite (35) wenigstens eine elektronische Referenz auf die in dem Feldgerät (33) vorgehaltenen Rohdaten (36) umfasst; Übertragen der Rohdaten (36) von dem Feldgerät (33) an die Nutzereinrichtung (30) ; und - automatisches Verarbeiten der Rohdaten (36) in der Nutzereinrichtung (30) .(31) on the user device (30) which can be graphically outputted, electronic description page (35) from the server device (34) of the field device (33) to the user device (30) via the communication link, the electronic description page (35) having at least one electronic Includes reference to the raw data (36) held in the field device (33); Transferring the raw data (36) from the field device (33) to the user device (30); and - automatic processing of the raw data (36) in the user device (30).
2. Verfahren nach Anspruch 1 , d a d u r c h g e k e n n z e i c h n e t , dass die elektronische Beschreibungsseite (35) nach dem Übertragen an die Nutzereinrichtung (30) automatisch in der Nutzereinrichtung (30) analysiert wird, um die wenigstens eine Referenz auf die Rohdaten (36) zu erfassen, und dass die Rohdaten (36) nach dem Erfassen der wenigs- tens einen Referenz in der elektronischen Beschreibungsseite (35) automatisch von dem Feldgerät (33) an die Nutzereinrichtung (30) übertragen werden.2. The method according to claim 1, characterized in that the electronic description page (35) after transmission to the user device (30) is automatically analyzed in the user device (30) in order to detect the at least one reference to the raw data (36), and that the raw data (36) after the acquisition of the few at least one reference in the electronic description page (35) is automatically transmitted from the field device (33) to the user device (30).
3. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass eine der wenigstens einen Referenz in der elektronischen Beschreibungsseite (35) zuordbare Auswahl durch einen Benutzer mit Hilfe eines Auswahlmittels in der Nutzer- einrichtung (30) elektronisch erfasst wird und dass die Rohdaten (36) nach dem Erfassen der Auswahl des Benutzers automatisch von dem Feldgerät (33) an die Nutzereinrichtung (30) übertragen werden.3. The method according to claim 1, characterized in that one of the at least one reference in the electronic description page (35) can be assigned electronically by a user with the aid of a selection means in the user device (30) and that the raw data (36) the detection of the selection of the user is automatically transmitted from the field device (33) to the user device (30).
4. Verfahren nach Anspruch 2 oder 3 , d a d u r c h g e k e n n z e i c h n e t , dass das Übertragen der Rohdaten (36) von dem Feldgerät (33) an die Nutzereinrichtung (30) mit Hilfe eines innerhalb der Browser-Einrichtung (31) ausgebildeten Client- Prozesses (100) ausgeführt wird.4. The method according to claim 2 or 3, characterized in that the transfer of the raw data (36) from the field device (33) to the user device (30) with the aid of a client process (100) formed within the browser device (31) becomes.
5. Verfahren nach Anspruch 4 , d a d u r c h g e k e n n z e i c h n e t , dass mit Hilfe des innerhalb der Browser-Einrichtung (31) ausgebildeten Client-Prozesses (100) im wesentlichen dynamische Rohdaten übertragen werden.5. The method as claimed in claim 4, so that essentially dynamic raw data is transmitted with the aid of the client process (100) formed within the browser device (31).
6. Verfahren nach Anspruch 2 oder 3 , d a d u r c h g e k e n n z e i c h n e t , dass das Übertragen der Rohdaten (36) von dem Feldgerät (33) an die Nutzereinrichtung (30) mit Hilfe eines Erweiterungsmoduls („plug-in-Modul") der Browser-Einrichtung (31) ausgeführt wird. 6. The method according to claim 2 or 3, characterized in that the transmission of the raw data (36) from the field device (33) to the user device (30) with the aid of an expansion module ("plug-in module") of the browser device (31 ) is performed.
7. Verfahren nach Anspruch 6 , d a d u r c h g e k e n n z e i c h n e t , dass mit Hilfe des Erweiterungsmoduls („plug-in-Modul") der Brow- ser-Einrichtung (31) im wesentlichen statische Rohdaten übertragen werden.7. The method as claimed in claim 6, so that essentially static raw data are transmitted with the aid of the extension module (“plug-in module”) of the browser device (31).
8. Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , dass die elektronische Beschreibungsseite (35) eine HTML-Seite ist .8. The method according to any one of the preceding claims, that the electronic description page (35) is an HTML page.
9. Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , dass zum Übertragen der elektronischen Beschreibungsseite (35) und zum Übertragen der Rohdaten (36) unterschiedliche e- lektronische Protokolle genutzt werden.9. The method as claimed in one of the preceding claims, that different electronic protocols are used to transmit the electronic description page (35) and to transmit the raw data (36).
10. Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , dass die Browser-Einrichtung (31) die von dem Feldgerät (33) an die Nutzereinrichtung (30) übertragenen Rohdaten (36) a- nalysiert und dass zum Verarbeiten der Rohdaten (36) in der Nutzereinrichtung (30) ein Anwendungsprogramm in Ab- hängigkeit vom Ergebnis des Analysierens der Rohdaten (36) automatisch gestartet wird.10. The method according to any one of the preceding claims, characterized in that the browser device (31) analyzes the raw data (36) transmitted from the field device (33) to the user device (30) and that for processing the raw data (36) in an application program is started automatically for the user device (30) depending on the result of the analysis of the raw data (36).
11. Feldgerät mit einem Anschluss für eine Kommunikations- verbindung (2) , die von einer Client-Einrichtung (30) ü- ber eine IP-Adresse adressierbar ist, einer Servereinrichtung (34) zur Datenkommunikation mit einer auf der Client-Einrichtung (30) installierten Browser- Einrichtung (31) über den Anschluss und einer Spei- chereinrichtung (35a) mit einer hierin gespeicherten, e- lektronischen Beschreibungsseite (35), wobei die elektronische Beschreibungsseite (35) eine elektronische Referenz auf in dem Feldgerät (33) vorgehaltene Rohdaten (36) umfasst und wobei die elektronische Beschreibungs- seite (35) , einschließlich der mittels der elektronischen Referenz referenzierten Rohdaten (36) , über die Servereinrichtung (34) und den Anschluss elektronisch abrufbar ist.11. Field device with a connection for a communication connection (2) which can be addressed by a client device (30) via an IP address, a server device (34) for data communication with one on the client device (30 ) installed browser device (31) via the connection and a memory Storage device (35a) with an electronic description page (35) stored therein, the electronic description page (35) comprising an electronic reference to raw data (36) held in the field device (33) and the electronic description page (35) , including the raw data (36) referenced by means of the electronic reference, can be called up electronically via the server device (34) and the connection.
12. Vorrichtung nach Anspruch 11, d a du r c h g e k e n n z e i c h n e t , dass die elektronische Beschreibungsseite (35) eine HTML-Seite ist .12. The apparatus of claim 11, because the electronic description page (35) is an HTML page.
13. Vorrichtung nach Anspruch 11 oder 12, d a d u r c h g e k e n n z e i c h n e t , dass die Servereinrichtung (34) ein HTTP-Server ist.13. The apparatus of claim 11 or 12, so that the server device (34) is an HTTP server.
14. Vorrichtung nach einem der Ansprüche 11 bis 13, d a d u r c h g e k e n n z e i c h n e t , dass die Rohdaten (36) Messwerte und/oder Ereignislisten umfassen.14. Device according to one of claims 11 to 13, that the raw data (36) comprise measured values and / or event lists.
15. Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 10 oder einer Vorrichtung nach einem der Ansprüche 11 bis 14 zum Überwachen energietechnischer Anlagen. 15. Use of a method according to one of claims 1 to 10 or a device according to one of claims 11 to 14 for monitoring energy technology systems.
PCT/DE2002/003712 2001-10-15 2002-09-26 Method for transmitting raw data and field device WO2003038536A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10151118A DE10151118A1 (en) 2001-10-15 2001-10-15 Process for transferring raw data and field device
DE10151118.3 2001-10-15

Publications (2)

Publication Number Publication Date
WO2003038536A2 true WO2003038536A2 (en) 2003-05-08
WO2003038536A3 WO2003038536A3 (en) 2004-02-19

Family

ID=7702724

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2002/003712 WO2003038536A2 (en) 2001-10-15 2002-09-26 Method for transmitting raw data and field device

Country Status (2)

Country Link
DE (1) DE10151118A1 (en)
WO (1) WO2003038536A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006047218B9 (en) * 2006-10-05 2008-07-10 Hippokratec Gesellschaft für Medizintechnik mbH Apparatus and method for centrally controlling interconnected medical devices
DE102007002351A1 (en) * 2007-01-16 2008-07-17 Vega Grieshaber Kg Automatic monitoring and control of levels
DE102010040055B4 (en) * 2010-08-31 2023-08-17 Endress + Hauser Process Solutions Ag System for communication of several clients with several field devices in automation technology

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0825506A2 (en) * 1996-08-20 1998-02-25 Foxboro Corporation Methods and apparatus for remote process control
DE19846596A1 (en) * 1997-10-09 1999-04-15 Advantest Corp Computer-controlled measuring system
US6209048B1 (en) * 1996-02-09 2001-03-27 Ricoh Company, Ltd. Peripheral with integrated HTTP server for remote access using URL's
US20010003804A1 (en) * 1997-09-10 2001-06-14 Schneider Automation Inc. Web interface to a programmable controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209048B1 (en) * 1996-02-09 2001-03-27 Ricoh Company, Ltd. Peripheral with integrated HTTP server for remote access using URL's
EP0825506A2 (en) * 1996-08-20 1998-02-25 Foxboro Corporation Methods and apparatus for remote process control
US20010003804A1 (en) * 1997-09-10 2001-06-14 Schneider Automation Inc. Web interface to a programmable controller
DE19846596A1 (en) * 1997-10-09 1999-04-15 Advantest Corp Computer-controlled measuring system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KLESPER T: "DER INTERNET-ZUGRIFF AUFS LON. WELTWEITER ZUGRIFF AUF DIE SENSORIK UND AKTORIK VON AUTOMATISIERUNGS-PROJEKTEN" ELEKTRONIK, FRANZIS VERLAG GMBH. MUNCHEN, DE, Bd. 47, Nr. 8, 14. April 1998 (1998-04-14), Seite 60,62,64,66 XP000780190 ISSN: 0013-5658 *
ROB SCHL]TER: "Description of the EMBED tag" INTERNET ARTICLE, [Online] XP002262645 Gefunden im Internet: <URL:http://web.archive.org/web/2001081814 2933/http://www.ca.com.au/html/TAG_EMBED.h tml> [gefunden am 2003-11-24] *

Also Published As

Publication number Publication date
WO2003038536A3 (en) 2004-02-19
DE10151118A1 (en) 2003-05-08

Similar Documents

Publication Publication Date Title
EP1436677B1 (en) Method for implementing an operating and observation system for field devices
EP1436676B1 (en) Method for operating and observing field devices
EP1527554B1 (en) Computer network with diagnosis computer nodes
DE60222640T2 (en) METHOD AND SYSTEM FOR ADDRESSING DEVICES IN A COMPUTER NETWORK
DE60006018T2 (en) Wireless control of a field device in an industrial process
DE60118487T2 (en) Communication system based on WDSL language
EP2724494B1 (en) Method for operating a field device, and field device
DE60023292T2 (en) DOUBLE ETHERNET STACK FOR PLC ACCESS WITH MAXIMUM SPEED
EP1305930B1 (en) System and method for transmitting opc data via data networks, in particular the internet using an asynchronous data connection
DE69704489T2 (en) Method and device for structured communication
DE10151119C2 (en) Method for detecting multiple field devices in a device configuration
EP3523927B1 (en) Concept for controlling a message transmission between communication subscribers in an automation system
DE10208146A1 (en) Computer-assisted graphical user interface generation for equipment monitoring/control unit involves forming user interface according to base structure, inserting static and dynamic detail data
EP1362304B1 (en) System and method for saving and generating web pages, which optimises storage space
WO2003036402A2 (en) Method for forming an operating function of field devices, and a field device
DE60312552T2 (en) PROCESS DATA MANAGEMENT
EP1338961A2 (en) Method for computer aided generation of graphical user interfaces
EP1646917B1 (en) Method for generating a structure representation which describes a specific automation system
WO2003038536A2 (en) Method for transmitting raw data and field device
EP1518386B1 (en) System and method for direct communication between automation appliances
EP1435026B1 (en) System and method for the data emission of an appliance, especially an automation appliance, by means of a standardised interface with replacement of variables by means of an echo server
EP1435025B1 (en) System and method for accessing an appliance, especially an automation appliance comprising a standardised interface
EP1341082A2 (en) Method for computer-assisted generation of a GUI of a device monitoring / control unit
DE10208959B4 (en) Method and device for detecting and evaluating information stored in a computer network
DE102007039266B4 (en) System and method for accessing process and/or plant information using a standard application

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase