Engee 文档

While Iterator

while-iterator*子系统的控制单元。

类型: WhileIterator

图书馆中的路径:

/Basic/Ports & Subsystems/While Iterator

说明

Subsystem 块中的 While Iterator 块,如果输入条件的值为 "true (1)",则在当前时间步中执行一个子系统。使用此块可实现与编程语言中 while 循环等效的逻辑。

端口

输入

cond - 逻辑状态
标量

逻辑条件评估结果信号。由于子系统不会在时间步长内从外部启动,因此条件的真 (1)或假 (0)评估必须在子系统内部进行。

信号的数据类型和值可以是

  • 逻辑(布尔)--"真(1)"或 "假(0)"。

  • 数值 - "真(任何正数或负数)"或 "假 (0)"。

数据类型: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

IC(初始逻辑条件) - 初始逻辑条件
标量

带有初始逻辑条件的信号。在每个时间步开始时

  • 如果 IC 为假 (0),则在该时间步长内不执行子系统。

  • 如果 IC 为真(值不等于 "0"),子系统开始执行,只要 cond 信号为真,子系统就一直重复执行。

依赖关系

要启用 IC 端口,请将 While 循环类型 参数设置为 "while"。

数据类型: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

输出

迭代次数 - 迭代次数
标量

信号,表示每个时间步长的区块执行次数。

依赖关系

要启用*迭代次数端口*,请将*显示迭代次数端口*设为 "已启用"。

数据类型: Float64

参数

最大迭代次数(-1 表示无限制) - 最大迭代次数
5(默认值) | -1 | `整数

设置时间步长内允许的最大迭代次数。

  • 只要 cond 信号为真(值不等于 0),-1 可以是任何迭代次数。
    如果指定了 -1,而 cond 信号从未变为 false(0),则模拟将无限循环运行。在这种情况下,停止模拟的唯一方法就是关闭 Engee

  • 整数 "是一个时间步长内的最大迭代次数。

软件使用

块参数

MaxIters

类型

字符向量

价值观

5 | −1 | целое число

默认值

5

循环类型 - 块类型
while (default) | `do-while

选择程序块类型。

  • while - While Iterator 程序块有两个输入:cond 输入(逻辑条件)和 IC 输入(初始逻辑条件)。
    IC 信号源必须在 While Iterator 子系统*程序块外部。
    在每个时间步开始时:
    - 如果 *IC
    输入为真(值不等于 "0"),只要 cond 输入为真,子系统中的程序块就会重复执行。
    只要*cond*输入为真,且迭代次数为 最大迭代次数,则该过程在一个时间步长内持续进行。
    - 如果 IC 输入为假,While Iterator 块不会执行子系统的内容。

  • do-while - While Iterator 块有一个输入,即 cond 输入(while 条件)。
    在每个时间步,只要*cond*输入的值为真(不等于`0`),子系统中的块就会被执行。
    只要*cond*输入端的值为真,且迭代次数为 最大迭代次数,该过程就会继续。

软件使用

块参数

WhileBlockType

类型

字符向量

价值观

while | do-while

默认值

while

显示迭代次数端口 - 控制输出端口显示
已禁用(默认) | 已启用

控制块执行次数信号的输出端口显示。
该端口的信号值从 1 开始,以后每迭代一次增加 1

  • disable - 不显示输出端口。

  • enabled - 显示迭代次数信号的输出端口。

软件使用

块参数

ShowIterationPort

类型

字符向量

价值观

|

默认值

附加选项

C 代码生成: 是