专栏
标签
Sysplorer更换介质之后报错3213,如何处理?
技术分享
发布于 2025-10-16 23:49:14
查看 2过去229天

Q:更换介质之后为什么报错3213,怎么解决。

A:更换介质属于一种变型,每一种介质里都定义了很多内容,更换了介质之后,模型里面很多同名的组件/变量/函数等都会使用更换的这种介质里的内容。
在这个问题中,是因为更换的这种介质中重声明的函数 Midium.Criticalp (这里的Medium就是介质)中没有输入,也没有输出,将此函数作为其他函数的参数时报错。
之所以使用这种介质会报错, 使用其他介质不会,是因为其他介质中的函数 Criticalp 有返回值。
这种情况报 3213 错误

如下例

model Model36
 function TestFunc

 end TestFunc;

 Real a = 10 * sin(time);
 Real b;
 equation
 b = min(a, TestFunc());
end Model36;

比如A介质和B介质中都有函数F,如果使用A介质,模型里面就用A.F,使用B介质,模型里就是用B.F。A.F和B.F名字相同,都是F,但是里面的实现不一样。

比如函数 f1 需要两个参数,函数 f2 没有返回值,如果这样写:f1(1, f2()) 就会报错,因为函数 f2() 没有返回值,相当于 f1 函数的第二个参数不存在。

所属专栏:Modelica语言
产品信息:Sysplorer系统建模仿真环境
系统建模

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天