Help choosing Profibus Protocol for HMI


Thread Starter


I'm writing an HMI application for a system with a Siemens S7 PLC, Siemens AFD's, and several encoders, all of which are connected to a Profibus DP network. My questions is this. Should the HMI connect as a Profibus slave, Master 2, or use the Siemens MPI protocol? The function of the HMI is monitoring PLC data, getting diagnostics from the PLC, Drives, and encoders, and Writing some data to the PLC. Thanks for any help.

Andrew Hawdon

As a general rule I would not put the HMI on Profibus DP. The reasoning being:

1. the HMI will increase the cycle update time across DP for your other devices such as the Encoders, Drives and I/O.

2. Some HMI's will allow you to download directly across MPI thus making modifications very quick. Downloading across DP is not so widely supported and has the additional drawback that during download the DP address of the HMI may not be recognised by the CPU.


Daniel Chartier

From the description of your application (a little sketchy), my experience tells me either one is an acceptable choice.

Often your HMI manufacurer will not give you a choice on the matter; depends on the presence and type of Profibus ASIC (hardware)used to communicate on Profibus-DP.

A MPI or Profibus Master Class 2 setup will require youm to declare only yous address on the bus; then you will be able to read/write to the Master Class 1 registers each time you get the token; you can request any number of tags as needed for your application during that cycle.

Pr4ofibus à_DP should be faster than MPI; but with the small amounts of data that you seem to need, you should see little difference. A Profibus slave setup will require you set an address and an exchage format (number of words/bytes OUT, number of words/bytes IN, consistency of data units); you will have to define a table of corresponding addresses between the HMI applicationa nd the Master class 1 I/O mappings. You will exchange precisely defined data at every Profibus cycle. Less flexible, but constant and predictable.

More information is available on the "": webpage (see Technology section) or on various manufacturers of Profibus devices help pages (try "": , Support)

Hope this helps,
Daniel Chartier

John Dahl at Engr. Solutions

I would use WinCC as it is tightly integrated with the S7 and you can use S7 functions over your Profibus wire.



S7 communicates with the HMI using S7 protocol. Though you can use this over Profibus DP however I would recommend using a separate MPI (for
relatively small number of tags) or Profibus link using a CP (for relatively large number of tags).

Which HMI are you using?

If the MPI interface of the S7-CPU is still free, of course it would be better to connect your HMI to the MPI rather than PROFIBUS.

It will also work if you connect to the PROFIBUS, but the problem is the update time and reaction time of your HMI, since there are some PROFIBUS slaves (drives) connected to the network already.

Thanks for all the help so far. to elaborate more on the HMI, it will be Windows based and use an OPC server to communicate to the PLC. I was thinking of using a PCI interface board from Applicom. It is basically already developed, so using WinCC is not really an option at this point.

Arshed Majeed

Dear Sir,
I sahll be able to answer your question precisely if u can give me the detail of Active-X Controls and number of Tags u r using in WinCC.
But roughly, I thnk your solution will be to use MPI instead of WinCC.
Arshed Majeed