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

IATools如何實現邏輯Check功能

2018-05-09 09:16:12孔偉力李勇禹娟娟
移動信息 2018年1期
關鍵詞:定義規則

孔偉力 李勇 禹娟娟

?

IATools如何實現邏輯Check功能

孔偉力 李勇 禹娟娟

中核控制系統工程有限公司,北京 100176

以海南昌江1&2號機組DCS項目為起源,介紹了IA平臺組態文件的自動審查軟件。核電DCS系統設計工作周期長、工作量大、重復性強,容易導致人為錯誤,不易檢查發現,并且增加過多人工時,不利于項目成本控制。基于上述緣由IATools設計了Auto Check功能。

正則表達式;語言集成查詢;C#

1 背景及意義

在核電DCS系統設計過程中,由于核電工藝復雜,控制系統邏輯較為煩瑣,過程中會用到大量功能塊,而且功能塊的設置煩雜,給人工審查帶來相當大的工作量。自動審查軟件可以根據工程項目特點設置不同的Check規則,統一判斷標準,達到批量和快速審查的目的,并提醒設計人員錯誤所在,節省大量工作時間,降低審查工作強度,提高審查的可靠性和準確性。

2 正則表達式實現語法判斷

2.1 正則表達式介紹

正則表達式這個概念最初是由Unix中的工具軟件普及開的,又稱正規表示法、常規表示法。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。正則表達式在各種計算機語言或各種應用領域得到了廣大的應用和發展[1]。

2.2 LOGIC塊和CALCA塊語法審查的正則表達式實現

2.2.1 LOGIC塊語法

在IA Series系統中,LOGIC 塊屬性見表1[2]:

表1 LOGIC 塊屬性

LOGIC 塊在核電DCS系統中常用的語句有IN、OUT、AND、OR、NOT、DOFF、DON、OSP、MRS、BIF、STM等等。

根據IA資料文件IACC all blocks description B0193AX-Rev AA的語法規則,定義LOGIC塊在Check功能中的正則表達式,事例如下:

LOGIC塊中AND指令后面可以為空、數字、操作數,所以定義LOGIC中AND正則表達式分別如下:

AND=^s*((d*$)|(~?BI(0[1-9]|1[0-6]))|(~?BO0[1-4])|(~?M0[1-5]))s*(s+(~?BI(0[1-9]|1[0-6]))|(~?BO0[1-4]$)|(~?M0[1-5]))?$

LOGIC塊中DON、DOFF指令后面可以是數字、RIxx,所以定義LOGIC中DON、DOFF正則表達式分別如下:

DON=^((s*[1-9][0-9]*$)|(RI0[1-2]))$

DOFF=^((s*[1-9][0-9]*$)|(RI0[1-2]))$

2.2.2 CALCA塊語法

見表2。

表2 CALCA塊語法

CALCA 塊在核電DCS系統中常用的語句有IN、OUT、AND、OR、NOT、DOFF、DON、OSP、MRS、ADD、STM等等。

根據IA資料文件IACC all blocks description B0193AX-Rev AA的語法規則,定義CALCA塊在Check功能中的正則表達式,事例如下:

AND指令后面可以為空、數字、操作數,所以定義CALCA中AND正則表達式分別如下:

