技术文档 2026年06月20日
0 收藏 0 点赞 1,523 浏览 1752 个字
摘要 :

在本人实际进行的MATLAB/Simulink R2021b与Speedgoat实时目标机的联合调试过程当中, 经历过因仿真步长设置不正确造成系统出现崩溃状况的情况, 也遭遇过IO板卡驱动识别遭……

在本人实际进行的MATLAB/Simulink R2021b与Speedgoat实时目标机的联合调试过程当中, 经历过因仿真步长设置不正确造成系统出现崩溃状况的情况, 也遭遇过IO板卡驱动识别遭遇失败的状况, 对于新手而言, 只要依照步骤一步步去展开操作, 便能够较为轻松地避开此类常见问题。

第一步 配置实时仿真系统基础环境

将MATLAB打开之后, 于命令行的窗口之中把slrtinstall输入进去, 以此启动xPC Target安装向导, 将目标机的类型选定为Speedgoat Baseline, 通信协议挑选UDP, 在“Target Network”的面板里, 把IP地址设置成192.168.7.2, 子网掩码采用默认的255.255.255.0。随后点击“Build”来生成引导盘, 将生成的iso文件借助Boot USB Writer写入到U盘之中。

【新手需留意避开雷区】此处在通常情况下, 报出 “No target machine found” 这一错误的频率是相当之高的。其缘由在于针对主机跟目标机而言, 它们的网关并不是处于同一个网段范围之内的。核心的能够起到解决作用的办法是: 将主机的有线网卡IP设定成分属于192.168.7.x这个网段的数值, 举例来说, 像192.168.7.1这样的数值, 并且网关要处于留空的状态。一定不要采用通过WiFi进行连接的方式, 必须要采用通过有线直接连接的方式。

第二步 建立Simulink模型并设定求解器参数

建立Simulink空白的模型, 将“PWM Generator”模块以及“DC Motor”模块拖入其中。双击“Configuration Parmeters”, 于Solver选项卡内, 把Type选定为“Fixed-step”, 将求解器选为“ode4(Runge-Kutta)”。最为关键的一项操作: 把基础步长设定为1e-4秒, 这是仿真精度与实时性的最优平衡点。进的幅度过于大, 那么电机的模型就会呈现出发散的状况, 进的幅度太过小, 目标机的CPU会出现过载进而直接导致死机。

关于新手需避开的坑, 在运行时出现了名为“Task overrun”的警告, 其缘由在于模型之中使用的连续模块数量过多,解决的办法是, 将要换成离散版本的诸如PID控制器等连续模块, 通过右键点击模块选择“Block Parameters”, 将所有与Sample time相关的内容全部改成1e – 4, 并且在高频信号路径上额外添加一个用于做速率匹配的“Rate Transition”模块。

第三步 编译部署并启动硬件在环仿真

选择指向“Code Generation”标签页面,将 System target file 选定为“slrt.tlc”。点击“Build”来进行编译从而形成 dlm 文件, 此进程大概历经 2 – 5 分钟。编译成功之后, 在 xPC Explorer 里面找到目标机器, 右键点击“Load – and – Run”。此时留意观测目标机显示屏, 出现“Execution time: 0.00012s”, 这便表明运行处于正常状态。先来对比一下这两种方案, 一种是采用TCP/IP协议进行传输, 其延迟大概是0.5ms, 这种方案适合于低速控制场景, 另一种是运用Shared Memory协议, 它的延迟仅仅只有0.05ms, 该方案适合高频电流环仿真, 不过它需要目标机额外去插一块共享内存卡。

【新手需防入坑】编译之时报出“Unresolved symbol: rt_OneStep”这种情况属于高频出现的故障。其缘由在于模型当中交叉使用了变步长模块。具备快速解决的流程: 将模型参数面板予以打开, 点击“Diagnostics”这个标签, 把“Data store memory”的检查修改为“none”。将模型里每一个带有“Continuous”字样的积分模块都消除掉, 全部替换为“Discrete-Time Integrator”。在重新进行编译之际, 务必要勾选“Generate code only”, 接着手动去运行一回“make_rtw”命令, 如此便完成了。

这个办法不适用于纯数字信号处理类型的仿真, 像FPGA算法的验证就是这样的情况。对于这种场景而言, 建议更换为使用Vivado Simulator搭配Modelsim, 把步长设定为纳秒级别, 要走全数字仿真的流程, 硬件在环的做法反倒显得多余。

微信扫一扫

支付宝扫一扫

版权:
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/4266.html

相关推荐
2026-07-10

我亲自实测了那款Altium Designer 22.0 , 遭遇过网表导入之后过孔尺寸变得杂乱无章、手动去修改花费…

2026-07-10

本人实际测试了Cadence Virtuoso 6.1.7, 经历过DRC报错率高达40%的那般具体实际操作时所碰到的难点,…

2026-07-10

经本人实际测试Cadence Allegro 17.4, 在信号完整性设置以及约束管理器映射方面踩过坑, 新手紧跟步…

2026-07-10

在智行者IC社区技术交流里, 不少开发者常常会陷入“代码能够运行就可以”这样的误区, 然而却忽略了底…

2026-07-09

本人实际测试了Simulink R2023a, 遇到过模型编译出现死锁以及求解器发生震荡这两个在具体实际操作过…

2026-07-09

此次是经由本人亲自进行测试, 针对Altium Designer 22版本与CAM350 10.6版本相配合之情况, 在那过程…

发表评论
暂无评论

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

点击联系客服

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

客服QQ

870555860

客服电话

173-5410-9521

客服邮箱

xiciw@qq.com

扫描二维码

手机访问本站

头部图片