Omnet++:是否可以在 omnetpp.ini 中的参数设置中调用参数作为值?

Omnet++ : Is it possible to recall a parameter as value inside a parameter setting inside the omnetpp.ini?

我是 omnet++ 的新手,我正在尝试测试一些模拟,但我需要根据另一个参数设置一个参数。

[General]
network = Floor

[Config Test]

Floor.sizeX = ${200, 1000}
Floor.sizeY = ${200, 1000}


Floor.slotTime = 100ms
Floor.radius = ${20, 120}
Floor.PosX = intuniform(0,Floor.sizeX)
Floor.PosY = intuniform(0,Floor.sizeY)


Floor.P = ${0.1, 0.9}

Floor.numberOfNodes = ${20, 500}

如您所见,在 .ini 文件中,我需要将 "intuniform" 的值设置为上述参数的值。但是模拟器向我显示了这条错误消息:

Cannot evaluate parameter 'posX': Cannot evaluate parameter 'PosX': (omnetpp::cModule)Floor: Expression cannot be interpreted on network level -- in module (Node) Floor.node[0] (id=2), during network setup

而且我想把那种分布留在那里,这样我就可以很容易地改变它。这可能吗?谢谢!

是的,可以reference to another parameter value。必须引入一个变量,例如 X 并引用它写作 ${X}:

Floor.sizeX = ${X=200, 1000}
Floor.sizeY = ${Y=200, 1000}
...
Floor.PosX = intuniform(0, ${X})
Floor.PosY = intuniform(0, ${Y})