


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Simulink RTW 的外部模式简介 外部模式提供了两个分立系统之间的通信, 也就是主机和目标机之间的通信。 主机是指运行 MATLAB 和 Simulink 环境的计算机。而目标机则是指运行由 RTW 生成的可执行文件的计 算机。主机( Simulink 环境) 通过传递消息来要求目标机接收改变的参数或是上传信号数据。然后目标机就会执行这些操作。 外部模式的通信是基于一种客户端/服务器的结构, 其中 Simulink环境扮演客户端的角色,而目标机则扮演服务器。外部模式可以帮助你:l 实时修改 block 参数。在外部模式中你可以随时修改 block 表中的参数, Simulink 引擎会
2、 将他们下载到正在执行的目标机程序中。 这样你就可以在不用重新编译的情况下修改你程序 中的参数了。l 观察并记录各种 block 和子系统的输出。 在不用编写任何接口程序的情况下你可以监控和 /或保存从目标机程序中获得的信号数据。你也可以自己定义上传数据的条件,比如你可以 规定只当某个数据正向穿过 0 点的时候才上载数据。同样你也可以选择手动上传数据。 要想使外部模式工作,你需要在 Simulink 引擎和 RTW 产生的代码之间建立一个通信通道。 这个通道的底层通信层控制消息的物理传播。 Simulink 引擎以及 RTW 产生的代码对于这个 通信层来说都是独立的。 这个通信层以及实现它的代
3、码被隔离在一个个单独的模块中, 而这 些模块负责构造,收发消息和数据包。这种设计允许不同的目标机运用不同的通信层。ERT, GRT, GRTmallc,以及RSim目标机都支持外部模式, 而这些外部模式既可以用串口也可以用网线来实现主机和目标机之间的通 信。 xPC 目标机使用了一种自己特有的通信层,风河系统的龙卷风目标机的外部模式只支持TCP/IP 协议。串口通信的外部模式只在微软的32 位 Windows 操作系统结构下被实现。 这个实时的 Windows 目标机使用共享内存。下载机制在外部模式中, Simulink 引擎并不对模型中用模块搭好的系统进行仿真。 在默认情况下, 当 外部模式
4、被启动的时候, Simulink 引擎将全部参数下载到目标系统中。 当初始化信息被下载 之后,引擎保持在等待状态知直到你改变block图表中的参数或是引擎从目标机上获得数据。当你在结构图中改变一个参数, Simulink 引擎会调用外部接口的 MEX 文件,将该参数的新 的值(以及其它相关信息)作为一个实参传给目标机。这个外部接口MEX 文件包含实现一侧进程间通信(IPC)通道的代码。这个IPC通道将Simulink进程(也就是这个 MAX文件 运行的进程) 和运行外部程序的进程连接了起来。 并且该 MAX 文件利用这个 IPC 通道将参 数值传送到外部模式程序中。而这个通信通道的另一侧则是在
5、外部程序中被实现的。 这一侧将这个新的参数值写入目 标机的参数结构体中。Simulink 一侧通过发送一个包含参数信息的消息到外部程序来初始化参数下载操作。在客户机 /服务器模型的术语中,Simulink 侧是客户机而外部程序是服务器。这两个进程可以在异地运行,也可以在本地运行。当在异地运行时,就会用到例如TCP/IP 这样的通信协议来传输数据。 当客户机和服务器在本地工作时, 串口通信或是共享内存就可以被用来传输数 据了。下面的示意图很清楚地展示了这种关系。 当结构图中的参数被改变时, Simulink 引擎便 会调用外部接口 MEX 文件。随后这个 MEX 文件就会通过通信通道将参数下载到
6、外部程序 中。外部模式结构图QjnejfFunctjonKFunctforCjlS'/nuhru Proce-tsExtemat InierfaocExtemat InierfaocMEXe io g t Co-mi)MEXe io g t Co-mi)Interprwes Cixnmunication Channel Transport LsyerInterprwes Cixnmunication Channel Transport Lsyer建立外部模式通信通道介绍这部分将告诉你如何利用自己编写的底层通信层的外部模式连接你自己的目标机。这部分主要包括以下几个主题:I外部模式的设计和
7、操作的概述I外部模式源文件的描述I修改外部模式源文件以及建立用来执行默认的ext_comm MEX-文件的任务的可执行文件这部分假设你已经熟悉RTW程序的执行以及与外部模式相关的基本操作。在程序结构和外部模式两部分中描述了相关内容。外部模式的设计Simulink引擎和目标机系统之间的外部模式通信是基于一种客户端/服务器的结构。客户端(Simulink引擎)向服务器(目标机)发送消息来改变参数或者是要求其上载信号数据。于 是服务器便会执行这些要求。低级通信层控制着消息的物理传播。 Simulink引擎和模块代码都独立于这个通信层。 这 个通信层以及实现它的代码被隔离在一个个单独的模块中,而这些模
8、块负责构造,收发消息和数据包。这种设计为不同的目标机用不同的通信层提供了可能。GRT, GRT malloc,ERT,以及RSim目标都支持利用 RS232 (串口)和TCP/IP协议的主机/目标机通信。RTWin目标机支持共享 内存通信,风河系统龙卷风目标机只支持TCP/IP。串口通信的外部模式只在微软的32位Windows操作系统结构下被实现。实时工具箱的产品为客户端和服务器端的外部模式模块都提供了完整的源文件。这些源文件被用于GRT,GRT malloc,ERT,快速仿真,龙卷风目标,以及实时Windows目标和xPC目标等产品。其中主客户端模块是ext_comm.c。主服务器端模块是
9、ext_svr.c。这两个模块通过以下的源文件调用指定的通信层:内置通信层的实现:(ext : execute )协议客户端/服务器源文件TCP/IPClie nt (host)matlabroot /rtw/ext mode/tcpip/ext tcpip transport.c1Server (target)matlabroot /rtw/c/src/ext_mode/com mon/rtiostreamn terface.c 禾口 matlabroot/rtw/c/src/ext_mode/tcpip/rtiostream_tcpip.cSerialClie nt (host)matla
10、broot /rtw/ext_mode/serial/ext_serial_tra nsport.c1Server (target)matlabroot /rtw/c/src/ext_mode/serial/ext_svr_serial_tra nsport.cext_tcpip_tra nsport.c禾口 ext_serial_tra nsport.c 模块实现了 客户端通信函数。rtiostreamnterface.c/rtiostream_tcpip.c 禾口 ext_svr_serial_transport.c 模块包含与之相应的服务 器端函数。你可以将这些文件复制出来,并编辑它们(
11、但不要再源文件上直接修改)。如果你想用你自己的低级通信层来实现外部模式,你可以利用一下模板来创建与上面所说的相似的文件: 客户(主机)端 :matlabroot/rtw/ext mode/custom/ext custom transport.c 服务器(目标机)端 :matlabroot/rtw/c/src/ext_mode/tcpip/rtiostream_tcpip.c (TCP/IP), 或 matlabroot /rtw/c/src/ext_mode/custom/ext_svr_custom_transport.c (serial)注意:不要修改用于工作的源文件。你可以利用/cus
12、tom or /tcpip目录下提供的模板。在刚开 始的时候按照里面的注释的指导做。你只需要提供实现底层通信的代码。你不需要考虑主机与目标机之间的数据转换或者是消息的格式等问题。RTW软件已经写好了这不问的函数。客户端(Simulink 引擎)的通信被 ext_comm (负责 TCP/IP 协议)和 ext_serial_win32_comm (负 责串口协议)MEX文件控制。而服务器(目标机)一侧,在生成代码的时候,如果生成外部模式代码的选项被选择的话,外部模式模块将会被自动连接到目标可执行文件当中。而这个自动连接的过程是遵循目标代码生成选项”对话框中的外部模式通信选项的。这些模块被主程序以及模型执行引擎调用。但这些模块是独立于模型生成的代码的。实现你自己的客户端的底层通信协议 的一般步骤如下:1、编辑模板ext custom transport.c (客户端的),用你自己编写的低级通信函数替换原有的 通信函数。2、 为你自定义的通信生成一个MEX文件的可执行文件。3、在Simulin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司代理人授权法定代表人声明3篇
- 家具招标文件编写技巧详解指南3篇
- 合同违约解决律师法律3篇
- 坚守法律底线的责任书3篇
- 代购服务委托书3篇
- 定金合同转让接收协议3篇
- 发电机组采购招标计划3篇
- 单位劳动争议处理委托书范例3篇
- 对讲机租借守则3篇
- 建筑工程授权委托书样本3篇
- 财务机器人开发与应用实战 课件 任务5 E-mail人机交互自动化-2
- 【华为】通信行业:华为下一代铁路移动通信系统白皮书2023
- Python 程序设计智慧树知到期末考试答案章节答案2024年四川师范大学
- 03D201-4 10kV及以下变压器室布置及变配电所常用设备构件安装
- 城乡环卫保洁投标方案(技术标)
- 充值合同范本
- MSDS中文版(锂电池电解液)
- 《职业病防治法》知识考试题库160题(含答案)
- 全国初中数学青年教师优质课一等奖《反比例函数的图象和性质》教学设计
- 2023-2024学年人教版数学八年级下册期中复习卷
- 环境监测仪器安装施工方案(更新版)
评论
0/150
提交评论