WO2001058067A1 - Clock synchronisation in a network and network users, in particular a field device for said network - Google Patents

Clock synchronisation in a network and network users, in particular a field device for said network Download PDF

Info

Publication number
WO2001058067A1
WO2001058067A1 PCT/DE2001/000413 DE0100413W WO0158067A1 WO 2001058067 A1 WO2001058067 A1 WO 2001058067A1 DE 0100413 W DE0100413 W DE 0100413W WO 0158067 A1 WO0158067 A1 WO 0158067A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
telegram
time
port
participant
Prior art date
Application number
PCT/DE2001/000413
Other languages
German (de)
French (fr)
Inventor
Karl Glas
Dieter Klotz
Christoph MÜNCH
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
Priority claimed from DE2000104426 external-priority patent/DE10004426A1/en
Priority claimed from DE2000104425 external-priority patent/DE10004425A1/en
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2001058067A1 publication Critical patent/WO2001058067A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0679Clock or time synchronisation in a network by determining clock distribution path in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/4026Bus for use in automation systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • the invention relates to a network according to the preamble of claim 1 and to a network participant, in particular a field device, for such a network.
  • Such a network is, for example, from the
  • the object of the invention is to create a network and a subscriber, in particular a field device, for such a network, which are characterized by improved accuracy with regard to time synchronization.
  • the new network of the type mentioned has the features specified in the characterizing part of claim 1.
  • a network participant, in particular a field device, for such a network and advantageous refinements of the invention are described in claim 11 and in the dependent claims.
  • the invention has the advantage that a transmission time delay in the transmitter and a reception time delay in the receiver, which can be variable, are taken into account in the time synchronization.
  • a first network subscriber sends a first telegram to a second network subscriber, which contains the time of the first network subscriber corrected by a transmission time delay.
  • the telegram transit time is stored in the second subscriber as a throughput time over the physical transmission link between the first network subscriber and the second network subscriber. For example, it can be entered manually or by another
  • Telegram traffic must have been measured beforehand.
  • the second network participant measures the time delay since receipt of the first telegram and corrects the time received in the first telegram by the throughput time and the measured reception time delay.
  • the second network participant is therefore advantageously able at any time to obtain a synchronized time from the sum of the time received in the telegram and to determine the delay in reception time supplemented by the transit time. Variable transmission and reception delays have no effect on the result of the synchronization.
  • the second network participant is also designed to send a second telegram for time synchronization to a third network participant, which contains a received time corrected for the running time and the delay time between receipt of the first telegram and transmission of the second telegram, then iterative forwarding of the respective one corrected time from network participants to network participants possible.
  • Identical correction mechanisms can be applied in the receiving network participants.
  • the runtime stored in each case in a network subscriber corresponds to the runtime over the physical transmission link between the last sending and receiving network subscriber.
  • time synchronization with two telegrams can also take place.
  • the first network participant sends a first telegram for time synchronization to a second network participant and at the same time stores a time of the first network participant corrected for the transmission time delay.
  • the transit time of the telegram is stored in the second network participant over the physical transmission link between the first network participant and the second network participant.
  • the second network participant measures the time delay since receipt of the first telegram without, however, stopping the timer used for this.
  • the first network participant now sends a second telegram, which contains the time of the first network participant corrected for the transmission time delay, to the second network participant.
  • the second network subscriber corrects the time received in the second telegram for the runtime and the Reception time delay, which is measured in relation to the reception of the first telegram.
  • This procedure with two telegrams has the same advantages that are also associated with the procedure for time synchronization with only one telegram.
  • the process with two telegrams can also be continued in an iterative process.
  • the second network participant forwards the first telegram to a third network participant and measures its delay time for the telegram forwarding.
  • the second network participant sends a received time to the third network participant, corrected for the running time and the delay time of the telegram forwarding of the first telegram.
  • the actual transmission time delay in the time synchronization is advantageously taken into account if the first network subscriber has a first timer for determining the transmission time delay, which he starts a list of the transmission orders when a telegram m is entered and after the telegram is made available for physical transmission as a value reads out the transmission time delay by which the time of the telegram entry is to be corrected.
  • the actual reception time delay during transmission is advantageously taken into account if the second network subscriber has a second timer for determining the reception time delay, which he starts when a first telegram is received from a physical transmission link.
  • the runtime of the telegram over the physical transmission link between the first network subscriber and the second network subscriber can be the second as the starting value
  • the timer must be saved before it starts. This has the advantage that the sum of the transit time and the delay in reception time can be determined by only one timer.
  • the start and end of the runtime of a telegram can each be determined as the point in time at which a characteristic field of a telegram leaves a media-independent interface of the first network subscriber at a fixed distance from the start of the telegram or into a media-independent interface of the second network participant arrives.
  • the type field can advantageously be used as the characteristic field of the telegram.
  • the second network participant upon receipt of the type field, it is known that it is a telegram that is used for time synchronization, and the necessary mechanisms can be initiated.
  • the data field is located behind the type field and can be changed in the sender until the type field is output to the media independence interface. This makes it possible to transmit the time corrected for the transmission time delay in the same telegram.
  • the runtime of a telegram over the physical transmission link can be exactly determined by the first network participant sending a first telegram to a second network participant for determining the runtime and starting a response time timer after the telegram has been provided for the physical transmission.
  • the second network participant After receiving the first telegram to determine the running time, the second network participant starts a timer to measure the time spent in the vehicle and stops the timer after providing a second telegram for physical transmission to the first Network participants.
  • the measured residence tent is transmitted to the first network participant in the second telegram for determining the running time.
  • the first network participant stops the response time timer and calculates the duration of a telegram over the physical transmission path as half the difference between the measured response time and the residence tent in the second network participant.
  • a network subscriber in particular a field device, can advantageously be equipped with a plurality of ports, in particular four ports, for connecting further network components.
  • an interface a so-called micro- processor interface, for connecting the ports to a subscriber-internal processor bus, and a control unit, a so-called ⁇ Switch control, are provided, which performs a Telegrammweglenkung between the ports and the microprocessor interface.
  • Fieldbuses can be connected as usual in a line structure.
  • a separate switch as would be required with a star-shaped structure, is not required.
  • the invention enables the construction of a network of large extent, since only the distance between two network components may not exceed certain limits, but the length of the line structure is unlimited .
  • the integration of switch functions in the network participants has the advantage that the CSMA / CD access control can be deactivated, in particular in the case of Ethernet, and the network receives a deterministic behavior.
  • the area of application of the network participants and the network is thus expanded to include application cases in which real-time behavior is required.
  • ports may be part ⁇ participants are interconnected to form a two or three dimensional network structure, since at these two ports for the integration of the network station m a line two in each case to connect the line with another line can be used.
  • An embodiment of the interfaces implemented by the ports according to the Ethernet or Fast Ethernet specification has the advantage that, for example, a fieldbus with network components of this type can be made use of technology knowledge already available from other areas. In this way, a continuous network is obtained for the office, control, line and field levels, which enables transparent access to any data.
  • a gateway for coupling network areas with different physics and different protocols is advantageously not required.
  • networks based on the Ethernet specification are characterized by high data transmission performance. They offer cost advantages thanks to a widely available technology and components that are available in high numbers of pieces. It is possible to connect a large number of network participants to a network.
  • the advantages of the preferred line or bus structure of the network e.g. the advantage of simple interconnection of the participants, combined with the advantages of networks mentioned above based on the Ethernet specification according to IEEE 802.3.
  • the switch functions integrated into the network participants assume the function of a previously separately installed network component, for example a switch, which is no longer required.
  • a further improvement in applications in automation technology, in particular in the use in time-critical applications, is achieved if the control unit of the Switch function is designed such that a transmission priority of the telegrams to be sent is evaluated and telegrams with high priority are sent before telegrams with low priority.
  • a microprocessor for correcting an internal clock using m telegrams of time information received has the advantage that the time synchronization can largely be implemented without additional hardware expenditure.
  • FIG. 1 shows a communication structure of an automation system
  • FIG. 2 shows a block diagram of an interface of a network participant
  • FIG. 3 shows a series connection of network participants with a linear network topology
  • FIG. 4 shows a series connection of network participants with two communication channels
  • FIG. 5 shows a two-dimensional connection of network participants
  • Figure 6 shows a two-dimensional interconnection with redundant
  • Figure 7 shows a two-dimensional network after redundancy management
  • Figure 8 shows a three-dimensional network after redundancy management
  • Figure 9 shows the basic structure of a telegram
  • Figure 10 shows the structure of an order list.
  • FIG. 1 shows the structure of a communication structure in an automation system. Communication takes place continuously at the control, line and field level a network whose data transmission complies with the Fast Ethernet standard according to IEEE 802. u.
  • a sensor 1 for example a pressure transducer, a sensor 2, here an ultrasonic flow transducer, an actuator 3, a control valve for setting a flow, and a programmable logic controller 4 with twisted-pair lines 5, 6 and 7 interconnected in bus form.
  • the programmable logic controller 4 forms, together with the two sensors 1 and 2 and the actuator 3, a control loop, in which the position of the control valve m is predetermined as a function of the measured values of the pressure transducer and the flow transducer.
  • the programmable logic controller 4 is connected to a switch 9 via a twisted pair line 8.
  • a cell computer 10, a master computer 11 and a firewall 12, with which a secure Ethernet access is implemented, are also connected to the switch 9 in a star-shaped topology. With a line 13, further cell computers, not shown in the figure for the sake of clarity, from adjacent cells of the automation system are connected to the switch 9.
  • FIG. 1 clearly shows the advantage of high data transparency across all levels.
  • the same transmission standard is used for control, line and field level.
  • the field devices 1, 2 and 3 are connected to the programmable logic controller 4 m in the manner customary in the user m of a linear topology.
  • Another advantage is the consistent use of uniform addresses for the individual network participants. An address conversion, as would be required if different standards were used at the different levels, can be omitted in the new network and the new network participants in an automation system.
  • FIG. 2 shows the basic structure of the communication interface of a network participant, for example sensor 2 in FIG. 1.
  • Application-specific circuit parts le such as a supply mechanical-electrical transducer element, means for signal preprocessing, and aponsver ⁇ , of clarity, are not shown because.
  • the parts combined in a rectangle 20 can be integrated in an ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • Communication with the application-specific circuit points of the network subscriber takes place via a microprocessor bus 21, to which a RAM 22, a microprocessor 23 and a microprocessor interface 25 are connected.
  • Broken lines in the representation of the microprocessor 23 indicate that the integration into the ASIC is optional. Its functions could be taken over by an external processor.
  • the task of the microprocessor 23 is the execution of user programs and communication functions, for example the handling of TCP / IP. Another task can be the management of send and receive lists of telegrams of different priority in the external RAM 22.
  • the microprocessor 23 selects an order from a send list in the external RAM 22 and starts a DMA controller 26, which is referred to as DMA 1 control, via a microprocessor interface 25, after having previously assigned the number of times to the DMA controller 26 sending data bytes and a pointer that points to the data byte to be sent. Is the send order by the DMA controller 26 completely m one
  • Transmit buffer 27 transmitted the microprocessor 23 removes this send job from the send list in the RAM 22 and processes the next send job, provided the send list is not empty and free memory space is still available in the transmit buffer 27.
  • Ethernet controllers 28, 29, 30 and 31 are also integrated in the ASIC 20. Each of these Ethernet controllers enters the data bytes of a completely received telegram via a multiplexer 32, a DMA controller 33, which is also referred to as DMA 2 control, and the microprocessor interface 25 m a receive list in RAM 22.
  • the micro Processor 23 accesses the reception list and evaluates the received data in accordance with an application program.
  • the microprocessor interface 25 forms the essential
  • the microprocessor interface 25 decides on the access rights of the two DMA channels. Via the microprocessor interface 25, the microprocessor 23 can also write parameter registers 34 which are required for operating the communication interface of the network subscriber.
  • Examples include a pomter on the start of the high-priority memory area in a transmit buffer of an Ethernet controller, a pointer on the start of the high-priority memory area in each of the receive buffers of the Ethernet controller, an operating mode register for general control bits, and an address of the series to which the network participant belongs, called a cycle time for so-called port select telegrams and settings for various monitoring time intervals.
  • the transmit buffer 27 has a size of more than three kilobytes and is divided into a memory area for high-pore and a memory area for low-priority telegrams. The ratio of the two memory areas can be parameterized.
  • the memory areas of the transmit buffer for high and low priority data are each implemented as a ring buffer. Sending the data from the transmit buffer 27 via one or more Ethernet controllers 28 ... 31 begins when the number of bytes entered in a telegram is greater than the parameterizable fill level or when a complete telegram from the RAM 22 m the transmit buffer 27 pated and at least one Ethernet controller 28 ... 31 is free for transmission.
  • the Ethernet controllers 28 ... 31 are constructed identically. Their structure is explained in more detail using the example of the Ethernet controller.
  • a device 40 which is referred to as Transmit Control, contains a control unit which is responsible for the transmission of telegrams, for repetitions, transmission abort etc. It forms the interface between the internal controller clock and the send clock.
  • a transmit status register m of the device 40 is provided in each case for storing transmit status information for low-priority and high-priority telegrams. If a telegram was sent without errors via the port, a corresponding interrupt is generated.
  • MII Media Independent Interface 41
  • the MII 41 also contains a transmit function block 42 and a receive function block 43.
  • a MAC control block (not shown in FIG. 2), an address filter, a statistic payer and a host interface are integrated , Control and configuration data can be transmitted to the module 36 and status information can be read from it via the media-independent interface.
  • the individual functions of the transmit function block 42 are: mapping of the bytes to be sent, detection of collisions in half-duplex operation and execution of a back-off algorithm, provision of transmit status information to the device 40 after termination of one Transmission process, compliance with the idle time inter-packet gap (IPG) between two telegrams, supplementing the transmission data with a preamble, a start-off-frame delimeter (SFD) and a parameterizable cyclic redundancy check word (CRC) , Filling a telegram with pad Bytes if the telegram length would be ⁇ 60 bytes, and abort of a send operation on request.
  • IPG idle time inter-packet gap
  • SFD start-off-frame delimeter
  • CRC parameterizable cyclic redundancy check word
  • the receive function block 43 makes the received bytes available to a device 44, which is referred to as receive control.
  • the receive function block 43 recognizes the start-of-frame delimeter and a VLAN frame. He checks the Langenfeld and the CRC word in telegrams. After the reception process has ended, receive status information is made available to the device 44.
  • Block 43 recognizes and removes preambles and start-of-frame delimeters in the case of telegrams. If the free memory space in a receive buffer 45 of the Ethernet controller 28 falls below a predetermined threshold in full duplex mode, the MAC control block sends a pause control telegram for flow control via the module 36.
  • This telegram causes the connected network subscriber to send no data telegrams to the Ethernet controller 28 until the time interval sent with the pause control telegram has expired.
  • the address filter carries out telegram filtering in accordance with unicast, multicast and broadcast addresses. To do this, the destination address (DA) received in a telegram is compared with filter addresses.
  • the statistic payers store statistical information about sending and receiving operations.
  • the host interface allows access to parameter registers and statistics payer of the Ethernet controller 28 by the neighboring network participants.
  • the device 44 contains a control unit which is responsible for receiving telegrams. It forms the interface between the internal clock of the Ethernet controller 28 and the receive clock.
  • the receive buffer 45 has a size of more than 3 kilobytes. It is divided into a memory area for high priority and m a memory area for low priority telegrams. The The ratio of the two memory areas can be parameterized.
  • the memory areas are each implemented as a ring buffer.
  • the DMA controller 33 controls the DMA transfer from one of the receive buffers m the Ethernet controllers 28 ... 31 to the RAM 22.
  • the DMA transfer begins when m of the receive buffers, for example in the receive Buffer 45, the number of data bytes received has reached a parameterizable minimum fill level or a telegram has been completely received. At the same time, this receive buffer must be selected for the DMA transfer by a module 46, which is referred to as switch control.
  • a multiplexer 47 is connected upstream of the device 40, which is controlled by a control unit 46, which is referred to as switch control.
  • Switch-Control 46 controls the forwarding of data between the Ethernet controllers 28 ... 31 and the storage of received data if they are intended for the respective network participant. Since the application of the invention is not limited to networks according to the Ethernet specification, the Ethernet controllers 28 ... 31 are also generally referred to below as port 1, port 2, port 3 or port 4. Which ports are released for the forwarding of received data depends on the network structure m the participant is involved in. Switch-Control 46 controls the following actions as a function of the operating state, the network structure, the received destination address and the telegram p ⁇ o ⁇ tat:
  • the received telegram is transmitted via the microprocessor interface 25 m to the RAM 22 without forwarding it to other ports. - If a broadcast telegram is received at a port, the telegram m is transferred to the RAM 22 and the other released ports for sending.
  • a telegram with a multicast address that corresponds to one of the multicast addresses stored in a filter table 48 is received at a port, the telegram is transferred to the RAM 22 and made available to the other released ports for transmission. If the received destination address is different from the own subscriber address and the multicast addresses, the telegram is made available to the other released ports for sending without being saved for further processing.
  • Eight priority levels are available for telegrams with so-called VLAN bytes, for example. If several telegrams are waiting to be sent, the transmission order of the telegrams is determined according to their transmission priority.
  • Telegram forwarding taking into account a modified spanning tree algorithm.
  • Switch-Control 46 contains other parameters, the meanings of which will be explained in more detail later:
  • Row address R P3 which corresponds to the row connected to port 3, a row address Rp 4 , which represents the address of the row connected to port 4, a number N Ri of the transmission links to port 1, a number N R2 of the transmission links to port 3 , a value
  • Root_ID.Cost .Transm ⁇ tter_ID.Port_ID P4 for port 4, a best received combination (Root_ID. Cost. Transm ⁇ tter_ID. Post_ID) R of the series, a message interval counter for a cycle time of port select telegrams, a timeout Payer for a timeout interval on port 1, a timeout payer for a timeout interval on port 2, a timeout payer for a timeout interval on port 3, an active time payer for a time interval beginning with the last one Receipt of a port select telegram on port 4 begins, a combination aging counter for a maximum time interval within which a configuration telegram must be received, otherwise the stored combination Root_ID. Cost. Transm ⁇ tter_IC.
  • Port_ID is deleted, a payer for a time interval after which a port 3 of a series switches from inactive to active, which corresponds to twice the worst case throughput time of a port select telegram through the series, and a payer for a time interval ⁇ t ne rdeiay / after which a port from potentially active to is actively switched and which corresponds to twice the worst case throughput time of a configuration telegram through the network.
  • the user can enter multicast and virtual LAN identification addresses, so-called VLAN addresses, in the filter table 48.
  • Telegram is only accepted if the received address matches one of the addresses m of the filter table 48.
  • a device 50 for redundancy control is intended to ensure in a network that detected physical errors do not impair communication between the network components. Firstly, there is redundancy within each row formed with network participants. To do this, the network participants connected in series must form a ring that is open at one point in the event of a fault, in the
  • the device 50 includes a cycle time register with a parameterized cycle time for test telegrams, a cycle time counter for generating a cycle time interval, a control unit for switching over to a redundant communication channel and for initiating the sending of so-called Lmk Up or link-down telegrams, a row runtime register with a parameterized worst case throughput time of a telegram through a row and a row runtime counter used to generate a row runtime.
  • interrupt control which is also referred to as interrupt control.
  • interrupt control is also referred to as interrupt control.
  • the device 51 contains an interrupt request register, an interrupt mask register, an interrupt register and an interrupt acknowledge register. Every event is stored in the interrupt request register. Individual events can be suppressed via the interrupt mask register. Only the events from the
  • Interrupt mask registers cannot be masked.
  • the entry m the interrupt request register is independent of the interrupt mask in the interrupt mask register. Bits in the interrupt request register can be reset with write access to the interrupt acknowledge register.
  • a module 52 contains special user functions that m the communication interface of the network participant are integrate.
  • a partial function is implemented with a module 53 for time synchronization, another with a module 54 for aquidistance, which will be explained in more detail later.
  • a delay timer 1 to 4 with the reference numerals 57, 58, 59 and 60 is provided for ports 1 to 4, which determines the transmission time between the respective network subscriber and the network subscriber connected via the respective port.
  • the respective delay timer is also used as a lead time timer (DLZ timer) for the respective port.
  • DLZ timer lead time timer
  • Aquidistance timer an auxiliary timer for a transmission time .DELTA.t x via the respective port and a parameter .DELTA.t DLjZ are provided, which corresponds to the sum of the throughput times in the send and receive direction and the cable runtime between the communication interface and the network subscriber connected via the respective port , There is also a local clock 37 m from the network subscriber, the time of which can be read and set via the microprocessor bus 21.
  • An integrated serial-peripheral interface (SPI) 55 is a simple but powerful serial bus system for connecting peripheral components, e.g. EEPROMs.
  • An integrated I / O interface 56 is a parallel interface with 12 configurable inputs and outputs. About these
  • Interface can be used to control LEDs for status display, for example.
  • Each port of the communication interface can be parameterized operated in half-duplex or in full-duplex mode. While half-duplex mode is set on one port, full-duplex mode can be parameterized on another port at the same time. In full duplex mode, telegrams can be sent and received at the same time. This is not possible in half-duplex mode.
  • An application-specific application program which can be stored, for example, on the RAM 22, contributes sending data m an order list in RAM 22.
  • the DMA controller 26 copies data from this job list into the transmit buffer 27.
  • Compiled telegrams are passed on to the released Ethernet controllers 28 ... 31. If a transmission conflict occurs because other telegrams are currently being routed through the communication interface, controlled by switch control 46, the transmit buffer 27 should be able to store two complete Ethernet telegrams.
  • the transmission of the data from the transmit buffer 27 begins when a number of data bytes to be parameterized or a complete telegram from the RAM 22 m has been transmitted to the transmit buffer 27 and at least one Ethernet controller is free.
  • the telegram remains stored in the transmit buffer 27 until it has been sent via all released Ethernet controllers 28 ... 31.
  • the number of data bytes of a telegram, which must at least be stored in the transmit buffer 27 before being sent, must be parameterized in such a way that a seamless transmission of the telegram is guaranteed. Otherwise the telegram will be received incorrectly by other network participants. If telegrams of different priorities are stored in the transmit buffer, the telegrams are sent in accordance with their transmission priority.
  • Figure 3 shows an example of an interconnection of three
  • Network participants 61, 62 and 63 m linear structure.
  • the ports 1 to 4 of the communication interface of the network participants 61, 62 and 63 m are subdivided into circuit locations T1 to T4 for the transmission direction and circuit parts R1 to R4 for the reception direction.
  • port 2 can also be referred to as port T2 / R2.
  • Network participant 63 connected. Data is transferred using a twisted pair cable for each transmission tragungscardi.
  • the ports involved can thus be operated in full duplex mode. End devices can optionally be connected to the open ports T3 / R3 and T4 / R4 in FIG. 3 and to the port T1 / R1 of the network subscriber 61 or the port T2 / R2 of the network subscriber 63 and thus coupled to the network.
  • FIG. 4 shows a number of network participants 70, 71, 72 and 73, each of which can exchange some data via two communication channels.
  • the communication channels are each realized by connecting the port T2 / R2 to the port T1 / R1 of the adjacent network subscriber and the port T4 / R4 to the port T3 / R3 of the adjacent network subscriber m in the manner shown.
  • a high-pore and a low-pore communication channel can be set up and the data throughput doubled.
  • There is no data exchange between the communication channels i.e. a telegram received at the switching point R1 can - if necessary - only be forwarded by the switching part T2. Both communication channels are operated in full duplex mode.
  • FIG. 5 shows an example of a two-dimensional interconnection of the network subscribers.
  • Network subscribers 80, 81 and 82 are interconnected in a row in the manner already described with reference to FIG.
  • network participants 83, 84 and 85 form a series and network participants 86, 87 and 88 form a series.
  • 7Terminals 89, 90 and 91 are connected to ports T4 / R4 of network participants 80, 81 and 84, and terminals 92, 93 and 94 are connected to ports T3 / R3 of network participants 83, 84 and 87.
  • Ports T4 / R4 of network participant 82 with port T3 / R3 of network participant 85 provide a communication channel between the respective rows.
  • two communication channels are formed between the network participants 83 and 86 and between the network participants 85 and 88. So that loop freedom in Network is, however, allowed to be activated only one commu ⁇ nikationskanal at a time from them.
  • the rows formed from the participants 80 to 82, 83 to 85 and 86 to 88 are each assigned a unique row address R], which is stored in a parameter register “row address *”.
  • FIG. 6 A further two-dimensional network is shown in FIG. 6 to clarify the redundancy control. 8 each
  • Network nodes 100 ... 107, 110 ... 117, 120 ... 127 and 130 ... 137 are connected in a row. Both the broken lines and the solid lines between the network participants represent communication channels. However, it must be ensured that only one communication path is used between any two network participants in the entire network. Loops would occur with several possible communication paths, ie telegrams would multiply and circulate. The Spannmg-Tree algorithm has been developed to avoid such situations. Data telegrams are only received by ports, forwarded to ports and sent by ports that are contained in the voltage tree. The remaining ports are deactivated. Deactivated communication channels are shown with broken lines in FIG. 6, activated with solid lines.
  • the two line ends are connected to one another, for example at network participants 100 and 107.
  • the communication channel created in this way is deactivated, and in the case of an error m the active state is set.
  • This redundancy requires an uninterrupted line structure. Since the spanning tree algorithm may have also interrupted a connection via the ports T1 / R1 and T2 / R2, it cannot be used unchanged.
  • a method is presented that is used for a network of interconnected rows of network participants Ensures loop freedom without having to break a row. If necessary, only ports T3 / R3 are deactivated. Only one communication channel may be active between two rows at a time, ie data telegrams are exchanged via this communication path. There is no data exchange via the other communication paths between two rows. The selection of the only active communication channel between two rows takes place with the help of port select telegrams. These are telegrams that are only forwarded within a row. There is no exchange between the rows.
  • the task of these port select telegrams is to find a network participant that is connected to an adjacent row via port T3 / R3 and is as far away from both ends of the line structure as possible based on the number of network participants, i.e. has the smallest distance from the center of the row.
  • These properties define the only network participant in the series that is actively connected to an adjacent series via port T3 / R3. All other connections via ports T3 / R3 from network participants of the same row to this neighboring row are deactivated. No data telegrams are exchanged via deactivated communication channels.
  • Port select telegrams are clearly identified by an identifier in the type field.
  • FIG. 7 shows the result of the redundancy control in a two-dimensional network in a different type of representation.
  • the number entered in the individual boxes corresponds to the respective address of the network participant.
  • Port Tl / Rl is on the left, port T2 / R2 on the right, port T3 / R3 on the top and port T4 / R4 on the bottom of the network participants.
  • With two solid parallel lines between two participants there is an active one, operated in full duplex mode Communication channel shown.
  • the machines with two through broche ⁇ lines drawn communication channels are deactivated.
  • the data area of port select telegrams that are received by a network participant via port T2 / R2 contains information about the number N R of the transmission links between port Tl / Rl of the network participant on the “right” edge of the row and the port T2 / R2 of the respective network subscriber and contains the number N Ri of the subscriber who was the last to forward or send the received port select telegram.
  • the data area of port select telegrams that are received via port T1 / R1 contains the number N r of transmission links between port T2 / R2 of the network participant at the "left * edge of the row and the port T1 / R1 of the respective network participant as well the number N R that is valid for the network participant that was the last to forward or send the received port select telegram.
  • the port via which a port select telegram was received it contains the value IN R] - N R In ⁇ t - latoI at the initiator of the received port select telegram, the 16 bit address R t (0 ⁇ k ⁇ p, p number of rows) of the row to which the initiator of the port select telegram belongs, and a valid bit V for the received value of
  • V 0 means that the received values are invalid.
  • Network participants also send port select telegrams to be forwarded or compiled themselves via their port T3 / R3.
  • each network participant Upon receipt of a port select telegram via port T3 / R3, each network participant recognizes whether it is connected to another row via this port. Network participants set the valid bit V to one if a port select telegram has been received via port T3 / R3.
  • Port select telegrams received on port T3 / R3 are sent back to the sender unchanged.
  • the network participant previously saves the address R n received with the port select telegram of the row connected via port T3 / R3.
  • a timeout counter is assigned to port T3 / R3, which is incremented with an adjustable clock.
  • Port T3 / R3 received port select telegram resets this payer.
  • the network participant sets the valid bit V to zero when lrnerrenz a paramet ⁇ erbaren timeout interval ⁇ tt-m eo - is gen no port select message are received, ⁇ .
  • Network participants also send port select telegrams to be forwarded or compiled themselves via port T4 / R4.
  • Port select telegrams received on port T4 / R4 are sent back to the sender unchanged.
  • the network participant previously saves the address R r received with the port select telegram of the row connected via port T4 / R4.
  • a timeout counter is assigned to port T2 / R2, which is incremented with an adjustable clock.
  • Each port select telegram or data telegram received on port T2 / R2 resets this payer. 8.3 via port Tl / Rl with (N R2e m F f + 1) and port T2 / R2 with (N R ⁇ + 1), if a port select telegram is received at port T2 / R2 with the received value not equal to the stored value of N R2 .
  • N R2e mpf is stored.
  • Communication channel are connected to another row via port T3 / R3 and receive a port select telegram with a valid bit V set to one, compare IN RI - N R2 limtiaor of the received port select telegram with amount
  • the network participant saves
  • a IriltI3tor is the source address of the received port select telegram. The value
  • N RI - N R is the distance of the receiving station from the center of the row. 9. 2 I st
  • N R1 - N R2 li m tiato r IN Ri - N R2 , Aimtiator is compared with its own station address A s :
  • the port select telegram is forwarded with IN Ri - N R2 limtiator without changing the data field.
  • the network participant saves
  • a st ored Aim ti ator -
  • An active port T3 / R3 of a network participant is deactivated if the network participant does not receive a port select telegram from another row within the timeout interval ⁇ t t i m eout.
  • the algorithmu ⁇ nikationskanal through the port T3 / R3 is in the other row as not operational.
  • An active port T3 / R3 is also deactivated when the network participant receives a port select telegram with
  • Network nodes that are connected to another row via an operational communication channel via port T3 / R3 send their own port select telegrams cyclically in each message interval ⁇ t M.
  • mn IN Ri - N R2
  • s and A s t or ed A s is saved.
  • each network subscriber in the row knows the network subscriber who is connected to an adjacent row via his port T3 / R3 and has the smallest distance from the row center. Data telegrams are only exchanged between the two rows via this active communication channel. The connections of the other network participants to the next row are deactivated.
  • FIG. 7 shows a network in this steady state.
  • FIG. 8 shows a network with a three-dimensional structure.
  • the arrangement of the ports on the individual boxes, which each represent a network participant with the entered address, is the same as in the illustration in FIG. 7.
  • the communication channels are also shown in the same way.
  • a series m of linear structure is built up with several network participants by connecting the ports T1 / R1 and T2 / R2.
  • Several of these rows are interconnected to form a three-dimensional structure, as shown in FIG. 8. To do this, there must be at least one communication channel between ports T3 / R3 and T4 / R4 between every two rows. Multiple communication paths between two rows are permitted.
  • terminal devices can be connected between rows.
  • Each row is assigned a unique row address Ry with 0 ⁇ k ⁇ p, where p is the number of rows in the selected network structure.
  • the respective row addresses are shown on the left side of FIG. 8 next to the respective row.
  • the associated address of the row is stored in the parameter register "Row address *" in each network node.
  • the data area of the port select telegrams is expanded by the address R n of the adjacent row to which the port T3 / R3 or the port T4 / R4 of the network subscriber who compiled the telegram is connected.
  • the task of the port select telegrams expanded by the row address R r of the adjacent row is to find a network subscriber which is connected to a row with the address R via port T3 / R3 and in relation to the number of
  • Network subscriber is as far as possible from both ends of its row, ie has the smallest distance from the middle of the row. This defines the only network participant in the row that is potentially actively connected to the adjacent row with the address R r via port T3 / R3. Port T3 / R3 is switched from potentially active to active if the modified Spanmng tree algorithm also switches this port active. Data telegrams are only exchanged via active communication channels between the rows. With the method previously described for the two-dimensional network structure, it is possible to find the network subscriber who has the smallest distance from the center of the row and whose port T3 / R3 is connected to the row with the address R N.
  • the port select telegrams ensure that between two rows that are directly connected to each other via communication channels, only one communication channel is potentially active at any time via port T3 / R3.
  • a modified tension tree method ensures that no loop occurs across the entire three-dimensional network. Characteristics of the modified voltage tree method are that each row is regarded as a virtual switch, with the potentially active communication channels via ports T3 / R3 or via ports T4 / R4 to other rows as ports of the virtual switch and that a communication channel via a port T4 / R4 is potentially active if it is connected to a potentially active port T3 / R3 of another row, which is also regarded as a virtual switch.
  • the following entries are provided in the data field for configuration telegrams: 1. Root_ID: A 64 bit address R R of the virtual switch, which is assumed to be “Root w ”.
  • Transm ⁇ tter_ID A 64 bit address R ⁇ of the virtual switch to which the sending network participant belongs.
  • the addresses R ⁇ and R ⁇ each correspond to the address of the row that is regarded as a virtual switch.
  • Port_ID A 16 bit address P ID of the port via which the sending virtual switch sends the configuration telegram.
  • R F ID is equal to the address R n of the row that is connected to the port via which the virtual switch sends with the Transm ⁇ tter_ID.
  • the Spannmg-Tree algorithm can be applied to a network of virtual switches. It is based on the described configuration telegrams that are sent and received by virtual switches. Only the potentially active or active ports T3 / R3 or T4 / R4 of a row, ie a virtual switch, evaluate received configuration telegrams. The deactivated ports T3 / R3 or T4 / R4 evaluate the configuration telegrams and then filter them. The voltage tree method switches the ports T3 / R3 or T4 / R4 from potentially active to active, which ensure that there is only one communication path between any two network participants in the network and therefore no loops occur. The remaining ports T3 / R3 or T4 / R4 remain potentially active or deactivated. Data telegrams are only exchanged via active communication channels between the rows.
  • a virtual switch is constantly on at its ports for
  • Configuration telegrams ready to receive and save the configuration message for each port with the "best * combination of Root_ID. Cost. Transm ⁇ tter_ID. Port_ID. Not only are the received combinations compared for each port, but also the combination that the virtual switch has sent to this port is compared.
  • Transm ⁇ tter__ID of Kl ⁇ Transm ⁇ tter_ID of K2 or 4.
  • Transm ⁇ tter_ID of Kl Transm ⁇ tter_ID of K2 and Port_ID of Kl ⁇ Port_ID of K2.
  • the root port of a virtual switch is the port with the "best * received combination
  • the root port is the port of a virtual switch with the shortest distance to the Rooc_ID.
  • Root_ID (Cost + 1) .Transm ⁇ tter_ID.Port_ID from the root port
  • Root_ID Cost. Transm ⁇ tter_ID. Port_ID of the considered port.
  • the payer is reset and restarted with every received or forwarded configuration telegram.
  • the combination aging counter is therefore only activated for the potentially active or active ports in a row and is incremented with a parameterizable time cycle. If the combination aging counter reaches the parameterizable threshold value for a potentially active or an active port "Maximum age *, the combination Root_ID saved for this port becomes. Cost. Transm ⁇ tter_ID. Port_ID deleted and recalculated.
  • Switches that is to say within a number of network participants with a linear structure, are carried out using port select telegrams which are similar to the above described port select telegrams of a network with a two-dimensional structure.
  • the data area of the port select telegrams of a network with a three-dimensional structure is expanded independently of the receiving port compared to the data area of the port select telegrams for a network with a two-dimensional structure by a 16 bit address R r of the one connected via port T3 / R3 virtual switches, ie the neighboring ones
  • an active timer is transmitted in the port select telegrams at the time of transmission.
  • the data area of port select telegrams for three-dimensional network structure contains the best received combination for this port
  • K E Root_ID.Cost .Transm ⁇ tter_ID. Port_ID that was sent or forwarded in the data field of a configuration telegram from a row connected to a potentially active or active port T3 / R3 or T4 / R4 with the address R n or Ri.
  • K R Root_ID.Cost .Transm ⁇ tter_ID.Port_ID.
  • the ports T4 / R4 are each assigned an active timer, which is incremented with an adjustable clock.
  • Received port select telegrams with P PA 0 reset the active timer without starting it.
  • a network participant with a potentially active or active port T4 / R4 deactivates this port if 1.
  • each network participant with a potentially active communication channel via the port T3 / R3 to a row with the address R n when it receives a configuration telegram via port T3 / R3,
  • Each network participant, whose port T4 / R4 is switched from deactivated to potentially active or active, sends a parameterizable number of port select telegrams with P pA 1.
  • All receivers of a port select telegram with a deactivated communication channel to another row store the values K E and K R sent by the associated potentially active or active port of the virtual switch.
  • FIG. 8 shows the result of using the port select telegrams in combination with the modified voltage tree method on each row of the three-dimensional network shown.
  • Redundancy in the network is intended to ensure that physical errors, electromagnetic interference, network expansions or component replacement ensure communication between the network components.
  • the prerequisite for this is not only rapid detection of errors or network modifications and quick network reconfiguration, but also a network area that is as small as possible, which is affected by the effects of the error or network modification during the reconfiguration time.
  • the redundancy of a redundancy management is a network within each row, the posted communication ⁇ ducts interconnected between each two rows and redundancy with respect to the entire network possible.
  • the modified Spannmg-Tree algorithm guarantees freedom from loops.
  • This type of redundancy advantageously enables short reconfiguration times with minimal hardware expenditure and can therefore be implemented with little effort.
  • the network area is limited which is affected by the effects of an error or a network configuration during the reconfiguration time.
  • a ring is formed, as is the case in FIG. 6 with the network subscribers, for example
  • a network subscriber for example network subscriber 100, which is located at one end of the row, must be operated in redundancy mode. It acts as a redundancy manager.
  • this network participant By setting a redundancy bit in the parameter register, this network participant is switched to the redundancy mode. To check the series, it cyclically sends a Testl telegram to port 1 with the MAC address of port 1 as the source address.
  • the cycle time is, for example, 10 ms.
  • Test 2 is sent cyclically on port 2 with the MAC address of port 2 as the source address.
  • the cycle time is c ⁇ ) > M - * t- 1
  • Network participants have not been interrupted for a certain minimum time of, for example, 1.6 s.
  • an "lmk-up *" telegram is sent to ports 1 and 2 of the redundancy manager in order to inform all other network participants in the series about the new ring structure.
  • Test frames will continue det cyclically verses ⁇ .
  • Each network participant in the series resets the registers necessary for the telegram forwarding when it receives an "lmk-up * or" lmk-down * telegram.
  • a redundant implementation of the communication channels between two rows requires at least two separate communication paths. However, a maximum of one path may be used for data exchange between the rows. This potentially active communication channel between two rows is selected with the help of port select telegrams. If a potentially active communication channel is identified as faulty, it is deactivated and another communication path is switched to potentially active. The following applies to the switchover time from deactivated to potentially active:
  • ⁇ t imeoit is the timeout interval and ⁇ t r oweiay corresponds to twice the worst case throughput time of a port select telegram through the series.
  • the switchover time therefore depends on the number of network participants that form a row. It is, for example, for a series of 50 network participants in the order of 200 ms, if a timeout interval of 150 ms is assumed.
  • Redundancy in a three-dimensional network is also possible. If the loop structure already provides freedom from loops, ie there is no network redundancy, every potentially active communication path between two rows is also active. In this case, it is not necessary to use the modified tension tree algorithm described. In the case of network redundancy, the modified Spannmg tree algorithm places loop-free between the Rows sure. A reconfiguration of a network with the modified spanning tree algorithm is only necessary in the event of errors or network modifications that are not processed by the redundancy within a row or the redundancy of the communication channels between two rows.
  • the transmission time from the transmitter to the receiver depends on the number of network participants via which a telegram is forwarded and cannot be neglected.
  • the transmission time of a telegram increases for everyone
  • Network subscriber who forwards the telegram by a subscriber-specific delay time ⁇ ti, which is composed of the following times:
  • This time is, for example, 21 T B ⁇ t for DP83843 PHYTER of NSC, wherein T and Blt ns at 100 Mbps transmission rate corresponds to 10 at 10 Mbps transmission rate 100 ns.
  • This lead time is, for example, for DP83843 PHYTER from NSC 6 T B ⁇ t. 4. Runtime over the lines between two neighboring network participants. The sum of the times specified under 1, 3 and 4 is a fixed quantity and is referred to as the throughput time ⁇ t DlJ z. It can either be parameterized or measured by the network participants. A change in this throughput time ⁇ t D "is only possible if a network subscriber is removed from the network or added to the network or if the cabling is changed.
  • the throughput time ⁇ t D Lz can be determined with the following sequence of telegrams, which network participants execute, for example after initialization or on request:
  • Each network subscriber who is newly added to the network sends his or her neighboring network subscriber a so-called DLZ telegram, i.e. em first telegram for running time determination.
  • This telegram is clearly identified in the 16 bit type address.
  • the new network participant starts a DLZ timer 1 after the last nibble of the type field of the DLZ telegram has been made available to the media independent interface (MII) of port 1 for sending. Accordingly, he starts a DLZ timer 2, 3 and 4 for sending via ports 2, 3 and 4. 3.
  • MII media independent interface
  • Each of the maximum of 4 neighboring network participants starts after receiving the last nibble of the type field of the DLZ telegram on his MII its DLZ timer of the respective port.
  • the received DLZ telegram is not forwarded, but is sent back to the sender supplemented by the residence tent in the respective Ethernet controller of the network participant.
  • this neighboring network participant If this neighboring network participant has passed the last nibble of the type field of the DLZ telegram modified in this way to its MII directed to the newly connected network participant, it stops the DLZ timer and sends the stay tent stored in the DLZ timer with the data field of the telegram to the newly connected network participant.
  • the network subscriber newly added to the network stops the assigned DLZ timer 1, 2, 3 or 4 when he receives the last nibble of the type field at his MII of the respective port.
  • the throughput times ⁇ t D ⁇ _z, ⁇ t D LZi and ⁇ t D Z4 are calculated in a corresponding manner for the remaining ports of the network subscriber newly added to the network.
  • the flow tents determined in this way are stored as parameters in module 52 (FIG. 2).
  • the newly connected network participant sends the measured throughput times to the neighboring network participants via the respectively assigned port.
  • the described determination of the throughput times is only necessary for every second network participant when initializing a network.
  • Time synchronization has the task of synchronizing the clocks of several or all network participants.
  • the communication channels between network participants are advantageously operated in full duplex mode so that the transmission of telegrams exhibits deterministic behavior.
  • the transmission time from a sender to a receiver in a network depends on the number of network participants over which the telegram is routed and cannot be neglected. Time synchronization can be carried out with two special telegrams, for example.
  • Figure 9 shows the general structure of a telegram.
  • the first field 140 contains a destination address, ie an address of the subscribers to whom the telegram is directed, for example 48 bits long.
  • the second field 141 contains a source address, the address of the sending network subscriber, the length of which is also 48 bits, for example.
  • An identifier of the telegram is transmitted in a type field 142 with, for example, 16 bits.
  • the user data of the telegram are sent in a data field 143 of variable length.
  • Telegrams for time synchronization can be identified by a special multicast address as destination address 140 and / or by a new type address to be defined in type field 142.
  • FIG. 10 shows an order list which can be stored, for example, in the RAM 22 in FIG. 2. Telegrams that are to be transmitted via the network are entered in such an order list. If the transmission is not prioritized, the telegram below is transmitted next. It can therefore happen that, for example, a completed telegram 151 is only transmitted when two telegrams 152 and 153 previously entered in the job list have been transmitted. Depending on the number of pending orders, the delay in sending a telegram m a network subscriber after its entry m the order list is variable. In the following a possibility is described how the influence of the transmission time delay in the time synchronization can be avoided: 1.
  • a nibble is defined as half a byte, i.e. it is a sequence of 4 bits.
  • the stored delay times of the ports each correspond to the transmission time ⁇ ti defined above for this network participant.
  • the delay of the telegram via the physical transmission has already been added by the start value ⁇ t D ⁇ _z P of the delay timer.
  • the time master then enters an SM-Timel telegram, which contains the start time of the delay timers in the data field, in the job list.
  • P 1, 2, 3, 4
  • it replaces the start time of the delay timers with the time at which the last nibble of the type field of the SM-TimeO telegram the MII of this port for sending Grouting was made, ie by the sum of the start ⁇ the delay timer and the measured delay time time of each port P.
  • the SM Timel telegram is thus corrected by the time Sendezeitverzog für carry emge-.
  • SM-Timel telegrams are only accepted by the network participant that previously sent an SM-TimeO telegram.
  • the time slave When the SM-Timel telegram is received, the time slave knows, i.e. the neighboring network participant, the start time of his delay timer.
  • the synchronized time is the sum of the time received in the SM-Timel telegram and the delay time of the time slave for the respective receiving port.
  • the neighboring network subscriber thus corrects the time received in the second telegram by the runtime and the reception time delay.
  • the time master starts the delay timers assigned to the ports and carries the time telegram with the start time of these timers m the job list em.
  • the network participant then adds the ones in the time frame specified start time of the delay timer for the value of the delay timer of the respective port P and sends this sum as the time corrected by the transmission time delay with a first telegram for time synchronization via the respective port P.
  • Each neighboring network participant starts after receiving the last nibble of the type field of the first telegram for time synchronization on a port P,
  • the value of the delay timer which is assigned to this port is stored. However, the delay timers continue to run. The stored delay times assigned to the individual ports each correspond to the transmission time ⁇ ti of this network subscriber. It is added to the received start time of the delay timer and with a second telegram for time synchronization via another port to the next, i.e. forwarded to a third, network participant.
  • the time slave knows the start time of its delay timer in time synchronization.
  • the synchronized time results from the sum of the time received in a first or second telegram and the delay time of the time slave for the receiving port P.
  • the described possibilities for time synchronization can be used in a corresponding manner for the synchronization of interval timers in the network participants.
  • the task of aquidistance timers is to enable several or all network participants to perform specified actions aquidistantly. This function is common in control systems referred to as "electronic wave *.
  • a clock beat For all network participants that are connected to one another via the network, a clock beat should be generated, with the clock of which respective target values are transferred and actual values are queried.
  • An application example is the measurement of the electrical power if the required current and voltage measured values are recorded by separate transmitters and queried via a network.
  • an aquidistant cycle is controlled by only one aquidistance master.
  • the network participant that takes over the function of an aquidistance master has a timer that is loaded at the start with the parameterizable value of the aquidistance interval.
  • the timer is free running and is decremented with every bit clock. When the timer has expired, it is loaded again with the parameterized value of the aquidistance interval and a new cycle begins.
  • the difference between an aquidistance timer and a watch is the direction of travel.
  • Time delays are not added as with the time, but are subtracted.
  • time synchronization * used above should therefore be understood to include the synchronization of aquidistance timers.
  • each network participant After receiving the last nibble of the type field of the aquidistance telegram at the MII of a port, ie when receiving the aquidistance telegram from the physical transmission link, each network participant starts an auxiliary timer with the value of the throughput time ⁇ t D _.zp -
  • the value of the auxiliary timer is saved at the point in time at which the neighboring network subscriber creates the last nibble of the type field from the aquidistance telegram for forwarding to the MII of another port.
  • the stored value of the auxiliary timer corresponds to the transmission time ⁇ ti of this network participant for port P. This stored time ⁇ t x is subtracted from the received remaining time ⁇ t AqJ ⁇ until the next cycle begins .
  • the neighboring network participant forwards the corrected remaining time ( ⁇ t Aqu ⁇ - ⁇ t with the aquidistance telegram via the other port to the next neighboring network participant. In addition, he loads the corrected remaining time into his aquidistance timer, which is decremented with each cycle. 4.
  • Aquidistanz-Timer of an Aquidistanz-Slave If the Aquidistanz-Timer of an Aquidistanz-Slave has expired, it is first loaded with the parameterized value of the Aquidistanz-Interval and decremented with every bit clock in the manner described, the remaining time ( ⁇ t AqJ1 - ⁇ t 2 ) until the next cycle begins m the aquidistance timer.
  • the maximum transmission time between a transmitter and a receiver in the network should be less than the length of the aquidistance interval.
  • a network was described according to the Ethernet specification.
  • the invention is also readily applicable to Fast Ethernet, Gigabit Ethernet or other types of networks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention relates to a network with several network users (1, 2, 3, 4, 10, 11, 12). A first network user sends a time of day, corrected for the send-time delay, to a second network user, in the form of a message for clock synchronisation. The processing time for the physical transmission is registered in the second network user, which corrects the received time of day, by the processing time and the receiving-time delay. An improved accuracy of clock synchronisation is thus achieved.

Description

O^TT^T. ^ UHRZEITSYNCHRONISAΉON IN EINEM NETZWERK SOWIE NETZWERKTEILNEHMER INSBE O ^ TT ^ T. ^ TIME SYNCHRONIZATION IN A NETWORK AND NETWORK SUBSCRIBER INSBE
SONDERE FELDGERAT, FÜR EIN DERARTIGES NETZWERK vvnKi- i i^fcHMfcK, 1NSBE-SPECIAL FIELD DEVICE, FOR SUCH A NETWORK vvn Ki - ii ^ f cHMfcK, 1NSBE-
Die Erfindung betrifft ein Netzwerk nach dem Oberbegriff des Anspruchs 1 sowie einen Netzwerkteilnehmer, insbesondere ein Feldgerat, für ein derartiges Netzwerk.The invention relates to a network according to the preamble of claim 1 and to a network participant, in particular a field device, for such a network.
Ein derartiges Netzwerk ist beispielsweise aus derSuch a network is, for example, from the
DE 197 10 971 AI bekannt. In einem Netzwerk mit einer Mehrzahl von Netzwerkteilnehmern, beispielsweise Sensoren und Aktuatoren, die über das Netzwerk zur Datenübertragung miteinander verbunden sind, muß für zeitkritische Anwendungen, beispielsweise für zeitgleiche Meßwerterfassung bei Regelvorgangen, eine Synchronisation vorgenommen werden. Zur Synchronisation der Teilnehmer wird durch einen Teilnehmer ein Telegramm an die weiteren Teilnehmer gesendet, das beispielsweise dazu benutzt werden kann, eine gleichzeitige Erfassung von Meßwerten durch bestimmte Teilnehmer zu veranlassen.DE 197 10 971 AI known. In a network with a plurality of network participants, for example sensors and actuators, which are connected to one another via the network for data transmission, synchronization must be carried out for time-critical applications, for example for simultaneous measurement value acquisition during control processes. To synchronize the participants, a participant sends a telegram to the other participants, which can be used, for example, to cause certain participants to simultaneously acquire measured values.
Dabei wird berücksichtigt, daß bei der Übertragung von Telegrammen zwischen Sender und Empfanger Durchlaufzeiten ber die physikalische Ubertragungsstrecke entstehen, die unter anderem durch die Entfernung und die physikalische Ubertra- gungsgeschwindigkeit der Signale auf dem Ubertragungsmedium bestimmt werden. Damit sich auch LaufZeitdifferenzen von Telegrammen zu verschiedenen Teilnehmern nicht negativ auf die Synchronisationsgenauigkeit auswirken, werden die Laufzeiten jeweils automatisch durch eine Telegrammsequenz erfaßt. Insbesondere m Netzwerken, deren Topologie und räumliche Ausdehnung veränderlich ist, bringt eine automatische Bestimmung der Durchlaufzeit Vorteile. Veränderungen können beispielsweise auftreten, wenn Teilnehmer nur temporar oder an verschiedenen Orten angeschlossen werden. Eine Möglichkeit zur Synchronisation der Teilnehmer besteht darin, daß ein Teilnehmer seine Uhrzeit m einem Telegramm an die brigen Teilnehmer übertragt. Die zuvor ermittelte Durchlaufzeit des Telegramms ist m den übrigen Teilnehmern gespeichert. Diese korrigieren die m dem Telegramm empfangene Uhrzeit um die jeweilige Durchlaufzeit des Telegramms und synchronisieren auf diese Weise ihre interne Uhr auf die Uhrzeit des Senders.It is taken into account that during the transmission of telegrams between transmitter and receiver, lead times occur over the physical transmission path, which are determined, among other things, by the distance and the physical transmission speed of the signals on the transmission medium. So that the running time differences of telegrams to different participants do not have a negative impact on the synchronization accuracy, the running times are automatically recorded by a telegram sequence. In m networks in particular, whose topology and spatial extent can be changed, automatic determination of the throughput time has advantages. Changes can occur, for example, if participants are only connected temporarily or at different locations. One way of synchronizing the participants is for a participant to transmit his time in a telegram to the other participants. The previously determined throughput time of the Telegram is stored in the other participants. These correct the time received in the telegram by the respective transit time of the telegram and in this way synchronize their internal clock with the time of the transmitter.
Der Erfindung liegt die Aufgabe zugrunde, ein Netzwerk sowie einen Teilnehmer, insbesondere ein Feldgerat, für ein derartiges Netzwerk zu schaffen, die sich durch eine verbesserte Genauigkeit bezüglich der Uhrzeitsynchronisation auszeichnen.The object of the invention is to create a network and a subscriber, in particular a field device, for such a network, which are characterized by improved accuracy with regard to time synchronization.
Zur Losung dieser Aufgabe weist das neue Netzwerk der eingangs genannten Art die im kennzeichnenden Teil des Anspruchs 1 angegebenen Merkmale auf. Ein Netzwerkteilnehmer, insbesondere ein Feldgerat, für ein derartiges Netzwerk sowie vorteilhafte Ausgestaltungen der Erfindung sind m Anspruch 11 bzw. m den Unteranspruchen beschrieben.To solve this problem, the new network of the type mentioned has the features specified in the characterizing part of claim 1. A network participant, in particular a field device, for such a network and advantageous refinements of the invention are described in claim 11 and in the dependent claims.
Die Erfindung hat den Vorteil, daß eine Sendezeitverzogerung im Sender sowie eine Empfangszeitverzogerung im Empfanger, die veränderlich sein können, bei der Uhrzeitsynchronisation berücksichtigt werden.The invention has the advantage that a transmission time delay in the transmitter and a reception time delay in the receiver, which can be variable, are taken into account in the time synchronization.
Dazu sendet ein erster Netzwerkteilnehmer ein erstes Telegramm an einen zweiten Netzwerkteilnehmer, das die um eine Sendezeitverzogerung korrigierte Uhrzeit des ersten Netz- werkteilnehmers enthalt. Im zweiten Teilnehmer ist die Telegrammlaufzeit über die physikalische Ubertragungsstrecke zwischen dem ersten Netzwerkteilnehmer und dem zweiten Netzwerkteilnehmer als Durchlaufzeit gespeichert. Sie kann bei- spielsweise manuell eingegeben oder durch einen weiterenFor this purpose, a first network subscriber sends a first telegram to a second network subscriber, which contains the time of the first network subscriber corrected by a transmission time delay. The telegram transit time is stored in the second subscriber as a throughput time over the physical transmission link between the first network subscriber and the second network subscriber. For example, it can be entered manually or by another
Telegrammverkehr zuvor gemessen worden sein. Der zweite Netzwerkteilnehmer mißt die Zeitverzogerung seit Empfang des ersten Telegramms und korrigiert die im ersten Telegramm empfangene Uhrzeit um die Durchlaufzeit und die gemessene Empfangszeitverzogerung. Der zweite Netzwerkteilnehmer ist somit vorteilhaft jederzeit m der Lage, eine synchronisierte Uhrzeit aus der Summe der im Telegramm empfangenen Uhrzeit und der um die Laufzeit ergänzten Empfangszeitverzogerung zu ermitteln. Variable Sende- und E pfangszeitverzogerungen wirken sich nicht auf das Ergebnis der Synchronisation aus.Telegram traffic must have been measured beforehand. The second network participant measures the time delay since receipt of the first telegram and corrects the time received in the first telegram by the throughput time and the measured reception time delay. The second network participant is therefore advantageously able at any time to obtain a synchronized time from the sum of the time received in the telegram and to determine the delay in reception time supplemented by the transit time. Variable transmission and reception delays have no effect on the result of the synchronization.
Ist der zweite Netzwerkteilnehmer weiterhin dazu ausgebildet, ein zweites Telegramm zur Uhrzeitsynchronisation an einen dritten Netzwerkteilnehmer zu senden, das eine um die Laufzeit und die Verzogerungszeit zwischen Empfang des ersten Telegramms und Senden des zweiten Telegramms korrigierte empfangene Uhrzeit enthalt, so wird ein iteratives Weitersenden der jeweils korrigierten Uhrzeit von Netzwerkteilnehmer zu Netzwerkteilnehmer möglich. In den empfangenden Netzwerkteilnehmern können jeweils identische Korrekturmechanismen angewendet werden. Die jeweils m einem Netz- werkteilnehmer abgespeicherte Laufzeit entspricht der Laufzeit über die physikalische Ubertragungsstrecke zwischen dem jeweils zuletzt sendenden und dem empfangenden Netzwerkteilnehmer .If the second network participant is also designed to send a second telegram for time synchronization to a third network participant, which contains a received time corrected for the running time and the delay time between receipt of the first telegram and transmission of the second telegram, then iterative forwarding of the respective one corrected time from network participants to network participants possible. Identical correction mechanisms can be applied in the receiving network participants. The runtime stored in each case in a network subscriber corresponds to the runtime over the physical transmission link between the last sending and receiving network subscriber.
Alternativ zum Senden eines Telegramms zur Uhrzeitsynchroni- sation von einem ersten Netzwerkteilnehmer zu einem zweiten kann auch eine Uhrzeitsynchronisation mit zwei Telegrammen erfolgen. Dazu sendet der erste Netzwerkteilnehmer ein erstes Telegramm zur Uhrzeitsynchronisation an einen zweiten Netz- werkteilnehmer und speichert gleichzeitig eine um die Sendezeitverzogerung korrigierte Uhrzeit des ersten Netzwerkteil- nehmers ab. Im zweiten Netzwerkteilnehmer ist die Laufzeit des Telegramms über die physikalische Ubertragungsstrecke zwischen dem ersten Netzwerkteilnehmer und dem zweiten Netz- werkteilnehmer abgespeichert. Der zweite Netzwerkteilnehmer mißt die Zeitverzogerung seit Empfang des ersten Telegramms, ohne jedoch den dazu dienenden Timer anzuhalten. Der erste Netzwerkteilnehmer sendet nun ein zweites Telegramm, das die um die Sendezeitverzogerung korrigierte Uhrzeit des ersten Netzwerkteilnehmers enthalt, an den zweiten Netzwerkteilnehmer. Die im zweiten Telegramm empfangene Uhrzeit korrigiert der zweite Netzwerkteilnehmer um die Laufzeit und die Empfangszeitverzogerung, die m bezug auf den Empfang des ersten Telegramms gemessen wird. Dieses Verfahren mit zwei Telegrammen besitzt dieselben Vorteile, die auch mit dem Verfahren zur Uhrzeitsynchronisation mit nur einem Telegramm verbunden sind.As an alternative to sending a telegram for time synchronization from a first network participant to a second, time synchronization with two telegrams can also take place. For this purpose, the first network participant sends a first telegram for time synchronization to a second network participant and at the same time stores a time of the first network participant corrected for the transmission time delay. The transit time of the telegram is stored in the second network participant over the physical transmission link between the first network participant and the second network participant. The second network participant measures the time delay since receipt of the first telegram without, however, stopping the timer used for this. The first network participant now sends a second telegram, which contains the time of the first network participant corrected for the transmission time delay, to the second network participant. The second network subscriber corrects the time received in the second telegram for the runtime and the Reception time delay, which is measured in relation to the reception of the first telegram. This procedure with two telegrams has the same advantages that are also associated with the procedure for time synchronization with only one telegram.
Für ein Netzwerk mit mehr als zwei Netzwerkteilnehmern kann das Verfahren mit zwei Telegrammen ebenfalls m ein iteratives Verfahren fortgesetzt werden. Dazu leitet der zweite Netzwerkteilnehmer das erste Telegramm an einen dritten Netzwerkteilnehmer weiter und mißt seine Verzogerungszeit der Telegrammweiterleitung . In einem dritten Telegramm sendet der zweite Netzwerkteilnehmer eine um die Laufzeit und die Verzogerungszeit der Telegrammweiterleitung des ersten Telegramms korrigierte empfangene Uhrzeit an den dritten Netzwerkteilnehmer .For a network with more than two network participants, the process with two telegrams can also be continued in an iterative process. For this purpose, the second network participant forwards the first telegram to a third network participant and measures its delay time for the telegram forwarding. In a third telegram, the second network participant sends a received time to the third network participant, corrected for the running time and the delay time of the telegram forwarding of the first telegram.
In vorteilhafter Weise wird die jeweils tatsächliche Sendezeitverzogerung bei der Uhrzeitsynchronisation berucksich- tigt, wenn der erste Netzwerkteilnehmer einen ersten Timer zur Bestimmung der Sendezeitverzogerung aufweist, den er beim Eintragen eines Telegramms m eine Liste der Sendeauftrage startet und nach Bereitstellung des Telegramms zur physikalischen Übertragung als Wert der Sendezeitverzogerung aus- liest, um welchen die Uhrzeit des Telegrammeintrags zu korrigieren ist.The actual transmission time delay in the time synchronization is advantageously taken into account if the first network subscriber has a first timer for determining the transmission time delay, which he starts a list of the transmission orders when a telegram m is entered and after the telegram is made available for physical transmission as a value reads out the transmission time delay by which the time of the telegram entry is to be corrected.
Ebenfalls wird m vorteilhafter Weise die jeweils tatsächliche Empfangszeitverzogerung bei der Übertragung beruck- sichtigt, wenn der zweite Netzwerkteilnehmer einen zweiten Timer zur Bestimmung der Empfangszeitverzogerung aufweist, den er bei Empfang eines ersten Telegramms von einer physikalischen Ubertragungsstrecke startet.Likewise, the actual reception time delay during transmission is advantageously taken into account if the second network subscriber has a second timer for determining the reception time delay, which he starts when a first telegram is received from a physical transmission link.
Die Laufzeit des Telegramms über die physikalische Ubertragungsstrecke zwischen dem ersten Netzwerkteilnehmer und dem zweiten Netzwerkteilnehmer kann als Startwert m den zweiten Timer vor dessen Start abgespeichert sein. Das hat den Vorteil, daß die Summe der Laufzeit und der Empfangszeitverzogerung durch nur e_nen Timer ermittelt werden kann.The runtime of the telegram over the physical transmission link between the first network subscriber and the second network subscriber can be the second as the starting value The timer must be saved before it starts. This has the advantage that the sum of the transit time and the delay in reception time can be determined by only one timer.
In einer Weiterbildung können Beginn und Ende der Laufzeit eines Telegramms jeweils als der Zeitpunkt bestimmt werden, zu welchem ein charakteristisches Feld eines Telegramms mit festem Abstand vom Telegrammanfang ein Media-Independent- Interface des ersten Netzwerkteilnehmers verlaßt bzw. in ein Media-Independent-Interface des zweiten Netzwerkteilnehmers einlauft. Vorteilhaft sind dabei Messungen der Sendezeit¬ verzogerung, Laufzeit und Empfangszeitverzogerung unabhängig von der Lange des jeweiligen Telegramms.In a further development, the start and end of the runtime of a telegram can each be determined as the point in time at which a characteristic field of a telegram leaves a media-independent interface of the first network subscriber at a fixed distance from the start of the telegram or into a media-independent interface of the second network participant arrives. Advantageously, are measurements of the transmission time delay ¬, duration and Empfangszeitverzogerung regardless of the length of the respective telegram.
Erfüllen die Netzwerkkomponenten die Ethernet-, Fast-Ether- net- oder Gigabit-Ethernet-Spezifikation, so kann mit Vorteil als charakteristisches Feld des Telegramms das Type-Feld verwendet werden. Im zweiten Netzwerkteilnehmer ist mit Empfang des Type-Feldes bekannt, daß es sich um ein Telegramm handelt, das zur Uhrzeitsynchronisation dient, und es können die erforderlichen Mechanismen eingeleitet werden. Das Datenfeld befindet sich hinter dem Type-Feld und kann im Sender noch bis zur Ausgabe des Type-Feldes an das Media-Indepen- dent-Interface verändert werden. Damit ist es möglich, bereits im selben Telegramm die um die Sendezeitverzogerung korrigierte Uhrzeit zu übertragen.If the network components meet the Ethernet, Fast Ethernet or Gigabit Ethernet specification, the type field can advantageously be used as the characteristic field of the telegram. In the second network participant, upon receipt of the type field, it is known that it is a telegram that is used for time synchronization, and the necessary mechanisms can be initiated. The data field is located behind the type field and can be changed in the sender until the type field is output to the media independence interface. This makes it possible to transmit the time corrected for the transmission time delay in the same telegram.
Die Laufzeit eines Telegramms über die physikalische Ubertragungsstrecke kann exakt bestimmt werden, indem der erste Netzwerkteilnehmer ein erstes Telegramm zur LaufZeitermittlung an einen zweiten Netzwerkteilnehmer sendet und einen Antwortzeit-Timer nach Bereitstellung des Telegramms zur physikalischen Übertragung startet. Der zweite Netzwerkteilnehmer startet nach Empfang des ersten Telegramms zur LaufZeitermittlung einen Timer zur Messung der Aufenthalts- zeit und stoppt den Timer nach Bereitstellung eines zweiten Telegramms zur physikalischen Übertragung an den ersten Netzwerkteilnehmer. Die gemessene Aufenthaltszelt w rd m dem zweiten Telegramm zur LaufZeitermittlung an den ersten Netzwerkteilnehmer übertragen. Nach Empfang des zweiten Telegramms von der physikalischen Übertragung stoppt der erste Netzwerkteilnehmer den Antwortzeit-Timer und berechnet die Laufzeit eines Telegramms über die physikalische Ubertragungsstrecke als die halbe Differenz zwischen der gemessenen Antwortzeit und der Aufenthaltszelt im zweiten Netzwerkteilnehmer .The runtime of a telegram over the physical transmission link can be exactly determined by the first network participant sending a first telegram to a second network participant for determining the runtime and starting a response time timer after the telegram has been provided for the physical transmission. After receiving the first telegram to determine the running time, the second network participant starts a timer to measure the time spent in the vehicle and stops the timer after providing a second telegram for physical transmission to the first Network participants. The measured residence tent is transmitted to the first network participant in the second telegram for determining the running time. After receiving the second telegram from the physical transmission, the first network participant stops the response time timer and calculates the duration of a telegram over the physical transmission path as half the difference between the measured response time and the residence tent in the second network participant.
Mit Vorteil kann ein Netzwerkteilnehmer, insbesondere ein Feldgerat, mit mehreren Ports, insbesondere vier Ports, zum Anschluß weiterer Netzwerkkomponenten ausgestattet werden. Dabei kann eine Schnittstelle, ein sogenanntes Mikropro- zessor-Interface, zur Verbindung der Ports mit einem teilnehmerinternen Prozessorbus und eine Steuereinheit, eine soge¬ nannte Switch-Control, vorgesehen werden, welche eine Telegrammweglenkung zwischen den Ports und dem Mikroprozessor- Interface vornimmt. Das hat den Vorteil, daß Netzwerkteil- nehmer, insbesondere Feldgerate, m der vom Anwender vonA network subscriber, in particular a field device, can advantageously be equipped with a plurality of ports, in particular four ports, for connecting further network components. In this case, an interface, a so-called micro- processor interface, for connecting the ports to a subscriber-internal processor bus, and a control unit, a so-called ¬ Switch control, are provided, which performs a Telegrammweglenkung between the ports and the microprocessor interface. This has the advantage that network participants, in particular field devices, m from the user of
Feldbussen gewohnten Weise m einer Linienstruktur verschaltet werden können. Ein separater Switch, wie er bei einer sternförmigen Struktur erforderlich wäre, entfallt. Insbesondere bei einem Netzwerk nach Ethernet-, Fast-Ethernet- oder Gigabit-Ethernet-Spezifikation wird durch die Erfindung der Aufbau eines Netzes großer Ausdehnung ermöglicht, da lediglich der Abstand zwischen zwei Netzwerkkomponenten bestimmte Grenzen nicht überschreiten darf, die Lange der Linienstruktur jedoch unbegrenzt ist. Darüber hinaus hat die Integration von Switch-Funktionen m den Netzwerkteilnehmer den Vorteil, daß insbesondere bei Ethernet die CSMA/CD-Zugπffssteuerung deaktiviert werden kann und das Netzwerk ein deterministisches Verhalten erhalt. Somit wird der Einsatzbereich der Netzwerkteilnehmer und des Netzwerks auf Anwendungsfalle erweitert, m welchen Echtzeitverhalten gefordert wird. Wenn an den Netzwerkteilnehmern vier Ports zum Anschluß weiterer Netzwerkkomponenten vorgesehen werden, können Teil¬ nehmer zu einer zwei- oder dreidimensionalen Netzwerkstruktur verschaltet werden, da bei diesen zwei Ports zur Einbindung des Netzwerkteilnehmers m eine Linie zwei weitere jeweils zur Verbindung der Linie mit einer anderen Linie verwendet werden können.Fieldbuses can be connected as usual in a line structure. A separate switch, as would be required with a star-shaped structure, is not required. In particular in the case of a network according to Ethernet, Fast Ethernet or Gigabit Ethernet specifications, the invention enables the construction of a network of large extent, since only the distance between two network components may not exceed certain limits, but the length of the line structure is unlimited , In addition, the integration of switch functions in the network participants has the advantage that the CSMA / CD access control can be deactivated, in particular in the case of Ethernet, and the network receives a deterministic behavior. The area of application of the network participants and the network is thus expanded to include application cases in which real-time behavior is required. If four ports are provided for connection of further network components on the network devices, may be part ¬ participants are interconnected to form a two or three dimensional network structure, since at these two ports for the integration of the network station m a line two in each case to connect the line with another line can be used.
Eine Ausf hrung der durch die Ports realisierten Schnitt- stellen nach der Ethernet- oder Fast-Ethernet-Spezifikation hat den Vorteil, daß bei der Realisierung beispielsweise eines Feldbusses mit derartigen Netzwerkkomponenten auf bereits aus anderen Bereichen vorhandenes Technologiewissen zurückgegriffen werden kann. Man erhalt auf diese Weise ein durchgangiges Netzwerk für Office-, Leit-, Zeil- und Feldebene, das einen transparenten Zugriff auf beliebige Daten ermöglicht. Ein Gateway zur Kopplung von Netzwerkbereichen mit verschiedener Physik und verschiedenen Protokollen ist in vorteilhafter Weise nicht erforderlich. Zudem zeichnen sich Netzwerke auf der Basis der Ethernet-Spezifikation durch eine hohe Leistungsfähigkeit der Datenübertragung aus. Sie bieten Kostenvorteile durch eine breit verfugbare Technologie und Komponenten, die m hohen Stuckzahlen vorhanden sind. Es ist möglich, eine hohe Zahl von Netzwerkteilnehmern an ein Netz- werk anzuschließen. Durch die Erfindung werden die Vorteile der im Feldbereich favorisierten Linien- oder Busstruktur des Netzwerks, z.B. der Vorteil einer einfachen Verschaltung der Teilnehmer, mit den oben erwähnten Vorteilen von Netzwerken auf der Basis der Ethernet-Spezifikation nach IEEE 802.3 verbunden. Die m den Netzwerkteilnehmer integrierten Switch- Funktionen übernehmen die Funktion einer bisher separat installierten Netzwerkkomponente, beispielsweise eines Switchs, die damit entfallt.An embodiment of the interfaces implemented by the ports according to the Ethernet or Fast Ethernet specification has the advantage that, for example, a fieldbus with network components of this type can be made use of technology knowledge already available from other areas. In this way, a continuous network is obtained for the office, control, line and field levels, which enables transparent access to any data. A gateway for coupling network areas with different physics and different protocols is advantageously not required. In addition, networks based on the Ethernet specification are characterized by high data transmission performance. They offer cost advantages thanks to a widely available technology and components that are available in high numbers of pieces. It is possible to connect a large number of network participants to a network. The advantages of the preferred line or bus structure of the network, e.g. the advantage of simple interconnection of the participants, combined with the advantages of networks mentioned above based on the Ethernet specification according to IEEE 802.3. The switch functions integrated into the network participants assume the function of a previously separately installed network component, for example a switch, which is no longer required.
Eine weitere Verbesserung bei Anwendungen m der Automatisierungstechnik, insbesondere beim Einsatz m zeitkritischen Anwendungen, wird erreicht, wenn die Steuereinheit der Switch-Funktion derart ausgebildet ist, daß eine Ubertra- gungsprioπtat der zu versendenden Telegramme ausgewertet wird und Telegramme mit hoher Priorität vor Telegrammen mit niederer Priorität gesendet werden.A further improvement in applications in automation technology, in particular in the use in time-critical applications, is achieved if the control unit of the Switch function is designed such that a transmission priority of the telegrams to be sent is evaluated and telegrams with high priority are sent before telegrams with low priority.
Ein Mikroprozessor zur Korrektur einer internen Uhr anhand m Telegrammen empfangener Uhrzeitinformationen hat den Vorteil, daß die Uhrzeitsynchronisation weitgehend ohne zusatzlichen Hardware-Aufwand realisiert werden kann.A microprocessor for correcting an internal clock using m telegrams of time information received has the advantage that the time synchronization can largely be implemented without additional hardware expenditure.
Anhand der Zeichnungen, m denen Ausfuhrungsbeispiele der Erfindung dargestellt sind, werden im folgenden die Erfindung sowie Ausgestaltungen und Vorteile naher erläutert.On the basis of the drawings, in which exemplary embodiments of the invention are shown, the invention and embodiments and advantages are explained in more detail below.
Es zeigen:Show it:
Figur 1 eine Kommunikationsstruktur einer automatisierungstechnischen Anlage, Figur 2 ein Blockschaltbild einer Schnittstelle eines Netz- werkteilnehmers, Figur 3 eine Reihenschaltung von Netzwerkteilnehmern mit linienformiger Netzwerktopologie, Figur 4 eine Reihenschaltung von Netzwerkteilnehmern mit zwei Kommumkationskanalen, Figur 5 eine zweidimensionale Verschaltung von Netzwerk- teilnehmern,1 shows a communication structure of an automation system, FIG. 2 shows a block diagram of an interface of a network participant, FIG. 3 shows a series connection of network participants with a linear network topology, FIG. 4 shows a series connection of network participants with two communication channels, FIG. 5 shows a two-dimensional connection of network participants,
Figur 6 eine zweidimensionale Verschaltung mit redundanterFigure 6 shows a two-dimensional interconnection with redundant
Auslegung, Figur 7 ein zweidimensionales Netzwerk nach erfolgter RedundanzVerwaltung, Figur 8 ein dreidimensionales Netzwerk nach erfolgter RedundanzVerwaltung, Figur 9 den prinzipiellen Aufbau eines Telegramms und Figur 10 den Aufbau einer Auftragsliste .Figure 7 shows a two-dimensional network after redundancy management, Figure 8 shows a three-dimensional network after redundancy management, Figure 9 shows the basic structure of a telegram and Figure 10 shows the structure of an order list.
Figur 1 zeigt den Aufbau einer Ko mumkationsstruktur m einer automatisierungstechnischen Anlage. Die Kommunikation erfolgt durchgangig auf der Leit-, Zeil- und Feldebene durch ein Netzwerk, dessen Datenübertragung dem Fast-Ethernet- Standard nach IEEE 802. u genügt. In der Feldebene sind ein Sensor 1, beispielsweise ein Druckmeßumformer, ein Sensor 2, hier ein Ultraschalldurchflußmeßumformer, ein Aktuator 3, ein Regelventil zur Einstellung eines Durchflusses, und eine speicherprogrammierbare Steuerung 4 mit Twisted-Pair-Lei- tungen 5, 6 bzw. 7 busformig verschaltet. Die speicherprogrammierbare Steuerung 4 bildet zusammen mit den beiden Sensoren 1 und 2 sowie dem Aktuator 3 einen Regelkreis, m welchem die Stellung des Regelventils m Abhängigkeit von den Meßwerten des Druckmeßumformers sowie des Durchflußmeßumformers vorgegeben wird. Die speicherprogrammierbare Steuerung 4 ist ber eine Twisted-Pair-Leitung 8 an einen Switch 9 angeschlossen. Mit dem Switch 9 sind m einer sternförmigen Topologie weiterhin ein Zellrechner 10, ein Leitrechner 11 sowie ein Firewall 12, mit welchem ein gesicherter Ethernet- Zugang realisiert ist, verbunden. Mit einer Leitung 13 sind weitere, m der Figur der Übersichtlichkeit wegen nicht dargestellte Zellrechner von benachbarten Zellen der automati- sierungstechnischen Anlage an den Switch 9 angeschlossen.FIG. 1 shows the structure of a communication structure in an automation system. Communication takes place continuously at the control, line and field level a network whose data transmission complies with the Fast Ethernet standard according to IEEE 802. u. At the field level there are a sensor 1, for example a pressure transducer, a sensor 2, here an ultrasonic flow transducer, an actuator 3, a control valve for setting a flow, and a programmable logic controller 4 with twisted-pair lines 5, 6 and 7 interconnected in bus form. The programmable logic controller 4 forms, together with the two sensors 1 and 2 and the actuator 3, a control loop, in which the position of the control valve m is predetermined as a function of the measured values of the pressure transducer and the flow transducer. The programmable logic controller 4 is connected to a switch 9 via a twisted pair line 8. A cell computer 10, a master computer 11 and a firewall 12, with which a secure Ethernet access is implemented, are also connected to the switch 9 in a star-shaped topology. With a line 13, further cell computers, not shown in the figure for the sake of clarity, from adjacent cells of the automation system are connected to the switch 9.
Anhand des m Figur 1 dargestellten Beispiels wird insbesondere der Vorteil einer hohen Datentransparenz über alle Ebenen hinweg deutlich. Für Leit-, Zeil- und Feldebene wird derselbe Ubertragungsstandard verwendet. Dabei sind die Feld- gerate 1, 2 und 3 mit der speicherprogrammierbaren Steuerung 4 m der vom Anwender gewohnten Weise m einer linienformigen Topologie verschaltet. Ein weiterer Vorteil ist die durchgangige Verwendbarkeit einheitlicher Adressen für die einzelnen Netzwerkteilnehmer. Eine Adreßumsetzung, wie sie bei der Verwendung verschiedener Standards m den verschiedenen Ebenen erforderlich wäre, kann bei dem neuen Netzwerk und den neuen Netzwerkteilnehmern m einer automatisierungstechnischen Anlage entfallen.The example shown in FIG. 1 clearly shows the advantage of high data transparency across all levels. The same transmission standard is used for control, line and field level. The field devices 1, 2 and 3 are connected to the programmable logic controller 4 m in the manner customary in the user m of a linear topology. Another advantage is the consistent use of uniform addresses for the individual network participants. An address conversion, as would be required if different standards were used at the different levels, can be omitted in the new network and the new network participants in an automation system.
Figur 2 zeigt den prinzipiellen Aufbau der Kommunikations- schnittstelle eines Netzwerkteilnehmers, beispielsweise des Sensors 2 in Figur 1. Applikationsspezifische Schaltungstei- le, wie z.B. ein mechanisch-elektrisches Wandlerelement, eine Einrichtung zur Signalvorverarbeitung und eine Spannungsver¬ sorgung, sind der Übersichtlichkeit wegen nicht dargestellt. Die m einem Rechteck 20 zusammengefaßten Teile können m einem ASIC (Application Specific Integrated Circuit) integriert werden. Die Kommunikation mit den anwendungsspezifischen Schaltungstellen des Netzwerkteilnehmers erfolgt über einen Mikroprozessor-Bus 21, an welchen ein RAM 22, ein Mikroprozessor 23 und ein Mikroprozessor-Interface 25 ange- schlössen sind. Mit durchbrochenen Linien ist m der Darstellung des Mikroprozessors 23 angedeutet, daß die Integration in das ASIC optional ist. Seine Funktionen konnten von einem externen Prozessor übernommen werden. Aufgabe des Mikroprozessors 23 ist die Ausführung von Anwenderprogrammen und von Kommunikationsfunktionen, beispielsweise die Abwicklung von TCP/IP. Eine weitere Aufgabe kann die Verwaltung von Sende- und Empfangslisten von Telegrammen unterschiedlicher Priorität im externen RAM 22 sein. Der Mikroprozessor 23 wählt aus einer Sendeliste im externen RAM 22 einen Auftrag aus und startet über ein Mikroprozessor-Interface 25 einen DMA-Kontroller 26, der als DMA 1-Control bezeichnet wird, nachdem er zuvor m den DMA-Kontroller 26 die Anzahl der zu sendenden Daten-Bytes und einen Pointer, der auf das zu sendende Daten-Byte zeigt, eingetragen hat. Ist der Sende- auftrag durch den DMA-Kontroller 26 vollständig m einenFIG. 2 shows the basic structure of the communication interface of a network participant, for example sensor 2 in FIG. 1. Application-specific circuit parts le, such as a supply mechanical-electrical transducer element, means for signal preprocessing, and a Spannungsver ¬, of clarity, are not shown because. The parts combined in a rectangle 20 can be integrated in an ASIC (Application Specific Integrated Circuit). Communication with the application-specific circuit points of the network subscriber takes place via a microprocessor bus 21, to which a RAM 22, a microprocessor 23 and a microprocessor interface 25 are connected. Broken lines in the representation of the microprocessor 23 indicate that the integration into the ASIC is optional. Its functions could be taken over by an external processor. The task of the microprocessor 23 is the execution of user programs and communication functions, for example the handling of TCP / IP. Another task can be the management of send and receive lists of telegrams of different priority in the external RAM 22. The microprocessor 23 selects an order from a send list in the external RAM 22 and starts a DMA controller 26, which is referred to as DMA 1 control, via a microprocessor interface 25, after having previously assigned the number of times to the DMA controller 26 sending data bytes and a pointer that points to the data byte to be sent. Is the send order by the DMA controller 26 completely m one
Transmit-Buffer 27 übertragen, so entfernt der Mikroprozessor 23 diesen Sendeauftrag aus der Sendeliste im RAM 22 und bearbeitet den nächsten Sendeauftrag, sofern die Sendeliste nicht leer ist und im Transmit-Buffer 27 noch freier Speicherplatz verfugbar ist.Transmit buffer 27 transmitted, the microprocessor 23 removes this send job from the send list in the RAM 22 and processes the next send job, provided the send list is not empty and free memory space is still available in the transmit buffer 27.
In das ASIC 20 sind weiterhin vier Ethernet-Kontroller 28, 29, 30 und 31 integriert. Jeder dieser Ethernet-Kontroller tragt die Datenbytes eines vollständig empfangenen Telegramms über einen Multiplexer 32, einen DMA-Kontroller 33, der auch als DMA 2-Control bezeichnet wird, und das Mikroprozessor- Interface 25 m eine Empfangsliste im RAM 22 ein. Der Mikro- Prozessor 23 greift auf die Empfangsliste zu und wertet die empfangenen Daten entsprechend einem Applikationsprogramm aus .Four Ethernet controllers 28, 29, 30 and 31 are also integrated in the ASIC 20. Each of these Ethernet controllers enters the data bytes of a completely received telegram via a multiplexer 32, a DMA controller 33, which is also referred to as DMA 2 control, and the microprocessor interface 25 m a receive list in RAM 22. The micro Processor 23 accesses the reception list and evaluates the received data in accordance with an application program.
Das Mikroprozessor-Interface 25 bildet die wesentlicheThe microprocessor interface 25 forms the essential
Schnittstelle zwischen den Ethernet-Kontrollern 28 ... 31 und dem Mikroprozessor-Bus 21. Es steuert oder arbitriert die Schreib- und Lesezugriffe, die ber den DMA-Kontroller 33 bzw. den DMA-Kontroller 26 auf das RAM 22 erfolgen. Liegen von beiden DMA-Kontrollern 26 und 33 gleichzeitig DMA-Anforderungen vor, so entscheidet das Mikroprozessor-Interface 25 über die Zugriffsrechte der beiden DMA-Kanale. Über das Mikroprozessor-Interface 25 können weiterhin durch den Mikroprozessor 23 Parameterregister 34 geschrieben werden, die zum Betrieb der Kommunikationsschnittstelle des Netzwerkteilnehmers erforderlich sind. Als Beispiele seien ein Pomter auf den Beginn des hochprioren Speicherbereichs m einem Transmit-Buffer eines Ethernet-Kontrollers, ein Pointer auf den Beginn des hochprioren Speicherbereichs m jedem der Receive-Buffer der Ethernet-Kontroller, ein Betriebsartenre- gister f r allgemeine Steuerbits, eine Adresse der Reihe, welcher der Netzwerkteilnehmer angehört, eine Zykluszeit für sog. Port-Select-Telegramme und Einstellungen verschiedener Uberwachungszeitmtervalle genannt .Interface between the Ethernet controllers 28 ... 31 and the microprocessor bus 21. It controls or arbitrates the write and read accesses that take place via the DMA controller 33 or the DMA controller 26 to the RAM 22. If there are DMA requests from both DMA controllers 26 and 33 at the same time, the microprocessor interface 25 decides on the access rights of the two DMA channels. Via the microprocessor interface 25, the microprocessor 23 can also write parameter registers 34 which are required for operating the communication interface of the network subscriber. Examples include a pomter on the start of the high-priority memory area in a transmit buffer of an Ethernet controller, a pointer on the start of the high-priority memory area in each of the receive buffers of the Ethernet controller, an operating mode register for general control bits, and an address of the series to which the network participant belongs, called a cycle time for so-called port select telegrams and settings for various monitoring time intervals.
Der Transmit-Buffer 27 hat eine Große von mehr als drei Kilobyte und ist in einen Speicherbereich f r hochpπore und einen Speicherbereich für niederpriore Telegramme aufgeteilt. Das Verhältnis der beiden Speicherbereiche ist parametrier- bar. Die Speicherbereiche des Transmit-Buffers für hoch- und niederpriore Daten sind jeweils als Ringpuffer realisiert. Mit dem Senden der Daten aus dem Transmit-Buffer 27 über einen oder mehrere Ethernet-Kontroller 28 ... 31 wird begonnen, wenn die Anzahl der eingetragenen Bytes eines Telegramms großer ist als der parametrierbare Füllstand, oder wenn ein komplettes Telegramm vom RAM 22 m den Transmit-Buffer 27 ko- piert wurde und mindestens ein Ethernet-Kontroller 28 ... 31 für den Sendebetrieb frei ist.The transmit buffer 27 has a size of more than three kilobytes and is divided into a memory area for high-pore and a memory area for low-priority telegrams. The ratio of the two memory areas can be parameterized. The memory areas of the transmit buffer for high and low priority data are each implemented as a ring buffer. Sending the data from the transmit buffer 27 via one or more Ethernet controllers 28 ... 31 begins when the number of bytes entered in a telegram is greater than the parameterizable fill level or when a complete telegram from the RAM 22 m the transmit buffer 27 pated and at least one Ethernet controller 28 ... 31 is free for transmission.
D e Ethernet-Kontroller 28 ... 31 sind jeweils identisch aufgebaut. Ihr Aufbau wird am Beispiel des Ethernet-Kont- rollers naher erläutert. Eine Einrichtung 40, die als Trans- mit-Control bezeichnet wird, enthalt ein Steuerwerk, das für das Senden von Telegrammen, für Wiederholungen, Sendeabbruch usw. verantwortlich ist. Sie bildet die Schnittstelle zwischen dem internen Kontrollertakt und dem Sendetakt. Zum Speichern einer Transmit-Status-Information für niederpriore und hochpπore Telegramme ist jeweils ein Transmit-Status- Register m der Einrichtung 40 vorgesehen. Wenn ein Telegramm fehlerfrei über den Port gesendet wurde, wird ein ent- sprechender Interrupt erzeugt.The Ethernet controllers 28 ... 31 are constructed identically. Their structure is explained in more detail using the example of the Ethernet controller. A device 40, which is referred to as Transmit Control, contains a control unit which is responsible for the transmission of telegrams, for repetitions, transmission abort etc. It forms the interface between the internal controller clock and the send clock. A transmit status register m of the device 40 is provided in each case for storing transmit status information for low-priority and high-priority telegrams. If a telegram was sent without errors via the port, a corresponding interrupt is generated.
Ein Media Independent Interface 41 (MII) integriert den MAC- Sublayer des Layers 2 nach dem Sieben-Schichten-Modell, d.h. des Data-Lmk-Layer . Dieses bildet eine Schnittstelle zu einem Baustein 36 zur physikalischen Datenübertragung.A Media Independent Interface 41 (MII) integrates the MAC sublayer of Layer 2 according to the seven-layer model, i.e. of the data lmk layer. This forms an interface to a module 36 for physical data transmission.
Weiterhin enthalt das MII 41 einen Transmit-Function-Block 42 sowie einen Receive-Function-Block 43. Darüber hinaus sind ein m der Figur 2 nicht dargestellter MAC-Control-Block, ein Adreßfilter, ein Statistikzahler und ein Host-Interface mte- griert. Über das Media-Independent-Interface können Steuer- und Konfigurationsdaten an den Baustein 36 übertragen und Statusinformationen von diesem gelesen werden. Die einzelnen Funktionen des Transmit-Function-Blocks 42 sind: Abbilden der zu sendenden Bytes, Erkennen von Kollisionen im Halbduplex- betrieb und Ausfuhren eines Back-Off-Algorithmus, Zurverfu- gungstellen von Transmit-Status-Informationen an die Einrichtung 40 nach Beenden eines Sendevorganges, Einhalten der Ruhezeit Inter-Packet-Gap (IPG) zwischen zwei Telegrammen, Erganzen der Sendedaten um eine Präambel, einen Start-Off- Frame-Delimeter (SFD) und ein parametrierbares Cyclic-Redun- dancy-Check-Wort (CRC) , Auffüllen eines Telegramms mit Pad- Bytes, wenn die Telegrammlange < 60 Byte wäre, und ein Abbrechen eines Sendevorj ngs auf Anforderung.The MII 41 also contains a transmit function block 42 and a receive function block 43. In addition, a MAC control block (not shown in FIG. 2), an address filter, a statistic payer and a host interface are integrated , Control and configuration data can be transmitted to the module 36 and status information can be read from it via the media-independent interface. The individual functions of the transmit function block 42 are: mapping of the bytes to be sent, detection of collisions in half-duplex operation and execution of a back-off algorithm, provision of transmit status information to the device 40 after termination of one Transmission process, compliance with the idle time inter-packet gap (IPG) between two telegrams, supplementing the transmission data with a preamble, a start-off-frame delimeter (SFD) and a parameterizable cyclic redundancy check word (CRC) , Filling a telegram with pad Bytes if the telegram length would be <60 bytes, and abort of a send operation on request.
Der Receive-Function-Block 43 stellt die empfangenen Bytes einer Einrichtung 44 zur Verfugung, die als Receive-Control bezeichnet wird. Der Receive-Function-Block 43 erkennt den Start-Of-Frame-Delimeter und eine VLAN-Frame. Er prüft das Langenfeld und das CRC-Wort in Telegrammen. Nach Beendigung des Empfangsvorgangs werden Receive-Status-Informationen der Einrichtung 44 zur Verfugung gestellt. Der Block 43 erkennt und entfernt bei Telegrammen Präambel und Start-Of-Frame- Delimeter. Unterschreitet der freie Speicherplatz m einem Receive-Buffer 45 des Ethernet-Kontrollers 28 im Vollduplex- Mode einen vorgegebenen Schwellwert, so sendet der MAC- Control-Block ein Pause-Steuer-Telegramm zur Flußkontrolle über den Baustein 36. Dieses Telegramm veranlaßt den angeschlossenen Netzwerkteilnehmer, so lange keine Datentelegramme an den Ethernet-Kontroller 28 zu senden, bis das mit dem Pause-Steuer-Telegramm gesendete Zeitintervall abgelaufen ist. Der Adreß-Filter fuhrt eine Telegrammfllterung entsprechend Unicast-, Multicast- und Broadcast-Adressen durch. Dazu wird die m einem Telegramm empfangene Zieladresse (DA) mit Filteradressen verglichen. Die Statistikzahler speichern statistische Informationen über Sende- und Empfangsopera- tionen. Das Host-Interface erlaubt den Zugriff auf Parameterregister und Statistikzahler des Ethernet-Kontrollers 28 durch den jeweils benachbarten Netzwerkteilnehmer.The receive function block 43 makes the received bytes available to a device 44, which is referred to as receive control. The receive function block 43 recognizes the start-of-frame delimeter and a VLAN frame. He checks the Langenfeld and the CRC word in telegrams. After the reception process has ended, receive status information is made available to the device 44. Block 43 recognizes and removes preambles and start-of-frame delimeters in the case of telegrams. If the free memory space in a receive buffer 45 of the Ethernet controller 28 falls below a predetermined threshold in full duplex mode, the MAC control block sends a pause control telegram for flow control via the module 36. This telegram causes the connected network subscriber to send no data telegrams to the Ethernet controller 28 until the time interval sent with the pause control telegram has expired. The address filter carries out telegram filtering in accordance with unicast, multicast and broadcast addresses. To do this, the destination address (DA) received in a telegram is compared with filter addresses. The statistic payers store statistical information about sending and receiving operations. The host interface allows access to parameter registers and statistics payer of the Ethernet controller 28 by the neighboring network participants.
Die Einrichtung 44 enthalt ein Steuerwerk, das für den Empfang von Telegrammen verantwortlich ist. Sie bildet die Schnittstelle zwischen dem internen Takt des Ethernet- Kontrollers 28 und dem Empfangstakt.The device 44 contains a control unit which is responsible for receiving telegrams. It forms the interface between the internal clock of the Ethernet controller 28 and the receive clock.
Der Receive-Buffer 45 hat eine Große von mehr als 3 Kilobyte. Er ist m einen Speicherbereich für hochpriore und m einen Speicherbereich für niederpriore Telegramme aufgeteilt. Das Verhältnis der beiden Speicherbereiche ist parametrierbar . Die Speicherbereiche sind jeweils als Ringpuffer realisiert.The receive buffer 45 has a size of more than 3 kilobytes. It is divided into a memory area for high priority and m a memory area for low priority telegrams. The The ratio of the two memory areas can be parameterized. The memory areas are each implemented as a ring buffer.
Der DMA-Kontroller 33 steuert den DMA-Transfer von einem der Receive-Buffer m den Ethernet-Kontrollern 28 ... 31 zum RAM 22. Der DMA-Transfer beginnt, wenn m einem der Receive-Buf- fer, beispielsweise im Receive-Buffer 45, die Anzahl der empfangenen Datenbytes einen parametrierbaren minimalen Füllstand erreicht hat oder ein Telegramm vollständig empfangen wurde. Gleichzeitig muß dieser Receive-Buffer von einem Modul 46, das als Switch-Control bezeichnet wird, für den DMA- Transfer selektiert sein.The DMA controller 33 controls the DMA transfer from one of the receive buffers m the Ethernet controllers 28 ... 31 to the RAM 22. The DMA transfer begins when m of the receive buffers, for example in the receive Buffer 45, the number of data bytes received has reached a parameterizable minimum fill level or a telegram has been completely received. At the same time, this receive buffer must be selected for the DMA transfer by a module 46, which is referred to as switch control.
Der Einrichtung 40 ist ein Multiplexer 47 vorgeschaltet, der durch eine Steuereinheit 46, die als Switch-Control bezeichnet wird, angesteuert wird.A multiplexer 47 is connected upstream of the device 40, which is controlled by a control unit 46, which is referred to as switch control.
Switch-Control 46 steuert die Datenweiterleitung zwischen den Ethernet-Kontrollern 28 ... 31 und das Abspeichern von emp- fangenen Daten, wenn sie für den jeweiligen Netzwerkteilnehmer bestimmt sind. Da die Anwendung der Erfindung nicht auf Netzwerke nach der Ethernet-Spezifikation beschrankt ist, werden die Ethernet-Kontroller 28...31 im folgenden auch allgemein als Port 1, Port 2, Port 3 bzw. Port 4 bezeichnet. Welche Ports für die Weiterleitung von empfangenen Daten freigegeben sind, ist abhangig von der Netzstruktur, m welche der Teilnehmer eingebunden ist. Als Funktion des Betriebszustandes, der Netzstruktur, der empfangenen Zieladresse und der Telegrammpπoπtat steuert Switch-Control 46 folgende Aktionen:Switch-Control 46 controls the forwarding of data between the Ethernet controllers 28 ... 31 and the storage of received data if they are intended for the respective network participant. Since the application of the invention is not limited to networks according to the Ethernet specification, the Ethernet controllers 28 ... 31 are also generally referred to below as port 1, port 2, port 3 or port 4. Which ports are released for the forwarding of received data depends on the network structure m the participant is involved in. Switch-Control 46 controls the following actions as a function of the operating state, the network structure, the received destination address and the telegram pπoπtat:
Ist die empfangene Zieladresse gleich der eigenen Teilnehmeradresse, so wird das empfangene Telegramm über das Mikroprozessor-Interface 25 m das RAM 22 übertragen, ohne es an andere Ports weiterzuleiten. - Wird an einem Port ein Broadcast-Telegramm empfangen, so wird das Telegramm m das RAM 22 übertragen und den ande- ren freigegebenen Ports zum Versenden zur Verfügung gestellt.If the received destination address is the same as the subscriber's own address, the received telegram is transmitted via the microprocessor interface 25 m to the RAM 22 without forwarding it to other ports. - If a broadcast telegram is received at a port, the telegram m is transferred to the RAM 22 and the other released ports for sending.
Wird an einem Port ein Telegramm mit einer Multicast-Ad- resse empfangen, die mit einer der in einer Filtertabelle 48 gespeicherten Multicast-Adressen übereinstimmt, so wird das Telegramm in das RAM 22 übertragen und den anderen freigegebenen Ports zum Versenden zur Verfügung gestellt. Ist die empfangene Zieladresse verschieden von der eigenen Teilnehmeradresse und den Multicast-Adressen, so wird das Telegramm den anderen freigegebenen Ports zum Versenden zur Verfügung gestellt, ohne zur Weiterverarbeitung abgespeichert zu werden.If a telegram with a multicast address that corresponds to one of the multicast addresses stored in a filter table 48 is received at a port, the telegram is transferred to the RAM 22 and made available to the other released ports for transmission. If the received destination address is different from the own subscriber address and the multicast addresses, the telegram is made available to the other released ports for sending without being saved for further processing.
Bei Telegrammen mit sogenannten VLAN-Bytes stehen beispielsweise acht Prioritätsebenen zur Verfügung. Stehen mehrere Telegramme gleichzeitig zum Versenden an, so wird die Sendereihenfolge der Telegramme entsprechend ihrer Übertragungspriorität festgelegt .Eight priority levels are available for telegrams with so-called VLAN bytes, for example. If several telegrams are waiting to be sent, the transmission order of the telegrams is determined according to their transmission priority.
In einem Betriebszustand Monitor-Mode werden alle Telegramme, welche die parametrierten Filterbedingungen erfül- len, in das RAM 22 übertragen.In a monitor mode operating state, all telegrams which meet the parameterized filter conditions are transmitted to the RAM 22.
Die Telegrammweiterleitung unter Berücksichtigung eines modifizierten Spanning-Tree-Algorithmus .Telegram forwarding taking into account a modified spanning tree algorithm.
Switch-Control 46 enthält noch weitere Parameter, deren Bedeutungen später noch genauer erläutert werden: EineSwitch-Control 46 contains other parameters, the meanings of which will be explained in more detail later: One
Reihenadresse RP3, die der an Port 3 angeschlossenen Reihe entspricht, eine Reihenadresse Rp4, welche die Adresse der an Port 4 angeschlossenen Reihe wiedergibt, eine Anzahl NRi der Übertragungsstrecken bis zum Port 1, eine Anzahl NR2 der Übertragungsstrecken bis zum Port 3, einen Wert | NRI - NR21 s des jeweiligen Netzwerkteilnehmers, einen Wert | NRi - NR21 Sender vom Sender eines empfangenen Port-Select-Telegramms, einen Betrag [ NR1 - NR21 min als kleinster bisher empfangener Wert, eine Quelladresse ASender eines empfangenen Telegramms, eine Quelladresse Ast0red des Telegramms mit dem kleinsten Wert von Betrag | NRi - NR2|min, eine beste empfangene Kombination (Root ID.Cost .Transmitter ID. Port ID) P3 für Port 3, eine beste empfangene KombinationRow address R P3 , which corresponds to the row connected to port 3, a row address Rp 4 , which represents the address of the row connected to port 4, a number N Ri of the transmission links to port 1, a number N R2 of the transmission links to port 3 , a value | N RI - N R2 1 s of the respective network participant, a value | N Ri - N R2 1 S forming the sender of a received port select telegram, an amount [N R1 - N R2 1 min as the lowest previously received value, a source address A Se Direction of a received message, a source address A st0 red of the telegram with the smallest value of Amount N Ri - N R2 | min , best received combination (Root ID.Cost .Transmitter ID. Port ID) P3 for port 3, one best combination received
(Root_ID.Cost .Transmιtter_ID.Port_ID) P4 für Port 4, eine beste empfangene Kombination (Root_ID. Cost . Transmιtter_ID. Post_ID) R der Reihe, einen Melde-Intervall-Zahler für eine Zykluszeit von Port-Select-Telegrammen, einen Timeout-Zahler für ein Timeout-Intervall an Port 1, einen Timeout-Zahler für ein Timeout-Intervall an Port 2, einen Timeout-Zahler für ein Timeout-Intervall an Port 3, einen Aktiv-Time-Zahler für ein Zeitintervall, das mit dem letzten Empfang eines Port-Select- Telegramms an Port 4 beginnt, einen Kombmations-Alterungs- zahler für ein maximales Zeitintervall, innerhalb dessen ein Konfigurationstelegramm empfangen werden muß, da sonst die gespeicherte Kombination Root_ID . Cost . Transmιtter_IC . Port_ID geloscht wird, einen Zahler für ein Zeitintervall
Figure imgf000017_0001
nach welchem ein Port 3 einer Reihe von inaktiv auf aktiv umschaltet, das der zweifachen Worst-Case- Durchlaufzeit eines Port-Select-Telegramms durch die Reihe entspricht, und einen Zahler für ein Zeitmtervall Δtnerdeiay/ nach welchem ein Port von potentiell aktiv auf aktiv umgeschaltet wird und welches der zweifachen Worst-Case-Durchlaufzeit eines Konfi- gurationstelegramms durch das Netzwerk entspricht.
(Root_ID.Cost .Transmιtter_ID.Port_ID) P4 for port 4, a best received combination (Root_ID. Cost. Transmιtter_ID. Post_ID) R of the series, a message interval counter for a cycle time of port select telegrams, a timeout Payer for a timeout interval on port 1, a timeout payer for a timeout interval on port 2, a timeout payer for a timeout interval on port 3, an active time payer for a time interval beginning with the last one Receipt of a port select telegram on port 4 begins, a combination aging counter for a maximum time interval within which a configuration telegram must be received, otherwise the stored combination Root_ID. Cost. Transmιtter_IC. Port_ID is deleted, a payer for a time interval
Figure imgf000017_0001
after which a port 3 of a series switches from inactive to active, which corresponds to twice the worst case throughput time of a port select telegram through the series, and a payer for a time interval Δt ne rdeiay / after which a port from potentially active to is actively switched and which corresponds to twice the worst case throughput time of a configuration telegram through the network.
In die Filtertabelle 48 können vom Anwender Multicast- und virtuelle LAN-Identifikationsadressen, sogenannte VLAN- Adressen, eingetragen werden. Ein Multicast- oder VLAN-The user can enter multicast and virtual LAN identification addresses, so-called VLAN addresses, in the filter table 48. A multicast or VLAN
Telegramm wird nur akzeptiert, wenn die empfangene Adresse mit einer der Adressen m der Filtertabelle 48 übereinstimmt.Telegram is only accepted if the received address matches one of the addresses m of the filter table 48.
Eine Einrichtung 50 zur Redundanzsteuerung soll m einem Netzwerk sicherstellen, daß erkannte physikalische Fehler die Kommunikation zwischen den Netzwerkkomponenten nicht beeinträchtigen. Zum einen besteht innerhalb jeder mit Netzwerkteilnehmern gebildeten Reihe Redundanz. Dazu müssen die m Reihe geschalteten Netzwerkteilnehmer einen Ring bilden, der im störungsfreien Fall an einer Stelle geöffnet ist, imA device 50 for redundancy control is intended to ensure in a network that detected physical errors do not impair communication between the network components. Firstly, there is redundancy within each row formed with network participants. To do this, the network participants connected in series must form a ring that is open at one point in the event of a fault, in the
Fehlerfall jedoch geschlossen werden kann. Zum anderen ist Redundanz mit mehreren Kommunikationskanalen zwischen den Reihen möglich. Dazu muß eine Reihe von Netzwerkteilnehmern über mindestens zwei Port3 mit einer benachbarten Reihe verbunden sein. Es ist _mmer nur ein Kommunikationskanal zwischen jeweils zwei Reihen aktiv, d.h. Datentelegramme werden nur über diesen Kommunikationspfad ausgetauscht. Ist ein aktiver Kommunikationskanal zwischen zwei Reihen als fehlerhaft erkannt, wird dieser deaktiviert und auf einen anderen Kommunikationskanal umgeschaltet. Zur Realisierung der Redundanz werden m der Einrichtung 50 ein Zykluszeitre- gister mit einer parametrierten Zykluszeit für Testtelegramme, ein Zykluszeitzahler zur Erzeugung eines Zykluszeitmter- valls, ein Steuerwerk für ein Umschalten auf einen redundanten Kommunikationskanal und für ein Veranlassen eines Versen- dens von sogenannten Lmk-Up oder Link-Down-Telegrammen, ein Reihenlaufzeitregister mit einer parametrierten Worst-Case- Durchlaufzeit eines Telegramms durch eine Reihe und ein Reihenlaufzeitzahler zur Erzeugung einer Reihenlaufzeit verwendet.However, an error can be closed. Secondly, there is redundancy with several communication channels between the Rows possible. To do this, a number of network participants must be connected to an adjacent row via at least two port 3 . There is always only one communication channel active between two rows, ie data telegrams are only exchanged via this communication path. If an active communication channel between two rows is identified as faulty, it is deactivated and switched to another communication channel. To implement the redundancy, the device 50 includes a cycle time register with a parameterized cycle time for test telegrams, a cycle time counter for generating a cycle time interval, a control unit for switching over to a redundant communication channel and for initiating the sending of so-called Lmk Up or link-down telegrams, a row runtime register with a parameterized worst case throughput time of a telegram through a row and a row runtime counter used to generate a row runtime.
Über eine Einrichtung 51 zur Interrupt-Steuerung, die auch als Interrupt-Control bezeichnet wird, werden dem Mikroprozessor 23 bestimmte Ereignisse mitgeteilt. Dabei handelt es sich im wesentlichen um Meldungen von gesendeten oder empfangenen Telegrammen und um Fehlermeldungen. Die Einrichtung 51 enthalt ein Interrupt-Request-Register, ein Interrupt-Mask- Register, ein Interrupt-Register sowie ein Interrupt- Acknowledge-Register . Im Interrupt-Request-Register wird jedes Ereignis abgespeichert. Über das Interrupt-Mask- Register können einzelne Ereignisse unterdruckt werden. Im Interrupt-Register erscheinen nur die Ereignisse, die vomCertain events are communicated to the microprocessor 23 via a device 51 for interrupt control, which is also referred to as interrupt control. These are essentially messages from telegrams sent or received and error messages. The device 51 contains an interrupt request register, an interrupt mask register, an interrupt register and an interrupt acknowledge register. Every event is stored in the interrupt request register. Individual events can be suppressed via the interrupt mask register. Only the events from the
Interrupt-Mask-Register nicht maskiert werden. Der Eintrag m das Interrupt-Request-Register ist dagegen unabhängig von der Interrupt-Maske im Interrupt-Mask-Register. Mit einem Schreibzugriff auf das Interrupt-Acknowledge-Register können Bits im Interrupt-Request-Register zurückgesetzt werden.Interrupt mask registers cannot be masked. The entry m the interrupt request register, however, is independent of the interrupt mask in the interrupt mask register. Bits in the interrupt request register can be reset with write access to the interrupt acknowledge register.
Ein Modul 52 enthalt spezielle Anwenderfunktionen, die m der Kommunikationsschnittstelle des Netzwerkteilnehmers zu integrieren sind. Eine Teilfunktion ist mit einem Modul 53 zur Uhrzeitsynchronisation, eine andere mit einem Modul 54 zur Aquidistanz realisiert, welche spater naher erläutert werden. Für die Ports 1 bis 4 ist jeweils ein Delay-Timer 1 bis 4 mit dem Bezugszeichen 57, 58, 59 bzw. 60 vorgesehen, welcher die Ubertragungszeit zwischen dem jeweiligen Netzwerkteilnehmer und dem über den jeweiligen Port angeschlossenen Netzwerkteilnehmer ermittelt. Der jeweilige Delay-Timer wird auch als Durchlaufzeit-Timer (DLZ-Timer) für den jewei- ligen Port genutzt. Weiterhin sind für jeden Port einA module 52 contains special user functions that m the communication interface of the network participant are integrate. A partial function is implemented with a module 53 for time synchronization, another with a module 54 for aquidistance, which will be explained in more detail later. A delay timer 1 to 4 with the reference numerals 57, 58, 59 and 60 is provided for ports 1 to 4, which determines the transmission time between the respective network subscriber and the network subscriber connected via the respective port. The respective delay timer is also used as a lead time timer (DLZ timer) for the respective port. There are also one for each port
Aquidistanz-Timer, ein Hilfs-Timer für eine Ubertragungszeit Δtx über den jeweiligen Port und ein Parameter ΔtDLjZ vorgesehen, welcher der Summe aus den Durchlaufzeiten m Sende- und Empfangsrichtung und der Leitungslaufzeit zwischen der Kommunikationsschnittstelle und dem über den jeweiligen Port angeschlossenen Netzwerkteilnehmer entspricht. Weiterhin befindet sich eine lokale Uhr 37 m dem Netzwerkteilnehmer, deren Uhrzeit über den Mikroprozessor-Bus 21 lesbar und einstellbar ist.Aquidistance timer, an auxiliary timer for a transmission time .DELTA.t x via the respective port and a parameter .DELTA.t DLjZ are provided, which corresponds to the sum of the throughput times in the send and receive direction and the cable runtime between the communication interface and the network subscriber connected via the respective port , There is also a local clock 37 m from the network subscriber, the time of which can be read and set via the microprocessor bus 21.
Ein integriertes Serial-Peripheral-Interface (SPI) 55 ist ein einfaches, aber leistungsfähiges serielles Bussystem zum Anschluß von Peripherie-Bausteinen, z.B. EEPROMs . Ein integriertes E/A-Interf ce 56 ist eine parallele Schnittstelle mit 12 parametπerbaren Ein- und Ausgangen. Über dieseAn integrated serial-peripheral interface (SPI) 55 is a simple but powerful serial bus system for connecting peripheral components, e.g. EEPROMs. An integrated I / O interface 56 is a parallel interface with 12 configurable inputs and outputs. About these
Schnittstelle können beispielsweise LEDs zur Zustandsanzeige angesteuert werden.Interface can be used to control LEDs for status display, for example.
Jeder Port der Kommunikationsschnittstelle kann parametrier- bar im Halbduplex- oder im Vollduplex-Mode betrieben werden. Wahrend an einem Port der Halbduplex-Mode eingestellt ist, kann gleichzeitig an einem anderen Port der Vollduplex-Mode parametriert sein. Im Vollduplex-Mode können gleichzeitig Telegramme gesendet und empfangen werden. Im Halbduplex-Mode ist dies nicht möglich.Each port of the communication interface can be parameterized operated in half-duplex or in full-duplex mode. While half-duplex mode is set on one port, full-duplex mode can be parameterized on another port at the same time. In full duplex mode, telegrams can be sent and received at the same time. This is not possible in half-duplex mode.
Ein applikationsspezifisches Anwendungsprogramm, das beispielsweise auf dem RAM 22 hinterlegt sein kann, tragt zu versendende Daten m eine Auftragsliste im RAM 22 ein. Der DMA-Kontroller 26 kopiert Daten aus dieser Auftragsliste m den Transmit-Buffer 27. Zusammengestellte Telegramme werden an die freigegebenen Ethernet-Kontroller 28 ... 31 weiter- gegeben. Tritt ein Sendekonflikt auf, weil durch Switch- Control 46 gesteuert gerade andere Telegramme durch das Kommunikations-Interface weitergeleitet werden, so sollte der Transmit-Buffer 27 zwei komplette Ethernet-Telegramme speichern können. Mit dem Senden der Daten aus dem Transmit- Buffer 27 wird begonnen, wenn eine zu parametrierende Anzahl Datenbytes oder ein komplettes Telegramm vom RAM 22 m den Transmit-Buffer 27 übertragen wurde und mindestens ein Ethernet-Kontroller frei ist. Das Telegramm bleibt so lange im Transmit-Buffer 27 gespeichert, bis es über alle frei- gegebenen Ethernet-Kontroller 28 ... 31 gesendet wurde. Die Anzahl der Datenbytes eines Telegramms, die mindestens im Transmit-Buffer 27 gespeichert sein müssen, bevor gesendet wird, ist so zu parametπeren, daß ein lückenloses Senden des Telegramms gewährleistet ist. Andernfalls wird das Telegramm von anderen Netzwerkteilnehmern fehlerhaft empfangen. Sind im Transmit-Buffer Telegramme unterschiedlicher Priorit t gespeichert, so werden die Telegramme entsprechend ihrer Uber- tragungsprioπtat gesendet.An application-specific application program, which can be stored, for example, on the RAM 22, contributes sending data m an order list in RAM 22. The DMA controller 26 copies data from this job list into the transmit buffer 27. Compiled telegrams are passed on to the released Ethernet controllers 28 ... 31. If a transmission conflict occurs because other telegrams are currently being routed through the communication interface, controlled by switch control 46, the transmit buffer 27 should be able to store two complete Ethernet telegrams. The transmission of the data from the transmit buffer 27 begins when a number of data bytes to be parameterized or a complete telegram from the RAM 22 m has been transmitted to the transmit buffer 27 and at least one Ethernet controller is free. The telegram remains stored in the transmit buffer 27 until it has been sent via all released Ethernet controllers 28 ... 31. The number of data bytes of a telegram, which must at least be stored in the transmit buffer 27 before being sent, must be parameterized in such a way that a seamless transmission of the telegram is guaranteed. Otherwise the telegram will be received incorrectly by other network participants. If telegrams of different priorities are stored in the transmit buffer, the telegrams are sent in accordance with their transmission priority.
Figur 3 zeigt ein Beispiel einer Verschaltung von dreiFigure 3 shows an example of an interconnection of three
Netzwerkteilnehmern 61, 62 und 63 m linienformiger Struktur. Zur besseren Übersichtlichkeit der Darstellung sind die Ports 1 bis 4 der Kommunikationsschnittstelle der Netzwerkteilnehmer 61, 62 und 63 m Schaltungstelle Tl bis T4 für Sende- richtung und Schaltungsteile Rl bis R4 für Empfangsrichtung untergliedert. Somit kann beispielsweise Port 2 auch kurz als Port T2/R2 bezeichnet werden. Für eine linienfor ige Struktur werden m der dargestellten Weise Port T2/R2 des Netzwerk- teilnehmers 61 mit Port Tl/Rl des Netzwerkteilnehmers 62 und Port T2/R2 des Netzwerkteilnehmers 62 mit Port Tl/Rl desNetwork participants 61, 62 and 63 m linear structure. For a better clarity of the representation, the ports 1 to 4 of the communication interface of the network participants 61, 62 and 63 m are subdivided into circuit locations T1 to T4 for the transmission direction and circuit parts R1 to R4 for the reception direction. For example, port 2 can also be referred to as port T2 / R2. For a linear structure, in the manner shown, port T2 / R2 of the network subscriber 61 with port T1 / R1 of the network subscriber 62 and port T2 / R2 of the network subscriber 62 with port T1 / R1 of the
Netzwerkteilnehmers 63 verbunden. Die Datenübertragung erfolgt jeweils mit einem Twisted-Pair-Kabel für jede Über- tragungsrichtung. Die beteiligten Ports können somit im Vollduplex-Mode betrieben werden. An die m Figur 3 offenen Ports T3/R3 und T4/R4 sowie an den Port Tl/Rl des Netzwerkteilnehmers 61 oder den Port T2/R2 des Netzwerkteilnehmers 63 können wahlweise Endgerate angeschlossen und somit an das Netzwerk angekoppelt werden.Network participant 63 connected. Data is transferred using a twisted pair cable for each transmission tragungsrichtung. The ports involved can thus be operated in full duplex mode. End devices can optionally be connected to the open ports T3 / R3 and T4 / R4 in FIG. 3 and to the port T1 / R1 of the network subscriber 61 or the port T2 / R2 of the network subscriber 63 and thus coupled to the network.
Figur 4 zeigt eine Reihe von Netzwerkteilnehmern 70, 71, 72 und 73, die jeweils über zwei Kommunikationskanale miteman- der Daten austauschen können. Die Kommunikationskanale werden jeweils durch eine Verbindung des Ports T2/R2 mit dem Port Tl/Rl des benachbarten Netzwerkteilnehmers sowie des Ports T4/R4 mit dem Port T3/R3 des benachbarten Netzwerkteilnehmers m der dargestellten Weise realisiert. Damit kann beispiels- weise ein hochpπorer und ein niederpπorer Kommunikationskanal aufgebaut und der Datendurchsatz verdoppelt werden. Ein Datenaustausch zwischen den Kommunikationskanalen findet nicht statt, d.h. ein am Schaltungstell Rl empfangenes Telegramm kann - falls erforderlich - nur vom Schaltungsteil T2 weitergesendet werden. Beide Kommunikationskanale werden im Vollduplex-Mode betrieben.FIG. 4 shows a number of network participants 70, 71, 72 and 73, each of which can exchange some data via two communication channels. The communication channels are each realized by connecting the port T2 / R2 to the port T1 / R1 of the adjacent network subscriber and the port T4 / R4 to the port T3 / R3 of the adjacent network subscriber m in the manner shown. For example, a high-pore and a low-pore communication channel can be set up and the data throughput doubled. There is no data exchange between the communication channels, i.e. a telegram received at the switching point R1 can - if necessary - only be forwarded by the switching part T2. Both communication channels are operated in full duplex mode.
Ein Beispiel für eine zweidimensionale Verschaltung der Netzwerkteilnehmer zeigt Figur 5. Netzwerkteilnehmer 80, 81 und 82 sind m der bereits anhand Figur 3 beschriebenen Weise zu einer Reihe verschaltet. Weiterhin bilden Netzwerkteilnehmer 83, 84 und 85 eine Reihe sowie Netzwerkteilnehmer 86, 87 und 88 bilden eine Reihe. 7An den Ports T4/R4 der Netzwerkteilnehmer 80, 81 und 84 sind jeweils Endgerate 89, 90 bzw. 91 angeschlossen, an den Ports T3/R3 der Netzwerkteilnehmer 83, 84 und 87 befinden sich Endgerate 92, 93 bzw. 94. Durch Verbinden des Ports T4/R4 des Netzwerkteilnehmers 82 mit dem Port T3/R3 des Netzwerkteilnehmers 85 ist ein Kommunikationskanal zwischen den jeweiligen Reihen realisiert. In ent- sprechender Weise sind zwei Kommunikationskanale zwischen den Netzwerkteilnehmern 83 und 86 sowie zwischen den Netzwerkteilnehmern 85 und 88 gebildet. Damit Schleifenfreiheit im Netzwerk besteht, darf von diesen jedoch immer nur ein Kommu¬ nikationskanal zu einem Zeitpunkt aktiv geschaltet sein.FIG. 5 shows an example of a two-dimensional interconnection of the network subscribers. Network subscribers 80, 81 and 82 are interconnected in a row in the manner already described with reference to FIG. In addition, network participants 83, 84 and 85 form a series and network participants 86, 87 and 88 form a series. 7Terminals 89, 90 and 91 are connected to ports T4 / R4 of network participants 80, 81 and 84, and terminals 92, 93 and 94 are connected to ports T3 / R3 of network participants 83, 84 and 87. By connecting the Ports T4 / R4 of network participant 82 with port T3 / R3 of network participant 85 provide a communication channel between the respective rows. Correspondingly, two communication channels are formed between the network participants 83 and 86 and between the network participants 85 and 88. So that loop freedom in Network is, however, allowed to be activated only one commu ¬ nikationskanal at a time from them.
Den aus den Teilnehmern 80 bis 82, 83 bis 85 und 86 bis 88 gebildeten Reihen ist jeweils eine eindeutige Reihenadresse R], zugewiesen, die m einem Parameterregister „Reihenadresse* hinterlegt ist.The rows formed from the participants 80 to 82, 83 to 85 and 86 to 88 are each assigned a unique row address R], which is stored in a parameter register “row address *”.
Zur Verdeutlichung der Redundanzsteuerung ist m Figur 6 ein weiteres zweidimensionales Netzwerk dargestellt. Jeweils 8A further two-dimensional network is shown in FIG. 6 to clarify the redundancy control. 8 each
Netzwerkteilnehmer 100 ... 107, 110 ... 117, 120 ... 127 und 130 ... 137 sind m einer Reihe verschaltet. Sowohl die mit durchbrochenen Linien als auch die mit durchgezogenen Linien eingezeichneten Verbindungen zwischen den Netzwerkteilnehmern stellen Kommunikationskanale dar. Es muß jedoch sichergestellt sein, daß zwischen zwei beliebigen Netzwerkteilnehmern im gesamten Netzwerk nur ein einziger Kommunikationspfad benutzt wird. Bei mehreren möglichen Kommunikationspfaden wurden Schleifen auftreten, d.h. Telegramme wurden sich ver- vielfachen und zirkulieren. Um solche Situationen zu vermeiden, ist der Spannmg-Tree-Algorithmus entwickelt worden. Datentelegramme werden nur von Ports empfangen, zu Ports weitergeleitet und von Ports gesendet, die im Spannmg-Tree enthalten sind. Die restlichen Ports sind deaktiviert. Deak- tivierte Kommunikationskanale sind m Figur 6 mit durchbrochenen Linien dargestellt, aktivierte mit durchgezogenen Linien. Für eine Redundanz innerhalb einer Reihe werden die beiden Linienenden, beispielsweise an den Netzwerkteilnehmern 100 und 107, miteinander verbunden. Im fehlerfreien Fall wird der auf diese Weise geschaffene Kommunikationskanal deaktiviert, im Fehlerfall m den aktiven Zustand versetzt. Diese Redundanz setzt eine nicht unterbrochene Linienstruktur voraus. Da der Spanning-Tree-Algoπthmus gegebenenfalls auch eine Verbindung über die Ports Tl/Rl und T2/R2 unterbrechen wurde, kann er nicht unverändert angewendet werden. Im folgenden wird ein Verfahren vorgestellt, das für ein Netzwerk aus zusammengeschalteten Reihen von Netzwerkteilnehmern Schleifenfreiheit sicherstellt, ohne eine Reihe unterbrechen zu müssen. Dazu werden - falls erforderlich - nur die Ports T3/R3 deaktiviert. Es darf immer nur ein Kommunikationskanal zwischen jeweils zwei Reihen aktiv sein, d.h., Datentelegram- me werden über diesen Kommunikationspfad ausgetauscht. Über die anderen Kommunikationspfade zwischen zwei Reihen erfolgt kein Datenaustausch. Die Auswahl des einzigen aktiven Kommunikationskanals zwischen jeweils zwei Reihen erfolgt mit Hilfe von Port-Select-Telegrammen . Dabei handelt es sich um Telegramme, die nur innerhalb einer Reihe weitergeleitet werden. Ein Austausch zwischen den Reihen findet nicht statt.Network nodes 100 ... 107, 110 ... 117, 120 ... 127 and 130 ... 137 are connected in a row. Both the broken lines and the solid lines between the network participants represent communication channels. However, it must be ensured that only one communication path is used between any two network participants in the entire network. Loops would occur with several possible communication paths, ie telegrams would multiply and circulate. The Spannmg-Tree algorithm has been developed to avoid such situations. Data telegrams are only received by ports, forwarded to ports and sent by ports that are contained in the voltage tree. The remaining ports are deactivated. Deactivated communication channels are shown with broken lines in FIG. 6, activated with solid lines. For redundancy within a row, the two line ends are connected to one another, for example at network participants 100 and 107. In the case of an error, the communication channel created in this way is deactivated, and in the case of an error m the active state is set. This redundancy requires an uninterrupted line structure. Since the spanning tree algorithm may have also interrupted a connection via the ports T1 / R1 and T2 / R2, it cannot be used unchanged. In the following a method is presented that is used for a network of interconnected rows of network participants Ensures loop freedom without having to break a row. If necessary, only ports T3 / R3 are deactivated. Only one communication channel may be active between two rows at a time, ie data telegrams are exchanged via this communication path. There is no data exchange via the other communication paths between two rows. The selection of the only active communication channel between two rows takes place with the help of port select telegrams. These are telegrams that are only forwarded within a row. There is no exchange between the rows.
Aufgabe dieser Port-Select-Telegramme ist es, einen Netzwerkteilnehmer zu finden, der über den Port T3/R3 mit einer benachbarten Reihe verbunden ist und bezogen auf die Anzahl der Netzwerkteilnehmer von beiden Enden der Linienstruktur möglichst gleich weit entfernt ist, d.h. den kleinsten Abstand von der Reihenmitte hat. Diese Eigenschaften definieren den einzigen Netzwerkteilnehmer der Reihe, der über Port T3/R3 aktiv mit einer benachbarten Reihe verbunden ist. Alle weiteren Verbindungen über Ports T3/R3 von Netzwerkteilnehmern derselben Reihe zu dieser benachbarten sind deaktiviert. Über deaktivierte Kommunikationskanale werden keine Datentelegramme ausgetauscht.The task of these port select telegrams is to find a network participant that is connected to an adjacent row via port T3 / R3 and is as far away from both ends of the line structure as possible based on the number of network participants, i.e. has the smallest distance from the center of the row. These properties define the only network participant in the series that is actively connected to an adjacent series via port T3 / R3. All other connections via ports T3 / R3 from network participants of the same row to this neighboring row are deactivated. No data telegrams are exchanged via deactivated communication channels.
Port-Select-Telegramme werden durch eine Kennung im Type-Feld eindeutig gekennzeichnet.Port select telegrams are clearly identified by an identifier in the type field.
Figur 7 zeigt das Ergebnis der Redundanzsteuerung bei einem zweidimensionalen Netzwerk m einer anderen Darstellungsart . Die m den einzelnen Kasten eingetragene Zahl entspricht der jeweiligen Adresse des Netzwerkteilnehmers. Der Port Tl/Rl befindet sich an der linken Seite, der Port T2/R2 an der rechten Seite, der Port T3/R3 an der oberen Seite und der Port T4/R4 an der unteren Seite der Netzwerkteilnehmer. Durch zwei durchgezogene parallele Linien zwischen zwei Teilnehmern ist jeweils ein aktiver, im Vollduplex-Mode betriebener Kommunikationskanal eingezeichnet. Die mit zwei durchbroche¬ nen Linien eingezeichneten Kommunikationskanale sind deaktiviert .FIG. 7 shows the result of the redundancy control in a two-dimensional network in a different type of representation. The number entered in the individual boxes corresponds to the respective address of the network participant. Port Tl / Rl is on the left, port T2 / R2 on the right, port T3 / R3 on the top and port T4 / R4 on the bottom of the network participants. With two solid parallel lines between two participants, there is an active one, operated in full duplex mode Communication channel shown. The machines with two through broche ¬ lines drawn communication channels are deactivated.
Der Datenbereich von Port-Select-Telegrammen, die über Port T2/R2 von einem Netzwerkteilnehmer empfangen werden, enthalt Informationen über die Anzahl NR der Ubertragungsstrecken zwischen Port Tl/Rl des Netzwerkteilnehmers am „rechten" Rand der Reihe und dem Port T2/R2 des jeweiligen Netzwerkteilneh- mers und enthalt die Anzahl NRi des Teilnehmers, der das empfangene Port-Select-Telegramm als letzter weitergeleitet bzw. gesendet hat.The data area of port select telegrams that are received by a network participant via port T2 / R2 contains information about the number N R of the transmission links between port Tl / Rl of the network participant on the “right” edge of the row and the port T2 / R2 of the respective network subscriber and contains the number N Ri of the subscriber who was the last to forward or send the received port select telegram.
Der Datenbereich von Port-Select-Telegrammen, die über Port Tl/Rl empfangen werden, enthalt die Anzahl Nr der Ubertragungsstrecken zwischen dem Port T2/R2 des Netzwerkteilnehmers am „linken* Rand der Reihe und dem Port Tl/Rl des jeweiligen Netzwerkteilnehmers sowie die Anzahl NR , die für den Netzwerkteilnehmer gültig ist, der das empfangene Port-Select- Telegramm als letzter weitergeleitet oder gesendet hat.The data area of port select telegrams that are received via port T1 / R1 contains the number N r of transmission links between port T2 / R2 of the network participant at the "left * edge of the row and the port T1 / R1 of the respective network participant as well the number N R that is valid for the network participant that was the last to forward or send the received port select telegram.
Unabhängig davon, über welchen Port ein Port-Select-Telegramm empfangen wurde, enthalt es den Wert I NR] - NR Inιt-latoI beim Initiator des empfangenen Port-Select-Telegramms, die 16-Bιt- Adresse Rt (0 < k < p, p Anzahl der Reihen) der Reihe, welcher der Initiator des Port-Select-Telegramms angehört, und ein Valid-Bit V für den empfangenen Wert von |NR1 - NR limt-iator und für die Reihenadresse Rk . V = 0 bedeutet, daß die empfangenen Werte ungültig sind. Ein derartiges Port- Select-Telegramm wurde von einem Netzwerkteilnehmer m dieRegardless of the port via which a port select telegram was received, it contains the value IN R] - N R Inιt - latoI at the initiator of the received port select telegram, the 16 bit address R t (0 <k <p, p number of rows) of the row to which the initiator of the port select telegram belongs, and a valid bit V for the received value of | N R1 - N R limt-iator and for the row address R k . V = 0 means that the received values are invalid. Such a port select telegram was sent by a network participant
Reihe eingespeist, der nicht über einen betriebsbereiten Port T3/R3 mit seiner benachbarten Reihe verbunden ist. Bei V = 1 sind die empfangenen Werte gültig. Das Port-Select- Telegramm wurde von einem Netzwerkteilnehmer m die Reihe eingespeist, der über einen betriebsbereiten Port T3/R3 mit einer benachbarten Reihe verbunden ist. Eine Verbindung zur benachbarten Reihe ist betriebsbereit, wenn innerhalb eines parametrierbaren Zeitmtervalles Δtt-ιmeθu- (Timeout-Intervall) ein Port-Select-Telegramm an Port P3/R3 empfangen wird. Dies ist nur möglich, wenn der Port T3/R3 des Netzwerkteilnehmers der eigenen Reihe und der Port T4/R4 des Netzwerkteilnehmers der benachbarten Reihe jeweils m einem Zustand „lmk-pass* ist. In diesem Zustand können Telegramme in beiden Richtungen übertragen werden.Row fed, which is not connected to its neighboring row via a ready port T3 / R3. If V = 1, the received values are valid. The port select telegram was fed in by the network subscriber m the row, which is connected to an adjacent row via an operational port T3 / R3. A connection to the neighboring row is ready for operation if within a parameterizable time interval Δtt- ιmeθ u- (timeout interval) a port select telegram is received at port P3 / R3. This is only possible if the port T3 / R3 of the network subscriber in its own row and the port T4 / R4 of the network subscriber in the adjacent row are each in an “lmk-pass *” state. In this state, telegrams can be transmitted in both directions.
Im eingeschwungenen Zustand sendet in jeder Reihe nur noch der Netzwerkteilnehmer zyklisch, d.h. m jedem Meldeintervall ΔtM, Port-Select-Telegramme, der als einziger über Port T3/R3 aktiv mit der nächsten Reihe verbunden ist. Damit laßt sich erkennen, ob diese Verbindung zweier Reihen noch aktiv ist. Im folgenden wird ein Verfahren beschrieben, nach welchem dieser Netzwerkteilnehmer bestimmt werden kann:In the steady state, only the network participant in each row sends cyclically, ie m every reporting interval Δt M , port select telegrams, which is the only one actively connected to the next row via port T3 / R3. This shows whether this connection between two rows is still active. A method is described below according to which this network participant can be determined:
1. Netzwerkteilnehmer senden weiterzuleitende oder selbst zusammengestellte Port-Select-Telegramme zusatzlich über ihren Port T3/R3.1. Network participants also send port select telegrams to be forwarded or compiled themselves via their port T3 / R3.
2. Am Empfang eines Port-Select-Telegramms über den Port T3/R3 erkennt jeder Netzwerkteilnehmer, ob er über diesen Port mit einer anderen Reihe verbunden ist. Netzwerkteilnehmer setzen das Valid-Bit V auf eins, wenn über den Port T3/R3 ein Port-Select-Telegramm empfangen wurde .2. Upon receipt of a port select telegram via port T3 / R3, each network participant recognizes whether it is connected to another row via this port. Network participants set the valid bit V to one if a port select telegram has been received via port T3 / R3.
3. Am Port T3/R3 empfangene Port-Select-Telegramme werden unverändert dem Sender zurückgeschickt. Der Netzwerkteil- nehmer speichert zuvor die mit dem Port-Select-Telegramm empfangene Adresse Rn der über Port T3/R3 angeschlossenen Reihe .3. Port select telegrams received on port T3 / R3 are sent back to the sender unchanged. The network participant previously saves the address R n received with the port select telegram of the row connected via port T3 / R3.
4. Dem Port T3/R3 ist ein Timeout-Zahler zugeordnet, der mit einem einstellbaren Takt mkrementiert wird. Jedes an4. A timeout counter is assigned to port T3 / R3, which is incremented with an adjustable clock. Each one
Port T3/R3 empfangene Port-Select-Telegramm setzt diesen Zahler zurück. Der Netzwerkteilnehmer setzt das Valid-Bit V auf Null, wenn lrnerhalb eines parametπerbaren Timeout-Intervalls Δtt-meo - kein Port-Select-Telegramm empfan¬ gen wird.Port T3 / R3 received port select telegram resets this payer. The network participant sets the valid bit V to zero when lrnerhalb a parametπerbaren timeout interval Δtt-m eo - is gen no port select message are received, ¬.
5. Netzwerkteilnehmer senden weiterzuleitende oder selbst zusammengestellte Port-Select-Telegramme zusatzlich über Port T4/R4.5. Network participants also send port select telegrams to be forwarded or compiled themselves via port T4 / R4.
6. Am Empfang eines Port-Select-Telegramms über Port T4/R4 erkennt ein Netzwerkteilnehmer, daß er über diesen Port mit einer anderen Reihe verbunden ist.6. When a port select telegram is received via port T4 / R4, a network participant recognizes that it is connected to another row via this port.
7. Am Port T4/R4 empfangene Port-Select-Telegramme werden unverändert dem Sender zurückgeschickt. Der Netzwerk- teilnehmer speichert zuvor die mit dem Port-Select-Telegramm empfangene Adresse Rr der über Port T4/R4 angeschlossenen Reihe.7. Port select telegrams received on port T4 / R4 are sent back to the sender unchanged. The network participant previously saves the address R r received with the port select telegram of the row connected via port T4 / R4.
8. Netzwerkteilnehmer versenden eigene, d.h. selbst zusammengestellte, Port-Select-Telegramme8.Network participants send their own, i.e. self-made, port select telegrams
8.1. über Port Tl/Rl mit NR2 = 1 und Port T2/R2 mit NR1 = 1 bei der Initialisierung mit Betrag I NR1 - NR_. Iι,ntlar r = FFH und Valid-Bit V = 1, wenn bereits ein Port- Select-Telegramm über Port T3/R3 empfangen wurde, oder Valid-Bit V = 0, wenn kein Port-Select-Telegramm über Port T3/R3 empfangen wurde. 8.2 über Tl/Rl mit NR2 = 1 und Port T2/R2 mit (NRi+l), wenn innerhalb eines parametrierbaren Zeitintervalls Δtt-imeoj- an Port T2/R2 kein Port-Select-Telegramm oder Datentelegramm empfangen wurde. Dem Port T2/R2 ist ein Timeout-Zahler zugeordnet, der mit einem einstellbaren Takt mkrementiert wird. Jedes an Port T2/R2 empfangene Port-Select-Telegramm oder Datentelegramm setzt diesen Zahler zurück. 8.3 über Port Tl/Rl mit (NR2emFf + 1) und Port T2/R2 mit (NRι + 1), wenn an Port T2/R2 ein Port-Select-Telegramm empfangen wird mit dem empfangenen Wert ungleich dem gespeicherten Wert von NR2. Zusätzlich wird NR2empf abgespeichert.8.1. via port T1 / R1 with N R2 = 1 and port T2 / R2 with N R1 = 1 during initialization with amount IN R1 - N R _. Iι, nt la r r = FFH and valid bit V = 1 if a port select telegram has already been received via port T3 / R3, or valid bit V = 0 if no port select telegram has been received via port T3 / R3 was received. 8.2 via Tl / Rl with N R2 = 1 and port T2 / R2 with (N Ri + l) if no port select telegram or data telegram was received within a parameterizable time interval Δtt-imeoj- at port T2 / R2. A timeout counter is assigned to port T2 / R2, which is incremented with an adjustable clock. Each port select telegram or data telegram received on port T2 / R2 resets this payer. 8.3 via port Tl / Rl with (N R2e m F f + 1) and port T2 / R2 with (N R ι + 1), if a port select telegram is received at port T2 / R2 with the received value not equal to the stored value of N R2 . In addition, N R2e mpf is stored.
8.4 über Port T2/R2 mit (NR1+1), wenn an Port T2/R2 ein Port-Select-Telegramm empfangen wird mit NR1Lastsender ungleich (NRi+l) .8.4 via port T2 / R2 with (N R1 +1), if a port select telegram is received at port T2 / R2 with N R1 load sender not equal (N Ri + l).
8.5 über Port T2/R2 mit NRi = 1 und Port Tl/Rl mit (NR2+1), wenn innerhalb eines parametrierbaren Zeitintervalls Δtimeout an Port Tl/Rl kein Port-Select-Telegramm oder Daten-Telegramm empfangen wurde. Dem Port Tl/Rl ist ein Timeout-Zähler zugeordnet, der mit einem einstellbaren Takt inkrementiert wird. Jedes an Port Tl/Rl empfangene Port-Select- oder Daten-Telegramm setzt diesen Zähler zurück.8.5 via port T2 / R2 with N Ri = 1 and port Tl / Rl with (N R2 +1), if no port select telegram or data telegram was received within a parameterizable time interval Δti meout at port Tl / Rl. A timeout counter is assigned to the port T1 / R1, which is incremented with an adjustable clock. Each port select or data telegram received at port Tl / Rl resets this counter.
8.6 über Port T2/R2 mit (NRlempf+l) und Port Tl/Rl mit (NR2+1) , wenn an Port Tl/Rl ein Port-Select-Telegramm empfangen wird mit einem empfangenen Wert NRιempf ungleich dem gespeicherten Wert von NR1. Zusätzlich wird NRiempf abgespeichert.8.6 via port T2 / R2 with (N Rlemp f + l) and port Tl / Rl with (N R 2 + 1) if a port select telegram is received at port Tl / Rl with a received value N R ι emp f not equal to the stored value of N R1 . In addition, N R iempf is stored.
8.7 über Port Tl/Rl mit (NR+1), wenn an Port Tl/Rl ein Port-Select-Telegramm empfangen wird mit NRiaGtserιd ι ungleich (NR2+1 ) .8.7 via port Tl / Rl with (N R +1) if a port select telegram is received at Port Tl / Rl with N R i aGt s e rιd ι not equal (N R2 +1).
9. Netzwerkteilnehmer, die über einen betriebsbereiten9. Network participants that are ready for operation
Kommunikationskanal über Port T3/R3 an eine andere Reihe angeschlossen sind und ein Port-Select-Telegramm mit einem auf eins gesetzten Valid-Bit V empfangen, vergleichen INRI - NR2 limtiaor vom empfangenen Port-Select-Telegramm mit Betrag |NRι - NR |s der eigenen Station: 9.1 Ist |NRI - NR itiat r < I R1 - NR2 |3, so wird |NRI - NR2 lim iaor im* Datenfeld des Port-Select-Tele¬ gramms bei der Weiterleitung nicht geändert. Der Netzwerkteilnehmer speichertCommunication channel are connected to another row via port T3 / R3 and receive a port select telegram with a valid bit V set to one, compare IN RI - N R2 limtiaor of the received port select telegram with amount | N R ι - N R | s of one's own station: 9.1 Is | N R I - N R itiat r <I R1 - N R2 | N R2 lim iaor in * data field of the port select Tele ¬ program not changed when forwarding - N RI | 3, it is. The network participant saves
INRI - NR2 Imm = I NRI - NR limtiator und setzt die Adresse stored = AInιtιator. AIriltI3tor ist die Quelladresse des empfangenen Port-Select-Telegramms. Der WertINRI - N R2 Imm = I NRI - N R limtiator and sets the address stored = A Inιtιat or. A IriltI3tor is the source address of the received port select telegram. The value
[NRI - NR ist der Abstand der empfangenden Station von der Reihenmitte. 9 . 2 I st | NR1 - NR2 limtiator = I NRi - NR2 , so wird Aimtiator mit der eigenen Stationsadresse As verglichen :[N RI - N R is the distance of the receiving station from the center of the row. 9. 2 I st | N R1 - N R2 li m tiato r = IN Ri - N R2 , Aimtiator is compared with its own station address A s :
Bei Aimtiator < A s wird das Port-Select-Telegramm ohne Änderung im Datenfeld mit I NRi - NR2 limtiator weiterge- leitet . Der Netzwerkteilnehmer speichertWith Aimtiator <A s , the port select telegram is forwarded with IN Ri - N R2 limtiator without changing the data field. The network participant saves
I NRI - NR2 Imin = I NRI - NR2 Is Und Ast_ored = Aimti ator .I NRI - N R 2 Imin = I NRI - N R2 Is And A s t_ored = Aimti ator.
Ist Aimtiator = AΞ, so wird das empfangene Port-Select- Telegramm herausgefiltert, da dieser Fall nur bei einem Fehler möglich ist. Ist Amtiator > As, so wird das empfangene Port-Select-If Aimtiator = A Ξ , the received port select telegram is filtered out, since this case is only possible in the event of an error. If Amtiator> A s , the received port select
Telegramm herausgefiltert und ein eigenes Port- Select-Telegramm mit | NRι - NR2 limtiator gesetzt auf |NR1 - NR IS über die Ports Tl/Rl und T2/R2 gesendet. Der Netzwerkteilnehmer speichert I NRI - R lml n = I NR1 - NR2 Is , Und Asto red = s .Filtered out telegram and a separate port select telegram with | N R ι - N R2 limtiator set to | N R1 - N R I S sent via the ports T1 / R1 and T2 / R2. The network participant stores I NRI - R l ml n = IN R1 - N R2 Is, and A s to red = s .
9.3 Ist |NRI - NR2 limtiator > I NRi - NR2 , so wird das empfangene Port-Select-Telegramm gefiltert und ein eigenes Port-Select-Telegramm mit I N - NR2 limtiator gesetzt auf I NR1 - NR2 |s über die Ports Tl/Rl und T2/R2 gesendet. Der Netzwerkteilnehmer speichert9.3 If | NRI - N R2 limtiator> IN Ri - N R2 , the received port select telegram is filtered and a separate port select telegram with IN - N R2 limtiator is set to IN R1 - N R2 | s sent via the ports T1 / R1 and T2 / R2. The network participant saves
I NRI - NR2 lmln = I NRI - NR2 Is Und Astored = As .I NRI - N R2 l mln = I NRI - N R2 Is And Astored = A s .
10. Netzwerkteilnehmer, die nicht oder über einen nicht betriebsbereiten Kommunikationskanal über Port T3/R3 an eine andere Reihe angeschlossen sind und ein Port-Select- Telegramm mit einem Valid-Bit V = 1 empfangen, leiten das Telegramm mit dem empfangenen Valid-Bit V und dem Wert I NRI - NR2 limtiator innerhalb der Reihe weiter. Der Netzwerkteilnehmer speichert I RI - NR2 Imm = | NRI - NR2 limti ato r Und Astored = Aim t i ator -10. Network participants that are not connected or connected to another row via a non-operational communication channel via port T3 / R3 and receive a port select telegram with a valid bit V = 1 route the telegram with the received valid bit V and the value IN RI - N R2 limtiator within the series. The network participant stores I RI - NR 2 Imm = | NRI - N R2 limti ato r und A st ored = Aim ti ator -
11. Netzwerkteilnehmer, die ein Port-Select-Telegramm mit einem Valid-Bit V = 0 empfangen, leiten das Telegramm mit V = 0 und dem Wert I NRi - NR2 limtiator innerhalb der Reihe weiter. Die gespeicherten Werte von | NRi - NR2 |mιn und AΞt=red bleiben unverändert. 12. Ein betriebsbereiter Port T3/R3 wird aktiv geschaltet, wenn |NRi - NR2 Lm = INR1 - NR ls und Ast0red = As gespeichert ist. Dies gilt für einen Zeitraum Δtwdeiay der mindestens der zweifachen Worst-Case-Durchlaufzeit eines Port-Se- lect-Telegra ms durch eine Reihe entspricht.11. Network participants that receive a port select telegram with a valid bit V = 0 forward the telegram with V = 0 and the value IN Ri - N R2 limtiator within the row. The stored values of | N Ri - N R2 | mιn and A Ξt = red remain unchanged. 12. An operational port T3 / R3 is activated when | N Ri - N R2 Lm = IN R1 - N R l s and A st0 red = A s is saved. This applies for a period of time Δt wdeiay which corresponds to at least twice the worst case throughput time of a port select telegram through a series.
13. Ein aktiver Port T3/R3 eines Netzwerkteilnehmers wird deaktiviert, wenn der Netzwerkteilnehmer innerhalb des Timeout-Intervalls Δttimeout kein Port-Select-Telegramm von einer anderen Reihe empfängt. Zusätzlich wird der Kommu¬ nikationskanal über den Port T3/R3 zur anderen Reihe als nicht betriebsbereit gekennzeichnet.13. An active port T3 / R3 of a network participant is deactivated if the network participant does not receive a port select telegram from another row within the timeout interval Δt t i m eout. In addition, the Kommu ¬ nikationskanal through the port T3 / R3 is in the other row as not operational.
Ein aktiver Port T3/R3 wird ebenfalls deaktiviert, wenn der Netzwerkteilnehmer ein Port-Select-Telegramm empfängt mit |NRI - NR2 limtiator < I NRi - NR S oderAn active port T3 / R3 is also deactivated when the network participant receives a port select telegram with | NRI - N R2 limtiator <IN Ri - N RS or
IN I - NR2 limtiator = I NRi - NR S und Aimtiator < As . Dieser Netzwerkteilnehmer speichert die empfangenen Werte INRI - NR2 limtiaor und Aιnιtιator und leitet das empfangene Telegramm weiter. Der Kommunikationskanal über den Port T3/R3 zur anderen Reihe bleibt betriebsbereit.IN I - N R2 limtiator = IN Ri - N RS and activator <A s . This network participant stores the received values IN RI - N R2 limtiaor and Aι nιt ιator and forwards the received telegram. The communication channel via port T3 / R3 to the other row remains operational.
14. Netzwerkteilnehmer, die über einen betriebsbereiten Kommunikationskanal über Port T3/R3 an eine andere Reihe angeschlossen sind, senden zyklisch in jedem Meldeinter- vall ΔtM eigene Port-Select-Telegramme.14. Network nodes that are connected to another row via an operational communication channel via port T3 / R3 send their own port select telegrams cyclically in each message interval Δt M.
14.1 über den Port Tl/Rl mit (NRi+l) und den Port T2/R214.1 via the port Tl / Rl with (N Ri + l) and the port T2 / R2
(NRI+1), wenn ein aktiver Port T3/R3 deaktiviert wird, mit I NRi - NR2 limtiaor = FFH ist und Valid-Bit V = 1, bis ein Port-Select-Telegramm eines anderen Netzwerkteilnehmers empfangen wird;(N RI +1), if an active port T3 / R3 is deactivated, with IN Ri - N R2 limtiaor = FFH and valid bit V = 1 until a port select telegram from another network participant is received;
14.2 über den Port Tl/Rl mit (NR2+1) und den Port T2/R2 mit (NRI+1), wenn innerhalb eines parametrierbaren Zeitintervalls Δttlme-ut weder an Port Tl/Rl noch an Port T2/R2 ein Port-Select-Telegramm oder Daten- telegramm von dem Netzwerkteilnehmer mit dem einzigen aktiven Kommunikationskanal zur benachbarten Reihe empfargen wurde, d.h. ein Telegramm mit der Quelladresse A ored 14.3 über den Port Tl/Rl mit (NR,+1) und den Port T2/R2 mit (NRI+1), wenn |NRI - NR2 |mn = I NRi - NR2 |s und Astored = As gespeichert ist.14.2 via port Tl / Rl with (N R2 +1) and port T2 / R2 with (N RI +1), if within a parameterizable time interval Δt tlme -ut neither at port Tl / Rl nor at port T2 / R2 Port select telegram or data telegram from the network participant with the only active communication channel to the neighboring one Row was received, ie a telegram with the source address A ored 14.3 via the port Tl / Rl with (N R , + 1) and the port T2 / R2 with (N RI +1) if | N RI - N R2 | mn = IN Ri - N R2 | s and A s t or ed = A s is saved.
Im eingeschwungenen Zustand des Verfahrens kennt jeder Netzwerkteilnehmer der Reihe den Netzwerkteilnehmer, der über seinen Port T3/R3 mit einer benachbarten Reihe verbunden ist und den kleinsten Abstand von der Reihenmitte hat. Nur über diesen aktiven Kommunikationskanal werden Datentelegramme zwischen den beiden Reihen ausgetauscht. Die Verbindungen der anderen Netzwerkteilnehmer zur nächsten Reihe sind deaktiviert. Figur 7 zeigt ein Netzwerk m diesem eingeschwungenen Zustand.In the steady state of the method, each network subscriber in the row knows the network subscriber who is connected to an adjacent row via his port T3 / R3 and has the smallest distance from the row center. Data telegrams are only exchanged between the two rows via this active communication channel. The connections of the other network participants to the next row are deactivated. FIG. 7 shows a network in this steady state.
Soll abweichend von diesem Ausfuhrungsbeispiel der einzige aktive Kommunikationskanal einer Reihe zur benachbarten Reihe am Rand der Reihe liegen, so sind im beschriebenen Verfahren I NRI - NR^ lin durch | NR! - R2 L I NRI - NR imt ιator < I NRI - NR2 L durch |NRI - NR, limtiator > I NR1 - NR __ zu ersetzen.If, in deviation from this exemplary embodiment, the only active communication channel of a row to the adjacent row is to be on the edge of the row, then in the described method I NRI - NR ^ lin by | NO! - R 2 LI NRI - N R imt ιator <I NRI - N R2 L with | NRI - N R , limtiator> IN R1 - N R __.
Figur 8 zeigt ein Netzwerk m dreidimensionaler Struktur. Dabei ist die Anordnung der Ports an den einzelnen Kasten, welche jeweils einen Netzwerkteilnehmer mit der eingetragenen Adresse repräsentieren, dieselbe wie m der Darstellung nach Figur 7. Auch die Kommunikationskanale sind m gleicher Weise dargestellt. Bei einer dreidimensionalen Struktur wird jeweils mit mehreren Netzwerkteilnehmern durch Verbindung der Ports Tl/Rl und T2/R2 eine Reihe m linienformiger Struktur aufgebaut. Mehrere dieser Reihen werden zu einer dreidimensionalen Struktur zusammengeschaltet, wie es m Figur 8 dargestellt ist. Dazu muß zwischen jeweils zwei Reihen mindestens ein Kommunikationskanal über Port T3/R3 und T4/R4 vorhanden sein. Mehrere Kommunikationspfade zwischen jeweils zwei Reihen sind zulassig. An den Ports T3/R3 und T4/R4 der Netzwerkteilnehmer, die nicht für Kommunikationskanale zwischen Reihen verwendet werden, können Endgerate angeschlossen werden. Jeder Reihe ist eine eindeutige Reihen- adresse Ry mit 0 < k < p zugewiesen, wobei p die Anzahl der Reihen der gewählten Netzstruktur ist. Die jeweiligen Reihen- adressen sind an der linken Seite von Figur 8 neben der jeweiligen Reihe angegeben. In jedem Netzwerkteilnehmer ist im Parameterregister „Reihenadresse* die zugehörige Adresse der Reihe aogespeichert . Es muß jedoch sichergestellt sein, daß zwischen zwei beliebi- gen Netzwerkteilnehmern im gesamten Netzwerk nur ein einziger Kommunikationspfad benutzt wird. Bei mehreren Kommunikationspfaden wurden Schleifen auftreten, d.h. Telegramme konnten sich vervielfachen und zirkulieren. Zur Vermeidung von Schleifen werden Port-Select-Telegramme m Kombination mit einem modifizierten Spanmng-Tree-Algorithmus verwendet.FIG. 8 shows a network with a three-dimensional structure. The arrangement of the ports on the individual boxes, which each represent a network participant with the entered address, is the same as in the illustration in FIG. 7. The communication channels are also shown in the same way. In the case of a three-dimensional structure, a series m of linear structure is built up with several network participants by connecting the ports T1 / R1 and T2 / R2. Several of these rows are interconnected to form a three-dimensional structure, as shown in FIG. 8. To do this, there must be at least one communication channel between ports T3 / R3 and T4 / R4 between every two rows. Multiple communication paths between two rows are permitted. At the ports T3 / R3 and T4 / R4 of the network participants that are not for communication channels terminal devices can be connected between rows. Each row is assigned a unique row address Ry with 0 <k <p, where p is the number of rows in the selected network structure. The respective row addresses are shown on the left side of FIG. 8 next to the respective row. The associated address of the row is stored in the parameter register "Row address *" in each network node. However, it must be ensured that only one communication path is used between any two network participants in the entire network. Loops occurred on several communication paths, ie telegrams could multiply and circulate. To avoid loops, port select telegrams are used in combination with a modified Spanmng tree algorithm.
Dazu wird der Datenbereich der Port-Select-Telegramme um die Adresse Rn der benachbarten Reihe erweitert, an welche der Port T3/R3 oder der Port T4/R4 des Netzwerkteilnehmers, der das Telegramm zusammengestellt hat, angeschlossen ist.For this purpose, the data area of the port select telegrams is expanded by the address R n of the adjacent row to which the port T3 / R3 or the port T4 / R4 of the network subscriber who compiled the telegram is connected.
Aufgabe der um die Reihenadresse Rr der benachbarten Reihe erweiterten Port-Select-Telegramme ist, einen Netzwerkteilnehmer zu finden, der über Port T3/R3 mit einer Reihe mit der Adresse R verbunden ist und bezogen auf die Anzahl derThe task of the port select telegrams expanded by the row address R r of the adjacent row is to find a network subscriber which is connected to a row with the address R via port T3 / R3 and in relation to the number of
Netzwerkteilnehmer von beiden Enden seiner Reihe möglichst gleich weit entfernt ist, d.h. den kleinsten Abstand von der Reihenmitte hat. Dies definiert den einzigen Netzwerkteilnehmer der Reihe, der über Port T3/R3 potentiell aktiv mit der benachbarten Reihe mit der Adresse Rr verbunden ist. Der Port T3/R3 wird von potentiell aktiv auf aktiv umgeschaltet, wenn auch der modifizierte Spanmng-Tree-Algorithmus diesen Port aktiv schaltet. Nur über aktive Kommunikationskanale zwischen den Reihen werden Datentelegramme ausgetauscht. Mit dem zuvor schon für die zweidimensionale Netzwerkstruktur beschriebenen Verfahren laßt sich der Netzwerkteilnehmer finden, der den kleinsten Abstand zur Reihenmitte hat und dessen Port T3/R3 an die Reihe mit der Adresse RN angeschlossen ist. Die Port-Select-Telegramme stellen sicher, daß zwischen zwei über Kommunikationskanale direkt miteinander verbundenen Reihen zu jeder Zeit immer nur ein Kommunika- tionskanal über Port T3/R3 potentiell aktiv ist. Damit auch Schleifen, welche über mehr als zwei Reihen geschlossen werden, zuverlässig verhindert werden, stellt ein modifiziertes Spannmg-Tree-Verfahren sicher, daß über das gesamte dreidimensionale Netzwerk keine Schleife auftritt. Kennzeichen des modifizierten Spannmg-Tree-Verfahrens sind, daß jede Reihe als virtueller Switch, mit den potentiell aktiven Kommunikationskanalen über Ports T3/R3 oder über Ports T4/R4 zu anderen Reihen als Ports des virtuellen Switches angesehen wird und daß ein Kommunikationskanal über einen Port T4/R4 potentiell aktiv ist, wenn er an einen potentiell aktiven Port T3/R3 einer anderen Reihe, die ebenfalls als virtueller Switch angesehen wird, angeschlossen ist. Weiterhin werden m Konflgurationstelegrammen die folgenden Eintrage im Datenfeld vorgesehen: 1. Root_ID: Eine 64-Bιt-Adresse RR des virtuellen Switches, der als „Rootw angenommen wird.Network subscriber is as far as possible from both ends of its row, ie has the smallest distance from the middle of the row. This defines the only network participant in the row that is potentially actively connected to the adjacent row with the address R r via port T3 / R3. Port T3 / R3 is switched from potentially active to active if the modified Spanmng tree algorithm also switches this port active. Data telegrams are only exchanged via active communication channels between the rows. With the method previously described for the two-dimensional network structure, it is possible to find the network subscriber who has the smallest distance from the center of the row and whose port T3 / R3 is connected to the row with the address R N. The port select telegrams ensure that between two rows that are directly connected to each other via communication channels, only one communication channel is potentially active at any time via port T3 / R3. In order to reliably prevent loops that are closed over more than two rows, a modified tension tree method ensures that no loop occurs across the entire three-dimensional network. Characteristics of the modified voltage tree method are that each row is regarded as a virtual switch, with the potentially active communication channels via ports T3 / R3 or via ports T4 / R4 to other rows as ports of the virtual switch and that a communication channel via a port T4 / R4 is potentially active if it is connected to a potentially active port T3 / R3 of another row, which is also regarded as a virtual switch. In addition, the following entries are provided in the data field for configuration telegrams: 1. Root_ID: A 64 bit address R R of the virtual switch, which is assumed to be “Root w ”.
2. Transmιtter_ID: Eine 64-Bιt-Adresse Rτ des virtuellen Switches, zu dem der sendende Netzwerkteilnehmer gehört. Die Adressen Rκ und Rτ entsprechen jeweils der Adresse der Reihe, die als virtueller Switch angesehen wird.2. Transmιtter_ID: A 64 bit address R τ of the virtual switch to which the sending network participant belongs. The addresses R κ and R τ each correspond to the address of the row that is regarded as a virtual switch.
3. Cost: Kleinste Reihenanzahl, die ein Telegramm von einem Sender zur Root_ID durchlaufen muß .3. Cost: Smallest number of rows that a telegram from a sender to the Root_ID must go through.
4. Port_ID: Eine 16-Bιt-Adresse PID des Ports, über den der sendende virtuelle Switch das Konflgurationstelegramm sendet. RFID ist gleich der Adresse Rn der Reihe, die an dem Port angeschlossen ist, über den der virtuelle Switch mit der Transmιtter_ID sendet.4. Port_ID: A 16 bit address P ID of the port via which the sending virtual switch sends the configuration telegram. R F ID is equal to the address R n of the row that is connected to the port via which the virtual switch sends with the Transmιtter_ID.
Mit diesen Definitionen kann der Spannmg-Tree-Algorithmus auf ein Netzwerk aus virtuellen Switches angewendet werden. Er basiert auf den beschriebenen Konflgurationstelegrammen, die von virtuellen Switches gesendet und empfangen werden. Nur die potentiell aktiven oder aktiven Ports T3/R3 oder T4/R4 einer Reihe, d.h. eines virtuellen Switches, werten empfangene Konflgurationstelegramme aus. Die deaktivierten Ports T3/R3 oder T4/R4 werten die Konf gurationstelegramme aus und filtern sie anschließend. Das Spannmg-Tree-Verfahren schaltet die Ports T3/R3 oder T4/R4 von potentiell aktiv auf aktiv um, die sicherstellen, daß zwischen jeweils zwei beliebigen Netzwerkteilnehmern des Netzwerks nur ein einziger Kommunikationspfad existiert und somit keine Schleifen auftreten. Die restlichen Ports T3/R3 oder T4/R4 bleiben potentiell aktiv oder deaktiviert. Nur über aktive Kommunikationskanale zwischen den Reihen werden Datentelegramme ausgetauscht .With these definitions, the Spannmg-Tree algorithm can be applied to a network of virtual switches. It is based on the described configuration telegrams that are sent and received by virtual switches. Only the potentially active or active ports T3 / R3 or T4 / R4 of a row, ie a virtual switch, evaluate received configuration telegrams. The deactivated ports T3 / R3 or T4 / R4 evaluate the configuration telegrams and then filter them. The voltage tree method switches the ports T3 / R3 or T4 / R4 from potentially active to active, which ensure that there is only one communication path between any two network participants in the network and therefore no loops occur. The remaining ports T3 / R3 or T4 / R4 remain potentially active or deactivated. Data telegrams are only exchanged via active communication channels between the rows.
Ein virtueller Switch ist an seinen Ports st ndig fürA virtual switch is constantly on at its ports for
Konflgurationstelegramme empfangsbereit und speichert für jeden Port die Konfigurationsnachricht mit der „besten* Kombination aus Root_ID. Cost . Transmιtter_ID . Port_ID . Verglichen werden für jeden Port nicht nur die empfangenen Kombinationen, sondern es wird auch verglichen mit der Kombination, welche der virtuelle Switch an diesen Port versenden wurde. Eine Kombination Kl ist „besser* als eine andere Kombination K2, wenn 1. Root_ID von Kl < Root_ID von K2 , 2. Root_ID von Kl = Root_ID von K2 und Cost von Kl < Cost von K2, 3. Root_ID von Kl = Root_ID von K2 und Cost von Kl = Cost von K2 undConfiguration telegrams ready to receive and save the configuration message for each port with the "best * combination of Root_ID. Cost. Transmιtter_ID. Port_ID. Not only are the received combinations compared for each port, but also the combination that the virtual switch has sent to this port is compared. A combination Kl is "better * than another combination K2 if 1. Root_ID of Kl <Root_ID of K2, 2. Root_ID of Kl = Root_ID of K2 and Cost of Kl <Cost of K2, 3. Root_ID of Kl = Root_ID of K2 and Cost of Kl = Cost of K2 and
Transmιtter__ID von Kl < Transmιtter_ID von K2 oder 4. Root_ID von Kl = Root_ID von K2 und Cost von Kl = Cost von K2 undTransmιtter__ID of Kl <Transmιtter_ID of K2 or 4. Root_ID of Kl = Root_ID of K2 and Cost of Kl = Cost of K2 and
Transmιtter_ID von Kl = Transmιtter_ID von K2 und Port_ID von Kl < Port_ID von K2.Transmιtter_ID of Kl = Transmιtter_ID of K2 and Port_ID of Kl <Port_ID of K2.
Der Root-Port eines virtuellen Switches ist der Port mit der „besten* empfangenen Kombination KR = KL = Root ID.Cost.Transmitter ID. Port ID. Der Root-Port ist der Port eines virtuellen Switches mit dem kürzesten Abstand zur Rooc_ID.The root port of a virtual switch is the port with the "best * received combination K R = K L = Root ID.Cost.Transmitter ID. Port ID. The root port is the port of a virtual switch with the shortest distance to the Rooc_ID.
Die Kombination des Root-Ports wird über Port-Select-Tele- gramme allen Netzwerkteilnehmern des virtuellen Switches mitgeteilt. Damit besitzt jeder Netzwerkteilnehmer die notwendigen Informationen, um zu entscheiden, ob em Port von potentiell aktiv auf aktiv umzuschalten ist. Em potentiell aktiver Port wird auf aktiv geschaltet, wenn Root_ID. (Cost+1) .Transmιtter_ID.Port_ID vom Root-PortThe combination of the root port is communicated to all network participants of the virtual switch via port select telegrams. This means that every network participant has the necessary information to decide whether an em port should be switched from potentially active to active. A potentially active port is switched to active if Root_ID. (Cost + 1) .Transmιtter_ID.Port_ID from the root port
„besser* ist als Root_ID. Cost . Transmιtter_ID. Port_ID vom betrachteten Port."Better * is than Root_ID. Cost. Transmιtter_ID. Port_ID of the considered port.
Die Bedingung, die zur Aktivierung eines Ports eines virtuellen Switches fuhrt, muß für einen Zeitraum Δtnc,tdeiay gültig sein, der mindestens der zweifachen Worst-Case- Durchlaufzeit eines Konflgurationstelegramms durch das Netzwerk entspricht, bevor der betreffende Port tatsachlich aktiviert wird. Nur Konflgurationstelegramme, die vom Root- Port empfangen wurden, werden an die aktiven Ports des virtuellen Switches weitergeleitet. Konflgurationstelegramme werden nur über die aktiven Ports T3/R3 gesendet oder weitergeleitet. Die einzigen Empfanger dieser Telegramme sind somit die potentiell aktiven Ports T4/R4 der angeschlossenen vir- tuellen Switches. Zudem werden Konflgurationstelegramme nur über die aktiven Ports T4/R4 gesendet oder weitergeleitet . Die einzigen Empfanger derartiger Telegramme sind somit die potentiell aktiven Ports T3/R3 der angeschlossenen virtuellen Switches. Jedem Port eines virtuellen Switches ist ein soge- nannter Komb ations-Alterungszahler zugeordnet. DieserThe condition that leads to the activation of a port of a virtual switch must be valid for a period of time Δt nc , t d eia y which corresponds to at least twice the worst case throughput time of a configuration telegram through the network before the relevant port is actually activated , Only configuration telegrams received from the root port are forwarded to the active ports of the virtual switch. Configuration telegrams are only sent or forwarded via the active ports T3 / R3. The only receivers of these telegrams are the potentially active ports T4 / R4 of the connected virtual switches. In addition, configuration telegrams are only sent or forwarded via the active ports T4 / R4. The only receivers of such telegrams are the potentially active ports T3 / R3 of the connected virtual switches. A so-called combination aging payer is assigned to each port of a virtual switch. This
Zahler wird mit jedem empfangenen oder weitergeleiteten Konfigurationstelegramm zurückgesetzt und neu gestartet. Der Kombmations-Alterungszahler ist somit nur bei den potentiell aktiven oder aktiven Ports einer Reihe aktiviert und wird mit einem parametrierbaren Zeittakt mkrementiert . Erreicht der Kombmations-Alterungszahler bei einem potentiell aktiven bzw. einem aktiven Port den parametrierbaren Schwellwert „maximales Alter*, so wird die für diesen Port gespeicherte Kombination Root_ID. Cost . Transmιtter_ID. Port_ID geloscht und neu berechnet.The payer is reset and restarted with every received or forwarded configuration telegram. The combination aging counter is therefore only activated for the potentially active or active ports in a row and is incremented with a parameterizable time cycle. If the combination aging counter reaches the parameterizable threshold value for a potentially active or an active port "Maximum age *, the combination Root_ID saved for this port becomes. Cost. Transmιtter_ID. Port_ID deleted and recalculated.
Der Informationsaustausch innerhalb eines virtuellenThe exchange of information within a virtual
Switches, d.h. innerhalb einer Reihe von Netzwerkteilnehmern mit linienformiger Struktur, erfolgt mit Port-Select-Telegrammen, die den oben beschriebenen Port-Select-Telegrammen eines Netzwerks mit zweidimensionaler Struktur ähnlich sind. Der Datenbereich der Port-Select-Telegramme eines Netzwerks mit dreidimensionaler Struktur wird unabhängig vom empfangenden Port gegenüber dem Datenbereich der Port-Select- Telegramme für em Netzwerk mit zweidimensionaler Struktur erweitert um eine 16-Bιt-Adresse Rr des über Port T3/R3 angeschlossenen virtuellen Switches, d.h. der benachbartenSwitches, that is to say within a number of network participants with a linear structure, are carried out using port select telegrams which are similar to the above described port select telegrams of a network with a two-dimensional structure. The data area of the port select telegrams of a network with a three-dimensional structure is expanded independently of the receiving port compared to the data area of the port select telegrams for a network with a two-dimensional structure by a 16 bit address R r of the one connected via port T3 / R3 virtual switches, ie the neighboring ones
Reihe, deren Gültigkeit durch das bereits beschriebene Valid- Bit V angezeigt wird. Bei V = 0 ist auch der empfangene Wert der Reihenadresse Rr ungültig. Das Port-Select-Telegramm wurde von einem Netzwerkteilnehmer in den virtuellen Switch eingespeist, der über einen betriebsbereiten Port T4/R4 mit dem virtuellen Switch verbunden ist. Bei V = 1 ist die Adresse Rn gültig. Zusätzlich ist dem Datenbereich des Port-Select-Telegramms em Potentiell-Aktiv-Bit PL eingefugt. Abhangig vom empfangenden Port hat dieses Bit zwei Bedeutungen:Row whose validity is indicated by the valid bit V already described. If V = 0, the received value of row address R r is also invalid. The port select telegram was fed into the virtual switch by a network participant, which is connected to the virtual switch via an operational port T4 / R4. If V = 1, the address R n is valid. In addition, a potentially active bit P L is added to the data area of the port select telegram. Depending on the receiving port, this bit has two meanings:
1. PpA m Port-Select-Telegrammen, die an Port T4/R4 empfangen wurden, informiert den Netzwerkteilnehmer, ob der Port T3/R3 des sendenden Netzwerkteilnehmers des angeschlossenen virtuellen Switches potentiell aktiv oder aktiv (P = 1) oder deaktiviert (Pp = 0) ist. 1.P pA m port select telegrams received at port T4 / R4 informs the network subscriber whether port T3 / R3 of the sending network subscriber of the connected virtual switch is potentially active or active (P = 1) or deactivated ( P p = 0).
2. Pp^ m Port-Select-Telegrammen, die an Port Tl/Rl oder Port T2/R2 empfangen wurden, informiert den Netzwerkteilnehmer, ob der Port T4/R4 des Initiators des Port-Select- Telegramms potentiell aktiv oder aktiv (Pc. = 1) oder deaktiviert (PpP = 0) ist. Weiterhin wird der Datenbereich des Port-Select-Telegramms um eine 16-Bιt-Adresse Rx des über Port T4/R4 angeschlossenen virtuellen Switches erweitert. Der Wert der Adresse ist nur notig, wenn PpA = 1 gesetzt ist.2. Pp ^ m port select telegrams that were received at port Tl / Rl or port T2 / R2 informs the network subscriber whether port T4 / R4 of the initiator of the port select telegram is potentially active or active (P c . = 1) or deactivated (P pP = 0). Furthermore, the data area of the port select telegram is expanded by a 16 bit address R x of the virtual switch connected via port T4 / R4. The value of the address is only necessary if P pA = 1 is set.
Zudem wird m den Port-Select-Telegrammen em Wert eines Aktiv-Timers zum Sendezeitpunkt übertragen. Der Aktiv-Timer mißt die Zeit, die seit dem letzten Empfang eines Port- Select-Telegramms über Port T4/R4 mit gesetztem Potentiell- Aktiv-Bit, d.h. mit PpA = 1, vergangen ist. Der Wert des Aktiv-Timers ist nur gültig, wenn PDP = 1 ist.In addition, the value of an active timer is transmitted in the port select telegrams at the time of transmission. The active timer measures the time that has elapsed since the last receipt of a port select telegram via port T4 / R4 with the potential active bit set, ie with P pA = 1. The value of the active timer is only valid if P DP = 1.
Weiterhin enthalt der Datenbereich von Port-Select-Telegrammen für dreidimensionale Netzwerkstruktur die beste empfange- ne Kombination für diesen PortFurthermore, the data area of port select telegrams for three-dimensional network structure contains the best received combination for this port
KE = Root_ID.Cost .Transmιtter_ID. Port_ID, die im Datenfeld eines Konfigurationstelegramms gesendet oder weitergeleitet wurde von einer an einem potentiell aktiven oder aktiven Port T3/R3 oder T4/R4 angeschlossenen Reihe mit der Adresse Rn oder Ri .K E = Root_ID.Cost .Transmιtter_ID. Port_ID that was sent or forwarded in the data field of a configuration telegram from a row connected to a potentially active or active port T3 / R3 or T4 / R4 with the address R n or Ri.
Zudem wird die beste bisher bekannte Kombination an den potentiell aktiven oder aktiven Port T3/R3 und T4/R4 der Reihe, d.h. des virtuellen Switches, im Datenfeld von Port- Select-Telegrammen übertragen:In addition, the best known combination to date is at the potentially active or active ports T3 / R3 and T4 / R4 of the series, i.e. of the virtual switch, transmitted in the data field of port select telegrams:
KR = Root_ID.Cost .Transmιtter_ID.Port_ID.K R = Root_ID.Cost .Transmιtter_ID.Port_ID.
Em Netzwerkteilnehmer, der an einem deaktivierten Port T4/R4 em Port-Select-Telegramm von einem potentiell aktiven oder aktiven Port T3/R3, d.h. em Port-Select-Telegramm mitA network participant that on a deactivated port T4 / R4 em port select telegram from a potentially active or active port T3 / R3, i.e. em port select telegram with
PPA = 1, einer anderen Reihe empfangt, schaltet den Port T4/R4 auf potentiell aktiv bzw. aktiv und sendet eine parametrierbare Anzahl von Port-Select-Telegrammen mit PpA = 1.P PA = 1, another row receives, switches the port T4 / R4 to potentially active or active and sends a parameterizable number of port select telegrams with P pA = 1.
Den Ports T4/R4 ist jeweils em Aktiv-Timer zugeordnet, der mit einem einstellbaren Takt mkrementiert wird. Der Aktiv- Timer mißt die Zeit seit dem letzten Empfang eines Port- Select-Telegramms mit gesetztem Potentiell-Aktiv-Bit PΌ? = 1. Jedes über Port T4/R4 empfangene Port-Select-Telegramm mit gesetztem Potentiell-Aktiv-Bit PpA = 1 setzt den Aktiv-Timer zurück und startet ihn neu. Empfangene Port-Select-Telegramme mit PPA = 0 setzen den Aktiv-Timer zurück, ohne ihn zu starten.The ports T4 / R4 are each assigned an active timer, which is incremented with an adjustable clock. The active timer measures the time since the last reception of a port Select telegram with the potential active bit P Ό? = 1. Each port select telegram received via port T4 / R4 with the set potential active bit P pA = 1 resets the active timer and restarts it. Received port select telegrams with P PA = 0 reset the active timer without starting it.
Em Netzwerkteilnehmer mit einem potentiell aktiven oder aktiven Port T4/R4 deaktiviert diesen Port, wenn 1. über Port T4/R4 em Port-Select-Telegramm mit PpA = 0 empfangen wird,A network participant with a potentially active or active port T4 / R4 deactivates this port if 1. a port select telegram with P pA = 0 is received via port T4 / R4,
2. über Port Tl/Rl oder T2/R2 em Port-Select-Telegramm empfangen wird mit PpA = 1 und einem empfangenen Wert des Aktiv-Timers, der kleiner als die eigene Aktivzeit ist, wobei der eigene Aktiv-Timer m diesem Fall zurückgesetzt wird, ohne neu gestartet zu werden, oder2. via port T1 / Rl or T2 / R2 a port select telegram is received with P pA = 1 and a received value of the active timer that is less than the own active time, the own active timer in this case reset without restarting, or
3. die vom Aktiv-Timer gemessene Zeit einen parametrierbaren Maximalwert erreicht.3. the time measured by the active timer reaches a parameterizable maximum value.
Im eingeschwungenen Zustand senden m jedem virtuellenIn the steady state send m every virtual
Switch, d.h. m jeder Reihe, alle Netzwerkteilnehmer mit einer potentiell aktiven T3/R3-Verbmdung zu einer benachbarten, über die Ports T3/R3 angeschlossenen Reihe zyklisch jedem Meldeintervall Δtκ jeweils em Port-Select-Telegramm über die Ports Tl/Rl und T2/R2.Switch, ie in each row, all network participants with a potentially active T3 / R3 connection to an adjacent row connected via ports T3 / R3 cyclically every reporting interval Δt κ each with a port select telegram via ports Tl / Rl and T2 / R2.
Zusatzlich senden m jedem virtuellen Switch folgende Netzwerkteilnehmer em Port-Select-Telegramm über die Ports Tl/Rl und T2/R2: 1. jeder Netzwerkteilnehmer bei der Initialisierung mit KR = KE = Quelladresse.0.Quelladresse. Port_ID,In addition, the following network participants send each port in a virtual select switch via the ports T1 / R1 and T2 / R2: 1. Each network participant during initialization with K R = K E = source address. 0. Source address. Port_ID,
2. jeder Netzwerkteilnehmer mit einem potentiell aktiven Kommunikationskanal über den Port T3/R3 zu einer Reihe mit der Adresse Rn, wenn er em Konflgurationstelegramm über Port T3/R3 empfangt,2. each network participant with a potentially active communication channel via the port T3 / R3 to a row with the address R n when it receives a configuration telegram via port T3 / R3,
3. jeder Netzwerkteilnehmer mit einem potentiell aktiven Kommunikationskanal über Port T4/R4 zu einer Reihe mit der Adresse Rx, wem er em Konflgurationstelegramm über Port T4/R4 empfangt,3. each network participant with a potentially active communication channel via port T4 / R4 to a row with the address R x , whom he receives a configuration telegram via port T4 / R4,
4. jeder Netzwerkteilnehmer, bei dem der Kombmations- Alterungszahler eines potentiell aktiven oder aktiven Ports den Schwellwert „maximales Alter* erreicht, wobei die für diesen Port gespeicherten Kombinationen KE und KR geloscht und neu berechnet werden und wobei zunächst e Port-Select-Telegramm mit4. Each network participant at which the combination aging payer of a potentially active or active port reaches the threshold value “maximum age *, the combinations K E and K R stored for this port being deleted and recalculated, and first of all e port select Telegram with
KR = KE = Quelladresse .0.Quelladresse . Port_ID gesendet wird,K R = K E = source address .0. Source address. Port_ID is sent
5. jeder Netzwerkteilnehmer mit einem potentiell aktiven oder aktiven Port, dessen gespeicherte Kombination KR „besser* ist als die Kombination KR im empfangenen Port- Select-Telegramm, wobei die für diesen Port gespeicherte Kombination KR geloscht und neu berechnet wird und wobei e Port-Select-Telegramm mit der besten bisher empfangenen Kombination für diesen Port5. each network participant with a potentially active or active port whose stored combination K R is “better * than the combination K R in the received port select telegram, the combination K R stored for this port being deleted and recalculated, and wherein e Port select telegram with the best combination received so far for this port
KE = Root_ID.Cost .Transmιtter_ID. Port_ID und mit KR = mm{KE, empfangener Wert von KR} gesendet wird und 6. jeder Netzwerkteilnehmer, dessen Port T4/R4 von deaktiviert auf potentiell aktiv oder aktiv umgeschaltet wird, sendet eine parametrierbare Anzahl von Port-Select- Telegrammen mit PpA = 1.K E = Root_ID.Cost .Transmιtter_ID. Port_ID and with K R = mm {K E , received value from K R } is sent and 6. Each network participant, whose port T4 / R4 is switched from deactivated to potentially active or active, sends a parameterizable number of port select telegrams with P pA = 1.
Alle Empfanger eines Port-Select-Telegramms mit einem deaktivierten Kommunikationskanal zu einer anderen Reihe speichern die vom zugehörigen potentiell aktiven oder aktiven Port des virtuellen Switches gesendeten Werte KE und KR.All receivers of a port select telegram with a deactivated communication channel to another row store the values K E and K R sent by the associated potentially active or active port of the virtual switch.
Figur 8 zeigt das Ergebnis der Anwendung der Port-Select- Telegramme in Kombination mit dem modifizierten Spannmg- Tree-Verfahren auf jede Reihe des dargestellten dreidimensionalen Netzwerks.FIG. 8 shows the result of using the port select telegrams in combination with the modified voltage tree method on each row of the three-dimensional network shown.
Eine Redundanz im Netzwerk soll sicherstellen, daß physikalische Fehler, elektromagnetische Störungen, Netzwerkerweiterungen oder em Komponentenaustausch die Kommunikation zwischen den Netzwerkkomponenten nicht beeinträchtigen. Voraussetzung hierfür ist nicht nur eine schnelle Erkennung von Fehlern oder Netzwerkmodifikationen und eine schnelle Netzrekonflguration, sondern auch em möglichst kleiner Netz- werkbereich, der wahrend der Rekonflgurationszeit von den Auswirkungen des Fehlers oder der Netzwerkmodifikation betroffen ist.Redundancy in the network is intended to ensure that physical errors, electromagnetic interference, network expansions or component replacement ensure communication between the network components. The prerequisite for this is not only rapid detection of errors or network modifications and quick network reconfiguration, but also a network area that is as small as possible, which is affected by the effects of the error or network modification during the reconfiguration time.
Durch die Redundanzverwaltung ist eine Redundanz innerhalb jeder Reihe eines Netzwerks, bezuglich der Kommunikations¬ kanale zwischen jeweils zwei miteinander verbundenen Reihen und eine Redundanz in bezug auf das gesamte Netzwerk möglich. Dabei ist Schleifenfreiheit durch den modifizierten Spannmg- Tree-Algorithmus gewährleistet.The redundancy of a redundancy management is a network within each row, the posted communication ¬ ducts interconnected between each two rows and redundancy with respect to the entire network possible. The modified Spannmg-Tree algorithm guarantees freedom from loops.
Diese Art der Redundanz ermöglicht m vorteilhafter Weise kurze Rekonflgurationszeiten bei minimalem Hardwareaufwand und ist deshalb mit geringem Aufwand realisierbar. Zudem wird der Netzwerkbereich begrenzt, der wahrend der Rekonfigura- tionszeit an den Auswirkungen eines Fehlers oder von einer Netzwerkkonfiguration betroffen ist.This type of redundancy advantageously enables short reconfiguration times with minimal hardware expenditure and can therefore be implemented with little effort. In addition, the network area is limited which is affected by the effects of an error or a network configuration during the reconfiguration time.
Um Redundanz m einer Reihe linienformig verschalteter Netzwerkteilnehmer zu gewahrleisten, wird em Ring gebildet, wie es m Figur 6 beispielsweise mit den NetzwerkteilnehmernIn order to ensure redundancy in a series of network subscribers connected in the form of a line, a ring is formed, as is the case in FIG. 6 with the network subscribers, for example
100 ... 107 der Fall ist. Em Netzwerkteilnehmer, beispielsweise der Netzwerkteilnehmer 100, der sich an einem Ende der Reihe befindet, muß im Redundanz-Mode betrieben werden. Er hat die Funktion eines Redundanz-Managers.100 ... 107 is the case. A network subscriber, for example network subscriber 100, which is located at one end of the row, must be operated in redundancy mode. It acts as a redundancy manager.
Durch Setzen eines Redundanzbits im Parameterregister wird dieser Netzwerkteilnehmer m dem Redundanz-Mode geschaltet. Zur Überprüfung der Reihe sendet er an Port 1 zyklisch em Telegramm Testl mit der MAC-Adresse des Ports 1 als Quell- adresse. Die Zykluszeit betragt beispielsweise 10 ms. An Port 2 wird zyklisch em Telegramm Test2 mit der MAC-Adresse des Ports 2 als Quelladresse versendet. Die Zykluszeit betragt cυ ) > M --* t-1 By setting a redundancy bit in the parameter register, this network participant is switched to the redundancy mode. To check the series, it cyclically sends a Testl telegram to port 1 with the MAC address of port 1 as the source address. The cycle time is, for example, 10 ms. Test 2 is sent cyclically on port 2 with the MAC address of port 2 as the source address. The cycle time is cυ ) > M - * t- 1
C_n o LP O cπ o cn l-h >-3 tr O α H ≤ φ S Hi Z Φ 3 N CΛ O Φ d OJ OJ tr rt Hi OJ 1-3 φC_n o LP O cπ o cn l-h> -3 tr O α H ≤ φ S Hi Z Φ 3 N CΛ O Φ d OJ OJ tr rt Hi OJ 1-3 φ
01 Φ H l-h Φ Φ d φ H Φ Φ H φ H Φ Φ Φ Φ φ H Φ ≤ o φ H d h-1 Φ d 0J 3 Φ H σ d - CΛ l-h ι-i r+ HI H d CΛ h- ' 3 H Φ CΛ CΛ CΛ i-i d d rt H tr l-i ιQ - ' CΛ H d d H-1 φ Φ ιQ Φ tr P o PT Φ α tr r+ d Φ l-( CΛ I— ' Φ Φ <Q ιQ T) Φ01 Φ H lh Φ Φ d φ H Φ Φ H φ H Φ Φ Φ Φ φ H Φ ≤ o φ H d h- 1 Φ d 0J 3 Φ H σ d - CΛ lh ι-i r + HI H d CΛ h - '3 H Φ CΛ CΛ CΛ ii dd rt H tr li ιQ -' CΛ H dd H- 1 φ Φ ιQ Φ tr P o PT Φ α tr r + d Φ l- (CΛ I— 'Φ Φ <Q ιQ T ) Φ
Φ ιQ Φ Φ DJ H rt 1-3 ?ö ιQ Φ H ?o s <Q W ι_ι 3 H O H OJ d V Φ • Φ o ιQ t HiΦ ιQ Φ Φ DJ H rt 1-3? Ö ιQ Φ H? O s <Q W ι_ι 3 H O H OJ d V Φ • Φ o ιQ t Hi
3 l-i H rt ι— > 3 Φ Φ H H CΛ 3 Φ φ Φ o Φ φ Φ tr Φ 1— ' Φ o OJ Φ d d l-i l-i 0J 0) 3 li H rt ι—> 3 Φ Φ HH CΛ 3 Φ φ Φ o Φ φ Φ tr Φ 1— 'Φ o OJ Φ dd li li 0J 0 )
OJ CΛ H H 1— ' 3 OJ rt OJ rt CΛ 3 s. H ι-i Φ Λ d 3 H rt 0) h-1 1-* OJ CΛ HH 1— '3 OJ rt OJ rt CΛ 3 s. H ι-i Φ Λ d 3 H rt 0 ) h- 1 1- *
3 c o_ Φ Φ ιQ 3 N c i^ N H 3 φ d Φ tr d rf m d d d d 3 tr h-1 3 c o_ Φ Φ ιQ 3 N ci ^ NH 3 φ d Φ tr d rf mdddd 3 tr h- 1
H 3 3 Φ ?ö H 0 ιQ CΛ 3 φ 3 r+ s: Φ d H ι-i OJ V rt o_ T) d o d h-1 3 Φ CΛH 3 3 Φ? Ö H 0 ιQ CΛ 3 φ 3 r + s: Φ d H ι-i OJ V rt o_ T) dod h- 1 3 Φ CΛ
H rt d Φ Φ Φ H CΛ H iQ H Φ 3 1— ' ι-3 ι-i φ OJ Φ o ι-iH rt d Φ Φ Φ H CΛ H iQ H Φ 3 1— 'ι-3 ι-i φ OJ Φ o ι-i
^ α α^ α α
Φ d tr 0) s: rt < H - ' H H Φ tr Φ Φ Φ rt d H J rt H < H CS3 trΦ d tr 0 ) s: rt <H - 'HH Φ tr Φ Φ Φ rt d HJ rt H <H CS3 tr
-* I-! *> 0 • 3 3 H ^ N H ? H Ϊ •Ω Φ d 3 d d H rt d CΛ Φ Φ Φ Φ- * I-! *> 0 • 3 3 H ^ N H? H Ϊ • Ω Φ d 3 d d H rt d CΛ Φ Φ Φ Φ
H φ tr P D Φ 3 H < d φ rt OJ Φ Φ H d O OJ N CΛ tr l-i CΛ HH φ tr PD Φ 3 H <d φ rt OJ Φ Φ H d O OJ N CΛ tr li CΛ H
0 H d . >-3 H H O 3 H Φ tr H tJ vQ α N •τi ^ö Q* d 3 tv) 1 h- » Φ Φ CΛ rt ω0 H d. > -3 H H O 3 H Φ tr H tJ vQ α N • τi ^ ö Q * d 3 tv) 1 h- »Φ Φ CΛ rt ω
Φ ; o ιQ OJ Φ ϊ 0 P d H J H H Φ Φ o H OJ ω ' X 3 d Φ d öΦ; o ιQ OJ Φ ϊ 0 P d HJHH Φ Φ o H OJ ω 'X 3 d Φ d ö
CΛ 1 o -* 3 CΛ α 1— ' J ? OJ p H* rt O O OJ d H ι-i d d OJ T. Φ OJ d CΛ d • CΛ HCΛ 1 o - * 3 CΛ α 1— 'J? OJ p H * rt OO OJ d H ι-idd OJ T. Φ OJ d CΛ d • CΛ H
CΛ 0 N rt Φ H 3 1 tr P •n t3 • 3 Φ r+ r+ vQ N o 3 d d n O N φCΛ 0 N rt Φ H 3 1 tr P • n t3 • 3 Φ r + r + vQ N o 3 dd n ON φ
Φ φ ≤ 1 Γ+ ι-i d C Φ φ CΛ H 3 •u H 1 ι-i l-i Ό OJ C ) Φ Φ d 3 Φ S Φ Ό H Φ tr σ Λ- tr o d I—1 S Φ rt £! P- rt CΛ M CΛ φ 0 0J ^ 1 Φ tf CΛ H H 3 Φ J Φ ^ H r+ α J CΛ 0) Φ K. i— H φ rt H s:Φ φ ≤ 1 Γ + ι-id C Φ φ CΛ H 3 • u H 1 ι-i li Ό OJ C ) Φ Φ d 3 Φ S Φ Ό H Φ tr σ Λ- tr od I— 1 S Φ rt £! P- rt CΛ M CΛ φ 0 0J ^ 1 Φ tf CΛ HH 3 Φ J Φ ^ H r + α J CΛ 0 ) Φ K. i— H φ rt H s:
^ < 0 3 Φ Φ α 3 Ό φ φ Φ H 2 h-1 rt Φ d d CΛ (-1 d ι-f Φ d o o CΛ 0J Q H o < H D CΛ H J Φ H CΛ ι-i d X J φ ιQ H H a <! H^ <0 3 Φ Φ α 3 Ό φ φ Φ H 2 h- 1 rt Φ dd CΛ (- 1 d ι-f Φ doo CΛ 0J QH o <HD CΛ HJ Φ H CΛ ι-id XJ φ ιQ HH a < ! H
3 3 rt Ξ ιQ H tr s: T) o Φ φ CΛ h-1 3 d < • Φ Φ tr d CΛ ι-3 H H Φ CΛ3 3 rt Ξ ιQ H tr s: T) o Φ φ CΛ h- 1 3 d <• Φ Φ tr d CΛ ι-3 HH Φ CΛ
3 ι-i H Φ J Φ d o 3 1— ' ^ CΛ o CΛ Ό f J Φ 1 3 3 d Φ d rt Φ Φ φ l-i Φ3 ι-i H Φ J Φ do 3 1— '^ CΛ o CΛ Ό f J Φ 1 3 3 d Φ d rt Φ Φ φ li Φ
0 ≥; φ Φ l-i 3 i-. CΛ φ ≤ 3 H 1 Φ h-* M Φ l-i Φ Ό Φ rt φ CΛ I-10 ≥; φ Φ li 3 i-. CΛ φ ≤ 3 H 1 Φ h- * M Φ li Φ Ό Φ rt φ CΛ I- 1
3 Φ o 3 d rl- J s: r+ T) H N J α H H l-i d l-i ι-i α H Φ ?ö Φ I—1 3 Φ o 3 d rl- J s: r + T) HNJ α HH li d li ι-i α H Φ? Ö Φ I— 1
H rt Φ er φ tr CΛ Φ Φ N o H α d 3 o d Φ z tr H O H tr Φ υ3 φ rt oH rt Φ er φ tr CΛ Φ Φ N o H α d 3 o d Φ z tr H O H tr Φ υ3 φ rt o
? N Φ ι-j Φ Φ Φ α H s: H Φ 3 ιQ s: CΛ φ 1— ' Φ o d ö φ OJ ι-( 1 ι-i H N tu s rt £ h H1 c CΛ r+ H Φ ι-3 H Φ H- tr J σ I-* OJ tr rt rt φ Φ Φ φ CΛ P Φ H CΛ 3 d < Φ < rt H H rt φ rt Φ tr ^ Φ φ? N Φ ι-j Φ Φ Φ α H s: H Φ 3 ιQ s: CΛ φ 1— 'Φ od ö φ OJ ι- (1 ι-i HN tu s rt £ h H 1 c CΛ r + H Φ ι- 3 H Φ H- tr J σ I- * OJ tr rt rt φ Φ Φ φ CΛ P Φ H CΛ 3 d <Φ <rt HH rt φ rt Φ tr ^ Φ φ
H H 3 H H H o C α ? Φ α OJ CΛ O Φ rt- H φ d Φ d O I-* Eg < « ^HH 3 HHH o C α? Φ α OJ CΛ O Φ rt- H φ d Φ d O I- * Eg <«^
O Ϊ O 3 Φ P t 3 J I—1 rt H J P o ≤ < r+ d ι-i Φ Φ rt φ d α Φ φ d ΦO Ϊ O 3 Φ P t 3 JI— 1 rt HJP o ≤ <r + d ι-i Φ Φ rt φ d α Φ φ d Φ
3 rt H. tr Φ φ H P - Φ CΛ .V rt t H o rϊ- *> rt tr Φ d rt £ Φ 3 tQ H ι-i ö3 rt H. tr Φ φ HP - Φ CΛ .V rt t H o rϊ- *> rt tr Φ d rt £ Φ 3 tQ H ι-i ö
CΛ φ OJ t-3 Φ ts o N T. H H Φ CΛ I". d Φ tr Φ d Φ H CΛ d l-i ι-3 n CΛ 0JCΛ φ OJ t-3 Φ ts o N T. HH Φ CΛ I " . D Φ tr Φ d Φ H CΛ d li ι-3 n CΛ 0J
H 3 Φ d 3 N) 1 h-* H h rt α 1— ' Φ ≤ Φ d >-3 - l-i d OJ φ tr Φ ωH 3 Φ d 3 N) 1 h- * H h rt α 1— 'Φ ≤ Φ d> -3 - li d OJ φ tr Φ ω
OJ 1— ιQ CΛ Φ s: φ r s CΛ P < tr Φ - φ Φ H Φ 3 Φ OJ Φ Φ _α ≥; H CΛ rt dOJ 1— ιQ CΛ Φ s: φ rs CΛ P <tr Φ - φ Φ H Φ 3 Φ OJ Φ Φ _α ≥; H CΛ rt d
0 d Φ rt- Φ d » OJ φ H H h t3 H ιQ CΛ d Ό W h- ιQ Φ f 3 ri- ι-30 d Φ rt- Φ d »OJ φ HH h t3 H ιQ CΛ d Ό W h- ιQ Φ f 3 ri- ι-3
OJ Φ d rt ≥; H φ Φ 3 o tr Φ Φ Φ d ι-i Ό d H 2 N Φ ι-( rt 0J Φ H1 d Φ φOJ Φ d rt ≥; H φ Φ 3 o tr Φ Φ Φ d ι-i Ό d H 2 N Φ ι- (rt 0J Φ H 1 d Φ φ
I—* tr Φ Φ rt d CΛ OJ α. 3 ι-i n 2 Φ Φ OJ H OJ Φ φ ιQ OJ OJ N rt d rt CΛI— * Φ Φ rt d CΛ OJ α. 3 ι-in 2 Φ Φ OJ H OJ Φ φ ιQ OJ OJ N rt d rt CΛ
3 Ξ I-* rt Φ .30 3 -T3 Φ Φ s rt tr Φ ι-i 3 Φ H d rt Ό ι-( 3 d Z H H OJ H rt3 Ξ I- * rt Φ .30 3 -T3 Φ Φ s rt tr Φ ι-i 3 Φ H d rt Ό ι- (3 d ZHH OJ H rt
N Φ H Φ N ι-i Φ ?ö Φ H H H • d rt H* d vQ N Γ+ OJ 3 l-h φ O d 3 φ M ι-i ι-> Q •> t H Φ ι-i Φ 3 N Φ z cn d Φ Z H 3 φ Q l-i d l-i CΛ 1N Φ H Φ N ι-i Φ? Ö Φ HHH • d rt H * d vQ N Γ + OJ 3 lh φ O d 3 φ M ι-i ι-> Q •> t H Φ ι-i Φ 3 N Φ z cn d Φ ZH 3 φ Q li d li CΛ 1
3 α H Φ H tr h- ' • P_ Hi α < ιQ ≤ H φ Φ s: Φ d Φ Φ Φ f CΛ d TJ tr o α OJ ι-S 0 Φ h- ' c Φ d Φ O Φ d rt 3 φ I-i Φ ι-i ι-i φ tr rt rt ^ 3 o l-i 3 Φ tr o 3 ?T d φ P S ι-i H ι-( H tr i-i Φ N Ό H tr rt d Φ ι-i Φ ) ! l-i o H 1— ' φ H 3 rϊ- N CΛ H tr J Φ i Z CΛ J H H Φ H d Φ rt o rt Φ3 α H Φ H tr h- '• P_ Hi α <ιQ ≤ H φ Φ s: Φ d Φ Φ Φ f CΛ d TJ tr o α OJ ι-S 0 Φ h-' c Φ d Φ O Φ d rt 3 φ Ii Φ ι-i ι-i φ tr rt rt ^ 3 o li 3 Φ tr o 3? T d φ PS ι-i H ι- (H tr ii Φ N Ό H tr rt d Φ ι-i Φ ) ! li o H 1— 'φ H 3 rϊ- N CΛ H tr J Φ i Z CΛ JHH Φ H d Φ rt o rt Φ
2 Φ Φ > rt J OJ rl- M Φ Φ d rt rt α Φ OJ φ I—* φ Φ ≤ d 0) d 0) 1 tr in2 Φ Φ> rt J OJ rl- M Φ Φ d rt rt α Φ OJ φ I— * φ Φ ≤ d 0 ) d 0 ) 1 tr i n
OJ *t H C H ^ l-i 3 D 3 H H CΛ ι-i Φ d ι-i d tr H1 H Φ d d d d 1-* Φ r-υ Φ ι-iOJ * t HCH ^ li 3 D 3 HH CΛ ι-i Φ d ι-id tr H 1 H Φ dddd 1- * Φ r-υ Φ ι-i
O Φ σ 1— ' C o_ N α O P CΛ CΛ O P rt ;*r ιQ t-1 Φ I—* ι-( ι-i cn rt Φ tr d 0J t H ≤ Φ d H Ϊ φ 1 Φ l-h Φ rr Φ Hi H-* Φ H Φ o Φ iQ d α *J3 -* t N ι-i s: - 3 3 tr T Φ H Φ CΛ rt H S 3 OJ Φ (ϊ- Hi d H Φ d o H ι-( Φ Φ Φ 3 ≤ rt H CΛ 3 tu Φ d t o d Φ OJ 3 tr 1— ' N Φ Φ tr H d OJ tr d H ι-h CΛ Φ H φ Φ zO Φ σ 1— 'C o_ N α OP CΛ CΛ OP rt; * r ιQ t- 1 Φ I— * ι- (ι-i cn rt Φ tr d 0J t H ≤ Φ d H Ϊ φ 1 Φ lh Φ rr Φ Hi H- * Φ H Φ o Φ iQ d α * J3 - * t N ι-is: - 3 3 tr T Φ H Φ CΛ rt HS 3 OJ Φ (ϊ- Hi d H Φ do H ι- ( Φ Φ Φ 3 ≤ rt H CΛ 3 tu Φ dtod Φ OJ 3 tr 1— 'N Φ Φ tr H d OJ tr d H ι-h CΛ Φ H φ Φ z
2 3 tr ι-i d p CΛ <£} Φ d 3 13- ι-i I— ' ≤ 3 Φ 3 3 • Φ H o H CΛ l-i α φ d Z rt Φ H Φ J O CΛ d 3 Φ 3 Φ d H CΛ CΛ 3 Φ h-1 CΛ O l-i 0J H2 3 tr ι-idp CΛ <£} Φ d 3 13- ι-i I— '≤ 3 Φ 3 3 • Φ H o H CΛ li α φ d Z rt Φ H Φ JO CΛ d 3 Φ 3 Φ d H CΛ CΛ 3 Φ h- 1 CΛ O li 0J H
Φ 3 Φ Φ ι-s < N 2 iQ tr Φ rr 3 ιQ φ o Φ I-i φ l-i OJ rt L tr tϋ α O ι-( d O H Φ d Φ Φ — • H H ιQ T) H tr tr α J Ό d Φ J Φ H Φ trΦ 3 Φ Φ ι-s <N 2 iQ tr Φ rr 3 ιQ φ o Φ Ii φ li OJ rt L tr tϋ α O ι- (d OH Φ d Φ Φ - • HH ιQ T) H tr tr α J Ό d Φ J Φ H Φ tr
1 d H rt ι-i H 3 3 Hi o d 3 d OJ ι-i ÖD α d o Φ d1 d H rt ι-i H 3 3 Hi o d 3 d OJ ι-i ÖD α d o Φ d
CΛ N CΛ Φ Φ 3 α d H d Φ o ι-i α rt Φ tr 3 d φ 1 7> CΛ rt Φ 1- H vQ H OJ H l-f α 1 Ό Φ 3 d Φ Φ Φ 1 Φ Φ 1 H 3CΛ N CΛ Φ Φ 3 α d H d Φ o ι-i α rt Φ tr 3 d φ 1 7> CΛ rt Φ 1- H vQ H OJ H lf α 1 Ό Φ 3 d Φ Φ Φ 1 Φ Φ 1 H 3
1 ι-i d Φ 1 ι-id Φ
Netzwerkteilnehmer seit einer bestimmten Mindestzeit von beispielsweise 1,6 s nicht mehr unterbrochen ist. Mit dem Offnen des Rings wird an den Ports 1 und 2 des Redundanz- Managers em Telegramm „lmk-up* verschickt, um alle anderen Netzwerkteilnehmer der Reihe über die neue Ringstruktur zu informieren. Testtelegramme werden weiterhin zyklisch versen¬ det. Jeder Netzwerkteilnehmer der Reihe setzt mit dem Empfang eines „lmk-up* oder „lmk-down* -Telegramms die für die Telegrammweiterleitung notwendigen Register zurück.Network participants have not been interrupted for a certain minimum time of, for example, 1.6 s. When the ring is opened, an "lmk-up *" telegram is sent to ports 1 and 2 of the redundancy manager in order to inform all other network participants in the series about the new ring structure. Test frames will continue det cyclically verses ¬. Each network participant in the series resets the registers necessary for the telegram forwarding when it receives an "lmk-up * or" lmk-down * telegram.
Eine redundante Ausfuhrung der Kommunikationskanale zwischen zwei Reihen erfordert mindestens zwei getrennte Kommunikationspfade. Für den Datenaustausch zwischen den Reihen darf jedoch maximal em einziger Pfad verwendet werden. Die Aus- wähl dieses potentiell aktiven Kommunikationskanals zwischen zwei Reihen erfolgt mit Hilfe von Port-Select-Telegrammen. Ist em potentiell aktiver Kommunikationskanal als fehlerhaft erkannt, wird dieser deaktiviert und em anderer Kommunikationspfad auf potentiell aktiv geschaltet. Für die Umschalt- zeit von deaktiviert auf potentiell aktiv gilt:A redundant implementation of the communication channels between two rows requires at least two separate communication paths. However, a maximum of one path may be used for data exchange between the rows. This potentially active communication channel between two rows is selected with the help of port select telegrams. If a potentially active communication channel is identified as faulty, it is deactivated and another communication path is switched to potentially active. The following applies to the switchover time from deactivated to potentially active:
Umschaltzeit > Δt imeout + Δtwdeiay. wobei Δt imeoit das Timeout- Intervall ist und Δtroweiay der zweifachen Worst-Case- Durchlaufzeit eines Port-Select-Telegramms durch die Reihe entspricht. Die Umschaltzeit ist somit von der Anzahl der Netzwerkteilnehmer, die eine Reihe bilden, abhangig. Sie liegt z.B. für eine Reihe aus 50 Netzwerkteilnehmern m der Größenordnung von 200 ms, wenn em Timeout-Zeitmtervall von 150 ms angenommen wird.Switching time> Δt imeout + Δt wdeiay. where Δt imeoit is the timeout interval and Δt r oweiay corresponds to twice the worst case throughput time of a port select telegram through the series. The switchover time therefore depends on the number of network participants that form a row. It is, for example, for a series of 50 network participants in the order of 200 ms, if a timeout interval of 150 ms is assumed.
Zudem ist eine Redundanz m einem dreidimensionalen Netzwerk möglich. Ist die Schleifenfreiheit bereits durch die Netzwerkstruktur gegeben, d.h. existiert keine Netzwerkredundanz, so ist jeder potentiell aktive Kommunikationspfad zwischen zwei Reihen auch aktiv. In diesem Fall ist die Anwendung des beschriebenen modifizierten Spannmg-Tree-Algorithmus nicht erforderlich. Bei Netzwerkredundanz stellt der modifizierte Spannmg-Tree-Algorithmus Schleifenfreiheit zwischen den Reihen sicher. Eine Rekonfiguration eines Netzwerks mit dem modifizierten Spanning-Tree-Algorithmus ist nur bei Fehlern oder Netzwerkmodifikationen erforderlich, die nicht durch die Redundanz innerhalb einer Reihe oder die Redundanz der Kommu- nikationskanäle zwischen zwei Reihen bearbeitet werden.Redundancy in a three-dimensional network is also possible. If the loop structure already provides freedom from loops, ie there is no network redundancy, every potentially active communication path between two rows is also active. In this case, it is not necessary to use the modified tension tree algorithm described. In the case of network redundancy, the modified Spannmg tree algorithm places loop-free between the Rows sure. A reconfiguration of a network with the modified spanning tree algorithm is only necessary in the event of errors or network modifications that are not processed by the redundancy within a row or the redundancy of the communication channels between two rows.
Bei einem Netzwerk mit derartigen Netzwerkteilnehmern ist die Übertragungszeit vom Sender zum Empfänger von der Anzahl der Netzwerkteilnehmer, über welche ein Telegramm weitergeleitet wird, abhängig und kann nicht vernachlässigt werden. Die Übertragungszeit eines Telegramms erhöht sich bei jedemIn the case of a network with such network participants, the transmission time from the transmitter to the receiver depends on the number of network participants via which a telegram is forwarded and cannot be neglected. The transmission time of a telegram increases for everyone
Netzwerkteilnehmer, der das Telegramm weiterleitet, um eine teilnehmerspezifische Delay-Time Δti, die aus den folgenden Zeiten zusammengesetzt ist:Network subscriber who forwards the telegram by a subscriber-specific delay time Δti, which is composed of the following times:
1. Durchlaufzeit durch den Physical-Layer-Baustein, bei- spielsweise den Baustein 36 in Figur 2, in Empfangsrichtung vom Empfang des ersten Bits eines Nibbles bis das Nibble am MII mit in „RX_DV = 1* als gültig ausgegeben wird. Diese Zeit beträgt beispielsweise 21 Tt für DP83843 PHYTER von NSC, wobei TBlt bei 10 MBaud-Übertra- gungsrate 100 ns und bei 100 MBaud-Übertragungsrate 10 ns entspricht .1. Throughput time through the physical layer module, for example module 36 in FIG. 2, in the receiving direction from receipt of the first bit of a nibble until the nibble on the MII is output as valid in “RX_DV = 1 *. This time is, for example, 21 T t for DP83843 PHYTER of NSC, wherein T and Blt ns at 100 Mbps transmission rate corresponds to 10 at 10 Mbps transmission rate 100 ns.
2. Aufenthaltszeit im Netzwerkteilnehmer vom Empfang eines Nibbles bis zum Versenden desselben Nibbles. Falls der Teilnehmer gerade ein eigenes Telegramm versendet und im Receive-Buffer bereits ein Telegramm eingetragen ist, kann die Datenweiterleitung im Vergleich zum ungestörten Betrieb um bis zu (3k x 8) x TBιt verzögert werden.2. Time spent in the network participant from receiving a nibble to sending the same nibble. If the subscriber is currently sending its own telegram and a telegram has already been entered in the receive buffer, data forwarding can be delayed by up to (3k x 8) x T B ιt compared to undisturbed operation.
3. Durchlaufzeit durch den Physical-Layer-Baustein, über welchen das Telegramm in Senderichtung weitergeleitet wird, von der ersten steigenden Flanke eines Transmit-3. Throughput time through the physical layer block, via which the telegram is forwarded in the send direction, from the first rising edge of a transmit
Clocksignals nach dem Bereitstellen eines Nibbles am MII bis zum ersten gesendeten Bit dieses Nibbles. Diese Durchlaufzeit beträgt beispielsweise für DP83843 PHYTER von NSC 6 TBιt. 4. Laufzeit über die Leitungen zwischen zwei benachbarten Netzwerkteilnehmern. Die Summe der unter 1, 3 und 4 angegebenen Zeiten ist eine feste Große und wird als Durchlaufzeit ΔtDlJz bezeichnet. Sie kann entweder parametriert oder von den Netzwerkteilnehmern ausgemessen werden. Eine Änderung dieser Durchlaufzeit ΔtD„ ist nur möglich, wenn e Netzwerkteilnehmer aus dem Netzwerk entfernt oder in das Netzwerk hinzugefügt oder wenn die Verkabelung geändert wird.Clock signal after providing a nibble on the MII up to the first transmitted bit of this nibble. This lead time is, for example, for DP83843 PHYTER from NSC 6 T B ιt. 4. Runtime over the lines between two neighboring network participants. The sum of the times specified under 1, 3 and 4 is a fixed quantity and is referred to as the throughput time Δt DlJ z. It can either be parameterized or measured by the network participants. A change in this throughput time Δt D "is only possible if a network subscriber is removed from the network or added to the network or if the cabling is changed.
Mit der folgenden Sequenz von Telegrammen, welche Netz- werkteilnehmer beispielsweise nach der Initialisierung oder auf Anforderung ausfuhren, kann die Durchlaufzeit ΔtDLz bestimmt werden:The throughput time Δt D Lz can be determined with the following sequence of telegrams, which network participants execute, for example after initialization or on request:
1. Jeder Netzwerkteilnehmer, der neu das Netzwerk aufgenommen wird, sendet seinen v er benachbarten Netzwerk- teilnehmern jeweils em sogenanntes DLZ-Telegramm, d.h. em erstes Telegramm zur LaufZeitermittlung . Dieses Telegramm ist m der 16-Bιt-Type-Adresse eindeutig gekennzeichnet .1. Each network subscriber who is newly added to the network sends his or her neighboring network subscriber a so-called DLZ telegram, i.e. em first telegram for running time determination. This telegram is clearly identified in the 16 bit type address.
2. Der neue Netzwerkteilnehmer startet einen DLZ-Timer 1, nachdem das letzte Nibble des Type-Feldes des DLZ-Tele- gramms dem Media-Independent-Interface (MII) des Ports 1 zum Versenden zur Verfugung gestellt wurde. Entsprechend startet er einen DLZ-Timer 2, 3 und 4 für das Versenden über die Ports 2, 3 bzw. 4. 3. Jeder der maximal 4 benachbarten Netzwerkteilnehmer startet nach dem Empfang des letzten Nibbles des Type- Feldes des DLZ-Telegramms an seinem MII seinen DLZ-Timer des jeweiligen Ports. Das empfangene DLZ-Telegramm wird nicht weitergeleitet, sondern dem Sender ergänzt um die Aufenthaltszelt in den jeweiligen Ethernet-Kontroller des Netzwerkteilnehmers wieder zurückgeschickt. Hat dieser benachbarte Netzwerkteilnehmer das letzte Nibble des Type-Feldes des auf diese Art modifizierten DLZ-Telegramms seinem zu dem neu zugeschalteten Netzwerkteilneh- mer gerichteten MII übergeben, halt er den DLZ-Timer an und sendet die im DLZ-Timer gespeicherte Aufenthaltszelt mit dem Datenfeld des Telegramms zu dem neu zugeschalteten Netzwerkteilnehmer.2. The new network participant starts a DLZ timer 1 after the last nibble of the type field of the DLZ telegram has been made available to the media independent interface (MII) of port 1 for sending. Accordingly, he starts a DLZ timer 2, 3 and 4 for sending via ports 2, 3 and 4. 3. Each of the maximum of 4 neighboring network participants starts after receiving the last nibble of the type field of the DLZ telegram on his MII its DLZ timer of the respective port. The received DLZ telegram is not forwarded, but is sent back to the sender supplemented by the residence tent in the respective Ethernet controller of the network participant. If this neighboring network participant has passed the last nibble of the type field of the DLZ telegram modified in this way to its MII directed to the newly connected network participant, it stops the DLZ timer and sends the stay tent stored in the DLZ timer with the data field of the telegram to the newly connected network participant.
4. Der neu m das Netzwerk aufgenommene Netzwerkteilnehmer stoppt mit dem Empfang des letzten Nibbles des Type- Feldes an seinem MII des jeweiligen Ports den zugeordneten DLZ-Timer 1, 2, 3 bzw. 4.4. The network subscriber newly added to the network stops the assigned DLZ timer 1, 2, 3 or 4 when he receives the last nibble of the type field at his MII of the respective port.
5. Beispielsweise für Port 1 des neu zugeschalteten Netzwerkteilnehmers kann die Durchlaufzeit ΔtDLzι berechnet werden nach der Formel: ΔtDLzι = (TDR-TDA) :2, mit TDR - mit dem DLZ-Timer 1 gemessene Antwortzeit und TDA - gemessene Aufenthaltszeit im benachbarten Netzwerk teilnehmer .5. For example, for port 1 of the newly connected network participant, the throughput time Δt D Lzι can be calculated using the formula: Δt D Lzι = (T DR -T DA ): 2, with T DR - response time measured with the DLZ timer 1 and T DA - measured time spent in the neighboring network participants.
In entsprechender Weise werden die Durchlaufzeiten ΔtDι_z , ΔtDLZi und ΔtDZ4 für die übrigen Ports des neu m das Netz- werk eingefügten Netzwerkteilnehmers berechnet. Die so ermittelten Durchlaufzelten werden im Modul 52 (Figur 2) als Parameter hinterlegt.The throughput times Δt D ι_z, Δt D LZi and Δt D Z4 are calculated in a corresponding manner for the remaining ports of the network subscriber newly added to the network. The flow tents determined in this way are stored as parameters in module 52 (FIG. 2).
6. Der neu zugeschaltete Netzwerkteilnehmer sendet mit einem weiteren Telegramm die gemessenen Durchlaufzeiten über den jeweils zugeordneten Port an die benachbarten Netzwerkteilnehmer .6. With a further telegram, the newly connected network participant sends the measured throughput times to the neighboring network participants via the respectively assigned port.
Die beschriebene Ermittlung der Durchlaufzeiten ist bei der Initialisierung eines Netzwerks nur bei jedem zweiten Netz- werkteilnehmer erforderlich.The described determination of the throughput times is only necessary for every second network participant when initializing a network.
Eine Uhrzeitsynchronisation hat die Aufgabe, die Uhren mehrerer oder aller Netzwerkteilnehmer zu synchronisieren. Dabei werden vorteilhaft die Kommunikationskanale zwischen Netzwerkteilnehmern im Vollduplex-Mode betrieben, damit die Übertragung von Telegrammen deterministisches Verhalten zeigt .Time synchronization has the task of synchronizing the clocks of several or all network participants. The communication channels between network participants are advantageously operated in full duplex mode so that the transmission of telegrams exhibits deterministic behavior.
Die Ubertragungszeit von einem Sender zu einem Empfanger ist m einem Netzwerk von der Anzahl der Netzwerkteilnehmer, über welche das Telegramm geleitet wird, abhangig und kann nicht vernachlässigt werden. Eine Uhrzeitsynchronisation kann beispielsweise mit zwei speziellen Telegrammen durchgeführt werden. Figur 9 zeigt den allgemeinen Aufbau eines Telegramms. Em erstes Feld 140 enthalt eine Destination-Adresse, d.h. eine Adresse der Teil- nehmer, an welche das Telegramm gerichtet ist, von beispielsweise 48 Bit Lange. Em zweites Feld 141 enthalt eine Source- Adresse, die Adresse des jeweils sendenden Netzwerkteilnehmers, deren Lange ebenfalls beispielsweise 48 Bit betragt. In einem Type-Feld 142 mit beispielsweise 16 Bit wird eine Ken- nung des Telegramms übertragen. Die Nutzdaten des Telegramms werden in einem Datenfeld 143 variabler Lange gesendet. Beendet wird das Telegramm durch eine Check-Sequence von 144, die im wesentlichen zur Überprüfung der Ubertragungsqualitat dient. Telegramme zur Uhrzeitsynchronisation können durch eine besondere Multicast-Adresse als Destination-Adresse 140 und/oder durch eine neu zu definierende Type-Adresse im Type- Feld 142 gekennzeichnet werden.The transmission time from a sender to a receiver in a network depends on the number of network participants over which the telegram is routed and cannot be neglected. Time synchronization can be carried out with two special telegrams, for example. Figure 9 shows the general structure of a telegram. The first field 140 contains a destination address, ie an address of the subscribers to whom the telegram is directed, for example 48 bits long. The second field 141 contains a source address, the address of the sending network subscriber, the length of which is also 48 bits, for example. An identifier of the telegram is transmitted in a type field 142 with, for example, 16 bits. The user data of the telegram are sent in a data field 143 of variable length. The telegram is ended by a check sequence of 144, which essentially serves to check the transmission quality. Telegrams for time synchronization can be identified by a special multicast address as destination address 140 and / or by a new type address to be defined in type field 142.
Figur 10 zeigt eine Auftragsliste, die beispielsweise im RAM 22 m Figur 2 abgelegt sein kann. In eine derartige Auftrags- liste werden Telegramme, die über das Netzwerk übertragen werden sollen, eingetragen. Wenn keine Prioπsierung der Übertragung vorgesehen ist, wird jeweils das untenstehende Telegramm als nächstes übertragen. Es kann somit vorkommen, daß beispielsweise em fertiggestelltes Telegramm 151 erst dann übertragen wird, wenn zwei zuvor m die Auftragsliste eingetragene Telegramme 152 und 153 übertragen wurden. Je nach Menge der anstehenden Auftrage ist daher die Sendever- zogerungszeit eines Telegramms m einem Netzwerkteilnehmer nach seinem Eintrag m die Auftragsliste variabel. Im folgenden wird eine Möglichkeit beschrieben, wie der Einfluß der Sendezeitverzogerung bei der Uhrzeitsynchronisation vermieden werden kann: 1. Bei einem Uhrzeit-Master, d.h. em Netzwerkteilnehmer, auf dessen Uhr die Uhren der übrigen Netzwerkteilnehmer synchronisiert werden, tragt em SM-TimeO Telegramm, em erstes Telegramm zur Uhrzeitsynchronisation, m eine Auf- tragsliste ein, startet für jeden Port P, P = 1, 2, 3, 4, einen Delay-Timer und merkt sich die Startzeit dieser Timer.FIG. 10 shows an order list which can be stored, for example, in the RAM 22 in FIG. 2. Telegrams that are to be transmitted via the network are entered in such an order list. If the transmission is not prioritized, the telegram below is transmitted next. It can therefore happen that, for example, a completed telegram 151 is only transmitted when two telegrams 152 and 153 previously entered in the job list have been transmitted. Depending on the number of pending orders, the delay in sending a telegram m a network subscriber after its entry m the order list is variable. In the following a possibility is described how the influence of the transmission time delay in the time synchronization can be avoided: 1. With a time master, ie em network participant, on whose clock the clocks of the other network participants are synchronized, it carries an SM-TimeO telegram, em first telegram for time synchronization, m an open entries list, starts a delay timer for each port P, P = 1, 2, 3, 4 and remembers the start time of these timers.
2. Der Delay-Timer von jedem Port P, P = 1, 2, 3, 4, wird beim Uhrzeit-Master angehalten, nachdem das letzte Nibble des Type-Feldes des SM-TimeO Telegramms dem MII des jeweiligen Ports zum Versenden zur Verfügung gestellt wurde. Damit ist die Sendeverzögerungszeit bestimmt. Ein Nibble ist definiert als ein halbes Byte, d.h., es ist eine Folge von 4 Bit.2. The delay timer of each port P, P = 1, 2, 3, 4, is stopped at the time master after the last nibble of the type field of the SM-TimeO telegram is available for sending to the MII of the respective port was asked. The transmission delay time is thus determined. A nibble is defined as half a byte, i.e. it is a sequence of 4 bits.
3. Jeder benachbarte Netzwerkteilnehmer startet nach dem Empfang des letzten Nibbles des Type-Feldes des SM-TimeO Telegramms am MII seines Ports P, P = 1, 2, 3 oder 4, seinen Delay-Timer mit dem Wert der jeweiligen Durch- laufzeit ΔtDι_zP/ die zuvor nach dem oben beschriebenen Verfahren gemessen oder von einem Bediener eingegeben wurde. Zusätzlich wird die Adresse des Uhrzeit-Masters, die im SM-TimeO Telegramm als Source-Adresse empfangen wurde, gespeichert. 4. Zu dem Zeitpunkt, zu welchem der benachbarte Netzwerkteilnehmer das letzte Nibble des Type-Feldes des SM-TimeO Telegramms zur Weiterleitung an das MII eines anderen Ports anlegt, wird der Wert des Delay-Timers, der dem Port P, P = 1, 2, 3 bzw. 4, zugeordnet ist, abgespeichert. Die Delay-Timer laufen jedoch weiter. Die gespeicherten Delay- Times der Ports entsprechen jeweils der oben definierten Übertragungszeit Δti dieses Netzwerkteilnehmers. Durch den Startwert ΔtDι_zP des Delay-Timers ist die Laufzeit des Telegramms über die physikalische Übertragung bereits hinzu- addiert.3. After receiving the last nibble of the type field of the SM-TimeO telegram on the MII of its port P, P = 1, 2, 3 or 4, each neighboring network participant starts its delay timer with the value of the respective throughput time Δt D ι_z P / which was previously measured by the method described above or entered by an operator. The address of the time master that was received as the source address in the SM-TimeO telegram is also saved. 4. At the point in time at which the neighboring network subscriber creates the last nibble of the type field of the SM-TimeO telegram for forwarding to the MII of another port, the value of the delay timer assigned to port P, P = 1, 2, 3 or 4, is stored. However, the delay timers continue to run. The stored delay times of the ports each correspond to the transmission time Δti defined above for this network participant. The delay of the telegram via the physical transmission has already been added by the start value Δt D ι_z P of the delay timer.
5. Anschließend trägt der Uhrzeit-Master ein SM-Timel Telegramm, das im Datenfeld die Startzeit der Delay-Timer enthält, in die Auftragsliste ein. Bevor er dieses SM- Timel Telegramm über einen Port P, P = 1, 2, 3, 4, sendet, ersetzt er die Startzeit der Delay-Timer durch die Uhrzeit, zu welcher das letzte Nibble des Type-Feldes des SM- TimeO Telegramms dem MII dieses Ports zum Versenden zur Verfugung gestellt wurde, d.h. durch die Summe der Start¬ zeit der Delay-Timer und der gemessenen Delay-Time des jeweiligen Ports P. In das SM-Timel Telegramm wird somit die um die Sendezeitverzogerung korrigierte Uhrzeit emge- tragen.5. The time master then enters an SM-Timel telegram, which contains the start time of the delay timers in the data field, in the job list. Before sending this SM-Timel telegram via a port P, P = 1, 2, 3, 4, it replaces the start time of the delay timers with the time at which the last nibble of the type field of the SM-TimeO telegram the MII of this port for sending Grouting was made, ie by the sum of the start ¬ the delay timer and the measured delay time time of each port P. In the SM Timel telegram is thus corrected by the time Sendezeitverzogerung carry emge-.
6. Jeder benachbarte Netzwerkteilnehmer, der em SM-Timel Telegramm empfangt, addiert jeweils die gespeicherte Delay-Time Δti des zuvor über Port P, P = 1, 2, 3 bzw. 4, weitergeleiteten SM-TimeO Telegramms zu der im SM-Timel Telegramm empfangenen Uhrzeit und sendet die so erhaltene Zeit mit einem aktualisierten SM-Timel Telegramm über einen anderen Port zum nächsten Nachbar. SM-Timel Telegramme werden nur von dem Netzwerkteilnehmer akzeptiert, der zuvor em SM-TimeO Telegramm gesendet hatte.6. Each neighboring network participant that receives an SM-Timel telegram adds the stored delay time Δti of the SM-TimeO telegram previously forwarded via port P, P = 1, 2, 3 or 4 to that in the SM-Timel Received time and sends the time received in this way with an updated SM-Timel telegram via another port to the next neighbor. SM-Timel telegrams are only accepted by the network participant that previously sent an SM-TimeO telegram.
Mit dem Empfang des SM-Timel Telegramms kennt der Uhrzeit- Slave, d.h. der benachbarte Netzwerkteilnehmer, die Startzeit seines Delay-Timers. Die synchronisierte Uhrzeit ergibt sich aus der Summe der im SM-Timel Telegramm empfangenen Uhrzeit und der Delay-Time des Uhrzeit-Slaves für den jeweils empfangenden Port. Somit korrigiert der benachbarte Netzwerkteilnehmer die im zweiten Telegramm empfangene Uhrzeit um die Laufzeit und die Empfangszeitverzogerung.When the SM-Timel telegram is received, the time slave knows, i.e. the neighboring network participant, the start time of his delay timer. The synchronized time is the sum of the time received in the SM-Timel telegram and the delay time of the time slave for the respective receiving port. The neighboring network subscriber thus corrects the time received in the second telegram by the runtime and the reception time delay.
Mit dem folgenden Ablauf ist alternativ zu der oben beschriebenen Möglichkeit eine Uhrzeitsynchronisation mit nur einem Telegramm möglich:As an alternative to the option described above, the following procedure enables time synchronization with just one telegram:
1. Em Uhrzeit-Master startet die den Ports zugeordneten Delay-Timer und tragt das Uhrzeittelegramm mit der Start- zeit dieser Timer m die Auftragsliste em.1. The time master starts the delay timers assigned to the ports and carries the time telegram with the start time of these timers m the job list em.
2. Der Delay-Timer jedes Ports P, P = 1, 2, 3, 4, wird beim Uhrzeit-Master angehalten, nachdem das letzte Nibble des Type-Feldes des Uhrzeittelegramms dem Media-Independent- Interface von Port P zum Versenden zur Verfugung gestellt wurde, d.h. nachdem das letzte Nibble des Type-Feldes zur physikalischen Übertragung bereitgestellt wurde. Der Netzwerkteilnehmer addiert daraufhin die im Uhrzeittelegramm angegebene Startzeit der Delay-Timer zum Wert des Delay- Timers des jeweiligen Ports P und versendet diese Summe als um die Sendezeitverzogerung korrigierte Uhrzeit mit einem ersten Telegramm zur Uhrzeitsynchronisation über den jeweiligen Port P.2. The delay timer of each port P, P = 1, 2, 3, 4, is stopped at the time master after the last nibble of the type field of the time telegram is available for transmission to the media-independent interface of port P was made, ie after the last nibble of the type field was made available for physical transmission. The network participant then adds the ones in the time frame specified start time of the delay timer for the value of the delay timer of the respective port P and sends this sum as the time corrected by the transmission time delay with a first telegram for time synchronization via the respective port P.
3. Jeder benachbarte Netzwerkteilnehmer startet nach dem Empfang des letzten Nibbles des Type-Feldes des ersten Telegramms zur Uhrzeitsynchronisation an einem Port P,3. Each neighboring network participant starts after receiving the last nibble of the type field of the first telegram for time synchronization on a port P,
P = 1, 2, 3 oder 4, seinen zugeordneten Delay-Timer mit dem Wert der jeweiligen Durchlaufzeit ΔtDLZE- Er mißt somit die Zeitverzogerung seit Empfang des ersten Telegramms.P = 1, 2, 3 or 4, its assigned delay timer with the value of the respective throughput time Δt DLZ E- It thus measures the time delay since receipt of the first telegram.
4. Zu dem Zeitpunkt, zu welchem der benachbarte Netzwerkteilnehmer das letzte Nibble des Type-Feldes des ersten Telegramms zur Uhrzeitsynchronisation zur Weiterleitung an das MII eines Ports anlegt, wird der Wert des Delay- Timers, der diesem Port zugeordnet ist, abgespeichert. Die Delay-Timer laufen jedoch weiter. Die gespeicherten, den einzelnen Ports zugeordneten Delay-Times entsprechen jeweils der Ubertragungszeit Δti dieses Netzwerkteilnehmers. Sie wird jeweils zur empfangenen Startzeit der Delay-Timer addiert und mit einem zweiten Telegramm zur Uhrzeitsynchronisation über einen anderen Port zum nächsten, d.h. einem dritten, Netzwerkteilnehmer weitergeleitet .4. At the point in time at which the neighboring network subscriber creates the last nibble of the type field of the first telegram for time synchronization for forwarding to the MII of a port, the value of the delay timer which is assigned to this port is stored. However, the delay timers continue to run. The stored delay times assigned to the individual ports each correspond to the transmission time Δti of this network subscriber. It is added to the received start time of the delay timer and with a second telegram for time synchronization via another port to the next, i.e. forwarded to a third, network participant.
Mit dem Empfang eines ersten oder zweiten Telegramms zurWith the receipt of a first or second telegram for
Uhrzeitsynchronisation kennt der Uhrzeit-Slave die Startzeit seines Delay-Timers. Die synchronisierte Uhrzeit ergibt sich aus der Summe der m einem ersten oder zweiten Telegramm empfangenen Uhrzeit und der Delay-Time des Uhrzeit-Slaves für den empfangenden Port P.The time slave knows the start time of its delay timer in time synchronization. The synchronized time results from the sum of the time received in a first or second telegram and the delay time of the time slave for the receiving port P.
Die beschriebenen Möglichkeiten zur Uhrzeitsynchronisation können m entsprechender Weise zur Synchronisation von Aqui- distanz-Timern m den Netzwerkteilnehmern dienen. Aufgabe von Aquidistanz-Timern ist es, mehreren oder allen Netzwerkteilnehmern zu ermöglichen, vorgegebene Aktionen aquidistant auszufuhren. Bei Regelungssystemen wird diese Funktion häufig als „elektronische Welle* bezeichnet. Es soll bei allen Netzwerkteilnehmern, die über das Netzwerk miteinander verbunden sind, em Taktschlager generiert werden, mit dessen Takt jeweils Soll-Werte übergeben und Ist-Werte abgefragt werden. Em Anwendungsbeispiel ist die Messung der elektrischen Leistung, wenn die dazu erforderlichen Strom- und Spannungsmeßwerte von getrennten Meßumformern erfaßt und über ein Netzwerk abgefragt werden.The described possibilities for time synchronization can be used in a corresponding manner for the synchronization of interval timers in the network participants. The task of aquidistance timers is to enable several or all network participants to perform specified actions aquidistantly. This function is common in control systems referred to as "electronic wave *. For all network participants that are connected to one another via the network, a clock beat should be generated, with the clock of which respective target values are transferred and actual values are queried. An application example is the measurement of the electrical power if the required current and voltage measured values are recorded by separate transmitters and queried via a network.
Vorausgesetzt wird, daß em aquidistanter Zyklus von nur einem Aquidistanz-Master gesteuert wird. Der Netzwerkteilnehmer, der die Funktion eines Aquidistanz-Masters übernimmt, besitzt einen Timer, der beim Start mit dem parametrierbaren Wert des Aquidistanz-Intervalls geladen wird. Der Timer ist freilaufend und wird mit jedem Bittakt dekrementiert . Ist der Timer abgelaufen, wird er wieder mit dem parametrierten Wert des Aquidistanz-Intervalls geladen und em neuer Zyklus beginnt. Em Unterschied eines Aquidistanz-Timers gegenüber einer Uhr ist somit die Laufrichtung. Zur Korrektur eines mit Telegrammen übertragenen Timer-Standes müssen daher dieIt is assumed that an aquidistant cycle is controlled by only one aquidistance master. The network participant that takes over the function of an aquidistance master has a timer that is loaded at the start with the parameterizable value of the aquidistance interval. The timer is free running and is decremented with every bit clock. When the timer has expired, it is loaded again with the parameterized value of the aquidistance interval and a new cycle begins. The difference between an aquidistance timer and a watch is the direction of travel. To correct a timer status transmitted with telegrams, the
Zeitverzogerungen nicht wie bei der Uhrzeit addiert, sondern subtrahiert werden. Der oben verwendete Begriff „Uhrzeit- Synchronisation* soll daher so verstanden werden, daß er auch die Synchronisation von Aquidistanz-Timern einschließt.Time delays are not added as with the time, but are subtracted. The term "time synchronization *" used above should therefore be understood to include the synchronization of aquidistance timers.
Für eine Synchronisation aquidistanter Aktionen gibt es beispielsweise folgende Möglichkeit:The following options are available for synchronizing active actions:
1. Der Aquidistanz-Master tragt das Aquidistanz-Telegramm m die Auftragsliste e . Er speichert jeweils den Wert des Aquidistanz-Timers ab, wenn das letzte Nibble des Type- Feldes des Aquidistanz-Telegramms an den MII der vier Ports P, P = 1, 2, 3, 4, übergeben wird, d.h. zur physikalischen Übertragung bereitgestellt wird. Dieser für jeden Port P gespeicherte Wert ΔtA Jι, welcher der verblei- benden Zeit bis zum Ablauf des Aquidistanz-Intervalls entspricht, wird mit dem Aquidistanz-Telegramm über Port P zum benachbarten Netzwerkteilnehmer gesendet. 2. Jeder Netzwerkteilnehmer startet nach dem Empfangen des letzten Nibbles des Type-Feldes des Aquidistanz-Telegramms am MII eines Ports, d.h. beim Empfangen des Aquidistanz- Telegramms von der physikalischen Ubertragungsstrecke, einen Hilfs-Timer mit dem Wert der Durchlaufzeit ΔtD_.zp-1. The aquidistance master carries the aquidistance telegram m the order list e. It saves the value of the aquidistance timer when the last nibble of the type field of the aquidistance telegram is transferred to the MII of the four ports P, P = 1, 2, 3, 4, ie it is made available for physical transmission , This value Δt A Jι stored for each port P, which corresponds to the time remaining until the aquidistance interval has expired, is sent with the aquidistance telegram via port P to the neighboring network subscriber. 2. After receiving the last nibble of the type field of the aquidistance telegram at the MII of a port, ie when receiving the aquidistance telegram from the physical transmission link, each network participant starts an auxiliary timer with the value of the throughput time Δt D _.zp -
3. Zu dem Zeitpunkt, zu welchem der benachbarte Netzwerkteilnehmer das letzte Nibble des Type-Feldes vom Aquidistanz-Telegramm zur Weiterleitung an das MII eines anderen Ports anlegt, wird der Wert des Hilfs-Timers abgespeichert. Der gespeicherte Wert des Hilfs-Timers entspricht der Ubertragungszeit Δti dieses Netzwerkteilnehmers für den Port P. Diese gespeicherte Zeit Δtx wird von der empfangenen Restzeit ΔtAqJι bis zum nächsten Zyklusbeginn subtrahiert. Der benachbarte Netzwerkteilneh- mer leitet die korrigierte Restzeit (ΔtAquι - Δt mit dem Aquidistanz-Telegramm über den anderen Port zum nächsten benachbarten Netzwerkteilnehmer weiter. Zusatzlich ladt er die korrigierte Restzeit in seinen Aquidistanz-Timer, der mit jedem Takt dekrementiert wird. 4. Ist der Aquidistanz-Timer eines Aquidistanz-Slaves abgelaufen, so wird er zunächst mit dem parametrierten Wert des Aquidistanz-Intervalls geladen und mit jedem Bittakt dekrementiert. Sobald em neues Aquidistanz- Telegramm des Aquidistanz-Masters empfangen wird, ladt der Aquidistanz-Slave die m der beschriebenen Weise ermittelte Restzeit (ΔtAqJ1 - Δt2) bis zum nächsten Zyklusbeginn m den Aquidistanz-Timer .3. The value of the auxiliary timer is saved at the point in time at which the neighboring network subscriber creates the last nibble of the type field from the aquidistance telegram for forwarding to the MII of another port. The stored value of the auxiliary timer corresponds to the transmission time Δti of this network participant for port P. This stored time Δt x is subtracted from the received remaining time Δt AqJ ι until the next cycle begins . The neighboring network participant forwards the corrected remaining time (Δt Aquι - Δt with the aquidistance telegram via the other port to the next neighboring network participant. In addition, he loads the corrected remaining time into his aquidistance timer, which is decremented with each cycle. 4. If the Aquidistanz-Timer of an Aquidistanz-Slave has expired, it is first loaded with the parameterized value of the Aquidistanz-Interval and decremented with every bit clock in the manner described, the remaining time (Δt AqJ1 - Δt 2 ) until the next cycle begins m the aquidistance timer.
Für die beschriebene Synchronisation von Aquidistanz-Timern sollte die maximale Ubertragungszeit zwischen einem Sender und einem Empfanger im Netzwerk kleiner sein als die Lange des Aquidistanz-Intervalls.For the described synchronization of aquidistance timers, the maximum transmission time between a transmitter and a receiver in the network should be less than the length of the aquidistance interval.
In dem Ausfuhrungsbeispiel wurde em Netzwerk nach der Ethernet-Spezifikation beschrieben. Die Erfindung ist jedoch ohne weiteres auch auf Fast-Ethernet, Gigabit-Ethernet oder andere Netzwerktypen anwendbar. In the exemplary embodiment, a network was described according to the Ethernet specification. However, the invention is also readily applicable to Fast Ethernet, Gigabit Ethernet or other types of networks.

Claims

Patentansprüche claims
1. Netzwerk mit mehreren Netzwerkteilnehmern, wobei em erster Netzwerkteilnehmer dazu ausgebildet ist, ein erstes Telegramm zur Uhrzeitsynchronisation an einen zweiten Netzwerkteilnehmer zu senden, welchem die Durchlaufzeit des Telegramms über die physikalische Ubertragungsstrecke zwischen dem ersten Netzwerkteilnehmer und dem zweiten Netz- werkteilnehmer abgespeichert ist, d a d u r c h g e k e n n z e i c h n e t , daß das erste Telegramm eine um eine Sendezeitverzogerung korrigierte Uhrzeit des ersten Netzwerkteilnehmers enthalt, und daß der zweite Netzwerkteilnehmer dazu ausgebildet ist, die Zeitverzogerung seit Empfang des ersten Telegramms zu messen und die im ersten Telegramm empfangene Uhrzeit um die Durchlaufzeit und die Empfangszeitverzogerung zu korrigieren.1. Network with several network participants, wherein a first network participant is designed to send a first telegram for time synchronization to a second network participant, which stores the transit time of the telegram over the physical transmission link between the first network participant and the second network participant that the first telegram contains a time of the first network participant corrected for a transmission time delay, and that the second network participant is designed to measure the time delay since receipt of the first telegram and to correct the time received in the first telegram by the throughput time and the reception time delay.
2. Netzwerk nach Anspruch 1, d a d u r c h g e k e n n - z e i c h n e t , daß der zweite Netzwerkteilnehmer weiterhin dazu ausgebildet ist, em zweites Telegramm zur Uhrzeitsynchronisation an einen dritten Netzwerkteilnehmer zu senden, das eine um die Durchlaufzeit und die Verzogerungszeit zwischen Empfang des ersten Telegramms und Senden des zweiten Telegramms korrigierte, empfangene Uhrzeit enthalt.2. Network according to claim 1, characterized in that the second network participant is further configured to send a second telegram for time synchronization to a third network participant, the one by the lead time and the delay time between receipt of the first telegram and transmission of the second telegram corrected received time contains.
3. Netzwerk mit mehreren Netzwerkteilnehmern, wobei e erster Netzwerkteilnehmer dazu ausgebildet ist, em erstes Telegramm zur Uhrzeitsynchronisation an einen zweiten Netzwerkteilnehmer zu senden, m welchem die Durchlaufzeit des Telegramms über die physikalische Ubertragungsstrecke zwischen dem ersten Netzwerkteilnehmer und dem zweiten Netzwerkteilnehmer abgespeichert ist, d a d u r c h g e k e n n z e i c h n e t , daß der erste Netzwerkteilnehmer weiterhin dazu ausgebildet ist, eine um eine Sendezeitverzogerung des ersten Telegramms korrigierte Uhrzeit des ersten Netzwerkteilnehmers abzuspeichern, daß der zweite Netzwerk- teilnehmer dazu ausgebildet ist, die Zeitverzogerung seit Empfang des ersten Telegramms zu messen, wobei der erste Netzwerkteilnehmer weiterhin dazu ausgebildet ist, ein zweites Telegramm, das die um die Sendezeitverzogerung korrigierte Uhrzeit des ersten Netzwerkteilnehmers enthalt, an den zweiten Netzwerkteilnehmer zu senden und wobei der zweite Netzwerkteilnehmer weiterhin dazu ausgebildet ist, die im zweiten Telegramm empfangene Uhrzeit um die Durchlaufzeit und die Empfangszeitverzogerung zu korrigieren.3. Network with a plurality of network participants, a first network participant being designed to send a first telegram for time synchronization to a second network participant, which stores the transit time of the telegram over the physical transmission link between the first network participant and the second network participant, that the first network subscriber is further configured to store a time of the first network subscriber corrected by a transmission time delay of the first telegram, that the second network subscriber Participant is designed to measure the time delay since receipt of the first telegram, the first network participant being further configured to send a second telegram, which contains the time of the first network participant corrected for the transmission time delay, to the second network participant, and the second Network subscriber is also designed to correct the time received in the second telegram by the throughput time and the delay in reception time.
4. Netzwerk nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t , daß der zweite Netzwerkteilnehmer weiterhin dazu ausgebildet ist, das erste Telegramm an einen dritten Netzwerkteilnehmer weiterzuleiten, seine Verzogerungszeit der Telegrammweiterleitung zu messen und em drittes Telegramm an den dritten Netzwerkteilnehmer zu senden, das eine um die Durchlaufzeit und die Verzogerungszeit der Telegrammweiterleitung des ersten Telegramms korrigierte, empfangene Uhrzeit enthalt .4. Network according to claim 3, characterized in that the second network participant is further configured to forward the first telegram to a third network participant, to measure its delay time of the telegram forwarding and to send em third telegram to the third network participant, which is one by the throughput time and the delay time of the telegram forwarding of the first telegram contains corrected received time.
5. Netzwerk nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , daß der erste Netzwerkteilnehmer einen ersten Timer (57) zur Bestimmung der Sendezeitverzogerung aufweist, den er beim Eintragen eines Telegramms m eine Liste der Sendeauftrage startet und nach Bereitstellung des Telegramms zur physikalischen Übertragung als Wert der Sendezeitverzogerung ausliest, um welchen die Uhrzeit, zu welcher das Telegramm m die Liste der Sendeauf- trage eingetragen wurde, zu korrigieren ist.5. Network according to one of the preceding claims, characterized in that the first network participant has a first timer (57) for determining the transmission time delay, which he starts when entering a telegram m, a list of the transmission orders and after providing the telegram for physical transmission as the value of Reads out the transmission time delay at which the time at which the telegram m the list of send orders was entered is to be corrected.
6. Netzwerk nach Anspruch 5, d a d u r c h g e k e n n z e i c h n e t , daß der zweite Netzwerkteilnehmer einen zweiten Timer zur Bestimmung der Empfangszeitverzogerung aufweist, den er bei Empfang eines ersten Telegramms von einer physikalischen Ubertragungsstrecke startet. 6. Network according to claim 5, characterized in that the second network participant has a second timer for determining the reception delay, which it starts upon receipt of a first telegram from a physical transmission link.
7. Netzwerk nach Anspruch 6, d a d u r c h g e k e n n z e i c h n e t , daß die Durchlaufzeit des Telegramms über die physikalische Ubertragungsstrecke zwischen dem ersten Netzwerkteilnehmer und dem zweiten Netzwerkteilnehmer als Startwert m den zweiten Timer vor dessen Start abgespeichert ist.7. Network according to claim 6, so that the throughput time of the telegram over the physical transmission path between the first network participant and the second network participant is stored as the starting value m the second timer before it starts.
8. Netzwerk nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , daß Beginn und Ende der Durchlaufzeit eines Telegramms jeweils als der Zeitpunkt bestimmt sind, zu welchem em charakteristisches Feld eines Telegramms mit festem Abstand vom Telegrammanfang em Media Independent Interface des ersten Teilnehmers verlaßt, bzw. m em Media Independent Interface des zweiten Netzwerkteilneh- mers einlauft.8. Network according to one of the preceding claims, characterized in that the beginning and end of the throughput time of a telegram are each determined as the time at which em characteristic field of a telegram with a fixed distance from the beginning of the telegram em Media Independent Interface of the first participant, or m em media independent interface of the second network participant.
9. Netzwerk nach Anspruch 8, d a d u r c h g e k e n n z e i c h n e t , daß das Netzwerk die Ethernet-, Fast-Ethernet- oder Gigabit-Ethernet-Spezifikation erfüllt und daß das charakteristische Feld des Telegramms das Type-Feld ist.9. Network according to claim 8, d a d u r c h g e k e n n z e i c h n e t that the network meets the Ethernet, Fast Ethernet or Gigabit Ethernet specification and that the characteristic field of the telegram is the type field.
10. Netzwerk nach einem der vorhergehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , daß der erste Netzwerkteilnehmer weiterhin dazu ausgebildet ist, nach der Aufnahme m das Netzwerk em erstes Telegramm zur Laufzeitermittlung an einen benachbarten Teilnehmer zu senden und einen Antwortzeit-Timer nach Bereitstellung des Telegramms zur physikalischen Übertragung zu starten, daß der zweite Netzwerkteilnehmer weiterhin dazu ausgebildet ist, nach Empfang eines Telegramms zur LaufZeitermittlung von der physikalischen Übertragung einen Timer zur Ermittlung der Aufenthaltszeit zu starten und nach Bereitstellung eines zweiten Telegramms zur physikalischen Übertragung den Timer zu stoppen und die gemessene Aufenthaltszelt tDA m einem zweiten Telegramm zur LaufZeitermittlung an den ersten Netzwerkteilnehmer zu übertragen, daß der erste Netzwerkteilnehmer weiterhin dazu ausgebildet ist, nach Empfang des zweiten Telegramms zur Laufzei ;ermittlung von der physikalischen Übertragung den Antworzzeit-Timer zu stoppen, die gemessene Antwortzeit tD sowie die gemessene Aufenthaltszeit tDA des zweiten Netzwerkteilnehmers auszuwerten und eine Durch- laufzeit tDLz der physikalischen Übertragung zu bestimmen zu10. Network according to one of the preceding claims, characterized in that the first network participant is further configured to send the network em first telegram after the recording m to determine the runtime to an adjacent participant and a response time timer after providing the telegram for physical transmission start that the second network participant is further trained to start a timer for determining the stay time after receiving a telegram for determining the runtime from the physical transmission and to stop the timer after providing a second telegram for physical transmission and to measure the measured stay tent t DA m second telegram for running time determination to transmit to the first network participant that the first network participant is further designed to receive the second Telegram to determine the response time timer from the physical transmission, to evaluate the measured response time t D and the measured stay time t DA of the second network participant and to determine a throughput time t D Lz of the physical transmission
„ _ (lDR ~ tDA ) lDLZ ~ "_ ( L DR ~ t DA) l DLZ ~
11. Netzwerkteilnehmer, insbesondere Feldgerät, für ein Netzwerk nach einem der vorhergehenden Ansprüche, d a - du r c h g e k e n n z e i c h n e t , daß mehrere Ports, insbesondere vier Ports (28 ... 31), zum Anschluß weiterer Netzwerkkomponenten vorgesehen sind, daß eine Schnittstelle (25) , ein sogenanntes Mikroprozessor-Interface, vorgesehen ist zur Verbindung der Ports mit einem teilnehmerinternen Prozessor-Bus (21), daß eine Steuereinheit (46), eine sogenannte Switch-Control, vorgesehen ist zur Telegrammweglenkung zwischen den Ports und dem Mikroprozessor-Interface und daß der Netzwerkteilnehmer dazu ausgebildet ist, als Uhrzeit-Master ein erstes Telegramm zur Uhrzeitsynchroni- sation an einen zweiten Netzwerkteilnehmer zu senden, das eine um eine Sendezeitverzögerung korrigierte Uhrzeit des Netzwerkteilnehmers enthält, und/oder daß in dem Netzwerkteilnehmer als Uhrzeit-Slave die Durchlaufzeit eines Telegramms über die physikalische Ubertragungsstrecke zwischen dem Netzwerkteilnehmer und einem zweiten Netzwerkteilnehmer abgespeichert ist und daß der Netzwerkteilnehmer dazu ausgebildet ist, die Zeitverzögerung seit Empfang eines Telegramms zur Uhrzeitsychronisation zu messen und eine in einem Telegramm empfangene Uhrzeit um die Durchlaufzeit und die Empfangszeitverzögerung zu korrigieren.11. Network subscriber, in particular field device, for a network according to one of the preceding claims, since you are characterized in that several ports, in particular four ports (28 ... 31), are provided for connecting further network components, that an interface (25) a so-called microprocessor interface is provided for connecting the ports to an internal processor bus (21) that a control unit (46), a so-called switch control, is provided for routing the telegram between the ports and the microprocessor interface and that Network subscriber is designed to send a first telegram for time synchronization to a second network subscriber as time master, which contains a time corrected by a transmission time delay of the network subscriber, and / or that the throughput time of a telegram is transmitted in the network subscriber as a time slave the physical transmission path between the N Network subscriber and a second network subscriber is stored and that the network subscriber is designed to measure the time delay since receipt of a telegram for time synchronization and to correct a time received in a telegram by the throughput time and the reception time delay.
12. Netzwerkteilnehmer nach Anspruch 1 , d a d u r c h g e k e n n z e i c hn e t , daß die Ports (28...31) der Ethernet-, Fast-Ethernet- oder Gigabit-Ethernet-Spezifikation genügen. 12. Network subscriber according to claim 1, dadurchgekennzeic hn et that the ports (28 ... 31) meet the Ethernet, Fast Ethernet or Gigabit Ethernet specification.
13. Netzwerkteilnehmer nach Anspruch 12, d a d u r c h g e k e n n z e i c h n e t , daß die Steuereinheit (46) derart ausgebildet ist, daß eine Ubertragungsprioπtat der zu versendenden Telegramme ausgewertet wird und daß Telegramme mit hoher Priorität vor Telegrammen mit niederer Priorität gesendet werden.13. Network subscriber according to claim 12, d a d u r c h g e k e n n z e i c h n e t that the control unit (46) is designed such that a transmission priority of the telegrams to be sent is evaluated and that telegrams with high priority are sent before telegrams with low priority.
14. Netzwerkteilnehmer 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 , daß em Mikropro- zessor (23) vorhanden ist zur Korrektur einer internen Uhr anhand m Telegrammen empfangener Uhrzeitinformationen. 14. Network subscriber according to one of claims 11 to 13, that a microprocessor (23) is present for correcting an internal clock using m telegrams of received time information.
PCT/DE2001/000413 2000-02-02 2001-02-02 Clock synchronisation in a network and network users, in particular a field device for said network WO2001058067A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE2000104426 DE10004426A1 (en) 2000-02-02 2000-02-02 Network participants, in particular field device, and network with such a network participant
DE10004425.5 2000-02-02
DE2000104425 DE10004425A1 (en) 2000-02-02 2000-02-02 Network with subscriber device, esp. field device, enables transmitter, receiver transmission, reception time delays to be taken into account for time synchronisation
DE10004426.3 2000-02-02

Publications (1)

Publication Number Publication Date
WO2001058067A1 true WO2001058067A1 (en) 2001-08-09

Family

ID=26004145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2001/000413 WO2001058067A1 (en) 2000-02-02 2001-02-02 Clock synchronisation in a network and network users, in particular a field device for said network

Country Status (1)

Country Link
WO (1) WO2001058067A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036832A3 (en) * 2001-10-17 2003-08-21 Siemens Ag Method for operating an end-user of an isochronous cyclical communication system
WO2003085921A2 (en) * 2002-04-02 2003-10-16 Schneider Automation, Inc. Method and apparatus for ethernet prioritized device clock synchronization
DE102004061343A1 (en) * 2004-12-20 2006-06-29 Siemens Ag Network has many stations, second station is formed to send second telegram for time synchronization on third station and at same time for sending first telegram (T1) by first station
DE10332551B4 (en) * 2003-07-17 2006-11-09 Jülg, Thomas, Dipl.-Ing. Dr. Method for determining position
CN102591291A (en) * 2012-02-27 2012-07-18 固高科技(深圳)有限公司 Industrial controller and human-machine interface bidirectional data transmission system and method
CN104135533A (en) * 2014-08-13 2014-11-05 北京金鸿泰科技有限公司 System and method of transmitting industrial data

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0389754A2 (en) * 1989-02-28 1990-10-03 Hewlett-Packard Company Broadcast station locator for a local area network
US5546385A (en) * 1995-01-19 1996-08-13 Intel Corporation Flexible switching hub for a communication network
US5602992A (en) * 1993-11-29 1997-02-11 Intel Corporation System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
US5802082A (en) * 1995-07-25 1998-09-01 Deutsche Telekom Ag Method and device for measuring cell propagation time in ATM networks
DE19710971A1 (en) * 1997-03-17 1998-09-24 Siemens Ag Propagation timing method for sending telegram between two subscribers in bus system
US5926461A (en) * 1996-04-22 1999-07-20 Deutsche Telekom Ag Process for measuring switching delays
WO1999062230A1 (en) * 1998-05-22 1999-12-02 Winnet Mcs, Inc. Ethernet switch in a terminal for a wireless metropolitan area network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0389754A2 (en) * 1989-02-28 1990-10-03 Hewlett-Packard Company Broadcast station locator for a local area network
US5602992A (en) * 1993-11-29 1997-02-11 Intel Corporation System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
US5546385A (en) * 1995-01-19 1996-08-13 Intel Corporation Flexible switching hub for a communication network
US5802082A (en) * 1995-07-25 1998-09-01 Deutsche Telekom Ag Method and device for measuring cell propagation time in ATM networks
US5926461A (en) * 1996-04-22 1999-07-20 Deutsche Telekom Ag Process for measuring switching delays
DE19710971A1 (en) * 1997-03-17 1998-09-24 Siemens Ag Propagation timing method for sending telegram between two subscribers in bus system
WO1999062230A1 (en) * 1998-05-22 1999-12-02 Winnet Mcs, Inc. Ethernet switch in a terminal for a wireless metropolitan area network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BUCHWITZ M ET AL: "DAS NETZ IST DIE STEUERUNG TECHNOLOGIESPRUNG IN DER STEUERUNGSTECHNIK", ELEKTRONIK,FRANZIS VERLAG GMBH. MUNCHEN,DE, vol. 48, no. 8, 20 April 1999 (1999-04-20), pages 38,51 - 52,54-56, XP000902697, ISSN: 0013-5658 *
GOLDBERG L: "SPEED DOES MATTER: GIGABIT SWITCH CHIP RAISES THE BAR", ELECTRONIC DESIGN,PENTON PUBLISHING, CLEVELAND, OH,US, vol. 46, no. 17, 20 July 1998 (1998-07-20), pages 53 - 54,56,58, XP000849214, ISSN: 0013-4872 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036832A3 (en) * 2001-10-17 2003-08-21 Siemens Ag Method for operating an end-user of an isochronous cyclical communication system
WO2003085921A2 (en) * 2002-04-02 2003-10-16 Schneider Automation, Inc. Method and apparatus for ethernet prioritized device clock synchronization
WO2003085921A3 (en) * 2002-04-02 2003-12-18 Schneider Automation Method and apparatus for ethernet prioritized device clock synchronization
DE10332551B4 (en) * 2003-07-17 2006-11-09 Jülg, Thomas, Dipl.-Ing. Dr. Method for determining position
DE102004061343A1 (en) * 2004-12-20 2006-06-29 Siemens Ag Network has many stations, second station is formed to send second telegram for time synchronization on third station and at same time for sending first telegram (T1) by first station
DE102004061343B4 (en) * 2004-12-20 2007-11-22 Siemens Ag Network with multiple stations, station for such a network and method for synchronization of stations
CN102591291A (en) * 2012-02-27 2012-07-18 固高科技(深圳)有限公司 Industrial controller and human-machine interface bidirectional data transmission system and method
CN104135533A (en) * 2014-08-13 2014-11-05 北京金鸿泰科技有限公司 System and method of transmitting industrial data

Similar Documents

Publication Publication Date Title
EP1748338B1 (en) Method for optimizing bandwidth usage in bus systems
EP1648117B1 (en) Method for synchronisation in a redundant communication system
EP2961106B1 (en) Network, head subscriber and data transmission method
EP3759871B1 (en) Master-slave bus system and method for operating a bus system
EP1260081B1 (en) Network comprising redundancy features and network node, especially a field device for such a network
DE102004050424B4 (en) Method for transmitting data in a communication system
DE60316758T2 (en) System for the synchronization of commands, as well as a method, a control device and a target device for the same system
EP2148474A1 (en) Multirouter for time-controlled communication systems
EP3679691A1 (en) Data transmission method and communication network
DE10004425A1 (en) Network with subscriber device, esp. field device, enables transmitter, receiver transmission, reception time delays to be taken into account for time synchronisation
WO2001058067A1 (en) Clock synchronisation in a network and network users, in particular a field device for said network
DE102010000995B3 (en) Increasing the real-time capability of Ethernet networks
WO2021115962A1 (en) Method for optimising the time synchronisation between network devices connected via a communications network
EP1436950B1 (en) User device for a high performance communication system
DE102019125545B3 (en) DATA TRANSFER PROCEDURE, SEGMENT TELEGRAM AND AUTOMATION COMMUNICATION NETWORK
DE102010027286B4 (en) Method and device for transmitting data in an automation system
AT517778B1 (en) Method for data communication with reduced overhead in a real-time capable Ethernet data network
EP3676995B1 (en) Master of a bus system
DE10260807B4 (en) Transmission method for a time reference via a transmission medium and timer block corresponding thereto
DE10004426A1 (en) Network participants, in particular field device, and network with such a network participant
EP1371193B1 (en) Elektronischer schaltkreis und verfahren fur eine kommunikationsschnittstelle mit cut-through pufferspeicher
DE102004061343B4 (en) Network with multiple stations, station for such a network and method for synchronization of stations
EP3854035B1 (en) Data transmission method and automation communication network
DE102018010209A1 (en) Master-slave bus system and method for operating a bus system
EP3905602A1 (en) Method for operating a communication system for transferring time-critical data and control device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase