[发明专利]无线网络控制系统联合仿真方法有效

专利信息
申请号: 202110603119.8 申请日: 2021-05-31
公开(公告)号: CN113378364B 公开(公告)日: 2022-11-11
发明(设计)人: 宋杨;陈栋;杜明聪 申请(专利权)人: 上海大学
主分类号: G06F30/20 分类号: G06F30/20;G08C17/02;H04W24/06
代理公司: 上海金盛协力知识产权代理有限公司 31242 代理人: 严帅
地址: 200444 上*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 无线网络 控制系统 联合 仿真 方法
【权利要求书】:

1.一种无线网络控制系统联合仿真方法,其特征在于,所述联合仿真方法包括:

步骤S1、通过对需要仿真的通信网络的通信协议、通信设备、子网设备、通信节点和子网数量进行分析并构建相应的OPNET模型的进程模型、节点模型和网络模型,以及各模型和网络协议的参数设置;步骤S1包括:

步骤S11、选择动态源路由协议DSR作为所有移动节点的路由协议,通过对协议模型中位于应用层的数据源模块进行修改来配合联合仿真;

步骤S12、对OPNET Modeler提供的拥有相关协议的节点模型做一定的修改来实现自己的仿真目的;

步骤S13、采用OPNET协议库提供的MANET库节点manet_station_adv作为协议模型,通过对协议模型中位于应用层的数据源模块进行修改来配合联合仿真,从而实现OPNET/Simulink联合仿真与MANET路由协议的结合;

步骤S14、在发送数据包时携带接口控制信息ICI,ICI是动态的仿真实体,在进程执行的过程中根据需要创建和销毁;使用核心函数op_ici_create()创建一个ICI,并返回一个ICI的指针,这个指针被用来作为该ICI的引用;一个新创建的ICI并不包含任何信息,必须通过核心函数来添加各属性,核心函数包括op_ici_attr_set(),op_ici_attr_set_ptr();

步骤S15、OPNET仿真核心通过绑定机制将一个ICI与事件关联,每一个进程在任意时刻只能绑定一个ICI;通过核心函数op_ici_install()把某个ICI绑定到一个输出中断,绑定之后,这个ICI就能随着输出的包发送函数或其他的发送函数输出到另外的进程或模型中的其他层;当一个ICI被某个进程接收到时,该进程能通过核心函数op_intrpt_ici()得到这个ICI的指针,并通过op_ici_attr_get()获得这个ICI的属性值;当一个存在的ICI不再需要时,能通过使用op_ici_destory()来销毁这个ICI;

步骤S2、通过对OPNET库中MANET节点二次开发实现MANET节点控制其Simulink模型并使得MANET节点能接收/发送控制系统的数据,通过在被控对象节点和控制器节点中分别用两个MATLAB引擎来调用被控对象和控制器的Simulink模型;这两个MATLAB引擎分别作为OPNET与被控对象模块和控制器模块的接口模块,使两仿真软件之间数据的传递、仿真控制命令的传输都彼此独立,不会互相影响而干扰仿真的正常进行;而对象节点和控制器节点之间则通过OPNET中的无线网络实现数据包的传递,由此构成一个实时反馈的无线网络控制系统;步骤S2包括:

步骤S21、在确保数据源模块能够与协议其它各层正常通信的前提下加入MATLAB引擎的定义和调用来启动联合仿真,并通过添加各种Simulink仿真控制命令和自定义的调用函数来实现联合仿真数据包的创建、发送和接收;同时对路由协议所需的路由信息进行定义以配合IP层的协议要求;同时为了保证修改后的节点能与其他的MANET节点正常通信,需要对属性的声明、各种统计量的操作进行保留;

步骤S22、对象节点数据源模块的进程模型处理步骤;包括:

