Abstract:
A communications subscriber (P) which is suitable as an interface between a network (N) and a field bus (BU) and has software objects (A′, B′) for representing appliances (A, B) which can be connected via the field bus, which software objects can be addressed, like the appliances (A, B) themselves, via the network (N), so that appliances having only field bus access can also be transparently incorporated into “high performance” networks.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This is a national application for International Application No. PCT/DE00/04057 which was filed on Nov. 16, 2000 and which published in German on May 25, 2001, which in turn claims priority from 199 55 306.8, which was filed on Nov. 17, 1999. 
     FIELD OF THE INVENTION 
     The present invention relates to a method of communication for a communications subscriber. 
     SUMMARY OF THE INVENTION 
     The object of the present invention is to allow a first communications subscriber, connected to a first network, to be able to interchange data conveniently with a second communications subscriber, to which a second network not directly connected to the first network can be connected. 
     To this end, a special hereinafter additional communications subscriber is first provided which is connected to the first network hereinafter “network,” and which also has the second network “field bus” connected to it. The additional communications subscriber is thus used as an interface between the network and the field bus. 
     This method provides a particularly convenient way of interchanging data is by virtue of the special communications subscriber connected to the network having software objects for representing terminals (the potential second communications subscribers) which can be connected to the field bus. The field bus synchronizes an address space which is shared at least by the terminals and the special communications subscriber, and can be mapped at least in a memory provided for this purpose in the special communications subscriber. The special communications subscriber&#39;s software objects can be addressed via the network, using a transfer protocol defined for the network, in exactly the same way as the special communications subscriber itself or other communications subscribers. In the case of a message arriving on the special communications subscriber via the network, the addressed software object representing a terminal as a second communications subscriber handles the steps required in line with the transfer protocol defined for the network in order to receive the message. In addition, either a data item is impressed into the special communications subscriber&#39;s aforementioned memory in response to the message, in which case the change to the content of the memory can be transmitted to the second communications subscriber via the field bus during the cyclic data transfer, or the message is transmitted, particularly after it has been transformed into a form suitable for the transfer protocol of the field bus, to the second communications subscriber represented by the software object. 
     The number of software objects on the special communications subscriber is preferably adjusted in a freely definable manner, but particularly to suit the number of terminals connected to the field bus. 
     It is further preferred if the respective software objects can be assigned unique addresses within the network which are suitable for targeted data transfer in line with the transfer protocol provided for the network. The addressed software object carries out preprocessing for the data in the received message, preferably according to the type of data transmitted with the message. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Various features, advantages and opportunities for application of the present invention are disclosed below in the context of an exemplary embodiment and related drawing in which: 
         FIG. 1  illustrates a plurality of communications subscribers LR, P, S which are connected to the network N, with one communications subscriber LR being a control computer, for example. 
         FIGS. 2 and 3  graphically illustrate the object types instantiated as software objects A′, B′ with the communications subscriber B; 
         FIG. 4  is an embodiment of the present invention wherein the software objects have the same object type “AB”; 
         FIG. 5  is an embodiment of the present invention wherein one and the same software objects represent different interface functionalities of the terminals A, B to be addressed; and 
         FIG. 6  is a further embodiment of the present invention using “PROFIBUS DP” as field bus BU, with a DP master P and one or more DP slaves A. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The special communications subscriber P is an interface between the network N and the field bus BU. Terminals A, B are connected to the communications subscriber P via the field bus BU, the terminals performing very varied technological functions (actuators, sensors, etc.) necessary for automating technical processes. 
     Hereinbelow, it is assumed that a motor M is connected to the terminal A, and a valve V is connected to the terminal B. The motor M and the valve V are elements of a technical process TP which is to be controlled and is indicated only schematically in  FIG. 1  by the dividing line. 
     To communicate with the terminals A, B, the communications subscriber P contains software objects A′, B′ which, from the point of view of the network, represent the terminals A, B which cannot be reached directly via the network. 
     In a preferred embodiment, in order to be able to include the specific functionality of the respective terminals A, B, an object type A″ which geared to the motor functionality of the terminal A is instantiated as software object A′, and an object type B″ which geared to the valve functionality of the terminal B is instantiated as software object B′. The respective object types A″, B″ provide a collection of input data, output data, and methods (element functions, properties) M 11 , M 12 , M 13 , M 14 , V 11 , V 12  which is geared to the respective functionality to be implemented, and can be used to access particular functionalities of the terminals or of the object classes representing said terminals. See  FIGS. 2 and 3 . To turn off the motor M connected to the terminal A, for example, the control computer LR transmits a message addressing the corresponding element function of the software object A′ to the software object A′ via the network N. The corresponding element function may be “motor off”, for example. The procedure is similar for the valve functionality of the terminal B. 
     Accordingly,  FIGS. 2 and 3  show a graphical illustration of the object types instantiated as software objects A′, B′ in the communications subscriber B in order to represent a terminal A with a motor M connected thereto or in order to represent a terminal B with a valve V connected thereto. In  FIG. 2 , the object type A″ has four exported data items or element functions M 11 , M 12 , M 13 , M 14 . Suitable exported data M 11 , M 12 , for example, are the rated and actual rotation speeds of the motor M; suitable exported element functions M 13 , M 14 , for example, are functions for turning the motor on and off. Naturally, other exported data and element functions can also be envisaged, for example element functions for starting up the motor in line with a prescribable or prescribed characteristic curve, data for stipulating the braking response, etc. 
       FIG. 3  shows the object type B″, provided for representing the terminal B with the valve V connected thereto, having two exported data items or element functions V 11 , V 12 , the element functions V 11 , V 12 , for example, provide functions for opening and closing the valve. 
     The respective software objects A′, B′ contain program code which is suitable either for transferring transferred data directly into the shared memory space M of the field bus BU or else for sending messages which are used to transmit the appropriate data directly to the terminals A, B. When the data are entered into the shared memory space M, altered data are transmitted to the terminals A, B via the field bus BU during the cyclic transfer, so that even a data item which is initially changed only in the memory space M finally arrives on the actual addressee, e.g. the terminal A. When sending messages for data transfer via the field bus BU, the software object A′, B′ undertakes transformation of the message received via the network N into the data format provided for the field bus BU. In the case of the “Profibus” BU, a widespread field bus BU, such messages would be sent as “acyclic” messages, which do not affect the cyclic data interchange. 
     Unlike the example described above, in which the software objects A′, B′ were instances of respectively different object types A″, B″, it is conceivable that the software objects A′, B′ to be instances of one and the same object type AB″, with the object type AB″ then at least providing methods AB 11 , AB 12  for sending and receiving messages via the network N, See.  FIG. 4 . In this case, to turn on the motor M which is connected to the terminal A, a message is sent from the control computer LR to the software object A′, and hence the element function “receive” AB 11  associated with the instance of the corresponding object type AB″ is activated. The element function “receive” AB 11  uses codes provided in the software object A′ to ensure that the message received via network N is transformed into a form suitable for the field bus BU and is finally transmitted to the terminal A. 
     In another embodiment of the present invention illustrated in  FIG. 5 , it is possible for instances of one and the same software object also to be used to represent different interface functionalities of the particular terminals A, B to be addressed. To this end, the software object has a table T provided in it, with the individual table entries T 1 , T 2  comprising at least two positions S 1 , S 2 . The first position T 1 S 1  for a table entry T 1 , T 2  represents an address for the shared address space of the communications subscribers P, A, B connected to the field bus BU, and the second position T 1 S 2  represents the memory requirement for the data item at the specified address. 
     By way of example, if the rotation speed of the motor M connected to the terminal A needs to be altered, the rated rotation speed stored at a defined position, e.g. at the address #768, in the shared memory space M can be modified by a corresponding instruction based on an associated communication. To this end, the new rated value transmitted with the message is entered at an address indicated in the first position T 1 S 1  in the table, for example, in this case #768. The data change in the shared memory M is communicated to the terminal A via the field bus BU during the cyclic data transfer. 
     To increase user-friendliness even further, the individual entries T 1 , T 2  are extended by an additional position S 3 . This position S 3  comprises a structure which at least provides space for declaring a name for the corresponding position in the table T. Thus, by way of example, a first position T 1  in the table T can be called “rated value” T 1 S 3 , and another position T 2  in the table T can be called “actual value” T 2 S 3 . These names are exported, specifically (for example) by virtue of “type libraries”, which largely correspond to the “header files” known from the programming language C++, for example, which contain the names and the associated data, being available on all the communications subscribers globally for a project. 
     Once the names “rated value” T 1 S 3 , and “actual value” T 2 S 3  are thus available in the control computer LR, for example, it is a particularly simple matter to address the motor connected to the terminal A by using the protocol for the network N to request the exported data item Actual Value from the software object A′ in order to request the actual value. Internally, when the data item Actual Value is requested via the link using the table T, the data item entered in the row T 1  represented by the declaration Actual Value is read out using the associated address T 1 S 1 . In this case, it is possible to read from the global memory area M again. The actual value in the memory area M is always up to date on account of the cyclic data interchange via the field bus FB. 
     A further exemplary embodiment is described below with reference to  FIG. 6 . A possible implementation of this configuration uses, as field bus BU, the “PROFIBUS DP” with a DP master P and one or more DP slaves A. The control computer LR initiates a communication via the object bus DCOM using TCP/IP and Ethernet N to the DP master P, and addresses the software object A′. The software object A′ uses data stored in a definition table to ascertain the transfer path which can be used to best effect for the PROFIBUS DP BU. In this context, the definition table contains, for each of the functions defined on the DCOM interface of the software object A′, the access path and the access parameters required for access. 
     If the function called is a “DCOM property access operation” to a locally available data item, the software object A′ uses the shared memory M. This applies specifically when the DCOM property is mapped onto an I/O signal from the DP slave A. The I/O signals from DP slaves are transported cyclically into the shared memory M on the DP master P, in line with the DP standard. This function can thus be executed completely on the DP master; no communication with this DP slave A is necessary. The bus BU is relieved of load by the communication for access to these data. 
     If a function which can be executed only by the DP slave is involved, i.e. property access operations to data which are not contained in the I/O signals, or calls to methods, the DCOM protocol is converted into a real-time protocol tuned specifically to the PROFIBUS DP (a “short form” of the DCOM PDU, in order to minimize the data transferred). This real-time protocol uses the PROFIBUS DPV1 mechanism “Write data records” in order to transfer the protocol units to the DP slave A. The latter receives the protocol and implements the respective function in response to the received message. Following processing, the response parameters are transported in the reverse direction from the DP slave A to the DP master P using the real-time protocol and using the PROFIBUS DPV1 mechanisms “Alarm” in combination with “Read data record”, and from the DP master P are transported to the software object A′. The software object A′ returns the response parameters to the caller LR via the bus N and using the communication mechanisms (DCOM) used.