Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

PID_CTR Page 1 of 18

PID_CTR
PID controller. CONTROL PID controller

Function
The PID_CTR (FB114) block is a universal PID controller (P, PI, PD, or PID), with external tracking. It supplies a modulating manipulated variable.
Block PID_CTR also helps create the sequence controller and the sequence cascade controller.
 Sequence controller: One PID-CTR per sequence controller element; possibly one SEQLINK block.
 Sequence cascade controller: One PID-CTR per sequence controller element; additional CAS_CTR and possibly one SEQLINK block.
The control response of the sequence controller either differs for each sequence controller element or is the same for all sequence controller
elements.

Functioning of P, PI, PD, PID controllers


The block has the following integrated functions:
 Adjustable P, PI, PID, PD, or 2-point controller response.
 Adjustable gain, integral action time, and derivative action time.
 The gain factor for controller gain can be interconnected.
 Adjustable neutral zone.
 Selectable direction of control action (direct acting/reverse acting).
 Controller demand (0...100%).
 Adjustable runtime for the manipulated variable (0...100%, 100...0%).
 Manipulated variable can be limited to min/max.
 Invertible manipulated variable.
 Adjustable offset (for P and PD controllers).

The block controls any controlled variables such as:


 Temperature, temperature difference.
 Pressure, pressure difference.
 Velocity.
 Absolute humidity, relative humidity.

The universal PID controller controls the manipulated variable in the following operating principle (If the block is used as a sequence controller
element in a sequence controller, it controls the control sequence in the same way).

Step Process

1 The controller must be enabled [EnFnct] = Yes and [OoServ] = Off. PID controller operating modes

2 The manipulated variable [Yctl] is calculated by the control difference [Xctl]-[Sp] in accordance with the control behavior
[GainFac], [Gain], [Tn], [Tv], [Nz], [Actg], [Inv] and the limitations such as [Ti0to100], [YctrMin].

3 The manipulated variable [Yctr] is available at the output.

--- If [EnTrack] = Yes, then the pending, effective positioning signal at input [Track] is processed in lieu of [Yctr]. External tracking
Typical controllers with special settings are: Two-point controller, P/PD controller. The default setting is a PI controller.

PID controller operating modes


The operating mode of the PID controller can be predefined via inputs [EnFnct] and [OoServ].

If... then...

EnFnct OoServ PID controller.

No Off The controller is switched off: Off.


The controller output is [Yctr] = 0.
On changeover to this operating mode, [Yctr] = 0 is set immediately.

Yes Off The controller is enabled: On.


When changing from Off to On, the I-portion is set to [Yctri] = [YctrOfs].
When changing from Command to On, the I-portion is set to [Yctri] = DefVal.

No or Yes On. The controller output is preset: Command.


The controller ouptut is [Yctr] = DefVal, the I-portion is [Yctri] = DefVal.
On changeover to this operating mode, [Yctr] = 0 is set immediately.

Gain [Gain] and gain factor [GainFac]


The P-portion of [Yctr] is calculated from gain [Gain] * [GainFac]. Interconnecting [GainFac] directly influences the present controller gain (e.g.
using block ADAGAIN). Illustration

If Gain = 0, the controller exhibits two-point behavior. Two-point controller

Integral action time [Tn]


The I-portion of [Yctr] is calculated from the integral action time [Tn].
If [Tn] = 0, the controller exhibits P or PD control behavior. P/PD controllers

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 2 of 18

Derivative action time [Tv]


The D-portion of [Yctr] is calculated from the derivative action time [Tn].
If [Tv] = 0, the controller exhibits P or PI control behavior.

Neutral zone [Nz]


The neutral zone [Nz] represents the insensitive area of the controller around the setpoint.
If the absolute control difference is, less than a quarter of the neutral zone for at least 7 process cycles |[Sp]-[Xctr]|<[Nz]/4 (as of t1), without the
control difference ever exceeding half the neutral zone |[Sp]-[Xctr]|<[Nz]/2, then (t2) no longer updates the manipulated variable at controller
output [Yctr]. The controller output is constant until the control difference is outside the neutral zone. The controller output resumes the calculated
manipulated variable (t3). Illustration

Control action [Actg]


[Actg] determines the relationship between the manipulated variable and the control variable. Illustration

Direct acting: If the actual value [Xctr] increases, the controller output value [Yctr] increases, e.g. cooling, dehumidifying.
Indirect acting: If the actual value [Xctr] increases, the controller output value [Yctr] decreases, e.g. heating, humidifying.

Controller demand [DmdMod]


[DmdMod] determines response of controller demand.

[DmdMod] = Off. Controller demand [CtrDmd] = 0%

[DmdMod] = 2-position For calculated controller demand of 0%, [CtrDmd] = 0%, otherwise 100%.

[DmdMod] = Modulating Controller demand [CtrDmd] = 0-100%.

For fault [ErSta] = Yes or override [OoServ] = On, [CtrDmd] is set to 0%.

Calculate controller demand for switched-on PID controller:


If the PID controller is switched on via [EnFnct], the present controller demand is calculated dependent on the present controller output and the
controller output range.

Calculate controller demand for switched-off PID controller:


If the PID controller is switched off via [EnFnct], the controller calculates a "virtual" demand dependent on the control error and controller settings.
This demand corresponde the standardized P-ratio of the controller for "stand-alone" PID controller.

If the controller has 2-point response [Gain] = 0, demand is calculated for stand-alone PID controller as follows:
Actg Sp - Xctr CtrDmd

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 3 of 18

Reverse <= 0 0%

Reverse >0 100%

Direct >= 0 0%

Direct <0 100%

Virutal demand is corrects if the PID controllers is integrated in a sequence controller. A demand message should be coordinated with the other
sequence elements. The following corrections are made:
 The controller acts indirectly ([Actg] = Reverse), a lower sequence element has the control release and controls actively: [CtrDmd] = 100%.
 The controller acts directly ([Actg] = Direct), a higher sequence element has the control release and controls actively: [CtrDmd] = 100%.
 The controller acts indirectly ([Actg] = Reverse), a higher indirectly acting sequence element has the control release and controls actively:
