Test Squence测试过程中如何按照特定条件暂停或者停止仿真

news2024/10/6 18:20:15

在Simulink模型做Test Squence测试时,工程师有时候希望测试用例能按照自己期望的条件来停止或暂停仿真,这个期望的特定条件,可以是时间达到,也可以是任何能达到的特定状态。

具体实现方法如下:

1、在Test Harness测试用例中使用 Assertion 模块暂停或者停止仿真

当模块的输入信号为零时,您可以使用 Assertion 模块暂停仿真。在Assertion 模块中使用 set_param 命令暂停仿真。

设置如下:

1、在您的模型中添加一个 Assertion 模块。

2、将 Assertion 模块连接到在所需的暂停时间变成零值的信号。

3、在 Assertion 模块对话框中,清除 Stop simulation when assertion fails 复选框。输入以下两行命令作为 Simulation callback when assertion fails 的值:

set_param(bdroot,‘SimulationCommand’,‘pause’),

disp(sprintf(‘\nSimulation paused.’))

例子1:当仿真时间到5s时,暂停仿真。本例只是以时间达到为条件,这个条件也可以是从 Test Sequence 块生成零(false)输出,并将其馈送到"Asserion"模块的输入端。

在这里插入图片描述

2、在Test Harness测试用例中使用 Stop Simulation模块停止仿真

当输入为非零值时,Stop Simulation 模块将使仿真停止。

例子2:当仿真时间到5s时,停止仿真。本例只是以时间达到为条件,这个条件也可以是从 Test Sequence 块生成非零输出(true),并将其馈送到" Stop Simulation"模块的输入端。

在这里插入图片描述

3、在Test Squence中使用coder.extrinsic 结合set_param暂停或停止仿真

在您希望暂停仿真那一行,插入如下代码,就能达到目的。如果想停止仿真,将pause改为stop就行。

例子3:

在这里插入图片描述
此处注意:由于bdroot是char数组,而Simulink Test仅支持数字或逻辑类型,所以必须先用coder.extrinsic将set_param声明为外部函数才行。

coder.extrinsic说明(来自matlab help):

coder.extrinsic(function) 将 function 声明为外部函数。代码生成器不为外部函数体生成代码,而是使用 MATLAB® 引擎来执行调用。在执行期间,仅当 MATLAB 引擎可用时,此功能才可用。

4、在Test Squence中使用error停止仿真

您可以在所需的步骤中使用错误函数。 这将停止模拟并输出自定义错误消息。

例子4:

在这里插入图片描述
在simulink的Diagnostic Viewer中显示如下:
在这里插入图片描述
第4种不推荐使用。

5、开发"暂停"或"停止"状态功能

我现在用的matlab版本是2020b,寄希望于mathworks公司早日在Test Squence中实现"暂停"或"停止"状态功能。让我们一起期待!!!


资源分享

下面这份资源,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望也能帮助到你!在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公司 CTO:高性能开发,你不会 Netty,怎么好意思拿 20K?

主管:这个版块用 Netty 框架就可以了呀,不会吗? (此时,公司 CTO 路过) 某程序员:这个我真不会... 主管:好了好了,那这一块我交给别人去做,这个也不难啊&am…

代码随想录刷题记录day36 整数拆分+不同的二叉搜索树

