Fb 41,43

manmeetvirdi

Member
Join Date
Oct 2004
Location
India.
Posts
750
Hi
well Iam using PID blocks of Simatic Manager FB41, FB43.
The manual of the PID says that FB 41 is called after every 2 seconds, and FB43
after every 10ms, whereas OB35 time is set to 10ms.
That means after 200 calls of FB 43, FB41 is called once.

Since my OB 35 is at 150ms,I am calling FB41 after every 10seconds from OB 35
(by iniliazing the counter and making it to count till 200)whereas FB43 is being
processed in the OB 35 itself.

For FB43 i have set the folowing values:

INV :=DB7.DBD60
PER_TM :=T#1S500MS (to make 10 pulses in this time)
P_B_TM :=T#1S
RATIOFAC:=1.000000e+000
STEP3_ON:=FALSE
ST2BI_ON:=FALSE
MAN_ON :=DB7.DBX64.4
POS_P_ON:=DB7.DBX64.5
NEG_P_ON:=
SYN_ON :=TRUE
COM_RST :=DB7.DBX64.0
CYCLE :=T#150MS (pulse duration)
QPOS_P :=M27.1
QNEG_P :=

and for FB 41:

COM_RST :=DB7.DBX24.0
MAN_ON :=DB7.DBX24.4
PVPER_ON:=FALSE
P_SEL :=TRUE
I_SEL :=TRUE
INT_HOLD:=FALSE
I_ITL_ON:=FALSE
D_SEL :=TRUE
CYCLE :=T#10S
SP_INT :=DB7.DBD4
PV_IN :=DB7.DBD0
PV_PER :=
MAN :=1.000000e+002
GAIN :=DB7.DBD8
TI :=DB7.DBD12
TD :=DB7.DBD16
LMN_HLM :=1.000000e+002
LMN_LLM :=0.000000e+000
PV_FAC :=1.000000e+000
LMN :=DB7.DBD20


Is this correct way?Is there any miss entries?

a)Problem is LMN value only starts changing once the temperature(through PT100)
reaches the set point, and because of which temperature always overshoot.
Why LMN value starts changing only after SP is reached, why not before it so as to prevent overshoot?

b)Also what Fb43 seems to be doing is that when LMN value is 100 then QPOS_P=M27.1
becomes true and when LMN value is 0 it becomes false.
This can be done using simple comparision function why to use FB43?
Or is that that it is producing the pulse output which Iam not able to see,obviously?



In my application I need to switch ON the heater through QPOS(M27.1) of FB 43
and when M27.1 is FALSE need to switch on the valve which will circulate the
chilled water to bring the temperature down.Temperature needs to be maintened around
65 degree celcius
 
manmeetvirdi said:
Hi
well Iam using PID blocks of Simatic Manager FB41, FB43.
The manual of the PID says that FB 41 is called after every 2 seconds, and FB43
after every 10ms, whereas OB35 time is set to 10ms.
That means after 200 calls of FB 43, FB41 is called once.

I'm totally unaware of this and doubt it's true.You need to place PID block in some cyclic interrupt block such as OB35. Default time is 100 ms and you can change it. FB 41 will be called in every cycle (unles you add some extra logic).
Please, read the STEP 7 manual carefully.
Also have a look at this, and do search the forum for FB41 and examples. You'll find a lot of information
 
Hi there
Well Document as indicated by Pandiani is available from:
http://support.automation.siemens.com/WW/view/en/1214574

Well in this document itself at section 27-27 Page:535 it has been mentioned exactly what I am refering to in post#1.

Dont know but now a days I do is exactly what Pandiani has mentioned.Call FB41,43 from OB35 and set the "cycle" of both these to 100MS.Dead band part !! Dont know.

Also if there are too many PID's then create one master FB and from there call FB41,43. Then simply call master FB from OB 35.
Just like mentioned by JasperMP in post#16 over here:
http://www.plctalk.net/qanda/showthread.php?t=8253&page=2&pp=15

Pandiani Iam in process of learning from your posts in PLCS.net about PID.Thanks.

Regards
Manmeet
 
Last edited:
Back
Top Bottom