齊桂卿 李海壽 劉鴻雁 李 健 海洋石油工程股份有限公司設(shè)計院 天津 300451
AVEVA Instrumentation軟件(以下簡稱為AI)包括Engineer、Designer、Wiring Manager、Security Manager及Process Engineer五個功能模塊,它們共享底層數(shù)據(jù)庫。其中AI Engineer處于儀控系統(tǒng)設(shè)計流程的最頂端,其在整個儀控設(shè)計中起到承上啟下的作用,對外可同AVEVA Diagrams、AVEVA Engineering進(jìn)行數(shù)據(jù)交互,對內(nèi)向AI軟件的其它模塊分發(fā)共享數(shù)據(jù)。本文從應(yīng)用層面圍繞AI Engineer的數(shù)據(jù)交互功能開發(fā)、儀表索引表/數(shù)據(jù)表的定制方法進(jìn)行探討與闡述。
在設(shè)計過程中,儀控專業(yè)同工藝、管道、電氣、安全等專業(yè)交互眾多[1],其中最為典型的是儀表索引表/數(shù)據(jù)表同PID之間的數(shù)據(jù)交互。傳統(tǒng)的設(shè)計模式是:設(shè)計人員基于PID或工藝數(shù)據(jù)手動錄入完成,而AVEVA系列軟件通過各專業(yè)軟件之間的交互,實現(xiàn)工藝PID圖面數(shù)據(jù)的自動獲取并映射至AI軟件中。儀控專業(yè)典型數(shù)據(jù)交互場景見圖1。
圖1 儀控設(shè)計典型數(shù)據(jù)交互場景
創(chuàng)建標(biāo)準(zhǔn)數(shù)據(jù)庫是應(yīng)用AI軟件開展設(shè)計的基礎(chǔ)工作之一,在Engineer模塊或與AI進(jìn)行數(shù)據(jù)交互的軟件中,儀表位號命名規(guī)則和屬性庫的標(biāo)準(zhǔn)化定義是前置條件。
儀表位號是圍繞儀表進(jìn)行數(shù)據(jù)交互的重要索引,命名規(guī)則本質(zhì)上是對儀表位號格式(Tag Format)的約束,AI Engineer支持設(shè)計人員基于Tag Code定義自己的位號格式,只有Area和InstrumentList中的屬性可以作為Tag Code使用。位號命名規(guī)則必須遵循全設(shè)計周期統(tǒng)一性原則,位號格式須按照跨專業(yè)、跨軟件統(tǒng)籌考量,組成位號的每個Tag Code在不同專業(yè)、不同軟件之間有統(tǒng)一的認(rèn)知與定義。海上石油平臺儀表位號定義遵照企標(biāo)Q/HS 5069-2019執(zhí)行,見圖2。
圖2 典型儀表位號命名格式
其中,設(shè)備代號、序列號和后綴在AI Engineer均為InstrumentList中的系統(tǒng)定義屬性,單體代號、系統(tǒng)代號可在InstrumentList中自行定義,也可調(diào)用所在AREA的屬性。為兼顧AI Wiring Manager模塊中設(shè)備樹創(chuàng)建和數(shù)字化交付的需求,選擇后者,以Area為單體代號,Sub Area為系統(tǒng)代號。
對于Tag Code的選取,建議選用AI軟件中已定義的默認(rèn)屬性,減少自定義屬性的使用,以充分發(fā)揮AI軟件中對這些屬性預(yù)設(shè)的底層邏輯關(guān)系。
AI Engineer以儀表為核心,通過屬性承載儀表特性,通過在Report中引用屬性值實現(xiàn)成果文件的輸出。AI Engineer中的儀表屬性可分為InstrumentList、ProcessData和InstrumentData三類。如前所述,參與位號格式的屬性項必須在InstrumentList中創(chuàng)建,除此之外,通用性較強的屬性(如儀表清單、IO清單所涉及的屬性)通常也在InstrumentList中創(chuàng)建;而儀表數(shù)據(jù)表涉及的其它屬性項可在ProcessData和InstrumentData中創(chuàng)建。需要注意的是,ProcessData和InstrumentData屬于以不同的對象類型存儲,可以設(shè)置不同的訪問權(quán)限。
AVEVA系列軟件中的Diagrams、Engineering和E3D基于DBCON數(shù)據(jù)庫,AI基于SQL數(shù)據(jù)庫,這些專業(yè)軟件兩兩之間均可進(jìn)行數(shù)據(jù)交互。從實際應(yīng)用及軟件定位看,Engineering更多的是作為數(shù)據(jù)中臺實現(xiàn)數(shù)據(jù)交互的功能,在實際開發(fā)中也按該思路在Engineering中開展了大量工作。
與Engineering配套的基礎(chǔ)工作包括:工程對象屬性UDA定制,工作報表界面定制,輸出報表模板定制屬性傳遞匹配規(guī)則[2],以及Pseudo屬性的賦值邏輯開發(fā)。
上述大部分工作屬于AVEVE Engineering定制開發(fā)及基本操作的范疇,本文不展開論述,僅以IO類型為例,簡述Pseudo屬性賦值開發(fā)邏輯,見圖3。IO類型可以基于Tag Code中的設(shè)備代號在Engineering中進(jìn)行賦值,并通過屬性映射將其傳遞至AI Engineer中。
圖3 儀表IO類型賦值邏輯開發(fā)
除IO類型外,還進(jìn)行了儀表類型、接線規(guī)則等屬性賦值邏輯的開發(fā),極大地減少了設(shè)計人員的錄入工作量。
AI Engineer中會創(chuàng)建大量屬性,包括交互屬性和非交互屬性,并支持開發(fā)人員對屬性是否參與數(shù)據(jù)交互進(jìn)行選擇。在Instruments List界面下,通過Manage→Instruments-Integration→Fields進(jìn)行選取,見圖4。
圖4 交互屬性的選擇
完成上述配置后,即可在AI Engineer中通過Project->Setup->Import Configuration進(jìn)行映射關(guān)系配置,見圖5。
圖5 屬性映射關(guān)系的創(chuàng)建
從圖5可以看出,不同軟件中的字段名有明顯差異,從創(chuàng)建映射關(guān)系的可讀性、便捷性考慮,建議對不同軟件中的屬性描述進(jìn)行統(tǒng)一。
在AI Engineer中,默認(rèn)的Lists模塊Instruments是所有位號的全集,AI Engineer通過配置所顯示屬性并設(shè)定過濾條件,支持設(shè)計人員按需定制Grid Views。建議設(shè)計人員以成果文件需求進(jìn)行定制,以海洋石油平臺儀控系統(tǒng)為例,定制的清單見圖6。
圖6 清單類視圖的創(chuàng)建
設(shè)計人員可以基于所定制的Grid Views導(dǎo)出Excel文件,或用Quick Report功能輸出清單類文件,但兩種方式均有一定的局限性,通常需設(shè)計人員進(jìn)行二次加工,如調(diào)整頁碼、增加封皮等,為突破這種局限性,可借助Report功能實現(xiàn)。
在AI Engineer中可實現(xiàn)基于特定對象(如儀表、回路等)Report定制,不同于Grid Views中直接勾選要顯示的屬性項,Report定制是通過Report Designer工具進(jìn)行屬性項的選取并預(yù)設(shè)其輸出格式見圖7;其過濾條件的設(shè)置方法則同Grid Views基本一致。換言之,Report定制功能在Grid Views的基礎(chǔ)上,借助Report Designer工具實現(xiàn)了文件格式排版。與此同時,在開發(fā)中實現(xiàn)了文件封皮及IO統(tǒng)計信息的定制,實現(xiàn)了成果文件一鍵生成,無需設(shè)計人員進(jìn)行任何二次加工。
圖7 清單文件模板定制
需要注意的是,Report是只讀的,設(shè)計人員無法在Report中對儀表屬性進(jìn)行編輯,也無法代替Grid Views使用,建議設(shè)計人員統(tǒng)一Grid Views和對應(yīng)Report過濾條件,借助前者開展屬性的錄入工作,后者則僅用于實現(xiàn)輸出成果文件的“所見即所得”。
設(shè)計流程上,儀表索引表先于數(shù)據(jù)表,待儀表索引表完成后,方可進(jìn)行儀表數(shù)據(jù)表的設(shè)計工作[3]。儀表數(shù)據(jù)表生成流程見圖8。左側(cè)為開發(fā)定制過程,右側(cè)為設(shè)計人員使用過程。限于篇幅,本文僅展開定制過程,使用過程可參見操作手冊。
圖8 儀表數(shù)據(jù)表定制及生成流程
創(chuàng)建模板實際上就是創(chuàng)建一個Excel版的儀表數(shù)據(jù)表,包括封皮、匯總頁及儀表數(shù)據(jù)表單等,并存放在制定的模板存儲路徑下,該路徑可以在項目初始階段設(shè)置。
在Engineer Catalogues模塊中,Home->Select ->Datasheet Forms中新建一個數(shù)據(jù)表,選擇所創(chuàng)建的模板,在彈出窗口中Form Types選擇DataSheet,然后如圖9所示,其中Max No.of Tags定義了單個模板文件中的儀表位號數(shù)量,Spreadsheet Layout用于定義模板中的行列范圍。
圖9 創(chuàng)建數(shù)據(jù)表模板
儀表數(shù)據(jù)表的屬性鏈接通過為模板中的單元格創(chuàng)建datalink實現(xiàn),見圖10。通過該機制,不管是在儀表索引表中已經(jīng)賦值的屬性,還是通過數(shù)據(jù)交互從其它軟件賦值的屬性,均可以直接賦值到所Link的單元格,避免設(shè)計人員重復(fù)錄入,實現(xiàn)數(shù)據(jù)賦值的“以一貫之”。
圖10 基于數(shù)據(jù)表模板進(jìn)行屬性鏈接
可通過預(yù)設(shè)屬性值的Pick Lists功能提高屬性值的規(guī)范性、一致性,模板中的單元格關(guān)聯(lián)屬性后,還可以選取預(yù)定義的Pick Lists,設(shè)計人員開展工作時,以下拉菜單形式直接選取,有效規(guī)避手動錄入時的筆誤。
在開發(fā)過程中發(fā)現(xiàn),AI軟件一旦通過數(shù)據(jù)交互或表格導(dǎo)入獲取數(shù)據(jù),會屏蔽掉AI軟件本身一些很實用的功能,如根據(jù)Function Code預(yù)設(shè)對應(yīng)的儀表類型、IO類型等,導(dǎo)致這部分預(yù)設(shè)的開發(fā)工作前移至上游軟件,這也正是在AVEVA Engineering中進(jìn)行了較多開發(fā)的原因所在。
在AI軟件中,所有的設(shè)計數(shù)據(jù)只需要定義或修改一次,能夠在不同的設(shè)計文件中保證設(shè)計數(shù)據(jù)的一致性[3]。數(shù)據(jù)交互功能的開發(fā),確保了專業(yè)內(nèi)或不同專業(yè)間以及不同設(shè)計軟件之間的協(xié)同配合,同時也統(tǒng)一了設(shè)計風(fēng)格及深度,提高了成果文件的標(biāo)準(zhǔn)化程度,極大提升了設(shè)計效率和質(zhì)量。