999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PDMS二次開發語言PML與.NET(C#)的對比

2021-04-09 03:58:50南京金凌石化工程設計有限公司
電子世界 2021年2期
關鍵詞:二次開發語言

南京金凌石化工程設計有限公司 魏 恒

PDMS是AVEVA公司的一款三維建模軟件,在石油化工裝置設計過程中被廣泛應用。PDMS支持二次開發,其中二次開發包括.NET及自帶的Programmable Macro Language編程語言(簡稱PML)。通過對比不同環境和需求下.NET和PML的優劣,選擇適合自己的編程語言。

PDMS是英國AVEVA公司設計的旗艦產品。本產品自1977年發布第一個商業版本以來,經歷AVEVA PDMS 11.5、11.6、12.0、12.1等幾個較大版本的更新升級維護。尤其在由11.6到12.0版本升級過程中,AVEVA公司對該軟件進行大量升級,界面采用Office風格。同時,增加了對.NET的支持并發布.NET開發使用說明。自PDMS12.0版本發布以來,基于.NET(C#)進行二次開發的軟件也越來越多,通過對比PML和.NET(C#)語言在不同需求下的編程難易程度、運行效率、語言自身的優缺點等,給出在不同環境下選擇適合的開發語言的合理化建議。

1 PML開發介紹

1.1 PML語言簡介

PML語言為PDMS公司開發的可編程宏語言,是一種解釋型的腳本語言,其只能在PDMS軟件中被解釋執行。自PDMS發布以來便應用于PDMS二次開發。PML開發可以使用PDMS大部分資源,對PDMS版本的敏感度不會特別高,無需進行編譯即可在PDMS上執行。比如,使用PML基于11.5開發通過簡單的匹配即可以在12.1上完美使用。PDMS軟件命令功能模塊大部分模塊基于PML開發,同時伴隨PDMS發展,大量的培訓資料、開發實例等為開發者提供了大量的學習資料。PML語言僅應用于PDMS軟件,初學者無論是否學習過其它開發語言,都可以根據開發說明進行二次開發。

腳本語言的顯著優勢就是將常用的命令封裝出來,這樣在測試程序的新功能時,不再需要編譯源碼,只需編寫程序腳本,能有效提高軟件開發的效率。

1.2 PML開發環境

PML語言可以直接使用文本編輯器進行編程,或者采用部分人員開發的PML界面設計器進行編程。對于初學者,可以通過在PDMS命令欄中輸入常用的PML語句進行設計工作進行簡單的PML學習,再通過《Software Customisation Guide》學習窗體(Forms)、功能(Objects)、函數(Function)、工具(Gadgets)。

(1)窗體(Forms)

窗體是創建一個操作窗口,便于用戶進行可視化操作。在該窗口下,可以創建列表、文本框、功能性按鈕等可視化接口。

(2)功能(Objects)

創建一個功能區,該功能區可以包含多個按鈕,每個按鈕可以指定一個操作窗口。該功能區可以直接進行調用。

(3)函數(Function)

在軟件設計時,通過將所有的函數或者功能進行定制,然后在窗體中進行引用。這樣做的目的是,便于設計者進行調試、歸類管理等。

(4)工具(Gadgets)

在進行軟件設計時,可以設計一個窗體和基于該窗體的若干個工具。為了便于在窗體中進行不同類別的歸納整理,引用該功能。

1.3 PML開發的缺點

因為PML僅僅服務于PDMS的二次開發,所以與其他軟件進行數據交互時,只能將數據轉化導出為表格(XLS,CSV)、文本(TXT)型式,然后再進行數據轉化存儲至其他軟件。無形中增加了多個使用步驟哦,增加了操作難度。目前在各個設計公司均在大量的使用各種類型的設計軟件工作;需要進行大量的數據交互。基于當前PDMS的發展軌跡來說,從12.0開始逐步支持.NET二次開發,逐步使用.NET構架替換PML也可以說明.NET構架也是該軟件發展的主流。再者,PML編程目前仍然非常小眾,沒有比較好用的開發平臺。雖然有部分設計人員,基于自身的開發經驗創建了部分平臺,但仍處于小范圍使用階段;對于擴大PML的影響力毫無用處。再者對于復雜算法,PML執行效率較低,PML命令執行時間過長時,PDMS往往會進入一種假死狀態,導致軟件崩潰。在小范圍內測試,.NET的執行效率約為PML的10倍左右。

2 NET開發介紹

2.1 NET 開發簡介

AVEVA .NET是AVEVA推出的一種更方便的開發方式。結合C#豐富的庫及相對于PML而言更高的效率,可以使用C#在AVEVA上快速的開發出應用程序。+C#是由C和C++衍生出來的面向對象編程語言。它在繼承C和C++強大功能的同時,減少了一些它們的復雜特性。C#是一種面向對象的編程語言,這樣就使得設計人員可以快速、高效地開發各種基于MICROSOFT .NET平臺的程序軟件,同時還可以采用VSTO開放平臺。

2.2 NET開發環境

基于.NET(C#)進行PDMS二次開發可以使用Visual Studio Tools for Office開發平臺進行軟件設計。VSTO是一套用于創建自定義應用程序的Visual Studio工具包,被程序員廣泛采用。VSTO使你可以用Visual C#擴展PDMS應用程序(生成DLL文件被PDMS調用)。可以使用強大的Visual Studio開發環境來開發PDMS應用程序。無論你是創建一個Forms控件,還是創建各種復雜的函數以便于進行數據處理,VSTO都可以實質變得非常容易。在添加對PDMS提供的命名空間后,我們可以輕易的使用.NET(C#)從PDMS獲取各種想要的信息。基于VSTO的可視化開發平臺和豐富的.NET控間資源,開發可以變得非常簡單、高效。

使用.NET(C#)進行PDMS開發時,需要引用以下幾個命名空間:

(1)命名空間:Aveva.ApplicationFramework

插件管理器:這個類提供屬性和方法來管理應用程序框架插件。服務管理器:這個類定義一個接口,應用程序框架中的各種組件可以通過它發布服務。這個服務管理器本身作為一個服務提供者,也可以響應服務的請求,它還可以被應用程序和應用程序插件用于發布額外的服務。設置管理器:這個類提供屬性和方法管理應用程序設置,這些設置保存在設置組中,用于在不同的任務中保持一致。

(2)命名空間:Aveva.ApplicationFramework.Presentation

命令條管理器:提供使用基于應用程序框架程序的菜單和命令條,也提供方法加載用戶接口定制(UIC)文件中定義的菜單和命令條。命令管理器:這個類定義一個接口來提供一種機制管理命令對象可以關聯到工具欄和其他用戶界面對象,當激活一個工具(比如點擊一個按鈕)將執行相應的命令對象。一些不同的用戶界面對象可以關聯相同的命令對象,因此可以在命令中集中控制那些用戶界面對象的功能,命令的這種狀態屬性(例如可用/選中)將可以影響關聯這個命令的所有用戶界面對象,例如,命令設置為不可用后將導致所有關聯的用戶界面對象不可用,用戶界面對象通過CommandExecutor派生類關聯命令。資源管理器:這個類定義一個接口給插件提供一種簡單的機制來存取本地資源。資源管理器提供一些方法允許插件存取資源文件包含的各種形式的資源(字符串,圖像,光標,圖標等)。窗口管理器:提供存取主程序窗口,狀態欄,多文檔界面集合和可停靠窗口,也給開發者提供方法生成多文檔界面和可停靠窗口來包含控件。

(3)命名空間:Aveva.Pdms.Database

數據服務管理:用于打開一個項目。數據屬性管理:一是用于類實例屬性的識別和傳輸;二是提供方法允許檢索一個屬性的元數據,例如類型,范圍,名稱,是否是隱含屬性等等,這個類對于系統屬性和用戶自定義屬性也有效。

2.3 NET開發的缺點

使用.NET進行程序開發時,程序調試非常的不方便,只能先封裝在運行PDMS進行測試,測試結果只能顯示該程序是否有問題,不能確認問題出在哪里。只能由開發人員自行檢查代碼,找到問題。當生成的C#庫DLL文件被PDMS加載后,便不可以卸載;如我需要修改代碼,則需要退出PDMS,嚴重影響開發效率。

結論:綜上所述:在實現簡單功能的二次開發中,需要根據不同項目的需求選擇相應的開發語言進行軟件開發。從數據來源的角度來說,如果僅僅對PDMS內部數據處理,不需要與其他軟件進行數據交互;則直接采用PML語言進行設計較為簡單高效;反之則應使用.NET(C#)平臺。從數據處理效率來說,當軟件內容較為復雜或數據處理量比較大時,使用.NET(C#)平臺進行二次開發來提升運行效率則顯得尤為重要。而在部分環境下,不僅需要軟件進行PDMS內部數據處理,還需要與其他軟件進行數據交互,軟件數據量處理量比較大時,則需要二者結合使用;使用PML進行內部數據處理、數據的運算工作則使用C#進行開發是最有效的解決辦法。

猜你喜歡
二次開發語言
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
讓語言描寫搖曳多姿
多向度交往對語言磨蝕的補正之道
累積動態分析下的同聲傳譯語言壓縮
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
我有我語言
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 中文字幕永久在线观看| 综合天天色| 色婷婷色丁香| 亚洲中文字幕av无码区| 五月婷婷伊人网| 亚洲人成人伊人成综合网无码| 国产欧美日韩在线一区| 成人午夜视频在线| 国产小视频在线高清播放| 成人福利在线免费观看| 久久久久无码精品国产免费| 亚洲成人精品| 亚洲AV无码一区二区三区牲色| 国产女主播一区| 91黄色在线观看| 国产成年女人特黄特色毛片免 | 亚洲免费黄色网| 精品视频一区二区观看| 欧美视频在线观看第一页| 日本少妇又色又爽又高潮| 一级毛片免费观看久| 午夜日b视频| 一区二区三区四区在线| 国产精品中文免费福利| 国产情精品嫩草影院88av| 欧美日韩精品在线播放| 久久精品无码一区二区日韩免费| 国产精品va| 国产91小视频在线观看| 精品一區二區久久久久久久網站| 欧美精品色视频| 亚洲熟女中文字幕男人总站| 亚洲人成在线免费观看| 亚洲va在线观看| 国产成人免费视频精品一区二区 | 亚洲午夜天堂| 国产黄在线观看| 国产一线在线| 亚洲视频色图| 婷婷中文在线| 精品一区二区无码av| 在线视频亚洲色图| 丁香婷婷激情综合激情| 四虎精品国产永久在线观看| 日韩A∨精品日韩精品无码| 欲色天天综合网| 国产精品嫩草影院av| 天堂亚洲网| 色婷婷视频在线| 在线综合亚洲欧美网站| 在线日韩日本国产亚洲| 国内99精品激情视频精品| 日韩欧美91| 国产尹人香蕉综合在线电影 | 亚洲动漫h| 久久永久免费人妻精品| 九九视频免费在线观看| 国产免费羞羞视频| 制服丝袜一区二区三区在线| 麻豆AV网站免费进入| 国产一区成人| 无码一区中文字幕| 色爽网免费视频| 在线播放真实国产乱子伦| 99精品免费欧美成人小视频 | 亚洲视频在线青青| 永久免费精品视频| 99热国产在线精品99| 久久大香香蕉国产免费网站| 日本不卡在线视频| 亚洲欧美综合在线观看| 欧美在线一二区| 欧美在线国产| 在线观看91精品国产剧情免费| 精品一区二区三区四区五区| 无码日韩精品91超碰| 97视频在线观看免费视频| 无码又爽又刺激的高潮视频| 人妻少妇久久久久久97人妻| 中文字幕在线看视频一区二区三区| 青青草原国产一区二区| 欧美中文字幕一区|