西门子PLC案例_第1页
西门子PLC案例_第2页
西门子PLC案例_第3页
西门子PLC案例_第4页
西门子PLC案例_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第一章 PLC锅炉控制程序概述一个锅炉监控系统主要包含一下几个部分:设备状态的采集;系统状态的采集;锅炉和各种执行机构的控制。设备状态的采集主要是锅炉输出的状态点,循环泵和补税泵给出的状态点,以及水箱等其他设备的状态点。锅炉输出的状态点主要包括锅炉的运行状态点、锅炉故障状态点、锅炉出水温度、锅炉回水温度、锅炉排烟温度;循环泵和补水泵以及辅助其工作的变频设备的状态点一般是由水泵控制柜或变频控制柜中集中取出的。水箱的液位状态一般直接送到PLC控制柜。系统状态的采集根据锅炉系统的不同有差别。一般来讲,目前设计的系统主要分为一次侧与二次侧。一次侧的是锅炉水循环系统,二次侧水循环系统常用的换热器有两种

2、一种是板式换热器,另一种是容积式换热器。一次侧采集的状态包括一次侧供水温度、一次侧回水温度、一次侧供水压力、一次侧回水压力;二次侧采集的状态包括二次侧供水温度、二次侧回水温度、二次侧供水压力、二次侧回水压力;如果需要根据室外温度实现锅炉监控系统的自动控制那么还需要增加室外温度的采集。锅炉和各种执行机构的控制主要是对锅炉本体的启停控制和各种电动阀门的控制。这里所说的对锅炉本体的启停控制主要是通过锅炉自身的控制器提供的控制点控制锅炉。锅炉本体自带的控制器这里暂不介绍。锅炉提供的控制点是开关量控制点,一般是常开点。根据影响锅炉运行的状态点的组合条件,给出允许锅炉启动信号。简单的说就是需要什么样的条件

3、锅炉才能启动或停止。阀门的控制有两种方式,一种是开关量控制阀门打开与关闭,另一种是模拟量输出控制阀门打开与关闭。图表 1 系统图第二章 PLC程序设计第一节 程序结构本文中所采用的PLC是西门子公司的产品S7-200系列,CPU的型号是cpu226cn.西门子PLC编程工具的使用可以参照西门公司的程序使用手册或者在程序中按F1调出帮助文件参考。下面介绍一下PLC程序的主要结构。首先看图表2LC主程序始化据转换与采集炉控制动控制讯端口设置置常数炉状态采集系统状态采集据转换公式采集滤波送中断收中断图表 2 PLC程序结构西门子PLC程序是面向结构的程序语言,结构中的主体子程序想要运行必须在主程序中

4、注册。本文中的程序结构如图2所示,主程序中包括了初始化子程序,数据转换子程序,锅炉控制子程序,自动控制子程序,发送中断与接收中断。初始化子程序的作用是通讯断口的设置和一些程序中需要预置的一些常数。比如数据换算中用到的公式里面的常数或者很长一段时间不需要改动的数值。数据转换子程序负责将采集模块采集的变量转换成我们需要的数据格式,包括采集和转换2个步骤。锅炉控制子程序控制锅炉的启动和停止,以及相关的状态输入和输出。自动控制子程序根据自动控制的理论设计完成锅炉的自动控制。具体的控制方案需要与实际使用的图纸以及设计需求相结合,总结出一套稳定性和先进性的控制方法。发送中断和接收中断子程序用于通信时的信息

5、发送与接收。第二节 PLC内存介绍既然我们知道了需要采集得数据类型和大小,以及设置数据需要得内存大小,那么我们就能够把内存的使用标准化,即是哪类数据就用哪类规定的内存块。这样作的好处是,即使预先不知道一个内存地址的实际意义,也能知道这个地址显示的是何种数据。下面我们详细介绍这块内容。首先我们了解一下PLC内存的地址范围,以西门子S7-200系列PLC为例。图表 3 位地址范围图表 4 字节地址范围图表 5 字地址范围图表 6 双子地址范围我们看到PLC的内存分为这样几个区域I离散输入和映象寄存器Q离散输出和映象寄存器M内部内存位SM特殊内存位(SM0 - SM29为只读内存区)V变量内存T定时

