# 状态机真值表搭建教程


真值表函数通过简洁的表格形式来实现组合逻辑设计。

# 创建真值表

从 Sysblock 模型库 StateMachine 分组中可查找到真值表函数的模块 TruthTable ,将其拖拽到状态机模型中即可创建真值表函数。

以下真值表函数的名称为 F。它接收一个参量(x)并返回一个输出值(y)。

# 编写函数标签

您可以直接在图形视图中编辑函数标签。函数的签名标签指定函数的名称及其参量和返回值的形式名称。

签名标签采用以下语法:

(return_val1, return_val2, ...) = function_name(arg1, arg2, ...)

您可以指定多个返回值和多个输入参量。每个返回值和输入参量可以是一个标量、向量或值的矩阵。对于只有一个返回值的函数,忽略签名标签中的圆括号。

提示

函数标签的参量和返回值不支持使用相同的变量名称。

# 数据管理

通过空白区域右键菜单编辑状态机变量可以打开状态机变量对话框。

在左侧树中切换到真值表,即可显示和管理真值表内部的数据。

  • 函数标签中的参量和返回值的编写将同步在真值表内生成对应的输入数据和输出数据。
  • 在变量对话框中管理的真值表输入输出数据也将同步显示在函数标签中。
  • 此外,真值表还支持管理局部数据、常量数据和参数数据。

# 编写真值表

通过双击真值表模块,能够打开真值表对话框。

在对话框中,您可以编写真值表的条件、动作和动作选择,从而完善真值表的配置。如何编写真值表,详情见编写真值表

# 诊断真值表

在调用真值表函数前,我们可以通过真值表对话框工具栏中的诊断按钮对真值表的正确性进行诊断。 真值表的诊断结果将打印在输出面板中,详情见诊断真值表

# 在状态和转移中调用真值表函数

您可以基于任何状态或任何转移的动作或从其他函数来调用真值表函数。

要调用真值表函数,请使用函数签名,并在函数签名中为每个形参包含一个对应的实参值。

(return_val1, return_val2, ...) = function_name(arg1, arg2, ...)

# 真值表示例

参考示例模型

  1. 打开或创建如下示例模型

  2. 设置仿真时间为 10,单击仿真,打开结果查看器查看仿真结果。

    可以看到,当输入参量满足 in_d1 >= 0 但不满足 in_d2 >= 0 时,执行动作 A2,即输出 out_d = 20

# 相关主题