Simulink使能(Enable)、触发(Triggered)模块及其子系统的应用

Simulink中的使能(Enable)和触发(Triggered)模块及其子系统可以用于控制模型中的仿真运行时间和采样周期,从而提高模型的仿真效率和精度。

  • 使用使能子系统
    创建一个在控制信号为正值时执行的子系统。
  • 使用触发子系统
    创建通过触发信号执行的子系统。
  • 使用使能触发子系统
    创建通过触发信号或正值控制信号执行的子系统。

使能(Enable)模块可以控制模型的仿真运行时间,即在一段时间内仅对指定的模块或子系统进行仿真运算,从而避免对整个模型进行计算,提高了仿真效率。在Simulink中,使能模块可以通过设置其Enable输入端口的值为1或0来开启或关闭模块的仿真。

触发(Triggered)模块可以在指定的时间或事件发生时才进行仿真运算,从而保证模型的仿真精度。在Simulink中,触发模块可以通过设置其Trigger输入端口的值来触发模块的仿真。

使能和触发模块还可以作为子系统的开关来控制子系统的仿真运行时间和采样周期。例如,在一个较大的模型中,可以将一些不经常使用或计算量较大的子系统放在使能或触发模块中,以减少整个模型的计算量和仿真时间,提高仿真效率和精度。

总之,使能和触发模块及其子系统在Simulink中应用广泛,可以有效控制模型的仿真时间和采样周期,提高仿真效率和精度。

在 Simulink 中,使能模块和触发模块都是用于控制模块的运行时机。

使能模块通常用于控制模块在整个仿真过程中是否被激活和执行。当使能信号为真时,模块才会被激活并开始执行。这种模块适用于需要根据系统状态或输入决定某些模块是否执行的情况。

触发模块通常用于控制模块在某个特定时间或事件触发时才被激活和执行。触发事件可以是外部输入的变化、时钟触发、或者是其他模块的输出信号。这种模块适用于需要在特定时间或事件触发时才执行的情况。

在某些情况下,一个模块既需要在特定时间或事件触发时才执行,又需要根据系统状态或输入决定是否执行。这时,可以使用触发模块和使能模块的组合来实现更复杂的控制逻辑。

使能是负责控制信号的输入和输出的!!

将使能端口添加到子系统或模型:

使用使能子系统:一种条件执行子系统,它在控制信号具有正值时在每个主时间步运行一次。如果信号在子时间步发生过零事件,则子系统要到下一个主时间步才会启用或禁用。

 Simulink使能(Enable)、触发(Triggered)模块及其子系统的应用_第1张图片

打开子系统模块,然后打开 Enable 端口模块的参数对话框。从启用时的状态下拉列表中,选择:

  • 保持” - 状态保持最近使用的值。

  • 重置” - 如果子系统禁用至少一个时间步,则状态还原到初始条件。

 Simulink使能(Enable)、触发(Triggered)模块及其子系统的应用_第2张图片

 

检测机器人所受到的接触力,若其绝对值大于设定阈值,则可以判定为接触,那么就可以执行一条轨迹,例如qr=0.6,。

为了在线进行期望轨迹的生成,检测到机器人所受接触力的阈值,那么触发此阈值所对应的时间值t0需要得到,我们就可以在线根据 qr= abs(sin(t0)+0.02)进行更新这样一个期望的轨迹,当然也可以sin(t0)+0.02  (sin(t0)>0), sin(t0)- 0.02  (sin(t0)<  0).

Simulink使能(Enable)、触发(Triggered)模块及其子系统的应用_第3张图片

 

Simulink使能(Enable)、触发(Triggered)模块及其子系统的应用_第4张图片

 

  • 上升沿” - 当控制信号从负值或零值上升至正值时,触发子系统的执行。

  • 下降沿” - 当控制信号从正值或零值下降至负值时,触发子系统的执行。

  • 任一沿” - 通过上升或下降控制信号触发子系统的执行。

与 Enabled Subsystem 模块不同,Triggered Subsystem 模块始终在触发之间保留其上一个输出值。此外,触发子系统不能在执行时重置模块状态;任何离散模块的状态将会在触发之间保留。

参考文献:

将使能端口添加到子系统或模型 - Simulink- MathWorks 中国Enable 模块允许外部信号控制子系统或模型的执行。要启用此功能,可在 Subsystem 模块中添加该模块,或在 Model 模块所引用模型的根级别添加该模块。icon-default.png?t=N3I4https://ww2.mathworks.cn/help/simulink/slref/enable.html?searchHighlight=Enable&s_tid=srchtitle_Enable_1

使用使能子系统- MATLAB & Simulink- MathWorks 中国创建一个在控制信号为正值时执行的子系统。icon-default.png?t=N3I4https://ww2.mathworks.cn/help/simulink/ug/enabled-subsystems.html?searchHighlight=Enable&s_tid=srchtitle_Enable_5

使用触发子系统- MATLAB & Simulink- MathWorks 中国创建通过触发信号执行的子系统。icon-default.png?t=N3I4https://ww2.mathworks.cn/help/simulink/ug/triggered-subsystems.html?searchHighlight=Triggered%20Subsystem&s_tid=srchtitle_Triggered%20Subsystem_2

你可能感兴趣的:(centos,linux,运维)