6、器当前值和定时器位C计数器当前值和计数器位HC高速计数器当前值AI模拟输入AQ模拟输出AC累加器寄存器L局部变量内存SSCR每个区域的具体功能可以参看西门子编程工具自带的帮助文件。第三节 内存标准化分配我们在上一节中已经知道PLC内存是如何分类的以及各种型号的地址范围,于是我们可以把这些地址按照我们的实际需要分门别类。本文中主要使用的是西门子公司的PLC,其实其他品牌PLC的内存分类和西门子公司产品的内存分类大同小异,只是名字的叫法不同而已,所以我们可以做到举一反三触类旁通。下面我们结合实际的例子讲清楚内存如何标准化。PLC内存中的I区、Q区、AI区和AQ区使用范围的大小一般来说是根据我们在工

7、程中的实际需要配置的。我们工程中的数字量状态采集用I区,如锅炉的故障状态、水泵运行状态、水箱液位等等这些只有通断信号,没有范围变化的信号。同理,Q区是数字量的输出,如锅炉的启停、阀门的开关控制信号等等;AI区和AQ区分别是采集和输出连续变化的模拟量通道,例如锅炉排烟温度、电动阀门开度、锅炉压力、系统压力等等。这些地址的分配是由PLC自动分配的,可以已经连接的PLC上读出。内存的标准化主要是除I/Q/AI/AQ等区域的标准化。从现实出发,我们工程中经常用到的就是CPU222、CPU224和CPU226这三个型号的 PLC。如果想让我们的程序在这三个型号的CPU中都能运行,那么我们就必须选内存范围

8、最小的CPU, 内存范围最小的是CPU222。我们就把CPU222中的程序当作模板。CPU222中VD区的范围是02044,MD的范围是028,AC的范围是03。我们之所以用VD/MD/AC区来说明范围大小是因为D表示Double Word是32位的地址,而1位位地址(如V0.0)、8位字节地址(如VB0)、16位字地址(如VW0)都是包含在这个范围内的。了解了上述内容后,我们开始进入本中最主要的部分格式化标准。一、锅炉及其相关设备的状态格式:锅炉和阀门的控制使用的是开关量输出,锅炉有启动与停止两种动作,阀门也是开启和关闭两种动作。所以我们可以把这些控制动作归结在一个字节内表示。如下表:控制字

9、节定义如下:位说明锅炉启动锅炉停止阀门开启阀门关闭允许启动位次序01234567图表 7 控制字节定义位说明手动启动手动停止自动启动自动停止自动手动位次序0123456图表 8 自动手动控制位说明液位状态低限报警液位状态高限报警锅炉房燃气报警计量间燃气报警位次序01234567图表 9 报警输出字节反馈字节的定义如下:位说明锅炉运行状态锅炉故障流水开关状态阀门当前状态水泵运行状态水泵故障位次序01234567图表 10 状态字节定义位说明液位状态低限报警液位状态高限报警锅炉房燃气报警计量间燃气报警位次序01234567图表 11 报警输入字节锅炉的数量是有限的,于是我们把控制字节和状态字节的使

10、用做数量上的限定和分配。目前的情况来看,我们一个PLC能控制的锅炉数量最多是10台,理由是我们的PLC上I/O数量是有限的。所以我们把控制字节规定使用10个字节,状态字节规定10个字节,预留30个字节。这样我们就标准化了锅炉的控制。地址范围规定从VB0-VB49,其中VB0-VB9为锅炉控制字节,MB30-MB39为自动或手动控制字节,VB10-VB19为影响锅炉运行的状态字节。VB20-VB24为报警输出字节,VB25-VB29为报警输入字节,VB40-VB49为预留字节备用。二、各种模拟的输入输出标准化接下来我们介绍锅炉控制系统中的各种模拟量如何配置内存。我们的锅炉系统中存在大量的模拟量信

