STEP 7 PID Temperature Control

Download as pdf or txt
Download as pdf or txt
You are on page 1of 104
At a glance
Powered by AI
The manual discusses PID temperature controller blocks from the Siemens Standard Library and provides information on tuning the controllers and setting their parameters through the user interface.

This manual is intended to support users working with temperature controller blocks from the Siemens Standard Library. It aims to familiarize users with the functions of the controller blocks and how to tune the controllers and set their parameters.

This manual discusses the FB 58 "TCONT_CP" continuous temperature controller block and the FB 59 "TCONT_S" temperature step controller block from the Siemens Standard Library.

26.11.

2001
19.11.2001
19.11.2001

Preface, Contents

Introduction 1
Continuous Temperature
SIMATIC Controller FB 58 "TCONT_CP" 2
Controller Tuning in FB 58
"TCONT_CP" 3
PID Temperature Control Temperature Step Controller
4
FB59 "TCONT_S"

Getting Started 5
Manual Examples for the Temperature
Controllers 6

Appendix A

Abbreviations and Acronyms B


Index

Edition 11/2001
A5E00125039-01
26.11.2001
19.11.2001
19.11.2001

Safety Guidelines

This manual contains notices intended to ensure personal safety, as well as to protect the products and
connected equipment against damage. These notices are highlighted by the symbols shown below and
graded according to severity by the following texts:

Danger
! indicates that death, severe personal injury or substantial property damage will result if proper
precautions are not taken.

Warning
! indicates that death, severe personal injury or substantial property damage can result if proper
precautions are not taken.

Caution
! indicates that minor personal injury can result if proper precautions are not taken.

Caution
indicates that property damage can result if proper precautions are not taken.

Notice
draws your attention to particularly important information on the product, handling the product, or to a
particular part of the documentation.

Qualified Personnel

Only qualified personnel should be allowed to install and work on this equipment. Qualified persons are
defined as persons who are authorized to commission, to ground and to tag circuits, equipment, and
systems in accordance with established safety practices and standards.

Correct Usage

Note the following:

Warning
! This device and its components may only be used for the applications described in the catalog or the
technical description, and only in connection with devices or components from other manufacturers
which have been approved or recommended by Siemens.

This product can only function correctly and safely if it is transported, stored, set up, and installed
correctly, and operated and maintained as recommended.

Trademarks
SIMATIC®, SIMATIC HMI® and SIMATIC NET® are registered trademarks of SIEMENS AG.

Third parties using for their own purposes any other names in this document which refer to trademarks might
infringe upon the rights of the trademark owners.

Copyright © Siemens AG 2001 All rights reserved Disclaimer of Liability


The reproduction, transmission or use of this document or its We have checked the contents of this manual for agreement with
contents is not permitted without express written authority. the hardware and software described. Since deviations cannot be
Offenders will be liable for damages. All rights, including rights precluded entirely, we cannot guarantee full agreement. However,
created by patent grant or registration of a utility model or design, the data in this manual are reviewed regularly and any necessary
are reserved. corrections included in subsequent editions. Suggestions for
improvement are welcomed.

Siemens AG
Bereich Automatisierungs- und Antriebstechnik
Geschaeftsgebiet Industrie-Automatisierungssysteme ©Siemens AG 2001
Postfach 4848, D- 90327 Nuernberg Technical data subject to change.
Siemens Aktiengesellschaft A5E00125039
26.11.2001
19.11.2001
19.11.2001

Preface

Purpose of the Manual


This manual supports you when you work with the temperature controller block
from the Standard Library > PID Control. It will familiarize you with the functions
of the controller blocks and, in particular, with tuning the controller and working with
the user interface in which you set the parameters for the blocks. There is an online
help system for both the blocks and the user interface that supports you when
setting the parameters of the blocks.
This manual is intended for qualified personnel involved in programming,
configuration, commissioning, and servicing of programmable controllers.
We recommend that you spend some time studying the "Examples of Temperature
Controllers" in Chapter 6. These examples will help you to understand the
application of temperature controllers quickly and simply.

Basic Knowledge Required


To understand this manual, you should be familiar with automation engineering
and know the basics of closed-loop control.
You should also be familiar with using computers or similar tools (for example
programming devices) with the Windows 95/98/NT/2000 or Me operating system.
Since PID Temperature Control is used in conjunction with the STEP 7 basic
software, you should be familiar with working with the basic software as described
in the "Programming with STEP 7 V5.1" manual.

Scope of the Manual


This manual applies to the temperature controllers of the Standard Library > PID
Control of the STEP 7 programming software, Version V5.1 Service Pack 3 and
higher.

PID Temperature Control


A5E00125039-01 iii
26.11.2001
19.11.2001
19.11.2001

Preface

STEP 7 Documentation Packages


This manual is part of the STEP 7 Basic Information documentation package.

Manuals Purpose Order Number


STEP 7 Basic Information with Basic information for technical 6ES7810-4CA05-8BA0
• Working with STEP 7 V5.1 personnel describing the
Getting Started methods of implementing
control tasks with STEP 7 and
• Programming with STEP 7
S7-300/400.
V5.1
• Configuring Hardware and
Communication
Connections,
STEP 7 V5.1
• From S5 to S7, Convertor
Manual
STEP 7 Reference with Provides reference information 6ES7810-4CA05-8BR0
• Ladder Logic (LAD) / and describes the programming
Function Block Diagram languages LAD, FBD, and STL
(FBD) / Statement List and standard and system
(STL) for S7-300/400 functions extending the scope
manuals of STEP 7 basic information.
• Standard and System
Functions for
S7-300/400
Elect. manual This manual describes the Part of the STEP 7
• PID Temperature Control temperature controllers of the software package
Standard Library > PID Control.

Online Help Systems Purpose Order Number


Help on STEP 7 Basic information on Part of the STEP 7
programming and configuring software package
hardware with STEP 7 in the
form of an online help.
Reference help systems for Context-sensitive reference Part of the STEP 7
• LAD/FBD/STL information software package
• SFBs/SFCs
• Organization blocks
• PID Temperature Control

Further Closed-Loop Control Products in SIMATIC S7


• SIMATIC S7 User Manuals: Standard PID Control, Modular PID Control,
PID Self-Tuner, FM355/455 PID Control
• Jürgen Müller, "Regeln mit SIMATIC - Praxisbuch für Regelungen mit
SIMATIC S7 und PCS7" published by MCI Publicis Verlag
ISBN 3-89578-147-9 (German only)

PID Temperature Control


iv A5E00125039-01
26.11.2001
19.11.2001
19.11.2001

Preface

Further Support
If you have questions about using the products described in the manual and you
cannot find the answers here, please contact your local Siemens representative.
http://www.ad.siemens.de/partner

Training Centers
Courses are available to help you become familiar with the SIMATIC S7
automation system and programmable controllers. Please contact your regional
training center or the central training center in D 90327 Nuremberg.
Phone: +49 (911) 895-3200.
http://www.sitrain.com

SIMATIC Documentation on the Internet


Documentation is available free of charge on the Internet at:
http://www.ad.siemens.de/support
Here, you can use the Knowledge Manager to locate the documentation you
require quickly. If you have questions or suggestions regarding the documentation,
a "Documentation" conference is available in the Internet Forum.

PID Temperature Control


A5E00125039-01 v
26.11.2001
19.11.2001
19.11.2001

Preface

Automation and Drives, Service & Support


Open round the clock, worldwide:

Nuremberg
Johnson City

Singapore

SIMATIC Hotline

Worldwide (Nuremberg) Worldwide (Nuremberg)


Technical Support Technical Support
(FreeContact) (charged, only with SIMATIC Card)
Local time: Mo.–Fr. 7:00 to 17:00
Phone: +49 (180) 5050–222 Local time: Mo.–Fr. 0:00 to 24:00
Fax: +49 (180) 5050–223 Phone: +49 (911) 895–7777
E–mail: techsupport@ Fax: +49 (911) 895–7001
ad.siemens.de GMT: +1:00
GMT: +1:00
Europe / Africa (Nuremberg) America (Johnson City) Asia / Australia (Singapore)
Authorization Technical Support and Technical Support and
Local time: Mo.–Fr. 7:00 to 17:00 Authorization Authorization
Phone: +49 (911) 895–7200 Local time: Mo.–Fr. 8:00 to 19:00 Local time: Mo.–Fr. 8:30 to 17:30
Fax: +49 (911) 895–7201 Phone: +1 423 461–2522 Phone: +65 740–7000
E–Mail: authorization@ Fax: +1 423 461–2289 Fax: +65 740–7001
nbgm.siemens.de E–mail: simatic.hotline@ E–mail: simatic.hotline@
GMT: +1:00 sea.siemens.com sae.siemens.com.sg
GMT: -5:00 GMT: +8:00
English and German are spoken on all hotlines. On the authorization hotline, French, Italian and Spanish are also
spoken.

PID Temperature Control


vi A5E00125039-01
26.11.2001
19.11.2001
19.11.2001

Preface

Service & Support on the Internet


In addition to our documentation services, you can also make use of all our
knowledge on the Internet.
http://www.ad.siemens.de/support
Here, you will find:
• Up-to-date product information (Updates), FAQs (Frequently Asked
Questions), Downloads, Tips and Tricks.
• The Newsletter keeps you constantly up to date with the latest information on
the products you use.
• The Knowledge Manager will find the documents you need.
• In the Forum, users and specialists exchange information and experience.
• You can find your local contact for Automation & Drives in our contacts
database.
• Information on local service, repair, spares and much more is available to you
under the rubric "Service".

PID Temperature Control


A5E00125039-01 vii
26.11.2001
19.11.2001
19.11.2001

Preface

PID Temperature Control


viii A5E00125039-01
26.11.2001
19.11.2001
19.11.2001

Contents

1 Introduction
1.1 FB 58 "TCONT_CP"..........................................................................................1-3
1.2 FB59 "TCONT_S" .............................................................................................1-4
2 Continuous Temperature Controller FB 58 "TCONT_CP"
2.1 Controller Section..............................................................................................2-1
2.1.1 Forming the Error ..............................................................................................2-1
2.1.2 PID Algorithm ....................................................................................................2-4
2.1.3 Calculating the Manipulated Variable ...............................................................2-6
2.1.4 Saving and Reloading Controller Parameters...................................................2-9
2.2 Pulse Generator PULSEGEN (PULSE_ON)...................................................2-11
2.3 Block Diagram .................................................................................................2-13
2.4 Including the Function Block in the User Program..........................................2-14
2.4.1 Calling the Controller Block.............................................................................2-14
2.4.2 Call without Pulse Generator (continuous controller) .....................................2-15
2.4.3 Call with Pulse Generator (pulse controller) ...................................................2-15
2.4.4 Initialization......................................................................................................2-18
3 Controller Tuning in FB 58 "TCONT_CP"
3.1 Introduction........................................................................................................3-1
3.2 Process Types...................................................................................................3-2
3.3 Area of Application ............................................................................................3-3
3.4 The Phases of Controller Tuning ......................................................................3-4
3.5 Preparations ......................................................................................................3-6
3.6 Starting Tuning (Phase 1 -> 2)..........................................................................3-8
3.7 Searching for the Point of Inflection (Phase 2) and Calculating the Control
Parameters (Phase 3, 4, 5) .............................................................................3-10
3.8 Checking the Process Type (Phase 7) ...........................................................3-10
3.9 Result of the Tuning ........................................................................................3-11
3.10 Tuning Stopped by the Operator.....................................................................3-11
3.11 Error Situations and Remedies .......................................................................3-12
3.12 Manual Fine Tuning in Control Mode..............................................................3-16
3.13 Parallel Tuning of Control Channels ...............................................................3-18
4 Temperature Step Controller FB59 "TCONT_S"
4.1 Controller Section..............................................................................................4-1
4.1.1 Forming the Error ..............................................................................................4-1
4.1.2 PI Step Controller Algorithm..............................................................................4-4
4.2 Block Diagram ...................................................................................................4-5
4.3 Including the Function Block in the User Program............................................4-6
4.3.1 Calling the Controller Block...............................................................................4-6
4.3.2 Sampling Time ..................................................................................................4-7
4.3.3 Initialization........................................................................................................4-7

PID Temperature Control


A5E00125039-01 ix
26.11.2001
19.11.2001
19.11.2001

Contents

5 Getting Started

6 Examples for the Temperature Controllers


6.1 Introduction........................................................................................................6-1
6.2 Example with FB 58 "TCONT_CP" (pulse control) ...........................................6-2
6.3 Samples for FB 58 "TCONT_CP" with Short Pulse Generator
Sampling Time ..................................................................................................6-6
6.4 Sample for FB 58 "TCONT_CP" (Continuous) .................................................6-7
6.5 Sample for FB 59 "TCONT_S" (Step Controller) ............................................6-11
A Appendix
A.1 Technical Specifications................................................................................... A-1
A.2 Execution Times............................................................................................... A-1
A.3 DB Assignment................................................................................................. A-2
A.3.1 Instance DB for FB 58 "TCONT_CP"............................................................... A-2
A.3.2 Instance DB for FB 59 "TCONT_S" ............................................................... A-13
A.4 List of Possible Messages during Tuning ...................................................... A-17
B Abbreviations and Acronyms

Index

PID Temperature Control


x A5E00125039-01
1 Introduction

Product Structure of "PID Temperature Control"

PID Temperature Control


S7-300/400

Function blocks Parameter assign.


Parameter
FB58 "TCONT_CP " assignment Examples Electronic Manual
FB59 "TCONT_S " User interface

Online help

After you have installed STEP 7, the various parts of STEP 7 PID Temperature
Control are located in the following folders:
• SIEMENS\STEP7\S7LIBS\: FBs
• SIEMENS\STEP7\S7WRT\: parameter assignment user interface, readme,
online help
• SIEMENS\STEP7\EXAMPLES\: sample programs
• SIEMENS\STEP7\MANUAL\: manual

PID Temperature Control


A5E00125039-01 1-1
Introduction

Function Blocks
The "Standard Library PID Control" contains two temperature controllers:
1. FB 58 "TCONT_CP":
Temperature controller for actuators with a continuous or pulsed input signal.
This controller block also includes a self-tuning function for the PI/PID
parameters.
2. FB 59 "TCONT_S":
Temperature step controller for actuators with an integral component such as a
positioning motor.
The control blocks are purely software controllers in which a block includes the
entire functionality of the controller. The data required for cyclic calculation are
stored in the corresponding instance data blocks.

Parameter Assignment User Interface


You set the parameters for the controller and tune it using the parameter
assignment user interface. The parameter settings are stored in the relevant
instance DB. You can start the parameter assignment user interface by double-
clicking on the relevant instance data block.

Online Help
You will find a description of the parameter assignment user interface and the
function blocks in the online help systems.

Opening the Readme File


The readme file contains the latest information on the software you have received.
You will find this file in the Windows Start menu.

PID Temperature Control


1-2 A5E00125039-01
Introduction

1.1 FB 58 "TCONT_CP"
FB 58 "TCONT_CP" is used to control temperature processes with continuous or
pulsed control signals. You can set parameters to enable or disable subfunctions of
the PID controller and adapt it to the process. These settings can be made simply
with the parameter assignment tool. You start this within a project by double-
clicking on the instance DB in the SIMATIC Manager. You can open the electronic
manual as follows:
Start > Simatic > Documentation > English > PID Temperature Control.

Application
The functionality is based on the PID control algorithm with additional functions for
temperature processes. The controller supplies analog manipulated values and
pulse-duration modulated actuating signals. The controller outputs signals to one
actuator; in other words, with one controller, you can either heat or cool but not
both.

Using the Controller in a Heating or Cooling Process


FB TCONT_CP can be used either purely for heating or purely for cooling. If you
use the block for cooling, GAIN must be assigned a negative value. This inversion
of the controller means that, for example if the temperature rises, the manipulated
variable LMN and with it the cooling effort is increased.

Outline of the Structure

PID Temperature controller


Setpoint • Control zone
Pulse generator Actuating signal
SP_INT Improved
QPULSE
control response
Manipulated variable
LMN

Process value
PV_PER Controller tuning
PV_IN PI/PID parameters
• Control zone width
Sampling time

PID Temperature Control


A5E00125039-01 1-3
Introduction

Description
Apart from the functions in the setpoint and process value branches, the FB
implements a complete PID temperature controller with a continuous and binary
manipulated variable output. To improve the control response with temperature
processes, the block includes a control zone and reduction of the P-action if there
is a setpoint step change.
The block can set the PI/PID parameters itself using the controller tuning function.

