亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        IATools如何實現(xiàn)邏輯Check功能

        2018-05-09 09:16:12孔偉力李勇禹娟娟
        移動信息 2018年1期
        關鍵詞:語法錯誤組態(tài)核電

        孔偉力 李勇 禹娟娟

        ?

        IATools如何實現(xiàn)邏輯Check功能

        孔偉力 李勇 禹娟娟

        中核控制系統(tǒng)工程有限公司,北京 100176

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

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

        1 背景及意義

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

        2 正則表達式實現(xiàn)語法判斷

        2.1 正則表達式介紹

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

        2.2 LOGIC塊和CALCA塊語法審查的正則表達式實現(xiàn)

        2.2.1 LOGIC塊語法

        在IA Series系統(tǒng)中,LOGIC 塊屬性見表1[2]:

        表1 LOGIC 塊屬性

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

        根據IA資料文件IACC all blocks description B0193AX-Rev AA的語法規(guī)則,定義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系統(tǒng)中常用的語句有IN、OUT、AND、OR、NOT、DOFF、DON、OSP、MRS、ADD、STM等等。

        根據IA資料文件IACC all blocks description B0193AX-Rev AA的語法規(guī)則,定義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實現(xiàn)參數查詢

        3.1 LINQ語言集成查詢介紹

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

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

        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 基于正則表達式規(guī)則和LINQ的應用程序開發(fā)

        4.1 開發(fā)環(huán)境及程序運行流程

        IATools采用了Visual Studio 2010的C#語言開發(fā),運行平臺需要安裝.net framework 3.5。程序運行流程主要有包括讀取配置文件、加載規(guī)則文件、讀取組態(tài)文件、程序執(zhí)行、結果輸出等[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文件和語法規(guī)則,IATools自動審查完成后顯示結果見圖2:

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

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

        然后我們將組態(tài)文件修改如下:

        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中不應該出現(xiàn)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

        根據定義好的參數檢查規(guī)則,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功能在組態(tài)文件審查工作中能夠快速、準確地定位問題所在,降低了審查難度,提高了審查的效率。當然仍有一些問題存在,定義的規(guī)則只能檢查固定的語法錯誤和參數錯誤,一些不是語法類的錯誤是不能檢查到的,所以組態(tài)文件還需要在不斷的測試和檢查過程中進行完善。

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

        [2]查方興.I/A Series系統(tǒng)及應用[Z].上海:??怂共_有限公司,2009.

        [3]顧寧燕.21天學通ASP.NET[M].北京:電子工業(yè)出版社,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

        猜你喜歡
        語法錯誤組態(tài)核電
        第四代核電 高溫氣冷堆
        中國核電(2021年3期)2021-08-13 08:56:26
        百年初心精神 點亮核電未來
        中國核電(2021年3期)2021-08-13 08:55:56
        基于PLC及組態(tài)技術的恒溫控制系統(tǒng)開發(fā)探討
        河北農機(2020年10期)2020-12-14 03:13:42
        2020年核電活動安排
        中國核電(2020年2期)2020-06-24 03:33:28
        基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
        核電鏈接
        中國核電(2017年1期)2017-05-17 06:10:16
        漢語負遷移對英語寫作的影響及啟示
        科技資訊(2016年25期)2016-12-27 10:55:46
        高中英語寫作中的語法錯誤分析
        青春歲月(2016年22期)2016-12-23 10:59:20
        高中英語寫作錯誤分析個案研究
        文理導航(2016年13期)2016-05-25 00:34:28
        PLC組態(tài)控制在水箱控制系統(tǒng)的應用
        国产精品久久婷婷六月丁香| 粉嫩的极品女神尤物在线| 极品 在线 视频 大陆 国产| 日本丰满少妇高潮呻吟| 免费人成在线观看播放视频| 99久久无码一区人妻| a级毛片高清免费视频就| 成人国产精品一区二区网站| 日产精品一区二区在线| 91精品国产综合久久久密臀九色 | 午夜秒播久久精品麻豆| 欧美黑人xxxx又粗又长| 日韩精品国产自在久久现线拍| 中文字幕成人精品久久不卡| 最新国产熟女资源自拍| 超级碰碰色偷偷免费视频| 日出水了特别黄的视频| 妺妺窝人体色www在线直播| 人妻av中文字幕精品久久| 国产自拍高清在线观看| 污污内射在线观看一区二区少妇 | 中文字幕在线久热精品| 少妇又紧又色又爽又刺| 免费观看国产短视频的方法| 国产成人综合久久亚洲精品| 免费人成年小说在线观看| 午夜爽毛片| 丝袜美腿制服诱惑一区二区| 大学生粉嫩无套流白浆| 国产精品 高清 尿 小便 嘘嘘| 美女视频很黄很a免费国产| 大香蕉青青草视频在线| 台湾佬中文娱乐网22| a级毛片免费观看视频| 婷婷激情六月| 国产精品国产三级国产an不卡| 国模冰莲极品自慰人体| 午夜亚洲www湿好大| 久久麻豆精亚洲av品国产精品| 日韩精品人妻中文字幕有码在线| 少妇无码太爽了不卡视频在线看 |