11、号,这些信号一般来说输入都是由模拟量采集模块将连续的变化量(大部分为420mA的电流信号,05V或010V的电压信号)转换离散的数字量,存储到PLC内存里;输出是由模拟量输出模块将我们要输出的存储在内存中的数字离散信号转换为电压信号或者电流信号。无论是内存中采集上来的数值还是我们输出的数值都不是我们得到的理想的数值,还需要转换程序将这些量转换成可读懂的数据。数据的转换我们放在下面的章节介绍。锅炉控制系统中的模拟量输入值主要是:锅炉出水温度、锅炉回水温度、锅炉排烟温度、锅炉出水压力、锅炉回水压力、一次供水压力、一次回水压力、一次供水温度、一次回水温度、采暖供水温度、采暖回水温度、采暖供水压力、采

12、暖回水压力、生活供水温度、生活回水温度、生活供水压力、生活回水压力、水流量、供热量、阀门开度、室外温度、变频器频率等等。根据设计院设计的不同,所需要采集的数据种类不同。锅炉控制系统中的模拟量输出值主要是:各中需要模拟量控制的阀门开启值和变频器的给定频率。了解了上述内容,我们就能够标准化内存使用,具体的内存分配如下所述:考虑到这些模拟量经过程序转换之后一般为实数类型(REAL)的数值,所以每个数值存储到内存后所占用的内存空间为4个字节,即32位的数值。那么我们可以这样标准化采集量。1、锅炉相关的数值内存分配锅炉出水温度(4个字节)锅炉回水温度(4个字节)锅炉出水压力(4个字节)锅炉回水压力(4个

13、字节)锅炉排烟温度(4个字节)一共位20个字节或者说5个双字。因为一个PLC控制锅炉台数的上限是10台,所以总供需要200个字节。于是我们把VB100-VB299的内存段分配给与锅炉相关的采集值。详细的分配是:数值名称锅炉台数锅炉出水温度锅炉回水温度锅炉出水压力锅炉回水压力锅炉排烟温度第一台VD100VD104VD108VD112VD116第二台VD120VD124VD128VD132VD136第三台VD140VD144VD148VD152VD156第四台VD160VD164VD168VD172VD176第五台VD180VD184VD188VD192VD196第六台VD200VD204VD20

14、8VD212VD216第七台VD220VD224VD228VD232VD236第八台VD240VD244VD248VD252VD256第九台VD260VD264VD268VD272VD276第十台VD280VD284VD288VD292VD296图表 12 锅炉相关模拟量采集存储地址2、一次侧采集值内存分配一次侧采集值总共只有4个一次出水温度(4个字节)一次回水温度(4个字节)一次出水压力(4个字节)一次回水压力(4个字节)共16字节,制定分配区域 VB300-VB399数值名称一次出水温度一次回水温度一次出水压力一次回水压力起始位置VD300VD304VD308VD312图表 13 一次侧模

15、拟量采集存储地址3、采暖采集值内存分配采暖出水温度(4个字节)采暖回水温度(4个字节)采暖出水压力(4个字节)采暖回水压力(4个字节)采暖区电磁阀开启值(4个字节)不同的系统设计不同,有些系统分为不同的采暖区域,不过数量上最多不超过10个区域。每个区域共使用20个字节所占内存空间为200字节。因此我们制定分配给采暖数据的内存区域为VB400-VB599数值名称采暖区采暖出水温度采暖回水温度采暖出水压力采暖回水压力阀门开度采暖一区VD400VD404VD408VD412VD416采暖二区VD420VD424VD428VD432VD436采暖三区VD440VD444VD448VD452VD456采

