开云平台官方入口

 找回密码
 立即注册

QQ登录

QQ快速登录

一步迅速开始

pdms培训&项目数字化360网
查看: 20024|回复: 19
打印 上一主题 下一主题

[PDMS教程] Pdms Lexicon模块教程-自定义UDETWLD UWLRD讲解

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-25 13:31:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
PDMS Lexicon模块用于自定义元件属性、自定义元件类型等等。该模块在项目中也要用到,属于pdms重要模块。Lexicon模块提供了DBVWWL,DSTWLD,DSXWLD,REVCWL,STAWLD,UDETWLD,UWLRD共7种类型,本文只讲解UDETWLD,UWLRD两种。
1.        lexicon注意事项:
进入lexicon模块需要以下两个条件:  a)、以free用户登录PDMS,普通的general用户是无法访问该模块的; b)、必须有一个类型为DICT的DB来存储自定义的数据,且该DB需要在所选择的MDB中。
2、UWLRD自定义属性
UWLRD就是我们通常说的UDA,User Defined Attribute的简称, 自定义属性是对PDMS基本属性和隐藏属性的一个重要补充。由于PDMS中所有元件类型的系统属性是可以枚举完的,当发现系统属性中并没有适合我们使用的属性类型时,就可以利用UDA进行自定义属性。
2.1、数据层次
UDA有3级数据层次:
UWRL  -  UDA World
UGRO  -  UDA  Group  该层次可有可无,但强烈建议使用。使用该层次,可以有效的管理UDA
UDA    -  UDA  实际元件层
2.2、建立管理层
既可以通过菜单栏来创建管理层,也可以通过命令行来创建。
2.2.1、界面创建UWRL

2.2.2、命令行创建UWRL
NEW UWRL
在比较老的PDMS版本下,可能没有界面创建,只能使用命令行来创建。 
2.2.3、创建UGRO
创建UGRO的方法与UWRL相同,此处不再赘述。
2.3、创建UDA
UDA的创建方法与创建其管理层的方法相同,此处我们创建一个UDA,用于存储设备的类型。
2.4、UDA属性
创建完UDA后,会发现UDA有大量的属性需要填写,列表如下:

2.5、属性说明
2.5.1、Description
该属性在非Lexicon模块中,实际上是看不到的,但写上以后,便于管理员后期维护。此处我们填写'设备类型'。
2.5.2、UDA Type
该属性指定了数据类型,此处点击右侧的下拉菜单,可以看到有多个选项。比如整型、字符串型、布尔型、日期型、以及还有PDMS特有的direction型和position型等等。此处我们选择'text',即字符串型。
2.5.3、UDA Length
该属性指定了数据类型的长度。此处我们设置为10
2.5.4、Element Types
该属性用于定义UDA赋予给PDMS哪些类型的元素。即可以直接输入,也可以点击后,通过界面选取。

一个UDA可以赋给多个类型的元素,此处我们只将该UDA赋给了EQUI类型的元素,如果我们继续将该属性赋给ZONE类型的元素也是可以的。
2.5.5、UDA Default
指定UDA的默认值。此处我们设置为PUMP。
2.5.6、User-Defined name
UDA的名称,该属性非常重要,是UDA展现在其他模块中的名称。此处我们命名为EquipType。
2.5.7、Valid Values
指定UDA的有效值区间,可以用来对UDA的值进行约束。
此处的写法是有要求的,如果是实数的话,应写为如 0-10,表示在0到10之间。如果是字符串的话,其值必须用单引号或|将值框在里面,如|PUMP|。如果是多个并列值得话,值之间用逗号分隔。此处我们写为|PUMP|,|TANK|。
2.6、UDA校验
此时我们打开design模块,选择一个EQUI后,输入Q ATT查询属性,会发现在系统属性后面多了如下一行,
:EquipType PUMP
注意:刚才我们命名是并没有加上':',此处是PDMS自动加上的标识符,用于区分UDA和系统自带的属性。
我们将该属性的值改为TANK,修改成功,如果我们将其改为XXXX,会提示错误,值不在有效值的范围内。
2.7、UDA结语
UDA和PDMS系统属性在操作上完全相同,查询,修改等用法均相同。同时在利用PML编程时候,也完全等价于系统属性。

3、UDET自定义元件类型
相对于UDA的普遍使用,UDET的使用并不算常见。UDET是User Defined Element Types的简称,即用户自定义元件类型。可以通过定义UDET来实现一些特殊的需求。
3.1、数据层次
同UDA一样,UDET也有3级数据层次:
UDETWL  -  UDET world
UDETGR  -  UDET group
UDET      -  UDET
细心的读者可能会发现,UDET的数据层次与UDA完全相同,实际上不但他们的数据层次相同,其创建方法也相同,都有界面和命令行两种。大家可以参考UDA数据层次的创建方法,来创建UDET的数据层次。但UDET与UDA却有完全不同的属性。
3.2、UDET属性

3.2.1、Description
该属性也是一个说明性的属性,此处我们填写'设备'。
3.2.2、User-Defined name
UDET的名称,该属性非常重要,是UDET在其他模块新建的层次类型名,此处我们命名为TANK。
3.2.3、Base type
基础类型,此处要特别注意,自定义的元件类型必须是等价于PDMS已知的元件类型的一种,并不能创建一个PDMS中完全不存在的类型。笔者认为这是导致UDET比较鸡肋的一个重要原因。点击右侧的下拉选项,选择一个PDMS的已知类型。

3.2.3、Owner types 和Member Types
这两个属性是不需要用户定义的,当选择完Base type后,程序将自动获取。
3.2.4、Hidden attributes
隐藏属性,选择完Base type后,该UDET将自动继承其等价类型的所有基础属性,但是否继承其隐藏属性,是可以通过面板来设置的。界面如下:

3.3、UDET校验
我们打开design模块,选择某个zone后,在命令行里输入new :TANK,将会在zone层下新建一个类型为:TANK的元件:

注意:此处必须写new :tank,:不能漏掉,否则会提示语法错误。

3.4、UDET结语
UDET和PDMS本身的元件类型在各方面完全相同。同时在利用PML编程时候,也可以利用collect语句收集或var语句求值。

本帖被以下淘专辑推荐:


开云平台官方入口 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与开云平台官方入口 享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和开云平台官方入口 的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、开云平台官方入口 管理员和版主有权不事先通知发贴者而删除本文

沙发
发表于 2016-10-10 21:44:32 | 只看该作者
很好的教程,学习了
板凳
发表于 2016-11-15 08:59:12 | 只看该作者
谢谢分享。学习了
地板
发表于 2016-11-15 08:59:31 | 只看该作者
谢谢分享。学习了
5#
发表于 2016-11-15 08:59:52 | 只看该作者
谢谢分享。学习了
6#
发表于 2016-12-14 21:53:38 | 只看该作者
非常感谢分享这么实用的
7#
发表于 2017-1-8 09:14:26 | 只看该作者
谢谢分享,学习了
8#
发表于 2017-3-3 11:23:29 | 只看该作者
学习了,谢谢
9#
发表于 2017-3-4 08:42:06 | 只看该作者
谢谢分享。学习了
平时都不会去这个模块的!
10#
发表于 2017-5-25 09:38:49 | 只看该作者
好东西谢谢分享
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

扫码访问手机版

QQ|关于我们|网站地图|开云平台官方入口 ( 鲁ICP备11007657号-3 )

GMT+8, 2024-11-27 04:03 , Processed in 0.031436 second(s), 15 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

Copyright © 2001-2023开云注册登录 .

快速回复 返回列表
Baidu
map