1.2 FB59 "TCONT_S"


FB59 "TCONT_S" is used to control technical temperature processes with binary
controller output signals for integrating actuators on the SIMATIC S7
programmable controllers. By setting parameters, subfunctions of the PI step
controller can be activated or deactivated and the controller adapted to the
process. These settings can be made simply in the parameter assignment user
interface. You start this within a project by double-clicking on the instance DB in the
SIMATIC Manager. You can open the electronic manual as follows:
Start > Simatic > Documentation > English > PID Temperature Control.

Application
The functionality is based on the PI control algorithm of the sampling controller.
This is supplemented by the functions for generating the binary output signal from
the analog actuating signal.
You can also use the controller in a cascade control as a secondary position
controller. You specify the actuator position via the setpoint input SP_INT. In this
case, you must set the process value input and the parameter TI (integral time) to
zero. An application might be, for example, temperature control with heating power
control using pulse-break activation and cooling control using a butterfly valve. To
close the valve completely, the manipulated variable (ER*GAIN) should be
negative.

Description
Apart from the functions in the process variable branch, FB 59 "TCONT_S"
implements a complete PI controller with binary manipulated value output and the
option of influencing the controller output signals manually. The step controller
operates without a position feedback signal.

PID Temperature Control


1-4 A5E00125039-01
2 Continuous Temperature Controller FB 58
"TCONT_CP"

2.1 Controller Section

2.1.1 Forming the Error

The schematic below is a block diagram illustrating how the error is formed:

SP_INT

PVPER_ON
PV_IN DEADBAND

0 +
CRP_IN PV_NORM ER
0
*0,1 C
0
*0,01 C 1 DEADB_W
PV_PER
%
PV
PER_MODE PV_FAC,
PV_OFFS
Parameter assignment user interface
FB call interface
Parameter assignment u ser interface, FB call interface

Setpoint Branch
The setpoint is entered at input SP_INT in floating-point format as a physical value
or percentage. The setpoint and process value used to form the error must have
the same unit.

PID Temperature Control


A5E00125039-01 2-1
Continuous Temperature Controller FB 58 "TCONT_CP"

Process Value Options (PVPER_ON)


Depending on PVPER_ON, the process value can be acquired in the peripheral
(I/O) or floating-point format.

PVPER_ON Process Value Input


TRUE The process value is read in via the analog peripheral I/Os (PIW
xxx) at input PV_PER.
FALSE The process value is acquired in floating-point format at input
PV_IN.

Process Value Format Conversion CRP_IN (PER_MODE)


The CRP_IN function converts the peripheral value PV_PER to a floating-point
format depending on the switch PER_MODE according to the following rules:

PER_MODE Output of Analog Input Type Unit


CRP_IN
0 PV_PER * 0.1 Thermoelements; PT100/NI100; standard °C; °F
1 PV_PER * 0.01 PT100/NI100; climate; °C; °F
2 PV_PER * Voltage/current %
100/27648

Process Value Normalization PV_NORM (PF_FAC, PV_OFFS)


The PV_NORM function calculates the output of CRP_IN according to the following
rule:
"Output of PV_NORM" = "Output of CPR_IN" * PV_FAC + PV_OFFS
It can be used for the following purposes:
• Process value correction with PV_FAC as the process value factor and
PV_OFFS as the process value offset.
• Normalization of temperature to percentage
You want to enter the setpoint as a percentage and must now convert the
measured temperature value to a percentage.
• Normalization of percentage to temperature
You want to enter the setpoint in the physical temperature unit and must now
convert the measured voltage/current value to a temperature.
Calculation of the parameters:
• PV_FAC = range of PV_NORM/range of CRP_IN;
• PV_OFFS = LL(PV_NORM) - PV_FAC * LL(CRP_IN);
where LL is the lower limit

PID Temperature Control


2-2 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

With the default values (PV_FAC = 1.0 and PV_OFFS = 0.0), normalization is
disabled. The effective process value is output at the PV output.

Note
With pulse control, the process value must be transferred to the block in the fast
pulse call (reason: mean value filtering). Otherwise, the control quality can
deteriorate.

Example of Process Value Normalization


If you want to enter the setpoint as a percentage, and you have a temperature
range of -20 to 85 °C applied to CRP_IN, you must normalize the temperature
range as a percentage.
The schematic below shows an example of adapting the temperature range
-20 to 85 °C to an internal scale of 0 to 100 %:

PV_NORM [%]
100

75

PV_FAC = 100/(85-(-20))
50 = 0.9524

25

PV_OFFS = 0-0.9524*(-20)
= 19.05
-20
20 40 60 80 85 CRP_IN [°c]

Forming the Error


The difference between the setpoint and process value is the error before the
deadband.
The setpoint and process value must exist in the same unit.

PID Temperature Control


A5E00125039-01 2-3
Continuous Temperature Controller FB 58 "TCONT_CP"

Deadband (DEADB_W)
To suppress a small constant oscillation due to the manipulated variable
quantization (for example in pulse duration modulation with PULSEGEN) a
deadband (DEADBAND) is applied to the error. If DEADB_W = 0.0, the deadband
is deactivated. The effective error is indicated by the ER parameter.

ER
ER = (SP_INT - PV) + DEAD_W ER = (SP_INT - PV) - DEAD_W

SP_INT - PV
DEADB_W

2.1.2 PID Algorithm

The schematic below is the block diagram of the PID algorithm:

LMN_P
SP_INT
f()

GAIN PFAC_SP DISV


INT LMN_Sum
X + +
INT_HPOS
INT_HNEG LMN_I
TI, I_ITL_ON,
ER I_ITLVAL
DIF

TD, D_F LMN_D

Parameter assignment user interface


FB call interface
Parameter assignment user interface, FB call interface

PID Temperature Control


2-4 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

PID Algorithm (GAIN, TI, TD, D_F)


The PID algorithm operates as a position algorithm. The proportional, integral
(INT), and derivative (DIF) actions are connected in parallel and can be activated
or deactivated individually. This allows P, PI, PD, and PID controllers to be
configured.
The controller tuning supports PI and PID controllers. Controller inversion is
implemented using a negative GAIN (cooling controller).
If you set TI and TD to 0.0, you obtain a pure P controller at the operating point.
The step response in the time range is:
−t
1
LMN_Sum(t) = GAIN * ER(0)(1 + * t + D_F * e TD/D_F )
TI
Where:
LMN_Sum(t) is the manipulated variable in automatic mode of the controller
ER (0) is the step change of the normalized error
GAIN is the controller gain
TI is the integral time
TD is the derivative time
D_F is the derivative factor

ER
LMN_Sum

GAIN * D_F * ER LMN_Sum(t)

GAIN * ER (0)
ER (t)
GAIN * ER (0)
t
TD / D_F

TI

PID Temperature Control


A5E00125039-01 2-5
Continuous Temperature Controller FB 58 "TCONT_CP"

Integrator (TI, I_ITL_ON, I_ITLVAL)


In the manual mode, it is corrected as follows: LMN_I = LMN - LMN_P - DISV.
If the manipulated variable is limited, the I-action is stopped. If the error moves the
I-action back in the direction of the manipulated variable range, the I-action is
enabled again.
The I-action is also modified by the following measures:
• The I-action of the controller is deactivated by TI = 0.0
• Weakening the P-action when setpoint changes occur
• Control zone
• Online modification of the manipulated value limits

Weakening the P-Action when Setpoint Changes Occur (PFAC_SP)


To prevent overshoot, you can weaken the P-action using the "proportional factor
for setpoint changes" parameter (PFAC_SP). Using PFAC_SP, you can select
continuously between 0.0 and 1.0 to decide the effect of the P-action when the
setpoint changes:
• PFAC_SP=1.0: P-action has full effect if the setpoint changes
• PFAC_SP=0.0: P-action has no effect if the setpoint changes
The weakening of the P-action is achieved by compensating the I-action.

Derivative action element (TD, D_F)


