plc的交通灯设计.doc
《plc的交通灯设计.doc》由会员分享,可在线阅读,更多相关《plc的交通灯设计.doc(14页珍藏版)》请在沃文网上搜索。
1、第一章 PLC锅炉控制程序概述一个锅炉监控系统主要包含一下几个部分:设备状态的采集;系统状态的采集;锅炉和各种执行机构的控制。设备状态的采集主要是锅炉输出的状态点,循环泵和补水泵给出的状态点,以及水箱等其他设备的状态点。锅炉输出的状态点主要包括锅炉的运行状态点、锅炉故障状态点、锅炉出水温度、锅炉回水温度、锅炉排烟温度;循环泵和补水泵以及辅助其工作的变频设备的状态点一般是由水泵控制柜或变频控制柜中集中取出的。水箱的液位状态一般直接送到PLC控制柜。系统状态的采集根据锅炉系统的不同有差别。一般来讲,目前设计的系统主要分为一次侧与二次侧。一次侧的是锅炉水循环系统,二次侧水循环系统常用的换热器有两种一
2、种是板式换热器,另一种是容积式换热器。一次侧采集的状态包括一次侧供水温度、一次侧回水温度、一次侧供水压力、一次侧回水压力;二次侧采集的状态包括二次侧供水温度、二次侧回水温度、二次侧供水压力、二次侧回水压力;如果需要根据室外温度实现锅炉监控系统的自动控制那么还需要增加室外温度的采集。锅炉和各种执行机构的控制主要是对锅炉本体的启停控制和各种电动阀门的控制。这里所说的对锅炉本体的启停控制主要是通过锅炉自身的控制器提供的控制点控制锅炉。锅炉本体自带的控制器这里暂不介绍。锅炉提供的控制点是开关量控制点,一般是常开点。根据影响锅炉运行的状态点的组合条件,给出允许锅炉启动信号。简单的说就是需要什么样的条件锅
3、炉才能启动或停止。阀门的控制有两种方式,一种是开关量控制阀门打开与关闭,另一种是模拟量输出控制阀门打开与关闭。图表 1 系统图第二章 PLC程序设计第一节 程序结构本文中所采用的PLC是西门子公司的产品S7-200系列,CPU的型号是cpu226cn.西门子PLC编程工具的使用可以参照西门公司的程序使用手册或者在程序中按F1调出帮助文件参考。下面介绍一下PLC程序的主要结构。首先看图表2PLC主程序初始化数据转换与采集锅炉控制自动控制通讯端口设置预置常数锅炉状态采集系统状态采集数据转换公式采集滤波发送中断接收中断图表 2 PLC程序结构西门子PLC程序是面向结构的程序语言,结构中的主体子程序想
4、要运行必须在主程序中注册。本文中的程序结构如图2所示,主程序中包括了初始化子程序,数据转换子程序,锅炉控制子程序,自动控制子程序,发送中断与接收中断。初始化子程序的作用是通讯端口的设置和一些程序中需要预置的一些常数。比如数据转换运算中用到的公式里面的常数或者很长一段时间不需要改动的数值。数据转换子程序负责将采集模块采集的变量转换成我们需要的数据格式,包括采集和转换2个步骤。锅炉控制子程序控制锅炉的启动和停止,以及相关的状态输入和输出。自动控制子程序根据自动控制的理论设计完成锅炉的自动控制。具体的控制方案需要与实际使用的图纸以及设计需求相结合,总结出一套稳定性和先进性的控制方法。发送中断和接收中
5、断子程序用于通信时的信息发送与接收。第二节 PLC内存介绍既然我们知道了需要采集的数据类型和大小,以及设置数据需要得内存大小,那么我们就能够把内存的使用标准化,即是哪类数据就用哪类规定的内存块。这样作的好处是,即使预先不知道一个内存地址的实际意义,也能知道这个地址显示的是何种数据。下面我们详细介绍这块内容。首先我们了解一下PLC内存的地址范围,以西门子S7-200系列PLC为例。图表 3 位地址范围图表 4 字节地址范围图表 5 字地址范围图表 6 双子地址范围我们看到PLC的内存分为这样几个区域I 离散输入和映象寄存器Q 离散输出和映象寄存器M 内部内存位 SM 特殊内存位(SM0 - SM
6、29为只读内存区)V 变量内存 T 定时器当前值和定时器位C 计数器当前值和计数器位HC 高速计数器当前值AI 模拟输入AQ 模拟输出 AC 累加器寄存器L 局部变量内存S SCR 每个区域的具体功能可以参看西门子编程工具自带的帮助文件。第三节 内存标准化分配下面我们结合实际的例子讲清楚内存如何标准化。PLC内存中的I区、Q区、AI区和AQ区使用范围的大小一般来说是根据我们在工程中的实际需要配置的。我们工程中的数字量状态采集用I区,如锅炉的故障状态、水泵运行状态、水箱液位等等这些只有通断信号,没有范围变化的信号。同理,Q区是数字量的输出,如锅炉的启停、阀门的开关控制信号等等;AI区和AQ区分别
7、是采集和输出连续变化的模拟量通道,例如锅炉排烟温度、电动阀门开度、锅炉压力、系统压力等等。这些地址的分配是由PLC自动分配的,可以已经连接的PLC上读出。内存的标准化主要是除I/Q/AI/AQ等区域的标准化。从现实出发,我们工程中经常用到的就是CPU222、CPU224和CPU226这三个型号的 PLC。如果想让我们的程序在这三个型号的CPU中都能运行,那么我们就必须选内存范围最小的CPU, 内存范围最小的是CPU222。我们就把CPU222中的程序当作模板。CPU222中VD区的范围是02044,MD的范围是028,AC的范围是03。我们之所以用VD/MD/AC区来说明范围大小是因为D表示D
8、ouble Word是32位的地址,而1位位地址(如V0.0)、8位字节地址(如VB0)、16位字地址(如VW0)都是包含在这个范围内的。了解了上述内容后,我们开始进入本中最主要的部分格式化标准。一、锅炉及其相关设备的状态格式:锅炉和阀门的控制使用的是开关量输出,锅炉有启动与停止两种动作,阀门也是开启和关闭两种动作。所以我们可以把这些控制动作归结在一个字节内表示。如下表:控制字节定义如下: 位说明锅炉启动锅炉停止阀门开启阀门关闭允许启动位次序01234567图表 7 控制字节定义 位说明手动启动手动停止自动启动自动停止自动手动位次序01234567图表 8 自动手动控制位说明液位状态低限报警液
9、位状态高限报警锅炉房燃气报警计量间燃气报警位次序01234567图表 9 报警输出字节反馈字节的定义如下: 位说明锅炉运行状态锅炉故障流水开关状态阀门当前状态水泵运行状态水泵故障位次序01234567图表 10 状态字节定义 位说明液位状态低限报警液位状态高限报警锅炉房燃气报警计量间燃气报警位次序01234567图表 11 报警输入字节锅炉的数量是有限的,于是我们把控制字节和状态字节的使用做数量上的限定和分配。目前的情况来看,我们一个PLC能控制的锅炉数量最多是10台,理由是我们的PLC上I/O数量是有限的。所以我们把控制字节规定使用10个字节,状态字节规定10个字节,预留30个字节。这样我们
10、就标准化了锅炉的控制。地址范围规定从VB0-VB49,其中VB0-VB9为锅炉控制字节,MB30-MB39为自动或手动控制字节,VB10-VB19为影响锅炉运行的状态字节。VB20-VB24为报警输出字节,VB25-VB29为报警输入字节,VB40-VB49为预留字节备用。二、各种模拟的输入输出标准化接下来我们介绍锅炉控制系统中的各种模拟量如何配置内存。我们的锅炉系统中存在大量的模拟量信号,这些信号一般来说输入都是由模拟量采集模块将连续的变化量(大部分为420mA的电流信号,05V或010V的电压信号)转换离散的数字量,存储到PLC内存里;输出是由模拟量输出模块将我们要输出的存储在内存中的数字
11、离散信号转换为电压信号或者电流信号。无论是内存中采集上来的数值还是我们输出的数值都不是我们得到的理想的数值,还需要转换程序将这些量转换成可读懂的数据。数据的转换我们放在下面的章节介绍。锅炉控制系统中的模拟量输入值主要是:锅炉出水温度、锅炉回水温度、锅炉排烟温度、锅炉出水压力、锅炉回水压力、一次供水压力、一次回水压力、一次供水温度、一次回水温度、采暖供水温度、采暖回水温度、采暖供水压力、采暖回水压力、生活供水温度、生活回水温度、生活供水压力、生活回水压力、水流量、供热量、阀门开度、室外温度、变频器频率等等。根据设计院设计的不同,所需要采集的数据种类不同。锅炉控制系统中的模拟量输出值主要是:各中需
12、要模拟量控制的阀门开启值和变频器的给定频率。了解了上述内容,我们就能够标准化内存使用,具体的内存分配如下所述:考虑到这些模拟量经过程序转换之后一般为实数类型(REAL)的数值,所以每个数值存储到内存后所占用的内存空间为4个字节,即32位的数值。那么我们可以这样标准化采集量。1、锅炉相关的数值内存分配锅炉出水温度(4个字节)锅炉回水温度(4个字节)锅炉出水压力(4个字节)锅炉回水压力(4个字节)锅炉排烟温度(4个字节)一共位20个字节或者说5个双字。因为一个PLC控制锅炉台数的上限是10台,所以总供需要200个字节。于是我们把VB100-VB299的内存段分配给与锅炉相关的采集值。详细的分配是:
13、 数值名称锅炉台数锅炉出水温度锅炉回水温度锅炉出水压力锅炉回水压力锅炉排烟温度第一台VD100VD104VD108VD112VD116第二台VD120VD124VD128VD132VD136第三台VD140VD144VD148VD152VD156第四台VD160VD164VD168VD172VD176第五台VD180VD184VD188VD192VD196第六台VD200VD204VD208VD212VD216第七台VD220VD224VD228VD232VD236第八台VD240VD244VD248VD252VD256第九台VD260VD264VD268VD272VD276第十台VD280V
14、D284VD288VD292VD296图表 12 锅炉相关模拟量采集存储地址2、一次侧采集值内存分配一次侧采集值总共只有4个一次出水温度(4个字节)一次回水温度(4个字节)一次出水压力(4个字节)一次回水压力(4个字节)共16字节,制定分配区域 VB300-VB399 数值名称一次出水温度一次回水温度一次出水压力一次回水压力起始位置VD300VD304VD308VD312图表 13 一次侧模拟量采集存储地址3、采暖采集值内存分配采暖出水温度(4个字节)采暖回水温度(4个字节)采暖出水压力(4个字节)采暖回水压力(4个字节)采暖区电磁阀开启值(4个字节)不同的系统设计不同,有些系统分为不同的采暖
15、区域,不过数量上最多不超过10个区域。每个区域共使用20个字节所占内存空间为200字节。因此我们制定分配给采暖数据的内存区域为VB400-VB599 数值名称采暖区采暖出水温度采暖回水温度采暖出水压力采暖回水压力阀门开度采暖一区VD400VD404VD408VD412VD416采暖二区VD420VD424VD428VD432VD436采暖三区VD440VD444VD448VD452VD456采暖四区VD460VD464VD468VD472VD476采暖五区VD480VD484VD488VD492VD496采暖六区VD500VD504VD508VD512VD516采暖七区VD520VD524VD
16、528VD532VD536采暖八区VD540VD544VD548VD552VD556采暖九区VD560VD564VD568VD572VD576采暖十区VD580VD584VD588VD592VD596图表 14 采暖区模拟量采集存储地址4、生活热水采集值内存分配生活热水出水温度(4个字节)生活热水回水温度(4个字节)生活热水出水压力(4个字节)生活热水回水压力(4个字节)生活热水区电磁阀开启值(4个字节)不同的系统设计不同,有些系统分为不同的生活区域,不过数量上最多不超过10个区域。每个区域共使用20个字节所占内存空间为200字节。因此我们制定分配给生活热水数据的内存区域为VB600-VB79
17、9数值名称生活区生活热水出水温度生活热水回水温度生活热水出水压力生活热水回水压力阀门开度生活一区VD600VD604VD608VD612VD616生活二区VD620VD624VD628VD632VD636生活三区VD640VD644VD648VD652VD656生活四区VD660VD664VD668VD672VD676生活五区VD680VD684VD688VD692VD696生活六区VD700VD704VD708VD712VD716生活七区VD720VD724VD728VD732VD736生活八区VD740VD744VD748VD752VD756生活九区VD760VD764VD768VD772
18、VD776生活十区VD780VD784VD788VD792VD796图表 15 生活区模拟量采集存储地址5、其他采集值内存分配这里我们考虑剩余的模拟采集量种类已经不多,而且每类数量也不多。暂设计每类最多5个数值,分配20个字节。而且暂时考虑的种类是:水流量(4个字节)共5个,占用20字节;供热量(4个字节)共5个,占用20字节;室外温度(4个字节)共5个,占用20字节;变频器频率(4个字节)共5个,占用20字节;上述四个模拟量值只用到变频器频率VB879如需其他采集值内存分配地址顺延.总分配区域为VB800-VB899水流量: 值名称流量一流量二流量三流量四流量五起始位置VD800VD804V
19、D808VD812VD816图表 16 水流量模拟量采集存储地址供热量: 值名称供热量一供热量二供热量三供热量四供热量五起始位置VD820VD824VD828VD832VD836图表 17 供热量模拟量采集存储地址室外温度: 值名称室外温度一室外温度二室外温度三室外温度四室外温度五起始位置VD840VD844VD848VD852VD856图表 18 室外温度模拟量采集存储地址变频器频率: 值名称变频器频率一变频器频率二变频器频率三变频器频率四变频器频率五起始位置VD860VD864VD868VD872VD876图表 19 变频器频率模拟量采集存储地址6、模拟输出内存分配模拟量输入分配完后我们开
20、始为输出用的模拟量分配内存。在锅炉控制系统中,通过模拟两控制的设备无非两种,一种是各种电动阀门,另一种是变频器的频率给定。而且,这两类设备的数量也是非常有限的。我们这里考虑各种阀门总共数量最多为10个,变频器数量最多10个。因此,对于模拟量输出所占用的内存分配共需要内存40个字节,考虑到可能有额外的设备需要控制,所以总共分配100个字节,范围从VB900-VB999电动阀门开启值: 值名称阀门一阀门二阀门三阀门四阀门五起始位置VW900VW904VW908VW912VW916值名称阀门六阀门七阀门八阀门九阀门十起始位置VW920VW924VW928VW932VD936图表 20 模拟量输出存储
21、地址变频器给定值: 值名称变频器一变频器二变频器三变频器四变频器五起始位置VW940VW944VW948VW952VW956值名称变频器六变频器七变频器八变频器九变频器十起始位置VW960VW964VW968VW972VW976图表 21 模拟量输出存储地址三、通信程序内存标准化本文使用的是西门子PLC自由口协议(西门子产品的通信端口设置详见软件帮助或产品手册),尽管不同公司产品的通信口用法不同,但还是有规律可循的。通信程序一般分为三步分:1、端口设置部分;2、发送子程序部分;3、接收子程序部分。我们只要在制定的内存填上需要的数据,然后启动通信端口开始通信就可以传输数据了。详细的通信程序介绍我
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- plc 交通灯 设计