步骤S221、通过五个有限状态机完成数据源模块的初始化和统计量的注册,包括调入用户定义的属性和参数,初始化进程模型的全局变量和联合仿真需要用到的变量,并注册统计量以便ip_encap层查询和识别;同时打开MATLAB引擎调用被控对象的Simulink模型并启动Simulink仿真;完成初始化后等待其它进程模型准备就绪;接着进入等待中断的空闲状态,该进程模型会响应两种中断,一种是定时采样数据的自中断PLANT_SAMPLE,另一种是数据包到达中PLANT_ARRIVAL;

步骤S222、读取被控对象Simulink模型数据,并将采集的数据与协议所需的路由信息一起打包发送;当OPNET的仿真时间到达采样时刻,就会响应自中断,从MATLAB的工作空间中读取被控对象Simulink模型的数据,然后调用plant_send函数将当前的状态放入数据包中,同时定义源节点plant和目的节点controller的IP地址,并将它们写入ip_encap模型的接口控制信息ICI中,接着把数据包发送给ip_encap模块,这样ICI中的路由信息也随着数据包一起发送出去;

步骤S223、接收从控制器返回的数据包并重新启动Simulink仿真;一旦接收到数据包到达中断,立即调用plant_arrive函数来接收从controller得到的数据,同时命令被控对象模型按先前的输入参数运行以补偿测得的时延时间;接着将更新的控制信息数据写入MATLAB工作空间以更新被控对象Simulink模型的相关参数,最后重新启动Simulink仿真直至下一个采样时刻;

步骤S23、控制器节点数据源模块的进程模型处理步骤;包括:

步骤S231、模块的初始化和统计量的注册,同时调用控制器的Simulink模型;

步骤S232、接收对被控对象数据包,并将控制器模型的输出与路由信息一起打包发送;当接收到数据包到达中断后,controller立即获取数据包中的plant状态,然后将得到的数据写入MATLAB工作空间中来不断更新控制器模型的相关参数;控制器根据最新的参数对系统进行控制;接着将controller的输出放入创建的数据包中,同时把源节点controller和目的节点plant的IP地址写入ip_encap模型的ICI中,最后把数据包发送给ip_encap模块;

其中,进程模型用于具体实现节点模型中各个模块的功能,通过强大的有限状态机来支持协议的实现;所述进程模型包含了8个有限状态机,分别模拟如下几个状态:

1)init状态:当仿真开始时,进程模型首先进入init状态进行模块的初始化操作,操作内容包括:调入用户定义的属性和参数,初始化进程模型的全局变量和联合仿真需要用到的变量,设置中断优先级,注册统计量以便ip_encap查询和识别;同时打开MATLAB引擎调用被控对象的Simulink模型并启动Simulink仿真;

2)wait状态:wait_0、wait_1和wait_2状态的功能都是等待节点的其它进程准备就绪;

3)discover状态:用来动态发现和观察节点中的IP模块;

4)dispatch表示进入等待中断的空闲状态,plant_src进程模型会响应两种中断,一种是定时采样数据的自中断PLANT_SAMPLE,另一种是数据包到达中断PLANT_ARRIVAL;

5)sample状态:被控对象节点的数据发送是时间驱动的,当OPNET的仿真时间到达采样时刻,就会对自中断作出响应,从MATLAB的工作空间中读取被控对象Simulink模型的数据,然后调用plant_send()函数将palnt当前的状态放入数据包中,同时定义源节点plant和目的节点controller的IP地址,并将它们写入ip_encap模型的接口控制信息ici中,接着把数据包发送给ip_encap模块,这样ici中的路由信息也随着数据包一起发送出去;

6)continue状态:当接收到来自控制器节点发出的数据包时就会产生包到达中断PLANT_ARRIVAL,此时plant_src就会对该中断作出响应,调用plant_arrive()函数来接收从controller得到的数据,同时命令被控对象模型按先前的输入参数运行以补偿测得的时延时间;接着将更新的控制信息数据写入MATLAB工作空间以更新被控对象Simulink模型的相关参数,最后重新启动Simulink仿真直至下一个采样时刻;完成上述步骤后,进程将返回dispatch状态继续等待中断。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110603119.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top