使用外部模式进行参数调整和信号监测

可以使用外部模式模拟进行快速原型制作。外部模式模拟在Simulink之间建立通信通道万博1manbetx®在您的开发计算机(主机)和运行代码生成和构建过程创建的可执行文件的目标硬件上。

通过沟通渠道,您可以:

  • 实时修改或调整块参数。更改模型中的参数时,Simulink会将新值下载到正在执行的目标应用程序。万博1manbetx

  • 监视并保存来自正在执行的目标应用程序的信号数据。

通道的低级传输层处理消息的传输。Simulink和生成的模型代码独立于该层。传输层及其接口代码在单独的模块中隔离,这些模块用于格式化、传输和接收消息和数据包。万博1manbetx

设置和运行使用TCP/IP或串行(RS-232)通信信道的外部模式模拟。

  1. 创建并配置一个简单的模型。

  2. 构建目标可执行文件。

  3. 运行目标应用程序。

  4. 调整参数。

例如:Mandelbrot集合

描述

您不必熟悉示例中的算法即可完成本教程。

Mandelbrot集是由值组成的复平面中的区域Z0该方程定义的轨迹保持有界于K→∞

Z K + 1. = Z K 2. + Z 0 , K = 0 , 1. ,

Mandelbrot集合的整体几何结构如图所示。这个观点没有分辨率显示丰富详细的结构边缘的边界以外的集合。在不断放大的情况下,Mandelbrot集合展示了一个复杂的边界,揭示了越来越精细的递归细节。

算法

在本教程中,选择一组限制,用于指定主心形线和主心形线之间山谷中Mandelbrot集的高度缩放部分p/q灯泡在它的左边。真实零件的1000x1000网格(x)虚部(Y)是在这两个界限之间创建的。然后在每个网格位置迭代Mandelbrot算法。迭代次数为500就足以以全分辨率呈现图像。

最大迭代次数=500;网格大小=1000;xlim=[-0.748766713922161,-0.748766707771757];ylim=[0.123640844894862,0.123640851045266];

本教程使用标准MATLAB实现Mandelbrot集®CPU上运行的命令。方法中提供的代码为基础用MATLAB进行实验克里夫·莫勒(Cleve Moler)的电子书。这个计算被向量化,这样每个位置都是同时更新的。

创建曼德布洛特模型

  1. 创建新的Simulink模万博1manbetx型并插入MATLAB函数用户定义函数图书馆。

  2. 双击其中一个MATLAB函数块默认函数签名出现在MATLAB函数块编辑器。

  3. 定义一个名为mandelbrot_count,它实现了Mandelbrot算法。函数头文件声明最大迭代次数,xGrid,yGrid作为一个论点mandelbrot_count功能,带有计数作为返回值。将编辑器文档保存到文件。

    函数count=mandelbrot\u count(最大迭代次数、xGrid、yGrid)%曼德布罗特计算z0=xGrid+1i*yGrid;计数=个(尺寸(z0));将计算映射到GPUcoder.gpu.kernelfun;z=z0;对于n=0:maxz=z.*z+z0;内侧=abs(z)<=2;计数=计数+内部;终止计数=对数(计数);

  4. 右键单击MATLAB函数阻止并选择块参数(子系统)

  5. 代码生成选项卡上,选择可重用的功能对于功能包装

  6. 添加轮廓尺寸(万博1manbetxSimulink)块和外港(万博1manbetxSimulink)来源下沉图书馆。

  7. 如图所示连接这些块。将模型保存为mandelbrot_top.slx

    万博1manbetx显示块之间连接的Simulink模型。

构建目标可执行

设置外部模式目标应用程序所需的模型和代码生成参数。然后,生成代码并构建目标应用程序。

  1. 应用程序在Simulink t万博1manbetxoolstrip上的设置为在硬件上运行部分,单击在硬件板上运行

  2. 硬件板的部分,硬件板列表,选择英伟达捷森酒店

  3. 准备部分,单击硬件设置.打开“配置参数”对话框,显示如下信息硬件实现由所选单板决定的设置。

  4. 解算器面板:

    1. 类型字段中,选择固定步长

    2. 解算器字段中,选择离散(无连续状态)

    3. 点击解算器的细节. 在固定步长字段中,指定0.1(否则,生成代码时,GPU编码器™ 生成过程生成警告并提供值。)

    4. 点击申请

  5. 数据导入/导出窗格中,清除时间输出复选框。在本例中,数据没有记录到工作区或mat文件中。点击申请

  6. 代码生成>优化窗格,检查一下默认参数的行为被设置为可调。如果要进行更改,请单击申请

  7. 代码生成>界面窗格中,在数据交换接口节,选择外部模式

  8. 外部模式配置节中,请确保默认值协议原理传输层参数

    这个MEX-file名字指定实现主机-目标通信的MEX文件的名称。TCP/IP的默认值为ext_comm中提供的一个mex文件万博1manbetx仿真软件编码器™软件

    这个MEX-file参数字段允许您指定要传递给外部接口程序的参数,例如TCP/IP服务器端口号。这些参数特定于您正在使用的外部接口。

    本教程使用默认参数。离开MEX-file参数字段空白。

    这个静态内存分配复选框控制如何为目标中的外部模式通信缓冲区分配内存。对于本教程,不要选择复选框。

  9. 点击申请保存外部模式设置。

  10. 保存模型。

  11. 选择代码生成窗格。确保仅生成代码已清除。

  12. 要生成代码并创建目标应用程序,请在模型窗口中按Ctrl + B.或者,在硬件选项卡,在硬件上运行部分,单击监视和调谐.然后,在逐步命令,点击为监控而构建

    该软件创建曼德布罗特托普酒店工作文件夹中的可执行文件。

目标应用程序运行

现在运行曼德布罗特托普酒店以可执行文件为目标,并使用Simulink作为运行目万博1manbetx标应用程序的交互式前端。可执行文件在您的工作文件夹中。运行目标应用程序并在Simulink和目标之间建立通信。万博1manbetx

运行目标应用程序。

  1. 硬件选项卡,在硬件上运行部分:

    1. 停止时间字段中,指定,它使模型运行,直到目标应用程序收到来自Simulink的停止消息万博1manbetx

    2. 点击监视和调谐.然后,在逐步命令,点击部署

    目标应用程序开始执行,并进入等待状态。

  2. 硬件选项卡,在硬件上运行部分,单击监视和调谐.然后,在逐步命令,点击连接. 此操作将启动Simulink与目标应用程序之间的握手。连接Simulink和目标时万博1manbetx连接按钮更改断开

  3. 在硬件上运行部分,单击,它开始执行生成的模型代码。

您已经在Simulink和正在运行的目标应用程序之间建立了通信。万博1manbetx

停止目标应用程序

要同时断开Simulink与主机/目标通信的连接并结束目标万博1manbetx应用程序的执行,请在硬件选项卡,在硬件上运行部分,单击停止

另见

功能

相关的话题