基于S7-300 PLC的Simulink在线带进水纯滞后单容水箱液位控制——控制程序设计
MeasuredValue : REAL ; //测量数据
AreaBottom: INT ; //数据起始地址 AreaLength : INT ; //数据长度 DataStore : BLOCK_DB ; //数据存贮 END_VAR VAR_TEMP
Number : INT ; //循环计数器
BufferAR1 : DWORD ; //用于AR1的当前内容的缓冲区 MiddleValue : REAL ; //数值中间变量 END_VAR BEGIN NETWORK TITLE =
TAR1 #BufferAR1; //把地址寄存器->缓冲区 OPN #DataStore; //打开数据块 L P#0.0; L #AreaBottom; SLD 3; //转化为指针 +D ;
LAR1 ; //把指针装载到地址寄存器1
//**************************************************************** //数据循环,从最后的数据开始
//**************************************************************** L #AreaLength; //装载数据长度 Next: T #Number; TAR1 ; L P#4.0; -D ; // 地址递减 LAR1 ;
L DBD [AR1,P#0.0]; //上一个数据 T DBD [AR1,P#4.0]; //下一个数据 L #Number; LOOP Next;
//***************************************************************
11
基于S7-300 PLC的Simulink在线带进水纯滞后单容水箱液位控制——控制程序设计
L #MeasuredValue; //测量数据->第一个数据 T DBD [AR1,P#0.0];
LAR1 #BufferAR1; //把缓冲区内容->地址寄存器 BEU ; //结束 END_FUNCTION
从程序本身可以看出:和梯形图相比较来说,其本身较为复杂些,但较为灵活,更能满足信号队列较长的要求[14]。
在本次设计中,所需的队列较简短所以利用的是梯形图进行的队列的建立。队列操作封装在FB1模块中。
4.4 力控监控系统设计
由于此课题中涉及到的监控只是出于对曲线及响应时间上的监控,所以操作起来还是比较简单的。本次毕业设计用的是力控6.0监控组态软件,它具有实时多任务、接口开放、使用灵活、运行可靠的特点。
首先,利用组态软件的图库,使用相应的图形对象模拟实际的控制系统和控制设备。创建实时数据库时,用数据库中的变量反映控制对象的各种属性,变量描述控制对象的各种属性。然后建立变量和图形画面中的图形对象的连接关系,画面上的图形对象通过动画的形式模拟实际控制系统的运行。
具体的组态软件中实现的管道仪表流程图如下方图13所示:
图13 组态软件中实现的管道仪表流程图
IO设备组态如图14所示:
12
基于S7-300 PLC的Simulink在线带进水纯滞后单容水箱液位控制——控制程序设计
图14 IO设备组态图
数据库组态如图15所示:
图15 数据库组态
5设计中的设备介绍、设计结果及问题解决方法
5.1 过程控制实验装置的介绍
实际对象即“孝”字号上加有盘管滞后的系统响应
13
基于S7-300 PLC的Simulink在线带进水纯滞后单容水箱液位控制——控制程序设计
关于“孝”字号设备的简要介绍:南阳理工学院4521变频技术实验室“孝”字号实验台由夹套锅炉、管道、阀门、水箱、I/O模块、工控机、力控软件等部件组成。系统中可以测量和控制的量有流量、水压、温度、液位等;具有几个可控的参数:进出水阀门的开度、变频器频率、加热丝功率,可以通过改变它们的控制信号 (4-20mA)对其进行控制。水泵的出水口到单容水箱的进水口之间有一段很长(18m左右)的盘管,水流流经该管道造成大约25秒钟的时延,用来模拟滞后环节[15]。
控制效果:
控制西门子S7—300控制阀的开度大小,以此来调节水箱进水速度。利用力控监控软件进行实时监控,得到系统的曲线响应。如图16所示:
图16 系统实时监控响应稳态曲线图
响应效果分析:
由图之所反映的信息可得,在实际对象的控制中,并未取得一个好的响应曲线。单从理论上讲,Smith预估控制能克服大滞后的影响。但是由于Smith预估器需要知道被控对象精确的数学模型,而实际中很难获得对象的精确数学模型,故在应用中总存在模型的不匹配。
5.2 设计过程中出现的问题及解决方法
5.2.1 问题1 压力传感器输出滤波
现象:运行程序时,检测现象曲线波动较大。
思路:① 怀疑接线有短路或接触不良,自PLC控制面板开始检查线路并无此现象,转至仪表面板后接线端子,也没有发现问题。② 程序中上下限设定有问题,复查后并不超限。③ 压力传感器出现问题。
14
基于S7-300 PLC的Simulink在线带进水纯滞后单容水箱液位控制——控制程序设计
解决方法:在压力传感器中加入电容104(104=10*10^4=100000PF=0.1UF),以产生滤波效果,使得传送曲线趋于平稳。
5.2.2 问题2 SM334(PLC中模拟量模块)去干扰
现象:A/D转换输入出现数据跳动。
思路:① 控制程序中PID参数设定有问题,改变参数变化PID参数配套,分别置0,未解决。② 在控制程序中加入一个MOVE数据存储器,未解决。③ 外设接线,复查线路,没有发现断路情况,未解决。
解决方法:SM334输入输出都要接地,去除干扰。 5.2.3 问题3 补偿不稳定及解决方法
现象:响应结果出现震荡(不在允许范围内)。
思路:利用simulink仿真,利用OPC读写操作反推PID系统参数值。
解决方法:在系统运行之后,观测到的响应曲线正如前章结果所示,出现震荡多次调试仍未解决。遂采用simulink仿真,利用OPC读写操作反推PID系统参数值。OPC读写仿真如图17所示:
图17 加入OPC读写系统仿真图
把在此得到的数据用于设定PLC程序中的PID各参数,响应结果曲线并未发生很大好转。但本身的实验操作时正确的。可限于实验硬件器材的精度及我们本身的经验,最终响应结果仍有待改进。
15