You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

Reply
 
Thread Tools Display Modes
Old July 21st, 2021, 10:47 AM   #1
Steven01
Member
Czech_Republic

Steven01 is offline
 
Join Date: Oct 2015
Location: Prague
Posts: 19
Two PI controllers control the same process variable

Hello,

Let's say I have two PI controllers which control the same process variable y. The first PI controller (PI_1) uses action variable u_1 and the second one (PI_2) uses action variable u_2.

I would like to achieve a state when at first only the PI_1 influences the controlled variable y. In case the PI_1 alone is able to achieve y = y_set_point the PI_2 doesn't influence y. The PI_2 starts influence y (starts "helping" the PI_1) only in case the PI_1 alone isn't able to achieve y = y_set_point.

I have looked for some suitable control structure in the literature but it seems to me that neither the selector control nor the split range control are useful for my situation. Does anybody know a suitable control structure for my case?
  Reply With Quote
Old July 21st, 2021, 11:13 AM   #2
drbitboy
Lifetime Supporting Member
United States

drbitboy is online now
 
drbitboy's Avatar
 
Join Date: Dec 2019
Location: Rochester, NY
Posts: 3,082
Quote:
Originally Posted by Steven01 View Post
in case the PI_1 alone isn't able to achieve y = y_set_point.
Does this case happen because the PI_1 output runs out of capacity e.g. the output valve position is full open (or closed), or the output signal reaches 100% (or 0%)?

That is, what is the detectable condition that occurs when "PI_1 isn't able to achieve y = y_set_setpoint?"

Finally, why is split-range control not useful for this situation?
__________________
i) Take care of the bits, and the bytes will take care of themselves.
ii) There is no software problem that cannot be solved with another layer of indirection.

Last edited by drbitboy; July 21st, 2021 at 11:47 AM.
  Reply With Quote
Old July 21st, 2021, 12:28 PM   #3
Mickey
Lifetime Supporting Member
United States

Mickey is offline
 
Mickey's Avatar
 
Join Date: May 2003
Location: Palmdale,Ca
Posts: 10,488
A little more info. What is the process/ Temperature ,pressure,flow...

What are u_1 and u_2 (are theses valves or what?)

Can you describe the process better?
__________________
Mickey

If you want happiness for an hour-take a nap. If you want happiness for a day-go fishing. If you want happiness for a month-getmarried. If you want happiness for a year-inherit a fortune. If you want happiness for a lifetime-help someone else.
----- Chinese Proverb
  Reply With Quote
Old July 21st, 2021, 01:15 PM   #4
Steven01
Member
Czech_Republic

Steven01 is offline
 
Join Date: Oct 2015
Location: Prague
Posts: 19
The process variable y is the current of the three phase grid generated by the grid forming inverter. The u_1 is the magnitude of the grid voltage and u_2 is the frequency of the grid.
  Reply With Quote
Old July 21st, 2021, 01:29 PM   #5
Steven01
Member
Czech_Republic

Steven01 is offline
 
Join Date: Oct 2015
Location: Prague
Posts: 19
I am sorry. The statement "PI_1 isn't able to achieve y = y_set_setpoint" is probably a little bit misleading. Better speaking PI_1 is in saturation and this condition takes place for a "long" time. In these circumstances the PI_2 should start "helping" the PI_1.
  Reply With Quote
Old July 21st, 2021, 03:01 PM   #6
drbitboy
Lifetime Supporting Member
United States

drbitboy is online now
 
drbitboy's Avatar
 
Join Date: Dec 2019
Location: Rochester, NY
Posts: 3,082
Quote:
Originally Posted by Steven01 View Post
I am sorry. The statement "PI_1 isn't able to achieve y = y_set_setpoint" is probably a little bit misleading. Better speaking PI_1 is in saturation and this condition takes place for a "long" time. In these circumstances the PI_2 should start "helping" the PI_1.
And the difference between that desired behavior and split-range control, is the intent to have the PI_1 in saturation for that "long" time before PI_2 acts?

And presumably PI_2 should be in a "de-saturated" state for another "long" time before switching back to control from PI_1?

If that is the case, logic to watch PI_1 output to detect PI_1 saturation and measure its duration, and eventually disable PI_1 and enable PI_2, should be fairly straightforward to implement, as should be the reverse case. E.g.

Code:
VAR
    PI_1_TON: TON;
END_VAR
PI_1_TON(IN := PI_1_TON.Q OR PI_1.PV > PI_1.Setpoint) AND PI_1.Output=100
        ,PT := Long_time
        );
and then, when PI_1_TON.Q is 1, set PI_1 to Manual and PI_2 to Auto.


Similar logic for detecting a de-saturated PI_2 will reset/clear the PI_1_TON to set PI_1 to Auto and PI_2 to manual.


You may also have to fiddle with and/or think about bumpless transitions, reset windup, etc.


I still think split-range, perhaps with a negative overlap, would implement an equivalent result.
__________________
i) Take care of the bits, and the bytes will take care of themselves.
ii) There is no software problem that cannot be solved with another layer of indirection.

Last edited by drbitboy; July 21st, 2021 at 03:07 PM.
  Reply With Quote
Old July 21st, 2021, 04:48 PM   #7
Peter Nachtwey
Member
United States

Peter Nachtwey is online now
 
Peter Nachtwey's Avatar
 
Join Date: Apr 2002
Location: United Welfare States of America
Posts: 7,476
This should be easy. Don't enable PI_2 until PI_1 is saturated.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
Sanity CHeck - Process Control ASF LIVE PLC Questions And Answers 20 November 28th, 2018 10:06 PM
Calculating change-over-time for slow process variable ryangriggs LIVE PLC Questions And Answers 13 May 17th, 2018 11:10 AM
Process control Maintenance Man LIVE PLC Questions And Answers 3 April 7th, 2013 03:18 PM
Process Control Advice ceilingwalker LIVE PLC Questions And Answers 2 January 15th, 2011 12:05 PM
Dcs, Scada hasnoclue LIVE PLC Questions And Answers 15 April 11th, 2005 07:12 AM


All times are GMT -4. The time now is 11:20 PM.


.