Siemens, CONT_C, PID, TIA 15

learner

Lifetime Supporting Member
Join Date
Apr 2007
Location
British Columbia
Posts
81
Urgent, Commissioning deadline.

I am using CONT_C in a function block. I call the FB in a Cyclic Program (OB32). when the PID is in manual I can change the Block CV by entering a manual value of 0-100%. The problem is starts when I put the loop in Automatic. It is a simple Flow control loop. As soon as I put the loop in Automatic, the loop becomes very unstable. Proportional gain is 0.1, Ti is 0 ms, PV_FAC=1. Derivative is also 0. SP=1100, PV (0-1800).

My Question: Why is this loop become so unstable with such a very small gain? Is this because my SP and PV can only be between (-100 to 100 %)? Does it have anything to do with PV_FAC?

Thank you in advance
 
If the integral part of the controller is enabled with I_SEL = true, then it's always active.
When you set the parameter TI to T#0s, then internally the parameter is limited to a minimum value of 0.5 * Cycle. So the integral effect is on maximum with your settings. No wonder when it's unstable.
 
Thank you, so in this case I will disable the ISEL and see what happens. So you don't think it has anything to do with the fact that my setpoint and PV are in 1800 ranges and not (-100 to 100 %) ? I should also mention that my CV is scaled to be 0 to 100 to control a VFD.
 
Thank you, so in this case I will disable the ISEL and see what happens. So you don't think it has anything to do with the fact that my setpoint and PV are in 1800 ranges and not (-100 to 100 %) ? I should also mention that my CV is scaled to be 0 to 100 to control a VFD.

If you set I_SEL and D_SEL to false you have a P only controller. For flow control I guess you'll need a PI controller. You can increase TI from your 0s to 20s for example (default value). Remember if you increase TI the integral part changes slower on error.

But without knowing what time parameters your process you want to contol has, it's not possible to give you the PID parameters.
 
The thing that bothers me is that in the help file it is indicating that SP and PV range is (-100 to 100%). Does this simply mean for values out of this range I have to scale my SP and PV?
 
SP or PV aren't limited. If you are using for PV the peripheral input PV_PER, then it's scaled to 0..100 %, and then you need to scale your SP also to percentage.

The CV output (LMN) is limited to LMN_LLM and LMN_HLM, the default values are 0 and 100.

For your example with SP = 1000 and P-only controller with gain of 0.1, then when PV is 500, LMN will go to (SP-PV*gain) = (1000 - 500) * 0.1 = 50.
 
Thanks. Today, I got to simulate it with the simulation block I made for my analog inputs scaled values. It seems like, since the PV and SP are in 2000's range, any error more than 200 gets interpreted to almost 100% of CV. even if i turn the P really low, (0.05) ish it either cannot reach the setpoint or if I go with higher gains it becomes unstable. I am going to do is to Scale my SP and PV to 0-100. in this case I can have a better control over it. please let me know if you have any other opinion.
 
Thanks. Today, I got to simulate it with the simulation block I made for my analog inputs scaled values. It seems like, since the PV and SP are in 2000's range, any error more than 200 gets interpreted to almost 100% of CV. even if i turn the P really low, (0.05) ish it either cannot reach the setpoint or if I go with higher gains it becomes unstable. I am going to do is to Scale my SP and PV to 0-100. in this case I can have a better control over it.

It makes no difference if you scale PV and SP scale from 2000 down to percentage. Then you would need to increase the gain by the same factor.

With only P_SEL on true, with Gain of 0.05 you get on an error of a LMN of 10 and not 100.
LMN := (SP_INT - PV) * Gain

With example values:
LMN := (1800 - 1600) * 0.05 := 10.0

When you scale down PV and SP by dividing by 20, then you'd need to multiply gain by 20 to get the same result.

Unscaled:
SP := 1800
PV := 1600

Scaled to % (2000 = 100 %):
SP := 1800 / 20 = 90
PV := 1600 / 20 = 80

Gain := 0.05 * 20 = 1

LMN := (90 - 80) * 1 := 10.0
 

Similar Topics

Hello I am trying to understand the operation and all the parameters required for setting up the FB 41 block, I have read the Siemens...
Replies
5
Views
3,911
Good morning fellow sea captains and wizards, I am being asked to do the above and obtain 4 values from each slave, I know about the MRX and MWX...
Replies
20
Views
126
Hi everyone, I am an omron plc tec , lately I came across a siemens s7 200 cn plc . Can someone help me regarding the software required and...
Replies
26
Views
453
This is the first time I am working with Simatic Manager Step7 as I started my siemens journey with TIA which is pretty easy and do a lot of stuff...
Replies
3
Views
112
Hi, I have PLC S7-1200 and switch XC-208 and Iam trying to implement this SNMP library: SIOS I am not sure, what I am doing wrong, but there is...
Replies
3
Views
117
Back
Top Bottom