[CtrDmd] = 0%.
 The controller acts directly ([Actg] = Direct), a lower directly acting sequence element has the control release and controls actively:
[CtrDmd] = 0%.

Inversion [Inv]
[Inv] inverts the controller output signal [Yctr] according to the following formula: [Yctr]Inv = 100% - [Yctr]Old. Illustration

Limitation of the rise time [Ti0to100] or fall time [Ti100to0]


[Ti0to100], [Ti100to0] limit the maximum signal increase or signal decrease of the manipulated variable [Yctr]. Illustration

Limitation of the controller output [YctrMin], [YctrMax]


[YctrMin], [YctrMax] limits the controller output [Yctr]. Not effective for [OoServ] = On, if the controller is [YctrMin]  [YctrMax] for enabled [EnFnct]
= Yes and non-commanded [OoServ] = Off controller, and [Yctr] = YctrMax and [CtrSta] = CntrCmd is set. Illustration

External tracking [Track]


Returning the effective manipulated variable improves the control quality of the PI or PID controller (e.g. anti windup). Application: Tracking.
[EnTrack] = Yes. [Track] is processed as a tracking signal.
Example: If a controller acts directly on the actuating device (e.g.,
minim or maximum selection), the positioning signal of the controller
does not influence the control path. Returning the effective positioning
signal to the tracking input keeps the controller on the present values
and guarantees continued, modulating control when the controller can
no longer intervenes.

[EnTrack] = No. [Yctr] is processed as a tracking signal.


If external tracking is set for the controller element of a sequence, it must be ensured that the set limit values [YctrMin] and [YctrMax] can be
reached. Else, the sequence controller can switch to the next sequence controller element only in the event of a high control error. As an alternative
to external tracking, the limit values [YctrMin] and [YctrMax] can be influenced directly in the case of limitation applications.

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 4 of 18

Two-point controller (gain=0, Nz).


If Gain = 0, the controller exhibits two-point behavior. Illustration

The switching difference equals the neutral zone [Nz].


The direction of control action [Actg] determines the switching process.
The next lower or next higher sequence controller element is switched at [Sp] / [Nz]. Illustration

P/PD controllers
If [Tn] = 0, the controller exhibits P or PD control behavior.
Controller output offset [YctrOfs].
[YctrOfs] is added to the controller output [Yctr]. This moves the P-range of the P/PD controller so that the controller output [Yctr] = [YctrOfs] at
setpoint [Sp]. Thus, a constant load is controlled at the operating point. Illustration

Functioning of the PID sequence controller


A sequence controller is used if several aggregates are used to control a controlled value in accordance with the predefined control sequence. The
sequence controller switches the individual sequence controller elements according to the control sequences and coordinates control for the
individual controller elements in a interrelated control behavior across all sequence controller elements or aggregates.
The functioning of the sequence controller comprises all processes that influence each other:
 Enabling or disabling a sequence controller
 Control process of the sequence controller
 Enabling/disabling/commanding an individual sequence controller element
 Control process of the individual sequence controller elements. The control process corresponds to that of a universal PID controller.
Functioning of P, PI, PD, PID controllers

Enabling or disabling a sequence controller


The sequence controller is disabled by disabling [EnFnct] = No or commanding [OoServ] = On all sequence controller elements. If then a selection of
sequence controller elements is enabled with properly parameterized control action ([EnFnct] = Yes and [OoServ] = Off), the sequence controller
elements are initiated within this selection: The control process is started with that sequence controller element of the enabled selection that is
closest to the control action changeover and that contains the control action for the respective situation determined by the present actual values and
setpoints.
If the sequence control process is to be initiated by a particular sequence controller element, the corresponding sequence controller element must be
enabled prior to all other elements; else, the above described process is used.

Control process of the sequence controller


The sequence controller switches control of the individual sequence controller elements via the controller token. Further signals to coordinate control
of the sequence controller elements are necessary in addition to the controller token. The associated signals are exchanged via the pins [ToLower]
and [FmHigher] and the pins [FmLower] and [ToHigher].
Step Control process of the sequence controller

--- In each process cycle, the individual sequence controller elements independently determine the sequence controller element that carries
out control (independent of the operating mode of the sequence controller).
If a sequence controller element satisfies the following conditions, the controller token adopts [TknSta] = CntrTkn.
 The sequence controller element must be enabled [EnFnct] = Yes and not commanded [OoServ] = Off.
 The sequence controller element controls the requested demand, for example, the heating demand: [Actg] = Reverse and [Xctr]
< [Sp].
 The sequence controller element controls the responsible aggregate in the operating sequence, for example, the previous
aggregates have been removed from control or cannot be controlled.

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 5 of 18

1 The sequence controller must be enabled. Enabling or disabling a sequence controller

2 The sequence controller element featuring the controller token controls the plant [Yctr]. All other sequence controller elements are
constant.
[TknSta] = CntrTkn
[CtrSta] = CntrOn
Exception: Enabling/disabling/commanding individual sequence controller elements

3 If the control range of the controlling sequence controller element is exhausted, [Yctr] > [YctrMax] or [Yctr] < [YctrMin], the controller
token is passed on to the following sequence controller element (according to the operating sequence).
[TknSta] = NoTkn
[CtrSta] = CntrMin or CntrMax
Exception: Sequence controller elements with [EnFnct] = No or [OoServ] = On are not switched.

--- If all controller outputs of the enabled sequence elements are set to their limit values [CtlSta] = CntrMin or [CtlSta] = CntrMax, the
sequence controller element does not have a controller token. This may occur in different parameter settings of the sequence controller
elements, e.g. within the energy-free zone due to different setpoints.

Enabling/disabling/commanding an individual sequence controller element


The sequence controller considers the influence on control and integration if a sequence controller element is enabled, disabled, or commanded via
its operating mode (e.g. via operator intervention).
If... then...

EnFnct OoServ Sequence controller element Sequence controller