• The D-action of the controller is deactivated with TD = 0.0.
• If the D-action is active, the following relationship should apply:
TD • &<&/( 'B)

PID Temperature Control


2-6 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

Parameter Settings of a P or PD Controller with Operating Point


In the user interface, deactivate the I-action (TI = 0.0) and possible also the D-
action (TD = 0.0). Then make the following parameter settings:
• I_ITL_ON = TRUE
• I_ITLVAL = operating point;

Feedforward Control (DISV)


A feedforward variable can be added at the DISV input.

2.1.3 Calculating the Manipulated Variable

The schematic below is the block diagram of the manipulated variable calculation:

QLMN_HLM
QLMN_LLM
MAN MAN_ON LMN
CONZONE LMNLIMIT LMN_NORM
CRP_OUT
LMN_Sum 1

% LMN_PER
ER 0 LmnN
CONZ_ON, LMN_HLM LMN_FAC,
CON_ZONE LMN_LLM LMN_OFFS
PULSEGEN

Parameter assignment user interface


FB call interface
Parameter assignment user interface, FB call interface

Control Zone (CONZ_ON, CON_ZONE)


If CONZ_ON = TRUE, the controller operates with a control zone. This means that
the controller operates according to the following algorithm:
• If PV exceeds SP_INT by more than CON_ZONE, the value LMN_LLM is
output as the manipulated variable (controlled closed-loop).
• If PV falls below SP_INT by more than CON_ZONE, the value LMN_HLM is
output as the manipulated variable (controlled closed-loop).
• If PV is within the control zone (CON_ZONE), the manipulated variable takes
its value from the PID algorithm LMN_Sum (automatic closed-loop control).

Note
The changeover from controlled closed-loop to automatic closed-loop control
takes into account a hysteresis of 20% of the control zone.

PID Temperature Control


A5E00125039-01 2-7
Continuous Temperature Controller FB 58 "TCONT_CP"

Temperature

Do not heat with LMN = LMN_LLM

SP_INT + CON_ZONE

Upper control zone

SP_INT

Lower control zone

SP_INT - CON_ZONE

Heat with LMN = LMN_HLM


Time

Note
Before activating the control zone manually, make sure that the control zone
band is not too narrow. If the control zone band is too small, oscillations will occur
in the manipulated variable and process variable.

Advantage of the Control Zone


When the process value enters the control zone, the D-action causes an extremely
fast reduction of the manipulated variable. This means that the control zone is only
useful when the D-action is activated. Without a control zone, basically only the
reducing P-action would reduce the manipulated variable. The control zone leads
to faster settling without overshoot or undershoot if the output minimum or
maximum manipulated variable is a long way from the manipulated variable
required for the new operating point.

Manual Value Processing (MAN_ON, MAN)


You can switch over between manual and automatic operation. In the manual
mode, the manipulated variable is corrected to a manual value.
The integral action (INT) is set internally to LMN - LMN_P - DISV and the derivative
action (DIF) is set to 0 and synchronized internally. Switching over to automatic
mode is therefore bumpless.

Note
During tuning, the MAN_ON parameter is not effective.

PID Temperature Control


2-8 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

Manipulated Variable Limitation LMNLIMIT (LMN_HLM, LMN_LLM)


The value of the manipulated variable is limited to the LMN_HLM and LMN_LLM
limits by the LMNLIMIT function. If these limits are reached, this is indicated by the
message bits QLMN_HLM and QLMN_LLM.
If the manipulated variable is limited, the I-action is stopped. If the error moves the
I-action back in the direction of the manipulated variable range, the I-action is
enabled again.

Changing the Manipulated Variable Limits Online


If the range of the manipulated variable is reduced and the new unlimited value of
the manipulated variable is outside the limits, the I-action and therefore the value of
the manipulated variable shifts.
The manipulated variable is reduced by the same amount as the manipulated
variable limit changed. If the manipulated variable was unlimited prior to the
change, it is set exactly to the new limit (described here for the upper manipulated
variable limit).

Manipulated Variable Normalization LMN_NORM (LMN_FAC, LMN_OFFS)


The LMN_NORM function normalizes the manipulated variable according to the
following formula:
LMN = LmnN * LMN_FAC + LMN_OFFS
It can be used for the following purposes:
• Manipulated variable adaptation with LMN_FAC as manipulated variable factor
and LMN_OFFS manipulated variable offset
The value of the manipulated variable is also available in the peripheral format. The
CRP_OUT function converts the LMN floating-point value to a peripheral value
according to the following formula:
LMN_PER = LMN * 27648/100
With the default values (LMN_FAC = 1.0 and LMN_OFFS = 0.0), normalization is
disabled. The effective manipulated variable is output at output LMN.

PID Temperature Control


A5E00125039-01 2-9
Continuous Temperature Controller FB 58 "TCONT_CP"

2.1.4 Saving and Reloading Controller Parameters

The schematic below shows the block diagram:

MAN_ON
MAN_ON &
& SAVE_PAR UNDO_PAR
PID_ON LOAD_PID PFAC_SP,
PID_CON PFAC_SP,
1 GAIN, 0 0 GAIN,
0
GAIN, TI, TI,
PI_CON PAR_SAVE PAR_SAVE
TI, TD, 1 1 TD,
1
0 TD, D_F, D_F,
CONZONE CONZ_ON, CONZ_ON,
CONZONE CONZONE

Saving Controller Parameters SAVE_PAR


If the current parameter settings are usable, you can save them in a special
structure in the instance DB of FB 58 "TCONT_CP" prior to making a manual
change. If you tune the controller, the saved parameters are overwritten by the
values that were valid prior to tuning.
PFAC_SP, GAIN, TI, TD, D_F, CONZ_ON and CONZONE are written to the
PAR_SAVE structure.

Reloading Saved Controller Parameters UNDO_PAR


The last controller parameter settings you saved can be activated for the controller
again using this function (in manual mode only).

Changing Between PI and PID Parameters LOAD_PID (PID_ON)


Following tuning, the PI and PID parameters are stored in the PI_CON and
PID_CON structures. Depending on PID_ON, you can use LOAD_PID in the
manual mode to write the PI or PID parameters to the effective controller
parameters.

PID parameter PI parameter


PID_ON = TRUE PID_ON = FALSE
• GAIN = PID_CON.GAIN • GAIN = PI_CON.GAIN
• TI = PID_CON.TI • TI = PI_CON.TI
• TD = PID_CON.TD

PID Temperature Control


2-10 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

Note
• The controller parameters are only written back to the controller with
UNDO_PAR or LOAD_PID when the controller gain is not 0:
LOAD_PID copies the parameters only if the relevant GAIN is <> 0 (either of
the PI or PID parameters). This strategy takes into account the situation that
no tuning has yet been made or that PID parameters are missing. If
PID_ON = TRUE and PID.GAIN = FALSE were set, PID_ON will be set to
FALSE and the PI parameters copied.
• D_F, PFAC_SP are set to default values by the tuning. These can then be
modified by the user. LOAD_PID does not change these parameters.
• With LOAD_PID, the control zone is always recalculated
(CON_ZONE = 250/GAIN) even when CONZ_ON = FALSE is set.

PID Temperature Control


A5E00125039-01 2-11
Continuous Temperature Controller FB 58 "TCONT_CP"

2.2 Pulse Generator PULSEGEN (PULSE_ON)


The PULSEGEN function converts the analog manipulated variable value LmnN to
a train of pulses with the period PER_TM using pulse duration modulation.
PULSEGEN is activated with PULSE_ON=TRUE and is processed in the
CYCLE_P cycle.

100
(LmnN) 80

50
50
30

0 t

QPULSE
1

0 t

Cycle PULSEGEN = CYCLE_P


PER_TM

A manipulated variable value LmnN = 30 % and 10 PULSEGEN calls per PER_TM


therefore means the following:
• TRUE at output QPULSE for the first three PULSEGEN calls
(30 % of 10 calls)
• FALSE at output QPULSE for seven further PULSEGEN calls
(70 % of 10 calls)
The duration of a pulse per pulse repetition period is proportional to the
manipulated variable and is calculated as follows:
Pulse duration = PER_TM * LmnN /100
By suppressing the minimum pulse or break time, the characteristic curve of the
conversion develops doglegs in the start and end regions.
The following diagram illustrates two-step control with a unipolar manipulated
variable range (0 % to 100 %):

PID Temperature Control


2-12 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

Duration of positive pulse


PER_TM
PER_TM - P_B_TM

P_B_TM
0.0 % 100.0 %

Minimum Pulse or Minimum Break Time (P_B_TM)


Short on and off times reduce the working life of switching elements and actuators.
These can be avoided by setting a minimum pulse or minimum break time
P_B_TM.
Small absolute values at the input variable LmnN that could otherwise generate a
pulse time shorter than P_B_TM are suppressed.
High input values that would generate a pulse time longer than PER_TM - P_B_TM
are set to 100%. This reduces the dynamics of pulse generation.
Values of P_B_TM ≤ 0.1 * PER_TM are recommended for the minimum pulse and
the minimum break time.
The doglegs in the curves in the diagram above are caused by the minimum pulse
time or minimum break time.
The schematic below illustrates the switching response of the pulse output:

Minimum Minimum
on time off time
P_B_TM P_B_TM
PER_TM PER_TM PER_TM

Accuracy of Pulse Generation


The smaller the sampling time of the pulse generator CYCLE_P is compared with
the pulse repetition period PER_TM, the more accurate the pulse duration
modulation. For adequately accurate control, the following should apply:
CYCLE_P ≤ PER_TM/50
This means that the value of the manipulated variable is converted into pulses with
a resolution of ≤ 2% (see also of the example in Section 2.4.3, Page 2-16).

PID Temperature Control


A5E00125039-01 2-13
Continuous Temperature Controller FB 58 "TCONT_CP"

2.3 Block Diagram

Parameter assignment user interface


FB call interface
Parameter assignment user interface,
SP_INT FB call interface
PVPER_ON

GAIN
PV_IN DEADBAND
0
+ X
CRP_IN PV_NORM -
0
C 1
PV_PER DEADB_W
%
PV ER
PER_MODE PV_FAC,
PV_OFFS

LMN_P

SP_INT
f()

DISV
PFAC_SP
INT LMN_Sum
+ + PFAC_SP,
PID_TUNER
INT_HPOS GAIN, TI,
TD, D_F,
INT_HNEG PV
LMN_I CONZ_ON,
TI, I_ITL_ON, PID
LmnN CONZONE
I_ITLVAL

TUN_ON,
DIF TUN_ST bzw. SP_INT,
PID_ON,
LMN_D TUN_DLMN

TD, D_F

QLMN_HLM
QLMN_LLM
MAN MAN_ON LMNLIMIT LMN
CONZONE
LMN_NORM
1 CRP_OUT

LMN_PER
%
ER 0 LmnN

CONZ_ON, LMN_HLM LMN_FAC,


CON_ZONE LMN_LLM LMN_OFFS PULSEGEN

QPULSE

PULSE_ON,
PER_TM,
BREAK_TM

MAN_ON
MAN_ON &
& SAVE_PAR UNDO_PAR
PID_ON LOAD_PID
PID_CON PFAC_SP, PFAC_SP,
1 GAIN, 0 0 GAIN,
0
GAIN, TI, TI,
PI_CON PAR_SAVE PAR_SAVE
TI, TD, 1 1 TD,
1
0 TD, D_F, D_F,
CONZONE CONZ_ON, CONZ_ON,
CONZONE CONZONE

PID Temperature Control


2-14 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

2.4 Including the Function Block in the User Program

2.4.1 Calling the Controller Block

The following diagram shows the control call in FBD:

"TCONT_CP"
EN
PV_IN
PV_PER
DISV
INT_HPOS
INT_HNEG PV
SELECT LMN
CYCLE LMN_PER
CYCLE_P QPULSE

SP_INT QLMN_HLM
MAN QLMN_LLM
COM_RST QC_ACT
MAN_ON ENO

FB TCONT_CP must be called at constant intervals. To achieve this, use a cyclic


interrupt OB (for example OB35 for an S7-300). The block interface provides the
most important parameters that allow you to interconnect the block with process
variables such as the setpoint, process value and manipulated variable (see also
Appendix A.3 DB Assignment). You can also connect a manual value or
disturbance variable directly to the block interface.

PID Temperature Control


A5E00125039-01 2-15
Continuous Temperature Controller FB 58 "TCONT_CP"

2.4.2 Call without Pulse Generator (continuous controller)

Controller Sampling Time CYCLE


You specify the sampling time at the CYCLE parameter. You can also enter the
sampling time using the parameter assignment tool. The sampling time CYCLE
must match the time difference between two calls (cycle time of the cyclic OB
including scan rates).
During controller tuning, the block measures the time between the calls and enters
this time in CYCLE.

Rule of Thumb for the CYCLE Controller Sampling Time


The controller sampling time should not exceed 10 % of the calculated integral time
constant of the controller (TI):
CYCLE ≤ TI/10

2.4.3 Call with Pulse Generator (pulse controller)

Controller Sampling Time CYCLE and Sampling Time of the Pulse Generator
CYCLE_P
If you have activated the pulse generator stage (PULSE_ON = TRUE), you must
enter two sampling times.
• Enter the sampling time of the pulse generator at the CYCLE_P input. This
must match the clock rate of the calling cyclic interrupt OB. The duration of the
generated pulse is always a whole multiple of this value.
• At the CYCLE input, you specify the sampling time for the other control
functions of FB 58 "TCONT_CP".
During controller tuning, the block measures the times between the calls and
enters these in CYCLE or CYCLE_P. If you supply values for the CYCLE and
CYCLE_P parameters via the call interface, the values measured following tuning
have no effect.

FB 58 "TCONT_CP" calculates the scan rate and processes the control functions
at the CYCLE sampling rate. Make sure that CYCLE is a whole multiple of
CYCLE_P.
You can select a value for CYCLE that is lower than the pulse repetition period
PER_TM. This can be useful when you require as high a pulse repetition period as
possible to reduce wear on the actuators but when the sampling time needs to be
low due to a fast process.

PID Temperature Control


2-16 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

Rule of Thumb for the CYCLE and CYCLE_P Sampling Times


The controller sampling time should not exceed 10 % of the calculated integral time
constant of the controller (TI): CYCLE ≤ TI/10
For an adequately accurate manipulated variable resolution, make sure that the
following relationship applies: CYCLE_P ≤ PER_TM/50.

Rule of Thumb for the Pulse Repetition Period PER_TM


The pulse repetition period should not exceed 20 % of the calculated reset time of
the controller (TI):
PER_TM ≤ TI/5

Example of the Effects of the Parameters CYCLE_P, CYCLE and PER_TM:


PER_TM = 10 s, CYCLE = 1 s, CYCLE_P = 100 ms.
Every second, a new value is calculated for the manipulated variable, every
100 ms, the value is compared with the pulse length or break length output up to
now.
• When a pulse is output, there are two possibilities:
- The calculated value of the manipulated variable is higher than the pulse
length/PER_TM up to now. The pulse is then extended.
- The calculated value of the manipulated variable is less than or equal to
the pulse length/PER_TM up to now. In this case, a pulse is no longer
output.
• If no pulse is output, there are then also two possibilities:
- The value (100 % - calculated value of the manipulated variable) is higher
than the break length/ PER_TM up to now. The break is then extended.
- The value (100 % - calculated value of the manipulated variable) is less
than or equal to the break length/PER_TM up to now. A pulse is then
output.

PID Temperature Control


A5E00125039-01 2-17
Continuous Temperature Controller FB 58 "TCONT_CP"

Various Call Options for Pulse Control (SELECT)


In a fast process, extremely short pulse generator sampling times (for example 10
ms) are necessary. Due to the program run time (CPU utilization) it is not practical
to process the control sections in the same cyclic interrupt OB as the calculation of
the pulse output. You then either move the control functions to OB1 or to a slower
cyclic interrupt OB (S7-400).
The following table provides an overview of the parameter settings for the SELECT
input parameter:

Application Block Call Functionality


Default situation: The pulse Call in cyclic interrupt OB Control section and pulse
generator sampling times with SELECT = 0 output in the same cyclic
are not particularly short on interrupt OB
the S7-300 and S7-400
(for example CYCLE_P =
100 ms)
Short pulse generator Conditional call (QC_ACT = Control section in OB1
sampling times on the S7- TRUE) in OB1 with SELECT
300 =1
(for example CYCLE_P = 10 Call in cyclic interrupt OB Pulse output in cyclic
ms) with SELECT = 2 interrupt OB
Short pulse generator Call in slow cyclic interrupt Control section in slow cyclic
sampling times on an S7- OB with SELECT = 3 interrupt OB
400 Call in fast cyclic interrupt Pulse output in fast cyclic
(for example CYCLE_P = 10 OB with SELECT = 2 interrupt OB
ms)

Note
If you implement the processing of controller functions and pulse generator with
two block calls, note the following:
• The process value (PV_IN or PV_PER) must be supplied with a value when
the pulse generator is called. All other formal operands can be supplied with
values when the controller functions are called.
• The SELECT parameter must be supplied with a value at every call.
• If you locate the call in OB1 with SELECT = 1, you implement the conditional
call in the example "pulse controller, OB 35, OB 1".

PID Temperature Control


2-18 A5E00125039-01
Continuous Temperature Controller FB 58 "TCONT_CP"

Numeric Examples

Required TI CYCLE = PER_TM = CYCLE_P = Comment


Accuracy G TI/10 TI/5 PER_TM*G
1% 100 s 10 s 20 s 0.2 s Call with SELECT = 0
at a cycle time of 200
ms
1% 5s 0.5 s 1s 0.01 s Separate call of the
pulse section in a
separate cyclic interrupt
level.

2.4.4 Initialization

FB "TCONT_CP" has an initialization routine that is processed when the input


parameter COM_RST = TRUE is set. After processing the initialization routine, the
block sets COM_RST back to FALSE.
During the initialization, the integral action is set to the value I_ITLVAL. When
called in a cyclic interrupt level, it continues to operate starting at this value.
All other outputs are set to their initial values.
If you require initialization when the CPU restarts, call the block in OB100 with
COM_RST = TRUE.

PID Temperature Control


A5E00125039-01 2-19
Continuous Temperature Controller FB 58 "TCONT_CP"

PID Temperature Control


2-20 A5E00125039-01
3 Controller Tuning in FB 58 "TCONT_CP"

3.1 Introduction
With controller tuning in FB 58 "TCONT_CP", the PI/PID controller parameters are
set automatically. There are two ways of tuning:
• Tuning by approaching the operating point with a setpoint step change
• Tuning at the operating point by setting a start bit
In both cases, the process is excited by a selectable manipulated variable step
change. After detecting a point of inflection, the PI/PID controller parameters are
available and the controller switches to automatic mode and continues to control
with these parameters.
You can also tune your controller using the wizard in the parameter assignment
user interface.

Optimizing the Controller Response


The controller design is intended for an optimum response to disturbances. The
resulting "sharp" parameters would lead to overshoot of 10% to 40% of the step
change in setpoint step changes. To avoid this, the P-action is weakened by the
PFAC_SP parameter when a setpoint step change occurs. In typical temperature
processes, overshoot as a result of large setpoint step changes can also be
reduced by temporary use of a minimum or maximum manipulated variable
(controlled closed-loop).

Measuring the Cycle Times CYCLE and CYCLE_P


At the beginning of the tuning process, the controller sampling time CYCLE
and (if pulse control is active) the pulse generator sampling time CYCLE_P
are measured and written to the relevant in/out parameters of the instance
DB.

Saving the Controller Parameters (SAVE_PAR or UNDO_PAR)


When you tune the controller, the parameters are saved before tuning is started.
When tuning is completed, you can reactivate the parameter settings as they were
prior to tuning using UNDO_PAR.

PID Temperature Control


A5E00125039-01 3-1
Controller Tuning in FB 58 "TCONT_CP"

3.2 Process Types

Process Types
Apart from the process gain GAIN_P, the parameters shown in the schematic
below, lag time TU and process time constant TA are characteristic parameters of
a process.

The schematic below illustrates the step response:

Process responce to a
manipulated variable
step change

Point of inflection

t
TU TA

The table below lists the various processes with which you can use
FB 58 "TCONT_CP":

Process Type I Process Type II Process Type III


Typical temperature Intermediate range Higher order temperature
process (ideal situation) process (high lag)
TU/TA < 0.1 TU/TA approx. 0.1 TU/TA> 0.1
One dominating time 2 approximately Several time constants
constant equivalent time
constants

FB 58 "TCONT_CP" is designed for typical temperature control processes of type I.


You can, however, also use the block for higher order processes of type II or III.

PID Temperature Control


3-2 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

3.3 Area of Application

Transient Response
The process must have a stable, asymptotic transient response with time lag.
After a step change in the manipulated variable, the process variable must change
to a steady state. This therefore excludes processes that have an oscillating
response without control and processes that are not self-regulating (integrator in
the process).

Linearity and Operating Range


The process must have a linear response over the operating range. A non-linear
response occurs, for example, when the state of a unit is changed. The tuning must
take place in a linear part of the operating range.
This means that both during tuning and during normal controlled operation, non-
linear effects within the operating range must be insignificant. It is, however
possible to retune the process when the operating point changes if the tuning is
repeated in the close vicinity of the new operating point and providing that the non-
linearity does not occur in the range covered during tuning.
If certain static non-linearities (for example valve characteristics) are known, it is
always advisable to compensate these with a polyline curve to linearize the
process behavior.

Disturbances in Temperature Processes


Disturbances such as the transfer of heat to neighboring zones must not affect the
overall temperature process too much. For example, when tuning the zones of an
extruder, all zones must be heated at the same time.
For information on measurement noise and low-frequency interference, refer to
Section 3.11, Page 3-12.

PID Temperature Control


A5E00125039-01 3-3
Controller Tuning in FB 58 "TCONT_CP"

3.4 The Phases of Controller Tuning


During tuning, several phases are run through in the block algorithm. The PHASE
parameter indicates which phase the block is currently in.
You start the tuning as follows (see Section 3.6, Page 3-8):
• Setting TUN_ON = TRUE prepares the controller for tuning. The controller
changes from Phase 0 to 1.
• After waiting some time in phase 1, either set a setpoint step change at the
SP_INT parameter or set TUN_ST = TRUE. The controller outputs a
manipulated variable changed by the value TUN_DLMN and begins to search
for the point of inflection.

PHASE Description
0 No tuning; automatic or manual mode
1 Ready to start tuning; check parameters, wait for excitation, measure the
sampling times
2 Actual tuning: Wait to detect point of inflection at a constant controller output
value. Entry of the sampling time in the instance DB.
3 (1 cycle) Calculation of the process parameters. The controller parameters valid prior
to tuning are saved.
4 (1 cycle) Controller design
5 (1 cycle) Bring the controller to the new manipulated variable
7 Check the process type if process II or III was detected.

The schematic below illustrates the phases of tuning as a result of a setpoint step
change from the ambient temperature to the operating point:

PHASE PHASE = 1 PHASE = 3, 4, 5 PHASE = 0 in typical temperature process without


(each one cycle) disturbances otherwise PHASE = 0
=0
PHASE = 7 with estimated process type II or III
Temp. LMN PHASE
SP
=2

Warm process
state
(Operating point)
TUN_DLMN PV

LMN
Point of inflection

Cold process
state
t
TUN_ON: Reset by Block

PID Temperature Control


3-4 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

The schematic below illustrates the phases of tuning at the operating point started
with TUN_ST = TRUE:

Temperature PHASE = 3, 4, 5
(one cycle)
PHASE = 0 PHASE = 1 PHASE PHASE = 0 with typical PHASE = 0
=2 temperature process or
PHASE = 7 with
process type II or III

Operating point process value


PV

Point of inflection

TUN_DLMN Operating point


LMN manipulated variable

Time
Reset by Block
TUN_ON

TUN_ST

At the end of the tuning (see Section 3.9, Page 3-11), when the block returns to
Phase 0 and TUN_ON = FALSE is set, you can recognize whether or not the
tuning was error free by the STATUS_H parameter.

PID Temperature Control


A5E00125039-01 3-5
Controller Tuning in FB 58 "TCONT_CP"

3.5 Preparations

SIMATIC and Controller


Tuning is started by the in/out parameters TUN_ON, TUN_ST or SP_INT. You can
set the parameters in the following ways:
• With the parameter assignment user interface
• With an operator control and monitoring device
• From the user program
You write to the in/out parameters only for one cycle since FB 58 "TCONT_CP"
resets the parameters.

Warning
! Death, serious injury, or considerable damage to property may occur.
During tuning, the MAN_ON parameter is not effective. As a result, the
manipulated variable or process value can achieve unacceptable, extreme
values.
The manipulated variable is set by the tuning functions. To stop the tuning, you
must first set TUN_ON = FALSE. MAN_ON is then effective again.

Ensuring a Quasi Steady State Initial Situation (Phase 0)


If there is low-frequency oscillation of the controlled variable, for example due to
bad controller parameters, the controller should be changed to manual prior to
starting the tuning and you should wait until the oscillation dies down. As an
alternative, you can change to a PI controller with less aggressive settings (low
loop gain, high integral time).
You must now wait until a steady state is achieved; in other words, until the
process value and value of the manipulated variable have settled. Asymptotic
settling or slow drift of the process value is also permitted (quasi steady-state, see
diagram below). The manipulated variable must be constant or fluctuate around a
constant mean value.

Note
You should avoid changing the manipulated variable shortly before starting the
tuning. A change in the manipulated variable can also be brought about
accidentally when setting up the conditions required for tuning
(for example closing a furnace door)! If this does happen, wait at least until the
process variable begins to settle asymptotically towards the steady state. You
will, however achieve better controller parameters if you wait until the transients
have decayed completely.

PID Temperature Control


3-6 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

Preparing for Tuning (Phase 0 -> 1)


You can start the tuning both in manual or in automatic mode.
Set the parameter TUN_ON = TRUE. This makes FB 58 "TCONT_CP" ready for
tuning (Phase 1). The TUN_ON bit must only be set in the steady state or during
aperiodic settling to the steady state.
If the quasi steady state changes after setting the TUN_ON bit, this must be reset
and the new quasi steady state must be signaled to FB 58 "TCONT_CP" by
setting the TUN_ON bit again.
The schematic below illustrates how the process variable settles to the steady
state:

Process value PHASE = 1 PHASE = 1


Quasi steady state just acceptable Settled steady state is better

Unacceptable unsteady state

Manipulated variable
PV

Actuating pulse
LMN

Time

In Phase 1, the time prior to making the manipulated variable step change is used
by FB 58 "TCONT_CP" to calculate the process variable noise NOISE_PV, the
initial rise PVDT0 and the mean value of the manipulated variable (initial value of
the manipulated variable LMN0).

Note
You should only wait to excite the process in Phase 1 until the block has
determined the mean value of the manipulated variable and the initial rise of the
process variable (typically: 1 minute).

PID Temperature Control


A5E00125039-01 3-7
Controller Tuning in FB 58 "TCONT_CP"

In Phase 1, both the controller sampling time CYCLE and the pulse generator
sampling time CYCLE_P are measured and written to the relevant in/out
parameters at the beginning of Phase 2. In the control mode without the pulse
generator, CYCLE_P = CYCLE.

Note
If you call the pulse controller using SELECT = 0 or 1, you must specify the
required ratio CYCLE/CYCLE_P with the parameters CYCLE and CYCLE_P
before setting TUN_ON.

3.6 Starting Tuning (Phase 1 -> 2)

Tuning by Approaching the Operating Point with a Setpoint Step Change


The tuning manipulated variable (LMN0 + TUN_DLMN) is applied by changing the
setpoint (transition Phase 1 -> 2). The setpoint, however, becomes effective only
when the point of inflection is reached (the controller switches to automatic only
when this point is reached).
The user is responsible for selecting the magnitude of the manipulated variable
change (TUN_DLMN) according to the permitted process variable change. The
sign of TUN_DLMN must be set depending on the intended process variable
change (take into account the direction in which the control is operating).
The setpoint step change and TUN_DLMN must be suitably matched. If
TUN_DLMN is too high, there is a danger that the point of inflection will not be
found within 75% of the setpoint step change.
TUN_DLMN must, however, be high enough so that the process variable reaches
at least 22% of the setpoint step change. Otherwise, you would remain in the
tuning mode (Phase 2).
Remedy: Reduce the setpoint while the tuning function is attempting to detect the
point of inflection.

Note
With extremely sluggish processes, it is advisable to set a somewhat lower target
setpoint than the desired operating point during tuning and to monitor the status
bits and PV (risk of overshoot).
Tuning only in the linear range:
Certain controlled processes (for example zinc and magnesium smelters) have a
non-linear range shortly before the operating point (change in the state of the
material).
By selecting a suitable setpoint step change, the tuning can be limited to the
linear range. When the process variable has passed 75% of the setpoint step
change (SP_INT-PV0), tuning is terminated.
At the same time, TUN_DLMN should be reduced so that the point of inflection is
guaranteed to be found before reaching 75% of the setpoint step change.

PID Temperature Control


3-8 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

Tuning at the Operating Point without Setpoint Step Change


The tuning manipulated variable (LMN0 + TUN_DLMN) is applied by setting the
start bit TUN_ST (transition Phase 1 -> 2). When you change the setpoint, the new
setpoint takes effect only when the point of inflection is reached (this is when the
controller switches to automatic).
The user is responsible for selecting the magnitude of the manipulated variable
change (TUN_DLMN) according to the permitted process variable change. The
sign of TUN_DLMN must be set depending on the intended process variable
change (take into account the direction in which the control is operating).

Caution!
If you excite the process with TUN_ST, there is no safety turn off at 75%. Tuning
is terminated when the point of inflection is reached. In noisy processes, the point
of inflection can, however, be significantly exceeded.

Protection Against Operator Input Errors

Operator Error STATUS and Result Comment


Setting TUN_ON and setpoint Transition to Phase 1, The setpoint change is canceled.
step change or TUN_ST at the however tuning is not started. This prevents the controller
same time • SP_INT = SPold or controlling to the new setpoint and
leaving the steady state operating
• TUN_ST = FALSE
point unnecessarily.
Effective TUN_DLMN < 5% (end STATUS_H = 30002 Tuning is aborted.
of Phase 1) • Transition to Phase 0 The setpoint change is canceled.
• TUN_ON = FALSE This prevents the controller
controlling to the new setpoint and
• SP = SPold
leaving the steady state operating
point unnecessarily.

PID Temperature Control


A5E00125039-01 3-9
Controller Tuning in FB 58 "TCONT_CP"

3.7 Searching for the Point of Inflection (Phase 2) and


Calculating the Control Parameters (Phase 3, 4, 5)
In Phase 2, the tuning function attempts to detect the point of inflection with the
manipulated variable remaining constant. This method prevents the point of
inflection being found too early as a result of process variable noise.
With the pulse controller, the process variable is averaged over N pulse cycles and
then made available to the controller stage. There is a further averaging of the
process variable in the controller stage: Initially, this averaging is inactive, in other
words, averaging is always over 1 cycle. As long as the noise exceeds a certain
level, the number of cycles is doubled.
The period and amplitude of the noise are calculated. The search for the point of
inflection is canceled and Phase 2 is exited only when the gradient is always
smaller than the maximum rise during the estimated period. TU and T_P_INF are,
however, calculated at the actual point of inflection.
Tuning is, however, only terminated when the following two conditions are met:
1. The process variable is more than 2*NOISE_PV away from the point of
inflection.
2. The process variable has exceeded the point of inflection by 20%.

Note
When exciting the process using a setpoint step change, the tuning is terminated
at the latest when the process variable exceeds 75% of the setpoint step change
(SP_INT-PV0) (see below).

Phases 3, 4 and 5 are then run through once. The tuning mode is then terminated
and FB 58 "TCONT_CP" is once again in Phase 0. The controller now always
starts in the automatic mode with LMN = LMN0 + 0.75*TUN_DLMN (even if you
were controlling in manual mode prior to the tuning).

3.8 Checking the Process Type (Phase 7)


In typical temperature processes (process type I), there is a danger that the point of
inflection will be found too early due to noise. As a result of the shorter time at
which the point of inflection was found T_P_INF, it is possible that a process type II
or III will be detected.
Phase 7 therefore checks whether or not the process type is correct. This check is
made in automatic mode with the controller parameters that have just been
calculated and is completed at least 6*TA (recovery time) after the point of
inflection. If process type I is detected, the controller parameters are recalculated
(STATUS_D = 122) otherwise, the controller parameters remain unchanged.
The checking of the process type is stopped when the process value once again
reaches the process value prior to tuning (PV0) when tuning at the operating point.

Note
If Phase 7 is aborted by TUN_ON=FALSE, the controller parameters that have
already been obtained are retained!

PID Temperature Control


3-10 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

3.9 Result of the Tuning


The left digit of STATUS_H indicates the tuning status (for a detailed table, see
Appendix A.4, Page A-22):

STATUS_H Result:
0 Default or no new controller parameters have been found (yet).
10000 Suitable control parameters found
2xxxx Control parameters found using estimated values; check the control
response or check the STATUS_H diagnostic message and repeat the
controller tuning.
3xxxx Operator input error occurred; check the STATUS_H diagnostic
message and repeat the controller tuning.

The following control parameters are updated in FB 58 "TCONT_CP":


• Factor for attenuating the P-action PFAC_SP = 0.8
• Controller gain GAIN
• Integral time TI
• Derivative time TD
• Derivative factor D_F = 5.0
• Control zone on/off CONZ_ON
• Control zone width CON_ZONE
The control zone is activated only if the process type is suitable (process type I and
II) and a PID controller is being used (CONZ_ON = TRUE).
Depending on PID_ON, control is implemented either with a PI or a PID controller.
The old controller parameters are saved and can be reactivated with UNDO_PAR.
A PI and PID parameter set is also saved in the PI_CON and PID_CON structures.
Using LOAD_PID and making a suitable setting for PID_ON, it is also possible to
switch later between the tuned PI or PID parameters.
The CYCLE and CYCLE_P sampling times were already obtained in Phase 1.

3.10 Tuning Stopped by the Operator

Stopping Tuning Before Completion


In Phase 1, 2 or 3, you can stop the tuning by resetting TUN_ON to FALSE without
new parameters being calculated. The controller starts in automatic mode with
LMN = LMN0 + TUN_DLMN. If the controller was in manual mode prior to the
tuning, the old manual value will be output.
If the tuning is stopped during Phase 4, 5 or 7 with TUN_ON = FALSE, the control
parameters calculated to this point are retained.

PID Temperature Control


A5E00125039-01 3-11
Controller Tuning in FB 58 "TCONT_CP"

3.11 Error Situations and Remedies

Point of inflection not reached (only with excitation by setpoint step change)
Tuning is terminated at the latest when the process value has exceeded 75% of
the setpoint step change (SP-INT-PV0). This is signaled by "inflection point not
reached" in STATUS_H (2xx2x).
The currently valid setpoint always applies. By reducing the setpoint, it is possible
to achieve an earlier termination of the tuning function.
In typical temperature processes, terminating the tuning at 75% of the setpoint step
change is normally adequate to prevent overshoot. In processes with a greater lag
(TU/TA > 0.1, process type III) caution is advised. If the excitation of the
manipulated variable is too high compared with the setpoint step change, the
process variable can overshoot considerably (up to factor 3).
In higher order processes, if the point of inflection is still a long way off after
reaching 75% of the setpoint step change, there will be significant overshoot. In
addition to this, the control parameters are too aggressive. You should then
weaken the controller parameters and repeat the attempt.

PID Temperature Control


3-12 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

The schematic below illustrates the overshoot of the process variable when the
excitation is too strong (process type III):

PHASE PHASE = 1 PHASE = 2 PHASE = 0 PHASE = 0


=0
Tuning stopped at 75 %
Temp. LMN

PV
have r esulted
LMN Point of inflection from unchanged
TUN_DLMN LMN

PV

SP Warm process state


SP (operating point)

75 % SP
Cold process state LMN

t
TUN_ON

In typical temperature processes, aborting shortly before reaching the point of


inflection is not critical in terms of the controller parameters.
If you repeat the attempt, reduce TUN_DLMN or increase the setpoint step change.
Principle: The value of the manipulated variable used for tuning must be suitable
for the setpoint step change.

Errors estimating the lag or order


The lag (STATUS_H = 2x1xx or 2x3xx) or the order (STATUS_H = 21xxx or 22xxx)
could not be obtained correctly. The tuning then continues with an estimated value
that cannot lead to optimum controller parameters.
Repeat the tuning and make sure that there is no disturbance of the process
variable.

Note
The special situation of a purely PT1 process is also indicated by STATUS_H =
2x1xx (TU <= 3*CYCLE). It is then not necessary to repeat the experiment.
Weaken the controller parameters if the control oscillates.

PID Temperature Control


A5E00125039-01 3-13
Controller Tuning in FB 58 "TCONT_CP"

Quality of the measuring signals (measurement noise, low-frequency


interference)
The results of the tuning can be distorted by measurement noise or by low-
frequency interference. Note the following:
• If you encounter measurement noise, set the sampling frequency higher rather
than lower. During the noise period, the process variable should be sampled at
least twice. In pulse mode, integrated mean value filtering can be helpful. This
assumes, however, that the process variable PV is transferred to the block in
the fast pulse cycle. The degree of noise should not exceed 5% of the useful
signal change.
• High-frequency interference cannot be filtered out by a software block. This
should be filtered earlier in the measuring sensor to prevent the aliasing effect.
The schematic below illustrates the aliasing effect when the sampling time is
too high:

• With low-frequency interference, it is relatively easy to ensure an adequately


high sampling rate. On the other hand, the TCONT_CP must then generate a
uniform measuring signal by having a large interval in the mean value filtering.
Mean value filtering must extend over at least two noise periods. Internally in
the block, this soon results in higher sampling times so that the accuracy of the
tuning is adversely affected. Adequate accuracy is guaranteed with at least 40
noise periods to the point of inflection. Possible remedy when repeating the
attempt: Increase TUN_DLMN.

PID Temperature Control


3-14 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

Overshoot
Overshoot can occur in the following situations:

Situation Cause Remedy


End of tuning • Excitation by a manipulated • Increase the setpoint step
variable change too high change or reduce the
compared with the setpoint step manipulated variable step
change (see above). change.
• PI controller activated by
PID_ON = FALSE. • If the process permits a PID
controller, start the tuning with
PID_ON = TRUE.
Tuning in Initially, less aggressive controller -
Phase 7 parameters are obtained (process
type III) that can lead to overshoot in
Phase 7.
Control mode PI controller and with If the process permits a PID
PFAC_SP = 1.0 for process type I. controller, start the tuning with
PID_ON = TRUE.

PID Temperature Control


A5E00125039-01 3-15
Controller Tuning in FB 58 "TCONT_CP"

3.12 Manual Fine Tuning in Control Mode


To achieve a setpoint response free of overshoot, you can take the measures
described below:

Adapting the Control Zone


During the tuning, a control zone CON_ZONE is calculated by FB58 "TCONT_CP"
that is activated (CONZ_ON = TRUE) if the process type is suitable (process type I
and II) and a PID controller is being used. During control, you can modify the
control zone or turn it off completely (with CONZ_ON = FALSE).

Note
Activating the control zone with higher order processes (process type III) does not
normally bring any benefit since the control zone is then larger than the control
range that can be achieved with a 100% manipulated variable. There is also no
advantage in activating the control zone for PI controllers.
Before you activate the control zone manually, make sure that the control zone
width is not too small. If the control zone band is too small, oscillations will occur
in the manipulated variable and process variable.

Continuously Weakening the Control Response with PFAC_SP


You can weaken the control response with the PFAC_SP parameter. This
parameter specifies the amount of P-action that is effective in setpoint step
changes.
Regardless of the process type, PFAC_SP is set to the default 0.8 by the tuning
function, you can then modify the value if required. To limit overshoot during
setpoint step changes (with otherwise correct controller parameters) to
approximately 2%, the following values are adequate for PFAC_SP:

Process Type I Process Type II Process Type III


Typical temperature Intermediate range Higher order temperature process
process (high lag)
PI 0.8 0.82 0.8
PID 0.6 0.75 0.96

Adapt the default factor (0.8) particularly in the following situations:


• Process type I with PID (0.8 -> 0.6): Setpoint step changes within the control
zone lead to approximately 18% overshoot with PFAC_SP = 0.8.
• Process type III with PID (0.8 -> 0.96): Setpoint step changes with
PFAC_SP = 0.8 are damped too strongly. This leads to a significantly slower
response.

PID Temperature Control


3-16 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

Example of Weakening the Control Response with PFAC_SP


Process parameters:
• GAIN = 6
• T1 = 50 s
• T2 = 5 s;

Controller parameters:
• GAIN = 1.45
• TI = 19.6 s

Process value
Setpoint

Process value

Manip. variable

The figure below shows three attempts each with a setpoint step change from 0 to
60:

Attempt PFAC_SP Comment Overshoot


Left 8:18 1.0 No P-action in the feedback; 32 %
undamped control response
Middle 8:19 0.8 20% P-action in the feedback; 2%
optimum control response
Right 8:20 0.0 Complete P-action in the feedback; -
too strongly damped, long transient response

PID Temperature Control


A5E00125039-01 3-17
Controller Tuning in FB 58 "TCONT_CP"

Damping Control Parameters


If oscillations occur in the closed control loop or if there is overshoot following
setpoint step changes, you can reduce the controller GAIN (for example to 80 % of
the original value) and increase the reset time TI (for example to 150 % of the
original value). If the analog manipulated variable (LMN) of the continuous
controller is converted to binary actuating signals with a pulse generator,
quantization effects can cause small permanent oscillations. You can eliminate
these by extending the controller deadband DEADB_W.

Changing the Control Parameters


To change the control parameters, follow the steps outlined below:
1. Save the current parameters with SAVE_PAR.
2. Change the parameter settings.
3. Test the control response.
If the new parameter settings are worse than the old settings, reload the old
parameters with UNDO_PAR.

3.13 Parallel Tuning of Control Channels

Neighboring Zones (Strong Heat Coupling)

If two or more controllers control the temperature, for example, on a plate (in other
words, there are two heaters and two measured process values with strong heat
coupling ), follow the steps outlined below:
1. OR the two outputs QTUN_RUN.
2. Interconnect the two TUN_KEEP inputs with the output of the OR element.
3. Start both controllers by setting a setpoint step change at the same time or by
setting TUN_ST at the same time.

PID Temperature Control


3-18 A5E00125039-01
Controller Tuning in FB 58 "TCONT_CP"

The schematic below illustrates the parallel tuning of controller channels.

TCONT_CP, DB1_TCONT_CP

TUN_KEEP

QTUN_RUN

TCONT_CP, DB2_TCONT_CP ≥1

TUN_KEEP

QTUN_RUN

Advantage:
Both controllers output LMN0 + TUN_DLMN until both controllers have left Phase
2. This avoids that the controller that completes tuning first falsifies the tuning result
of the other controller due to the change in its manipulated variable.

Caution!
Reaching 75% of the setpoint step change means that the tuning leaves Phase 2
and that the output QTUN_RUN is reset. Automatic mode starts, however only
when TUN_KEEP also changes to 0.

Neighboring Zones (Weak Heat Coupling)


As a general rule, tuning should be carried out to reflect the way in which the
control will work later. If zones are operated together during production so that the
temperature differences between the zones remain the same, the temperature of
the neighboring zones ought to be increased as well during tuning.
Differences in temperature at the beginning of the tuning are irrelevant since they
will be compensated by the initial heating (-> initial rise = 0).

PID Temperature Control


A5E00125039-01 3-19
Controller Tuning in FB 58 "TCONT_CP"

PID Temperature Control


3-20 A5E00125039-01
4 Temperature Step Controller FB59
"TCONT_S"

4.1 Controller Section

4.1.1 Forming the Error

Block Diagram

SP_INT

PVPER_ON
PV_IN DEADBAND

0 +
CRP_IN PV_NORM ER
0
*0,1 C
0
*0,01 C 1 DEADB_W
PV_PER
%
PV
PER_MODE PV_FAC,
PV_OFFS
Parameter assignment user interface
FB call interface
Parameter assignment user interface, FB call interface

Setpoint Branch
The setpoint is entered at input SP_INT in floating-point format as a physical value
or percentage. The setpoint and process value used to form the error must have
the same unit.

Process Value Options (PVPER_ON)


Depending on PVPER_ON, the process value can be acquired in the peripheral
(I/O) or floating-point format.

PID Temperature Control


A5E00125039-01 4-1
Temperature Step Controller FB59 "TCONT_S"

PVPER_ON Process Value Input


TRUE The process value is read in via the analog peripheral I/Os (PIW xxx) at
input PV_PER.
FALSE The process value is acquired in floating-point format at input PV_IN.

Process Value Format Conversion CRP_IN (PER_MODE)


The CRP_IN function converts the peripheral value PV_PER to a floating-point
format depending on the switch PER_MODE according to the following rules:

PER_MODE Output of Analog Input Type Unit


CRP_IN
0 PV_PER * 0.1 Thermoelements; PT100/NI100; standard °C; °F
1 PV_PER * 0.01 PT100/NI100; climate °C; °F
2 PV_PER * Voltage/current %
100/27648

Process Value Normalization PV_NORM (PF_FAC, PV_OFFS)


The PV_NORM function calculates the output of CRP_IN according to the following
rule:
"Output of PV_NORM" = "Output of CPR_IN" * PV_FAC + PV_OFFS

This can be used for the following purposes:


• Process value correction with PV_FAC as the process value factor and
PV_OFFS as the process value offset.
• Normalization of temperature to percentage
You want to enter the setpoint as a percentage and must now convert the
measured temperature value to a percentage.
• Normalization of percentage to temperature
You want to enter the setpoint in the physical temperature unit and must now
convert the measured voltage/current value to a temperature.

Calculation of the parameters:


• PV_FAC = range of PV_NORM/range of CRP_IN;
• PV_OFFS = LL(PV_NORM) - PV_FAC * LL(CRP_IN);
where LL is the lower limit
With the default values (PV_FAC = 1.0 and PV_OFFS = 0.0), normalization is
disabled. The effective process value is output at the PV output.

PID Temperature Control


4-2 A5E00125039-01
Temperature Step Controller FB59 "TCONT_S"

Example of Process Variable Normalization


If you want to enter the setpoint as a percentage, and you have a temperature
range of -20 to 85 °C applied to CRP_IN, you must normalize the temperature
range as a percentage.
The schematic below shows the adaptation of the temperature range from -20 to
85°C to an internal scale of 0 to 100 %:

PV_NORM [%]
100

75

PV_FAC = 100/(85-(-20))
50 = 0.9524

25

PV_OFFS = 0-0.9524*(-20)
= 19.05
-20
20 40 60 80 85 CRP_IN [°c]

Forming the Error


The difference between the setpoint and process value is the error before the
deadband.
The setpoint and process value must exist in the same unit.

Deadband (DEADB_W)
To suppress a small constant oscillation due to the manipulated variable
quantization (for example in pulse duration modulation with PULSEGEN) a
deadband (DEADBAND) is applied to the error. If DEADB_W = 0.0, the deadband
is deactivated.

ER
ER = (SP_INT - PV) + DEAD_W ER = (SP_INT - PV) - DEAD_W

SP_INT - PV
DEADB_W

PID Temperature Control


A5E00125039-01 4-3
Temperature Step Controller FB59 "TCONT_S"

4.1.2 PI Step Controller Algorithm

FB 59 "TCONT_S" operates without a position feedback signal (see block diagram


in Section 4.2, Page 4-5). The I-action of the PI algorithm and the assumed
position feedback signal are calculated in an integrator (INT) and compared as a
feedback value with the remaining P-action. The difference is applied to a three-
step element (THREE_ST) and a pulse generator (PULSEOUT) that forms the
pulses for the valve. Adapting the response threshold of the three-step element
reduces the switching frequency of the controller.

Weakening the P-action when setpoint changes occur (PFAC_SP)


To prevent overshoot, you can attenuate the P-action using the "proportional factor
for setpoint changes" parameter (PFAC_SP). Using PFAC_SP, you can now select
continuously between 0.0 and 1.0 to decide the effect of the P-action when the
setpoint changes:
• PFAC_SP = 1.0: P-action has full effect if the setpoint changes
• PFAC_SP = 0.0: P-action has no effect if the setpoint changes
A value for PFAC_SP < 1.0 can reduce the overshoot as with the continuous
controller if the motor run time MTR_TM is small compared with the recovery time
TA and the ratio TU/TA is < 0.2. If MTR_TM reaches 20 % of TA, only a slight
improvement can be achieved.

Feedforward Control
A feedforward variable can be added at the DISV input.

Manual Value Processing (LMNS_ON, LMNUP, LMNDN)


With LMNS_ON, you can change between manual and automatic mode. In manual
mode, the actuator and the integrator (INT) are set to 0 internally. Using LMNUP
and LMNDN, the actuator can be adjusted to OPEN and CLOSED. Switching over
to automatic mode therefore involves a bump. As a result of the GAIN, the existing
error leads to a step change in the internal manipulated variable. The integral
component of the actuator, however, results in a ramp-shaped excitation of the
process.

PID Temperature Control


4-4 A5E00125039-01
Temperature Step Controller FB59 "TCONT_S"

4.2 Block Diagram

Parameter assignment user interface


FB call interface
Parameter assignment user interface,
SP_INT FB call interface
PVPER_ON

PV_IN DEADBAND
0
+ X
CRP_IN PV_NORM -

0 1
PV_PER C DEADB_W
% PV
ER
PER_MODE PV_FAC,
PV_OFFS
SP_INT
f()

PFAC_SP

LMNR_HS
LMNR_LS

LMNUP

LMNDN
LMNS_ON
QLMNUP
1 PULSEOUT
DISV THREE_ST AND
0 AND
adaptiv
QLMNDN
+ 1
AND
- AND
1
0 PULSE_TM, 100.0
MTR_TM
BREAK_TM 0.0
0
+
-100.0 1

0.0
0
LMNS_ON OR X
1/MTR_TM

1 0.0 INT +

1/TI 0
0.0
1 -
X
0

PID Temperature Control


A5E00125039-01 4-5
Temperature Step Controller FB59 "TCONT_S"

4.3 Including the Function Block in the User Program

4.3.1 Calling the Controller Block

The following diagram shows the controller call in FBD:

“TCONT_S”
EN
CYCLE
SP_INT
PV_IN
PV_PER
DISV
LMNR_HS
LMNR_LS QLMNUP
LMNS_ON QLMNDN
LMNUP PV
LMNDN ER
COM_RST ENO

FB TCONT_S must be called at constant intervals. To achieve this, use a cyclic


interrupt OB (for example OB35 for an S7-300). The block interface provides the
most important parameters that allow you to interconnect the block with process
variables such as the setpoint, process value and manipulated variable. You can
also connect the manual value signals or disturbance variable directly to the block
interface.

PID Temperature Control


4-6 A5E00125039-01
Temperature Step Controller FB59 "TCONT_S"

4.3.2 Sampling Time

You specify the sampling time at the CYCLE parameter. You can also enter the
sampling time using the parameter assignment tool. The sampling time CYCLE
must match the time difference between two calls (cycle time of the cyclic OB
including scan rates).

Rule of Thumb for the Controller Sampling Time CYCLE


The controller sampling time should not exceed 10 % of the calculated integral time
of the controller (TI). Generally, you must set the sampling time to a much lower
value to achieve the required accuracy of the step controller (see numeric example
below).

Numeric Example

Required MTR_TM CYCLE = MTR_TM*G Comment


Accuracy G
0.5 % 10 s 0.05 s The sampling time is
determined by the required
accuracy of the step controller.

4.3.3 Initialization

FB "TCONT_S" has an initialization routine that is processed when the input


parameter COM_RST = TRUE is set. After processing the initialization routine, the
block sets COM_RST back to FALSE.
All outputs are set to their initial values.
If you require initialization when the CPU restarts, call the block in OB100 with
COM_RST = TRUE.

PID Temperature Control


A5E00125039-01 4-7
Temperature Step Controller FB59 "TCONT_S"

PID Temperature Control


4-8 A5E00125039-01
5 Getting Started

Aims
Based on the following simple example, "zEn01_13_STEP7__PID-Temp -> Pulse
Controller", you will learn to control the simulated temperature process with the FB
58 "TCONT_CP" temperature controller and to obtain the PID controller
parameters online.

Requirements
The following requirements must be met:
• You are using an S7-300/400 station consisting of a power supply and a CPU.
• STEP 7 (≥ V5.1 SP3) is installed on your programming device.
• The programming device is connected to the CPU.

Creating a new Project and Copying the Example

Step Activity Result:

1 Create a project in the SIMATIC Manager The project window appears in the SIMATIC
with File->New... Manager.
2 Insert a SIMATIC 300 or 400 station to match
your hardware configuration.
3 Configure your station in HW Config and set
the cycle time of the cyclic interrupt priority
class of OB35 to 20 ms.
4 Copy the pulse controller program from the The program is ready for downloading to the
sample project zEn01_13_STEP7__PID- CPU.
Temp to your station.
5 Select your program and copy it to the CPU
with PLC -> Download.

PID Temperature Control


A5E00125039-01 5-1
Getting Started

Controller Tuning with the Parameter Assignment User Interface

Step Activity Result:

1 Open the parameter assignment tool by The parameter assignment tool opens.
double-clicking on the instance DB
DB_TCONT_CP in the SIMATIC Manager.
2 Under Options, select the menu command The curve recorder and the first dialog of the
Controller Tuning. wizard open.
3 On the curve recorder, check that the The "Selecting the Controller Type" dialog
manipulated variable and process value have opens.
practically settled and click on Next.
4 Set "PID parameters" and click on Next. The "Selecting the Type of Process
Excitation" dialog opens.
5 Set "Tune by approaching the operating point The "Process Excitation" dialog opens.
with a setpoint step change" and click on
Next.
6 Set the operating point to 70 and the The "Status and Result of the Tuning" dialog
manipulated variable difference to 80 and opens.
click on Next.
7 When the completion of the controller tuning The wizard and curve recorder are closed.
is displayed, click on Close.

You can now test these controller parameters by applying a setpoint step change
or a disturbance load to the process.

Applying a Setpoint Step Change

Step Activity Result:

1 Open the curve recorder in the Options menu. The curve recorder window opens.
2 Open the Commissioning dialog in the The Commissioning dialog opens.
Options menu.
3 Enter a setpoint step change to 90 for the The setpoint changes abruptly in the curve
setpoint parameter and click the Send button. recorder.
4 Observe the settling response of the process
value and manipulated variable.

Applying a Disturbance Load to the Process

Step Activity Result:

1 Open the VAT_LoopControl variable table in Variable table is opened.


the SIMATIC Manager.
2 Enter a process disturbance of 30 at the The curve of the process value changes in the
"DB_PROC_P".DISV parameter. curve recorder.
3 Observe the settling response of the process
value and manipulated variable.

PID Temperature Control


5-2 A5E00125039-01
Getting Started

Manual/Automatic Switchover

Step Activity Result:

1 Switch to manual in the Commissioning dialog The value of the manipulated variable
and click the Send button. remains constant in the curve recorder.
2 Set a different value for the manual value and You can now see the new manual value set
click the Send button. for the manipulated variable.
3 Return to the automatic mode and click the Based on the value of the manipulated
Send button. variable in the curve recorder, you can see
how the controller operates again in automatic
mode.

Changing Between PID and PI Parameters

Step Activity Result:

1 Switch to manual in the Commissioning dialog The value of the manipulated variable
and click the Send button. remains constant in the curve recorder.
2 Open the VAT_StructPar variable table in the
SIMATIC Manager and click on Variable
Monitor.
3 Under "PID/PI Parameter Setting" in the In the VAT_StructPar variable table, you can
Commissioning dialog, select PI parameters see how the parameters of PI_CON were
and click the Download button. transferred to the effective parameters.
4 Under "PID/PI Parameter Setting", select PID In the VAT_StructPar variable table, you can
parameters and click the Download button. see how the parameters of PID_CON were
transferred to the effective parameters.
5 Return to the automatic mode and click the Based on the value of the manipulated
Send button. variable in the curve recorder, you can see
how the controller operates again in automatic
mode.

PID Temperature Control


A5E00125039-01 5-3
Getting Started

Uploading and Saving the Controller Parameters

Step Activity Result:

1 Switch to manual in the Commissioning dialog The value of the manipulated variable
and click the Send button. remains constant in the curve recorder.
2 Open the VAT_StructPar variable table in the
SIMATIC Manager and click on Variable
Monitor.
3 Click the Download button for the "Saved PID In the VAT_StructPar variable table, you can
and control zone parameters" option. see how the parameters of PAR_SAVE were
transferred to the effective parameters.
4 Change values in the effective parameters to
be able to recognize later that the values are
transferred.
5 Click the Save button for the "PID and control In the VAT_StructPar variable table, you can
zone parameters" option. see how the effective parameters are
transferred to PAR_SAVE.
6 Return to the automatic mode and click the Based on the value of the manipulated
Send button. variable in the curve recorder, you can see
how the controller operates again in automatic
mode.

PID Temperature Control


5-4 A5E00125039-01
6 Examples for the Temperature Controllers

6.1 Introduction

Overview
This chapter contains executable application samples for the temperature
controllers FB 58 "TCONT_CP" and FB 59 "TCONT_S" with simulation of the
process.
You will find the examples in the folder ...\STEP7\EXAMPLES.

Requirements
• You have set up and wired an S7 station consisting of a power supply and a
CPU.
• STEP 7 (>= V5.1 + Service Pack 3) is installed on your programming device.
• The programming device is connected to the CPU.

Preparing the Samples


1. Open the sample project zEn01_13_STEP7__PID-Temp in the
...\STEP7\EXAMPLES folder with the SIMATIC Manager and copy it to your
project folder with a suitable name (File > Save As). Use the View > Details
option to display all the information.
2. Insert a station in your project to match your hardware configuration.
3. Select a sample program and copy the program to the station.
4. Configure the hardware with HW Config.
5. Save the hardware configuration and download it to the CPU.
6. Download the block folder to the CPU.

PID Temperature Control


A5E00125039-01 6-1
Examples for the Temperature Controllers

Code of the Samples


The samples are written in STL. You can view them directly in the LAD/STL/FBD
editor. In this editor, select View > Display with "Symbolic Representation",
"Symbol Selection" and "Comment". If you have enough space on the screen, you
can also display the "Symbol Information".

Using a Sample
The sample programs include variable declaration tables (VAT) with which you can
see and change the values. With the curve recorder in the parameter assignment
user interface, you can also check the curves.

Adapting a Sample
You can use the code of the samples directly as a user program, however, the
samples are not tuned for a real process.

6.2 Example with FB 58 "TCONT_CP" (pulse control)


The "pulse controller" sample contains a simple control loop with the FB 58
"TCONT_CP" temperature controller and temperature process simulated with
PROC_P. The controller is set up as a pulse controller. PROC_P represents a 3rd
order lag with a binary input.
The following schematic shows the control loop of the sample:

SP QPULSE HEAT_P OUTV


TCONT_CP, PROC_P,
PV DB_TCONT_CP DB_PROC_P

Program Structure
The controller and process block are called in OB35 with a cyclic interrupt time of
20 ms. The slower controller stage operates with CYCLE = 400 ms. To achieve the
required accuracy, PER_TM > CYCLE was selected (1 s).
When OB100 starts, the restart bits of the controller and process are set.
The pulse generator for the controller is activated in OB100.

PID Temperature Control


6-2 A5E00125039-01
Examples for the Temperature Controllers

Process Block for Simulation of a Temperature Heating Zone


The block simulates a typical temperature process for heating that can occur as a
control zone in an extruder, an injection molding machine, an annealing machine or
as a separate furnace.
The following schematic shows the block diagram of the process PROC_P:

DISV AMB_TEM
HEAT_P GAIN

100
0 + + OUTV

TM_LAG1 TM_LAG2 TM_LAG3

Parameter

Parameter Comment Description


HEAT_P Heating pulse Binary heating input signal
DISV Disturbance variable
GAIN Process gain
TM_LAG1 Time lag 1
TM_LAG2 Time lag 2
TM_LAG3 Time lag 3
AMB_TEM Ambient temperature
OUTV Output variable temperature of the control zone

The binary input signals are converted to continuous floating-point values (0 or


100). After adding the disturbance variable and multiplying by the process gain, the
process values pass through three 1st order time lag elements. Finally, the value of
the ambient temperature is added. If the controller is initialized with COM_RST =
TRUE, the output variable is set to OUTV = DISV*GAIN + AMB_TEM.

PID Temperature Control


A5E00125039-01 6-3
Examples for the Temperature Controllers

Operator Control and Monitoring


You can make your operator input in the VAT_LoopControl variable table.
The screenshot below shows the VAT_LoopControl variable table:

PID Temperature Control


6-4 A5E00125039-01
Examples for the Temperature Controllers

The controller can be changed to manual at the MAN_ON switch. The manual
value can be set at MAN.
After a warm restart on the CPU, the controller is in manual with the heating off.
If you want to tune the controller, set the TUN_ON bit and enter a setpoint at SP.
You can monitor the tuning at the PHASE parameter.
The result of the tuning can be seen at the status words STATUS_H and
STATUS_D.

Putting the Sample into Operation


To put the sample into operation, follow the steps outlined below:
1. Copy the sample to a CPU.
2. In HW Config, set the cycle time of OB35 to 20 ms.
If a time error occurs in the cyclic interrupt level, you must extend the cycle
time. In this case, the simulation will run more slowly. When you control the
real process, the cycle time of OB35 and the sampling time CYCLE_P or
CYCLE of DB_PROC_P must match.

The screenshot below illustrates controller tuning with FB58:

zEn 13
Process value
Setpoint

Process value

Manip. variable

Zoom

This screenshot shows the controller tuning when heating from ambient
temperature 20°C to the operating point (70°C). Following this, a setpoint step
change was controlled with a control zone. At the new operating point of 90°C, the
controller was tuned again with negative manipulated variable excitation.

PID Temperature Control


A5E00125039-01 6-5
Examples for the Temperature Controllers

6.3 Samples for FB 58 "TCONT_CP" with Short Pulse


Generator Sampling Time
The two samples described here are identical to the "pulse controller" sample
described in Section 6.2. The only differences are in the call mechanism as
described below.
The FB 58 "TCONT_CP" block contains a mechanism that allows the processing of
the controller stage with its intensive calculations and the tuning to be shifted to
OB1 or a slower cyclic interrupt OB (for example OB32: 1 s). You can use this
mechanism when your CPU has a heavy load and you require high accuracy and
therefore a reduction of CYCLE_P to CYCLE.
• The "pulse controller OB35, OB1" sample is suitable for S7-300 since only one
cyclic interrupt level is available.
The following figures show the block call with a short pulse generator sampling
time on an S7-300:
OB1 (free cycle) OB35 ( e.g. 20 ms)

A "DB_TCONT_CP".QC_ACT
JCN M001

Call TCONT_CP, DB_TCONT_CP Call TCONT_CP, DB_TCONT_CP


... ...
SELECT = 1, SELECT = 2,
... ...
M001: NOP 0

• The "pulse controller OB35, OB32" sample is suitable for S7-400 since several
cyclic interrupt levels are available.
The following figures show the block call with a short pulse generator sampling
time on an S7-400:
OB32 (e.g. 1 s) OB35 (e.g. 20 ms)

Call TCONT_CP, DB_TCONT_CP Call TCONT_CP, DB_TCONT_CP


... ...
SELECT = 3, SELECT = 2,
... ...

PID Temperature Control


6-6 A5E00125039-01
Examples for the Temperature Controllers

6.4 Sample for FB 58 "TCONT_CP" (Continuous)


The "continuous controller" sample contains a simple control loop with the
FB 58 "TCONT_CP" temperature controller and temperature process simulated
with PROC_C. The controller is set as a continuous controller. PROC_C
represents a 3rd order lag with an analog input.
The schematic below illustrates the control loop of the sample:

SP LMN INV OUTV


TCONT_CP, PROC_C,
PV DB_TCONT_CP DB_PROC_C

Program Structure
The controller and process block are called in OB35 with a cyclic interrupt time of
100 ms. When OB100 starts, the restart bits of the controller and process are set.

Process Block for Simulation of a Temperature Heating Zone


The block simulates a typical temperature process for heating that can occur as a
control zone in an extruder, an injection molding machine, an annealing machine or
as a separate furnace.
The schematic below is the block diagram of the controlled system PROC_C:

DISV GAIN AMB_TEM

INV
+ + OUTV

TM_LAG1 TM_LAG2 TM_LAG3

PID Temperature Control


A5E00125039-01 6-7
Examples for the Temperature Controllers

Parameter

Parameter Comment Description


INV Input variable Value of the manipulated variable of the controller
DISV Disturbance variable
GAIN Process gain
TM_LAG1 Time lag 1
TM_LAG2 Time lag 2
TM_LAG3 Time lag 3
AMB_TEM Ambient temperature
OUTV Output variable Temperature of the control zone

After adding the analog input signal and a load (disturbance variable) and then
multiplying with the process gain, the process values pass through three 1st order
time lags. Finally, the value of the ambient temperature is added.
If the controller is initialized with COM_RST = TRUE, the output variable is set to
OUTV = (INV + DISV) * GAIN + AMB_TEM.

PID Temperature Control


6-8 A5E00125039-01
Examples for the Temperature Controllers

Operator Control and Monitoring


You can make your operator input in the VAT_LoopControlC variable table.

PID Temperature Control


A5E00125039-01 6-9
Examples for the Temperature Controllers

The controller can be changed to manual at the MAN_ON switch. The manual
value can be set at MAN. After a warm restart on the CPU, the controller is in
manual with the heating off.
If you want to tune the controller, set the TUN_ON bit and enter a setpoint at SP.
You can monitor the tuning at the PHASE parameter.
The result of the tuning can be seen at the status words STATUS_H and
STATUS_D.

Putting the Sample into Operation


To put the sample into operation, follow the steps outlined below:
1. Copy the sample to a CPU.
2. If the default cycle time of OB35 (100 ms) no longer exists, set the cycle time
of OB35 to 100 ms in HW Config. If a time error occurs in the cyclic interrupt
priority class, you must extend the cycle time. In this case, the simulation will
run more slowly. When you control the real process, the cycle time of OB35
and the sampling times CYCLE of DB_TCONT_CP and DB_PROC_C must
match.
3. To run the controller tuning, set TUN_DLMN to 20%.

The screenshot below illustrates controller tuning with TCONT_CP:

zEn 13
Process value
Setpoint

Process value

Manip. variable

Zoom

The screenshot above shows the controller tuning when heating from ambient
temperature 20°C to the operating point (60°C). Following this, a setpoint step
change from 60°C to 85°C is made within the control zone. The overshoot can be
eliminated by reducing PFAC_SP from 0.8 to 0.6.

PID Temperature Control


6-10 A5E00125039-01
Examples for the Temperature Controllers

6.5 Sample for FB 59 "TCONT_S" (Step Controller)


The "step controller" sample contains a simple control loop consisting of a PI step
controller and a third-order lag with an integrating actuator as the model for a
temperature process.
The schematic below illustrates the control loop of the sample:

INV_UP OUTV
SP QLMNUP
TCONT_S, PROC_S,
PV DB_TCONT_S DB_PROC_s
QLMNDN
INV_DOWN

Program Structure
The controller and process are called in OB35. When OB100 starts, the restart bits
of the controller and process are set.

Process Block for Simulation of a Temperature Process


The block simulates a process with a 3rd order time lag. For temperature
processes select 2nd order time lag response with one large and one small time
constant (TM_LAG1 = 10 × TM_LAG2 and TM_LAG3 = 0 s).

The following schematic is the block diagram of the PROC_S controlled process
with actuator:

INV_UP LMNR
INV_DOWN QLMNR_HS
QLMNR_LS
MTR_TM LMNR_HLM
LMNR_LLM

DISV GAIN AMB_TEM

+ + OUTV

TM_LAG1 TM_LAG2 TM_LAG3

PID Temperature Control


A5E00125039-01 6-11
Examples for the Temperature Controllers

Parameter

Parameter Comment Description


INV_UP input variable up
INV_DOWN input variable down
DISV disturbance variable
GAIN process gain
MTR_TM motor actuating time
LMNR_HLM actuator value high
limit
LMNR_LLM actuator value low limit
TM_LAG1 time lag 1
TM_LAG2 time lag 2 with temperature processes:
TM_LAG1 = 10...100 × TM_LAG2)
TM_LAG3 time lag 3 = 0 with temperature processes
AMB_TEM ambient temperature
OUTV output variable temperature
LMNR position feedback
signal
QLMNR_HS high limit stop signal
QLMNR_LS low limit stop signal

