【发布时间】:2021-08-05 15:44:49
【问题描述】:
我如下搭建了一个无线传感器网络。(强调sink节点定义)
import inet.physicallayer.wireless.apsk.packetlevel.ApskScalarRadioMedium;
import inet.node.inet.SensorNode;
network SensorNetwork
{
int numNodes = default(15);
string interfaceTableModule = default("interfaceTable");
int areaX @unit(m) = 500m;
int areaY @unit(m) = 500m;
int sinkX @unit(m) = int (this.areaX*(0.5));
int sinkY @unit(m) = this.areaY;
@display("bgb=$areaX,$areaY;bgu=m");
submodules:
sink: SensorNode {
@display("i=device/antennatower;p=$sinkX,$sinkY");
}
node[numNodes]: SensorNode;
radioMedium: ApskScalarRadioMedium {
@display("p=45,79");
}
}
我想强调水槽位置由参数给出的事实。当我运行项目时,去查看与 sink 节点的移动子模块相关的详细信息,我发现最后一个位置坐标是(lastPosition (Coord) (0, 0, 0) m),而它应该是网络中 sink 节点的当前坐标。
当我删除参数并从@display("p=500,500;i=device/antennatower"); 为X 和Y 提供数值时,位置很好地更新为(lastPosition (Coord) (500, 500, 0) m)。
如何解决?
非常感谢您的建议。
提前致谢。
【问题讨论】:
-
您使用的是哪个版本的 omnet?
-
嗨@Rudi。我正在使用 omnetpp-6.0pre11