• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    孔偉力 李勇 禹娟娟

    ?

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

    孔偉力 李勇 禹娟娟

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

    以海南昌江1&2號(hào)機(jī)組DCS項(xiàng)目為起源,介紹了IA平臺(tái)組態(tài)文件的自動(dòng)審查軟件。核電DCS系統(tǒng)設(shè)計(jì)工作周期長(zhǎng)、工作量大、重復(fù)性強(qiáng),容易導(dǎo)致人為錯(cuò)誤,不易檢查發(fā)現(xiàn),并且增加過(guò)多人工時(shí),不利于項(xiàng)目成本控制?;谏鲜鼍売蒊ATools設(shè)計(jì)了Auto Check功能。

    正則表達(dá)式;語(yǔ)言集成查詢;C#

    1 背景及意義

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

    2 正則表達(dá)式實(shí)現(xiàn)語(yǔ)法判斷

    2.1 正則表達(dá)式介紹

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

    2.2 LOGIC塊和CALCA塊語(yǔ)法審查的正則表達(dá)式實(shí)現(xiàn)

    2.2.1 LOGIC塊語(yǔ)法

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

    表1 LOGIC 塊屬性

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

    根據(jù)IA資料文件IACC all blocks description B0193AX-Rev AA的語(yǔ)法規(guī)則,定義LOGIC塊在Check功能中的正則表達(dá)式,事例如下:

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

    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指令后面可以是數(shù)字、RIxx,所以定義LOGIC中DON、DOFF正則表達(dá)式分別如下:

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

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

    2.2.2 CALCA塊語(yǔ)法

    見(jiàn)表2。

    表2 CALCA塊語(yǔ)法

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

    根據(jù)IA資料文件IACC all blocks description B0193AX-Rev AA的語(yǔ)法規(guī)則,定義CALCA塊在Check功能中的正則表達(dá)式,事例如下:

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

    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指令后面可以是數(shù)字、Mxx,這一點(diǎn)和LOGIC中有所不同,所以定義CALCA中DON、DOFF正則表達(dá)式分別如下:

    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實(shí)現(xiàn)參數(shù)查詢

    3.1 LINQ語(yǔ)言集成查詢介紹

    LINQ語(yǔ)言集成查詢(Language Integrated Query)是一組用于C#和Visual Basic語(yǔ)言的擴(kuò)展。它允許編寫(xiě)C#或者Visual Basic代碼以查詢數(shù)據(jù)庫(kù)相同的方式操作內(nèi)存數(shù)據(jù)。

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

    3.2 自定義參數(shù)查詢Rules

    以海南DCS項(xiàng)目中CIN塊為例,項(xiàng)目中要求所有IO點(diǎn)CIN塊的PERIOD=1、并且IOMOPT=1的CIN塊IOM_ID和PNT_NO兩參數(shù)不能為空,下面的語(yǔ)句定義了CIN塊針對(duì)這兩條要求的查詢方法:

    [CIN]

    COUNT=2

    PARA01=PERIOD

    DESC01=CIN塊周期應(yīng)該為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 基于正則表達(dá)式規(guī)則和LINQ的應(yīng)用程序開(kāi)發(fā)

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

    IATools采用了Visual Studio 2010的C#語(yǔ)言開(kāi)發(fā),運(yùn)行平臺(tái)需要安裝.net framework 3.5。程序運(yùn)行流程主要有包括讀取配置文件、加載規(guī)則文件、讀取組態(tài)文件、程序執(zhí)行、結(jié)果輸出等[3],具體流程見(jiàn)圖1:

    圖1 程序運(yùn)行流程圖

    4.2 實(shí)驗(yàn)驗(yàn)證

    4.2.1 驗(yàn)證語(yǔ)法錯(cuò)誤

    實(shí)驗(yàn)對(duì)象為海南昌江DCS #2機(jī)組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=

    首先,根據(jù)定義好的Rules文件和語(yǔ)法規(guī)則,IATools自動(dòng)審查完成后顯示結(jié)果見(jiàn)圖2:

    圖2 IATools自動(dòng)審查完成后顯示結(jié)果

    沒(méi)有輸出結(jié)果,而且LOGIC下面顯示沒(méi)有語(yǔ)法錯(cuò)誤。

    然后我們將組態(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中不應(yīng)該出現(xiàn)BI17,STEP09中NOT指令不應(yīng)該有操作數(shù)。用IATools進(jìn)行自動(dòng)審查,結(jié)果見(jiàn)圖3。

    軟件輸出結(jié)果顯示LOGIC中提示語(yǔ)法錯(cuò)誤,并且將錯(cuò)誤以高亮顯示。

    圖3 IATools進(jìn)行自動(dòng)審查

    4.2.2 驗(yàn)證參數(shù)錯(cuò)誤

    實(shí)例主要驗(yàn)證在IOMOPT為1的情況下,IOM_ID、PNT_NO不能為空。實(shí)驗(yàn)對(duì)象為海南昌江DCS #2機(jī)組2509UC ICCPRT文件,2DVN_N1:160CC_2正確參數(shù)如下:

    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

    根據(jù)定義好的參數(shù)檢查規(guī)則,Check完成后顯示結(jié)果為空,見(jiàn)圖4:

    圖4 Check完成后顯示結(jié)果

    將IOM_ID、PNT_NO刪除,當(dāng)前參數(shù)如下:

    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文件再進(jìn)行Check,結(jié)果顯示見(jiàn)圖5:

    圖5 Check完成后顯示結(jié)果

    輸出結(jié)果將空置的IOM_ID、PNT_NO進(jìn)行了高亮顯示。

    5 結(jié)論

    IATools的Check功能在組態(tài)文件審查工作中能夠快速、準(zhǔn)確地定位問(wèn)題所在,降低了審查難度,提高了審查的效率。當(dāng)然仍有一些問(wèn)題存在,定義的規(guī)則只能檢查固定的語(yǔ)法錯(cuò)誤和參數(shù)錯(cuò)誤,一些不是語(yǔ)法類的錯(cuò)誤是不能檢查到的,所以組態(tài)文件還需要在不斷的測(cè)試和檢查過(guò)程中進(jìn)行完善。

    [1]AndrewWatt.正則表達(dá)式入門(mén)經(jīng)典[M].北京:清華大學(xué)出版社,2008.

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

    [3]顧寧燕.21天學(xué)通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

    猜你喜歡
    語(yǔ)法錯(cuò)誤組態(tài)核電
    第四代核電 高溫氣冷堆
    百年初心精神 點(diǎn)亮核電未來(lái)
    基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開(kāi)發(fā)探討
    2020年核電活動(dòng)安排
    基于PLC和組態(tài)的智能電動(dòng)擰緊系統(tǒng)
    核電鏈接
    漢語(yǔ)負(fù)遷移對(duì)英語(yǔ)寫(xiě)作的影響及啟示
    科技資訊(2016年25期)2016-12-27 10:55:46
    高中英語(yǔ)寫(xiě)作中的語(yǔ)法錯(cuò)誤分析
    青春歲月(2016年22期)2016-12-23 10:59:20
    高中英語(yǔ)寫(xiě)作錯(cuò)誤分析個(gè)案研究
    PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
    乐亭县| 重庆市| 泾阳县| 左贡县| 肥西县| 城口县| 崇阳县| 石渠县| 台中市| 长宁县| 额敏县| 雅安市| 永善县| 五寨县| 内乡县| 申扎县| 芦山县| 安宁市| 右玉县| 南开区| 和田市| 南召县| 缙云县| 上高县| 丘北县| 钟祥市| 霍林郭勒市| 江山市| 西乌珠穆沁旗| 平武县| 永泰县| 乌鲁木齐县| 武平县| 咸宁市| 龙岩市| 吴桥县| 肃宁县| 乳源| 永宁县| 景宁| 涿鹿县|