Depending on the input signals INV_UP and INV_DOWN, the position feedback
signal LMNR is calculated by an integrator. The position feedback signal is limited
to LMNR_HLM and LMNR_LLM. When the limit is reached, the limit stop signals
QLMNR_HS or QLMNR_LS are set.
After adding a disturbance variable and then multiplying by the process gain, the
process values pass through three 1st order time lag elements.
If the controller is initialized with COM_RST = TRUE, the output variable is set to
OUTV = (LMNR + DISV)*GAIN + AMB_TEM.

PID Temperature Control


6-12 A5E00125039-01
Examples for the Temperature Controllers

Operator Control and Monitoring


You can make your operator input in the VAT_LoopControlS variable table.

The controller can be changed to manual at the LMNS_ON switch. After a warm
restart on the CPU, the controller is in manual. If LMNS_ON is set, the outputs
QLMNUP or QLMNDN can be controlled at the inputs LMNUP or LMNDN in
manual mode.

PID Temperature Control


A5E00125039-01 6-13
Examples for the Temperature Controllers

Putting the Sample into Operation


To put the sample into operation, follow the steps outlined below:
1. Copy the sample to a CPU.
2. In HW Config, set the cycle time of OB35 to 20 ms. If a time error occurs in the
cyclic interrupt level, you must extend the cycle time. In this case, the
simulation will run more slowly. When you control the real process, the cycle
time of OB35 and the sampling time of FB 59 "TCONT_S" must match.
The screenshot below illustrates controller tuning with TCONT_S:

