主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

Truth Table

用条件、决策和动作来表示逻辑决策行为

库:
Stateflow

描述

Truth Table 模块以表格形式表示组合逻辑设计。您可以使用 Truth Table 模块基于一组条件为决策行为进行建模。有关详细信息,请参阅使用真值表对组合逻辑建模

为了实现控制逻辑,Truth Table 模块使用 MATLAB® 作为动作语言。

端口

输入

全部展开

当您使用符号窗格在 Stateflow® 真值表中创建输入数据时,Stateflow 会在 Truth Table 模块上创建对应的输入端口。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string

输出

全部展开

当您使用符号窗格在 Stateflow 真值表中创建输出数据时,Stateflow 会在 Truth Table 模块上创建对应的输出端口。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string

参数

全部展开

要以交互方式编辑模块参数,请使用属性检查器。从 Simulink® 工具条的仿真选项卡上的准备库中,选择属性检查器

注意

Truth Table 模块也有 Subsystem (Simulink) 模块参数,您可以通过右键点击模块并点击模块参数(子系统) 来访问这些参数。但是,不推荐更新这些模块参数。

用于更新或唤醒 Stateflow 真值表的方法,指定为继承离散连续

继承

来自 Simulink 模型的输入决定真值表在仿真过程中何时唤醒(默认值)。

如果您为真值表定义输入事件,则Stateflow 真值表由其触发端口上的信号显式触发,该信号源自连接的 Simulink 模块。您可以将此触发输入事件设置为响应 Simulink 信号而发生。Simulink 信号可以是上升沿下降沿任一沿(上升和下降),或者是响应函数调用。有关详细信息,请参阅通过发送输入事件激活 Stateflow 图

如果不定义输入事件,Stateflow 真值表将从 Stateflow 模型隐式继承触发器。这些隐式事件是为真值表提供输入的 Stateflow 信号的离散或连续采样时间。如果您定义了数据输入,真值表将以其中最快的数据输入的速率唤醒。如果没有为真值表定义任何数据输入,真值表将按照其父级子系统的执行行为所定义的方式唤醒。

离散

Simulink 模型以固定时间间隔生成隐式事件,以您在采样时间真值表参数中指定的速率唤醒 Stateflow 真值表。Simulink 模型中的其他模块可以具有不同的采样时间。

连续

Stateflow 真值表仅在主时间步内更新其状态,尽管它在主时间步和子时间步内都会计算输出和局部连续变量。有关详细信息,请参阅Continuous-Time Modeling in Stateflow

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: ChartUpdate
值: "INHERITED" (默认) | "CONTINUOUS" | "DISCRETE"

真值表在仿真期间唤醒的时间间隔,由标量或向量指定。默认时间间隔是 -1,这表明 Stateflow 真值表从 Simulink 继承采样时间。

不要在 Subsystem 模块参数中使用采样时间参数。请改用属性检查器

依存关系

要启用此参数,请将更新方法设置为离散

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: SampleTime
值: "-1" (默认) | string scalar | character vector
数据类型: string | char

高级

真值表中的数据是否对整数溢出进行饱和处理。当清除此参数时,真值表中的数据会在整数溢出时绕回。有关详细信息,请参阅Handle Integer and Enumeration Overflow for Chart Data

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: SaturateOnIntegerOverflow
值: true or 1 (默认) | false or 0
数据类型: logical

真值表是否支持可变大小数据。有关详细信息,请参阅Declare Variable-Size Data in Stateflow Charts

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: SupportVariableSizing
值: true or 1 (默认) | false or 0
数据类型: logical

自 R2023a 起

真值表是否将维度长度为 1 的输出数据视为固定大小。当选中此参数时,无论是否启用可变大小数据属性,真值表都会将有至少一个长度为 1 的维度的输出数据视为固定大小。当清除此参数时,真值表会将启用可变大小属性的数据视为可变大小。

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: TreatDimensionOfLengthOneAsFixedSize
值: true or 1 (默认) | false or 0
数据类型: logical

真值表过定时的诊断操作级别,指定为 "Error""Warning""None"。有关详细信息,请参阅Correct Overspecified and Underspecified Truth Tables

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: OverSpecDiagnostic
值: "Error" (默认) | "Warning" | "None"

定点属性

继承的 Simulink 信号被视为 Fixed-Point Designer™ fi 对象,指定为以下值之一:

  • Fixed-point - 真值表将所有定点输入视为 fi 对象。

  • Fixed-point & Integer - 真值表将所有定点和整数输入视为 fi 对象。

此参数仅适用于使用 MATLAB 作为动作语言的真值表。

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: TreatAsFi
值: "Fixed-point" (默认) | "Fixed-point & Integer"

真值表的默认 fimath 对象属性,指定为以下值之一:

  • Same as MATLAB - 真值表使用与当前默认 fimath 对象相同的 fimath 对象属性。文本框灰显,并以只读形式显示当前全局 fimath 对象。

  • Specify other - 在文本框中指定您自己的 fimath 对象。

有关详细信息,请参阅fimath Object Construction (Fixed-Point Designer)

编程用法

要以编程方式设置模块参数值,请访问模块的 Stateflow.TruthTableChart 对象,并使用圆点表示法更改对象属性。

参数: EmlDefaultFimath
值: "Same as MATLAB Default" (默认) | "Other:UserSpecified"

扩展功能

全部展开

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出

全部展开