本主题描述内部使用的语法测试序列和测试评估块,Stateflow®图表。在块中,您可以将此语法用于测试步骤操作、转换和评估。在图表中,在状态和转换中使用此语法。
有关使用命令行界面创建和编辑测试序列步骤、转换和数据符号的信息,请参阅下面列出的函数测试序列在测试脚本页面。
测试序列和测试评估块使用MATLAB®作为行动语言。您可以定义操作、转换、使用评估操作符、临时操作符、转换操作符、信号生成函数、逻辑操作符和关系操作符的评估。除了验证
,状态流图可以使用MATLAB或C中的所有运算符作为动作语言。验证
只能使用MATLAB语言。例如:
输出周期为的方波10
证券交易委员会:
广场(et / 10)
过渡时h
更改0
:
hasChangedTo (h, 0)
为了验证x大于y:
验证(x > y)
验证模拟,停止模拟,并返回验证结果,使用评估报表。
关键字 | 声明的语法 | 描述 | 例子 |
---|---|---|---|
验证 |
|
计算逻辑表达式。可选参数标签在测试管理器和诊断查看器中显示结果。 |
验证(x > y,...“金宝appSimulinkTest:”...“greaterThan”,...'x和y值是'...' % d % d ', x, y) |
断言 |
|
计算逻辑表达式。失败将停止模拟并返回错误。可选参数返回错误消息。 |
断言(h = = 0 & & k = = 0,...“h和k必须”...“初始化到0”) |
表中的语法使用了以下参数:
要创建计算模拟时间的表达式,请使用时态操作符。函数中使用的变量必须是输入、参数或常量测试序列块。
操作符 | 语法 | 描述 | 例子 |
---|---|---|---|
等 |
|
测试步骤的运行时间 |
测试序列步骤经过的时间(以毫秒为单位): 东部时间(毫秒) |
t |
|
中模拟运行的时间 |
模拟运行的时间(以微秒计): t(购买) |
后 |
|
返回 |
4秒后: 后(4秒) |
之前 |
|
返回 |
4秒前: 前(4秒) |
持续时间 |
|
返回 |
返回 持续时间(φ> 1,msec) > 550 |
表中的语法使用了以下参数:
要创建计算信号事件的表达式,请使用转换操作符。常见的转换操作符包括:
操作符 | 语法 | 描述 | 例子 |
---|---|---|---|
焕然一新 |
焕然一新(u) |
返回
|
过渡时 焕然一新(h) |
hasChangedFrom |
hasChangedFrom (u) |
返回true,如果
|
过渡时 hasChangedFrom (h, 1) |
hasChangedTo |
hasChangedTo (u, B) |
返回true,如果
|
过渡时 hasChangedTo (h, 0) |
一些信号产生函数使用时间算子等
,这是测试步骤运行的时间,以秒为单位。参数值的缩放、舍入和其他近似值会影响函数的输出。常见的信号产生功能包括:
函数 | 语法 | 描述 | 例子 |
---|---|---|---|
广场 | 广场(x) |
表示周期为的方波输出 时间间隔内
|
输出周期为的方波 广场(et / 10) |
锯齿波 | 锯齿(x) |
表示输出周期为的锯齿波 时间间隔内
|
输出周期为的锯齿波 锯齿(et / 10) |
三角形 | 三角形(x) |
表示输出周期为的三角形波 时间间隔内
|
输出周期为的三角波 三角形(et / 10) |
斜坡 | 斜坡(x) |
表示斜坡信号
|
斜坡为每5秒的测试步经过时间: 斜坡(et / 5) |
亥维赛 | 亥维赛(x) |
表示一个大步长信号,返回
|
之后输出一个大信号 亥维赛(et-5) |
门闩 | 锁(x) |
保存的价值
|
门闩 b =闩(扭矩) |
罪 |
sin (x) |
返回sin |
周期为10秒的正弦波: 罪(et * 2 *π/ 10) |
因为 |
cos (x) |
返回余弦值 |
周期为10秒的余弦波: 因为(et * 2 *π/ 10) |
兰德 |
兰德 |
均匀分布的伪随机值 |
通过声明为每个模拟生成新的随机值 coder.extrinsic (“兰德”) nr = cross (b-a)
|
randn |
randn |
正态分布伪随机值 |
通过声明为每个模拟生成新的随机值 coder.extrinsic (“randn”nr = nr*2
|
经验值 |
exp (x) |
返回自然指数函数, . |
以测试步的十分之一的时间前进的指数信号: exp (et / 10) |
您可以在动作、转换和评估中使用逻辑连接词。在这些例子中,p
和问
表示布尔信号或逻辑表达式。
操作 | 语法 | 描述 | 例子 |
---|---|---|---|
否定 |
~ p |
不 |
|
结合 |
p & & |
|
|
析取 |
p | |问 |
|
|
含义 |
~ p | | q |
如果 |
|
双条件的 |
(p & p & q) p & q |
|
|
可以在操作、转换和计算中使用关系操作符。在这些例子中,x
和y
代表数值类型变量。
使用==
或~ =
运营商在一个验证
语句在比较浮点数数据时返回警告。在实现时考虑与浮点数相关的精度限制验证
语句。看到浮点数.如果您使用浮点数据,请考虑为评估定义一个容忍度。例如,而不是验证(x = = 5)
,验证x
在一定范围内0.001
:
验证(abs (x5) < 0.001)
运营商和语法 | 描述 | 例子 |
---|---|---|
x > y |
大于 | 验证(x > y) |
x < y |
不到 | 验证(x < y) |
x > = y |
大于或等于 | 验证(x > = y) |
x < = y |
小于或等于 | 验证(x < = y) |
x = = y |
等于 | 验证(x = = y) |
x ~ = y |
不等于 | 验证(x ~ = y) |