油氣儲(chǔ)運(yùn)網(wǎng)

標(biāo)題: Pdms Lexicon模塊教程-自定義UDETWLD UWLRD講解 [打印本頁(yè)]

作者: PDMS教程    時(shí)間: 2016-9-25 13:31
標(biāo)題: Pdms Lexicon模塊教程-自定義UDETWLD UWLRD講解
Pdms Lexicon模塊用于自定義元件屬性、自定義元件類(lèi)型等等。該模塊在項(xiàng)目中也要用到,屬于pdms重要模塊。Lexicon模塊提供了DBVWWL,DSTWLD,DSXWLD,REVCWL,STAWLD,UDETWLD,UWLRD共7種類(lèi)型,本文只講解UDETWLD,UWLRD兩種。
1.        lexicon注意事項(xiàng):
進(jìn)入lexicon模塊需要以下兩個(gè)條件:  a)、以free用戶登錄PDMS,普通的general用戶是無(wú)法訪問(wèn)該模塊的; b)、必須有一個(gè)類(lèi)型為DICT的DB來(lái)存儲(chǔ)自定義的數(shù)據(jù),且該DB需要在所選擇的MDB中。
2、UWLRD自定義屬性
UWLRD就是我們通常說(shuō)的UDA,User Defined Attribute的簡(jiǎn)稱, 自定義屬性是對(duì)PDMS基本屬性和隱藏屬性的一個(gè)重要補(bǔ)充。由于PDMS中所有元件類(lèi)型的系統(tǒng)屬性是可以枚舉完的,當(dāng)發(fā)現(xiàn)系統(tǒng)屬性中并沒(méi)有適合我們使用的屬性類(lèi)型時(shí),就可以利用UDA進(jìn)行自定義屬性。
2.1、數(shù)據(jù)層次
UDA有3級(jí)數(shù)據(jù)層次:
UWRL  -  UDA World
UGRO  -  UDA  Group  該層次可有可無(wú),但強(qiáng)烈建議使用。使用該層次,可以有效的管理UDA
UDA    -  UDA  實(shí)際元件層
2.2、建立管理層
既可以通過(guò)菜單欄來(lái)創(chuàng)建管理層,也可以通過(guò)命令行來(lái)創(chuàng)建。
2.2.1、界面創(chuàng)建UWRL

2.2.2、命令行創(chuàng)建UWRL
NEW UWRL
在比較老的PDMS版本下,可能沒(méi)有界面創(chuàng)建,只能使用命令行來(lái)創(chuàng)建。 
2.2.3、創(chuàng)建UGRO
創(chuàng)建UGRO的方法與UWRL相同,此處不再贅述。
2.3、創(chuàng)建UDA
UDA的創(chuàng)建方法與創(chuàng)建其管理層的方法相同,此處我們創(chuàng)建一個(gè)UDA,用于存儲(chǔ)設(shè)備的類(lèi)型。
2.4、UDA屬性
創(chuàng)建完UDA后,會(huì)發(fā)現(xiàn)UDA有大量的屬性需要填寫(xiě),列表如下:

2.5、屬性說(shuō)明
2.5.1、Description
該屬性在非Lexicon模塊中,實(shí)際上是看不到的,但寫(xiě)上以后,便于管理員后期維護(hù)。此處我們填寫(xiě)'設(shè)備類(lèi)型'。
2.5.2、UDA Type
該屬性指定了數(shù)據(jù)類(lèi)型,此處點(diǎn)擊右側(cè)的下拉菜單,可以看到有多個(gè)選項(xiàng)。比如整型、字符串型、布爾型、日期型、以及還有PDMS特有的direction型和position型等等。此處我們選擇'text',即字符串型。
2.5.3、UDA Length
該屬性指定了數(shù)據(jù)類(lèi)型的長(zhǎng)度。此處我們?cè)O(shè)置為10
2.5.4、Element Types
該屬性用于定義UDA賦予給PDMS哪些類(lèi)型的元素。即可以直接輸入,也可以點(diǎn)擊后,通過(guò)界面選取。

