QQ登录

只需一步,快速开始

微信登录

手机微信,扫码同步

用户名登录

用户名,密码登录

搜索
江苏新志成

[PDMS] PDMS开发-初级开发练x i及解释1

[复制链接]
1.3K |0
阅读字号:
leeathorskeyVIP会员 VIP会员 | 显示全部楼层 |阅读模式       最后访问IP湖北省
海川高三  |  头衔:  TA未设置 
★发布悬赏→ 发布(0)  承接(0/0)   

加入五千万化工人社群

您需要 登录 才可以下载或查看,没有账号?注册

x
练x i代码来自于AVEVA官方,笔者进行了简单解释和部分勘误!
1、一个简单的 Macro
–新建设备FREDNEW EQUIP /FRED
–新建立方体NEW BOX
–设置属性值
XLEN 300 YLEN 400 ZLEN 600
–新建圆柱并设置直径和高
NEW CYL DIA 400 HEI 600
–将圆柱的P1点和前一个元素(立方体)的P1相连
CONN P1 TO P2 OF PREV


2、参数化宏Parameterized Macro
NEW EQUIP /$1
NEW BOX
XLEN $2 YLEN $3 ZLEN $4
NEW CYL DIA $3 HEI $4
CONN P1 TO P2 OF PREV


将以上内容存在文件file.mac中,使用以下方法调用该文件:
$m file.mac ‘FRED’ 300 400 500
那么$1 = ‘FRED’
$2 = 30 0
$3 = 400
$4 = 500


3、变量给属性赋值
New Pipe
Desc ‘My Description’
Temp 100
Pspec /A3B
Purp PIPI
新建管道,设置Desc Temp Pspec Purp属性值


!desc = desc
!temp = temp
!pspec = pspec
!purp = purp


!desc、!temp、!pspec、!purp 为变量,pml语法中,以!开头的字符串为变量,字符串仅能包括英文字母和数字且不可以数字开头,大小写不区分。以!!开头的为全局变量。


New Pipe
Desc ‘$!desc’
Temp $!temp
!pspec $!pspec
!purp $!purp
新建管道,将!desc、!temp、!pspec、!purp 赋给其各属性


4、字符串方法实例
!line = ‘hello how are you’
!newline = !line.after(‘hello’).trim().upcase()


!newline设置为!line“hello”之后的字符串,且设置为大写


q var !newline
在命令行中显示 !newline


!newline = !newline.replace(‘how’,’ where’).replace(‘you’,’ you?’)
有误,应修改如下:
!newline = !newline.replace(‘HOW’, ‘WHERE’).replace(‘YOU’, YOU?’)
将HOW替换为WHERE,YOU替换为YOU?


5、定义函数
define function !!Area( !Length is REAL, !Width is REAL ) is REAL
!Area = !Length * !Width
return !Area $*函数!!Area有两个参数一个返回值
Endfunction
将上述代码拷贝到一个名为Area.pmlfunc的文件中,并将文件存储在pdms目录的pmlib中,便可调用该函数。


6、新建函数计算园的面积,测试函数
define function !!circleArea( !radius is REAL) is REAL
!Area = PI * pow(!radius,2)
return !Area
Endfunction


7、条件判断语句(If Construct)
–获取当前元素的类型
!Type = Type
–获取当前元素所属者的类型
!OwnType = Type of Owner
–如果类型是BRAN
IF (!Type eq ‘BRAN’) THEN
–$P为在命令行中打印
$P CE is Branch.
–再者如果所属者类型是BRAN
ELSEIF (!OwnType eq ‘BRAN’) THEN
$P CE is Branch member.
–其他情况
ELSE
$P CE is $!Type,Pls select Branch.
ENDIF


8、条件判断
!n = 0
!type = type
if(!type eq ‘BRAN’) then
–href为头部连接对象,tref为尾部连接元素
!href = href
!tref = tref
if(!href.set()) then
!n = !n + 1
–在graphicView中显示头部连接元素
add href
endif
if(!tref.set()) then
!n = !n + 1
add tref
endif
endif
if(!type eq ‘NOZZ’) then
–cref为管口连接元素
!cref = cref
if(!cref.set()) then
!n = !n + 1
add cref
endif
endif
$p Total $!n reference


9、循环赋值
!Total = 0
Do !x From 1 To 100 By 1
!Total = !Total + !x
Enddo
Do …enddo构成一个循环


10、中断循环 Break
!Total = 0
Do !x From 1 To 100
!Total = !Total + !x
If(!Total gt 500) then
Break        $*或者Break if(!Total gt 500)       
Endif
Enddo
Break为中断循环


11、用skip 跳过奇数
Do !x From 1 To 100
If(Int(!x / 2) NE (!x / 2)) then
Skip        $*或者Skip If(Int(!x / 2) NE (!x / 2))
Endif
!Total = !Total + !x
Enddo
从1到100循环,!x/2后的取整之不等于!x/2则为奇数,skip为直接跳到do的位置,skip以下语句不再执行。


欢迎关注微信公众号 长远数智实验室 了解更多资讯!


 

发表于 2019-8-15 08:29:50

声明:

本站是提供个人知识管理及信息存储的网络存储空间,所有内容均由用户发布,不代表本站观点。

请注意甄别主题及回复内容中的联系方式、诱导购买等信息,谨防诈骗。内容及翻译仅供参考

当前内容由会员用户名 leeathorskey 发布!权益归其或其声明的所有人所有 仅代表其个人观点, 仅供个人学习、研究之用。

本主题及回复中的网友及版主依个人意愿的点评互动、推荐、评分等,均不代表本站认可其内容或确认其权益归属,

如发现有害或侵权内容,可联系我站举证删除,我站在线客服信息service@hcbbs.com 电话188-4091-1640 

【发主题】高级


          特别提示:

          本站系信息发布平台,仅提供信息内容存储服务。

         禁止发布上传, 包括但不限于:不能公开传播或无传播权的出版物、无传播权的在行标准规范、涉密内容等
          不听劝告后果自负!造成平台或第三方损失的,依法追究相关责任。

          请遵守国家法规;不要散播涉爆类、涉黄毒赌类、涉及宗教、政治议题、谣言负面等信息   

     

您需要登录后才可以回帖 登录 | 注册

本版积分规则

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français Español العربية Persian

联系

0411-88254066

18840911640

(工作时间09:00-17:00)

其它时间请联【微信客服】

或 电子信箱信箱

service@hcbbs.com

微信群

先加微信

再说要入何种专业群

拉你入群  勿发广告

100多个海川专业微信群

还有QQ大群:7990017
申请时注明你的QQ号


 

关于我们  -  隐私协议    -  网站声明   -  广告服务   -  企业会员   -  个人会员  -   主题竞价   -   专家智库  -  服务市场    -  APP和微信   -  分类信息   -     -  在线计算  -  单位换算


不良信息举报 0411-88254066  举报中心       在线客服#微信号:  18840911640    电子信箱   service@hcbbs.com   【QQ客服】3153267246   


海川化工论坛网(hcbbs) @Discuz! X3  加载0.084669 second(s), 44 queries , Redis On. | 网站统计 |  劰载中...


辽公安备21100302203002号  | 辽ICP备17009251号  |  辽B2证-20170197