概述
1,用法
既可以在simulink中使用,也可以在stateflow中使用。
1.1 Simulink中使用真值表
Simulink中,选择库浏览器=》Stateflow => Truth Table
默认只有一个输入端口u和一个输出端口y。如果要添加端口,先打开Model Explorer,再在其中添加数据。
添加后:
1.2 Stateflow的chart图中使用真值表
点击左边的工具栏:
1.3 编辑真值表
双击打开真值表,可在其中编辑。
真值表主要分为3个部分:条件表(Condition Table)、动作表(Action Table)、决策到动作表的映射。
2,条件表
1,描述(Description)部分是可选的。生成代码时会作为注释。
2,条件(Condition)中也可以添加标签。比如:
3,动作表
(1),可以使用标签。如果没有标签,则用行号来引用。
(2),特殊的动作标签:INIT和FINAL。
INIT的动作会在初始化时自动调用;FINAL的动作会在结束前自动调用。
4,真值表决策
(1)只能输出T、F和-。分别表示TRUE、FALSE、NO_CARE(TRUE或者FALSE)。
(2)可以使用空格键来切换T/F/-。
(3)决策后的动作:填写动作标签,或者行号。(简单的情况可以直接使用行号,但不便于扩展,因为插入一行后,后面的动作所对应的行号会变化,此时应该使用动作标签。)
(4)决策动作,可以指定多个动作,以逗号、分号或者空格分开。
5,真值表执行流程
真值表执行期间,会按从左至右的顺序进行决策测试。决策内各个条件结果的测试顺序未定义。
当实际结果与某一决策匹配时,即会执行在 Action Table Actions 行中为该决策列指定的动作。然后,结束并退出真值表的执行。
6,查看生成的代码。(View Auto-generated Content)
(1) 语言类型
真值表的语言类型也分为C语言和MATLAB语言。
(2)查看生成的内容
点击工具栏中的View Generated Context按钮,可以查看生成的内容。
如果动作语言类型是MATLAB,则生成M脚本:
function c_code
INIT();
C1 = false;
C2 = false;
C3 = false;
% Condition C1
C1 = logical(x==0);
% Condition C2
C2 = logical(y==0);
% Condition C3
C3 = logical(z==0);
if (C1)
A1();
elseif (~C1 && C2)
A2();
elseif (~C1 && ~C2 && C3)
A3();
else % Default
DA();
end
FINAL();
如果动作语言类型是C,则生成图形函数。
7,语法检查:
Diagnose the Truth Table
Run Diagnostics checks the truth table for syntax errors. See Debug a Truth Table.
附:隐含动作:INIT和FINAL
添加初始动作和最终动作
除了为决策指定动作外,您还可以为真值表函数添加初始动作和最终动作。初始动作指定任何决策测试发生之前执行的动作。最终动作指定在退出真值表之前作为最后一个动作执行的动作。要为真值表指定初始动作和最终动作,在 Action Table 中使用动作标签 INIT
和 FINAL
。
INIT和FINAL动作也可用于Condition Table的 Actions 行中的动作设定符。
编写真值表
https://ww2.mathworks.cn/help/stateflow/ug/programming-a-truth-table.html#mw_576a0b81-c4ce-4ed1-867a-170c9782336c
使用 Stateflow 真值表构建模型
https://ww2.mathworks.cn/help/stateflow/ug/build-model-with-stateflow-truth-table.html
最后
以上就是发嗲胡萝卜为你收集整理的Simulink建模与仿真学习笔记之真值表(Truth Table)1,用法2,条件表3,动作表4,真值表决策5,真值表执行流程6,查看生成的代码。(View Auto-generated Content)7,语法检查:的全部内容,希望文章能够帮你解决Simulink建模与仿真学习笔记之真值表(Truth Table)1,用法2,条件表3,动作表4,真值表决策5,真值表执行流程6,查看生成的代码。(View Auto-generated Content)7,语法检查:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复