zEn 13
Process value
Setpoint

Prosess value

Manip. variable

Zoom

The schematic above first shows a setpoint step change from 20°C to 36°C. The
manipulated variable limit is not reached, the temperature overshoots by
approximately 5°C (30%). With the subsequent setpoint step change from 36°C to
70°C, the upper limit of the manipulated variable is reached. This avoids overshoot
of the process variable.
If you want to avoid overshoot with small setpoint changes as well, you must
reduce PFAC_SP (for example, from 1.0 to 0.8).

PID Temperature Control


6-14 A5E00125039-01
26.11.2001

A Appendix

A.1 Technical Specifications


The following tables indicate the memory requirements of the temperature blocks:

Block Name FB No. Load Memory Req. Work Memory Req. Local Data
TCONT_CP FB 58 8992 Bytes 8156 144
TCONT_S FB 59 2282 Bytes 1966 64

Instance DB Load Memory Req. Work Memory Req.


Instance DB for TCONT_CP 884 Bytes 424 Bytes
Instance DB for TCONT_S 298 Bytes 134 Bytes

A.2 Execution Times

Block Name FB No. Configuration Execution Execution


Time (in ms) Time (in ms)
CPU 314 CPU 416
TCONT_CP FB 58 Continuous controller with 4.7 0.14
typical parameter settings
TCONT_CP FB 58 Continuous controller with 6.2 0.19
typical parameter settings
+ controller tuning
TCONT_CP FB 58 Only pulse generator 0.87 0.025
processed
TCONT_S FB 59 Step controller with typical 2.8 0.095
parameter settings

