PDMS是AVEVA公司的一款工廠設計項目軟件,PDMS支持二次開發,其中二次開發包括.net及自帶的Programmable Macro Language編程語言(簡稱PML),由於PML開發可以使用PDMS大部分資源,對PDMS版本的敏感度不會特別高,無需進行編譯即可在PDMS上執行,所以雖然已經有.net等高級編程語言,但PML語言仍是主流的編程語言。
PML編程示例
以下是PML編寫的代碼示例:
1 $*通過在調用宏文件時,傳入相應的參數,使宏可以動態改變參數 2 $* 用法為$m 文件完整名稱 參數1 參數2 …… 3 $* 示例:$m F:\pdms\pyparam.mac pyequip 300 400 600 4 5 NEW EQUIP /$1 6 NEW BOX 7 XLEN $2 YLEN $3 ZLEN $4 8 NEW CYL DIA $3 HEI $4 9 CONN P1 TO P2 OF PREV
將此文件保存為pyparam.mac格式pml的宏文件。
打開pdms的design模塊,將模型樹定位在SITE層,在Command Window中執行如下圖所示代碼(F:\pdms\pyparam.mac為代碼文件的全路徑名稱,需要依據實際進行修改)回車后,會在PDMS中自動創建參數化的設備模型:
PML界面編程示例
代碼參考如下所示:
1 setup form !!layout2 2 3 title 'Form !!layout2' 4 5 path DOWN 6 frame .Tabset TABSET 'tabset' anchor All 7 --Page 1------------------------------------------------- 8 frame .page1 |Page 1| dock Fill 9 10 frame .frame4 'Frame 4' 11 paragraph .Message4 text 'This is a ComboBox gadget' width 18 12 combobox .Colour tagwid 5 'Colour' scroll 20 width 5 tooltip'set/add colour for paragraph' 13 exit 14 15 frame .frame6 'Frame 6' width.frame4 16 halign right 17 paragraph .Message6 text 'These are right aligned text gadgets' width 16 lines 2 18 text .Width tagwid 5 'Width' width 5 is REAL 19 text .Height tagwid 5 'Height' width 5 is REAL 20 text .Area tagwid 5 'Area' width 5 is REAL 21 halign left 22 button .b3 |area| tooltip'calculate the area' 23 exit 24 25 frame .frame5 'Frame 5' at Xmax.frame4+2 Ymin.frame4 anchor All 26 paragraph .Message5 text 'This is a multi-choice list gadget' wid 12 lines 2 27 list .Li1 'Select some of these' anchor all MULTIPLE width 12 height 11 28 button .b1 |print| Anchor L + B tooltip'print list selections' 29 exit 30 exit 31 32 33 exit 34 path right 35 button .CANCEL at XMIN form YMAX form anchor L + B CANCEL 36 button .RESET anchor L + B RESET 37 button .OK at XMAX form-size anchor R+B OK 38 39 exit
1. 將此文件保存為layout2.pmlfrm,並放在PDMS安裝目錄中的PMLLIB子文件夾下。
2. 在Command Window中執行如下兩個命令:
3. 彈出如下pml界面(示例無相關可操作的代碼,僅用於界面顯示)。
PML同樣可以像.net一樣開發交互性更強的界面,但由於沒有可視化的界面設計SDK,導致PML界面開發過程中需要不斷的修改控件的代碼段,調整控件的寬度高度相對位置,來保證控件布局與屬性符合實際需要,這個過程即枯燥又繁瑣,如果有一款工具能實現PML界面的設計來提高PDMS二次開發的效率,將會極大滿足工程設計的進度要求。
PML界面設計器
1. 基於已有的程序界面設計器,開發出PML界面設計器AwePml工具。有了這款工具完全可以通過拖拽方式將pml使用的控件放到設計界面上,並使用鼠標進行位置調整,支持控件對齊、復制、粘貼等操作,通過屬性頁可對控件屬性信息配置,如顯示名稱、背景色等。
2. 設計完成后,使用調試功能可以一鍵在pdms中打開已設計好的界面,方便查看與調試,大大簡化了pml界面開發過程。
總結
通過pml界面設計器可以解決實際工程應用中的痛點,后續會不斷完善和優化此設計器的功能。如果有需要軟件和操作說明的可以通過郵箱聯系,工具完全免費,只是希望能提高開發效率。有其他工程開發需求也可以通過郵箱聯系,歡迎大家騷擾。