16、暖四区VD460VD464VD468VD472VD476采暖五区VD480VD484VD488VD492VD496采暖六区VD500VD504VD508VD512VD516采暖七区VD520VD524VD528VD532VD536采暖八区VD540VD544VD548VD552VD556采暖九区VD560VD564VD568VD572VD576采暖十区VD580VD584VD588VD592VD596图表 14 采暖区模拟量采集存储地址4、生活热水采集值内存分配生活热水出水温度(4个字节)生活热水回水温度(4个字节)生活热水出水压力(4个字节)生活热水回水压力(4个字节)生活热水区电磁阀开启值

17、(4个字节)不同的系统设计不同,有些系统分为不同的生活区域,不过数量上最多不超过10个区域。每个区域共使用20个字节所占内存空间为200字节。因此我们制定分配给生活热水数据的内存区域为VB600-VB799数值名称生活区生活热水出水温度生活热水回水温度生活热水出水压力生活热水回水压力阀门开度生活一区VD600VD604VD608VD612VD616生活二区VD620VD624VD628VD632VD636生活三区VD640VD644VD648VD652VD656生活四区VD660VD664VD668VD672VD676生活五区VD680VD684VD688VD692VD696生活六区VD700

18、VD704VD708VD712VD716生活七区VD720VD724VD728VD732VD736生活八区VD740VD744VD748VD752VD756生活九区VD760VD764VD768VD772VD776生活十区VD780VD784VD788VD792VD796图表 15 生活区模拟量采集存储地址5、其他采集值内存分配这里我们考虑剩余的模拟采集量种类已经不多,而且每类数量也不多。暂设计每类最多5个数值,分配20个字节。而且暂时考虑的种类是:水流量(4个字节)共5个,占用20字节;供热量(4个字节)共5个,占用20字节;室外温度(4个字节)共5个,占用20字节;变频器频率(4个字节)共

19、5个,占用20字节;上述四个模拟量值只用到变频器频率VB869如需其他采集值内存分配地址顺延.总分配区域为VB800-VB899水流量:值名称流量一流量二流量三流量四流量五起始位置VD800VD804VD808VD812VD816图表 16 水流量模拟量采集存储地址供热量:值名称供热量一供热量二供热量三供热量四供热量五起始位置VD820VD824VD828VD832VD836图表 17 供热量模拟量采集存储地址室外温度:值名称室外温度一室外温度二室外温度三室外温度四室外温度五起始位置VD840VD844VD848VD852VD856图表 18 室外温度模拟量采集存储地址变频器频率:值名称变频器

20、频率一变频器频率二变频器频率三变频器频率四变频器频率五起始位置VD860VD864VD868VD862VD866图表 19 变频器频率模拟量采集存储地址6、模拟输出内存分配模拟量输入分配完后我们开始为输出用的模拟量分配内存。在锅炉控制系统中,通过模拟两控制的设备无非两种,一种是各种电动阀门,另一种是变频器的频率给定。而且,这两类设备的数量也是非常有限的。我们这里考虑各种阀门总共数量最多为10个,变频器数量最多10个。因此,对于模拟量输出所占用的内存分配共需要内存40个字节,考虑到可能有额外的设备需要控制,所以总共分配100个字节,范围从VB900-VB999电动阀门开启值:值名称阀门一阀门二阀

21、门三阀门四阀门五起始位置VW900VW904VW908VW912VW916值名称阀门六阀门七阀门八阀门九阀门十起始位置VW920VW924VW928VW932VD936图表 20 模拟量输出存储地址变频器给定值:值名称变频器一变频器二变频器三变频器四变频器五起始位置VW940VW944VW948VW952VW956值名称变频器六变频器七变频器八变频器九变频器十起始位置VW960VW964VW968VW972VW976图表 21 模拟量输出存储地址三、通信程序内存标准化本文使用的是西门子PLC自由口协议(西门子产品的通信端口设置详见软件帮助或产品手册),尽管不同公司产品的通信口用法不同,但还是有

