S7-1500 to S7-1200 comms

cjd1965

Lifetime Supporting Member
Join Date
Apr 2007
Location
UK
Posts
1,659
Hi
I am looking at a system where i need a S7-1500 master PLC with upto 30 S7-1200 nodes, on a Profinet network.

The S7-1500 and each S7-1200 will also have a local HMI

I need to send data 32 x bools, 16 x reals, 16x words and 16x strings from the master to each slave (unique data to the slave) and then read data from each slave (less data than being sent)

I have some ideas like having a slow group (say every 20 seconds) and a fast scan group (say every 1 second) but i am not sure if the put/get or the open comms will be fast enough to poll all the slaves

Does anyone have any suggestions?

I am also thinking i could put all the master PLC data into one huge multicast
 
Are part ot the data time critical ? In that case I suggest to use the PN IO with the S7-1200 being I-Device.

For the non-time-critical data (the STRINGs ?), I would avoid the PUT/GET blocks.
I would use the BSEND/BRECV blocks. These are the standard blocks used in S7-1200/1500.

edit: Mission critical changed to time critical.
 
Last edited:
Hi Jesper
The requirement is to pass some bools and some reals which would be 'critical' and also some strings (not critical) and the date_time (not critical)

I-Device would meet the need of the bools, but for the other stuff i would need a BSEND/BRECV every 2 seconds for the reals and every minute for the strings and date_time

I also need to send approx 16 bools plus 10 words back from the S7-1200 . Of course i could pack the bools into a another word if that is better



Thanks for your input
 
The timecritical bools and reals should be sent via Profinet IO.
The low rate of the other data is best done with BSEND/BRECV. You only send the data when it is needed, instead of cyclically.

Notice that modifications to Profinet IO require an update of the hardware configurations of both PN IO Controller and PN IO Device, in other words will require a CPU stop.
Changes to BSEND/BRECV can be done without CPU stop.
 
OK thanks for the advice

When you say modifications to the profinet io i assume you mean adding more tags etc to the transfer data
 
I agree that I device 100% makes sense for the fast data (bools and whatever reals/words need it). The 1200 could theoretically have up to the full 1kB of IO memory as its Idevice area, so the limiting factor would be the how much data the 1500 could read from 30 1200s. max 8kB IO per interface / max 30 devices = max 266 Bytes each way per 1200. All your bools/reals/words would fit inside that comfortably, although you would have to account for any other IO on the master PLC as well.

However, for the slow data, 1200 doesn't support Bsend/Brecv. You would need to use a different method. Put/Get are possible, but since the comms are one sided it can be hard to detect errors. I'd recommend Tsend/Trecv instead.
 
OK thanks for the advice

When you say modifications to the profinet io i assume you mean adding more tags etc to the transfer data


Expanding the transfer area to accomodate more data one be one change. Another change would be adding additional 1200's as devices.
 
@mk42, I belive you are right.

No BSEND/BRECV for the S7-1200.


As you suggested, the alternatives are PUT/GET or TSEND/TRECV, with TSEND/TRECV being the safest method.
 
However, for the slow data, 1200 doesn't support Bsend/Brecv. You would need to use a different method. Put/Get are possible, but since the comms are one sided it can be hard to detect errors. I'd recommend Tsend/Trecv instead.


Put / Get errors can be tracked on master side, you need only check one plc scan errors of error and done bits of put / get blocks.
For server / slave side you need watchdog bit or word.

Not maybe 1st choice for coms, but possible.
 
Hi

So the best way is use TSEND/TRECV and also I-Device for 'critical bools'. I cannot see how to use I-Device for reals

I dont have any hardware yet but i may try to simulate 1xmaster and 1xslave if i get the chance over the holiday to get this started /cleared up in my mind

Thanks
 
The problem with PUT in particular is that you can write to ANY address in the partner, potentially screwing things up royally.


That is true if DB blocks are non optimized.
Is Tsend / trecv possible if CPU projects are on different files?
 

Similar Topics

Does anyone know of a Siemens example project for passing data between a 1200 and a 1500? I thought I found one before but can't find it now. I...
Replies
5
Views
1,724
Been fighting all morning with a stubborn HMI. It just won´t connect with the plc. attaching from settings. Have i missed anything? Both plc and...
Replies
5
Views
355
HEllo! Where do it setup the clock? Couldn´t find anything useful in General-->Time of day besides daylight saving time. And when i have set the...
Replies
9
Views
1,367
From a FAT it appears that a struct containing bits/int/real can't be sent from a 1513 to a 1200. When using two 1513 there is no issue. Total...
Replies
5
Views
712
This thread is reaction to another two: https://support.industry.siemens.com/tf/ww/en/posts/inout-parameter-problem/260345...
Replies
9
Views
2,164
Back
Top Bottom