-
Simulink RTW
的外部模式
简介
外部模式提供了两个分立系统之
间的通信,
也就是主机和目标机之间的通信。
主机是指运行
p>
MA
TLAB
和
S
imulink
环境的计算机。而目标机则是指运行由
RTW<
/p>
生成的可执行文件的计
算机。
主机
(
Simulink
环境)
通过传递消息来要求目标机接收改变的参数或是上传信号数据。
然后
目标机就会执行这些操作。
外部模式的通信是基于
一种客户端
/
服务器的结构,
其中
p>
Simulink
环境扮演客户端的角色,而目标机则扮演服务器。
外部模式可以帮助你:
l
实时修改
block
参数。在外部模式中你可以随时修改
block
表
中的参数,
Simulink
引擎会
将
他们下载到正在执行的目标机程序中。
这样你就可以在不用重新编译的情况下修改你程序
中的参数了。
l
观察并记录各种
block
和子系统的输出。
在不用编写任何接口程序的情况下你可以监控和
/
或保存从目标机程序中获得的信号数据。你也可以自己定义上传数据的条件,比如你可以
规定只当某个数据正向穿过
0
点的时候才上载数据。同样你也
可以选择手动上传数据。
要想使外部模式工作,你需要在
p>
Simulink
引擎和
RTW
产生的代码之间建立一个通信通道。
这个通道的底层通信层控制消息的物理
传播。
Simulink
引擎以及
RT
W
产生的代码对于这个
通信层来说都是独立的。
这个通信层以及实现它的代码被隔离在一个个单独的模块中,
而这
些模块负责构造,收发消息和数据包。
这种设计允
许不同的目标机运用不同的通信层。
ERT
,
< br>GRT
,
GRTmallc
,以
及
RSim
目标机
都支持外部模式,<
/p>
而这些外部模式既可以用串口也可以用网线来实现主机和目标机之间的通
< br>信。
xPC
目标机使用了一种自己特有的通信层,
风河系统的龙卷风目标机的外部模式只支持
TCP/IP
协议。
串口通信的外部模式只在微软的
32
位
Windows
操作系统结构下被实现。
p>
这个
实时的
Windows
目标机使用共享内存。
下载机制
在外部模式中,
Simulink
引擎并不对模型中用模块搭好的系统进行仿真。
在默认情况下,
当
外部模式被启动的时候,
p>
Simulink
引擎将全部参数下载到目标系统中。
当初始化信息被下载
之后,
引擎保持在等待状态知直
到你改变
block
图表中的参数或是引擎从目标机上获得数据
。
当你在结构图中改变一个参数,
S
imulink
引擎会调用外部接口的
MEX
< br>文件,将该参数的新
的值(以及其它相关信息)作为一个实参传给目标机。这个外
部接口
MEX
文件包含实现一
侧进程间
通信(
IPC
)通道的代码。这个
IP
C
通道将
Simulink
进程(也就
是这个
MAX
文件
运行的进程)
和运行外部程序的进程连接了起来。
并且该
M
AX
文件利用这个
IPC
通道将参
p>
数值传送到外部模式程序中。
而这个
通信通道的另一侧则是在外部程序中被实现的。
这一侧将这个新的参数值写入目
标机的参数结构体中。
Sim
ulink
一侧通过发送一个包含参数信息的消息到外部程序来初始化参数下载操作。<
/p>
在
客户机
/
服务
器模型的术语中,
Simulink
侧是客户机而外部程序是服
务器。这两个进程可以
在异地运行,也可以在本地运行。当在异地运行时,就会用到例如
TCP/IP
这样的通信协议
来传输数
据。
当客户机和服务器在本地工作时,
串口通信或是共享内存就
可以被用来传输数
据了。
下面的
示意图很清楚地展示了这种关系。
当结构图中的参数被改变时,
Simulink
引擎便
会调用外部接口
MEX
文件。随后这个
MEX
文件就
会通过通信通道将参数下载到外部程序
中。
外部模式结构图
-
-
-
-
-
-
-
-
-
上一篇:质量管理体系-内外部环境分析
下一篇:内外部环境因素识别表