主要内容

使用函数呼叫子系统

一种功能呼叫子系统块是条件执行的子系统,每次控制端口接收函数调用事件时运行。州流®图表,功能呼叫生成器堵塞,S函数块,或打穿越块可以提供函数调用事件。

函数呼叫子系统类似于过程编程语言中的函数。调用函数呼叫子系统以执行顺序执行子系统内的块的输出方法。解释功能呼叫子系统块参数,见子系统

创建函数呼叫子系统

要创建功能呼叫子系统:

  1. 添加A.功能呼叫子系统块到您的模型。

  2. 打开子系统块。添加定义当子系统接收到函数调用事件时执行的算法的框图。

  3. 设置初始和禁用值的外港块。看条件子系统初始输出值禁用时条件子系统输出值

  4. 设置子系统执行时,如何处理子系统状态:

    打开子系统块,然后打开块参数对话框触发块。从启用时状态下拉列表,选择一个选项:

    • 握住-状态保持其最新值。

    • 重启- 州设定为他们的初始条件。

    • 继承- 从父子系统中使用HEAD或RESET设置启动函数调用。

    对于嵌套子系统的功能呼叫子系统块具有不同的参数设置,子子系统的设置覆盖了父子系统继承的设置。看触发

  5. 将函数调用启动器附加到函数呼叫输入端口。

    如果你附上一个轮廓尺寸块,打开块,选择Signal Attributes选项卡,然后选择输出函数调用复选框。

函数调用子系统中的采样时间传播

配置A.功能呼叫子系统通过设置样品时间类型它的触发端口块到触发定期

  • 触发(非周期性)函数呼叫子系统可以在时间步骤中执行零,一个或多次。

    如果函数呼叫子系统由根级函数调用执行轮廓尺寸块具有离散采样时间,不允许在时间步骤中进行多个函数呼叫。允许多个函数调用,设置采样时间1(继承),并为函数呼叫子系统中的所有块设置采样时间1(遗传)。

  • 周期性函数呼叫子系统在时间步骤中执行一次,并且必须接收周期性函数呼叫。如果函数调用是非周期性的,则会显示模拟停止和错误消息。为函数呼叫子系统中的所有块设置采样时间1(遗传)。

笔记

在范围检查期间,即使未启用函数呼叫子系统,最小和最大参数设置也将返回传播到函数呼叫子系统的实际源端口。

为防止这种反向传播:

  1. 添加A.信号转换块和一个信号规范阻塞源端口后。

  2. 设定输出信号转换块到信号复制

  3. 的最小值和最大值信号规范块而不是在源端口上指定它们。

模型例子

也可以看看

相关例子

更多关于