One of the many reasons for PROFIBUS’ success over the years has been the ability of PROFIBUS diagnostics to pinpoint instrument problems in a running system. This tech tip’s purpose is to give you a better understanding of the mechanics of how PROFIBUS diagnostics work and to show how the information is reported.
All PROFIBUS slave devices support the basic diagnostic message. The basic diagnostic message is available on request to any PROFIBUS Master, at any time. This message reports to the controlling Master, whether the device needs parameters or configuration, has parameter or configuration faults, the device mode, watchdog state, etc. It’s all great information and it can help solve configuration and parametrization setup problems, but in a running control system, it is not very useful. The diagnostic messages that can occur during operation are far more interesting.
When the PROFIBUS Master is controlling the bus it is called Operate mode or Data Exchange mode. In Operate mode, the PLC/DCS sends output data and receives Input data to/from each slave device it is controlling. The Master exchanges data with each slave, does a small amount of bus maintenance and then starts over again. Figure 1 shows Data Exchange when there are no diagnostics to report.
When a slave device detects a change that needs to be reported to the PLC/DCS, it sets a bit that goes to the master along with the input data from that slave’s inputs. The master takes the input data passed back and continues with his data exchange with all the other slave devices in the system. This is shown in Figure 2.
The next time that the slave with the diagnostic has its’ turn in the I/O cycle, the master sends a “get diagnostic” telegram to the slave instead of outputs and the slave responds with the diagnosis instead of inputs. When the master reads the diagnosis, the slave turns off the bit that says it has a new diagnosis. The master then continues with data exchange to all the other slave devices. The next time through, the master performs data exchange with the slave, just like before. This is illustrated in Figure 3.
The Master only reads the diagnosis once. The diagnosis is read instead of performing a data exchange cycle with the slave. When the diagnostic situation changes again (or goes away) the slave sets the bit again and the master responds by reading the diagnosis. Doing the diagnosis in this way is designed to minimize the impact of diagnosis handling on the PROFIBUS I/O update time.
John Swindall, PROFI Interface Center