OPNET做仿真是比较牛的,但是opnet似乎没有特别好的方法来读场景,特别是无线仿真中如果节点坐标是别人给定好的,这个时候我觉得比较方便的方法是自己用python写个script来生成xml文件,然后在opnet中的topology来import这个xml文件。下面是我写的函数,很简单原始,也没用xml的工具库,就把xml当文本文件来处理了。
'''
Created on Dec 22, 2010
@author: hankgong
'''
def writeHeader():
outstr= \
'''<?xml version="1.0"?>
<!DOCTYPE network SYSTEM "network.dtd">
<network locale="C" version="1.7" reference_time="13:28:25.000 Dec 18 2010" attribute_processing="explicit">
<subnet name="Campus Network">
'''
return outstr
def writeFeeter():
outstr= \
''' <attr name="priority" value="0"/>
<attr name="user id" value="0"/>
<attr name="x position" value="0.0"/>
<attr name="y position" value="0.0"/>
<attr name="icon name" value="subnet"/>
<attr name="outline color" value="blue"/>
<attr name="doc file" value="nt_fixed_subnet"/>
<attr name="creation source" value="Object Palette"/>
<attr name="creation timestamp" value="13:21:18 Dec 18 2010"/>
<attr name="creation data" value=""/>
<characteristic name="units" value="Kilometers"/>
</subnet>
</network>
'''
return outstr
def writeRXGroup(x, y, commrange):
outstr=\
''' <node name="RXGroup" model="MWSReceiverGroup" ignore_questions="true" min_match_score="strict matching">
<attr name="x position" value="'''+str(x)+'''"/>
<attr name="y position" value="'''+str(y)+'''"/>
<attr name="threshold" value="0.0"/>
<attr name="icon name" value="util_rxgroup"/>
<attr name="doc file" value="nt_fixed_node"/>
<attr name="tooltip" value="Receiver Group Configuration"/>
<attr name="creation source" value="Object copy"/>
<attr name="creation timestamp" value="13:24:05 Dec 18 2010"/>
<attr name="creation data" value=""/>
<attr name="label color" value="black"/>
<attr name="drgm.Use Connection File" value="enabled"/>
<attr name="Distance Threshold (meters)" value="'''+str(commrange)+'''" symbolic="true"/>
</node>
'''
return outstr
def writeSeverNode(x, y):
outstr=\
''' <node name="Scheduler Sever" model="CentralSever" ignore_questions="true" min_match_score="strict matching">
<attr name="x position" value="'''+str(x)+'''"/>
<attr name="y position" value="'''+str(y)+'''"/>
<attr name="icon name" value="server"/>
<attr name="doc file" value=""/>
<attr name="tooltip" value=""/>
<attr name="creation source" value="Object Palette"/>
<attr name="creation timestamp" value="13:45:17 Dec 18 2010"/>
<attr name="creation data" value=""/>
</node>
'''
return outstr
def writeMNNode(x, y, node_ip, flow_dst_ip, startTime, stopTime, pktSize, intervalStr='constant (0.015)'):
outstr=\
''' <node name="node_'''+str(node_ip)+'''" model="MWSCentralMN" ignore_questions="true" min_match_score="strict matching">
<attr name="x position" value="'''+str(x)+'''"/>
<attr name="y position" value="'''+str(y)+'''"/>
<attr name="threshold" value="0.0"/>
<attr name="icon name" value="armoured_jeep.chassis"/>
<attr name="doc file" value=""/>
<attr name="tooltip" value=""/>
<attr name="creation source" value="Object Palette"/>
<attr name="creation timestamp" value="13:42:43 Dec 18 2010"/>
<attr name="creation data" value=""/>
<attr name="label color" value="black"/>
<attr name="flow_dst_ip" value="'''+str(flow_dst_ip)+'''"/>
<attr name="node_ip" value="'''+str(node_ip)+'''"/>
<attr name="traffic_gen.Packet Interarrival Time" value="'''+intervalStr+'''"/>
<attr name="traffic_gen.Packet Size" value="constant ('''+str(pktSize)+''')"/>
<attr name="traffic_gen.Start Time" value="'''+str(startTime)+'''"/>
<attr name="traffic_gen.Stop Time" value="'''+str(stopTime)+'''"/>
</node>
'''
return outstr
#print writeHeader()
#print writeRXGroup(0,0,1000)
#print writeSeverNode(1,1)
#print writeMNNode(5.02, 6.03, 3, 0, 10.1, 20)
#print writeFeeter()
分享到:
相关推荐
5. **报告生成**:OPNET能够自动生成详细的仿真报告,包括性能图表、比较分析等,便于分享和决策。 学习路径与必备资料: 对于初学者,掌握OPNET需要理解网络基础、协议原理以及软件操作。"OPNET必备资料"包含了从...
OPNET是一款强大的网络建模与仿真工具,广泛应用于多种网络设计和分析场景。它通过详细的模型库和灵活的配置选项,使用户能够深入理解和优化网络性能。以下将详细阐述OPNET的典型应用和适用的网络种类。 首先,...
- **源代码调试**:方便调试自动生成的C/C++代码。 **3. 软件安装与使用** - **启动软件**:OPNET Modeler启动后,用户会看到项目和场景的概念。 - **项目与场景**:项目是一系列场景的集合,场景代表网络的特定...
- 双击`bin`目录下的`OPNET.Modeler.11.5.License.MakerFFS.exe`,生成License。这个过程可能需要一段时间。 - 再次打开“License Management”,此时应该可以看到60个License了。 **5. 完成安装并测试** - 在...
这些标签表明文件专注于使用OPNET进行TDMA仿真,特别是应用于无线通信场景。 在压缩包的子文件中,“www.pudn.com.txt”可能是一个文本文件,可能是下载链接或介绍信息,来源于pudn.com,这是一个提供各种资源下载...
5. **丰富的分析工具**:提供了多种图表、报告生成工具,方便用户直观地分析仿真结果。 6. **教学资源丰富**:针对初学者,OPNET提供了大量的教学资源和支持文档。 #### 三、OPNET入门学习路径 1. **基础知识准备*...
总的来说,OPNET 14.5仿真实例提供了一个学习网络仿真的综合平台,通过三层建模方法,用户可以全面地理解网络中数据的生成、传输和处理过程。这不仅有助于提升理论知识,也有助于培养实际问题解决能力,对于从事网络...
在本文中,我们将深入探讨如何在OPNET平台上进行时分多址(TDMA)的仿真,同时结合物联网(IoT)应用的实例。OPNET是一款强大的网络仿真软件,广泛用于研究和设计各种通信网络,包括无线网络、物联网系统以及传统的...
用户可以通过它创建自定义的网络模型,模拟各种场景,分析网络性能指标,如吞吐量、时延、丢包率等。 2. **MANET仿真实例** 在这个压缩包中,"MANET.project"是OPNET项目文件,包含了MANET的配置和设定。项目文件...
OPNET Modeler是一款强大的网络仿真和性能分析工具,主要用于...这个压缩包文件"OPNET Modeler"很可能包含了相关的实验指导、模型示例或者预设的仿真场景,对于学习和研究OPNET Modeler的用户来说是一份宝贵的资源。
OPNET是一款强大的网络性能分析和建模工具,广泛应用于计算机网络设计、优化和仿真。这份“详细OPNET安装学习资料”包含了一系列与OPNET相关的学习材料,旨在帮助初学者和经验丰富的用户更好地理解和掌握该软件。 ...
可生成Opnet14.5的注册文件,Opnet安装完成后运行该文件即可
经典OPNET实例,是学习opnet的很好入门方式
7. **脚本编程**:了解如何利用OPNET的API和脚本语言(如Perl、Python)进行自动化和高级定制。 8. **最佳实践**:获取社区推荐的配置模板、优化技巧和经验总结,提高工作效率。 9. **社区互动**:了解如何参与...
4. **报告生成器**:自动生成详细的分析报告,方便用户理解和分享结果。 **应用案例** OPNET无线建模的应用广泛,包括但不限于以下场景: - **网络规划**:在部署新的无线网络前,预测其性能并优化配置。 - **...
3. **分析工具**:OPNET提供了丰富的分析工具,如统计报告、图表生成等,帮助用户更好地理解仿真结果。 #### 三、OPNET的特点 1. **高精度**:OPNET采用了精确的算法和数据模型,能够准确地反映网络行为。 2. **...