基于组态王和PLC的模糊PID水压控制研究 |
摘 要:本文介绍了S7-300的基本功能和模糊控制的基本原理,详细阐述了如何利用step 7编写用户自行开发的模糊PID控制算法和如何利用组态王6.5对供水管网水压进行监控。通过组态王和S7-300之间的通信,采用模糊PID控制算法实时调节P、I、D参数,实现了对供水管网水压的控制。 关键字:组态王6.5,水压控制,模糊PID控制算法,S7-300PLC,多点接口网络MPI 1 引言 近年来,随着工业自动化技术的发展,人们对自动化监控系统的要求越来越高,这就需要一套使用方便,功能强大,性能优异、稳定可靠的监控软件。而西门子公司的SIMATIC S7的PLC网络具有多点接口网络(MPI),可实现S7-300与工控组态软件组态王的通信,实现计算机的自动控制。本文就组态王6.5和S7-300 在恒压供水系统控制中的应用进行研究。 2 组态王简介 “组态王”是在PC机上建立工业控制对象人机接口的一种智能软件包,它以Windows 98/Windows 2000/ Windows NT4.0中文操作系统作为其操作平台,具有图形功能完备,界面一致友好,易学易用的特点。该软件包由工程管理器(ProjManager)、工程浏览器 (TouchExplorer)、画面运行系统(TouchVew)三部分组成。ProjManager用于新建工程、工程管理,并能对已有工程进行搜索、备份及有效恢复,实现数据字典的导入和导出。TouchExplorer是“组态王”软件的核心部分和管理开发系统,是应用工程的开发环境,内嵌画面开发系统,可完成对画面的设计、动画的连接等工作。TouchVew是“组态王”软件的实时运行环境,用于显示画面开发系统中建立的动画图形画面,并负责数据库与I/O服务程序的数据交换,通过实时数据库管理从一组工业控制对象采集到的各种数据,并把数据的变化用动画的方式形象地表示出来,同时完成报警、历史记录、趋势曲线等监视功能,并可生成历史数据文件。在TouchExplorer的画面开发系统中设计开发的画面应用程序必须在TouchVew运行环境中才能运行。 3 S7-300简介 S7—300系PLC是西门子公司较新开发的工控产品之一,在西门子工控领域应用中占有重要地位。S7—300系列PLC软硬件功能强大,采用模块化设计,系统配置方便,在一块机架底板上可安装电源、CPU、各种信号模板、通信处理器等多种特殊功能模块,各种模块安装方便,系统带有强大的Profibus现场总线接口及MPI接口,MPI接口既是编程接口,又是数据通信接口,通过此接口,PLC与PLC之间、或PLC与上位机之间都可以通过MPI协议进行通信,从而组成MPI网络。然而S7—300系列PLC所自带的组态功能,远远达不到客户的要求,可视化效果较差,自然就需要与之相匹配的组态软件来实现其监控功能。 使用S7-300要进行硬件组态。此时计算机作为PLC的编程装置,打开S7-300编程软件包STEP 7,对S7-300 的机架号、电源、CPU、分布式I/O等各种模块,按其实际物理位置进行组态,其中,分布式I/O模块的地址一般根据模块旁的拨盘开关来设定。最后将组态程序表下载到PLC并确认。在西门子的软件包STEP7 中,可用梯形图、语句表或功能块图进行编程。 4 模糊PID控制算法的实现及应用 自动控制理论中的分析和设计方法主要是建立在被控对象的线性定常数学模型的基础上的。该模型忽略了实际系统中的非线性和时变性,与实际系统有较大的差距。对于许多工业控制对象,根本就无法建立较为准确的数学模型,因此自动控制理论中的设计方法很难用于大多数控制系统。模糊控制适合于对象模型难以建立、过程特性缺乏一致性、具有非线性、但可以总结出操作经验的系统【2】。而水压控制具有非线性、时变性和滞后性,因此将模糊PID控制算法应用于恒压供水控制系统中。 4.1 恒压供水控制系统的组成及工作过程 本系统以PLC为控制核心,通过上位机自由设定所需水压,当水压设定好后,根据变频恒压供水原理,利用安装在供水管网上的压力传感器,对供水管网水压进行数据采样,并将水压信号转换为电信号送人PLC,PLC根据实际水压值与设定水压值进行比较和运算,并将运算结果转换为电信号,输出送到变频器的信号给定端,变频器根据给定信号,调节水泵电机的电源频率,从而调整水泵的转速,以维持供水管网中水压值在设定的水压范围内,从而达到恒压供水的目的。另一方面,PLC又与计算机进行通信,通过组态画面实时监控压力变化。 本恒压供水系统包括研华工控机(上位机)、S7-300PLC、变频器、水泵电机、液位传感器和水箱等。软件部分为在WINDOWS平台上运行的STEP 7,其基本功能是协助用户完成应用软件任务[5]。 此恒压供水系统采用了一台变频器控制三台泵的工作方式。工作过程如下:先由变频器起动1#水泵运行,如工作频率已经达到50Hz,而压力仍不足时,将1#泵切换成工频运行,再由变频器去起动2#水泵,供水水泵处于“1工1变”的运行状态;如变频器的工作频率又已经达到50Hz,而压力仍不足时,将2#泵也切换成工频运行,再由变频器去起动3#水泵,供水水泵处于“2工1变”的运行状态。如果变频器的工作频率已经下降到下限频率,而压力仍偏高时,则将1#泵停机,供水水泵又处于“1工1变”的运行状态;如果变频器的工作频率又已经下降到下限频率,而压力仍偏高时,则将2#泵停机,供水水泵又处于3#泵变频运行状态。这样安排,具有使3台泵的工作时间比较均匀的优点。 4.2 模糊控制原理 最基本的模糊控制系统结构如图1所示。图中yr为系统设定值,y为系统输出值,它们都是清晰量。从图中可以看出,它和传统的控制系统结构没有多大的区别,只是用模糊控制器代替传统的数字控制器。 一般说来,模糊控制器有三个主要的功能模块。 (1)模糊化 模糊化是将模糊控制器输入量的确定值转换为相应模糊语言变量值的过程,此相应语言变量值均由对应的隶属度来定义。 (2)模糊推理 模糊推理包括三个组成部分:大前提、小前提和结论。大前提是多个多维模糊条件语句,构成规则库;小前提是一个模糊判断句,称为事实。以已知的规则库和输入变量为依据,基于模糊变换推出新的模糊命题作为结论的过程叫做模糊推理。 (3)清晰化 清晰化是将模糊推理后得到的模糊集转换为用作控制的数字值的过程。 4.3 模糊PID控制算法的实现及应用 本文主要讨论组态王6.5和S7-300在压力控制中的应用。在S7-300编程软件包STEP 7中编写用户程序,用模糊PID控制器代替传统的PID控制器,采用中断的方式来执行模糊PID控制算法。利用STEP 7实现智能算法选择适当的PID参数,通过改变PLC中PID模块中的PID参数实现系统的控制。这样PLC集成的PID编程模块语句和智能控制有机地结合起来,提高了系统的控制精度和速度,实现了对系统的有效智能控制。在这里我们以查询规则表的方式利用模糊控制实现对系统控制参数P、I、D的选择。由于被控参数水压变化较快,故本控制系统的采样时间为5秒。 模糊PID控制算法中的参数由如下方法确定:。 其中ke,kec分别为偏差e和偏差变化率ec的量化因子; eH,eL,ecH,ecL分别为偏差e和偏差变化率ec的高限值和低限值[3]; 为把语言变量的论域从连续域转换成有限的离散论域后,离散论域的边界数值。对于偏差e和偏差变化率,把其物理论域通过量化变换到整个论域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},即n为6。如果求出的模糊化所得值含有小数,则采用四舍五入的方法对模糊化所得值取整数。 在组态王6.5中对水压控制过程进行组态监控。设计中,组态王把每一台下位机看作是一个外部设备,在开发过程中可根据“设备配置向导”的提示方便、快捷地完成连接。在运行期间,组态王通过驱动程序和这些外部设备交换数据,包括采集数据和发送数据指令。每一个驱动程序都是一个COM对象,这种方式使通讯程序和组态王构成一个完整的系统。其与下位机通信原理如图2所示。本系统采用串口通讯的方式与S7-300PLC建立联系。 当建立了上位机和PLC之间通讯联系后,为实现上位机对压力控制系统的监控功能,需要设置变量并进行变量到PLC的连接。在组态王数据词典中定义I/O变量,与预先在PLC中定义的中间变量相关联。在进行完数据变量设置后,便可进行画面组态,根据系统监控的实际 要求,实现最终的上位机监控功能。设计的软件使用曲线图来显示参数的变化并且可以进行实时曲线监测和历史曲线查询[4]。 将以上算法应用到实验中,实验控制效果如图3所示,将传统的PID算法应用到试验中,实验效果如图4所示。从图3中可以看到水压值在设定值变化时,很快就可以回到设定值上,而且基本上没有超调量,极少出现振荡现象,控制取得很好的效果;而在图4中,每次设定值发生变化时都出现了较长时间的振荡。由此可见应用模糊PID控制算法比传统的PID算法取得更好的效果。 5 小结 工控机运用组态王与PLC进行通讯,具有实时性好、速度快、可靠性高、运行稳定、调节灵活等优点。系统人机界面友好而直观,而且具有一定的灵活性,易于扩充。本文结合恒压供水系统,提出了模糊PID控制算法,采用s7—300PLC编写了模糊PID程序。利用此算法实时设定P、I、D参数、PLC利用集成的PID模块快速输出控制量,利用组态王软件监控恒压供水系统的运行情况,并应用于实验。实验结果表明该方法在不增加系统任何成本的情况下,实现了系统的智能控制,具有控制精度高,稳定性好的优点,为智能控制算法在工业过程控制中的应用提供了一个新思路。 |