文件名称:
西门子PLC锅炉控制应用案例.pdf.pdf
开发工具:
文件大小: 379kb
下载次数: 0
上传时间: 2019-10-15
详细说明:西门子PLC锅炉控制应用案例.pdfpdf,西门子PLC锅炉控制应用案例.pdfPLC WORLD
第二节PIC内存介绍
既然我们知道了需要采集得数据类型和大小,以及设置数据需要得内存大小,那么我们就
能够把内存的使用标准化,即是哪类数据就用哪类规定的内存块。这样作的好处是,即使预先
不知道一个内冇地址的实际意义,也能知道这个地址显示的是何种数据。下面我们详细介绍这
块内容
首先我们了解一下PIC内存的地址范围,以西门子S7-200系列PIC为例。
被存取
内存类刑CPU221cPU222cPU224
CPU 226
位〔字书.V
00 noT7 0 0477.0-5197y1220.0-511971.23
位
.0-8191.7V200
00-102397V200
30-102397XP
0.0-1570.0-15730-15.7
0.0-157
00-15700-15790-157
0.0-157
M
0.0-3170.0-31.730-31.7
00-317
SM
0.0-17970.0-299.730-5497
0.0-549.7
0.03170031.70031.7
0.031.7
U-255
0-255
U-255
C
0-255
0-255
-255
0-255
0.0-5970.0.5970.0-597
0.0-59.7
图表3位地址范围
被存取
内存类型cF
PU221
CPU 222 CPU 224
CPU 226
字节
0-2047
0-20470-5119V1.220-5119V1.23
0-8191V2000-10239V200
010239X
B
0-15
-15
0-15
0-15
RE
0-15
0-15
0-15
0-15
MB
0-31
-31
0-31
0-31
SMB
0-179
0-299
0-549
0-549
SB
0-31
0-31
0-31
0-31
LB
0-59
0-59
0
0-59
0-3
0-3
0-3
图表4字节地址范围
PLC WORLD
被存取:
内存类型cPU221
cPu222心Pu224
PU225
宇
C-2046
0-2046
0-5118v1220-5118v123
0-8190v2
10298V2.00
0-10238XP
C-12
0-14
0-14
0-14
GVV
C-12
0-14
0-14
U-14
MY
C-30
0-30
0-30
SMW
C-18
0-298
0-548
0-548
0-30
0-30
0-30
0-255
C-25E
0-255
0-255
LW
C58
0-58
0-58
058
AG
C-3
0-3
0-3
0-3
AWV
C30
030
062
062
图表5字地址范围
被存駛:内在类型cPU21cPu22cP22
CPU 226
双字
0
0-20440-5116V1.220-5116y123
0-8188V200
0-10236V200
0-10236XP
0-12
0-12
0-12
0-12
D
0-12
0-12
0-12
0-12
0-28
0-28
0-28
0-28
SMD
0-176
0-296
0
546
0-546
GD
0-28
0-28
D-28
0-20
LD
0-56
-5
A
0-3
0-3
0-3
0-5
0-5
图表6双子地址范围
我们看到PLC的内存分为这样几个区域
I窗散输入和映象寄存器
离散输出和映象寄存器
内部内存位
SM特殊内存位(SM0-SM29为只读内存区)
V变量内存
T定时器当前值和定时器位
C计数器当前值和计数器位
HC高速计数器当前值
AⅠ模拟输入
AQ模拟输出
AC累加器寄存器
L局部变量内存
S SCR
每个区域的具体功能可以参看西门子编稈工具自带的帮助文件
第三节内存标准化分配
我们在上一节中已经知道PLC内存是如何分类的以及各种型号的地址范围,于是我们可以
PLC WORLD
把这些地址按照我们的实际需要分门別类。本文中主要使用的是两门子公司的PIC,其实其他
品牌PLC的内存分类和西门子公司产品的内存分类大同小异,只是名字的叫法不同而己,所以
我们可以{到举一反三触类旁通。
下面我们结合实际的例子讲清楚内存如何标准化。
PLC内存中的I区、Q区、AI区和AQ区使用范围的大小般来说是根据我们在工程中的
实际需要配置的。我们工稈中的数字量状态采集用Ⅰ区,如锅炉的故障状态、水泵运行状杰、
水箱液位等等这些只有通断信号,没有范围变化的信号。同理,Q区是数字量的输岀,如锅炉
的启停、阀门的开关控制信号等等;AI区和AQ区分别是采集和输出连续变化的模拟量通道,
例如锅炉排烟温度、电动阀门开度、锅炉压力、系统压力等等。这些地址的分配是由PLC自动
分配的,可以已经连接的PC上读出
内存的标准化主要是除 I/Q/ALAQ等区域的标准化。从现实出发,我们工程中经常用到的
就是CPU22、CPU24和CPU226这三个型号的PLC。如果想让我们的程序在这三个型号的
CPU中都能运行,那么我们就必须选内存范围最小的CPU,内存范围最小的是CPU22。我们
就把CPU22中的程序当作模板。
CPU222中VD区的范围是0-2044,MD的范围是0-28,AC的范围是0-3。我们之所
以用ⅴ D/MD/AC区来说明范围大小是因为D表示 Double word是32位的地址,而1位位地址(如
V0.0)、8位宇节地址(如VB0)、16位字地址(如w)都是包含在这个范围内的
了解了上述内容后,我们开始进入本中最主要的部分一一格式化标准。
锅炉及其相关设备的状态格式:
锅炉和阀门的控制使用的是开关量输岀,锅炉有启动与停止两种动作,阀门也是开启和关
闭两种动作。所以我们可以把这些控制动作归结在一个字节内表示。如下表:
控制字节定义如下:
位说明锅炉启动|锅炉停止阀门开启阀门关闭允许启动
位次序
6
7
图表7控制字节定义
位说明手动启动手动停止白动启动白动停止白动手动
位次序
4
6
图表8自动手动控制
位说明液位状态丨液位状态锅炉房「计量
低限报警[高限报警燃气报警|燃气报警
位次序
4
7
图表9报警输出字节
反馈字节的定义如下:
位说明|锅炉运行|锅炉故障|流水开关|阀门当前水泵运行水泵故障
状态
状态
状态
状态
位次序
0
4
6
图表10状态字节定义
位说明液位状态丨液位状态|锅炉房「计量间
低限报警高限报警燃气报警燃气报警
位次序
2
3
4
6
7
PLC WORLD
图表11报警输入字节
锅炉的数量是有限的,于是我们把控制字节和状态字节的使用做数量上的限定和分配。
目前的情况来看,我们一个PIC能控制的锅炉数量最多是10台,理由是我们的PIC上(O数
量是有限的。所以我们把控制字节规定使用10个字节,状态字节规定10个字节,预留30个字
节。这样我们就标准化了锅炉的控制。
地址范围规定从ⅴB0VB49,其中VB0ⅤB9为钠炉控制字节,MB30MB39为自动或手动控
制字节,VB10VBl9为影响锅炉运行的状态字节。VB20-VB24为报警输出字节,VB25-VB29
为报警输入字节,VB40VB49为预留字节备用。
各种模拟的输入输出标准化
接下来我们介绍锅炉控制系统中的各种模拟量如何配置內存
我们的锅炉系统中存在大量的模拟量信号,这些信号一般来说输入都是由模拟量采集模块
将连续的变化量(大部分为4-20mA的电流信号,0-5V或0-10V的电压信号)转换离散的
数宁量,存储到PLC内存里;输出是由模拟量输出模垬将我们要输出的存储在內存屮的数宁离
散信号转换为电压信号或者电流信号。无论是内存中采集上来的数值还是我们输出的数值都不
是我们得到的理想的数值,还需要转换程序将这些量转换成可读懂的数据。数据的转换我们放
在下面的章节介绍。
锅炉控制系统中的模拟量输入值主要是
锅炉出水温度、锅炉回水温度、锅炉排烟温度、锅炉出水压力、锅炉回水压力、一次供水
压力、次回水压力、次供水温度、次回水温度、采暖供水温度、米暖回水温度、来嗳供
水压力、采暖回水压力、生活供水温度、生活回水温度、生活供水压力、生活回水压力、水流
量、供热量、阀门开度、室外温度、变频尜频牽等等。根据设计院设计的不同,所需要采集的
数据种类不同
锅炉控制系统中旳模拟量输岀值主要是:
各中需要模拟量控制的闯门开启值和变频器的给定频率。
了解了上述内容,我们就能够标准化内存使用,具体的内存分配如下所述:
考虑到这些模拟量经过程序转换之后一般为实数类型(REAL)的数值,所以每个数值存储到
内存后所占用的内存空间为4个字节,即32位的数值。那么我们可以这样标准化采集量。
1、锅炉相关的数佰内存分配
锅炉出水温度(4个字节)
锅炉回水温度(4个宁节)
锅炉出水压力(4个字节)
锅炉回水压力(4个字节)
锅炉排烟温度(4个字节)
共位20个字节或者说5个双字
因为一个PLC控制锅炉台数的上限是10台,所以总供需要200个字节。于是我们把
VB100VB299的内存段分配给与锅炉相关的采集值。详细的分配是:
故名祸护出水温碰锅回水度钢护出水压力锅闺欢压力护排烟
第
VD100
VD104
VD108
VD112
VD116
第二台
VD120
VD124
VD128
VD132
VD136
VD140
VD144
VD148
VD152
VD156
第四台
VD160
VDI64
VD168
VD172
VD176
PLC WORLD
第五台
VD180
VD184
VD188
VD192
VD196
第六台
VD200
VD204
VD208
VD212
VD216
第七台
VD220
VD224
VD228
VD232
VD236
第八台
VD240
ⅤD244
VD248
VD252
VD256
第九台
VD260
VD264
VD268
VD272
VD276
第十台
VD280
VD284
VD288
VD292
VD296
图表12锅炉相关模拟量采集存储地址
2、一次侧采集值内存分配
次侧采集值总共只有4个
次出水温度(4个字节)
次回水温度(4个字节)
次出水压力(4个字节)
次回水压力(4个字节)
共16字节,制定分配区域ⅤB300VB399
数值名称
次出水温度
次回水温度
次出水压力
次回水压力
起始位置
VD300
VD304
VD308
VD312
图表13一次侧模拟量采集存储地址
3、采暖采集值内存分配
采暖出水温度(4个字节)
釆援湲回水温度(4个字节)
采暖出水压力(4个字节)
米暖回水压力(4个字节)
釆暖区电磁阀开启值(4个字节)
不同的系统设计不同,有些系统分为不同的采暖区域,不过数量上最多不超过10个区域。
每个区域共使用20个字节所占内存空间为200字节。因此我们制定分配给采暖数据的内存
区域为VB400-VB599
数值名称
采暖区
釆暖出水温度采暖回水温度采暖出水压力采暖回水压力阀门开度
采暖一区
VD400
VD404
VD408
VD412
VD416
采暖二区
VD420
VD424
VD428
VD432
VD436
米暖三区
VD440
ⅤD444
VD448
VD452
VD456
采暖四区
VD460
VD464
VD468
VD472
VD476
采暖五区
VD480
VD484
VD488
ⅤD492
VD496
采暖六区
VD500
ⅤD504
VD508
ⅤD512
VD516
采暖七区
VD520
ⅤD524
VD528
VD532
VD536
采暖八区
VD540
ⅤD544
VD548
VD552
VD556
采暖九区
VD560
ⅤD564
D568
VD572
VD576
采暖十区
VD580
VD584
VD588
VD592
VD596
图表14采暖区模拟量采集存储地址
4、生活热水采集值内存分配
生活热水出水温度(4个字节)
PLC WORLD
生活热水回水温度(4个字节)
生活热水出水压力(4个字节)
生活热水回水压力(4个字节)
生活热水区电磁阀开启值(4个字节)
不同的系统设计不同,有些系统分为不同的生活区域,不过数量上最多不超过10个区域
每个区域共使用20个字节所占内存空间为200宁节。因此我们制定分配给生活热水数据的
内存区域为VB600-VB799
数值名称生活热水
生活热水
生活热水
生活热水
生活区
出水温度
回水温度
出水压力
回水压力
阀门开度
生活一区
VD600
VD604
VD608
VD612
VD616
生活二区
VD620
VD624
VD628
VD632
VD636
生活三区
VL640
VL644
VD648
VD652
VL656
生活四区
VD660
VL664
VD668
VD672
VD676
生活五区
VD680
VL684
VD688
VD692
VD696
生活六区
VD700
VD704
VD708
VD712
VD716
生活七区
VD720
VD724
VD728
VD732
VD736
生活八区
VD740
ⅤD744
VD748
VD752
VD756
生活九区
VD760
VD764
VD768
VD772
VD776
生活十区
VD780
ⅤD784
VD788
VD792
VD796
图表15生活区模拟量采集存储地址
5、其他采集值内存分配
这里我们考虑剩余的模拟采集量种类已经不多,而且每类数量也不多。暂设计每类最多5
个数值,分配20个字节。而且暂时考虑的种类是
水流量(4个字节)共5个,占用20字节;
供热量(4个字节)共5个,占用20字节;
室外温度(4个字节)共5个,占用20字节
变频器频率(4个字节)共5个,占用20字节
述四个模拟量值只用到变频器频率ⅤB869如需其他采集值内存分配地址顺延.
总分配区域为ⅤB800-VB899
水流量:
值名称
流量
流量二
流量三
流量四
流量五
起始位置VD80
ⅤD804
VD808
VD812
VD816
图表16水流量模拟量采集存储地址
供热量:
值名称
供热量一
供热量
供热量三供热量四供热量五
起始位置
VD820
VD824
VD828
VD832
VD836
图表17供热量模拟量采集存储地址
室外温度:
值名称。室外温度一室外温度三外温度三室外温度四「室外温度打
起始位置
VD840
ⅤD844
VD848
VD852
VD856
PLC WORLD
图表18室外温度模拟量采集存储地址
变频器频率:
值名称变频器频率一变频器频率二变频器频率三变频器频率四变频器频率五
起始位置
VD860
VD864
VD868
VD862
VD866
图表19变频器频率模拟量采集存储地址
6、模拟输出内存分配
模拟量输入分配完后我们开始为输出用的模拟量分配內存
在锅炉控制系统中,通过模拟两控制的设备无非两种,一种是各种电动阀门,另一种是变
频器的频率给定。而且,这两类设备的数量也是非常有限的。我们这里考虑各种阀门总共数量
最多为10个,变频器数量最多10个。因此,对于模拟量输出所占用的内存分配共需要内存40
个宁节,考虑到可能有额外的设备需要控制,所以总共分配100个字节,范围从ⅤB900VB999
电动阀门开启值:
值名称
门]二
阀门
阀门四
阀门五
起始位置
VW900
Vw904
Vw908
VW912
Vw916
值名称
阀门六
阀门七
阀门八
阀门九
阀门十
匚起始位置
Vw920
Vw924
VW928
VW932
VD936
图表20模拟量输岀存储地址
变频器给定值:
值名称
变频器
变频器
变频器三变频器四安频器五
起始位置
VW940
W944
Ⅴw948
Ⅴw952
Vw956
值名称
变频器六
变频器七
变频器八
变频器九
变频器十
起始位置
VW960
VW964
Vw968
Ⅴw972
Ⅴw976
图表21模拟量输岀存储地址
三、通信程序内存标准化
木文使用的是西门了PLC自由∏协议(西门了产品的通信端∏设置详见软件帮助或产品手
册),尽管不同公司产品的通信口用法不同,但还是有规律可循的。
通信程序一般分为三步分
1、端口设置部分;
2、发送子程序部分
3、接收子程序部分。
我们只要在制定的内冇填上需要的数据,然后启动通信端口开始通信就可以传输数据了。
详细的通信程序介绍我们放在下面的章节,此处我们先给通信程序分配固定的PLC内存
在锅炉控制系统中,通信的主要目的是为了上传采集数据和下传设备的给定值(设定值)
而且通信协议不是很复杂,囚此,我们给每个需要和PLC通信的设备分配200个字节的内存
考虑用到的设备数量最多不超过5个,我们分配VB1000VB1999,MB0MB4作为这个5个
设备的内存使用区。实际使用的时候,我们经常会遇到几个设备使用相同的发送区,发送相同
的命令。所以这段内存可以灵活使用。
四、初始化程序内存使用标准化
初始化程序的作用有两个,一个是配置通信端口,另一个是设置初始值
根据经验,初始化区域分配500个字节的内存已经足够使用。所以,我们将VB2000VB2499
段的内存分配给初始化程序。
五、自动控制程序内存使用
PLC WORLD
由于每个系统的设计和结构不同,因而自动控制程序的内容也不同。我们这里只能根据以
往经验分配1500个字节,范围ⅤB2500-VB3999的内存地址给白控程序使用。对于一般的锅
炉控制系统已经足够使用。
自控程序包括:数据转换程序和锅炉控制程序。
建议VB2500-VB2699作为锅炉控制程序使用,数据转换使用VB3000B3999。
我们在代码分析中详细讲解这两个程序
第四节代码分析与例程讲解
第部分数据转换程序
首先我们介绍一下为什么要进行数据的转换。原因就是我们从变送器传送到采集模块的信
号为电压信号或电流信号,这些信号经过模数转换程序把原来连续的物理量转换为可被PLC内
存存储的离散的数字量。内存中的数字量的形式也不是我们平常使用的格式,内存中一般为16
位的二进制数据,而我们在显示设备上需要的是十进制的数值。所以就必须通过转换程序把二
进制数值转换为我们需要的十进制数值。
下面我们结合代码介绍数据转换稈序
PLC模拟量模块转换程序
1、程序代码
符号变量类型数据类型」
Lw0输入
N
WORD
LD2修正值
N
REAL
LW6采样次数
囗RD
LD8比例值
REAL
D12累加器
N⊥DUT
M1|计数器
IN_OUTWORD
LD1B」 Temp_hits_ay IN_OUT REAL
N⊥UT
LD22输出
HEAL
IIIL=PLC模块数据转换程序
Network 1
∥采样:这段代码主要作用是把16位(一个字)的数据转换为实数类型的数据,并且启
动计数器和累加器
LD
SM0.0
ITD LWO. LD26
∥16整数转换为32位整数
DTR LD26 LD30
132位整数转换为实数
LD30. LD12
/启动累加器
INCW LW16
∥启动计数器
Network 2
∥滤波与转换:这段代码通过系列运算进行数据滤波,并且将数值转换为可读性很好
的十进制数据。同时累加器与计数器归零便于下一次采集使用。
LDW>>= LW16 LW6
/比较当前釆样次数是否等于预制采样次数
ITD LW6. LD42
DTR
LD42LD46
/将采样次数有16位整数转换位32位实数
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.