Ivan's answer is misleading.
Schedule:File
should be a Sensor, not an Actuator. Some parameters you want to override in Schedule:File
should be Actuators.
One example. I wanted to override the Outdoor Air Drybulb Temperature for building surfaces with Schedule:File
for some reason. In such cases, the EMS program looks like this:
Schedule:File,
Surface_Temp_Hourly_Profile, !- Name
, !- Schedule Type Limits Name
C:\Project\Project_XXXXX\Surface_Temp_Hourly_Profile.csv, !- File Name
2, !- Column Number
1, !- Rows to Skip at Top
8760, !- Number of Hours of Data
Comma, !- Column Separator
No, !- Interpolate to Timestep
60; !- Minutes per Item
EnergyManagementSystem:Sensor,
Surface_Temp_Hourly_Profile_Sensor, !- Name
Surface_Temp_Hourly_Profile, !- Output:Variable or Output:Meter Index Key Name
Schedule Value ; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Actuator,
Surface_OA_Temp_2to50F_Office_1_Floor, !- Name
2to50F_Office_1_Floor, !- Actuated Component Unique Name
Surface, !- Actuated Component Type
Outdoor Air Drybulb Temperature; !- Actuated Component Control Type
EnergyManagementSystem:ProgramCallingManager,
EMS_PCM_Surface_OA_Temp_Override, !- Name
InsideHVACSystemIterationLoop, !- EnergyPlus Model Calling Point
EMS_Program_Surface_OA_Temp_Override; !- Program Name 1
EnergyManagementSystem:Program,
EMS_Program_Surface_OA_Temp_Override, !- Name
SET Surface_OA_Temp_2to50F_Office_1_Floor = Surface_Temp_Hourly_Profile_Sensor; !- Program Line 1
Output:EnergyManagementSystem,
Verbose, !- Actuator Availability Dictionary Reporting
Verbose, !- Internal Variable Availability Dictionary Reporting
ErrorsOnly; !- EMS Runtime Language Debug Output Level