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

Text based control algorithim for modelica

asked 2023-05-02 17:49:27 -0600

grid_designer's avatar

Hello all, I am trying to model a microgrid simulation using the modelica buildings library. I am using OMEdit to model the system, but would prefer to write the code for the control algorithm for the bi-directional battery inverter in text format as I come from C/Python background and find it easier to follow compared to a visual system. I wrote this code:

model battery_control
  Modelica.Blocks.Interfaces.RealInput SOC;
  Modelica.Blocks.Interfaces.RealOutput inverterInput;
  Modelica.Blocks.Interfaces.RealInput meterInput;
equation
  if (meterInput <= -20) and (SOC > 20) and (meterInput >= -100) then
    inverterInput = abs(inverterInput + 20);
  elseif (meterInput >= -100) and (SOC > 20) then
    inverterInput = 100;
  elseif (meterInput >= 5) and (SOC < 90) and (meterInput < 100 ) then
    inverterInput = -1 * (inverterInput - 5);
  elseif (SOC < 90) and (meterInput < 100 ) then
    inverterInput = -100
  else
    inverterInput = 0;
  end if;
end battery_control;

However, OMEdit does not let me save this code. I am not sure what is wrong. Basically, I want to create a block that connects to the input and ouput, but it is text-based control. Also, is it possble to run python code in modelica, not the reverse(run modelica in python: PyFmi). Thank you for the help.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2023-05-03 16:35:58 -0600

If you try to save this in OpenModelica's OMEdit, it gives the error message:

`[3] 14:31:35 Syntax Error which is because of the missing semi-colon on line 14.

Regarding your other question, you can call Python from blocks in the Modelica Buildings Library.

edit flag offensive delete link more

Comments

@Michael Wetter, how would I call Python from the blocks?

grid_designer's avatar grid_designer  ( 2023-05-08 10:31:20 -0600 )edit

Please read the documentation of the Python package: https://simulationresearch.lbl.gov/mo...

Michael Wetter's avatar Michael Wetter  ( 2023-05-09 08:55:48 -0600 )edit

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

1 follower

Stats

Asked: 2023-05-02 17:49:27 -0600

Seen: 90 times

Last updated: May 08 '23