没有合适的资源?快使用搜索试试~ 我知道了~
基于功率模拟的联合仿真技术研究.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 146 浏览量
2022-12-15
14:24:07
上传
评论
收藏 234KB DOCX 举报
温馨提示
试读
13页
基于功率模拟的联合仿真技术研究.docx
资源推荐
资源详情
资源评论
1 引言
复杂系统的 设计已 经证实 了仿真是从概念设计到样品实现过程中不可或
缺的步骤。事物仿真需要考虑初步估计、择优甚至是现有方案在实施前的重新
设计,因此会降低风险。建立元器件本身及其之间交互作用的高保真模型,能够
使仿真的结果更具有确信度。
联合仿真是现阶段最有效的耦合系统仿真方案。从数学方面分析,联合仿
真由一组常微分方程和微分代数方程构成,而仿真时间包括子系统之间的通信
节点时间和每一个子系统内部的积分时间。分析一个联合仿真系统是否符合要
求需要对其稳定性、准确性和快速性进行分析。
联合仿真系统中,每一个仿真器都可以看成是一个动态系统,它们之间具有
信号的传递,传递的信号与上一次信号传递的时间间隔为一个宏步长,该步长的
大小反映了系统仿真计算时间的长短。通常情况下,仿真过程结果都希望具有
最小的通信时间,然而考虑 到系统稳定性,该计算 时间不能无限变小 ,所 以需要
找出兼顾计算效率和计算稳定性的方法来满足系统在仿真需求。为了提高仿真
速度,联合仿真的并行化速度也需要提高,然而并行的子模型和相关求解器之间
的松耦合会引起积分误差,为了保证误差在预先要求的范围内,同样需要兼顾考
虑仿真效率和仿真精确度的关系。
Dymola 是一款基于 Modelica 语言的多领域仿真平台。Modelica 语言可
以实现各模块库之间的连接,进行多领域仿真。文献[1]通过 Modelica 语言搭建
了包括交流发电机、变压整流器、电源系统接触器和过欠压、过欠频检测模块
等部件的数字仿真模型和供电系统模型,并完成系统逻辑设计。通过特殊的接
口,Dymola 可以与多款软件实现联合仿真,现在国内外的主要研究方向为对电
机的控制和汽车系统建模。文献[2]利用 Simulink、CarSim、Dymola 软件实现
对负荷传感液压转向系统的联合仿真;Dymola 符合 FMI 接口协议,所以可以输
入输出 FMU 模型;文献[3]在 Dymola 中实现二极管模型的 FMU 模型输出;文献
[4]在 Dymola 中实现热流体模型的 FMU 模型输出;文献[5]是对自动嵌入式物理
模型的 FMI 研究;文献[6]将 Modelica 模型通过 FMI 输出到 Excel 表格中,通过
FMI Toolbox for Matlab 工具生成 FMU 模型,最后导入 Dymola 平台 中 进 行 联
合仿真,实现控制器算法模型和 Dymola 整车联合仿真测试。
本文对联合仿真系统模型进行了数学分析,建立了系统微分方程,在稳定和
精度要求下提出了线性隐性计算方法,并提出了基于 FMI 协议的联合仿真计算
流程,最后通过一个工程例子说明了该方法的实际应用效果。
2 联合仿真系统模型分析
用非线性微分方程描述一个连续离散混合动态系统 Σ 形式如下
{X=f(t,X,D,U)Y=g(t,X,D,U)tn≤t<tn+1{X=f(t,X,D,U)Y=g(t,X,D,U)tn≤t<tn+1
(1)
式 中 ,X∈RnxX ∈ Rnx 是 连 续 状 态 向 量 ;D∈RnDD ∈ RnD 是 离 散 状 态 向
量;U∈RUU∈RU 是输入向量;Y∈RnYY∈RnY 是输出向量;t∈R+t∈R+表示时间。
严格增加的时间变量序列(tn)n≥0(tn)n≥0 代表被称为状态事件的间断点,它
们是 h(t,X,D,U)=0h(t,X,D,U)=0 方程的根。函数 h 通常被称为事件指示器或过
零函数,用于进行事件检测和定位。
每 一 个 时 刻 都 会 计 算 得 到 一 个 连 续 状 态 向 量
X(tn)=I(tn,X,D,U)X(tn)=I(tn,X,D,U)作 为 事 件 句 柄 的 结 果和 一个 离 散 状 态 变 量
D(tn)=J(tn−1,X,D,U)D(tn)=J(tn−1,X,D,U) 作 为 离 散 状 态 更 新 的 结 果 。 如 果
X(tn)X(tn)没有受到间断点的影响,该向量的右极限将会和它在 tntn 处的取值相
等。
假设 Σ 对于变量 X(t0)X(t0)和 D(t0)D(t0)均存在相应的初始状态,从而使得 X、
D、U 和 Y 在[tn,tn+1][tn,tn+1]内是分段光滑的连续函数。将模型分为几个子模
型使得系统能够并行运行,为了简化分解过程,图 1 将整个系统分解成了两个子
系统。该方法可以推广至将系统 Σ 任意分解为 N 个模块
[7]
。
图 1
图 1 被分割并行的系统
因此系统 Σ 可以重新写成
{X1⋅=f1(X1,X2,D1,U1)Y1=g1(X1,X2,D1,U1){X2⋅=f2(X1,X2,D2,U2)Y2=g2(X1,X
2,D2,U2){X1⋅=f1(X1,X2,D1,U1)Y1=g1(X1,X2,D1,U1){X2⋅
=f2(X1,X2,D2,U2)Y2=g2(X1,X2,D2,U2)
(2)
式中,U1U1 是 子 系 统 ∑1∑1 的输入,U2U2 是子系统∑2∑2 的 输 入 。 也 就 是
说,U1⋃U2=UU1⋃U2=U,U1⋂U2U1⋂U2 根据得到的解耦结果判断是不是空集。
同 样 ,Y1Y1 是 子 系 统 ∑1∑1 得 到 的 输 出 ,Y2Y2 是 子 系 统 ∑2∑2 得 到 的 输 出 ,即
Y1⋃Y2=YY1⋃Y2=Y,Y1⋂Y2=∅Y1⋂Y2=∅。
为了更好数值运算整个复杂系统,每一个仿真器都需要在通信节点进行数
据交换,来为其他子模块提供所需要的数据。为了提高积分运算速度,并行模块
要 尽 量 独 立 ,所 以 子 模 型 之 间 的 同 步 时 间 P 要 远 大 于 他 们 内 部 的 积 分 时 间
hn(P≫hn)hn(P≫hn)。因此在通信节点之间,每一个仿真器都有自己的积分速率
(假设使用变步长求解器),并且在此期间,从其他模型处得到的数据将保持常数。
大的通信间隔很可能提高积分运算速度,但是也可能会产生积分误差累计
从而降低最终结果的精确度。所以通过非严格同步来减小建模误差是找到提高
积分速度和精确度之间平衡的有效方式的第 一步。
对 于 图 2 中 的 模 型 , 每 一 个 子 系 统 的 输 出 变 量 在 通 信 节 点
ts(ts+1−ts=Hs)ts(ts+1−ts=Hs)处 被 采 样 , 该 值 并 作 为 输 入 变 量 在 整 个 宏 步 长
HsHs 期间保持常数,所以整体看来,每一个子系统中的求解器是一个离散动态
剩余12页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3643
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功