Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

The actuator type that you need for switching between different constructions is called Construction State. See the EMS actuator example below.

EnergyManagementSystem:Actuator,
emsACT_WINCONST_WinWHOLE,!- Name
FSD_WindowWHOLE,         !- Actuated Component Unique Name
Surface,                 !- Actuated Component Type
Construction State;      !- Actuated Component Control Type

The information that is set is not exactly the construction name though, or at least not as a string. Energyplus stores each construction name as number internally (I think this is done to speed up the simulation because else it would need to pass full strings and use string compare operations at each timestep). This means that inside your EMS script you have to set the actuator to the number that represents a certain construction. The problem is, as a user you have no idea what this number is (I believe it it uses the order of appearance in the IDF). Therefore you have to request the number belonging to each construction name first. The EnergyManagementSystem:ConstructionIndexVariable object request this number and stores it in a variable which you can use assign to the actuator.

EnergyManagementSystem:ConstructionIndexVariable,
conIndex_tAvtb_0,      !- Name
CFS_tAvtb_0; !- Construction Object Name

I attached a working example of a IDF which illustrates this idea (see this dropbox link). It switches between two CFS constructions at noon (this is vertical blind. It switches between fully open and fully closed). There's a lot of other CFStates and EMS stuff in here which you should ignore.

Regarding your question about the frame: This I'm not entirely sure off (maybe someone else can confirm?), the frame is assigned at surface level and not inside the CFS. I would therefore think the frame remains the same and that the actuator only changes the glazing construction only. If that is correct than there wouldn't be an easy way to change the frame state. If that is the case: maybe you can consider modelling the frame as an opaque construction, with equivalent characteristics, and use the construction state actuator to switch the state of that.

The actuator type that you need for switching between different constructions is called Construction State. See the EMS actuator example below.

EnergyManagementSystem:Actuator,
emsACT_WINCONST_WinWHOLE,!- Name
FSD_WindowWHOLE,         !- Actuated Component Unique Name
Surface,                 !- Actuated Component Type
Construction State;      !- Actuated Component Control Type

The information that is set is not exactly the construction name though, or at least not as a string. Energyplus stores each construction name as number internally (I think this is done to speed up the simulation because else it would need to pass full strings and use string compare operations at each timestep). This means that inside your EMS script you have to set the actuator to the number that represents a certain construction. The problem is, as a user you have no idea what this number is (I believe it it uses the order of appearance in the IDF). Therefore you have to request the number belonging to each construction name first. The EnergyManagementSystem:ConstructionIndexVariable object request this number and stores it in a variable which you can use assign to the actuator.

EnergyManagementSystem:ConstructionIndexVariable,
conIndex_tAvtb_0,      !- Name
CFS_tAvtb_0; !- Construction Object Name

I attached a working example of a IDF which illustrates this idea (see this dropbox link). It switches between two CFS constructions at noon (this is vertical blind. It switches between fully open and fully closed). There's a lot of other CFStates and EMS stuff in here which you should ignore.

Regarding your question about the frame: This I'm not entirely sure off (maybe someone else can confirm?), the frame is assigned at surface level and not inside the CFS. I would therefore think the frame remains the same and that the actuator only changes the glazing construction only. If that is correct than there wouldn't be an easy way to change the frame state. If that is the case: maybe you can consider modelling the frame as an opaque construction, with equivalent characteristics, and use the construction state actuator to switch the state of that.

P.S.: A good way to verify that your model works as intended is to request surface construction index as an output (I think it is an advanced output variable). Using the attached IDF example: This image shows the construction switch and the expected change in net window heat gains.

image description