- 博客(16)
- 收藏
- 关注
原创 OMNeT 例程 Tictoc15 和 Tictoc16 矢量和标量统计详解
矢量数据是一边仿真一边记录。标量数据是在 finish() 函数中手动记录。矢量结果中的 Count 列表示在仿真时间内此节点是目的节点的次数。绘制出的图形:横坐标表示仿真的时间,纵坐标表示跳数。标量数据也可以绘制图形直方图的横坐标表示跳数,纵坐标表示跳数的次数矢量结果、标量结果、直方图的数据均可以导出到 excel...
2021-11-16 10:18:50
1107
原创 OMNeT 例程 Tictoc18 学习笔记
网络的拓扑结构是哑铃形的,NED 文件如下:simple Txc18 extends Txc16{}network TicToc18{ parameters: int numCentralNodes = default(2); types: channel Channel extends ned.DelayChannel { delay = 100ms; } submodules: t
2021-01-17 12:08:14
765
1
原创 OMNeT 例程 Tictoc17 学习笔记
在 canvas(画布)上显示一个静态描述文本和一个显示到达目的模块的最后一条消息的跳数的动态文本。在 NED 文件中创建 figure :parameters: @figure[description](type=text; pos=5,20; font=,,bold; text="Random routing example - displaying last hop count"); @figure[lasthopcount](type=text; pos=5,3
2021-01-16 21:28:14
647
原创 OMNeT 例程 Tictoc16 学习笔记
在不修改模型的基础上收集统计信息。首先,定义信号:private: simsignal_t arrivalSignal;接着在初始化中注册信号:arrivalSignal = registerSignal("arrival");当消息到达目标节点时,发射信号: emit(arrivalSignal, hopcount);在 NED 文件中定义发射出的信号:@signal[arrival](type="long");@statistic[hopCount](title="hop
2021-01-16 20:21:59
699
原创 OMNeT 例程 Tictoc15 学习笔记
收集统计信息,是针对每一个节点来说的。OMNeT++ 仿真内核可以自动记录一个有关消息交换历史的详细日志, 通过在 omnetpp.ini 文件中设置如下配置选项:record-eventlog = true首先在类 Txc15 的私有属性中增加:cLongHistogram hopCountStats;cOutVector hopCountVector;然后在初始化中:hopCountStats.setName("hopCountStats");hopCountVector.setNa
2021-01-16 16:12:16
1149
2
原创 OMNeT 例程 Tictoc13 学习笔记
从 Tictoc13 开始,难度加大。首先派生 cMessage 子类 TicTocMsg13:message TicTocMsg13{ int source; //源地址 int destination; //目的地址 int hopCount = 0; //跳数}编译(build project)会自动生成 tictoc13_m.h 和tictoc13_m.cc 文件。TicTocMsg13 *ttmsg = check_and_cast<TicTocMsg1
2021-01-14 18:09:02
514
1
原创 OMNeT 例程 Tictoc12 学习笔记
Tictoc12 是在 Tictoc11 的基础上,进一步简化,使用双向连接,首先是一个双向门: gates: inout gate[]; // declare two way connections网络的连接部分就变成了: connections: tic[0].gate++ <--> Channel <--> tic[1].gate++; tic[1].gate++ <--> Channel <--&g
2021-01-13 21:37:32
316
原创 OMNeT 例程 Tictoc11 学习笔记
Tictoc11 是在 Tictoc10 的基础上,简化了网络的连接部分,添加一个 types 段来指定延迟参数:network Tictoc11{ types: channel Channel extends ned.DelayChannel { delay = 100ms; }信道类型 channel;信道名字 Channel;关键字 extends;类型全名 ned.DelayChannel...
2021-01-13 21:06:50
216
原创 OMNeT 例程 Tictoc10 学习笔记
Tictoc10 构建了一个网络。tic[0] 首先发送消息,最后 tic[3] 收到消息结束。路由效率不高,数据包会在两个节点之间来回传送。方括号[ ]把之前的门变成了门向量,当用 Txc 来建立网络的时候,才决定其向量的大小(门数)。 gates: input in[]; // declare in[] and out[] to be vector gates output out[];随机选择一个门发送消息: void Txc10::forwardMess
2021-01-13 20:46:31
413
原创 OMNeT 例程 Tictoc9 学习笔记
Tictoc9 是在 Tictoc8 的基础上,当出现丢包时,实现同一消息的重传。(保留原始数据包,而把拷贝副本发送出去,当 toc 的应答包到来时,我们才删除原始包)。char msgname[20];char 代表字符型,也就是说 msgname 最长只能有20个字符。sprintf(msgname,"tic-%d",++seq);sprintf 函数与 printf() 基本一致,但输出结果写入字符串中。第一个参数就是指向要写入的那个字符串的指针,剩下的就和 printf() 一样。复制
2021-01-09 11:01:54
397
原创 OMNeT 例程 Tictoc7 学习笔记
omnetpp.ini 中代码如下:Tictoc7.tic.delayTime = exponential(3s)Tictoc7.t0c.delayTime = truncnormal(3s,1s)exponential() 参数为平均值,truncnormal() 将正态分布中的值截断为非负值。
2021-01-08 10:22:33
671
原创 OMNeT 例程 Tictoc1-5 总结
OMNeT例程 Tictoc 总结Tictoc1在 0s 初始化:tic 发送消息;0.1s toc 接收到 tictocMsg,然后发送出去;0.2s tic 接收到 tictocMsg,然后发送出去……Tictoc2相比 Tictoc1,增加的有:为简单模块设置外观属性,为子模块设置模块颜色;打印信息(EV)。在 0s 初始化:打印信息(Sending initial message),tic 发送消息;0.1s toc 接收到 tictocMsg,打印信息(Received message
2021-01-07 16:18:05
853
原创 OMNeT 例程 Tictoc6 学习笔记
OMNeT例程tictoc6学习笔记已弃OPNET坑,开始OMNeT学习,一定要坚持下去!tictoc1-16 例程一定要一个一个好好的看过去,给自己一个督促,也给学习OMNeT的战友们分享自己的想法。以下是 txc6.cc 的代码,自己加了一些注释。txc6.cc 是针对 ned 中 txc6 所做的详细描述。昨晚经大神指点,感觉看的还算通透。#include <stdio.h>#include <string.h>#include <omnetpp.h>
2021-01-07 15:20:09
659
原创 OPNET编译进程模型出现错误
OPNET编译进程模型出现错误错误写法:#define PK_ARRVL(op_intrpt_type() == OPC_INTRPT_STRM)出现错误:error C2010: “(” : 宏形参表中的意外error C2065: " PK_ARRVL" : 未声明的标识符正确写法:#define PK_ARRVL (op_intrpt_type() == OPC_INTRPT_STRM)总结#define空格A空格Bdefine和A和B要用空格隔开,不可连在一起!
2020-08-19 10:23:10
965
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人