Show/Hide Toolbars

PROFIBUS Manual

All the necessary MAC controller states for well regulated handling of communication can be tracked in the diagram below. Since the relevant states are described in detail by the standard (IEC 61158-4-3 section 8.2), only a rough overview is to be provided here.

 

After switching the operating power on, both active and passive bus users find themselves in the Offline state, execute a self-test, and load the operating parameters necessary for communication. Passive stations then go into the Passive Idle state, in which their receiver has been enabled and they listen passively to the line. If telegrams are recognized with their own station address, they must be properly acknowledged by the station.

 

Active bus users assume the Listen Token state after the Offline state, if they are ready for inclusion in the logical ring. In the Listen Token state, the station listens for telegrams on the bus line and, from the received token telegrams, then builds a list of already active stations (LAS: list of active stations). Once the LAS has been built up, the station must wait until it is addressed be the station preceding it with a "Request FDL Status" and "invited" into the logical ring. The "newcomer" acknowledges with a "ready for ring" and passes to the Active Idle state.  This makes it an official ring subscriber. In this state it listens to the line, acknowledges and replies just like a passive station in the Passive Idle state.  The active station, upon receipt of a token telegram directed to it, switches to the Use Token state. If an active station receives no token telegram for a lengthy period, it will go into the Claim Token state, so that the logical ring is initialized again or re-initialized (in the latter case, the LAS will remain valid).

 

FDL state machine

FDL state machine

 

Normally, however, the active station will come into possession of the token telegram within a certain time so that, having checked the remaining token holding time available in the Check Access Time state, message cycles can be handled in the Use Token state. If the service used for communication requires a response, the station will go into the Await Data Response state and await a response for the period of a slot time (dependent on bit rate).  If the expected answer does not come, after a number of repeated attempts at transmission (defined by the max_retry_limit parameter) an error message will be sent to the user.

 

Message cycles can be processed up to expiry of the token holding time. Then the station will switch to the Pass Token state, in which the token is passed to the next active station. This handover is monitored in the Check Token Pass state. If anything goes wrong with token passing, (for example because the next station does not present itself) the station will switch over to the Await Status Response state, where it awaits an acknowledgment signal for a specified time. If this signal is not received, a call is repeated in the Pass Token state. If the station receives another telegram (situation with multiple tokens), it goes over to the Active Idle state. After the - normally problem-free - passing of the token, the station will find itself in the Active Idle state until the next time the token is received.