0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RTW和VisualC++的半物理仿真系统的研究

电子设计 来源:郭婷 作者:电子设计 2019-10-14 07:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1 、引言

电子调速器是柴油机的关键部件之一,当实际柴油机及其负载性能发生变化且与调速器设计参数不匹配时,柴油发电机组就无法正常工作,这时需要修改调速器的控制参数。另外,电子调速器在出厂前和维修后都需要进行性能试验,以设定合适的控制参数满足其调节性能。在柴油机上直接进行电子调速器的参数整定、性能测试、维修后性能恢复既不安全、又不经济。进行半物理仿真是调速器进行实际配机试验之前不可缺少的环节,其工程思路是建立柴油机发电机组全工作范围动态仿真模型,通过输入输出接口电路与电子调速器相连构成一闭环控制系统,从而完成电子调速器的性能测试的相关试验。

建立柴油发电机组的仿真模型是Simulink的强项。由于半物理仿真系统需要连接特定的硬件设备,仿真程序需要定制人机界面实现参数设置等功能,这部分功能的实现对于Simulink来讲则难以完成,而这恰恰是Visual C++(VC)的强项。VC可视化C++编程环境具有强大的硬件控制功能和灵活丰富的人机界面设计功能。但直接采用VC建立柴油发电机组的仿真模型则难度很大。

针对这一问题本文提供一种从Simulink仿真模型平滑过渡到Visual C++集成开发环境的方法。具体实现是在Simulink中建立柴油发电机组的仿真模型,然后通过Matlab实时工作间(RTW)将Simulink仿真模型转化成可移植的嵌入式C++代码,最后和Visual C++的项目文件进行整合构成完全独立运行的实时半物理仿真系统。

2 、柴油发电机组模型的构建及半物理仿真系统结构

柴油机的建模一般有2种途径,一种是数学机理建模,一种是试验辨识建模。数学机理建模主要从柴油机各部件的原始特性和结构参数入手,根据动力学和热力学关系方程建立机理模型其建模的工作量大,计算复杂而且为模型的求解带来一定的难度。试验辨识建模是根据柴油机试验台试验数据,采用不同的数学拟合方法建立柴油机的数学模型。对于研究电子调速器参数整定以及配机试验,这里关心柴油机外部性能参数的关系,可以不考虑柴油机内部的热力过程。只要柴油发电机组仿真模型能较真实地模拟柴油机及其负载特性,则测试结果就能较为真实地反映出电子调速器的实际配机性能。

因此选用试验辨识建模法,应用BP神经网络建立柴油机发电机组模型。如图1所示。MTU396柴油发电机组转速控制半物理仿真系统的输人输出信号,主要有3种类型:

(1)脉宽调制(PWM)信号,即执行机构齿条驱动信号;

(2)频率信号,即模拟柴油转速脉冲信号;

(3)开关量信号,即对电子调速器的各种控制信号,如启动、停止、增速减速控制等。

本系统选用研华的PCI-1780计数器卡,他提供8个16位计数器通道8路数字量输出和8路数字量输入,可以满足上述需要。如图2所示。

基于RTW和VisualC++的半物理仿真系统的研究

3 、半物理仿真系统的实现

3.1 利用RTW生成可移植的C++模型代码

RTW是Matlab图形建模和仿真环境Simulink的一个重要的补充功能模块,简而言之,他是一个基于Simulink的代码自动生成环境。他能直接从Simulink的模型中产生优化的,可移植的代码以加速仿真系统开发的过程和降低研发成本。

RTW能把Simulink模型中的某些参数或信号设置为全局变量,模型自动生成的可执行代码在目标系统中运行时,可以方便地与Simulink模型交互,实现在线参数调整和信号通讯。利用RTW这种功能,可把模型中需要调整、监测的参数或者信号设置为全局变量。这些变量构成后面所述VC仿真程序中模块间交互的桥梁。

RTW支持多种目标,所以RTW自动生成C++模型代码有多种选择,对于VC而言有3种目标可以选择:通用实时(GRT)目标、通用实时Malloc(GRTM)目标、嵌入式目标。通用实时(GRT)目标采用实时代码格式,其内存的分配在编译时被静态声明。通用实时Malloc(GRTM)目标采用实时Malloc代码格式,他与实时代码格式非常相似,主要的区别在于实时malloc代码格式对内存进行动态声明。嵌入式目标可按嵌入式代码格式生C++代码,在运行速度、内存使用量和简化等方面都进行了优化。嵌入式代码采用静态内存分配方式。本文选择嵌入式目标来自动生成嵌入式代码。

RTW自动生成的代码分为2部分:一部分是模型代码;另一部分是代码运行界面(run-time interface)。这些代码被切分成很多源代码文件,为了管理这个庞大的项目,RTW还为其自动生成一个make文件。用VC打开make文件并编译,然后将此项目中引用的所有源文件从Matlab安装目录中复制出来,并和模型代码共同组成仿真模型代码。

3.2 模型代码和VC程序的集成