No Off The sequence controller element immediately sets the The sequence controller skips the sequence controller
controller output [Yctr] = 0. element in the operating sequence.
If the controlling sequence controller element is disabled,
the subsequent sequence controller element starts
controlling.

Yes Off The sequence controller element checks if it was skipped The sequence controller adds the sequence controller
by the sequence controller in the operating sequence. element to the operating sequence.
If the sequence controller element was skipped, its
controller output [Yctr] increases to [Yctr] = YctrMax at
speed Ti0to100.
If the sequence controller element was not skipped, [Yctr]
decreases to [Yctr] = YctrMin at speed Ti100to0.

No or Yes On. The sequence controller element immediately sets the The sequence controller skips the sequence controller
controller output [Yctr] = DefVal. element in the operating sequence.
If the controlling sequence controller element is newly
commanded, the subsequent sequence controller element
starts controlling.

Control error monitoring, or monitoring the deviation from the setpoint.

[EnAlm] =
Yes
AND.
[EnFnct] =
Yes.

[CtlDvnLm] > 0 [Xctr] > [Sp]+ If control variable [Xctr] exceeds the upper limit [Sp]+[CtlDvnLm], an
[CtlDvnLm] OFFNORMAL alarm is triggered after time [TiMonDvn].
Event message: Transition to Offnormal
[EvtSta] = High limit.
[StaFlg] = In alarm.

If control variable [Xctr] returns to its range of validity [Sp]+[CtlDvnLm]-


[HysDvn], the OFFNORMAL alarm is removed after time [TiMonDvn].
Event message: Transition to Normal

[Xctr] < [Sp]– If control variable [Xctr] exceeds the lower limit [Sp]+[CtlDvnLm], an
[CtlDvnLm] OFFNORMAL alarm is triggered after time [TiMonDvn].
Event message: Transition to Offnormal
[EvtSta] = Low limit.
[StaFlg] = In alarm.

If control variable [Xctr] returns to its range of validity [Sp]–[CtlDvnLm]+


[HysDvn], the OFFNORMAL alarm is removed after time [TiMonDvn].
Event message: Transition to Normal

[CtlDvnLm] < 0 [Xctr] > [Sp]+ If control variable [Xctr] exceeds the upper limit [Sp]+[CtlDvnLm], an
AND [CtlDvnLm] OFFNORMAL alarm is triggered after time [TiMonDvn].
[Actg] = Direct Event message: Transition to Offnormal
[EvtSta] = Low limit.
[StaFlg] = In alarm.

If control variable [Xctr] returns to its range of validity [Sp]+[CtlDvnLm]-


[HysDvn], the OFFNORMAL alarm is removed after time [TiMonDvn].
Event message: Transition to Normal

[Xctr] < [Sp]– Deviation of the control variable [Xctr] below the setpoint [Sp] are not
[CtlDvnLm] monitored.

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 6 of 18

This configuration is suitable, for example, for room temperature control with
chilled ceilings, where only those room temperatures are monitored that are too
high.

[CtlDvnLm] < 0 [Xctr] > [Sp]+ Deviation of the control variable [Xctr] above the setpoint [Sp] are not
AND [CtlDvnLm] monitored.
[Actg] = Reverse This configuration is suitable, for example, for room temperature control with
radiators, where only those room temperatures are monitored that are too low.

[Xctr] < [Sp]– If control variable [Xctr] exceeds the lower limit [Sp]+[CtlDvnLm], an
[CtlDvnLm] OFFNORMAL alarm is triggered after time [TiMonDvn].
Event message: Transition to Offnormal
[EvtSta] = Low limit.
[StaFlg] = In alarm.

If control variable [Xctr] returns to its range of validity [Sp]-[CtlDvnLm]+


[HysDvn], the OFFNORMAL alarm is removed after time [TiMonDvn].
Event message: Transition to Normal

If there is an OFFNORMAL alarm and if "alarm enable" is disabled afterwards [EnAlm] = No, the OFFNORMAL alarm is removed
immediately. Any time delays are fully taken into consideration when alarm supervision is reenabled.

else Control error monitoring, or no monitoring of deviation from the setpoint.

If "Event enable" is set to [EnEvt] = Yes, a corresponding alarm message appears ("Transition to offnormal" or "Transition to normal").

Pin description (inputs)


PIN E O Description

EnFnct p — Enable function.


Yes: The controller is enabled.
No: The controller is disabled.

OoServ pa RW Out of service.


Commanding the controller output [Yctr].

On. Controller output [Yctr] and initialization value for I-portion are set to [DefVal].
The outputs [Yctrp], [Yctri], and [Yctrd] are set to 0.
Reliability is reset: [Rlb] = No error detected.

[Yctr] can be commanded.


[Rlb] can be commanded.
Note: If [DefVal] is interconnected, [Yctr] cannot be commanded.

Off Controller output [Yctr] is not commanded.

DefVal pa — Command for controller output.


Default value for [Yctr], if [OoServ] = On.
The Parameter Editor does not check the value.

Sp pa RW Setpoint.
Setpoint of the controlled variable.

Xctr pa RW Controller input.


Actual value of the controlled variable (e.g. measured value).

GainFac a — Gain factor.


Variable gain factor to influence [Gain].

Gain pa RW Gain.
Gain of the control difference.
Functioning: Gain [Gain] and gain factor [GainFac].
Engineering: Gain [Gain], [GainFac]

10.0 Default value.

... Setting/correction:
Control behavior unstable: Decrease gain.
Control behavior excessively stable: Increase gain.

0.0 The controller has a two-point response (two-point controller). Functioning: Neutral zone [Nz]

Tn pa RW Integral action time.

00:00:00 The controller exhibits P or PD response.

... The controller exhibits P or PD response.

Tv pa RW Derivative action time.

00:00:00 The controller exhibits P or PD response.

... The controller exhibits P or PD response.

Nz pa RW Neutral zone.
Width of the neutral zone around the setpoint. Functioning: Neutral zone [Nz]
In a two-point controller, [Nz] works as a switching difference.

