Instructions: You should watch out for the following:
1. Identifying a process to be controlled
1.1 Classifying processes to be controlled
A process to be controlled is distinguished by parameters such as heat output, heating mass, thermal capacity of the medium to be heated. With regard to the fuzzy closed-loop control, you distinguish between a "critical" and "non-critical" temperature control process as follows:
The closed-loop control becomes more critical
- the greater the heat output
- the greater the thermal capacity of the heating
- the smaller the thermal capacity of the medium to be heated
- the greater the heat transfer resistance and
- the smaller the heat transfer surface.
Figure 1: Jump response of the process to be controlled
After switching a manipulated value jump on the process, the process reacts with a jump response. You can take this jump response to classify the process. The closed-loop control becomes more critical the greater the ratio tu / ta and the greater the amplification of the process to be controlled.
With a tu / ta of < 1 / 10 you have a non-critical process.
1.2 Control behavior in different processes to be controlled
In the case of a "non-critical process", you don't have any problems, neither with the identification nor with the closed-loop control.
The identification of a process that is "too critical" is aborted.
The closed-loop control of an identified "critical" process is done very carefully and slowly.
1.3 Requirements for identification
Where possible you must ensure that the process has settled before making the identification (no heating up or cooling down) or changes slowly and monotonously. The criterion for this can be that the change in temperature over the period of one minute is to be approximated to a straight line. In the case of fast processes this requirement is particularly relevant.
Since when the identification is started the manipulated value null is output by the closed-loop control for about one minute, then the temperature to be controlled must be close to the ambient temperature.
1.4 Starting identification
To be able start the identification, first switch the controller to optimization mode. For this you set the FUZID_ON bit in the instance DB to the controller function block FB31, either from the user program or via the STEP-7 software in the hardware configuration FM355 ® Overview ... ® Test ® Open instance DB.
The identification is started by a positive setpoint value jump, whereby the following conditions must be fulfilled:
1. Minimum jump size:
SW jump > 1 .. 5 degrees
2. The setpoint value after the jump:
with SW limit = upper setpoint value limit of the controller.
There is also the option of restarting the identification by reducing and then enlarging the setpoint value. The setpoint value must fulfill condition 2 after enlarging.
1.5 Terminating identification
As long as the FUZID_ON flag is equal to 1 (true) there is a danger of starting the next identification with a setpoint value jump. For this reason it is recommended that, if you have nothing else planned, you switch off the optimization mode as soon as the identification is terminated.
1.6 Aborting identification
Identification can be aborted in the following cases:
- By the controller upon identification of a "critical" process. After abortion the controller is in error state. In this state the setpoint value is permanently reset by the controller. This doesn't change when you switch off the optimization. Starting a new identification deletes the error state.
- By the operator by generating a negative setpoint value jump whereby the setpoint value must fall below condition 2 specified in section 1.4.
Warning: switching off the optimization mode FUZID_ON=0 before identification has terminated does not stop identification. Once an identification has been started, it runs through under any circumstances (except in the case of a negative setpoint value jump).
2. Additional information on controller states
2.1 Sample program for receiving controller state information
|
// Reading the data records from FM355 for receiving the state information
// Channel 1 |
|
CALL "RD_REC" |
// Call of the SFC59 |
|
REQ :=TRUE |
// Release of the operation |
|
IOID :=B#16#54 |
// |
|
LADDR :=W#16#120 |
// Module address (e.g.288) |
|
RECNUM :=B#16#96 |
// Data record number channel 1 =0x96 (96h) |
|
RET_VAL :=MW150 |
// |
|
BUSY :=M152.0 |
// |
|
RECORD :=P#M 160.0 BYTE 24 |
// Memory area for the storing data
// selectable according to free memory |
|
L MW182 |
// Offset +22 in the data record contains
// controller state information |
The code for the other channels is to be implemented in the same way (the data record numbers are 96h, 97h, 98h and 99h corresponding to channels 1 to 4).
2.2 Description of the controller state information:
|
XAIF where |
|
X: no meaning (always 0) |
|
A: action number |
|
|
0 = Manual mode (no control mode). |
|
|
2 = Closed-loop control. |
|
|
4 = Optimization switched on (FUZID_ON = true). |
|
|
6 = Transition state from manual mode to 2 or 4. |
|
I: display of "identification running" and "Parameters specified but not yet stored in the EEPROM". |
|
|
0 = Identification is not running, no new parameters specified. |
|
|
1 = Identification is running, no new parameters specified. |
|
|
2 = Identification is not running, new parameters specified, but not yet stored in the EEPROM (0 = with FM455 C). |
|
|
3 = Identification is running, new parameters specified, but not yet stored in the EEPROM (not with FM455 C Version 1) |
|
F: error number |
|
|
0 = No errors
|
|
|
4 = Too great a jump of actual value during identification |
|
|
5 = Ratio of delay time to process time constant too great or strong non-linear behavior of the process. |
|
|
6 = Temperature drop or increase at start of identification too great.
Process not settled enough. |
|