張 旭,劉明明,劉全東,金興連,高 楠,李尉弘
(中國核動力研究設計院 核反應堆系統(tǒng)設計技術(shù)重點實驗室,成都 610213)
當前傳統(tǒng)的電氣設計軟件已滿足不了人們的工作需求,在傳統(tǒng)軟件的基礎之上,對軟件進行二次開發(fā)成為了核心研究內(nèi)容。二次開發(fā)后的軟件不同于傳統(tǒng)軟件,它的研究重點在于如何最大可能地實現(xiàn)自動化,并且在哪些模塊方面可以進行二次工具的開發(fā)和使用。伴隨著人們設計項目的增多、工作量的增大,二次開發(fā)軟件所帶來的速度和效率成為軟件自動化發(fā)展的必然趨勢。使用自動化軟件能完成許多手工設計問題,正確、合理地實施自動化,能快速地進行設計,從而提高工作效率,縮短產(chǎn)品的設計周期。同時,自動化工具也會排除一些人為所帶來的因素,如遺漏或填錯某個信號端子等。在多次進行項目設計的情況下,自動化工具不需要人們每次都重復相同的過程。自動化工具一旦建立起來,可以多次迭代使用,設計人員也會從繁重的任務中解脫出來,從而,他們可以投入大量的時間和精力進行下一個設計。同時,自動化軟件也可以對設計過程中出現(xiàn)的結(jié)果進行一定的檢查。一旦實現(xiàn)了軟件自動化,就可以比人工設計更快地進行工作。
鑒于當前核電項目設計的嚴謹性與任務的繁重度,硬件設計人員手工設計已經(jīng)無法滿足當前需求,所以對電氣硬件圖紙中涉及的常用表格生成、圖紙檢查等部分項目進行二次開發(fā),采用自動化代替人工操作方式可以更好地完成設計任務和設計質(zhì)量。目前,DCS 硬件設計采用的是Eplan 軟件,因而本文研究的核電廠DCS 硬件設計輔助系統(tǒng)會基于Eplan 軟件進行。
Eplan 作為電氣計算機輔助設計軟件,其強大的設計功能及標準化數(shù)據(jù)庫,多年來已被業(yè)內(nèi)人士所認可。Eplan軟件支持不同的電氣標準,如IEC、DIN 等,且都對應相應的標準符號庫。同時也提供了各種標準模板,各種圖表可以自動生成,如端子接線圖、物料清單等。每條記錄的詳細屬性都可以反映在圖表中,一旦在原理圖中做了修改,只需要刷新表格就可以更新數(shù)據(jù),不需要手動修改,保證了數(shù)據(jù)的準確性。在電氣設計過程中,對應相同類似的項目,只需要修改一些相關(guān)的項目數(shù)據(jù),如項目名稱、編號、用戶信息,就可以成為新項目的圖紙,可以避免項目的重復修改。
相關(guān)領域國內(nèi)外已有一些研究成果,國內(nèi)如發(fā)明專利“基于Auto CAD的二次電氣原理圖的自動生成方法”,公開了一種基于Auto CAD的二次電氣原理圖的自動生成方法[1],將二次電氣原理圖按CT電流回路、控制回路、開關(guān)柜輔助回路、PT電壓回路、其它輔助回路5大類進行分類,建立二次電氣原理圖選型表,進而實現(xiàn)二次電氣原理圖的自動生成;發(fā)明專利“一種用于自動繪制電氣圖的方法”[2],先確認一個數(shù)據(jù)庫是唯一的組態(tài)依據(jù)和根本并且可更新,并根據(jù)所述數(shù)據(jù)庫生成出不同類型的電氣圖。國外有如專利“System for automatically-drawing single line diagram based on substation organizing language, has electric power substation included with configuration information, and drawing part automatically inputting point mapping information”[3],實現(xiàn)了變電所配置信息、繪制部分自動輸入點映射信息的基于變電所組織語言的單線圖自動繪制系統(tǒng)。
目前,尚未有主流的針對核安全級儀控系統(tǒng)的特點設計的基于Eplan 軟件的電氣設計輔助軟件。因此,二次開發(fā)技術(shù)應用于核安全級儀控系統(tǒng)電氣設計具有重要的意義。

