产品描述
西门子模块6ES7214-1BD23-0XB8大量供应
1 应用背景
目前我国大型火电厂采用的燃料大多数为燃煤。一方面,由于煤产地与电厂间地理位置或地域的不同,需要借助汽车、火车或轮船等途径把燃煤先运送到电厂内的储煤站;另一方面,在电厂内,需要通过输煤皮带将燃煤输送到的煤仓或煤筒中,供燃煤锅炉使用。
电厂输煤程控系统就是完成将煤场的煤输送到煤仓或煤筒的任务,一般包括卸煤系统、堆煤系统、上煤系统和配煤系统几个部分。输煤程控系统是保证机组稳发满发的重要系统,是机组运行的重要支撑系统。
电厂输煤程控系统具有组成设备多且位置分散、设备间联锁关系强、设备运行环境恶劣、性性要求高等方面特点,一般采用以可编程控制器(PLC)为主要控制设备的监控系统来实现对整个工艺过程的控制。
2 输媒程控系统设计
输煤程控采用双主机(热备)配置的HOLLiAS LK系列PLC完成上煤及配煤控制等功能,PLC置于输煤程控室。在粗碎机室、1#站、2#站、细碎机室、煤仓层、输煤综合楼设6组远程I/O站,各信号就近引接至附近的I/O站,各I/O站及PLC之间采用冗余PROFIBUS-DP现场总线通讯。该网络能满足输煤程控的实时要求。在输煤程控室设上位监控系统,通过两台上位监控计算机机进行输煤系统的集中监测及控制,不再设常规模拟屏及仪表盘。
HOLLiAS LK系列PLC是和利时公司利用十多年控制系统设计和工程实施经验而推出的新一代、高性、高易用性的可编程逻辑控制器产品,可以为不同工业领域提供个性化解决方案,广泛应用于电力、冶金、石化、交通、水处理等行业。
系统结构
整个系统可以分为三层,包括生产管理层(输煤程控室)、现场控制层(PLC控制站)及就地控制层。现场各种数据通过PLC系统进行采集,并通过主干通讯网络——环形工业以太网传送到控制室监控计算机集中监控和管理,通讯速率为100Mbps,通讯介质根据通讯距离可以选择光纤或屏蔽双绞线。同样,控制室监控计算机的控制命令也通过上述通道传送到PLC的测控终端,实施各单元的分散控制。
根据输煤系统的联锁性强、地理较分散的特点,系统设有一个主站和若干个远程I/O分站,现场设备信号直接接入附近的远程I/O分站,并通过冗余的PROFIBUS-DP总线网络实现与系统主站的通讯,由系统主站完成对所有系统内设备的监控和管理。
考虑到输煤程控系统在性、性方面的要求,系统主站采用HOLLiAS LK PLC具有冗余功能的CPU模块LK210,支持电源冗余、CPU冗余、以太网冗余、总线冗余,以保证整个系统的不间断运行。
控制方式
输煤程控系统控制方式设计为现场设备就地手动控制、远程手动控制、程序自动控制三种控制模式。三种模式的级别由高到低依次为就地手动控制、远程手动控制、程序自动控制。
正常情况下,所有设备的运行、停止等由PLC按预定的程序自动完成,PLC自动识别各设备所处状态。上位机发出指令后,由PLC按预定的程序自动完成对设备的运行操作。包括程控上煤、程控配煤、故障连停等控制功能。
远程手动控制又可分为联锁手动控制和解锁手动控制两种形式,多用于设备调试和检修阶段。
就地手动是指在就地设备控制箱上操作设备,具有的控制级。
3 输煤工艺控制方案
不同的电厂由于其机组的大小,厂外来煤方式、煤场到原煤仓距离的远近和输煤设备等方面的不同,在输煤系统工艺形式上也存在着较大差异。但按照工艺段和功能一般都包括卸煤流程、堆煤流程、上煤流程和配煤流程几个部分。
卸煤流程,主要指将厂外来煤(包括汽车、火车、轮船等途径)通过卸煤设备卸到厂内储煤站,以备使用。
堆煤流程,主要是通过堆料机对卸到卸煤站的煤进行整理,以方便输煤系统上煤。
上煤流程,是输煤系统工艺的关键环节,通过输煤皮带机完成将原煤从煤场输送到原煤仓的过程,同时通过辅助的碎煤机、筛煤机、除铁器、采样装置、电子皮带秤等设备完成对筛分、计量等处理,以达到使用要求。
配煤流程,主要是将从上煤系统输送来的煤按照一定的要求、规律、顺序地分配到机组受煤仓中的过程。
输煤系统设备
按照在整个输煤系统中的地位和作用,这里我们把输煤系统设备分为主设备、预启动设备、辅助设备和保护开关设备几类。
主设备,为输煤工艺线上的关键设备,直接纳入整个系统的联锁中,设备故障会引起系统联锁停机。主要包括:给煤机、输煤皮带机、振动筛、碎煤机、缓冲滚筒、除铁器等。
预启动设备,这些设备一般先于主设备启动前动作,用于进行流程选择。主要包括:电动三通挡板、皮部伸缩装置、犁煤器、警铃等。
辅助设备,一般不纳入到流程联锁中,可以单启停设备,故障不会造成联锁停机。主要包括:除尘器、皮带秤、实物校验系统、采样装置等。
保护开关设备,各种皮带保护开关,用于流程监控、设备联锁、报警等功能。主要包括:拉绳开关、跑偏开关、堵煤开关、速度器、撕裂器、料流检测器、煤仓料位开关、料位传感器等。
控制策略
输煤系统控制就是通过对输煤设备的监控,完成将煤场的煤输送到煤仓或煤筒的任务。系统的控制要求遵循如下原则:
上煤原则
1) 流程预启:进行流程选择,并启动相应流程上的预启动设备,做好启动准备;
2) 流程启动:接收到流程启动允许信号后,系统主设备按逆煤流方向延时顺序启动;
3) 流程停止:停止指令下达后,系统主设备按顺煤流方向延时顺序停止;
4) 故障联锁停机:当所选流程上的系统主设备发生故障时,立即联锁跳停设备故障点上游(逆煤流方向)的主设备;
5) 重故障信号:急停、拉绳、重跑偏、重堵塞、打滑等指令或信号将直接导致系统联锁跳停。
配煤原则
1) 顺序配煤:先设定一个尾仓,从个原煤仓开始进行配煤,煤斗以相同的时间(或依据煤仓料位)依次配煤,直到尾仓和尾仓前所有煤斗发出高煤位信号为止。顺序配煤时如有煤仓出现低煤位信号,则停止顺序配煤,给低煤位配煤;
2) 配煤:当有煤仓出现低煤位信号时,正常进行配煤的煤斗停止配煤并记忆。先补低煤位仓直至低煤位消失,再按记忆煤斗的正常顺序把煤仓逐个加到高煤位。当多个仓同时出现低煤位时,对这些仓按从前向后的顺序进行轮换的配煤,直至低煤位消失;
3) 余煤配煤:当停机信号发出后,皮带上余煤均匀配给每个仓,直至原煤仓皮带机停止运行;
流程控制
流程选择、流程预启
上煤顺序启停控制
配煤流程控制
事故处理
系统事故处理是系统稳定、运行的重要措施,主要包括以下三方面事故处理措施:
1)在系统运行过程中,当某一设备发生故障停机时,联锁跳停故障设备点上游(逆煤流方向)的所有设备,并给出报警信息。当设备故障恢复后,才允许重新从发生故障的设备处按逆煤流方向重新启动设备的运行。
2)拉绳、重跑偏、堵塞、撕裂等保护开关动作,联锁跳停相关设备。
3)当设备运行过程中存在危及人员及损坏设备的可能,而操作员来不及判断该怎样处理的情况下,可以通过操作画面上的“急停”按钮来停止所有现场设备的运行。
4 软件功能
输煤程控系统上位软件采用和利时公司的FacView组态软件,主要功能如下:
实时流程图显示
实时流程图是整个系统的主监控画面,在流程图中可以实时监控到系统主要设备的运行状态。流程图中所有设备的运行状态采用表示;停止状态采用红色表示;故障状态采用黄色表示。流程图中所有由PLC控制的设备设置远程手动/程控自动转换按钮,只有当设备就地/远程转换开关处于远程时,远程手动/程控自动转换按钮才可用,当远程手动/程控自动转换按钮处于程控自动时,禁止人工遥控设备。当设备出现故障信号时,停止运行或禁止启动这些设备。
设备监控
系统软件对每一个控制设备设置有单的操作画面,通过鼠标点击实时流程图上的设备,就可以进入相应设备的操作画面。
事件报警
系统软件具有完善的事故报警功能。当事故发生时,语音报警系统发出语音信号。同时,LCD屏幕显示故障区域流程图,事故设备图形变色,屏幕上方用汉字显示故障性质及发生时间,并自动启动打印机记录,打印故障内容及发生时间。
数据报表
系统软件具有计算机管理功能,能自动采集运行工况及有关数据,能实现实时编制、修改及状态显示,能按规定时间或召唤打印各种报表,能在LCD上查询并调用有关数据,对正常生产运行定期打印记录,包括交接班记录、日报、月报、年报等报表的打印。
其他功能
系统软件除了具有上述监控功能外,还集成有煤量统计、设备运行管理、与其它系统通讯接口等功能。
5 系统特点
本电厂输煤程控系统解决方案以和利时公司HOLLiAS LK PLC为控制器,采用冗余的以太网络、PROFIBUS-DP总线网络将控制室计算机和PLC系统主站、PLC系统主站与远程I/O分站联系起来,构成一个分布式的控制系统。系统具有如下主要特点:
冗余的解决方案
输煤程控系统设计为冗余配置,包括电源冗余、CPU冗余、以太网络冗余、PROFIBUS-DP总线网络冗余,无论那个环节出现故障都不会造成系统停车,这样就大限度地保证了系统的性和性。
集中管理、分散控制
输煤程控系统设计为一个主站多个从站的网络结构,由系统主站统一管理系统内的设备,远程I/O分站只负责数据采集与设备驱动。这样的系统结构既满足了系统设备间联锁关系强的要求,又满足了系统设备位置分散的要求。
软件界面友好、功能强大
PowerPro编程软件符合IEC61131-3标准,易学、易懂、易用。FacView组态软件图库丰富,网络功能强大,报警、报表、历史数据以及二次开发功能完善而易用。
开放性
输煤程控系统设计为一个开放的系统,工业以太网、PROFIBUS-DP总线网络是目前应用广泛和开放性好的工业通讯网络,系统软件支持DDE、OPC、ODBC、SQL,且提供丰富的API编程接口,另外系统还支持Modbus/TCP协议、Modbus RTU协议、自由口协议等多种接口形式,可以方便地进行系统扩展或与全厂辅控网、MIS和其他子系统进行无缝连接。
6 结术语
随着我国火电厂装机容量的提高,对输煤程控系统等公用自动化控制系统提出了高的要求。本输煤程控系统设计在考虑电厂输煤系统特点和要求的基础上,充分利用了和利时公司HOLLiAS LK PLC性高、性能优异、功能丰富、扩展性好、易于使用等方面的优势,给出了针对性强和个性化的解决方案。
由于S7-200的模拟量输出模块都需要占占两个输出通道。即使个模块只有一个输出AQW0,二个模块的输出也应从AQW4开始寻址(AQW2被个模块占用),依此类推。所以自然不会有输出了。
在S7-200中,单性模拟量输入/输出信号的数值范围是 0 - 32000;双性模拟量信号的数值范围是 -32000-+32000。
格式:
输入:AIW[起始字节地址]——如AIW6
输出:AQW[起始字节地址]——如AQW0
每个模拟量输入模块,按模块的先后顺序和输入通道数目,以固定的递增顺序向后排地址。 例如: AIW0、AIW2、AIW4、AIW6、AIW8等。
对于EM231 RTD(热电阻)两通道输入模块,不再占用空的通道,后面的模拟量输入点是紧接着排地址的。温度模拟量输入模块(EM231 TC、EM231 RTD)也按照上述规律寻址,但是所读取的数据是温度测量值的10倍(摄氏或华氏温度)。如520相当于52.0度。
注意:如果没有把握,可以在线检测到模块的起始地址,方法是:STEP 7-Micro/WIN中的菜单“PLC > Inbbbbation”里在线读到。
关于Siemens S7-200的模拟量模块,有2个大家(尤其是初学者)需要注意的:
1、关于地址,其实S7-200的地址很简单,跟相对位置有关,每个模拟量输入模块,按模块的先后顺序地址为固定的,顺序向后排。可以通过编程软件inbbbbation菜单来在线查看;说需要注意的就是地址都是偶数,比如AIW0 AIW2 ,没有AIW1之类的,输出也需要注意,比如EM235虽然只有1个通道输出,但是占用2个地址,下一个模块隔个输出,比如有CPU旁扩展2个相连的EM235,那么模拟量输出分别为AQW0和AQW4;
2、关于拨码开关,不同的拨码开关对应不同的测量方法,物理量的性质等等,这里要注意的是,拨码开关断电后重新上电才有效。而且需要注意的是拨码开关同时对所有通道有效。
1.状态与故障显示LED
SF(系统出错/故障显示,红色):CPU 硬件故障或软件错误时亮。
BATF(电池故障,红色):电池电压低或没有电池时亮。
DC 5V(+5V 电源指示,): 5V 电源正常时亮。
FRCE(强制,黄色):至少有一个I/O 被强制时亮。
RUN(运行方式,):CPU 处于RUN 状态时亮;重新启动
时以2 Hz 的频率闪亮; HOLD(单步、断点)状态时以0.5Hz 的频
率闪亮。
STOP(停止方式,黄色):CPU 处于STOP,HOLD 状态或重新
启动时常亮。
BUSF(总线错误,红色)。
2.模式选择开关
(1)RUN-P(运行-编程)位置:运行时还可以读出和修改用户程序,
改变运行方式。
(2)RUN (运行)位置:CPU 执行、读出用户程序,但是不能修
改用户程序。
(3)STOP(停止)位置:不执行用户程序,可以读出和修改用
户程序。
(4)MRES(存储器):不能保持。将钥匙开关从STOP 状
态搬到MRES 位置,可复位存储器,使CPU 回到初始状态。
复位存储器操作:通电后从STOP 位置扳到MRES 位置,“STOP”
LED 熄灭1s,亮1s,再熄灭1s 后保持亮。放开开关,使它回到STOP
位置,然后又回到MRES,“STOP”LED 以2Hz 的频率至少闪动3s,
表示正在执行复位,后“STOP”LED 一直亮。
某些CPU 模块上有集成I/O。
PLC 使用的物理存储器:RAM,ROM,快闪存储器(Flash EPROM)
和EEPROM。
我们在下载一台OMRON PLC(型号:SYSMAC C200HG CPU43)程序时,发生了“内存错误”故障,如下图所示:
这时,点击右下角的“”按钮,会弹出“内存错误”对话框,如下图,此时,切不可盲目点击“是”按键来错误,因为此项不但会把错误掉,而且还会把PLC所有的内存掉,在PLC内存中设定的参数会全部丢失。就拿我们的设备来说,PLC是利用定位模块NC112来控制的伺服,而NC112的所有控制参数都在PLC的DM数据区中设定,如果选择“是”按钮,就会把NC112的所有控制参数掉,如果你提前对参数有记录就无关紧要,而如果没有记录,你就麻烦了,重新实验、设置NC112所有的参数。
那么针对OMRON PLC来说,发生“内存错误”的原因到底是什么呢?一般有以下几个方面的原因:
★ PC设置错误;
★ 程序中指令不正确;
★ 没有安装存储盒,但CPU的上的2号DIP开关却拨为ON(即一上电要把存储盒中的程序传到CPU);
★ 安装了存储盒,2号开关也拨到ON了,但存储器加了保护或者存储器发生了代码和校验错。
通过监视寄存器SR27211~SR27215的状态位可以知道具体的故障原因,如下表所示:
结论:我们在处理PLC发生的各种故障时,一定要先弄清楚故障发生的原因是什么才能进行下一步,切不可盲目或依照以前的经验进行下一步工作,否则可能造成不必要的麻烦。
面向对象编程是计算机语言的一种的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如 “继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。在计算 机编程中我们需要把一些事物抽象和归纳,才能编写类,而在工业控制系统中,控制对象如:电机,阀等等是很明显的控制类别,不需要抽象就可以很明显的针对它 们编写类,以下将会用到西门子的Step7编程语言和的Unity 编程语言来讲解PLC的面向对象编程。
一、 实现方式
在Step7中使用功能块(即FB)编程,一谈到此大家就会想到西门子提出的模块化编程,不错,就是这个模块化编程,但西门子提出的模块化、背景数据块、 多重背景等名词并不能让大家很明白的理解和使用这种的设计理念。如果大家从面向对象编程的角度去理解,则可以很好的理解这种设计模式。“FB块”被看 成“类”,它可以被看成是对相似的控制对象的代码归纳,如对MM440的变频器可以编写FB块:MtrMM440,这在面向对象编程中称为“类”,当需要 编程控制具体的电机时,可以给它分配一个背景DB块,在面向对象编程中称为类的实现(即创建类的实例:对象),当需要控制多个电机时,可以分配不同的背景 DB到这个FB块,即创建类的多个实例。Step7中有另外一种程序块,即FC块,以FC块为主的编程在西门子中称为结构化编程,这也可以类比于计算机编 程中的面向过程编程,即纯粹以函数为主体的编程。
的Unity软件编程可以好的理解面向对象编程。它的DFB定义中包含输入/输出参数,私有/共有变量,以及代码实现,而这正是计算机的面向对象 编程中“类”的基本元素,而创建类的实例(对象)就像创建普通的“布尔”变量一样,只需在“Function Blocks”中定义这种“类”的变量即可。
Step7和Unity都可以采用面向过程和面向对象编程方式,这两种编程方式的区别类似于计算机语言中的C语言和C++语言编程的区别。
以下的讲解将会把Step7中的FB和Unity中的DFB称为“类”,Step7中的FB+背景DB以及Unity中DFB的实例称为“对象”。
二、 面向对象编程架构
以上讲解的是实现细节,而编程思想是建立在程序架构上的,不是某个局部使用了面向对象方式,则可以称之为这种编程就是面向对象编程。这种编程需要从以下方面着手:
1、 电路设计的结构化。
这里主要以自动线为主介绍,对于单机机床可以是它的简化结构,
<1>、自动线层:这是层次,它拥有一个主PLC,对属于它下面的各区域控制
<2>、工程层:拥有立的配送电系统,但没有PLC,只有分布式模块,由自动线控制。顾名思义,它有着较大的立性,可以作为一个单的工程项目设计和制造,当自动线比较小时,可以省略该层次。
<3>、功能组层:根据工艺划分,将实现某一个工艺功能的区段设备划分为一个功能组,它隶属于工程层,当工程层被省略时,隶属于自动线层。
面向对象编程并不一定要求使用以上的结构,但好的电气结构利于面向对象编程。
2、 任何控制对象逻辑都在“类”中实现。
为了做到这点,分析与控制对象相关的信息,譬如,对于一个电机,有以下相关的信息需要考虑:
输入信息:
<1>、电路保护信息,如电机的空气开关,热继电器等。
<2>、功能保护信息,如运动电机的限位开关,风机的风压开关,油泵的油位开关等。
<3>、启动和终止条件,以上的电路保护和功能保护都可能导致电机运转终止,复位也可能导致重启动,但这里的条件指的是正常运行的启动和终止条件,譬如顺序控制的流程步。
<4>、控制模式:如手动和自动等。
<5>、故障复位:通过复位信息,重新启动。
输出信息:
<1>、控制输出,如控制电机的主接触器。
<2>、状态信息输出
<3>、故障输出
。。。
状态储存信息:
用于代码实现的中间变量以及可以被人机界面读出的状态变量等
把以上信息都整合到一个类中,并尽量使类的参数标准化。不过,同编程语言还是曾在一些差别,针对Step7,应该遵循的标准是:程序结构由FC实现,对象控制由FB实现,如下的一种结构体系(其电气结构来自上面的介绍):
这只不过是一个粗略的PLC程序架构体系,好的架构应该完善和科学。
3、 规划好数据结构
数据结构的定义相当重要,并尽量统一这些结构,不要顾虑存储空间,当今的PLC内存足以容纳大量的数据。说明一点的是在Step7中尽量不要在类的外部定义数据结构(UDT),而是在类里面定义,虽然会造成不同类中同一结构的重复性定义,但却提高了类的立性。
三、 优越性
1、 标准化
使用这种设计模式,可以将程序设计分为两个阶段,即标准库、基本架构开发,以及实际应用层面设计。其中标准库、基本架构是程序标准化的基础,而应用层 设计是针对具体的控制工程编程,这样可以把程序设计人员分成两类,一类是标准开发,由程序员负责,一类是应用设计(其中程序调试规划到应用设计),由 经过标准化培训的一般程序员完成,通过这种分配就可以解决中国工业自动化中面临的尴尬局面。传统的中国控制工业,一个程序设计由一个人完成,这样他还 负责现场调试,而拥有丰富经验的程序员一般是三十岁后,这时他已经成家,而显然长期出差对家庭不利,很多的程序员为了家庭考虑不得不改行,要么转到管 理岗位,要么去制造工厂搞设备维护,这是资源的严重流失。毫无疑问,使用以上的设计流程,我么可以让经验丰富的程序员搞标准库和架构的设计,而让刚踏入这 个行业的年轻人搞应用设计和调试,这不仅可以让老程序员继续他自己的工作,而不影响家庭,也可以让年轻的程序员参入现场调试,培养自己的经验,提高自己的 收入。
这可能让某些人士担心,认为年轻的程序员可以参加现场的调试吗?可以肯定的是没有标准化支撑的程序不仅年轻的程序员编不出来,而且现场调试会问题多多。但有了好的标准化后,一年半以上工作经验的程序员就应该能够立面对自动线。
PLC中的面向对象编程的就是黑匣子编程,针对Step7,我们使用FB去实现每一个对象的控制,控制逻辑、报警处理、信号交换全在FB中,对于应用 设计人员,不需要明白里面的代码实现,只需要了解该FB的功能以及如何使用好它就行,这样对于应用程序人员的编程能力要求大大降低,对于编程只不过是遵循 架构,拷贝代码,改变输入输出条件而已。
那么调试呢?很多人认为使用FB编程的烦就是FB的多次调用后,根本无法诊断这些代码,从技术层面上讲确实如此,我们除了从背景DB上查看信息外, 是无法在它多次被调用后监控代码的,但我已说过,这是黑匣子编程,我们不需要诊断这些代码,只需要知道什么样的输入、什么样的参数设定导致什么样的输出就 行,代码的逻辑与功能好坏是由标准库开发人员负责的,这就要求标准开发人员需要对他设计的功能块在不同条件下进行不同的测试,保证无误,还需要编写完整、 详尽的功能说明文档,以便于应用设计人员了解这些块,标准架构并不是出来就一劳永逸的,针对千变万化的工程,它是需要不断完善和修订的,这也是一个工 程公司可以实实在在进行知识积累的地方。
程序不仅需要给调试人员使用,而且用户(设备维护人员)也需要了解,如果把完整的标准库文档给用户,可能曾在技术外泄的可能,若不给,对他们诊断设备可能 曾在困难,这就需要标准人
产品推荐