(一)创建第一个统计项目

先创建各机组的 “正常运行时间” 统计。进入 “统计计算” 应用:

“+添加” 一个统计项目:

完善统计项目的属性:

统计名称/别名

统计名称用 “机组正常运行时间(每日)”,最后这个 “(每日)” 的意思是,这是一个每日都会发生的统计;

别名用 “DailyNormalHours”。统计别名最好用英文标注,有可能未来需要在任务程序中引用。

计算周期/统计周期

计算周期,在某些版本中,可能看到的会是 “统计周期”,实际上都是一样的。

我们选择 “每1天”,意思是这个统计时段是每天,也就是从每天的 00:00:00~23:59:59 这个时段。后面的 “0 0 0 */1 * *” 是 “每1天” 的对应标记。

这个标记方法的6个数字分别代表:

秒:0~59;
分钟:0~59;
小时:1~23;
日:1~31;
月:1~12;
星期:0~6(0代表周日)。

统计FV

就是需要统计的对象变量,这里的有功功率用的是S29。

需要说明的是,这里只能填写一个对象变量,也就是只能填写一个FV 。意思是说,MixIOT“统计计算”的统计,实际上是单个FV的统计。如果统计需求涉及到的多个FV ,那么就要创建多个统计项目。

结果精度

就是统计结果保留小数点后多少位。

统计方法

就是统计用的统计算法。

MixIOT “统计计算”提供的统计方法有:

这些实际上也都只是最基本的统计方法。事实上,MixIOT 体系也在不断完善和丰富其他各种统计方法,以适合更多统计计算的场合需要。

这个统计要计算的是 “机组正常运行时间”,所以选择的统计方法是 “时长”。

“时长” 统计方法对应有一个参数选择:

(1)“计时单位”选项里面,选择“分钟”,意思是这个统计结果单位是“分钟”;
(2)“计时条件”选项里面,选择[a, ),意思是一个开区间,也就是FV≥390;
(3)“是否补偿”选项,选择“否”,这是一个是否使用补偿算法的选项。如果统计数据算出来的结果总比真实结果有一定的偏差,那可以启动补偿算法。补偿有“正补偿”和“负补偿”。

条件模型

条件模型是什么样的数据才能参与统计所需要满足的条件。在这里,我们暂不对条件模型做选择。

对象

这里 “对象” 的意思是哪些对象将使用这个统计项目。换句话说,就是这个统计项目,将对哪些对象进行统计。

需要清楚的是,我们勾选的依据,是“哪些对象需要做这个统计?”,同时,“这些对象能不能用这个统计项目?”。

一般来说,只要这个对象有相同的 FV(S29),就可以用这个统计。

在这里,我们勾选了全部“机组”对象,尽管这些对象都不是同一个映射表,但这些机组对象的FV几乎是完全一样的。

不管是佳华电站,还是其他电站,单机机组都有S29(有功功率),而且也都需要做这个“机组正常运行时间”的统计。

完成了这些设置,就可以确定保存这个统计项目。

我们注意到,创建好的这个统计项目,目前是“停止”状态。

我们可以在统计项目的操作菜单,启动这个统计项目。一旦这个统计项目启动,它就会按规定的统计周期(计算周期)输出统计结果。

一个运行中的统计项目,随时都可以将其 “停止”。一旦统计项目停止,该统计项目就不会再进行任何统计计算,也不会有任何结果输出。

统计项目操作菜单里面有一项叫 “重算”,这是一个手工操作项,让这个统计项目重新执行一次。

(二)统计项目结果

电站单机机组正常运行时间统计项目创建完成后,还需要手工去启动该项目的运行。

这个是日统计,所以正式的统计结果会在次日零时后出来。我们看到的统计的结果是这样的:

在这个统计结果的视图列表中,该统计项目“机组正常运行时间(每日)”对应于每个机组对象都有一个统计结果。这是因为在创建这个统计项目的时候,就指定了这个统计项目要对这些对象进行统计。这些信息都可以在统计项目详情中随时查看到。