22、规律可循的。通信程序一般分为三步分:1、端口设置部分;2、发送子程序部分;3、接收子程序部分。我们只要在制定的内存填上需要的数据,然后启动通信端口开始通信就可以传输数据了。详细的通信程序介绍我们放在下面的章节,此处我们先给通信程序分配固定的PLC内存。在锅炉控制系统中,通信的主要目的是为了上传采集数据和下传设备的给定值(设定值)。而且通信协议不是很复杂,因此,我们给每个需要和PLC通信的设备分配200个字节的内存。考虑用到的设备数量最多不超过5个,我们分配VB1000VB1999,MB0MB4作为这个5个设备的内存使用区。实际使用的时候,我们经常会遇到几个设备使用相同的发送区,发送相同的命令。

23、所以这段内存可以灵活使用。四、初始化程序内存使用标准化初始化程序的作用有两个,一个是配置通信端口,另一个是设置初始值。根据经验,初始化区域分配500个字节的内存已经足够使用。所以,我们将VB2000-VB2499段的内存分配给初始化程序。五、自动控制程序内存使用由于每个系统的设计和结构不同,因而自动控制程序的内容也不同。我们这里只能根据以往经验分配1500个字节,范围VB2500VB3999的内存地址给自控程序使用。对于一般的锅炉控制系统已经足够使用。自控程序包括:数据转换程序和锅炉控制程序。建议VB2500-VB2699作为锅炉控制程序使用,数据转换使用VB3000-VB3999。我们在代码

24、分析中详细讲解这两个程序。第四节 代码分析与例程讲解第一部分 数据转换程序首先我们介绍一下为什么要进行数据的转换。原因就是我们从变送器传送到采集模块的信号为电压信号或电流信号,这些信号经过模数转换程序把原来连续的物理量转换为可被PLC内存存储的离散的数字量。内存中的数字量的形式也不是我们平常使用的格式,内存中一般为16位的二进制数据,而我们在显示设备上需要的是十进制的数值。所以就必须通过转换程序把二进制数值转换为我们需要的十进制数值。下面我们结合代码介绍数据转换程序一、PLC模拟量模块转换程序1、程序代码TITLE=PLC模块数据转换程序Network 1 / 采样 :这段代码主要作用是把16

25、位(一个字)的数据转换为实数类型的数据,并且启动计数器和累加器LD SM0.0ITD LW0, LD26 /16整数转换为32位整数DTR LD26, LD30 /32位整数转换为实数+R LD30, LD12 /启动累加器INCW LW16 /启动计数器Network 2 / 滤波与转换:这段代码通过一系列运算进行数据滤波,并且将数值转换为可读性很好/ 的十进制数据。同时累加器与计数器归零便于下一次采集使用。LDW>= LW16, LW6 /比较当前采样次数是否等于预制采样次数ITD LW6, LD42DTR LD42, LD46 /将采样次数有16位整数转换位32位实数MOVR LD

26、12, LD18/R LD46, LD18 /求出采样平均值MOVR 0.0, LD12 /清空累加器MOVW +0, LW16 /清空计数器-R 6400.0, LD18*R LD8, LD18 /转换为十进制数值+R LD2, LD18 /修正Network 3 LD SM0.0MOVR LD18, LD22 /输出Network 4 LD SM0.0 /返回主程序CRET我们可以注意到,这里所使用的内存全部是L内存的。我们这样做的目的是想把这段程序作为一个可以被其他程序使用的子程序,所以使用的是局部变量。子程序容易移动;我们可以单独挑出一个功能,并将其复制至其他程序中,而无需或很少需要重

