在哪里可以在OMSimulator(OpepenModelica)中找到协同仿真模型的lua脚本?

时间:2019-07-04 10:26:29

标签: openmodelica

我正在尝试使用OMSimulator运行协同仿真模型。借助以下工具,我成功地从TRNSYS模型创建了FMU:https://sourceforge.net/projects/trnsys-fmu/

导入时,出现以下错误:

[2] 12:23:32脚本错误 [fmiLogger]模块FMI2XML:这种因果关系,可变性和初始组合需要Start属性

似乎我需要在OMSimulator命令行中初始化一些变量(不确定什么)。我认为这是我所听说的Lua脚本,但我找不到它。

我真的很感谢有人可以帮助我,因为文档(https://openmodelica.org/doc/OMSimulator/v2.0.1/html/OMSimulator.html)不足以达到我的水平。

谢谢!

2 个答案:

答案 0 :(得分:0)

FMU似乎是问题,而不是OMSimulator。根据FMI规范,FMU的modelDescription.xml文件中需要该起始值。

答案 1 :(得分:0)

好。因此,我添加了每个模型变量的起始值:

<?xml version="1.0" encoding="UTF-8"?>
<fmiModelDescription
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    fmiVersion="2.0"
    modelName="bomba"
    guid="{e067f3b0-8e8a-11e9-96f6-f4d108c69fe3}"
    generationTool="FMI++ TRNSYS Export Utility"
    author="marreg"
    generationDateAndTime="2019-06-14T11:57:53"
    variableNamingConvention="flat"
    numberOfEventIndicators="0">
    <CoSimulation
        modelIdentifier="bomba3"
        needsExecutionTool="false"
        canHandleVariableCommunicationStepSize="false"
        canNotUseMemoryManagementFunctions="true"
        canInterpolateInputs="false"
        maxOutputDerivativeOrder="0"
        canGetAndSetFMUstate="false"
        providesDirectionalDerivative="false"/>
    <VendorAnnotations>
        <Tool name="FMI++Export">
            <Executable
                executableURI="file:///C:/Trnsys17/exe/trnexe.exe"
                entryPointURI="fmu://resources/bomba.dck"
                preArguments=""
                postArguments="/n"/></Tool>
    </VendorAnnotations>
    <ModelVariables>
        <ScalarVariable name="control" valueReference="1" variability="continuous" causality="input" >
            <Real start="1"/>
        </ScalarVariable>
        <ScalarVariable name="power" valueReference="1001" variability="continuous" causality="output" >
            <Real start="2500"/>
        </ScalarVariable>
        <ScalarVariable name="flow" valueReference="1002" variability="continuous" causality="output" >
            <Real start="1000"/>
        </ScalarVariable>
    </ModelVariables>
    <ModelStructure/>
</fmiModelDescription>

但是我现在应该如何构建fmu文件?我的意思是,我提取了modelDescription文件,对其进行了更新,然后似乎不允许将其再次添加到fmu(我正在使用7z软件)。我要做的是提取所有内容,然后再次以fmu格式对其进行压缩。它给了我以下错误:

[2] 08:07:46 Scripting Error
[fmiLogger] module FMI2XML: Start attribute is required for this causality, variability and initial combination

[3] 08:15:57 Scripting Error
[fmiLogger] module FMIZIP: Unpacking of FMU C:/Users\marreg\AppData\Local\Temp\OpenModelica\OMEdit\plant-y4bnrd2w\resources\plant.fmu into C:/Users\marreg\AppData\Local\Temp\OpenModelica\OMEdit\plant-y4bnrd2w\temp\plant failed

[4] 08:15:57 Scripting Error
[NewComponent] Unsupported FMI version: unknown

OMSimulator似乎无法识别格式...

可以更改modelDescription文件吗?我该怎么办?

感谢您的支持!