我是openmodelica的新手,因为我在可靠性工程领域工作,所以我将使用openmodelica的主要特性是petri网建模。我学过ExtendedPetriNets图书馆()。但是,当我在openmodelica中打开这个库时,我收到了几条错误消息,这些错误消息可以分组为:
类或组件椭圆未找到
In modifier (Ellipse(extent = {{-100, -100}, {100, 100}}), class or component extent), class or component Ellipse not found in <Icon>
组
新的OpenModelica编译器前端看起来是个问题。我在Windows-764位操作系统上使用openmodelica 1.14的官方发布版本。
package Test1_14
model M1
parameter Integer size = 2 "matrix size";
parameter Real A[size] = {1.0, 1.0};
Real B[size];
Real T = 1;
Real P = 2;
equation
B = A * (T/P);
end M1;
model M1_E
有人能解释如何在omc/OMEdit中使用installPackage()吗?
我正在模拟用MSL4.0.0构建的模型,并定期收到“脚本通知”
[1] 12:23:51 Scripting Notification
You can install the requested package using one of the commands:
installPackage(Complex, "4.0.0+maint.om", exactMatch=true)
installPackage(Complex, "4.0.0", exactMatch=fals
我想知道如何以动画的形式可视化Modelica仿真的结果。
假设我有一个简单的模拟,如下所示:
model test
//parameters
parameter Real m_1 = 1;
parameter Real m_2 = 10;
parameter Real K_c = 100000;
//variables
Real x_1;
Real v_1;
Real x_2;
Real v_2;
Real f_1;
Real f_12;
initial equation
x_1 = 0;
v_1 = 0;
x_2 = 0.2;
v
我编写了一个简单的代码来实验在标准库的流体包中使用PrescribedPump机器。我正在使用OpenModelica 1.13.2。我想把一些水从一个水箱泵到另一个水箱,使用的是一个恒定值为10000的prescribedPump。
在这里,代码:
model PompaPilotata
package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater;
inner Modelica.Fluid.System system ;
Modelica.Fluid.Vessels.OpenTank bacinella1
我正在尝试从OpenModelica导出几个模型作为FMU2.0模型交换。 为了检查生成的FMU,我将它们导入OpenModelica并在那里进行模拟。对于简单的连续系统,如单个积分器或一阶滤波器的串联,一切都工作得很好。然而,带有触发事件的块,例如标准的modelica块"Modelica.Blocks.MathInteger.TriggeredAdd",在FMU中不起作用。它们的输出保持为零,不受输入的影响。看起来我做错了什么,但我不知道具体是什么。请帮帮我:)以下是导出模型的示例代码: model trig_int_sum
Modelica.Blocks.MathIn
我正在尝试测试一个简单的fmu来保存和恢复状态。
例如openmodelica:
model modelicatest
input Real In1;
output Real Out1(start=0, fixed=true);
equation
der(Out1) = In1;
end modelicatest;
也适用于simulink:
我使用来模拟生成的FMU。
但是对于OpenModelica v1.14.1生成的FMU,在从FMPy调用getFMUState时会出现以下错误:
Exception: fmi2GetFMUstate failed with status 3
model try
Real x(start = 1);
algorithm
when x >= 7 then
reinit(x, 5);
end when;
equation
der(x) = 1 ;
end try;
只要保护条件从false更改为true,就应该触发when语句。但在OpenModelica中并非如此。OpenModelica中的示例try显示when只被触发一次。我想知道这是OpenModelica的错误还是我这边的一些误解。
我在我的一个函数库中插入了一个函数(在测试的资源设置中引用了该库)。它看起来是这样的:
Public Function NWRecoverOnRunStep (AObject,AMethodName,AArguments,AResult)
Print "NWRecoverOnStep MethodName='" & AMethodName & "' Result=" & AResult
End Function
(显然,我正处于探索阶段;)
我还创建了一个恢复场景,即“在出错时调用NWRecoverOnRunStep‘
我想在继承OpenModelica上的另一个模型时更改参数/变量的名称和描述。
我试着使用Modelica语言的可替换/重声明属性来做这件事,但没有成功。到目前为止,我正在做如下操作,但正如您所看到的,这不是一个好的实践。
model MySubModel
Real myVar "Some general description"
parameter Real myParam "Some general description"
eqaution
der(myVar) = myParam*time;
end MySubModel
model M
我正在OpenModelica中执行我的第一步,在eclipse中运行MDT有困难。
*)安装了OpenModelica v1.18.0 (64位)
*)根据:以电子表格方式安装
*)生成具有第一个演示函数的Modelica项目。
model demo
Real x(start=1);
parameter Real a = 1;
equation
dev(x) = -a*x;
end demo;
*)我声明了一个OpenModelica控制台并尝试进行模拟。这是我的反馈。
Welcome to Modelica Development Tooling (MDT) Con