1. Method and device for operating a slave
By temporarily extending the communication interruption of one subordinate bus participant in a ring-shaped bus system, the system stabilizes and prevents 'self-vibration', ensuring efficient communication.
Patent Information
- Application Number
- DE102011118362
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2011-11-14
- Publication Date
- 2025-04-24
- Estimated Expiration
- 2031-11-14
AI Technical Summary
In a ring-shaped bus system, 'self-vibration' can occur when multiple subordinate bus participants start communicating simultaneously, leading to potential interruptions in ring communication.
One of the subordinate bus participants temporarily interrupts communication on the bus for a longer duration than others, stabilizing the break and preventing system instability. This is achieved by deactivating the buffer memory of the first slave, allowing it to continue forwarding telegrams only if received within a predetermined time window.
This approach ensures a stable bus system by preventing 'self-vibration' and allowing the system to achieve a stable state quickly, even with the addition of new slaves.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present invention relates to a method for operating a slave, a device for operating a slave and a corresponding computer program product.
[0002] In a conventional bus system, a bus node master controls several bus node slaves. The master monitors a bus structure and communicates with the slaves. The slaves are dependent on the master and do not execute any action without a prior command from the master. When a new slave is added to the bus system, the master must detect this and adapt a bus communication routine.
[0003] The document US 2003 / 0043855 A1 shows a communication network, a node unit used therein and a control method therefor.
[0004] It is the object of the present invention to provide an improved method for operating a slave, an improved device for operating a slave and a corresponding computer program product.
[0005] This object is achieved by a method for operating a slave, a device for operating a slave and a corresponding computer program product according to the main claims.
[0006] In a ring-shaped bus system with a controlling higher-level bus device (master) and at least two hierarchically subordinate bus devices (slaves), a "natural oscillation" in the bus communication can arise if several subordinate bus devices begin to communicate simultaneously in the bus system. For example, the subordinate bus devices can begin to communicate. For example, the subordinate bus devices can be electrically connected to the bus at the same time, or the subordinate bus devices can simultaneously restart a communication routine. In this case, the controlling higher-level bus device and the subordinate bus devices can alternately find conditions fulfilled to separate or break up the ring structure of the bus, which can in each case lead to an interruption of the ring communication on the bus.
[0007] A bus system surge can be prevented if one of the subordinate bus devices interrupts communication on the bus for at least one time step longer than the other bus devices. This pause allows the bus to stabilize.
[0008] Advantageously, a bus system can reach a stable state within a short period of time if a contact of a slave to a predetermined bus arm serves as an indicator to wait for an extended transmission pause so that other slaves can start a normal communication routine in the meantime.
[0009] A method for operating a first slave in a ring-shaped closed bus line which is connected to a master and at least one further slave, wherein the master sends at least one forward telegram in a forward direction and at least one backward telegram in a backward direction to the slaves via the bus line, comprises a step of deactivating a buffer memory of the first slave in order to suspend forwarding of forward telegrams and backward telegrams until a reactivation time when the forward telegram and the backward telegram are received within a predetermined time window.
[0010] A slave can be understood as a hierarchically subordinate bus participant that is controlled and / or monitored by a master as the hierarchically superior bus participant. A bus system can be an arrangement of several communicating devices that are connected via a common bus line. Communication via the bus line takes place using a standardized technical language for the bus system. The bus system can be ring-shaped; in this case, communication can be redundant because messages and signals can be sent in opposite transport directions within the bus system. The directions can be referred to as forward and reverse. The directions can also be referred to as primary and secondary, left and right, or x and y, for example. The messages and signals can be referred to as a telegram. A telegram can have a beginning and an end.The telegram can be self-contained, for example, as a data word for data transmission on the bus system. The forward telegram and the reverse telegram can be clearly marked and have identical information content. The slaves can have a buffer memory designed to temporarily store telegrams until they can be forwarded. If the buffer memory is deactivated, a currently running transaction can be completed while the next pending transaction is not started. This prevents telegrams from being cut up.
[0011] The reactivation time can be determined by a recurring signal pulse. A signal pulse can be a trigger signal that is received regularly. For example, the signal pulse can be received from an external source that provides the signal pulse for clocking.
[0012] The reactivation time can be advanced, independent of the recurring signal pulse, if another reverse telegram is received. If another reverse telegram is received, this means that at least one other slave has reactivated its buffer memory and is retransmitting the reverse telegrams. This indicates that the ring is closed and only the first slave should keep its buffer memory permanently deactivated, since only the first slave permanently fulfills the deactivation condition.
[0013] In response to the receipt of another forward telegram and another reverse telegram while the buffer memory is deactivated, at least two further recurring signal pulses can be waited for from the time of reception until the time of reactivation. As long as telegrams are received from both directions, the buffer memory can remain deactivated. If the loop is interrupted, this condition is no longer valid, and the telegrams can be forwarded.
[0014] At least two recurring signal pulses can be waited between the deactivation and reactivation times. There is a minimum deactivation period between two signal pulses, which must always be waited until the buffer memory of the first slave can be reactivated.
[0015] In response to receiving another forward telegram while the buffer is deactivated, the reactivation time can be shifted forward by one pulse of the trigger signal. Since only the first slave receives forward telegrams, shifting the reactivation time can give the other slaves time to establish normal communication with the master via the reverse direction until the first slave also receives the reverse telegrams again.
[0016] The reactivation time can be postponed a maximum of three times by one trigger pulse each. If the bus line in the reverse direction between the first slave and the master is interrupted after the buffer memory has been deactivated, the forward telegrams can be retransmitted to previously interrupted slaves, thus restoring communication.
[0017] The deactivation step can be performed in response to a boot process of at least the first slave. A boot process can occur due to a previous separation and subsequent integration into the bus. A boot process can also be a reboot of the slave.
[0018] A device designed to carry out or implement the steps of the method according to the invention in corresponding devices is also advantageous. This embodiment of the invention in the form of a device also allows the problem underlying the invention to be solved quickly and efficiently.
[0019] In this case, a device can be understood as an electrical device that processes sensor signals and outputs control and / or data signals depending on them. The device can have an interface, which can be implemented in hardware and / or software. In a hardware implementation, the interfaces can, for example, be part of a so-called system ASIC, which contains a wide variety of functions of the device. However, it is also possible for the interfaces to be separate integrated circuits or to consist at least partially of discrete components. In a software implementation, the interfaces can be software modules that are present, for example, on a microcontroller alongside other software modules.
[0020] Also advantageous is a computer program product with program code that can be stored on a machine-readable medium such as a semiconductor memory, a hard disk memory or an optical memory and is used to carry out the method according to one of the embodiments described above when the program is executed on a computer or device.
[0021] The invention is explained in more detail below with reference to the accompanying drawings. They show: Fig. 1 shows a representation of a ring-shaped closed bus system after execution of a method according to an embodiment of the present invention; Fig. 2 is a flowchart of a method for operating a slave according to an embodiment of the present invention; Fig. 3 a representation of the ring-shaped closed bus system from Fig. 1 in a further communication phase; Fig. 4 a representation of a slave with activated buffer memory; Fig. 5 a representation of a slave with partially deactivated buffer memory; Fig. 6 a representation of a slave in another communication mode; Fig. 7 a representation of an arm of a bus system with a master and several slaves; Fig. 8 shows a representation of states and processes in a first slave according to an embodiment of the present invention; Fig. 9 shows a representation of states and processes in a second slave according to an embodiment of the present invention; and Fig. 10 a representation of states and processes in another slave according to an embodiment of the present invention.
[0022] Identical or similar elements may be provided with identical or similar reference numerals in the following figures. Furthermore, the figures of the drawings, their description, and the claims contain numerous features in combination. A person skilled in the art will appreciate that these features can also be considered individually or combined to form further combinations not explicitly described here.
[0023] Fig. 1 shows a representation of a ring-shaped, closed bus system 100 after execution of a method according to an exemplary embodiment of the present invention. The bus system 100 has a master 102 and five slaves 104a to 104e, which are connected in a ring-shaped arrangement via a bus line. The master 102 sends forward telegrams in a ring direction via a forward channel 106 via a forward port. Simultaneously, the master 102 sends reverse telegrams in an opposite ring direction via a reverse channel 108 via a reverse port. Each forward telegram corresponds to a reverse telegram. Both have the same information content. The forward telegram is labeled as a forward telegram. The reverse telegram is labeled as a reverse telegram. The slaves 104b, 104c and 104d are connected to the bus 100 simultaneously and complete the bus 100 to form a closed ring.In the ring, the forward line 106 and the reverse line 108 are also closed in a closed loop. Therefore, incorrectly addressed telegrams can circulate endlessly in the bus system and disrupt communication. To prevent endlessly circulating telegrams, the forward line 106 and the reverse line 108 should be separated at a single point. This requires that both the forward telegram and the reverse telegram arrive at slave 104. Slaves 104b, 104c, and 104d fulfill this requirement. Therefore, all deactivate the collision buffer and thus prevent the forwarding of the telegrams. Thus, slave 104c is temporarily inaccessible to either forward telegrams or reverse telegrams. Therefore, according to the approach presented here, the collision buffer of slave 104b is left deactivated for at least one time step longer than the collision buffers of slaves 104c and 104d.For this purpose, it has been predetermined for this embodiment that receiving the forward telegrams causes an extension of the deactivation period. Since slaves 104c and 104d cannot receive forward telegrams because slave 104b does not forward the telegrams, the reverse telegrams are forwarded from the reverse line 108 to slave 104b after slaves 104d and 104c have reactivated the buffer memory, and the original condition for deactivating the buffer memory in slave 104b is once again and permanently met. Thus, bus system 100 is in a stable state.
[0024] Fig. Figure 2 shows a flowchart of a method for operating a first slave in a ring-shaped closed bus line according to an embodiment of the present invention. The method can be implemented in a bus system as described in Fig. 1. The bus line is connected to a master and at least one further slave. The master sends at least one forward telegram in a forward direction and at least one reverse telegram in a reverse direction to the slaves via the bus line. The method comprises a step of deactivating 200 a buffer memory of the first slave in order to suspend forwarding of forward telegrams and reverse telegrams until a reactivation time when the forward telegram and the reverse telegram are received within a predetermined time window.
[0025] Fig. 3 shows the bus system 100 from Fig. 1 in a further communication phase. After the execution of an embodiment of a method according to the approach presented here, the slave 104b has, as in Fig. 1, its buffer memory remains deactivated. Slave 104b thus divides the ring of bus system 100 so that no telegrams can circulate around the ring. During this communication phase, the telegrams are data packets from an external network that are distributed via the forward line 106 and the reverse line 108 to slaves 104a to 104e and master 102. For example, the data can be Ethernet messages. Messages addressed to one of the other bus participants are forwarded via the buffer memory. Slave 104b prevents the forwarding of the data packets, thus stabilizing the bus system.
[0026] Fig. 4 shows a schematic representation of a bus participant using the example of a slave 104. The slave 104 can be one of the slaves 104 from Fig. 1. The slave 104 has a first collision buffer "CB" 400, a second collision buffer "CB" 402, a first real-time buffer "RT" 404, and a second real-time buffer "RT" 406. The first and second collision buffers 400, 402 are designed as buffer memories to store incoming telegrams at an input "RX" and to forward them via an output "TX" if the conditions for forwarding are met. If a telegram is addressed to the slave 104, the telegram is not forwarded. If a subsequent line section is still occupied by a previous telegram, the telegram is not forwarded. The first collision buffer 400 is connected to the forward line on a side "Py".In the communication phase shown here (“non-real-time mode - NRT mode” or “NRT state / HP0”), telegrams from the “Sercos” data bus 408 and data packets from an external “IT” network 410 are written into the first collision buffer 400 via the forward line. The telegrams 408 and data packets 410 to be forwarded from this are then forwarded to an opposite side “Px” via the forward line. The first real-time buffer 404 is inactive during this communication phase. Likewise, telegrams 408 and data packets 410 from the “Px” side are written into the second collision buffer 402 via the reverse line and then forwarded to the “Py” side. The second real-time buffer 406 is also inactive.
[0027] Fig. 5 shows the slave 104 from Fig. 4 in a different communication phase of the “NRT mode” in the “NRT channel”. The communication phase shown essentially corresponds to the representation in Fig. 4. In this embodiment, however, telegrams 408 are not written to collision buffers 400, 402. Therefore, they are not forwarded. Data packets 410 are not affected.
[0028] Fig. 6 shows the slave 104 from the Fig. 4 and Fig. 5 in a different communication phase, in the "RT channel" or "CP0 - CP4, HP1 - HP2." No data packets are being received or sent during this communication phase. No data packets are available. Telegrams 408 are now written to the real-time buffers 404, 406 and forwarded. Collision buffers 400, 402 are inactive. Additionally, the forward line is connected to the reverse line, allowing telegrams to be sent in the opposite direction. Signal switches "LB Px" 600 and "LB Py" 602 are located at the "TX" outputs to connect the signal paths.
[0029] Fig. Figure 7 shows an approach to preventing a situation where, when hot-plugging multiple sercos III slaves, there is a slave in the NRT state or HP0 between the last slave in the line and the HP1 / HP2 slave, which has already activated loopback. This slave either does not support hot-plugging or has missed a hot-plug parameter due to delays. This slave currently forwards all Ethernet telegrams including sercos III, whereupon the last slave in the line reports a sercos III link to its inactive port to the master. Based on the specification, the master will abort the transmission of the HP0 parameters and switch the last slave in the line from loopback to fast-forward, which in this case can significantly disrupt communication due to the "cut-through" or "store and forward" mechanism of the slave in the NRT state or HP0.
[0030] Since the master and the last slave in the line have no general means of diagnosing this topology, the slave in the NRT state or HP0 should not forward the sercos III telegrams back to the last slave in the line. The last slave in the line will then only briefly report a sercos III link on its inactive port, after which the master, with appropriate filtering, will not switch it to fast forward.
[0031] The slave in the NRT state or HP0 should monitor the receipt of sercos III P or S telegrams of the communication phase CP1-CP4 on both ports and, if necessary, initiate a timeout 700, analogous to the deactivation of the collision buffer, during which no more sercos III telegrams are forwarded on the return path. This timeout 700 lasts between 67 and 134 ms and only affects sercos III telegrams. Timeout 700 ends when the condition for discarding the telegrams is clearly lifted (e.g. slave changes from HP0 to HP1 or MST phase changes to CP0). It is important in this process that the sercos III telegrams are filtered direction-dependently, and only on the return path. Otherwise, the condition for the slave is already extinguished due to filtering in both directions and the HP1 or HP2 slaves may unnecessarily fall back into the NRT state.
[0032] The Fig. 8 to 10 show state changes of several signals and functions of one of the slaves 104b, 104c and 104d, as shown in Fig. 1 and Fig. 2, in a time course. The changes are made in each case according to a method for operating a slave according to an embodiment of the present invention. Fig. 8 operations on slave 104b, Fig. 9 shows simultaneously the processes on the slave 104c and Fig. Figure 10 also shows the processes on slave 104d simultaneously. A time axis t, on which a trigger signal T is plotted, is plotted above each graphically represented state change. Two pulses of the trigger T are separated by a time Δt of 67.108864 ms. Below the time axis, a state of receiving a forward telegram 800 (sercos III S telegram) and a state of receiving a reverse telegram 802 (sercos III P telegram) are plotted. Below states 800 and 802, a "timeout" function 804, a "timeout extension" function 806, and a state of the collision buffer 808 are plotted.
[0033] In Fig. 8 are the state changes of the signals and functions of the slave 104b in Fig. 1 and Fig. 2. First, the reception of a forward telegram 800 is shown. With a slight time offset, the reception of a backward telegram 802 is shown. At the time the backward telegram 802 is received, the timeout 804 is activated. The timeout 804 remains activated in any case until two consecutive pulses of the trigger signal T have been received. Therefore, the timeout 804 can have a duration t=Δt, which corresponds to a length between 67.108864 ms and 134.217728 ms. The timeout 804 deactivates the collision buffer 808. During the timeout 804, another forward telegram 800 is received, since the slave 104b in Fig. 1 is located at the edge of the group of three and remains in direct contact with the master. In response to the receipt of the further forward telegram 800, the timeout is extended via the extension 806 by a duration Δt until the next trigger pulse T. The collision buffer 808 remains deactivated. Since no further backward telegram 802 has been received while several forward telegrams 800 are being received, the extension 806 is extended twice more. Three consecutive extensions 806 with a maximum duration of 201.236592 ms are specified here as the maximum number. During the third extension 806, a backward telegram 802 is received while a forward telegram 800 is also being received. This eliminates the condition for the extension 806 and the extension 806 is aborted before the next pulse of the trigger signal T is received.At the same time, the receipt of the forward telegram 800 and the reverse telegram 802 is the condition for a renewed timeout 804 and a continued deactivation of the collision buffer 808. Therefore, the collision buffer of slave 104b remains deactivated. This puts the bus in a stable state.
[0034] In Fig. 8 assumes that the slave is not also directly connected to the master's P-line. Otherwise, sercos III P telegrams would continue to be received. Due to the receipt of sercos III S telegrams, a sercos III P telegram will be received again in the third extension at the latest, whereupon the timeout is triggered again and the collision buffer remains deactivated.
[0035] In Fig. 9 are the state changes of the signals and functions of the slave 104c in Fig. 1 and Fig. 2. The forward telegram 800 and the reverse telegram 802 are received simultaneously because the slave 104c is located halfway across the bus from the master in the ring-shaped structure, and the forward telegram and the reverse telegram are transmitted simultaneously by the master. Simultaneous reception starts the timeout 804 and deactivates the collision buffer 808. Since no further forward telegram 800 is received, the condition for extending the timeout 806 is not met. After receiving the second trigger pulse T, the collision buffer 808 is reactivated. After a certain time, reverse telegrams 802 are received again from the slave 104d, which are also forwarded to the slave 104b.
[0036] In Fig. 10 are the state changes of the signals and functions of the slave 104d in Fig. 1 and Fig. 2. Since the reverse line of slave 104d is shorter than the forward line, slave 104d first receives a reverse telegram 802 before receiving the corresponding forward telegram 800. At the time the forward signal 800 is received, timeout 804 is triggered and collision buffer 808 is deactivated. Timeout 804 remains in effect for at least two trigger pulses T. Since no further forward telegrams 800 are received here either, timeout 806 is not extended. Since collision buffer 808 is reactivated after timeout 804, the next backward telegram 802 is forwarded to slave 104c with a maximum delay of a duration t=Δt.
[0037] In Fig. 10 assumes that the slave is not also directly connected to the master's S-line. Otherwise, sercos III S-telegrams would continue to be received.
[0038] In the Fig. 9 and Fig. 10, a possible range of activation is taken into account. Under unfavorable circumstances, a one-time extension of the timeout 806 may occur. In this case, the establishment of the stable states in the bus system may be delayed by one forward-backward telegram. After 335 ms at the latest, the topology has adjusted to the values specified in Fig. 1 and Fig. 2 shown telegram flow stabilized.
[0039] In other words, the Fig.8 to 10 illustrate collision buffer management for sercos III slaves. Due to field problems encountered during root cause analysis, the approach presented here improves the robustness of the sercos III communication mechanisms. It expands on the procedure proposed in the "User Guide" for the "NRT channel." Due to the lack of temporal information in the "NRT channel," oscillations can occur if multiple slaves deactivate their collision buffer during operation, as they thereby deprive each other of the condition to continue deactivating the collision buffer. This makes stable IP communication with all participants impossible. The approach presented here specifies a single slave that leaves the collision buffer deactivated.
[0040] When using the hotplug mechanism for multiple slaves simultaneously, this ensures that other slaves, which may not support hotplug, are not integrated into an active sercos III line and thus cannot disrupt its synchronization mechanisms. Returning sercos III telegrams can be blocked by a slave for this purpose. Since the approach presented here is directly integrated into sercos III processes, no compatibility issues arise. A stable state is reached after a relatively short time, thus resolving the problems with IP connections.
[0041] When forwarding Ethernet telegrams in a sercos III network, the ring topology frequently used in sercos III and the resulting redundancy can result in endlessly circulating broadcasts or multicasts, or Ethernet telegrams whose destination MAC address does not match any existing device. To resolve this, one sercos III device can disable IP telegram forwarding. If multiple devices do this, not all of them will be accessible via IP.
[0042] If the collision buffer is in the NRT state or HP0 and the collision buffer is deactivated, neither Sercos III telegrams nor other Ethernet telegrams are forwarded from port 1 to port 2 or vice versa. If the collision buffer is activated, Sercos III telegrams and all other Ethernet telegrams with a broadcast or multicast MAC address, as well as all Ethernet telegrams not addressed to the slave, are forwarded.
[0043] If the collision buffer is in CP0 to CP4 or HP1 and HP2 and is deactivated, neither sercos III telegrams nor other Ethernet telegrams in the "NRT channel" (or "IP channel") are forwarded from port 1 to port 2 or vice versa. If the collision buffer is activated, no sercos III telegrams are forwarded in the "NRT channel" (or "IP channel"), but all other Ethernet telegrams with a broadcast or multicast MAC address, as well as all Ethernet telegrams that are not addressed to the slave, are forwarded.
[0044] Since the sercos IP core settings otherwise required for operating sercos communication are not active in the NRT state, an asynchronous signal is used to monitor sercos III telegrams. This signal can be obtained from the counter programmed to control the activity LEDs. This signal generates a trigger pulse every 67,108,864 ns (67 ns). The interval between the trigger pulses should be greater than the slowest sercos III cycle time (65 ms). The interval between the trigger pulses is specified below, rounded to 67 ms.
[0045] In sercos III phases CP1 - CP4, upon receipt of a sercos III P telegram at port x and a sercos III S telegram at port y in the slave in NRT state or HP0, a timeout of two trigger pulses is triggered. Due to the asynchronous nature of the trigger, this timeout is between 67 ms and 134 ms long. The collision buffer is deactivated as quickly as possible, ensuring that no telegram currently in transit is destroyed. If the condition mentioned above occurs again, the timeout is restarted and the collision buffer remains inactive.
[0046] If a sercos III S telegram is received during this timeout, the collision buffer remains deactivated for another 67 ms, including this timeout period. If an S telegram is received again during this extension, a further extension of 67 ms is performed. However, a maximum of three extensions should be performed in total (201 ms). If a sercos III P telegram is received during the extensions, the extension is aborted, thus accelerating reactivation.
[0047] Due to this mechanism, the slave directly connected to the S-Line extends the time by a maximum of 201 ms and thus deactivates the collision buffer for a total duration of 268 ms to 335 ms, provided no further P-telegram is received, otherwise the timeout is restarted.
[0048] All other slaves in the NRT state or HP0 perform a maximum extension, which could occur due to asynchrony and various delays during deactivation. For these slaves, the total duration is therefore between 67 ms and 201 ms, which is at least 67 ms shorter than the slave directly connected to the S line.
[0049] Within these 67 ms, all other slaves have reactivated their collision buffers, and the P telegrams are forwarded to the slave directly connected to the S line, so that this slave again encounters the condition for deactivating the collision buffer, restarts the timeout, and remains the only slave with a deactivated collision buffer. Typically, the timeout should restart during the first or second extension.
[0050] If the timeout plus the extension expires, or if the condition for deactivating the collision buffer is clearly eliminated (e.g., slave changes from HP0 to HP1 or MST phase changes to CP0), the collision buffer is reactivated. However, the reactivation occurs in such a way that no telegram fragments are generated.
[0051] In a Logicware-compatible firmware implementation, a timer is programmed to implement this mechanism, which generates an interrupt every 67 ms. The interrupt routine checks the condition for deactivating the collision buffer. If the condition is met, the collision buffer is deactivated until the next interrupt (timeout of 67 ms). If the condition is still met at the next interrupt, the timeout is restarted. Otherwise, a check is made to see whether a sercos III S telegram was received during this timeout, and if necessary, the deactivation of the collision buffer is extended by 67 ms. If another S telegram is received during the extension, another extension of 67 ms is added. However, a maximum of three extensions are permitted.
[0052] For diagnostic purposes, the Activity LEDs of both Ethernet ports flash simultaneously at ~2 Hz for a slave in the NRT state or HP0 with an activated collision buffer. If, however, the slave has deactivated the collision buffer, the Activity LED of the port at which sercos III S telegrams are received flashes 180° out of phase.
[0053] Due to the automatic deactivation of the collision buffer in the slave, no more sercos III telegrams are forwarded except for the initial sercos III telegrams that meet the condition for deactivating the collision buffer. This means that the last slaves in the P and S lines only report a sercos III link on their inactive port for a short time at most. With a suitable waiting time, this no longer creates a condition for the master to erroneously perform a ring healing with slaves in NRT mode or HP0.
[0054] Since in the example shown here, the slave directly connected to the S-line deactivates the collision buffer, the master can access all slaves in the NRT state or HP0 via the P-line using IP or hotplug, which can simplify implementation. On the other hand, only the slave directly connected to the S-line can be reached via the S-line.
[0055] When hot-plugging multiple sercos III slaves, it can happen that between the last slave in the line and the HP1 / HP2 slave, which has already activated loopback, there is a slave in the NRT state or HP0 that either does not support hotplug or has missed a hotplug parameter due to delays. This slave currently forwards all Ethernet telegrams including sercos III, whereupon the last slave in the line reports a sercos III link to its inactive port to the master. Based on the specification, the master will abort the transmission of the HP0 parameters and switch the last slave in the line from loopback to fastforward, which in this case can significantly disrupt communication due to the "cut-through" or "store and forward" mechanism of the slave in the NRT state or HP0.
[0056] Since the master and the last slave in the line have no general means of diagnosing this topology, the slave in the NRT state or HP0 should not forward the sercos III telegrams back to the last slave in the line. The last slave in the line will then only briefly report a sercos III link on its inactive port, after which the master, with appropriate filtering, will not switch it to fast forward.
[0057] The slave in the NRT state or HP0 should monitor the reception of sercos III P or S telegrams of the communication phase CP1-CP4 on both ports and, if necessary, initiate a timeout analogous to the deactivation of the collision buffer, during which no more sercos III telegrams are forwarded on the return path.
[0058] This timeout lasts between 67 and 134 ms and only affects sercos III telegrams. The timeout is terminated if the condition for discarding the telegrams is clearly lifted (e.g., slave changes from HP0 to HP1 or MST phase changes to CP0). It is important for this procedure that the sercos III telegrams are filtered direction-dependently, and only on the return path. Otherwise, the condition for the slave is already voided due to filtering in both directions, and the HP1 or HP2 slaves may unnecessarily fall back into the NRT state.
[0059] The embodiments shown are only examples and can be combined with each other. List of reference symbols 100 bus system 102 Master 104 ae slave(s) 106 Forward Line 108 Reverse line 200 steps of deactivation 400 collision buffers 402 Collision buffer 404 Real-time buffer 406 Real-time buffer 408 Telegram 410 data packet 600 switch 700 Timeout 800 Forward Telegram 802 reverse telegram 804 Timeout 806 Extension 808 Deactivation T trigger pulse t time Δt duration
Claims
[1] Method for operating a first slave (104 ae) in a ring-shaped closed bus line (100) which is connected to a master (102) and at least one further slave (104 ae), wherein the master (102) sends at least one forward telegram in a forward direction and at least one backward telegram in a backward direction via the bus line to the slaves (104 ae), the method comprising the following step: Deactivating (200) a buffer memory (400, 402) of the first slave (104 ae) to suspend forwarding of forward telegrams and backward telegrams until a reactivation time when the forward telegram and the backward telegram are received within a predetermined time window. [2] Method according to claim 1, wherein the reactivation time is determined by a recurring signal pulse (T). [3] Method according to claim 2, wherein the reactivation time is brought forward independently of the recurring signal pulse (T) when a further reverse telegram is received. [4] Method according to one of the preceding claims, in which, in response to receiving a further forward telegram and a further backward telegram while the buffer memory (400, 402) is deactivated, at least two further recurring signal pulses (T) are waited for from a reception time until the reactivation time. [5] Method according to one of the preceding claims, in which at least two recurring signal pulses (T) are waited for between a time of deactivation and the time of reactivation. [6] Method according to one of the preceding claims, wherein, in response to receiving a further forward telegram while the buffer memory (400, 402) is deactivated, the reactivation time is shifted into the future by one pulse of the trigger signal (T). [7] Method according to claim 6, wherein the reactivation time is shifted into the future a maximum of three times by one trigger pulse (T) each time. [8] Method according to one of the preceding claims, wherein the step of deactivating (200) is carried out in response to a start-up operation of at least the first slave (104 ae). [9] Device comprising units adapted to carry out the steps of a method according to any one of claims 1 to 8. [10] Computer program product with program code for carrying out the method according to one of claims 1 to 8 when the program is executed on a device.
Citation Information
Patent Citations
Communication network, and node device used therein and control method therefor
US20030043855A1