blockSchedule

Block to write to an EnergyPlus schedule

Extends from Buildings.ThermalZones.EnergyPlus_24_2_0.BaseClasses.PartialEnergyPlusObject (Partial definitions of an EnergyPlus object), Buildings.ThermalZones.EnergyPlus_24_2_0.BaseClasses.Synchronize.ObjectSynchronizer (Block that synchronizes an object).

Information

Block that writes to a schedule object in EnergyPlus.

This model writes at every EnergyPlus zone time step the value of the input u to an EnergyPlus schedule with name name. For example, if EnergyPlus has 6 time steps per hour, as specified in the idf-file with the entry Timestep,6; and the input u to this block is

Model time (min) Input u
0...5 0
5...15 1
15...20 2
20 3

then EnergyPlus will receive the inputs

Model time (min) Input u
0 0
10 1
20 3

The parameter unit specifies the unit of the signal u. This unit is then converted internally to the units required by EnergyPlus before the value is sent to EnergyPlus. See Buildings.ThermalZones.EnergyPlus_24_2_0.Types.Units for the supported units. If the value of the parameter unit is left at its default value of Buildings.ThermalZones.EnergyPlus_24_2_0.Types.Units.unspecified, then the simulation will stop with an error.

Usage

To use an schedule, set up the schedule in the EnergyPlus idf file. For example, an entry may be

Schedule:Compact,
  INTERMITTENT,            !- Name
  Fraction,                !- Schedule Type Limits Name
  Through: 12/31,          !- Field 1
  For: WeekDays,           !- Field 2
  Until: 8:00,0.0,         !- Field 3
  Until: 18:00,1.00,       !- Field 5
  Until: 24:00,0.0,        !- Field 7
  For: AllOtherDays,       !- Field 9
  Until: 24:00,0.0;        !- Field 10

Next, instantiate the actuator in Modelica. For the above Schedule:Compact, the Modelica instantiation would be

  Buildings.ThermalZones.EnergyPlus_24_2_0.Schedule schInt(
    name = "INTERMITTENT",
    unit = Buildings.ThermalZones.EnergyPlus_24_2_0.Types.Units.Normalized)
    "Block that writes to the EnergyPlus schedule INTERMITTENT";

The entry units=Buildings.ThermalZones.EnergyPlus_24_2_0.Types.Units.Normalized will cause the value to be sent to EnergyPlus without any unit conversion.

Parameters

TypeNameDefaultDescription
StringnameName of schedule
Buildings.ThermalZones.EnergyPlus_24_2_0.Types.UnitsunitUnit of variable as used in Modelica

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputuContinuous input signal to be written to EnergyPlus
Modelica.Blocks.Interfaces.RealOutputyValue written to EnergyPlus (use for direct dependency of Actuators and Schedules)

Components

TypeNameDefaultDescription
Buildings.ThermalZones.EnergyPlus_24_2_0.Buildingbuilding (from PartialEnergyPlusObject)Building-level declarations
SynchronizeBuildingsynBui (from ObjectSynchronizer)Model that synchronize the Spawn objects

Revisions

  • February 18, 2021, by Michael Wetter:
    Refactor synchronization of constructors.
    This is for #2360.
  • November 8, 2019, by Michael Wetter:
    First implementation.