Process control instructions
948
Part III FP Instructions
F356_Control_DUT
This data type, a DUT with overlapping elements (see page 53), is predefined in the FP Library and is used by
the function F356_PID_PWM (see page 945).
We recommend specifying the non-hold type area.
Identifier Description
w0 Since this is a DUT with overlapping elements, the BOOL members occupy the same
data areas as the WORD member w0. Therefore by using w0 you can
simultaneously access all bits.
b0_AT_Request
(bit 0)
When set, auto- tuning is requested. This bit is reset with the instruction
F356_PID_PWM when auto-tuning is complete. Reset this bit to cancel auto-tuning.
When not set, PID control will be executed.
b1_AT_Complete
(bit 1)
When set, auto-tuning has been completed successfully.
b2_HoldMV
(bit 2)
When set, the manipulated value output is held by switching F356_PID_PWM (see
page 945) from off to on.
b3_UseAnalogOutpu
tControl
(bit 3)
FALSE to use PWM control.
TRUE to use an analog output unit for output. In this case transmit the output value
(F356_Parameters_NonHold_DUT.MV) to WY of an analog output unit.
b4_UseReducedInter
nalOutputRange
(bit 4)
When FALSE, the maximum value of the internal output is the output upper limit
value +20% of the output range (output upper limit value - output lower limit value),
and the minimum value is the output lower limit value -20% of the output range.
When TRUE, the maximum value of the internal output is the output upper limit value,
and the minimum value is the output lower limit value.
The output upper limit value is specified by
F356_Parameters_NonHold_DUT.UpperLimit, and the output lower limit value is
specified by F356_Parameters_NonHold_DUT.LowerLimit.
Bits 5–F Are reserved and normally 0.
ST
When programming with structured text, enter the following:
(* Auto Tuning: *)
if DF(bStartAutoTuning) then
ControlData.b0_AT_Request:=TRUE;
end_if;
y_bPwmOutput:=F356_PID_PWM( Run := bRunPidControl,
Control := ControlData,
ParametersHold := ParametersHold,
ParametersNonHold := ParametersNonHold,
ProcessValue := x_iTemperatureInput);