为什么每当我尝试 运行 我的模拟时都会收到此消息。达到模拟时间限制——在 t=10000,事件 #1
Why do I get this message whenever I try to run my simulation. Simulation time limit reached -- at t=10000, events #1
每当我尝试 运行 我在 omnet++ 中的模拟时,我都会收到消息 Simulation time limit reached -- at t=10000, events #1。我不知道是什么阻止了我的程序正常运行 运行ning。
这是我的 NED 代码:
simple rdr
{
gates:
input in[];
output out[];
}
//
network radr
{
@display("bgb=356,232");
submodules:
rdrchk1: rdr {
@display("p=49,41");
}
rdrfail1: rdr {
@display("p=207,146");
}
rdrsucess1: rdr {
@display("p=207,48");
}
connections:
rdrchk1.out++ --> { } --> rdrfail1.in++;
rdrchk1.out++ --> { } --> rdrsucess1.in++;
}
这是我的 C++ 代码。
#include <string.h>
#include <omnetpp.h>
using namespace omnetpp;
class rdr : public cSimpleModule
{
protected:
// The following redefined virtual function holds the algorithm.
virtual void initialize() override;
virtual void handleMessage(cMessage *msg) override;
};
// The module class needs to be registered with OMNeT++
Define_Module(rdr);
void rdr::initialize()
{
int v1 = rand() % 100;
int v2 = rand() % 100;
int v3 = rand() % 100;
if (strcmp("rdrchk1.out", getName()) == 0) {
cMessage *msg = new cMessage("objectcheck");
if (v1<78|| v2 < 82 || v3 <69){
send(msg, "rdrsucess1.in");
}
else{
send(msg, "rdrfail1");
}
}
}
void rdr::handleMessage(cMessage *msg)
{
send(msg, "out");
}
这是我的 ini 代码:
[General]
network = radr
cpu-time-limit = 1000s
real-time-limit = 1000s
sim-time-limit = 1000s
simtime-resolution = ps
我的程序应该在 rdrchk1 上生成一个消息,然后将它发送到 rdrfail1 或 rdrsucess1。如果有人能告诉我我错过了什么,那就太好了。谢谢你的时间。
这是阻止它的原因:sim-time-limit = 1000s
作为旁注,也删除 cpu-time-limit
和 real-time-limt
。
如果 (strcmp("rdrchk1.out", getName()) == 0)
.
,则从 "rdrchk1.out"
中删除 .out
允许模拟通过
每当我尝试 运行 我在 omnet++ 中的模拟时,我都会收到消息 Simulation time limit reached -- at t=10000, events #1。我不知道是什么阻止了我的程序正常运行 运行ning。
这是我的 NED 代码:
simple rdr
{
gates:
input in[];
output out[];
}
//
network radr
{
@display("bgb=356,232");
submodules:
rdrchk1: rdr {
@display("p=49,41");
}
rdrfail1: rdr {
@display("p=207,146");
}
rdrsucess1: rdr {
@display("p=207,48");
}
connections:
rdrchk1.out++ --> { } --> rdrfail1.in++;
rdrchk1.out++ --> { } --> rdrsucess1.in++;
}
这是我的 C++ 代码。
#include <string.h>
#include <omnetpp.h>
using namespace omnetpp;
class rdr : public cSimpleModule
{
protected:
// The following redefined virtual function holds the algorithm.
virtual void initialize() override;
virtual void handleMessage(cMessage *msg) override;
};
// The module class needs to be registered with OMNeT++
Define_Module(rdr);
void rdr::initialize()
{
int v1 = rand() % 100;
int v2 = rand() % 100;
int v3 = rand() % 100;
if (strcmp("rdrchk1.out", getName()) == 0) {
cMessage *msg = new cMessage("objectcheck");
if (v1<78|| v2 < 82 || v3 <69){
send(msg, "rdrsucess1.in");
}
else{
send(msg, "rdrfail1");
}
}
}
void rdr::handleMessage(cMessage *msg)
{
send(msg, "out");
}
这是我的 ini 代码:
[General]
network = radr
cpu-time-limit = 1000s
real-time-limit = 1000s
sim-time-limit = 1000s
simtime-resolution = ps
我的程序应该在 rdrchk1 上生成一个消息,然后将它发送到 rdrfail1 或 rdrsucess1。如果有人能告诉我我错过了什么,那就太好了。谢谢你的时间。
这是阻止它的原因:sim-time-limit = 1000s
作为旁注,也删除 cpu-time-limit
和 real-time-limt
。
如果 (strcmp("rdrchk1.out", getName()) == 0)
.
"rdrchk1.out"
中删除 .out
允许模拟通过