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

        ?

        利用VSTO技術(shù)生成I/O卡件分配表的探討

        2012-01-12 02:04:58范文進(jìn)
        石油化工自動化 2012年1期
        關(guān)鍵詞:卡件插件石油化工

        范文進(jìn)

        (南京揚子石油化工設(shè)計工程有限責(zé)任公司,南京210048)

        目前在石油化工工程設(shè)計工作中,雖然自控專業(yè)工程設(shè)計軟件INtools(又稱SmartPlant Instrumentation)已被國際各大石油和化工工程公司所接受,但在國內(nèi)運用時還存在一些弊端,不僅需要大量前期的二次開發(fā)工作,而且其本身提供的智能化還有局限性,需要根據(jù)項目的特點進(jìn)行選擇和設(shè)置。同時,INtools軟件自身并無分配I/O(輸入輸出)卡件的功能,僅能通過在Browser模塊中的打印預(yù)覽功能將儀表索引或I/O索引生成Excel格式的CSV文件,再通過VBA技術(shù)編寫Excel宏命令或采用針對Office開發(fā)的可視化工作室工具VSTO(Visual Studio Tools for Office)技術(shù)實現(xiàn)對I/O卡件的分配工作。

        1 VSTO技術(shù)的優(yōu)勢

        VSTO不像VBA那樣嵌入在Office產(chǎn)品中,而是借助.Net平臺集成在Visual Studio集成開發(fā)環(huán)境(IDE)中,進(jìn)而提升了代碼編輯能力,使開發(fā)人員更容易使用托管控件來擴展Office解決方案,為開發(fā)人員帶來更直觀的設(shè)計、開發(fā)和調(diào)試體驗,可以對Office創(chuàng)建應(yīng)用程序級別的插件,從而開發(fā)自己的程序功能來滿足各種應(yīng)用中的不同需求。因此,通過VSTO開發(fā)Office相對VBA更具有靈活性,在使用上也更具有便利性。

        在自控工程設(shè)計中,Excel軟件常作為自控專業(yè)的出圖工具,用來制作儀表索引表、I/O分配表以及儀表規(guī)格書等。雖然Excel軟件具有強大的制表、計算等功能,在處理表格文件中體現(xiàn)的優(yōu)勢非常明顯,可以用來創(chuàng)建報表,對數(shù)據(jù)進(jìn)行復(fù)雜的操作和分析、打印等。但目前在傳統(tǒng)設(shè)計模式下,并未完全發(fā)揮出Excel軟件的強大功能,大部分設(shè)計信息數(shù)據(jù)還需人工錄入,特別是很多重復(fù)性的數(shù)據(jù)不能像INtools軟件那樣基于數(shù)據(jù)庫一次錄入和重復(fù)使用。而人工重復(fù)錄入數(shù)據(jù),極易出現(xiàn)筆誤等類似錯誤,同時在成品圖格式上也易出現(xiàn)不統(tǒng)一的問題,這將影響成品圖紙的可讀性,從而使出圖質(zhì)量變差。因此,很有必要通過VSTO技術(shù)定制Excel功能插件,將復(fù)雜的工作簡化,充分發(fā)揮VSTO技術(shù)本身的優(yōu)勢,有效提高設(shè)計工作的效率,并減少非設(shè)計原因造成的錯誤。

        2 I/O分配表的設(shè)計分析

        根據(jù)中國石油化工集團(tuán)公司發(fā)布的SHSG—053—2011《石油化工裝置詳細(xì)設(shè)計內(nèi)容規(guī)定》,儀表索引表及I/O分配表應(yīng)是儀表專業(yè)詳細(xì)工程設(shè)計文件的組成部分,其中儀表索引表包含的信息數(shù)據(jù)最全面,各個設(shè)計表格文件內(nèi)的信息都應(yīng)通過儀表索引得到反映,I/O分配表也不例外。因此,可以將必要的信息從儀表索引表中提取,制作I/O分配表。但如此大批量的數(shù)據(jù)提取工作采用傳統(tǒng)的人工錄入方式時,效率不但得不到提高,而且錯誤率也增加。而這些工作完全可以通過VSTO技術(shù)定制對應(yīng)的程序功能,批量生成I/O分配表來完成,大大改善因人工錄入產(chǎn)生的錯誤。同時減少了工作強度及工時消耗,提高工作效率和準(zhǔn)確性,進(jìn)一步保證有充足的時間來發(fā)現(xiàn)、分析、解決設(shè)計工作中存在的問題。以下將分析通過VSTO技術(shù)定制Excel插件,實現(xiàn)I/O分配表設(shè)計工作的過程。

        a)創(chuàng)建Excel格式的模板文件。該模板應(yīng)包含儀表索引表及I/O分配表,并完全可以利用以前項目使用的通用Excel設(shè)計文件格式,即項目設(shè)計中最后成品圖的格式文件。對于每個項目而言,I/O分配表的設(shè)計相對一致,具有通用性,模板都應(yīng)能反映I/O卡件類型及點數(shù),卡件冗余信息等。當(dāng)然主要信息必不可少,例如信號的位號、用途、儀表或信號名稱、輔助設(shè)備等。同時,儀表索引表模板也應(yīng)體現(xiàn)出I/O分配表中的信息。

        b)錄入I/O分配表數(shù)據(jù)信息。由于該數(shù)據(jù)源自儀表索引表,包括位號、儀表類型、用途及輔助設(shè)備等,因此源數(shù)據(jù)是在儀表索引表中錄入的。若數(shù)據(jù)源自INtools文件,應(yīng)將詳細(xì)的儀表索引或I/O索引從INtools軟件中導(dǎo)出為Excel文件格式,然后再通過定制的插件,錄入并完善相關(guān)數(shù)據(jù)信息。

        c)導(dǎo)出數(shù)據(jù),批量生成I/O分配表。使用插件將眾多I/O分配表的數(shù)據(jù)信息從儀表索引表中導(dǎo)出,批量生成I/O分配表。同時還應(yīng)考慮出圖的先后順序,排列順序可設(shè)定為AI—AO—DI— DO—PI—PO—AIR—AOR—DIR—DOR—PIR—POR(A為模擬量;D為數(shù)字量;P為脈沖;I為輸入;O為輸出;R為冗余),即先輸出非冗余I/O卡件的分配表,再輸出冗余I/O卡件的分配表。同時,卡件類型按I/O類型的字母順序排列。

        d)校核I/O分配表。批量出圖后應(yīng)該及時校核,這項工作對于設(shè)計人員來說是必不可少的程序。它可以完善一些可能的后續(xù)工作,進(jìn)一步保證生成圖紙的準(zhǔn)確性,達(dá)到成品圖的要求。

        3 定制插件

        利用VSTO技術(shù)完成上述I/O分配功能,即開發(fā)Excel應(yīng)用程序的插件,就是表現(xiàn)形式為.dll的程序集(Excel COM加載項)。而Excel COM加載項的突出優(yōu)勢是它可以在需要Excel應(yīng)用程序時創(chuàng)建該程序,并和Excel應(yīng)用程序在同一個進(jìn)程中運行。而且使用Visual Studio集成開發(fā)環(huán)境,開發(fā)流程也變得更簡單。只需根據(jù)開發(fā)環(huán)境向?qū)Ыxcel 2003外接程序框架,然后再編寫定制的功能程序,并生成Excel COM的安裝程序,最后在客戶機上部署安裝即可。

        筆者開發(fā)的插件在Excel 2003應(yīng)用程序的菜單項中添加了自定義功能菜單。添加該菜單需編寫程序代碼,在Excel 2003應(yīng)用程序啟動時添加菜單。該代碼應(yīng)在ThisAddIn_Startup子程序過程中編寫實現(xiàn)。為了實現(xiàn)I/O分配功能,設(shè)計了專用的功能窗口(Form),由自定義功能菜單對應(yīng)的菜單命令調(diào)出,如圖1所示。

        圖1 自定義功能菜單

        具體的I/O分配功能是在對應(yīng)的功能窗口中通過編程實現(xiàn)的。程序首先會在調(diào)出該窗口時對指定的儀表索引表進(jìn)行初始化,得到儀表索引表所反映的項目信息,并獲取模板參數(shù)的設(shè)置信息,如位號、I/O類型等字段所在模板的列表位置等。然后通過“統(tǒng)計”子程序?qū)⒛壳霸O(shè)計的I/O分配信息數(shù)據(jù)反映到界面的兩個數(shù)據(jù)瀏覽器中。

        I/O分配功能開發(fā)完畢后,通常都需要將其部署到客戶的使用環(huán)境中。而用戶運行一個.Net應(yīng)用程序必須滿足兩方面需求:環(huán)境需求,即程序集的支持;安全性需求,即用戶要有足夠權(quán)限來執(zhí)行應(yīng)用程序。因此,對于.Net Excel應(yīng)用程序來說,部署并不是簡單將程序和文檔復(fù)制到客戶機上,而是先在客戶機上安裝托管程序運行環(huán)境。為此需要安裝4個程序:.net framework 3.5,Microsoft Office(含SP1或SP2),Office 2003 PIA(主互操作集)及VSTO運行庫,之后再安裝VSTO開發(fā)完成的插件Excel_InstCtrl_Tools.msi(在文件夾“bin\\debug\\”下)。此時,客戶機的注冊表中才會注冊該Excel COM加載項。最后還應(yīng)對其安全性進(jìn)行設(shè)置。VSTO本身沒有添加安全性功能,但可以使用.Net框架附帶的安全性功能,以及Office 2003中已有的安全性功能。筆者在部署該應(yīng)用程序時,采用了編程方式,即使用程序代碼控制Caspol工具進(jìn)行部署。這樣,客戶只要安裝應(yīng)用程序便可完成部署,既安全又方便。具體操作中,建立一個批處理文檔,將客戶機安裝目錄下(C:\Program Files\FanWenJin\Excel_InstCtrl_Tools)的Excel_InstCtrl_Tools.dll程序集權(quán)限設(shè)置為“完全信任”(FullTrust)即可,命令參數(shù)及程序代碼如下:

        4 結(jié)束語

        該插件不僅可以完善INtools軟件二次開發(fā)方面的不足,還提高了傳統(tǒng)設(shè)計模式的工作效率。經(jīng)過在多個項目設(shè)計中的使用,該插件修復(fù)了一些漏洞,并逐步升級了程序,其準(zhǔn)確性得到很大提高,并進(jìn)一步提高了項目自控設(shè)計的工作效率,明顯降低了設(shè)計人員的勞動強度和工時消耗。同時,筆者還根據(jù)自控工程設(shè)計需要擴展了該插件,使其可以在傳統(tǒng)設(shè)計模式下對儀表安裝和電纜敷設(shè)材料進(jìn)行自動統(tǒng)計,使設(shè)計工作更加自動化。此外,應(yīng)該注意的是,在使用該插件前,需要針對不同項目的特殊性設(shè)置Excel模板文件的自定義屬性參數(shù),以便插件在初始化時讀取。

        [1] 項飛.INtools軟件綜述及其二次開發(fā)[J].石油化工自動化,2007,43(04):57-60.

        [2] 隋明新,方留安,姜秀君.了解和應(yīng)用INtools儀表設(shè)計管理軟件[J].石油化工自動化,2004,40(05):5-8.

        [3] 馬東寧.INtools軟件在儀表專業(yè)工程設(shè)計中的應(yīng)用[J].石油化工自動化,2003,39(06):9-12.

        [4] KATHLEEN MG,PAUL S.VSTO for Mere Mortals[M].Boston:Pearson Education Inc,2007.

        [5] 苑青,孔捷,冷靜.利用VSTO和.NET的Office開發(fā)技術(shù)[J].電腦編程技巧與維護(hù),2009(06):10-12.

        [6] KATHLEEN MG,PAUL S.VSTO開發(fā)者指南[M].李永倫,譯.北京:機械工業(yè)出版社,2009.

        [7] 鄭宇軍,朱連軍.新一代.NET Office開發(fā)指南Excel篇[M].北京:清華大學(xué)出版社,2006.

        [8] 朱強,原小艷.托管Office COM加載項的設(shè)計與實現(xiàn)[J].計算機時代,2006,24(04):11-13.

        [9] 陸德民,張振基,董步余.石油化工自動控制設(shè)計手冊[M].3版.北京:化學(xué)工業(yè)出版社,2000.

        [10] 中國石油化工集團(tuán)公司.SHSG—053—2011石油化工裝置詳細(xì)設(shè)計內(nèi)容規(guī)定[S].中國石化集團(tuán)洛陽石油化工工程公司,2011.

        猜你喜歡
        卡件插件石油化工
        《石油化工應(yīng)用》2022年征訂啟事
        Ovation系統(tǒng)VP卡件可靠性研究及預(yù)控措施
        自編插件完善App Inventor與樂高機器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        淺析中控DeltaV系統(tǒng)卡件檢查方法
        天津科技(2018年5期)2018-06-01 09:45:02
        《石油化工建設(shè)》第40卷總目次
        火電廠新華控制系統(tǒng)網(wǎng)絡(luò)及卡件升級改造
        石油化工工藝的探討
        《石油化工腐蝕與防護(hù)》2016年(第33卷)1~6期分類索引
        MapWindowGIS插件機制及應(yīng)用
        關(guān)于DCS冗余配置方案的探討
        精品国内在视频线2019| 中文人妻无码一区二区三区信息| 在线看亚洲十八禁网站| 国产在线观看黄片视频免费| 日本一级片一区二区三区| 久久精品中文字幕| 国产成人精品久久综合| 国产午夜成人久久无码一区二区 | 国产精品一区二区三区不卡| 亚洲熟女一区二区三区不卡| 国产精品久久久黄色片| 极品少妇hdxx麻豆hdxx | 国产成人午夜福利在线观看| 久久久久久久久久久国产| 色综合自拍| 国产精品一卡二卡三卡| 黑丝国产精品一区二区| 日本加勒比精品一区二区视频 | 午夜被窝精品国产亚洲av香蕉| 欧美成人精品a∨在线观看| 边啃奶头边躁狠狠躁| 男人的天堂在线无码视频| 国产美女冒白浆视频免费| 狂猛欧美激情性xxxx大豆行情| 国产av无码专区亚洲av蜜芽| 国产成人亚洲不卡在线观看| 不卡a v无码在线| 亚洲精品成人久久av| 91亚洲国产成人精品一区.| 狠狠摸狠狠澡| 亚洲永久精品ww47| 精品国偷自产在线不卡短视频| av资源在线永久免费观看| 男女视频在线观看一区| 永久免费观看国产裸体美女 | 亚洲国产精品成人精品无码区在线| 亚洲男人av天堂午夜在| 国产成人免费a在线视频| 亚洲视频一区二区久久久| av手机免费在线观看高潮| 中文字幕av一区二区三区人妻少妇|