柴油发电机组转速控制半物理仿真的分析

发布者:数字狂想最新更新时间:2008-11-12 来源: 中电网关键字:半物理仿真  柴油发电机组  代码  Malloc  主线程  模块  全局变量  控制参数  转速  开关量 手机看文章 扫描二维码
随时随地手机看文章

 

  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所示。

  

  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(模型单步运算),保证整个仿真的向前推进,满足系统实时性要求。仿真运算模块完成模型实时计算是整个系统的核心。

  

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

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

  

  4 结 语

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

 

关键字:半物理仿真  柴油发电机组  代码  Malloc  主线程  模块  全局变量  控制参数  转速  开关量 引用地址:柴油发电机组转速控制半物理仿真的分析

上一篇:Atmel推出面向无刷DC电机应用的驱动芯片
下一篇:基于ARM的车辆检测系统控制单元电路设计

推荐阅读最新更新时间:2024-03-30 21:26

联想官方自曝新Mods模块:除了打印机还有游戏手柄
   去年,LG和摩托罗拉先后发布了采用模块化设计的智能手机LG G5和Moto Z。不过G5销量并不理想,随后发布的LG G6已经取消了这种设计,但摩托罗拉却依然坚持走模块化设计路线,并且推出了大量的模块化新品。   在联想Moto官网开售的Mods中,已经拥有扬声器模块、投影仪模块、电池模块、哈苏相机模块等等,现在,Moto官网自己曝光即将要开售的手机Mods。 官方表示: 随身照片打印机、游戏手柄、乐高机器人、墨水屏幕等。没有做不到,只有想不到。mods的生态家族会持续带来更新的功能模块,敬请期待!   其实在今年的6月初,Moto已经在海外推出了全新的Moto GamePad(游戏手柄)、Moto Style Shel
[手机便携]
Z ig Bee模块的运动数据采集与传输设计
ADI公司的ADIS16355提供完全的三轴惯性检测(角度运动与线性运动)。内核采用iMEMS传感器技术,内置嵌入式处理器用于传感器校准与调谐;采用SPI接口,方便连接与编程;具有±10 g测试范围,环境温度在-40~+85℃;具有可编程的功率控制能力和可编程的滤波器设计;超小型模块尺寸,应用非常广泛。利用ARM7微处理器LPC2148对其进行数据的采集并存储在SD卡中,以便后续数据传输。该套系统应用非常广,可以作为医疗方面病人康复的数据采集分析系统,也可以作为运动器材的数据采集分析控制系统。 1 系统整体设计 1.1 系统架构 整个数据采集传输系统结构如图1所示。利用LPC2148对ADIS16355进行控制并负责把采集
[工业控制]
Z ig Bee<font color='red'>模块</font>的运动数据采集与传输设计
安世半导体:Nexperia 5G PA/TWS/IoT模块多款SiP产品下线
9月6日,据闻泰科技公众号显示,9月4日,闻泰科技旗下全资子公司安世半导体(中国)有限公司举行SiP产品下线仪式,宣布Nexperia 5G PA、TWS、IoT模块等多款SiP产品成功下线。 此次SiP产品下线是安世进入SiP领域、拓宽业务边界的重要一步。目前闻泰科技已经将安世的5G PA SiP、TWS SiP、Cat1 IoT模块、Cat4 IoT模块、65W GaN快充SiP等众多SiP产品应用到多款硬件产品中,测试和市场反馈的情况较好。作为全球领先的半导体IDM和通讯产品集成企业,闻泰科技拓宽传统SIP边际,从产品定义到研发封装,依托设计能力,发挥ODM龙头优势,推出系统化解决方案,在SiP市场拥有较大优势和机遇。
[手机便携]
Keil的代码优化产生的问题
阅 读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C5l对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析。文章中提到的两种解决方法并不直接和简单。笔者认为这并非是 Keil C51中不能处理对一个端口进行连续读写的问题,而是对Keil C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文。 本文中对原文提到的问题,提出了三种不同于原文的解决方法。每种方法都比原文中提到的方法更直接和简单,设计也更规范。(无意批评,请原文作者见谅) 1 问题回顾和分析 原文中提到:在实际工作中遇到对同一端口反复连续读取,Keil C5l编译并未达到预期的结果。原文作者
[单片机]
基于linux的嵌入式无线可视门铃系统的设计
1、 引言    在当前的电子行业中,无线技术已经渗透到方方面面,无论是电视机的遥控设备,还是计算机的外围设备都是如此,有的键盘和鼠标甚至也使用了无线技术。无线网络技术已经成为热门技术。无线网络产品广泛应用于家庭网络、小型办公室、会展中心、体育中心、飞机厂、医院、学校、港口、住宅小区、酒店、宽带接入。它使人们在 Internet 应用中摆脱了无穷无尽电线电缆的束缚,进入真正的无网不在的 Internet 自由空间。无线网络技术可望成为新的经济增长点。   近几年来 , 随着市场上智能化楼宇的不断升温 , 门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人
[应用]
Cissoid公司推出电动汽车用三相SiC智能功率模块
(图源:cissoid官网) 据外媒报道,比利时Cissoid公司推出一款三相SiC智能功率模块(IPM),可用于电动出行。 这款1200V/450A IPM包括一个带有内置栅极驱动器的三相水冷SiC MOSFET模块。在600V/300A下,它的通态电阻为3.25 mΩ,开通能量和关断能量分别为8.3 mj和11.2 mj。与最新的硅IGBT模块相比,至少减少了三分之一损耗。 这款IPM通过轻质AlSiC扰流柱基板进行水冷却,结流热阻为0.15°C/W。该功率模块的额定结温为175°C,能承受高达3600V (50Hz,1min)的隔离电压。 内置栅极驱动器包括三个车载隔离电源(每相一个),每个电源可提供高达5
[汽车电子]
Cissoid公司推出电动汽车用三相SiC智能功率<font color='red'>模块</font>
STM32 易阅读的代码风格
命名方式 变量 全局变量(驼峰命名法) USART_RxCounter、ColorValue、ADC_Value 局部变量(下划线命名法) usart_rx_counter、color_value、adc_value 函数 所有函数(驼峰命名) USART_Init(); HardwareInit(); CheckValue(); 代码风格 基本语句风格 /*if语句---(外层if语句)*/ if (USART_Falg) { /*if语句---(内层if语句)*/ if ('A' == tmp){ tmp--; sum++; } else { tmp++; sum--;
[单片机]
凌力尔特推出双通道隔离式RS232 微型模块收发器
      凌力尔特公司 (Linear Technology Corporation) 推出双通道隔离式 RS232 微型模块 (uModule®) 收发器 LTM2882,该器件防止大的地至地差分和共模瞬态。在实际的 RS232 系统中,不同节点的地电位可能变化很大,常常超过可接受的范围,从而引起通信中断或收发器受损。通过采用内部感应信号隔离来对逻辑电平接口和线路收发器实施隔离,LTM2882 断开了接地环路。这允许大得多的共模电压范围和 30kV/us 的卓越共模抑制比。一个低 EMI DC-DC 转换器产生驱动 RS232 电平的电源,并提供额外的 5V 隔离电源输出,以为任何支持外部组件供电。LTM2882 具有 250
[电源管理]
凌力尔特推出双通道隔离式RS232 微型<font color='red'>模块</font>收发器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
最新工业控制文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved