找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[电源技术] PLC在玻璃棉生产线控制系统的应用

[复制链接]
admin 发表于 2014-4-17 09:44:41 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘要?针对玻璃棉生产过程的控制特点,选用SIEMENS S7-400软件冗余系统完成整个生产线自动控制系统的设计。  

关键词:S7-400?软件冗余?PID算法   

0 前言  

玻璃棉生产线由窑炉、成纤、固化炉及冷线成型等系统构成。整个生产工艺过程较为复杂。同时,因使用液化气和重油作为燃料,对安全的要求特别高,所以生产线对自动控制系统有很高的要求。此前,国内一般厂家都选用智能仪表控制系统,或引进国外的DCS控制系统,性能价格比都不理想。我们针对其生产过程的控制特点,选用了SIEMENS公司的S7-400软件冗余系统,投用以来,取得较好的控制效果。  

1 系统概况  

1.1 工艺特点  

(1)玻璃棉生产兼有连续生产和批次生产的特点:窑炉生产(玻璃液烧熔)是一个连续、不可间断的过程,任何过程的中断都有可能造成不可预测的后果和损失,所以系统对控制的可靠性要求很高;而固化炉及冷线处理系统则只在出产品时运行。  

(2)生产所用燃料是液化气和重油,必须严格控制燃料和助燃风的混合比例,任何比例失调都会造成工艺状况的不稳定,甚至会有爆炸的危险,所以系统对自控回路的精度要求很高。  

(3)生产过程复杂,系统的检测、控制点及PID自控回路较多(见表1),而且整个系统的生产是一个高度关联的动态平衡过程,各PID回路之间关系密切而复杂,这对PLC系统的性能和软件设计工作都提出了考验。  

1.2 系统结构  

固化炉及冷线成型系统由设备厂家自带的PLC系统控制(S7-300PLC和TP170A),工艺信息送控制室显示。  

控制的重点和难点是窑炉和成纤系统。根据上述的工艺特点,我们采用了CPU和通讯模块的双冗余系统(见图1系统结构图)。  

图1系统结构图
1.2.1 网络构成  

整个系统由两级网络构成:主站网和从站网。两台操作站(操作站1、操作站2)、一台工程师站、两台CPU414、一台S7-300组成主站网;五个现场站与CPU414之间组成了从站网。  

操作站及工程师站实质上没有任何差别,只是设置操作等级的限制,各站上的操作权限不一样。通过系统管理员的授权(密码控制)任何一个站都可实现其他两个站的所有功能。操作站、工程师站通过MPI卡接入主站网。网络协议为PROFIBUS,通讯速率最高可达12Mbit/s,考虑到传输距离较远(约200米),途中电磁干扰较严重,为保证通讯畅通,将通讯速率设置为1.5 Mbit/s。  

两台CPU414通过PLC通讯模块(CP443)接入主站网,固化炉系统的CPU314则通过CPU上的DP口直接接入主站网。  

现场站是连接PLC系统和工业现场的接口,所有的输入/输出模块都安装在五个现场站上。每个现场站上都有两块通讯模块(153-2)?分别接到两台CPU414的DP口上,组成从站网,通讯协议为PROFIBUS-DP,通讯速率为12Mbit/s。  

1.2.2 系统冗余  

为提高系统的可靠性,对控制系统的核心部分CPU及PLC通讯模块都采用了软件冗余技术,两套CPU414处理器、电源模块、通讯控制模块(CP443)分别安装在两块冗余机架上,同时各I/O站上也都装有两块通讯处理模块(153-2)。正常工作时,两台CPU一台为主,一台为从。主CPU执行控制程序,并控制着对应的通讯模块,同时不断地将需要冗余备份的数据发往从CPU;从CPU则处于热备状态,不运行控制程序,只是不停地接受数据,同时判断其自身的运行状态。一旦主CPU停止工作,从CPU立即接过系统控制权,同时主从位置互换,完成无扰动切换。  

2 软件设计  

2.1 系统软件  

PLC系统软件选用STEP7 V5.2软件包,对于系统中的逻辑控制选用梯形图(LADDER)编程,直观、方便;对于模拟量处理和PID回路控制部分则采用语句表(STL)编程,结构紧凑而又灵活。另外,为实现软件冗余,利用SIEMENS公司专门提供的冗余软件包,它实际上是一组系统功能块,供用户在程序中调用、设置,实现用户的软件冗余功能。  

上位机软件选用SIEMENS公司的Wincc V5.1组态软件。Wincc功能强大,可方便快捷地组态出各种操作界面。开放式的数据库系统为用户提供了强大的数据管理功能。  

2.2 应用软件设计  

根据该系统具体情况,软件设计过程中着重要考虑的是以下几个方面:  

(1) 软件冗余  

(2) PID算法  

(3) 安全措施  

