Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences

Waterside economizer control subsequences

Information

This package contains waterside economizer control subsequences.

Package Content

Name Description
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.BypassValve BypassValve Valves control when chilled water flow through economizer is controlled using bypass valve
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.HeatExchangerPump HeatExchangerPump Pump control for economizer when the chilled water flow is controlled by a variable speed heat exchanger pump
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.PredictedOutletTemperature PredictedOutletTemperature Waterside economizer predicted outlet temperature
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.Tuning Tuning Defines a tuning parameter for the temperature prediction downstream of WSE
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.Validation Validation Collection of validation models

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.BypassValve Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.BypassValve

Valves control when chilled water flow through economizer is controlled using bypass valve

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.BypassValve

Information

Waterside economizer valves control when the chilled water flow through the economizer is controlled using a modulating heat exchanger bypass valve. It is implemented according to ASHRAE Guideline 36-2021, section 5.20.3.4-6.

When economizer is enabled, start next condenser pump and (or) adjust the pump speed (see Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Pumps.CondenserWater.Controller), open the condenser water isolation valve to the heat exchanger (yConWatIsoVal=true), and enable the economizer in-line chilled water return line valve.

When the in-line chilled water return valve is enabled, it shall be modulated by a direct-acting PID loop to maintain the static pressure difference across the chilled water side of the heat exchanger at the design value (dpDes). Map the loop output from 0% open at 0% output to 100% open at 100% output. Bias the loop to launch from 100% output. The valve shall be fully open when the loop is disabled.

When the economizer is disabled, the economizer in-line chilled water return line valve shall be disabled (fully open), the heat exchanger condensing water isolation valve fully closed (yConWatIsoVal=0), and the last lag condenser water pump disabled and (or) change the pump speed (see Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Pumps.CondenserWater.Controller).

Parameters

TypeNameDefaultDescription
RealdpDes6000Design pressure difference across the chilled water side economizer [Pa]
Valve controller
SimpleControllercontrollerTypeBuildings.Controls.OBC.CDL.T...Type of controller
Realk0.1Gain of controller
RealTi0.5Time constant of integrator block [s]
RealTd0.1Time constant of derivative block [s]

Connectors

TypeNameDescription
input BooleanInputuPlaPlant enable signal
input BooleanInputuWSETrue: waterside economizer is enabled
input RealInputdpChiWatDifferential static pressure across economizer in the chilled water side [Pa]
output BooleanOutputyConWatIsoValEconomizer condenser water isolation valve commanded status
output RealOutputyRetValWSE in-line CHW return line valve position [1]

Modelica definition

block BypassValve "Valves control when chilled water flow through economizer is controlled using bypass valve" parameter Real dpDes( final unit="Pa", displayUnit="Pa", final quantity="PressureDifference", final min=0)=6000 "Design pressure difference across the chilled water side economizer"; parameter CDL.Types.SimpleController controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI "Type of controller"; parameter Real k=0.1 "Gain of controller"; parameter Real Ti(unit="s")=0.5 "Time constant of integrator block"; parameter Real Td(unit="s")=0.1 "Time constant of derivative block"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uPla "Plant enable signal"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uWSE "True: waterside economizer is enabled"; Buildings.Controls.OBC.CDL.Interfaces.RealInput dpChiWat( final unit="Pa", final quantity="PressureDifference") "Differential static pressure across economizer in the chilled water side"; Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput yConWatIsoVal "Economizer condenser water isolation valve commanded status"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput yRetVal( final min=0, final max=1, final unit="1") "WSE in-line CHW return line valve position"; Buildings.Controls.OBC.Utilities.PIDWithEnable conPID( final controllerType=controllerType, final k=k, final Ti=Ti, final Td=Td, final reverseActing=false, final y_reset=1) "Chilled water return line valve controller"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant con( final k=1) "Constant one"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant con1( final k=dpDes) "Design static pressure difference across waterside economizer in chilled water side"; Buildings.Controls.OBC.CDL.Reals.Divide div1 "Normalize the measured value"; Buildings.Controls.OBC.CDL.Reals.Switch swi "Return line valve position"; Buildings.Controls.OBC.CDL.Logical.And and1 "Waterside economizer commanded on"; Buildings.Controls.OBC.CDL.Logical.Not disWse "Disabled economizer"; Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel( final delayTime=1) "Delay disable"; Buildings.Controls.OBC.CDL.Logical.Not enaWse "Economizer is enabled"; equation connect(dpChiWat, div1.u1); connect(con1.y, div1.u2); connect(con.y, conPID.u_s); connect(div1.y, conPID.u_m); connect(conPID.y, swi.u1); connect(con.y, swi.u3); connect(swi.y, yRetVal); connect(uPla, and1.u1); connect(uWSE, and1.u2); connect(and1.y, disWse.u); connect(disWse.y, truDel.u); connect(truDel.y, enaWse.u); connect(enaWse.y, yConWatIsoVal); connect(enaWse.y, conPID.uEna); connect(enaWse.y, swi.u2); end BypassValve;

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.HeatExchangerPump Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.HeatExchangerPump

