主要内容

用真值表模型组合逻辑

真值表实现组合逻辑设计以表格格式。您可以使用Stateflow®真值表为故障检测模型决策和管理和模式切换。

真值表函数Stateflow图只有当你调用的真值表函数执行。您可以定义一个事实表函数Stateflow图,状态,或子图表。函数的位置确定的状态和转换集可以调用该函数。

  • 如果您想要调用的函数在一个州或子图表及其亚态,将你的真值表函数状态或子图表。这个函数将覆盖其他函数同名的父母和祖先的状态或子图表。

  • 如果你想在任何地方调用这个函数在一个图表,将你的真值表函数在表级别。

  • 如果你想调用该函数从任何图在你的模型中,把你的真值表在表级别,使绘图水位函数的输出。有关更多信息,请参见出口Stateflow功能以便重用

真值表函数可以访问图和状态数据上面Stateflow层次结构。

另外,对于一个更直接的决策逻辑的实现,您可以添加一个真值表块直接向你的仿真软件万博1manbetx®模型。实现控制逻辑,真值表块使用MATLAB®作为动作语言。

真值表的布局

这个事实表函数的名称ttable。这需要三个参数(x,y,z),并返回一个输出值(r)。

Stateflow图表与真值表名为ttable的函数。

函数由这种安排条件,决定和行动。

条件

决定1

决定2

决定3

决定4

x = = 1

T

F

F

- - - - - -

y = = 1

F

T

F

- - - - - -

z = = 1

F

F

T

- - - - - -

行动

r = 1 r = 2 r = 3 r = 4

每一个进入的条件条件列必须求值为真(非零值)或false(零值)。结果为每个条件指定为T(真实),F (false),或者——(真或假)。每个决定列结合的结果为每个逻辑条件,复合条件,这被称为一个决定。

你评估一个真值表决定,开始决定1。的决定4涵盖了所有可能的剩余的决定。如果一个人的决定是正确的,表执行相关操作,然后真值表执行完成。

例如,如果条件x = = 1y = = 1是错误的和条件z = = 1是真的,那么决定3是真的和变量r等于3。剩下的决定都不是真值表的测试和评估完成。如果前三的决定是错误的,那么默认自动决定真正及其操作(r = 4)执行。此表列出了伪代码对应的评价这真值表的例子。

伪代码

描述

