999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

遠動點表比對工具開發原理與實踐

2019-10-21 07:33:38張佳楠
科學導報·科學工程與電力 2019年34期

張佳楠

【摘 要】自動化主站系統升級時,需要把舊EMS系統數據庫的數據遷移到新OCS系統數據庫中,完成數據遷移工作后,為確保電網運行的安全性,同時減少新OCS系統建成后的遠動調試工作量,需要對新數據庫中的遠動點表與舊數據庫中的遠動點表做比對,確保新、舊遠動點表的一致性,但遠動點表的數據量巨大,人工核對需要耗費大量時間。研制遠動點表比對工具,實現新、舊遠動點表自動比對,提高遠動點表核對工作的效率與準確性。

本遠動點表比對工具基于Excel Visual Basic開發,使用該工具可以很方便、快捷地核對新、舊遠動點表的一致性,遠動調試時可避免重復調試工作,大大減輕遠動調試人員的工作量。

【關鍵詞】遠動點表;比對;Visual Basic

研究背景

目前湛江供電局正在進行新OCS系統建設,需要把舊EMS系統數據庫的數據遷移到新OCS系統數據庫中,完成數據遷移工作后,為確保電網運行的安全性,同時減少新OCS系統建成后的遠動調試工作量,需要對新數據庫中的遠動點表與舊數據庫中的遠動點表做比對,確保新、舊遠動點表的一致性,但遠動點表的數據量巨大,其中遙信有94587條記錄,遙測有30214條記錄。

如果采用人工方式進行對比,按照自動化人員現有核查速度,完成所有廠站遙信點表核查大約需要27天,工作進展十分緩慢。而且人工核查工作完成質量難以保證,很難保證沒有疏漏,導致廠站新舊點表中的差異遺留下來,對自動化系統安全穩定運行造成影響。因此,遠動點表比對工具應運而生。

算法原理

點表比對工具主要實現的功能是:比對兩張數據表是否一致,若一致,給出結論,若不一致,則需要通過顏色標注將不同之處明顯指出來,并輸出比對結果。

數據比對模塊

數據比對模塊實現的基本邏輯:(1)取出數據表1中一個主鍵;(2)在數據表2中使用find方法查找等值的主鍵;(3)若步驟(2)中找到該主鍵,則依次比較數據表1該行剩余單元格值和數據表2對應行對應單元格值是否一樣,若不一樣,則記錄;(4)若步驟(2)中未找到,則表示數據表1存在該主鍵,而數據表2不存在該主鍵,則記錄;(5)重復上述步驟(1)至(4),知道數據表1中所有數據被訪問。(6)執行完以上步驟后還需取出數據表2中編號,查找數據表1中不存在數據,即重復以上步驟(1)(2)(3)(4)(5)。

相關代碼如下:

shtResult.Range("A2:B"& Rows.Count).Clear

sht1.Range("A2:Z"& Rows.Count).Interior.Pattern = xlNone

sht2.Range("A2:Z"& Rows.Count).Interior.Pattern = xlNone

For row1 = 2 To sht1.Range("A1").CurrentRegion.Rows.Count

sNo = sht1.Cells(row1,1).Value

Set Rng = sht2.Range("A:A").Find(sNo,lookat:=xlWhole)

If Rng Is Nothing Then

shtResult.Cells(rowNew,1).Value = "'提示:表2沒有該值"& sNo

shtResult.Cells(rowNew,2).Value = "少第"& row1 &"行,已標橙色"

rowNew = rowNew + 1

sht1.Columns("A:Z").Rows(row1).Interior.Color = RGB(255,165,0)

Else

For column1 = 2 To sht1.Range("A1").CurrentRegion.Columns.Count

'獲取find的單元格的行

row_Rng = Rng.Row

sCell1 = sht1.Cells(row1,column1).Value

sCell2 = sht2.Cells(row_Rng,column1).Value

If sCell1 <> sCell2 Then

shtResult.Cells(rowNew,1).Value = "提示:表1中第"& row1 &"行,第"& column1 &"列值和表2中第"& row_Rng &"行,第"& column1 &"列不一樣,已標黃"