27、复操作。注释:V内存的使用限制子程序的可移植性,因为一个程序的V内存地址赋值可能与另一个程序中的赋值发生冲突。相反,将局部变量表用于所有地址赋值的子程序却很容易移动,因为不必担心会出现编址冲突。(详细说明参照西门子公司编程工具帮助文件)2、变量说明3、求比例值的子程序程序代码:TITLE=求比例值的子程序Network 1 / 根据实际值的上下限和 PLC采集值的上下限,计算出实际值与采集值的比例LD SM0.0MOVR LD0, LD20-R LD4, LD20 /实际值上限减去实际值下限,求出差值1MOVR LD8, LD24-R LD12, LD24 /采集值上限减去采集值下限,求出差值

28、2MOVR LD20, LD16/R LD24, LD16 /差值1除以差值2求出比例值Network 2 LD SM0.0CRET /返回主程序4、比例值计算子程序变量说明H和L表示的是实际值上下限,所谓实际值就是变送器的量程范围。例如:一个温度传感器的量程是0200,那么将200赋值给H,0赋值给L即可。H_PLC和L_PLC是PLC的采集值,范围一般在6400.032000.0。Outcome:这个是计算结果,也就是实际值与采集值的比例。二、RM417采集模块数值转换程序RM417模块是我们经常用到的一种模拟量采集模块技术指标如下:通道数:单端16通道输入信号范围:05V;±5

29、V;0-10V;0-20mA;4-20mA;±20mA。A/D转换分辨率:12BitA/D转换时间:20kHZ(单通道)处理芯片:AT89C2051通讯方式:RS485接口,2线制驱动距离:1200米通讯格式:9600-8N1通讯协议:被动查询输出数据格式:12Bit 16进制数据输出稳定度:±1 Bit隔离电压:500V供电电压:DC24V±1% 100mA端口瞬间电压保护:±10V端口RC滤波:20kHZ从技术指标中我们可以看出,这个模块的输出数据格式是12Bit 16进制数据,而我们需要的是实数型的数据,所以必须将模块输出数据转换为我们需要的数据格

30、式。1、程序代码:TITLE=RM417数据转换程序Network 1 LD SM0.0MOVW LW0, LW12 /输入值-I LW2, LW12 /模块采集值下限ITD LW12, LD14DTR LD14, LD18MOVR LD18, LD8 /dived是模块采集值上下限差值/R LD4, LD8 /输出结果Network 2 / 返回主程序LD SM0.0CRET/ 返回主程序2、RM417数据转换程序变量说明三、转换程序的使用图表 22 PLC模拟量输入转换图表 23 RM417模拟量转换通过将各种需要的数值导入数据转换功能块,我们就可以直接得到结果。当然,这些需要导入的数据是

31、我们预先要计算出来或在初始化程序中设置的。要注意的问题是,RM417通过通信接收后的数据是ASCII码,需要转化为2进制的数据。上面的文章提到了过,通信内存区使用VB1000-1999; 初始化内存使用VB2000-VB2500; 数据转换内存使用VB3000-VB3999。所以,我们只要知道这段内存的地址,即使没有注释也可以了解这段内存的作用。第二部分 通信程序我们这里介绍的通信程序,主要是PLC和RM417之间的通信。PLC与其他设备的通信程序和这个程序大同小异,只是发送区的配置不同。一、协议介绍上位机下传4个ASCII字母: 0 1 R其中为前导符,01为RM417的模块号,R为读数据,

32、则RM417返回66个ASCII字符,共66个字节,这66个字符是16个通道的数据,每4个ASCII字符为一个通道,共4×16 = 64个字符,最后两个字符为校验和。每个通道的4个ASCII码字符,是一个十六进制字,例如:收到30 45 45 45四个字节显示为0FFF,对应0FFFH十六进制数,也就是十进制4095,如果输入范围选择为0 5V,说明通道上加的是5V信号。 校验和是收到的64个字节异或的结果,这个结果是十六进制的一个字节,用2个ASCII字节显示。例如:收的前64个字节的异或结果为7AH,则校验和的两个字节为37 41,显示为7A。在RS485的端子处,有一个跳线,用

