dspace中如何设置仿真状态解读.doc

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
dspace中如何设置仿真状态解读

如何设置仿真状态 目标: 如果你想在实时仿真期间设置模拟状态,通过SimState variable实现此目的。 可行性方法: 模拟状态可设置如下: 通过 ControlDesk 3.x 或ControlDesk Next Generation手动设置。参考方法1. 通过SImstate SET block自动设置,参阅方法2. 方法1: 通过 ControlDesk 3.x 或ControlDesk Next Generation设置仿真状态 1把来自变量描述文件的主体部分中的 simState变量,连接到布局中合适的仪器。 方法2: 通过Simulink 中的模块设置模拟状态 1.把来自RTI’Extras 库中的simState设置块添加到您的模型。该块的一些内容如下: 打开模块参数对话框,然后在Set simState下拉列表中选择所需的动作(RUN, PAUSE, STOP).您也可以选择触发器类型和该块是否应该有一个启用端口。 把块的端口(s)同可以改变的模拟状态信号(s)相联通。 当仿真是暂停或停止时,如果你想改变模拟状态,你应该把涉及的模块放在该模块的后台任务中。 在simState设置块只是把新值写入simState变量中。真正的仿真状态在后台任务中转换。因此,总是在仿真暂停或停止前,当前计算步骤是通常已经完成。如果后台任务计算起来复杂或者为后台任务提供很少的时间,在转换发生之前,需要进行一些进一步的计算步骤。 用RTI-MP,simState块设置只能用于Master CPU。 仿真状态设置为STOP没有停止实时处理器,但设置应用到一个不同状态:最终值被写入到I/O,在那之后,只有该应用程序的后台任务保持激活状态。相反,当你用 ControlDesk 3.xs or ControlDesk Next Generation 的命令终止一个应用程序,实时处理器被立刻停止:最终值没有被写进I/O中,并且后台任务没有保持激活状态。 如何识别仿真状态 目标: 为了理解Simulink模块中当前的仿真状态,你必须遵照simState Read 模块。 方法: 为了读懂仿真状态需要: 1.把来自RTI’Extras 库中的simState设置块添加到您的模型。该块的一些内容如下: 连接块的输出接口。数据类型是int32.输出值的含义如下: 当仿真是暂停或停止时,如果你想改变模拟状态,你应该把涉及的模块放在该模块的后台任务中。(前台任务simState READ块中会不断读取模拟状态RUN) Time-Stamping和数据采集 Time-Stamping支撑 : dsPACE板支持time-stamping,时间戳被分配到每个任务的每个执行步骤上。结果,是ControlDesk 3.x 和 ControlDesk。下一代可以使用实际时间值绘制由中断模块驱动的任务信号。一个好处是你可以看到当什么时候与其他相联系的非周期中断发生。 产生时间戳 对每一个任务类型,时间戳有不同的产生方式: Timer tasks 对于timer tasks,该 dSPACE Real-Time Kernel从任务的采样时间中计算时间戳, 同Simulink 编码器(formerly Real-Time Workshop) 计时引擎计算计时器任务(currentTime Tt)的时间的方式一样。 Tt=当前时间值或对于timer task 的RTK时间戳 K=执行计数器 这确保了在实时应用的时间和ControlDesk 3.X和 ControlDesk Next Generation.中的图中显示的时间的连贯性。 由硬件中断模块驱动的任务: 对于由硬件中断模块驱动的任务,该dSPACE Real-Time Kernel驱动来自一个硬件时钟的时间戳(Thw)。这确保了确切的时间戳是独立于实时应用的固定步长: 如果该实时应用页包含一个计时器任务(这是所有多重处理器应用的情况),这项任务作为该异步任务的一个参考任务。该 dSPACE Real-Time Kernel 驱动的异步任务的时间戳与参考 Thw=由硬件中断模块驱动的任务时间 Tt=对计时器任务的当前时间值或RTK 时间戳 Δ Thw= 由于上次Tt增量引起流逝的时间。 由软件中断模块驱动的任务: 对于由软件中断模块驱动的任务, 该dSPACE Real-Time Kernel使用从引出软件中断任务的时间戳。 实时仿真的当前变量是通过用浮动数字的仿真编码器计算的,然而时间戳是通过用整数的dSPACE Real-Time Kernel 来计算的。由于浮点数的精度降低后,数字变得越来越大,当前变量和相关的时间戳可能有少许不同 。 限制: 关于时间戳特性

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档