资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五章 换热器温度和冷水流量串级控制系统设计5.1 工艺简介:由图5-1可知,热水通过换热器中排管的外面,把热量传给排管内通过的冷水。 热水的出口温度可以通过改变支路 2 上的控制阀的开度来实现控制要求11。 引起热水出口温度变化的干扰有物料的流量,初温和压力等,其中最主要的干扰是冷水的流量12。热水从锅炉经泵 1 到换热器,再回到锅炉形成热水循环。冷水从大水槽经泵 2 到换热器,再回到大水槽形成冷水循环。支路 1 和支路 2 中均有温度和流量变送器,可完成对热水温度和流量的测量变送13。图5-1 换热器温度和流量串级控制5.2 系统创建工程 创建一个新的工程,在这之前要进行编程前的准备工作,包括通信设置和组态。5.2.1 新建工程单击FileNew,新建一个工程项目,命名为wangli,类型默认Project。单击Browse选择工程保存地址。单击OK,系统创建了一个名为wangli的新工程。建立S7-300站。右键单击工程名wangli,单击Insert New ObjectSIMATIC 300 Station.5.2.2 设置通信这里我使用的是S7-300 MPI电缆连接方式,因此选择PC Adapter,install.不需要其他接口。图5-2 安装PG/PC通信接口窗口设置或添加PC Adapter(MPI):PROPERTY 按钮Local Connection 属性页COM2,19200,其他参数不需要设置。5.2.3 硬件组态和下装打开工程中的Hardwork,从而进入HW CONFIG窗口。在HW CONFIG中插入机架,根据实验所用的设备型号组态硬件。如下表:表5-1 硬件组态数据模块型号电源PS-300PS 307 2ACPUCPU-300CPU313C-2DP313-6CE01-0AB0模拟量输入输出SM334 334-0CE01-0AA0 SM334的输入输出地址为:AI地址:256-263AO地址:256-259 5.3 编写程序5.3.1 复制OB块和已有函数首先打开libaries中的standard library,选择Orgnization Blocks.把OB1复制粘贴到当前工程中。表5-2 OB1块的功能中断类型组织块默认优先级备注主程序扫描OB11周期运行:开始循环监控时间输出到模块从模块输入执行程序执行挂起的其他任务回到开始,重新循环监控时间5.3.2 符号和变量编辑从资源管理器中选择S7 Program(1)中打开Symbols编辑,编辑全部输入输出相关变量的全局变量,以便使得程序具有很好的可读性。建立所有需要用到的全局变量,如下图:图5-3 PID全局变量表其中AI(SM334 模拟量输入),AO(SM334 模拟量输出),变量地址都是PIW,POW,的格式,这表示这些变量使用的是硬件地址,格式是16进制数。PIW表示输入,POW表示输出。有了变量表,在程序中就可以直接调用全局变量的Symbol,来访问该硬件地址。例如在程序中调用AIO,它会自动指向PIW 256,也就是SM 334模拟量输入通道0的模拟量值。又比如在程序中写入一个1,它会自动指向Q124.0,也就是CPU的DI/DO模块的数字量输出通道0,该通道便会输出开关量1,也就是继电器开关闭合。如果该通道通过继电器切换控制着一个电磁阀,该电磁阀便会启动。5.3.3 创建PID控制块单击Blocks,进入里面的组织块OB1,进入编辑环境。要进行PID单回路控制的编程,需要添加PID块,在Librariesstandard libraryPID control blockFB41 CONT_C ICONT,将其拖到代码区梯形图上即可添加PID模块。需要创建PID的背景数据块,PID数据所涉及的所有参数都存放在这个背景数据块中,可以通过在组态软件中控制这些参数。图5-4 模块图图5-5 PID的背景数据块内容PLC的输入输出,手自动切换,参数,控制功能都能通过DB1中的数据进行控制。实际工程应用中,还需要增加手动自动切换控制。在手动时,SP跟随MV,MV等于MAN(手操作值),自动时MAN(手操作值)跟随。图5-6 DB2背景数据内容5.3.4 创建数值转换功能4-20mA信号,被SM334模拟量输入输出模块采集后,数据范围是5530-27648。因此需要编写一个专门用来进行数值转换的功能(FC,类似于函数,可以被其他程序调用),把5530-27648的数据转换成PID控制所需要0-100的数据,并通过组态软件监控0-100的数据,符合人们的日常习惯。FC201即为数值转换功能,它有五个输入:IN,IN_MIN,IN_MAX,OUT_MIN,OUT_MAX和一个输出:OUTu IN:需要进行转换的原始输入变量u IN_MIN:原始变量的下限值u IN_MAX:原始变量的上限值u OUT_MIN:转换成的目标变量的下限值u OUT_MAX:转换成的目标变量的上限值u OUT:输出目标变量图5-7 FC201程序内容Network1:MOVE:将输入变量(左侧)的数值赋给输出变量(右侧)DI_R:双精度整数转换为实数SUB_R:实数减法运算Network2:赋值:TEMPINT=IN如果: TEMPINTIN_MIN则:TEMPINT=IN_MAXNetwork4:OUT=(OUTMAX-OUTMIN)+OUTMINCMPR是比较指令,SCALEIN作为分母,要求SCALEIN0图5-8 FC202程序内容这样就添加好了FC201和FC202两个功能以供使用。其中的FB41是之前生成的PID系统控制块,DB1是FB41的背景数据块,OB1是主程序组织块。5.3.5 单PID控制编程在进行OB1的正式编程钱,需要建立一个用户数据存储块,定义一些在编程中用到的变量。在工作区单击右键,insert new objectdata block,创建DB3图5-9 DB3中定义需要用到的变量其中temp用于分隔SET_TURE,SET_FALSE。这两个符号如果没有外部更改,就总是固定一个TURE和一个FALSE,以便在程序中使用。程序中不能对函数的参数直接赋予值的。返回工作区,打开OB1,开始编辑主程序。u 将两路模拟量输入转换为0100的实数,再赋值给MYDATA.AI0(即为DB3数据块中的用户自定义变量,也可以表示为DB3.DBD0)和MYDATA.AI1。u PID运算程序FB41 CONT_C,同时产生DB1。u 将PID运算程序FB41输出的控制量DB1.DBD72转换为553027648的word字,输出给AI0。AI1直接由组态软件给DB3,从这里输出。图5-10 OB1 程序内容图OB35模块图图 OB35模块图图 FB41模块5.3.6 FB41和PID控制FB是需要背景数据块DB的函数块,数据在执行完函数后还需要保存的。在各种逻辑块中可以调用FB。FB可以用户自己编写,也可以调用西门子公司提供的各种库中的FB。在standard library中的FB41,就是一个提供连续PID控制的函数,每个调用都指定其背景数据块,以便有不同的数据。PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。FB41就是CONT_C,提供连续模拟控制。 控制模块利用其所提供的全部功能可以实现一个纯软件控制器。循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB编程可能。1)PID控制的概念 :PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。 控制模块利用其所提供的全部功能可以实现一个纯软件控制器。循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB变成可能。功能块PULSEGEN一般用来连接CONT_C,以使其可以产生提供给比例执行器的脉冲信号输出。 基本功能:在功能块组成的控制器中,有一系列你可以通过设置使其有效或无效的子功能。除了实际采用PID算法的控制器外,还包括给定点值处理、过程变量处理以及调整操作值范围等功能。2)用功能块FB41“CONT_C”实现连续控制 :在SIMATIC S7 可编程控制器上,功能块FB41用来控制具有连续输入输出的技术过程。在参数设置过程中,可以通过参数设置来激活或取消激活PID控制的某些子功能来设计适应过程需要的控制器 可以将其作为一个给定点PID控制器,或者在多环路控制中作为串级、混合或比率控制器。控制器的算法是基于具有模拟输入信号的采样PID控制。如果扩展需要的话可以引入一个脉冲发生器,来产生具有脉宽调制的操作值输出,以提供给带有比例执行器的两级或三级步进控制器。 除了给定点和过程变量分支的功能外,FB自己就可以实现一个完整的具有连续操作值输出并且具有手动改变操作值功能的PID控制器,下面会找到各子功能的详细描述。u 给定点分支:给定点的值以浮点形式在SP_INT处输入。 u 过程变量分支:过程变量可以从外设直接输入到PV_PER或以浮点PV-IN形式输入,功能CRP_IN将从外设来的值PV-PER转化成范围在-100%100%之间的浮点形式,根据下面的法则进行转换: CRP_IN = PV_PER*100/27648 功能PV_NORM根据下面的法则标准化输出CRP_IN PV_NORM的输出 = ( CRP_IN的输出) * PV_FAC + PV_OFF PV_FAC和PV_OFF的默认值分别为1和0 3) 误差信号 误差是给定点和过程变量之间的差值。为了抑制由于控制量量化而引起的小扰动(例如,控制量由于其执行电子管的有限分辨率),可将死区功能DEADBAND运用在误差信号上。如果DEADB_W = 0,则死区就不起作用。 4) PID算法 此处PID算法是位置式的,比例、积分和微分作用并联并且可以分别激活或取消激活。这样就可以分别构造P、PI、PD以及PID控制器,纯比例控制器或纯微分控制也是可以的。 5)手动值 可以在手动和自动模式之间切换,在手动模式下,操作值可以由一个手动选择值来设定,积分器在内部设定为 LMN(操作值) - LMN_P(比例操作值) - DISV(扰动), 微分器设定为0并且在内部进行同步,这意味着当转换到自动模式后,不会引起操作值的突然改变。 6) 操作值 利用LMNLIMIT功能可以将操作值限定在所选的值范围内,输入值引起的输出超过界限时会在信号位上表现出来,功能LMN_NORM根据下面的公式标准化LMNLIMIT的输出 LMN=LMNLIMIT的输出LMN_FAC+LMN_OFF LMN_FAC和LMN_OFF的默认值分别为1和0 操作值也可以直接输出到外设,功能CRP_OUT将浮点形式的值LMN根据下面的公式转化成能输出到外设式的值:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号