主要内容

万博1manbetx作为状态的子系统

通过使用Simulin万博1manbetxk®状态流中的子系统®状态,您可以建模混合动态系统或在周期和连续时间动态之间切换的系统。在状态流图中,您可以使用基于Simulink的状态来结合使用转换的切换逻辑万博1manbetx对周期或连续动态系统建模。您可以在每个基于Simulink的状态中访问图表的输入和输出。万博1manbetx万博1manbetxMATLAB中独立的状态流程图不支持基于万博1manbetxSimulink的状态®

要在基于Simulink的状万博1manbetx态之间切换时初始化Simulink块,请使用statflow文本符号或Simulink状态读取器和状态写入器块。

要创建基于Simulink的链接状万博1manbetx态,请使用库保存操作子系统。当您将操作子系统从库模型复制到状态流程图中时,它将显示为基于Simulink的链接状态。万博1manbetx更新库块时,更改会反映在包含该块的所有状态流图中。

使用基于Si万博1manbetxmulink的状态意味着您不必在statflow中使用复杂的文本语法来建模混合系统。

何时使用万博1manbetx基于州

使用Si万博1manbetxmulink基于状态时:

  • 你想建模混合动力系统,包括连续或周期动力。

  • 系统的动态结构在不同的操作模式之间发生了很大的变化,例如,建模PID控制器。

对于间歇性调用逻辑的系统,请使用Simulink函数。万博1manbetx

当Simulink算法的结构基本保持不变,但某些增益万博1manbetx或参数在不同模型之间切换时,使用Stateflow之外的Simulink逻辑。这类算法的一个例子是增益调度。看到在Simulink中建模增益调度控制系统万博1manbetx(万博1manbetxSimulink控制设计)

基于Simulink的撑杆跳运动员建模万博1manbetx

这个状态流程图通过使用基于Simulink的状态来模拟一个人在撑杆跳各个阶段的运动。万博1manbetx

第一个阶段是跳马进场跑,在基于Simulink的状态下进行建模万博1manbetxRun_up.在第二阶段,运动员放杆子并起跳,该阶段通过基于Simulink的状态模型进行建模万博1manbetxTake_off.最后一个阶段发生在跳马运动员跳过横杆并放开撑杆子的时候,这个阶段由基于Simulink的状态进行建模万博1manbetx

美国Run_up而且更容易用笛卡尔坐标建模。国家Take_off用极坐标更容易建模。要从一个坐标系切换到另一个坐标系,请使用Simulink函数万博1manbetxInitTakeOff而且InitFly

模拟撑杆跳运动员的进场方式

图表中的默认状态PoleVaulterRun_up.这种状态模拟撑杆跳运动员沿着地面向起跳方向移动。撑杆跳运动员的起跳高度是-10x美元-轴,并趋向于0。撑杆跳运动员在地面上移动时,撑杆跳运动员在xy平面上的位置不断变化,但奔跑状态保持不变。在这个模型中,积分器阻塞位置而且速度Simulink函数中的状态读取器块是状态所有者块吗万博1manbetxInitTakeOff.该子系统输出撑杆跳运动员的笛卡尔坐标。

将笛卡尔坐标转换为极坐标

Run_upTake_off发生在撑杆跳运动员的位置沿x美元设在,Run_up.p (1),大于-4。在过渡期间InitTakeOff初始化后,State Reader块连接到它的所有者块,并执行函数。这个函数将笛卡尔坐标转换为位置而且速度在极坐标下,rθrdot,theta_dot.这些坐标输出为状态写入器块,连接到状态中的所有者块Take_off.Simu万博1manbetxlink函数InitTakeOff包含以下逻辑:

模拟撑杆跳运动员起跳的动作

撑杆跳时的位置沿着x美元设在,Run_up.p (1),大于-4,即基于Simulink的状态万博1manbetxTake_off变为活动状态。这种状态模拟撑杆跳运动员在起跳阶段的动作。该子系统输出撑杆跳运动员的笛卡尔坐标。

将极坐标转换为笛卡尔坐标

Take_off撑杆跳运动员的角度,θ,变成小于\π/ 2美元.在过渡期间,InitFly初始化后,State Reader块连接到它的所有者块,并执行函数。这个函数转换极坐标rθrdot,theta_dot到笛卡尔坐标,xy_integ而且xydot.这些坐标输出为状态写入器块,连接到状态中的所有者块.Simu万博1manbetxlink函数InitFly包含以下逻辑:

模拟撑杆跳运动员的自由落体

撑杆跳运动员的角度,θ,小于\π/ 2美元,基于Sim万博1manbetxulink的状态变为活动状态。这种状态模拟撑杆跳运动员在起跳完毕,撑杆跳运动员落地后的状态。撑杆跳运动员在下落过程中,撑杆跳运动员在x-y平面上的位置不断变化,但下落状态保持不变。在这个模型中,积分器块xydot和xy_integ是Simulink函数InitFly中状态写入器块的状态所有者块。万博1manbetx该子系统输出撑杆跳运动员的笛卡尔坐标。

Record块显示了这个模拟的结果。

限制

你不能使用基于Simulink万博1manbetx的状态:

  • 摩尔的图表

  • 离散事件图

  • 高密度脂蛋白编码器

  • PLC编码器

  • 万博1manbetxSimulink代码检查器

  • 超阶过渡

万博1manbetx基于Simulink的状态不支持调试。万博1manbetx

相关的话题