text:
"It is more or less a given that nothing is less favourable to clairvoyance than the bright sun: physical light and mental light coexist on very poor terms," once said André Breton. He may have a point, but alas we are weak and can't help but succumb to the careless delights of sunny days, leaving behind the long dark night of the soul – at least for a few months. Indeed every establishment in London with an inch of concrete to spare is bustling their tables outdoors, perching up the umbrellas and saying a private prayer to the gods of good weather.
New this year, the Ritz has extended its street-level terrace service to introduce a champagne and canapé afternoon that spans the lazy hours between lunch and dinner. From 3pm you can order the Ritz's own champagne and a cornucopia of canapés that betray their diminutive size with an exuberance of ingredients and a presentation that dazzles. Some fine examples include squid-ink cracker with lobster sauce, baby prawns, baby cucumbers and paprika, soufflé potato with crème fraîche, and caviar and terrine of foie gras with pineapple slice and pineapple jelly in gingerbread. After gliding through the Ritz's famous Belle Epoque dining room, the sensibility on the terrace is more Edwardian, with a soupçon of turn-of-the-twentieth-century New York: green and white striped awning, townhouses visible past the gates, a seclusion fractured only by the sounds of city bustle heard from a comfortable distance. The strict dress code means men look their best in jackets and ties and there's nothing stopping women from donning a summer hat.
While it's an exceptional culinary experience to be had all year round, the sun offers even more of an incentive to visit the tremendously talented three cooks behind Bokit'La. With their three-year-old street stall venture, brothers Thierry and Nicolas Baptiste and their friend Julien Otz have brought French West Indian food from Guadalupe to London. Sounds specific but we guarantee universal satisfaction. Bokit (aka "creole burger") is a traditional street-food sandwich in Guadalupe, and it is here upgraded and perfected for strolling diners at the markets in south and west London where these three set up shop. The dough recipe is a secret (they make it fresh in front of your eyes, and you won't find its equal, trust us) while the fillings – salt cod, chicken or aubergine – merge with the spicy sauce (levels 1 – 5, all made by the Baptiste brothers' mother) to give a hot, sweet, citrusy, salty and outstandingly pleasing taste. And for these dog days the Bokit'La gents are donning their straw hats and summer garb, so it's time to set aside a Saturday afternoon to visit the Oval Farmer's Market and sit low on the grass of the church grounds, enjoying this singular London culinary experience.
The night descends in summer as well, but the festivities needn't cease. In fact sundown is the perfect time to perch high above, contemplating the flickering-light view of London Fields offered by Coppa, the seasonal rooftop rosticceria run by the owners of pizzeria and salumi specialists Lardo. Cocktails and rotisserie chicken are the main offer here, easily scaled to serve a large crowd. Get friends and lovers out for the 'nduja-roasted chicken with sides, including the sweet and vinegary pickled samphire or the grilled radicchio which is a bitter delight. Cured meat platters go a long way with fresh bread from the E5 Bakery.
And three more:
The Towpath Café – Serving up canal-side realness for several years now, this is still one of the nicest spots to linger along the Regent's canal, and enjoy some American-inspired quasi-health food (think kale salads, but with mayonnaise).
Ombra – A good-value Italian eatery with a head chef from Venice on east London's bustling Mare Street and a decent view of the canal. Lots of traffic rolls by the terrace, but good vibes from the staff make this an excellent place to sip Campari and soda and eat homemade pasta with ragú sauce and talk about football and Ferraris long into the night.
Rita's – The Hackney hotspot have taken over the terrace of OvalSpace where they'll be offering a pared-back weekend menu that mirrors their offering at their first residency at Birthdays; expect fried chicken rolls and frozen margaritas. Plus, there's talk of their own soft-serve ice cream.
What we love about our al fresco picks: the people watching at the Ritz; the outstanding necklaces worn by the Bokit'La brothers et al; the view from Coppa.
Text by Ananda Pellerin


text:
Navigate the Blog
Blog Categories
Take Action
Protect the Atlantic from Offshore Drilling
Ask your representatives in DC to oppose new offshore drilling in the Atlantic and Arctic oceans.
Defend the Clean Water Act
Tell Congress to stop interfering with your right to clean water!
Water Quality
Search the Site
About Us | Press Center | Become a Member
Corporate Partners | Careers | Contact Us

subset: commoncrawl