Pump control for economizer when the chilled water flow is controlled by a variable speed heat exchanger pump

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.HeatExchangerPump

Information

It implements the control of the waterside economizer valves when the chilled water flow through the economizer is controlled by the variable speed heat exchanger pump. It is implemented according to ASHRAE Guideline 36-2021, section 5.20.3.7-10.

When economizer is enabled (uWSE=true), start next condenser water pump and (or) adjust the pump speed (see Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Pumps.CondenserWater.Controller), open the condenser water isolation valve to the heat exchanger (yConWatIsoVal=true), and enable the chilled water heat exchanger pump.

The economizer heat exchanger pump speed reset requests shall be generated based on the difference between the chilled water return temperature upstream of the economizer and the economizer heat exchanger entering chilled water temperature.

  1. If the temperature difference exceeds 2 °F (1.11 °K), send 2 requests until the difference is less than 1.2 °F (0.67 °F).
  2. Else if the temperature difference exceeds 1 °F (0.56 °K), send 1 request until the difference is less than 0.2 °F (0.11 °K).
  3. Else send 0 requests.

When the heat exchanger pump is proven on, the pump speed shall be reset using Trim and Respond logic with the following parameters:

Variable Value Definition
DeviceEconomizer heat exchanger pump proven on Associated device
SP0Pump design speed (desSpe)Initial setpoint
SPminPump minimum speed (minSpe)Minimum setpoint
SPmaxPump design speed (desSpe)Maximum setpoint
Td15 minutesDelay timer
T2 minutesTime step
I0Number of ignored requests
RPump speed reset requestsNumber of requests
SPtrim2%Trim amount
SPres-3%Respond amount
SPres_max-6%Maximum response per time interval

When the economizer is disabled (uWSE=false), the chilled water heat exchanger pump shall be disabled, the heat exchanger condenser water isolation valve fully closed (yConWatIsoVal=0), and the last lag condenser water pump disabled and (or) change the pump speed see Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Pumps.CondenserWater.Controller).

Parameters

TypeNameDefaultDescription
RealminSpe0.1Minimum pump speed
RealdesSpe0.9Design pump speed
Advanced
RealdtHol900Minimum hold time during stage change [s]

Connectors

TypeNameDescription
input BooleanInputuPlaPlant enable signal
input BooleanInputuWSETrue: waterside economizer is enabled
input BooleanInputuPumTrue: heat exchanger pump is proven on
input BooleanInputuStaProTrue: in staging process
input RealInputTEntWSEChilled water return temperature upstream of the economizer [K]
input RealInputTEntHexChilled water temperature entering heat exchanger [K]
output BooleanOutputyConWatIsoValEconomizer condenser water isolation valve commanded status
output BooleanOutputyPumOnHeat exchanger pump command on
output RealOutputyPumSpeHeat exchanger pump speed setpoint [1]

Modelica definition