Measured with:

CPU 314: 6ES7 314-1AE84-0AB0; 0.3 ms/kAW

CPU 416: 6ES7 416-1XJ02-0AB0; 0.08 ms/kAW

PID Temperature Control


A5E00125039-01 A-1
26.11.2001

Appendix

A.3 DB Assignment

A.3.1 Instance DB for FB 58 "TCONT_CP"

Parameters:

Addr Parameter Decl. Data Range of Initial Description


Type values Value
0.0 PV_IN INPUT REAL Depen- 0.0 PROCESS VARIABLE IN
dent on An initialization value can be set at
the the "Process Variable In" input or an
sensors external process variable in floating-
used point format can be connected.
4.0 PV_PER INPUT INT 0 PROCESS VARIABLE PERIPHERY
The process variable in the peripheral
I/O format is connected to the
controller at the "Process Variable
Peripheral" input.
6.0 DISV INPUT REAL 0.0 DISTURBANCE VARIABLE
For feedforward control, the
disturbance variable is connected to
the "Disturbance Variable" input.
10.0 INT_HPOS INPUT BOOL FALSE INTEGRAL ACTION HOLD IN
POSITIVE DIRECTION
The output of the integral action can
be blocked in a positive direction. To
achieve this, the INT_HPOS input
must be set to TRUE. In a cascade
control, the INT_HPOS of the primary
controller is interconnected to
QLMN_HLM of the secondary
controller.
10.1 INT_HNEG INPUT BOOL FALSE INTEGRAL ACTION HOLD IN
NEGATIVE DIRECTION
The output of the integral action can
be blocked in a negative direction. To
achieve this, the INT_HNEG input
must be set to TRUE. In a cascade
control, the INT_HNEG of the primary
controller is interconnected to
QLMN_LLM of the secondary
controller.

PID Temperature Control