text:
Zuzu Luxe's lip gloss in Mania ($18.15 0.25 oz) is described as a "long-lasting lip gloss [that] gives your pout brilliant shine and color for hours."
It certainly gives you a lot of shine and a lot of color because Zuzu Luxe's lip gloss in Mania is amazingly pigmented and super glossy. It is a very bold color that is build able. You can play it down or up if you just want a sheer wash of color. But if you're like me and are loving the dark and bold vampy lip for this fall/winter you can just pile on the gloss!
I would describe this shade as a vampy purple with red undertones. Sometimes it even appears burgundy in certain lighting but when layered on it can appear almost true to tube (which made it pretty hard to get an accurate swatch of because you need good lighting for a good photo but hey, I got pretty close to it). I fell in love with the pigment, consistency, and of course the color instantly! The vampy lip is very on trend right now so I was really excited to try this out, and plus I'm a huge fan of the show True Blood and this instantly puts me in the mind of that show when I wear it.
The consistency is that of a gloss yet it is not sticky or tacky like some glosses can be. It is also very smooth and offers your lips tons of shine. It doesn't feel grainy on the lips and the color payoff is pretty great for this just to be a gloss (and a natural one at that!) .
I was able to get around 3 hours of wear out of this which isn't too bad for a gloss but I wouldn't consider this very long wearing as the company describes it considering how pigmented this gloss is. The color wasn't as vibrant and glossy after this amount of time elapsed but this gloss does stain the lips. The texture is smooth and I was able to get pretty good even color coverage with it. It applied evenly and smoothly and is pretty pigmented to be a gloss but it is semi-translucent as you can still see through to the lips a bit.
I love how this gloss just glides on and I definitely love the color payoff but it does tend to bleed/feather so I found it hard to keep it within the lines of my lips. In one instance the application was rather messy because it ended up on other places outside of my lips and it was hard to remove the stain there. This was pretty annoying but I like the gloss none the less.
I'm really loving the dark lip this fall/winter. What about any of you, are you into the dark vampy lip? If so, would you consider it in a gloss? Let me know in the comments section. Or just comment to say hello
Ingredients: Simmondsia Chinensis (Jojoba) Seed Oil, Isopropyl Palmitate, Bisabolol, Euphorbia Cerifera (Candelilla) Wax, Caprylic/Capric Triglyceride, Glycerin, Butyrospermum Parkii (Shea Butter), Prunus Armeniaca (Apricot) Kernel Oil, Aloe Barbadensis Leaf Extract, Crithmum Maritimum Sea Fennel) Extract, Chamomilla Recutita (Matricaria) Flower Extract, Cetyl Alcohol, Prunus Amygdalus Dulcis (Sweet Almond) Oil, Iron Oxides, Mica, Hypericum Perforatum (St. John's Wort) Extract, Titanium Dioxide.
Disclosure: The product featured in this post was purchased by me for review and all opinions are 100% my own.


text:
Click Here to Watch the Whole Video in HD at Naked Papis
NakedPapis.com features XXX pictures and videos of naked Latino men in jack off solos and hardcore gay fuck videos, as well as free erotic short stories. Free chat room.
Hot gay Latin men suck each other's uncut cocks and fuck. If you like hot gay Mexican porn and vergas grandes, you are sure to like this video.
Pixels: 320X240 | Bitrate: 350K
Pixels: 640X480 | Bitrate: 700K
That bottom is really cute. I love his hairy pubes and legs and the way he gets fucked and jerks his partner off at the end. Yum!
love that top. want him deep inside me
love love love all that pubic hair on that top dude's dick...would love to feel that up against my hole.
Great action from 2 latin hotties


text:
RSS feed
John Baudhuin MBA '90 has been a cyclist his whole life. But he found it increasingly difficult to train while pursuing a master's degree from Loyola Marymount University at night and working as an accountant during the day. So, he teamed up with a professional cyclist to create an indoor bike and time-efficient fitness programs to help cyclists train. The idea was a hit, and led Baudhuin to start Mad Dogg Athletics, a health and fitness company, in 1994.
Today, Mad Dogg Athletics has reached millions of cycling enthusiasts in more than 80 countries through a network of over 35,000 facilities. The company has trained more than 175,000 instructors and manufactures its patented line of Spinner bikes, Pilates and functional training equipment, Resist-A-Ball stability balls, fitness DVDs and a complete line of Spinning-branded apparel and accessories. That success led Baudhuin to be inducted into the College of Business Administration's Entrepreneur Alumni Wall of Honor at a ceremony April 27.
"It is humbling and a great honor to be inducted into the Wall of Honor from my alma mater," said Baudhuin. "I am a big believer in education, and I still implement many of the concepts I learned while studying at LMU in my business today."
While Mad Dogg Athletics has had tremendous success, Baudhuin said it's the network of cyclists and their positive attitudes that has inspired him the most. "My most proud achievement is the development of a community of cyclists who love spinning, and who want to get fit and maintain a healthy lifestyle," said Baudhuin. "Building something that has touched so many people around the world is incredibly rewarding."
Social responsibility is a key component in Mad Dogg Athletics' business model. The company has hosted and participated in events for charity such as Spinning Nation and Chain Reaction. Also, Mad Dogg Athletics donated a studio to the West Los Angeles Veterans Affairs Hospital.
"We are more than a business that just sells a concept, bike or fitness program. There is an entire group of people who not only care about fitness and health but also the communities they live in," Baudhuin said.
Baudhuin credits LMU with providing him the critical thinking skills necessary to run a company and manage its finances. "My experience at LMU taught me how to learn, more than anything else. I learned how to be analytical and to see more than one side of a situation," Baudhuin said.
As for inspiring entrepreneurs, Baudhuin offered this advice: "In the end, you realize that you learn as much from the mistakes as from having the right answers," Baudhuin said. "And honesty and integrity always served me well."
© 2012 Loyola Marymount University


text:
Balcones Springs' 42 refined rustic cabins are situated across our rolling, 250-acre property. Cabins can accommodate one to six guests per cabin, set with either twins or a king size bed. Accommodation charges for weddings include breakfast and lunch and are typically paid by individual guests.
A minimum of 30 cabins must be booked each night to have exclusive use of the property for the weekend.
For Additional Information, Please Click on the Link Below:
Property Map
Bridal Suite


text:
- Alton Brown born (1962)
Alternative Milk Becomes the Stuff of Nightmares
Today on The Daily Meal
Recipe of the day
Apparently, The National Milk Processor Board doesn't really like "alternative milk" and by that they mean substitutes like rice, cashew, soy, and all the other nondairy "milk" options on the shelf. So naturally, they chose to exemplify their feelings in this new "Got Milk?" commercial. This poor little boy is already having classic monster nightmares as it is, only to have his own mother turn into a snarling, angry-eyed shaker. Alternative milk, it's a scary thought. Drink responsibly. In fact, the NMPD says don't drink it at all.
The Daily Byte is a regular column dedicated to covering interesting food news and trends across the country. Click here for previous columns."
Be a Part of the Conversation
Join the Daily Meal's Community and Share your Thoughts
Have lots to say?
Contribute your own article.
Know a great recipe worth sharing?
We want it. Post it now!
Enjoyed (or not enjoyed) a restaurant experience?
Write a review.
Tasted a bottle of wine you\'d like to tell us about?
Write a review.


text:
August 3, 2015
NEW YORK (AP) - Homelessness is a growing problem for America's
A new report finds one of every 50 American children experiences
homelessness, and most states have inadequate plans to address the
The report by the National Center on Family Homelessness gives
Connecticut the best ranking. Texas is at the bottom.
Analysts looked at data from 2005-2006 and estimated that 1.5
million children experienced homelessness at least once during that
period. The problem is likely worse now because of the foreclosures
and job losses of the deepening recession.
The report says homeless children are far more likely than other
children to experience hunger, suffer chronic health problems,
repeat a grade in school and drop out of high school.
To comment, the following rules must be followed:
Comments may be monitored for inappropriate content, but the station is under no legal obligation to do so.
If you believe a comment violates the above rules, please use the Flagging Tool to alert a Moderator.
Flagging does not guarantee removal.
Multiple violations may result in account suspension.
Decisions to suspend or unsuspend accounts are made by Station Moderators.
Questions may be sent to email@example.com. Please provide detailed information.
Click Here to access the online Public Inspection File
Viewers with disabilities can get assistance accessing this station's FCC Public Inspection File by contacting the station with the information listed below. Questions or concerns relating to the accessibility of the FCC's online public file system should be directed to the FCC at 888-225-5322, 888-835-5322 (TTY), or firstname.lastname@example.com.


text:
It's that time of the year again! Time to have our annual fund-raiser!
If you enjoy Wackbag on a regular basis, we are seeking donations for our larger, annual costs! If you are able to donate to help keep the site running, we would appreciate it greatly!
More details, and a breakdown of where the funds will go is here: https://www.wackbag.com/threads/donation-goals-2015.162061/
Battlestar Galactica - fouth and final season
Discussion in 'Movies & TV' started by chumpy, Apr 1, 2008.
Page 1 of 11
Page 1 of 11


text:
To view news from a specific division please use the links below.
Our focus will be:
To find out more about how you can help or to RSVP for the meeting, please contact:
Joyce BotelhoAssistant Director of Development and Alumnae Relations401-331-9696, ext. email@example.com
Click here for more information about Light Up Lincoln.


text:
Eagle River relief pitcher Guido Gerali, a foreign-exchange student from Italy, pitched four inning of scoreless ball to help the Wolves to a 16-7 victory over Chugiak in action at Mulcahy Stadium Saturday.
The Eagle River Wolves varsity boys and girls squads collected non-league victories, reeling in the King Salmon of Ketchikan High, 3-1 and 3-0, respectively, in actions at Eagle River High Saturday.
The Mustang boys team won the annual Frosh-Sop meet, held May 10, at South Anchorage High. The girls placed second. Mustang coach Melissa Hall said the victory was largely due in part to a sweep in the majority of the relays and to first-place performances by John Weaver, in the 400m; Dillon Pratt, the100m; and Roan Hall, the 3200m.
The Mirror Lake Coyotes track and field team rode the wave of impressive relay team finishes to place first in the district-wide City Championships concluding May 8. The championships, the first time for athletes from all 11 schools to confront one another, was divided into three portions for running preliminaries, field championships and running finals at three different venues including the field finals, hosted by Mirror Lake.
More than 500 enthusiastic players and their parents were present at Lions Park for opening ceremonies for the Knik Little League held May 3 under bright blue skies and even brighter expectations for the summer.
Toting an undefeated regular season, Mirror Lake Middle School track coach Mitch Tarter is looking for much of the same as the Coyotes ready for the City Championships to be held Tuesday and Thursday this week. The track finals will be held at Goldenview Middle School today (Thursday), beginning at 3:45 p.m.
The Chugiak boys and girls track teams make good showings during a showcase meet held at Dimond High Friday and Saturday. The venue provided athletes an opportunity to race on the same track used for this season's Region and State events, to be held May 15-16 and May 23-24, respectively.
It was the Dimond Lynx versus the Eagle River Wolves at Mulcahy Stadium Saturday afternoon for each team's first league game of the high school baseball season. Dimond opened things up in the first inning, of the seven inning game, by scoring one run, followed by three quick successive outs. The Wolves answered with one run of their own during their first chance on offense, after Michael Rosenberg roped a double to left field, and then scored on double that RJ Dirscherl shot on his own to left field a moment later. The Lynx then gained momentum in the second inning and scored three more runs. Both sides were somewhat neutralized until the sixth inning when Dimond squeezed another run across the plate to bring the score to 5 - 1.
With 11 games in two weeks, the Mustangs varsity softball team enters the second half of the season sporting a 8-3 win-loss record, reported head coach Jim Huber. After a near-perfect 5-1 record the first week, Chugiak fell to South, 4-1, on April 28, then 10-8, to West, April 30.
In the first outdoor soccer meeting between the two local schools, the Chugiak girls defeated Eagle River, 3-0, while the boys followed with a 1-1 draw in action at Tom Huffer Sr. Stadium on April 23.


text:
Sleeping Bags
The BarkerBag
A solid pack and pair of sturdy hiking boots are essentials for all outdoor enthusiasts, but nothing propels you further and with a better attitude than having a dog by your side. After a long day when all parties are exhausted through, having your...
Off Piste: A Ride Across America, Part 3 of 5
As we continue on with the week-long coverage of our recent cross-country motorcycle trip, we introduce a wealth of camping gear used during the 10-day journey. When not riding—or looking in the mirror to ensure we had that "motorcycle guy" look...
Six Essentials for Fall Camping
Summer may be the traditional season to toss a tent into the car and take off toward the horizon, but fall camping has its advantages. Not only are there are fewer crowds at popular locales, but nothing enhances the taste of hot coffee quite like being...


text:
We are looking for software reviewers to write for us.
Click Here
Check a Java jar to make sure all the javac -target versions of
the class files are what you expect.
Java application.
Requires Java version 1.5 or later.
All Java source code is included.
to use:
java.exe -jar jarcheck.jar jartotocheck.jar 1.1 1.7
where jartocheck.jar is the name of jar to check.
It will check all the class files in it.
In this example:
1.1 is the lowest acceptable target version number.
1.4 is the highest acceptable target version number.
Currently, only version numbers 1.0, 1.1, 1.2, 1.3, 1.4, 1.5
and 1.6 are supported. The program does not currently test
minor version numbers.
Why would you use this utility? To make sure that a jar
intended to run under an old 1.1 JVM contains no classes
accidentally compiled with javac -target 1.5. Passing this
test does not guarantee the jar will work on an old JVM. The
jar still might use methods not bundled with old JVMs. This
should catch however, classes normally compiled with target
1.1 that were accidentally compiled with 1.5 as a side
effect of compiling some 1.5 class.
There is a similar program called JarLook available at
Keywords: jarcheck, jar, Java, version, major, minor, target
Recent Changes: add support for Java 1.7
Install Support: No Install Support
Supported Languages: English
Additional Requirements: Java 1.6+
Home | Featured | Submit | Link To Us | Contact Us | FAQ | About Us | Advertise
Copyright © 2006-2015, by Software Reviews, All rights reserved. Privacy statement | Terms of use


text:
Surfers Tropique is three levels of one- and two-bedroom, low-rise apartments conveniently located near the excitement of Surfers, yet nicely secluded in the private precincts of Surfers Paradise.
Surfers Tropique is ideal for families and couples alike.
Surfers Tropique has partnered with Experience OZ to provide attraction & tour bookings direct to you with no booking fees.
With Experience OZ you can book almost anything on the Gold Coast including theme park tickets, tours, airport transfers, car rental, dinner & show packages and a whole lot more.


text:
Hold down Control (PC) or Command (Mac) key + mouseclick to select more than one option
|Avg. Dinner Entrée
|Greater than $25
|$18.01 - $25
|$12.01 - $18
|$7.01 - $12
|Less than $7
Posted by anonymous on 03/09/2009
I made a reservation for 35 people. We were to be seated in a "special room" because we were celebrating a birthday. Well, we ended up in a corner where some of my guest couldn't see the shows. When we sat down and had to wait almost an hour b4 our server asked to take our appetizer order. THERE WAS ONLY ONE SERVER FOR 35 people. Imagine how slow that went. We complained 3 times that we needed another server and NOTHING. We sat down at 7:15 and didn't get our dinner almost 9. Needless to say my guests were starving. The food was not worth the price. My bill was $1500. You would think that a large group and a large bill would equal better service, but it didn't. Our requests for another server were ignored and the service was so backed up I will never eat there again. When you go to a restaurant its to have good food and good service, we had neither. No one (management) seemed to care how unhappy we were. I get better treatment at Outback than I did here. NEVER AGAIN will I come here.
Posted by The perfect date ?? on 02/16/2009
Me and my boyfriend went to Alhambra On Valentine's day. We were seated at a table with a pretty good view to the stage and came right on time to catch the belly dancer show which was excellent. 45 minutes later - the belly dancer has finished her performance - we still haven't been greeted !!! Good thing we still had the whine glasses from the bar which were done by then. Still in an optimistic mood- we asked the busboy to find our server . Finally an hour later a server came to our table and took our pre-set 5 course meal order ($105 per person!!!) As for the appetizers - The tinniest sampler of hummus and babaganush - were served w/o pita bread and were ridiculously small. We asked two different people (since our server was nowhere to be found) to get us some pita bread - without any success but by that time we were soooooooooooooo hungry that we just ate it without the pita. The only thing that came out in a reasonable time to the table is our whine refills. Other then that it took FOREVER for ALL the courses to be served. The food was ok but the service was awful!!! In fact it was so bad that we saw 2 different couples from the tables next to us just get up and leave!!! When I asked for a hot tea towards the end of my entrée to be served with our dessert , again - 40 minutes later our server came back to me and said they are out of hot water and I'll have to wait again….. By the time we finished our desert and the only thing we wanted to do is get the hell out of there - my tea has arrived J I've worked as a server in a restaurant not too long ago , and trust me… I KNOW how it is when its packed and everyone is running around like crazy trying to get everything out for their table, and I perfectly aware that on a busy night its absolutely impossible to get 100% good service sometimes not even 50% - which would be perfectly fine with me but 1%??? For a $225.00 bill??? That is just unheard of! I've always tipped 20% or more from the bill in every restaurant I went to- even if the service wasn't that great , but this time I just couldn't get my self to leave $50 tip for the most terrible service!!! Our plan was to spend a wonderful romantic night in a fancy restaurant and maybe continue our night at the upstairs dance floor or a different club , but at 12:30 when we finally finished dinner - the only thing we wanted to do is forget about that night and the $250 we threw away in Alhambra - the Moroccan palace….
Posted by Ashley on 11/17/2008
After reading some terrible reviews, I was concerned about trying the Alhambra Palace, but I had been wanting to try this restaurant for a while so I decided to take a chance. I took my boyfriend there as a surprise after a stressful week last Saturday. We had reservations at 8:00pm and were seated immediately despite arriving 20 minutes early. The host was very polite and let us choose where we wanted to be seated, and the manager came by to ask us how we were enjoying things, which we both really appreciated. Our server was excellent. Our food and drink orders were brought quickly and although we finished our meal before the entertainment started, she didn't make us feel rushed to leave. The food was very good. We had the Batata appetizer, the Filet Mignon, and the Penne Alfredo. All were delicious and the presentation was beautiful. The restaurant itself was gorgeous: exotic, but not over the top. The flamenco dancers, most of the reason I wanted to try this place, were no disappointment either. The show started about 8:40, although the website says 8:00pm, but it was worth waiting the extra time. Overall, it was a great experience and I would recommend it to anyone wanting try something out of the ordinary.
Posted by Never will I ever. on 02/21/2008
Reservations for 4 at 7:30p.m. Guess again, please go over there, we will call you in a few minutes,,,9:30p.m. more than just a few minutes. Yes, understood, Saturday evenings are a bit crowded, everywhere you go. Reservations, hahaha don't even bother. Especially at this place, I meant palace. Not really, you see at the Alhambra Palace, the way the system works, the bigger the party, the better the service. I arrived ten minutes before my reservation and with a total of four guests. We waited for almost two hours. We must have seen more than 200 guests get seated before we even got a chance to open our eyes. The hosts, especially the one with a bob cut could care less. Management, well what can I honestly say. They where polite, but not until we complained. Sure we got seated, two hours later. All night they kept saying, we are a full house, we don't have the capacity to seat you, ahhh even with a reservation. Well, as the manager seated us, There where more than 20 tables open. The server was nice. The FOOD, not the best in town. Dancers, yes good, but not worth the hassle. Honestly, go to a pizza place, walk around Miracle Mile, but do not waste your time going here. But trust me, I am picky and love restaurants that are authentic, this place just screamed poo all over it.
Posted by birthday girl on 05/24/2007
I first went to Alahmbra on a week night and loved it so much so returned on a weekend. Stopped by for some b-day drinks with some friends and at first they turned us away. I can clearly see there was more then enough room for a party of four at the bar. The hostess gave us a hard time however, finally let us in. We walked around and we noticed that there were more then enough tables to accomodate walk ins. It is to bad that some of these new places don't realize that customer service will keep customers coming back. If you want to check it out, I would recommned you stop by on a week night and not the weekend. The atmosphere was fun but the customer service needs a lot of help.
Posted by pt on 05/19/2007
The food was poor- the drinks - not much better. The cake was like a week old. Will never go back .
Posted by Khrystia on 05/18/2007
The restaurant decor is amazing. You really fell as if you are in a Moorish palace in Granada, Spain. The food was very good. I recommend the Alhambra rice and sauce which are very good. The sauce has a lttle kick to it, which is unusual for middle eastern cuisine. I was there for dinner on a Tuesday night. The service was very fast. We were in and out within an hour. The menu is limited and a little pricey, but overall a very nice experience. I'd recommend going for a special occasion, such as a birthday, or a date when they have live music.


text:
Narrow your search
The Bracketron E2 series of magnetic smartphone cradles is a secure, convenient and universal mounting option that is best suited to drivers who regularly carry their device in a case.
Even if you aren't a fan of the Tolkien universe, Shadow of Mordor is a great-looking and ultra-satisfying action game filled with remarkable villains and countless memorable moments.
With its eco-friendly design and spiffy solar panels, the Samsung Blue Earth is more than just a gimmick; it's also an appealing cell phone with character.
A Chinese site is already selling the right to migrate to the planet dubbed "another Earth." Unfortunately, you probably won't survive the trip.
NASA has spotted a distant planet that's as close as it comes (so far) to the one we call home. Here's a look at how it compares with other recently discovered planets -- and with our rock.
Ashley and Khail discuss whether or not they'd move to Kepler-452b, NASA's newest planetary discovery and how one of the biggest pro eSports leagues is taking steps to stop performance-enhancing drug use among players. #TD452b
We know we're being ridiculously optimistic about this, but we hope there's an entire race of highly evolved beings over on NASA's newly discovered planet in the Kepler system, and we also hope they have really fast Internet.
NASA's Spitzer telescope confirms a new neighbor in the form of a larger-than-Earth rocky planet outside our solar system.
From autonomous warfare to still-distant sentience, artificial intelligence in 2015 is nothing like we expected. Here are three things every geek who dreamed of a robot future needs to know.
Data from the Kepler Space Telescope reveals a planet that hits the triumvirate of being just right: It's the right size in the right place, and is circling a star similar to our sun.


text:
A process control system integrates the collection and analysis of process control data used to perform certain computationally expensive process control functions, like adaptive model generation and tuning parameter generation, in the same control device in which one or more of the process control routines are implemented, to thereby provide for faster and more efficient support of the process control routines. This system replaces a layered approach using multiple processing devices by integrating an analytical server which performs computationally expensive analyses used by one or more control routines directly into the real-time control device in which the one or more control routines are located. This integration provides the ability to analyze large quantities of data for multiple process loops controlled by a particular device in a fast and efficient manner.
1. A process control device for use in controlling one or more field devices to implement a process within a process environment, comprising:
a memory;
one or more processors;
one or more control routines stored on the memory and executable a processor to implement one or more control loops within the process environment using the one or more field devices; and
a server stored in the memory and executable on a processor, the server including;
a support algorithm to be executed on the processor; and
an interface for communicating with the one or more control routines;
wherein the one or more control routines interact with the server via the interface to cause the server to execute the support algorithm to produce controller data and the one or more control routines use the controller data to perform a control activity with respect to the one or more control loops within the process environment.
2. The process control device of
3. The process control device of
4. The process control device of
5. The process control device of
6. The process control device of
7. The process control device of
8. The process control device of
9. The process control device of
10. The process control device of
11. The process control device of
12. The process control device of
13. The process control device of
14. The process control device of
15. The process control device of
16. The process control device of
17. The process control device of
18. The process control device of
19. The process control device of
20. The process control device of
21. The process control device of
22. A process control system, comprising:
a plurality of field devices disposed within a process plant environment to perform measurement and process parameter manipulation functions;
a process controller communicatively coupled to the plurality of field devices, the process controller including;
a memory;
one or more processors;
one or more control routines stored on the memory and executable on a processor to implement one or more control loops using the plurality of field devices; and
a server stored in the memory and executable on a processor, the server including a support algorithm to be executed on a processor;
wherein the one or more control routines interact with the server to cause the server to execute the support algorithm to produce controller data and wherein the one or more control routines use the controller data to perform a control activity with respect to one or more control loops; and
a further device communicatively coupled to the process controller to interact with the server.
23. The process control system of
24. The process control system of
25. The process control system of
26. The process control system of
27. The process control system of
28. The process control system of
29. The process control system of
30. The process control system of
31. The process control system of
32. The process control system of
33. The process control system of
34. The process control system of
This application is a continuation-in-part application of U.S. patent application Ser. No. 11/243,862 filed Oct. 4, 2005, entitled "Process Model Identification in a Process Control System," the disclosure of which is hereby expressly incorporated herein by reference.
The present invention relates generally to process control systems used within process plants and, more particularly, to a control system that enables the fast and efficient support of process control routines which use computationally expensive algorithms, such as adaptive process control routines that create and update process models during the adaptation procedure.
Process control systems, such as distributed or scalable process control systems like those used in chemical, petroleum or other processes, typically include one or more process controllers communicatively coupled to each other, to at least one host or operator workstation and to one or more field devices via analog, digital or combined analog/digital buses. The field devices, which may be, for example, valves, valve positioners, switches and transmitters (e.g., temperature, pressure and flow rate sensors), perform functions within the process such as opening or closing valves and measuring process parameters. The process controller receives signals indicative of process measurements made by the field devices and/or other of information pertaining to the field devices, and uses this information to implement a control routine and then generates control signals which are sent over the buses to the field devices to control the operation of the process. Information from the field devices and the controller is typically made available to one or more applications executed by the operator workstation to enable an operator to perform any desired function with respect to the process, such as viewing the current state of the process, modifying the operation of the process, etc.
Some process control systems, such as the DeltaV™ system sold by Emerson Process Management, use function blocks or groups of function blocks referred to as modules located in the controller or in different field devices to perform control operations. In these cases, the controller or other device is capable of including and executing one or more function blocks or modules, each of which receives inputs from and/or provides outputs to other function blocks (either within the same device or within different devices), and performs some process operation, such as measuring or detecting a process parameter, controlling a device, or performing a control operation, such as the implementation of a proportional-derivative-integral (PID) control routine. The different function blocks and modules within a process control system are generally configured to communicate with each other (e.g., over a bus) to form one or more process control loops.
Process controllers are typically programmed to execute a different algorithm, sub-routine or control loop (which are all control routines) for each of a number of different loops defined for, or contained within a process, such as flow control loops, temperature control loops, pressure control loops, etc. Generally speaking, each such control loop includes one or more input blocks, such as analog input (AI) function blocks, a single-input, single-output (SISO) or a multiple-input, multiple output (MIMO) control block, and one or more output blocks, such as analog output (AO) function blocks.
The control routines used in control loops, and the function blocks that implement such routines, have been configured in accordance with a number of different types of control techniques, including proportional-integral-derivative (PID) control, fuzzy logic control (FLC), and model-based techniques such as a Smith Predictor or model predictive control (MPC), to name but a few. In model-based control techniques, the parameters used in the control routines to determine the closed loop control response are based on the dynamic process responses to changes in a set of manipulated or measured disturbances serving as inputs to the process. A representation of the response of the process to changes in process inputs may be characterized as a process model. For instance, a first-order parameterized process model may specify values for the gain, dead time, and time constant of the process.
One model-based technique, model predictive control (MPC), involves using a number of step or impulse response models designed to capture the dynamic relationships between process inputs and outputs. With MPC techniques, the process model is directly used to generate the controller. When used in connection with processes that experience large changes in process dead time, process delay, etc., the MPC controller must be automatically regenerated using new process models which match the current process condition. In such cases, a process model is accordingly identified at each of a number of operating conditions. However, the introduction of multiple process models and the requisite automatic generation of the controller based on new process models to match the current process condition undesirably increases the complexity and computational requirements of the process control system.
Process models have also been used to set tuning parameters of PID and other control schemes using adaptive control techniques, wherein the tuning parameters of the PID (or other) controller is generally updated as a result of changes in a process model defining the process as well as in response to user-selected tuning rules. Examples of an adaptive PID tuning technique in which process models are developed and used to tune PID controllers is described in detail in U.S. Pat. No. 7,113,834 entitled "State Based Adaptive Feedback Feedforward PID Controller" issued Sep. 26, 2006 and U.S. Pat. No. 6,577,908 entitled "Adaptive Feedback/Feedforward PID Controller," issued Jun. 10, 2003, the entire disclosures of which are hereby expressly incorporated by reference herein.
Thus, modern control systems are being built with the ability to automatically learn about the processes that they control in order to provide adaptive tuning and controller generation. This ability to learn about the process allows the control system to react, in real-time, to changes in operating conditions and process equipment. The learning process generally begins with the collection of real-time data from the process loops and devices within the system, and this raw data is then analyzed through a set of analytical algorithms that can generate intelligent diagnostics, high fidelity process models, and improved tuning to optimize the overall control of the process. The results may be presented as recommendations to operators, may be stored in detailed evaluations, and may be used for performing adaptations in closed loop control as discussed above.
Traditionally, however, the data analysis and model generation performed for these control activities has been performed using a layered approach, wherein a third party tool retrieves the process data from the control network (directly or via the well known OPC protocol) and feeds this data to the appropriate analytical algorithms (such as process model generation and tuning parameter generation algorithms) run in workstations or third party hardware associated with the control system. A similar approach that is used in traditional process control systems, such as in a standard distributed control system (DCS), is to communicate the collected data from the control network to one or more data historians or to other workstation applications for later analysis. The problem with this layered approach, however, is that it is not very responsive, as the collection and sending of data between different devices within the process environment can take significant period of time. Moreover, this approach only allows one process loop to be evaluated at a time and generally requires significant operator intervention. Likewise, given the need for external communications between the control system and the data analysis applications, reliability and availability of the third-party analysis applications can be compromised. Given these drawbacks, it is difficult to provide timely support for multiple control loops running within a single control device when these control loops implement computationally expensive control techniques, such as adaptive control techniques and MPC techniques that require the on-line generation of process models.
A process control system integrates the collection and analysis of process control data used to perform certain computationally expensive process control functions, like adaptive model generation and tuning parameter generation, in the same control device in which one or more of the process control routines are implemented, to thereby provide for faster and more efficient support of the process control routines. In particular, this system replaces the layered approach discussed above by integrating an analytical server which performs computationally expensive analyses used by one or more control routines directly into the real-time control device in which the one or more control routines are located. This integration provides the ability to analyze large quantities of data for multiple process loops controlled by a particular device in a very fast manner without compromising the integrity of the control operations.
In one embodiment, the integrated analytical server is a service that runs on the real-time control device along with the process control routines. The service directly receives the raw real-time process data from one or more control function blocks, runs one or more analytical algorithms, such as model generation algorithms and tuning parameter generation algorithms, on the data and communicates the results back to the process control routines for use in their control activities. Moreover, if desired, the analytical server may provide the analysis results to one or more workstation applications such as a database repository and a user interface application.
In order to effectively manage the central processing unit (CPU) and memory resources of the control device in which the process control routines and analytical server are implemented, the analytical server provides an interface to the real-time control routines to allow the control routines to make a call to request that an algorithm to be performed on a collection of process data. These requests may be prioritized and queued, so that the analytical server is then able to execute the requested algorithms using the collected data asynchronously with respect to the operation of control routines within the control device. Moreover, the operation of the analytical server may be isolated from the operation of the on-line control system to thereby free the on-line control to collect data for another learning iteration at the same time the current data is being analyzed by the analytical server. Once the analytical server has completed the requested operation, the generated data or results are returned to the on-line control system, i.e., to the control routines.
While the focus of this discussion is directed to an analytical server that performs the identification of process models for PID control loops or MPC routines, it should be noted that the analytical server technique disclosed herein can be applied to other control strategies and blocks including SISO/MIMO blocks, PID blocks, FLC blocks, MPC blocks, neural network (NN) control blocks, etc., as well as to any real-time process data analysis, such as model generation/update, online controller generation/update, controller tuning, fast Fourier transform (FFT) and correlation analysis, optimization, SPC, loop/device performance index generation, etc.
For a more complete understanding of the disclosure, reference should be made to the following detailed description and accompanying drawing figures, in which like reference numerals identify like elements in the figures, and in which:
While the disclosed systems and methods are susceptible of embodiments in various forms, there are illustrated in the drawing (and will hereafter be described) specific embodiments of the invention, with the understanding that the disclosure is intended to be illustrative, and is not intended to limit the invention to the specific embodiments described and illustrated herein.
Referring now to
The field devices 15-22 may be any types of devices, such as sensors, valves, transmitters, positioners, etc., while the I/O cards 26 and 28 may be any types of I/O devices conforming to any desired communication or controller protocol. In the embodiment illustrated in
Each of the controllers 11A and 11B (and as specifically illustrated for the primary controller 11A) includes one or more processors 23 that implement or oversee one or more process control routines stored in a memory 24 and that communicate with the devices 15-22, the host computers 13 and the data historian 12 to control a process in any desired manner. Additionally, the controller 11A stores and implements an analytical server 25 that works in conjunction with the control routines implemented by the controller 11A in a manner described in more detail below to provide support for these control routines, including performing computationally expensive algorithms and functions, such as developing process models and tuning parameters to be used within the control routines. If desired, each of the controllers 11A and 11B may include a single processor 23 that executes both the control routines and the analytical server 25, or multiple processors 23, wherein the control routines generally execute on a first one of the processors 23 and the analytical server executes on a second one of the processors.
It should be noted that any control routines or modules described herein may have parts thereof implemented or executed by different controllers or other devices if so desired. Likewise, the control routines or modules described herein to be implemented within the process control system 10 may take any form, including software, firmware, hardware, etc. For the purpose of this disclosure, a process control module may be any part or portion of a process control system including, for example, a routine, a block or any element thereof, stored on any computer readable medium. Control routines, which may be modules or any part of a control procedure such as a subroutine, parts of a subroutine (such as lines of code), etc., may be implemented in any desired software format, such as using object oriented programming, ladder logic, sequential function charts, function block diagrams, or using any other software programming language or design paradigm. Likewise, the control routines may be hard-coded into, for example, one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs), or any other hardware or firmware elements. Still further, the control routines may be designed using any design tools, including graphical design tools or any other type of software/hardware/firmware programming or design tools. Thus, the controller 11 may be configured to implement a control strategy or control routine in any desired manner.
However, in one embodiment, the controller 11A may implement a control strategy using what are commonly referred to as function blocks, wherein each function block is an object or other part (e.g., a subroutine) of an overall control routine and operates in conjunction with other function blocks (via communications called links) to implement process control loops within the process control system 10. Function blocks typically perform one of an input function, such as that associated with a transmitter, a sensor or other process parameter measurement device, a control function, such as that associated with a control routine that performs PID, fuzzy logic, MPC, etc. control, or an output function which controls the operation of some device, such as a valve, to perform some physical function that manipulates a process parameter within the process control system 10. Of course, hybrid and other types of function blocks exist. Function blocks may be stored in and executed by the controller 11A, which is typically the case when these function blocks are used for, or are associated with standard 4-20 ma devices and some types of smart field devices such as HART and Fieldbus devices, or may be stored in and implemented by the field devices themselves, which may be the case with Fieldbus devices. While the description of the control system is provided herein using a function block control strategy, the disclosed techniques and system may also be implemented or designed using other conventions, such as ladder logic, sequential function charts, etc. or using any other desired programming language or paradigm.
As illustrated by the exploded block 30 of
With reference now to
The control modules stored within the controller device 11A are generally shown in
In any event, as specifically illustrated in
As shown in
In one embodiment, the analytical server 25 includes an interface 42 which is used to communicate within the controller 11A to the various control blocks 32, 34 and 36 so as to receive calls and process data from the control blocks 32, 34 and 36 as well as to send analysis results back to the control blocks 32, 34 and 36. Additionally, the analytical server 25 includes an exterior interface 44 which may be used to provide communications with external devices, such as user interfaces, data historians, etc.
The analytical server 25 is particularly well suited to perform computationally expensive algorithms that support, or are necessary for the operation of the control modules 32, 34 and 36, but that may not need to be run during each execution period of the control modules 32, 34 and 36. Thus, for example, the adaptive, model-based control techniques described in U.S. Pat. Nos. 6,577,908 and 7,113,834 require process model regeneration to perform the adaptive tuning. While the computationally expensive process model regeneration techniques used to develop various process models for different regions or states of the process need to be performed for this adaptation, a new process model typically does not need to be recalculated during every execution cycle of the PID control routine. Thus, the process model and tuning parameter generation techniques described in U.S. Pat. Nos. 6,577,908 and 7,113,834 may be implemented by the analytical server 25 only when a need for a new process model is recognized by a control module.
As noted above, in one embodiment, the analytical server 25 may operate to execute one or more model generation routines, which generate process models to be used by various ones of the adaptive control routines 32 and 34 in performing adaptive control or to be used by the MPC control routines 36 to implement MPC model or controller regeneration. In a similar manner, the analytical server 25 may calculate one or more adaptive tuning parameters based on one or more generated process models and may send these tuning parameters to the control blocks 32, 34 and 36. Of course, as noted above, the analytical server 25 may store and implement other analytical algorithms (besides model and tuning parameter generation algorithms) for one or more of the control blocks 32, 34 and 36 and can support the model generation needs of different types of control blocks besides the FLC, PID and MPC control blocks illustrated in
More particularly, the analytical server 25 operates by implementing a client/server communication relationship with respect to the various control blocks 32, 34 and 36, and thus may be called by any or all of the individual control blocks 32, 34 and 36 at any time those control blocks need to implement one of the algorithms 40 stored within the analytical server 25. Thus, when the analytical server 25 stores and implements a process model generation or a tuning parameter generation algorithm, any or all of the control blocks 32, 34 and 36 may place a call to the analytical server 25 to have the server 25 implement the appropriate model generation or tuning parameter determination algorithm 40 to calculate a new process model for use by the control block (or to calculate new tuning parameters for the control block). Because the analytical server 25 is disposed within the same physical control device as the process control modules 32, 34 and 36, no exterior communications need to occur for the analytical server 25 to receive the raw process data needed to generate the process models, which increases the amount of data and the speed at which process data can be provided to the analytical server 25 as compared to algorithms executed in different devices, such as in the user interfaces 13 of
It is preferable that the analytical server 25 execute asynchronously with respect to the control blocks 32, 34 and 36 (and therefore asynchronously with respect to the on-line or real-time control system), so that the operation of the analytical server 25 does not affect operation of the control modules 32, 34 and 36 in any manner, especially when the analytical server 25 is executed in the same processor as the control modules 32, 34 and 36. More particularly, the analytical server 25 may be operated within the controller device 11A to assure that its execution does not affect or cut into the processing time needed to implement the various control modules 32, 34 and 36. Instead, the analytical server 25 uses processing time or processing power of the processor within the controller device 11A that would normally be left unused by the control routines 32, 34 and 36. Put another way, the processor of the controller device 11A prioritizes the operation and execution of the control routines 32, 34 and 36 above the operation of the analytical server 25 (whether these components are executed the same processor or on different processors) to assure that the control routines are implemented on a predetermined schedule and that these routines are given the processing power or time needed to perform ongoing process control activities. The controller device 11A then executes the analytical server 25 at times or using processing power not needed to fully implement the control routines 32, 34 and 36.
As the analytical server 25 operates at a lower overall priority within the controller device 11A than the control routines 32, 34 and 36, the analytical server 25 may prioritize each of the calls from the control routines 32, 34 and 36, and may implement or execute the calls according to the determined priority. The priority of a call may be based on information within the call, such as an indication of a priority sent from the control routine that is making the call, based on the relative importance of the different types of calls, based on the relative importance of the different types of control blocks making the calls, based on the relative importance of different control blocks of the same type making a call, or based on any other preset priority factor(s). Thus, the analytical server 25 may operate to provide services for a control block with a higher level of priority before providing services for a control block with a lower level priority when a call is received from each of such control blocks. Likewise, the control blocks themselves may provide an indication of the priority of the call within the call itself based on information determined by the control blocks. In any event, the analytical server 25 executes the algorithms 40 stored therein based on the calls and data provided to the analytical server 25 by the individual or different control routines 32, 34 and 36 within the controller 11A, and provides the results of the algorithms back to the control routines 32, 34 and 36. In this manner, the execution of the various algorithms 40 for the various different calls is performed by the analytical server 25 in a manner that is isolated from the rest of the on-line control system, which allows the on-line control system (e.g., the individual control routines) to collect data for a future learning iteration at the same time that data associated with the current learning iteration is being processed by the analytical server 25. Likewise, this isolated operation of the server 25 allows the analytical server 25 to process calls from different control blocks at the same time.
Once the analytical server 25 has completed a requested operation, the generated control data (e.g., a process model) is returned to the on-line control system (e.g., the requesting control block 32, 34 or 36) via the interface 42 and the appropriate plug-in module 32A, 34A or 36A. Of course, the analytical server 25 may also be configured or constructed to serve the generated data to an exterior device via the interface 44, such as an external server, to another application such as a diagnostics application, a user interface application, etc. executed within a different device, to a database repository located in another device, etc.
The analytical server 58 is illustrated in
In any event, the scheduler block 74 within the analytical server 58 analyzes the requests or calls within the buffer pool 80 and/or the event queue and places or orders these requests on the input queue 70 based on the priority information associated with the different calls. Of course, the priority of a call or a request may be based on the actual identity of the control block or the type of control block making the request (as some types of control blocks or some particular control blocks may have a higher priority than others based on the importance of these control blocks to the operation of the process), based on priority information provided by a user at some time, and/or based on priorities provided by the control blocks making the individual requests. Thus, as noted above, a control block may prioritize a call or a request for a model generation based on information available to the control module. In one example, the PID control module 56 may recognize that it needs to be updated more quickly when a significant change occurs within the state of the process, and in this case may generate a call for a model update having a higher priority, then when only a minor change occurs within the state of the process.
The model generator 72 processes the calls in the order in which these calls are found on the input queue 70, and operates to implement one or more model generation algorithms to generate models and/or other tuning parameters pursuant to the calls. The generated model (and associated tuning parameters if desired) are then provided to the scheduler block 74 which provides the newly generated model to the model storage blocks 76 and 78. Once a model has been placed in the storage block 76, this model (or the tuning parameters associated with this model) may be then provided back to the control module 56, and in particular, to the adaptive plug-in module 54, which then uses this updated model to perform adaptive control for the PID control block 52. The request for a new model as well as the information about a newly generated model may be tracked in the communications between the control block 56 and the analytical server 58 using IDs such as handle IDs and parameter IDs, as illustrated in
If desired, the model data stores 76 and 78 may be used to store and track the models generated for a particular control routine or for a particular portion of the process. In one example, the model data store 76 is used to store models and parameters for the control module 56 (as well as other control modules within the controller 50), while the model data store 78 may be used to be provide the generated models to the server 60, to a user workstation or to another external application. In particular, a model, once created or generated may first be stored in the model data store 76 and from there may be provided back to the control routine 56 which caused the creation of this model. The database 76 may additionally store previously generated models for the control routine 56. Upon receiving a model, the control routine 56 (or a user who has access to the model) may wish to purge the model as not being accurate. In this case the control module 56 may send a message to analytical server 25 to cause the model to be deleted or purged from the model database 76.
On the other hand, the model database 78 may be used to reflect the models stored in the data store 76 for the purpose of providing a copy of the created models to applications or historians executed in other devices. In this case, the model storage 78 may act to mirror the set of models within the database 76, but may track which models have been sent to an exterior device for permanent storage, such as an exterior historian which may store the models in a more persistent manner. If desired, a model counter 82 may be used to track the number of models which have been created and copied to the model storage 78, but which have not yet been sent to the exterior device, such as the workstation 62 for persistent storage. In any event, the model database 78 may operate as a temporary model store which may be used to serve generated models as well as other information to external devices.
As will be understood from the configuration of
As will be understood, the integrated analytical server 58 dynamically operates on real-time process data to perform any desired analytical and learning algorithms without user intervention, and thus can operate automatically, if so desired. Still further, the analytical server 58, as described herein, provides a mechanism to perform computationally intensive algorithms on process data and control data without compromising time critical control performed by the control routines within the controller 50, thus enabling fast and efficient adaptive tuning as well as other functions to be performed within a controller device. In one example, the integrated analytical server 58 allows for multiple learning iterations to be performed at the same time for a particular process control loop. Thus, the analytical server 58 may simultaneously operate on calls or requests for the same process control loop for different periods of time (i.e., for different sets of collected process data) so as create different process models for different regions of the process at the same time. Still further, the integrated analytical server 58 enables multiple process analyses to be in progress for different control routines implemented by a particular process control device at the same time. Thus, the analytical server 58 may simultaneously provide services for more than one process control routine to generate models or tuning parameters or other information for those different process control routines.
Of course, the output of analytical server 58 (i.e., the controller data generated by the analytical server 58) while being provided to the control routines within the controller 50 can also be provided to other devices such as user applications and database repositories for any desired use. Still further, the analytical server 58 may interface directly with a user, such as a user using an interface application 84 within one of the workstations 13 of
As noted above, while
While the operation of the integrated analytical servers described herein is described in conjunction with a primary control device, such as the primary controller 11A of
Another example of the use of an analytical server within a controller device that implements process control routines will now be described with reference to
In accordance with some embodiments of the disclosed technique, parameter values and other operating condition data are passed from the control modules 150, 152 and 154 to a data collection function 158 of an analytical server 160 that implements a model identification routine. Generally speaking, the parameter values and other process operating condition data are made available (or otherwise communicated) during execution of the control modules 150, 152 and 154 and the function blocks thereof to the server 160. Because the execution of the control modules 150, 152 and 156 is continuous during the scheduled process control activities, the communication of the parameter values and other operating condition data to the server 160 may also be continuous, or may be provided with one or more calls to the server 160 in the manner described above with respect to
The data collection function 158 of the analytical server 160 may be implemented, but need not be implemented in object-oriented fashion as an object(s) (or object entity). Regardless of its structure, the data collection function 158 may include one or more routines defining the procedures to be implemented in the data collection, including any data handling procedures. The routines of the data collection function 158 may thus coordinate, support or implement the storage of the collected data in, for instance, one or more registers 162 or other memories. The procedures executed by the data collection function 158 may include determining when to collect the data from the control modules 150, 152 and 154, as described below.
More generally, the data collection function 158 may include one or more routines to support the automatic collection, gathering, receipt or other handling of the parameters and other operating condition data. To the extent that the automatic collection or other handling of the parameters and data is implemented by the data collection function 158, less computational requirements are placed on the on-line control system 156, the control modules 150, 152 and 154, and any control blocks thereof. As a result of such separation of the model identification procedure (as performed by the analytical server 160) from the control function blocks, the function block memory and execution requirements will be the same whether model identification is enabled or disabled. Furthermore, the number of parameters and associated memory requirements added to the control blocks to support adaptation (i.e., adaptive control) is minimized.
The separation of the on-line control system 156 and the analytical server 160 also allows some embodiments to provide an option to disable the analytical server 160 or components thereof such as the data collection function 158. Disabling model identification may be useful if, for instance, it is determined that the controller 11 has insufficient memory or time for the calculations and other processing. On a related note, the use of the identified models to provide adaptive control may be also be enabled or disabled on a loop, area, system or controller basis.
Separate model identification functionality also supports the coordination of process input changes. Such coordination is made possible because model identification within the controller 11 is centralized in one process. For example, when no set point changes are being made, the model identification implemented by the analytical server 160 (or other element or routine) may automatically inject changes in the controller output. These changes may be coordinated in a manner to minimize the impact on process operation. These changes may thus be distributed over time.
Separate model identification also means that the processing of data for model identification may be performed in free or down time for the controller 11, or at any other time deemed suitable by the controller 11. As a result, the implementation of model identification processing avoids adversely impacting scheduled control functionality provided by, for instance, the on-line control system 156. Thus, in some embodiments, the model identification procedure implement by the server 160 may be implemented by the controller 11 in the background, while the process is on-line, and at strategically advantageous times during the scheduled control and other activities undertaken by other modules or components of the controller 11.
In some embodiments, the parameter data and other data is passed from the control modules 150, 152 and 154 to the data collection function 158 automatically whenever a control block executes. In this sense, the data collection function 158 may be implemented continuously to support the data collection procedure at any time during operation of the process. During those times when control is not scheduled to execute, the data collection function 158 may then examine the collected data to determine if a process model should be generated (e.g., created or identified). In alternative embodiments, the controller 11 may examine or otherwise process the collected data periodically or in some other scheduled manner.
The data collected by the data collection function 158 may generally include values for the process inputs and outputs or the operating set point for a particular control loop implemented by the controller 11 (or, more generally, the process control system 10). For each of these parameters, values are collected and stored over a time period beginning before a trigger event and lasting until steady state is reached. In some cases, the trigger event may involve the detection by, for instance, the data collection function 158 of a change in the process input or set point.
In some cases, what constitutes a trigger event may depend on the operational mode of the control loop. When a control loop resides in an "automatic" mode of operation, the loop is continuously adjusting the controller output (i.e., the manipulated process input) to maintain a process output (i.e., the controlled parameter of the loop) at an operator-specified set point. Thus, in automatic mode, a change in the set point will constitute a trigger to analyze the change in process inputs and outputs and, thus, to develop a model. If the operator never (or rarely) changes the set point and the loop remains in automatic mode, then a small change may be injected in the controller output so that there is a trigger to create a model.
When the loop resides in a "manual" mode, then the controller output is set by the operator, i.e. the control algorithm is not adjusting the output. Thus, in manual mode, a change in the output introduced by the operator constitutes a trigger for analyzing process inputs and output to obtain a model. The above-described trigger events may be used for the development of feedback models. For feedforward model identification, the trigger event may be a change in the feedforward input value.
Once the trigger event is detected, the on-line control system 156 and the data collection function 158 communicate in any desired fashion to support the data collection. In some embodiments, the data collection is facilitated by the control system 156, which may also indicate the detection of a trigger event. More specifically, the control loops implemented by the control modules 150, 152 and 154 may continuously provide access to the data or otherwise make the data available. As a result, data collected for some time before the trigger event may also be analyzed to determine the process model. For example, a PID control loop for which data is collected may provide access to the current data values for the process variable used in the block execution (e.g., PV), the block output value (e.g., OUT), the feedforward control input value (e.g., FF_VAL), the set point, and any one or more parameters that indicate the loop mode of operation. In some cases, the data collection function 158 may facilitate the selection of the parameter or other data values. Alternatively or in addition, the analytical server 160 implementing the model identification algorithm may include a configuration list block(s) 164 that determines which parameters need to be collected. To that end, the configuration list block 164 may include a memory or other storage mechanism for the list data. Stored along with the identified parameters may be a list or other identification of the control blocks or modules for which the models are to be generated.
At some point following the data collection associated with a trigger event, the analytical server 160 may implement a model identification algorithm or calculation routine 166. The model calculation routine 166 may also analyze the calculated models in addition to merely performing the calculations. Such analysis may involve process and/or control diagnostics to determine, among other things, the quality of the model. The calculated models may then be passed along to a storage or other block 168 that holds the last identified model(s) for each control loop. In some cases, a control loop may have two models stored to support, for instance, both feedback and feedforward control. As shown in
The quality of the model may also be determinative of whether the model is passed along to the control function blocks of the control modules 150, 152 and 154. In the exemplary embodiment of
With reference now to
Apart from the source of the parameter values and other operating condition data used to create the process model, the workstation 13 may implement the same or similar steps toward creation of the process model. For instance, the workstation 13 may include a model calculation and diagnostics module or block 172 similar to the block 166 of the controller 11. The model calculation block 172 may accordingly determine the quality and other aspects of the created block prior to, or in connection with, passing the block to the controller 11 and the storage block 168, as shown.
In some embodiments, the workstation 13 may have additional or alternative applications that provide similar functionality. In one case, the other application may provide one or more display interfaces that support the analysis and/or inspection of the process models identified via the disclosed techniques. In connection with the generation of the additional process models, however, these workstation applications may generate a trend window or display interface that provides an opportunity to select process data for use in the model creation. Using these trend windows or other interfaces, a user may select the data, including the time window. In these cases, the time to steady state may accordingly be determined via the time window selected by the user. Alternative embodiments may provide other mechanisms for manually or automatically selecting the time window.
As described above, practice of the disclosed technique is not limited to systems implementing adaptive control routines. However, the identification of process models via the disclosed techniques may be utilized to support such routines, when desired.
As shown in
The process models for the function block 174 may, but need not, be associated with operational regions (e.g., Region 1, Region 2, etc., as shown). The process models may also be identified in pairs in accordance with the control scheme of the function block. In this exemplary case, each region is determinative of a pair of process models in support of both feedback and feedforward processing. Upon selection of the region, the pair of feedback and feedforward models may be utilized by the block 178 to calculate feedback and feedforward tuning parameters, respectively. In the exemplary case shown in
The function block 174 also includes a block or routine 190 to support on-demand modifications of the control loop tuning. To this end, the block 190 may be responsive to a user command entered via the controller 11, the workstation 13 or any other element of, or device in communication with, the process control system 10. In general, the model that has been automatically identified for the loop may, on demand, be used with a selected tuning rule to set the loop tuning. If a model has not previously been identified, then a user command may initiate a relay oscillation or other technique to inject changes in the controller output. The resulting process model developed from the process response to the change in controller output may then be used with a selected tuning rule to set the loop tuning or to provide tuning recommendations.
In some cases, the process models generated via the block 190 or as a result of a triggering event (e.g., a set point or other parameter value change) may first be held for viewing before a download to the controller 11 or function block 174. For example, such models may be classified as "unapproved models" until analysis via a user interface has provided approval for implementation. In some embodiments, such approval may alternatively or additionally be provided automatically via diagnostic or other functionality in the controller 11 or workstation 13.
The MPC controller associated with the selected process model may then be provided to an MPC controller block 208 for implementation in the on-line process. The MPC controller block 208 may support automated on-demand testing of the selected MPC controller, which may be initiated by the introduction of a disturbance input 210 or otherwise, as desired.
In some cases, the exemplary adaptive control function blocks shown in
With reference now to
In some embodiments, one aspect of the process model history is directed to the generation of an event chronicle for the identified process models. More specifically, whenever a process model is identified either automatically in the controller 11 (
The database 214 may store such historical data for control loops that reside in multiple controllers 11 within the system 10 and need not be limited to use with any one particular type of controller. For instance, the database 214 may store such data for third-party controllers.
Referring again to
Specifically, referring to
The application suite 240 may include a historian application 248 dedicated to supporting the recordation of process model data (e.g., parameters) as the models are identified via the above-described techniques. To this end, the historian application 248 may communicate with the historian database 12 (
Display interfaces may be provided by an application 252 directed to supporting communications with the controller 11. Such communications may involve or include the configuration and maintenance of adaptive control routines executing in the controller 11. As is the case throughout the application suite, the display interfaces may take any form, including without limitation dynamos, faceplates, detailed displays, dialog boxes, and windows, and may be configured for display on different display types.
The application suite may include an application 254 dedicated to use of the process model information in connection with tuning. As a result of the above-described model identification techniques, the tuning application 254 is directed to improving process control performance by calculating tuning parameters automatically from normal day-to-day changes in the plant, or from on-demand tuning tests. The tuning results may be used for both "open-loop" tuning recommendations, and for "closed-loop" adaptive control.
More specifically, the tuning application 254 may generate a number of display interfaces to support the performance of continuous tuning calculations for all control loops in either open loop or closed loop operation. The tuning calculations support both standard and adaptive control, on PID, fuzzy logic, and MPC controllers and, thus, provide tuning recommendations for both feedback and feedforward control. The tuning application 254 may also provide on-demand tuning, as described above, using either a relay oscillation or other procedure.
The tuning application 254 has access to the process model history data stored in the historian database 12 (or elsewhere, as desired) and, thus, may calculate optimal tuning using historical process model data. To that end, the display interfaces may provide or include tools to easily peruse the history to locate and select data suitable for such tuning calculations. This aspect of the display interface(s) generated by the tuning application 254 generally allows a user to change model parameters (e.g., time to steady state, event trigger threshold) and re-identify models, or identify models for loops that were not previously enabled for automatic model identification. The tuning application 252 may also provide an interface to support analysis of a history of tuning calculation results. This capability may facilitate the analysis of adaptive control opportunities and the improvement of adaptive control configurations.
As described above, the tuning application 254 may provide an interface to support the introduction of control "perturbations" that help identify controller tuning when there are few manual changes to the process (i.e., automatic injection on controller output). An option may be provided via the interface to disable perturbations once good tuning is calculated. If multiple control loops are being perturbed, the moves may be synchronized to distribute and minimize the process disturbance.
The tuning application 254 may be responsive to process states and other status indications, such that any calculation results are identified accordingly. In this manner, the disclosed system avoids the use of information calculated in the wrong state or with bad process data. To that end, model-related calculations may indicate whether the results are good, bad or not available, with explanations where appropriate. The tuning application 254 may also generate summary reports to convey, among other things, tuning recommendation information and a user log that documents tuning changes and any adaptive control tuning analysis.
Moreover, an application 256 is generally directed to automatic control performance monitoring utilizing the process models identified via the disclosed techniques. The application 256 is more specifically directed to improving process control performance by facilitating or automatically implementing (i) the identification of opportunities for control improvement, (ii) the analysis and diagnosis of the source of control problems, and (iii) the generation of meaningful performance reports for operations, control and maintenance personnel. To this end, the application 256 may generate a control performance index based on the process models. This "model-based" index provides a better benchmark to identify control loops that need re-tuning. The new index measures the opportunity for improving control based on factors such as process variability, the identified process model, and existing controller tuning. Such performance monitoring may, if applicable, take into consideration unit states and exclude performance calculations when the loop is in an inappropriate unit state, or when other status indications (e.g., Fieldbus status) or I/O communications are bad. Valve stiction, backlash and other valve diagnostic indices may also be provided for all valves.
The foregoing features and those described below are generally provided via a comparison of control performance performed by utilizing the process models that are automatically created via the disclosed techniques. Through the use of the process models, poorly tuned control loops and changes in the process that impact control performance may be identified. Deviations in the process model from the historic values may be used to flag the control loop as a potential process problem.
Again, using the process models, an oscillation index may also be generated by the application 256 to identify loops that are oscillating. More specifically, an oscillation analysis tool may identify other loops that have the same oscillation period and may be interacting with the primary loop. This information may then be used to identify process interactions and possible design recommendations.
Diagnostic information provided by the application 256 may be accompanied by an indication of the expected cause of poor control performance. For example, diagnostics may indicate whether poor control performance is caused by instrumentation errors, valve stiction or backlash, process interactions, or controller tuning.
Generally speaking, the control performance monitoring information may be provided in any desired form, including a number of customized display interfaces and reports. Historical performance reporting may be provided to display how a control loop has performed over a user-specified period of time. Default time periods for such reporting include last hour, last shift (8 hours), last day, last week, last month. The user may be provided an option to "drill down" from summary reports to access detailed loop information. The reports or interfaces may be customized for management summaries with, for instance, an overall weighted performance index for plant-wide and individual process units, trends and/or tables comparing the current period with prior periods, and lists of top priority loops with a corresponding performance measure. Maintenance reports may present control loop performance indices and prioritize work items based on their relevant importance to plant operations. Other reports may provide statistics including data for the control performance index, standard deviation, oscillation index, process model (if available), auto and cross correlation, histogram, power spectrum, etc.
The application suite 240 may also include a separate control loop analysis application 258. In some embodiments, the application 258 is made available via the display interface(s) generated by the application 256. In any event, the application 258 supports analysis of historian or real-time data collected in connection with the above-described model identification techniques. The data may be presented via an interface that facilitates the examination of variation in control from unmeasured disturbances and measurement noise. For example, the problems identified via the applications 254 and 256 may be further examined using the analysis application 258 for diagnosis. To that end, the display interface generated thereby may provide options for calculating power spectrum, autocorrelation and histogram data.
An advisor application 260 may generally provide functionality that utilizes the identified models in connection with diagnostics to detect abnormal conditions or opportunities to improve the control scheme through tuning or algorithm modifications. The information provided by the advisor application 260 may be provided in any type of display interface, including a faceplate generated via the workstation 13, the controller 11 or any other element in communication with the system 10. In one specific example, the display interface may have a flag for indicating the display of a new advisory message, such as "Check Tuning."
More generally, the advisor application 260 may provide recommendations generated as a result of analysis or diagnostics performed by any one of the applications in the suite. Furthermore, the recommendations need not be provided by a display interface generated by the advisor application, but rather may be sent for display to any one or more of the applications in the suite. Thus, recommendations and messages such as "New Tuning Available," "Examine Process—significant change in process has been detected," "Check Valve—dead band/hysteresis large," "Check Tuning—loop unstable," and "Control could be improved using MPC/Adapt" may be generally provided via the workstations 13 or other devices in communication with the process control system 10. In addition to the display of the message or recommendation, details regarding the underlying condition may be stored as a history or other parameter for the control loop. Subsequent access or use of the data stored for the control loop may then cause the details or associated message to be displayed for a user of the advisory or other application in the suite.
Other applications that also support the implementation of the disclosed techniques include a control studio application 262 to facilitate navigation within the process control system 10 and a report generation application 264 for the generation of the aforementioned reports. Lastly, one or more memories or databases 266 may also be provided as part of the application suite.
Any of the above-described applications may be implemented as routines, modules or other components of one or more integrated applications. The disclosed arrangement of application functionality is provided merely for ease in illustration and is not indicative of the broad range of manners in which the functionality may be provided to an operator or other user. Furthermore, the above-described applications may be provided in varying form depending on user profile, context, and other parameters, as desired. For example, the display interface views generated for one user type (e.g., engineering) may differ in content and other ways from the views generated for a different user type (e.g., maintenance).
When implemented, any of the software described herein may be stored in any computer readable memory such as on a magnetic disk, a laser disk, or other storage medium, in a RAM or ROM of a computer or processor, etc. Likewise, this software may be delivered to a user, a process plant or an operator workstation using any known or desired delivery method including, for example, on a computer readable disk or other transportable computer storage mechanism or over a communication channel such as a telephone line, the Internet, the World Wide Web, any other local area network or wide area network, etc. (which delivery is viewed as being the same as or interchangeable with providing such software via a transportable storage medium). Furthermore, this software may be provided directly without modulation or encryption or may be modulated and/or encrypted using any suitable modulation carrier wave and/or encryption technique before being transmitted over a communication channel.
While the present invention has been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, it may be apparent to those of ordinary skill in the art that changes, additions or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the invention.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Fantasy Flies make wonderful gifts and novel awards for organizations and businesses.
Below is a sample of the products we offer. To view larger images, better descriptions, or to order your very own Fantasy Fly, please click on the images below.
Super Royal Wulff - Time-honored KING of the dry flies starting at $149.
Monster Muddler - Streamer pattern used world-wide. Starts at $129
Whopper Hopper - Hopper pattern with serious clout starting at $129.
Magnum Mayfly - Available in several basic colors starting at $89.
King Salmon Fly - Every one is a unique work of art. Starting at $249.
Discounts available on multiple orders or combination sets mounted on one base. Shipping, handling and insurance is a flat $19 per order, so order more than one and save!
Presentation sets, trophies, special orders, and deluxe patterns are available. Please contact us for design ideas, pricing and availability.


text:
By Jim GaramoneAmerican Forces Press Service
EL-OMAYID, Egypt, Oct. 26, 1999 Iraqi leader Saddam Hussein should pay attention to what the Bright Star exercises here represent, said Defense Secretary William S. Cohen during a press conference Oct. 22.
Cohen traveled here to view an amphibious assault demonstration that kicked off Bright Star exercises. This year's exercise is the largest in the U.S. Central Command region since the Persian Gulf War. About 78,000 service members from 11 nations are taking part.
"Saddam Hussein remains an outlaw in his own neighborhood," said Cohen. "Over his horizon, he should see that Bright Star demonstrates that the countries of the region, backed by the United States, Britain and other European allies, have a different version of the future."
Cohen said the coalition participating in Bright Star is building a long-term relationship "that will provide the security that our people want and the stability that they deserve." He said Bright Star is more than an exercise, that it is a statement the coalition is getting stronger.
"This is a group of nations with leaders interested in building prosperity for their people, not palaces for their cronies," Cohen said. Still, the exercise is not a prelude to operations against Iraq, as Iraqi government spokesmen have said.
"We are training for the purpose of maintaining readiness, interoperability and to prepare for any contingency for the future," Cohen said.
Much of Bright Star, which ends Nov. 2, focuses on aspects of interoperability, which is more than just having the same military equipment, Cohen said. It means, he said, understanding how your allies operate -- their tactics and techniques, their behavior under stress, the way they plan.
"All that builds a web not only of friendships, but of interoperability," he said. "It's essential to deter aggression from wherever it might come."
Earlier in the day, Cohen met with Egyptian President Hosni Mubarak. Cohen said they discussed Iraq, Iran and the Cooperative Defense Initiative.
Cohen said the United States would welcome better relations with Iran, but there are three preconditions. First, the Iranians must stop their weapons of mass destruction program. Second, they must stop subverting the Middle East peace process. Finally, it must stop supporting terrorism.
The secretary is winding down a nine-day trip through the Middle East. He visited Bahrain, Qatar and the United Arab Emirates before coming to Egypt. He will move on to Kuwait, Jordan, Oman and finishes in Israel.


text:
Euroleague: Home Of The Basketball Tifo
Send stories, photos, and anything else you might have to email@example.com. »
Send stories, photos, and anything else you might have to email@example.com. »
FC Copenhagen played hated rivals Brøndby IF yesterday in the Danish League, and their fans were ON IT. They created a giant tifo for the spectacle, which wasn't a tifo so much as it was a movie, with a plot, moving parts, and real smoke. »
Defending Polish league champs Legia Warsaw were fined and forced to close down a stand for today's Champions League tie, after unspecified "racist behavior" at a match last month. Their fans responded with choreography and fire. »
The Seattle Sounders hosted the Portland Timbers last night, and it was no ordinary match. It was the nationally televised home debut of newest Sounder Clint Dempsey, and it was held in a sold-out CenturyLink Field. So the home faithful pulled out all the stops. »
Seattle dispatched rivals Portland 3-0 before a crowd of 66,452 at CenturyLink Field last night, retaining the Cascadia Cup in the Emerald City for at least a few more weeks and leading coach Sigi Schmid to respond, "This is what heaven must be like." »
While Portugal's Euro 2012 tune-up with Turkey didn't produce the expected result (Cristiano Ronaldo missed a penalty kick and Portugal lost 3-1) they can take pride in the display shown during "A Portuguesa," the Portuguese National Anthem. Thousands of tablet computers (possibly iPads, though it's difficult to… »
Spartak Moscow supporters, with an ingenuity far surpassing their maturity, rigged up a penis banner to mouth-sodomize the mascot of rival Zenit Saint Petersburg. I think the fact that it's bestiality precludes any accusations of homophobia. [Off The Post] »
We saw great photos of this on Dirty Tackle a couple days ago, but have been waiting for the video to emerge. And it is fantastic. »