在Si金宝appmulink®块,直接馈通该块的输出由输入端口信号的值直接控制的装置。在非直接馈通,输出信号的值并不在模拟期间依赖于输入信号的值中的至少一个功能。
默认情况下,MATLAB功能块启用直接馈通。如果你禁用直接馈通,Simulink的语义确保输出仅依赖于当前的状态。金宝app使用非直接馈通,您可以使用MATLAB功能在反馈回路块,防止代数循环。
要使用非直接馈通:
启用的内联函数MATLAB功能通过使用块coder.inline
在顶级函数体。
打开的属性MATLAB功能Block和清除允许直接馈通。有关更多信息,请参阅指定MATLAB功能块属性。
不要程序输出依赖于输入或更新的持久性变量。例如,不以非直接馈通块使用此代码:
计数器=计数+ 1;%更新状态输出=计数器;基于更新的状态%计算输出
输出=计数器;基于当前状态%计算输出计数器=计数+ 1;%更新状态
如果允许直接馈通被禁用,则无法调用自定义代码函数MATLAB功能块,因为它是不可能的强制执行的自定义代码的功能的输出仅取决于当前状态。调用的自定义代码函数MATLAB功能块触发一个错误。