block HeatExchangerPump "Pump control for economizer when the chilled water flow is controlled by a variable speed heat exchanger pump" parameter Real minSpe = 0.1 "Minimum pump speed"; parameter Real desSpe = 0.9 "Design pump speed"; parameter Real dtHol( final min=0, final unit="s")=900 "Minimum hold time during stage change"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uPla "Plant enable signal"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uWSE "True: waterside economizer is enabled"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uPum "True: heat exchanger pump is proven on"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uStaPro "True: in staging process"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TEntWSE( final unit="K", displayUnit="degC", final quantity="ThermodynamicTemperature") "Chilled water return temperature upstream of the economizer"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TEntHex( final unit="K", displayUnit="degC", final quantity="ThermodynamicTemperature") "Chilled water temperature entering heat exchanger"; Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput yConWatIsoVal "Economizer condenser water isolation valve commanded status"; Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput yPumOn "Heat exchanger pump command on"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput yPumSpe( final min=0, final max=1, final unit="1") "Heat exchanger pump speed setpoint"; Buildings.Controls.OBC.CDL.Conversions.BooleanToReal conWatIso "Condensing water isolation valve position"; Buildings.Controls.OBC.CDL.Reals.Subtract sub "Temperature difference"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr( final t=1.11, final h=0.44) "Check if the temperature difference is greater than 2 degF (1.11 degK)"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr1( final t=0.56, final h=0.45) "Check if the temperature difference is greater than 1 degF (0.56 degK)"; Buildings.Controls.OBC.CDL.Integers.Switch resSpeReq1 "Pump speed reset request"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant two( final k=2) "Constant two"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant one( final k=1) "Constant one"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant zer( final k=0) "Constant zero"; Buildings.Controls.OBC.CDL.Integers.Switch resSpeReq "Pump speed reset request"; Buildings.Controls.OBC.ASHRAE.G36.Generic.TrimAndRespond resSpe( have_hol=true, final iniSet=desSpe, final minSet=minSpe, final maxSet=desSpe, final delTim=900, final samplePeriod=120, final numIgnReq=0, final triAmo=0.02, final resAmo=-0.03, final maxRes=-0.06, final dtHol=dtHol) "Reset pump speed"; Buildings.Controls.OBC.CDL.Reals.Multiply mul "Pump Speed"; Buildings.Controls.OBC.CDL.Logical.And and1 "Waterside economizer commanded on"; equation connect(TEntWSE, sub.u1); connect(TEntHex, sub.u2); connect(sub.y, greThr.u); connect(sub.y, greThr1.u); connect(greThr1.y, resSpeReq1.u2); connect(zer.y, resSpeReq1.u3); connect(greThr.y, resSpeReq.u2); connect(two.y, resSpeReq.u1); connect(resSpeReq1.y, resSpeReq.u3); connect(one.y, resSpeReq1.u1); connect(resSpeReq.y,resSpe. numOfReq); connect(uPum,resSpe. uDevSta); connect(resSpe.y, mul.u2); connect(conWatIso.y, mul.u1); connect(mul.y, yPumSpe); connect(uWSE, and1.u1); connect(and1.y, conWatIso.u); connect(and1.y, yPumOn); connect(uPla, and1.u2); connect(uStaPro, resSpe.uHol); connect(and1.y, yConWatIsoVal); end HeatExchangerPump;

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.PredictedOutletTemperature Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.PredictedOutletTemperature

Waterside economizer predicted outlet temperature

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.PredictedOutletTemperature

Information

The waterside economizer (WSE) is enabled or disabled based on the predicted WSE heat exchanger (HX) leaving water temperature, y. This block predicts y based on current plant load and ambient wet bulb temperature with respect to the design conditions, as described in ASHRAE Guideline 36-2021, section 5.20.3.1.

The block calculates the predicted WSE output temperature y as a sum of these three components:

Parameters

TypeNameDefaultDescription
RealheaExcAppDes2Design heat exchanger approach [K]
RealcooTowAppDes2Design cooling tower approach [K]
RealTOutWetDes288.15Design outdoor air wet bulb temperature [K]
RealVHeaExcDes_flow0.01Desing heat exchanger chilled water flow rate [m3/s]

Connectors

TypeNameDescription
input RealInputuTunParTuning parameter
input RealInputTOutWetOutdoor air wet bulb temperature [K]
input RealInputVChiWat_flowMeasured (secondary for primary-secondary plants) chilled water flow rate [m3/s]
output RealOutputyPredicted waterside economizer outlet temperature [K]

Modelica definition