Ti0to100 ... pa RW Rise time from 0 to 100%.


Adjusting control to the plant, e.g., actuator runtime on opening.
Functioning: Limitation of the rise time [Ti0to100] or fall time [Ti100to0].

Ti100to0 pa RW Fall time from 100 to 0%.


For example, actuator runtime on closing.

YctrMax pa RW Controller output maximum.


Maximum limitation of [Yctr].

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 7 of 18

YctrMin pa RW Controller output minimum.


Minimum limitation of [Yctr].
Functioning: Limitation of the controller output [YctrMin], [YctrMax.

YctrOfs pa RW Controller output for offset.


 Offset of [Yctr] in a P/PD controller. Functioning: P/PD controller.
 Initialization value for the integrator value of a PI/PID controller.

0.0 Default value.

... If the operating point is reached, the controller output [Yctr] is .....

Actg pa RW Control action.


[Actg] determines the dependence of the manipulated variable and the controlled variable. Functioning: Direction of
control action.
Note: Inversion of the controller output [Yctr] occurs with [Inv]. Sequence controller engineering: Parameterizing
the sequence controller element.

Direct Direct action such as cooling, dehumidifying.

Reverse Indirect action such as heating, humidifying.

DmdMod pa — Demand kind

Off The demand message is switched off, [CtrDmd] is set to 0%.

Modulating The standardized signal 0-100 is outputed to [CtrDmd]. Calculation

2-position For demand = 0%, [CtrDmd] = 0% is set, otherwise 100%.

Inv pa — Inverse.

Yes: Inversion of the controller output signal [Yctr].

No: No inversion.

EnTrack pa — Tracking enable.


External tracking is carried out (only in the case of PI and PID control response).

Yes: [Track] is integrated in the control process.

No: No external tracking.

Track pa — Tracking.
Input for the effective positioning value or the positioning feedback message. Application: Tracking.
The Parameter Editor does not check the value.

FmHigher pa — From higher neighbor.


_Elements Engineering: Interconnecting sequence controller elements.

FmLower pa — From lower neighbor.


_Elements Engineering: Interconnecting sequence controller elements.

RlbDly fx — Reliability delay


The delay for reliability is configured using the FB variable RlbDly.
Properties:
 The value of Rlb changes only if the underlying reliability is constant during time RlbDly.
 All changes to reliability are delayed to value ≠ NO_FAULT_DETECTED.
 Default value: RlbDly=0 (i.e. no delay of reliability).
 RlbDly is not mapped to BACnet.
The variable cannot be interconnected.

0...300 s Delay value range.


300 s = Recommended max. value.
Actual max. value = 18:12:15 h
When exceeding the max. value:
 An error message is issued in the status bar, and
 the last saved max. value is retained.

0 Default value.

 Reliability delay without influence  Real reliability.


on Rlb/PrVal. Ex: RlbDly = 5 Min.

 Reliability delay with influence  Reliability influenced by RlbDly.


on Rlb/PrVal. Ex: RlbDly = 5 Min.

EnEvt px RW Event enable.


Enabling and disabling event messages (e.g. alarm message).

Offnormal Send Offnormal event message (default value).

Send Fault event message (default value).

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 8 of 18

Fault

Normal Send Normal event message (default value).

EvtSta fx R Event state.


Shows the current event state for the alarm source.

Normal Normal function.

Fault Fault in signal output or signal acquisition (reliability supervision).

High limit Limit value excess [Xctr] > [Sp]+[CtlDynLm]

Low limit Limit value excess Xctr] < [Sp] - [CtlDynLm]

TiStmEvt fx R Time stamp of event.


Shows the time stamp for the last alarm state transitions.

EnAlm p RW Alarm enable.


Enabling and disabling limit value supervision (OFFNORMAL alarm).
Reliability supervision remains active (FAULT alarm).

Yes Control error supervision enabled.

No No control error supervision. (Default value).

SupEcpt px — Event suppression exception.


Pin on all alarmable blocks that determines whether a block alarm is treated as an exception under "active" even
supression. In other words, the Alarm/message is displayed or not on the BACnet clients (Insight, PXM20, third-party
devices). See also block CMN_ALM, pin SupEvt (event suppression) and EnSupEcp (enable event supression
exception).

Yes The block alarm is considered for selected event suppression.

No The block alarm is NOT considered for selected event suppression.

CtlDvnLm p RW Control deviation limit

HysDvn p RW Hysteresis control deviation

TiMonDvn px RW Monitoring time deviation.


 If the control error is exceeded, an alarm is triggered following the time delay.
 After the value no longer exceeds the control error excess (incl. hysteresis control deviation), the alarm
disappears following the time delay.

AlmFnct px RW Alarm function.


Configure notification texts

Simple Simple alarm without acknowledgement for incoming and outgoing faults.

Basic Alarms with acknowledgement of incoming faults.

Extended Saved alarm with acknowledgement of incoming and outgoing faults.

Notification Simple notification (no alarm). State transitions similar to Simple alarm i.e. without
acknowledgement for incoming and outgoing faults. Engineer notification

AlmCl px RW Alarm class

List Possible alarm classes.


Text group 1..6 is predefined.
Text group 7..16 is project-specific. (Definition: Global chart > Properties > Global Alarm Texts).

NotifCl px RW Reference number to local, global, or dynamically generation Notification Class Object.

NotifTyp px RW The alarm response (e.g. without acknowledgement, acknowledge incoming faults, acknowledge and reset faults) is
set for the "Standard BACnet alarm concept" on the referenced Notification Class Object via the setting on [AckReq].

Alarm Handling process fault as alarm.

Event Handling as event, e.g. to report a state or change of value (corresponds to [AlmFnct] =
message).

NotifSel px R Explanation: [AlmFnct] and [AlmCl] are not standard BACnet properties. In other words, if a PXC.. is connected in a
multivendor project to a BACnet 3rd Party management station, the parameters to define alarm response is NOT
displayed and cannot be operated.
Block pins [NotifCl], [NotifTyp] and [NotifSel] are available to meet the specification in the BACnet standard. They are
then available as properties of the BACnet object on BACnet clients.

