Issues with multiple FunctionalMockupUnitImport:To:Variables for same FMU.
I'm receiving the following errors when trying to perform co-simulation having more than one
ExternalInterface:FunctionalMockupUnitImport:To:Variable
for the same FMU in EP version 9.0.1.
** Severe ** GetRuntimeLanguageUserInput: ExternalInterface:FunctionalMockupUnitImport:To:Variable, invalid entry.
** ~~~ ** Invalid FMU File Name=ContamFMU.fmu
** ~~~ ** Name conflicts with an existing global variable name
** Severe ** GetRuntimeLanguageUserInput: ExternalInterface:FunctionalMockupUnitImport:To:Variable, invalid entry.
** ~~~ ** Invalid FMU Instance Name=ContamFMU
** ~~~ ** Name conflicts with an existing global variable name
** Fatal ** Errors found in getting EMS Runtime Language input. Preceding condition causes termination.
It works fine in EP version 8.3 when I also include the variables as EMS:GlobalVariables
.
Using only one variable works in 9.0. However, I must remove the EMS:GlobalVariables
(I think EP 8.6+ automatically creates the globals from the EI:FMUI:To:Variable
declarations).
ExternalInterface:FunctionalMockupUnitImport:To:Variable,
CX_IN_C_TV, !- Name
ContamFMU.fmu, !- FMU File Name
ContamFMU, !- FMU Instance Name
CTRL_O_CtrlOut_C, !- FMU Variable Name
0; !- Initial Value
ExternalInterface:FunctionalMockupUnitImport:To:Variable,
CX_IN_B_TV, !- Name
ContamFMU.fmu, !- FMU File Name
ContamFMU, !- FMU Instance Name
CTRL_O_CtrlOut_B, !- FMU Variable Name
0; !- Initial Value
Is this a bug, or am I missing something?
I can provide a fairly simple set of co-simulation input files if necessary.
- Stuart
The function GetRuntimeLanguageUserInput() in RuntimeLanguageProcessor.cc is creating an ErlVariable for each alpha field of each
ExternalInterface:FunctionalMockupUnitImport:To:Variable
.Therefore, the second ContamFMU.fmu filename conflicts with the first yielding the reported error.
This appears to be a bug.
I think EnergyPlus should allow more than one variable from a given FMU.