圖1 Eplan二次開發(fā)技術(shù)路線圖Fig.1 Eplan Secondary development technology roadmap
選取硬件設計圖紙中數(shù)量最多、規(guī)律性最強的兩部分圖紙,即IO 部分圖紙和供電部分圖紙,開發(fā)自動出圖功能。自動出圖的主要研究內(nèi)容是基于當前已知的輸入信息或從其他方案中得到的基本信息,通過電氣輔助系統(tǒng)讀取,按照制圖原則來自動生成所需圖紙。
自動出表是指在Eplan 環(huán)境下自動生成各種條件要求的表格清單電氣輔助工具,自動從機柜的硬件設計圖紙圖中讀取滿足專業(yè)要求和施工要求的清單,支持的表格清單類型有:“端接清單”“網(wǎng)絡連接清單”“柜間電纜清單”“系統(tǒng)對外接口表”以及“Eplan 回填IO 清單”功能等。
通過調(diào)用電氣輔助工具集中的API 函數(shù),不需要在Eplan 中增設額外設置,正常的硬件設計圖紙圖即可進行出表操作,生成的圖表表達方式滿足項目及規(guī)范要求,且支持批量出表功能,以提高設計質(zhì)量和效率。
工程項目的繪圖人員眾多,即使有明確的制圖規(guī)范,也難免在個別情況下出現(xiàn)失誤,將信息填錯位置或格式不符合規(guī)范。圖紙檢查功能實現(xiàn)批量查找繪圖中不規(guī)范之處,供設計人員查詢修改,提高圖紙的規(guī)范性與準確性。
自動批量修改主要指“機柜號整體修改功能”“跨機柜位置盒名稱修改功能”。現(xiàn)有的Eplan 軟件只能對圖紙進行手動修改處理,不能實現(xiàn)自動化批量修改,若要處理多個項目圖紙需要制圖人員進行逐個編輯、修改,工作量巨大,耗費大量的時間,而Eplan 的自動批量修改輔助插件提供自動修改柜號、修改文件名及位置盒名稱等功能,實現(xiàn)圖紙自動批量修改處理。