block PredictedOutletTemperature "Waterside economizer predicted outlet temperature" parameter Real heaExcAppDes( final unit="K", final quantity="TemperatureDifference")=2 "Design heat exchanger approach"; parameter Real cooTowAppDes( final unit="K", final quantity="TemperatureDifference")=2 "Design cooling tower approach"; parameter Real TOutWetDes( final unit="K", final quantity="ThermodynamicTemperature", displayUnit="degC")=288.15 "Design outdoor air wet bulb temperature"; parameter Real VHeaExcDes_flow( final unit="m3/s", final quantity="VolumeFlowRate", displayUnit="m3/s")=0.01 "Desing heat exchanger chilled water flow rate"; Buildings.Controls.OBC.CDL.Interfaces.RealInput uTunPar( final min=-0.2, final max=0.5) "Tuning parameter"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TOutWet( final unit="K", displayUnit="degC", final quantity="ThermodynamicTemperature") "Outdoor air wet bulb temperature"; Buildings.Controls.OBC.CDL.Interfaces.RealInput VChiWat_flow( final quantity="VolumeFlowRate", final unit="m3/s") "Measured (secondary for primary-secondary plants) chilled water flow rate"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput y( final quantity="ThermodynamicTemperature", final unit="K") "Predicted waterside economizer outlet temperature"; protected Buildings.Controls.OBC.CDL.Reals.Divide heaExcPlr "Heat exchanger flow part load ratio"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant heaExcDes_flow( final k= VHeaExcDes_flow) "Heat exchanger design flow"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant heaAppDes( final k=heaExcAppDes) "Heat exchanger design approach"; Buildings.Controls.OBC.CDL.Reals.Multiply pro "Product"; Buildings.Controls.OBC.CDL.Reals.Subtract sub1 "Subtraction"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant TWetDes( final k=TOutWetDes) "Design outdoor air wet bulb temperature"; Buildings.Controls.OBC.CDL.Reals.Multiply pro1 "Product"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant towAppDes( final k=cooTowAppDes) "Cooling tower design approach"; Buildings.Controls.OBC.CDL.Reals.MultiSum mulSum( final nin=4) "Sum of multiple inputs"; Buildings.Controls.OBC.CDL.Reals.Min min1 "Lesser of the input"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant con( final k=1) "Constant one"; equation connect(heaExcPlr.u2, heaExcDes_flow.y); connect(VChiWat_flow, heaExcPlr.u1); connect(heaAppDes.y, pro.u2); connect(sub1.y, pro1.u1); connect(uTunPar, pro1.u2); connect(TOutWet, mulSum.u[1]); connect(pro.y, mulSum.u[2]); connect(pro1.y, mulSum.u[3]); connect(towAppDes.y, mulSum.u[4]); connect(mulSum.y, y); connect(TOutWet, sub1.u2); connect(TWetDes.y, sub1.u1); connect(heaExcPlr.y, min1.u2); connect(con.y, min1.u1); connect(min1.y, pro.u1); end PredictedOutletTemperature;

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.Tuning Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.Tuning

Defines a tuning parameter for the temperature prediction downstream of WSE

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.Economizers.Subsequences.Tuning

Information

Waterside economizer outlet temperature prediction tuning parameter subsequence per ASHRAE Guideline 36-2021, section 5.20.3.3.

The subsequence calculates the tuning parameter y as follows:

y initializes at 0 upon first plant start up, it holds its value when the plant is disabled, and tuning resumes from that value when the plant is re-enabled. It is limited between -0.2 and 0.5.

To avoid large integer values above larInt, the counters get reset to 0 each time any of them reaches that value.

Parameters

TypeNameDefaultDescription
Realstep0.02Incremental step used to reduce or increase the water-side economizer tuning parameter [1]
RealwseOnTimDec3600Economizer enable time needed to allow decrease of the tuning parameter [s]
RealwseOnTimInc1800Economizer enable time needed to allow increase of the tuning parameter [s]

Connectors

TypeNameDescription
input BooleanInputuWseStaWSE enable disable status
input RealInputuTowFanSpeMaxMaximum cooling tower fan speed signal [1]
output RealOutputyTuning parameter for the waterside economizer outlet temperature prediction

Modelica definition