[NotifSel] sets whether the PX alarm concept (predefined) or the standard BACnet alarm concept (customized) is to be
used.
The alarm function is no longer relevant when selecting "Customized".
The alarm class continues to be required to evaluate the common alarm block CMN_ALM.

Predefined Alarm distribution via "PX concept"


Parameters [AlmCl] and [AlmFnct] determine the alarm response of the BACnet object and
references the corresponding "global" Notification Class Object.

Custom colors. Alarm distribution via "Standard BACnet alarm concept"


Parameter [NotifCl] references a local, global, or dynamically generated Notification Class Object.
Setting [NotifTyp] defines whether a fault is handled as an alarm or message.
The alarm function is set in the settings [AckReq] of the referenced Notification Class Object.

AckTra fx R Acknowledged transitions.


Shows the acknowledged alarm state transitions.

Transition to Alarm state transition "Transition to offnormal" was acknowledged.


Offnormal.

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 9 of 18

Transition to fault. Alarm state transition "Transition to fault" was acknowledged.

Transition to Alarm state transition "Transition to Normal" was acknowledged.


Normal.

TiAck fx R Time of acknowledgement.


Indicates the time stamp when the last alarm state transition was acknowledged by [AckSgn].

AckSgn fx R Acknowledgement signature.


Shows the initials for the user who acknowledged the last alarm state transition.

Pin description (outputs)


PIN E O Description

ErSta a — Fault state.

No No error occurred; is the same as with [TknSta].


Neither Hel_CSeq nor Cel_HSeq nor RTFault.

Yes Error occurred; is the same as with [TknSta].


Hel_CSeq or Cel_HSeq or RTFault.

CtrSta f R Controller state.


Controller state of the controller or the sequence controller element.

CtrOff. The controller is switched off.

CtrCmd. The controller does not control, but [Yctr] = DefVal.

CtrOn. The controller is controlling actively [Yctr].

CtrMin. The controller is off [Yctr] = YctrMin.

CtrMax. The controller is off [Yctr] = YctrMax.

TknSta a — Token state.


Token state of the sequence controller element.

NoTkn The sequence controller element has no token.

CtrTkn The sequence controller element has a controller token.

Hel_CSeq The sequence controller element features an incorrect direction of control action, e.g., heating
sequence in the cooling sequence.

Cel_HSeq The sequence controller element features an incorrect direction of control action, e.g., cooling
sequence in the heating sequence.

RTFault Error in the sequence controller element.

StaFlg f R State flag.


The general state of the block is available.

Fault Rlb <> NO_FAULT_DETECTED

Out of service. [OoServ] = Yes

Rlb f R Reliability.
The recognized state of reliability is available.
[Rlb] can be changed at [OoServ] = Yes via BACnet.

No fault [ErSta] = No.


detected.

Unreliable [ErSta] = Yes.


other.

Yctr a R Controller output.

CtrDmd a — Controller demand.

ToHigher a — To higher neighbor.


_Elements Engineering: Interconnecting sequence controller elements.

ToLower a — To lower neighbor.


_Elements Engineering: Interconnecting sequence controller elements.

Yctrp a — Controller output proportional part.


If [TknSta] = CntrTkn, [Yctrp] shows the P-portion.
Not influenced by [Inv], [Ti0to100], [Ti100to0], [YctrMin], [YctrMax], [YctrOfs].

Yctri a — Controller output integral part.


If [TknSta] = CntrTkn, [Yctri] shows the I-portion.
Not influenced by [Inv].

Yctrd a — Controller output derivative part.


If [TknSta] = CntrTkn, [Yctrd] shows the D-portion.
Not influenced by [Inv], [Ti0to100], [Ti100to0], [YctrMin], [YctrMax].

Dstb f — Fault
Fault exists, i.e. [EvtSta]<>NORMAL or alarm state not yet reset (reset).

SupActv a R Event_Supression_Active
SupActv indicates whether an event suppression for this function block is enabled.
SupActv a status variable derived from AS_STA and CMN_ALM.
ImportantWhen deleting FBs AS_STA and CMN_ALM from the application (e.g. delta download), the value of FB
SupActv must be re-determined.

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 10 of 18

AS_STA CMN_ALM CMN_ALM FB FB


SupEvt SupEvt EnSupse SupEcpt SupActv

True X X X True

False False X X False

False True False X True

False True True True True

False True True False False

LstMsg a R Last alarm/event message.


The message parameter contains a text string for the most recent fault.

Pin data
PIN Description Data type Value Unit Min. Max. Pin
type

EnFnct Enable function. Boolean Yes No/Yes In

OoServ Out of service. Boolean Off Off/On In

DefVal Default value. Real 0.0 % 0.0 100.0 In

Sp Setpoint. Real 20.0 °C -50.0 150.0 In

Xctr Controller input. Real 20.0 °C -50.0 150.0 In

GainFac Gain factor. Real 1.0 -3.403E38 3.403E38 In

Gain Gain. Real 10.0 0.0 3.403E38 In

Tn Integral action time Tn. Duration 120 hhhh:mm:ss 0:00:00 18:12:15 In

Tv Derivative action time Duration 0 hhhh:mm:ss 0:00:00 18:00:00 In


Tv.

Nz Neutral zone. Real 0.5 °C 0.0 3.403E38 In

Ti0to100 ... Rise time from 0 to Duration 60 hhhh:mm:ss 0:00:00 18:12:15 In


100%.

Ti100to0 Fall time from 100 to Duration 60 hhhh:mm:ss 0:00:00 18:12:15 In


0%.

YctrMax Controller output Real 100.0 % 0.0 100.0 In


maximum.

YctrMin Controller output Real 0.0 % 0.0 100.0 In


minimum.

YctrOfs Controller output for Real 0.0 % 0.0 100.0 In


offset.

Actg Control action. Boolean Reverse Direct/reverse In

