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

FMU Dymola variable input

asked 5 years ago

Giorgio's avatar

updated 5 years ago

Hi, I want to cosimulate E+ in Dymola, basically I want to model the energy system (GSHP PV etc...) in Dymola and use the FMU to simulate the flats. To do this I need to send the temperature and the mass flow of the water coming from the GSHP in Dymola to the FMU as an input, in other words the temperature of water in node after the HP in E+ must be defined with Dymola. I'm trying to use the actuator but I can only modify the setpoint, what I have to do to modify a variable in E+ with a signal from Dymola?

Hope that someone can help.

Regards Giorgio

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
2

answered 5 years ago

updated 5 years ago

I have done this with other systems and found the best method is through the use of a plant loop with a PlantComponent:TemperatureSource that acts as a pseudo source of fluid. In your case, it would match the GSHP outlet temperatures.

You would set the PlantComponent:TemperatureSource to follow a schedule, which is controlled by a snippet like:

PlantComponent:TemperatureSource,
    GSHP Plant Component Temperature Source,    !- Name of water component in below loop
    Node xxx,                 !- Inlet Node
    Node xxx,                 !- Outlet Node
    Autosize,                 !- Design Volume Flow Rate
    Scheduled,                !- Temperature Specification Type
    8.0,                      !- Source Temperature
    GSHP Water Temperature Schedule;    !- Source Temperature Schedule Name

EXTERNALINTERFACE:FUNCTIONALMOCKUPUNITEXPORT:TO:SCHEDULE,
    GSHP Water Temperature Schedule, !- Match the Schedule Name above
    Any Number,
    <Fluid Temp Variable from GSHP>, !- Variable from Dymola
    0; !- Initial value

You will also want to modulate the Setpoint Manager so that the system operates:

SetpointManager:Scheduled,
    Scheduled GSHP Temp, !- Name of Setpoint Manager in below loop
    Temperature,
    GSHP Water Temperature Schedule, !- Same schedule as above.
    Node xxx;

The pump would be actuated like:

EXTERNALINTERFACE:FUNCTIONALMOCKUPUNITEXPORT:TO:ACTUATOR, !- Use a variable speed pump component
    VarSpdPumpMassFlowActuator, !- This can be any name without spaces
    Var Spd Pump Name, !- This is the name of pump in below loop
    Pump,
    Pump Mass Flow Rate,
    <Fluid mass flow rate from GSHP>, !- This is the name of the variable from Dymola
    0; !- Initial value

The loop will look something like:

Pseudo Plant Loop

Preview: (hide)
link

Comments

Hi Justin, thank you very much for the answer, I did as you suggested and the I have the FMU with the two interfaces. I uploaded it in Dymola and connected two simple values to the FMU to try if it works (45 connected to the temperature and 2 kg/s to the mass flow). When I start the simulation it arrives to the point

...for Sizing Period: #2 WINTER DEIGN DAY IN (MY LOCATION) Initializing Simulation _

And stays stuck at this point. What do you think might be the problem?

Regards Giorgio

Giorgio's avatar Giorgio  ( 5 years ago )

Hi Giorgio, troubleshooting that kind of problem becomes more challenging without additional information. I would recommend checking your starting values and hardsize your systems (instead of autosizing) where you can. Co-simulation variables are not transferred during Sizing Period.

JustinShultz's avatar JustinShultz  ( 5 years ago )

Hi Justin, the problem was in the node definition for the setpoint manager. Now the FMU is working and responding to all the inputs. Thank you very much for your help Justin. Much appreciated!!

Giorgio

Giorgio's avatar Giorgio  ( 5 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops

Careers

Question Tools

2 followers

Stats

Asked: 5 years ago

Seen: 309 times

Last updated: Jun 06 '19