TIA Portal and PID

tgoulding

Member
Join Date
Jan 2005
Posts
84
Not a Siemens head, but have an application where we are using TIA Portal V11 SP2. Need to add a very simple PID loop to control a fan speed which regulates the negative pressure in a glovebox. Have done this many times before using Allen-Bradley but having a problem in TIA Portal.
Created OB35 in the code and added 'CONT_C' into this block as a PI controller. Set the PID cycle to 100ms to equal OB35. Scaled 'PV_IN' and 'SP_INT' to 0-100% and added nominal values for the P and I settings. Attached tags for the 'MAN_ON' i.e. Auto/Manual and the 'MAN' i.e. Manual Out.
With the Setpoint at 50% and the PV reading low (i.e. 20%) the controller output i.e. 'LMN_PER' begins to rise until it eventually reaches 100% even though the PV approaches and rises above the Setpoint. If we organise for the PV to read high say 70% the opposite happens, that is the output continues to drop until it reaches 0% even though the PV has dropped below the setpoint. It appears as if the PID loop is only active by altering the setpoint between 49% and 51% to make the output go from 0% to 100% and vice versa.
No change by altering the action of the controller from direct to reverse (i.e. negative gain value). It appears to function correctly when switched to manual and a manual value input.
Have we left something out when setting this up or are we missing anything obvious?? Would appreciate any help or guidance on this.

Best Regards
 
Strange one..

Have you tried toggling COM_RST ON and then OFF to reset the PID?

Are you confident your scaling is 0-100%.

Have you set the PID limits LMN_HLM and LMH_LLM which are the PID clamps (0-100%) for the output.

Cant think of anything else right now

Cheers
 
Have you put a 'true' signal to enable the P and the I? Also a 'false' signal for the D.

Maybe post a screen shot of your FB41 block
 
Have you put a 'true' signal to enable the P and the I? Also a 'false' signal for the D.

Yes

Maybe post a screen shot of your FB41 block

Doesn't come in as a FB41, a 'CONT_C' function created in OB35 with instance of DB created within the function, this DB is not listed in the project tree. This is being created on TIA Portal V11 not Simatic Step 7 V5.5.
 
Thanks to all that replied, issue is now resolved. Appears to have been a scaling issue with the SP as previously suggested above. Went back to basics and recreated the loop ensuring both PV and SP scaled correctly. Tested using mA generator for PV and watch tables for generating SP (then scaled in code), viewing control output and changing PI values.
Once functioning correctly under test then applied directly to glovebox and worked as expected. Again thanks for help.
 

Similar Topics

Hi Guys, I'm setting up a PID control for S7-300 in TIA Portal using the CONT_C Block in cyclic interrupt OB35. My Analog output is taking 0-10V...
Replies
17
Views
5,009
Good Afternoon Everyone, I hope you can help me with a problem. I have been converting a program from a Micrologix 1400 over to a S7-1200 PLC and...
Replies
3
Views
5,319
Hi, i used a compact pid in my program. i am using s7 1500 cpu. i selected the pid mode automatic, selected the output and input type from the pid...
Replies
1
Views
1,322
Hello gentlemen, Im working on a small project on TIA Portal, about establishing a Modbus TCP connection between my ET200SP plc and a socomec...
Replies
10
Views
213
I am currently am in a PLC class and need urgent help on how the ladder logic would be laid out. I understand how to get the traffic lights to...
Replies
19
Views
386
Back
Top Bottom