樊艷艷,范欣欣,李 勇
(1.中國核電工程有限公司,北京 100840;2.中核控制系統工程有限公司,北京 102401)
統計報表在核電領域中應用非常廣泛[1-3],不管在生產控制層還是在管理層,統計分析報表都是必要的功能。隨著核電事業的迅猛發展,核電機組越來越大,對如何挖掘歷史數據來提高生產和管理效率的期望也更加迫切。
福建福清1&2 核電站制作報表的工具采用的是FOXBORO 公司的I/A 報表制作軟件Report Builder,該軟件可以制作實時日報、實時月報、實時班報、統計日報、統計班報和統計月報[4,5],但該軟件只能實現最大值、最小值、平均值或求和等簡單的功能,不能完全滿足電廠實際的需求。本文根據業主的需求,在EXCEL 上進行了二次開發[6,7],成功實現了電廠需求的統計日報和統計月報的功能。該報表自2014 年7 月投入使用以來,效果良好。
1)統計日報記錄24 小時的數據,每行表示1 小時,例如:
其中,9TEU001BA 表示排水接收槽;m3表示排水接收槽的容積單位;9TEU009MN 是排水接收槽的液位變送器;FEED 表示每小時的進料量;DISCHARGE 表示每小時的出料量。

圖1 電廠需求的統計日報Fig.1 Statistics daily report of power plant demand
2)對于每個小時,FEED 和DISCHAGE 的計算方法如下:
FEED 的計算方法是:統計9TEU009MN 每分鐘的液位差△h,如果△h>0,就認為是進料,將1 小時內所有大于0 的△h 加在一起,計算該小時的FEED 值。
DISCHARGE 的計算方法是:統計9TEU009MN 每分鐘的液位差△h,如果△h<0,就認為是出料,將1 小時內所有小于0 的△h 加在一起,然后取負數,計算該小時的DISCHARGE 值。如圖2 所示。
圖2 表示的是第1 小時內9TEU009MN 液位的變化,其中因0:01,0:02,0:03 的△h>0,所以是FEED,同理0:04,0:05,1:00 的△h<0,是DISCHARGE,從而得出圖1 中第1 小時的:
FEED=3.142×r×r×(1+1+1+...)
DISCHARGE=3.142×r×r×(2+1+...+2)
其中,r 為容器的半徑。這里認為排水接收槽是圓柱體,FEED 為進料的體積,DISCHARGE 為出料的體積。
I/A 自帶的報表軟件Report Builder 只能實時記錄每小時變送器信號的實時值,而從1.1 節可以看出,電廠需求的統計日報是需要通過統計該小時內每分鐘信號的變化得出的,所以電廠需求的日報不能直接由Report Builder 的實時日報生成。
Report Builder 報表軟件只能進行求最大值、最小值、平均值或求和的運算,而從1.1 節中可以看出,電廠需求的統計日報需要進行大量的比較大小、判斷正負、求和、乘積等復雜運算來實現,顯然Report Builder 無法滿足其計算要求。
由于Report Builder 無法滿足電廠的需求,因而本文提出了直接在日報里插入計算公式的設計思想,并提出了兩種方案。
方案一:
通過手動,在Report Builder 的實時日報中,錄入計算FEED 和DISCHARGE 的公式。
優點:
方法簡單,任何會使用EXCEL 公式的人員都可完成。
缺點:
1)輸入工作量大。
電廠規定每個統計日報有20 個測量信號,每個測量信號是以分鐘為單位統計進料量和出料量,則每個統計日報需要輸入60min×24h×20 個信號+24h×2(FEED/DISCHARGE)×20 個信號=29760 個公式,并且這些公式因格式復雜,不能由EXCEL 的下拉功能批量生成,只能手動輸入每個公式。
2)容易出錯,且不便于檢查。
方案二:
由于手動輸入方法工作量大且容易出錯,故提出利用EXCEL 插件的方式,將公式自動地錄入到EXCEL 模板來生成統計日報模板。
優點:
1)快速。2s 就可以完成29760 個公式。
2)準確性高,且易于檢查。
相較于手動輸入公式,該方案只有一段程序,只要檢查程序中的公式即可,易于檢查,且準確性高很多,而且還便于業主根據需求修改。
選用方案:綜合以上兩種方案,方案一是手動輸入公式,效率太低;方案二是自動輸入公式,效率和準確性相較于手動輸入公式,有了很大改善。因此,最終選用的是方案二。經過測試,這種方案運行快速、穩定,完全實現了電廠需求的統計日報。
1)統計月報記錄1 個月的數據,每行表示1 天,例如圖3。

