profibus DP with ABB inverter and S7 300


Thread Starter


I am currently making a profibusDP network. A ABB Inverter (ACS550 using PROFIBUS-DP Adapter Module RPBA-01) is slave, is controlled by a PLC S7 300 (CPU 315-2DP). What are SFBs, SFCs, FCs, FBs I can use to communicate in the network?

Floyd Daoust

SFC14 DPRD_DAT and SFC15 DPWR_DAT. You will also need the profibus .gsd file from ABB.

Good Luck

Daniel Chartier


After looking at the Profibus guide for the ABB drive, the answer to your question comes in 2 levels, depending on what you want to do:

1) to write a command orsetpoint word, and to read a status word in all PPO types, you don't need to use SFCs. Just write and read directly to the PIW or PQW (analog addresses generated in HWConfig when addiong the drive to the bus).

For example, if you use PPO3, you reserve no words for parameter modification, and 2 words for command/setpoint. Say these words occupy addresses 256-259. The setpoint word occupies the 2 lower addresses, 258-259. In your program, MOVE a hex value of 2000 to PQW258, and you request 50% of the max. parametrized speed value for the drive; MOVE 4000(hex) and you request 100%. If you read PIW258, you will get the speed feedback from, the drive. PQW256/PIW256 give you access to the control and staus words (Start, Stop, rotation...).

2) If you use any other PPO than PPO3, you are reserving (at least) 4 words for parameter modification on top of the 2 control words described before. In order to use these parameter values, you have to read/write the 4 words in one shot (you can't just Move values to one address after the other ; it has to be the whole 8 bytes at once). And Siemens does not allow you to write a value longer than 4 bytes (a DWord or Real) in one shot; so you need to use special functions. For Profibus, these SFCs are SFC15: DPWR_DAT, and SFC14: DPRD_DAT. To use them, you have to set up a memory area (Mxxx or DB) where you will pre-write the data you want to send (parameter number, index and value) and use a pointer to that data in SFC15 (to write).

Hope this helps,
Daniel Chartier

Normally you may use SFC14 and SFC15 to put data to the profibus. On the page by Siemens you may find some examples to do that under the serach-item SFC14(DPRD_DAT) and SFC15(DPWR_DAT. On ID 42886 "Parameterizable example for SFC13, SFC 14 and SFC 15" you find a example, just type in 42886 on the search and you might find this.

On ID 42413 you might find information about the CPU315-2DP "Rules for the access of the CPU 315-2 DP to the Decentralized Periphery (integrated DP-Interface of the CPU 315-2 DP)".

When you don't have enough information about these two ID's then you might find on the page by Siemens a lot of information about this item. There is also a ebook with all the SFC's explained under ID 1214574 "System Software for S7-300/400 System and Standard Functions Edition: 01/2004".

If this is not enough then give your email address and give how much data to transfer from and to the drive, then i make a small example for you!

Best regards,