代码随想录刷题记录day36 整数拆分不同的二叉搜索树 参考:代码随想录 343. 整数拆分 思想 一个数可以被拆分成2个数或者3个及以上的数。 dp[i]表示拆分i以后,得到的最大的乘积 拆分成两个数 j和i-j,拆分成三个数及以上 j 和dp[i-j],dp[i…

面试10分钟就完事了,问的实在是太...

干了两年外包,本来想出来正儿八经找个互联网公司上班,没想到算法死在另一家厂子。 自从加入这家外包公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到11月一纸通知,所有人不许加班,薪资…

【矩阵乘法】C++实现外部矩阵乘法

问题描述 ​ 使用文件和内存模拟系统缓存,并利用矩阵乘法验证实际和理论情况。 算法思想 设计一个Matrix类,其中Matrix是存在磁盘中的一个二进制文件,类通过保存的矩阵属性来读取磁盘。前八个字节为两个int32,保存矩阵的行列数…

Linux||报错:vboxuser is not in the sudoers file. This incident will be reported.

一、问题描述 打算在Ubuntu虚拟机上部署SonarQube时,为避免各种不必要的奇怪问题,预先使用sudo命令修改系统参数。 命令如下:sudo sysctl -w vm.max_map_count262144 报错如下:vboxuser is not in the sudoers file. This inciden…

制造业企业库存管理的现状与解决措施

在竞争激烈的现代经济时代,制造行业面临着巨大的挑战和压力,必须与时俱进,适应市场的各种变化才能生存并保持活力。随着经营模式的变化与产品数量的增加,对产品库存管理也提出更大的挑战。库存管理是指与库存相关的计划和控制活动…

数据库设计 Relational Language

除了最为常用的SQL语句之外,还存在着几种不常用的数据库语言,这里简单介绍,了解即可。 Relational Algebra(RA) 一种程序性语言,可以与SQL对应着转换,语法即转换规则如下: σ:与WHERE对应&am…

一篇文章让你搞懂各种压缩,gzip压缩,nginx的gzip压缩,Minification压缩

前言 同学们可能听过这些压缩,但是可能不是了解,这篇文章让你弄清他们 webpack的gzip压缩和nginx的gzip压缩有什么区别?怎样开启gzip压缩?Minfication压缩又是什么鬼?怎样使项目优化的更好?本篇文章讲的是…

DBCO点击试剂1629057-08-4,DBCO-C3-Maleimide,DBCO-C3-Mal

一、基础产品数据(Basic Product Data): CAS号:1629057-08-4 中文名:二苯基环辛炔-C3-马来酰亚胺、二苯并环辛炔-C3-马来酰亚胺 英文名:DBCO-C3-Maleimide,DBCO-C3-Mal 结构式(Struc…

MAC 通过IDEA启动tomcat,显示80端口被占用解决办法

mac系统下使用IntelliJ IDEA中的Tomcat报错问题:Address localhost:80 is already in use 一、状况描述 本人在跑一个tomcat的项目时,由于项目限制了用域名访问,为了方便本地开发调试,需在tomcat在IDEA中将端口设置为80&#xff…

three.js问题记录---MeshLambertMaterial材质颜色失效

初学three.js,跟着教程走都比较顺利,自己尝试写个demo的时候发现创建一个物体,在给材质颜色的时候出现了一个问题。 在three.js官网文档(https://www.techbrood.com/threejs/docs/)中,我们可以看到材料&am…

论文解读-Early Detection of Cybersecurity Threats Using Collaborative Cognition

1 概述与介绍 作者描述了一种新颖的协作框架,该框架通过利用语义丰富的知识表示和与不同机器学习技术集成的推理功能来协助安全分析人员。文中介绍的认知网络安全系统从各种文本源中提取信息,并使用一种扩展的UCO安全本体的将其存储在知识图谱中。该系统…

[附源码]Python计算机毕业设计SSM家庭安防系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

一个ubuntu系统搭建redis集群

下载redis(如果要搭建redis集群不建议使用命令下载,因为后面启动集群时redis5.0一下的会有问题,依赖ruby) 更新apt sudo apt update使用apt下载 sudo apt install redis-server打开redis配置文件 sudo vim /etc/redis/redis.conf设置远程连接&#x…

2023年tiktok自动化运营软件新排名看这里!

【导读】2022年即将结束啦,你的tiktok运营效果怎么样呢?这里我们小编告诉您,用tiktok自动化运营软件可以取得事半功倍的效果哦!这里就带大家看看2023年tiktok自动化运营软件排名哦! 2023年tiktok自动化运营软件新排名看…

FPGA学习笔记(九)SPI学习总结及stm32的HAL库下SPI配置

系列文章目录 一、FPGA学习笔记(一)入门背景、软件及时钟约束 二、FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三、FPGA学习笔记(三) 流水灯入门FPGA设计流程 四、FPGA学习笔记(四&…

上海亚商投顾:沪指继续震荡向上 零售等消费股表现活跃

上海亚商投顾前言:无惧大盘大跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪三大指数今日低开高走,深成指盘中涨超1%,创业板指一度涨逾1.5%,随后均上演冲高回…

【C++进阶】引用 函数提高

文章目录一 、引用1.1 引用的基本使用1.2 引用的注意事项1.3 引用做函数参数1.4 引用的本质 :指针的常量1.5 常量引用二、函数提高1 函数默认参数2 函数占位参数3 函数重载一 、引用 1.1 引用的基本使用 作用:给变量起别名 语法:数据类型 &a…

Python计算目标检测中的IoU

Python计算目标检测中的IoU前言前提条件相关介绍实验环境IoU概念代码实现前言 本文是个人使用PythonPython处理文件的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入我的个人主页查看 前提条件 熟悉P…

​寒武纪思元370系列与飞桨完成II级兼容性测试,联合赋能AI落地实践

2022年12月2日,寒武纪思元370系列与飞桨已完成II级兼容性测试,兼容性表现良好。 本次II级兼容性测试基于寒武纪MLU370系列,测试了包含PP-YOLO、YOLOv3、ResNet50、DeepLabv3、BERT、OCR-DB等共计15个模型的验证,覆盖了计算机视觉…