logging realtime value in 100ms

natirm

Member
Join Date
Nov 2007
Location
istanbul
Posts
21
Hi all,

I have a project that requires me to read 50 tags from a s7 400 plc under 100ms and log them. I dont belive that wonderware (or any HMI) can read and update values under about a sec. An OPC server can handle this kind of job ? Or what would u suggest. Thx...
 
Singapore_Mats said:
If you read this document:
http://www.automation.siemens.com/download/internet/cache/3/1438552/pub/de/tech-data-s7-400-io-en.pdf

You will find out that a analogue channel takes 20-65ms to process one reading. If I understand this correct, it wil be impossible to read 50 analogue signals under a 100ms cycle.
You not reading it right. Thats how long between update intervals you can run per channel. It isnt a sequential function. Your telling me if a plc had 100 analogs, wed be getting an update every 6.5 seconds??? Why would anyone use siemens then. The communication should be fine. If the data is packed properly, a 100ms update time is easily doable over ethernet
 
Logging data at that rate is possible. You may find it tough to analyze that much data - do the math, it's quite a bit. You'll want to use an SQL database or "Historian" product.

Might I ask why, or what you're trying to accomplish?
natirm said:
for 3 months, data size doesn't bother me lot, i'm more worried about speed.
 
ty all for your replys. it's required for a power plant, and this 50 tags are very important and have to be logged in every 100ms. Logging it in 100ms is very easy i know that, i think i asked question wrong, i want to know that HMI (or OPC server or what ever is communicating with plc) can update it's point database in 100ms even the value actualy doesn't change in this time? Can it open a connection take the real time values update point database with new value and close the connection in 100ms ?

Thank you...
 
Yes, your OPC server can log at that rate. It probably isn't "opening and closing" connections so much as opening a connection and "subscribing" to the value updates at that interval. Similarly, you'll want an application that can log rapidly (a "historian", or whatever) by maintaining a (ODBC/JDBC/Native) SQL database connection (pool). That's a case where your VBA logging script is probably a bad idea. The good news is that any "data logger" application should tackle this easily - you're not bringing a new problem to the table.

Be careful with terms like "realtime" or "deterministic".

natirm said:
ty all for your replys. it's required for a power plant, and this 50 tags are very important and have to be logged in every 100ms. Logging it in 100ms is very easy i know that, i think i asked question wrong, i want to know that HMI (or OPC server or what ever is communicating with plc) can update it's point database in 100ms even the value actualy doesn't change in this time? Can it open a connection take the real time values update point database with new value and close the connection in 100ms ?

Thank you...
 
dear surferb

thank you for your response. i will use a historian application, logging part will be no problem. Now i know and opc server do the job, the reason i asked this question i never saw and HMI which is able to scan data faster then a second. Of course it's all about networks traffic tag number computer, nics... but i had to be sure it's possible. Thank you.
 
Mega OPC Data Logger

natirm said:
Hi all,

I have a project that requires me to read 50 tags from a s7 400 plc under 100ms and log them. I dont belive that wonderware (or any HMI) can read and update values under about a sec. An OPC server can handle this kind of job ? Or what would u suggest. Thx...

I use this soft. It is possible to seo 100 ms for 1000 items. Just try Mega OPC Data Logger. http://opcdatalogger.googlepages.com/
 
Hi Natirm,

So long as you're using an Ethernet connection to the device (using direct Ethernet on the CPU or a CP module), you should be fine. One of our developers was testing our OPC Server for S7 PLCs, and was getting about 10K/second throughput out of a single S7-400 over Ethernet.

Your mileage may vary.
 
Do you need to update every 100ms or just log data? You may be able to buffer the data in the PLC then read it out in blocks of 10 or 20 at a time.
 
Yes, using the PLC as a stack/queue is a viable approach. OPC can typically catch values down to about 50ms, but you could "miss" values. Logging data at this rate will get you in "data overload" quickly when you want to view/analyze it later.

CharlesM said:
Do you need to update every 100ms or just log data? You may be able to buffer the data in the PLC then read it out in blocks of 10 or 20 at a time.
 
Hi Natirm,

I have a series of post in my blog about data collection. We have used WinCC Flexible and connected to PLC over Ethernet. We have used 3 tags for each station and there were 70 stations.

First, I offer you to read my post series for some idea:

http://indanotes.blogspot.com/2008/11/customer-is-always-right-and-sometimes.html
http://indanotes.blogspot.com/2008/11/operation-times-reporting-in-assembly.html

And finally how to deal with huge amounts of data in that project:
http://indanotes.blogspot.com/2008/11/operation-times-reporting-in-assembly_15.html

Unfortunately, WinCC is not fast as you wanted, our resolution was more than one second.

100 ms is difficult by RS 232, preferably you have to use Ethernet connection.

Siemens is not fast for data collection applications, In our project we had to use Siemens, however I offer you to use Omron if possible.

You can also find an ActiveX control of mine for Omron to communicate over Ethernet:

http://indanotes.blogspot.com/2008/11/indafins-omron-fins-ocx.html

It is really fast because directly reaching to PLC, I think it is possible to catch the speed of 10 readings in a second with OMRON + my ActiveX component.

However, do not forget that PC is not an accurate device, (especially if you are using a SCADA system) it is impossible to catch 100 ms as 100 ms. Sometimes you catch at 90 ms, and mostly catch > 100 ms.

So I offer you to implement a cyclic data buffer in to your application, which is filled by PLC in every 100 miliseconds.

I have designed in my one of projects, it was a power measurement system and I was collecting data into a buffer in PLC, it worked great in 100 miliseconds sampling rate even with RS232 connection.

I can give more details if you tell me more about your project.

Best regards,
 

Similar Topics

Hi, Wy we log data in PLC using DLG instruction, when we have option to log data in HMI
Replies
1
Views
69
Hi everyone id like to start by saying im not a PLC programmer so my technical terminology is limited. i would like advice on what software is...
Replies
4
Views
292
After the new very nice update to this site I could not log in with my original password, tried to recover my account but did not recieve a email...
Replies
14
Views
385
I have some datalogging set up on an S7-1211. Most basic controller, but 1MB of memory should be enough. A single log is 222 bytes and logs an...
Replies
3
Views
393
Hi All, I am looking for recommendations for a data logging software package that can be used for a simple 1 PLC installation. The installation...
Replies
13
Views
1,360
Back
Top Bottom