AND=^(s*(d*$)|(~?BI(0[1-9]|1[0-6]))|(~?BO0[1-8])|(~?M((0[1-9])|(1[0-9])|(2[0-4])))s*(s(~?BI(0[1-9]|1[0-6]))|(~?BO0[1-8])|(~?M((0[1-9])|(1[0-9])|(2[0-4]))))?$

CALCA中DON、DOFF指令后面可以是數字、Mxx,這一點和LOGIC中有所不同,所以定義CALCA中DON、DOFF正則表達式分別如下:

DON=^((s*(([1-9][0-9]*(.[0-9]+)?)|(0.[0-9]+)))|((M0[1-9])|M(1[0-9])|(M2[0-4])))$

DOFF=^((s*(([1-9][0-9]*(.[0-9]+)?)|(0.[0-9]+)))|((M0[1-9])|M(1[0-9])|(M2[0-4])))$

3 LINQ實現參數查詢

3.1 LINQ語言集成查詢介紹

LINQ語言集成查詢(Language Integrated Query)是一組用于C#和Visual Basic語言的擴展。它允許編寫C#或者Visual Basic代碼以查詢數據庫相同的方式操作內存數據。

正是利用了LINQ實現了參數查詢和語法檢查的功能,核電DCS項目中,相同參數會有不同的參數設置。IATools中可以根據不同項目定義不同的Check規則,這樣方便對模塊參數設置的檢查。

3.2 自定義參數查詢Rules

以海南DCS項目中CIN塊為例,項目中要求所有IO點CIN塊的PERIOD=1、并且IOMOPT=1的CIN塊IOM_ID和PNT_NO兩參數不能為空,下面的語句定義了CIN塊針對這兩條要求的查詢方法:

[CIN]

COUNT=2

PARA01=PERIOD

DESC01=CIN塊周期應該為1

RULE01=TYPE = "CIN" && N["PERIOD"] !=1

KEYS01=PERIOD

PARA10=IOMOPT

DESC10=檢查IOMOPT為1的CIN塊 IOM_ID和PNT_NO是否為空

RULE10=TYPE = "CIN" && N["IOMOPT"] =1 && (S["IOM_ID"]= "" || S["PNT_NO"]= "")

KEYS10=IOMOPT;IOM_ID;PNT_NO

4 基于正則表達式規則和LINQ的應用程序開發

4.1 開發環境及程序運行流程

IATools采用了Visual Studio 2010的C#語言開發,運行平臺需要安裝.net framework 3.5。程序運行流程主要有包括讀取配置文件、加載規則文件、讀取組態文件、程序執行、結果輸出等[3],具體流程見圖1:

圖1 程序運行流程圖

4.2 實驗驗證

4.2.1 驗證語法錯誤

實驗對象為海南昌江DCS #2機組2509UC ICCPRT文件,2KPR_N1:001CC_L1正確邏輯如下所示:

STEP01=CST

STEP02=

STEP03=AND BI01 BI02

STEP04=AND BI01 BI03

STEP05=AND BI02 BI03

STEP06=OR 3

STEP07=OUT B001

STEP08=

STEP09=NOT

STEP10=OUT B002

STEP11=

STEP12=END

STEP13=

STEP14=

STEP15=

首先,根據定義好的Rules文件和語法規則,IATools自動審查完成后顯示結果見圖2:

圖2 IATools自動審查完成后顯示結果

沒有輸出結果,而且LOGIC下面顯示沒有語法錯誤。

然后我們將組態文件修改如下:

STEP01=CST

STEP02=

STEP03=AND BI01 BI17

STEP04=AND BI01 BI03

STEP05=AND BI02 BI03

STEP06=OR 3

STEP07=OUT B001

STEP08=

STEP09=NOT B001

STEP10=OUT B002

STEP11=

STEP12=END

STEP13=

STEP14=

STEP15=

不難看出,STEP03中不應該出現BI17,STEP09中NOT指令不應該有操作數。用IATools進行自動審查,結果見圖3。

軟件輸出結果顯示LOGIC中提示語法錯誤,并且將錯誤以高亮顯示。

圖3 IATools進行自動審查

4.2.2 驗證參數錯誤

實例主要驗證在IOMOPT為1的情況下,IOM_ID、PNT_NO不能為空。實驗對象為海南昌江DCS #2機組2509UC ICCPRT文件,2DVN_N1:160CC_2正確參數如下:

NAME=2DVL_NI:160CC_2

TYPE=CIN

DESCRP=LOC.103ZV MANU.CMN

PERIOD=1

PHASE=0

LOOPID=2DVL160CC_2

IOMOPT=1

IOM_ID=250906

PNT_NO=2

根據定義好的參數檢查規則,Check完成后顯示結果為空,見圖4:

圖4 Check完成后顯示結果

將IOM_ID、PNT_NO刪除,當前參數如下:

NAME=2DVL_NI:160CC_2

TYPE=CIN

DESCRP=LOC.103ZV MANU.CMN

PERIOD=1

PHASE=0

LOOPID=2DVL160CC_2

IOMOPT=1

IOM_ID=

PNT_NO=

將修改的ICCPRT文件再進行Check,結果顯示見圖5:

圖5 Check完成后顯示結果

輸出結果將空置的IOM_ID、PNT_NO進行了高亮顯示。

5 結論

IATools的Check功能在組態文件審查工作中能夠快速、準確地定位問題所在,降低了審查難度,提高了審查的效率。當然仍有一些問題存在,定義的規則只能檢查固定的語法錯誤和參數錯誤,一些不是語法類的錯誤是不能檢查到的,所以組態文件還需要在不斷的測試和檢查過程中進行完善。

[1]AndrewWatt.正則表達式入門經典[M].北京:清華大學出版社,2008.

[2]查方興.I/A Series系統及應用[Z].上海:福克斯波羅有限公司,2009.

[3]顧寧燕.21天學通ASP.NET[M].北京:電子工業出版社,2011.

How IATools Implements Logical Check Functions

Kong Weili Li Yong Yu Juanjuan

China Nuclear Control Systern Engineering Co., Ltd., Beijing 100176

Taking Hainan Changjiang 1&2 unit DCS project as the origin, the paper introduces the configuration file IA platform automatic review software. The design of nuclear power DCS system is long, heavy workload and repetitive. It is easy to cause human errors, and not easy to detect and find too much labor. It is not conducive to project cost control. Therefore, IATools designs Auto Check function based on above reason.

regular expressions; language integrated query; C#

TP311.5

A

猜你喜歡
定義規則
撐竿跳規則的制定
數獨的規則和演變
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風格”
規則的正確打開方式
幸福(2018年33期)2018-12-05 05:22:42
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規則對我國的啟示
搜索新規則
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 直接黄91麻豆网站| 全部无卡免费的毛片在线看| 狠狠做深爱婷婷综合一区| 青草视频在线观看国产| 操国产美女| 国模沟沟一区二区三区| 91精品日韩人妻无码久久| 毛片在线看网站| 日韩福利在线视频| 91视频青青草| 99久久精品无码专区免费| 日韩一区精品视频一区二区| 亚洲美女视频一区| 日本免费福利视频| 亚洲AV无码乱码在线观看裸奔| 久久这里只有精品国产99| 国产精品区视频中文字幕| 国产正在播放| 无码'专区第一页| 无码中文字幕乱码免费2| 波多野结衣无码视频在线观看| 国产激情无码一区二区APP| 在线播放精品一区二区啪视频| 亚洲男人天堂2020| 亚洲中文字幕国产av| 99热这里只有精品久久免费| 国产欧美视频在线| 国内老司机精品视频在线播出| 成人免费视频一区| 欧美a在线视频| h网站在线播放| 亚洲毛片网站| 97se亚洲综合在线天天 | 热热久久狠狠偷偷色男同| 欧美精品1区| 亚洲无码高清视频在线观看| 波多野结衣一区二区三区四区| 五月天丁香婷婷综合久久| 无码精品国产dvd在线观看9久| 亚洲黄网在线| 欧美精品在线观看视频| 亚洲中久无码永久在线观看软件 | 精品一区二区三区无码视频无码| 免费国产一级 片内射老| 国产爽妇精品| 国产精品久久久久婷婷五月| 国产一级做美女做受视频| 国产欧美视频在线观看| 亚洲国产无码有码| 欧美视频在线观看第一页| 日本午夜三级| 成人av专区精品无码国产| h网站在线播放| 97狠狠操| 国产精品丝袜视频| 玖玖免费视频在线观看| 又爽又黄又无遮挡网站| 无码福利日韩神码福利片| 久久久无码人妻精品无码| 色婷婷国产精品视频| 久久这里只有精品23| 亚洲熟女偷拍| 亚洲永久免费网站| 综合色天天| 亚洲国产综合精品一区| 一区二区无码在线视频| 免费国产好深啊好涨好硬视频| 99久久精品免费看国产电影| 亚洲视频免费播放| 国产精品人莉莉成在线播放| 亚洲精品国产成人7777| 国产一区二区福利| 亚洲国产天堂久久综合| 亚洲AV无码久久天堂| 亚洲欧美另类色图| 国产一区二区三区日韩精品| 91在线日韩在线播放| 欧美一级夜夜爽www| 亚洲无码久久久久| 欧美一级在线看| 国产99视频精品免费视频7| 国产一区二区精品高清在线观看|