基于PLC的模糊控制在船舶主机调速系统的应用

2007-01-28 08:05
船海工程 2007年6期
关键词:子程序模糊控制编程

, ,

(海军工程大学 船舶与动力学院,武汉 430033)

由于船用机舱设备使用环境恶劣、实时性和可靠性要求高,而PLC有可靠性高、耗能低、抗干扰能力强、控制精确及系统功能可拓展性强等特点,因此各种型号的PLC也广泛应用于各种船舶的机舱设备监控。

随着微电子技术、计算机技术和模糊逻辑等相关技术的进一步发展,PLC逐步向智能产品转化[1-2]。各大PLC生产公司也不断研制专门的软件或硬件模糊控制器。模糊控制在PLC上的实现方式基本分两种[3]:一是通过专用的硬件实现,但其价格昂贵,并且需要使用专用编程设备;另一种实际采用较多的是通过软件实现,把模糊控制程序作为整个PLC控制程序的一个子程序,包括数据的读取、模糊推理和控制信号输出,通过中断调用子程序完成模糊控制。

本文运用第二种方法采用模糊控制方案,设计了一种通用的模糊控制器,利用STEP7软件,采用模块化编程方法,使用梯形图及语句表编制程序实现模糊控制算法,使模糊控制策略在S7-300 PLC上得以较好地实现。并将之运用到船舶主机调速系统当中进行研究分析。

1 主机遥控系统组成

系统主要由驾驶室、集控室遥控操纵台、主控制箱、机旁操纵箱等组成。

PLC接受车钟指令,检测主机(燃油切断、盘车机合上、主起动阀开、滑油温度低、主机转速等)和齿轮箱(正车、倒车)的相关状态信息,经相关程序计算输出,并通过调速器接口和开关量实现对主机的调速及齿轮箱的操作控制,同时进行报警及状态显示。系统可通过设在集控室、驾驶室的人机界面进行参数修改及显示,结构见图1[5]。

PLC在主机遥控系统中的主要程序模块主要有调速控制、换向控制、故障监测和诊断控制等几个部分,本文主要针对调速控制模块的程序运用模糊控制进行改进。

图1 PLC在主机遥控系统的应用结构

2 主机调速系统模糊控制策略

传统PLC调速控制均采用传统的PI或PID的控制方法,对模型的依赖性较强。通常主机在不同的工况,不同的工作环境、不同的寿命周期内,其模型参数会有较大变化,而且非线性、时变性对传统控制器品质有较大影响。传统的PID方法用于船舶柴油机主机调速回路有其不足之处,它很难保证所设定的调节器参数在整个系统变化范围内达到最优。因此,为了提高运行的可靠性、平稳性,在调速系统中采用模糊控制。原理见图2[6]。

图2 主机调速系统模糊控制原理

2.1 定义各变量隶属度函数

在模糊化设计中,可用状态词正大、正中、正小、正零、负零、负小、负中、负大来表示E变量的变化。其语言变量为{PB、PM、PS、PZ、NZ、NS、NM、NB}。Ec和u语言变量为{PB、PM、PS、ZE、NS、NM、NB}。E(即e)和Ec(即ec)的论域定义为[-6,6]之间,输出控制量u的论域定义为[-7,7]之间。采用三角形函数作为隶属确定模糊语言变量的隶属度,可分别得到模糊变量E、Ec、u的隶属度赋值表,见表1、2、3。

表1 E的隶属度

表2 Ec的隶属度

表3 u的隶属度

2.2 建立模糊控制规则表

模糊量转为执行机构可执行的精确量,采用最大隶属度法,即μ(u*)≥μ(u),μ是u的隶属度函数,u*是与最大隶属度对应的模糊控制量值。

知识库由数据库和规则库组成。控制规则采用基于IF-THEN(条件-结果)的产生式规则,其结构简单,易于修改和掌握,比较适合PLC编程。如:ifE=NBandEc=NBthenu=PB表示为:R1=NBE×NBEc×PBU。总结控制经验,共有56(7×8)条控制规则。总的模糊关系为:R=R1∪R2∪…∪R56,R是模糊关系矩阵,∪表示取大。采用合成推理法:U=E×EC∘R。×表示求值积,∘是合成运算符,这里采用最大-最小合成法。整个模糊推理过程后得到模糊控制量查询表,见表4。

表4 模糊控制规则表

2.3 模糊控制程序流程图

模糊控制程序流程见图3[2]。

