Friday, June 8, 2007

Profibus - An Introduction

Profibus is currently the most popular type of fieldbus, that became part of the IEC 61158 standard in 2000.

The Master/Slave Concept
Profibus networks are made up of two types of devices connected to the bus - master devices and slave devices.
It's bidirectional, so a master can send a request to the slave, and the slave can send back a response. Bus contention isn't an issue as only only master can control the bus at a time.

Each device on the network has an assigned address, where the address is assigned using rotary switches or DIP switches or set across the bus using a configuration tool.
Addresses 0 to 127 are supported, with 126 and 127 having special uses.
Address 0 is typically used as a default address for configuration tools attached to the bus.

Device and System Startup
The user specifies which slave devices the master should find on the bus and the information that should be transferred to the slave during startup. This information is generated by the configuration tool and given to the master device.
All configuration tools share common functionality - one for configuring a cyclic I/0 operation must do the following:

  • process GSD (device description) file and maintain a hardware catalog of devices to be configured on the bus
  • allow PROFIBUS device address to be specified
  • allow the specification of input and output data to be transferred between master and slave
  • allow startup parameters to be selected in order to activiation specific operating modes/features of the device
  • allow selection of system baud rate
  • generate the database file so it can be used by the master.

Each slave device has it's own GSD file developed by the vendor.

Cyclic I/O Data Exchange
After the bus system has been started up, the normal interaction between the master and it's slaves is to exchange I/O data.
The master (e.g. PLC with Profibus interface) sends out output data to the slave device, who responds with its input data. This concept typically maps to the input and output data sections of PLC memory.
Multi master systems exists, where each master is given control of the bus for a short time.

Device Diagnostic Reporting
PROFIBUS overs the capability to diagnose an operations problem all the way down to a broken wire on an output. During the data exchange cycle the slave can indicate to the master that it has detected a diagnostic condition. In the next cycle, the master gets the diagnostic information from the slave.
Four diagnostic information report format exist - standard diagnostics, device-releated diagnostics, module-releated diagnostics and channel-releated diagnostics.

  • Standard Diagnostics
    Six bytes, that every slave device is required to report contains information that is generally related to startup problems. E.g. I/O configuration that was set up in the configuration tool does not match what the slave expects, it will report a configuration fault.
    This is used to report faults that are common across all slave devices.
  • Device-Related Diagnostics
    Reports information that may be specific to a particular device or application area, that isn't covered by standard, module or channel diagnostics. The format is defined by the vendor, so you'll have to check the devices documentation.
  • Module-Related Diagnostics
    Reports diagnostics for a modular slave i.e. one that consists of an "intelligent" head module plus plug-in modules. So the head module can report that a plugin module has a diagnostic.
  • Channel-Related Diagnostics
    Reports that an individual channel of a specific module has a problem (e.g. short circuit, wire break, overvoltage). This allows diagnostics down to the wire level.


Fail-Safe Operation
Fail-safe operation is an optional feature available for implementation in a slave device. This feature allows you to specify the states of slave outputs in the case of bus failure (master failure, break in the bus). Non-fail-safe devices normally clear their outputs to zero, where fail-safe devices set their outputs to states that you define during the configuration phase.

That's just a brief introduction to Profibus. There's a lot more information available on the internet.
Here are some links about it, along with some general fieldbus links:

1 comment:

Camilo A. said...

Hi James. I am interested im posting my blog entry "Java 6: compile once, run nowhere?" in Javalobby. Please let me know what I should do.

(Sorry to post here, I did not know your email address)

Thanks. Camilo A.