|
PDMS Lexicon模塊用于自定義元件屬性、自定義元件類型等等。該模塊在項(xiàng)目中也要用到,屬于pdms重要模塊。Lexicon模塊提供了DBVWWL,DSTWLD,DSXWLD,REVCWL,STAWLD,UDETWLD,UWLRD共7種類型,本文只講解UDETWLD,UWLRD兩種。
1. lexicon注意事項(xiàng):
進(jìn)入lexicon模塊需要以下兩個條件: a)、以free用戶登錄PDMS,普通的general用戶是無法訪問該模塊的; b)、必須有一個類型為DICT的DB來存儲自定義的數(shù)據(jù),且該DB需要在所選擇的MDB中。
2、UWLRD自定義屬性
UWLRD就是我們通常說的UDA,User Defined Attribute的簡稱, 自定義屬性是對PDMS基本屬性和隱藏屬性的一個重要補(bǔ)充。由于PDMS中所有元件類型的系統(tǒng)屬性是可以枚舉完的,當(dāng)發(fā)現(xiàn)系統(tǒng)屬性中并沒有適合我們使用的屬性類型時,就可以利用UDA進(jìn)行自定義屬性。
2.1、數(shù)據(jù)層次
UDA有3級數(shù)據(jù)層次:
UWRL - UDA World
UGRO - UDA Group 該層次可有可無,但強(qiáng)烈建議使用。使用該層次,可以有效的管理UDA
UDA - UDA 實(shí)際元件層
2.2、建立管理層
既可以通過菜單欄來創(chuàng)建管理層,也可以通過命令行來創(chuàng)建。
2.2.1、界面創(chuàng)建UWRL
072239425065144.png (34.62 KB, 下載次數(shù): 315)
下載附件
保存到相冊
2016-9-25 13:27 上傳
2.2.2、命令行創(chuàng)建UWRL
NEW UWRL
在比較老的PDMS版本下,可能沒有界面創(chuàng)建,只能使用命令行來創(chuàng)建。
2.2.3、創(chuàng)建UGRO
創(chuàng)建UGRO的方法與UWRL相同,此處不再贅述。
2.3、創(chuàng)建UDA
UDA的創(chuàng)建方法與創(chuàng)建其管理層的方法相同,此處我們創(chuàng)建一個UDA,用于存儲設(shè)備的類型。
2.4、UDA屬性
創(chuàng)建完UDA后,會發(fā)現(xiàn)UDA有大量的屬性需要填寫,列表如下:
072255070063317.png (23.85 KB, 下載次數(shù): 311)
下載附件
保存到相冊
2016-9-25 13:28 上傳
2.5、屬性說明
2.5.1、Description
該屬性在非Lexicon模塊中,實(shí)際上是看不到的,但寫上以后,便于管理員后期維護(hù)。此處我們填寫'設(shè)備類型'。
2.5.2、UDA Type
該屬性指定了數(shù)據(jù)類型,此處點(diǎn)擊右側(cè)的下拉菜單,可以看到有多個選項(xiàng)。比如整型、字符串型、布爾型、日期型、以及還有PDMS特有的direction型和position型等等。此處我們選擇'text',即字符串型。
2.5.3、UDA Length
該屬性指定了數(shù)據(jù)類型的長度。此處我們設(shè)置為10
2.5.4、Element Types
該屬性用于定義UDA賦予給PDMS哪些類型的元素。即可以直接輸入,也可以點(diǎn)擊后,通過界面選取。
072305032258933.png (29.18 KB, 下載次數(shù): 310)
下載附件
保存到相冊
2016-9-25 13:28 上傳
一個UDA可以賦給多個類型的元素,此處我們只將該UDA賦給了EQUI類型的元素,如果我們繼續(xù)將該屬性賦給ZONE類型的元素也是可以的。
2.5.5、UDA Default
指定UDA的默認(rèn)值。此處我們設(shè)置為PUMP。
2.5.6、User-Defined name
UDA的名稱,該屬性非常重要,是UDA展現(xiàn)在其他模塊中的名稱。此處我們命名為EquipType。
2.5.7、Valid Values
指定UDA的有效值區(qū)間,可以用來對UDA的值進(jìn)行約束。
此處的寫法是有要求的,如果是實(shí)數(shù)的話,應(yīng)寫為如 0-10,表示在0到10之間。如果是字符串的話,其值必須用單引號或|將值框在里面,如|PUMP|。如果是多個并列值得話,值之間用逗號分隔。此處我們寫為|PUMP|,|TANK|。
2.6、UDA校驗(yàn)
此時我們打開design模塊,選擇一個EQUI后,輸入Q ATT查詢屬性,會發(fā)現(xiàn)在系統(tǒng)屬性后面多了如下一行,
:EquipType PUMP
注意:剛才我們命名是并沒有加上':',此處是PDMS自動加上的標(biāo)識符,用于區(qū)分UDA和系統(tǒng)自帶的屬性。
我們將該屬性的值改為TANK,修改成功,如果我們將其改為XXXX,會提示錯誤,值不在有效值的范圍內(nèi)。
2.7、UDA結(jié)語
UDA和PDMS系統(tǒng)屬性在操作上完全相同,查詢,修改等用法均相同。同時在利用PML編程時候,也完全等價于系統(tǒng)屬性。
3、UDET自定義元件類型
相對于UDA的普遍使用,UDET的使用并不算常見。UDET是User Defined Element Types的簡稱,即用戶自定義元件類型?梢酝ㄟ^定義UDET來實(shí)現(xiàn)一些特殊的需求。
3.1、數(shù)據(jù)層次
同UDA一樣,UDET也有3級數(shù)據(jù)層次:
UDETWL - UDET world
UDETGR - UDET group
UDET - UDET
細(xì)心的讀者可能會發(fā)現(xiàn),UDET的數(shù)據(jù)層次與UDA完全相同,實(shí)際上不但他們的數(shù)據(jù)層次相同,其創(chuàng)建方法也相同,都有界面和命令行兩種。大家可以參考UDA數(shù)據(jù)層次的創(chuàng)建方法,來創(chuàng)建UDET的數(shù)據(jù)層次。但UDET與UDA卻有完全不同的屬性。
3.2、UDET屬性
112130460147285.png (22.54 KB, 下載次數(shù): 302)
下載附件
保存到相冊
2016-9-25 13:29 上傳
3.2.1、Description
該屬性也是一個說明性的屬性,此處我們填寫'設(shè)備'。
3.2.2、User-Defined name
UDET的名稱,該屬性非常重要,是UDET在其他模塊新建的層次類型名,此處我們命名為TANK。
3.2.3、Base type
基礎(chǔ)類型,此處要特別注意,自定義的元件類型必須是等價于PDMS已知的元件類型的一種,并不能創(chuàng)建一個PDMS中完全不存在的類型。筆者認(rèn)為這是導(dǎo)致UDET比較雞肋的一個重要原因。點(diǎn)擊右側(cè)的下拉選項(xiàng),選擇一個PDMS的已知類型。
112136070142553.png (27.87 KB, 下載次數(shù): 299)
下載附件
保存到相冊
2016-9-25 13:30 上傳
3.2.3、Owner types 和Member Types
這兩個屬性是不需要用戶定義的,當(dāng)選擇完Base type后,程序?qū)⒆詣荧@取。
3.2.4、Hidden attributes
隱藏屬性,選擇完Base type后,該UDET將自動繼承其等價類型的所有基礎(chǔ)屬性,但是否繼承其隱藏屬性,是可以通過面板來設(shè)置的。界面如下:
112139404205283.png (27.59 KB, 下載次數(shù): 294)
下載附件
保存到相冊
2016-9-25 13:30 上傳
3.3、UDET校驗(yàn)
我們打開design模塊,選擇某個zone后,在命令行里輸入new :TANK,將會在zone層下新建一個類型為:TANK的元件:
注意:此處必須寫new :tank,:不能漏掉,否則會提示語法錯誤。
3.4、UDET結(jié)語
UDET和PDMS本身的元件類型在各方面完全相同。同時在利用PML編程時候,也可以利用collect語句收集或var語句求值。
|
|