Introduction to Profibus-DP

ProfiBus was created in 1989 by the German government in cooperation with several manufacturers of automation equipment.  It is a messaging format specifically designed for high-speed serial I/O in factory and building automation applications.  It is an open standard and is recognized as the fastest FieldBus in operation today.  It is based on RS485 and the European EN50170 Electrical Specification.  The DP suffix refers to "Decentralized Periphery", which is used to describe distributed I/O devices connected via a fast serial data link with a central controller.  To contrast, a programmable logic controller (PLC) normally has its input/output channels arranged centrally.  By introducing a network bus between the main controller (master) and its I/O channels (slaves), we have decentralized the I/O.
ProfiBus is based on universal international standards and oriented to the OSI (Open System Interconnection) reference model per international standard ISO 7498.  In this model, every layer handles precisely defined tasks.  Layer 1 of this model is the physical layer and defines the physical transmission characteristics.  Layer 2 is the data link layer and defines the bus access protocol.  Layer 7 is the application layer and defines the application functions.  ProfiBus DP uses only layers 1 & 2 of this model, plus the user interface.  Layers 3 to 7 are not used. 
A ProfiBus system uses a bus master to poll slave devices distributed in multi-drop fashion on an RS485 serial bus.  A ProfiBus slave is any peripheral device (I/O transducer, valve, network drive, or other measuring device) which processes information and sends its output to the master.  The slave forms a "passive station" on the network since it does not have bus access rights, and can only acknowledge received messages, or send response messages to the master upon request.  It is important to note that all ProfiBus slaves have the same priority, and all network communication originates from the master.  Acromag I/O modules form intelligent slave devices.
Acromag modules implement the ProfiBus protocol via an industry-standard SPC3 ASIC from Siemens.  This ASIC acts like a RAM or UART chip to the internal microcontroller and completely handles the requirements of the protocol standard.  The ASIC will transfer network data to and from the microcontroller and automatically provide the response to the bus according to the ProfiBus specification.
A ProfiBus master forms an "active station" on the network.  ProfiBus DP defines two classes of masters.  A class 1 master handles the normal communication or exchange of data with the slaves assigned to it.  A class 2 master is a special device primarily used for commissioning slaves and for diagnostic purposes.  Some masters may support both class 1 and class 2 functionality.  Master-to-master communication is normally not permitted in Profibus, except in order to grant bus access rights to another master via the exchange of a token.  However, master-to-master communication between two mono-master systems can be facilitated using a DP-DP gateway.  Note that the exchange of bus access rights via this "token ring" only applies between masters on the bus.
A class 1 master device is normally a central programmable controller (PLC), or a PC running special software.  The class 1 master sets the baud rate and the slave's auto-detect this rate.  The class 1 master handles the data exchange with the slaves assigned to it, and acts as the main controller for the exchange of I/O information with its distributed slaves, cyclically retrieving user I/O data according to a defined message cycle.  A master can communicate actively with its assigned slaves, but only passively (upon request) with another class 2 master device.
The class 2 master is usually a configuration device, perhaps a laptop or programming console, and is provided for commissioning, maintenance, or diagnostic purposes.  It acts like a "supervisory" master in that it can actively communicate with class 1 masters and their slaves, in addition to its own slaves, but usually only for the purpose of configuration, problem diagnosis, and data/parameter exchange.  That is, class 2 masters may only briefly take over control of a slave.  All exchanges between a class 2 master and class 1 master originate with the class 2 master. 
ProfiBus DP normally operates using a cyclic transfer of data between master(s) and slave(s) on an RS485 network.  That is, an assigned master periodically requests (polls) each node (slave) on the network.  All data communication exchanges between a master and slave originate from the master device.  Each slave device is assigned to one master and only that master may write output data to that slave.  Other masters may read information from any slave, but can only write output data to their own assigned slaves.
Masters can address individual slaves, a defined group of slaves (multi-cast), or can broadcast a telegram to all connected slaves.  Slaves will return a response to all telegrams addressed to them individually, but do not respond to broadcast or multi-cast telegrams from a master device.  ProfiBus sends Broadcast and Multi-Cast messages as global control telegrams using address 127 and an optional group number for a targeted group of slaves.
Because ProfiBus uses a cyclic (periodic) polling mechanism between masters and slaves, it is also deterministic.  That is, the behavior of a ProfiBus system can be reliably predicted over time.  In fact, ProfiBus was designed to guarantee a deterministic response.  To contrast, CAN and Ethernet are event-driven bus systems and consequently form non-deterministic systems.

