技术文档 2026年06月24日
0 收藏 0 点赞 667 浏览 1645 个字
摘要 :

身为本人, 实际测试了Python 3.9加上Simulink 2022b, 遭遇过仿真脚本运行到一半就崩溃的状况, 还有测试结果对不上的情况, 对于新手而言, 依照步骤一步步去操作, 便能够轻……

身为本人, 实际测试了Python 3.9加上Simulink 2022b, 遭遇过仿真脚本运行到一半就崩溃的状况, 还有测试结果对不上的情况, 对于新手而言, 依照步骤一步步去操作, 便能够轻易避开这类常见的问题。

第一步 搭建自动化测试框架

开启Simulink模型, 点击菜单栏之中的“Apps”选项卡, 挑选“Simulink Test”工具。于左侧项目面板里右键点击“Test Sequences”, 选取“Create New Test Sequence”。将测试输入参数设定成激励信号频率100Hz, 此项参数最优推荐值依据工业电机控制标准, 能够涵盖多数常规工况且不至于过采样卡死。给测试序列命名时,别用中文路径,用英文加下划线。

新手避坑

平常会出现的报错情况是, 在成功创建测试序列接着进行保存之时, 系统给出提示“Invalid path”。而其核心导致出错的缘由在于, 模型文件所放置的目录当中存在空格或者中文。针对此状况的解决方式为, 将整个工程文件夹挪动到仅仅由英文构成的路径下面, 就像D:/sim_test, 并且所有的文件名都采用字母以及数字来命名。

第二步 编写自动化运行脚本

于Simulink模型目录那儿, 去新建一个.m文件, 而后写入如下这核心的三行代码。

model = 'your_model_name';
load_system(model);
simOut = sim(model, 'StopTime', '10');

将关键参数StopTime设定为10秒, 原因在于该时长足以捕获稳态响应, 且不会致使测试总耗时过度延长。要是你打算运行多组参数, 那就把这套代码纳入一个for循环之中, 在循环内部借助set_param动态调整模块参数。

针对两种方案进行对比: 方案A是借助Simulink Test Manager的批量运行功能来展开, 方案B是通过编写上述脚本达成手动控制。方案A适宜于参数组合数量不超过20组的情况, 是以快速验证需求得以满足, 此方式其界面操作简便然而灵活性欠缺;方案B适宜在超过50组的大型回归测试场景运用, 乃是因脚本能够实施自动记录日志以及比对结果的操作。对于简单场景应当选择A, 处于复杂场景则应选用B, 切记不可混合使用。

新手避坑

存在的常见报错情况是, 在运行sim命令的时候, 会出现提示“Could not find block diagram”。其核心的出错缘由在于, 模型未能成功进行加载。对应的解决办法是, 在load_system之前添加一句bdclose all来将缓存清空, 然后再次进行尝试。要是如此做之后仍然不行, 那就去检查模型文件名是不是拼写错误了。

第三步 提取结果与自动判定

待运行完毕之后, 借助 simOut.logsout 将仿真的数据提取出来, 于脚本之中进行追加:

data = simOut.logsout.get('signal_name').Values;
if max(data.Data) > 1.5
    disp('测试通过');
else
    disp('测试失败');
end

按照行业标准留出百分之十裕量后, 将设定的通过阈值确定为一点五, 若低于此值则判定为信号幅值不足, 把这段判定写进循环里, 再配合fprintf输出日志文件。

完整高频报错: 脚本运行结束之后, data对象处于为空状态这样一种情形。其致使的缘由是, 于模型之中信号并未选中“Log signals”此项。解决流程为: 对信号线实施双击操作, 通过右键点击选定“Signal Properties”, 勾选“Log signal data”, 在保存模型之后再度运行脚本动作!要是依旧呈现为空的状态, 那就去核查信号名是不是相匹配, 借助simOut.logsout.getElementNames将所有已记录的信号列举出来用以开展验证。

这个方法对于涵盖FPGA硬件在环(HIL)的混合仿真情形是不适用的, 原因在于HIL需要额外的驱动库以及实时内核。可供替换的方案是: 运用Speedgoat或者NI的HIL平台自身带有的自动化接口, 再结合MATLAB的hil函数去开展实时测试。

微信扫一扫

支付宝扫一扫

版权:
1、本网站名称:智行者IC社区
2、本站唯一官方网址:https://www.2632.net (警惕克隆站点,认准SSL证书指纹:B2:3A:...)
3、本站资源100%原创除软件资源区,侵权投诉请提交权属证明至 xiciw@qq.com (24小时响应)
4、根据《网络安全法》第48条,本站已部署区块链存证系统,所有用户行为数据将保存至2035年3月9日以备司法调取
5、资源观点不代表本站立场,禁止用于商业竞赛/学术造假,违规后果自负
6、违法信息举报奖励200-5000元,通过匿名举报通道提交证据链
7、核心资源采用阿里云OSS+IPFS双链存储,补档申请请使用工单系统
转载请注明出处:https://www.2632.net/doc/4308.html

相关推荐
2026-06-24

本人实际测试了Cadence Virtuoso IC617以及Synopsys IC Compiler 2020, 遭遇过工具混合使用期间数据…

2026-06-24

实测 Allegro 17.4 版本的是本人, 曾踩过钻孔文件和符号表不匹配这个大坑, 新手挨个步骤一步步去操…

2026-06-24

我亲自测试了Cadence Allegro 17.4版本, 在差分对等长匹配进程里, 遭遇过地线参考层被误删除以至于…

2026-06-24

身为本人, 实际测试了Python 3.9加上Simulink 2022b, 遭遇过仿真脚本运行到一半就崩溃的状况, 还有…

2026-06-24

我亲自进行了 Altium Designer 22. 0 的实测, 经历过软件自带教程和实际项目存在脱节情况的坑洼, 新…

2026-06-24

身为本人, 实际测试过CentOS 7.9加上Python 3.9.18的环境, 踏过执行pip install后直接出现“ERROR: N…

发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:8:00-16:00

客服QQ

870555860

客服电话

173-5410-9521

客服邮箱

xiciw@qq.com

扫描二维码

手机访问本站

头部图片