Modelica 在作用域中找不到函数_

Modelica 在作用域中找不到函数_,modelica,openmodelica,Modelica,Openmodelica,我在使用默认为Modelica标准库2D combi表的可替换类型参数时遇到问题。我正在使用OpenModelica 1.14.1。我是Modelica的新手,所以我不确定我看到的是错误还是误解的结果 以下代码工作正常(当我按下“检查模型”时,没有翻译错误): 然而,这并不是: model Error replaceable class DefaultTable = Modelica.Blocks.Tables.CombiTable2D; DefaultTable bob; DefaultTab

我在使用默认为Modelica标准库2D combi表的可替换类型参数时遇到问题。我正在使用OpenModelica 1.14.1。我是Modelica的新手,所以我不确定我看到的是错误还是误解的结果

以下代码工作正常(当我按下“检查模型”时,没有翻译错误):

然而,这并不是:

model Error
replaceable class DefaultTable = Modelica.Blocks.Tables.CombiTable2D;
DefaultTable bob;
DefaultTable geoff;
end Error;
获得以下误差:

 [Modelica.Blocks.Tables: 613:7-613:57]: Function Internal.getTable2DValueNoDer not found in scope DefaultTable.

这是一个编译器错误:在


不过,它似乎在旧的前端中工作(这是命令行中的默认设置,可以在OMEdit中打开)。

通过添加“Modelica.Blocks.Tables”。在Modelica.Blocks.Tables的第613行和第615行中的函数引用中,我避免了错误。这些行现在显示为:“y=Modelica.Blocks.Tables.Internal.getTable2DValueNoDer”(tableID,u1,u2);'和'y=Modelica.Blocks.Tables.Internal.getTable2DValue(tableID,u1,u2);'而不是'y=Internal.getTable2DValueNoDer(tableID,u1,u2);'和'y=Internal.getTable2DValue(tableID,u1,u2);'。我不知道为什么这样做……这可能是包引用的嵌套查找的问题吗?
 [Modelica.Blocks.Tables: 613:7-613:57]: Function Internal.getTable2DValueNoDer not found in scope DefaultTable.