Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 全局变量未在Simulink中刷新_Matlab_Global Variables_Simulink - Fatal编程技术网

Matlab 全局变量未在Simulink中刷新

Matlab 全局变量未在Simulink中刷新,matlab,global-variables,simulink,Matlab,Global Variables,Simulink,我对Simulink不是很熟悉,但我需要它作为我正在构建的实验装置,所以我边学边用 我正在使用Simulink向不同的硬件发送信号。在我的Simulink代码中,我设置了一个名为temp(red*)的全局变量,该变量用于MatLab函数(blue*)。此Simulink代码基于同事以前的代码,“数据存储内存”框未连接到原始代码中的任何内容 这是“数据存储内存”内部的屏幕截图。不过,在原始代码中,它说它连接到一个函数Write Angle1,我将该函数重新调整为Write Angle2。您可以从

我对Simulink不是很熟悉,但我需要它作为我正在构建的实验装置,所以我边学边用

我正在使用Simulink向不同的硬件发送信号。在我的Simulink代码中,我设置了一个名为temp(red*)的全局变量,该变量用于MatLab函数(blue*)。此Simulink代码基于同事以前的代码,“数据存储内存”框未连接到原始代码中的任何内容

这是“数据存储内存”内部的屏幕截图。不过,在原始代码中,它说它连接到一个函数Write Angle1,我将该函数重新调整为Write Angle2。您可以从第三幅图中我的代码的旧版本中看到这一点

我的同事告诉我,如果我单击“刷新”,它应该会自动更新使用
temp
的代码,这是第一张图像中的蓝星,但这不起作用

下面是我从Simulink编写angle2代码的开始。Write now正在调用temp,稍后我还没有将其合并到代码中,但是当我短暂地这样做,然后返回Simulink并单击refresh时,这仍然不起作用。我希望能找到问题的根源,如果问题不清楚,我很乐意编辑这个问题以提供更多信息

function [y,P] = fcn(Initial,Times,t,crc_table,Ini_phi)
    clc
    %#codegen
    global temp
    sample = 0.005;
    tt = double(t)/double(sample);
    tt = round(tt);
    f = 0.999;      % 99.9% of a value to be compared to

我的目标是确保“数据存储内存”将全局变量temp与写入角度2进行通信。

您无法将其链接到函数,因为在MATLAB函数“写入角度2”的输出中没有使用“数据存储写入”块

这张截图将非常清晰:

我建议使用以下步骤建立数据存储连接:

  • 添加“数据存储内存”块,打开它并添加数据存储名称
  • 添加“数据存储写入”块,打开它并开始键入相同的名称,它将自动列出数据存储名称,只需单击它,即可建立连接

  • 我试试看。但我的同事在使用类似的Simulink代码时并不需要这些。