• 官方微信

    CA800二维码微平台 大视野

  • 工控头条

    CA800二维码工控头条App

当前位置:自动化网>自动化文库>应用案例>小型航空发动机测控系统设计

小型航空发动机测控系统设计

发布时间:2013-03-25 来源:中国自动化网 类型:应用案例 人浏览
分享到:
关键字:

PLC 接口技术 测控系统 小型航空

导读:

1 引言发动机是航空产品的重要组成部分,其工作状态直接影响着航空产品的性能指标。因此,需要在航空产品设计之前,对发动机各项性能进行测试,获取发动机测试过程中转速、拉力、扭矩、振动、温度等各项性能参数数据,...

1  引言
发动机是航空产品的重要组成部分,其工作状态直接影响着航空产品的性能指标。因此,需要在航空产品设计之前,对发动机各项性能进行测试,获取发动机测试过程中转速、拉力、扭矩、振动、温度等各项性能参数数据,掌握这些参数的内在变化规律。
本文设计的小型航空发动机测控系统采用PLC控制器实现数据采集和控制功能。PLC被广泛的应用于工业控制领域,具有很高的可靠性和抗干扰能力。
监控计算机采用OPC接口访问PLC数据。OPC(OLE for Process Control) 是国际OPC基金会制定的专用于工业过程自动化的接口标准,为从数据源提取数据并传输到应用层提供了一种标准途径。它是一种开放、高效的通信机制,使控制软件可以灵活、稳定地对硬件设备进行数据存取操作,系统应用软件之间也可灵活地进行信息交互,极大提高了控制系统中软件互操作性和设备的互换性[2]。
测控系统基于PLC和OPC接口技术,实现了发动机各项性能参数的数据采集、处理、显示、存储、数据回放以及油门控制,满足了小型航空发动机测试的需要。

2  系统概述
发动机测控系统由传感器、PLC控制器、模拟量模块、监控计算机等部分组成。传感器将发动机各项物理参数转换为4~20mA标准模拟量输出,由模拟量模块将其转换为0~32000的数字量。PLC读取模拟量模块中的数据,经过软件滤波、线性变换等处理后转换为和实际物理量一致的数值。PLC根据监控计算机发出的油门舵机控制指令,输出脉冲宽度可调的PWM信号,驱动油门舵机转动到设定的角度值。监控计算机上运行的OPC服务器软件实时读取PLC中的数据,同时监控软件中的OPC客户端程序通过和OPC服务器交互,访问PLC中的数据,并将数据处理、显示和存储。测控系统框图如图1所示。

3  系统硬件设计
测控系统硬件主要由传感器、模拟量模块、PLC和监控计算机组成。拉力、扭矩、振动传感器分别检测发动机测试过程中螺旋桨拉力、发动机扭矩、发动机振动加速度。发动机表面温度由Pt100铂电阻和温度变送器检测。Pt100铂电阻安装在发动机表面,将温度变化转换为电阻的变化,再由温度变送器将电阻变化转换为4~20mA模拟量信号。发动机转速由编码器检测,发动机每旋转一周编码器输出100个脉冲,当发动机最高转速为6000r/min时,编码器输出脉冲频率为60kHz。PLC对编码器脉冲信号计数,根据一段时间的脉冲个数计算出发动机转速。PLC选用西门子CPU224XP模块,其最高计数频率可达200kHz,满足了对编码器脉冲信号高速计数的要求。
模拟量模块将传感器输出的4~20mA模拟量信号转换为0~32000的数字量供PLC采集。模拟量模块选用西门子EM235扩展模块,其转换精度高、抗干扰能力强,具有4个模拟量输入和1个模拟量输出接口,每个模拟量通道可根据传感器输出信号类型单独配置。PLC模块是测控系统的核心器件,除了完成数据采集和处理,还要完成和监控计算机通讯以及油门舵机控制功能。PLC选用西门子CPU224XP模块,其具有14个开关量输入和10个开关量输出接口,同时集成了2个模拟量输入和1个模拟量输出接口,具有最大200kHz脉冲计数和100kHz脉冲输出功能。CPU224XP模块具有2个RS485通讯端口,使用西门子PPI协议或自定义通讯协议和外围智能设备通讯,此系统中通过PC/PPI编程电缆和监控计算机通讯。

4  系统软件设计
4.1  概述
测控系统软件包括PLC下位机软件和监控计算机监控软件。PLC下位机软件在西门子STEP7 MicroWIN V4.0集成开发环境下采用梯形图编程,主要完成发动机参数计算、转速检测、油门舵机控制功能。计算机监控软件采用Visual Basic 6.0编程,主要完成和OPC服务器通讯、数据显示、数据存储和数据回放功能。OPC服务器采用西门子PC Access软件,实时读取PLC中的数据。监控软件通过OPC自动化接口和OPC服务器通讯,实现了对PLC的透明数据访问。测控系统数据流程图如图2所示。