DmdMod Demand kind Multistate. Off Off, 2-point, In


modulating

Inv Inverse. Boolean No No/Yes In

EnTrack Tracking enable. Boolean No No/Yes In

Track Tracking. Real 0.0 % 0.0 100.0 In

FmHigher From higher neighbor. Record In

FmLower From lower neighbor. Record In

RlbDly Reliability delay Duration 0 s 0 300 In

EnEvt Event enable. BitString 16#0007 BACnet event In


transition bits

EvtSta Event state. Multistate. Normal BACnet event state Normal Low limit In

TiStmEvt Time stamp of event. Array BACnet event In


transition bits

EnAlm Alarm enable. Boolean No No/Yes In

SupEcpt Selective event Boolean No No/Yes In


suppression exception.

CtlDvnLm Control deviation limit Real 5 - 3.402822e+038 In


3.402822e+038

HysDvn Hysteresis control Real 0.5 0 3.402822e+038 In


deviation

TiMonDvn Monitoring time Duration 00:00:00 hhhh:mm:ss 0:00:00 18:00:00 In


deviation.

AlmFnct Alarm function. Multistate. Basic Alarm function (LS) Simple Notification In

AlmCl Alarm class Multistate. Alarm with Alarm class Urgent alarm Offline trend In
medium
priority

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 11 of 18

NotifCl Notification class. Unsigned 32 0 4194303 In

NotifTyp Notification type Multistate. Alarm BACnet notify type Alarm Event In

NotifSel Notification function Boolean Predefined Notification function Predefined Custom colors. In
selection selector

AckTra Acknowledged BitString 16#0007 BACnet event In


transitions. transition bits

TiAck Time of DateTime In


acknowledgement.

AckSgn Acknowledgement String In


signature.

ErSta Fault state. Boolean No No/Yes Out

CtrSta Controller state. Multistate. CtrOff. Controller state CtrOff. CtrMax. Out

TknSta Token state. Multistate. NoTkn TokenHere NoTkn RTFault Out

StaFlg State flag. BitString 16#0000 BACnet state flags In alarm. Out of service. Out

Rlb Reliability. Multistate. No fault BACnet reliability No fault Maximum Out


detected. detected. BACnet
references for
device reached.

Yctr Controller output. Real 0.0 % 0.0 100.0 Out

CtrDmd Controller demand. Real 0.0 % 0.0 100.0 Out

ToHigher To higher neighbor. Record Out

ToLower To lower neighbor. Record Out

Yctrp Controller output Real 0.0 -3.403E38 3.403E38 Out


proportional part.

Yctri Controller output Real 0.0 -3.403E38 3.403E38 Out


integral part.

Yctrd Controller output Real 0.0 -3.403E38 3.403E38 Out


derivative part.

Dstb Fault Boolean No No/Yes Out

SupActv Event suppression Boolean No No/Yes Out


active.

LstMsg Last alarm/event String Out


message.

Engineering – PID controller


The control response of the PID controller is formed through parameterization of an individual PID_CTR block. Each sequence controller element of a
sequence controller is parameterized in the same way.
Parameterize control response
P PI PD PID 2-Pt

Gain X X X X Gain = 0

Tn Tn = 0 X Tn = 0 X ---

Tv Tv = 0 Tv = 0 X X ---

Nz X X X X X (Spec.)

Ti0to100 ... X X X X ---

YctrMin ... X X X X ---

YctrOfs X O X O ---

Actg X X X X X

Inv X X X X X

Track --- X --- X ---

X = Relevant for control response. O = Has influence on initialization. --- = Has no influence

Gain [Gain], [GainFac]


Calculations of [Gain] from the P-band (Xp): Illustration

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 12 of 18

[Gain] = Positioning range / P-range


[Gain] can be influenced during operation. For example, in an energy recovery controller sequence, [GainFac] is interconnected to the "gain
scheduling" block FB124 ADAGAIN.
The gain [Gain] is also called gain factor KR or "transfer by-value of the P-controller".
Setting values for gain.

Typical setting values for gain [Gain] and integral action time [Tn].
Ventilation / air conditioning
Controlled path Controlled variable Gain Tn
Actuating location to measuring location. [%/x] [s]

Air mixer Mixed air temperature. 5 00:02:00


Mixing dampers -- temperature sensor. T [°C]

Heating register water Supply air temperature. 5 00:03:00


Control valve -- supply air temperature sensor. T [°C]

Heating register water Room temperature 20 00:30:00


Control valve -- room temperature sensor. T [°C]

Electrical register Supply air temperature. 5 00:02:00


Positioning unit -- supply air temperature sensor. T [°C]

Cooling register water Supply air temperature. 5 00:02:00


Control valve -- supply air temperature sensor. T [°C]

Cooling register water Room temperature 20 00:30:00


Control valve -- room temperature sensor. T [°C]

Air washers Supply air temperature. 10 00:02:00


Positioning unit -- supply air temperature sensor T [°C]
(cooling).

Air washers Supply air humidity. 5 00:03:00


Positioning unit -- supply air humidity sensor. Hu [%]

Steam humidifier Supply air humidity. 5 00:03:00


Positioning unit -- supply air humidity sensor. Hu [%]

Supply air room temperature Room temperature 1 00:30:00


Supply air temperature setpoint – room air T [°C]
temperature sensor setpoint.

Supply air room air humidity Room air humidity. 5 00:10:00


Supply air humidity setpoint – room air humidity Hu [%]
sensor.

Heating
Controlled path Controlled variable Gain Tn
Actuating location to measuring location. [%/x] [s]

Mixing circuit Flow temperature. 3 00:02:00


Mixing valve - mixing temperature sensor. T [°C]

Mixing circuit Return temperature. 3 00:10:00


Mixing valve -- return temperature sensor (via T [°C]
radiator, floor heating).

Heat exchanger (water/water) Water discharge temperature. 5 00:05:00


Control valve primary -- sensor on secondary exit. T [°C]

