主要内容

分区模型

通过模型划分,可以在多个处理器之间划分模拟的计算成本,从而使模型具有实时性。计算成本是在模拟期间,中央处理单元(CPU)在每个时间步骤中执行的任务数量和复杂度的度量。当您在单个CPU上进行实时模拟时,较高的计算成本会降低模拟执行速度并导致溢出。

通常,通过使用中描述的方法调整模型保真度和求解器设置,您可以降低足够的计算成本,以在单个处理器上进行实时模拟实时模型准备工作流程.然而,有可能不存在模型复杂性和求解器设置的组合,使您的模型在目标机器上的单个CPU上能够实时运行。如果使用单个CPU的实时模拟没有运行到完成,或者模拟的结果是不可接受的,那么对模型进行分区。您可以使用单个多核目标计算机或多个单核目标计算机运行分区模型。

这个示例向您展示了如何将模型划分为两个离散的子系统,一个包含工厂,另一个包含控制器,以便在单个实时cpu上进行并行处理。

  1. 打开模型。在MATLAB®命令提示符,输入

    模型=“ssc_hydraulic_actuator_digital_control”;open_system(模型)

    除了信号路由和监控模块外,该模型还包含以下模块:

    • 指令信号- A信号生成器块,它产生输入参考信号,r

    • Sum -比较参考信号的块,r,从指令信号阻塞到输出信号,y,由液压执行器产生误差,x,这是r-yx

    • 控制器- A连续转移Fcn块。的分子系数分母系数此块的参数由变量指定全国矿工工会

    • 传输延迟-模拟连续输入信号的时间延迟的块。

      请注意

      默认情况下,仿真软件金宝app®编辑器隐藏模型图中的自动块名称。为训练目的显示隐藏的块名称,请清除隐藏自动块名称复选框。有关更多信息,请参见管理块名称和端口

    • 线性化I/O -对一个工作点进行线性化模型的子系统。

    • 液压执行器-包含Simscape™工厂模型的子系统。

  2. 依次单击每个变量来检查工作区中的变量。

    • 样本时间的变量,ts0.001

    • 分子系数参数,全国矿工工会-0.5

    • 分母系数参数,(0.001 - 1)

    • 的变量闭环1

  3. 模拟模型并打开Load Position范围来检查结果。

    sim(模型)open_system([模型,/负载位置的])

    液压执行器的输出与命令信号相匹配。

  4. 消除增加计算成本但不影响实时模拟结果的项目。在示例模型中,由于闭环增益为1,这些项包括线性化I / O点三机一体,In2块。删除这三个区块和连接它们的线路。

  5. 为可视化配置模型。

    1. 删除Mux块。

    2. 删除转到命名为Cmd

    3. 连接负载的位置范围块的输出信号液压执行机构

    4. 添加第二个范围块。

    5. 连接的新范围阻塞到未连接的连接线指令信号

    6. 更改新名称范围参考

  6. 取代运输延迟块和一个单位延迟块。

    1. 删除运输延迟块和连接到块的出口的开口端连接线。

    2. 添加单位延迟块,并将其连接到液压执行器子系金宝app统的输入端口。

    3. 样本时间(继承时为-1)参数的单位延迟块,指定ts

  7. 取代控制器块和一个离散传递Fcn块从Simulink离散库。金宝app

    1. 删除控制器块。

    2. 在模型窗口中单击并输入离散传递fcn.当包含块的下拉菜单出现时,单击离散传递Fcn

    3. 连接新块到开放的连接线从总和块。

    4. 将新块的输出连接到新块的导入单位延迟块。

    5. 使用原连续传递函数的Tustin变换为离散控制器指定参数。

      1. 在MATLAB命令行中,根据原系数保存新变量:

        k = num;α=坑(1,1);

      2. 离散传递Fcn分子参数,指定(k * ts k * ts)

      3. 分母参数,指定(2 *α+ ts ts-2 *α)

      4. 样本时间(继承时为-1)参数,指定ts

  8. 为连续时间测量提供数字采样使用零级举行块。

    1. 添加零级举行输入到Sum块的两个信号的块。

    2. 样本时间(继承时为-1)参数的零级举行块,指定ts

  9. 如图所示连接积木。

  10. 模拟模型并打开Load Position范围以查看修改如何影响结果。

    sim(模型)open_system([模型,/负载位置的])

    液压执行器的输出与原始结果相匹配。

  11. 配置解决方案。

    1. 要配置全局求解器,请打开模型配置参数,并在解算器面板:

      • 设置解算器类型固定步

      • 设置解算器离散(无连续状态)

      • 指定ts固定步长(基本样本时间)参数。

      • 点击好吧

    2. 要配置本地求解器,请打开液压执行机构子系统并更新这些参数解算器配置布洛克:

      • 选择该选项使用本地解算器

      • 指定ts样品时间

      • 选择该选项使用固定成本的运行时一致性迭代

      • 点击好吧

  12. 将模型划分为两个子系统:

    1. 创建一个包含这些块的子系统:

      • 指令信号

      • 参考

      • 零级举行

      • 总和

      • 离散传递Fcn

      • 单位延迟

    2. 标签子系统控制器子系统

    3. 打开控制器子系统

    4. 重命名着干活外港块,u

    5. 重命名三机一体轮廓尺寸块,y

    6. 导航到顶级模型。

    7. 创建包含这些块的第二个子系统:

      • 液压执行机构

      • 零级Hold1

      • 负载的位置

    8. 标签子系统工厂子系统

    9. 打开工厂子系统

    10. 重命名着干活外港块,u_plant

    11. 重命名三机一体轮廓尺寸块,y_plant

    12. 要查看分区的子系统,请导航到顶部模型。

    这个模型被划分为并发执行。要了解如何添加任务,以及如何将单个任务映射到分区,请参见使用显式分区对模型进行分区

另请参阅

||

相关的例子

更多关于

外部网站