High Speed Logging with S7-1500 (Siemens). Is it even possible?

BVG

Member
Join Date
Apr 2012
Location
Ghent
Posts
10
Hello all

I am working on a project where we want to log data on a "high" frequency.
Our setup; 1516-3 PN/DP - Tia portal V13 professional - Wincc professional V13 .
20 High speed Pressure Sensors. 3x HS Analog Input Modules (6ES7531-7NF10-0AB0)

Each pressure we want to log between 400 &1000Hz. So between 400&1000value's per second. I found a couple of things on the internet;
1)DatalogWrite on a memory card, but the storage will be full quite fast.
2)SFC37 AR_Send but thats only for S7-400 if i am correct?
3)Use a script in wincc flexible but the acquisition cycle is only 100ms.

We would like to start and stop the logging when we want. And somehow retrieve the data to a .csv file.
So some help to get me on the right way or any idea’s should be welcome!
Thanks in advance!
Best regards
 
For fast logging you must take in in two steps.
1. Log to an internal buffer in PLC.
2 (optional) Keep first buffer circular then process data and move to other DB
3. Read "send" buffer from PC/WinCC

The buffer will fill up so you either need to minimize data size (amount of data / number format) in PLC or read fast enough from PC. Read rate from S7-300 is about one PDU size in 30 ms (200B or so), but this will vary with communication load.
 
Last edited:
What analog input card are you going to use?
What is the A/D conversion time?
No point logging data that fast if most of the samples are all the same?
 
The analog card he listed says it has a conversion time of 62 micro seconds, so it is significantly faster than his required logging interval.

1) I think Siemens does offer a 2GB card, intended for using with the built in data logging, but I'm not sure how long the data log write block can actually takes to execute. It may take more than one scan, depending how much data you need to log. The data logs could then be pulled off the card directly, or downloaded and deleted from the PLC web page. I'd say it's worth trying, especially if you already have the 1516.

2)AR_Send was a block the S7-400 had, but not the 300. I haven't even seen it in the 1500, my guess is that it isn't there.

3) I've seen others use spaderkung's method before when needing high speed data logging in the S7-300. In principle, it should work for a 1500 as well. The 1500 should have a faster communication speed, but, unfortunately, WinCC is still limited to an update of 100ms, and the logging speed is even slower. You would have to read the whole buffer in with a script, and then write it directly to the card, and do it often. If you are looking to use WinCC Professional, you might have enough horsepower on the PC to make that a reasonable idea; I wouldn't recommend trying it on a panel.
 
The analog card he listed says it has a conversion time of 62 micro seconds, so it is significantly faster than his required logging interval.

1) I think Siemens does offer a 2GB card, intended for using with the built in data logging, but I'm not sure how long the data log write block can actually takes to execute. It may take more than one scan, depending how much data you need to log. The data logs could then be pulled off the card directly, or downloaded and deleted from the PLC web page. I'd say it's worth trying, especially if you already have the 1516.

2)AR_Send was a block the S7-400 had, but not the 300. I haven't even seen it in the 1500, my guess is that it isn't there.

3) I've seen others use spaderkung's method before when needing high speed data logging in the S7-300. In principle, it should work for a 1500 as well. The 1500 should have a faster communication speed, but, unfortunately, WinCC is still limited to an update of 100ms, and the logging speed is even slower. You would have to read the whole buffer in with a script, and then write it directly to the card, and do it often. If you are looking to use WinCC Professional, you might have enough horsepower on the PC to make that a reasonable idea; I wouldn't recommend trying it on a panel.


Hello first off, thanks all for the idea's.

The SD card is probably the easiest and fasted way to try. Is it possible to save & delete the data automatically(from the PLC web page) on a period of time? Or is it manual?
As for Spaderkung’s method. I think it has some potential as well. The thing I worry about is that the buffer will be filled up to fast before you can write the data to a harddrive via wincc script.
I will have to look into that.


If there are any other scada systems or extra hardware that would make the job done easier let me know.
We just have the CPU so we can still order some other things.

Thank you
 
