【发布时间】:2019-04-02 14:05:28
【问题描述】:
两个模型通过一个(空的)可扩展连接器连接。
两者之一,在可扩展连接器和parameter 变量之间建立连接。
我没想到会有任何问题。相反,我遇到了一些问题:
- OpenModelica 编译版本 2,但不编译版本 1
[bus_param_out]: Failed to instantiate equation connect(controlBus.num, numberPar); Translation Error: Error occurred while flattening model bus_param - Dymola 不编译版本 1 或版本 2
但Connect does not refer to connectors in connect(bus_in.controlBus.num, bus_in.num);bus_in.num是Real和Modelica Specifications 说可扩展连接器中的所有组件都被视为连接器实例,即使它们未声明为这样 [即可以连接到例如实变量]。
我做错了什么?我错过了什么吗?
我的最终目标是将parameter 变量链接到可扩展的连接器(例如,通知不同的车辆组件电池单元的数量) 不需要额外的冗余变量。这可能吗?
测试代码如下:
-
bus_param.mo
model bus_param bus_param_in bus_in; bus_param_out bus_out; equation connect(bus_in.controlBus, bus_out.controlBus); end bus_param_custom; -
bus_param_in.mo
model bus_param_in Real num; bus controlBus; equation connect(controlBus.num, num); end bus_param_in; -
bus_param_out.mo - 版本 1
model bus_param_out parameter Real numberPar = 3.0; bus controlBus; equation connect(controlBus.num, numberPar); end bus_param_out; -
bus_param_out.mo - 版本 2
model bus_param_out parameter Real numberPar = 3.0; Real number; bus controlBus; equation number = numberPar; connect(controlBus.num, numberPar); end bus_param_out; -
bus.mo
expandable connector bus end bus;
【问题讨论】:
标签: modelica dymola openmodelica