一個(gè)UDA可以賦給多個(gè)類(lèi)型的元素,此處我們只將該UDA賦給了EQUI類(lèi)型的元素,如果我們繼續(xù)將該屬性賦給ZONE類(lèi)型的元素也是可以的。
2.5.5、UDA Default
指定UDA的默認(rèn)值。此處我們?cè)O(shè)置為PUMP。
2.5.6、User-Defined name
UDA的名稱,該屬性非常重要,是UDA展現(xiàn)在其他模塊中的名稱。此處我們命名為EquipType。
2.5.7、Valid Values
指定UDA的有效值區(qū)間,可以用來(lái)對(duì)UDA的值進(jìn)行約束。
此處的寫(xiě)法是有要求的,如果是實(shí)數(shù)的話,應(yīng)寫(xiě)為如 0-10,表示在0到10之間。如果是字符串的話,其值必須用單引號(hào)或|將值框在里面,如|PUMP|。如果是多個(gè)并列值得話,值之間用逗號(hào)分隔。此處我們寫(xiě)為|PUMP|,|TANK|。
2.6、UDA校驗(yàn)
此時(shí)我們打開(kāi)design模塊,選擇一個(gè)EQUI后,輸入Q ATT查詢屬性,會(huì)發(fā)現(xiàn)在系統(tǒng)屬性后面多了如下一行,
:EquipType PUMP
注意:剛才我們命名是并沒(méi)有加上':',此處是PDMS自動(dòng)加上的標(biāo)識(shí)符,用于區(qū)分UDA和系統(tǒng)自帶的屬性。
我們將該屬性的值改為T(mén)ANK,修改成功,如果我們將其改為XXXX,會(huì)提示錯(cuò)誤,值不在有效值的范圍內(nèi)。
2.7、UDA結(jié)語(yǔ)
UDA和PDMS系統(tǒng)屬性在操作上完全相同,查詢,修改等用法均相同。同時(shí)在利用PML編程時(shí)候,也完全等價(jià)于系統(tǒng)屬性。

3、UDET自定義元件類(lèi)型
相對(duì)于UDA的普遍使用,UDET的使用并不算常見(jiàn)。UDET是User Defined Element Types的簡(jiǎn)稱,即用戶自定義元件類(lèi)型?梢酝ㄟ^(guò)定義UDET來(lái)實(shí)現(xiàn)一些特殊的需求。
3.1、數(shù)據(jù)層次
同UDA一樣,UDET也有3級(jí)數(shù)據(jù)層次:
UDETWL  -  UDET world
UDETGR  -  UDET group
UDET      -  UDET
細(xì)心的讀者可能會(huì)發(fā)現(xiàn),UDET的數(shù)據(jù)層次與UDA完全相同,實(shí)際上不但他們的數(shù)據(jù)層次相同,其創(chuàng)建方法也相同,都有界面和命令行兩種。大家可以參考UDA數(shù)據(jù)層次的創(chuàng)建方法,來(lái)創(chuàng)建UDET的數(shù)據(jù)層次。但UDET與UDA卻有完全不同的屬性。
3.2、UDET屬性

3.2.1、Description
該屬性也是一個(gè)說(shuō)明性的屬性,此處我們填寫(xiě)'設(shè)備'。
3.2.2、User-Defined name
UDET的名稱,該屬性非常重要,是UDET在其他模塊新建的層次類(lèi)型名,此處我們命名為T(mén)ANK。
3.2.3、Base type
基礎(chǔ)類(lèi)型,此處要特別注意,自定義的元件類(lèi)型必須是等價(jià)于PDMS已知的元件類(lèi)型的一種,并不能創(chuàng)建一個(gè)PDMS中完全不存在的類(lèi)型。筆者認(rèn)為這是導(dǎo)致UDET比較雞肋的一個(gè)重要原因。點(diǎn)擊右側(cè)的下拉選項(xiàng),選擇一個(gè)PDMS的已知類(lèi)型。