sht1.Cells(row1,column1).Interior.Color = RGB(255,255,0)

sht2.Cells(row_Rng,column1).Interior.Color = RGB(255,255,0)

rowNew = rowNew + 1

check_1 = check_1 + 1

End If

Next column1

End If

Next row1

For row1 = 2 To sht2.Range("A1").CurrentRegion.Rows.Count

sNo = sht2.Cells(row1,1).Value

Set Rng = sht1.Range("A:A").Find(sNo,lookat:=xlWhole)

If Rng Is Nothing Then

shtResult.Cells(rowNew,1).Value = "'提示:表1沒有該值"& sNo

shtResult.Cells(rowNew,2).Value = "少第"& row1 &"行,已標橙色"

rowNew = rowNew + 1

sht2.Columns("A:Z").Rows(row1).Interior.Color = RGB(255,165,0)

Else

For column1 = 2 To sht1.Range("A1").CurrentRegion.Columns.Count

row_Rng = Rng.Row

sCell1 = sht2.Cells(row1,column1).Value

sCell2 = sht1.Cells(row_Rng,column1).Value

If sCell1 <> sCell2 Then

shtResult.Cells(rowNew,1).Value = "提示:表2中第"& row1 &"行,第"& column1 &"列值和表1中第"& row_Rng &"行,第"& column1 &"列不一樣,已標黃"

sht1.Cells(row_Rng,column1).Interior.Color = RGB(255,255,0)

sht2.Cells(row1,column1).Interior.Color = RGB(255,255,0)

rowNew = rowNew + 1

check_1 = check_1 + 1

End If

Next column1

End If

Next row1

check_3 = check_1 + check_2

If check_3 >= 1 Then

shtResult.Cells(rowNew,1).Value = "結論:表一和表二不一致"

shtResult.Cells(rowNew,1).Interior.Color = RGB(255,0,0)

Else

shtResult.Cells(rowNew,1).Value = "結論:表一和表二一致"

shtResult.Cells(rowNew,1).Interior.Color = RGB(255,0,0)

End If

標注模塊

標注模塊實現的功能:

(1)將數據表1和數據表2中主鍵一樣,但其余單元格值不一樣,則該單元格標黃;

(2)若數據表1存在某主鍵,而數據表2不存在,則將數據表1該行標成橙色;若數據表2存在某主鍵,而數據表1不存在,則數據表2該行標成橙色。

相關代碼如下:

sht1.Cells(row1,column1).Interior.Color = RGB(255,255,0)

sht2.Cells(row_Rng,column1).Interior.Color = RGB(255,255,0)

sht1.Cells(row_Rng,column1).Interior.Color = RGB(255,255,0)

sht2.Cells(row1,column1).Interior.Color = RGB(255,255,0)

效果驗證

樣本點表為某變電站遠動遙信點表,數據量823條(大小約125k),每條數據含有兩列內容,其中A列信息為遙信點號,保證不重復,B列為中文描述。

1、表一表二內容完全相同

創建樣本點表副本作為表二,原樣本點表作為表一導入遠動點表比對工具。

點擊“校驗”按鈕后,出現“結論:表一和表二一致”,驗證結果正確,校驗用時1.96秒。

2、表一表二內容有差異

創建樣本點表副本作為表二,并將表二當中445行(點號559)數據” C13保護動作”修改為” C13保護動作”X,315行(點號372)“110kV母聯101210隔離刀閘合位”修改為“110kV母聯101210X隔離刀閘合位”,43行(點號52)“1#主變重瓦斯”修改為“X1#主變重瓦斯”,111行(點號131)“2651開關分位”修改為“20651開關分位”,173行(點號204)“220kV母聯2012開關一組出口跳閘”修改為“0220kV母聯2012開關一組出口跳閘”,382點號474)“F07保護動作”修改為“F07保護動作6”,498行(點號613)“2#主變高壓側控行(制回路斷線”修改為“錯誤2#主變高壓側控制回路斷線”,615行(點號736)“F15保護裝置異常”修改為“F15保護錯誤裝置異常”705行(點號837)“#2接地變保護動作”修改為“#2接地變保護動作錯誤”,778行(點號990)“蓄電池欠壓”修改為“;蓄電池欠壓”801行(點號1013)“220kV備自投直流消失”修改為“220kV備自投;直流消失”刪除813行(點號1025),刪除814行(點號1026)第二列遙信內容,增加825行,點號1037,內容“新增信號”,共14處差異,用以分別驗證英文字母、數字、漢字、標點符號分別出現在信號描述頭部、中部、尾部的差異是否能夠檢測,且是否支持1000條數據以上的點表信息量。原樣本點表作為表一,將表一表二導入遠動點表對比工具。

