OPC DA2客户端编程实现

EnvSafe.Comm目前有4种OPC DA2客户端的桥接实现,分别利用了不同的中间件:

  • EnvSafe.Comm.OPCDA,基于OPC Foundation Data Access Automation 2.02。该基金会发布的中间件是一个COM组件,需要在运行的计算机上部署和注册,但是部署注册过程十分简单。OPCDA模块与此COM组件进行互操作,实现OPC客户端功能。
  • EnvSafe.Comm.OPCNET2,基于OPC Foundation OPC.NET API Redistributables 2.0。该基金会发布的中间件是基于.net framework的程序集套件,套件调用系统组件(Netapi32,kernel32,ole32,oleaut32),并且需要事先安装软件以提供必须的COM组件。
  • EnvSafe.Comm.TechnOPC,基于Technosoftware的.net framework中间件早期版本1.2。第三方中间件为付费软件,需要事先安装软件以提供必须的COM组件。
  • EnvSafe.Comm.ClientACE,基于Kepware的ClientAce开发套件。第三方中间件为付费软件,需要事先安装软件以提供必须的COM组件,且需要运行时许可证。

经过以上说明,可见除OPCDA模块外,都需要安装前置软件,而这些前置软件在不同的Windows版本中可能存在兼容性问题。

已知料斗尺寸及物料所占体积,求料斗中料位高度

工业行业中,带有料斗的容器非常常见,例如各种料仓、除尘器等。在进行粉尘爆炸防护设计时,需要计算容器的容积。对于常存定量物料的料斗,可酌情从容器有效容积中减去物料的部分,以降低防护要求,节省成本。在进行设计计算过程中,不仅需要知道物料的容积,还要获取物料在料斗中的高度(用于计算火焰传播距离以及火焰体积,请参考国家标准GB/T 15605-2008)。

设备料斗的几何尺寸是便于获得的。可以从设备随附说明、设计文件直接得到精确尺寸,当无法获取这些文件时,也可进行现场测量。对于现有设备,可以根据工况要求及安装料位计的方式获取物料高度。对于设计阶段设备,可能仅具备工艺要求,给定常存物料的体积。此时为进行防爆设计,需要计算物料高度。

获取物料高度的问题可归结为一个空间几何问题。料斗可视为倒立的锥体在高度方向上截取的一部分,为一个锥台。而物料所占据的部分料斗在高度方向上再截取的一部分,也是一个锥台。视具体设备,锥台可能是圆台(圆锥形料斗)或者方台(矩形截面料斗)。为方便计算,创建倒锥体几何模型,锥体顶点为坐标系原点,高度方向向上。考察某高度h处锥体截面的面积S与高度h的关系,以下表格列出两种锥体的情况。

圆锥 方锥
图示
公式

可见,高度h处锥体截面的面积S均与h的平方成正比,这一点与截面形状无关。在面积S、系数C均已知的情况下,便可求得h。将料斗和物料部分加入模型,S1、S2分别为料斗的上下表面积,Sm为料位处截面积;类似的定义各截面的坐标系高度,并标记料斗段高度差为D,物料段高度差为d。

由于料斗尺寸已知,则可通过S1、S2以及D计算得到系数C。

将C代入得到h2

设已知物料体积为Vm,则根据锥台公式进行推导,可求得hm

hm与h2做差即为所求。

GB/T 15605-2008 泄压导管计算的说明

1 标准公式

用于计算泄压导管对容器泄压影响的公式为 GB/T 15605-2008 中第 7.2 节式 16、17、18。为简化讨论,下面以式 16 进行说明。

式 1

式中:

  • 为考虑导管后的最大泄爆压力(最大受控爆炸压力);
  • 为未考虑导管时的最大泄爆压力;
  • A 为未考虑导管时的泄压面积。
  • l 为泄压导管的显著影响取用长度;
  • V 为容器容积。

其中“未考虑导管的”A 需要首先经标准第 5.2 节的式 4 ~ 式 8 、附录 A 的式 A.1~ 式 A.8 计算确定。可将两次计算依次称为过程1(无泄压导管的泄压面积计算)过程 2(泄压导管压力抬升计算)

对于特定容器的过程 1 和过程 2,容器的工艺类型、几何参数、粉尘爆炸性参数均保持相同,因此归纳标准计算公式,可得到以下简化关系:

式 2

以及

式 3

并且有如下规律:

  • 在式 2 中,A 负相关;
  • 在式 3 中, A 均为正相关。

若考虑函数 f1 可逆,则式 2、式 3 可表达为:

式 4

以及

式 5

需要注意,以上各式中,f1f2f3 容易计算,f4难以计算。

2 判定条件

判断泄压导管方案是否可行,最终判定条件为:计算得到的导管情况下最大泄爆压力小于或等于容器设计强度。即:

又基于 式 1可知:,因此有:

式 6

在给定导管长度的情况下进行泄压所需面积的计算,判定条件是否满足基于的值,可考察下几种求解方法:

  1. 选取一个小于 p,根据 式 2 、 式 3 计算得到,此过程中得到 A。若满足判定条件,则 A即为所求, 可减小选取数值的差额,以提高精确度,求得所需面积的最小值。若不满足判定条件,减小选取的值进行计算,直至满足条件。
  2. 选取一个较大的 A,根据 式 4 、 式 5 计算得到。若满足判定条件,则 A 即为所求,可减小 A 的取值,以得到满足判定条件的最小面积。若不满足判定条件,则增大 A 的取值,直至满足条件。
  3. 直接取 ,根据 f4 的逆函数计算得到 A

由第 1 节的描述可知,以上3 种计算方法采用的公式均源自 式 2、 式 3,因此各算法彼此等价。考虑采用公式计算的难易程度,仅方法 (1)具有可行性。

3 计算失败的原因

给定如下算例:

  • 容器有效容积 4.18m3
  • 容器有效长径比 1.27;
  • 泄压装置静开启压力 0.0125MPa;
  • 粉尘最大爆炸压力 0.65MPa;
  • 粉尘爆炸指数 8.6MPa.m/s;
  • 泄压导管长度 2m。

若给定设计压力 0.02MPa ,根据第 2 节方法 (1),选取小于设计压力的,例如0.012MPa ,此时计算得到泄压导管影响下抬升的最大泄爆压力(最大受控爆炸压力)为0.025MPa ,依然无法得到满足判定条件的面积。应注意,0.012MPa 已然小于泄压装置的开启压力。

若给定设计压力为 0.03MPa,则当取=0.016MPa 时,计算得到=0.029MPa ,满足判定条件,相应的泄压面积为0.29m2 。可见容器强度的取值将影响泄压计算是否有解。

为考察容器强度与可选的之间的关系,按本节开始的算例, 考虑在调整的过程中其它参数不变, 计算得到的即在当前泄爆压力下对容器强度的要求。容器强度p变化曲线如下:

图中p变化近似于一条正相关线性曲线,对上述数据进行线性拟合,记设计强度为yx,得到以下函数:

式 7

可见对于此算例,设计强度至少要高于选取的最大泄爆压力(最大受控爆炸压力)约 0.01MPa,才能令计算满足判定条件。考虑最大泄爆压力应大于泄压装置的静开启压力,对于本例则x > 0.0125MPa,代入式 7得 y > 0.02546MPa ,此数值即为令当前泄压导管长度下可解的最小容器强度。

需要注意,对于不同算例(不同容器、粉尘、导管长度),拟合过程得到的斜率和截距不同,因此对应的最小可解容器强度也不同。

崩溃的脑壳