The SD card is probably the easiest and fasted way to try. Is it possible to save & delete the data automatically(from the PLC web page) on a period of time? Or is it manual?

I'm not aware of a way to do it automatically. A lot of the things that would make that simpler/easier and up being a security hole. It might be possible to grab via some kind of script, but I don't think you can do something simple like mount the SD card as a network drive.

I think the CP1543-1 has some kind of FTP capability, which might be of use as well. I haven't tried it, though, nor do I know what it can do. Maybe you could have an FTP server
 
I am reluctant to offer a solution because I only work on the S7-1200 so I don't know if it applies. For me 'high speed data' is once every 200ms and I achieve it by creating a comma separated value string, and then sending the data out of 'a port' using TSEND_C. I have an embedded computer running Linux that receives the data on 'a port' and stores it to a compact flash card. From the Linux computer I email the data at the end of the process, I could equally use FTP.
 
In general, should you be logging data with a PLC?

You can make the data available from the PLC, but I think you should look at a separate computer to actually store the data.

Arduino or Raspberry should be able to handle it? Me thinks?
 
20 High speed Pressure Sensors.
[..]
Each pressure we want to log between 400 &1000Hz. So between 400&1000value's per second.
No, that would be 20 x 400 or 20 x 1000 per second. 8000 or 20000 values per second.
If you log as raw analog card values, that will be 16kB or 40kB per second.

You dont write how long this logging should occur.
A 1516-3 PN/DP has 5 MB data memory. If you set aside 4 MB for data logging, you can log 40kB/sec for approx 100 seconds until the buffer is full.
This buffer can then be written the the SD card until the card is full.

At least in theory. I dont have actual experience with this.
 
In general, should you be logging data with a PLC?

You can make the data available from the PLC, but I think you should look at a separate computer to actually store the data.

Arduino or Raspberry should be able to handle it? Me thinks?

Thats exactly what i want to do. The easiest part is to get the data available from the PLC. But where i dont have any experience with is to somehow send and save the data on a PC.
 
No, that would be 20 x 400 or 20 x 1000 per second. 8000 or 20000 values per second.
If you log as raw analog card values, that will be 16kB or 40kB per second.

You dont write how long this logging should occur.
A 1516-3 PN/DP has 5 MB data memory. If you set aside 4 MB for data logging, you can log 40kB/sec for approx 100 seconds until the buffer is full.
This buffer can then be written the the SD card until the card is full.

At least in theory. I dont have actual experience with this.

I forgot to say that we do research. So the logging will take longer then 100seconds. How long? We dont know maybe hours. After a test we process the data. So in theory ;) with a 2Gig sd card we should have enough.

We are at the beginning of the design, so it will take some time to actually try it.

Btw.. thanks all for the response!
 
I don't think you need to store that much data in your PLC.

Log it into a DB for, say a 10 second cycle. This should give your OPC enough time to pull out the data from the PLC and store it.

Not 100% sure on the SD used for 1500 PLC, but aren't they extremely expensive?

Have you considered using NI equipment instead? They have very high sampling rates and are extremely easy to use to log data to a variety of file formats.

If you are a student, you could get a MyRIO for about 200/300 dollars + free student version of labview. http://www.ni.com/myrio/

If no student, it will be a little bit (maybea lot) more expensive, but will make your life much easier for your application.
 

Similar Topics

I was contacted yesterday asking if I could provide a data-logger for a machine. One of those jobs where they contact you on Wednesday and want...
Replies
4
Views
1,909
I am having problems logging data more than once per second... I have an Automation Direct "KOYO" DL05 PLC communicating serially with a C-More...
Replies
2
Views
5,868
Do i have to use interrupt subroutine, or immediate read high speed input, for Unitronics Samba plc or reading only the correponding register in...
Replies
2
Views
124
Hello Folks, Has anyone configured a Momentum high speed counter on Unity 13.1. We need the wiring diagram for Momentum High speed counter and...
Replies
0
Views
76
Does anyone have any experience with working on piezoelectric motor control? I want to use off the shelf components to hopefully change the...
Replies
5
Views
737
Back
Top Bottom