该统计项目的结果也可以在统计项目详情中看到:

(三)创建发电量统计项目

现在来创建第二个统计项目,机组的每小时和每日的发电量统计:

如果回看机组对象的FV,实际上并没有能够统计发电量的变量。而“电站”的FV反而有。这是佳华电站对象的FV:

其中的P1~P5 ,是佳华1#~5#机组的发电量FV。

P1~P5 这5个FV的值,对应的是机组发电量计量表的读数:

要计算每台机组的发电量,就是通过这些发电量表的读数来计算。

这种计算实际上我们是非常熟悉的,比如家里的电表、水表、煤气表,每个月都是由供电局、自来水公司、煤气公司来抄表,算出每个月的用量,再来向用户收取相应的费用。这种计算就叫“读数转用量”,实际上也是MixIOT标准的统计方法之一。

如果读数是增加的,这种读数转用量统计叫“正计数”读数转用量统计;如果读数是减少的,那就是“倒计数”读数转用量统计。倒计数也很常见,比如同样是电表、水表、煤气表,很多地区都是预付费,先要买多少度电、多少吨水、多少立方煤气,这些计量表上就出现这个数字,这些数字会随着使用越变越小。

先看怎么通过P1来计算佳华1#机组的发电量。

P1是典型的正计数“读数转用量”

先为“佳华1#机组”创建发电量统计。注意到我们的需求里面,统计是小时和日,也就是每小时和每一天都来一次统计。所以,实际上这是两个统计:每小时一个,每日一个。

确定保存这个统计项目:

如果要让这个统计项目开始工作,则需要手动在操作菜单中启动。

这个统计项目要特别注意的地方是,统计的内容(发电量)是机组的,但统计对象用的却是电站。这是一个很典型的用例,我们需要规划好对象,这样后续所有的工作,就无需拘泥于对象了。

同样,我们创建佳华2#~5#机组、奔腾1#~4#机组、粤海1#~3#机组的发电量统计。

这些统计项目的创建也都很容易,选择“佳华电站对象”,统计FV“P1~P5”就是佳华1#~5#机组的发电量统计:

同理,选择“奔腾电站对象”,统计FV“P1~P4”就是奔腾1#~4#机组的发电量统计;选择“粤海电站对象”,统计FV“P1~P3”就是粤海电站1#~3#机组发电量统计。

这样就全部完成了单机机组每小时发电量的统计项目:

这里要注意,每个统计项目,都是一个机组的统计,这与之前的统计项目形成了鲜明的对比。因为前一个统计项目是输出12个机组正常运行时间的统计结果。

我们也许在想,如果当初设计对象的时候,把机组发电量计量表读数也映射成机组对象的一个FV ,那么,现在只需要一个统计项目,也许就可以输出所有机组的统计结果。但其实是不行的,为什么呢?我们把东西列出来,你可以思考:

另外,这还只是每小时发电量的统计,还有每天的发电量统计。那该怎么办呢?再去创建每天发电量的统计项目?

其实,每天发电量的统计,就是全天24小时每小时统计数据的一个求和计算。如果再去弄一个每日的统计,那么,就会产生大量的重复计算。

我们先把机组每天发电量的统计放一下,到时候看看怎么弄。

(四)统计项目脚本

前面在创建统计项目的时候,并未涉及到统计项目的脚本。但如果打开统计项目详情,是可以看到该统计项目的脚本:

这个脚本与设置是一致的:

事实上,MixIOT 体系中所有应用,每个项目最终其实都是一个脚本,就跟显示板一样,再复杂的显示板最终也是一个脚本。这些脚本可以由各种不同的方式形成,可以直接写,也可以由工具生成,也可以由交互方式生成(也就是所谓“界面化”方式)。

(五)创建计算项目

