omnet 参数

参数属于模块的变量,可用来构建拓扑(节点数量等),为实现简单模块和信道的C++代码提供输入。

1.值

参数可以从ned代码中,从配置文件中,甚至是从何用户的交互过程中。

在ini文件中赋值不能覆盖NED中的值。如果NED中没有赋值,可以用以下方式在ini文件里赋值。

**.sendIaTime=100ms;

**.sendIaTime=2s+exponential(100ms);

omnet支持通配符,上面的代码适用于所有名字为sendIaTime的参数。

如果ini文件里没有赋值,就会应用为默认值,如果没有默认值,会对用户进行询问;否则会出现错误,也可以明确地应用默认值。

**.sendIaTime=default;

最后,ini文件的特点是跟模型和实验完全分离。ned文件被认为是模型的一部分。

2.表达式

参数值可以由公式给出。公式可以使用不同的数字、字符串、随机函数和其他的函数(fabs(),toUpper(),uniform()和erlang_k()等)。

3.volatile

volatile变量的修改是实时的,所以相应参数值的表达式在每次被读时都应该重新被评估。

4.单位

变量声明时可以添加@unit特性,并携带度量的相关单位。

volatile double sendIaTime @unit(s)=default(exponential(350ms));

@unit(s)为参数声明了尺寸单位。赋给参数的值必须是相同或相容的单位,比如@unit(s)可以接受milliseconds、nanoseconds、minutes、hours等。

Omnet++运行时间会对参数进行一套完整的单位检查,以保证模型的单位安全。常量通常应该包括度量单位


注意:在子类或子模块的定义中,参数不能加入或者不考虑参数的@unit特性。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值