技术中心

实时数据库的基本功能

实时数据库对实时数据进行处理。处理的核心包括:量程变换、报警处理、IO数据连接、历史组态等基本功能。

量程变换

量程变换是对实时数据进行的初步处理。我们知道,计算机对于现场数据采集的信号都需要进行数字化,即把模拟信号如4-20mA,1-5V等信号进行数字化处理,变成计算机可以识别的信号。一般地,计算机通过A/D转换器把该信号转换成数字信号,根据其精度的不同,其数值范围也有所不同,如12位则是0到4095之间,16位则是0到65535之间。但是对于实际的物理量而言,A/D转换后的数据并不是实际现场的数据,需要经过一定的转换才能表示其实际的含义。实时数据库对采集的数据进行加工处理,把现场采集的裸数据变成有实际物理意义的数据。如采集的信号是一个温度量,采集值是2000,而对应的物理值可能是350度。因此,对现场采集的信号只有经过量程变换后,才有实际的物理意义。量程变换包括几种量程变换处理:线性变换,开平方,分段线性化以及自由运算。

线性变换

线性变换能处理实际物理关系和计算机采集量之间是线性关系的量。如对于一个压力信号其实际物理信号的区间在1.2MPa和1.8MPa之间,采用12位A/D转换器,其转换范围在0到4095之间。其对应关系是1.2MPa时计算机转换的结果为0,1.8MPa时计算机转换的结果为4095,中间为线性对应关系,则其转换关系可以用下图表示:

如采集的数据为2000,则其对应的压力为:

(2000-0)×(1.8-1.2)/(4095-0)+1.2 = 1.493MPa。

从以上计算可以看出,如果是要计算实际的物理量需要知道以下几个量:

1,量程上限:对应采集量范围的最大值,如上例的1.8MPa,在数据库中的参数名称是EUHi。

2,量程下限:对应采集量范围的最小值,如上例的1.2MPa,在数据库中的参数名称是EULo。

3,裸数据上限:计算机采集数据转换的上限。如上例的4095,在数据库中的参数名称是PVRawHi。

4,裸数据下限:计算机采集数据转换的下限。如上例的0,在数据库中的参数名称是PVRawLo。

5,原始测量值:计算机采集的数据的原始值,如上例的2000,在数据库中的参数名称是PVRaw。

6,测量值:经过量程变换后的值,在数据库中的参数名称是PV。

一个原始测量值经过量程变换后,其测量值对应的是物理值。其转换公式如下:

PV = (PVRaw-PVRawLo)×(EUHi-EULo)/(PVRawHi-PVRawLo)+EULo

如果其测量的原始值大于裸数据上限或者小于裸数据下限,则依然按上述公式计算,也就是说,在其以外区间,依然按量程区间的线性转换。还以以上实例为例,如果检测的值为6000,则测量值PV为:

PV= (PVRaw-PVRawLo)×(EUHi-EULo)/(PVRawHi-PVRawLo)+EULo

=(6000-0)×(1.8-1.2)/(4095-0)+1.2

= 2.079MPa。

在紫金桥数据库中,要进行量程变换非常容易,如下图:

只要选择量程变换的复选框,指定量程上限、下限以及裸数据上限、下限即可。

开平方运算

开平方运算是指对原始测量值进行开平方运算的算法。比较典型的应用是孔板差压和流量。差压式流量计是以伯努利方程和流体连续性方程为依据,根据节流原理,当流体流经节流件时,在其前后产生压差,此差压值与该流量的平方成正比。因为我们实际需要的是流量信号,因此,其流量是:

PV = K×SQRT(PVRaw)

K是流量系数,可以用线性量程变换得到;

PVRaw是测量的差压信号,SQRT(PVRaw)表示对差压信号求平方根;

PV是实际的流量值。

在紫金桥的软件系统中,可以选择一个选项开平方(SQRTFL)即可,如果选中了开平方选项,则系统自动对原始测量值进行量程变换。

分段线性化

在实际的应用中,测量的信号往往并不是完全线性的,但是从局部而言,存在着线性关系。如热电阻、热电偶等与温度的转换,从整个量程范围来说,并不是线性关系,但是就某一个局部而看,有比较好的线性关系。这时,可以把整个量程分成若干段,每一段都可以认为是线性关系。从理论上说,只要分的段足够的小,只要两个量之间的函数关系是有限个断点的连续函数,就可以用上述方法来表示两者的关系。

分段线性化的原理是把原始测量值的区间分成若干段,每一段都可以近似认为是线性变换,这样把非线性的关系用线性的关系描述出来了:

输入

输出

小于最小值大于最大值

等于最小值或最大值

刚好与某一点的输入值相等

等于该点的输出值

处在某两点的输入值之间

[y(i)—y(i—1)]*[x—x(i—1)]/[x(i)—x(i—1)] +y(i-1)

y(i)表示第i点的输出,y(i-1)表示第i-1点的输出,x(i)表示第i点的输入,x(i-1)表示第i-1点的输入,x分别表示输入量。


报警处理

报警是实时数据库必不可少的功能,当变量的数值或数值的变化异常时,将产生报警,以便操作者采取必要的措施。通过这些报警,用户可以及时方便地监视和查看系统的异常情况。报警是用户根据实际的生产情况,依据具体工艺,设定的一些要报警提示的条件。系统根据用户设定的条件,一旦满足所设定的条件根据事先的设定做出适当的反应。