圖2 加載軟件后的菜單欄Fig.2 Menu bar after loading the software
如圖1 是Eplan 二次開發(fā)技術(shù)路線框架圖。Eplan 軟件可接收指定格式的動態(tài)鏈接庫(*.dll)的形式的函數(shù)庫加載,因而,可通過為Eplan 軟件開發(fā)函數(shù)庫的方式,將功能函數(shù)編譯為動態(tài)鏈接庫的形式,并加載到Eplan 入口點函數(shù)庫,在Eplan 軟件界面上以按鈕的形式呈現(xiàn)。在執(zhí)行具體功能時,使用觸發(fā)式機制調(diào)用動態(tài)鏈接庫,即在制圖人員使用過程中,點擊相應的功能按鈕即可。流程如圖1所示,制圖人員調(diào)用用戶加載的函數(shù)庫,作用于Eplan 工程文件,在其中讀取、增加或修改內(nèi)容。向Eplan 工程文件中讀取、增加或修改內(nèi)容,分別為自動導出數(shù)據(jù)表格、自動繪圖、批量修改檢查圖紙?zhí)峁┝思夹g(shù)層面的支持。如讀取Eplan 工程文件內(nèi)容后,可將信息匯總、整理并寫入內(nèi)存數(shù)據(jù)中,進而可導出各種格式的物理文件。
二次開發(fā)過程需引用Eplan 軟件自帶的基本動態(tài)鏈接 庫Eplan.EplApi.Base、Eplan.EplApi.MasterData、Eplan.EplApi.DataModel 等鏈接庫,可使用C#、VB 等語言。以C#語言為例,引用動態(tài)鏈接庫的方法如下:
using Eplan.EplApi.DataModel;
using Eplan.EplApi.Base;
using Eplan.EplApi.MasterData;
公有類AddInModule 繼承Eplan.EplApi.ApplicationFramework.IEplAddIn, 包 含OnInitGui、OnInit、OnRegister、OnUnregister、OnExit 等函數(shù)。
OnInitGui 函數(shù)負責初始化“工具”下拉條最下方的按鈕入口與右鍵菜單入口;OnRegister 函數(shù)中可通過AddMainMenu 方法添加菜單欄中的按鈕。上述添加按鈕的方式為執(zhí)行實際功能的函數(shù)提供了觸發(fā)機制,即可通過按鈕指向?qū)嶋H的功能函數(shù)的入口,再由所指函數(shù)執(zhí)行具體所需的功能。OnInitGui 或OnRegister 的AddMenuItem 方法的參數(shù)中包括了具體指向功能的注冊名稱,該名稱與具體功能的類文件中的OnRegister 函數(shù)的引用參數(shù)Name 一致,保證了點擊某個按鈕可執(zhí)行相應的功能。OnUnregister 實現(xiàn)卸載鏈接庫時,將按鈕從界面刪除的功能。
如前文所述,利用Eplan 自帶的API 函數(shù)接口,可構(gòu)建后臺函數(shù)庫與用戶界面的關(guān)系。在加載函數(shù)庫時,只需要點擊“工具”—“API 插件”—“加載”,然后找到該動態(tài)鏈接庫,點擊“確定”即可。本文的研究通過在OnRegister 函數(shù)中增加菜單欄按鈕的方式,增加“自動畫圖”“自動出表”“修改與檢查”3 個按鈕,并在每個按鈕中增加了一系列的具體功能按鈕,當點擊上層按鈕時出現(xiàn)。每種具體功能可通過點擊某個按鈕進入執(zhí)行函數(shù),該函數(shù)作為點擊事件函數(shù)與加載的動態(tài)鏈接庫中的函數(shù)之間的橋梁。
項目中的端子有三類,分別是:PLC 端子、普通端子、匯流條,信息填寫規(guī)范如下:
1)PLC 端子
PLC 端子默認二線制,需在主端子元件屬性“連接點描述”“地址”“功能文本”“安全等級 有且僅有主端子填寫信息,副端子不需填寫,否則生成的信息可能會出錯。副端子的名稱由主端子推知,如主端子號為1,則副端子號為2,若主端子號為1A,則副端子號為1B。 PLC 端子的特殊情況是非二線制PLC 端子。 非二線制PLC 端子(如熱電阻端子)的識別方法是,如果“備注”中填寫了包含“&”和“,”的字符,則認為是非二線制端子。具體填法是“A1,B1,A2,B2&I1+,I-,V+,V-”,表示端子是A1,B1,A2,B2 其極性從前到后依次對應I1+,I-,V+,V-,中間使用英文逗號分隔。 2)普通端子與匯流條 普通端子需要填寫“顯示設備標識符:(D)”“信號名稱”“信號描述”“地址”“信號類型”“安全等級”“信號端子管腳號”“信號極性(端子屬性)”,其中“信號端子管腳號 當出現(xiàn)跨端子排時,在“信號端子管腳號”中應填寫“GF611&1,GF612&1”的形式,使用英文逗號分隔。填寫了去向和端子號的端子才會出現(xiàn)在端接清單中,該信息未必要填在主端子上,可選擇任意一個端子。對于跨端子排的情況,原端子排屬性處填的信息無效。 端接清單用于體現(xiàn)DCS 系統(tǒng)與第三方的接口信息,圖4 是自動生成的端接清單示例。 圖3 信息填寫示例Fig.3 Example of information filling 圖4 自動生成端接清單示例Fig. 4 Example of automatically generating a termination list 圖5 自動生成柜間電纜示例Fig.5 Example of automatic generation of cabinet cable 圖6 自動生成圖紙示例Fig.6 Example of automatically generating drawings 柜間電纜清單用于體現(xiàn)DCS 系統(tǒng)內(nèi)各機柜間的信號連接關(guān)系。圖5 是自動生成的柜間電纜示例。 圖6 是根據(jù)IO 分配清單及機柜供電信息文件自動生成的圖紙。 在軟件系統(tǒng)實際使用過程中,發(fā)現(xiàn)一些工程設計人員容易出現(xiàn)的錯誤。這些錯誤既可能導致圖紙的不規(guī)范,又可能影響軟件正常運行。比如,由設計人員的輸入信息自動繪制圖紙的過程中,不同設計人員對同一類機柜的名稱有些使用的是首字母大寫,有些是全大寫或其它情況,如果軟件不加判斷處理,則可能出現(xiàn)圖紙不規(guī)范的情況。對于由人工繪制的圖紙制作表格清單的過程中,如果軟件只按照繪圖規(guī)范的命名形式,如全大寫,如果某些繪圖人員使用的是首字母大寫的命名形式,則可能出現(xiàn)軟件從圖紙中獲取信息不全的情況。另外,在考慮軟件容錯性時,比如前文所述端子號與端子屬性分別應該用逗號隔開,形如“A1,B1,A2,B2&I1+,I-,V+,V-”,如果出現(xiàn)兩個屬性的數(shù)量不一致的情況,例如“A1,B1,A2,B2&I1+,I-,V+”,軟件應做容錯處理,避免存儲空間數(shù)量大于實際內(nèi)容的情況,產(chǎn)生嚴重的錯誤。3.4 實施效果




4 總結(jié)和改進