Simu5G UE添加以太网端口连接TSN Device启动报错求助
问题排查与解决思路
错误核心原因
报错No submodule 'ue[1]' to be connected说明:你在TSN_5G.ned第107行尝试连接索引为1的UE子模块,但仿真初始化时该子模块并未被创建。
具体排查步骤
检查UE数量配置
打开omnetpp.ini,找到控制UE数量的参数(通常是**.numUe或对应模块的数组配置),确保数值≥2(OMNeT++中子模块数组索引从0开始,ue[1]是第二个UE实例)。如果当前配置的numUe=1,仅会创建ue[0],自然找不到ue[1]。验证TSN_5G.ned中UE模块定义
确认UE子模块是以数组形式声明的:submodules: ue[]: NRUe;或通过参数动态指定数量:
parameters: int numUe = default(2); submodules: ue[numUe]: NRUe;若写成单个模块
NRUe ue;,则只能用ue引用,不能使用数组索引ue[1]。修正链路连接语句
检查TSN_5G.ned第107行的连接代码,避免硬编码索引超出实际UE数量。如果需要连接所有UE到TSN设备,建议使用循环连接:connections: for i=0..numUe-1 { connect(ue[i].ethPort, tsnDevice.ethPort); }确认NRUe.ned的以太网接口配置
确保你在NRUe.ned中正确添加了以太网门和对应模块:gates: inout ethPort; submodules: ethInterface: EthernetInterface { @display("p=100,100"); } connections: connect(ethPort, ethInterface.gateIn); connect(ethInterface.gateOut, ethPort);内部模块配置错误可能导致UE子模块初始化失败,间接引发找不到
ue[1]的问题。检查demo.xml的拓扑定义
如果使用demo.xml动态生成拓扑,确认其中定义的UE节点数量与omnetpp.ini、TSN_5G.ned中的配置一致,避免动态生成的UE数量不足。
内容的提问来源于stack exchange,提问作者How-Hang Liu
相关产品推荐
相关产品推荐

