diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Controller.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Controller.mo new file mode 100644 index 00000000000..9dcfa1b17e8 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Controller.mo @@ -0,0 +1,1217 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit; +block Controller + "Fan coil unit controller that comprises subsequences for controlling fan speed and supply air temperature" + + parameter Boolean have_cooCoi + "Does the fan coil unit have a cooling coil? True: Yes, False: No"; + + parameter Boolean have_hotWatCoi + "Does the fan coil unit have a hot-water heating coil? True: Yes, False: No"; + + parameter Boolean have_eleHeaCoi + "Does the fan coil unit have an electric heating coil? True: Yes, False: No"; + + parameter Boolean have_winSen + "Check if the zone has window status sensor"; + + parameter Boolean have_occSen + "Set to true if zones have occupancy sensor"; + + parameter Real heaDea( + final unit="1", + displayUnit="1")=0.05 + "Heating loop signal limit above which controller operation changes from deadband mode to heating mode"; + + parameter Real cooDea( + final unit="1", + displayUnit="1")=0.05 + "Cooling loop signal limit above which controller operation changes from deadband mode to cooling mode"; + + parameter Buildings.Controls.OBC.CDL.Types.SimpleController controllerTypeCoo= + Buildings.Controls.OBC.CDL.Types.SimpleController.PI + "Type of cooling loop signal controller" + annotation (Dialog(tab="PID parameters", group="Cooling loop control")); + + parameter Real kCoo(final unit="1/K") = 0.1 + "Gain for cooling control loop signal" + annotation(Dialog(tab="PID parameters", group="Cooling loop control")); + + parameter Real TiCoo( + final unit="s", + final quantity="Time")=900 + "Time constant of integrator block for cooling control loop signal" + annotation(Dialog(tab="PID parameters", group="Cooling loop control", + enable=controllerTypeCoo == Buildings.Controls.OBC.CDL.Types.SimpleController.PI + or controllerTypeCoo == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real TdCoo( + final unit="s", + final quantity="Time")=0.1 + "Time constant of derivative block for cooling control loop signal" + annotation (Dialog(tab="PID parameters", group="Cooling loop control", + enable=controllerTypeCoo == Buildings.Controls.OBC.CDL.Types.SimpleController.PD + or controllerTypeCoo == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Buildings.Controls.OBC.CDL.Types.SimpleController controllerTypeHea= + Buildings.Controls.OBC.CDL.Types.SimpleController.PI + "Type of heating loop signal controller" + annotation(Dialog(tab="PID parameters", group="Heating loop control")); + + parameter Real kHea(final unit="1/K")=0.1 + "Gain for heating control loop signal" + annotation(Dialog(tab="PID parameters", group="Heating loop control")); + + parameter Real TiHea( + final unit="s", + final quantity="Time")=900 + "Time constant of integrator block for heating control loop signal" + annotation(Dialog(tab="PID parameters", group="Heating loop control", + enable=controllerTypeHea == Buildings.Controls.OBC.CDL.Types.SimpleController.PI + or controllerTypeHea == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real TdHea( + final unit="s", + final quantity="Time")=0.1 + "Time constant of derivative block for heating control loop signal" + annotation (Dialog(tab="PID parameters", group="Heating loop control", + enable=controllerTypeHea == Buildings.Controls.OBC.CDL.Types.SimpleController.PD + or controllerTypeHea == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Buildings.Controls.OBC.CDL.Types.SimpleController controllerTypeCooCoi= + Buildings.Controls.OBC.CDL.Types.SimpleController.PI + "Type of cooling coil controller" + annotation(Dialog(tab="PID parameters", group="Cooling coil control")); + + parameter Real kCooCoi(final unit="1/K")=0.1 + "Gain for cooling coil control signal" + annotation(Dialog(tab="PID parameters", group="Cooling coil control")); + + parameter Real TiCooCoi( + final unit="s", + final quantity="Time")=900 + "Time constant of integrator block for cooling coil control signal" + annotation(Dialog(tab="PID parameters", group="Cooling coil control", + enable=controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PI + or controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real TdCooCoi( + final unit="s", + final quantity="Time")=0.1 + "Time constant of derivative block for cooling coil control signal" + annotation (Dialog(tab="PID parameters", group="Cooling coil control", + enable=controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PD + or controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Buildings.Controls.OBC.CDL.Types.SimpleController controllerTypeHeaCoi= + Buildings.Controls.OBC.CDL.Types.SimpleController.PI + "Type of heating coil controller" + annotation(Dialog(tab="PID parameters", group="Heating coil control")); + + parameter Real kHeaCoi( + final unit="1/K")=0.1 + "Gain for heating coil control signal" + annotation(Dialog(tab="PID parameters", group="Heating coil control")); + + parameter Real TiHeaCoi( + final unit="s", + final quantity="Time")=900 + "Time constant of integrator block for heating coil control signal" + annotation(Dialog(tab="PID parameters", group="Heating coil control", + enable=controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PI + or controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real TdHeaCoi( + final unit="s", + final quantity="Time")=0.1 + "Time constant of derivative block for heatinging coil control signal" + annotation (Dialog(tab="PID parameters", group="Heating coil control", + enable=controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PD + or controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real uCooFan_min( + final min=0, + final max=1, + final unit="1")=0.5 + "Cooling loop signal limit at which supply air temperature is at minimum and fan speed starts to be modified" + annotation (Dialog(tab="Supply air setpoints")); + + parameter Real uHeaFan_min( + final min=0, + final max=1, + final unit="1")=0.5 + "Heating loop signal limit at which supply air temperature is at maximum and fan speed starts to be modified" + annotation (Dialog(tab="Supply air setpoints")); + + parameter Real TSupSet_max( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Maximum supply air temperature for heating" + annotation (Dialog(tab="Supply air setpoints",group="Temperature limits")); + + parameter Real TSupSet_min( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Minimum supply air temperature for cooling" + annotation (Dialog(tab="Supply air setpoints",group="Temperature limits")); + + parameter Real deaSpe( + final unit="1", + displayUnit="1")=0.1 + "Deadband mode fan speed" + annotation (Dialog(tab="Supply air setpoints",group="Fan speed")); + + parameter Real uHeaFan_max( + final min=0, + final max=1, + final unit="1")=1 + "Maximum heating loop signal at which fan speed is modified" + annotation (Dialog(tab="Supply air setpoints",group="Fan speed - Heating")); + + parameter Real heaSpe_max( + final min=0, + final max=1, + final unit="1") + "Maximum fan speed for heating" + annotation (Dialog(tab="Supply air setpoints",group="Fan speed - Heating")); + + parameter Real heaSpe_min( + final min=0, + final max=1, + final unit="1") + "Minimum fan speed for heating" + annotation (Dialog(tab="Supply air setpoints",group="Fan speed - Heating")); + + parameter Real uCooFan_max( + final min=0, + final max=1, + final unit="1")=1 + "Maximum cooling loop signal at which fan speed is modified" + annotation (Dialog(tab="Supply air setpoints",group="Fan speed - Cooling")); + + parameter Real cooSpe_max( + final min=0, + final max=1, + final unit="1") = 1 + "Maximum fan speed for cooling" + annotation (Dialog(tab="Supply air setpoints",group="Fan speed - Cooling")); + + parameter Real cooSpe_min( + final min=0, + final max=1, + final unit="1") + "Minimum fan speed for cooling" + annotation (Dialog(tab="Supply air setpoints",group="Fan speed - Cooling")); + + parameter Boolean have_locAdj=false + "Flag, set to true if both cooling and heating setpoint are adjustable through a single common knob" + annotation (Dialog(tab="Adjust temperature setpoint", group="General")); + + parameter Boolean sepAdj=false + "True: cooling and heating setpoint can be adjusted separately" + annotation (Dialog(tab="Adjust temperature setpoint", group="General")); + + parameter Boolean ignDemLim=false + "Flag, set to true to exempt individual zone from demand limit setpoint adjustment" + annotation (Dialog(tab="Adjust temperature setpoint", group="General")); + + parameter Real bouLim=1 + "Threshold of temperature difference for indicating the end of setback or setup mode" + annotation (Dialog(tab="Adjust temperature setpoint", group="Advanced")); + + parameter Real TActCoo_max( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature")=300.15 + "Maximum cooling setpoint during on" + annotation (Dialog(tab="Adjust temperature setpoint", group="Limits")); + + parameter Real TActCoo_min( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature")=295.15 + "Minimum cooling setpoint during on" + annotation (Dialog(tab="Adjust temperature setpoint", group="Limits")); + + parameter Real TActHea_max( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature")=295.15 + "Maximum heating setpoint during on" + annotation (Dialog(tab="Adjust temperature setpoint", group="Limits")); + + parameter Real TActHea_min( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature")=291.15 + "Minimum heating setpoint during on" + annotation (Dialog(tab="Adjust temperature setpoint", group="Limits")); + + parameter Real TWinOpeCooSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature")=322.15 + "Cooling setpoint when window is open" + annotation (Dialog(tab="Adjust temperature setpoint", group="Limits")); + + parameter Real TWinOpeHeaSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature")=277.15 + "Heating setpoint when window is open" + annotation (Dialog(tab="Adjust temperature setpoint", group="Limits")); + + parameter Real incTSetDem_1( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=0.56 + "Cooling setpoint increase value (degC) when cooling demand limit level 1 is imposed" + annotation (Dialog(tab="Adjust temperature setpoint", group="Demand control adjustment")); + + parameter Real incTSetDem_2( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=1.1 + "Cooling setpoint increase value (degC) when cooling demand limit level 2 is imposed" + annotation (Dialog(tab="Adjust temperature setpoint", group="Demand control adjustment")); + + parameter Real incTSetDem_3( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=2.2 + "Cooling setpoint increase value (degC) when cooling demand limit level 3 is imposed" + annotation (Dialog(tab="Adjust temperature setpoint", group="Demand control adjustment")); + + parameter Real decTSetDem_1( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=0.56 + "Heating setpoint decrease value (degC) when heating demand limit level 1 is imposed" + annotation (Dialog(tab="Adjust temperature setpoint", group="Demand control adjustment")); + + parameter Real decTSetDem_2( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=1.1 + "Heating setpoint decrease value (degC) when heating demand limit level 2 is imposed" + annotation (Dialog(tab="Adjust temperature setpoint", group="Demand control adjustment")); + + parameter Real decTSetDem_3( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=2.2 + "Heating setpoint decrease value (degC) when heating demand limit level 3 is imposed" + annotation (Dialog(tab="Adjust temperature setpoint", group="Demand control adjustment")); + + parameter Real chiWatPlaReqLim0( + final unit = "1", + displayUnit="1")=0.1 + "Valve position limit below which zero chilled water plant requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_cooCoi)); + + parameter Real chiWatResReqLim0( + final unit = "1", + displayUnit="1")=0.85 + "Valve position limit below which zero chilled water reset requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_cooCoi)); + + parameter Real chiWatPlaReqLim1( + final unit = "1", + displayUnit="1")=0.95 + "Valve position limit above which one chilled water plant request is sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_cooCoi)); + + parameter Real chiWatResReqLim2( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=2.78 + "Temperature difference limit between setpoint and supply air temperature above which two chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_cooCoi)); + + parameter Real chiWatResReqTimLim2( + final unit="s", + displayUnit="s", + final quantity="Time")=300 + "Time period for which chiWatResReqLim2 has to be exceeded before two chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_cooCoi)); + + parameter Real chiWatResReqLim3( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=5.56 + "Temperature difference limit between setpoint and supply air temperature above which three chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_cooCoi)); + + parameter Real chiWatResReqTimLim3( + final unit="s", + displayUnit="s", + final quantity="Time")=300 + "Time period for which chiWatResReqLim3 has to be exceeded before three chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_cooCoi)); + + parameter Real hotWatPlaReqLim0( + final unit = "1", + displayUnit="1")=0.1 + "Valve position limit below which zero hot water plant requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqLim0( + final unit = "1", + displayUnit="1")=0.85 + "Valve position limit below which zero hot water reset requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatPlaReqLim1( + final unit = "1", + displayUnit="1")=0.95 + "Valve position limit above which one hot water plant request is sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqLim2( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=8 + "Temperature difference limit between setpoint and supply air temperature above which two hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqTimLim2( + final unit="s", + displayUnit="s", + final quantity="Time")=300 + "Time period for which hotWatResReqLim2 has to be exceeded before two hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqLim3( + final unit="K", + displayUnit="K", + final quantity="TemperatureDifference")=17 + "Temperature difference limit between setpoint and supply air temperature above which three hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqTimLim3( + final unit="s", + displayUnit="s", + final quantity="Time")=300 + "Time period for which hotWatResReqLim3 has to be exceeded before three hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real uLow( + final unit="1", + displayUnit="1")=-0.1 + "Lower limit of the hysteresis for checking temperature difference" + annotation (Dialog(tab="Advanced")); + + parameter Real uHigh( + final unit="1", + displayUnit="1")=0.1 + "Higher limit of the hysteresis for checking temperature difference" + annotation (Dialog(tab="Advanced")); + + parameter Real deaHysLim( + final unit="1", + displayUnit="1")=0.01 + "Hysteresis limits for cooling and heating loop signals for deadband mode transitions" + annotation (Dialog(tab="Advanced")); + + parameter Real preWarCooTim( + final unit="s", + displayUnit="s", + final quantity="Time")=10800 + "Maximum cool-down or warm-up time" + annotation(Dialog(tab="Advanced", group="Operation mode")); + + parameter Real Thys( + final unit="1", + displayUnit="1")=0.1 + "Hysteresis for checking temperature difference" + annotation(Dialog(tab="Advanced")); + + parameter Real posHys( + final unit="1", + displayUnit="1")=0.05 + "Hysteresis for checking valve position difference" + annotation(Dialog(tab="Advanced")); + + parameter Real dFanSpe( + final unit="1", + displayUnit="1")=0.05 + "Fan speed hysteresis difference" + annotation(Dialog(tab="Advanced")); + + Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1Occ + "Current occupancy period, true if it is in occupant period" + annotation (Placement(transformation(extent={{-260,50},{-220,90}}), + iconTransformation(extent={{-240,140},{-200,180}}))); + + Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1Win if have_winSen + "Window status, true if open, false if closed" + annotation (Placement(transformation(extent={{-260,-320},{-220,-280}}), + iconTransformation(extent={{-240,-300},{-200,-260}}))); + + Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1Fan + "Fan proven on signal" + annotation (Placement(transformation(extent={{-260,-290},{-220,-250}}), + iconTransformation(extent={{-240,-260},{-200,-220}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerInput uCooDemLimLev + "Cooling demand limit level" + annotation (Placement(transformation(extent={{-260,20},{-220,60}}), + iconTransformation(extent={{-240,100},{-200,140}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerInput uHeaDemLimLev + "Heating demand limit level" + annotation (Placement(transformation(extent={{-260,-10},{-220,30}}), + iconTransformation(extent={{-240,60},{-200,100}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerInput nOcc if have_occSen + "Number of occupants" + annotation (Placement(transformation(extent={{-260,-260},{-220,-220}}), + iconTransformation(extent={{-240,-220},{-200,-180}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput warUpTim( + final unit="s", + displayUnit="min", + final quantity="Time") + "Warm-up time retrieved from optimal warm-up block" + annotation (Placement(transformation(extent={{-260,170},{-220,210}}), + iconTransformation(extent={{-240,340},{-200,380}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput cooDowTim( + final unit="s", + displayUnit="min", + final quantity="Time") + "Cool-down time retrieved from optimal cool-down block" + annotation (Placement(transformation(extent={{-260,200},{-220,240}}), + iconTransformation(extent={{-240,300},{-200,340}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput tNexOcc( + final unit="s", + displayUnit="min", + final quantity="Time") "Time to next occupied period" + annotation (Placement(transformation(extent={{-260,140},{-220,180}}), + iconTransformation(extent={{-240,260},{-200,300}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TZon( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") "Measured zone temperatures" + annotation (Placement(transformation(extent={{-260,-70},{-220,-30}}), + iconTransformation(extent={{-240,-20},{-200,20}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TSup( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Measured supply air temperature" + annotation (Placement(transformation(extent={{-260,-40},{-220,0}}), + iconTransformation(extent={{-240,20},{-200,60}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput cooSetAdj( + final unit="K", + displayUnit="degC", + final quantity="TemperatureDifference") if cooAdj or have_locAdj + "Cooling setpoint adjustment value" + annotation (Placement(transformation(extent={{-260,110},{-220,150}}), + iconTransformation(extent={{-240,220},{-200,260}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput heaSetAdj( + final unit="K", + displayUnit="degC", + final quantity="TemperatureDifference") if heaAdj + "Heating setpoint adjustment value" + annotation (Placement(transformation(extent={{-260,80},{-220,120}}), + iconTransformation(extent={{-240,180},{-200,220}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uHeaCoi( + final unit="1", + displayUnit="1") if have_hotWatCoi + "Measured heating coil control action" + annotation (Placement(transformation(extent={{-260,-360},{-220,-320}}), + iconTransformation(extent={{-240,-340},{-200,-300}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uCooCoi( + final unit="1", + displayUnit="1") if have_cooCoi + "Measured cooling coil control action" + annotation (Placement(transformation(extent={{-260,-400},{-220,-360}}), + iconTransformation(extent={{-240,-380},{-200,-340}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TOccHeaSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Occupied heating setpoint temperature" + annotation (Placement(transformation(extent={{-260,-100},{-220,-60}}), + iconTransformation(extent={{-240,-60},{-200,-20}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TOccCooSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Occupied cooling setpoint temperature" + annotation (Placement(transformation(extent={{-260,-140},{-220,-100}}), + iconTransformation(extent={{-240,-100},{-200,-60}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TUnoHeaSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Unoccupied heating setpoint temperature" + annotation (Placement(transformation(extent={{-260,-180},{-220,-140}}), + iconTransformation(extent={{-240,-140},{-200,-100}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TUnoCooSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Unoccupied cooling setpoint temperature" + annotation (Placement(transformation(extent={{-260,-220},{-220,-180}}), + iconTransformation(extent={{-240,-180},{-200,-140}}))); + + Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput y1Fan + "Fan command on status" + annotation (Placement(transformation(extent={{200,180},{240,220}}), + iconTransformation(extent={{200,180},{240,220}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yChiWatResReq if have_cooCoi + "Chilled water reset request" + annotation (Placement(transformation(extent={{200,-120},{240,-80}}), + iconTransformation(extent={{200,-100},{240,-60}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yChiPlaReq if have_cooCoi + "Chiller plant requests" + annotation (Placement(transformation(extent={{200,-160},{240,-120}}), + iconTransformation(extent={{200,-140},{240,-100}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yHotWatResReq if have_hotWatCoi + "Hot water reset requests" + annotation (Placement(transformation(extent={{200,-200},{240,-160}}), + iconTransformation(extent={{200,-180},{240,-140}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yHotWatPlaReq if have_hotWatCoi + "Hot water plant requests" + annotation (Placement(transformation(extent={{200,-240},{240,-200}}), + iconTransformation(extent={{200,-220},{240,-180}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput TSupSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Supply air temperature setpoint" + annotation (Placement(transformation(extent={{200,-40},{240,0}}), + iconTransformation(extent={{200,-60},{240,-20}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput yFan( + final min=0, + final max=1, + final unit="1") + "Fan command speed" + annotation (Placement(transformation(extent={{200,140},{240,180}}), + iconTransformation(extent={{200,140},{240,180}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput TZonHeaSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Heating setpoint temperature" + annotation (Placement(transformation(extent={{200,100},{240,140}}), + iconTransformation(extent={{200,100},{240,140}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput TZonCooSet( + final unit="K", + displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Cooling setpoint temperature" + annotation (Placement(transformation(extent={{200,60},{240,100}}), + iconTransformation(extent={{200,60},{240,100}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput yCooCoi( + final min=0, + final max=1, + final unit="1") if have_cooCoi + "Cooling coil control signal" + annotation (Placement(transformation(extent={{200,-80},{240,-40}}), + iconTransformation(extent={{200,-20},{240,20}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput yHeaCoi( + final min=0, + final max=1, + final unit="1") if have_heaCoi + "Heating coil control signal" + annotation (Placement(transformation(extent={{200,0},{240,40}}), + iconTransformation(extent={{200,20},{240,60}}))); + + Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.ModeAndSetPoints + modSetPoi( + final have_winSen=have_winSen, + final have_occSen=have_occSen, + final sepAdj=sepAdj, + final TActCoo_max=TActCoo_max, + final TActCoo_min=TActCoo_min, + final TActHea_max=TActHea_max, + final TActHea_min=TActHea_min, + final TWinOpeCooSet=TWinOpeCooSet, + final TWinOpeHeaSet=TWinOpeHeaSet, + final have_locAdj=have_locAdj, + final ignDemLim=ignDemLim, + final incTSetDem_1=incTSetDem_1, + final incTSetDem_2=incTSetDem_2, + final incTSetDem_3=incTSetDem_3, + final decTSetDem_1=decTSetDem_1, + final decTSetDem_2=decTSetDem_2, + final decTSetDem_3=decTSetDem_3, + final bouLim=bouLim, + final uLow=uLow, + final uHigh=uHigh, + final preWarCooTim=preWarCooTim) + "Zone setpoint and operation mode" + annotation (Placement(transformation(extent={{-140,150},{-120,190}}))); + + Buildings.Controls.OBC.CDL.Continuous.PIDWithReset cooPI( + final reverseActing=false, + final controllerType=controllerTypeCoo, + final k=kCoo, + final Ti=TiCoo, + final Td=TdCoo) + "Zone cooling control signal" + annotation (Placement(transformation(extent={{-40,156},{-20,176}}))); + + Buildings.Controls.OBC.CDL.Continuous.PIDWithReset heaPI( + final controllerType=controllerTypeHea, + final k=kHea, + final Ti=TiHea, + final Td=TdHea) + "Zone heating control signal" + annotation (Placement(transformation(extent={{-80,210},{-60,230}}))); + +protected + final parameter Boolean have_heaCoi = have_hotWatCoi or have_eleHeaCoi + "Does the fan coil unit have a heating coil?"; + + final parameter Boolean cooAdj=sepAdj + "Flag, set to true if both cooling and heating setpoint are adjustable separately" + annotation (Dialog(tab="Adjust temperature setpoint", group="General")); + + final parameter Boolean heaAdj=sepAdj + "Flag, set to true if heating setpoint is adjustable" + annotation (Dialog(tab="Adjust temperature setpoint", group="General")); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.PlantRequests fcuPlaReq( + final have_hotWatCoi=have_hotWatCoi, + final have_chiWatCoi=have_cooCoi, + final cooSpe_max=cooSpe_max, + final heaSpe_max=heaSpe_max, + final chiWatPlaReqLim0=chiWatPlaReqLim0, + final chiWatResReqLim0=chiWatResReqLim0, + final chiWatPlaReqLim1=chiWatPlaReqLim1, + final chiWatResReqLim2=chiWatResReqLim2, + final chiWatResReqTimLim2=chiWatResReqTimLim2, + final chiWatResReqLim3=chiWatResReqLim3, + final chiWatResReqTimLim3=chiWatResReqTimLim3, + final hotWatPlaReqLim0=hotWatPlaReqLim0, + final hotWatResReqLim0=hotWatResReqLim0, + final hotWatPlaReqLim1=hotWatPlaReqLim1, + final hotWatResReqLim2=hotWatResReqLim2, + final hotWatResReqTimLim2=hotWatResReqTimLim2, + final hotWatResReqLim3=hotWatResReqLim3, + final hotWatResReqTimLim3=hotWatResReqTimLim3, + final Thys=Thys, + final posHys=posHys, + final dFanSpe=dFanSpe) if have_cooCoi or have_hotWatCoi + "Block for generating chilled water requests and hot water requests for their respective plants" + annotation (Placement(transformation(extent={{100,-100},{120,-80}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant unOccMod( + final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.unoccupied) + "Unoccupied mode" + annotation (Placement(transformation(extent={{-160,-330},{-140,-310}}))); + + Buildings.Controls.OBC.CDL.Integers.Equal isUnOcc + "Check if current operation mode is unoccupied mode" + annotation (Placement(transformation(extent={{-100,-330},{-80,-310}}))); + + Buildings.Controls.OBC.CDL.Logical.Not isOcc + "If in unoccupied mode, switch off" + annotation (Placement(transformation(extent={{-70,-330},{-50,-310}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Constant win( + final k=false) if not have_winSen + "Window status" + annotation (Placement(transformation(extent={{-198,-230},{-178,-210}}))); + + Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold havOcc( + final t=1) if have_occSen + "Check if there is occupant" + annotation (Placement(transformation(extent={{-100,50},{-80,70}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.SupplyAirTemperature TSupAir( + final have_cooCoi=have_cooCoi, + final have_heaCoi=have_heaCoi, + final TSupSet_max=TSupSet_max, + final uHea_max=uHeaFan_min, + final TSupSet_min=TSupSet_min, + final uCoo_max=uCooFan_min, + final heaDea=heaDea, + final cooDea=cooDea, + final controllerTypeCooCoi=controllerTypeCooCoi, + final kCooCoi=kCooCoi, + final TiCooCoi=TiCooCoi, + final TdCooCoi=TdCooCoi, + final controllerTypeHeaCoi=controllerTypeHeaCoi, + final kHeaCoi=kHeaCoi, + final TiHeaCoi=TiHeaCoi, + final TdHeaCoi=TdHeaCoi, + final deaHysLim=deaHysLim) + "Supply air temperature setpoint controller" + annotation (Placement(transformation(extent={{102,0},{122,24}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed fanSpe( + final have_cooCoi=have_cooCoi, + final have_heaCoi=have_heaCoi, + final deaSpe=deaSpe, + final heaSpe_min=heaSpe_min, + final uHea_min=uHeaFan_min, + final heaSpe_max=heaSpe_max, + final uHea_max=uHeaFan_max, + final cooSpe_min=cooSpe_min, + final uCoo_min=uCooFan_min, + final cooSpe_max=cooSpe_max, + final uCoo_max=uCooFan_max, + final heaDea=heaDea, + final cooDea=cooDea, + final deaHysLim=deaHysLim) + "Fan speed controller" + annotation (Placement(transformation(extent={{120,170},{140,190}}))); + +equation + assert((not (have_hotWatCoi and have_eleHeaCoi)), "One of have_hotWatCoi and have_eleHeaCoi has to be set to false"); + + connect(unOccMod.y, isUnOcc.u2) annotation (Line(points={{-138,-320},{-120,-320}, + {-120,-328},{-102,-328}}, color={255,127,0})); + + connect(isUnOcc.y, isOcc.u) + annotation (Line(points={{-78,-320},{-72,-320}}, color={255,0,255})); + + connect(TZon, cooPI.u_m) annotation (Line(points={{-240,-50},{-30,-50},{-30,154}}, + color={0,0,127})); + + connect(isOcc.y, heaPI.trigger) annotation (Line(points={{-48,-320},{-36,-320}, + {-36,84},{-76,84},{-76,208}}, color={255,0,255})); + + connect(isOcc.y, cooPI.trigger) annotation (Line(points={{-48,-320},{-36,-320}, + {-36,154}}, color={255,0,255})); + + connect(TZon, heaPI.u_m) annotation (Line(points={{-240,-50},{-70,-50},{-70,208}}, + color={0,0,127})); + + connect(modSetPoi.THeaSet, heaPI.u_s) annotation (Line(points={{-118,162},{-100, + 162},{-100,220},{-82,220}}, color={0,0,127})); + + connect(modSetPoi.THeaSet, TZonHeaSet) annotation (Line(points={{-118,162},{-54, + 162},{-54,120},{220,120}}, color={0,0,127})); + + connect(modSetPoi.TCooSet, cooPI.u_s) annotation (Line(points={{-118,170},{-50, + 170},{-50,166},{-42,166}}, + color={0,0,127})); + + connect(modSetPoi.TCooSet, TZonCooSet) annotation (Line(points={{-118,170},{-50, + 170},{-50,80},{220,80}}, color={0,0,127})); + + connect(TZon, modSetPoi.TZon) annotation (Line(points={{-240,-50},{-188,-50},{ + -188,180},{-142,180}}, color={0,0,127})); + + connect(tNexOcc, modSetPoi.tNexOcc) annotation (Line(points={{-240,160},{-216, + 160},{-216,166},{-142,166}}, + color={0,0,127})); + + connect(u1Occ, modSetPoi.u1Occ) annotation (Line(points={{-240,70},{-194,70},{-194, + 168},{-142,168}}, color={255,0,255})); + + connect(modSetPoi.yOpeMod, isUnOcc.u1) annotation (Line(points={{-118,178},{-110, + 178},{-110,-320},{-102,-320}}, color={255,127,0})); + + connect(win.y, modSetPoi.u1Win) annotation (Line(points={{-176,-220},{-150,-220}, + {-150,183},{-142,183}}, color={255,0,255})); + + connect(u1Win, modSetPoi.u1Win) annotation (Line(points={{-240,-300},{-158,-300}, + {-158,183},{-142,183}}, color={255,0,255})); + + connect(havOcc.y, modSetPoi.u1OccSen) annotation (Line(points={{-78,60},{-60,60}, + {-60,112},{-180,112},{-180,156},{-142,156}}, color={255,0,255})); + + connect(modSetPoi.warUpTim, warUpTim) annotation (Line(points={{-142,186},{-200, + 186},{-200,190},{-240,190}}, color={0,0,127})); + + connect(modSetPoi.cooDowTim, cooDowTim) annotation (Line(points={{-142,188},{-194, + 188},{-194,220},{-240,220}}, color={0,0,127})); + + connect(modSetPoi.uCooDemLimLev, uCooDemLimLev) annotation (Line(points={{-142, + 154},{-182,154},{-182,40},{-240,40}}, color={255,127,0})); + + connect(modSetPoi.uHeaDemLimLev, uHeaDemLimLev) annotation (Line(points={{-142, + 152},{-176,152},{-176,10},{-240,10}}, color={255,127,0})); + + connect(TSupAir.yCooCoi, yCooCoi) annotation (Line(points={{124,6},{160,6},{160, + -60},{220,-60}}, color={0,0,127})); + + connect(TSupAir.yHeaCoi, yHeaCoi) annotation (Line(points={{124,18},{160,18},{ + 160,20},{220,20}}, color={0,0,127})); + + connect(TSupAir.TSupSet, TSupSet) annotation (Line(points={{124,12},{180,12}, + {180,-20},{220,-20}}, color={0,0,127})); + + connect(fanSpe.yFan, yFan) annotation (Line(points={{142,178},{160,178},{160,160}, + {220,160}}, color={0,0,127})); + + connect(fanSpe.y1Fan, y1Fan) annotation (Line(points={{142,182},{160,182},{160,200}, + {220,200}}, color={255,0,255})); + + connect(modSetPoi.yOpeMod, fanSpe.opeMod) annotation (Line(points={{-118,178}, + {-60,178},{-60,186},{118,186}}, color={255,127,0})); + + connect(TSup, TSupAir.TAirSup) annotation (Line(points={{-240,-20},{-80,-20},{ + -80,10},{100,10}}, + color={0,0,127})); + + connect(u1Fan, fanSpe.u1FanPro) annotation (Line(points={{-240,-270},{8,-270}, + {8,182},{118,182}}, color={255,0,255})); + + connect(heaPI.y, fanSpe.uHea) annotation (Line(points={{-58,220},{0,220},{0,178}, + {118,178}}, color={0,0,127})); + + connect(cooPI.y, fanSpe.uCoo) annotation (Line(points={{-18,166},{20,166},{20, + 174},{118,174}}, color={0,0,127})); + + connect(modSetPoi.TCooSet,TSupAir.TZonCooSet) annotation (Line(points={{-118, + 170},{-50,170},{-50,2},{100,2}}, color={0,0,127})); + + connect(modSetPoi.THeaSet,TSupAir.TZonHeaSet) annotation (Line(points={{-118, + 162},{-54,162},{-54,18},{100,18}}, color={0,0,127})); + + connect(cooPI.y, TSupAir.uCoo) annotation (Line(points={{-18,166},{20,166},{20, + 6},{100,6}}, color={0,0,127})); + + connect(heaPI.y, TSupAir.uHea) annotation (Line(points={{-58,220},{0,220},{0,14}, + {100,14}}, color={0,0,127})); + + connect(TZonHeaSet, TZonHeaSet) + annotation (Line(points={{220,120},{220,120}}, color={0,0,127})); + + connect(u1Fan, TSupAir.u1Fan) annotation (Line(points={{-240,-270},{8,-270},{8,22}, + {100,22}}, color={255,0,255})); + + connect(nOcc, havOcc.u) annotation (Line(points={{-240,-240},{-140,-240},{-140, + 60},{-102,60}}, + color={255,127,0})); + + connect(cooSetAdj, modSetPoi.cooSetAdj) annotation (Line(points={{-240,130},{-212, + 130},{-212,161},{-142,161}}, color={0,0,127})); + + connect(heaSetAdj, modSetPoi.heaSetAdj) annotation (Line(points={{-240,100},{-172, + 100},{-172,159},{-142,159}}, color={0,0,127})); + + connect(TSup, fcuPlaReq.TAirSup) annotation (Line(points={{-240,-20},{-80,-20}, + {-80,-86},{98,-86}}, color={0,0,127})); + + connect(uCooCoi, fcuPlaReq.uCooCoi_actual) annotation (Line(points={{-240,-380}, + {60,-380},{60,-93.8},{98,-93.8}}, color={0,0,127})); + + connect(uHeaCoi, fcuPlaReq.uHeaCoi_actual) annotation (Line(points={{-240,-340}, + {70,-340},{70,-98},{98,-98}}, color={0,0,127})); + + connect(fcuPlaReq.yChiWatResReq, yChiWatResReq) annotation (Line(points={{122,-84}, + {160,-84},{160,-100},{220,-100}}, color={255,127,0})); + + connect(fcuPlaReq.yChiPlaReq, yChiPlaReq) annotation (Line(points={{122,-88},{ + 156,-88},{156,-140},{220,-140}}, color={255,127,0})); + + connect(fcuPlaReq.yHotWatResReq, yHotWatResReq) annotation (Line(points={{122,-92}, + {150,-92},{150,-180},{220,-180}}, color={255,127,0})); + + connect(fcuPlaReq.yHotWatPlaReq, yHotWatPlaReq) annotation (Line(points={{122,-96}, + {144,-96},{144,-220},{220,-220}}, color={255,127,0})); + + connect(TSupAir.TSupSet, fcuPlaReq.TSupSet) annotation (Line(points={{124,12}, + {130,12},{130,-70},{94,-70},{94,-90},{98,-90}}, color={0,0,127})); + + connect(fanSpe.yFan, fcuPlaReq.uFan) annotation (Line(points={{142,178},{150,178}, + {150,-60},{90,-60},{90,-82},{98,-82}}, color={0,0,127})); + + connect(TOccHeaSet, modSetPoi.TOccHeaSet) annotation (Line(points={{-240,-80}, + {-164,-80},{-164,177},{-142,177}}, color={0,0,127})); + + connect(TOccCooSet, modSetPoi.TOccCooSet) annotation (Line(points={{-240,-120}, + {-168,-120},{-168,175},{-142,175}}, color={0,0,127})); + + connect(TUnoHeaSet, modSetPoi.TUnoHeaSet) annotation (Line(points={{-240,-160}, + {-200,-160},{-200,173},{-142,173}}, color={0,0,127})); + + connect(TUnoCooSet, modSetPoi.TUnoCooSet) annotation (Line(points={{-240,-200}, + {-206,-200},{-206,171},{-142,171}}, color={0,0,127})); +annotation (defaultComponentName="conFCU", + Icon(coordinateSystem(preserveAspectRatio=false, extent={{-200,-380},{200,380}}), + graphics={Rectangle( + extent={{-200,-380},{200,380}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-200,460},{200,380}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-196,296},{-134,268}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="tNexOcc"), + Text( + extent={{-200,12},{-156,-8}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TZon"), + Text( + extent={{-196,172},{-150,152}}, + textColor={255,0,255}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="u1Occ"), + Text( + extent={{-200,52},{-152,30}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TSup"), + Text( + extent={{-198,-212},{-152,-184}}, + textColor={244,125,35}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="nOcc", + visible=have_occSen), + Text( + visible=have_winSen, + extent={{-196,-266},{-152,-288}}, + textColor={255,0,255}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="u1Win"), + Text( + extent={{132,-22},{198,-56}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TSupSet"), + Text( + extent={{148,172},{200,136}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yFan"), + Text( + extent={{116,136},{194,102}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TZonHeaSet"), + Text( + extent={{116,98},{196,60}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TZonCooSet"), + Text( + extent={{142,60},{196,22}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yHeaCoi", + visible=have_heaCoi), + Text( + extent={{142,20},{196,-18}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yCooCoi", + visible=have_cooCoi), + Text( + extent={{-194,378},{-120,346}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="warUpTim"), + Text( + extent={{-194,338},{-114,306}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="cooDowTim"), + Text( + extent={{-194,134},{-82,112}}, + textColor={255,127,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uCooDemLimLev"), + Text( + extent={{-194,92},{-82,70}}, + textColor={255,127,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uHeaDemLimLev"), + Text( + extent={{-196,-230},{-150,-250}}, + textColor={255,0,255}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="u1Fan"), + Text( + extent={{144,212},{188,190}}, + textColor={255,0,255}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="y1Fan"), + Text( + extent={{-196,174},{-134,146}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="setAdj", + visible=cooAdj or have_locAdj), + Text( + extent={{-196,134},{-134,106}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="heaSetAdj", + visible=heaAdj), + Text( + extent={{-196,-308},{-148,-330}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uHeaCoi", + visible=have_hotWatCoi), + Text( + extent={{-196,-348},{-148,-370}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uCooCoi", + visible=have_cooCoi), + Text( + extent={{106,-90},{198,-66}}, + textColor={244,125,35}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yChiWatResReq", + visible=have_cooCoi), + Text( + extent={{132,-130},{198,-108}}, + textColor={244,125,35}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yChiPlaReq", + visible=have_cooCoi), + Text( + extent={{104,-170},{196,-146}}, + textColor={244,125,35}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yHotWatResReq", + visible=have_hotWatCoi), + Text( + extent={{106,-210},{198,-186}}, + textColor={244,125,35}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yHotWatPlaReq", + visible=have_hotWatCoi), + Text( + extent={{-196,-26},{-104,-54}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TOccHeaSet"), + Text( + extent={{-194,-68},{-98,-92}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TOccCooSet"), + Text( + extent={{-194,-108},{-98,-130}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TUnoHeaSet"), + Text( + extent={{-200,-148},{-94,-170}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TUnoCooSet"), + Text( + extent={{-196,256},{-124,228}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="cooSetAdj"), + Text( + extent={{-196,214},{-124,186}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="heaSetAdj")}), + Diagram(coordinateSystem( + preserveAspectRatio=false, extent={{-220,-400},{200,240}})), +Documentation(info=" +

+Block for fan coil unit control. It outputs supply fan enable signal and speed signal, +the supply air temperature setpoint, the zone air heating and cooling setpoints, +and valve positions of heating and cooling coils. +

+

+It is implemented according to the ASHRAE Guideline 36-2021, Part 5.22. +

+

+The sequences consist of the following subsequences. +

+

Supply fan control

+

+The supply fan control is implemented according to Part 5.22.4. It outputs +the control signals for supply fan enable yFan and the fan speed +yFanSpe. +See + +Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed for more detailed +description. +

+

Supply air temperature setpoint

+

+The supply air temperature setpoint control sequences are implemented based on Part 5.22.4. +The block outputs a supply air temperature setpoint signal TSupSet, +and control signals for the heating coil yHeaCoi and the cooling coil +yCooCoi. See + +Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.SupplyAirTemperature +for more detailed description. +

+

Zone air heating and cooling setpoints

+

+The zone air heating setpoint TZonHeaSetand cooling setpoint TZonHeaSet +as well as system operation mode signal modSetPoi.yOpeMod are detailed at + +Buildings.Controls.OBC.ASHRAE.G36.AHUs.SingleZone.VAV.SetPoints.ModeAndSetPoints. +

+", +revisions=" + +")); +end Controller; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/FanSpeed.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/FanSpeed.mo new file mode 100644 index 00000000000..93c99a85db8 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/FanSpeed.mo @@ -0,0 +1,423 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences; +block FanSpeed + "Fan speed setpoint subsequence" + + parameter Boolean have_cooCoi + "Does the fan coil unit have a cooling coil? True: Yes, False: No"; + + parameter Boolean have_heaCoi + "Does the fan coil unit have a heating coil? True: Yes, False: No"; + + parameter Real deaSpe( + final unit="1", + displayUnit="1") = 0.1 + "Deadband mode fan speed" + annotation(Dialog(group="Deadband")); + + parameter Real heaSpe_min( + final unit="1", + displayUnit="1") = 0.1 + "Minimum heating mode fan speed" + annotation(Dialog(group="Heating loop", + enable = have_heaCoi)); + + parameter Real uHea_min( + final unit="1", + displayUnit="1") = 0.5 + "Minimum heating loop signal at which fan speed is modified" + annotation(Dialog(group="Heating loop", + enable = have_heaCoi)); + + parameter Real heaSpe_max( + final unit="1", + displayUnit="1") = 0.6 + "Maximum heating mode fan speed" + annotation(Dialog(group="Heating loop", + enable = have_heaCoi)); + + parameter Real uHea_max( + final unit="1", + displayUnit="1") = 1 + "Maximum heating loop signal at which fan speed is modified" + annotation(Dialog(group="Heating loop", + enable = have_heaCoi)); + + parameter Real cooSpe_min( + final unit="1", + displayUnit="1") = 0.2 + "Minimum cooling mode fan speed" + annotation(Dialog(group="Cooling loop", + enable = have_cooCoi)); + + parameter Real uCoo_min( + final unit="1", + displayUnit="1") = 0.5 + "Minimum cooling loop signal at which fan speed is modified" + annotation(Dialog(group="Cooling loop", + enable = have_cooCoi)); + + parameter Real cooSpe_max( + final unit="1", + displayUnit="1") = 1 + "Maximum cooling mode fan speed" + annotation(Dialog(group="Cooling loop", + enable = have_cooCoi)); + + parameter Real uCoo_max( + final unit="1", + displayUnit="1") = 1 + "Maximum cooling loop signal at which fan speed is modified" + annotation(Dialog(group="Cooling loop", + enable = have_cooCoi)); + + parameter Real heaDea( + final unit="1", + displayUnit="1") = 0.05 + "Heating loop signal limit above which fan operation changes from deadband mode to heating mode" + annotation(Dialog(group="Deadband", + enable = have_heaCoi)); + + parameter Real cooDea( + final unit="1", + displayUnit="1") = 0.05 + "Cooling loop signal limit above which fan operation changes from deadband mode to cooling mode" + annotation(Dialog(group="Deadband", + enable = have_cooCoi)); + + parameter Real deaHysLim( + final unit="1", + displayUnit="1") = 0.01 + "Hysteresis limits for deadband mode transitions" + annotation(Dialog(tab="Advanced")); + + Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1FanPro + "Fan proven on signal" + annotation (Placement(transformation(extent={{-140,20},{-100,60}}), + iconTransformation(extent={{-140,0},{-100,40}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerInput opeMod + "System operating mode" + annotation (Placement(transformation(extent={{-140,60},{-100,100}}), + iconTransformation(extent={{-140,40},{-100,80}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uHea( + final unit="1", + displayUnit="1") if have_heaCoi + "Heating loop signal" + annotation (Placement(transformation(extent={{-140,-40},{-100,0}}), + iconTransformation(extent={{-140,-40},{-100,0}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uCoo( + final unit="1", + displayUnit="1") if have_cooCoi + "Cooling loop signal" + annotation (Placement(transformation(extent={{-140,-140},{-100,-100}}), + iconTransformation(extent={{-140,-80},{-100,-40}}))); + + Buildings.Controls.OBC.CDL.Interfaces.BooleanOutput y1Fan + "Fan command on status" + annotation (Placement(transformation(extent={{120,40},{160,80}}), + iconTransformation(extent={{100,0},{140,40}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput yFan( + final unit="1", + displayUnit="1") + "Fan command speed" + annotation (Placement(transformation(extent={{120,-20},{160,20}}), + iconTransformation(extent={{100,-40},{140,0}}))); + +protected + Buildings.Controls.OBC.CDL.Integers.Equal isUnOcc + "Check if zone is unoccupied" + annotation (Placement(transformation(extent={{-40,70},{-20,90}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant unOccMod( + final k=Buildings.Controls.OBC.ASHRAE.G36.Types.OperationModes.unoccupied) + "Constant unoccupied mode signal" + annotation (Placement(transformation(extent={{-80,50},{-60,70}}))); + + Buildings.Controls.OBC.CDL.Logical.Not notUno + "Enable only if zone is not in unoccupied mode" + annotation (Placement(transformation(extent={{-10,70},{10,90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Switch swiFanPro + "Switch fan speed to deadband speed until the fan is proven ON" + annotation (Placement(transformation(extent={{80,-10},{100,10}}))); + + Buildings.Controls.OBC.CDL.Conversions.BooleanToReal booToRea + "Convert fan enable signal to Real" + annotation (Placement(transformation(extent={{30,-30},{50,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Line linHeaFanSpe + "Heating fan speed signal" + annotation (Placement(transformation(extent={{-30,-30},{-10,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conuHea_min( + final k=uHea_min) + "Minimum heating loop signal support point" + annotation (Placement(transformation(extent={{-90,-50},{-70,-30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conheaSpe_min( + final k=heaSpe_min) + "Minimum heating fan speed limit signal" + annotation (Placement(transformation(extent={{-90,10},{-70,30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant concooSpe_min( + final k=cooSpe_min) + "Minimum cooling fan speed limit signal" + annotation (Placement(transformation(extent={{-90,-110},{-70,-90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Line linCooFanSpe + "Cooling fan speed signal" + annotation (Placement(transformation(extent={{-30,-130},{-10,-110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conuCoo_min( + final k=uCoo_min) + "Minimum cooling loop signal support point" + annotation (Placement(transformation(extent={{-90,-150},{-70,-130}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conDeaFanSpe( + final k=deaSpe) + "Deadband mode fan speed signal" + annotation (Placement(transformation(extent={{-30,-70},{-10,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Hysteresis hysDeaHea( + final uLow=heaDea-deaHysLim, + final uHigh=heaDea) + "Hysteresis for switching between deadband mode and heating mode" + annotation (Placement(transformation(extent={{0,-50},{20,-30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Switch swiDeaHea + "Switch for turning on heating mode from deadband mode" + annotation (Placement(transformation(extent={{30,-70},{50,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Hysteresis hysDeaCoo( + final uLow=cooDea-deaHysLim, + final uHigh=cooDea) + "Hysteresis for switching on cooling mode from deadband mode" + annotation (Placement(transformation(extent={{0,-110},{20,-90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Switch swiDeaCoo + "Switch for turning on cooling mode from deadband mode" + annotation (Placement(transformation(extent={{60,-110},{80,-90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Multiply mulFanSpe + "Multiply fan speed signal by fan enable signal" + annotation (Placement(transformation(extent={{90,-90},{110,-70}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conZerHeaMod( + final k=0) if not have_heaCoi + "Constant zero signal for heating mode" + annotation (Placement(transformation(extent={{-90,-80},{-70,-60}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conZerCooMod( + final k=0) if not have_cooCoi + "Constant zero signal for cooling mode" + annotation (Placement(transformation(extent={{-30,-160},{-10,-140}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conheaSpe_max( + final k=heaSpe_max) + "Maximum heating fan speed limit signal" + annotation (Placement(transformation(extent={{-60,10},{-40,30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conuHea_max( + final k=uHea_max) + "Maximum heating loop signal support point" + annotation (Placement(transformation(extent={{-60,-50},{-40,-30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant concooSpe_max( + final k=cooSpe_max) + "Maximum cooling fan speed limit signal" + annotation (Placement(transformation(extent={{-60,-100},{-40,-80}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conuCoo_max( + final k=uCoo_max) + "Maximum cooling loop signal support point" + annotation (Placement(transformation(extent={{-60,-160},{-40,-140}}))); + + Buildings.Controls.OBC.CDL.Continuous.Multiply mulDeaSpe + "Multiply deadband speed signal by fan enable signal" + annotation (Placement(transformation(extent={{80,-40},{100,-20}}))); + +equation + connect(unOccMod.y, isUnOcc.u2) annotation (Line(points={{-58,60},{-50,60},{-50, + 72},{-42,72}}, color={255,127,0})); + + connect(opeMod, isUnOcc.u1) + annotation (Line(points={{-120,80},{-42,80}}, color={255,127,0})); + + connect(isUnOcc.y, notUno.u) + annotation (Line(points={{-18,80},{-12,80}}, color={255,0,255})); + + connect(notUno.y, y1Fan) annotation (Line(points={{12,80},{20,80},{20,60},{140, + 60}}, color={255,0,255})); + + connect(u1FanPro, swiFanPro.u2) annotation (Line(points={{-120,40},{30,40},{30, + 0},{78,0}}, color={255,0,255})); + + connect(notUno.y, booToRea.u) annotation (Line(points={{12,80},{20,80},{20,-20}, + {28,-20}}, color={255,0,255})); + + connect(uHea, linHeaFanSpe.u) + annotation (Line(points={{-120,-20},{-32,-20}}, color={0,0,127})); + + connect(uCoo, linCooFanSpe.u) + annotation (Line(points={{-120,-120},{-32,-120}}, color={0,0,127})); + + connect(uHea, hysDeaHea.u) annotation (Line(points={{-120,-20},{-36,-20},{-36, + -40},{-2,-40}}, color={0,0,127})); + + connect(hysDeaHea.y, swiDeaHea.u2) annotation (Line(points={{22,-40},{26,-40}, + {26,-60},{28,-60}}, color={255,0,255})); + + connect(conDeaFanSpe.y, swiDeaHea.u3) annotation (Line(points={{-8,-60},{20,-60}, + {20,-68},{28,-68}}, color={0,0,127})); + + connect(linHeaFanSpe.y, swiDeaHea.u1) annotation (Line(points={{-8,-20},{-4,-20}, + {-4,-52},{28,-52}}, color={0,0,127})); + + connect(hysDeaCoo.y, swiDeaCoo.u2) + annotation (Line(points={{22,-100},{58,-100}}, color={255,0,255})); + + connect(uCoo, hysDeaCoo.u) annotation (Line(points={{-120,-120},{-34,-120},{-34, + -100},{-2,-100}}, color={0,0,127})); + + connect(linCooFanSpe.y, swiDeaCoo.u1) annotation (Line(points={{-8,-120},{40,-120}, + {40,-92},{58,-92}}, color={0,0,127})); + + connect(swiDeaHea.y, swiDeaCoo.u3) annotation (Line(points={{52,-60},{54,-60}, + {54,-108},{58,-108}}, color={0,0,127})); + + connect(booToRea.y, mulFanSpe.u1) annotation (Line(points={{52,-20},{74,-20},{ + 74,-74},{88,-74}}, color={0,0,127})); + + connect(swiDeaCoo.y, mulFanSpe.u2) annotation (Line(points={{82,-100},{84,-100}, + {84,-86},{88,-86}}, color={0,0,127})); + + connect(mulFanSpe.y, swiFanPro.u1) annotation (Line(points={{112,-80},{114,-80}, + {114,20},{74,20},{74,8},{78,8}}, color={0,0,127})); + + connect(swiFanPro.y, yFan) + annotation (Line(points={{102,0},{140,0}}, color={0,0,127})); + + connect(conZerHeaMod.y, linHeaFanSpe.u) annotation (Line(points={{-68,-70},{-36, + -70},{-36,-20},{-32,-20}}, color={0,0,127})); + + connect(conZerCooMod.y, linCooFanSpe.u) annotation (Line(points={{-8,-150},{-6, + -150},{-6,-100},{-34,-100},{-34,-120},{-32,-120}}, color={0,0,127})); + + connect(conZerHeaMod.y, hysDeaHea.u) annotation (Line(points={{-68,-70},{-36,-70}, + {-36,-40},{-2,-40}}, color={0,0,127})); + + connect(conZerCooMod.y, hysDeaCoo.u) annotation (Line(points={{-8,-150},{-6,-150}, + {-6,-100},{-2,-100}}, color={0,0,127})); + + connect(conheaSpe_max.y, linHeaFanSpe.f2) annotation (Line(points={{-38,20},{-34, + 20},{-34,-28},{-32,-28}}, color={0,0,127})); + connect(conuHea_max.y, linHeaFanSpe.x2) + annotation (Line(points={{-38,-40},{-38,-24},{-32,-24}}, color={0,0,127})); + connect(concooSpe_max.y, linCooFanSpe.f2) annotation (Line(points={{-38,-90},{-36, + -90},{-36,-128},{-32,-128}}, color={0,0,127})); + connect(conuCoo_max.y, linCooFanSpe.x2) annotation (Line(points={{-38,-150},{ + -34,-150},{-34,-124},{-32,-124}}, color={0,0,127})); + connect(conheaSpe_min.y, linHeaFanSpe.f1) annotation (Line(points={{-68,20},{-66, + 20},{-66,-16},{-32,-16}}, color={0,0,127})); + connect(conuHea_min.y, linHeaFanSpe.x1) annotation (Line(points={{-68,-40},{-64, + -40},{-64,-12},{-32,-12}}, color={0,0,127})); + connect(conuCoo_min.y, linCooFanSpe.x1) annotation (Line(points={{-68,-140},{ + -66,-140},{-66,-112},{-32,-112}}, color={0,0,127})); + connect(concooSpe_min.y, linCooFanSpe.f1) annotation (Line(points={{-68,-100},{ + -64,-100},{-64,-116},{-32,-116}}, color={0,0,127})); + connect(mulDeaSpe.y, swiFanPro.u3) annotation (Line(points={{102,-30},{108,-30}, + {108,-14},{74,-14},{74,-8},{78,-8}}, color={0,0,127})); + connect(booToRea.y, mulDeaSpe.u1) annotation (Line(points={{52,-20},{74,-20},{ + 74,-24},{78,-24}}, color={0,0,127})); + connect(conDeaFanSpe.y, mulDeaSpe.u2) annotation (Line(points={{-8,-60},{20,-60}, + {20,-74},{60,-74},{60,-36},{78,-36}}, color={0,0,127})); + annotation (defaultComponentName="fanSpe", + Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-100,140},{100,100}}, + textColor={0,0,255}, + textString="%name"), + Text( + extent={{-98,32},{-36,12}}, + textColor={255,0,255}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="u1FanPro"), + Text( + extent={{48,32},{94,12}}, + textColor={255,0,255}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="y1Fan"), + Text( + extent={{-100,70},{-36,50}}, + textColor={255,127,0}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="opeMod"), + Text( + extent={{-100,-10},{-52,-32}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uHea", + visible=have_heaCoi), + Text( + extent={{-100,-50},{-52,-72}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uCoo", + visible=have_cooCoi), + Text( + extent={{46,-8},{100,-30}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yFan")}), + Diagram(coordinateSystem(preserveAspectRatio=false, + extent={{-100,-180},{120,120}})), + Documentation(info=" +

+ Block that outputs the fan enable signal and the fan speed signal based on + the heating and cooling loop signals. The implemented sequence is based on + ASHRAE Guideline 36, 2021, Part 5.22.4. +

+

+ The fan enable signal y1Fan is switched to false + when the operating mode signal opeMod is unoccupied, + and is set to true otherwise. +
+ The fan speed signal yFan is varied from + the minimum cooling mode fan speed cooSpe_min to the maximum + cooling mode fan speed cooSpe_max, + when the cooling loop signal uCoo varies from the minimum limit + uCoo_min to the maximum limit uCoo_max. + Similarly, yFan is varied from the minimum heating mode fan speed + heaSpe_min to the maximum heating mode fan speed heaSpe_max, + when the heating loop signal uHea varies from the minimum limit + uHea_min to the maximum limit uHea_max. + The setpoint in deadband mode is equal to the deadband fan speed deaSpe. +

+

+ \"Fan +

+ ", revisions=" + + ")); +end FanSpeed; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/PlantRequests.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/PlantRequests.mo new file mode 100644 index 00000000000..ede0b3c8397 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/PlantRequests.mo @@ -0,0 +1,663 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences; +block PlantRequests + "Output plant requests for fan coil unit" + + parameter Boolean have_hotWatCoi = true + "Does the fan coil unit have a hot-water heating coil? True: Yes, False: No"; + + parameter Boolean have_chiWatCoi = true + "Does the fan coil unit have a chilled-water cooling coil? True: Yes, False: No"; + + parameter Real cooSpe_max( + final unit="1", + displayUnit="1") = 1 + "Maximum cooling mode fan speed"; + + parameter Real heaSpe_max( + final unit="1", + displayUnit="1") = 0.6 + "Maximum heating mode fan speed"; + + parameter Real chiWatPlaReqLim0( + final unit="1", + displayUnit="1") = 0.1 + "Valve position limit below which zero chilled water plant requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_chiWatCoi)); + + parameter Real chiWatResReqLim0( + final unit="1", + displayUnit="1") = 0.85 + "Valve position limit below which zero chilled water reset requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_chiWatCoi)); + + parameter Real chiWatPlaReqLim1( + final unit="1", + displayUnit="1") = 0.95 + "Valve position limit above which one chilled water plant request is sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_chiWatCoi)); + + parameter Real chiWatResReqLim2( + final unit="K", + final quantity="TemperatureDifference") = 2.78 + "Temperature difference limit between setpoint and supply air temperature above which two chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_chiWatCoi)); + + parameter Real chiWatResReqTimLim2( + final unit="s", + displayUnit="s", + final quantity="Time") = 300 + "Time period for which chiWatResReqLim2 has to be exceeded before two chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_chiWatCoi)); + + parameter Real chiWatResReqLim3( + final unit="K", + final quantity="TemperatureDifference") = 5.56 + "Temperature difference limit between setpoint and supply air temperature above which three chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_chiWatCoi)); + + parameter Real chiWatResReqTimLim3( + final unit="s", + displayUnit="s", + final quantity="Time") = 300 + "Time period for which chiWatResReqLim3 has to be exceeded before three chilled water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Chilled water requests", enable=have_chiWatCoi)); + + parameter Real hotWatPlaReqLim0( + final unit="1", + displayUnit="1") = 0.1 + "Valve position limit below which zero hot water plant requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqLim0( + final unit="1", + displayUnit="1") = 0.85 + "Valve position limit below which zero hot water reset requests are sent when one request was previously being sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatPlaReqLim1( + final unit="1", + displayUnit="1") = 0.95 + "Valve position limit above which one hot water plant request is sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqLim2( + final unit="K", + final quantity="TemperatureDifference") = 8 + "Temperature difference limit between setpoint and supply air temperature above which two hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqTimLim2( + final unit="s", + displayUnit="s", + final quantity="Time") = 300 + "Time period for which hotWatResReqLim2 has to be exceeded before two hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqLim3( + final unit="K", + final quantity="TemperatureDifference") = 17 + "Temperature difference limit between setpoint and supply air temperature above which three hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real hotWatResReqTimLim3( + final unit="s", + displayUnit="s", + final quantity="Time") = 300 + "Time period for which hotWatResReqLim3 has to be exceeded before three hot water reset requests are sent" + annotation(Dialog(tab="Request limits", group="Hot water requests", enable=have_hotWatCoi)); + + parameter Real Thys( + final unit="K", + final quantity = "TemperatureDifference") = 0.1 + "Hysteresis for checking temperature difference" + annotation(Dialog(tab="Advanced")); + + parameter Real posHys( + final unit="1", + displayUnit="1") = 0.05 + "Hysteresis for checking valve position difference" + annotation(Dialog(tab="Advanced")); + + parameter Real dFanSpe( + final unit="1", + displayUnit="1") = 0.05 + "Fan speed hysteresis difference" + annotation(Dialog(tab="Advanced")); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TAirSup( + final unit="K", + final displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Measured supply air temperature" + annotation (Placement(transformation(extent={{-240,180},{-200,220}}), + iconTransformation(extent={{-140,20},{-100,60}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TSupSet( + final unit="K", + final displayUnit="degC", + final quantity="ThermodynamicTemperature") + "Supply air temperature setpoint" + annotation (Placement(transformation(extent={{-240,140},{-200,180}}), + iconTransformation(extent={{-140,-20},{-100,20}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uCooCoi_actual( + final unit="1", + final min=0, + final max=1) if have_chiWatCoi + "Actual cooling coil control action" + annotation (Placement(transformation(extent={{-240,80},{-200,120}}), + iconTransformation(extent={{-140,-58},{-100,-18}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uHeaCoi_actual( + final unit="1", + final min=0, + final max=1) if have_hotWatCoi + "Actual heating coil control action" + annotation (Placement(transformation(extent={{-240,-160},{-200,-120}}), + iconTransformation(extent={{-140,-100},{-100,-60}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uFan( + final unit="1", + final min=0, + final max=1) + "Fan speed signal" + annotation (Placement(transformation(extent={{-240,220},{-200,260}}), + iconTransformation(extent={{-140,60},{-100,100}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yChiWatResReq if have_chiWatCoi + "Chilled water reset request" + annotation (Placement(transformation(extent={{200,180},{240,220}}), + iconTransformation(extent={{100,40},{140,80}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yChiPlaReq if have_chiWatCoi + "Chiller plant request" + annotation (Placement(transformation(extent={{200,0},{240,40}}), + iconTransformation(extent={{100,0},{140,40}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yHotWatResReq if have_hotWatCoi + "Hot water reset request" + annotation (Placement(transformation(extent={{200,-60},{240,-20}}), + iconTransformation(extent={{100,-40},{140,0}}))); + + Buildings.Controls.OBC.CDL.Interfaces.IntegerOutput yHotWatPlaReq if have_hotWatCoi + "Hot water plant request" + annotation (Placement(transformation(extent={{200,-240},{240,-200}}), + iconTransformation(extent={{100,-80},{140,-40}}))); + +protected + Buildings.Controls.OBC.CDL.Continuous.Hysteresis hysFanCoo( + final uLow=cooSpe_max - 2*dFanSpe, + final uHigh=cooSpe_max - dFanSpe) if have_chiWatCoi + "Check if fan is at max cooling mode speed" + annotation (Placement(transformation(extent={{-130,230},{-110,250}}))); + + Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToIntCoo if have_chiWatCoi + "Output integer 1 when fan is at max cooling mode speed" + annotation (Placement(transformation(extent={{-80,230},{-60,250}}))); + + Buildings.Controls.OBC.CDL.Integers.Multiply mulIntCoo if have_chiWatCoi + "Output reset requests only if fan is at max cooling mode speed" + annotation (Placement(transformation(extent={{100,230},{120,250}}))); + + Buildings.Controls.OBC.CDL.Continuous.Hysteresis hysFanHea( + final uLow=heaSpe_max - 2*dFanSpe, + final uHigh=heaSpe_max - dFanSpe) if have_hotWatCoi + "Check if fan is at max heating mode speed" + annotation (Placement(transformation(extent={{-140,-20},{-120,0}}))); + + Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToIntHea if have_hotWatCoi + "Output integer 1 when fan is at max heating mode speed" + annotation (Placement(transformation(extent={{-90,-20},{-70,0}}))); + + Buildings.Controls.OBC.CDL.Integers.Multiply mulIntHea if have_hotWatCoi + "Output reset requests only if fan is at max heating mode speed" + annotation (Placement(transformation(extent={{110,-10},{130,10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Subtract cooSupTemDif + "Find the cooling supply temperature difference to the setpoint" + annotation (Placement(transformation(extent={{-140,190},{-120,210}}))); + + Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr( + final t=chiWatResReqLim3, + final h=Thys) if have_chiWatCoi + "Check if the supply temperature is greater than the setpoint by a threshold value" + annotation (Placement(transformation(extent={{-80,190},{-60,210}}))); + + Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr1( + final t=chiWatResReqLim2, + final h=Thys) if have_chiWatCoi + "Check if the supply temperature is greater than the setpoint by a threshold value" + annotation (Placement(transformation(extent={{-80,140},{-60,160}}))); + + Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel( + final delayTime=chiWatResReqTimLim3) if have_chiWatCoi + "Check if the input has been true for a certain time" + annotation (Placement(transformation(extent={{-40,190},{-20,210}}))); + + Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel1( + final delayTime=chiWatResReqTimLim2) if have_chiWatCoi + "Check if the input has been true for a certain time" + annotation (Placement(transformation(extent={{-40,140},{-20,160}}))); + + Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr2( + final t=chiWatPlaReqLim1, + final h=posHys) if have_chiWatCoi + "Check if the chilled water valve position is greater than a threshold value" + annotation (Placement(transformation(extent={{-120,90},{-100,110}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant thr( + final k=3) + "Constant 3" + annotation (Placement(transformation(extent={{0,222},{20,242}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch chiWatRes3 if have_chiWatCoi + "Send 3 chilled water reset request" + annotation (Placement(transformation(extent={{160,190},{180,210}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch chiWatRes2 if have_chiWatCoi + "Send 2 chilled water reset request" + annotation (Placement(transformation(extent={{120,140},{140,160}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant two( + final k=2) + "Constant 2" + annotation (Placement(transformation(extent={{0,170},{20,190}}))); + + Buildings.Controls.OBC.CDL.Continuous.LessThreshold lesThr( + final t=chiWatResReqLim0, + final h=posHys) if have_chiWatCoi + "Check if the chilled water valve position is less than a threshold value" + annotation (Placement(transformation(extent={{-120,50},{-100,70}}))); + + Buildings.Controls.OBC.CDL.Logical.Latch lat if have_chiWatCoi + "Keep true signal until other condition becomes true" + annotation (Placement(transformation(extent={{-40,90},{-20,110}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch chiWatRes1 if have_chiWatCoi + "Send 1 chilled water reset request" + annotation (Placement(transformation(extent={{80,90},{100,110}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant one( + final k=1) + "Constant 1" + annotation (Placement(transformation(extent={{0,110},{20,130}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant zer( + final k=0) + "Constant 0" + annotation (Placement(transformation(extent={{0,50},{20,70}}))); + + Buildings.Controls.OBC.CDL.Logical.Latch lat1 if have_chiWatCoi + "Keep true signal until other condition becomes true" + annotation (Placement(transformation(extent={{-40,10},{-20,30}}))); + + Buildings.Controls.OBC.CDL.Continuous.LessThreshold lesThr1( + final t=chiWatPlaReqLim0, + final h=posHys) if have_chiWatCoi + "Check if the chilled water valve position is less than a threshold value" + annotation (Placement(transformation(extent={{-120,4},{-100,24}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch intSwi3 if have_chiWatCoi + "Send 1 chiller plant request" + annotation (Placement(transformation(extent={{80,10},{100,30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Subtract heaSupTemDif if have_hotWatCoi + "Find the heating supply temperature difference to the setpoint" + annotation (Placement(transformation(extent={{-140,-50},{-120,-30}}))); + + Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr3( + final t=hotWatResReqLim3, + final h=Thys) if have_hotWatCoi + "Check if the supply temperature is less than the setpoint by a threshold value" + annotation (Placement(transformation(extent={{-80,-50},{-60,-30}}))); + + Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr4( + final t=hotWatResReqLim2, + final h=Thys) if have_hotWatCoi + "Check if the supply temperature is less than the setpoint by a threshold value" + annotation (Placement(transformation(extent={{-80,-100},{-60,-80}}))); + + Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel2( + final delayTime=hotWatResReqTimLim3) if have_hotWatCoi + "Check if the input has been true for a certain time" + annotation (Placement(transformation(extent={{-40,-50},{-20,-30}}))); + + Buildings.Controls.OBC.CDL.Logical.TrueDelay truDel3( + final delayTime=hotWatResReqTimLim2) if have_hotWatCoi + "Check if the input has been true for a certain time" + annotation (Placement(transformation(extent={{-40,-100},{-20,-80}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch hotWatRes3 if have_hotWatCoi + "Send 3 hot water reset request" + annotation (Placement(transformation(extent={{160,-50},{180,-30}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch hotWatRes2 if have_hotWatCoi + "Send 2 hot water reset request" + annotation (Placement(transformation(extent={{120,-100},{140,-80}}))); + + Buildings.Controls.OBC.CDL.Continuous.LessThreshold lesThr2( + final t=hotWatResReqLim0, + final h=posHys) if have_hotWatCoi + "Check if the hot water valve position is less than a threshold value" + annotation (Placement(transformation(extent={{-120,-190},{-100,-170}}))); + + Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr5( + final t=hotWatPlaReqLim1, + final h=posHys) if have_hotWatCoi + "Check if the hot water valve position is greater than a threshold value" + annotation (Placement(transformation(extent={{-120,-150},{-100,-130}}))); + + Buildings.Controls.OBC.CDL.Logical.Latch lat2 if have_hotWatCoi + "Keep true signal until other condition becomes true" + annotation (Placement(transformation(extent={{-40,-150},{-20,-130}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch hotWatRes1 if have_hotWatCoi + "Send 1 hot water reset request" + annotation (Placement(transformation(extent={{80,-150},{100,-130}}))); + + Buildings.Controls.OBC.CDL.Continuous.LessThreshold lesThr3( + final t=hotWatPlaReqLim0, + final h=posHys) if have_hotWatCoi + "Check if the hot water valve position is less than a threshold value" + annotation (Placement(transformation(extent={{-120,-236},{-100,-216}}))); + + Buildings.Controls.OBC.CDL.Logical.Latch lat3 if have_hotWatCoi + "Keep true signal until other condition becomes true" + annotation (Placement(transformation(extent={{-40,-230},{-20,-210}}))); + + Buildings.Controls.OBC.CDL.Integers.Switch intSwi1 if have_hotWatCoi + "Send 1 hot water plant request" + annotation (Placement(transformation(extent={{80,-230},{100,-210}}))); + +equation + connect(TAirSup, cooSupTemDif.u1) annotation (Line(points={{-220,200},{-180,200}, + {-180,206},{-142,206}}, color={0,0,127})); + + connect(TSupSet, cooSupTemDif.u2) annotation (Line(points={{-220,160},{-190,160}, + {-190,194},{-142,194}}, color={0,0,127})); + + connect(cooSupTemDif.y, greThr.u) + annotation (Line(points={{-118,200},{-82,200}}, color={0,0,127})); + + connect(greThr.y, truDel.u) + annotation (Line(points={{-58,200},{-42,200}}, color={255,0,255})); + + connect(greThr1.y, truDel1.u) + annotation (Line(points={{-58,150},{-42,150}}, color={255,0,255})); + + connect(cooSupTemDif.y, greThr1.u) annotation (Line(points={{-118,200},{-100,200}, + {-100,150},{-82,150}}, color={0,0,127})); + + connect(uCooCoi_actual, greThr2.u) + annotation (Line(points={{-220,100},{-122,100}}, color={0,0,127})); + + connect(truDel.y, chiWatRes3.u2) + annotation (Line(points={{-18,200},{158,200}}, color={255,0,255})); + + connect(thr.y, chiWatRes3.u1) annotation (Line(points={{22,232},{60,232},{60,208}, + {158,208}}, color={255,127,0})); + + connect(truDel1.y, chiWatRes2.u2) + annotation (Line(points={{-18,150},{118,150}}, color={255,0,255})); + + connect(two.y, chiWatRes2.u1) annotation (Line(points={{22,180},{50,180},{50,158}, + {118,158}}, color={255,127,0})); + + connect(greThr2.y, lat.u) + annotation (Line(points={{-98,100},{-42,100}}, color={255,0,255})); + + connect(uCooCoi_actual, lesThr.u) annotation (Line(points={{-220,100},{-140,100}, + {-140,60},{-122,60}}, color={0,0,127})); + + connect(lesThr.y, lat.clr) annotation (Line(points={{-98,60},{-60,60},{-60,94}, + {-42,94}}, color={255,0,255})); + + connect(one.y, chiWatRes1.u1) annotation (Line(points={{22,120},{40,120},{40,108}, + {78,108}}, color={255,127,0})); + + connect(lat.y, chiWatRes1.u2) + annotation (Line(points={{-18,100},{78,100}}, color={255,0,255})); + + connect(chiWatRes1.y, chiWatRes2.u3) annotation (Line(points={{102,100},{110,100}, + {110,142},{118,142}}, color={255,127,0})); + + connect(chiWatRes2.y, chiWatRes3.u3) annotation (Line(points={{142,150},{150,150}, + {150,192},{158,192}}, color={255,127,0})); + + connect(zer.y, chiWatRes1.u3) annotation (Line(points={{22,60},{30,60},{30,92}, + {78,92}}, color={255,127,0})); + + connect(greThr2.y, lat1.u) annotation (Line(points={{-98,100},{-80,100},{-80,20}, + {-42,20}}, color={255,0,255})); + + connect(uCooCoi_actual, lesThr1.u) annotation (Line(points={{-220,100},{-140,100}, + {-140,14},{-122,14}}, color={0,0,127})); + + connect(lesThr1.y, lat1.clr) + annotation (Line(points={{-98,14},{-42,14}}, color={255,0,255})); + + connect(lat1.y, intSwi3.u2) + annotation (Line(points={{-18,20},{78,20}}, color={255,0,255})); + + connect(one.y, intSwi3.u1) annotation (Line(points={{22,120},{40,120},{40,28}, + {78,28}}, color={255,127,0})); + + connect(zer.y, intSwi3.u3) annotation (Line(points={{22,60},{30,60},{30,12},{78, + 12}}, color={255,127,0})); + + connect(intSwi3.y, yChiPlaReq) + annotation (Line(points={{102,20},{220,20}}, color={255,127,0})); + + connect(TAirSup, heaSupTemDif.u2) annotation (Line(points={{-220,200},{-180,200}, + {-180,-46},{-142,-46}}, color={0,0,127})); + + connect(greThr3.y, truDel2.u) + annotation (Line(points={{-58,-40},{-42,-40}}, color={255,0,255})); + + connect(greThr4.y, truDel3.u) + annotation (Line(points={{-58,-90},{-42,-90}}, color={255,0,255})); + + connect(heaSupTemDif.y, greThr3.u) + annotation (Line(points={{-118,-40},{-82,-40}}, color={0,0,127})); + + connect(heaSupTemDif.y, greThr4.u) annotation (Line(points={{-118,-40},{-100,-40}, + {-100,-90},{-82,-90}}, color={0,0,127})); + + connect(truDel2.y, hotWatRes3.u2) + annotation (Line(points={{-18,-40},{158,-40}}, color={255,0,255})); + + connect(thr.y, hotWatRes3.u1) annotation (Line(points={{22,232},{60,232},{60,-32}, + {158,-32}}, color={255,127,0})); + + connect(hotWatRes2.y, hotWatRes3.u3) annotation (Line(points={{142,-90},{150,-90}, + {150,-48},{158,-48}}, color={255,127,0})); + + connect(two.y, hotWatRes2.u1) annotation (Line(points={{22,180},{50,180},{50,-82}, + {118,-82}}, color={255,127,0})); + + connect(truDel3.y, hotWatRes2.u2) + annotation (Line(points={{-18,-90},{118,-90}}, color={255,0,255})); + + connect(uHeaCoi_actual, greThr5.u) + annotation (Line(points={{-220,-140},{-122,-140}}, color={0,0,127})); + + connect(greThr5.y, lat2.u) + annotation (Line(points={{-98,-140},{-42,-140}}, color={255,0,255})); + + connect(uHeaCoi_actual, lesThr2.u) annotation (Line(points={{-220,-140},{-140, + -140},{-140,-180},{-122,-180}}, color={0,0,127})); + + connect(lesThr2.y, lat2.clr) annotation (Line(points={{-98,-180},{-60,-180},{-60, + -146},{-42,-146}}, color={255,0,255})); + + connect(lat2.y, hotWatRes1.u2) + annotation (Line(points={{-18,-140},{78,-140}}, color={255,0,255})); + + connect(one.y, hotWatRes1.u1) annotation (Line(points={{22,120},{40,120},{40,-132}, + {78,-132}}, color={255,127,0})); + + connect(zer.y, hotWatRes1.u3) annotation (Line(points={{22,60},{30,60},{30,-148}, + {78,-148}}, color={255,127,0})); + + connect(hotWatRes1.y, hotWatRes2.u3) annotation (Line(points={{102,-140},{110, + -140},{110,-98},{118,-98}}, color={255,127,0})); + + connect(uHeaCoi_actual, lesThr3.u) annotation (Line(points={{-220,-140},{-140, + -140},{-140,-226},{-122,-226}}, color={0,0,127})); + + connect(lesThr3.y, lat3.clr) + annotation (Line(points={{-98,-226},{-42,-226}}, color={255,0,255})); + + connect(greThr5.y, lat3.u) annotation (Line(points={{-98,-140},{-80,-140},{-80, + -220},{-42,-220}}, color={255,0,255})); + + connect(lat3.y, intSwi1.u2) + annotation (Line(points={{-18,-220},{78,-220}}, color={255,0,255})); + + connect(one.y, intSwi1.u1) annotation (Line(points={{22,120},{40,120},{40,-212}, + {78,-212}}, color={255,127,0})); + + connect(zer.y, intSwi1.u3) annotation (Line(points={{22,60},{30,60},{30,-228}, + {78,-228}}, color={255,127,0})); + + connect(intSwi1.y, yHotWatPlaReq) + annotation (Line(points={{102,-220},{220,-220}}, color={255,127,0})); + + connect(yChiWatResReq, yChiWatResReq) + annotation (Line(points={{220,200},{220,200}}, color={255,127,0})); + + connect(uFan, hysFanCoo.u) + annotation (Line(points={{-220,240},{-132,240}}, color={0,0,127})); + + connect(hysFanCoo.y, booToIntCoo.u) + annotation (Line(points={{-108,240},{-82,240}}, color={255,0,255})); + + connect(chiWatRes3.y, mulIntCoo.u2) annotation (Line(points={{182,200},{188,200}, + {188,220},{90,220},{90,234},{98,234}}, color={255,127,0})); + + connect(booToIntCoo.y, mulIntCoo.u1) annotation (Line(points={{-58,240},{-20,240}, + {-20,252},{60,252},{60,246},{98,246}}, color={255,127,0})); + + connect(mulIntCoo.y, yChiWatResReq) annotation (Line(points={{122,240},{194,240}, + {194,200},{220,200}}, color={255,127,0})); + + connect(hotWatRes3.y, mulIntHea.u2) annotation (Line(points={{182,-40},{186,-40}, + {186,-20},{104,-20},{104,-6},{108,-6}}, color={255,127,0})); + + connect(hysFanHea.y, booToIntHea.u) + annotation (Line(points={{-118,-10},{-92,-10}}, color={255,0,255})); + + connect(booToIntHea.y, mulIntHea.u1) annotation (Line(points={{-68,-10},{100,-10}, + {100,6},{108,6}}, color={255,127,0})); + + connect(uFan, hysFanHea.u) annotation (Line(points={{-220,240},{-170,240},{ + -170,-10},{-142,-10}}, color={0,0,127})); + + connect(mulIntHea.y, yHotWatResReq) annotation (Line(points={{132,0},{192,0},{ + 192,-40},{220,-40}}, color={255,127,0})); + + connect(TSupSet, heaSupTemDif.u1) annotation (Line(points={{-220,160},{-190,160}, + {-190,-34},{-142,-34}}, color={0,0,127})); + +annotation ( + defaultComponentName="fcuPlaReq", + Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}), + graphics={ + Rectangle( + extent={{-100,-100},{100,100}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-98,48},{-76,32}}, + textColor={0,0,127}, + pattern=LinePattern.Dash, + textString="TSup"), + Text( + extent={{-100,160},{100,120}}, + textColor={0,0,255}, + textString="%name"), + Text( + extent={{-98,10},{-60,-8}}, + textColor={0,0,127}, + pattern=LinePattern.Dash, + textString="TSupSet"), + Text( + extent={{-98,-32},{-24,-46}}, + textColor={0,0,127}, + pattern=LinePattern.Dash, + textString="uCooCoi_actual", + visible=have_chiWatCoi), + Text( + extent={{34,72},{98,50}}, + textColor={255,127,0}, + pattern=LinePattern.Dash, + textString="yChiWatResReq", + visible=have_chiWatCoi), + Text( + extent={{52,32},{98,10}}, + textColor={255,127,0}, + pattern=LinePattern.Dash, + textString="yChiPlaReq", + visible=have_chiWatCoi), + Text( + extent={{34,-8},{98,-30}}, + textColor={255,127,0}, + pattern=LinePattern.Dash, + textString="yHotWatResReq", + visible=have_hotWatCoi), + Text( + extent={{38,-48},{98,-70}}, + textColor={255,127,0}, + pattern=LinePattern.Dash, + textString="yHotWatPlaReq", + visible=have_hotWatCoi), + Text( + extent={{-100,86},{-72,76}}, + textColor={0,0,127}, + pattern=LinePattern.Dash, + textString="uFan"), + Text( + extent={{-98,-72},{-24,-86}}, + textColor={0,0,127}, + pattern=LinePattern.Dash, + textString="uHeaCoi_actual", + visible=have_hotWatCoi)}), + Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-200,-260},{200,260}})), + Documentation(info=" +

This sequence outputs the system reset requests for fan coil unit. The implementation is according to the Section 5.22.8 of ASHRAE Guideline 36, 2021.

+

If there is a chilled-water coil (have_chiWatCoi=true), chilled water reset requests yChiWatResReq

+
    +
  1. If the supply air temperature TAirSup exceeds the supply air temperature set point TSupSet by 5.56 °C (10 °F) for 5 minutes, send 3 requests.
  2. +
  3. If the supply air temperature TAirSup exceeds TSupSet by by 2.78 °C (5 °F) for 5 minutes, send 2 requests.
  4. +
  5. Else if the chilled water valve position uCooCoi_actual is greater than 0.95, send 1 request until uCooCoi_actual is less than 0.85.
  6. +
  7. Else if the chilled water valve position uCooCoi_actual is less than 0.85, send 0 requests.
  8. +
+

If there is a chilled-water coil and chilled water plant, chiller plant request yChiPlaReq

+

Send the chiller plant that serves the system a chiller plant request as follows:

+
    +
  1. If the chilled water valve position uCooCoi_actual is greater than 0.95, send 1 request until the uCooCoi_actual is less than 0.1.
  2. +
  3. Else if the chilled water valve position uCooCoi_actual is less than 0.1, send 0 request.
  4. +
+

If there is a hot-water coil (have_hotWatCoi=true), hot-water reset requests yHotWatResReq

+
    +
  1. If the supply air temperature TAirSup is 17 °C (30 °F) less than the supply air temperature set point TSupSet for 5 minutes, send 3 requests.
  2. +
  3. Else if the supply air temperature TAirSup is 8 °C (15 °F) less than TSupSet for 5 minutes, send 2 requests.
  4. +
  5. Else if the hot water valve position uHeaCoi_actual is greater than 0.95, send 1 request until the uHeaCoi_actual is less than 0.85.
  6. +
  7. Else if the hot water valve position uHeaCoi_actual is less than 0.85, send 0 request.
  8. +
+

If there is a hot-water coil and heating hot-water plant, heating hot-water plant requests yHotWatPlaReq

+

Send the heating hot-water plant that serves the air handling unit a heating hot-water plant request as follows:

+
    +
  1. If the hot water valve position uHeaCoi_actual is greater than 0.95, send 1 request until the hot water valve position is less than 0.1.
  2. +
  3. If the hot water valve position uHeaCoi_actual is less than 0.1, send 0 requests.
  4. +
+", revisions=" + +")); +end PlantRequests; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/SupplyAirTemperature.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/SupplyAirTemperature.mo new file mode 100644 index 00000000000..9357c81b9ba --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/SupplyAirTemperature.mo @@ -0,0 +1,514 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences; +block SupplyAirTemperature + "Subsequence for calculating supply air temperature setpoint" + + parameter Boolean have_cooCoi + "Does the fan coil unit have a cooling coil? True: Yes, False: No"; + + parameter Boolean have_heaCoi + "Does the fan coil unit have a heating coil? True: Yes, False: No"; + + parameter Real uHea_min( + final unit="1", + displayUnit="1") = heaDea + "Minimum heating loop signal at which supply air temperature is modified" + annotation(Dialog(group="Heating loop", + enable = have_heaCoi)); + + parameter Real TSupSet_max( + final unit="K", + displayUnit="degC") = 273.15 + 32 + "Supply air temperature setpoint at maximum heating loop signal" + annotation(Dialog(group="Heating loop", + enable = have_heaCoi)); + + parameter Real uHea_max( + final unit="1", + displayUnit="1") = 0.5 + "Maximum heating loop signal at which supply air temperature is modified" + annotation(Dialog(group="Heating loop", + enable = have_heaCoi)); + + parameter Real uCoo_min( + final unit="1", + displayUnit="1") = cooDea + "Minimum cooling loop signal at which supply air temperature is modified" + annotation(Dialog(group="Cooling loop", + enable = have_cooCoi)); + + parameter Real TSupSet_min( + final unit="K", + displayUnit="degC") = 273.15+12.8 + "Supply air temperature setpoint at maximum cooling loop signal" + annotation(Dialog(group="Cooling loop", + enable = have_cooCoi)); + + parameter Real uCoo_max( + final unit="1", + displayUnit="1") = 0.5 + "Maximum cooling loop signal at which supply air temperature is modified" + annotation(Dialog(group="Cooling loop", + enable = have_cooCoi)); + + parameter Real heaDea( + final unit="1", + displayUnit="1") = 0.05 + "Heating loop signal limit above which setpoint operation changes from deadband mode to heating mode" + annotation(Dialog(group="Deadband", + enable = have_heaCoi)); + + parameter Real cooDea( + final unit="1", + displayUnit="1") = 0.05 + "Cooling loop signal limit above which setpoint operation changes from deadband mode to cooling mode" + annotation(Dialog(group="Deadband", + enable = have_cooCoi)); + + parameter Buildings.Controls.OBC.CDL.Types.SimpleController controllerTypeCooCoi=Buildings.Controls.OBC.CDL.Types.SimpleController.PI + "Type of cooling coil controller" + annotation(Dialog(tab="PID controller parameters", group="Cooling coil")); + + parameter Real kCooCoi( + final unit="1", + displayUnit="1")=1 + "Controller gain" + annotation(Dialog(tab="PID controller parameters", group="Cooling coil")); + + parameter Real TiCooCoi( + final unit="s", + displayUnit="s", + final quantity="time")=0.5 + "Integrator time constant" + annotation(Dialog(tab="PID controller parameters", group="Cooling coil", + enable = controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PI or + controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real TdCooCoi( + final unit="s", + displayUnit="s", + final quantity="time")=0.1 + "Derivative block time constant" + annotation(Dialog(tab="PID controller parameters", group="Cooling coil", + enable = controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PD or + controllerTypeCooCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Buildings.Controls.OBC.CDL.Types.SimpleController controllerTypeHeaCoi=Buildings.Controls.OBC.CDL.Types.SimpleController.PI + "Type of heating coil controller" + annotation(Dialog(tab="PID controller parameters", group="Heating coil")); + + parameter Real kHeaCoi( + final unit="1", + displayUnit="1")=1 + "Controller gain" + annotation(Dialog(tab="PID controller parameters", group="Heating coil")); + + parameter Real TiHeaCoi( + final unit="s", + displayUnit="s", + final quantity="time")=0.5 + "Integrator block time constant" + annotation(Dialog(tab="PID controller parameters", group="Heating coil", + enable = controllerTypeHeaCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PI or + controllerTypeHeaCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real TdHeaCoi( + final unit="s", + displayUnit="s", + final quantity="time")=0.1 + "Derivative block time constant" + annotation(Dialog(tab="PID controller parameters", group="Heating coil", + enable = controllerTypeHeaCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PD or + controllerTypeHeaCoi == Buildings.Controls.OBC.CDL.Types.SimpleController.PID)); + + parameter Real deaHysLim( + final unit="1", + displayUnit="1") = 0.01 + "Hysteresis limits for deadband mode transitions" + annotation(Dialog(tab="Advanced")); + + Buildings.Controls.OBC.CDL.Interfaces.BooleanInput u1Fan + "Fan proven on signal" + annotation (Placement(transformation(extent={{-160,120},{-120,160}}), + iconTransformation(extent={{-140,80},{-100,120}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uHea( + final unit="1", + displayUnit="1") if have_heaCoi + "Heating loop signal" + annotation (Placement(transformation(extent={{-160,20},{-120,60}}), + iconTransformation(extent={{-140,0},{-100,40}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput uCoo( + final unit="1", + displayUnit="1") if have_cooCoi + "Cooling loop signal" + annotation (Placement(transformation(extent={{-160,-60},{-120,-20}}), + iconTransformation(extent={{-140,-80},{-100,-40}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TAirSup( + final unit="K", + displayUnit="K", + final quantity="ThermodynamicTemperature") + "Measured supply air temperature" + annotation (Placement(transformation(extent={{-160,-20},{-120,20}}), + iconTransformation(extent={{-140,-40},{-100,0}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TZonHeaSet( + final unit="K", + displayUnit="K", + final quantity="ThermodynamicTemperature") if have_heaCoi + "Zone heating temperature setpoint" + annotation (Placement(transformation(extent={{-160,60},{-120,100}}), + iconTransformation(extent={{-140,40},{-100,80}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealInput TZonCooSet( + final unit="K", + displayUnit="K", + final quantity="ThermodynamicTemperature") if have_cooCoi + "Zone cooling temperature setpoint" + annotation (Placement(transformation(extent={{-160,-140},{-120,-100}}), + iconTransformation(extent={{-140,-120},{-100,-80}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput yHeaCoi( + final unit="1", + displayUnit="1") if have_heaCoi + "Heating coil signal" + annotation (Placement(transformation(extent={{120,40},{160,80}}), + iconTransformation(extent={{100,40},{140,80}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput yCooCoi( + final unit="1", + displayUnit="1") if have_cooCoi + "Cooling coil signal" + annotation (Placement(transformation(extent={{120,-80},{160,-40}}), + iconTransformation(extent={{100,-80},{140,-40}}))); + + Buildings.Controls.OBC.CDL.Interfaces.RealOutput TSupSet( + final unit="K", + displayUnit="K", + final quantity="ThermodynamicTemperature") + "Supply air temperature setpoint" + annotation (Placement(transformation(extent={{120,-20},{160,20}}), + iconTransformation(extent={{100,-20},{140,20}}))); + +protected + Buildings.Controls.OBC.CDL.Continuous.Switch swiDeaCoo + "Switch for turning on cooling mode from deadband mode" + annotation (Placement(transformation(extent={{0,-30},{20,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Switch swiCooCoi + "Switch cooling coil signal to zero in deadband mode" + annotation (Placement(transformation(extent={{70,-110},{90,-90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Switch swiHeaCoi + "Switch heating coil signal to zero in deadband mode" + annotation (Placement(transformation(extent={{50,80},{70,100}}))); + + Buildings.Controls.OBC.CDL.Continuous.Line linTHeaSupAir + "Convert heating loop signal to supply air temperature setpoint" + annotation (Placement(transformation(extent={{-60,50},{-40,70}}))); + + Buildings.Controls.OBC.CDL.Continuous.Line linTCooSupAir + "Convert cooling loop signal to supply air temperature setpoint" + annotation (Placement(transformation(extent={{-60,-70},{-40,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conTSupSet_max( + final k=TSupSet_max) + "Maximum heating supply air temperature setpoint limit signal" + annotation (Placement(transformation(extent={{-110,90},{-90,110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conUHea_min( + final k=uHea_min) + "Minimum heating loop signal support point" + annotation (Placement(transformation(extent={{-110,10},{-90,30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conTSupSet_min( + final k=TSupSet_min) + "Minimum cooling supply air temperature setpoint limit signal" + annotation (Placement(transformation(extent={{-110,-30},{-90,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conUCoo_min( + final k=uCoo_min) + "Minimum cooling loop signal support point" + annotation (Placement(transformation(extent={{-110,-70},{-90,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.PID conPIDHea( + final controllerType=controllerTypeHeaCoi, + final k=kHeaCoi, + final Ti=TiHeaCoi, + final Td=TdHeaCoi) "PID controller for heating coil" + annotation (Placement(transformation(extent={{20,50},{40,70}}))); + + Buildings.Controls.OBC.CDL.Continuous.PID conPIDCoo( + final controllerType=controllerTypeCooCoi, + final k=kCooCoi, + final Ti=TiCooCoi, + final Td=TdCooCoi, + final reverseActing=false) "PID controller for cooling coil" + annotation (Placement(transformation(extent={{40,-70},{60,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Hysteresis hysDeaHea( + final uLow=heaDea-deaHysLim, + final uHigh=heaDea) + "Hysteresis for switching between deadband mode and heating mode" + annotation (Placement(transformation(extent={{-40,90},{-20,110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conZerHeaMod( + final k=0) if not have_heaCoi + "Constant zero signal for heating mode" + annotation (Placement(transformation(extent={{-70,90},{-50,110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Switch swiDeaHea + "Switch for turning on heating mode from deadband mode" + annotation (Placement(transformation(extent={{-20,50},{0,70}}))); + + Buildings.Controls.OBC.CDL.Continuous.Hysteresis hysDeaCoo( + final uLow=cooDea-deaHysLim, + final uHigh=cooDea) + "Hysteresis for switching on cooling mode from deadband mode" + annotation (Placement(transformation(extent={{-40,-30},{-20,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conZerCooMod( + final k=0) if not have_cooCoi + "Constant zero signal for cooling mode" + annotation (Placement(transformation(extent={{-100,-150},{-80,-130}}))); + + Buildings.Controls.OBC.CDL.Conversions.BooleanToReal booToRea2 + "Boolean to Real conversion" + annotation (Placement(transformation(extent={{60,130},{80,150}}))); + + Buildings.Controls.OBC.CDL.Continuous.Multiply mul2 + "Output heating coil signal only when fan is proven on" + annotation (Placement(transformation(extent={{90,50},{110,70}}))); + + Buildings.Controls.OBC.CDL.Continuous.Multiply mul3 + "Output cooling coil signal only when fan is proven on" + annotation (Placement(transformation(extent={{90,-70},{110,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conUHea_max( + final k=uHea_max) + "Maximum heating loop signal support point" + annotation (Placement(transformation(extent={{-80,10},{-60,30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conUCoo_max( + final k=uCoo_max) + "Maximum cooling loop signal support point" + annotation (Placement(transformation(extent={{-110,-110},{-90,-90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant conZer( + final k=0) + "Constant zero signal" + annotation (Placement(transformation(extent={{0,10},{20,30}}))); + +equation + connect(uHea, linTHeaSupAir.u) annotation (Line(points={{-140,40},{-74,40},{-74, + 60},{-62,60}}, color={0,0,127})); + + connect(uCoo, linTCooSupAir.u) annotation (Line(points={{-140,-40},{-66,-40},{ + -66,-60},{-62,-60}}, color={0,0,127})); + + connect(TAirSup, conPIDHea.u_m) + annotation (Line(points={{-140,0},{30,0},{30,48}}, color={0,0,127})); + + connect(TAirSup, conPIDCoo.u_m) annotation (Line(points={{-140,0},{30,0},{30,-78}, + {50,-78},{50,-72}}, color={0,0,127})); + + connect(linTHeaSupAir.y, swiDeaHea.u1) annotation (Line(points={{-38,60},{-30, + 60},{-30,68},{-22,68}}, color={0,0,127})); + + connect(conZerHeaMod.y, hysDeaHea.u) + annotation (Line(points={{-48,100},{-42,100}}, color={0,0,127})); + + connect(conZerHeaMod.y, linTHeaSupAir.u) annotation (Line(points={{-48,100},{-46, + 100},{-46,76},{-74,76},{-74,60},{-62,60}}, color={0,0,127})); + + connect(uHea, hysDeaHea.u) annotation (Line(points={{-140,40},{-74,40},{-74,76}, + {-46,76},{-46,100},{-42,100}}, color={0,0,127})); + + connect(hysDeaHea.y, swiDeaHea.u2) annotation (Line(points={{-18,100},{-10,100}, + {-10,80},{-26,80},{-26,60},{-22,60}}, color={255,0,255})); + + connect(conZerCooMod.y, linTCooSupAir.u) annotation (Line(points={{-78,-140},{ + -66,-140},{-66,-60},{-62,-60}}, color={0,0,127})); + + connect(hysDeaCoo.y, swiDeaCoo.u2) + annotation (Line(points={{-18,-20},{-2,-20}}, color={255,0,255})); + + connect(uCoo, hysDeaCoo.u) annotation (Line(points={{-140,-40},{-66,-40},{-66, + -20},{-42,-20}}, color={0,0,127})); + + connect(conZerCooMod.y, hysDeaCoo.u) annotation (Line(points={{-78,-140},{-66, + -140},{-66,-20},{-42,-20}}, color={0,0,127})); + + connect(swiDeaHea.y, swiDeaCoo.u3) annotation (Line(points={{2,60},{8,60},{8,40}, + {-10,40},{-10,-28},{-2,-28}}, color={0,0,127})); + + connect(linTCooSupAir.y, swiDeaCoo.u1) annotation (Line(points={{-38,-60},{-14, + -60},{-14,-12},{-2,-12}}, color={0,0,127})); + + connect(swiDeaCoo.y, conPIDHea.u_s) annotation (Line(points={{22,-20},{36,-20}, + {36,40},{12,40},{12,60},{18,60}}, color={0,0,127})); + + connect(swiDeaCoo.y, conPIDCoo.u_s) annotation (Line(points={{22,-20},{36,-20}, + {36,-60},{38,-60}}, color={0,0,127})); + + connect(conTSupSet_max.y, linTHeaSupAir.f2) annotation (Line(points={{-88,100}, + {-80,100},{-80,52},{-62,52}}, color={0,0,127})); + + connect(conTSupSet_min.y, linTCooSupAir.f2) annotation (Line(points={{-88,-20}, + {-70,-20},{-70,-68},{-62,-68}}, color={0,0,127})); + + connect(TZonHeaSet, linTHeaSupAir.f1) annotation (Line(points={{-140,80},{-74, + 80},{-74,64},{-62,64}}, color={0,0,127})); + + connect(TZonCooSet, linTCooSupAir.f1) annotation (Line(points={{-140,-120},{-64, + -120},{-64,-56},{-62,-56}}, color={0,0,127})); + + connect(TAirSup, swiDeaHea.u3) annotation (Line(points={{-140,0},{-30,0},{-30, + 52},{-22,52}}, color={0,0,127})); + + connect(conZerHeaMod.y, linTHeaSupAir.f1) annotation (Line(points={{-48,100},{ + -46,100},{-46,76},{-74,76},{-74,64},{-62,64}}, color={0,0,127})); + + connect(conZerCooMod.y, linTCooSupAir.f1) annotation (Line(points={{-78,-140}, + {-66,-140},{-66,-56},{-62,-56}}, color={0,0,127})); + + connect(swiDeaCoo.y, TSupSet) annotation (Line(points={{22,-20},{36,-20},{36,0}, + {140,0}}, color={0,0,127})); + + connect(u1Fan, booToRea2.u) + annotation (Line(points={{-140,140},{58,140}}, color={255,0,255})); + connect(yHeaCoi, mul2.y) + annotation (Line(points={{140,60},{112,60}}, color={0,0,127})); + connect(booToRea2.y, mul2.u1) annotation (Line(points={{82,140},{86,140},{86,66}, + {88,66}}, color={0,0,127})); + connect(mul3.y, yCooCoi) annotation (Line(points={{112,-60},{124,-60},{124,-60}, + {140,-60}}, color={0,0,127})); + connect(booToRea2.y, mul3.u1) annotation (Line(points={{82,140},{86,140},{86,-54}, + {88,-54}}, color={0,0,127})); + connect(conUHea_max.y, linTHeaSupAir.x2) annotation (Line(points={{-58,20},{-52, + 20},{-52,40},{-68,40},{-68,56},{-62,56}}, color={0,0,127})); + connect(conUHea_min.y, linTHeaSupAir.x1) annotation (Line(points={{-88,20},{-84, + 20},{-84,68},{-62,68}}, color={0,0,127})); + connect(conUCoo_min.y, linTCooSupAir.x1) annotation (Line(points={{-88,-60},{ + -86,-60},{-86,-52},{-62,-52}}, color={0,0,127})); + connect(conUCoo_max.y, linTCooSupAir.x2) annotation (Line(points={{-88,-100}, + {-80,-100},{-80,-64},{-62,-64}}, color={0,0,127})); + connect(conPIDCoo.y, swiCooCoi.u1) annotation (Line(points={{62,-60},{66,-60}, + {66,-92},{68,-92}}, color={0,0,127})); + connect(swiCooCoi.y, mul3.u2) annotation (Line(points={{92,-100},{100,-100},{100, + -80},{86,-80},{86,-66},{88,-66}}, color={0,0,127})); + connect(hysDeaCoo.y, swiCooCoi.u2) annotation (Line(points={{-18,-20},{-6,-20}, + {-6,-100},{68,-100}}, color={255,0,255})); + connect(swiHeaCoi.y, mul2.u2) annotation (Line(points={{72,90},{80,90},{80,54}, + {88,54}}, color={0,0,127})); + connect(conPIDHea.y, swiHeaCoi.u1) annotation (Line(points={{42,60},{44,60},{44, + 98},{48,98}}, color={0,0,127})); + connect(hysDeaHea.y, swiHeaCoi.u2) annotation (Line(points={{-18,100},{-10,100}, + {-10,90},{48,90}}, color={255,0,255})); + connect(conZer.y, swiHeaCoi.u3) annotation (Line(points={{22,20},{46,20},{46,82}, + {48,82}}, color={0,0,127})); + connect(conZer.y, swiCooCoi.u3) annotation (Line(points={{22,20},{46,20},{46,-40}, + {64,-40},{64,-108},{68,-108}}, color={0,0,127})); + annotation (defaultComponentName="TSupAir", + Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-120},{100,120}}), + graphics={ + Rectangle( + extent={{-100,-120},{100,120}}, + lineColor={0,0,127}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid), + Text( + extent={{-110,160},{110,120}}, + textString="%name", + textColor={0,0,255}), + Text( + extent={{-96,110},{-50,90}}, + textColor={255,0,255}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="u1Fan"), + Text( + extent={{-96,70},{-20,48}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TZonHeaSet", + visible=have_heaCoi), + Text( + extent={{-100,30},{-52,10}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uHea", + visible=have_heaCoi), + Text( + extent={{-96,-10},{-46,-28}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TAirSup"), + Text( + extent={{-100,-50},{-52,-70}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="uCoo", + visible=have_cooCoi), + Text( + extent={{38,70},{96,50}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yHeaCoi", + visible=have_heaCoi), + Text( + extent={{-96,-90},{-20,-112}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TZonCooSet", + visible=have_cooCoi), + Text( + extent={{20,12},{96,-10}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="TSupSet"), + Text( + extent={{38,-50},{96,-70}}, + textColor={0,0,127}, + fillColor={0,0,0}, + fillPattern=FillPattern.Solid, + textString="yCooCoi", + visible=have_cooCoi)}), Diagram(coordinateSystem( + preserveAspectRatio=false, extent={{-120,-160},{120,160}})), + Documentation(info=" +

Block that outputs the supply air temperature setpoint, as well as the control signals for the cooling and heating coils in a fan coil unit system. +The implemented sequence is based on ASHRAE Guideline 36, 2021, Part 5.22.4.

+

The supply air temperature +TSupSet is varied from the zone cooling setpoint temperature +TZonCooSet to the minimum supply air temperature for cooling +TSupSet_min, when the cooling loop signal +uCoo varies from the minimum limit +uCoo_min to the maximum limit +uCoo_max. +Similarly, TSupSet is varied from the zone heating setpoint temperature +TZonHeaSet to the maximum supply air temperature for heating +TSupSet_max, when the heating loop signal +uHea varies from the minimum limit +uHea_min to the maximum limit +uHea_max. The setpoint in deadband mode is equal to the current +measured supply air temperature TAirSup. +yCooCoi and yHeaCoi are set to zero when the fan proven on signal +u1Fan is false.

+

\"Supply

+", revisions=" + + ")); +end SupplyAirTemperature; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/FanSpeed.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/FanSpeed.mo new file mode 100644 index 00000000000..d14ff48faa5 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/FanSpeed.mo @@ -0,0 +1,320 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation; +block FanSpeed + "Validation model for fan speed subsequence" + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed fanSpe( + final have_cooCoi=true, + final have_heaCoi=true) + "Instance demonstrating variation of heating loop signal" + annotation (Placement(transformation(extent={{-40,120},{-20,140}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed fanSpe2( + final have_cooCoi=true, + final have_heaCoi=true) + "Instance demonstrating variation of operating mode" + annotation (Placement(transformation(extent={{80,120},{100,140}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed fanSpe1( + final have_cooCoi=true, + final have_heaCoi=true) + "Instance demonstrating variation of cooling loop signal" + annotation (Placement(transformation(extent={{-40,-10},{-20,10}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed fanSpe3( + final have_cooCoi=true, + final have_heaCoi=false) + "Instance demonstrating variation of cooling loop signal with no heating coil" + annotation (Placement(transformation(extent={{80,-10},{100,10}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed fanSpe4( + final have_cooCoi=false, + final have_heaCoi=true) + "Instance demonstrating variation of heating loop signal with no cooling coil" + annotation (Placement(transformation(extent={{-40,-140},{-20,-120}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed fanSpe5( + final have_cooCoi=false, + final have_heaCoi=false) + "Instance demonstrating variation of operating mode with no heating and cooling coils" + annotation (Placement(transformation(extent={{80,-140},{100,-120}}))); + +protected + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ram( + final height=6, + final duration=70, + final offset=1) + "Operating mode signal" + annotation (Placement(transformation(extent={{20,160},{40,180}}))); + + Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt + "Real to Integer conversion" + annotation (Placement(transformation(extent={{-70,160},{-50,180}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul( + final period=100) + "Fan proven on signal" + annotation (Placement(transformation(extent={{-100,130},{-80,150}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin( + final freqHz=1/50) + "Heating loop signal" + annotation (Placement(transformation(extent={{-100,100},{-80,120}}))); + + Buildings.Controls.OBC.CDL.Continuous.Abs abs + "Convert negative loop signal to positive" + annotation (Placement(transformation(extent={{-70,100},{-50,120}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con( + final k=0) + "Cooling loop signal" + annotation (Placement(transformation(extent={{-100,70},{-80,90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con1( + final k=1) + "Operating mode signal" + annotation (Placement(transformation(extent={{-100,160},{-80,180}}))); + + Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 + "Real to Integer conversion" + annotation (Placement(transformation(extent={{50,160},{70,180}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul1( + final period=100) + "Fan proven on signal" + annotation (Placement(transformation(extent={{20,130},{40,150}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con2( + final k=0) + "Cooling loop signal" + annotation (Placement(transformation(extent={{20,70},{40,90}}))); + + Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 + "Real to Integer conversion" + annotation (Placement(transformation(extent={{-70,30},{-50,50}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul2( + final period=100) + "Fan proven on signal" + annotation (Placement(transformation(extent={{-100,0},{-80,20}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin2( + final freqHz=1/50) + "Cooling loop signal" + annotation (Placement(transformation(extent={{-100,-60},{-80,-40}}))); + + Buildings.Controls.OBC.CDL.Continuous.Abs abs2 + "Convert negative loop signal to positive" + annotation (Placement(transformation(extent={{-70,-60},{-50,-40}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con3( + final k=0) + "Heating loop signal" + annotation (Placement(transformation(extent={{-100,-30},{-80,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con4( + final k=1) + "Operating mode signal" + annotation (Placement(transformation(extent={{-100,30},{-80,50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con5( + final k=0.75) + "Heating loop signal" + annotation (Placement(transformation(extent={{20,100},{40,120}}))); + + Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt3 + "Real to Integer conversion" + annotation (Placement(transformation(extent={{50,30},{70,50}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul3( + final period=100) + "Fan proven on signal" + annotation (Placement(transformation(extent={{20,0},{40,20}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin1( + final freqHz=1/50) + "Cooling loop signal" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Abs abs1 + "Convert negative loop signal to positive" + annotation (Placement(transformation(extent={{50,-30},{70,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con7( + final k=1) + "Operating mode signal" + annotation (Placement(transformation(extent={{20,30},{40,50}}))); + + Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt4 + "Real to Integer conversion" + annotation (Placement(transformation(extent={{-70,-100},{-50,-80}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul4( + final period=100) + "Fan proven on signal" + annotation (Placement(transformation(extent={{-100,-130},{-80,-110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin3( + final freqHz=1/50) + "Heating loop signal" + annotation (Placement(transformation(extent={{-100,-160},{-80,-140}}))); + + Buildings.Controls.OBC.CDL.Continuous.Abs abs3 + "Convert negative loop signal to positive" + annotation (Placement(transformation(extent={{-70,-160},{-50,-140}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con8( + final k=1) + "Operating mode signal" + annotation (Placement(transformation(extent={{-100,-100},{-80,-80}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ram1( + final height=6, + final duration=70, + final offset=1) + "Operating mode signal" + annotation (Placement(transformation(extent={{20,-100},{40,-80}}))); + + Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt5 + "Real to Integer conversion" + annotation (Placement(transformation(extent={{50,-100},{70,-80}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Pulse booPul5( + final period=100) + "Fan proven on signal" + annotation (Placement(transformation(extent={{20,-130},{40,-110}}))); + +equation + connect(reaToInt.y, fanSpe.opeMod) annotation (Line(points={{-48,170},{-46,170}, + {-46,136},{-42,136}}, + color={255,127,0})); + + connect(booPul.y, fanSpe.u1FanPro) annotation (Line(points={{-78,140},{-50,140}, + {-50,132},{-42,132}}, + color={255,0,255})); + + connect(sin.y, abs.u) + annotation (Line(points={{-78,110},{-72,110}}, + color={0,0,127})); + + connect(abs.y, fanSpe.uHea) annotation (Line(points={{-48,110},{-46,110},{-46, + 128},{-42,128}}, + color={0,0,127})); + + connect(con.y, fanSpe.uCoo) annotation (Line(points={{-78,80},{-44,80},{-44,124}, + {-42,124}},color={0,0,127})); + + connect(con1.y, reaToInt.u) + annotation (Line(points={{-78,170},{-72,170}}, color={0,0,127})); + + connect(reaToInt1.y, fanSpe2.opeMod) annotation (Line(points={{72,170},{74,170}, + {74,136},{78,136}}, color={255,127,0})); + + connect(booPul1.y, fanSpe2.u1FanPro) annotation (Line(points={{42,140},{70,140}, + {70,132},{78,132}}, color={255,0,255})); + + connect(con2.y, fanSpe2.uCoo) annotation (Line(points={{42,80},{76,80},{76, + 124},{78,124}}, color={0,0,127})); + + connect(ram.y, reaToInt1.u) + annotation (Line(points={{42,170},{48,170}}, color={0,0,127})); + + connect(reaToInt2.y,fanSpe1. opeMod) annotation (Line(points={{-48,40},{-46,40}, + {-46,6},{-42,6}}, color={255,127,0})); + + connect(booPul2.y,fanSpe1. u1FanPro) annotation (Line(points={{-78,10},{-50,10}, + {-50,2},{-42,2}}, color={255,0,255})); + + connect(sin2.y, abs2.u) + annotation (Line(points={{-78,-50},{-72,-50}}, color={0,0,127})); + + connect(con4.y, reaToInt2.u) + annotation (Line(points={{-78,40},{-72,40}}, color={0,0,127})); + + connect(con3.y,fanSpe1. uHea) annotation (Line(points={{-78,-20},{-56,-20},{-56, + -2},{-42,-2}}, color={0,0,127})); + + connect(abs2.y,fanSpe1. uCoo) annotation (Line(points={{-48,-50},{-46,-50},{-46, + -6},{-42,-6}}, color={0,0,127})); + + connect(con5.y, fanSpe2.uHea) annotation (Line(points={{42,110},{60,110},{60, + 128},{78,128}}, color={0,0,127})); + + connect(reaToInt3.y,fanSpe3. opeMod) annotation (Line(points={{72,40},{74,40}, + {74,6},{78,6}}, color={255,127,0})); + + connect(booPul3.y,fanSpe3. u1FanPro) annotation (Line(points={{42,10},{70,10},{ + 70,2},{78,2}}, color={255,0,255})); + + connect(sin1.y,abs1. u) + annotation (Line(points={{42,-20},{48,-20}}, color={0,0,127})); + + connect(con7.y,reaToInt3. u) + annotation (Line(points={{42,40},{48,40}}, color={0,0,127})); + + connect(abs1.y,fanSpe3. uCoo) annotation (Line(points={{72,-20},{74,-20},{74,-6}, + {78,-6}}, color={0,0,127})); + + connect(reaToInt4.y, fanSpe4.opeMod) annotation (Line(points={{-48,-90},{-46,-90}, + {-46,-124},{-42,-124}}, + color={255,127,0})); + + connect(booPul4.y, fanSpe4.u1FanPro) annotation (Line(points={{-78,-120},{-50,-120}, + {-50,-128},{-42,-128}}, + color={255,0,255})); + + connect(sin3.y, abs3.u) + annotation (Line(points={{-78,-150},{-72,-150}}, color={0,0,127})); + + connect(abs3.y, fanSpe4.uHea) annotation (Line(points={{-48,-150},{-46,-150}, + {-46,-132},{-42,-132}}, + color={0,0,127})); + + connect(con8.y, reaToInt4.u) + annotation (Line(points={{-78,-90},{-72,-90}}, color={0,0,127})); + + connect(reaToInt5.y, fanSpe5.opeMod) annotation (Line(points={{72,-90},{74,-90}, + {74,-124},{78,-124}}, color={255,127,0})); + + connect(booPul5.y, fanSpe5.u1FanPro) annotation (Line(points={{42,-120},{70,-120}, + {70,-128},{78,-128}}, color={255,0,255})); + + connect(ram1.y, reaToInt5.u) + annotation (Line(points={{42,-90},{48,-90}}, color={0,0,127})); + + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100}, + {100,100}}), graphics={ + Ellipse(lineColor = {75,138,73}, + fillColor={255,255,255}, + fillPattern = FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon(lineColor = {0,0,255}, + fillColor = {75,138,73}, + pattern = LinePattern.None, + fillPattern = FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), Diagram( + coordinateSystem(preserveAspectRatio=false, extent={{-120,-200},{120,200}})), + experiment( + StopTime=100, + Tolerance=1e-06), + __Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/FanSpeed.mos" + "Simulate and plot"), + Documentation(info=" +

+ This example validates + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.FanSpeed. + Each of the six instances of the controller represents operation with different + inputs for heating and cooling loop signals, as well as the operating mode + and fan proven on signal, and different configuration + parameters of fan coil unit with presence or absence of heating and cooling + coils, as described by the comment for each instance. +

+ ", revisions=" + + ")); +end FanSpeed; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/PlantRequests.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/PlantRequests.mo new file mode 100644 index 00000000000..30c40e97041 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/PlantRequests.mo @@ -0,0 +1,202 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation; +model PlantRequests + "Validation model for subsequence for calculating the plant requests" + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.PlantRequests plaReq + "Calculate plant request" + annotation (Placement(transformation(extent={{60,50},{80,70}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.PlantRequests plaReq1( + final have_hotWatCoi=false) + "Calculate plant request" + annotation (Placement(transformation(extent={{60,-80},{80,-60}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.PlantRequests plaReq2( + final have_chiWatCoi=false) + "Calculate plant request" + annotation (Placement(transformation(extent={{60,-160},{80,-140}}))); + +protected + Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse fanSpe( + final width=0.8, + final period=3600) + "Fan speed signal" + annotation (Placement(transformation(extent={{10,70},{30,90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse fanSpe1( + final width=0.8, + final period=3600) + "Fan speed signal" + annotation (Placement(transformation(extent={{20,-30},{40,-10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Pulse fanSpe2( + final width=0.8, + final period=3600) + "Fan speed signal" + annotation (Placement(transformation(extent={{20,-110},{40,-90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp supTem( + final height=16, + final offset=273.15 + 15, + final duration=3600) + "Supply air temperature" + annotation (Placement(transformation(extent={{-80,-50},{-60,-30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp supTemSet( + final height=6, + final offset=273.15 + 14.5, + final duration=3600) + "Supply air temperature setpoint" + annotation (Placement(transformation(extent={{-40,-70},{-20,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp cooCoi( + final height=-0.3, + final offset=0.96, + final duration=3600, + final startTime=1000) + "Cooling coil position" + annotation (Placement(transformation(extent={{-80,-90},{-60,-70}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp heaCoi( + final height=-0.3, + final offset=0.96, + final duration=3600, + final startTime=1000) + "Heating coil position" + annotation (Placement(transformation(extent={{-80,-10},{-60,10}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp supTem1( + final height=8, + final offset=273.15 + 12, + final duration=3600) + "Cooling supply air temperature" + annotation (Placement(transformation(extent={{-80,70},{-60,90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp supTemSet1( + final height=25, + final offset=273.15 + 20, + final duration=3600) + "Supply air temperature setpoint" + annotation (Placement(transformation(extent={{-40,50},{-20,70}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant cooCoi1( + final k=0) + "Cooling coil position" + annotation (Placement(transformation(extent={{-80,30},{-60,50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp supTem3( + final height=8, + final offset=273.15 + 15, + final duration=3600) + "Supply air temperature" + annotation (Placement(transformation(extent={{-80,-130},{-60,-110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp supTemSet2( + final height=6, + final offset=273.15 + 14.5, + final duration=3600) + "Supply air temperature setpoint" + annotation (Placement(transformation(extent={{-40,-150},{-20,-130}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp heaCoi2( + final height=-0.3, + final offset=0.96, + final duration=3600, + final startTime=1000) + "Heating coil position" + annotation (Placement(transformation(extent={{-80,-170},{-60,-150}}))); + +equation + connect(supTem.y, plaReq1.TAirSup) annotation (Line(points={{-58,-40},{20,-40}, + {20,-66},{58,-66}}, color={0,0,127})); + + connect(cooCoi.y, plaReq1.uCooCoi_actual) annotation (Line(points={{-58,-80},{ + 20,-80},{20,-73.8},{58,-73.8}}, + color={0,0,127})); + + connect(supTem1.y, plaReq.TAirSup) annotation (Line(points={{-58,80},{0,80},{0, + 64},{58,64}}, color={0,0,127})); + + connect(cooCoi1.y, plaReq.uCooCoi_actual) annotation (Line(points={{-58,40},{10, + 40},{10,56.2},{58,56.2}},color={0,0,127})); + + connect(heaCoi.y, plaReq.uHeaCoi_actual) annotation (Line(points={{-58,0},{30, + 0},{30,52},{58,52}}, color={0,0,127})); + + connect(supTemSet1.y,plaReq.TSupSet) annotation (Line(points={{-18,60},{0,60}, + {0,60},{58,60}}, color={0,0,127})); + + connect(supTemSet.y,plaReq1.TSupSet) annotation (Line(points={{-18,-60},{0,-60}, + {0,-70},{58,-70}}, color={0,0,127})); + + connect(fanSpe.y, plaReq.uFan) annotation (Line(points={{32,80},{50,80},{50, + 68},{58,68}}, color={0,0,127})); + + connect(fanSpe1.y, plaReq1.uFan) annotation (Line(points={{42,-20},{52,-20}, + {52,-62},{58,-62}}, color={0,0,127})); + + connect(supTem3.y, plaReq2.TAirSup) annotation (Line(points={{-58,-120},{20,-120}, + {20,-146},{58,-146}}, color={0,0,127})); + + connect(supTemSet2.y, plaReq2.TSupSet) annotation (Line(points={{-18,-140},{0, + -140},{0,-150},{58,-150}}, color={0,0,127})); + + connect(fanSpe2.y, plaReq2.uFan) annotation (Line(points={{42,-100},{52,-100}, + {52,-142},{58,-142}}, color={0,0,127})); + + connect(heaCoi2.y, plaReq2.uHeaCoi_actual) annotation (Line(points={{-58,-160}, + {52,-160},{52,-158},{58,-158}}, color={0,0,127})); + +annotation ( + experiment(StopTime=3600, Tolerance=1e-6), + __Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/PlantRequests.mos" + "Simulate and plot"), + Documentation(info=" +

+This example validates + +Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.PlantRequests +for fan coil units. The three instances of the controller are as follows: +

+

+

+

+

+Each instance is subjected to an increasing deviation of the measured supply +temperature TAirSup from the supply temperature setpoint TSupSet +that results in an increasing number of requests from the controllers. +

+", revisions=" + +"), + Icon(coordinateSystem(extent={{-100,-100},{100,100}}), + graphics={ + Ellipse(lineColor = {75,138,73}, + fillColor={255,255,255}, + fillPattern = FillPattern.Solid, + extent = {{-100,-100},{100,100}}), + Polygon(lineColor = {0,0,255}, + fillColor = {75,138,73}, + pattern = LinePattern.None, + fillPattern = FillPattern.Solid, + points = {{-36,60},{64,0},{-36,-60},{-36,60}})}), + Diagram(coordinateSystem(extent={{-100,-180},{100,100}}))); +end PlantRequests; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/SupplyAirTemperature.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/SupplyAirTemperature.mo new file mode 100644 index 00000000000..98610e0c4cc --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/SupplyAirTemperature.mo @@ -0,0 +1,222 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation; +block SupplyAirTemperature + "Validation model for supply air temperature setpoint subsequence" + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.SupplyAirTemperature TSupAir( + final have_cooCoi=true, + final have_heaCoi=true) + "Instance demonstrating heating signal operation" + annotation (Placement(transformation(extent={{-50,60},{-30,84}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.SupplyAirTemperature TSupAir3( + final have_cooCoi=true, + final have_heaCoi=false) + "Instance demonstrating cooling signal operation when heating coil is absent" + annotation (Placement(transformation(extent={{60,-80},{80,-56}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.SupplyAirTemperature TSupAir2( + final have_cooCoi=false, + final have_heaCoi=true) + "Instance demonstrating heating signal operation when cooling coil is absent" + annotation (Placement(transformation(extent={{-50,-100},{-30,-76}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.SupplyAirTemperature TSupAir1( + final have_cooCoi=true, + final have_heaCoi=true) + "Instance demonstrating cooling signal operation" + annotation (Placement(transformation(extent={{80,60},{100,84}}))); + +protected + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin( + final amplitude=20, + final freqHz=1/50, + final offset=273.15 + 23) + "Supply air temperature signal" + annotation (Placement(transformation(extent={{-90,60},{-70,80}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin3( + final amplitude=20, + final freqHz=1/50, + final offset=273.15 + 23) + "Supply air temperature signal" + annotation (Placement(transformation(extent={{20,-70},{40,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin5( + final amplitude=0.5, + final freqHz=1/100, + final offset=0.5) + "Cooling loop signal" + annotation (Placement(transformation(extent={{20,-100},{40,-80}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin6( + final amplitude=20, + final freqHz=1/50, + final offset=273.15 + 23) + "Supply air temperature signal" + annotation (Placement(transformation(extent={{-90,-100},{-70,-80}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin8( + final amplitude=0.5, + final freqHz=1/100, + final offset=0.5) + "Heating loop signal" + annotation (Placement(transformation(extent={{-90,-70},{-70,-50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Sine sin4( + final amplitude=20, + final freqHz=1/50, + final offset=273.15 + 23) + "Supply air temperature signal" + annotation (Placement(transformation(extent={{40,60},{60,80}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con( + final k=273.15 + 21) + "Zone heating temperature setpoint" + annotation (Placement(transformation(extent={{-90,120},{-70,140}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con1( + final k=273.15 + 25) + "Zone cooling temperature setpoint" + annotation (Placement(transformation(extent={{-90,0},{-70,20}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con2( + final k=273.15 + 21) + "Zone heating temperature setpoint" + annotation (Placement(transformation(extent={{40,120},{60,140}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con3( + final k=273.15 + 25) + "Zone cooling temperature setpoint" + annotation (Placement(transformation(extent={{40,0},{60,20}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con4( + final k=273.15 + 21) + "Zone heating temperature setpoint" + annotation (Placement(transformation(extent={{-90,-40},{-70,-20}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con6( + final k=273.15 + 25) + "Zone cooling temperature setpoint" + annotation (Placement(transformation(extent={{20,-130},{40,-110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con5( + final k=0.25) + "Heating loop signal" + annotation (Placement(transformation(extent={{-90,90},{-70,110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con7( + final k=0) + "Heating loop signal" + annotation (Placement(transformation(extent={{40,90},{60,110}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con8( + final k=0) + "Cooling loop signal" + annotation (Placement(transformation(extent={{-90,30},{-70,50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant con9( + final k=0.25) + "Cooling loop signal" + annotation (Placement(transformation(extent={{40,30},{60,50}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Constant con10( + final k=true) + "Boolean fale signal" + annotation (Placement(transformation(extent={{-120,-20},{-100,0}}))); + +equation + connect(sin.y, TSupAir.TAirSup) + annotation (Line(points={{-68,70},{-60,70},{-60,70},{-52,70}}, + color={0,0,127})); + + connect(sin6.y, TSupAir2.TAirSup) + annotation (Line(points={{-68,-90},{-60,-90},{-60,-90},{-52,-90}}, + color={0,0,127})); + + connect(sin8.y, TSupAir2.uHea) annotation (Line(points={{-68,-60},{-60,-60},{ + -60,-86},{-52,-86}}, color={0,0,127})); + + connect(sin4.y,TSupAir1. TAirSup) + annotation (Line(points={{62,70},{70,70},{70,70},{78,70}}, + color={0,0,127})); + + connect(con.y,TSupAir.TZonHeaSet) annotation (Line(points={{-68,130},{-56, + 130},{-56,78},{-52,78}}, color={0,0,127})); + + connect(con1.y,TSupAir.TZonCooSet) annotation (Line(points={{-68,10},{-56,10}, + {-56,62},{-52,62}}, color={0,0,127})); + + connect(con2.y,TSupAir1.TZonHeaSet) annotation (Line(points={{62,130},{72, + 130},{72,78},{78,78}}, color={0,0,127})); + + connect(con3.y,TSupAir1.TZonCooSet) annotation (Line(points={{62,10},{72,10}, + {72,62},{78,62}}, color={0,0,127})); + + connect(con4.y,TSupAir2.TZonHeaSet) annotation (Line(points={{-68,-30},{-56, + -30},{-56,-82},{-52,-82}}, color={0,0,127})); + + connect(con6.y,TSupAir3.TZonCooSet) annotation (Line(points={{42,-120},{54, + -120},{54,-78},{58,-78}}, color={0,0,127})); + + connect(con5.y, TSupAir.uHea) annotation (Line(points={{-68,100},{-60,100},{ + -60,74},{-52,74}}, color={0,0,127})); + + connect(con7.y, TSupAir1.uHea) annotation (Line(points={{62,100},{68,100},{68, + 74},{78,74}}, color={0,0,127})); + + connect(con8.y, TSupAir.uCoo) annotation (Line(points={{-68,40},{-60,40},{-60, + 66},{-52,66}}, color={0,0,127})); + + connect(con9.y, TSupAir1.uCoo) annotation (Line(points={{62,40},{70,40},{70, + 66},{78,66}}, color={0,0,127})); + + connect(sin5.y, TSupAir3.uCoo) annotation (Line(points={{42,-90},{52,-90},{52, + -74},{58,-74}}, color={0,0,127})); + + connect(sin3.y, TSupAir3.TAirSup) annotation (Line(points={{42,-60},{52,-60}, + {52,-70},{58,-70}}, color={0,0,127})); + + connect(con10.y, TSupAir.u1Fan) annotation (Line(points={{-98,-10},{-54,-10},{ + -54,82},{-52,82}}, color={255,0,255})); + connect(con10.y, TSupAir1.u1Fan) annotation (Line(points={{-98,-10},{74,-10},{ + 74,82},{78,82}}, color={255,0,255})); + connect(con10.y, TSupAir2.u1Fan) annotation (Line(points={{-98,-10},{-54,-10}, + {-54,-78},{-52,-78}}, color={255,0,255})); + connect(con10.y, TSupAir3.u1Fan) annotation (Line(points={{-98,-10},{54,-10},{ + 54,-58},{58,-58}}, color={255,0,255})); + annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100}, + {100,100}}), graphics={ + Ellipse(lineColor = {75,138,73}, + fillColor={255,255,255}, + fillPattern = FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon(lineColor = {0,0,255}, + fillColor = {75,138,73}, + pattern = LinePattern.None, + fillPattern = FillPattern.Solid, + points={{-36,60},{64,0},{-36,-60},{-36,60}})}), Diagram( + coordinateSystem(preserveAspectRatio=false, extent={{-140,-140},{140,140}})), + __Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/SupplyAirTemperature.mos" + "Simulate and plot"), + Documentation(info=" +

+ This example validates + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.SupplyAirTemperature. + Each of the four instances of the controller represents operation with different + inputs for heating and cooling loop signals, and different configuration + parameters of fan coil unit with presence or absence of heating and cooling + coils, as described in the instance comments. +

+ ", revisions=" + + "), + experiment( + StopTime=100, + Tolerance=1e-06)); +end SupplyAirTemperature; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/package.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/package.mo new file mode 100644 index 00000000000..23662029a76 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/package.mo @@ -0,0 +1,34 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences; +package Validation "Package containing validation models for fan coil unit subsequences" + + annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Polygon( + origin={8,14}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})}), + Documentation(info=" +

+ This package contains the validation models for the fan coil unit subsequences. +

+ ", revisions=" + + ")); +end Validation; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/package.order b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/package.order new file mode 100644 index 00000000000..b0c224c26eb --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/package.order @@ -0,0 +1,3 @@ +FanSpeed +PlantRequests +SupplyAirTemperature diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/package.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/package.mo new file mode 100644 index 00000000000..79b79694b77 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/package.mo @@ -0,0 +1,50 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit; +package Subsequences "Package of subsequences for fan coil unit controls" + + annotation(Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Ellipse( + origin={10.0,10.0}, + fillColor={76,76,76}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-80.0,-80.0},{-20.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,-80.0},{60.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,0.0},{60.0,60.0}}), + Ellipse( + origin={10.0,10.0}, + lineColor={128,128,128}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-80.0,0.0},{-20.0,60.0}})}), + Documentation(info=" +

+ This package contains the subsequences used in the fan coil unit controller. +

+ ", revisions=" + + ")); +end Subsequences; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/package.order b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/package.order new file mode 100644 index 00000000000..faf8494e905 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/package.order @@ -0,0 +1,4 @@ +FanSpeed +PlantRequests +SupplyAirTemperature +Validation diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/Controller.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/Controller.mo new file mode 100644 index 00000000000..2fbdfe6c117 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/Controller.mo @@ -0,0 +1,409 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Validation; +model Controller + "Validation of the top-level controller" + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Controller conFCU( + final have_hotWatCoi=true, + final have_eleHeaCoi=false, + final have_winSen=false, + final kHea=1, + final controllerTypeCoo=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final controllerTypeHea=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final have_occSen=true, + final TSupSet_max=297.15, + final TSupSet_min=285.15, + final heaSpe_max=0.6, + final heaSpe_min=0.2, + final cooSpe_min=0.2, + final have_cooCoi=true) + "Validate the heating case" + annotation (Placement(transformation(extent={{20,76},{60,136}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Controller conFCU1( + final have_hotWatCoi=true, + final have_eleHeaCoi=false, + final have_winSen=true, + final kCoo=1, + final kHea=1, + final controllerTypeCoo=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final controllerTypeHea=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final have_occSen=false, + final TSupSet_max=297.15, + final TSupSet_min=285.15, + final have_cooCoi=true, + final heaSpe_max=0.6, + final heaSpe_min=0.2, + final cooSpe_min=0.2) + "Validate the cooling case" + annotation (Placement(transformation(extent={{20,0},{60,60}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Controller conFCU2( + final have_hotWatCoi=true, + final have_eleHeaCoi=false, + final have_winSen=false, + final kCoo=1, + final kHea=1, + final controllerTypeCoo=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final controllerTypeHea=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final have_occSen=true, + final TSupSet_max=297.15, + final TSupSet_min=285.15, + final have_cooCoi=true, + final heaSpe_max=0.6, + final heaSpe_min=0.2, + final cooSpe_min=0.2) + "Validate the cooling case" + annotation (Placement(transformation(extent={{20,-78},{60,-18}}))); + + Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Controller conFCU3( + final have_hotWatCoi=true, + final have_eleHeaCoi=false, + final have_winSen=true, + final kCoo=1, + final kHea=1, + final controllerTypeCoo=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final controllerTypeHea=Buildings.Controls.OBC.CDL.Types.SimpleController.P, + final have_occSen=false, + final TSupSet_max=297.15, + final TSupSet_min=285.15, + final have_cooCoi=true, + final heaSpe_max=0.6, + final heaSpe_min=0.2, + final cooSpe_min=0.2) + "Validate the cooling case" + annotation (Placement(transformation(extent={{20,-154},{60,-94}}))); + +protected + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TOccHeaSet( + final k=293.15) + "Occupied heating setpoint temperature" + annotation (Placement(transformation(extent={{-160,130},{-140,150}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TOccCooSet( + final k=297.15) + "Occupied cooling setpoint temperature" + annotation (Placement(transformation(extent={{-120,130},{-100,150}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TUnoHeaSet( + final k=285.15) + "Unoccupied heating setpoint temperature" + annotation (Placement(transformation(extent={{-80,130},{-60,150}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TUnoCooSet( + final k=303.15) + "Unoccupied cooling setpoint temperature" + annotation (Placement(transformation(extent={{-40,130},{-20,150}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TZon( + final duration=86400, + final height=6, + final offset=273.15 + 16, + y(unit="K")) + "Measured zone temperature" + annotation (Placement(transformation(extent={{-180,70},{-160,90}}))); + + Buildings.Controls.SetPoints.OccupancySchedule occSch( + final occupancy=3600*{4,20}) + "Occupancy schedule" + annotation (Placement(transformation(extent={{-120,44},{-100,64}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant nOcc( + final k=2) + "Number of occupants" + annotation (Placement(transformation(extent={{-160,-10},{-140,10}}))); + + Buildings.Controls.OBC.CDL.Logical.Sources.Constant win(final k=false) + "Window status" + annotation (Placement(transformation(extent={{-180,-150},{-160,-130}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TZon1( + final duration=86400, + final height=-3, + final offset=273.15 + 26, + y(unit="K")) + "Measured zone temperature" + annotation (Placement(transformation(extent={{-180,-50},{-160,-30}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TSup( + final height=2, + final duration=86400, + final offset=273.15 + 22.5, + y(unit="K")) + "Terminal unit discharge air temperature" + annotation (Placement(transformation(extent={{-180,30},{-160,50}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp TSup1( + final height=-3, + final duration=86400, + final offset=273.15 + 24, + y(unit="K")) + "Terminal unit discharge air temperature" + annotation (Placement(transformation(extent={{-180,-80},{-160,-60}}))); + + Buildings.Controls.OBC.CDL.Integers.Sources.Constant demLim( + final k=0) + "Cooling and heating demand imit level" + annotation (Placement(transformation(extent={{-180,-110},{-160,-90}}))); + + Buildings.Controls.OBC.CDL.Continuous.Sources.Constant cooWarTim( + final k=0) + "Cooldown and warm-up time" + annotation (Placement(transformation(extent={{-120,-30},{-100,-10}}))); + +equation + connect(TZon.y,conFCU. TZon) annotation (Line(points={{-158,80},{-20,80},{-20, + 106},{18,106}}, color={0,0,127})); + + connect(occSch.occupied,conFCU. u1Occ) annotation (Line(points={{-99,48},{-74, + 48},{-74,118.632},{18,118.632}}, + color={255,0,255})); + + connect(occSch.tNexOcc,conFCU. tNexOcc) annotation (Line(points={{-99,60},{ + -80,60},{-80,128.105},{18,128.105}}, + color={0,0,127})); + + connect(TSup.y,conFCU. TSup) annotation (Line(points={{-158,40},{-140,40},{ + -140,109.158},{18,109.158}}, + color={0,0,127})); + + connect(win.y,conFCU1. u1Win) annotation (Line(points={{-158,-140},{0,-140},{0, + 7.89474},{18,7.89474}}, + color={255,0,255})); + + connect(occSch.tNexOcc,conFCU1. tNexOcc) annotation (Line(points={{-99,60},{ + -20,60},{-20,52.1053},{18,52.1053}}, + color={0,0,127})); + + connect(occSch.occupied,conFCU1. u1Occ) + annotation (Line(points={{-99,48},{-40,48},{-40,42.6316},{18,42.6316}}, + color={255,0,255})); + + connect(TZon1.y,conFCU1. TZon) annotation (Line(points={{-158,-40},{-70,-40},{ + -70,30},{18,30}}, color={0,0,127})); + + connect(TSup1.y,conFCU1. TSup) annotation (Line(points={{-158,-70},{-84,-70},{ + -84,33.1579},{18,33.1579}}, color={0,0,127})); + + connect(TSup1.y,conFCU2. TSup) annotation (Line(points={{-158,-70},{-84,-70},{ + -84,-44.8421},{18,-44.8421}}, color={0,0,127})); + + connect(occSch.occupied,conFCU2. u1Occ) annotation (Line(points={{-99,48},{ + -74,48},{-74,-35.3684},{18,-35.3684}}, + color={255,0,255})); + + connect(occSch.tNexOcc,conFCU2. tNexOcc) annotation (Line(points={{-99,60},{ + -80,60},{-80,-25.8947},{18,-25.8947}}, + color={0,0,127})); + + connect(TZon1.y,conFCU2. TZon) annotation (Line(points={{-158,-40},{-70,-40},{ + -70,-48},{18,-48}}, color={0,0,127})); + + connect(win.y,conFCU3. u1Win) annotation (Line(points={{-158,-140},{0,-140},{ + 0,-146.105},{18,-146.105}}, + color={255,0,255})); + + connect(occSch.occupied,conFCU3. u1Occ) annotation (Line(points={{-99,48},{ + -74,48},{-74,-111.368},{18,-111.368}}, + color={255,0,255})); + + connect(TSup1.y,conFCU3. TSup) annotation (Line(points={{-158,-70},{-84,-70}, + {-84,-120.842},{18,-120.842}},color={0,0,127})); + + connect(TZon1.y,conFCU3. TZon) annotation (Line(points={{-158,-40},{-70,-40},{ + -70,-124},{18,-124}}, + color={0,0,127})); + + connect(occSch.tNexOcc,conFCU3. tNexOcc) annotation (Line(points={{-99,60},{ + -80,60},{-80,-101.895},{18,-101.895}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU. warUpTim) annotation (Line(points={{-98,-20},{-14, + -20},{-14,134.421},{18,134.421}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU. cooDowTim) annotation (Line(points={{-98,-20},{ + -14,-20},{-14,131.263},{18,131.263}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU1. warUpTim) annotation (Line(points={{-98,-20},{ + -14,-20},{-14,58.4211},{18,58.4211}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU1. cooDowTim) annotation (Line(points={{-98,-20},{ + -14,-20},{-14,55.2632},{18,55.2632}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU2. warUpTim) annotation (Line(points={{-98,-20},{ + -14,-20},{-14,-19.5789},{18,-19.5789}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU2. cooDowTim) annotation (Line(points={{-98,-20},{ + -14,-20},{-14,-22.7368},{18,-22.7368}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU3. warUpTim) annotation (Line(points={{-98,-20},{ + -14,-20},{-14,-95.5789},{18,-95.5789}}, + color={0,0,127})); + + connect(cooWarTim.y,conFCU3. cooDowTim) annotation (Line(points={{-98,-20},{ + -14,-20},{-14,-98.7368},{18,-98.7368}}, + color={0,0,127})); + + connect(demLim.y,conFCU3. uHeaDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,-117.684},{18,-117.684}}, + color={255,127,0})); + + connect(demLim.y,conFCU3. uCooDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,-114.526},{18,-114.526}}, + color={255,127,0})); + + connect(demLim.y,conFCU2. uHeaDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,-41.6842},{18,-41.6842}}, + color={255,127,0})); + + connect(demLim.y,conFCU2. uCooDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,-38.5263},{18,-38.5263}}, + color={255,127,0})); + + connect(demLim.y,conFCU1. uHeaDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,36.3158},{18,36.3158}}, + color={255,127,0})); + + connect(demLim.y,conFCU1. uCooDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,39.4737},{18,39.4737}}, + color={255,127,0})); + + connect(demLim.y,conFCU. uCooDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,115.474},{18,115.474}}, + color={255,127,0})); + + connect(demLim.y,conFCU. uHeaDemLimLev) annotation (Line(points={{-158,-100}, + {-4,-100},{-4,112.316},{18,112.316}}, + color={255,127,0})); + + connect(nOcc.y, conFCU.nOcc) annotation (Line(points={{-138,0},{-10,0},{-10, + 90.2105},{18,90.2105}}, + color={255,127,0})); + connect(nOcc.y, conFCU2.nOcc) annotation (Line(points={{-138,0},{-10,0},{-10, + -63.7895},{18,-63.7895}}, + color={255,127,0})); + connect(conFCU.yHeaCoi, conFCU.uHeaCoi) annotation (Line(points={{62,109.158}, + {68,109.158},{68,72},{14,72},{14,80.7368},{18,80.7368}}, + color={0,0,127})); + connect(conFCU.yCooCoi, conFCU.uCooCoi) annotation (Line(points={{62,106},{66, + 106},{66,70},{16,70},{16,77.5789},{18,77.5789}}, + color={0,0,127})); + connect(conFCU1.yHeaCoi, conFCU1.uHeaCoi) annotation (Line(points={{62,33.1579}, + {70,33.1579},{70,-6},{14,-6},{14,4.73684},{18,4.73684}}, + color={0,0,127})); + connect(conFCU1.yCooCoi, conFCU1.uCooCoi) annotation (Line(points={{62,30},{68, + 30},{68,-4},{16,-4},{16,1.57895},{18,1.57895}}, + color={0,0,127})); + connect(conFCU2.yHeaCoi, conFCU2.uHeaCoi) annotation (Line(points={{62, + -44.8421},{70,-44.8421},{70,-84},{14,-84},{14,-73.2632},{18,-73.2632}}, + color={0,0,127})); + connect(conFCU2.yCooCoi, conFCU2.uCooCoi) annotation (Line(points={{62,-48},{ + 68,-48},{68,-82},{16,-82},{16,-76.4211},{18,-76.4211}}, + color={0,0,127})); + connect(conFCU3.yHeaCoi, conFCU3.uHeaCoi) annotation (Line(points={{62, + -120.842},{70,-120.842},{70,-158},{12,-158},{12,-149.263},{18, + -149.263}}, color={0,0,127})); + connect(conFCU3.yCooCoi, conFCU3.uCooCoi) annotation (Line(points={{62,-124}, + {68,-124},{68,-156},{14,-156},{14,-152.421},{18,-152.421}}, + color={0,0,127})); + connect(TOccHeaSet.y, conFCU.TOccHeaSet) annotation (Line(points={{-138,140}, + {-128,140},{-128,102.842},{18,102.842}},color={0,0,127})); + connect(TOccCooSet.y, conFCU.TOccCooSet) annotation (Line(points={{-98,140},{ + -88,140},{-88,99.6842},{18,99.6842}}, + color={0,0,127})); + connect(TUnoHeaSet.y, conFCU.TUnoHeaSet) annotation (Line(points={{-58,140},{ + -48,140},{-48,96.5263},{18,96.5263}}, + color={0,0,127})); + connect(TUnoCooSet.y, conFCU.TUnoCooSet) annotation (Line(points={{-18,140},{ + -8,140},{-8,93.3684},{18,93.3684}}, + color={0,0,127})); + connect(TOccHeaSet.y, conFCU1.TOccHeaSet) annotation (Line(points={{-138,140}, + {-128,140},{-128,26.8421},{18,26.8421}}, color={0,0,127})); + connect(TOccCooSet.y, conFCU1.TOccCooSet) annotation (Line(points={{-98,140}, + {-88,140},{-88,23.6842},{18,23.6842}},color={0,0,127})); + connect(TUnoHeaSet.y, conFCU1.TUnoHeaSet) annotation (Line(points={{-58,140}, + {-48,140},{-48,20.5263},{18,20.5263}},color={0,0,127})); + connect(TUnoCooSet.y, conFCU1.TUnoCooSet) annotation (Line(points={{-18,140}, + {-8,140},{-8,17.3684},{18,17.3684}},color={0,0,127})); + connect(TOccHeaSet.y, conFCU2.TOccHeaSet) annotation (Line(points={{-138,140}, + {-128,140},{-128,-51.1579},{18,-51.1579}}, color={0,0,127})); + connect(TOccCooSet.y, conFCU2.TOccCooSet) annotation (Line(points={{-98,140}, + {-88,140},{-88,-54.3158},{18,-54.3158}},color={0,0,127})); + connect(TUnoHeaSet.y, conFCU2.TUnoHeaSet) annotation (Line(points={{-58,140}, + {-48,140},{-48,-57.4737},{18,-57.4737}},color={0,0,127})); + connect(TUnoCooSet.y, conFCU2.TUnoCooSet) annotation (Line(points={{-18,140}, + {-8,140},{-8,-60.6316},{18,-60.6316}},color={0,0,127})); + connect(TOccHeaSet.y, conFCU3.TOccHeaSet) annotation (Line(points={{-138,140}, + {-128,140},{-128,-127.158},{18,-127.158}}, color={0,0,127})); + connect(TOccCooSet.y, conFCU3.TOccCooSet) annotation (Line(points={{-98,140}, + {-88,140},{-88,-130.316},{18,-130.316}},color={0,0,127})); + connect(TUnoHeaSet.y, conFCU3.TUnoHeaSet) annotation (Line(points={{-58,140}, + {-48,140},{-48,-133.474},{18,-133.474}},color={0,0,127})); + connect(TUnoCooSet.y, conFCU3.TUnoCooSet) annotation (Line(points={{-18,140}, + {-8,140},{-8,-136.632},{18,-136.632}},color={0,0,127})); + connect(conFCU.y1Fan, conFCU.u1Fan) annotation (Line(points={{62,121.789},{62, + 122},{70,122},{70,68},{10,68},{10,87.0526},{18,87.0526}}, color={255, + 0,255})); + connect(conFCU1.y1Fan, conFCU1.u1Fan) annotation (Line(points={{62,45.7895},{ + 72,45.7895},{72,-8},{12,-8},{12,11.0526},{18,11.0526}}, color={255,0, + 255})); + connect(conFCU2.y1Fan, conFCU2.u1Fan) annotation (Line(points={{62,-32.2105}, + {72,-32.2105},{72,-86},{12,-86},{12,-66.9474},{18,-66.9474}}, color={ + 255,0,255})); + connect(conFCU3.y1Fan, conFCU3.u1Fan) annotation (Line(points={{62,-108.211}, + {72,-108.211},{72,-160},{10,-160},{10,-142.947},{18,-142.947}}, color + ={255,0,255})); +annotation (experiment(StopTime=86400, Tolerance=1e-06), + __Dymola_Commands(file="modelica://Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Validation/Controller.mos" + "Simulate and plot"), + Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}), + graphics={ + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,58},{64,-2},{-36,-62},{-36,58}}), + Ellipse( + lineColor={75,138,73}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-100,-100},{100,100}}), + Polygon( + lineColor={0,0,255}, + fillColor={75,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-36,58},{64,-2},{-36,-62},{-36,58}})}), + Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-200,-180},{140,160}})), +Documentation(info=" +

+This example validates + +Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Controller. +
+conFCU represents an instance of the controller with heating mode +operation, with the open-loop signals for measured zone temperature and measured +supply air temperature increasing with time. +
+conFCU1 represents an instance of the controller with cooling mode +operation, with the open-loop signals for measured zone temperature and measured +supply air temperature decreasing with time. +
+conFCU2 and conFCU3 represent instances of the controller +with cooling mode operation, with different parameter settings for the window and occupancy sensors. +

+", revisions=" + +")); +end Controller; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/package.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/package.mo new file mode 100644 index 00000000000..faac2eb6925 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/package.mo @@ -0,0 +1,34 @@ +within Buildings.Controls.OBC.ASHRAE.FanCoilUnit; +package Validation "Package of validation models for fan coil unit controls" + + annotation (Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100,-100},{100,100}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100,-100},{100,100}}, + radius=25.0), + Polygon( + origin={8,14}, + lineColor={78,138,73}, + fillColor={78,138,73}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + points={{-58.0,46.0},{42.0,-14.0},{-58.0,-74.0},{-58.0,46.0}})}), + Documentation(info=" +

+ This package contains the validation model for the fan coil unit controller. +

+ ", revisions=" + + ")); +end Validation; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/package.order b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/package.order new file mode 100644 index 00000000000..8cba75e31a7 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/Validation/package.order @@ -0,0 +1 @@ +Controller diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/package.mo b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/package.mo new file mode 100644 index 00000000000..ef49a6c5d24 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/package.mo @@ -0,0 +1,52 @@ +within Buildings.Controls.OBC.ASHRAE; +package FanCoilUnit "Control sequences for fan coil unit" + + +annotation(Icon(graphics={ + Rectangle( + lineColor={200,200,200}, + fillColor={248,248,248}, + fillPattern=FillPattern.HorizontalCylinder, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Rectangle( + lineColor={128,128,128}, + extent={{-100.0,-100.0},{100.0,100.0}}, + radius=25.0), + Ellipse( + origin={10.0,10.0}, + fillColor={76,76,76}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{-80.0,-80.0},{-20.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,-80.0},{60.0,-20.0}}), + Ellipse( + origin={10.0,10.0}, + fillColor={128,128,128}, + pattern=LinePattern.None, + fillPattern=FillPattern.Solid, + extent={{0.0,0.0},{60.0,60.0}}), + Ellipse( + origin={10.0,10.0}, + lineColor={128,128,128}, + fillColor={255,255,255}, + fillPattern=FillPattern.Solid, + extent={{-80.0,0.0},{-20.0,60.0}})}), + Documentation(info=" +

+ This package implements control modules for the fan coil unit as per the sequence + of operations defined in ASHRAE Guideline 36-2021, section 5.22. +

+ ", revisions=" + + ")); +end FanCoilUnit; diff --git a/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/package.order b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/package.order new file mode 100644 index 00000000000..9ffbffcb990 --- /dev/null +++ b/Buildings/Controls/OBC/ASHRAE/FanCoilUnit/package.order @@ -0,0 +1,3 @@ +Controller +Subsequences +Validation diff --git a/Buildings/Controls/OBC/ASHRAE/package.order b/Buildings/Controls/OBC/ASHRAE/package.order index f718b0a1739..6814e72eaad 100644 --- a/Buildings/Controls/OBC/ASHRAE/package.order +++ b/Buildings/Controls/OBC/ASHRAE/package.order @@ -1 +1,2 @@ +FanCoilUnit G36 diff --git a/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/ControlDiagrams.svg b/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/ControlDiagrams.svg new file mode 100644 index 00000000000..76e9df180ee --- /dev/null +++ b/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/ControlDiagrams.svg @@ -0,0 +1,709 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + deaSpe + heaDea + uHea_min + uCoo_min + uCoo_max + uHea_max + cooDea + Deadband + uCoo + uHea + heaSpe_min + cooSpe_min + cooSpe_max + heaSpe_max + + + + + + + + + + + heaDea + uCoo_max + uHea_max + cooDea + Deadband + uCoo + uHea + TZonHeaSet + TZonCooSet + TSupSet_min + TSupSet_max + + + + + + + + + + + + + diff --git a/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/FanSpeed.png b/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/FanSpeed.png new file mode 100644 index 00000000000..5e4185be992 Binary files /dev/null and b/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/FanSpeed.png differ diff --git a/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/SupplyAirTemperature.png b/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/SupplyAirTemperature.png new file mode 100644 index 00000000000..528c7b488a7 Binary files /dev/null and b/Buildings/Resources/Images/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/SupplyAirTemperature.png differ diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_FanSpeed.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_FanSpeed.txt new file mode 100644 index 00000000000..ac82ef98481 --- /dev/null +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_FanSpeed.txt @@ -0,0 +1,40 @@ +last-generated=2023-10-12 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+02] +fanSpe.opeMod=[1e+00, 1e+00] +fanSpe.u1FanPro=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe.uHea=[0e+00, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226747e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.783803018297913e-15, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205143e-01, 4.817536771297451e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.432490491830917e-16, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880378e-01, 6.84547126293183e-01, 7.70513236522674e-01, 8.443279266357417e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.713416443853565e-14, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 1.286498098366183e-15] +fanSpe.uCoo=[0e+00, 0e+00] +fanSpe.y1Fan=[1e+00, 1e+00] +fanSpe.yFan=[1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.877852529287338e-01, 2.845471203327179e-01, 3.705132305622101e-01, 4.443279206752777e-01, 5.04827082157135e-01, 5.510565042495728e-01, 5.822872519493103e-01, 5.980267524719238e-01, 5.980267524719238e-01, 5.822872519493103e-01, 5.510565042495728e-01, 5.04827082157135e-01, 4.443279206752777e-01, 3.705132305622101e-01, 2.845471203327179e-01, 1.877852529287338e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.877852529287338e-01, 2.845471203327179e-01, 3.705132305622101e-01, 4.443279206752777e-01, 5.04827082157135e-01, 5.510565042495728e-01, 5.822872519493103e-01, 5.980267524719238e-01, 5.980267524719238e-01, 5.822872519493103e-01, 5.510565042495728e-01, 5.04827082157135e-01, 4.443279206752777e-01, 3.705132305622101e-01, 2.845471203327179e-01, 1.877852529287338e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01] +fanSpe1.opeMod=[1e+00, 1e+00] +fanSpe1.u1FanPro=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe1.uHea=[0e+00, 0e+00] +fanSpe1.uCoo=[0e+00, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226747e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.783803018297913e-15, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205143e-01, 4.817536771297451e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.432490491830917e-16, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880378e-01, 6.84547126293183e-01, 7.70513236522674e-01, 8.443279266357417e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.713416443853565e-14, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 1.286498098366183e-15] +fanSpe1.y1Fan=[1e+00, 1e+00] +fanSpe1.yFan=[1.000000014901161e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 3.404563963413239e-01, 4.952753782272339e-01, 6.328212022781373e-01, 7.509247064590454e-01, 8.477233052253723e-01, 9.216904044151306e-01, 9.716596007347107e-01, 9.968427419662476e-01, 9.968427419662476e-01, 9.716596007347106e-01, 9.216904044151306e-01, 8.477233052253723e-01, 7.509247064590454e-01, 6.328212022781372e-01, 4.952753782272339e-01, 3.404563963413239e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 3.404563963413239e-01, 4.952753782272339e-01, 6.328212022781372e-01, 7.509247064590454e-01, 8.477233052253723e-01, 9.216904044151306e-01, 9.716596007347107e-01, 9.968427419662476e-01, 9.968427419662476e-01, 9.716596007347107e-01, 9.216904044151306e-01, 8.477233052253723e-01, 7.509247064590454e-01, 6.328212022781372e-01, 4.952753782272339e-01, 3.404563963413239e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01] +fanSpe2.opeMod=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +fanSpe2.u1FanPro=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe2.uHea=[7.5e-01, 7.5e-01] +fanSpe2.uCoo=[0e+00, 0e+00] +fanSpe2.y1Fan=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe2.yFan=[3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 3.499999940395355e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe3.opeMod=[1e+00, 1e+00] +fanSpe3.u1FanPro=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe3.uCoo=[0e+00, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226747e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.783803018297913e-15, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205143e-01, 4.817536771297451e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.432490491830917e-16, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880378e-01, 6.84547126293183e-01, 7.70513236522674e-01, 8.443279266357417e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.713416443853565e-14, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 1.286498098366183e-15] +fanSpe3.y1Fan=[1e+00, 1e+00] +fanSpe3.yFan=[1.000000014901161e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 3.404563963413239e-01, 4.952753782272339e-01, 6.328212022781373e-01, 7.509247064590454e-01, 8.477233052253723e-01, 9.216904044151306e-01, 9.716596007347107e-01, 9.968427419662476e-01, 9.968427419662476e-01, 9.716596007347106e-01, 9.216904044151306e-01, 8.477233052253723e-01, 7.509247064590454e-01, 6.328212022781372e-01, 4.952753782272339e-01, 3.404563963413239e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 3.404563963413239e-01, 4.952753782272339e-01, 6.328212022781372e-01, 7.509247064590454e-01, 8.477233052253723e-01, 9.216904044151306e-01, 9.716596007347107e-01, 9.968427419662476e-01, 9.968427419662476e-01, 9.716596007347107e-01, 9.216904044151306e-01, 8.477233052253723e-01, 7.509247064590454e-01, 6.328212022781372e-01, 4.952753782272339e-01, 3.404563963413239e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01] +fanSpe4.opeMod=[1e+00, 1e+00] +fanSpe4.u1FanPro=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe4.uHea=[0e+00, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226747e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.783803018297913e-15, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205143e-01, 4.817536771297451e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.432490491830917e-16, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880378e-01, 6.84547126293183e-01, 7.70513236522674e-01, 8.443279266357417e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 6.713416443853565e-14, 1.25333234667778e-01, 2.486898899078369e-01, 3.681245446205139e-01, 4.817536771297455e-01, 5.877852439880371e-01, 6.845471262931824e-01, 7.705132365226746e-01, 8.443279266357422e-01, 9.048270583152771e-01, 9.510565400123596e-01, 9.822872281074524e-01, 9.980267286300659e-01, 9.980267286300659e-01, 9.822872281074524e-01, 9.510565400123596e-01, 9.048270583152771e-01, 8.443279266357422e-01, 7.705132365226746e-01, 6.845471262931824e-01, 5.877852439880371e-01, 4.817536771297455e-01, 3.681245446205139e-01, 2.486898899078369e-01, 1.25333234667778e-01, 1.286498098366183e-15] +fanSpe4.y1Fan=[1e+00, 1e+00] +fanSpe4.yFan=[1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.877852529287338e-01, 2.845471203327179e-01, 3.705132305622101e-01, 4.443279206752777e-01, 5.04827082157135e-01, 5.510565042495728e-01, 5.822872519493103e-01, 5.980267524719238e-01, 5.980267524719238e-01, 5.822872519493103e-01, 5.510565042495728e-01, 5.04827082157135e-01, 4.443279206752777e-01, 3.705132305622101e-01, 2.845471203327179e-01, 1.877852529287338e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.877852529287338e-01, 2.845471203327179e-01, 3.705132305622101e-01, 4.443279206752777e-01, 5.04827082157135e-01, 5.510565042495728e-01, 5.822872519493103e-01, 5.980267524719238e-01, 5.980267524719238e-01, 5.822872519493103e-01, 5.510565042495728e-01, 5.04827082157135e-01, 4.443279206752777e-01, 3.705132305622101e-01, 2.845471203327179e-01, 1.877852529287338e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01] +fanSpe5.opeMod=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 4e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 5e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 6e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +fanSpe5.u1FanPro=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe5.y1Fan=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +fanSpe5.yFan=[1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_PlantRequests.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_PlantRequests.txt new file mode 100644 index 00000000000..96e07ebcec5 --- /dev/null +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_PlantRequests.txt @@ -0,0 +1,26 @@ +last-generated=2023-10-12 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "numerical Jacobians": "0" +} +time=[0e+00, 3.6e+03] +plaReq.TAirSup=[2.851499938964844e+02, 2.852300109863281e+02, 2.853099975585938e+02, 2.853900146484375e+02, 2.854700012207031e+02, 2.855499877929688e+02, 2.856300048828125e+02, 2.857099914550781e+02, 2.857900085449219e+02, 2.858699951171875e+02, 2.859500122070312e+02, 2.860299987792969e+02, 2.861099853515625e+02, 2.861900024414062e+02, 2.862699890136719e+02, 2.863500061035156e+02, 2.864299926757812e+02, 2.86510009765625e+02, 2.865899963378906e+02, 2.866700134277344e+02, 2.8675e+02, 2.868299865722656e+02, 2.869100036621094e+02, 2.86989990234375e+02, 2.870700073242188e+02, 2.871499938964844e+02, 2.872300109863281e+02, 2.873099975585938e+02, 2.873900146484375e+02, 2.874700012207031e+02, 2.875499877929688e+02, 2.876300048828125e+02, 2.877099914550781e+02, 2.877900085449219e+02, 2.878699951171875e+02, 2.879500122070312e+02, 2.880299987792969e+02, 2.881099853515625e+02, 2.881900024414062e+02, 2.882699890136719e+02, 2.883500061035156e+02, 2.884299926757812e+02, 2.88510009765625e+02, 2.885899963378906e+02, 2.886700134277344e+02, 2.8875e+02, 2.888299865722656e+02, 2.889100036621094e+02, 2.88989990234375e+02, 2.890700073242188e+02, 2.891499938964844e+02, 2.892300109863281e+02, 2.893099975585938e+02, 2.893900146484375e+02, 2.894700012207031e+02, 2.895499877929688e+02, 2.896300048828125e+02, 2.897099914550781e+02, 2.897900085449219e+02, 2.898699951171875e+02, 2.899500122070312e+02, 2.900299987792969e+02, 2.901099853515625e+02, 2.901900024414062e+02, 2.902699890136719e+02, 2.903500061035156e+02, 2.904299926757812e+02, 2.90510009765625e+02, 2.905899963378906e+02, 2.906700134277344e+02, 2.9075e+02, 2.908299865722656e+02, 2.909100036621094e+02, 2.90989990234375e+02, 2.910700073242188e+02, 2.911499938964844e+02, 2.912300109863281e+02, 2.913099975585938e+02, 2.913900146484375e+02, 2.914700012207031e+02, 2.915499877929688e+02, 2.916300048828125e+02, 2.917099914550781e+02, 2.917900085449219e+02, 2.918699951171875e+02, 2.919500122070312e+02, 2.920299987792969e+02, 2.921099853515625e+02, 2.921900024414062e+02, 2.922699890136719e+02, 2.923500061035156e+02, 2.924299926757812e+02, 2.92510009765625e+02, 2.925899963378906e+02, 2.926700134277344e+02, 2.9275e+02, 2.928299865722656e+02, 2.929100036621094e+02, 2.92989990234375e+02, 2.930700073242188e+02, 2.931499938964844e+02] +plaReq.TSupSet=[2.931499938964844e+02, 2.933999938964844e+02, 2.936499938964844e+02, 2.938999938964844e+02, 2.941499938964844e+02, 2.943999938964844e+02, 2.946499938964844e+02, 2.948999938964844e+02, 2.951499938964844e+02, 2.953999938964844e+02, 2.956499938964844e+02, 2.958999938964844e+02, 2.961499938964844e+02, 2.963999938964844e+02, 2.966499938964844e+02, 2.968999938964844e+02, 2.971499938964844e+02, 2.973999938964844e+02, 2.976499938964844e+02, 2.978999938964844e+02, 2.981499938964844e+02, 2.983999938964844e+02, 2.986499938964844e+02, 2.988999938964844e+02, 2.991499938964844e+02, 2.993999938964844e+02, 2.996499938964844e+02, 2.998999938964844e+02, 3.001499938964844e+02, 3.003999938964844e+02, 3.006499938964844e+02, 3.008999938964844e+02, 3.011499938964844e+02, 3.013999938964844e+02, 3.016499938964844e+02, 3.018999938964844e+02, 3.021499938964844e+02, 3.023999938964844e+02, 3.026499938964844e+02, 3.028999938964844e+02, 3.031499938964844e+02, 3.033999938964844e+02, 3.036499938964844e+02, 3.038999938964844e+02, 3.041499938964844e+02, 3.043999938964844e+02, 3.046499938964844e+02, 3.048999938964844e+02, 3.051499938964844e+02, 3.053999938964844e+02, 3.056499938964844e+02, 3.058999938964844e+02, 3.061499938964844e+02, 3.063999938964844e+02, 3.066499938964844e+02, 3.068999938964844e+02, 3.071499938964844e+02, 3.073999938964844e+02, 3.076499938964844e+02, 3.078999938964844e+02, 3.081499938964844e+02, 3.083999938964844e+02, 3.086499938964844e+02, 3.088999938964844e+02, 3.091499938964844e+02, 3.093999938964844e+02, 3.096499938964844e+02, 3.098999938964844e+02, 3.101499938964844e+02, 3.103999938964844e+02, 3.106499938964844e+02, 3.108999938964844e+02, 3.111499938964844e+02, 3.113999938964844e+02, 3.116499938964844e+02, 3.118999938964844e+02, 3.121499938964844e+02, 3.123999938964844e+02, 3.126499938964844e+02, 3.128999938964844e+02, 3.131499938964844e+02, 3.133999938964844e+02, 3.136499938964844e+02, 3.138999938964844e+02, 3.141499938964844e+02, 3.143999938964844e+02, 3.146499938964844e+02, 3.148999938964844e+02, 3.151499938964844e+02, 3.153999938964844e+02, 3.156499938964844e+02, 3.158999938964844e+02, 3.161499938964844e+02, 3.163999938964844e+02, 3.166499938964844e+02, 3.168999938964844e+02, 3.171499938964844e+02, 3.173999938964844e+02, 3.176499938964844e+02, 3.178999938964844e+02, 3.181499938964844e+02] +plaReq.uCooCoi_actual=[0e+00, 0e+00] +plaReq.uHeaCoi_actual=[9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.593333601951599e-01, 9.56333339214325e-01, 9.5333331823349e-01, 9.503333568572998e-01, 9.473333358764648e-01, 9.443333148956299e-01, 9.413333535194397e-01, 9.383333325386047e-01, 9.353333115577698e-01, 9.323333501815796e-01, 9.293333292007446e-01, 9.263333082199097e-01, 9.233333468437195e-01, 9.203333258628845e-01, 9.173333048820496e-01, 9.143333435058594e-01, 9.113333225250244e-01, 9.083333611488342e-01, 9.053333401679993e-01, 9.023333191871643e-01, 8.993333578109741e-01, 8.963333368301392e-01, 8.933333158493042e-01, 8.90333354473114e-01, 8.873333334922791e-01, 8.843333125114441e-01, 8.813333511352539e-01, 8.783333301544189e-01, 8.75333309173584e-01, 8.723333477973938e-01, 8.693333268165588e-01, 8.663333058357239e-01, 8.633333444595337e-01, 8.603333234786987e-01, 8.573333621025085e-01, 8.543333411216736e-01, 8.513333201408386e-01, 8.483333587646484e-01, 8.453333377838135e-01, 8.423333168029785e-01, 8.393333554267883e-01, 8.363333344459534e-01, 8.333333134651184e-01, 8.303333520889282e-01, 8.273333311080933e-01, 8.243333101272583e-01, 8.213333487510681e-01, 8.183333277702332e-01, 8.153333067893982e-01, 8.12333345413208e-01, 8.09333324432373e-01, 8.063333630561829e-01, 8.033333420753479e-01, 8.003333210945129e-01, 7.973333597183228e-01, 7.943333387374878e-01, 7.913333177566528e-01, 7.883333563804626e-01, 7.853333353996277e-01, 7.823333144187927e-01, 7.793333530426025e-01, 7.763333320617676e-01, 7.733333110809326e-01, 7.703333497047424e-01, 7.673333287239075e-01, 7.643333077430725e-01, 7.613333463668823e-01, 7.583333253860474e-01, 7.553333044052124e-01, 7.523333430290222e-01, 7.493333220481873e-01, 7.463333606719971e-01, 7.433333396911621e-01] +plaReq.yHotWatResReq=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +plaReq.yHotWatPlaReq=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +plaReq.uFan=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +plaReq1.TAirSup=[2.881499938964844e+02, 2.883099975585938e+02, 2.884700012207031e+02, 2.886300048828125e+02, 2.887900085449219e+02, 2.889500122070312e+02, 2.891099853515625e+02, 2.892699890136719e+02, 2.894299926757812e+02, 2.895899963378906e+02, 2.8975e+02, 2.899100036621094e+02, 2.900700073242188e+02, 2.902300109863281e+02, 2.903900146484375e+02, 2.905499877929688e+02, 2.907099914550781e+02, 2.908699951171875e+02, 2.910299987792969e+02, 2.911900024414062e+02, 2.913500061035156e+02, 2.91510009765625e+02, 2.916700134277344e+02, 2.918299865722656e+02, 2.91989990234375e+02, 2.921499938964844e+02, 2.923099975585938e+02, 2.924700012207031e+02, 2.926300048828125e+02, 2.927900085449219e+02, 2.929500122070312e+02, 2.931099853515625e+02, 2.932699890136719e+02, 2.934299926757812e+02, 2.935899963378906e+02, 2.9375e+02, 2.939100036621094e+02, 2.940700073242188e+02, 2.942300109863281e+02, 2.943900146484375e+02, 2.945499877929688e+02, 2.947099914550781e+02, 2.948699951171875e+02, 2.950299987792969e+02, 2.951900024414062e+02, 2.953500061035156e+02, 2.95510009765625e+02, 2.956700134277344e+02, 2.958299865722656e+02, 2.95989990234375e+02, 2.961499938964844e+02, 2.963099975585938e+02, 2.964700012207031e+02, 2.966300048828125e+02, 2.967900085449219e+02, 2.969500122070312e+02, 2.971099853515625e+02, 2.972699890136719e+02, 2.974299926757812e+02, 2.975899963378906e+02, 2.9775e+02, 2.979100036621094e+02, 2.980700073242188e+02, 2.982300109863281e+02, 2.983900146484375e+02, 2.985499877929688e+02, 2.987099914550781e+02, 2.988699951171875e+02, 2.990299987792969e+02, 2.991900024414062e+02, 2.993500061035156e+02, 2.99510009765625e+02, 2.996700134277344e+02, 2.998299865722656e+02, 2.99989990234375e+02, 3.001499938964844e+02, 3.003099975585938e+02, 3.004700012207031e+02, 3.006300048828125e+02, 3.007900085449219e+02, 3.009500122070312e+02, 3.011099853515625e+02, 3.012699890136719e+02, 3.014299926757812e+02, 3.015899963378906e+02, 3.0175e+02, 3.019100036621094e+02, 3.020700073242188e+02, 3.022300109863281e+02, 3.023900146484375e+02, 3.025499877929688e+02, 3.027099914550781e+02, 3.028699951171875e+02, 3.030299987792969e+02, 3.031900024414062e+02, 3.033500061035156e+02, 3.03510009765625e+02, 3.036700134277344e+02, 3.038299865722656e+02, 3.03989990234375e+02, 3.041499938964844e+02] +plaReq1.TSupSet=[2.876499938964844e+02, 2.877099914550781e+02, 2.877699890136719e+02, 2.878299865722656e+02, 2.878900146484375e+02, 2.879500122070312e+02, 2.88010009765625e+02, 2.880700073242188e+02, 2.881300048828125e+02, 2.881900024414062e+02, 2.8825e+02, 2.883099975585938e+02, 2.883699951171875e+02, 2.884299926757812e+02, 2.88489990234375e+02, 2.885499877929688e+02, 2.886099853515625e+02, 2.886700134277344e+02, 2.887300109863281e+02, 2.887900085449219e+02, 2.888500061035156e+02, 2.889100036621094e+02, 2.889700012207031e+02, 2.890299987792969e+02, 2.890899963378906e+02, 2.891499938964844e+02, 2.892099914550781e+02, 2.892699890136719e+02, 2.893299865722656e+02, 2.893900146484375e+02, 2.894500122070312e+02, 2.89510009765625e+02, 2.895700073242188e+02, 2.896300048828125e+02, 2.896900024414062e+02, 2.8975e+02, 2.898099975585938e+02, 2.898699951171875e+02, 2.899299926757812e+02, 2.89989990234375e+02, 2.900499877929688e+02, 2.901099853515625e+02, 2.901700134277344e+02, 2.902300109863281e+02, 2.902900085449219e+02, 2.903500061035156e+02, 2.904100036621094e+02, 2.904700012207031e+02, 2.905299987792969e+02, 2.905899963378906e+02, 2.906499938964844e+02, 2.907099914550781e+02, 2.907699890136719e+02, 2.908299865722656e+02, 2.908900146484375e+02, 2.909500122070312e+02, 2.91010009765625e+02, 2.910700073242188e+02, 2.911300048828125e+02, 2.911900024414062e+02, 2.9125e+02, 2.913099975585938e+02, 2.913699951171875e+02, 2.914299926757812e+02, 2.91489990234375e+02, 2.915499877929688e+02, 2.916099853515625e+02, 2.916700134277344e+02, 2.917300109863281e+02, 2.917900085449219e+02, 2.918500061035156e+02, 2.919100036621094e+02, 2.919700012207031e+02, 2.920299987792969e+02, 2.920899963378906e+02, 2.921499938964844e+02, 2.922099914550781e+02, 2.922699890136719e+02, 2.923299865722656e+02, 2.923900146484375e+02, 2.924500122070312e+02, 2.92510009765625e+02, 2.925700073242188e+02, 2.926300048828125e+02, 2.926900024414062e+02, 2.9275e+02, 2.928099975585938e+02, 2.928699951171875e+02, 2.929299926757812e+02, 2.92989990234375e+02, 2.930499877929688e+02, 2.931099853515625e+02, 2.931700134277344e+02, 2.932300109863281e+02, 2.932900085449219e+02, 2.933500061035156e+02, 2.934100036621094e+02, 2.934700012207031e+02, 2.935299987792969e+02, 2.935899963378906e+02, 2.936499938964844e+02] +plaReq1.uCooCoi_actual=[9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.593333601951599e-01, 9.56333339214325e-01, 9.5333331823349e-01, 9.503333568572998e-01, 9.473333358764648e-01, 9.443333148956299e-01, 9.413333535194397e-01, 9.383333325386047e-01, 9.353333115577698e-01, 9.323333501815796e-01, 9.293333292007446e-01, 9.263333082199097e-01, 9.233333468437195e-01, 9.203333258628845e-01, 9.173333048820496e-01, 9.143333435058594e-01, 9.113333225250244e-01, 9.083333611488342e-01, 9.053333401679993e-01, 9.023333191871643e-01, 8.993333578109741e-01, 8.963333368301392e-01, 8.933333158493042e-01, 8.90333354473114e-01, 8.873333334922791e-01, 8.843333125114441e-01, 8.813333511352539e-01, 8.783333301544189e-01, 8.75333309173584e-01, 8.723333477973938e-01, 8.693333268165588e-01, 8.663333058357239e-01, 8.633333444595337e-01, 8.603333234786987e-01, 8.573333621025085e-01, 8.543333411216736e-01, 8.513333201408386e-01, 8.483333587646484e-01, 8.453333377838135e-01, 8.423333168029785e-01, 8.393333554267883e-01, 8.363333344459534e-01, 8.333333134651184e-01, 8.303333520889282e-01, 8.273333311080933e-01, 8.243333101272583e-01, 8.213333487510681e-01, 8.183333277702332e-01, 8.153333067893982e-01, 8.12333345413208e-01, 8.09333324432373e-01, 8.063333630561829e-01, 8.033333420753479e-01, 8.003333210945129e-01, 7.973333597183228e-01, 7.943333387374878e-01, 7.913333177566528e-01, 7.883333563804626e-01, 7.853333353996277e-01, 7.823333144187927e-01, 7.793333530426025e-01, 7.763333320617676e-01, 7.733333110809326e-01, 7.703333497047424e-01, 7.673333287239075e-01, 7.643333077430725e-01, 7.613333463668823e-01, 7.583333253860474e-01, 7.553333044052124e-01, 7.523333430290222e-01, 7.493333220481873e-01, 7.463333606719971e-01, 7.433333396911621e-01] +plaReq1.yChiWatResReq=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 2e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +plaReq1.yChiPlaReq=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +plaReq2.TAirSup=[2.881499938964844e+02, 2.882300109863281e+02, 2.883099975585938e+02, 2.883900146484375e+02, 2.884700012207031e+02, 2.885499877929688e+02, 2.886300048828125e+02, 2.887099914550781e+02, 2.887900085449219e+02, 2.888699951171875e+02, 2.889500122070312e+02, 2.890299987792969e+02, 2.891099853515625e+02, 2.891900024414062e+02, 2.892699890136719e+02, 2.893500061035156e+02, 2.894299926757812e+02, 2.89510009765625e+02, 2.895899963378906e+02, 2.896700134277344e+02, 2.8975e+02, 2.898299865722656e+02, 2.899100036621094e+02, 2.89989990234375e+02, 2.900700073242188e+02, 2.901499938964844e+02, 2.902300109863281e+02, 2.903099975585938e+02, 2.903900146484375e+02, 2.904700012207031e+02, 2.905499877929688e+02, 2.906300048828125e+02, 2.907099914550781e+02, 2.907900085449219e+02, 2.908699951171875e+02, 2.909500122070312e+02, 2.910299987792969e+02, 2.911099853515625e+02, 2.911900024414062e+02, 2.912699890136719e+02, 2.913500061035156e+02, 2.914299926757812e+02, 2.91510009765625e+02, 2.915899963378906e+02, 2.916700134277344e+02, 2.9175e+02, 2.918299865722656e+02, 2.919100036621094e+02, 2.91989990234375e+02, 2.920700073242188e+02, 2.921499938964844e+02, 2.922300109863281e+02, 2.923099975585938e+02, 2.923900146484375e+02, 2.924700012207031e+02, 2.925499877929688e+02, 2.926300048828125e+02, 2.927099914550781e+02, 2.927900085449219e+02, 2.928699951171875e+02, 2.929500122070312e+02, 2.930299987792969e+02, 2.931099853515625e+02, 2.931900024414062e+02, 2.932699890136719e+02, 2.933500061035156e+02, 2.934299926757812e+02, 2.93510009765625e+02, 2.935899963378906e+02, 2.936700134277344e+02, 2.9375e+02, 2.938299865722656e+02, 2.939100036621094e+02, 2.93989990234375e+02, 2.940700073242188e+02, 2.941499938964844e+02, 2.942300109863281e+02, 2.943099975585938e+02, 2.943900146484375e+02, 2.944700012207031e+02, 2.945499877929688e+02, 2.946300048828125e+02, 2.947099914550781e+02, 2.947900085449219e+02, 2.948699951171875e+02, 2.949500122070312e+02, 2.950299987792969e+02, 2.951099853515625e+02, 2.951900024414062e+02, 2.952699890136719e+02, 2.953500061035156e+02, 2.954299926757812e+02, 2.95510009765625e+02, 2.955899963378906e+02, 2.956700134277344e+02, 2.9575e+02, 2.958299865722656e+02, 2.959100036621094e+02, 2.95989990234375e+02, 2.960700073242188e+02, 2.961499938964844e+02] +plaReq2.TSupSet=[2.876499938964844e+02, 2.877099914550781e+02, 2.877699890136719e+02, 2.878299865722656e+02, 2.878900146484375e+02, 2.879500122070312e+02, 2.88010009765625e+02, 2.880700073242188e+02, 2.881300048828125e+02, 2.881900024414062e+02, 2.8825e+02, 2.883099975585938e+02, 2.883699951171875e+02, 2.884299926757812e+02, 2.88489990234375e+02, 2.885499877929688e+02, 2.886099853515625e+02, 2.886700134277344e+02, 2.887300109863281e+02, 2.887900085449219e+02, 2.888500061035156e+02, 2.889100036621094e+02, 2.889700012207031e+02, 2.890299987792969e+02, 2.890899963378906e+02, 2.891499938964844e+02, 2.892099914550781e+02, 2.892699890136719e+02, 2.893299865722656e+02, 2.893900146484375e+02, 2.894500122070312e+02, 2.89510009765625e+02, 2.895700073242188e+02, 2.896300048828125e+02, 2.896900024414062e+02, 2.8975e+02, 2.898099975585938e+02, 2.898699951171875e+02, 2.899299926757812e+02, 2.89989990234375e+02, 2.900499877929688e+02, 2.901099853515625e+02, 2.901700134277344e+02, 2.902300109863281e+02, 2.902900085449219e+02, 2.903500061035156e+02, 2.904100036621094e+02, 2.904700012207031e+02, 2.905299987792969e+02, 2.905899963378906e+02, 2.906499938964844e+02, 2.907099914550781e+02, 2.907699890136719e+02, 2.908299865722656e+02, 2.908900146484375e+02, 2.909500122070312e+02, 2.91010009765625e+02, 2.910700073242188e+02, 2.911300048828125e+02, 2.911900024414062e+02, 2.9125e+02, 2.913099975585938e+02, 2.913699951171875e+02, 2.914299926757812e+02, 2.91489990234375e+02, 2.915499877929688e+02, 2.916099853515625e+02, 2.916700134277344e+02, 2.917300109863281e+02, 2.917900085449219e+02, 2.918500061035156e+02, 2.919100036621094e+02, 2.919700012207031e+02, 2.920299987792969e+02, 2.920899963378906e+02, 2.921499938964844e+02, 2.922099914550781e+02, 2.922699890136719e+02, 2.923299865722656e+02, 2.923900146484375e+02, 2.924500122070312e+02, 2.92510009765625e+02, 2.925700073242188e+02, 2.926300048828125e+02, 2.926900024414062e+02, 2.9275e+02, 2.928099975585938e+02, 2.928699951171875e+02, 2.929299926757812e+02, 2.92989990234375e+02, 2.930499877929688e+02, 2.931099853515625e+02, 2.931700134277344e+02, 2.932300109863281e+02, 2.932900085449219e+02, 2.933500061035156e+02, 2.934100036621094e+02, 2.934700012207031e+02, 2.935299987792969e+02, 2.935899963378906e+02, 2.936499938964844e+02] +plaReq2.uHeaCoi_actual=[9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.599999785423279e-01, 9.593333601951599e-01, 9.56333339214325e-01, 9.5333331823349e-01, 9.503333568572998e-01, 9.473333358764648e-01, 9.443333148956299e-01, 9.413333535194397e-01, 9.383333325386047e-01, 9.353333115577698e-01, 9.323333501815796e-01, 9.293333292007446e-01, 9.263333082199097e-01, 9.233333468437195e-01, 9.203333258628845e-01, 9.173333048820496e-01, 9.143333435058594e-01, 9.113333225250244e-01, 9.083333611488342e-01, 9.053333401679993e-01, 9.023333191871643e-01, 8.993333578109741e-01, 8.963333368301392e-01, 8.933333158493042e-01, 8.90333354473114e-01, 8.873333334922791e-01, 8.843333125114441e-01, 8.813333511352539e-01, 8.783333301544189e-01, 8.75333309173584e-01, 8.723333477973938e-01, 8.693333268165588e-01, 8.663333058357239e-01, 8.633333444595337e-01, 8.603333234786987e-01, 8.573333621025085e-01, 8.543333411216736e-01, 8.513333201408386e-01, 8.483333587646484e-01, 8.453333377838135e-01, 8.423333168029785e-01, 8.393333554267883e-01, 8.363333344459534e-01, 8.333333134651184e-01, 8.303333520889282e-01, 8.273333311080933e-01, 8.243333101272583e-01, 8.213333487510681e-01, 8.183333277702332e-01, 8.153333067893982e-01, 8.12333345413208e-01, 8.09333324432373e-01, 8.063333630561829e-01, 8.033333420753479e-01, 8.003333210945129e-01, 7.973333597183228e-01, 7.943333387374878e-01, 7.913333177566528e-01, 7.883333563804626e-01, 7.853333353996277e-01, 7.823333144187927e-01, 7.793333530426025e-01, 7.763333320617676e-01, 7.733333110809326e-01, 7.703333497047424e-01, 7.673333287239075e-01, 7.643333077430725e-01, 7.613333463668823e-01, 7.583333253860474e-01, 7.553333044052124e-01, 7.523333430290222e-01, 7.493333220481873e-01, 7.463333606719971e-01, 7.433333396911621e-01] +plaReq2.yHotWatResReq=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +plaReq2.yHotWatPlaReq=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +plaReq2.uFan=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_SupplyAirTemperature.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_SupplyAirTemperature.txt new file mode 100644 index 00000000000..4716f9163bb --- /dev/null +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Subsequences_Validation_SupplyAirTemperature.txt @@ -0,0 +1,35 @@ +last-generated=2022-11-30 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "8", + "numerical Jacobians": "0" +} +time=[0e+00, 1e+02] +TSupAir.uHea=[2.5e-01, 2.5e-01] +TSupAir.uCoo=[0e+00, 0e+00] +TSupAir.TZonHeaSet=[2.941499938964844e+02, 2.941499938964844e+02] +TSupAir.TZonCooSet=[2.981499938964844e+02, 2.981499938964844e+02] +TSupAir.TSupSet=[2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02, 2.990388793945312e+02] +TSupAir.TAirSup=[2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02] +TSupAir.yHeaCoi=[1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.575804114341736e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 5.575790405273438e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +TSupAir.yCooCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +TSupAir1.uHea=[0e+00, 0e+00] +TSupAir1.uCoo=[2.5e-01, 2.5e-01] +TSupAir1.TZonHeaSet=[2.941499938964844e+02, 2.941499938964844e+02] +TSupAir1.TZonCooSet=[2.981499938964844e+02, 2.981499938964844e+02] +TSupAir1.TSupSet=[2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02, 2.92727783203125e+02] +TSupAir1.TAirSup=[2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02] +TSupAir1.yHeaCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +TSupAir1.yCooCoi=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00] +TSupAir2.uHea=[5e-01, 5.313952565193176e-01, 5.626665949821472e-01, 5.936906337738037e-01, 6.243449449539185e-01, 6.545084714889526e-01, 6.840623021125793e-01, 7.128896713256836e-01, 7.408768534660339e-01, 7.679134011268616e-01, 7.938926219940186e-01, 8.187119960784912e-01, 8.422735333442688e-01, 8.644843101501465e-01, 8.852566480636597e-01, 9.045084714889526e-01, 9.221639633178711e-01, 9.381533265113831e-01, 9.524134993553162e-01, 9.648882150650024e-01, 9.755282402038574e-01, 9.842915534973145e-01, 9.911436438560486e-01, 9.960573315620422e-01, 9.99013364315033e-01, 1e+00, 9.99013364315033e-01, 9.960573315620422e-01, 9.911436438560486e-01, 9.842915534973145e-01, 9.755282402038574e-01, 9.648882150650024e-01, 9.524134993553162e-01, 9.381533265113831e-01, 9.221639633178711e-01, 9.045084714889526e-01, 8.852566480636597e-01, 8.644843101501465e-01, 8.422735333442688e-01, 8.187119960784912e-01, 7.938926219940186e-01, 7.679134011268616e-01, 7.408768534660339e-01, 7.128896713256836e-01, 6.840623021125793e-01, 6.545084714889526e-01, 6.243449449539185e-01, 5.936906337738037e-01, 5.626665949821472e-01, 5.313952565193176e-01, 5e-01, 4.686047434806824e-01, 4.373333752155304e-01, 4.063093364238739e-01, 3.756550550460815e-01, 3.454914987087248e-01, 3.159377276897428e-01, 2.87110358476639e-01, 2.591231763362887e-01, 2.320865988731384e-01, 2.061073780059814e-01, 1.812880039215088e-01, 1.5772645175457e-01, 1.355156898498535e-01, 1.147433817386627e-01, 9.549150615930557e-02, 7.783603668212891e-02, 6.184665858745575e-02, 4.758647456765175e-02, 3.511175885796547e-02, 2.447174116969109e-02, 1.570841856300831e-02, 8.856374770402908e-03, 3.942649345844984e-03, 9.866358013823628e-04, 0e+00, 9.866358013823628e-04, 3.942649345844984e-03, 8.856374770402908e-03, 1.570841856300831e-02, 2.447174116969109e-02, 3.511175885796547e-02, 4.758647456765175e-02, 6.184665858745575e-02, 7.783603668212891e-02, 9.549150615930557e-02, 1.147433817386627e-01, 1.355156898498535e-01, 1.5772645175457e-01, 1.812880039215088e-01, 2.061073780059814e-01, 2.320865988731384e-01, 2.591231763362885e-01, 2.871103584766388e-01, 3.15937727689743e-01, 3.45491498708725e-01, 3.756550550460815e-01, 4.063093364238739e-01, 4.373333752155304e-01, 4.686047434806824e-01, 5e-01] +TSupAir2.TZonHeaSet=[2.941499938964844e+02, 2.941499938964844e+02] +TSupAir2.TSupSet=[3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.051499938964844e+02, 3.04382568359375e+02, 3.036181640625e+02, 3.028597717285156e+02, 3.021104431152344e+02, 3.013731384277344e+02, 3.006506958007812e+02, 2.99946044921875e+02, 2.992619018554688e+02, 2.986010131835938e+02, 2.979659729003906e+02, 2.973592529296875e+02, 2.967833251953125e+02, 2.962403869628906e+02, 2.957326049804688e+02, 2.952620239257812e+02, 2.948304443359375e+02, 2.944395751953125e+02, 2.941499938964844e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.944395751953125e+02, 2.948304443359375e+02, 2.952620239257812e+02, 2.957326049804688e+02, 2.962403869628906e+02, 2.967833251953125e+02, 2.973592529296875e+02, 2.979659729003906e+02, 2.986010131835938e+02, 2.992619018554688e+02, 2.99946044921875e+02, 3.006506958007812e+02, 3.013731384277344e+02, 3.021104431152344e+02, 3.028597717285156e+02, 3.036181640625e+02, 3.04382568359375e+02, 3.051499938964844e+02] +TSupAir2.TAirSup=[2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02] +TSupAir2.yHeaCoi=[1e+00, 1e+00, 1e+00, 1e+00, 7.353613525629044e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 5.966367945075035e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00] +TSupAir3.uCoo=[5e-01, 5.313952565193176e-01, 5.626665949821472e-01, 5.936906337738037e-01, 6.243449449539185e-01, 6.545084714889526e-01, 6.840623021125793e-01, 7.128896713256836e-01, 7.408768534660339e-01, 7.679134011268616e-01, 7.938926219940186e-01, 8.187119960784912e-01, 8.422735333442688e-01, 8.644843101501465e-01, 8.852566480636597e-01, 9.045084714889526e-01, 9.221639633178711e-01, 9.381533265113831e-01, 9.524134993553162e-01, 9.648882150650024e-01, 9.755282402038574e-01, 9.842915534973145e-01, 9.911436438560486e-01, 9.960573315620422e-01, 9.99013364315033e-01, 1e+00, 9.99013364315033e-01, 9.960573315620422e-01, 9.911436438560486e-01, 9.842915534973145e-01, 9.755282402038574e-01, 9.648882150650024e-01, 9.524134993553162e-01, 9.381533265113831e-01, 9.221639633178711e-01, 9.045084714889526e-01, 8.852566480636597e-01, 8.644843101501465e-01, 8.422735333442688e-01, 8.187119960784912e-01, 7.938926219940186e-01, 7.679134011268616e-01, 7.408768534660339e-01, 7.128896713256836e-01, 6.840623021125793e-01, 6.545084714889526e-01, 6.243449449539185e-01, 5.936906337738037e-01, 5.626665949821472e-01, 5.313952565193176e-01, 5e-01, 4.686047434806824e-01, 4.373333752155304e-01, 4.063093364238739e-01, 3.756550550460815e-01, 3.454914987087248e-01, 3.159377276897428e-01, 2.87110358476639e-01, 2.591231763362887e-01, 2.320865988731384e-01, 2.061073780059814e-01, 1.812880039215088e-01, 1.5772645175457e-01, 1.355156898498535e-01, 1.147433817386627e-01, 9.549150615930557e-02, 7.783603668212891e-02, 6.184665858745575e-02, 4.758647456765175e-02, 3.511175885796547e-02, 2.447174116969109e-02, 1.570841856300831e-02, 8.856374770402908e-03, 3.942649345844984e-03, 9.866358013823628e-04, 0e+00, 9.866358013823628e-04, 3.942649345844984e-03, 8.856374770402908e-03, 1.570841856300831e-02, 2.447174116969109e-02, 3.511175885796547e-02, 4.758647456765175e-02, 6.184665858745575e-02, 7.783603668212891e-02, 9.549150615930557e-02, 1.147433817386627e-01, 1.355156898498535e-01, 1.5772645175457e-01, 1.812880039215088e-01, 2.061073780059814e-01, 2.320865988731384e-01, 2.591231763362885e-01, 2.871103584766388e-01, 3.15937727689743e-01, 3.45491498708725e-01, 3.756550550460815e-01, 4.063093364238739e-01, 4.373333752155304e-01, 4.686047434806824e-01, 5e-01] +TSupAir3.TZonCooSet=[2.981499938964844e+02, 2.981499938964844e+02] +TSupAir3.TSupSet=[2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.859500122070312e+02, 2.868011474609375e+02, 2.876489562988281e+02, 2.884900512695312e+02, 2.893211364746094e+02, 2.901388854980469e+02, 2.909401245117188e+02, 2.917216796875e+02, 2.924804382324219e+02, 2.932134399414062e+02, 2.939177551269531e+02, 2.945906372070312e+02, 2.952294311523438e+02, 2.958315734863281e+02, 2.963947448730469e+02, 2.969166870117188e+02, 2.973953247070312e+02, 2.978288269042969e+02, 2.981499938964844e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.978288269042969e+02, 2.973953247070312e+02, 2.969166870117188e+02, 2.963947448730469e+02, 2.958315734863281e+02, 2.952294311523438e+02, 2.945906372070312e+02, 2.939177551269531e+02, 2.932134399414062e+02, 2.924804382324219e+02, 2.917216796875e+02, 2.909401245117188e+02, 2.901388854980469e+02, 2.893211364746094e+02, 2.884900512695312e+02, 2.876489562988281e+02, 2.868011474609375e+02, 2.859500122070312e+02] +TSupAir3.TAirSup=[2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02, 2.986566772460938e+02, 3.011238098144531e+02, 3.035124816894531e+02, 3.057850646972656e+02, 3.079057006835938e+02, 3.098409423828125e+02, 3.115602722167969e+02, 3.130365600585938e+02, 3.142465515136719e+02, 3.15171142578125e+02, 3.157957458496094e+02, 3.161105346679688e+02, 3.161105346679688e+02, 3.157957458496094e+02, 3.15171142578125e+02, 3.142465515136719e+02, 3.130365600585938e+02, 3.115602722167969e+02, 3.098409423828125e+02, 3.079057006835938e+02, 3.057850646972656e+02, 3.035124816894531e+02, 3.011238098144531e+02, 2.986566772460938e+02, 2.961499938964844e+02, 2.936433410644531e+02, 2.911762084960938e+02, 2.887875061035156e+02, 2.865149230957031e+02, 2.84394287109375e+02, 2.824590454101562e+02, 2.8073974609375e+02, 2.79263427734375e+02, 2.78053466796875e+02, 2.771288757324219e+02, 2.765042419433594e+02, 2.76189453125e+02, 2.76189453125e+02, 2.765042419433594e+02, 2.771288757324219e+02, 2.78053466796875e+02, 2.79263427734375e+02, 2.8073974609375e+02, 2.824590454101562e+02, 2.84394287109375e+02, 2.865149230957031e+02, 2.887875061035156e+02, 2.911762084960938e+02, 2.936433410644531e+02, 2.961499938964844e+02] +TSupAir3.yCooCoi=[1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 8.094452619552612e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 4.722124040126801e-01, 1e+00, 1e+00, 1e+00] diff --git a/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Validation_Controller.txt b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Validation_Controller.txt new file mode 100644 index 00000000000..b573b4ff3b4 --- /dev/null +++ b/Buildings/Resources/ReferenceResults/Dymola/Buildings_Controls_OBC_ASHRAE_FanCoilUnit_Validation_Controller.txt @@ -0,0 +1,69 @@ +last-generated=2023-10-12 +statistics-simulation= +{ + "linear": " ", + "nonlinear": " ", + "number of continuous time states": "8", + "numerical Jacobians": "0" +} +time=[0e+00, 8.64e+04] +conFCU.u1Occ=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.TZon=[2.891499938964844e+02, 2.892099963378906e+02, 2.892699987792969e+02, 2.893300012207031e+02, 2.893900036621094e+02, 2.894500061035156e+02, 2.895100085449219e+02, 2.895700109863281e+02, 2.896300134277344e+02, 2.896900134277344e+02, 2.897500122070313e+02, 2.898100109863281e+02, 2.89870009765625e+02, 2.899300085449219e+02, 2.899900073242188e+02, 2.900500061035156e+02, 2.901100048828125e+02, 2.901700069998428e+02, 2.902300024414063e+02, 2.902900012207031e+02, 2.9035e+02, 2.904099987792969e+02, 2.904699975585938e+02, 2.905299963378906e+02, 2.90589995503943e+02, 2.906499938964844e+02, 2.907099963378906e+02, 2.907699987792969e+02, 2.908300012207031e+02, 2.908900036621094e+02, 2.909500061035156e+02, 2.910100085449219e+02, 2.910700109863281e+02, 2.911300134277344e+02, 2.911900134277344e+02, 2.912500122070313e+02, 2.913100109863281e+02, 2.91370009765625e+02, 2.914300085449219e+02, 2.914900073242188e+02, 2.915500061035156e+02, 2.916100048828125e+02, 2.916700036621094e+02, 2.917300024414063e+02, 2.917900012207031e+02, 2.9185e+02, 2.919099987792969e+02, 2.919699975585938e+02, 2.920299963378906e+02, 2.920899951171875e+02, 2.921499938964844e+02, 2.922099963378906e+02, 2.922699987792969e+02, 2.923300012207031e+02, 2.923900036621094e+02, 2.924500061035156e+02, 2.925100094962062e+02, 2.925700109863281e+02, 2.926300134277344e+02, 2.926900134277344e+02, 2.927500122070313e+02, 2.928100109863281e+02, 2.92870009765625e+02, 2.929300085449219e+02, 2.929899926809951e+02, 2.930500061035156e+02, 2.931099853515625e+02, 2.931700036621094e+02, 2.932300024414063e+02, 2.932900012207031e+02, 2.933500061035156e+02, 2.934099987792969e+02, 2.934699975585938e+02, 2.935299963378906e+02, 2.935899951171875e+02, 2.936499938964844e+02, 2.937099963378906e+02, 2.937699987792969e+02, 2.938300012207031e+02, 2.938900036621094e+02, 2.939500061035156e+02, 2.940100085449219e+02, 2.940700109863281e+02, 2.941300134277344e+02, 2.941900134277344e+02, 2.942500122070313e+02, 2.943100109863281e+02, 2.94370009765625e+02, 2.944300085449219e+02, 2.944900073242188e+02, 2.945500061035156e+02, 2.946100048828125e+02, 2.946700036621094e+02, 2.947300024414063e+02, 2.947900012207031e+02, 2.9485e+02, 2.949099987792969e+02, 2.949699975585938e+02, 2.950299963378906e+02, 2.950899951171875e+02, 2.951499938964844e+02] +conFCU.TZonHeaSet=[2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02] +conFCU.TZonCooSet=[3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02] +conFCU.heaPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.399999976158142e-01, 8.799999952316284e-01, 8.199999928474426e-01, 7.599999904632568e-01, 6.999999880790705e-01, 6.39999973598447e-01, 5.799999833107e-01, 5.199999809265137e-01, 4.600000083446503e-01, 4.000000059604645e-01, 3.400000035762787e-01, 2.800000011920929e-01, 2.200000005960464e-01, 1.599999697327268e-01, 9.999999850988388e-02, 3.999999910593033e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.cooPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.modSetPoi.yOpeMod=[7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +conFCU.y1Fan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.yFan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 6.000000238418579e-01, 5.520000100135803e-01, 5.039999961853028e-01, 4.559999930858612e-01, 4.079999983310699e-01, 3.600000023841854e-01, 3.119999737066521e-01, 2.640000116825108e-01, 2.160000020265579e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.TSup=[2.956499938964844e+02, 2.956700024414063e+02, 2.956900109863281e+02, 2.9571e+02, 2.957299975585938e+02, 2.957500061035156e+02, 2.957700061035156e+02, 2.957899926757813e+02, 2.958100012207031e+02, 2.95830009765625e+02, 2.958499938964844e+02, 2.958699963378906e+02, 2.958900048828125e+02, 2.9591e+02, 2.959299914550782e+02, 2.9595e+02, 2.959700061035156e+02, 2.959899913482249e+02, 2.9601e+02, 2.960300036621094e+02, 2.960499938964844e+02, 2.960700061035157e+02, 2.960899987792969e+02, 2.9611e+02, 2.96130013521529e+02, 2.961499938964844e+02, 2.961700024414063e+02, 2.961900109863281e+02, 2.9621e+02, 2.962299975585938e+02, 2.962500061035156e+02, 2.962700061035156e+02, 2.962899926757813e+02, 2.963100012207031e+02, 2.96330009765625e+02, 2.963499938964844e+02, 2.963699963378906e+02, 2.963900048828125e+02, 2.9641e+02, 2.964299914550782e+02, 2.9645e+02, 2.964700061035156e+02, 2.964899877929687e+02, 2.9651e+02, 2.965300036621094e+02, 2.965499938964844e+02, 2.965700061035157e+02, 2.965899987792969e+02, 2.9661e+02, 2.966300122070313e+02, 2.966499938964844e+02, 2.966700024414063e+02, 2.966900109863281e+02, 2.9671e+02, 2.967299975585938e+02, 2.967500061035156e+02, 2.967700092689177e+02, 2.967899926757813e+02, 2.968100012207031e+02, 2.96830009765625e+02, 2.968499938964844e+02, 2.968699963378906e+02, 2.968900048828125e+02, 2.9691e+02, 2.96930002185088e+02, 2.9695e+02, 2.969700012207031e+02, 2.969899877929687e+02, 2.9701e+02, 2.970300036621094e+02, 2.970499877929688e+02, 2.970700061035157e+02, 2.970899987792969e+02, 2.9711e+02, 2.971300122070313e+02, 2.971499938964844e+02, 2.971700024414063e+02, 2.971900109863281e+02, 2.9721e+02, 2.972299975585938e+02, 2.972500061035156e+02, 2.972700061035156e+02, 2.972899926757813e+02, 2.973100012207031e+02, 2.97330009765625e+02, 2.973499938964844e+02, 2.973699963378906e+02, 2.973900048828125e+02, 2.9741e+02, 2.974299914550782e+02, 2.9745e+02, 2.974700061035156e+02, 2.974899877929687e+02, 2.9751e+02, 2.975300036621094e+02, 2.975499938964844e+02, 2.975700061035157e+02, 2.975899987792969e+02, 2.9761e+02, 2.976300122070313e+02, 2.976499938964844e+02] +conFCU.TSupSet=[2.956499938964844e+02, 2.956700024414063e+02, 2.956900109863281e+02, 2.9571e+02, 2.957299975585938e+02, 2.957500061035156e+02, 2.957700061035156e+02, 2.957899926757813e+02, 2.958100012207031e+02, 2.95830009765625e+02, 2.958499938964844e+02, 2.958699963378906e+02, 2.958900048828125e+02, 2.9591e+02, 2.959299914550782e+02, 2.9595e+02, 2.959700061035156e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.967944470214844e+02, 2.962611022949219e+02, 2.957277758789062e+02, 2.951944555664062e+02, 2.946611047363281e+02, 2.941277820887368e+02, 2.9359443359375e+02, 2.931499938964844e+02, 2.969899877929687e+02, 2.9701e+02, 2.970300036621094e+02, 2.970499877929688e+02, 2.970700061035157e+02, 2.970899987792969e+02, 2.9711e+02, 2.971300122070313e+02, 2.971499938964844e+02, 2.971700024414063e+02, 2.971900109863281e+02, 2.9721e+02, 2.972299975585938e+02, 2.972500061035156e+02, 2.972700061035156e+02, 2.972899926757813e+02, 2.973100012207031e+02, 2.97330009765625e+02, 2.973499938964844e+02, 2.973699963378906e+02, 2.973900048828125e+02, 2.9741e+02, 2.974299914550782e+02, 2.9745e+02, 2.974700061035156e+02, 2.974899877929687e+02, 2.9751e+02, 2.975300036621094e+02, 2.975499938964844e+02, 2.975700061035157e+02, 2.975899987792969e+02, 2.9761e+02, 2.976300122070313e+02, 2.976499938964844e+02] +conFCU.yHeaCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.532262500758376e-01, 2.616110980510712e-01, 3.680833077430725e-01, 4.72638875246048e-01, 5.752777743339539e-01, 6.759999990463257e-01, 7.748055458068848e-01, 8.716948207715109e-01, 9.666590690612793e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.926867604255676e-01, 9.078804016113281e-01, 7.692610788345337e-01, 5.776219654083252e-01, 3.329552960395813e-01, 4.182265717710871e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.uHeaCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1.532262500758376e-01, 2.616110980510712e-01, 3.680833077430725e-01, 4.72638875246048e-01, 5.752777743339539e-01, 6.759999990463257e-01, 7.748055458068848e-01, 8.716948207715109e-01, 9.666590690612793e-01, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.926867604255676e-01, 9.078804016113281e-01, 7.692610788345337e-01, 5.776219654083252e-01, 3.329552960395813e-01, 4.182265717710871e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.yHotWatPlaReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU.yHotWatResReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.u1Occ=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.TZon=[2.991499938964844e+02, 2.991199963378906e+02, 2.990899987792969e+02, 2.990600012207031e+02, 2.990300036621094e+02, 2.990000061035156e+02, 2.989700085449219e+02, 2.989400109863281e+02, 2.989100134277344e+02, 2.988800134277344e+02, 2.988500122070312e+02, 2.988200109863281e+02, 2.98790009765625e+02, 2.987600085449219e+02, 2.987300073242188e+02, 2.987000061035156e+02, 2.986700048828125e+02, 2.986400074883148e+02, 2.986100024414063e+02, 2.985800012207031e+02, 2.9855e+02, 2.985199987792969e+02, 2.984899975585938e+02, 2.984599963378906e+02, 2.984299930927551e+02, 2.983999938964844e+02, 2.983699963378906e+02, 2.983399987792969e+02, 2.983100012207031e+02, 2.982800036621094e+02, 2.982500061035156e+02, 2.982200085449219e+02, 2.981900109863281e+02, 2.981600134277344e+02, 2.981300134277344e+02, 2.981000122070312e+02, 2.980700109863281e+02, 2.98040009765625e+02, 2.980100085449219e+02, 2.979800073242188e+02, 2.979500061035156e+02, 2.979200048828125e+02, 2.978900036621094e+02, 2.978600024414063e+02, 2.978300012207031e+02, 2.978e+02, 2.977699987792969e+02, 2.977399975585938e+02, 2.977099963378906e+02, 2.976799951171875e+02, 2.976499938964844e+02, 2.976199963378906e+02, 2.975899987792969e+02, 2.975600012207031e+02, 2.975300036621094e+02, 2.975000061035156e+02, 2.974700078625679e+02, 2.974400109863281e+02, 2.974100134277344e+02, 2.973800134277344e+02, 2.973500122070312e+02, 2.973200109863281e+02, 2.97290009765625e+02, 2.972600085449219e+02, 2.972299989405071e+02, 2.972000061035156e+02, 2.971700134277344e+02, 2.971400036621094e+02, 2.971100024414063e+02, 2.970800012207031e+02, 2.970499877929688e+02, 2.970199987792969e+02, 2.969899975585938e+02, 2.969599963378906e+02, 2.969299951171875e+02, 2.968999938964844e+02, 2.968699963378906e+02, 2.968399987792969e+02, 2.968100012207031e+02, 2.967800036621094e+02, 2.967500061035156e+02, 2.967200085449219e+02, 2.966900109863281e+02, 2.966600134277344e+02, 2.966300134277344e+02, 2.966000122070312e+02, 2.965700109863281e+02, 2.96540009765625e+02, 2.965100085449219e+02, 2.964800073242188e+02, 2.964500061035156e+02, 2.964200048828125e+02, 2.963900036621094e+02, 2.963600024414063e+02, 2.963300012207031e+02, 2.963e+02, 2.962699987792969e+02, 2.962399975585938e+02, 2.962099963378906e+02, 2.961799951171875e+02, 2.961499938964844e+02] +conFCU1.TZonHeaSet=[2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02] +conFCU1.TZonCooSet=[3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02] +conFCU1.heaPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.cooPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.800000166893004e-01, 9.500000119209291e-01, 9.200000071525574e-01, 8.900000023841858e-01, 8.599999976158142e-01, 8.299999928474426e-01, 7.99999988079071e-01, 7.699999833106994e-01, 7.399999809265136e-01, 7.099999833106995e-01, 6.799999856948853e-01, 6.49999988079071e-01, 6.199999904632568e-01, 5.899999928474426e-01, 5.599999952316285e-01, 5.299999976158142e-01, 5e-01, 4.699999988079071e-01, 4.399999976158142e-01, 4.099999964237213e-01, 3.799999952316284e-01, 3.499999940395352e-01, 3.199999867992235e-01, 2.8999999165535e-01, 2.599999904632568e-01, 2.300000041723251e-01, 2.000000029802322e-01, 1.700000017881393e-01, 1.400000005960464e-01, 1.100000002980232e-01, 7.999998486636342e-02, 4.999999925494194e-02, 1.999999955296516e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.modSetPoi.yOpeMod=[7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +conFCU1.y1Fan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.yFan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.679999756813047e-01, 9.200000166893008e-01, 8.72000002861023e-01, 8.239999890327454e-01, 7.760000085830688e-01, 7.280000019073486e-01, 6.800000071525574e-01, 6.319999933242798e-01, 5.83999981880188e-01, 5.360000252723693e-01, 4.879999899864197e-01, 4.399999976158142e-01, 3.919999992847443e-01, 3.439999997615814e-01, 2.960000085830689e-01, 2.480000001192093e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.TSup=[2.971499938964844e+02, 2.971199963378906e+02, 2.970899987792969e+02, 2.970600012207031e+02, 2.970300036621094e+02, 2.970000061035156e+02, 2.969700085449219e+02, 2.969400109863281e+02, 2.969100134277344e+02, 2.968800134277344e+02, 2.968500122070312e+02, 2.968200109863281e+02, 2.96790009765625e+02, 2.967600085449219e+02, 2.967300073242188e+02, 2.967000061035156e+02, 2.966700048828125e+02, 2.966400074883148e+02, 2.966100024414063e+02, 2.965800012207031e+02, 2.9655e+02, 2.965199987792969e+02, 2.964899975585938e+02, 2.964599963378906e+02, 2.964299930927551e+02, 2.963999938964844e+02, 2.963699963378906e+02, 2.963399987792969e+02, 2.963100012207031e+02, 2.962800036621094e+02, 2.962500061035156e+02, 2.962200085449219e+02, 2.961900109863281e+02, 2.961600134277344e+02, 2.961300134277344e+02, 2.961000122070312e+02, 2.960700109863281e+02, 2.96040009765625e+02, 2.960100085449219e+02, 2.959800073242188e+02, 2.959500061035156e+02, 2.959200048828125e+02, 2.958900036621094e+02, 2.958600024414063e+02, 2.958300012207031e+02, 2.958e+02, 2.957699987792969e+02, 2.957399975585938e+02, 2.957099963378906e+02, 2.956799951171875e+02, 2.956499938964844e+02, 2.956199963378906e+02, 2.955899987792969e+02, 2.955600012207031e+02, 2.955300036621094e+02, 2.955000061035156e+02, 2.954700078625679e+02, 2.954400109863281e+02, 2.954100134277344e+02, 2.953800134277344e+02, 2.953500122070312e+02, 2.953200109863281e+02, 2.95290009765625e+02, 2.952600085449219e+02, 2.952299989405071e+02, 2.952000061035156e+02, 2.951700134277344e+02, 2.951400036621094e+02, 2.951100024414063e+02, 2.950800012207031e+02, 2.950499877929688e+02, 2.950199987792969e+02, 2.949899975585938e+02, 2.949599963378906e+02, 2.949299951171875e+02, 2.948999938964844e+02, 2.948699963378906e+02, 2.948399987792969e+02, 2.948100012207031e+02, 2.947800036621094e+02, 2.947500061035156e+02, 2.947200085449219e+02, 2.946900109863281e+02, 2.946600134277344e+02, 2.946300134277344e+02, 2.946000122070312e+02, 2.945700109863281e+02, 2.94540009765625e+02, 2.945100085449219e+02, 2.944800073242188e+02, 2.944500061035156e+02, 2.944200048828125e+02, 2.943900036621094e+02, 2.943600024414063e+02, 2.943300012207031e+02, 2.943e+02, 2.942699987792969e+02, 2.942399975585938e+02, 2.942099963378906e+02, 2.941799951171875e+02, 2.941499938964844e+02] +conFCU1.TSupSet=[2.971499938964844e+02, 2.971199963378906e+02, 2.970899987792969e+02, 2.970600012207031e+02, 2.970300036621094e+02, 2.970000061035156e+02, 2.969700085449219e+02, 2.969400109863281e+02, 2.969100134277344e+02, 2.968800134277344e+02, 2.968500122070312e+02, 2.968200109863281e+02, 2.96790009765625e+02, 2.967600085449219e+02, 2.967300073242188e+02, 2.967000061035156e+02, 2.966700048828125e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.859500048828125e+02, 2.867500085449219e+02, 2.875499963378906e+02, 2.883500073242187e+02, 2.8915e+02, 2.899500074201677e+02, 2.90750009765625e+02, 2.915499914550781e+02, 2.923500012207031e+02, 2.931500061035156e+02, 2.939499926757812e+02, 2.947500036621093e+02, 2.955499975585938e+02, 2.963499986198246e+02, 2.971055603027344e+02, 2.951700134277344e+02, 2.951400036621094e+02, 2.951100024414063e+02, 2.950800012207031e+02, 2.950499877929688e+02, 2.950199987792969e+02, 2.949899975585938e+02, 2.949599963378906e+02, 2.949299951171875e+02, 2.948999938964844e+02, 2.948699963378906e+02, 2.948399987792969e+02, 2.948100012207031e+02, 2.947800036621094e+02, 2.947500061035156e+02, 2.947200085449219e+02, 2.946900109863281e+02, 2.946600134277344e+02, 2.946300134277344e+02, 2.946000122070312e+02, 2.945700109863281e+02, 2.94540009765625e+02, 2.945100085449219e+02, 2.944800073242188e+02, 2.944500061035156e+02, 2.944200048828125e+02, 2.943900036621094e+02, 2.943600024414063e+02, 2.943300012207031e+02, 2.943e+02, 2.942699987792969e+02, 2.942399975585938e+02, 2.942099963378906e+02, 2.941799951171875e+02, 2.941499938964844e+02] +conFCU1.yCooCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.567374682426453e-01, 8.068562722316143e-01, 5.811391234397888e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.uCooCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.567374682426453e-01, 8.068562722316143e-01, 5.811391234397888e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.yChiPlaReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU1.yChiWatResReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.u1Occ=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.TZon=[2.991499938964844e+02, 2.991199963378906e+02, 2.990899987792969e+02, 2.990600012207031e+02, 2.990300036621094e+02, 2.990000061035156e+02, 2.989700085449219e+02, 2.989400109863281e+02, 2.989100134277344e+02, 2.988800134277344e+02, 2.988500122070312e+02, 2.988200109863281e+02, 2.98790009765625e+02, 2.987600085449219e+02, 2.987300073242188e+02, 2.987000061035156e+02, 2.986700048828125e+02, 2.986400074883148e+02, 2.986100024414063e+02, 2.985800012207031e+02, 2.9855e+02, 2.985199987792969e+02, 2.984899975585938e+02, 2.984599963378906e+02, 2.984299930927551e+02, 2.983999938964844e+02, 2.983699963378906e+02, 2.983399987792969e+02, 2.983100012207031e+02, 2.982800036621094e+02, 2.982500061035156e+02, 2.982200085449219e+02, 2.981900109863281e+02, 2.981600134277344e+02, 2.981300134277344e+02, 2.981000122070312e+02, 2.980700109863281e+02, 2.98040009765625e+02, 2.980100085449219e+02, 2.979800073242188e+02, 2.979500061035156e+02, 2.979200048828125e+02, 2.978900036621094e+02, 2.978600024414063e+02, 2.978300012207031e+02, 2.978e+02, 2.977699987792969e+02, 2.977399975585938e+02, 2.977099963378906e+02, 2.976799951171875e+02, 2.976499938964844e+02, 2.976199963378906e+02, 2.975899987792969e+02, 2.975600012207031e+02, 2.975300036621094e+02, 2.975000061035156e+02, 2.974700078625679e+02, 2.974400109863281e+02, 2.974100134277344e+02, 2.973800134277344e+02, 2.973500122070312e+02, 2.973200109863281e+02, 2.97290009765625e+02, 2.972600085449219e+02, 2.972299989405071e+02, 2.972000061035156e+02, 2.971700134277344e+02, 2.971400036621094e+02, 2.971100024414063e+02, 2.970800012207031e+02, 2.970499877929688e+02, 2.970199987792969e+02, 2.969899975585938e+02, 2.969599963378906e+02, 2.969299951171875e+02, 2.968999938964844e+02, 2.968699963378906e+02, 2.968399987792969e+02, 2.968100012207031e+02, 2.967800036621094e+02, 2.967500061035156e+02, 2.967200085449219e+02, 2.966900109863281e+02, 2.966600134277344e+02, 2.966300134277344e+02, 2.966000122070312e+02, 2.965700109863281e+02, 2.96540009765625e+02, 2.965100085449219e+02, 2.964800073242188e+02, 2.964500061035156e+02, 2.964200048828125e+02, 2.963900036621094e+02, 2.963600024414063e+02, 2.963300012207031e+02, 2.963e+02, 2.962699987792969e+02, 2.962399975585938e+02, 2.962099963378906e+02, 2.961799951171875e+02, 2.961499938964844e+02] +conFCU2.TZonHeaSet=[2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02] +conFCU2.TZonCooSet=[3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02] +conFCU2.heaPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.cooPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.800000166893004e-01, 9.500000119209291e-01, 9.200000071525574e-01, 8.900000023841858e-01, 8.599999976158142e-01, 8.299999928474426e-01, 7.99999988079071e-01, 7.699999833106994e-01, 7.399999809265136e-01, 7.099999833106995e-01, 6.799999856948853e-01, 6.49999988079071e-01, 6.199999904632568e-01, 5.899999928474426e-01, 5.599999952316285e-01, 5.299999976158142e-01, 5e-01, 4.699999988079071e-01, 4.399999976158142e-01, 4.099999964237213e-01, 3.799999952316284e-01, 3.499999940395352e-01, 3.199999867992235e-01, 2.8999999165535e-01, 2.599999904632568e-01, 2.300000041723251e-01, 2.000000029802322e-01, 1.700000017881393e-01, 1.400000005960464e-01, 1.100000002980232e-01, 7.999998486636342e-02, 4.999999925494194e-02, 1.999999955296516e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.modSetPoi.yOpeMod=[7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +conFCU2.y1Fan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.yFan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.679999756813047e-01, 9.200000166893008e-01, 8.72000002861023e-01, 8.239999890327454e-01, 7.760000085830688e-01, 7.280000019073486e-01, 6.800000071525574e-01, 6.319999933242798e-01, 5.83999981880188e-01, 5.360000252723693e-01, 4.879999899864197e-01, 4.399999976158142e-01, 3.919999992847443e-01, 3.439999997615814e-01, 2.960000085830689e-01, 2.480000001192093e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.TSup=[2.971499938964844e+02, 2.971199963378906e+02, 2.970899987792969e+02, 2.970600012207031e+02, 2.970300036621094e+02, 2.970000061035156e+02, 2.969700085449219e+02, 2.969400109863281e+02, 2.969100134277344e+02, 2.968800134277344e+02, 2.968500122070312e+02, 2.968200109863281e+02, 2.96790009765625e+02, 2.967600085449219e+02, 2.967300073242188e+02, 2.967000061035156e+02, 2.966700048828125e+02, 2.966400074883148e+02, 2.966100024414063e+02, 2.965800012207031e+02, 2.9655e+02, 2.965199987792969e+02, 2.964899975585938e+02, 2.964599963378906e+02, 2.964299930927551e+02, 2.963999938964844e+02, 2.963699963378906e+02, 2.963399987792969e+02, 2.963100012207031e+02, 2.962800036621094e+02, 2.962500061035156e+02, 2.962200085449219e+02, 2.961900109863281e+02, 2.961600134277344e+02, 2.961300134277344e+02, 2.961000122070312e+02, 2.960700109863281e+02, 2.96040009765625e+02, 2.960100085449219e+02, 2.959800073242188e+02, 2.959500061035156e+02, 2.959200048828125e+02, 2.958900036621094e+02, 2.958600024414063e+02, 2.958300012207031e+02, 2.958e+02, 2.957699987792969e+02, 2.957399975585938e+02, 2.957099963378906e+02, 2.956799951171875e+02, 2.956499938964844e+02, 2.956199963378906e+02, 2.955899987792969e+02, 2.955600012207031e+02, 2.955300036621094e+02, 2.955000061035156e+02, 2.954700078625679e+02, 2.954400109863281e+02, 2.954100134277344e+02, 2.953800134277344e+02, 2.953500122070312e+02, 2.953200109863281e+02, 2.95290009765625e+02, 2.952600085449219e+02, 2.952299989405071e+02, 2.952000061035156e+02, 2.951700134277344e+02, 2.951400036621094e+02, 2.951100024414063e+02, 2.950800012207031e+02, 2.950499877929688e+02, 2.950199987792969e+02, 2.949899975585938e+02, 2.949599963378906e+02, 2.949299951171875e+02, 2.948999938964844e+02, 2.948699963378906e+02, 2.948399987792969e+02, 2.948100012207031e+02, 2.947800036621094e+02, 2.947500061035156e+02, 2.947200085449219e+02, 2.946900109863281e+02, 2.946600134277344e+02, 2.946300134277344e+02, 2.946000122070312e+02, 2.945700109863281e+02, 2.94540009765625e+02, 2.945100085449219e+02, 2.944800073242188e+02, 2.944500061035156e+02, 2.944200048828125e+02, 2.943900036621094e+02, 2.943600024414063e+02, 2.943300012207031e+02, 2.943e+02, 2.942699987792969e+02, 2.942399975585938e+02, 2.942099963378906e+02, 2.941799951171875e+02, 2.941499938964844e+02] +conFCU2.TSupSet=[2.971499938964844e+02, 2.971199963378906e+02, 2.970899987792969e+02, 2.970600012207031e+02, 2.970300036621094e+02, 2.970000061035156e+02, 2.969700085449219e+02, 2.969400109863281e+02, 2.969100134277344e+02, 2.968800134277344e+02, 2.968500122070312e+02, 2.968200109863281e+02, 2.96790009765625e+02, 2.967600085449219e+02, 2.967300073242188e+02, 2.967000061035156e+02, 2.966700048828125e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.859500048828125e+02, 2.867500085449219e+02, 2.875499963378906e+02, 2.883500073242187e+02, 2.8915e+02, 2.899500074201677e+02, 2.90750009765625e+02, 2.915499914550781e+02, 2.923500012207031e+02, 2.931500061035156e+02, 2.939499926757812e+02, 2.947500036621093e+02, 2.955499975585938e+02, 2.963499986198246e+02, 2.971055603027344e+02, 2.951700134277344e+02, 2.951400036621094e+02, 2.951100024414063e+02, 2.950800012207031e+02, 2.950499877929688e+02, 2.950199987792969e+02, 2.949899975585938e+02, 2.949599963378906e+02, 2.949299951171875e+02, 2.948999938964844e+02, 2.948699963378906e+02, 2.948399987792969e+02, 2.948100012207031e+02, 2.947800036621094e+02, 2.947500061035156e+02, 2.947200085449219e+02, 2.946900109863281e+02, 2.946600134277344e+02, 2.946300134277344e+02, 2.946000122070312e+02, 2.945700109863281e+02, 2.94540009765625e+02, 2.945100085449219e+02, 2.944800073242188e+02, 2.944500061035156e+02, 2.944200048828125e+02, 2.943900036621094e+02, 2.943600024414063e+02, 2.943300012207031e+02, 2.943e+02, 2.942699987792969e+02, 2.942399975585938e+02, 2.942099963378906e+02, 2.941799951171875e+02, 2.941499938964844e+02] +conFCU2.yCooCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.567374682426453e-01, 8.068562722316143e-01, 5.811391234397888e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.uCooCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.567374682426453e-01, 8.068562722316143e-01, 5.811391234397888e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.yChiPlaReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU2.yChiWatResReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.u1Occ=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.TZon=[2.991499938964844e+02, 2.991199963378906e+02, 2.990899987792969e+02, 2.990600012207031e+02, 2.990300036621094e+02, 2.990000061035156e+02, 2.989700085449219e+02, 2.989400109863281e+02, 2.989100134277344e+02, 2.988800134277344e+02, 2.988500122070312e+02, 2.988200109863281e+02, 2.98790009765625e+02, 2.987600085449219e+02, 2.987300073242188e+02, 2.987000061035156e+02, 2.986700048828125e+02, 2.986400074883148e+02, 2.986100024414063e+02, 2.985800012207031e+02, 2.9855e+02, 2.985199987792969e+02, 2.984899975585938e+02, 2.984599963378906e+02, 2.984299930927551e+02, 2.983999938964844e+02, 2.983699963378906e+02, 2.983399987792969e+02, 2.983100012207031e+02, 2.982800036621094e+02, 2.982500061035156e+02, 2.982200085449219e+02, 2.981900109863281e+02, 2.981600134277344e+02, 2.981300134277344e+02, 2.981000122070312e+02, 2.980700109863281e+02, 2.98040009765625e+02, 2.980100085449219e+02, 2.979800073242188e+02, 2.979500061035156e+02, 2.979200048828125e+02, 2.978900036621094e+02, 2.978600024414063e+02, 2.978300012207031e+02, 2.978e+02, 2.977699987792969e+02, 2.977399975585938e+02, 2.977099963378906e+02, 2.976799951171875e+02, 2.976499938964844e+02, 2.976199963378906e+02, 2.975899987792969e+02, 2.975600012207031e+02, 2.975300036621094e+02, 2.975000061035156e+02, 2.974700078625679e+02, 2.974400109863281e+02, 2.974100134277344e+02, 2.973800134277344e+02, 2.973500122070312e+02, 2.973200109863281e+02, 2.97290009765625e+02, 2.972600085449219e+02, 2.972299989405071e+02, 2.972000061035156e+02, 2.971700134277344e+02, 2.971400036621094e+02, 2.971100024414063e+02, 2.970800012207031e+02, 2.970499877929688e+02, 2.970199987792969e+02, 2.969899975585938e+02, 2.969599963378906e+02, 2.969299951171875e+02, 2.968999938964844e+02, 2.968699963378906e+02, 2.968399987792969e+02, 2.968100012207031e+02, 2.967800036621094e+02, 2.967500061035156e+02, 2.967200085449219e+02, 2.966900109863281e+02, 2.966600134277344e+02, 2.966300134277344e+02, 2.966000122070312e+02, 2.965700109863281e+02, 2.96540009765625e+02, 2.965100085449219e+02, 2.964800073242188e+02, 2.964500061035156e+02, 2.964200048828125e+02, 2.963900036621094e+02, 2.963600024414063e+02, 2.963300012207031e+02, 2.963e+02, 2.962699987792969e+02, 2.962399975585938e+02, 2.962099963378906e+02, 2.961799951171875e+02, 2.961499938964844e+02] +conFCU3.TZonHeaSet=[2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.931499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02] +conFCU3.TZonCooSet=[3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 2.971499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02, 3.031499938964844e+02] +conFCU3.heaPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.cooPI.y=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.800000166893004e-01, 9.500000119209291e-01, 9.200000071525574e-01, 8.900000023841858e-01, 8.599999976158142e-01, 8.299999928474426e-01, 7.99999988079071e-01, 7.699999833106994e-01, 7.399999809265136e-01, 7.099999833106995e-01, 6.799999856948853e-01, 6.49999988079071e-01, 6.199999904632568e-01, 5.899999928474426e-01, 5.599999952316285e-01, 5.299999976158142e-01, 5e-01, 4.699999988079071e-01, 4.399999976158142e-01, 4.099999964237213e-01, 3.799999952316284e-01, 3.499999940395352e-01, 3.199999867992235e-01, 2.8999999165535e-01, 2.599999904632568e-01, 2.300000041723251e-01, 2.000000029802322e-01, 1.700000017881393e-01, 1.400000005960464e-01, 1.100000002980232e-01, 7.999998486636342e-02, 4.999999925494194e-02, 1.999999955296516e-02, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.modSetPoi.yOpeMod=[7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00, 7e+00] +conFCU3.y1Fan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.yFan=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.679999756813047e-01, 9.200000166893008e-01, 8.72000002861023e-01, 8.239999890327454e-01, 7.760000085830688e-01, 7.280000019073486e-01, 6.800000071525574e-01, 6.319999933242798e-01, 5.83999981880188e-01, 5.360000252723693e-01, 4.879999899864197e-01, 4.399999976158142e-01, 3.919999992847443e-01, 3.439999997615814e-01, 2.960000085830689e-01, 2.480000001192093e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 2.000000029802322e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 1.000000014901161e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.TSup=[2.971499938964844e+02, 2.971199963378906e+02, 2.970899987792969e+02, 2.970600012207031e+02, 2.970300036621094e+02, 2.970000061035156e+02, 2.969700085449219e+02, 2.969400109863281e+02, 2.969100134277344e+02, 2.968800134277344e+02, 2.968500122070312e+02, 2.968200109863281e+02, 2.96790009765625e+02, 2.967600085449219e+02, 2.967300073242188e+02, 2.967000061035156e+02, 2.966700048828125e+02, 2.966400074883148e+02, 2.966100024414063e+02, 2.965800012207031e+02, 2.9655e+02, 2.965199987792969e+02, 2.964899975585938e+02, 2.964599963378906e+02, 2.964299930927551e+02, 2.963999938964844e+02, 2.963699963378906e+02, 2.963399987792969e+02, 2.963100012207031e+02, 2.962800036621094e+02, 2.962500061035156e+02, 2.962200085449219e+02, 2.961900109863281e+02, 2.961600134277344e+02, 2.961300134277344e+02, 2.961000122070312e+02, 2.960700109863281e+02, 2.96040009765625e+02, 2.960100085449219e+02, 2.959800073242188e+02, 2.959500061035156e+02, 2.959200048828125e+02, 2.958900036621094e+02, 2.958600024414063e+02, 2.958300012207031e+02, 2.958e+02, 2.957699987792969e+02, 2.957399975585938e+02, 2.957099963378906e+02, 2.956799951171875e+02, 2.956499938964844e+02, 2.956199963378906e+02, 2.955899987792969e+02, 2.955600012207031e+02, 2.955300036621094e+02, 2.955000061035156e+02, 2.954700078625679e+02, 2.954400109863281e+02, 2.954100134277344e+02, 2.953800134277344e+02, 2.953500122070312e+02, 2.953200109863281e+02, 2.95290009765625e+02, 2.952600085449219e+02, 2.952299989405071e+02, 2.952000061035156e+02, 2.951700134277344e+02, 2.951400036621094e+02, 2.951100024414063e+02, 2.950800012207031e+02, 2.950499877929688e+02, 2.950199987792969e+02, 2.949899975585938e+02, 2.949599963378906e+02, 2.949299951171875e+02, 2.948999938964844e+02, 2.948699963378906e+02, 2.948399987792969e+02, 2.948100012207031e+02, 2.947800036621094e+02, 2.947500061035156e+02, 2.947200085449219e+02, 2.946900109863281e+02, 2.946600134277344e+02, 2.946300134277344e+02, 2.946000122070312e+02, 2.945700109863281e+02, 2.94540009765625e+02, 2.945100085449219e+02, 2.944800073242188e+02, 2.944500061035156e+02, 2.944200048828125e+02, 2.943900036621094e+02, 2.943600024414063e+02, 2.943300012207031e+02, 2.943e+02, 2.942699987792969e+02, 2.942399975585938e+02, 2.942099963378906e+02, 2.941799951171875e+02, 2.941499938964844e+02] +conFCU3.yCooCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.567374682426453e-01, 8.068562722316143e-01, 5.811391234397888e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.uCooCoi=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 9.567374682426453e-01, 8.068562722316143e-01, 5.811391234397888e-01, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.TSupSet=[2.971499938964844e+02, 2.971199963378906e+02, 2.970899987792969e+02, 2.970600012207031e+02, 2.970300036621094e+02, 2.970000061035156e+02, 2.969700085449219e+02, 2.969400109863281e+02, 2.969100134277344e+02, 2.968800134277344e+02, 2.968500122070312e+02, 2.968200109863281e+02, 2.96790009765625e+02, 2.967600085449219e+02, 2.967300073242188e+02, 2.967000061035156e+02, 2.966700048828125e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.851499938964844e+02, 2.859500048828125e+02, 2.867500085449219e+02, 2.875499963378906e+02, 2.883500073242187e+02, 2.8915e+02, 2.899500074201677e+02, 2.90750009765625e+02, 2.915499914550781e+02, 2.923500012207031e+02, 2.931500061035156e+02, 2.939499926757812e+02, 2.947500036621093e+02, 2.955499975585938e+02, 2.963499986198246e+02, 2.971055603027344e+02, 2.951700134277344e+02, 2.951400036621094e+02, 2.951100024414063e+02, 2.950800012207031e+02, 2.950499877929688e+02, 2.950199987792969e+02, 2.949899975585938e+02, 2.949599963378906e+02, 2.949299951171875e+02, 2.948999938964844e+02, 2.948699963378906e+02, 2.948399987792969e+02, 2.948100012207031e+02, 2.947800036621094e+02, 2.947500061035156e+02, 2.947200085449219e+02, 2.946900109863281e+02, 2.946600134277344e+02, 2.946300134277344e+02, 2.946000122070312e+02, 2.945700109863281e+02, 2.94540009765625e+02, 2.945100085449219e+02, 2.944800073242188e+02, 2.944500061035156e+02, 2.944200048828125e+02, 2.943900036621094e+02, 2.943600024414063e+02, 2.943300012207031e+02, 2.943e+02, 2.942699987792969e+02, 2.942399975585938e+02, 2.942099963378906e+02, 2.941799951171875e+02, 2.941499938964844e+02] +conFCU3.yChiPlaReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 1e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] +conFCU3.yChiWatResReq=[0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 1e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 3e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00, 0e+00] diff --git a/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/FanSpeed.mos b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/FanSpeed.mos new file mode 100644 index 00000000000..cf96b194ed0 --- /dev/null +++ b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/FanSpeed.mos @@ -0,0 +1,39 @@ +simulateModel("Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.FanSpeed", method="Cvode", stopTime=100, tolerance=1e-06, resultFile="FanSpeed"); + +createPlot(id=1, position={0, 0, 1669, 978}, y={"fanSpe.opeMod"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"fanSpe.u1FanPro"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 158}, y={"fanSpe.uHea"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"fanSpe.uCoo"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"fanSpe.y1Fan"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"fanSpe.yFan"}, range={0.0, 100.0, 0.0, 1.5}, grid=true, subPlot=6, colors={{28,108,200}}); + +createPlot(id=2, position={0, 0, 1669, 978}, y={"fanSpe1.opeMod"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"fanSpe1.u1FanPro"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 158}, y={"fanSpe1.uHea"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"fanSpe1.uCoo"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"fanSpe1.y1Fan"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"fanSpe1.yFan"}, range={0.0, 100.0, 0.0, 1.5}, grid=true, subPlot=6, colors={{28,108,200}}); + +createPlot(id=3, position={0, 0, 1669, 978}, y={"fanSpe2.opeMod"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1669, 159}, y={"fanSpe2.u1FanPro"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1669, 158}, y={"fanSpe2.uHea"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1669, 159}, y={"fanSpe2.uCoo"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1669, 159}, y={"fanSpe2.y1Fan"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1669, 159}, y={"fanSpe2.yFan"}, range={0.0, 100.0, 0.0, 1.5}, grid=true, subPlot=6, colors={{28,108,200}}); + +createPlot(id=4, position={0, 0, 1669, 978}, y={"fanSpe3.opeMod"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=4, position={0, 0, 1669, 159}, y={"fanSpe3.u1FanPro"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=4, position={0, 0, 1669, 159}, y={"fanSpe3.uCoo"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=4, position={0, 0, 1669, 159}, y={"fanSpe3.y1Fan"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=4, position={0, 0, 1669, 159}, y={"fanSpe3.yFan"}, range={0.0, 100.0, 0.0, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=5, position={0, 0, 1669, 978}, y={"fanSpe4.opeMod"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=5, position={0, 0, 1669, 159}, y={"fanSpe4.u1FanPro"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=5, position={0, 0, 1669, 158}, y={"fanSpe4.uHea"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=5, position={0, 0, 1669, 159}, y={"fanSpe4.y1Fan"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=5, position={0, 0, 1669, 159}, y={"fanSpe4.yFan"}, range={0.0, 100.0, 0.0, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=6, position={0, 0, 1669, 978}, y={"fanSpe5.opeMod"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=6, position={0, 0, 1669, 159}, y={"fanSpe5.u1FanPro"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=6, position={0, 0, 1669, 159}, y={"fanSpe5.y1Fan"}, range={0.0, 100.0, 0.8, 1.2}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=6, position={0, 0, 1669, 159}, y={"fanSpe5.yFan"}, range={0.0, 100.0, 0.0, 1.5}, grid=true, subPlot=4, colors={{28,108,200}}); diff --git a/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/PlantRequests.mos b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/PlantRequests.mos new file mode 100644 index 00000000000..841f8b030c3 --- /dev/null +++ b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/PlantRequests.mos @@ -0,0 +1,13 @@ +simulateModel("Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.PlantRequests", method="Cvode", stopTime=3600, tolerance=1e-06, resultFile="PlantRequests_SingleZone"); +createPlot(id=1, position={10, 10, 900, 1200}, y={"plaReq.TAirSup", "plaReq.TSupSet"}, range={0.0, 3600.0, 10.0, 40.0}, grid=true, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=1, position={10, 10, 900, 297}, y={"plaReq.uCooCoi_actual", "plaReq.uHeaCoi_actual"}, range={0.0, 3600.0, -0.2, 1.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={10, 10, 900, 296}, y={"plaReq.yHotWatResReq", "plaReq.yHotWatPlaReq"}, range={0.0, 3600.0, -0.5, 2.5}, grid=true, subPlot=3, colors={{28,108,200}, {28,108,200}}); +createPlot(id=1, position={10, 10, 900, 296}, y={"plaReq.uFan"}, range={0.0, 3600.0, -0.2, 1.2}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=2, position={920, 10, 900, 1200}, y={"plaReq1.TAirSup", "plaReq1.TSupSet"}, range={0.0, 3600.0, 14.0, 24.0}, grid=true, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=2, position={920, 10, 900, 297}, y={"plaReq1.uCooCoi_actual"}, range={0.0, 3600.0, 0.7, 1.0}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=2, position={920, 10, 900, 296}, y={"plaReq1.yChiWatResReq", "plaReq1.yChiPlaReq"}, range={0.0, 3600.0, -0.5, 2.5}, grid=true, subPlot=3, colors={{28,108,200}, {28,108,200}}); +createPlot(id=2, position={920, 10, 900, 296}, y={"plaReq.uFan"}, range={0.0, 3600.0, -0.2, 1.2}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1643, 978}, y={"plaReq2.TAirSup", "plaReq2.TSupSet"}, range={0.0, 3600.0, 14.0, 24.0}, grid=true, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=3, position={0, 0, 1643, 241}, y={"plaReq2.uHeaCoi_actual"}, range={0.0, 3600.0, -0.2, 1.0}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1643, 240}, y={"plaReq2.yHotWatResReq", "plaReq2.yHotWatPlaReq"}, range={0.0, 3600.0, -0.2, 1.2}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}}); +createPlot(id=3, position={0, 0, 1643, 241}, y={"plaReq2.uFan"}, range={0.0, 3600.0, -0.2, 1.2}, grid=true, subPlot=4, colors={{28,108,200}}); diff --git a/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/SupplyAirTemperature.mos b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/SupplyAirTemperature.mos new file mode 100644 index 00000000000..3a02787eff0 --- /dev/null +++ b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Subsequences/Validation/SupplyAirTemperature.mos @@ -0,0 +1,25 @@ +simulateModel("Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.SupplyAirTemperature", method="Cvode", stopTime=100, tolerance=1e-06, resultFile="SupplyAirTemperature"); + +createPlot(id=1, position={0, 0, 1669, 978}, y={"TSupAir.uHea"}, range={0.0, 100.0, 0.22, 0.28}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"TSupAir.uCoo"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 158}, y={"TSupAir.TZonHeaSet", "TSupAir.TZonCooSet", "TSupAir.TSupSet"}, range={0.0, 100.0, 294.0, 300.0}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}, {0,140,72}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"TSupAir.TSupSet", "TSupAir.TAirSup"}, range={0.0, 100.0, 0.0, 600.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"TSupAir.yHeaCoi"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 1669, 159}, y={"TSupAir.yCooCoi"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=6, colors={{28,108,200}}); + +createPlot(id=2, position={0, 0, 1669, 978}, y={"TSupAir1.uHea"}, range={0.0, 100.0, 0.22, 0.28}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"TSupAir1.uCoo"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 158}, y={"TSupAir1.TZonHeaSet", "TSupAir1.TZonCooSet", "TSupAir1.TSupSet"}, range={0.0, 100.0, 294.0, 300.0}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}, {0,140,72}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"TSupAir1.TSupSet", "TSupAir1.TAirSup"}, range={0.0, 100.0, 0.0, 600.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"TSupAir1.yHeaCoi"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); +createPlot(id=2, position={0, 0, 1669, 159}, y={"TSupAir1.yCooCoi"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=6, colors={{28,108,200}}); + +createPlot(id=3, position={0, 0, 1669, 978}, y={"TSupAir2.uHea"}, range={0.0, 100.0, 0.22, 0.28}, grid=true, colors={{28,108,200}}); +createPlot(id=3, position={0, 0, 1669, 158}, y={"TSupAir2.TZonHeaSet", "TSupAir2.TSupSet"}, range={0.0, 100.0, 294.0, 300.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}); +createPlot(id=3, position={0, 0, 1669, 159}, y={"TSupAir2.TSupSet", "TSupAir2.TAirSup"}, range={0.0, 100.0, 0.0, 600.0}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}}); +createPlot(id=3, position={0, 0, 1669, 159}, y={"TSupAir2.yHeaCoi"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=4, colors={{28,108,200}}); + +createPlot(id=4, position={0, 0, 1669, 159}, y={"TSupAir3.uCoo"}, range={0.0, 100.0, -2.0, 2.0}, grid=true, colors={{28,108,200}}); +createPlot(id=4, position={0, 0, 1669, 158}, y={"TSupAir3.TZonCooSet", "TSupAir3.TSupSet"}, range={0.0, 100.0, 294.0, 300.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}); +createPlot(id=4, position={0, 0, 1669, 159}, y={"TSupAir3.TSupSet", "TSupAir3.TAirSup"}, range={0.0, 100.0, 0.0, 600.0}, grid=true, subPlot=3, colors={{28,108,200}, {238,46,47}}); +createPlot(id=4, position={0, 0, 1669, 159}, y={"TSupAir3.yCooCoi"}, range={0.0, 100.0, -0.5, 1.5}, grid=true, subPlot=4, colors={{28,108,200}}); diff --git a/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Validation/Controller.mos b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Validation/Controller.mos new file mode 100644 index 00000000000..ac4a32138fd --- /dev/null +++ b/Buildings/Resources/Scripts/Dymola/Controls/OBC/ASHRAE/FanCoilUnit/Validation/Controller.mos @@ -0,0 +1,68 @@ +simulateModel("Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Validation.Controller", method="Cvode", outputInterval=300, stopTime=86400, tolerance=1e-06, resultFile="conFCU"); +createPlot(id=1, position={0, 0, 790, 939}, y={"conFCU.u1Occ"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 790, 184}, y={"conFCU.TZon", "conFCU.TZonHeaSet", "conFCU.TZonCooSet"}, range={0.0, 90000.0, 10.0, 35.0}, grid=true, subPlot=2, colors={{0,140,72}, {28,108,200}, {238,46,47}}, displayUnits={"degC", "degC", "degC"}); +createPlot(id=1, position={0, 0, 790, 183}, y={"conFCU.heaPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 790, 184}, y={"conFCU.cooPI.y"}, range={0.0, 90000.0, -2.0, 2.0}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=1, position={0, 0, 790, 184}, y={"conFCU.modSetPoi.yOpeMod"}, range={0.0, 90000.0, 0.0, 8.0}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=2, position={160, 947, 790, 939}, y={"conFCU.heaPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=2, position={160, 947, 790, 184}, y={"conFCU.y1Fan"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=2, position={160, 947, 790, 183}, y={"conFCU.yFan"}, range={0.0, 90000.0, -0.2, 0.8}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=2, position={160, 947, 790, 184}, y={"conFCU.TSup", "conFCU.TSupSet"}, range={0.0, 90000.0, 18.0, 26.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=2, position={160, 947, 790, 184}, y={"conFCU.yHeaCoi"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=3, position={35, 35, 534, 336}, y={"conFCU.uHeaCoi"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=3, position={35, 35, 534, 81}, y={"conFCU.TSup", "conFCU.TSupSet"}, range={0.0, 88000.0, 19.0, 25.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=3, position={35, 35, 534, 80}, y={"conFCU.yHotWatPlaReq"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=3, position={35, 35, 534, 80}, y={"conFCU.yHotWatResReq"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, subPlot=4, colors={{28,108,200}}); + +createPlot(id=4, position={320, 947, 790, 939}, y={"conFCU1.u1Occ"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=4, position={320, 947, 790, 184}, y={"conFCU1.TZon", "conFCU1.TZonHeaSet", "conFCU1.TZonCooSet"}, range={0.0, 90000.0, 10.0, 35.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}, {0,140,72}}, displayUnits={"degC", "degC", "degC"}); +createPlot(id=4, position={320, 947, 790, 183}, y={"conFCU1.heaPI.y"}, range={0.0, 90000.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=4, position={320, 947, 790, 184}, y={"conFCU1.cooPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=4, position={320, 947, 790, 184}, y={"conFCU1.modSetPoi.yOpeMod"}, range={0.0, 90000.0, 0.0, 8.0}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=5, position={480, 947, 788, 939}, y={"conFCU1.cooPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=5, position={480, 947, 788, 184}, y={"conFCU1.y1Fan"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=5, position={480, 947, 788, 183}, y={"conFCU1.yFan"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=5, position={480, 947, 788, 184}, y={"conFCU1.TSup", "conFCU1.TSupSet"}, range={0.0, 90000.0, 10.0, 25.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=5, position={480, 947, 788, 184}, y={"conFCU1.yCooCoi"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=6, position={55, 55, 534, 336}, y={"conFCU1.uCooCoi"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=6, position={55, 55, 534, 81}, y={"conFCU1.TSup", "conFCU1.TSupSet"}, range={0.0, 88000.0, 10.0, 30.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=6, position={55, 55, 534, 80}, y={"conFCU1.yChiPlaReq"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=6, position={55, 55, 534, 80}, y={"conFCU1.yChiWatResReq"}, range={0.0, 88000.0, -1.0, 4.0}, grid=true, subPlot=4, colors={{28,108,200}}); + +createPlot(id=7, position={640, 947, 788, 939}, y={"conFCU2.u1Occ"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=7, position={640, 947, 788, 184}, y={"conFCU2.TZon", "conFCU2.TZonHeaSet", "conFCU2.TZonCooSet"}, range={0.0, 90000.0, 10.0, 35.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}, {0,140,72}}, displayUnits={"degC", "degC", "degC"}); +createPlot(id=7, position={640, 947, 788, 183}, y={"conFCU2.heaPI.y"}, range={0.0, 90000.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=7, position={640, 947, 788, 184}, y={"conFCU2.cooPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=7, position={640, 947, 788, 184}, y={"conFCU2.modSetPoi.yOpeMod"}, range={0.0, 90000.0, 0.0, 8.0}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=8, position={800, 947, 788, 939}, y={"conFCU2.cooPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=8, position={800, 947, 788, 184}, y={"conFCU2.y1Fan"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=8, position={800, 947, 788, 183}, y={"conFCU2.yFan"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=8, position={800, 947, 788, 184}, y={"conFCU2.TSup", "conFCU2.TSupSet"}, range={0.0, 90000.0, 10.0, 25.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=8, position={800, 947, 788, 184}, y={"conFCU2.yCooCoi"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=9, position={75, 75, 534, 336}, y={"conFCU2.uCooCoi"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=9, position={75, 75, 534, 81}, y={"conFCU2.TSup", "conFCU2.TSupSet"}, range={0.0, 88000.0, 10.0, 26.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=9, position={75, 75, 534, 80}, y={"conFCU2.yChiPlaReq"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=9, position={75, 75, 534, 80}, y={"conFCU2.yChiWatResReq"}, range={0.0, 88000.0, -1.0, 4.0}, grid=true, subPlot=4, colors={{28,108,200}}); + +createPlot(id=10, position={640, 947, 788, 939}, y={"conFCU3.u1Occ"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=10, position={640, 947, 788, 184}, y={"conFCU3.TZon", "conFCU3.TZonHeaSet", "conFCU3.TZonCooSet"}, range={0.0, 90000.0, 10.0, 35.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}, {0,140,72}}, displayUnits={"degC", "degC", "degC"}); +createPlot(id=10, position={640, 947, 788, 183}, y={"conFCU3.heaPI.y"}, range={0.0, 90000.0, -2.0, 2.0}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=10, position={640, 947, 788, 184}, y={"conFCU3.cooPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=4, colors={{28,108,200}}); +createPlot(id=10, position={640, 947, 788, 184}, y={"conFCU3.modSetPoi.yOpeMod"}, range={0.0, 90000.0, 0.0, 8.0}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=11, position={800, 947, 788, 939}, y={"conFCU3.cooPI.y"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, colors={{28,108,200}}); +createPlot(id=11, position={800, 947, 788, 184}, y={"conFCU3.y1Fan"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=2, colors={{28,108,200}}); +createPlot(id=11, position={800, 947, 788, 183}, y={"conFCU3.yFan"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=11, position={800, 947, 788, 184}, y={"conFCU3.TSup", "conFCU2.TSupSet"}, range={0.0, 90000.0, 10.0, 25.0}, grid=true, subPlot=4, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=11, position={800, 947, 788, 184}, y={"conFCU3.yCooCoi"}, range={0.0, 90000.0, -0.5, 1.5}, grid=true, subPlot=5, colors={{28,108,200}}); + +createPlot(id=12, position={0, 0, 1643, 978}, y={"conFCU3.uCooCoi"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, colors={{28,108,200}}); +createPlot(id=12, position={0, 0, 1643, 241}, y={"conFCU3.TSup", "conFCU3.TSupSet"}, range={0.0, 88000.0, 10.0, 26.0}, grid=true, subPlot=2, colors={{28,108,200}, {238,46,47}}, displayUnits={"degC", "degC"}); +createPlot(id=12, position={0, 0, 1643, 240}, y={"conFCU3.yChiPlaReq"}, range={0.0, 88000.0, -0.2, 1.2}, grid=true, subPlot=3, colors={{28,108,200}}); +createPlot(id=12, position={0, 0, 1643, 241}, y={"conFCU3.yChiWatResReq"}, range={0.0, 88000.0, -1.0, 4.0}, grid=true, subPlot=4, colors={{28,108,200}}); diff --git a/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.FanSpeed.mos b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.FanSpeed.mos new file mode 100644 index 00000000000..120da690e34 --- /dev/null +++ b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.FanSpeed.mos @@ -0,0 +1,35 @@ +compareVars := + { + "fanSpe.opeMod", + "fanSpe.u1FanPro", + "fanSpe.uHea", + "fanSpe.uCoo", + "fanSpe.y1Fan", + "fanSpe.yFan", + "fanSpe1.opeMod", + "fanSpe1.u1FanPro", + "fanSpe1.uHea", + "fanSpe1.uCoo", + "fanSpe1.y1Fan", + "fanSpe1.yFan", + "fanSpe2.opeMod", + "fanSpe2.u1FanPro", + "fanSpe2.uHea", + "fanSpe2.uCoo", + "fanSpe2.y1Fan", + "fanSpe2.yFan", + "fanSpe3.opeMod", + "fanSpe3.u1FanPro", + "fanSpe3.uCoo", + "fanSpe3.y1Fan", + "fanSpe3.yFan", + "fanSpe4.opeMod", + "fanSpe4.u1FanPro", + "fanSpe4.uHea", + "fanSpe4.y1Fan", + "fanSpe4.yFan", + "fanSpe5.opeMod", + "fanSpe5.u1FanPro", + "fanSpe5.y1Fan", + "fanSpe5.yFan" + }; diff --git a/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.PlantRequests.mos b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.PlantRequests.mos new file mode 100644 index 00000000000..10cfbf0ee84 --- /dev/null +++ b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.PlantRequests.mos @@ -0,0 +1,21 @@ +compareVars := + { + "plaReq.TAirSup", + "plaReq.TSupSet", + "plaReq.uCooCoi_actual", + "plaReq.uHeaCoi_actual", + "plaReq.yHotWatResReq", + "plaReq.yHotWatPlaReq", + "plaReq.uFan", + "plaReq1.TAirSup", + "plaReq1.TSupSet", + "plaReq1.uCooCoi_actual", + "plaReq1.yChiWatResReq", + "plaReq1.yChiPlaReq", + "plaReq2.TAirSup", + "plaReq2.TSupSet", + "plaReq2.uHeaCoi_actual", + "plaReq2.yHotWatResReq", + "plaReq2.yHotWatPlaReq", + "plaReq2.uFan" + }; diff --git a/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.SupplyAirTemperature.mos b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.SupplyAirTemperature.mos new file mode 100644 index 00000000000..7eb13458201 --- /dev/null +++ b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Subsequences.Validation.SupplyAirTemperature.mos @@ -0,0 +1,33 @@ +compareVars := + { + "TSupAir.uHea", + "TSupAir.uCoo", + "TSupAir.TZonHeaSet", + "TSupAir.TZonCooSet", + "TSupAir.TSupSet", + "TSupAir.TSupSet", + "TSupAir.TAirSup", + "TSupAir.yHeaCoi", + "TSupAir.yCooCoi", + "TSupAir1.uHea", + "TSupAir1.uCoo", + "TSupAir1.TZonHeaSet", + "TSupAir1.TZonCooSet", + "TSupAir1.TSupSet", + "TSupAir1.TSupSet", + "TSupAir1.TAirSup", + "TSupAir1.yHeaCoi", + "TSupAir1.yCooCoi", + "TSupAir2.uHea", + "TSupAir2.TZonHeaSet", + "TSupAir2.TSupSet", + "TSupAir2.TSupSet", + "TSupAir2.TAirSup", + "TSupAir2.yHeaCoi", + "TSupAir3.uCoo", + "TSupAir3.TZonCooSet", + "TSupAir3.TSupSet", + "TSupAir3.TSupSet", + "TSupAir3.TAirSup", + "TSupAir3.yCooCoi" + }; diff --git a/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Validation.Controller.mos b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Validation.Controller.mos new file mode 100644 index 00000000000..8306a518307 --- /dev/null +++ b/Buildings/Resources/Scripts/OpenModelica/compareVars/Buildings.Controls.OBC.ASHRAE.FanCoilUnit.Validation.Controller.mos @@ -0,0 +1,65 @@ +compareVars := + { + "conFCU.u1Occ", + "conFCU.TZon", + "conFCU.TZonHeaSet", + "conFCU.TZonCooSet", + "conFCU.heaPI.y", + "conFCU.cooPI.y", + "conFCU.modSetPoi.yOpeMod", + "conFCU.y1Fan", + "conFCU.yFan", + "conFCU.TSup", + "conFCU.TSupSet", + "conFCU.yHeaCoi", + "conFCU.uHeaCoi", + "conFCU.yHotWatPlaReq", + "conFCU.yHotWatResReq", + "conFCU1.u1Occ", + "conFCU1.TZon", + "conFCU1.TZonHeaSet", + "conFCU1.TZonCooSet", + "conFCU1.heaPI.y", + "conFCU1.cooPI.y", + "conFCU1.modSetPoi.yOpeMod", + "conFCU1.y1Fan", + "conFCU1.yFan", + "conFCU1.TSup", + "conFCU1.TSupSet", + "conFCU1.yCooCoi", + "conFCU1.uCooCoi", + "conFCU1.yChiPlaReq", + "conFCU1.yChiWatResReq", + "conFCU2.u1Occ", + "conFCU2.TZon", + "conFCU2.TZonHeaSet", + "conFCU2.TZonCooSet", + "conFCU2.heaPI.y", + "conFCU2.cooPI.y", + "conFCU2.modSetPoi.yOpeMod", + "conFCU2.y1Fan", + "conFCU2.yFan", + "conFCU2.TSup", + "conFCU2.TSupSet", + "conFCU2.yCooCoi", + "conFCU2.uCooCoi", + "conFCU2.yChiPlaReq", + "conFCU2.yChiWatResReq", + "conFCU3.u1Occ", + "conFCU3.TZon", + "conFCU3.TZonHeaSet", + "conFCU3.TZonCooSet", + "conFCU3.heaPI.y", + "conFCU3.cooPI.y", + "conFCU3.modSetPoi.yOpeMod", + "conFCU3.y1Fan", + "conFCU3.yFan", + "conFCU3.TSup", + "conFCU2.TSupSet", + "conFCU3.yCooCoi", + "conFCU3.uCooCoi", + "conFCU3.TSup", + "conFCU3.TSupSet", + "conFCU3.yChiPlaReq", + "conFCU3.yChiWatResReq" + };