江西理工大学电气工程与自动化学院 基于S7-300 双容水箱液位控制系统 4.3.2. 双环控制程序
作为本次设计的最终目标,我们需要达到的是一个双容水箱的液位控制,给定下水箱的液位值,通过水泵将水从储水池里面抽到上水箱中,再经过上水箱的出水口到达下水箱。在下水箱达到预定值时,实现上水箱的出水与下水箱的出水相等,即可保持下水箱的液位。
上水箱的出水速度受到它本身的水的压力影响,该环节相对于下水箱的控制目标来说,其实是一个扰动的因素,所以,在设计时应该对其进行一个闭环处理,也就是内环,同时内环的输出作为外环的给定,通过外环的控制,这样一种双闭环的操作,使得系统能够正常快速的达到我们所需的目标。
至于本次课程设计为什么选择PID控制算法,是因为PID算法在这里能够很好的实现控制要求。对于PID算法的具体情况,这里就不再赘述。详情可参考相关资料。综上:有下图 4.15。
图 4.15 双环闭环图
下图是双环共享数据块图
图 4.16 双环共享数据块
课程设计报告
18
江西理工大学电气工程与自动化学院 基于S7-300 双容水箱液位控制系统 具体的程序代码见下:
图
4.17 双环程序1
程序段Network:打开调节阀。
其次是检测当前水箱的水位值,也就是反馈环节。
图 4.18 双环程序2
注意到这里的上限值HI_LIM为450,是指水箱液位最大能达到的高度。
课程设计报告
19
江西理工大学电气工程与自动化学院 基于S7-300 双容水箱液位控制系统
图 4.19 双环共享数据块3
该部分程序的功能是将共享数据块中的外环的TI和TD写入背景数据块DB41也就是PID环节中。而下图则是PID1也就是外环主控环节。
课程设计报告
20
江西理工大学电气工程与自动化学院 基于S7-300 双容水箱液位控制系统 值得注意的是这里的LMN_HIM和LMN_LLM,这两个值分别是上下限,它是水箱在当前的物理状态下所能达到实际范围。这个数据是在阀门全开,全速工作时水箱最终稳定值。该部分的程序的意思是通过外环的检测进行PID计算,并将计算的结果结合内环水箱所能达到的实际值进行调整。输出值LMN作为内环的给定。
图 4.20 双环程序5
上面的程序段的作用和程序段3的一样,不过这里是将内环的TI和TD写入。这两个值是在组态界面进行修改的,在程序段中无法操作。
下面的程序段则是PID内环的调节,该部分也就是前面所说的将上水箱作为扰动环节考虑所加的一个控制效果。
至于其它的参数,参见外环PID程序段,大部分和它是一致的。该部分程序段的作用是将外环计算的数据和上水箱当前的值进行PID计算,用来抑制上水箱作为扰动环节的处理。它的上下限值的获取和上面是一样的。
课程设计报告
21
江西理工大学电气工程与自动化学院 基于S7-300 双容水箱液位控制系统
图 4.21 双环程序段6
在经过内外双环的计算之后,将计算的结果进行输出。但是在这个过程中有一个是必须处理的,就是输出配比问题,同时也可以认为它是在进行一个DA输出的过程。具体的见下图 4.22所示。
课程设计报告
22