Fast domestic hot water path Domestic hot water temperature. 75 00:00:30
Control valve to measuring sensor (mixer or heat T [°C]
exchanger).

Room controlled path Room temperature 25 00:20:00


Radiator valve -- room air sensor T [°C]

Room controlled path Room temperature 25 00:40:00


Control valve floor heating - room sensor. T [°C]

Boiler Boiler temperature. 10 00:03:00


Burner boiler sensor T [°C]

Neutral zone [Nz] Illustration

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 13 of 18

Limitation of the rise time [Ti0to100] or fall time [Ti100to0] Illustration

Limitation of the controller output [YctrMin], [YctrMax] Illustration

Controller output offset [YctrOfs] Illustration

Two-point controller (gain=0, Nz) Illustration

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 14 of 18

Engineering – PID sequence controller


The sequence controller is formed by interconnecting and parameterizing PID_CTR blocks (sequence controller elements). The sequence controller's
functionality is generated automatically (via information channels). The sequence of the individual aggregates is determined by the interconnection
sequence of the PID_CTR blocks.
Engineering comprises the following steps:
Step Procedure

1 Determining the order of the sequence controller elements

2 Interconnecting sequence controller elements

3 Parameterizing the sequence controller element


 Parameterizing the control behavior (analogous to the PID controller).
If all sequence controller elements are parameterized the same, the entire sequence controller responds like one single
controller.
 Parameterizing the sequence controller element' control action
 Parameterizing setpoints and an energy-free zone

4 Setting/tuning the sequence controller

Determining the order of the sequence controller elements


As a rule, the sequence controller consists of individual PID_CTR blocks. Each PID_CTR acts as a sequence controller element for an aggregate.
The interconnection sequence of the PID_CTR blocks (from low to high) corresponds to the order of the control sequences (1..n) of the sequence
controller. The planned operating range (e.g. heating) and the switching sequence must be considered accordingly when interconnecting the
[PID_CTR]. Illustration

For example aggregates: 1 = Air dampers, 2 = Preheater, 3 = Reheater, 4 = Cooler.


Control sequence for heating: 1 ---> 2 ---> 3.
Control sequence for cooling: 4 ---> ....
 The lowest sequence controller element corresponds to control sequence 1, the highest to control sequence n.
 The lowest sequence controller element controls an aggregate using reverse action (if available).

Interconnecting sequence controller elements


There are two ways to interconnect the PID_CTR blocks with a sequence controller:
1.) Direct interconnection Illustration

The individual PID_CTR blocks are interconnected with each other.


Interconnection is made between the pins [ToLower] and [FmHigher] and the pins [FmLower] and [ToHigher]. Illustration

This type of interconnection is used if the PID_CTR blocks are located on the same chart.

2.) Interconnection to SEQLINK Illustration

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 15 of 18

The individual PID_CTR blocks are interconnected via the SEQLINK block.
Interconnection occurs between the pins for block PID_CTR and a place on the SEQLINK block. The sequence of PID_CTR must match the order of
the places. However, free places are possible on the SEQLINK. Several SEQLINKs can be interconnected in series. Illustration

This type of interconnection is used if the PID_CTR blocks are located on different charts or if the individual sequence controller elements or
aggregates may not be interconnected (CAS library).
Important: The sequence controller elements must be parameterized in accordance with the interconnection.
The pins [ToLower] and [FmHigher], [FmLower] and [ToHigher] are interconnected only on a sequence controller. In this case, the following
information is transported:
PIN Description

_CtlMod Control mode


Operating mode of the sequence controller.

Inactive. Pin is not interconnected.

Act Sequence controller is active.

Off The sequence controller is disabled.

On. The sequence controller is enabled.

_Crdn Coordination
Coordination signal of the sequence controller.

Inactive. Pin is not interconnected (border element).

Link The sequence controller was interconnected via SEQLINK.

Low [YctrMin] side of the sequence controller element.

ErrLow Error in the sequence interconnection.

High [YctrMax] side of the sequence controller element.

_Ctkn Controller token.


Controller enable.

Inactive. Link not available.

Low The sequence controller is off [Yctr] = [YctrMin]. Enabling signal for next lower sequence.

Act Sequence controller is controlling.

High The sequence controller is off [Yctr] = [YctrMax]. Enabling signal for next higher sequence.

_IsInt Integrator state signal.


Information on the integrating action of the sequence controller element.

No Non-integrating sequence controller element.

Yes Integrating sequence controller element.

_DeltaE Covered control error of the proportional part.

Parameterizing the sequence controller element' control action


The set operating range (e.g. heating, cooling) determines the direction of control action [Actg] for a sequence controller element. Direction of
control action changeover during operation is possible (e.g. energy recovery). If aggregate control demands an inverted signal, inversion [Inv] of the
controller output [Yctr] helps solve this problem.
In the sequence controller, the direction of control action must feature the following response: Illustration

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 16 of 18

 The first or lowest sequence controller elements have reverse direction for control action [Actg] = Reverse.
 The first or highest sequence controller elements have direct direction of control action [Actg] = Direct.
 A sequence controller element with changing direction of control action (e.g. energy recovery) can only be in between.
Deviations generate an error signal [ErSta] = Yes. Troubleshooting

Parameterizing setpoints and an energy-free zone


In the sequence controller, the setpoints [Sp] of the sequence controller elements (1...n) must increase monotonously:
[Sp]1  [Sp]2  [Sp]3  ...  [Sp]n
Modulating control on transition from one control sequence to another is ensured if the control sequences with the same direction of control action
have the same setpoint. Illustration

The energy-free zone is defined by the setpoints on changeover of the direction of control action (e.g. heating setpoint, cooling setpoint).
Illustration

Application
Notes on applying the individual functions of the PID_CTR block:
 PID controller, PID sequence controller
 Neutral zone [Nz]
 Gain factor [GainFac]
 Positioning time of the plant
 Tracking [Track]
 Inverting the controller output [Inv]
 Controller output offset [YctrOfs].
 Reset PID controller, PID sequence controller

