我正在模拟一个带有2个无线主机和1个访问点的网络。在运行时,节点通过访问模块和使用setDoubleValue(0(来设置访问点的发射功率为零(将其关闭(。但是新价值永远不会生效。AP的味精继续到达节点。我在这里做错了什么?我想在模拟运行时关闭访问点。请帮助。
cSimulation *currentSimulation = getSimulation();
cModule *tx = nullptr;
tx=currentSimulation->getModuleByPath("agranet.ap.wlan[0].radio.transmitter");
tx->par("power").setDoubleValue(0);
//cPar& po = tx->par("power");
//po.setDoubleValue(0);
我想在模拟运行时关闭访问点。
您无法在初始化之后更改功率参数,因为它是一个非挥发性参数,因此其值在初始化时读取并随后被缓存。您可以仅操纵已经为此准备C 代码的挥发性NED参数。
另一方面,您要实现的目标是在特定时间禁用节点,这就是ScenaiManager的目的:
https://inet.omnetpp.org/docs/users-guide/ch-scenario-scripting.html