YetAnotherForum
Welcome Guest Search | Active Topics | Log In | Register

PI project for a newbie Options · View
Perfo
#1 Posted : Sunday, February 28, 2010 11:17:29 PM
Rank: Newbie
Groups: Member

Joined: 2/28/2010
Posts: 9
Location: UK
I have a series of 6 pumps that can be pumping or not in any order at anytime of the day or night. The pumps are used to pump water in to a reservoir. I have numerous PI tags at my disposal the main ones relative to this case are

Pump electrical breaker (digital)
Pump output isolation valve (digital)
Pump power (analogue)
Reservoir level (analogue)

When the reservoir gets low then the pumps will be started and top it up. The pump breaker can be closed without the pump actually pumping.
My project is to make a spread sheet that will be run once a week and will record the start and end times of any pumping (thus it doesn't matter if it is one or all pumps running) along with the reservoir level for each start and stop. In almost all cases there will be one pumping session per day (overnight) but in some rare cases there may be a short pumping session during the day. At the moment this is done manually and though I have knocked up some long winded auto sheets they wade though all the date in excel and try and spot the times etc but this is very slow and cumbersome.
Ok my first plan is to find the minimum reservoir level between two time and date inputs. I can then sequentially go through the reservoir data in minute steps and find when the level increases and this would then be my pump start time. Similarly the Max value will be the pump end time.
Problem is this will do for almost all cases but won’t cover the sneaky day time pump runs where the level may not get that low or the software will pick up the pump start during the day but not see the pump end until the next pump run and give completely wrong results. So my second thought is I've got to condition the data somehow. I could look at pump power over all 6 pumps per 24 hours and try and spot start and stop pairs but this would be a fair bit of data crunching over the week.
Would anyone have any suggestions?
Thanks.
Sponsor  
 

OSIsoft vCampus is a subscription-based, online offering that consists of providing everything people need to develop applications on the PI System.
We invite you to take a "tour" of the OSIsoft Virtual Campus - also feel free to consult the FAQ  or contact OSIsoft vCampus for more details.
RJK Solutions
#2 Posted : Monday, March 01, 2010 9:20:11 AM
Rank: Administration

Groups: Administration

Joined: 6/20/2008
Posts: 612
Location: Cheshire, United Kingdom.
Hi Perfo,

From what I can gather from your post, your second option sounds the best approach. Querying PI data for 6 pumps x (24hours x 7days data search) is perfectly fine for PI to handle, even if you were storing uncompressed values every second.

How I would look to approach this:
- Make the assumption that if a pump is running during the night, the pump flow finishes at midnight. For the next day, assume the pump started flowing at midnight. This way, you will always have a start/end pair for a pump that overlaps midnight.
- Either create a digital performance equation tag for each pump that signifies "Pumping/Not Pumping" based on the power conumption of a pump - OR - just query the data based on the power consumption. Assuming here there is a baseline power consumption that you will see rise when pumping.
- Get the data for a 24 hour period for a pump. If it has been pumping, find the start time (standard deviation from the baseline power OR use the digital tag created above), end time is either when the power returns to baseline or time is midnight (flowing over midnight).

etc.

The more you can get the PI server to resolve for you the better, means you have less crunching to do on a client.
Principal Consultant
Real-Time Data Management @ Wipro Technologies
Perfo
#3 Posted : Tuesday, March 02, 2010 8:00:34 PM
Rank: Newbie
Groups: Member

Joined: 2/28/2010
Posts: 9
Location: UK
Thanks for the reply.
You are quite correct about a baseline load signifying pump or not but I'm afraid the rest of your reply went several inches (I hope not yards) over my head. I had thought the best plan would be to get the PI server to do as much as possible as the delay would probably be much greater in transferring data then crunching it in excel. I can query PI and get the power per minute and even filter it to only give me the data where the power is over base line but I'm not sure how to do this for all six at once or even how standard deviation will give me a start time. I'm trying to get the company I work for to stump up the dosh to get me on a course. They sent me on one maybe 8 or 9 years ago but it was only the basic use of process book. Do you do courses by chance? I'm not that far down the coast from you. I can see your point about midnight to midnight period and do a simple check to see if the start time of the after midnight pump is the same as the end of the before midnight pump to see if it's continuous. Thanks for your help you've given me a few things to think about. I find that finding stuff on the net about PI is pretty difficult if not I'd go off and teach myself these performance equations.
Perfo
#4 Posted : Tuesday, March 02, 2010 8:07:16 PM
Rank: Newbie
Groups: Member

Joined: 2/28/2010
Posts: 9
Location: UK
Ah I just read your reply again, the first suggestion is to make a new Tag, I don't think I have the access rights to fiddle at that level. On your second reply I get all the data per pump and go through it sequentially to find the start of that pump then after doing all six compare the times. The filter expression I did was when I imported into a spread sheet from PI so not sure how to do it in VBA but will have a play. Thanks
RJK Solutions
#5 Posted : Tuesday, March 02, 2010 8:32:06 PM
Rank: Administration

Groups: Administration

Joined: 6/20/2008
Posts: 612
Location: Cheshire, United Kingdom.
Perfo...sure we do courses, it would seem a tailored course would suit to get to the points that you need. We can talk about that when you are ready...

Let me sit down and have a think about the rest of your comments.
Principal Consultant
Real-Time Data Management @ Wipro Technologies
Perfo
#6 Posted : Thursday, March 04, 2010 1:24:05 PM
Rank: Newbie
Groups: Member

Joined: 2/28/2010
Posts: 9
Location: UK
I've found a performance tag that someone has done some time ago that logs pumping or not. Something else I didn't know about PI in excel was that when I did a list of compressed data for a boolean tag it returned the transition points not all the points that are true or false. I thought I could get a list of data points every minute for the Pump tag then search through them for a not pump to pump transition. I was pleasantly surprised when the query actually only returned the transition points which is pretty much exactly what I need (as you mentioned above) I can now do the search for the six pumps and simply compare the first transition. Whilst I can do this in excel I'd still be very interested in trying to do this in VBA and just spitting out the earliest pump time and the latest pump time.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.