每个电站每台机组每小时发电统计算是出来了。那么,电站每小时总发电也就是一个加法,这就可以在“统计计算”应用里面,创建计算项目来实现。
进入计算项目版块:

创建计算项目:

确定保存:

(六)统计需要更多的知识

再看看第三个统计需求,这是关于燃气消耗的统计。

首先我们要弄清楚,这个统计需求的意义是什么。

三普能源集团(SERG)的瓦斯电站,机组燃气就是煤矿矿井直采加压的瓦斯气体。因为是直采,所以燃气条件非常不稳定,简单地说,就是瓦斯压力变化大,浓度变化大。机组的发电量,取决于机组能不能在高设定功率上稳定运行。而机组的稳定运行,又取决于燃气条件。

这个统计最终的意思,其实就是弄清楚每小时燃气的有效甲烷量多少。还是要从佳华电站对象的FV来看:

下面这张图可以很好的示意:

对佳华电站而言,实际上可以利用干管的压差、温度以及CH4浓度,计算出每个小时的燃气甲烷(CH4)的当量:

那么,如何计算干管燃气流量呢,我们可以查找一些资料:

这个计算为什么是“当量”?因为有很多常量不一定有很准确的值,但它们基本不会变,所以,我们就把这部分的值固定下来。这样算出来的值,就是“当量”。

从上面近似计算方法,不难推导出来这样一个结果:

其中,Q(t) 是经过干管的在t时刻的燃气总流量;C是瓦斯气体流量常数;A是干管管道截面积;ρ是瓦斯燃气密度。FP(t)和 EP(t)分别是干管前端和末端的压力,压差 △P = FP(t) - EP(t)。

这个时刻的瓦斯甲烷含量是 GD(t),所以,t时刻通过干管输送的瓦斯气体燃气总当量为:

这里,QE(t) 就是在t时刻的燃气当量。

那么,每小时的燃气当量就应该是 QE(t) 在 t的每小时区间的数值积分:

这就是说,如果定义:

为了简便,我们假设:

那么:

这样一来,如果能把 qE(t) 变成一个对象的变量,那么这实际上就是一个每小时统计区间数值积分。

而这在 MixIOT 里面,是一个很容易的事情。其实我们无需对原有的对象(映射表)进行修改,只需要去创建新的一个对象。

我们为佳华电站创建一个新对象,“佳华电站燃气当量”,映射表是这样的:

这个映射表,有一个FV,“qE”,虽然前面有 “$AprusID-1”, “L1_1_131”,但这个FV的值是后面的表达式算出来的。

先创建映射表:

确定保存。

再创建对象:

选择数据终端:

这里需要说明的是,脚本中的数据终端,实际上是一个马赛克的除非。

确定保存该对象:

这个时候,佳华的燃气当量对象算是创建好了。

这样,每小时燃气当量的统计,实际上就是这个对象的统计,而统计的方法就是 qE 这个FV的数值积分。

我们来创建项目:

确定保存该统计项目:

这样,这个统计项目就算创建了。

再来看一下后面关于“指标性”的统计需求:

单机组达产率这个指标,实际上就是机组每天正常运行时间,占全天时间(24小时)的比例。所以,只要能把每天的正常运行时间算出来,这个机组日达产率就很容易算出来了。单机组日达产率能算出来,电站整体的日达产率也随之能算出来。

单机效能指标,是评价电站在相同燃气当量条件下发电能力的差异。

每小时效能可以用一个公式来表示:

这对整个电站是容易计算的,因为燃气当量只能计算整个电站的,但单机效能实际上是无法评价的。所以我们可以创建一个计算项目,这样每小时的电站的效能指标就算出来了。

创建电站效能计算项目:

确定保存后:

这两个创建的计算项目,都涉及到统计项目。这里需要说明的是,这些统计项目的统计周期必须是相同的。统计周期不一样的统计项目,是不能放在一起计算的。

文档更新时间: 2024-06-29 23:49   作者:Mixiot