2022年Simulink一些知识总结 .docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年Simulink一些知识总结 .docx》由会员分享,可在线阅读,更多相关《2022年Simulink一些知识总结 .docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品_精品资料_一、set_param 函数的应用(一)函数调用格式:set_paramobject,param,value,其中 object为模块句柄, param 为参数,value为参数值.(二)举例(1) )启动模型仿真set_paramgcs,SimulationCommand,start(2) )精确掌握模型仿真步长set_paramgcs, SimulationCommand, step,step为仿真步长数.(3) )设置模块在模型中的位置set_parammymodel/Gain,Position,50 250 125 275(4) )设置模块的回调函数set_paramm
2、ymodel/Gain,OpenFcn,my_open_cb5 设置模块的朝向set_parammymodel/Gain,Orientation,left 二、实时转变模块的参数单步仿真一次,转变一次参数的值,代码如下:set_paramgcs,SimulationCommand,start while 1 set_paramgcs,SimulationCommand,pauseset_param 你的模块名, Resistance,你想转变的值 ;%这一句你替换一下参数即可set_paramgcs,SimulationCommand,step end三、上次末状态作为本次初始状态进行仿真问:
3、已经建立好一个数据仿真模型现在想单独转变一个参数去观看参数扰动对 结果的影响, 例如参数变化范畴是 1000 到 1500,每 7s 的时间让参数变化 100, 用什么方法可以实现 ?答:分次仿真,每次仿真储存末状态,下一次仿真前更换参数,再倒入上次仿真的末状态作为初始状态 , 设置如下图 :可编辑资料 - - - 欢迎下载精品_精品资料_四、模型加上标题问:怎么给模型加上标题?答:双击模型空白位置,即可输入 text文本,并可以设置字体大小颜色等.五、模型仿真时间与实际运行时间Simulink 在Normal 模式下的仿真时间是非实时的, 假如期望得知自己的模型转换为实际产品时的运行时间,
4、需要将模型生成 C 代码,下载到硬件目标中去运行并使用 Profiler Timer 进行时间的记录.如处理器在环仿真 Processor in the Loop 可以测出模型实际的运行时间.六、关于模块参数和模型解算配置的问题(一)模块参数的配置: 依据用户算法要求来配置, 具体参数意义与使用方法可以双击模块打开对话框后在 help按钮猎取具体帮忙.(二)模型结算方法配置: 运行仿真的算法一般由解算器供应, 分为变步长解算器和固定步长解算器. 默认模型挑选变步长解算器的 ode45 算法,能够适应大多数模型应用场景.假如用户求解刚性模型,需要使用ode23s 之类算法.假如用户是使用 sim
5、ulink进行掌握算法建模,那么用户一般使用固定步长解算器以模 拟与硬件芯片相同的时钟频率.七、激活 stateflow状态图方法(一)方法一:通过模型的调度时间周期性激活.(二)方法二:通过 trigger信号去激活.八、simulink中过零问题争论问: simulink中有哪些过零检测方法?是否有特的的过零检测模块?可编辑资料 - - - 欢迎下载精品_精品资料_答:只有自适应与非自适应两种挑选, 没有特的模块, 但是许多模块里有是否使用过零检测的 checkbox,如Relational Operator,switch模块等.九、模块采样时间与系统 solver最大步长关系当模块的 S
6、ample time设置为 -1时表示继承父层的采样时间,假如模块在 子系统里就继承子系统的采样时间, 假如模块在最上层模型, 就继承系统 solver 的步长作为采样时间间隔了.另外,假如模块的采样时间设置为-1以外的值, 如0 表示连续采样,这种时刻需要 solver解算器类型支持连续状态解算.当模块采样时间为 0.5这样的数字表示离散采样时间, 每隔0.5运算一次, 这时要求模块的采样时间必需是 solver运算步长的整数倍.十、solver步长间隔对仿真的影响在变步长解算器中, 采样时间间隔 即步长 会依据前后两次运算值的误差动态转变.假如设置了最大步长,那么每次的步长就不会超出设置的
7、这个上限.十一、关于 arduino连接测温模块驱动的问题问:在arduino上连接一个测温模块(如 DS18B2)0 ,查看DS18B20的技术手册,说是利用单总线通讯协议就可以读取温度,我想问问在有相关的库函数及读取温度C 程序的情形下, 怎么用simulink 去驱动测温模块工作, 并通过串口将温度传回PC?答:有相关的库函数和 C 例程的前提下,就把 DS18B20初始化的 API 在model_initialize中调用,在 model_step 中使用读取温度的 API、当然,在Model.c文件中包含 DS18B20库函数所需要的头文件.十二、使用 S-Function创建自定义
8、模块如何防止重复初始化问:使用S-Function创建了一个自定义模块, 编写了有关的模块 TLC 文件, 并胜利添加入 Simulink函数库中,但是在使用时发觉如同一模型文件中包含两个 以上该模块,代码生成时会重复进行初始化,即TLC 文件中%functionStartblock, system Output中的内容,如何解决? 答: 1. 将这部分初始化放到 BLockType 的tlc函数中.2. 使用全局变量对 Start中的TLC 语句进行判定, 仅第一次调用时生成, 其次次以上屏蔽.问:必需要在 Start中进行,全局变量怎么定义?在模块 TLC 中进行定义吗?答:是的,当这个变
9、量为 TLC_TRUE时就不再执行 Start函数,直接跳出.否就执行.以保证此函数在整个编译过程中只执行一次.十三、关于代码空间的争论可编辑资料 - - - 欢迎下载精品_精品资料_问:在生成代码后,如何查看代码大致会占用多少RAM RO,M仍有需要多少堆栈空间?答: C 代码看不出来的,在编译完之后生成了map文件,就可以看到了.十四、 Embedded Code、rSimulink Coder的关系问: Embedded Coder 和Simulink Coder有什么关系?答:假如你想将 Simulink模型生成 C 代码,那么你需要使用 Simulink Coder, 而Simuli
10、nkCoder的运行需要依靠 MATLABCoder,所以,完整的讲,假如你需要将Simulink模型生成 C 代码,需要 MATLAB Coder + Simulink Coder .假如你想将Simulink模型生成为嵌入式 C 代码,那么,除了上述两个 Coder 之外,你仍需要Embedded Code.r十五、关于测量算法在处理器上执行时间问题问:最近在看论文,看到作者利用示波器探针测量电机MTPA算法在 DSP 上在线运算时间.我现在做了一个标幺化定点后的电流指令表, 怎么用示波器测量算法在处理器上执行时间?答:算法在目标处理器上的执行时间是一个特别重要的数据, 我们更多时候关怀这
11、个数据的最大值, 示波器测量的方式, 我觉得不肯定能采集到最长时间的情形.在使用 MBD开发软件的时候, 建议使用 PIL 猎取这个时间值, 可以通过大量的测试用例,获得这个最大时间值.答:是的,matlab的help关于PIL 的用处也讲到其中之一就是测量execution time ,把所需要的测量模块封装起来,给定一个输入向量,下载到目标板上,最终在matlab窗口上输入命令,能够以图像形式给出关于在此输入向量下 average time maximum time.十六、关于 Simulink模型的比较问:在MBD项目的工程治理中, 模型的比较和差分是一个常见的问题. 国外一些公司设计了
12、特的用来对 Simulink模型进行比较和充分的工具,比如德国的 medini unite .我想请教一下,各位在进行 MBD设计时,模型比较和差分的问题怎样解决,都有哪些好用的工具,是否有开放代码的工具.答: MATLAB产品供应了 Simulink Report Generator,这个工具具有模型比较功能,也能实现一些模型合并.十七、 S-function builder参数传递问题问:怎么把 s-function builder中定义的参数传递到所集成的 C 语言源文件中?可编辑资料 - - - 欢迎下载精品_精品资料_答: 在Data Properties的页面中定义参数的变量名何参
13、数,如 pvar .然后在Outputs, Discrete Update等子页面中都可以使用变量名和下标拜访参数值, 如pvar0 .使用这个变量名编写 C代码,完成全部配置之后点击 build ,就可以将你写的 C 代码打包集成到生成的 C 文件中去了.十八、快速原型和硬件在环的区分问:快速原型和硬件在环的区分?答:快速原型,也就是掌握器快速原型的简称,顾名思义,就是对Simulink算法进行掌握器功能的快速实现. 一般来讲, 你可以通过工控机, 快速实现掌握算法,而不必对掌握算法进行代码生成相关的配置和设置.然后, 你可以用这个工控机实现的掌握器和被控对象相连, 形成闭环, 实现在真实被
14、控对象上对掌握算法的验证或者参数调剂. 硬件在环, 是对掌握器进行测试的一个环节, 在实现了掌握器软件和硬件的集成之后, 这时候我们并不能确保掌握器肯定是正确的, 假如这个时候直接把掌握器和一些被控对象连接,可能造成财产或者人身损害, 在这种情形下, 我们一般会通过工控机去模拟一个被控对象, 然后把掌握器和这个工控机相连,进行掌握器相关测试.十九、 tlc文件该怎么编写问: tlc文件该怎么编写?答:在Simulink Browser 中搜寻S-Function, 从example 模块中找到带有 tlc 的例子,参考编写即可.另外可以阅读 EmbeddedCoder 的User Guide
15、里面具体介绍了tlc 的编写方式.二十、 C MEX S-Function 延时功能问:现在需要做一个 PWM波形输出的 S 函数,想利用延时功能进行高低位的切换, 但是不知道 C-MEX的S 函数怎么写延时.答:1、利用状态变量记录输入,在下几个采样时间后再输出.2、直接输出,使用unit delay实现延时.二十一、 S-Function生成代码如何添加自定义的头文件问:我用 S 函数做了一个简洁的 s12xdp512 的Digital Output 的驱动模块,生成代码时始终报错 Error Test.c: 28 undeclared identifier PORTA ErrorTest
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Simulink一些知识总结 2022 Simulink 一些 知识 总结
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内