模型代码同VC程序整合过程比较简单,把3.1节仿真运算模块所有涉及的源文件添加到VC程序项目中,需要注意2点:仿真模块的源文件添加到VC程序项目后默认应用预编译头文件选项,必须手工取消此项设置否则编译出错;为了需要在VC程序中调用仿真代码的接口函数需要进行全局声明。

3.3 VC中仿真系统进一步开发与整合

半物理仿真软件一般由人机界面模块、数据采集模块、仿真运算模块、数据处理模块组成。MTU396柴油发电机组转速控制半物理仿真系统原理如图3所示。下面简单介绍各模块的实现过程。

(1)人机界面模块的实现

人机界面模块构成了VC程序的主线程,主要完成变量的实时显示、参数在线调整、控制参数设置和程序的运行控制等功能,其他模块都由他来调度。本系统中涉及的实时变量有柴油机转速、齿杆位移、柴油机负载等,笔者分别设计了转速表、棒图、趋势曲线、调整滑杆、功能按钮等图元,充分利用面向对象方法的封装、继承等特点实现整个图元库,从而提高了软件系统的可修改性、可重用性和可扩展性。

(2)数据采集模块的实现

数据采集模块通过PCI-1780设备卡同电子调速器进行数据交互,电子调速器的供油量信号以脉宽调制(PWM)的形式由PCI-1780设备卡传给仿真程序,仿真程序通过仿真计算把柴油机的转速以频率信号的形式经PCI-1780设备卡反馈给电子调速器。数据采集模块由厂家提供的设备驱动API函数实现。

(3)仿真运算模块的实现

仿真运算模块在RTW转化韵仿真模型代码基础上还要加入仿真同步控制,以满足仿真的实时性要求。实时性的关键就是I/O数据定时的准确性。众所周知Windows不是实时操作系统而是多任务的操作系统,采用VC编制的仿真程序很难实现硬件中断,采用软件定时是比较可行的方法,因为现在的计算机速度都很快,能够保证一般硬件在回路仿真的实时性的需要。

VC中实现精确定时基本上有2种方法:①使用多媒体定时器。他使用单独线程调用一个特殊的回调函数优先级很高,最小定时间隔为1ms能够满足一般实时任务的定时要求。②使用高性能计数器。在Windows2000中由硬件实现高精度的计数器(high-resolution performancecounter),利用他可以获得高精度的定时间隔。由于本应用中电子调速器输出频率为80 Hz,本文选择多媒体计时器实现仿真控制,定时间隔选为2 ms。即多媒体定时器每隔2 ms就在其回调函数中调用模型代码接口函数rt_On-eStep(模型单步运算),保证整个仿真的向前推进,满足系统实时性要求。仿真运算模块完成模型实时计算是整个系统的核心。

基于RTW和VisualC++的半物理仿真系统的研究

(4)数据处理模块的实现

数据处理模块完成仿真数据的实时记录和定时保存功能。为了满足数据记录的实时性,仿真程序采用了多线程的技术,将数据定时保存功能放在独立的数据保存线程中执行。数据处理线程和主线程的之间的同步由事件信号驱动。在C++标准模板库(STL),deque容器基础上创建了CPointsCollection类来完成数据的实时记录和定时保存。采用的策略是:CPointsCollection首先在内存中开辟2块缓冲区。第一缓冲区数据放满后,数据开始存放到第二缓冲区,然后主线程同时通知数据保存线程将第一缓冲区中的数据采用VC序列化功能保存到硬盘的文本文件中;等第二缓冲区数据放满后,数据开始存放到第一缓冲区,主线程同时通知数据保存线程将第二缓冲的数据保存到硬盘的文本文件中,这样依次循环保证数据记录的实时性。为了验证利用该方法开发的半物理仿真系统的有效性,运行该系统与R082电子调速器物理连接进行配机试验,仿真结果表明仿真系统相应符合理论分析结果。限于篇幅给出空载起动运行时的运行界面。如图4所示。

基于RTW和VisualC++的半物理仿真系统的研究

4、 结 语