系统一旦满足报警条件,则系统进入到报警状态,如果报警条件解除,则报警恢复,系统又进入到正常状态。如果系统在报警时产生同样类型的更高级别的报警时,则系统进入到高级别报警状态。如果报警发生时,现场操作人员对报警进行了确认,则系统会记录报警已经被确认了,否则,认为现场人员没有对报警进行处理。

根据其触发条件的种类,报警可以分成:

1)限值报警:是过程参数测量值越过报警限值时产生的报警。限值报警的报警类型有四种:低低限(LL)、低限(LO)、高限(HI)、高高限(HH)。这些限值介于变量的量程上、下限之间,它们的大小关系排列依次为低低限(LL)、低限(LO)、高限(HI)、高高限(HH)。变量测量值发生变化时,如果越过某一个限值,则满足限值报警条件,会产生一个报警。同时对于一个变量,在某个时刻,只能产生最近越限的那个报警,也就是说,对于一个报警条件只能产生一个报警,而不能同时发出多个报警。例如:如果变量值超过高高限,就会产生高高限报警条件,而不会产生高限报警条件。

2)变化率报警:模拟量测量值在单位时间内的变化量超过设定值时产生的报警,即测量值变化太快时产生的报警。当测量值发生变化时,就计算变化率以决定是否报警。变化率的时间单位是秒。变化率报警计算公式如下:(测量值的当前值 - 测量值上一次的值)/(这一次产生测量值的时间 - 上一次产生测量值的时间)取其整数部分的绝对值做为结果,若计算结果大于变化率(RATE)设定值,则发出报警。

变化率报警可以对要求系统不能急剧变化的量进行监控。如对于一个陶瓷炉的温度的升温过程,其工艺要求其升温过程是一个平缓的过程,如果系统升温过快会对产品质量造成严重后果。因此可以通过变化率报警来检测一个信号的变化过程。

与其它报警不同是,变化率报警与系统的一段时间的运行状态有关,它并非单纯的取决于系统某一时刻的状态。其它报警系统当前的值条件满足时,则产生报警,否则不产生报警。变化率报警的条件则是测量值一段时间的变化率的变化情况。

3)偏差报警:模拟量的值相对设定值上下波动范围超过一定量时产生的报警条件。用户在“设定值” 中输入目标值(基准值)。计算公式如下:偏差 = 当前测量值 - 设定值。

设定偏差报警的量是我们期待其能在某个状态上稳定的量。如对于一个罐的压力我们期待的压力是1MPa,其上下偏差不能超过0.15MPa,则系统的设定值为1MPa,偏差报警值是0.15MPa,当检测的压力大于1.15MPa或小于0.85MPa时,系统产生报警。

4)开关量报警:数字量只能有0或1两种状态。可以认为只有一种状态是正常状态,而另一种状态是异常状态。例如,正常状态值如果设为0,则当测量值为1时即产生报警。

根据报警的严重程度定义报警的优先级别,共有3个级别:低级、高级和紧急。这3个级别对应的报警优先级参数值分别是1、2和3。

低级报警:报警优先级比较低的报警。

高级报警:报警优先级很高的报警。

紧急报警:需要立即处理的报警。

报警的紧急程度可以根据用户自己的需要自己设定报警的优先级别。一般的原则是紧急报警控制在总报警量的5%左右,高级报警控制在30%以内。可以根据自己的工艺适当的调整报警的级别。

报警的几个相关概念:

报警死区(DEADBAND):是指测量值越过限值产生报警条件并发出警报后,测量值回头越过限值时并不立即解除报警,只有当其继续穿越死区设定限值时,才会解除报警。死区设定值是指在消除报警前,测量值必须降低到报警限值以下多少(如果是下下限或下限则在它之上的值)。例如,从报警状态返回到正常状态时,测量值不仅返回到报警限值内,而且还要返回到用户指定的死区设定值之上或之下。死区设定值防止了由于过程测量值在限值上下变化,不断地跨越报警限值造成的反复报警。

报警死区对于限值报警,如果是低低限或者低限报警,则报警死区是大于限值的一段区间。如果是高高限或者高限报警,则报警死区是小于其限值的一段区间。

报警死区同样适用于偏差报警。

变化率报警没有报警死区。

延时时间(ALARMDELAY):当设置了延时时间后,对于限值报警或偏差报警,当PV值超出限值或偏差值超出偏差设定值后,并不立即产生报警,只有当超过延时时间ALARMDELAY后,PV值仍超出限值或偏差值仍超出偏差设定值时,才产生限值报警或偏差报警。

设定延时时间的主要目的是防止系统的干扰信号。大家都知道,在数据采集过程中,干扰是不可避免的存在着,干扰与真实信号的区别是干扰往往是尖峰式的,维持时间比较短,而真实信号往往维持时间比较长。因此,如果有干扰信号,为了避免误报,我们通过延时时间来过滤。只有报警延续一段时间后,我们才认为报警是确实报警,否则不做处理。报警延时的时间单位是毫秒。

报警开关:是否使用报警。如果选择不使用,即使组态了报警,已经组态的报警也不会生效。

在系统运行时,可以设定某个点的报警开关,设定是否报警。

还有一些其他功能可以参考我们的使用手册.

 
 
联系我们 | 网站地图 | 版权声明 | 公司主站
版权所有(C)2007 紫金桥软件技术有限公司实时数据库开发部
地址:北京市海淀区清华东路金码大厦B座705室  (100083)
电话:(010)82838301
E-mail:lizl@realinfo.com.cn