圖3 電廠需求的統計月報Fig.3 Monthly statistics of power plant demand
2)統計月報記錄每天的FEED,DISCHARGE。對于某一天,用統計日報里的數據,將這一天24 小時的FEED 加起來得到該天的FEED;將這一天24 小時的DISCHARGE加起來得到該天的DISCHARGE。
Report Builder 的報表制作軟件可以創建實時月報和統計月報,其創建方法與日報相同。同樣,由于Report Builder 月報(包括實時月報和統計月報)的算法過于簡單而不能滿足電廠的需求,所以本文提出了兩個方案來實現電廠需求的統計月報。
方案一:
該方案與統計日報方案相同,即利用EXCEL 插件,自動輸入公式。
優點:
有現成的統計日報的方法可以參考。
缺點:
1)數據量和計算量太大。
由于統計月報也是以分鐘為單位統計信號進料量和出料量,如果每個統計月報里有20 個測量信號,則總 共 有60min×24h×20 個 信 號×30d =864000 個 數據。同時,每個統計月報需要插入60min×24h×20 個信號×30d+30d×20 個 信 號×2(FEED/DISCHARGE) =865200 個公式,而且公式量會隨著統計信號的增加而成倍地增加。
2)生成統計月報的時間太長。
由于月報的數據量和計算量太大,使得生成統計月報所需的時間太長,從而使得工控機運行緩慢甚至死機。設計人員在福清現場曾從上午10 點開始生成統計月報,一直到下午3 點第一個統計月報還沒有生成,而工控機CPU 100%運行,程序無響應,如同死機。一個統計月報就可以使工控機死機,如果需要生成多個統計月報,或者還需要生成年報,后果不堪設想??梢?,直接使用這個方案生成統計月報不可行。

圖4 統計月報流程圖Fig.4 Flow chart of monthly statistics report
方案二:
考慮到方案一插入的公式量太多,是因為將多個統計日報中的公式全部插入到統計月報中,并且公式與統計日報里的公式完全相同。這里提出方案二,不再插入大量的公式,而是利用已經生成的統計日報,從現有的統計日報里提取計算數據信息,然后插入到統計月報中,最終計算總和即可,具體方案流程圖如圖4 所示。
從圖4 可以看出,生成統計月報的過程是:首先,找到指定日期的日報,從日報里提取該天的進料、出料信息即日報最后一行的“總計”信息;然后,將“總計”信息插入到統計月報中,直到整個月的日報全部插入到統計月報為止。
優點:
1)快速,無需插入大量的公式。
該方案充分利用了現有的已生成的統計日報,期間只是進行打開EXCEL,提取信息,關閉EXCEL 等簡單操作,避免了大量公式計算,執行效率較高。
2)準確性高。
由于是利用已經生成的統計日報,沒有進行復雜計算,準確性高。
選用方案:
綜合以上兩個方案,方案一是插入公式的方法,因為數據和公式太多,計算量大,導致工控機運行緩慢甚至死機;方案二是從已生成的統計日報中提取信息,進而生成統計月報的方法,這種方法不僅準確而且快速,最終采用方案二。經過多次測試,這種方案能完全實現電廠需求的統計月報。
以FOXBORO 的Report Builder 報表制作軟件為基礎,利用插入公式的思想給出了統計日報的兩種不同的制作方案,比較了它們的優缺點,并給出了最終采用的方案??紤]到如果利用統計日報的方法生成統計月報,需要插入的公式量太大,為了避免工控機死機,提出了從已經生成的統計日報中提取信息進而生成統計月報的方法。實際運行結果表明,統計日報和統計月報都成功地滿足了核電廠的需求,運行穩定、效果良好,得到了福清業主的一致好評。