2.2.1 软件冗余  

(1) 在OB100(热启动模块)中调用系统冗余软件包中的系统功能块FC100,程序如下:  

CALL ″SWR_START″  

AG_KENNUNG ?='A' //站名称  

DB_WORK_NO ?=DB1 //内部数据块  

DB_SEND_NO ?=DB2 //内部数据块  

DB_RCV_NO ?=DB3 //内部数据块  

MPI_ADR ?=3 //MPI地址(由硬  

件组态决定)  

LADDR ?=8189 //CP地址(由硬件  

组态决定)  

VERB_ID ?=1 //连接号(由硬件  

组态决定)  

DP_MASTER_SYS_ID?=1 //网络地址(由硬  

件组态决定)  

DB_COM_NO ?=DB5 //冗余工作数据块  

DP_KOMMUN ?=1 //DP—MASTER为CPU  

ADR_MODUS ?=1 //I/0地址连续  

PAA_FIRST ?=0 //第一个输出字节地址  

PAA_LAST ?=3 //最后一个输出字节地址  

MB_NO ?=10  

MB_LEN ?=10 //冗余的M存储区M10  

-M19 共10字节  

IEC_NO ?=0  

IEC_LEN ?=0  

DB_NO ?=6  

DB_NO_LEN ?=50 //冗余的DB存储区DB6  

-DB55 共55个  

SLAVE_NO ?=3 //第一个从站地址  

SLAVE_LEN ?=5 //5个从站  

SLAVE_DISTANCE ?=1  

DB_A_B_NO ?=DB255  

DB_A_B_NO_LEN ?=W#16#0  

DB_B_A_NO ?=DB256  

DB_B_A_NO_LEN ?=W#16#0  

RETURN_VAL ?=MW100 //返回状态字  

EXT_INFO ?=MW102 //信息输出字  

该段程序设置了软件冗余的基本信息,其中包括硬件信息、冗余备份数据的范围等。根据实际需要,这里设定了M10-M19、DB6-DB55为备份数据区。OB100在上电时运行一次,完成上述冗余约定。这里特别要注意的是备份数据的地址必须是连续的,否则程序将不作处理。  

(2) 在OB1中调用系统功能块FB101。程序如下:  

CALL ″SWR_ZYK″ ? DB5 //调用FB101  

DB_WORK_NO ?=DB1 //内部数据块  

CALL_POSITION?=TRUE  

RETURN_VAL ?=MW110 //返回状态字  

EXT_INFO ?=MW112  

A DB5.DBX 9.1 //冗余状态位,  

判断是否为从站  

JC M001  

CALL FC 50 FC50调用所有的控制程序  

M001? NOP 0  

CALL ″SWR_ZYK″ ? DB5  

DB_WORK_NO ?=DB1  

CALL_POSITION?=FALSE //传送结束  

RETURN_VAL ?=MW114  

EXT_INFO ?=MW116  

这段程序用来发送、接受冗余数据,同时判断CPU是否为主(MASTER)状态(DB5.DBX 9.1为FALSE表示CPU为主CPU),如果不是,则不执行监控程序(FC50)。  

(3) 在OB86中调用冗余诊断程序,程序如下:  

CALL ″SWR_DIAG″  

DB_WORK ?=W#16#1  

OB86_EV_CLASS ?=#OB86_EV_CLASS  

OB86_FLT_ID ?=#OB86_FLT_ID  

RETURN_VAL ?=MW130  

这段程序用来诊断从站的故障信息,如有问题将切换从站通讯模块。  

(4) WINCC中的每个外部变量都连接着CPU中的一个地址,当两台CPU切换时,这些连接地址也要同时切换。WINCC提供了动态向导,可自动产生相关的变量和全局脚本,实现上述转换。  

2.2.2 PID算法  

STEP7提供了两种常用的PID算法:连续型PID(FB41)和离散型PID(FB42),根据实际要求,选用的是FB41?其原理图如图2。  

PID算法的输出实际上是比例(P)、积分(I)、微分(D)三部分作用之和:Mn=MPn+MIn+MDn  

MPn = GAIN?(SPn- PVn)  

MPn = GAIN ? TS/ TI?(SPn- PVn)+ MX  

MDn = GAIN ? TD/ TS?(PVn-1- PVn)  

Mn:第n次采样时刻的输出值。  

MPn:第n次采样时刻的比例作用,与偏差成正比。   

MIn:第n次采样时刻的积分作用,可以消除静差,提高控制品质。   

MDn:第n次采样时刻的微分作用,根据差值的变化率调节,可抑制超调。   

SPn:第n次采样时刻的设定值。  

PVn:第n次采样时刻的过程值。  

MX:第n-1次采样时刻的积分作用,每次采样计算后自动刷新。  

GAIN:回路增益,P参数。  

