S71500 Dynamic Pointer for S7400 interface

Join Date
Jun 2007
Location
Oxford, UK
Posts
163
Hi All,


Long time gap between visits again, but this is the only place to come for PLC advice. So I am here.


I have come up against a problem I cant seem to solve in the Simemens range of PLCs.


I want to write an S7 GET function that will GET me any length of data I choose upone request. The GET is in a 1500 PLC (1516) and the source of the data is a 400 PLC. GETs are length limited and quite short (I need a fair bit of data). I am in no hurry so the data can be GOT in as many scans or time as required.


My idea was to write a simple manually looping function that GETs the data from the PLC automatically one max length after another by building a dynamic pointer up from component parts. I have done this in 400 PLCs before with great success. I, however, do not own this old code and also cant find a copy to *******ise.



In trying to write this new one I cant find a way to dynamically address the pointer of a 400 PLC address in a 1500 PLC and then plonk that data, dynamically, into the 1500 PLC.


I have a screenshot of my current super simple block that isnt looping at all, but simply trying to use the dynamic pointer as a one shot... it doesnt work.


Any ideas?



If have explained badly, please tell me.
 
Last edited:
If you have to send relatively large volumes of data, rather than creating your own based on GET, I recommend to use BSEND/BRECV. You need code in borh partners but it is better, easier an safer than GET.
 
If you have to send relatively large volumes of data, rather than creating your own based on GET, I recommend to use BSEND/BRECV. You need code in borh partners but it is better, easier an safer than GET.
I was hoping to avoid adjusting the other end. Only because of warranty on it from the OEM, but I think I can convince the customer to let me. Havent set up a TCP connection in years in S7. Do I have to add the connection to netpro or can I do it in code. Wont have an opportunity to stop start the PLC for a few months otherwise.



I will try it.
 
For BSEND/BRECV you have to the connection in NetPro.
If that is not acceptable, think about TCON/TSEND/TRECV. With these blocks you setup the connection in code.
But BSEND/BRECV is much easier than TCON/TSEND/TRECV. Just as easy as PUT/GET.
 
If you have to send relatively large volumes of data, rather than creating your own based on GET, I recommend to use BSEND/BRECV. You need code in borh partners but it is better, easier an safer than GET.

For BSEND/BRECV you have to the connection in NetPro.
If that is not acceptable, think about TCON/TSEND/TRECV. With these blocks you setup the connection in code.
But BSEND/BRECV is much easier than TCON/TSEND/TRECV. Just as easy as PUT/GET.
OK I will try and find a window to stop/start the CPU.


In any case the question stands. If I want to create a dynamic pointer in TIA that can be used in a GET, how do I do it?


If I really really really want to...
 
Are you wanting to create the dynamic pointer because you have to span more data than 1 GET call allows, or because the data realy changes dynamically ?

If it is just a method to get more data, If it was me, then I would just program multiple GET calls, each time with the desired setup for the data to fetch at ADDR_1 and RD_1. And then I would make sure that only 1 GET was active at a time.
 
Are you wanting to create the dynamic pointer because you have to span more data than 1 GET call allows, or because the data realy changes dynamically ?

If it is just a method to get more data, If it was me, then I would just program multiple GET calls, each time with the desired setup for the data to fetch at ADDR_1 and RD_1. And then I would make sure that only 1 GET was active at a time.
No real reason.


More an open question.



Trying to do dynamic pointers in TIA that actually works...
 
You wont see me answer many posts about dynamic pointers. I try to avoid them.
Especially since TIA and S7-1500 has many improvements in areas were you would manually program pointers in Classic and S7-300/400. I try to program everything as symbolically as possible.
 
You wont see me answer many posts about dynamic pointers. I try to avoid them.
Especially since TIA and S7-1500 has many improvements in areas were you would manually program pointers in Classic and S7-300/400. I try to program everything as symbolically as possible.

So I fixed my problem, even if you dont advise it. I tried it for fun.

I just fixed my DB in my TIA PLC to be manually numbered and used conventional pointers. Works great.

I am now going to investigate using OPC/UA instead.

I may start a new thread, but has anyone used OPC/UA between 2 PLCs? I know it is possible using a CP443 and a 400 PLC, but have never seen it.
 
So I fixed my problem, even if you dont advise it. I tried it for fun.

I just fixed my DB in my TIA PLC to be manually numbered and used conventional pointers. Works great.

I am now going to investigate using OPC/UA instead.

I may start a new thread, but has anyone used OPC/UA between 2 PLCs? I know it is possible using a CP443 and a 400 PLC, but have never seen it.


S7-1500's with the latest firmware can be both OPC UA clients and servers. Activating the server is pretty much just checking a box, but the client side is a bit more complicated.


See app example from support site:
https://support.industry.siemens.com/cs/us/en/view/109762770
 
S7-1500's with the latest firmware can be both OPC UA clients and servers. Activating the server is pretty much just checking a box, but the client side is a bit more complicated.


See app example from support site:
https://support.industry.siemens.com/cs/us/en/view/109762770
I just tried it. Even with the excel tool from siemens it works.



I like it a lot I4.0 is here... wonder if the company firewall will let me use it to a server. Doubt it...🙃
 

Similar Topics

Hello everyone, I need your help. At one of my company instalations we have GE90-70, and we're going to replace it with some newer PLC. I prefer...
Replies
5
Views
481
I need to establish communication between Schneider M340 and S7-1500 PLC. I am using gateway converter for MODBUS TCP TO PROFINET protocol...
Replies
12
Views
2,915
How do you get the uss drive control to output specific status words on outputs "Status1" Status3" and Status4" of the uss drive control FB? I...
Replies
13
Views
3,981
Hi everyone, At our facility there are plans to install new plant. My preference is for the project to utilize S7-1500, profinet and ET200MP...
Replies
12
Views
3,347
how can we test digital outputs on a failsafe s71500 plc, using a watch table or other ? we need to make sure that each output is correctly wired...
Replies
10
Views
3,072
Back
Top Bottom