PID controller.
The PID controller with tracking input represents a universal controller for use in ventilating, heating, and air conditioning plants. It is used to control
any controlled variable, e.g., for the following applications:
 Control with special limitations.
 Control of actuating devices with significant dynamic, e.g., actuating motors with position feedback signal.

PID sequence controller


PID sequence controllers are primarily used in ventilation and air conditioning plants to control temperature and humidity. The air states are reached
by a sequential control and switching procedure via several plant elements, whereby each controlled variable (temperature, humidity) requires its
own sequence controller.
General side applications such as heating plants are also possible.

Neutral zone [Nz]


The neutral zone serves to reduce the control commands after reaching the operating point. With a small control difference, the output signal
remains constant.

Gain factor [GainFac]


The control gain can be changed during operation by gain factor [GainFac]. For example, this is meaningful for energy recovery sequence control to
control the outside air dampers, as the damper positioning depends on the outdoor air temperature.

Inverting the controller output [Inv]


For sequence controllers, the controller output signal can be inverted without influencing the direction of control action. For example, if a sequence
controller element in the control sequence must be parameterized with a direct action (due to the operating sequence), but the plant expects an
inverted positioning signal.

Positioning time of the plant


The maximum rise time or fall time of the positioning signal can be adjusted to the plant, e.g., the runtime of the actuator on opening or the
positioning time of the valve on opening. This improves the quality of control.

Controller output for offset.

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 17 of 18

The controller output for offset allows for setting the operating point at a constant load for P and PD controllers. With PI and PID controllers, the
integrator value is initialized with the offset value during startup (transition of operating mode 'Off' > operating mode 'On').

Tracking
Tracking is used to improve the control quality (e.g. anti-windup), for example, in the following cases:
 If a limitation controller acts directly on the actuating device (e.g., minim or maximum selection), the positioning signal of the controller no
longer influences the control path. Returning the effective positioning signal to the tracking input keeps the controller on the present values
and guarantees continued, modulating control when the limitation controller no longer intervenes.
 If an actuator has a position feedback signal, the signal can be sent directly to the controller on the tracking input.
 Within the sequence, external tracking must not be used for limitation applications (e.g. use of limitation controllers). As an alternative to
external tracking, the limit values [YctrMin] and [YctrMax] can be influenced directly in the case of limitation applications.

Reset of PID controller or PID sequence controller

Controller type Type of reset Procedure

PID controller. Full reset Default: Integrator value=0.


Set [EnFnct] to No.
Then reset [EnFnct] to Yes.
or
Set [FmLower.CtlMod] to Off.
Then reset [FmLower.CtlMod] to On.

Default: Integrator value=DefVal.


Set [OoServ] = On.
Then reset [OoServ] to Off.

Integrator value Set [Tn] to "0".


reset Then reset [Tn] to old value.

PID sequence Full reset Set all [EnFnct] to No.


controller Then reset all [EnFnct] to Yes.
or
Set all [OoServ] to On.
Then reset all [OoServ] to Off.
or
Set [FmLower.CtlMod] to Off at lowest sequence controller element.
Then reset [FmLower.CtlMod] to On.

Process response
During controller initialization, the controller output is set to value YctrMin. After initialization is complete, the function is stopped for about 3 cycles.
This neutralizes an unfavorable processing order. Afterwards, the function is executed by utilizing the values at the inputs.
In the sequence controller, each individual sequence control element is initialized individually so that the controller token arrives at the correct
sequence controller element only after a few cycles and the control is available.

Troubleshooting
The direction of control action is parameterized incorrectly
Within a sequence, the control action from the lowest to the highest sequence controller element can be changed only once and only from reverse
to direct acting. If this requirement is not met, i.e. if the control action is parameterized incorrectly, faulty control sequences are deactivated and
the next valid control sequence is released. The incorrectly parameterized sequence controller elements set [ErSta] = Yes.

[TknSta] = CEL_HSEQ Cooling element in the heating sequence.


The deactivated sequence controller element has a direct control action.
[TknSta] = HEL_CSEQ Heating element in the cooling sequence.
The deactivated sequence controller element has a reverse control
action.

Examples for incorrectly configured sequence controller elements

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021
PID_CTR Page 18 of 18

Troubleshooting
The pins [Yctrp], [Yctri], and [Yctrd] help monitor the control response. Inactive sequence controller elements have [Yctrp] = [Yctri] = [Yctrd] = 0.

P-portion [Yctrp]
[Yctrp] is the P-portion of [Yctr] and is calculated from [Gain] x [GainFac].
If the controller gain is high, [Yctrp] changes faster on small control error changes.
[Yctrp] is not influenced by [Inv], [Ti0to100], [Ti100to0], [YctrMin], [YctrMax], and [YctrOfs].

I-portion [Yctri]
[Yctri] is the I-portion of [Yctr] and is calculated from the integral action time [Tn].

Initialization for integrating controllers: Operating mode 'Off' > operating mode 'On' [Yctri] = YctrOfs

Operating mode 'Command' > operating mode 'On' [Yctri] = DefVal

[YCtri] is not influenced by [Inv].

D-portion [Yctrd]
[Yctrd] is the D-portion of [Yctr] and is calculated from the derivative action time [Tn].
[Yctrd] is not influenced by [Inv], [Ti0to100], [Ti100to0], [YctrMin], and [YctrMax].

PXM20 and PX Web (PXA40-W..)


BACnet devices allow to change [Gain], shown as parameter Propotional constant on PXM20 and PX Web.
The resolution to set this value is linked to the controller output [YCtr] with the following rule:
 Resolution [YCtr] ≥ 0.1 = Resolution [Gain] = 0.1
 Resolution [YCtr] < 0.1 = Resolution [Gain] = Resolution [YCtr]

Important: This behavior is valid only for PX firmware V5.10 SP and later. In earlier versions (including V5.10) the resolution is always linked to
[YCtr].

View all

mk:@MSITStore:D:\Siemens\References\XWP\CM111002en_03.chm::/PID_CTR.htm 6/11/2021

You might also like