Omnet ++: можно ли вызвать параметр как значение внутри параметра параметра внутри omnetpp.ini? - PullRequest
0 голосов
/ 29 ноября 2018

Я новичок в 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 Iнужно установить в качестве значения «intuniform» значение параметра выше.Но симулятор показывает мне это сообщение об ошибке:

Невозможно оценить параметр 'posX': Невозможно оценить параметр 'PosX': (omnetpp :: cModule) Этаж: выражение не может быть интерпретировано на уровне сети- в модуле (Node) Floor.node [0] (id = 2), во время настройки сети

Более того, я хотел оставить такой тип распределения таким образом, чтобыЯ могу изменить это легко.Это возможно?Спасибо!

1 Ответ

0 голосов
/ 30 ноября 2018

Да, возможно ссылка на другое значение параметра .Нужно ввести переменную, например X и ссылку на нее, написав ${X}:

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