第一章PLC锅炉控制程序概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 PLC 锅炉控制程序概述
一个锅炉监控系统主要包含一下几个部分:设备状态的采集;系统状态的采集;锅炉和各种执行机构的控制。
设备状态的采集主要是锅炉输出的状态点,循环泵和补税泵给出的状态点,以及水箱等其他设备的状态点。锅炉输出的状态点主要包括锅炉的运行状态点、锅炉故障状态点、锅炉出水温度、锅炉回水温度、锅炉排烟温度;循环泵和补水泵以及辅助其工作的变频设备的状态点一般是由水泵控制柜或变频控制柜中集中取出的。水箱的液位状态一般直接送到PLC 控制柜。
系统状态的采集根据锅炉系统的不同有差别。一般来讲,目前设计的系统主要分为一次侧与二次侧。一次侧的是锅炉水循环系统,二次侧水循环系统常用的换热器有两种一种是板式换热器,另一种是容积式换热器。一次侧采集的状态包括一次侧供水温度、一次侧回水温度、一次侧供水压力、一次侧回水压力;二次侧采集的状态包括二次侧供水温度、二次侧回水温度、二次侧供水压力、二次侧回水压力;如果需要根据室外温度实现锅炉监控系统的自动控制那么还需要增加室外温度的采集。
锅炉和各种执行机构的控制主要是对锅炉本体的启停控制和各种电动阀门的控制。这里所说的对锅炉本体的启停控制主要是通过锅炉自身的控制器提供的控制点控制锅炉。锅炉本体自带的控制器这里暂不介绍。锅炉提供的控制点是开关量控制点,一般是常开点。根据影响锅炉运行的状态点的组合条件,给出允许锅炉启动信号。简单的说就是需要什么样的条件锅炉才能启动或停止。阀门的控制有两种方式,一种是开关量控制阀门打开与关闭,另一种是模拟量输出控制阀门打开与关闭。
图表 1 系统图
RS485
LIA001HMI
PLC
1#2#3#4#5#
1#2#3#4#5#
RM417
第二章 PLC程序设计
第一节程序结构
本文中所采用的PLC是西门子公司的产品S7-200系列,CPU的型号是cpu226cn.
西门子PLC编程工具的使用可以参照西门公司的程序使用手册或者在程序中按F1调出帮助文件参考。
下面介绍一下PLC程序的主要结构。首先看图表2
图表 2 PLC程序结构
西门子PLC程序是面向结构的程序语言,结构中的主体子程序想要运行必须在主程序中注册。本文中的程序结构如图2所示,主程序中包括了初始化子程序,数据转换子程序,锅炉控制子程序,自动控制子程序,发送中断与接收中断。
初始化子程序的作用是通讯断口的设置和一些程序中需要预置的一些常数。比如数据换算中用到的公式里面的常数或者很长一段时间不需要改动的数值。
数据转换子程序负责将采集模块采集的变量转换成我们需要的数据格式,包括采集和转换2个步骤。
锅炉控制子程序控制锅炉的启动和停止,以及相关的状态输入和输出。
自动控制子程序根据自动控制的理论设计完成锅炉的自动控制。具体的控制方案需要与实际使用的图纸以及设计需求相结合,总结出一套稳定性和先进性的控制方法。
发送中断和接收中断子程序用于通信时的信息发送与接收。
第二节PLC内存介绍
既然我们知道了需要采集得数据类型和大小,以及设置数据需要得内存大小,那么我们就能够把内存的使用标准化,即是哪类数据就用哪类规定的内存块。这样作的好处是,即使预先不知道一个内存地址的实际意义,也能知道这个地址显示的是何种数据。下面我们详细介绍这块内容。
首先我们了解一下PLC内存的地址范围,以西门子S7-200系列PLC为例。
图表 3 位地址范围
图表 4 字节地址范围
图表 5 字地址范围
图表 6 双子地址范围
我们看到PLC的内存分为这样几个区域
I 离散输入和映象寄存器
Q 离散输出和映象寄存器
M 内部内存位
SM 特殊内存位(SM0 - SM29为只读内存区)
V 变量内存
T 定时器当前值和定时器位
C 计数器当前值和计数器位
HC 高速计数器当前值
AI 模拟输入
AQ 模拟输出
AC 累加器寄存器
L 局部变量内存
S SCR
每个区域的具体功能可以参看西门子编程工具自带的帮助文件。
第三节内存标准化分配
我们在上一节中已经知道PLC内存是如何分类的以及各种型号的地址范围,于是我们可以
把这些地址按照我们的实际需要分门别类。本文中主要使用的是西门子公司的PLC,其实其他品牌PLC的内存分类和西门子公司产品的内存分类大同小异,只是名字的叫法不同而已,所以我们可以做到举一反三触类旁通。
下面我们结合实际的例子讲清楚内存如何标准化。
PLC内存中的I区、Q区、AI区和AQ区使用范围的大小一般来说是根据我们在工程中的实际需要配置的。我们工程中的数字量状态采集用I区,如锅炉的故障状态、水泵运行状态、水箱液位等等这些只有通断信号,没有范围变化的信号。同理,Q区是数字量的输出,如锅炉的启停、阀门的开关控制信号等等;AI区和AQ区分别是采集和输出连续变化的模拟量通道,例如锅炉排烟温度、电动阀门开度、锅炉压力、系统压力等等。这些地址的分配是由PLC自动分配的,可以已经连接的PLC上读出。
内存的标准化主要是除I/Q/AI/AQ等区域的标准化。从现实出发,我们工程中经常用到的就是CPU222、CPU224和CPU226这三个型号的PLC。如果想让我们的程序在这三个型号的CPU中都能运行,那么我们就必须选内存范围最小的CPU, 内存范围最小的是CPU222。我们就把CPU222中的程序当作模板。
CPU222中VD区的范围是0-2044,MD的范围是0-28,AC的范围是0-3。我们之所以用VD/MD/AC区来说明范围大小是因为D表示Double Word是32位的地址,而1位位地址(如V0.0)、8位字节地址(如VB0)、16位字地址(如VW0)都是包含在这个范围内的。
了解了上述内容后,我们开始进入本中最主要的部分——格式化标准。
一、锅炉及其相关设备的状态格式:
锅炉和阀门的控制使用的是开关量输出,锅炉有启动与停止两种动作,阀门也是开启和关闭两种动作。所以我们可以把这些控制动作归结在一个字节内表示。如下表: