本人实际测试了MATLAB/Simulink R2023b以及NI VeriStand 2021, 遭遇过由于模型无法收敛、硬件IO映射存在错位从而致使仿真直接崩溃的情况, 新手只要跟随一步步去操作, 便……
本人实际测试了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模块的离线仿真模式, 最终结果的准确性是相同的。
微信扫一扫
还没有评论呢,快来抢沙发~