Abstract:
Communication process for communication between communication participants (S 1,  S 2,  S 3,  S 4 ) provided for control and/or monitoring of a technological process, which are connected in communication with each other by way of a bus system (B) and can be identified using their addresses, whereby each communication participant manages a first group of references as so-called service access points, wherein for at least one of the service access points a second group of references is managed, whereby the access to an individual reference from this second group of references is carried out using the address of the accessing communication participant.

Description:
[0001]    This is a Continuation of International Application PCT/EP99/05296, with an international filing date of Jul. 23, 1999, the disclosure of which is incorporated into this application by reference.  
         FIELD OF AND BACKGROUND OF THE INVENTION  
         [0002]    The present invention relates to a communication process and apparatus for communication between communication participants. These communication participants are provided for control and/or monitoring of a technical process and are connected in communication with each other using a bus system, in particular a field bus, and can be identified using their addresses. In this process, each communication participant manages a first group of references as so-called service access points.  
           [0003]    EN 50 170, Part I defines a model for managing received resources. This definition expands the source and target addresses of the associated communication participants and ultimately represents a reference that can be used to handle incoming and/or outgoing data unambiguously even with different communication relationships. In the following, these expanded source and target addresses are designated as service access points (SAPs). For example, this means that the connection relationship which could previously be defined with the data of the sender and receiver (e.g., sender: station  1 , receiver: station  3 ) is expanded in each case with the data for a service access point for the communication participants involved (e.g., sender: station  1 .SAP 3 , receiver: station  3 .SAP 5 ). In this way, communication relationships to several other communication participants can be handled unambiguously for each communication participant in that each of these communication relationships has a unique service access point made available to it.  
           [0004]    In the majority of the communication relationships, the service access points are specified implicitly through project planning for each communication relationship. In addition, there are also communication relationships in which the sender first sends a message to the potential receiver and receives an open service access point from the potential receiver as feedback. This open service access point can then be used to transfer data to the potential receiver. The actual message will then be sent to this receiver by way of the service access point determined in this way.  
           [0005]    However, since the number of service access points that are available per communication participant is limited, the number of possible connections that can be handled in this way are also limited by the number of service access points.  
           [0006]    Usually, it is specified for each service access point which communication participant has the right to use that service access point. However, there can also be a specification for a service access point that it can be used by all the participating communication participants. Even if, at first glance, this increases the number of possible connections, the use of the same service access point by several communication participants in operation leads to intolerable problems.  
           [0007]    For example, a first communication participant sends data over a service access point that is released to all communication participants and this communication participant immediately expects a response as a reaction to the data sent. This response will only be sent immediately after the data received if the response data is also immediately available. On the other hand, if the response data is not immediately available, the communication participant must inquire again at a later time as to whether the data is available. If, in the meantime, another communication participant attempts to access the same service access point, access will not be denied to it since the service access point is released to all communication participants. Instead, the data that was to be provided to the first communication participant will suddenly go to any communication participant that successfully accessed the service access point in the time between the original sending operation and the still pending receipt thereof.  
         OBJECTS OF THE INVENTION  
         [0008]    Thus, it is an object of the present invention to provide a method and apparatus for expanding the connection resources that are available in a known communication process without impairing the quality and security and/or effectiveness of the communication.  
         SUMMARY OF THE INVENTION  
         [0009]    These and other objects are achieved by a communication process and apparatus for communication between communication participants according to the invention. The communication participants are provided for control and/or monitoring of a technical process and are connected in communication with each other over a bus system. Each participant can be identified by an address. In the process defined by the invention, each communication participant manages a first group of references as service access points. They are managed in such a way that for at least one of the service access points a second group of references is managed, whereby access to an individual reference from this second group of references is carried out using the address of the accessing communication participant.  
           [0010]    The first group of references (i.e. service access points) can be a group of so-called pointers, which point to a memory space that is available. Alternatively, they may comprise a field wherein each field element has a specific memory area available. In the communication process known from the above standard, the memory area that is referenced either by using the pointer or the field element can serve either directly as intermediate storage of the communication data or can contain an appropriate data structure that indicates memory areas for intermediate storage of the communication data.  
           [0011]    The following will include a more detailed discussion of that arrangement in which the group of references is implemented as a group of pointers to memory areas. For example, if a total of five service access points are available, the resulting group of references comprises five pointers each pointing to a separate memory area. These memory areas may serve directly, or they may serve indirectly in that they reference the actual memory area by means of further pointers, in providing intermediate storage of incoming or outgoing communication data.  
           [0012]    According to the invention, it is now provided that for at least one of the service access points, a second group of references is managed. The pointer corresponding to the service access point does not point directly to the memory area already described above. Instead, it points to a memory area which in turn, for example, contains another group of pointers. It is these further pointers that actually point to the memory areas described above. For example, if a transfer of data ensues to a first communication participant, having e.g. an address  1 , by way of the service access point specified according to project planning with number  5 , and the communication participant with the address  3  is sending the data, the fifth pointer (service access point  5 ) from the first group of references will be selected for intermediate storage of the data received. Additionally, the third pointer will be selected from the memory area that contains the second group of references, because the third pointer of this second group of references corresponds to the address  3  of the communication participant transferring the data.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    In the drawings:  
         [0014]    [0014]FIG. 1 shows a bus system with an exemplary number of communication participants;  
         [0015]    [0015]FIG. 2 shows another representation of the bus system and communication participants, including their service access point functionality;  
         [0016]    [0016]FIG. 3 depicts an expanded functionality of the service access points in accordance with the invention;  
         [0017]    [0017]FIG. 4 shows one possible memory utilization for service access points;  
         [0018]    [0018]FIG. 5 shows a memory utilization embodiment according to the invention; and  
         [0019]    [0019]FIG. 6 shows yet another memory utilization embodiment.  
         [0020]    Further characteristics, advantages and application possibilities of the invention will be evident from the claims, from the following description of exemplary embodiments illustrated in the figures, and from the figures themselves.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0021]    [0021]FIG. 1 shows a bus system B with communication participants, or stations S 1 , S 2 , S 3  and S 4 , connected to it. The communication participants—stations S 1 , S 2 , S 3 , S 4 —access the bus system B for communicating with each other. To do this, they use a protocol defined for communication over the bus system B. In the example embodiment, the protocol defined for the bus system is the so-called Profibus protocol, in particular Profibus-DP. EN 50 170, Part I, also relates to this protocol. Naturally, the invention can be implemented using other communication protocols.  
         [0022]    [0022]FIG. 2 shows the communication participants or stations S 1 , S 2 , S 3 , S 4  according to FIG. 1 in another representation. Each communication participant accesses the bus B for communication. To do this, accessing means are provided on the bus B for each communication participant, which are usually implemented in special ASICs. The functionality of the bus circuit implemented by software or firmware comprises, in particular, the functionality of the service access points i.e., SAP 1 , SAP 2 , SAP 3 , SAP 4 .  
         [0023]    It has also been described above that the service access points SAP 1 , SAP 2 , SAP 3 , SAP 4  form an expansion of the source and/or target addresses of each involved communication participant S 1 , S 2 , S 3 , S 4 . Thus they enable clear communication relationships of one communication participant with several other communication participants.  
         [0024]    According to FIG. 2, there is a communication relationship from communication participant S 1  to communication participant S 4  and to communication participant S 2 . In other words, at least two communication relationships by the station S 1  can remain differentiated by the selection of unique service access points. Specifically, in FIG. 2, the connection to communication participant S 4  occurs by way of the first service access point of station S 1 . Completely analogous relationships result for the other communication participants S 2  and S 4  involved in the communication relationships.  
         [0025]    It was also described above that in the case of an inadequate number of service access points for all the communication relationships to be planned in the project, certain service access points will be used by several and/or in particular by all the communication participants. The problems involved with this consist especially in that if a station Si requests data from another station S 4  and the data is not immediately available, the station S 1  will have to inquire for the data again at a later time. If, in the meantime, between the initial and the subsequent inquiries of the station S 1 , another station S 2  accesses the service access point of the requested station S 4  that can be used by all communication participants, the data actually intended for the first station S 1  erroneously go to second station S 2 .  
         [0026]    In order to avoid precisely this, a source address filter table QAC is assigned to each service access point, as shown in FIG. 3. Because of this, practically every individual service access point that already represents a type of “user compartment” because of its characteristic as a reference, will be divided again into another separate group of “user compartments.” Each of these user compartments is assigned to the participating communication participant using the address of the communication participant and the corresponding user compartment number.  
         [0027]    Thus, if according to FIG. 3, which shows the expanded functionality of e.g. the service access point  4  from FIG. 2, both station S 1  and station S 2  use the service access point  4  of station S 4 , all of the station Si data will go into the user compartment with the number  1  and all data for station S 2  will go into the user compartment with number  2 . The process works in this way even if, as already explained above, the same service access point is used, namely service access point number  4 .  
         [0028]    This means that during communication with another communication participant using a previously specified or negotiated service access point, a first communication participant always accesses the user compartment with the number corresponding either directly to the station number of the first communication participant or one that can be assigned in some other way, e.g., with a uniquely defining correlations look-up table. Since no address collisions on the bus are tolerated, and, therefore, the addresses of the communication participants are always unambiguous, it is ensured that access to the user compartments occurs at all times free of conflict.  
         [0029]    For example, the look-up table that may be provided could contain the addresses of the respective communication participants and assign to each of them a natural number from an increasing or decreasing numerical sequence, preferably starting with 0 (zero). On the other hand, often the addresses of the communication participants are coded in such a way that, by simple masking of leading bits from each station address, a natural number is obtained that can be interpreted directly as a user compartment number in the sense of this invention.  
         [0030]    The relationships in the memory for each of the references designed as pointers are explained using FIGS. 4 and 5. However, first it should be emphasized again that the references do not necessarily have to be formed as pointers. This means it is also possible, for example, to define appropriate data structures in which access can be made directly to the individual components of the data structure using the respective designation.  
         [0031]    [0031]FIG. 4 shows a possible memory utilization for the service access points, as discussed previously. The first group of references, indicated in FIG. 4 with the reference characters SAP, include a group of pointers P organized in a one-dimensional field. Using the field number, e.g.,  2 , access can be made to the respective service access point. The field number thus corresponds directly to a service access point. In the field that can be referenced under the respective number, there is at least one pointer to a memory area that is provided for intermediate storage of the communication data. This means that the pointer assigned to service access point  1  points to memory area M 1 , the pointer assigned to service access point  2  points to memory area M 2 , etc.  
         [0032]    In contrast, FIG. 5 shows a possible utilization of the memory in the scope of a communication process according to the invention. Again the service access points are organized in one-dimensional fields that can be referenced using respective field numbers. Each of these fields has at least one pointer P, which, in contrast to the relationships shown in FIG. 4, points not directly to a memory area but to a table QAC for source address coding. If a communication participant with an address that corresponds directly or indirectly to the natural number  2  sends data to a communication participant that executes the communication process according to the invention, the data sent goes to the respective memory areas according to the scheme to be explained below.  
         [0033]    According to the project planning, a service access point is provided for communication. It will be assumed that service access point  1  is used. A pointer is assigned to this service access point and points to the source address coding table QAC 1 . The address of the data transferring participant is  2  or corresponds to the number  2 . Therefore, the element  2  is selected from the source address coding table QAC 1 . The pointer P of this element points to memory area M 12 . This memory area is available individually only for this communication process. Data from another communication participant, e.g., with the address  1 , land in the memory area M 11  that is completely separate from memory area M 12 .  
         [0034]    Let it be noted that the respective memory areas M 11 , M 12 , . . . M 21 , M 22 , etc. are not necessarily used as memory that can be addressed in a linear manner. FIG. 6 shows a possible form of utilization of the memory areas. According to this, the memory area comprises at least one pointer to a receiving value queue with a first element EH, i.e. the head element EH, of the receiving wait queue, and elements of the receiving wait queue EQ, EQ′. A sending wait queue with the head of the sending wait queue RH and elements of the sending wait queue RQ and RQ′ are managed completely analogously.  
         [0035]    The unambiguous assignment capability created with the source address coding of data transferred over the bus, even with the use of one and the same access point, is particularly advantageous in the scope of lateral transmission. For this purpose, during lateral transmission, a service access point is used that is planned only for lateral transmission (however, lateral transmission is naturally possible for, or with, each service access point).  
         [0036]    In the following, this service access point will be designated the lateral transmission service access point. The identification and coding of this lateral transmission service access point is specified in the message, so this service access point will always be used if the options of lateral transmission are to be used. Since a source address coding table is also assigned to this lateral transmission service access point, each message from a publisher in the scope of lateral transmission goes to a unique address in the memory that is specified by the lateral transmission service access point in connection with the source address of the publisher.  
         [0037]    The above description of the preferred embodiments has been given by way of example. From the disclosure given, those skilled in the art will not only understand the present invention and its attendant advantages, but will also find apparent various changes and modifications to the structures and methods disclosed. It is sought, therefore, to cover all such changes and modifications as fall within the spirit and scope of the invention, as defined by the appended claims, and equivalents thereof.