storing information on a PLC?

tntmst

Member
Join Date
Jul 2007
Location
houston
Posts
4
Hello I looking for suggestion and/or direction in a project for my internship. Where I work we use Siemens S7-200 CPU214. My project is to modify or add a program to an existing program that does the following. In case of a communications failure I want to start saving the different process variable to the PLC it self instead of loosing the data. In an effort to optimize storage usage it will data on 15min intervals then every hour, then 4 hours and so fourth.

1. I need to know how do I find out how much data I can store given the existing functions?
2. Where to store the data, in VM or somewhere else?
3. Is there a way or fuction that time stamps the data?

answers to these question would be a big help, and please let me know if I am not clear enough with my problem.
 
Couple of questions:

1 - What are the communications you are monitoring? To an HMI, another PLC, SCADA database? What data do you believe you'll lose if communications is lost, and how will this data loss effect equipment?

2 - Could you just write data directly to the HMI (if you have one)? Instead of taking up memory space in the PLC? Depending on the HMI you could write a script to gather the data and dump it into a csv file, timestamp and all (I just did this in RSView32).
 
currently the S7-200 talks to the bigger 505 Simatic which is hooked up to an HMI and goes to a SCADA database. They have been having problems in loosing communication between the S7 and 505. We are working with drinking water and water purification. data loss could reduce pressure in water lines but mainly just the record of data. there are policies, rules.. blah blah blah that mandate that we have a record of these process variables, like cl2 concentration, flowrate, and a few others. The S7's are located 20-50ft away from the 505 in an outside environment so I don't belive they want to use cables to connect them.
 
The only suggestion I have to retain data within the PLC would be to setup a bunch of arrays that contain your backup data (I'm not that familar with S7, so there may be a better way, this is just a generic idea).

So:

BackupArray1(50)
BackupArray2(50)
BackupArray3(50)
............
BackupArrayN(50)

- Of course the array size would vary depending on your needs.

Depending on how long your communications is down, the intervals of time you need to track your data, the amount of data you need to store, and of course the size of the original program will eat up your PLC memory rather quickly.

Set something up that monitors the communiations to and from your S7-200, once it is down move your initial data into BackupArray1 (you may be able to grab a timestamp from the plc and store it in the array as well, I know you could with a AB). Start a counter and a timer. Everytime you make a backup, increase the counter (which would point to the next BackupArray to use), and reset your timer to the interval of time you want for the next backup, when the timer times out, move your data once again.

That would be a simple "short" comm loss solution. Otherwise it may be better to have another HMI/PC that gathers info directly from the S7 and store it that way. Of course if you lose communiation there you are back to square one.
 
They have been having problems in loosing communication between the S7 and 505. We are working with drinking water and water purification. data loss could reduce pressure in water lines but mainly just the record of data. there are policies, rules.. blah blah blah that mandate that we have a record of these process variables,

Would it not be a better choice to lok into why the comms are dropping? If it is so critical, then surely the comms should be reliable.

As stated, to record in the PLC will soon take up memory. If correcting the comms issue is not an option, as someone else mentioned, a local HMI at the S7?

By recording in the PLC is like creating a band-aid to your problem, so is a local HMI I guess.
 
tntmst said:
Hello I looking for suggestion and/or direction in a project for my internship. Where I work we use Siemens S7-200 CPU214. My project is to modify or add a program to an existing program that does the following. In case of a communications failure I want to start saving the different process variable to the PLC it self instead of loosing the data. In an effort to optimize storage usage it will data on 15min intervals then every hour, then 4 hours and so fourth.

1. I need to know how do I find out how much data I can store given the existing functions?
2. Where to store the data, in VM or somewhere else?
3. Is there a way or fuction that time stamps the data?

answers to these question would be a big help, and please let me know if I am not clear enough with my problem.
Cant you store data in a DB (DataBlock). I dont know your plc in detail but I know Siemens use these (As do Saia PLc)
 

Similar Topics

HI all, I have a backup from a Series 7000 Cognex camera. I am trying to restore and see the vision tools used in the job. Can I restore those...
Replies
0
Views
68
Hello, I have an int variable that updates the value every second. I want to store the 100 values in an array. Array should keep storing the...
Replies
7
Views
1,000
Hi I have a vision camera that I’m getting the string data P908765 from the vision on an advance trigger .which im using a S -move. Then I put...
Replies
1
Views
374
Hello You guys helped me with a similar issue some time back on storing totalized values to different tags each month. I have a similar issue...
Replies
19
Views
1,494
Is there any easy way to store a password for an email address that is changeable on the HMI that is not easily deciphered. aka, don't write it to...
Replies
0
Views
381
Back
Top Bottom