如果((x = = 1) & ! (y = = 1) & ! (z = = 1) r = 1;

如果决定1是真的,那么准备好了吗r = 1

elseif (!(x = = 1) & (y = = 1) & ! (z = = 1) r = 2;

如果决定2是真的,那么准备好了吗r = 2

elseif (!(x = = 1) & ! (y = = 1) & (z = = 1) r = 3;

如果决定3是真的,那么准备好了吗r = 3

其他r = 4;endif

如果所有其他的决定是错误的,那么默认的决定是正确的。集r = 4

定义一个真值表函数

定义一个真值表函数:

  1. 在对象面板,点击图标的真值表函数

  2. 图表画布上,单击位置的真值表的功能。

  3. 输入函数的签名标签。

    函数的签名标签为函数指定一个名字和正式名称的参数和返回值。一个签名标签有语法:

    [return_val1, return_val2,…]= function_name (__arg1,最长,…)
    您可以指定多个返回值和多个输入参数。每一个返回值和输入参数可以是一个标量,矢量,或矩阵的值。函数只有一个返回值,省略括号的签名标签。

    您可以使用相同的参数和返回值的变量名。当你使用相同的输入和输出变量,创建就地数据。例如,一个函数与这个签名标签使用的变量日元y2作为输入和输出:

    (y1、y2、y3) = f (y1, u, y2)
    如果你出口这个函数的C代码,生成的代码处理日元y2作为就地参数以引用的方式传递。使用就地数据的次数,降低了中间数据生成的代码副本,从而更高效的代码。

    符号面板和Model Explorer,函数的参数和返回值的签名显示为数据项属于你的函数。参数的范围输入。返回值的范围输出

  4. 指定数据属性为每个参数和返回值,所述设置数据属性。当一个参数和一个返回值具有相同的名称,您可以编辑属性的参数。返回值的属性是只读的。

  5. 程序的功能,通过双击打开真值表编辑器框的函数。

  6. 在真值表编辑器中,添加条件下,决策和行动。有关更多信息,请参见计划一个真值表

  7. 创建需要的任何其他数据项的功能。有关更多信息,请参见通过模型浏览器中添加数据

    你的函数可以访问自己的数据或数据属于父状态或图表。数据项的函数可以有一个的范围:

    • 常数常量数据保留其初始值通过函数调用。

    • 参数——参数数据保留其初始值通过函数调用。

    • 当地的——从一个函数调用本地数据持续到下一个函数调用。有效的只有事实表,使用C作为行动的语言。

    • 临时——临时数据初始化的函数调用。有效的只有事实表,使用C作为行动的语言。

    在事实表函数,使用C作为动作语言,定义本地数据,当你想让你的数据值持续在整个模拟函数调用。定义临时数据当你想要初始化数据值的每一个函数调用。例如,您可以定义一个计数器当地的如果你想跟踪范围的次数,你调用这个函数。相反,您可以指定一个循环计数器临时如果你不需要计数器值范围持续函数完成后。

    在事实表函数,使用MATLAB作为动作语言,您不需要定义本地或临时数据的函数。相反,在这些函数中,您可以使用未定义的变量来存储值只能在其他函数调用。存储值保存在函数调用,使用本地数据在表级别。

    提示

    你可以初始化局部和暂时从MATLAB函数空间中的数据。有关更多信息,请参见从MATLAB基础工作空间初始化数据

调用真值表函数的状态和转换

你可以叫真值表函数操作的任何州或过渡或从其他函数。如果你出口一个真值表函数,你可以叫它从任何图表模型中。导出函数的更多信息,请参阅出口Stateflow功能以便重用

叫一个真值表函数,使用函数签名,包括实际的参数值为每一个正式的参数在函数签名。

[return_val1, return_val2,…]= function_name (__arg1,最长,…)

如果实际的和正式的参数的数据类型不同,函数将实际参数形式的类型参数。

指定属性的真值表的功能

下面列出的属性指定一个真值表函数与其他组件的交互Stateflow图表。您可以修改这些属性属性检查器、Model Explorer或真值表的属性对话框。

使用属性检查器:

  1. 建模选项卡,在设计数据中,选择属性检查器

  2. 在Stateflow编辑器中,选择事实表函数。

  3. 属性检查器、编辑事实表函数属性。

使用模型资源管理器:

  1. 建模选项卡,在设计数据中,选择模型浏览器

  2. 模型层次结构窗格中,选择事实表函数。

  3. 对话框窗格中,编辑事实表函数属性。

用真值表属性对话框:

  1. 在Stateflow编辑器中,右键单击真值表函数。

  2. 选择属性

  3. 在properties对话框中,编辑事实表函数属性。

您还可以修改这些属性以编程方式使用Stateflow.TruthTable对象。关于Stateflow编程接口的更多信息,请参阅Stateflow API的概述

的名字

函数名。单击函数名称链接到把你的前景在本土图表。

内联函数的选择

控制你的内联函数生成的代码:

  • 汽车——决定内联函数基于一个内部计算。

  • 内联——内联函数如果你不出口到其他图表和它不是一个递归的一部分。(如果你存在递归函数调用本身直接或间接通过另一个函数调用)。

  • 函数——不内联函数。

这个属性是不可用的属性检查器

标签

函数签名标签。函数的函数签名标签指定一个名字和正式名称的参数和返回值。这个属性是不可用的属性检查器

不指定

控制水平的诊断不指定你的真值表的功能。有关更多信息,请参见正确的Overspecified和真值表

Overspecification

控制水平的诊断overspecification表函数在你的真理。有关更多信息,请参见正确的Overspecified和真值表

动作语言

控制的动作语言Stateflow真值表函数。MATLAB和C之间做出选择该属性只能在图表,使用C作为行动的语言。有关更多信息,请参见MATLAB和C之间的差异作为动作语言的语法

描述

真值表的描述函数。

文档链接

链接到事实表函数的在线文档。您可以输入一个web URL地址或MATLAB命令显示文档作为一个HTML文件或文本在MATLAB命令窗口。当你点击文档链接超链接,Stateflow评估和显示文档的链接。

为真值表块指定属性

真值表块属性指定你的真值表接口与仿真软件模型。万博1manbetx您可以修改这些属性属性检查器、Model Explorer或真值表的属性对话框。

使用属性检查器:

  1. 建模选项卡,在设计数据中,选择属性检查器

  2. 在Stateflow编辑器中,单击真值表。

  3. 属性检查器、编辑的真值表的属性。

使用模型资源管理器:

  1. 建模选项卡,在设计数据中,选择模型浏览器

  2. 模型层次结构窗格中,选择真值表。

  3. 对话框窗格中,编辑真值表的属性。

用真值表属性对话框:

  1. 打开Stateflow编辑器。

  2. 建模选项卡上,单击表属性

  3. 在properties对话框中,编辑真值表的属性。

您还可以修改这些属性以编程方式使用Stateflow.TruthTableChart对象。关于Stateflow编程接口的更多信息,请参阅Stateflow API的概述

提示

真值表块属性是真理的属性表函数的组合和图表,使用MATLAB作为行动的语言。每个属性的描述,请参阅指定属性的真值表的功能指定属性Stateflow图表

另请参阅

对象

工具

相关的话题