主要内容

访问数据MATLAB函数在模拟

你可以流信号数据到MATLAB®的回调函数数据访问功能的仪器性能一个信号。您提供的函数在整个模拟过程中以包的形式异步接收数据。每次收到新数据时,回调函数都会执行。您可以编写回调函数来在模拟期间处理信号数据或创建信号的自定义可视化。回调函数不会影响模型中的信号值。本示例演示了在模拟期间使用绘制信号的简单回调函数访问信号数据所需的步骤。

请注意

数据访问不支持快速加速器模式、参考模型、定金宝app点数据和虚拟总线信号,仅支持一维和二维矩阵信号。

为数据访问编写回调函数

数据访问回调函数总是接收信号数据作为第一个参数。您可以选择是否发送仿真时间和参数。当包含所有三个参数时,模拟时间是第二个参数。你的回调函数可以特定于一个信号,或者你可以使用同一个回调来处理和可视化多个信号。回调函数一次只能访问单个信号的数据。这个示例创建了一个回调函数,它接收信号数据、时间和一个参数,该参数用于标识函数对给定调用正在处理哪个信号。

请注意

数据访问回调函数以数组结构的形式接收非虚拟总线数据,该数组结构与总线的层次结构相匹配。

在m-file中编写与你的函数同名的回调函数。有关编写MATLAB函数的更多信息,请参见在文件中创建函数.示例回调函数使用可选参数为每个信号分配一个数字标识符。该参数用于为每个信号创建一个独特的图形,并为每个信号分配不同的线条颜色。要在图上积累信号数据,回调包括抓住.对于回调函数的每次调用,函数都会接收一部分信号数据。如果需要,您可以使用回调来累积数据包。

函数plotSignals (y,时间、正负号)图(符号)如果isequal =(正负号,1)标志“ro - - - - - -”elseifisequal =(正负号,2)标志“去,”其他的标志=“bo - - - - - -”结束持有;情节(时间、y标记);结束

回调函数不提供返回值。如果使用returns指定函数,返回的数据将被丢弃。

提示

使用assignin从基本工作区中的回调函数访问数据。

保存回调函数在MATLAB路径上的一个位置。如果保存回调的位置不在路径上,您可以将它添加到路径中。控件中包含回调的目录单击鼠标右键当前文件夹节的MATLAB和选择添加到路径

配置数据接入信号

要使用数据访问回调来访问信号的数据,您需要记录信号。要将信号标记为日志记录,右键单击模型中的信号并选择日志选择信号.要配置信号的数据访问,右键单击日志标记并选择属性.在数据访问选项卡的仪器性能,可以指定回调函数的名称、回调函数是否以time作为参数以及可选的参数值。

例如,打开vdp建模并配置x1x2信号,以使用上一节中的回调。

  1. 输入vdp在MATLAB命令窗口

  2. 选择x1x2信号。然后,右键单击选中的信号并选择日志选择信号从上下文菜单。

  3. 打开仪器性能,右击日志标记x1并选择属性

  4. 数据访问窗格中,输入回调的名称,勾选包括仿真时间,并输入1随着函数参数

  5. 打开仪器性能x2和配置数据访问窗格,以使用plotSignals回调的函数参数的价值2

模拟vdp模型。回调生成图1和图2来显示x1x2在模拟信号。

您可以修改回调函数来创建自定义可视化或创建处理信号数据的图。与数据访问回调函数相关的错误不中断模拟。误差在诊断查看器作为一个警告。

相关的话题