Simulink中如何获取所需变量对应的时间,并实时传输给其他模块

假设需要将时间信息传输给一个显示器模块,可以按照以下步骤进行操作:

  1. 在模型中添加“Clock”模块,将其输出与MATLAB函数“simulinktime”模块进行连接。

  2. 在模型中添加一个Scope模块,将其输入与Clock模块的输出进行连接。

  3. 运行模型,Scope模块将显示当前的仿真时间。

  4. 将Scope模块替换为显示器模块,并将Clock模块的输出与显示器模块的输入进行连接。

  5. 运行模型,可以看到显示器模块实时显示当前的仿真时间。

需要注意的是,Simulink中获取时间信息的方法并不唯一,具体方法要根据实际情况选择。同时,需要确保时间信息的传输是实时的,以保证模型的准确性和稳定性。

例如:

小于1的时候满足条件,输出时间点信息;当大于1以后,不满足逻辑条件,不再变化输出值。

把计数器放进触发子系统里面,用某变量的下降沿作为触发条件,就能记录

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

Simulink使能(Enable)、触发(Triggered)模块及其子系统的应用_FL17171314的博客-CSDN博客为了在线进行期望轨迹的生成,检测到机器人所受接触力的阈值,那么触发此阈值所对应的时间值t0需要得到,我们就可以在线根据 qr= abs(sin(t0)+0.02)进行更新这样一个期望的轨迹,当然也可以sin(t0)+0.02 (sin(t0)>0), sin(t0)- 0.02 (sin(t0)< 0).例如,在一个较大的模型中,可以将一些不经常使用或计算量较大的子系统放在使能或触发模块中,以减少整个模型的计算量和仿真时间,提高仿真效率和精度。这种模块适用于需要在特定时间或事件触发时才执行的情况。https://blog.csdn.net/weixin_51367832/article/details/130678311?spm=1001.2014.3001.5502

 IF tauext 0,

     record (仅状态发生突变的一瞬间当前时间ts

即,0突变到某一阈值tau0的时候记录ts,不满足该条件的不记录。

记录到ts后,可求出参考轨迹,例如sints± 0.02;(当tauext>阈值tau0时运算为正,否则为负)

如果 tauext 不等于 0,那么记录一个时间戳 ts,这个时间戳是指当 tauext 第一次从 0 突变到某个非零值时的时间。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值