Two PI controllers control the same process variable

Steven01

Member
Join Date
Oct 2015
Location
Prague
Posts
25
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?
 
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?
 
Last edited:
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?
 
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.
 
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.
 
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([B]IN [/B]:= PI_1_TON.Q OR PI_1.PV > PI_1.Setpoint) AND PI_1.Output=100
        ,[B]PT [/B]:= 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.
 
Last edited:

Similar Topics

We have a small plastic parts oven (SP at 210F). It used to have an old bimetal temperature regulator. We are upgrading it using two temperature...
Replies
7
Views
1,499
I am looking for a PID Controller that can do Time Proportion Control (Pulse actuator with 25 Sec open close time). I have used a RedLion PXU for...
Replies
2
Views
1,820
I don't have much experience with Control Logix Controllers and I understand they can be programmed with a structured text language. My question...
Replies
5
Views
1,967
Hello, I have a pair of redundant 1756-L71 controllers rev 24. These controllers currently have produced and consumed tag interfaces to 3 other...
Replies
2
Views
99
Hello Friends I have a backup that I am trying t open in mi PC (RSLogix 17.01) and I get this message. I have read many posts and done many...
Replies
1
Views
135
Back
Top Bottom