Matlab 全局变量未在Simulink中刷新
我对Simulink不是很熟悉,但我需要它作为我正在构建的实验装置,所以我边学边用 我正在使用Simulink向不同的硬件发送信号。在我的Simulink代码中,我设置了一个名为temp(red*)的全局变量,该变量用于MatLab函数(blue*)。此Simulink代码基于同事以前的代码,“数据存储内存”框未连接到原始代码中的任何内容 这是“数据存储内存”内部的屏幕截图。不过,在原始代码中,它说它连接到一个函数Write Angle1,我将该函数重新调整为Write Angle2。您可以从第三幅图中我的代码的旧版本中看到这一点 我的同事告诉我,如果我单击“刷新”,它应该会自动更新使用Matlab 全局变量未在Simulink中刷新,matlab,global-variables,simulink,Matlab,Global Variables,Simulink,我对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代码时并不需要这些。