5/12/2016 3:45 PM | |
Posts: 106 Rating: (2) |
Hi guys I have done some Profibus Master/Slave communication and added the project in attachment. I am looking for a better way of using a Profibus, for example to use it for writing and reading a lot of data (whole DBs). And I have seen that there are some ways of sending the data using profibus to the IO area which is not the are of analog or digital inputs, I don't really understand how does that work. I mean if some of you can help me to make a better configuration, or just help me with experience of how you guys are doing it. I'm open for all suggestions ;) I am using the STEP 7 v5.5 SP2 a CPU 313C-2DP as a master and a CPU315-2 PN/DP as a slave. AttachmentProfibus Works.zip (172 Downloads) |
5/12/2016 8:28 PM | |
Joined: 9/27/2006 Last visit: 9/16/2024 Posts: 12282 Rating: (2684) |
Hello dolby; It is possible to send large amount of data between CPUs over Profibus, but you should have a grasp of the basics of Profibus-DP to see how it will be done. Basically, Profibus-DP master-slave configurations are designed for very fast, deterministic, low amount of data (244 bytes OUT/244 bytes IN per slave); this is hjat you have been doing bsed on your description, and this type of data exchange is designated mastrer-slave cyclic. This is the basic way to setupProfibus configurations, specially for mono-master systems (only one master and multiple slaves). Once you introduce an HMI/SCADA system (a Profibus master class 2) or another master (Profibus class 1) such as a CPU or a programming PC, you have to split the Profibus cycle between all participating masters; you allow each master in turn to hold a "token" that give it the exclusive right to use the bus. A master class 2 has the right to aceess data on all particpants on the bus when it has the token, either masters or slaves; but not a master class 1. One CPU cannot directly exchange cyclically with another CPU. For that, Profibus offers another mechanism, designated master-master acyclic connections. Basically, it means that you must use special hardware and communication fuinctions in your program to exchange data between class 1 masters. Master-master acyclic communications must use (for Siemens S7 PLCs) a separate Profibus CP (a CP 342-5 for S7-300, a CP 443-5 Extended for S7-400...), connections defined in Netpro between the Profibus masters and special functions (BSend/BRecv, Put/Get...) programmed in each CPU to function. This is why it is called acyclic: the Profibus cycle is bypassed, you now call the communication functions in the CPU scan, sometimes asynchronously (over multiple scans, if the data exchange is large). You will find more details in an older thread: Multi master systems in profibus communication https://support.industry.siemens.com/tf/ww/en/posts/63849/ However, the links seem to have changed since then, so I have tried to locate the new addresses for the sample programs for different communication functions: BSend/BRecv: https://support.industry.siemens.com/cs/ww/en/view/18516182 Put/Get: https://support.industry.siemens.com/cs/ww/en/view/18610307 AGSend/AGRecv: https://support.industry.siemens.com/cs/ww/en/view/20987711 And open the CPU-CPU communication manual in attachement, specially chapters 22 and 39. Hope this helps, Daniel Chartier Attachment78028908_SIMATIC_Comm_DOKU_v21_e.pdf (168 Downloads) |
This contribution was helpful to2 thankful Users |
5/14/2016 2:59 PM | |
Posts: 106 Rating: (2) |
Hi I was looking at the link Multi master systems in profibus communication https://support.industry.siemens.com/tf/ww/en/posts/63849/ but the question was already asked by thinhbi89, what did you mean by PUT and GET and BSEND and BRCV, aren't those a functions that are used with PROFINET?How can they be used with a PROFIBUS? You answered with a link but the link is expired. Could you explain this a little bit more? You pointed me to a good points, it interesting to read this, thanks ;) |
Follow us on