基于PLC的卧式储罐内介质体积的测量方法

2015-02-06 08:41李红升
天津职业院校联合学报 2015年11期
关键词:数据类型卧式封头

李红升

(天津渤海职业技术学院,天津 300402)

基于PLC的卧式储罐内介质体积的测量方法

李红升

(天津渤海职业技术学院,天津 300402)

介绍了针对标准椭圆封头卧式地埋储罐,利用液位高度的变化获知其内所装介质的体积和重量的计算式,并如何运用西门子S7300系列PLC对计算式进行编程,以便快速、方便的获取体积或重量数据,并应用到自动化控制工程上,用以测量和监控。

储罐;卧式;PLC;梯形图;液位

一、引言:

在工业自动化控制和生产过程中,卧式容器很多,其内部液面/界面可通过测量仪表直观获得。但是想实时获取其不同液位高度下所含介质的体积、重量就非常不方便,尤其是地埋储罐更为困难,本文集中介绍了在基于西门子S7300PLC的基础上通过采集地埋储罐的液位信号,经过运算快速、准确获取其介质实时体积和重量的方法。

在采用西门子S7300 PLC控制的燃油设备供油系统中,常见的也是最多的卧式地埋储油罐的液位高度可以很容易实现监控的,但是监控、获取体积或重量的参数就要颇费周折了。因为容器的特殊性,其所含介质高度与此种储罐体积不是线性关系,如果用直接测量体积和重量的方法,且不说成本造价很高,也不方便实施,下面以储罐半径R=1米,液位H是读进的实时液位数值(单位米),储罐长度L=4.11米为例,介绍一种利用S7300PLC通过采集液位高度信号,通过梯形图或STL语句表示,来运算和实现测量体积和重量的方法。

二、分析卧式储罐的结构特点

椭圆形标准封头卧式储罐见图1,其几何容积由圆筒部分容积V1,和封头部分容积Vf两部分组成。用卧式罐储存液体时,储液体积也由圆筒部分储液体积和封头部分的储液体积相加而得。即V总=V1+Vf

图1 卧式储罐储液高度、体积示意图

三、卧式储罐圆筒部分储液截面的解析

圆筒的横截面为一圆形(见图2),其储液的水平面截圆形一部分,构成一扇形,那么计算出圆筒部分储液面的扇形的面积减去△OAB的面积再乘以圆筒部分(包含椭圆封头的直边长度)的长度L1,即得圆筒部分的储液体积。

图2 圆柱体部分截住面示意图

已知:R—储罐的内半径(单位m) H—液位高度(单位m) L1—圆筒长度(包括封头直边高度)(单位m)

假设液位高度为H时,介质的体积为V总(m3),其中圆筒部分的体积为V1(m3),椭圆封头部分的体积为Vf(m3)。即V总=V1+Vf

1.先求V1如图2所示:COSθ=(R-H)/R,则2θ= 2 arc COS(R-H)/R

因为扇形弧长=2×角弧度×R=(arc COS(R-H)/R)2R,又因为S扇形=扇形弧长×R/2

所以,S扇形OAEB=(2RarcCOS(R-H)/R)×R/2 = R2(arcCOS(R-H)/R)

2.第二步再求椭圆封头部分的体积Vf,由于两个标准封头可以看做是合为一个椭圆体,如图3所示,长半轴为R,短半轴为R/2,

图3 椭圆封头部分合体示意图

椭圆方程为:X2/(R/2)2+Y2/R2=1

由于︱Y︱=︱R-H︱,求得X2=1/4(2×R×H-H2)

3.第三步求V总=V1+Vf

四、计算公式确定后,以西门子S7300(CPU315)PLC为例进行运算

首先在STEP7的编程环境中新建一个工程文件,然后进行组态,在“block”中建立3个模块,再调用PLC的一些M寄存器、暂存器等以及运算功能就可以实现将上述公式程序化了,建立的程序块和功能块如下:

程序循环组织块OB1(一般用向导新建工程时OB1默认建立),OB1是编制主程序的地方,主要工作是CPU的操作系统定期执行OB1。执行OB1后,操作系统将再次启动它。完成启动后,将启动OB1的循环执行。可调用OB1中的其它功能块(FB、SFB)或功能(FC、SFC)以及DB数据块。OB1组织块操作过程是执行OB1后,操作系统发送全局数据。重新启动OB1之前,操作系统会将过程映像输出表写入输出模块中、更新过程映像输入表以及接收CPU的任何全局数据。

功能模块FC105,FC105是工程数值转换功能块。主要功能和使用是接受一个输入的整型数值,并将其转换为以工程单位表示的介于下限和上限之间的实型值,将结果写入输出寄存器。工程数值转换功能块的使用计算如下等式:

OUT=[(由整型数转换的浮点数型的输入值-K1)/(K2-K1)×(上限值-下限值)]+下限值

当输入的使能端为“1“时,工程数值转换功能块FC105被激活,则执行工程数值转换功能。

当输入信号端BIPOLAR为“1”时,常数K1和K2为双极性,即输入整型值介于-27648与+27648之间,因此K1=-27648.0,K2=+27648.0。

当输入信号端BIPOLAR为“0”时,常数K1和K2为单极性,即输入整型值介于0与+27648之间,因此K1=0.0,K2=+27648.0

如果输入整型值大于K2,输出(OUT)将钳位于上限值,并返回一个错误。如果输入整型值小于K1,输出将钳位于下限值,并返回一个错误。

通过设置下限值大于上限值可获得反向标定。使用反向转换时,输出值将随输入值的增加减小。

数据块DB2作为共享数据块,它的作用是为用户提供一个保存数据的区域,用户可以根据需要设定数据块的大小及数据块内部的数据类型,它的数据可以被任何一个块读、写使用,数据可以断电后长期保存。