A-2 A5E00125039-01
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type values Value
12.0 SELECT INPUT INT 0 to 3 0 SELECTION OF CALL PID AND
PULSE GENERATOR
If the pulse generator is activated,
there are several ways of calling the
PID algorithm and pulse generator:
• SELECT =0: The controller is
called in a fast cyclic interrupt
level and the PID algorithm and
pulse generator are processed.
• SELECT =1: The controller is
called in OB1 and only the PID
algorithm is processed.
• SELECT =2: The controller is
called in a fast cyclic interrupt
level and only the pulse generator
is processed.
• SELECT =3: The controller is
called in a slow cyclic interrupt
level only the PID algorithm is
processed.
14.0 PV OUTPUT REAL Depen- 0.0 PROCESS VARIABLE
dent on The effective process variable is
the output at the "Process Variable"
sensors output.
used
18.0 LMN OUTPUT REAL 0.0 MANIPULATED VARIABLE
The effective value of the
manipulated variable is output in
floating-point format at the
"Manipulated Variable" output.
22.0 LMN_PER OUTPUT INT 0 MANIPULATED VARIABLE
PERIPHERY
The value of the manipulated variable
in the peripheral format is connected
to the controller at the "Manipulated
Variable Periphery" output.
24.0 QPULSE OUTPUT BOOL FALSE OUTPUT PULSE SIGNAL
The value of the manipulated variable
is output pulse duration modulated at
the QPULSE output.
24.1 QLMN_ OUTPUT BOOL FALSE HIGH LIMIT OF MANIPULATED
HLM VARIABLE REACHED
The value of the manipulated variable
is always limited to an upper and
lower limit. The QLMN_HLM output
indicates when the upper limit is
exceeded.

PID Temperature Control


A5E00125039-01 A-3
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type values Value
24.2 QLMN_LLM OUTPUT BOOL FALSE LOW LIMIT OF MANIPULATED
VARIABLE REACHED
The value of the manipulated variable
is always limited to an upper and
lower limit. The QLMN_LLM output
indicates when the lower limit is
exceeded.
24.3 QC_ACT OUTPUT BOOL TRUE NEXT CYCLE, THE CONTINUOUS
CONTROLLER IS WORKING
This parameter indicates whether or
not the continuous controller stage
will be executed at the next block call
(relevant only when SELECT has the
value 0 or 1).
26.0 CYCLE INPUT/ REAL ≥ 0.001 s 0.1 s SAMPLE TIME OF CONTINUOUS
OUTPUT CONTROLLER [s]
This sets the sampling time for the
PID algorithm. The tuner calculates
the sampling time in Phase 1 and
enters this in CYCLE.
30.0 CYCLE_P INPUT/ REAL ≥ 0.001 s 0.02 s SAMPLE TIME OF PULSE
OUTPUT GENERATOR [s]
At this input, you enter the sampling
time for the pulse generator stage.
FB 58 "TCONT_CP" calculates the
sampling time in Phase 1 and enters
it in CYCLE_P.
34.0 SP_INT INPUT/ REAL Depen- 0.0 INTERNAL SETPOINT
OUTPUT dent on The "Internal Setpoint" input is used
the to specify a setpoint.
sensors
used
38.0 MAN INPUT/ REAL 0.0 MANUAL VALUE
OUTPUT The "Manual Value" input is used to
specify a manual value. In automatic
mode, it is corrected to the
manipulated variable.
42.0 COM_RST INPUT/ BOOL FALSE COMPLETE RESTART
OUTPUT The block has an initialization routine
that is processed when the
COM_RST input is set.
42.1 MAN_ON INPUT/ BOOL TRUE MANUAL OPERATION ON
OUTPUT If the "Manual Operation On" input is
set, the control loop is interrupted.
The MAN manual value is set as the
value of the manipulated variable.

PID Temperature Control


A-4 A5E00125039-01
26.11.2001

Appendix

Internal Parameters

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
44.0 DEADB_W INPUT REAL Dependent 0.0 DEAD BAND WIDTH
on the The error passes through a dead
sensors band. The "dead band width" input
used decides the size of the dead band.
48.0 I_ITLVAL INPUT REAL 0 to 100% 0.0 INITIALIZATION VALUE OF THE
INTEGRAL ACTION
The output of the integral action
can be set at the I_ITL_ON input.
The initialization value is applied to
the "Initialization value of the
integral action" input. During a
restart
COM_RST = TRUE, the I action is
set to the initialization value.
52.0 LMN_HLM INPUT REAL > LMN_ 100.0 MANIPULATED VARIABLE HIGH
LLM LIMIT
The value of the manipulated
variable is always limited to an
upper and lower limit. The
"manipulated variable high limit"
input specifies the upper limit.
56.0 LMN_LLM INPUT REAL < LMN_ 0.0 MANIPULATED VARIABLE LOW
HLM LIMIT
The value of the manipulated
variable is always limited to an
upper and lower limit. The
"manipulated variable low limit"
input specifies the lower limit.
60.0 PV_FAC INPUT REAL 1.0 PROCESS VARIABLE FACTOR
The "process variable factor" input
is multiplied by the "process value
periphery". The input is used to
adapt the process variable range.
64.0 PV_OFFS INPUT REAL 0.0 PROCESS VARIABLE OFFSET
The "process variable offset" input
is added to the "process variable
periphery". The input is used to
adapt the process variable range.
68.0 LMN_FAC INPUT REAL 1.0 MANIPULATED VARIABLE
FACTOR
The "manipulated variable factor"
input is multiplied by the
manipulated variable. The input is
used to adapt the manipulated
variable range.

PID Temperature Control


A5E00125039-01 A-5
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
72.0 LMN_OFFS INPUT REAL 0.0 MANIPULATED VARIABLE
OFFSET
The "manipulated variable offset"
input is added to the value of the
manipulated variable. The input is
used to adapt the manipulated
variable range.
76.0 PER_TM INPUT REAL ≥ CYCLE 1.0 s PERIOD TIME [s]
The pulse repetition period of the
pulse duration modulation is
entered at the PER_TM parameter.
The relationship of the pulse
repetition period to the sampling
time of the pulse generator decides
the accuracy of the pulse duration
modulation.
80.0 P_B_TM INPUT REAL ≥ 0.0 s 0.02 s MINIMUM PULSE/
BREAK TIME [s]
A minimum pulse or minimum
break time can be set at the
"minimum pulse/break time"
parameter. P_B_TM is limited
internally to > CYCLE_P.
84.0 TUN_DLMN INPUT REAL -100.0 to 20.0 DELTA MANIPULATED
100.0 % VARIABLE FOR PROCESS
EXCITATION
Process excitation for controller
tuning results from a setpoint step
change at TUN_DLMN.
88.0 PER_ INPUT INT 0, 1, 2 0 PERIPHERY MODE
MODE You can enter the type of the I/O
module at this switch. The process
variable at input PV_PER is then
normalized to °C at the PV output.
• PER_MODE =0: standard
• PER_MODE =1: climate
• PER_MODE =2: current/voltage
90.0 PVPER_ON INPUT BOOL FALSE PROCESS VARIABLE
PERIPHERY ON
If you want the process variable to
be read in from the I/O, the
PV_PER input must be connected
to the I/O and the "process variable
periphery" input must be set.

PID Temperature Control


A-6 A5E00125039-01
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
90.1 I_ITL_ON INPUT BOOL FALSE INITIALIZATION OF THE
INTEGRAL ACTION ON
The output of the integral action
can be set to the I_ITLVAL input.
The "Set I action" input must be set.
90.2 PULSE_ON INPUT BOOL FALSE PULSE GENERATOR ON
If PULSE_ON = TRUE is set, the
pulse generator is activated
90.3 TUN_KEEP INPUT BOOL FALSE KEEP TUNING ON
The mode changes to automatic
only when TUN_KEEP changes to
FALSE.
92.0 ER OUTPUT REAL Dependent 0.0 ERROR SIGNAL
on the The effective error is output at the
sensors "error signal" output.
used
96.0 LMN_P OUTPUT REAL 0.0 PROPORTIONALITY
COMPONENT
The "proportionality component"
contains the proportional action of
the manipulated variable.
100.0 LMN_I OUTPUT REAL 0.0 INTEGRAL COMPONENT
The "integral component" contains
the integral action of the
manipulated variable.
104.0 LMN_D OUTPUT REAL 0.0 DERIVATIVE COMPONENT
The "derivative component"
contains the derivative action of the
manipulated variable.
108.0 PHASE OUTPUT INT 0, 1, 2, 3, 0 PHASE OF SELF TUNING
4, 5, 7 The current phase of the controller
tuning is indicated at the PHASE
output (0..7).
110.0 STATUS_H OUTPUT INT 0 STATUS HEATING OF SELF
TUNING
STATUS_H indicates the diagnostic
value of the search for the point of
inflection when heating.
112.0 STATUS_D OUTPUT INT 0 STATUS CONTROLLER DESIGN
OF SELF TUNING
STATUS_D indicated the
diagnostic value of the controller
design when heating.
114.0 QTUN_ OUTPUT BOOL 0 TUNING IS ACTIVE (PHASE 2)
RUN The tuning manipulated variable
has been applied, tuning has
started and is still in phase 2
(locating the point of inflection).

PID Temperature Control


A5E00125039-01 A-7
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
116.0 PI_CON OUTPUT STRUCT PI CONTROLLER PARAMETERS
+0.0 GAIN OUTPUT REAL %/phys.unit 0.0 PI PROPORTIONAL GAIN
+4.0 TI OUTPUT REAL ≥ 0.0 s 0.0 s PI RESET TIME [s]
124.0 PID_CON OUTPUT STRUCT PID CONTROLLER
PARAMETERS
+0.0 GAIN OUTPUT REAL 0.0 PID PROPORTIONAL GAIN

+4.0 TI OUTPUT REAL ≥ 0.0 s 0.0 s PID RESET TIME [s]


+8.0 TD OUTPUT REAL ≥ 0.0 s 0.0 s PID DERIVATIVE TIME [s]
136.0 PAR_SAVE OUTPUT STRUCT SAVED CONTROLLER
PARAMETERS
The PID parameters are saved in
this structure.
+0.0 PFAC_SP INPUT/ REAL 0.0 to 1.0 1.0 PROPORTIONAL FACTOR FOR
OUTPUT SETPOINT CHANGES

+4.0 GAIN OUTPUT REAL %/phys.unit 0.0 PROPORTIONAL GAIN

+8.0 TI INPUT/ REAL ≥ 0.0 s 40.0 s RESET TIME [s]


OUTPUT
+12.0 TD INPUT/ REAL ≥ 0.0 s 10.0 s DERIVATIVE TIME [s]
OUTPUT
+16.0 D_F OUTPUT REAL 5.0 to 10.0 5.0 DERIVATIVE FACTOR

+20.0 CON_ OUTPUT REAL ≥ 0.0 100.0 CONTROL ZONE ON


ZONE
+24.0 CONZ_ON OUTPUT BOOL FALSE CONTROL ZONE
162.0 PFAC_SP INPUT/ REAL 0.0 to 1.0 1.0 PROPORTIONAL FACTOR FOR
OUTPUT SETPOINT CHANGES
PFAC_SP specifies the effective P
action when there is a setpoint
change. This is set between 0 and
1.
• 1: P action has full effect if the
setpoint changes.
• 0: P action has no effect if the
setpoint changes.
166.0 GAIN INPUT/ REAL %/phys. unit 2.0 PROPORTIONAL GAIN
OUTPUT The "proportional gain" input
specifies the controller gain. The
direction of control can be reversed
by giving GAIN a negative sign.

PID Temperature Control


A-8 A5E00125039-01
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
170.0 TI INPUT/ REAL ≥ 0.0 s 40.0 s RESET TIME [s]
OUTPUT The "reset time" input (integral
time) decides the integral action
response.
174.0 TD INPUT/ REAL ≥ 0.0 s 10.0 s DERIVATIVE TIME [s]
OUTPUT The "derivative time" input decides
the derivative action response.
178.0 D_F INPUT/ REAL 5.0 to 10.0 5.0 DERIVATIVE FACTOR
OUTPUT The derivative factor decides the
lag of the D action.
• D_F = derivative time/
"lag of the D action"
182.0 CON_ INPUT/ REAL Dependent 100.0 CONTROL ZONE
ZONE OUTPUT on the If the error is greater than the
sensors control zone width, the upper
used manipulated variable limit is output
as the manipulated variable.
If the error is less than the negative
control zone width, the lower
manipulated variable limit is output
as the manipulated variable.
186.0 CONZ_ON INPUT/ BOOL FALSE CONTROL ZONE ON
OUTPUT CONZ_ON =TRUE activates the
control zone.
186.1 TUN_ON INPUT/ BOOL FALSE SELF TUNING ON
OUTPUT If TUN_ON=TRUE is set, the
manipulated value is averaged until
the manipulated variable excitation
TUN_DLMN is activated either by a
setpoint step change or by
TUN_ST=TRUE.
186.2 TUN_ST INPUT/ BOOL FALSE START SELF TUNING
OUTPUT If the setpoint is to remain constant
during controller tuning at the
operating point, a manipulated
variable step change by the amount
of TUN_DLMN is activated by
TUN_ST=1.

PID Temperature Control


A5E00125039-01 A-9
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
186.3 UNDO_ INPUT/ BOOL FALSE UNDO CHANGE OF
PAR OUTPUT CONTROLLER PARAMETERS
Loads the controller parameters
PFAC_SP, GAIN, TI, TD, D_F
CONZ_ON and CON_ZONE from
the data structure PAR_SAVE (only
in manual mode).
186.4 SAVE_PAR INPUT/ BOOL FALSE SAVE CURRENT CONTROLLER
OUTPUT PARAMETERS
Saves the controller parameters
PFAC_SP, GAIN, TI, TD, D_F
CONZ_ON and CON_ZONE in the
data structure PAR_SAVE.
186.5 LOAD_PID INPUT/ BOOL FALSE LOAD OPTIMIZED PI/PID
OUTPUT PARAMETERS
Loads the controller parameters
GAIN, TI, TD depending on
PID_ON from the data structure
PI_CON or PID_CON (only in
manual mode)
186.6 PID_ON INPUT/ BOOL TRUE PID MODE ON
OUTPUT At the PID_ON input, you can
specify whether or not the tuned
controller will operate as a PI or
PID controller.
• PID controller:
PID_ON = TRUE
• PI controller:
PID_ON = FALSE
It is nevertheless possible that with
certain process types, only a PI
controller will be designed despite
PID_ON = TRUE.
188.0 GAIN_P OUTPUT REAL 0.0 PROCESS PROPORTIONAL
GAIN
Identified process gain. For the
process type I, GAIN_P tends to be
estimated too low.
192.0 TU OUTPUT REAL ≥ 3*CYCLE 0.0 DELAY TIME [s]
Identified delay of the process.
196.0 TA OUTPUT REAL 0.0 RECOVERY TIME [s]
Identified system time constant of
the process. For the process type I,
TA tends to be estimated too low.
200.0 KIG OUTPUT REAL 0.0 MAXIMAL ASCENT RATIO OF PV
WITH 100 % LMN CHANGE
GAIN_P = 0.01 * KIG * TA

PID Temperature Control


A-10 A5E00125039-01
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
204.0 N_PTN OUTPUT REAL 1.01 to 10.0 0.0 PROCESS ORDER
The parameter specifies the order
of the process. "Non-integer
values" are also possible.
208.0 TM_LAG_P OUTPUT REAL 0.0 TIME LAG OF PTN MODEL [s]
Time lag of a PTN model (practical
values only for N_PTN >= 2).
212.0 T_P_INF OUTPUT REAL 0.0 TIME TO POINT OF
INFLECTION [s]
Time from process excitation until
the point of inflection.
216.0 P_INF OUTPUT REAL Dependent 0.0 PV AT POINT OF INFLECTION -
on the PV0
sensors Process variable change from
used process excitation until the point of
inflection.
220.0 LMN0 OUTPUT REAL 0 to 100% 0.0 MANIPULATED VAR. AT BEGIN
OF TUNING
Detected in phase 1 (mean value).
224.0 PV0 OUTPUT REAL Dependent 0.0 PROCESS VALUE AT BEGIN OF
on the TUNING
sensors
used
228.0 PVDT0 OUTPUT REAL 0.0 RATE OF CHANGE OF PV AT
BEGIN OF TUNING [1/s]
Sign adapted.
232.0 PVDT OUTPUT REAL 0.0 CURRENT RATE OF CHANGE OF
PV [1/s]
Sign adapted.
236.0 PVDT_MAX OUTPUT REAL 0.0 MAX. RATE OF CHANGE OF PV
PER SECOND [1/s]
Maximum rate of change of the
process variable at the point of
inflection at the (sign adapted,
always > 0), used to calculate TU
and KIG.
240.0 NOI_PVDT OUTPUT REAL 0.0 RATIO OF NOISE IN PVDT_MAX
IN %
The higher the proportion of noise,
less accurate (less aggressive) the
control parameters.
244.0 NOISE_PV OUTPUT REAL 0.0 ABSOLUTE NOISE IN PV
Difference between maximum and
minimum process variable in
phase 1.

