9/7/2012 8:56 AM | |
Posts: 34 Rating: (1) |
Hi how LMN_I and LMN_D in FB41 is calculated ? best regards m.rafiee |
9/7/2012 9:15 AM | |
Joined: 1/3/2006 Last visit: 2/19/2024 Posts: 726 Rating: (71) |
Hi If you select FB41 and press F1, you will see that in help file they have explained that.
|
9/7/2012 10:47 AM | |
Joined: 1/28/2009 Last visit: 9/10/2024 Posts: 6849 Rating: (1365) |
Hello , To be more precise, reading online help of a function may not help to understand "How a component is calculated?" You may get some clues and with information on numerical calculation. For integration part, it should be like Riemann integral calculation and for differentiation part, you may need reading this topic: Numeric Methods to Solve ODEs(Ordinary Differential Equations ) But,Integration and differential parts are adopted to PID controller and a bit different from theory. Best regards Hamid Hosseini |
9/7/2012 10:50 AM | |
Posts: 34 Rating: (1) |
Hi I want a mathematical formula for LMN_I and LMN_D that uses the FB41. best regards m.rafiee |
9/7/2012 11:29 AM | |
Posts: 34 Rating: (1) |
Hi I want to know how to implement them ( integral action , derivative action with time lag ) in plc s7 300 . best regards mohsen rafiee |
9/7/2012 11:58 AM | |
Joined: 1/3/2006 Last visit: 2/19/2024 Posts: 726 Rating: (71) |
Understanding of formula is not required for succesful PID tuning but understanding of Process is. |
9/7/2012 2:33 PM | |
Joined: 1/28/2009 Last visit: 9/10/2024 Posts: 6849 Rating: (1365)
|
Hello , If you want to implement them by yourself,please check 1-following link on Riemann integration method: Riemann integral2- and the following SCL for a casual differentiator:"Casual Differentiator, as a part of PID controller" [code]FUNCTION_BLOCK FB2 //Y C*S //--=------------------------ //F A*S + B VAR_INPUT // Input Parameters F:REAL; A:REAL:=1.0; B:REAL:=1.0; C:REAL:=1.0; INTERVAL:TIME:=T#1S; END_VAR VAR_IN_OUT REST:BOOL:=FALSE; END_VAR VAR_OUTPUT // Output Parameters Y:REAL; END_VAR VAR_TEMP // Temporary Variables END_VAR VAR // Static Variables // FNEW:REAL:=0.0; FOLD:REAL:=0.0; YNEW:REAL:=0.0; YOLD:REAL:=0.0; DELTA:REAL:=0.0; T_INTERNAL:REAL:=1.0; END_VAR // Instruction Section T_INTERNAL := (DINT_TO_REAL(TIME_TO_DINT (INTERVAL)))/1000.0; IF REST=1 THEN YOLD:=0; YNEW:=0; Y:=0; REST:=0; ELSE DELTA:= (((C*(F- FOLD))/T_INTERNAL) - (B*YOLD))/A; YNEW := YOLD + ( DELTA* T_INTERNAL ); YOLD:=YNEW; FOLD:=F; Y:=YNEW ; END_IF; ; END_FUNCTION_BLOCK[/code] Also check E2.jpg for step response. Best regards Hamid Hosseini |
Follow us on