(一)结合上面公式调用PLC运算功能编制运算程序

先是使用液位变送器将液位H的高度模拟量信号送至PLC模拟量模块的外部输入通道,通道地址是“288”,数据类型为一个字(16位)即PIW,经过模数转换后,然后调用传送指令“MOVE”,将地址为“PIW 288”地址的内容内部M存储区(断电丢失),地址为“MW16”,注意输入的数据类型是一个字W,输出的数据类型也应为一个字W。再调用FC功能块,先激活“使能”输入端,设置上下限为0-2米,数据类型为浮点型,再定义输入地址为“MW16”,因转换后为浮点型数据所以输出地址为“DB2.DBD36”, 输入信号端BIPOLAR定义地址为M255.0选择为低电平“0”,数据类型为布尔型,保证其是单极性数据。这样读入的液位高度信号就能以数字量形式送入并存在预先建立的数据块DB2中的DB2.DBD36地址空间中,梯形图程序如下:

(二) 由于FC105功能块已将MW16的数据输出转为浮点型数据并存在DB2.DBD36中,故以下使用均为浮点型数据类型。

已知条件储罐半径R=1米,液位H是读进的实时液位数值(单位米),储罐长度L=4.11米

1.计算算式R2arcCOS(R-H)/R。方法是:先将最终的复杂公式分解为一个个小的算式,再根据算式要求调用编程组态中的相应运算指令,完成运算。即(1)先调用求“乘方”指令“SQR”,将半径为“1”的浮点数定义该指令的输入端“IN”,输出返回值赋给数据类型为浮点型地址为MD100的寄存器,完成“R2”的运算。(2)在调用“减法”指令,将半径R为“1” 的浮点数定义到被减数输入端“IN1”,再将液位高度数据H存储的地址“DB2.DBD36”作为减数定义给输入端“IN2”,输出返回值赋给MD104;调用“除法”指令,把前面“R-H”返回值地址MD104定义给“除法”指令被除数输入端“IN1”, 将半径R为“1” 的浮点数定义到除数数输入端“IN2”,输出返回值存到给地址为MD108的寄存器中;调用“反余弦”指令,将存有“(R-H)/R”运算数据的地址MD108定义到“反余弦”指令输入端“IN”,输出返回值存到给地址MD112中,至此完成了“arcCOS(R-H)/R”和“R2”的分步运算;最后,调用“乘法”指令,将存有“arcCOS(R-H)/R”和“R2”的运算数据的地址MD100和MD108分别赋给“乘法”指令的乘数和被乘数输入端“IN1/IN2”,返回值存到MD116地址中。至此,MD116地址中就存有算式“R2arcCOS(R-H)/R”运算的结果了。转换为PLC的STL程序如下:

PLC的STL程序如下:

4.将椭圆体积算式(π/2)×(R×H2-1/3×H3),转换为PLC的梯形图程序。椭圆体积的运算编程与前述基本相同,将算式分别拆分成简单独立体,然后再组合,需要注意的就是“M寄存器”的地址编号不要重复,不要用错存储不同数据的寄存器,求3次方时先做“乘方”运算,在做一次“乘法”运算,圆周率应该是常数赋值,此算式的运算结果存到MD176寄存器中备用。

编程提示:地址分配时注意要求是“字”输入或输出的占两个字节如MW,“双字”或“浮点型”输入输出的占四个字节如MD或DB2.DBD40,地址编号上占两个字节的隔两个数,比如MW16那么下一个字地址就是MW16,占四个字节的隔四个数,比如MD140或DBD2.DBD40那么下一个字地址就是MD144或DBD2.DBD44.

通过上述运算得到体积量,再根据所装介质的比重,就可算出重量。因此,此种储罐的体积运算方法实现容易,工程造价低廉且实用,经过实际应用,其测量计算准确性较高,非常便于自动化控制工程上的使用。

[1]胡树武.卧式储罐液位高度下装载容积的计算[J].医药工程设计,2002,(02).

[2]高础石.卧式椭圆封头贮罐液位高度与体积的关系[J].化工设计与开发,1994,(02).

[3]赵文兵.卧式储罐不同液位下的容积简化计算公式[J].安装,1996,(06).

[4]郭明万,张爱萍.卧式贮罐的液位高度与体积的关系[J].江汉石油科技,1996,(01).

[5]王妍玲,李明.椭圆形封头卧式贮罐液位与容积对应关系的建立[J].齐齐哈尔大学学报,2002,(01).

Measurement of Agent Volume in Horizontal Tank based on PLC

LI Hong-sheng
(TianjinUrbanConstructionofTianjinUniversity,Tianjin300221)

the paper analyses the standard elliptical head horizontal buried storage tanks and form a formula to calculate the volume and weight of the medium inside based on changes in liquid height. It also introduces the method to apply Siemens S7300 PLC to program the calculation method so as to obtain the volume and weight data which will be used in automatic and control engineering for measurement and monitoring.

tank; horizontal; PLC; ladder diagram; liquid level

2015-04-03

李红升(1970-),男,天津渤海职业技术学院讲师,主要工作和研究方向:机电、自动化、仪表等成套系统研发及教学。

TP29

A

1673-582X(2015)11-0073-06

猜你喜欢
数据类型卧式封头
卧式37kW-2极异步电机槽特性分析
椭圆弧加圆弧型封头最小有效厚度计算公式论证
PS卧式转炉送风系统优化与实践
搅拌车封头开孔及焊法兰的工艺探讨
如何理解数据结构中的抽象数据类型
某中大型SUV摆臂卧式连接支撑优化设计
CM6132型卧式车床控制系统的PLC改造
基于SeisBase模型的地震勘探成果数据管理系统设计
线上众筹产品的特征分析与研究
压力容器封头的有效厚度