4.2  PLC下位机软件设计
PLC下位机程序主要包括主程序、初始化子程序、发动机参数计算子程序、转速计算子程序、油门舵机控制子程序。主程序调用各个子程序,当满足条件时执行该子程序。初始化子程序在PLC上电的第一个扫描周期执行,将计数器清零、寄存器赋初值、连接中断等。参数计算子程序根据读取的各模拟量通道数值和传感器量程计算出拉力、扭矩、振动、温度等参数。转速计算子程序根据PLC高速计数器在一段时间间隔内统计的编码器脉冲个数,计算出发动机转速。油门舵机选用Hitec数字舵机,其转动角度由PWM脉冲控制。PWM脉冲信号周期20ms,脉冲宽度0.9~2.1ms,对应舵机转动角度-60~+60°。PLC根据设定的角度值输出脉冲宽度可调的PWM脉冲驱动舵机转动。
4.3  计算机监控软件设计
计算机监控软件包括OPC客户端、数据显示、数据存储、数据回放等模块。OPC服务器软件安装完成后在监控计算机生成动态链接库文件OPCAauto.dll,Visual Basic 6.0中通过引用该文件可以对OPC对象进行各种操作。OPC客户端负责创建各种OPC对象,以及对OPC对象进行读写操作,访问PLC中的数据。数据显示模块利用虚拟仪表控件将OPC客户端提供的数据实时地以文本、图形、曲线等方式显示出来,同时数据存储模块将这些数据实时地保存在本地文件中。数据回放模块读取存储文件中的数据,通过调用显示模块将历史数据在监控界面上回放。监控软件界面如图3所示。

4.3.1  OPC客户端[3,4]
Visual Basic 6.0中通过引用动态链接库OPCAauto.dll可以创建各种OPC对象,包括服务器对象、组集合对象、组对象、标签集合对象、组对象,然后通过同步或异步方式访问OPC服务器数据。在窗体加载时创建各OPC对象,部分程序代码如下:
Dim ItemIDs(7) As String  ’定义标签数组
Dim ItemClientHandles(7) As Long  ’定义客户端句柄数组
Set MyOPCServer = New OPCServer  ’创建OPC服务器对象
Call MyOPCServer.Connect("S7200.OPCServer")  ’连接OPC服务器
Set MyGroups = MyOPCServer.OPCGroups  ’创建组集合对象
Set MyGroup = MyGroups.Add("Group1")  ’添加组对象Group1
Set MyItems = MyGroup.OPCItems  ’创建标签集合对象
’将需要采集的变量添加到标签数组中
ItemIDs(1) = "MicroWin.S7200.转速"
ItemIDs(2) = "MicroWin.S7200.拉力"
……
’创建客户端句柄
For i = 1 To 7
ItemClientHandles(i) = i
Next
’添加标签数组
Call MyItems.AddItems(7, ItemIDs, ItemClientHandles, MyItemServerHandles, Errors)
OPC数据访问包括同步方式和异步方式。同步方式需要等待服务器返回数据后才可以进行下一步处理,访问时间较长,但编程简单。异步方式中客户端发出读/写请求后可以执行其他任务,当服务器返回数据后在读/写完成事件中对数据进行处理,此种访问方式效率高但编程较复杂[5]。由于本系统通信数据量不大,采用同步访问方式。程序中定时读取OPC服务器数据,部分程序代码如下:
Private Sub Timer1_Timer()
……
Call MyGroup.SyncRead(OPCCache, 7, MyItemServerHandles, Values, Errors, Qualities, TimeStamps)   ’同步读取OPC服务器数据
……
4.3.2  数据显示
OPC服务器返回的数据保存在参数Values()数组中,将该数组元素赋值给相应的显示控件就可以显示发动机各参数数据了。显示实时曲线的部分程序代码如下:
For i = 1 To 6
iPlotX1.Channel(i - 1).AddYNow Values(i)  ’将Values()数组元素赋值给曲线控件
Next
4.3.3  数据存储
在定时器中将OPC服务器返回的Values()数组各元素按一定格式写入到文本文件中,实现了数据实时存储功能,部分程序代码如下:
For i = 1 To 6
Print #SaveFileId, Format(Values(i), "###0.0")  ’将Values()数组写入到文本文件中
Next
4.3.4  数据回放
数据回放模块读取数据存储文件中的数据,通过调用数据显示模块将发动机测试的历史数据在监控界面上显示,方便了测试人员对历史数据的查看。同时在软件中设置了进度条,可根据需要选择感兴趣的回放开始时间。数据回放模块部分程序代码如下:
Private Sub Timer2_Timer()
If Not EOF(ReadFileId) Then   ’如果没有到文件尾
For i = 1 To 6 
Input #ReadFileId, FileData(i)   ’读取数据文件到变量数组中
    iPlotX1.Channel(i - 1).AddYNow FileData(i)’显示历史曲线
Next
End If
……

5  结束语
本文基于PLC硬件和OPC接口技术,设计了一种小型航空发动机测控系统,实现了发动机测试过程中各项性能参数的数据采集、显示、实时存储、数据回放以及对发动机油门的控制功能。系统采用PLC增加了可靠性和可扩展性,采用OPC接口技术使系统不依赖具体的硬件,提高了系统的兼容性。实际使用证明,该测控系统工作可靠、界面友好、扩展性强,可应用于小型航空发动机的性能测试。

参考文献:
[1] 田利峰,尹飞佳.航空发动机润滑系统试验台测控系统设计[J].科学技术与工程,2011;11(28):246-249.
[2] 赵宴辉,聂亚杰,刘二平,等.监控系统中OPC客户端程序设计与实现[J].微计算机信息,2010;26(22):82-84.
[3] 周新民,凃铮.基于OPC技术的PC与S7-200 PLC的实时通信[J].武汉理工大学学报(交通科学与工程版),2008;32(2):168-171.
[4] 王绪彪,张望,江丹玲.基于VB的OPC客户端软件的设计与实现[J].自动化与仪器仪表,2011;(2):50-53.
[5] 郑立译.OPC应用程序入门[M].日本OPC协会,OPC(中国)促进委员会,2002.

 作者简介:鹿麟(1978-),男,硕士研究生,工程师,研究方向:浮空器机电一体化、测控系统的设计。

本文地址:本文地址: http://www.ca800.com/apply/d_1nrutga2l2gkj_1.html

拷贝地址

上一篇:双级破碎机的优点与先进性

下一篇:简述水电厂用油的分类及作用

免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!