omnet++ - Omnet++ 复合模块:将 1 个输入门连接到多个子模块
问题描述
我制作了一个带有 1 个输入和两个子模块的简单复合模块:
module System
{
parameters:
gates:
input sensorDataIn;
submodules:
metric1: Metric1 {
@display("p=30,26");
}
metric2: Metric2 {
@display("p=30,26");
}
connections:
sensorDataIn --> metric1.metricIn;
sensorDataIn --> metric2.metricIn;
}
当我开始模拟时,我收到门已连接的错误。那么如何将进入我的复合模块的数据传递给两个子模块呢?
谢谢和亲切的问候,
坦克也
解决方案
首先,sensorDataIn
通过更改为定义为门向量:
gates:
input sensorDataIn[2];
其次,对门使用++
运算符,即:
connections:
sensorDataIn++ --> metric1.metricIn;
sensorDataIn++ --> metric2.metricIn;
第三,在您的 NED 文件中进行网络更改为:
connections allowunconnected:
门向量的大小可以省略,因为运算符会++
自动扩展门向量的大小。
推荐阅读
- c# - 如何从 C# 中的 pastebin raw 之类的网站加载代码
- java - 有没有办法使用 JaCoCo Java API 检测 jar 文件?
- c# - Visual Studio Intellisense 找不到一个基类
- java - JPA - 另一个表中使用的多对多主键
- python-3.x - 带有 Python 3.6 ImageTk 的 MacOS 不显示图像
- delphi - Delphi 内联使用导致“F2084 内部错误”
- c# - 如何使用 ClosedXML 从 excel 文件中读取单元格值
- r - 在引导程序中在 R 中获取 NaN
- c# - 无法反序列化 JSON 对象
- scala - Scala私有应用方法?