This function is used to perform process control with the electric servo drives with or without copy position. It uses the loop controller’s digital output to generate 2 logic outputs, RAISE and LOWER.
When this function uses the copy position, it performs a loop control of the actuator position. When the copy position is not used, the loop controller and the associated servo function perform a floating point process control.
If the servo function is used, the loop controller output scale must be (0, 100).
Input Parameters:
Parameter
|
Symbol
|
Type
|
Thresholds
|
Default Value
|
R/W
|
Command Value
|
OUT_MAN
|
REAL
|
0.0 / 100.0
|
/
|
R
|
Command value (*)
|
OUTi
|
REAL
|
0.0 / 100.0
|
/
|
R
|
Upper Stop
|
/
|
EBOOL
|
/
|
/
|
R
|
Lower Stop
|
/
|
EBOOL
|
/
|
/
|
R
|
Copy position
|
/
|
REAL
|
0.0 / 3.4E38
|
/
|
R
|
Command variation value
|
OUTD
|
REAL
|
-100.0 / 100.0
|
/
|
R
|
(*) Hot/Cold or Split Range case
Internal Parameters:
Parameter
|
Symbol
|
Type
|
Thresholds
|
Default Value
|
R/W
|
Opening time (s)
|
T_MOTORi
|
REAL
|
0.0 / 3.4E38
|
10.0
|
R/W
|
Minimum time (s)
|
T_MINIi
|
REAL
|
0.0 / 3.4E38
|
0.0
|
R/W
|
Output Parameters:
Parameter
|
Symbol
|
Type
|
Thresholds
|
Default Value
|
R/W
|
Open command status
|
STS_RAISEi
|
EBOOL
|
/
|
/
|
R
|
Close command status
|
STS_LOWERi
|
EBOOL
|
/
|
/
|
R
|
Servo with Copy Position (RCPY)
The Servo function behaves in different manners depending on whether the copy position is used or not.
When the copy position is used, the Servo function generates a binary RAISE or LOWER command for each new OUT_MAN output value produced by the loop controller. The duration of this command is proportional to the deviation between the loop controller command and the copy position value, which then performs a loop control proportional to the actuator position.
NOTE: When the calculated period exceeds the loop sampling period (in automatic mode) or the task cycle time (in other operating modes), this is not stored for the next cycles.
Servo without Copy Position
If copy position is not used, the Servo function generates a binary RAISE or LOWER command for each new command variation value produced by the loop controller. The duration of this command is proportional to the output variation from the OUTD loop controller.
NOTE: When the calculated period exceeds the loop sampling period (in automatic mode) or the task cycle time (in other operating modes), the remaining application period is added onto the new period calculation. This enables it to be processed on several cycles.
The Servo function associated to the loop controller is used to perform a floating point process control. The algorithm does not use the loop controller’s absolute output, but the output variation. The RAISE output (or LOWER, depending on the variation sign) is set at 1 for a length of time proportional to the valve opening time (T_MOTOR) and the OUTD variation value.
The pulse period (T_IMP) to be applied to the output is calculated with the following principle:
-
An initial theoretical value is given by the formula:
T_IMP = (OUT_MAN - RCPY) (%) x T_MOTOR (with copy position)
T_IMP = (T_IMP + OUTD) (%) x T_MOTOR (without copy position)
-
In order not to generate pulses that are too short, pulses are limited to a minimum time period T_MINI.
-
When the pulse time calculation gives a value less than T_MINI, the Servo function does not generate a pulse but stores the value for the next calculation. This enables correct processing where the output variations of a loop controller are insignificant but lasting.
-
Without copy position, it is advisable to connect and use position stops in order to prevent the algorithm from becoming saturated.
T_MOTOR actuator opening time enables the function to adapt to different servo drives.
Pulse time to be applied to RAISE or LOWER is proportional to the full scale actuator opening time.
The minimum pulse period T_MINI is used to avoid generating pulses that are too short, and generally harmful to actuators.
When the calculated pulse time to be applied to RAISE or LOWER is less than T_MINI, the function does not generate a pulse. In all cases, every pulse started lasts for at least the T_MINI period.
When position stop is reached, the RAISE and LOWER outputs are set to 0. The algorithm no longer takes into account the actions going in the direction of the stop.
The system indicates a processing error in the following cases:
In any case, the error is considered to be critical. The loop output is frozen, while errors are signaled in the status words.
If T_MOTOR and T_MINI time parameters are negative, their value is forced to 0.0.
When the loop controller is in manual mode, its OUT_MAN output also controls the Servo function outputs.