3.2.3、Owner types 和Member Types
這兩個(gè)屬性是不需要用戶定義的,當(dāng)選擇完Base type后,程序?qū)⒆詣?dòng)獲取。
3.2.4、Hidden attributes
隱藏屬性,選擇完Base type后,該UDET將自動(dòng)繼承其等價(jià)類(lèi)型的所有基礎(chǔ)屬性,但是否繼承其隱藏屬性,是可以通過(guò)面板來(lái)設(shè)置的。界面如下:

3.3、UDET校驗(yàn)
我們打開(kāi)design模塊,選擇某個(gè)zone后,在命令行里輸入new :TANK,將會(huì)在zone層下新建一個(gè)類(lèi)型為:TANK的元件:

注意:此處必須寫(xiě)new :tank,:不能漏掉,否則會(huì)提示語(yǔ)法錯(cuò)誤。

3.4、UDET結(jié)語(yǔ)
UDET和PDMS本身的元件類(lèi)型在各方面完全相同。同時(shí)在利用PML編程時(shí)候,也可以利用collect語(yǔ)句收集或var語(yǔ)句求值。

作者: landem    時(shí)間: 2016-10-10 21:44
很好的教程,學(xué)習(xí)了
作者: 976528095    時(shí)間: 2016-11-15 08:59
謝謝分享。學(xué)習(xí)了
作者: 976528095    時(shí)間: 2016-11-15 08:59
謝謝分享。學(xué)習(xí)了

作者: 976528095    時(shí)間: 2016-11-15 08:59
謝謝分享。學(xué)習(xí)了

作者: junlee320    時(shí)間: 2016-12-14 21:53
非常感謝分享這么實(shí)用的
作者: liujq    時(shí)間: 2017-1-8 09:14
謝謝分享,學(xué)習(xí)了
作者: zhj2387    時(shí)間: 2017-3-3 11:23
學(xué)習(xí)了,謝謝
作者: lin005    時(shí)間: 2017-3-4 08:42
謝謝分享。學(xué)習(xí)了
平時(shí)都不會(huì)去這個(gè)模塊的!
作者: d272504    時(shí)間: 2017-5-25 09:38
好東西謝謝分享
作者: taotao201768    時(shí)間: 2017-8-31 15:47
繼續(xù)關(guān)注,期待下一篇!
作者: Guitarist    時(shí)間: 2017-11-7 14:38
很好的教程,學(xué)習(xí)了
作者: liuzhuo518    時(shí)間: 2017-11-8 10:35
拜讀了,謝謝分享,
作者: 駱駝    時(shí)間: 2018-2-11 14:13
謝謝分享。學(xué)習(xí)了
作者: zxt2018    時(shí)間: 2019-2-14 18:44
謝謝分享 謝謝分享
作者: 趙瑞祥_(kāi)X77T5    時(shí)間: 2019-5-14 21:45
還是要謝謝分享的,但是我為什么創(chuàng)建new UDA world的時(shí)候提示read only DB,應(yīng)該怎么解決呢?{:4_96:}
作者: 崔夢(mèng)圓    時(shí)間: 2020-4-21 14:38
很好的資料,謝謝分享
作者: 崔夢(mèng)圓    時(shí)間: 2020-4-21 17:27
很好,很喜歡,謝謝樓主
作者: NINI2023    時(shí)間: 2023-6-29 09:37
好東西 謝謝分享
作者: hu331696007    時(shí)間: 2023-7-17 13:34
這在做這塊的內(nèi)容,學(xué)習(xí)了




歡迎光臨 油氣儲(chǔ)運(yùn)網(wǎng) (http://tqvl.cn/) Powered by Discuz! X3.4