Do Step error when using PYFMI
Hello guys,
I am trying to perform a simple Do_Step simulation using an .IDF included in the pack of the EnergyPlusToFMU framework.
However, when I try to carry out the simulation step by step, this error appears
FMIL: module = Model, log level = 2: [error][FMU status:Error] fmi2DoStep: An error occured in a previous call. First communication time: 0.000000 !=tStart: 1.000000.
FMIL: module = Model, log level = 2: [error][FMU status:Error] fmi2DoStep: An error occured in a previous call. First communication time: 900.000000 !=tStart: 1.000000.
FMIL: module = Model, log level = 2: [error][FMU status:Error] fmi2DoStep: An error occured in a previous call. First communication time: 1800.000000 !=tStart: 1.000000.
FMIL: module = Model, log level = 2: [error][FMU status:Error] fmi2DoStep: An error occured in a previous call. First communication time: 2700.000000 !=tStart: 1.000000.
This is the code I am using. I do not know what else I can do since the model was initialized
from pyfmi.fmi import FMUModelCS2
ErrorDict=['FMI_OK', 'FMI_WARNING', 'FMI_DISCARD', 'FMI_ERROR','FMI_FATAL','FMI_PENDING']
house = FMUModelCS2("/workspaces/Eplus93/source/house/example.fmu")
starttime=0
finaltime=86400
house.initialize(starttime, finaltime,True)
stepsize=900 # Each 15 minutes
opts = house.simulate_options()
idf_steps_per_hour = 4
ncp = (finaltime-starttime)/(3600./idf_steps_per_hour)
opts['ncp'] = ncp
t_step=starttime
var=[]
while t_step < 1*3600:
status = house.do_step(current_t=t_step, step_size=stepsize, new_step=True)
status=ErrorDict[status]
var.append(['Status flag'+':'+str(status),t_step,np.float(house.get('TRooMea'))])
t_step +=stepsize
According to Dr. Wetter in link text it seems that EnergyPlus' ExternalInterface object imposes a one-time step delay. Nevertheless, I do not have a clue about how to make the code get this.
The FMU used is here: link text
Thank you very much!