结合科研实例详细介绍一种基于RTW和VisualC++的半物理仿真系统快速开发方法,该方法充分利用Simulink和Visual C++各自的优势。首先利用Simulink可视化的建模方法建立系统的仿真模型,然后通过RTW将Simulink仿真模型转化成可移植的嵌入式C++代码,最后利用Visual C++灵活的可定制性和强大的界面功能实现完全独立运行的实时半物理仿真系统。该仿真程序在Visual C++环境下可以对仿真程序方便的进行调试a与传统设计方法相比这种方法具有费用低、效率高的特点。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    53

    文章

    4407

    浏览量

    137671
  • 计数器
    +关注

    关注

    32

    文章

    2306

    浏览量

    97573
  • 发电机
    +关注

    关注

    26

    文章

    1704

    浏览量

    70930
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Wisim DC电源完整性EDA物理验证仿真工具介绍

    Wisim DC是一款高效、高性能的平台级电源完整性EDA物理验证仿真工具。可快速诊断IC封装和系统级板图内的设计缺陷和电源管理风险,通过定位板图中的“热点”,自动优化VRM感应线位置,使系统
    的头像 发表于 09-26 15:57 438次阅读
    Wisim DC电源完整性EDA<b class='flag-5'>物理</b>验证<b class='flag-5'>仿真</b>工具介绍

    工业级HIL系统选型参考:实物仿真平台全面解读

    实物仿真(Hardware-in-the-Loop, HIL)技术通过将真实控制器与虚拟被控对象模型相结合,构成了一个闭环测试系统,极大提高了开发效率和系统可靠性。
    的头像 发表于 09-18 15:53 639次阅读

    康谋分享 | 物理级传感器仿真:破解自动驾驶长尾场景验证难题

    本文聚焦物理仿真,剖析摄像头光学建模、CMOS 光电转换、激光雷达高斯光束与衰减建模,解读 ASAM OpenMATERIAL 3D 标准,以构建可信仿真闭环,助力算法验证与高阶智驾落地。
    的头像 发表于 07-09 09:36 3807次阅读
    康谋分享 | <b class='flag-5'>物理</b>级传感器<b class='flag-5'>仿真</b>:破解自动驾驶长尾场景验证难题

    无刷直流电机无位置传感器控制系统仿真研究

    ,证了该无位置传感器控制系统的正确性。 纯分享帖,点击下方附件免费获取完整资料~~~ *附件:无刷直流电机无位置传感器控制系统仿真研究.pdf 【免责声明】本文系网络转载,版权归原作者
    发表于 07-08 18:37

    无刷直流电机双闭环串级控制系统仿真研究

    Madlab进行BLDC建模仿真的方法,并且也提出了很多的建模仿真方案。例如有研究人员提出采用节点电流法对电机控制系统进行分析,通过列写m函数,建立BLDC控制
    发表于 07-07 18:36

    无刷双馈电机在独立电源系统中应用的仿真研究

    摘 要:分析了无刷双馈电源系统变速恒频的运行原理,结合独立电源系统的特点,建立了系统在空载和带负载状态下的数学模型;对系统空载至负载、转速突变、负载突变等情况进行了
    发表于 06-25 13:08

    轮边电机驱动汽车性能仿真与控制方法的研究

    [摘要] 为多域车辆的陆地行驶,设计了轮边电机驱动系统,构建了基于轮边驱动系统的车辆模型,并对驱动控制方法进行了研究。在转向动力学理论分析基础上,在ADAMS 中建立了多体动力学模型:提出了车辆驱动
    发表于 06-10 13:10

    矩阵变换器-异步电机矢量控制系统仿真研究

    可点击附件免费获取完整资料~~~*附件:矩阵变换器-异步电机矢量控制系统仿真研究.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 06-04 14:48

    感应电机滑模变结构控制系统实物仿真

    滑模变结构控制非常适用于高阶非线性系统,但如何快速而有效地验证此类先进控制算法是开发人员面临的主要问题。基于此,针对大功率高性能调速控制系统,提出了快速验证的实物仿真方案。首先,设计
    发表于 05-28 15:45

    直流电机控制方法的Matlab仿真研究

    速度控制模型,以提高无刷直流电机速度控制系统的稳定性和抗干扰能力 。使用 Matlab/Simulink 工具箱建立无刷直流电机的仿真模型,研究结果表明,模糊自适应 PID 算法能够使无刷直流电机的速度
    发表于 03-27 12:15

    VirutualLab Fusion应用:结构光照明的显微镜系统

    。 本案例研究了入射波的偏振及其对结构化照明图案对比度的影响。 场景 在VirtualLab Fusion中构建系统 系统构建块 组件求解器 总结 几何光学仿真 通过光线追
    发表于 03-21 09:26

    智能电动轮椅控制系统研究与设计

    具体原理进行分析,最后在MATLAB平台上完成改进双闭环调速系统仿真实现。文章总共分为五章内容,具体结构下载以下附件查阅~~~*附件:20250307_智能电动轮椅控制系统研究与设
    发表于 03-07 15:17

    电力电子实物仿真(HIL)原理及应用

    在电力电子及新能源领域,随着系统复杂度的提升,传统的纯软件仿真和实物测试已难以满足高效、低成本的研发需求。电力电子实物仿真技术(HardwareintheLoop,HIL)应运而生,
    的头像 发表于 02-25 18:10 1752次阅读
    电力电子<b class='flag-5'>半</b>实物<b class='flag-5'>仿真</b>(HIL)原理及应用

    电力电子实物仿真技术发展浅析

    难题。传统的纯软件仿真虽然能够对电力电子系统进行理论建模和分析,但在面对实际系统中的复杂物理特性和不确定性因素时,往往难以准确反映系统的真实
    的头像 发表于 01-24 18:00 1337次阅读
    电力电子<b class='flag-5'>半</b>实物<b class='flag-5'>仿真</b>技术发展浅析

    仿真系统的性能优化技巧

    在现代工业和科学研究中,仿真系统扮演着越来越重要的角色。它们不仅能够帮助我们预测复杂系统的行为,还能在没有实际物理原型的情况下进行实验和测试
    的头像 发表于 12-19 14:47 4079次阅读