计算触发事件的工作点快照
这个例子展示了如何使用触发的模拟快照生成工作点。
开放模式
这个例子的模型是一个速度控制系统。
打开模型。
mdl =“scdspeedtrigger”;open_system (mdl)
参考步骤块生成一个参考信号,该信号通过三个稳态速度条件:2500、3000和3500 rpm。在本例中,您将通过拍摄工作点快照来找到每个条件下的工作点。
配置时间事件
由于系统达到稳态条件的确切时间并不总是已知的,因此您可以配置您的模型来检测稳态条件何时发生并生成相应的触发事件。
对于本例,生成稳定时间事件子系统检测速度信号何时接近稳态稳定点。当输入信号在设定点附近的指定区域内停留最少时间时,该块生成触发事件。
对于本例,定义三个稳态速度值附近的区域。打开该块并指定这些范围的上界和下界,使其高于和低于稳态速度值5转。要这样做,请设置结算时间上限而且沉降时间下界参数。
属性指定最小的设置间隔为5秒沉降时间间隔参数。
在生成结算时间事件子系统中:
当输入信号在指定的上界和下界内时,Interval Test Dynamic块输出一个
真正的
信号。间隔测试动态块输出变化从
假
来真正的
触发一个锁定机制来追踪信号的长度真正的
.当信号是
真正的
对于指定的间隔时间,闭锁机构输出一个真正的
信号。当间隔测试动态块和闭锁机构的输出都是
真正的
时,输出触发信号设为真正的
.
触发信号从生成结算时间事件子系统连接到一个基于触发器的工作点快照块。您可以配置此块以在触发信号的上升沿或下降沿上拍摄工作点快照。对于本例,块使用触发信号的上升沿。
寻找工作点
要计算工作点,请使用findop
函数模拟模型60秒。该函数返回四个工作点的向量:一个用于触发快照时间,另一个用于60秒的模拟时间。
Op = findop(mdl,60);
第一个工作点接近2500 rpm (261.8 rad/s)的沉降条件。
op (1)
ans = Model scdspeed触发器的工作点。(在时间t=10.63时评估的时变组件)状态:---------- x ________ (1.) scdspeedtrigger/PID Controller/Filter/Cont。过滤器/过滤器0 (2.)scdspeedtrigger/PID控制器/积分器/连续/积分器10.4701 (3.)scdspeedtrigger/油门和流管/进气流管/p0 = 0.543 bar 0.51066 (4.) scdspeedtrigger/车辆动力学/w = T//J w0 = 209 rad//s 261.7988输入:无----------
第二个工作点接近3000 rpm (314.16 rad/s)的沉降条件。
op (2)
ans = Model scdspeed触发器的工作点。(时间t=28.3703的时变组件)状态:---------- x ________ (1.) scdspeedtrigger/PID Controller/Filter/Cont。过滤器/过滤器0 (2.)scdspeedtrigger/PID控制器/积分器/连续/积分器11.9151 (3.)scdspeedtrigger/油门和流管/进气流管/p0 = 0.543 bar 0.49012 (4.) scdspeedtrigger/车辆动力学/w = T//J w0 = 209 rad//s 314.1596输入:无----------
第三个工作点接近3500 rpm (366.52 rad/s)的沉降条件。
op (3)
ans = Model scdspeed触发器的工作点。(时间t=48.2688的时变组件)状态:---------- x _______ (1) scdspeedtrigger/PID Controller/Filter/Cont。过滤器/过滤器0 (2.)scdspeedtrigger/PID控制器/积分器/连续/积分器13.3488 (3.)scdspeedtrigger/油门和流管/进气流管/p0 = 0.543 bar 0.47835 (4.) scdspeedtrigger/车辆动力学/w = T//J w0 = 209 rad//s 366.52输入:无----------
有关在这些工作点线性化速度控制模型的示例,请参见在触发的模拟事件中线性化.
bdclose (mdl)