STEP 7 V5.5. Multiple FB14 GET's

Kasperv79

Member
Join Date
Mar 2012
Location
Copenhagen
Posts
48
HI ALl.

lets say I got 20 GET's in one plc that GET's from 5 different PLC's.

thats make 4 GETS per PLC.

Can I run two or more GET's simultaneously from different PLC's? (different ID's)

Or should i call the in sequence after NDR/ERR?

/Kasper.
 
How much data are you trying to get ?

This is not exactly what you may be after, but the get function has a finite number of bytes of data that can be got by 1 get, so I have some code that will allow running < 100 gets for large amounts of data if you need it let me know and I will add in here, may need some modification but works nicely and have tried up to 28k bytes of data with no issues, this uses only one db
what you caould then do is a step sequence of these, meaning you only need to run the block for each cpu
 
My understanding is that each connection is independant, so you can have GET blocks running on Conn 1 and Conn 2 simultaneously.

However, I don't think it will allow you to have multiple GET blocks communicating over Conn 1 at the same time. I believe there is a status returned that means "this connection is busy, try again later".
 
Likewise, the comms processor can only handle so many comms at the same time.

So you may actually need to make a scheduler of communications to ensure that the comms are not random and one link is "starved".
 
It is maybe possible. One GET need one connection resource configured on Netpro. So you probably can configure 1-4 for PLC1, 5-8 to PLC2 etc and use different resource ID for every GET block.
But you waste pretty soon all connection resources with this way. If you use NDR / ERR bits you only need 5 different connections instead of 20.

Siemens have example for this
https://support.industry.siemens.co...r-more-than-160-bytes-of-data-?dti=0&lc=en-WW
 
Hi Guys thanks for your feedback.
Well this PLC just collect some non realtime data, so the speed is really not a problem here, so i went the safe way.

Made a sequencer that runs each Connection a the time. each connection may have up to 6 GET's. every get is called in an row eiter on NDR or ERR.


The problem that initatet this problem still exists after this new "Safe way"....

so whats the problem..

everything worked well when i used SFB14 on the internal CP port on a CPU 317-2-PN.

the costumer then changed the network topologi. I then need to use an external CP 343-1 and FB14...

After this changed the a random FB14 blocks randomly jyst stop responding.. so no NDR nor ERR.. even the REQ is still True:...??

Ive tryied to recreate all neccesary db's, recreate the FB with multiple GET calls compile everything... and so on. nothing help. I cant remember i ever tryid this before..

in short:

after change from internal CP to a 343 and then using FB14 instead of SFB14, GET's suddenly stop working.. no NDR or ERR when Request data..?

/Kasper.
 
Hi,
reset any pending requests after plc startup (OB100), otherwise the Put/Get blocks don't get triggered.

I remember that this problem only occurs if you are using the FBs for the Ethernet CPs. I was using the same calling style for the put/get blocks with PN CPUs without problems. Then I had a project with an Ethernet CP, and after warmstarts I sometime get the same problem that Req is active, but neither NDR or Error changing their values. After resetting REQ on restart, all was Ok.
 
Hi Guys thanks for your feedback.
Well this PLC just collect some non realtime data, so the speed is really not a problem here, so i went the safe way.

Made a sequencer that runs each Connection a the time. each connection may have up to 6 GET's. every get is called in an row eiter on NDR or ERR.


The problem that initatet this problem still exists after this new "Safe way"....

so whats the problem..

everything worked well when i used SFB14 on the internal CP port on a CPU 317-2-PN.

the costumer then changed the network topologi. I then need to use an external CP 343-1 and FB14...

After this changed the a random FB14 blocks randomly jyst stop responding.. so no NDR nor ERR.. even the REQ is still True:...??

Ive tryied to recreate all neccesary db's, recreate the FB with multiple GET calls compile everything... and so on. nothing help. I cant remember i ever tryid this before..

in short:

after change from internal CP to a 343 and then using FB14 instead of SFB14, GET's suddenly stop working.. no NDR or ERR when Request data..?

/Kasper.

Forgot to say that i using the FB from the SIMATIC_NET_CP library. FB14 "CP300PBK"
 
Hi,
reset any pending requests after plc startup (OB100), otherwise the Put/Get blocks don't get triggered.

I remember that this problem only occurs if you are using the FBs for the Ethernet CPs. I was using the same calling style for the put/get blocks with PN CPUs without problems. Then I had a project with an Ethernet CP, and after warmstarts I sometime get the same problem that Req is active, but neither NDR or Error changing their values. After resetting REQ on restart, all was Ok.

Thanks! I'll try that!
 
If you look for specifically the functions you are using GET/PUT AG_SND/AG_RCV, you should find an example project from Siemens as well as a document explaining how to program these.

For some reason I can't find the one I am after right now.
 
is FB14 and FB15 inserted from standard library or from
SIMATIC_NET_CP?

http://www.plctalk.net/qanda/showthread.php?t=106298 and last posting there.

Maybe it have difference, but I'm pretty sure that tested some time ago both CP341-1 and CPU port communications with same block from standard library.

Is all FB14/15 blocks using different instance data blocks or do you sequence only parameters to blocks?
 
Ive tryid to understand the manual for CP343-1EX30. It seems the Maximum number of "GET" is 16. no matter how many connections is used.

Let say :
Connection 1: PLC1, includes 8 GET.
Connection 2: PLC2, includes 4 GET.
Connection 3: PLC3, includes 12 GET.
Connection 4: PLC4, includes 8 GET.

If i call the FB with connection 1 and 4 (16 GETS) it works fine.
If i call the FB with connection 12 it works fine
if i call the FB with connection 2 + 3 it works fine..

But as son as I try to call FB with connection 1 + 4 (20 GET) then the last 4 GET's is not working, wich laeds me to the manual, where its also written that CP343-1EX30 maximum can handle 16 "job"



from the Manual:


Number of possible Ethernet/PROFINET connections
Maximum number of parallel connections
Table 2- 1 Maximum number of parallel connections
Characteristic Explanation / values
Permitted number of simultaneous connections in
total over Industrial Ethernet
32 maximum
Example of maximum load
You can, for example, operate:
● 16 S7 connections, of which
– 8 PUT jobs
– 8 GET jobs
● 16 SEND/RECV connections, of which
– 2 ISO-on-TCP connections
– 8 TCP connections
– 6 UDP connections
 
Max number also depends of PLC type.

Chech hardware manual:

https://cache.industry.siemens.com/...0_cpu_31xc_and_cpu_31x_manual_en-US_en-US.pdf

page 88.

You have to change CPU to bigger one or

:unsure: You can use unilaterally configured S7 connections and change parameters from fly?

https://support.industry.siemens.co...en-configuring-s7-connections-?dti=0&lc=en-WW

Max connection ID are also displayed on CPU properties on hardware view, if you double click CPU and select connections. (if you are online view, it also show how many connections are maded)
 
Last edited:
Manual state that maximum is 32 connections for CP343. Of these 16 can be S7 and 16 other connections

page 15-16: https://cache.industry.siemens.com/dl/files/272/24485272/att_92110/v1/GH_CP343-1-EX30_76.pdf

example
16 S7 connections, of which
8 PUT jobs
8 GET jobs

16 SEND/RECV connections, of which
2 ISO-on-TCP connections
8 TCP connections
6 UDP connections

page 16:

For S7 connection (which put/get uses) manual says:

maximum
16 operator control and monitoring functions (HMI)
16 S7 connections configured at one end
16 S7 connections configured at both ends


I undesrtand this that way that 16 is allways maximum for PUT/GET at same time, no matter if you have 315 or 319 CPU which can support 16 or over connecctions.
 

Similar Topics

I am experienced with many PLC platforms except Siemens. Now I must learn Siemens for my new job. My employer has relied on the OEM for PLC...
Replies
21
Views
9,074
I am trying to modify an assembly machine that is capable of making several part types. I am adding an lvdt and want to be able to store different...
Replies
28
Views
15,811
I have several small individual stations, each controlled with a 314C-2DP processor. Right now, a multiproject is used to contain all of the...
Replies
2
Views
2,786
I am having a step7 v5.4 program where the blocks are encrypted and locked. And the manufacturer is stopped the support. Is there any ways to...
Replies
2
Views
168
Good Morning, Hoping someone with some Siemens experience can give me a hand with this one. Customer has a S7-200 cpu, which has a 6GK7...
Replies
0
Views
239
Back
Top Bottom