2017-09-13 19 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

私はこの表現を書いたとき、unsedという項目を言って、なぜ私は混乱しているのですか? – atifshahzad231

関連する問題