block Tuning "Defines a tuning parameter for the temperature prediction downstream of WSE" parameter Real step( final unit="1")=0.02 "Incremental step used to reduce or increase the water-side economizer tuning parameter"; parameter Real wseOnTimDec( final unit="s", final quantity="Time", displayUnit="h")=3600 "Economizer enable time needed to allow decrease of the tuning parameter"; parameter Real wseOnTimInc( final unit="s", final quantity="Time", displayUnit="h")=1800 "Economizer enable time needed to allow increase of the tuning parameter"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uWseSta "WSE enable disable status"; Buildings.Controls.OBC.CDL.Interfaces.RealInput uTowFanSpeMax( final unit="1") "Maximum cooling tower fan speed signal"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput y( final max=maxTunPar, final min=minTunPar, final start=initTunPar) "Tuning parameter for the waterside economizer outlet temperature prediction"; protected final parameter Integer larInt=65535 "Large integer used to reset counters"; final parameter Real antWinGai=1 "Anti-windup gain"; final parameter Real initTunPar = 0 "Initial value of the tuning parameter"; final parameter Real minTunPar( final unit="1") = -0.2 "Tuning parameter minimum limit"; final parameter Real maxTunPar( final unit="1") = 0.5 "Tuning parameter maximum limit"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant resVal( final k=0) "Reset value"; Buildings.Controls.OBC.CDL.Reals.MultiSum mulSum( final k={-1*step,step,1}, nin=3) "Multiple input sum"; Buildings.Controls.OBC.CDL.Reals.Subtract sub1 "Anti-windup adder"; Buildings.Controls.OBC.CDL.Logical.Not disWse "Disabled economizer"; Buildings.Controls.OBC.CDL.Logical.And and2 "Economizer disabled after being enabled by more than threshold time"; Buildings.Controls.OBC.CDL.Logical.TimerAccumulating wseEnaTim "Economizer enabling time"; Buildings.Controls.OBC.CDL.Logical.And and1 "Economizer disabled after being enabled by less than threshold time"; Buildings.Controls.OBC.CDL.Reals.LessThreshold lesThr( final t=wseOnTimInc) "Less than threshold time"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr( final t=wseOnTimDec) "Greater than threshold time"; Buildings.Controls.OBC.CDL.Reals.Hysteresis hys( final uHigh=0.99, final uLow=0.98) "Checks if the signal is at its maximum"; Buildings.Controls.OBC.CDL.Integers.OnCounter disCou "Counts the number of times the WSE got disabled"; Buildings.Controls.OBC.CDL.Integers.OnCounter disCou1 "Counts the number of times the WSE got disabled"; Buildings.Controls.OBC.CDL.Conversions.IntegerToReal intToRea "Type converter"; Buildings.Controls.OBC.CDL.Conversions.IntegerToReal intToRea1 "Type converter"; Buildings.Controls.OBC.CDL.Integers.Max maxInt "Greater or equal a threshold"; Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold intGreEquThr1( final t=larInt) "Greater or equal a threshold"; Buildings.Controls.OBC.CDL.Reals.Limiter lim( final uMax=maxTunPar, final uMin=minTunPar) "Limiter"; Buildings.Controls.OBC.CDL.Reals.IntegratorWithReset intWitRes( final k=antWinGai) "Integrator with reset"; Buildings.Controls.OBC.CDL.Logical.Pre preRes "Breaks algebraic loop for the counter and integrator reset"; Buildings.Controls.OBC.CDL.Logical.And and3 "Logical and"; Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler triSam1( final y_start=0) "Total enabled time at the moment when the economizer is disabled"; Buildings.Controls.OBC.CDL.Logical.TimerAccumulating accTim1 "Total time that the speed is not less than the threshold"; Buildings.Controls.OBC.CDL.Discrete.TriggeredSampler triSam2( final y_start=0) "Total time that the speed is not less than the threshold"; Buildings.Controls.OBC.CDL.Reals.LessThreshold lesThr1( final t=5) "Check if it is equal time"; Buildings.Controls.OBC.CDL.Logical.TrueDelay delWseDis( final delayTime=5) "Delay the economizer disable signal"; Buildings.Controls.OBC.CDL.Reals.Subtract timDif "Difference of the economizer enabling time and the high tower speed time"; equation connect(uWseSta, wseEnaTim.u); connect(uTowFanSpeMax, hys.u); connect(uWseSta, disWse.u); connect(intToRea.u, disCou.y); connect(and2.y, disCou.trigger); connect(disCou1.y, intToRea1.u); connect(lim.y, y); connect(mulSum.y, lim.u); connect(lim.y, sub1.u1); connect(mulSum.y, sub1.u2); connect(maxInt.y, intGreEquThr1.u); connect(disCou.y, maxInt.u1); connect(disCou1.y, maxInt.u2); connect(intToRea.y, mulSum.u[1]); connect(intToRea1.y, mulSum.u[2]); connect(intWitRes.y, mulSum.u[3]); connect(intGreEquThr1.y, preRes.u); connect(preRes.y, disCou.reset); connect(preRes.y, disCou1.reset); connect(preRes.y, intWitRes.trigger); connect(resVal.y, intWitRes.y_reset_in); connect(disCou1.trigger, and3.y); connect(and1.y, and3.u1); connect(wseEnaTim.y, triSam1.u); connect(disWse.y, triSam1.trigger); connect(disWse.y, and1.u2); connect(delWseDis.y, wseEnaTim.reset); connect(disWse.y, delWseDis.u); connect(hys.y, accTim1.u); connect(uWseSta, accTim1.reset); connect(accTim1.y, triSam2.u); connect(disWse.y, triSam2.trigger); connect(triSam2.y, timDif.u2); connect(triSam1.y, timDif.u1); connect(timDif.y, lesThr1.u); connect(lesThr1.y, and3.u2); connect(sub1.y, intWitRes.u); connect(triSam1.y, lesThr.u); connect(lesThr.y, and1.u1); connect(triSam1.y, greThr.u); connect(disWse.y, and2.u1); connect(greThr.y, and2.u2); end Tuning;