万博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
.
模拟撑杆跳运动员的进场方式
图表中的默认状态PoleVaulter
是Run_up
.这种状态模拟撑杆跳运动员沿着地面向起跳方向移动。撑杆跳运动员的起跳高度是-10-轴,并趋向于0。撑杆跳运动员在地面上移动时,撑杆跳运动员在xy平面上的位置不断变化,但奔跑状态保持不变。在这个模型中,积分器阻塞位置
而且速度
Simulink函数中的状态读取器块是状态所有者块吗万博1manbetxInitTakeOff
.该子系统输出撑杆跳运动员的笛卡尔坐标。
将笛卡尔坐标转换为极坐标
从Run_up
来Take_off
发生在撑杆跳运动员的位置沿设在,Run_up.p (1)
,大于-4。在过渡期间InitTakeOff
初始化后,State Reader块连接到它的所有者块,并执行函数。这个函数将笛卡尔坐标转换为位置
而且速度
在极坐标下,r
,θ
,rdot
,theta_dot
.这些坐标输出为状态写入器块,连接到状态中的所有者块Take_off
.Simu万博1manbetxlink函数InitTakeOff
包含以下逻辑:
模拟撑杆跳运动员起跳的动作
撑杆跳时的位置沿着设在,Run_up.p (1)
,大于-4,即基于Simulink的状态万博1manbetxTake_off
变为活动状态。这种状态模拟撑杆跳运动员在起跳阶段的动作。该子系统输出撑杆跳运动员的笛卡尔坐标。
将极坐标转换为笛卡尔坐标
从Take_off
来飞
撑杆跳运动员的角度,θ
,变成小于.在过渡期间,InitFly
初始化后,State Reader块连接到它的所有者块,并执行函数。这个函数转换极坐标r
,θ
,rdot
,theta_dot
到笛卡尔坐标,xy_integ
而且xydot
.这些坐标输出为状态写入器块,连接到状态中的所有者块飞
.Simu万博1manbetxlink函数InitFly
包含以下逻辑:
模拟撑杆跳运动员的自由落体
撑杆跳运动员的角度,θ
,小于,基于Sim万博1manbetxulink的状态飞
变为活动状态。这种状态模拟撑杆跳运动员在起跳完毕,撑杆跳运动员落地后的状态。撑杆跳运动员在下落过程中,撑杆跳运动员在x-y平面上的位置不断变化,但下落状态保持不变。在这个模型中,积分器块xydot和xy_integ是Simulink函数InitFly中状态写入器块的状态所有者块。万博1manbetx该子系统输出撑杆跳运动员的笛卡尔坐标。
Record块显示了这个模拟的结果。
限制
你不能使用基于Simulink万博1manbetx的状态:
摩尔的图表
离散事件图
高密度脂蛋白编码器
PLC编码器
万博1manbetxSimulink代码检查器
超阶过渡
万博1manbetx基于Simulink的状态不支持调试。万博1manbetx
相关的话题
- 创建和编辑基于Simulink的万博1manbetx状态
- 使用图表库在模型中重用图表
- 创建自定义库(万博1manbetx模型)