PID Temperature Control


A5E00125039-01 A-11
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
248.0 FIL_CYC OUTPUT INT 1 ... 1024 1 NO OF CYCLES FOR MEAN-
VALUE FILTER
The process variable is averaged
over FIL_CYC cycles. When
necessary, FIL_CYC is increased
automatically from 1 to a maximum
of 1024.
250.0 POI_CMAX OUTPUT INT 2 MAX NO. OF CYCLES AFTER
POINT OF INFLECTION
This time is used to find a further (in
other words better) point of
inflection when measurement noise
is present. The tuning is completed
only after this time.
252.0 POI_CYCL OUTPUT INT 0 NUMBER OF CYCLES AFTER
POINT OF INFLECTION

PID Temperature Control


A-12 A5E00125039-01
26.11.2001

Appendix

A.3.2 Instance DB for FB 59 "TCONT_S"

Parameter:

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
0.0 CYCLE INPUT REAL ≥ 0.001 0.1 s SAMPLE TIME OF STEP
CONTROLLER [s]
At this input, you enter the sampling
time for the controller.
4.0 SP_INT INPUT REAL Dependent 0.0 INTERNAL SETPOINT
on the The "Internal Setpoint" input is used
sensors to specify a setpoint.
used
8.0 PV_IN INPUT REAL Dependent 0.0 PROCESS VARIABLE IN
on the An initialization value can be set at
sensors the "Process Variable In" input or
used an external process variable in
floating-point format can be
connected.
12.0 PV_PER INPUT INT 0 PROCESS VARIABLE
PERIPHERY
The process variable in the
peripheral I/O format is connected
to the controller at the "Process
Variable Peripheral" input.
14.0 DISV INPUT REAL 0.0 DISTURBANCE VARIABLE
For feedforward control, the
disturbance variable is connected to
the "Disturbance Variable" input.
18.0 LMNR_HS INPUT BOOL FALSE HIGH LIMIT SIGNAL OF
REPEATED MANIPULATED
VALUE
The signal "valve at upper limit
stop" is connected to the "Upper
limit stop signal of the position
feedback signal".
• LMNR_HS=TRUE: The valve is
at the upper limit stop.

PID Temperature Control


A5E00125039-01 A-13
26.11.2001

Appendix

Addr Parameter Decl. Data Range of Initial Description


Type Values Value
18.1 LMNR_LS INPUT BOOL FALSE LOW LIMIT SIGNAL OF
REPEATED MANIPULATED
VALUE
The signal "valve at upper lower
stop" is connected to the input
"Upper limit stop signal of the
position feedback signal".
• LMNR_LS=TRUE:
The valve is at the lower limit
stop.
18.2 LMNS_ON INPUT BOOL TRUE MANIPULATED SIGNALS ON
The processing of the controller
output signal is set to manual at the
"manipulated signals on" input.
18.3 LMNUP INPUT BOOL FALSE MANIPULATED SIGNALS UP
With the controller output signals
set to manual, the QLMNUP output
signal is applied to the
"manipulated signals up" input.
18.4 LMNDN INPUT BOOL FALSE MANIPULATED SIGNALS DOWN
With the controller output signals
set to manual, the QLMNDN output
signal is applied to the
"manipulated signals down" input.
20.0 QLMNUP OUTPUT BOOL FALSE MANIPULATED SIGNAL UP
If the "manipulated signal up"
output is set, the valve will be
opened.
20.1 QLMNDN OUTPUT BOOL FALSE MANIPULATED SIGNAL DOWN
If the "manipulated signal down"
output is set, the valve will be
closed.
22.0 PV OUTPUT REAL 0.0 PROCESS VARIABLE
The effective process variable is
output at the "Process Variable"
output.
26.0 ER OUTPUT REAL 0.0 ERROR SIGNAL
The effective error is output at the
"error signal" output.
30.0 COM_RST INPUT/ BOOL FALSE COMPLETE RESTART
OUTPUT The block has an initialization
routine that is processed when the
COM_RST input is set.

PID Temperature Control


A-14 A5E00125039-01
26.11.2001

Appendix

Internal Parameters

Addr Parameter Decl Data Range of Initial Description


Type values Value
32.0 PV_FAC INPUT REAL 1.0 PROCESS VARIABLE FACTOR
The "process variable factor" input is
multiplied by the "process value".
The input is used to adapt the
process variable range.
36.0 PV_OFFS INPUT REAL Dependent 0.0 PROCESS VARIABLE OFFSET
on the The "process variable offset" input is
sensors added to the process variable. The
used input is used to adapt the process
variable range.
40.0 DEADB_W INPUT REAL ≥ 0.0 0.0 DEAD BAND WIDTH
The error passes through a dead
band. The "dead band width" input
decides the size of the dead band.
44.4 PFAC_SP INPUT REAL 0.0 to 1.0 1.0 PROPORTIONAL FACTOR FOR
SETPOINT CHANGES [0..1 ]
PFAC_SP specifies the effective P
action when there is a setpoint
change.
This is set between 0 and 1.
• 1: P action has full effect if the
setpoint changes.
• 0: P action has no effect if the
setpoint changes.
48.0 GAIN INPUT REAL %/phys. 2.0 PROPORTIONAL GAIN
unit The "proportional gain" input
specifies the controller gain. The
direction of control can be reversed
by giving GAIN a negative sign.
52.0 TI INPUT REAL ≥ 0.0 s 40.0 s RESET TIME [s]
The "reset time" input (integral time)
decides the integral action response.
56.0 MTR_TM INPUT REAL ≥ CYCLE 30 s MOTOR ACTUATING TIME
The run time of the valve from limit
stop to limit stop is entered in the
"motor actuating time" parameter.
60.0 PULSE_TM INPUT REAL ≥ 0.0 s 0.0 s MINIMUM PULSE TIME [s]
A minimum pulse time can be set
with the "minimum pulse time"
parameter.
64.0 BREAK_TM INPUT REAL ≥ 0.0 s 0.0 s MINIMUM BREAK TIME [s]
A minimum break time can be set
with the "minimum break time"
parameter.

PID Temperature Control


A5E00125039-01 A-15
26.11.2001

Appendix

Addr Parameter Decl Data Range of Initial Description


Type values Value
68.0 PER_ INPUT INT 0, 1, 2 0 PERIPHERY MODE
MODE You can enter the type of the I/O
module at this switch. The process
variable at input PV_PER is then
normalized to °C at the PV output.
• PER_MODE =0: standard
• PER_MODE =1: climate
• PER_MODE =2: current/voltage
70.0 PVPER_ON INPUT BOOL FALSE PROCESS VARIABLE PERIPHERY
ON
If you want the process variable to
be read in from the I/O, the PV_PER
input must be connected to the I/O
and the "process variable periphery"
input must be set.

PID Temperature Control


A-16 A5E00125039-01
26.11.2001

Appendix

A.4 List of Possible Messages during Tuning

STATUS_H Description Remedy


0 Default or no new controller
parameters (yet).
10000 Tuning completed and suitable
controller parameters found
2xxxx Tuning completed and controller
parameters uncertain
2xx2x Point of inflection not reached If the controller is oscillating, weaken
(only with excitation by setpoint the controller parameters and repeat
step change) the attempt with a lower manipulated
variable difference TUN_DLMN.
2x1xx Estimation error (TU < 3*CYCLE) Reduce CYCLE and repeat the
attempt
Special case, purely PT1 process: Do
not repeat, possibly weaken controller
parameters.
2x3xx TU estimated too high Repeat the attempt under better
conditions
21xxx Estimation error N_PTN < 1 Repeat the attempt under better
conditions
22xxx Estimation error N_PTN > 10 Repeat the attempt under better
conditions
3xxxx Tuning terminated in Phase 1
due to bad parameter settings:
30002 Effective manip. var. difference < Correct manipulated variable
5% difference TUN_DLMN.

STATUS_D Description
0 No controller parameters were calculated
110 N_PTN <= 1.5 process type I fast
121 N_PTN > 1.5 process type I
122 N_PTN = 1.9 process type I after Phase 7 (previously N_PTN > 1.9)
200 N_PTN > 1.9 process type II (intermediate range)
310 N_PTN >= 2.1 process type III fast
320 N_PTN > 2.6 process type III

Note
If you stop the tuning in phase 1 or 2, STATUS_H is set to 0. STATUS_D,
however, continues to indicate the status of the last controller calculation.
The higher the value of STATUS_D, the higher the order of the controlled
process, the higher the ratio TU/TA and the softer the controller parameters.

PID Temperature Control


A5E00125039-01 A-17
26.11.2001

Appendix

PID Temperature Control


A-18 A5E00125039-01
26.11.2001

B Abbreviations and Acronyms


Abbr./Acronym Explanation
BREAK_TM Minimum break time [s]
COM_RST Restart
CON_ZONE Control zone width
CONZ_ON Activate control zone
CYCLE Sampling time [s]
CYCLE_P Sampling time of the pulse generator [s]
D_F Derivative factor
DEADB_W Deadband width
DISV Disturbance variable
ER Error
FIL_CYC Number of cycles of the mean value filter
GAIN Controller gain
GAIN_P Process gain
I_ITL_ON Set I-action
I_ITLVAL Initialization value for I-action
INT_HNEG Block I-action in negative direction
INT_HPOS Block I-action in positive direction
KIG Maximum process value rate of rise following a manipulated variable change
from 0 to 100 % [1/s]
LMN Value of the manipulated variable
LMN_D D-action
LMN_FAC Manipulated variable factor
LMN_HLM Manipulated variable high limit
LMN_I I-action
LMN_LLM Manipulated variable low limit
LMN_OFFS Manipulated variable offset
LMN_P P-action
LMN_PER Manipulated variable periphery
LMN0 Manipulated variable at start of tuning
LMNDN Actuating signal down
LMNR_HS Upper limit stop signal of the position feedback signal

PID Temperature Control


A5E00125039-01 B-1
26.11.2001

Abbreviations and Acronyms

Abbr./Acronym Explanation
LMNR_LS Lower limit stop signal of the position feedback signal
LMNS_ON Activate manual mode for actuating signals
LMNUP Actuating signal up
LOAD_PID Load tuned PID parameters
MAN Manual value
MAN_ON Activate manual mode
MTR_TM Motor actuating time [s]
N_PTN Process order
NOI_PVDT Noise proportion in PVDT_MAX in %
NOISE_PV Absolute noise in process value
P_B_TM Minimum pulse/minimum break time [s]
P_INF Process value at point of inflection – PV0
PAR_SAVE Saved PID controller parameters
PER_MODE Periphery mode
PER_TM Pulse repetition period [s]
PFAC_SP Proportional factor for setpoint changes
PHASE Phase indicator for controller tuning
PI_CON PI controller parameter
PID_CON PID controller parameter
PID_ON Activate PID mode
POI_CMAX Maximum no. of cycles after the point of inflection
POI_CYCL Number of cycles after the point of inflection
PULSE_ON Activate pulse generator
PULSE_TM Minimum pulse time [s]
PV Actual value
PV_FAC Process value factor
PV_IN Process value input
PV_OFFS Process value offset
PV_PER Process value periphery
PV0 Process value at start of tuning
PVDT Current process value rate of rise [1/s]
PVDT_MAX Max. change of process value per second [1/s]
PVDT0 Process value rate of rise at start of tuning [1/s]
PVPER_ON Activate process value periphery
QC_ACT Continuous controller action will be processed at the next call
QLMN_HLM High limit of the manipulated variable reached
QLMN_LLM Low limit of the manipulated variable reached

PID Temperature Control


B-2 A5E00125039-01
26.11.2001

Abbreviations and Acronyms

Abbr./Acronym Explanation
QLMNDN Actuating signal down
QLMNUP Actuating signal up
QPULSE Pulse output
QTUN_RUN Tuning active (phase 2)
SAVE_PAR Save current controller parameters
SELECT Selection of the call for PID and pulse generator
SP_INT Internal setpoint
STATUS_D Status controller design of the controller tuning
STATUS_H Status heating of the controller tuning
T_P_INF Time to point of inflection [s]
TA Time response of the process (recovery time) [s]
TD Derivative time constant [s]
TI Integral time constant or reset time [s]
TM_LAG_P Time constant of a PTN model [s]
TU Time lag of the process (delay time) [s]
TUN_DLMN Delta manipulated variable for process excitation
TUN_KEEP Keep tuning mode
TUN_ON Activate controller tuning
TUN_ST Start controller tuning
UNDO_PAR Undo controller parameter change

PID Temperature Control


A5E00125039-01 B-3
26.11.2001

Abbreviations and Acronyms

PID Temperature Control


B-4 A5E00125039-01
26.11.2001

Index
feedforward control .................................... 2-7
C initialization ............................ 2-15, 2-16, 2-19
instance DB ............................................... A-2
Control............................................................6-1 integrator.................................................... 2-6
Controller sampling time.............. 2-16, 2-17, 4-7 manipulated variable calculation...... 2-7, 2-10,
Controller tuning .............................................3-1 ...............................2-12, 2-13, 3-2, 3-4, 3-5
improving..................................................3-16 manipulated variable limitation................... 2-9
messages ................................................ A-17 manipulated variable normalization ........... 2-9
phases........................................................3-4 manual value processing ........................... 2-8
problems ..................................................3-12 PID algorithm ............................................. 2-5
result ........................................................3-11 preparations............................................... 3-6
starting .......................................................3-8 process value format conversion ............... 2-2
stopping....................................................3-11 process value normalization ...................... 2-2
strong heat coupling .................................3-18 process value normalization, example ....... 2-3
weak heat coupling...................................3-19 process value options ................................ 2-2
Cooling ...........................................................1-3 pulse generator........................................ 2-12
Cooling process .............................................1-3 reloading controller parameters ............... 2-10
CYCLE .........................................................2-16 sampling time of the pulse generator ....... 2-16
CYCLE_P ............................................2-16, 2-18 saving controller parameters.................... 2-10
setpoint branch .......................................... 2-1
D structure outline ......................................... 1-3
weakening the P action.............................. 2-6
Disturbances ..................................................3-3 FB 59 "TCONT_S" ......................................... 1-4
application.................................................. 1-4
E block diagram ............................................ 4-5
deadband................................................... 4-3
Example with FB 58 "TCONT_CP".................6-2
description ................................................. 1-4
error formation .................................... 4-1, 4-3
F initialization ................................................ 4-7
FB 58 "TCONT_CP" instance DB ............................................. A-13
application ..................................................1-3 PI step controller algorithm ........................ 4-4
block diagram ...........................................2-14 process value conversion .......................... 4-2
block diagram error formation ....................2-1 process value normalization ...................... 4-2
block diagram PID algorithm .... 2-4, 2-7, 2-10, process value options ................................ 4-1
.............................. 2-12, 2-13, 3-2, 3-4, 3-5 sampling time............................................. 4-7
block diagram saving and reloading controller setpoint branch .......................................... 4-1
parameters ...........................................2-10 Fine tuning in control mode ......................... 3-16
control zone................................................2-7
controller sampling time ..................2-16, 2-17 G
controller tuning..........................................3-1
Getting Started............................................... 5-1
cooling process ..........................................1-3
deadband ...................................................2-4
description..................................................1-4 I
error formation.....................................2-1, 2-3 Instance DB for FB 58 "TCONT_CP"............. A-2
example....................................... 6-2, 6-6, 6-7 Instance DB for FB 59 "TCONT_S" ............. A-13

PID Temperature Control


A5E00125039-01 Index-1
26.11.2001

Index

L Pulse duration modulation ............................2-12


Pulse generator ............................................2-12
Linearity ......................................................... 3-3 PULSEGEN..................................................2-12

M R
Messages during tuning...............................A-17 Readme file ....................................................1-2

O S
Operating range ............................................. 3-3 Sample for FB 58 "TCONT_CP"............. 6-6, 6-7
Sample for FB 59 "TCONT_S" .....................6-11
P Sampling time of the pulse generator...........2-16
Software
PI step controller algorithm ............................ 4-4 installing .....................................................1-1
feedforward control .................................... 4-4 STATUS_H.................................................. A-17
Process type
checking................................................... 3-10
Process types ................................................ 3-2
T
Product structure............................................ 1-1 Transient response.........................................3-3

PID Temperature Control


Index-2 A5E00125039-01

You might also like