梁 彤
(太钢工程技术有限公司,山西 太原 030009)
PLC是可编程控制器的简称,是目前应用最广泛的基础自动化装置,其应用领域覆盖了过程工业、制造业和机电一体化设备,并在不同的应用规模上都获得了较好的性能价格比。SIEMENS PLC S7-300/400则更是在中国的冶金行业得到了广泛应用,本文结合自己的编程体会谈谈2个实例的应用。
很多情况下,尤其是针对一个大的工艺系统,编程人员要想清晰自己的逻辑思维,同时方便于以后的生产调试及维护,首先应简化程序结构,即对生产设备和控制功能加以分类整理。在工业过程中,按设备类别可分为高压风机、互为备用自投的低压风机、水泵、带予警铃的输送机、双向旋转阀、烟道挡板及各单(双)动作的气动阀等;按启动方式可分为直接启动、软启动、变频启动等;按数据处理功能的不同分为带延时报警输出的模拟量处理、流量累积、设定值公式计算、检测值N 秒N 次取平均值、检测值提取最大或最小值等。然后对这些设备和功能分别建立通用的可分配参数的功能块(FC、FB)。这些块的输入输出使用形式参数,调用时则赋予实际参数。上述两种功能块的区别在于调用时是否有参数的传递,而其内部功能却没有变化。如果有一些变量在块调用结束后还需要保持原值,则必须被存储为静态变量,而静态变量只能被用于FB块中,如西门子的PID 调节块FB41,它们拥有自己独立的背景数据块。其特点是这些块只需生成一次,只在用户存储器中保存一次,却可以被程序无限次调用。
以活性炭法烟气脱硫脱硝工艺为例说明最大值的提取。从安全生产的角度出发,内部充满活性炭的吸附塔的温度监测至关重要,每座塔沿垂直方向分左右共设置有上、中、下6支热电偶温度检测装置,每支热电偶沿水平方向采用了8点检测模式,即每座塔共计有48个温度检测点,当其中有一个点超越温度上限时,系统停机。为缩减程序的循环时间,没有必要对每个温度检测点都进行越限判定,同时,在总貌画面上,为方便操作工监控,程序设计了8点温度最高值筛选的FC标准功能块,即每座塔只显示一个最高的温度点进行越限红色闪烁报警。当然在吸附塔温度画面上,6座吸附塔共计288个温度点都有独立体现,并且可按30℃一分段由浅至深予以不同的色彩显示,在热负荷试车时,非常直观地反映出了6座吸附塔内活性炭的升温顺序及升温速率。该功能块的具体建立过程如下。
(1)首先定义临时变量,提取最大值块的变量声明见表1。
(2)用语句表STL编程如下:
表1 提取最大值块的变量声明表
(3)调用该功能块,赋予如下实际参数:
CALL FC 202
IN1:=DB11.DBD0
IN2:=DB11.DBD4
IN3:=DB11.DBD8
IN4:=DB11.DBD12
IN5:=DB11.DBD16
IN6:=DB11.DBD20
IN7:=DB11.DBD24
IN8:=DB11.DBD28
OUT:=DB18.DBD44
模拟量处理使用语句表编程会使程序短小精干、易于梳理,而如果是开关量抽取,则使用梯形图编程会更为直观,且便于调试。例如遇到5个相同的机械设备,其中随机有4个出现故障时全线停车,如果采用梯形图LAD 则可以作成如图1所示梯形图;或者采用故障累加计数,越限输出的方式进行编程,但是调试不太直观。
图1 梯形图
冶金行业原料输送及配比中,大量用到皮带输送机、刮板及振动筛等装置,此类装置一般都要求有欠速保护,通常我们建议采用PNP 或NPN 式接近开关,该接线简单、便宜、便于维护。除振动筛的欠速开关可能由于频率太快,其信号需先经过计数转换器转换为低频脉冲再引入模板外,其他脉冲信号如果设备转速不高则可以全部直接引入数字输入模板。为方便生产调试及今后维护人员进行参数整定,程序设计了专用的FC打滑判定标准功能块,即某设备在设定的刷新时间内,如果其转速小于设定的计数值,则输出一个故障信号,停止该设备运行。通过调用此功能块,维护人员可以很直接地看出该设备当前的故障整定值,并可以很方便地按工艺设备的要求进行适当的参数修改。实践证明,在设备调试期,该方法非常实用。其功能块的具体建立过程如下:
(1)首先定义临时变量。欠速打滑判定块的变量声明见表2。
(2)用梯形图LAD 或语句表STL编程如下:
(3)调用该功能块,赋予如下实际参数:
CALL FC 113
IN1:=I26.5
PULSE_No:=3
UNIT_RUN:=I49.1
SELECT_AN:=DB5.DBX60.6
TIMER1:=T1300
TIMER2:=T1301
LOAD_T2:=S5T#5S
TIMER3:=T1302
TIMER4:=T1303
Cn:=C6
IL_STOP:=DB33.DBX0.4
TMPD0:=DB33.DBW100
TEMP1:=DB33.DBX0.0
TEMP2:=DB33.DBX0.1
TEMP3:=DB33.DBX0.2
TEMP4:=DB33.DBX0.3
表2 欠速打滑判定块的变量声明表
这段程序的定义即为设备稳定运行30s后,如果接线开关在5s内所产生的脉冲数小于3个,则视设备为打滑欠速,保持10s的控制输出用于联锁停机。对于不同的设备,调试人员只需修改#PULSE_No和#LOAD_T2这两个变量的实际参数赋值即可。
大多数常规用到的控制设备都非常适合于建立标准功能块,比如类似皮带输送机等设备在启动之前,出于安全考虑,通常都要求在现场先进行响铃警告,及时提醒员工规避风险,设定时间后,再行启动电机,这样可以将两个设备的控制打包到一个FC 块中。综上所述,建立在FC/FB标准功能块上的程序框架,可使所编制的程序精干利落、条理清晰、易读易懂、更易于逻辑错误的查找,值得广大编程人员进行不断的自行开发和利用。