33、于选择终端匹配电阻,当模块处于RS485双绞线的终点时,应使其短路,选择使用终端匹配电阻,当模块处于RS485线的中间位置时,不要短路跳线。二、通讯程序代码分析按功能介绍各个组成部分通信需要的各种参数也在初始化中设置。以下为通信设置的程序:Network 1 / 通讯设置/ Network CommentLD SM0.1 /第一次扫描执行初始化MOVB 16#09, SMB30 /将SMB30(通信口1)设置为十六进制的09即00001001 绿色部分00代表:无校验 蓝色部分0代表:每个字符8个数据位 红色部分010代表:通信速率为9600bps 黄色部分01代表:使用自由口协议MOVW +

34、0, VW1000 /将计数器VW1000清零ATCH INT0, 8 /连接中断0,中断事件8端口 0:接收字符MOVB 0, SMB35 /设置定时中断 1 的时间间隔(从 1 至 255,以 1 毫秒为增量)。ENI /中断允许(ENI)指令全局性启用所有附加中断事件进程。Network 2 LD SM0.0 S M0.0, 1 /设置通信允许 本程序中使用2个中断,一个发送中断int_1和一个接受中断int_0Int_0 /接收中断LD SM0.0DTCH 11 /中断指令取消中断事件(EVNT11定时中断1)与所有中断例行程序之间的关联,并禁用中断事件。R M0.0, 1 /禁止通信

35、Network 2 LD SM0.0+I +1, VW1000 /接收字符个数的计数器+D +1, AC1MOVB SMB2, *AC1 /接收字符Network 3 /当接收字符到达指定个数66个时把计数器清零并置位通信允许位,中断返回LDW= +66, VW1000 MOVW +0, VW1000S M0.0, 1CRETI Int_1 /发送中断 Network 1 LD SM0.0MOVD &VB1100, AC1 MOVB 4, VB1010 /设置发送字节个数MOVB '', VB1011 /发送的第一个字节MOVB '0', VB1012

36、/发送的第二个字节MOVB '1', VB1013 /发送的第三个字节MOVB 'R', VB1014 /发送的第四个字节XMT VB1010, 0 /传送(XMT)指令在自由端口模式中使用,通过通讯端口0传送从地址VB3110开始的数据。DTCH 11 /中断指令取消中断事件(EVNT11定时中断1)与所有中断例行程序之间的关联,并禁用中断事件。R M0.0, 1 /禁用通信Network 2 LD SM0.0 /中断返回CRETI同时还要为通信设置一个时间,这个设置要在主程序中完成。Network 1 / 通讯设置LD SM0.0A M0.0 /通信允许位A

37、 SM0.5 /在 1 秒钟的循环周期内,接通为 ON 0.5 秒 /关断为 OFF 0.5 秒EUMOVB 0, VB1100 /数据接收区MOVB 5, SMB35 /定时中断 1 的时间间隔(从 1 至 255,以 1 毫秒为增量)。ATCH INT1, 11这里接收区的地址可以根据自己的需要改变,我们的通信内存分配位VB1000-VB1999,属于这段的内存可以作为接收字符使用。习惯上我们规定每个通信端口分配200个字节,100个作为发送段,100个作为接收段。如果发送或者接收的字符数量大于100,那么可以扩大区段的范围。第三步分 锅炉控制程序锅炉控制程序也是控制系统的核心部分。锅炉控制程序的目的是保障锅炉的正常工作,故障时立即报警,并准确判断报警位置,为锅炉操作人员提供最大的方便。锅炉控制系统分为两种方式:自动控制与手动控制手动控制是最基本的控制功能,熟悉了手动控制的方式与方法对我们理解锅炉的自动控制有非常大的帮助。一、锅炉的启动和停止需要控制的设备主要有锅炉燃烧机、锅炉碟阀、变频器、三通调节阀等等。锅炉燃

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论