點擊“校驗”按鈕后,表一、表二差異數據標黃、標橙色,對比結果頁結果如下:

驗證結果完全正確,校驗用時1.55秒。

結論

遠動點表對比工具能夠準確判斷新舊點表差異并進行高亮顯示,提醒自動化人員進行后續處理,耗時較短,操作簡便易學,實用性強,能夠有效減少自動化人員工作量,尤其是對于正在進行升級的主站系統、綜合自動化改造的廠站調試,遠動點表比對工具能夠發揮出很大的作用。由于基于Excel開發,安裝環境要求低,幾乎全部能夠運行Excel的Windows操作系統均可使用,能夠很好地滿足自動化人員日常使用需求。

(作者單位:廣東電網有限責任公司湛江供電局)

主站蜘蛛池模板: jizz国产在线| 久久成人国产精品免费软件 | 国产免费人成视频网| 亚洲福利一区二区三区| 99久久国产精品无码| 国产在线精彩视频二区| 亚洲人成电影在线播放| 丰满少妇αⅴ无码区| 无码在线激情片| 亚洲午夜福利在线| 国产精品偷伦在线观看| 91九色国产porny| 欧美在线伊人| 免费人欧美成又黄又爽的视频| 欧美另类精品一区二区三区| 国产丝袜啪啪| 色135综合网| 91在线中文| 67194在线午夜亚洲| 99热这里只有精品在线观看| 亚洲中文字幕久久无码精品A| 亚洲精品麻豆| 四虎精品免费久久| 亚洲精品无码专区在线观看| 人妻无码中文字幕一区二区三区| 潮喷在线无码白浆| 野花国产精品入口| 丁香婷婷激情网| 成人综合在线观看| 四虎影视库国产精品一区| 国产精品香蕉在线| 欧美久久网| 亚洲精品成人片在线观看 | 高清无码一本到东京热| 欧美国产精品拍自| 成人福利在线免费观看| 日韩av手机在线| 国产视频自拍一区| 亚洲欧美另类中文字幕| 小13箩利洗澡无码视频免费网站| 国产高清在线观看91精品| 国产成人精品一区二区秒拍1o| 午夜国产精品视频黄| 国产一区二区精品高清在线观看| 久爱午夜精品免费视频| 99热这里都是国产精品| 亚洲二区视频| 青青青草国产| 五月婷婷导航| 99久久成人国产精品免费| 国产成人高精品免费视频| 57pao国产成视频免费播放| 国产成人福利在线视老湿机| 亚洲婷婷六月| 亚洲精品视频免费看| 亚洲第一页在线观看| 18禁黄无遮挡免费动漫网站| 91蝌蚪视频在线观看| 97se亚洲综合在线天天| 国产97公开成人免费视频| 伊人天堂网| 色天堂无毒不卡| 国产麻豆精品久久一二三| 午夜一区二区三区| 5388国产亚洲欧美在线观看| 91精品啪在线观看国产| 国产在线观看高清不卡| 激情视频综合网| 免费在线不卡视频| 日韩无码黄色| 欧美色香蕉| 成人在线综合| 国产午夜福利亚洲第一| 国产精品无码翘臀在线看纯欲 | 亚洲综合色在线| 国产小视频在线高清播放| 不卡无码h在线观看| aa级毛片毛片免费观看久| 中文字幕日韩丝袜一区| 精品久久人人爽人人玩人人妻| 国产黑丝视频在线观看| 国产乱人伦精品一区二区|