My expection for the PID controls..
Thanks for your response.
In fact,I want to use the PID to control the Process Parameter("HMI_ANL".LT075.SCALED_INPUT) so that to match as close as possible to the Set Point ("HMI_PID".LV075.SETPOINT).This Process Parameter is physically affected by the PID Output Parameter ("HMI_PID".LV075.OUTPUT) in an Reverse-action relation, which means, Output Parameter increase, Process parameter will decrease.
Thus, in this control, I expect the PID will calculate the alogorithm based on the Set Point input and give suitable value (either to increase or to decrease) at the Output Parameter so as can control the Process Parameter to match the Set Point.
However, when I changed the Process Parameter in 2 ways (either to be > Set Point OR to be < Set Point), the PID seems to react only at one way, which is only increase the value of the Output Parameter.This is a fail control to the Process Parameter.
My STL code looks as below. But, in fact I use LAD to write the program.Please comment furhter about it...Anything I lack of in the configurations?Or anything??
Thanks......
A "HMI_PID".LV075.MANUAL_ON
= L 46.1
BLD 103
A "ALW_ON"
= L 46.2
BLD 103
A "ALW_ON"
= L 46.3
BLD 103
A "ALW_ON"
= L 46.4
BLD 103
A "ALW_OFF"
= L 46.7
BLD 103
A(
L "HMI_ANL".LT075.SCALED_INPUT
T #LT075W
SET
SAVE
CLR
A BR
)
JNB _002
CALL "CONT_C" , "PID_LV075"
COM_RST :=
MAN_ON :=L46.1
PVPER_ON:=L46.2
P_SEL :=L46.3
I_SEL :=L46.4
INT_HOLD:=
I_ITL_ON:=
D_SEL :=L46.7
CYCLE :=
SP_INT :="HMI_PID".LV075.SETPOINT
PV_IN :=#LT075W
PV_PER :=
MAN :="HMI_PID".LV075.MANUAL_OUTPUT
GAIN :="HMI_PID".LV075.GAIN
TI :="HMI_PID".LV075.INTEGRAL
TD :="HMI_PID".LV075.DERIVATIVE
TM_LAG :=
DEADB_W :=
LMN_HLM :="HMI_PID".LV075.UPPPER_CLAMP
LMN_LLM :="HMI_PID".LV075.LOWER_CLAMP
PV_FAC :=
PV_OFF :=
LMN_FAC :=1.000000e+000
LMN_OFF :=0.000000e+000
I_ITLVAL:=0.000000e+000
DISV :=
LMN :="HMI_PID".LV075.OUTPUT
LMN_PER :=
QLMN_HLM:=
QLMN_LLM:=
LMN_P :=
LMN_I :=
LMN_D :=
PV :=
ER :=
_002: NOP 0