2017-09-13 44 views
2

我是OMNeT ++的新手。我已經實現了簡單的TDMA。現在我想讓它對於節點數量具有動態性。當我輸入它應該自動分配插槽到每個節點。現在我必須手動輸入.ini文件中的插槽。示例如下所示:使用變量的TDMA實現

手動步驟:

**.noHost = 10 
**.host[0].slotTime = 0.0 
**.host[1].slotTime = 0.1 
**.host[2].slotTime = 0.2 
**.host[3].slotTime = 0.3 
**.host[4].slotTime = 0.4 
**.host[5].slotTime = 0.5 
**.host[6].slotTime = 0.6 
**.host[7].slotTime = 0.7 
**.host[8].slotTime = 0.8 
**.host[9].slotTime = 0.9 

不過,現在我想改變它w.r.t. noHost。我如何在.ini文件中爲此應用循環。 任何人都可以幫忙嗎?我會非常感激。

回答

2

可以使用特殊值index實現這一點,例如:

**.host[*].slotTime = index * 0.1 

index值是向量中的每個子模塊的指標。例如,在評估host[6]的上述表達式時,index的值將爲6。所以這會產生與您所描述的手動方法相同的效果。

請參閱相應的手冊部分:https://omnetpp.org/doc/omnetpp/manual/#sec:ned-lang:expressions

+0

我應該在哪裏定義這個索引?它會成爲一個循環嗎? – atifshahzad231

+0

它是內置的。你不需要定義它。它已經被隱式定義。 並且由於每個通配符賦值都會在某種「循環」中處理,是的。 – torokati44

+0

當我寫這個表達式時,它表示未使用的條目,這就是爲什麼我感到困惑。 – atifshahzad231