图3 模糊控制程序流程图

3 STEP7实现的模糊控制算法

PLC系统选用Siemens S7-300。详细配置如下:CPU为CPU315-2DP;接口模块为IM361,可以扩展;信号处理模块为SM334和SM321,SM334为模拟量输人/输出模块,实现模拟参数的数据采集和输出,SM321为数字输人模块,采集现场开关参数数据;功能模块为FM355C,为智能控制模块,实现参数的PID控制;通信模块为CP5613通讯卡,支持MPI协议、PROFIBUS-DP协议、S7 Connections,用于工程师站/操作员站和PLC的多点连接和上位组态软件WinCC的通信。

为了简化程序编写量,提高程序的通用性并且方便调试,PLC程序设计采用了模块化编程方法。编程语言采用梯形图(LAD)和语句表(STL)结合的形式。

主模块OB1实现对子程序块的调用和数据的传递,OB35为中断服务程序模块。FB1模块为模糊控制器,完成整个模糊控制功能。它由FC1~FC4 4个子程序块组成。其中FC1完成e(速度误差)和ec(误差变化率)的计算;FC2进行模糊化处理,即完成精确量e、ec到模糊量E、Ec的转换;FC3完成控制量表的查询功能;FC4完成模糊控制量U到精确量u的转化,并输出u。FB1依次调用4个子模块完成模糊控制各部分的功能,并实现他们之间的数据传递。FB1模糊控制器编制完成后,保存在STFP7标准库中,其具有很强的灵活性和通用性,如同STEP7中PID控制器(FB41)一样,方便调用。针对不同的被控变量,只要对FB1输人输出端进行正确的组态即可对变量进行模糊控制。

整个程序设计的关键是模糊控制量表的查询部分,即FC3子程序块。在编程之前,将模糊控制量表中U的值按由上到下,由左到右的顺序依次置入数据块DB1中,数据类型为WORD型。首地址为DBW0,依次为DBW2、DBW4、…、DBW336(U的个数是13×13)。

最后由FC4功能块实现控制量U从模糊量到精确量的转换,即U乘以量化因子Ku再经过限幅,将最终计算结果送到模拟量输出模块实现控制作用。

应用基于PLC的模糊控制器后,主机调速控制效果较以前有很大改善,整定时间缩短,超调量缩小,控制稳定。在一定时间内(20 min)、一定转速范围内(800~1 600 r/min)、外加一些干扰时用计算机仿真得到比较结果见图4。

图4 模糊PLC控制和传统PLC控制效果

4 结论

仿真得到基于Siemens S7-300 PLC实现主机调速系统的模糊控制,既保留了PLC控制的可靠、灵活等特点,又提高了控制系统的智能化程度。具有控制精度高、编程简单、程序改变灵活、可扩展性强、工作可靠、抗干扰能力强等特点。系统缩短了控制响应时间,从而明显提高了舰艇的机动性和作战能力,具有很强的实用性。由于是对软件进行的模糊控制改进,不需要对已成熟系统进行大的变动,很容易系统升级和扩展,因此具有良好的操作性。同时S7-300具有数据通信能力,能够实现与上位机和全舰网络的信息共享,为进一步提高舰艇的自动化、智能化、数字化奠定了基础,具有良好的应用前景。

[1] 殷 铭,戴先中,徐科军.模糊测控仪器仪表研究与应用的新进展[J].自动化仪表,1999,20(12):2-3.

[2] 康斌栋,王志新.基于PLC模糊控制软件的设计研究[J].机电一体化,2000(1):57-58.

[3] 王志凯,郭宗仁,李 琐.用PLC实现模糊控制的两种设计方法[J].工业控制计算机,2002(2):15-16.

[4] 祝 福,王文义.PLC在船用柴油机调速器中的应用[J].造船技术,2005(1):24-25.

[5] 张华力, 郭庆祝.可编程逻辑控制器在船舶主机遥控系统中的应用[J].船电技术,2006 (1):36-37.

[6] 王春芳.船舶柴油机调速系统模糊控制策略[J].集美大学学报,1998,3(4):43-45.

猜你喜欢
子程序模糊控制编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
基于变论域模糊控制的Taylor逼近型内模PID算法
编程小能手
纺织机上诞生的编程
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
基于模糊控制的PLC在温度控制中的应用
浅谈子程序在数控车编程中的应用
自动离合器起步控制的模糊控制方法研究
子程序在数控车加工槽中的应用探索