仿真测试工具怎么用 手把手实操避坑

发布于 更新于
2,540
详情介绍

我实际测过MATLAB/Simulink R2023b以及NI VeriStand 2021,遭遇过由于模型无法收敛、硬件IO映射存在错位从而导致仿真直接崩溃的情况。

第一步 搭建仿真模型并锁定采样时间

开启Simulink,在Library Browser里拖入PMSM(永磁同步电机)模型,双击该模型去设置采样时间成为1e – 5秒。在模型空白的地方右键点击选择Model Settings,把Solver选定为ode45,将相对容差设定作1e – 4。信号线连接时,先运用Scope模块去监视电流波形,以此来确保初始参数是合理的。

【新手避坑】碰到模型运行到一半就卡住,弹出窗口提示“Singularity likely”的情况,这意味着采样时间设置得太大或者模型存在代数环。直接右键点击所有受控源模块,勾选Output saturation limit,然后把采样时间翻倍成为2e – 5秒,基本上就能解决问题。

第二步 配置激励信号并绑定硬件IO

在Simulink里面,将Sine Wave模块拖入,作电流激励,把频率设定为50Hz,幅值为10A。自Dashboard库中,把Slider控件拖出,使它绑定到电机负载转矩参数上。具有很重要意义的关键参数所对应的最优推荐值为,将转矩扰动设定为5N·m,其原因在于该数值一方面能够包括电机额定负载当中高达80%的工况情况,另一方面又不会引发限幅保护从而导致仿真出现失真情况。

假如Slider拖动完毕之后模型没有任何反应,那么要去检查一下Model Explorer里滑块所绑定的变量名,是否跟模型工作区变量保持一致,常见的报错情况是“Undefined function or variable”,在此时于MATLAB命令行输入clear all,然后再重新加载模型就可以了。

第三步 执行实时仿真并抓取波形

用NI VeriStand去连接硬件,在Stimulus Profile Editor里去加载之前的Simulink模型,将PXIe – 1073机箱选为目标,点击Deploy后查看Real – Time Monitor窗口,实时调节Slider转矩值。对比的两种实操方案是,方案A运用VeriStand自带波形记录手段;其数据采样率最高能够到1kHz;该方案适合用于低频趋势分析;方案B借助MATLAB的Data Inspector来回传数据;其采样率可以达到10kHz;此方案适合高频谐波分析。要是仅仅需去做电机稳态测试,那么选择方案A会更加节省内存。

新手需避开此坑,这里存在高频出现的、完整的报错情况,即 “Error – 1073807364: Resource not found”,而导致此种报错情况出现的原因是 IP 地址配置有误。求解流程如下,先开启NI MAX,在Remote System列表里寻觅目标控制器,将其IP记下来;而后返回VeriStand 的System Definition,把准确的IP输入到Controller面板;接着查看Windows防火墙是否已准许TCP 3363端口通过。这三步完成后,再进行Deploy就能连接上了。

对于纯软件仿真(这里不存在硬件完整流程的情况)而言,这套方法不太具备适用性。要是你压根不存在硬件IO,干脆在Simulink当中设置Discrete状态,将全VeriStand步骤替换成Simulink Descriptor模块的离线仿真模式,最终结果的准确性是相同的。

常见问题(FAQ)

模型运行到一半卡住并提示“Singularity likely”怎么办?
说明采样时间设得太大,或者模型里存在代数环。右键点击所有受控源模块,勾选Output saturation limit,再把采样时间从1e-5秒加倍到2e-5秒,基本上就能解决。
拖动Slider后模型没有任何反应、报“Undefined function or variable”怎么办?
先检查Model Explorer里滑块绑定的变量名,是否跟模型工作区的变量名保持一致;确认无误后若仍报错,在MATLAB命令行输入 clear all,再重新加载模型即可。
VeriStand部署时报“Error -1073807364: Resource not found”怎么解决?
是IP地址配置有误。先打开NI MAX,在Remote System列表里找到目标控制器并记下IP;回到VeriStand的System Definition,把正确IP填入Controller面板;再确认Windows防火墙放行TCP 3363端口,然后重新Deploy即可连上。
0 / 600
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
所有的成功,都源自一个勇敢的开始
相关文章