当Omnet ++模拟运行时,是否可以更新和使用更新的.ini和.ned文件?

时间:2015-07-15 23:42:45

标签: matlab omnet++

我试图并行运行Omnet ++和matlab软件并希望它们进行通信。当Omnet ++运行时,我想更新节点的位置,为此我想连续编辑带有matlab结果的.ned和.int文件。在模拟期间,我想使用更新的文件生成结果文件。我只想更新位置,不想添加或删除任何节点。请建议我继续进行的方式?

matlab_loop
{
 matlab_writes_position_in_ned_file;
 delay(100ms);
 }
omnet_loop
 {
   omnet_loads_ned_and_simulates;
   //sca and vec should update;
   delay(100ms);
 }    

谢谢。

2 个答案:

答案 0 :(得分:0)

NED和Ini文件仅在模型初始化期间读取。模拟开始后,您无法再“读取”它们。另一方面,您可以使用OMNeT ++的C ++ API自由修改参数并创建/删除模块。你想要实现的是基本的:根据matlab代码执行的一些计算来设置你的节点位置。正确的方法:

  • 从您的matlab代码生成C代码。
  • 将该代码链接到您的OMNeT ++模型
  • 使用matlab代码
  • 创建一个新的移动模型(假设您使用的是INET)

答案 1 :(得分:0)

您正在寻找的内容似乎更像是一个项目而不是问题/问题,可以在Q& A网站中解决,例如stackoverflow。

很遗憾,我对matlabV-REP几乎一无所知,无法为您提供满意的答案。但是,您似乎需要在较低级别使用API​​。

作为耦合不同模拟工具以形成模拟框架的示例,如果需要,请考虑阅读this论文和this

还要注意@Rudi给出的答案。他似乎知道他在说什么。