The length (and timing) of the I/O data to be transferred from a single slave to a master is predefined in the slave's device data base or GSD file.  The GSD files of each device connected via the network (slaves and class 1 masters only) are compiled into a master parameter record which contains parameterization and configuration data, an address allocation list, and the bus parameters for all connected stations.  A master uses this information to set up communication with each slave during startup.
After a master receives its master parameter record, it is ready to begin exchanging data with its slaves.  During startup, after a system reset, or upon return to power, a master will attempt to re-establish contact with all the slaves assigned to it before assuming the cyclic exchange of I/O data.  Each slave must already have a unique valid address from 0-125 in order to communicate with the master.  Any slave that has a default address of 126 will await the Set_Slave_Address command from a class 2 master before it can be parameterized.  In attempting to establish communication, the master starts with the lowest address slave and ends with the highest address slave.  A master will send parameterization and configuration telegrams to all of its assigned slaves (a slave may only be write-accessed by its assigned master, the master that parameterized and configured it during startup).  The parameterization and configuration telegrams ensure that the functionality and configuration of a slave is known to the master.  If an additional slave is added to the network bus and is not already accounted for in the master record, a new master record must be generated and a new configuration performed so that the master is informed of the status of the new device.
ProfiBus DP most often uses a single class 1 master device (mono-master), cyclically polling many distributed slaves.  However, ProfiBus also allows for acyclic communication between class 2 masters and slaves, making more than one active station or master possible.  A class 1 master will automatically detect the presence of a new active station connected to the network bus (a class 2 master).  When the class 1 master completes its polling cycle, it will pass a "token" to the class 2 master granting it temporary access to the bus.  Deterministic behavior is maintained because the class 2 master can only use the time allotted to it via the gap time specified.  Although, mono-master operation is generally recommended, it is not mandatory.  That is, a ProfiBus system may have more than one class 1 master, but master to master communication is not permitted, except for the granting of bus access rights via token exchange.
To illustrate the idea of communication between masters in a ProfiBus DP system, a class 1 master cyclically exchanges data with all of the slaves assigned to it, one at a time, according to its list of assigned slaves taken from the master record.  At the end of this data cycle, additional time (gap time) is allotted to provide for acyclic communication between a class 2 master and the same slaves.  During this time, the class 1 master will pass a token to the class 2 master granting it bus access rights.  The class 2 master which currently holds the token has the opportunity to exchange data with all the slaves within a specific period of time called the token half-time or token hold-time (TH).  The class 2 master may then proceed to read data or diagnostic information from any of the slaves, and then at the completion of its cycle, it will pass the token back to the class 1 master.
Since there usually is not enough time during the gap to complete a full data exchange, this process of data retrieval by the class 2 master may continue over several cycles.  At the end of record transfer, the class 2 master will clear the connection.  Note however, that the class 2 master may only establish communication with the slaves during the gap time.
As stated earlier, it is possible for a class 2 master to temporarily take over control of a DP slave.  During this time, the DP slave will stop its normal data exchange with its class 1 master.  The class 1 master recognizes this and will proceed to cyclically request diagnostics from the slave, checking the Master Address field for as long as another valid address is present.  After the class 2 master finishes its communication with the slave, it sets the Master Address field of the slave to invalid (255).  This causes the class 1 master to attempt to regain control of the slave and it will reparameterize and reconfigure the slave before resuming data exchange with it.
ProfiBus DP –
  • Open standard based on EN 50170.
  • Fastest Fieldbus standard to date with data rates up to 12MB.
  • Plug & play operation.
  • Up to 244 bytes of input/output data per message.
  • Up to 126 stations may connect to the bus.
  • Up to 32 stations per bus segment.
Class 1 Master –
  • Central controller that exchanges I/O data with connected slaves.
  • Determines the baud rate (slaves auto-detect this rate).
  • Manages the token transfer between masters.  Detects another master during the gap time.
Class 2 Master –
  • Diagnostic, configuration, or startup tool.
  • Can only control one slave at a time.
  • Does not have write-access to the slave.
  • Does not have a GSD file.
Slave -
  • A passive station which can only respond per a master request and acknowledge messages.  A slave has no bus control rights.
  • The GSD file defines the slave for the master.
This is a brief overview of Profibus-DP.  For more detailed information about the Profibus technology and protocol you may Download this Complete 40-page Paper.
This white paper was written and provided by Acromag.  Acromag manufactures a line of I/O modules that support Profibus DP over RS485.  Feel free to visit their website at to obtain the latest information about these and other Acromag products.
  Click Here for More Information

Did you enjoy this great article?

Check out our free e-newsletters to read more great articles..