如果没有Modelica CombiTable1D实例,则无法使用自定义CombiTable1D初始化模型
我的目标是创建一个1D/2D查找表,该表可以读取JSON文件中的可变大小数组,而无需指定静态大小的Modelica数组参数 我首先尝试扩展externda,根据github问题中的建议实现一个自定义表: 概述的步骤是:如果没有Modelica CombiTable1D实例,则无法使用自定义CombiTable1D初始化模型,modelica,dymola,Modelica,Dymola,我的目标是创建一个1D/2D查找表,该表可以读取JSON文件中的可变大小数组,而无需指定静态大小的Modelica数组参数 我首先尝试扩展externda,根据github问题中的建议实现一个自定义表: 概述的步骤是: 创建您自己的CombiTable副本,修改它以接受数据访问对象和稳定名称,请参见下面的代码段 创建ExternalCombiTable1D的副本,该副本将引用您自己的CombiTable数据对象 创建一个c函数,直接从json读取数据并将其存储到表对象中,然后将其传递给MSL
- 创建您自己的CombiTable副本,修改它以接受数据访问对象和稳定名称,请参见下面的代码段
- 创建ExternalCombiTable1D的副本,该副本将引用您自己的CombiTable数据对象
- 创建一个c函数,直接从json读取数据并将其存储到表对象中,然后将其传递给MSL 函数模型StandardTables\u CombiTable1D\u init2
-自定义CombiTable1D的单个实例-不初始化externda.Examples.JSONTestVariableArrayBroken.mo
-自定义CombiTable1D和Modelica CombiTable2D实例-未初始化externda.Examples.jsontestarraycombi2dbreak.mo
-自定义CombiTable1D和几个Modelica CombiTable1D实例-按预期工作externda.Examples.JSONTestVariableArrayWorking.mo
ModelicaStandardTables.h
和ModelicaStandardTables.lib
库,在dsbuild.txt
中检查了警告,编译似乎很好
由于某些原因,自定义ExternalCombiTable1D外部对象(ExternData.Types.ExternalCombiTable1D
)的构造函数不返回,因此自定义CombiTable1D块(ExternData.Tables.CombiTable1D
)当模型中没有Modelica CombiTable1D表的实例时,无法初始化
如果您能想到为什么会发生这种情况以及如何克服它,我将不胜感激
- IDE-Dymola 2021x
- 操作系统-视窗10
- 编译器-Visual Studio 2019
然而,为什么会发生这种情况仍然很有趣。似乎是Dymola翻译错误。您的解决方法是否因更新库而过时?@tbeu是的,这使此问题过时。