TI:积分时间常数,即I参数。  

TD:微分时间常数,即D参数。  

TS:采样时间。  

根据原理框图,结合实际工艺要求,编写程序(以供料道温度回路为例)如下:  

L DB44.DBD 0 //温度设定值,浮点型  

T #TEMP0  

L PIW 524 //温度反馈值  

ITD //整型转双整型  

DTR //双整型转浮点型  

L 2.764800e+004  

/R   

L 3.200000e+002 //量程范围320度  

?R   

L 9.800000e+002 //零点是980度  

+R   

T #TEMP1 //温度反馈对应量程范围  

980~1300度,计算出浮点型数据。  

L DB44.DBW 4 //阀门开度  

ITD   

DTR   

L 2.764800e+002 //阀门开度转为百分数  

/R   

T #TEMP2  

L DB44.DBD 20  

T #TEMP31  

A M 56.3 //自动标志位  

NOT   

= #TEMP4  

CALL ″CONT_C″ ? DB144 //调用FB1  

COM_RST?=FALSE  

MAN_ON?=#TEMP4   

PVPER_ON?=FALSE  

P_SEL?=TRUE  

// 使用P调节  

I_SEL?=TRUE   

//使用I调节  

INT_HOLD?=FALSE  

I_ITL_ON?=FALSE  

D_SEL?=FALSE  

//使用D调节  

CYCLE?=T#2S //采样时间  

SP_INT?=#TEMP0 //设定值  

PV_IN?=#TEMP1 //过程值  

PV_PER?=  

MAN?=#TEMP2   

//PID自动标志  

GAIN?=DB44.DBD8  

//参数P  

TI?=DB44.DBD12 //参数I  

TD?=DB44.DBD16 //参数D  

TM_LAG?=T#2S   

DEADB_W?=#TEMP31  

//死区范围  

LMN_HLM?=DB44.DBD24 //输出上限  

LMN_LLM?=DB44.DBD28 //输出下限  

PV_FAC?=1.000000e+000  

PV_OFF?=0.000000e+000  

LMN_FAC?=1.000000e+000  

LMN_OFF?=0.000000e+000  

I_ITLVAL?=0.000000e+000  

DISV?=0.000000e+000  

LMN?=  

LMN_PER?=#TEMP3  

QLMN_HLM?=  

QLMN_LLM?=  

LMN_P?=  

LMN_I?=  

LMN_D?=  

PV?=  

ER?=  

AN M 56.3  

JC M001  

L #TEMP3  

T DB44.DBW 4 //PID自动时,将  

PID输出结果送到输出存储地址  

M001? NOP 0  

L DB44.DBW 4  

T PQW 522 //调节阀输出  

程序的前半部分主要是处理设定值、反馈值并送入相应的中间变量,同时将当前阀门开度送入PID模块,以保证手/自动的无扰动切换。  

在调用FB41时,需要给各参数赋值。为方便调整,重要参数都存在DB块中,用户可在上位机上随时修改(需输入密码)。  

从上面的公式中可以看出,参数P(GAIN)与P、I、D作用都是成正比的,它决定了PID回路的灵敏度,即调节速度的快慢;I参数越大,积分作用越弱,而D参数越大,微分作用越强。不能单靠理论计算来确定PID参数,唯一的衡量标准就是被控参数(温度、流量等)的精度和稳定度,所以在实际调试中,都是参照被控参数的实时曲线,反复观察分析,从而达到最佳的控制效果。  

2.2.3安全措施  

(1) 防止误操作  

①任何设定值都设有上、下限,即不允许输入“离谱”的数据。  

②重要设备的开、停,都需操作员确认。  

③运行中调整设定值,不能直接输入数据,而是按“+”、“-”键,逐步增减。  

(2) 报警功能  

每个被控参数都设有上、下限报警值及偏差报警值,当运行数据超出这些值时,系统将发出声光报警,提醒操作者。对于特别重要的参数,变化过快,也在报警之列。  

(3) 逻辑连锁  

①当燃料压力或助燃风压力开关动作时,关闭安全阀;当被控参数(温度或压力)突变时,关闭安全阀。  

②当设定值和过程值的偏差大于安全范围时,相关PID回路切换到手动,以保持输出不变。  

③当安全阀关闭时(每次生产间隙都要关闭),系统自动将相应的调节阀开度设为零,同时将相应的PID回路切换到手动,以防再次开安全阀时,出现燃料外溢。  

3 结束语  

整个控制系统,无论是软件硬件的配置,还是软件的设计,都充分地考虑了系统的工艺特点,各种保护措施完备,操作灵活、控制精度高。  

参考文献:  

?1? 西门子S7-400硬件手册.  

?2? 西门子STEP7编程手册.  

  

附表1自动控制回路表
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 22:55 , Processed in 0.058763 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表