买的电子教程aveva pdms pml基础_第1页
买的电子教程aveva pdms pml基础_第2页
买的电子教程aveva pdms pml基础_第3页
买的电子教程aveva pdms pml基础_第4页
买的电子教程aveva pdms pml基础_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程将包括课程将包括课程结束后课程结束后▼ ▼MacrosPDMS$m/FILENAME▼变量判断语句(if循环(Do错误处理(Error文件处理(Filesand–PDMS大多数应用程序都 框(Forms)和菜(一个简单的一个简单的$MNEWBOXXLEN300YLEN400ZLENNEWCYLDIA400HEI600CONNP1TOP2OF参数化宏参数化宏Parameterized$M/MyFileNEWEQUIP300400NEWBOXXLEN$2YLEN$3ZLEN$4NEWCYLDIA$3HEI$4CONNP1TOP2OFPREV$M/MyFilePMLTRAINING55$M/MyFile$<PMLTRAINING$>55$<$>是分隔符,在它们之间的任何字符都被变量变量对象对象(变量)类型Object▼ o !MyString= oQvar显示<STRING> o !Length=QVar变量命名规则变量命名规则(Naming ▼字符串 如▼实数 如▼布尔 如▼数组 如▼参考(Reference)如▼关键字 如▼位置 如方位(Orientation如▼方向 如!Name=!Desc=!Pspec=!Temp=!Purp=!Ref=RefQvarNameDescTempPspec PurpNew▼在PML2中变量是一个对象(Objects)ReferenceManual方法方法-字符串对象(String▼▼▼▼!line= ohoware!newline=!line.after(‘o’).trim().upcase()qvar!newline<String>‘HOWARE▼表达式运算符(Expression+-*EQNELTLEGTNOTAND!X=!Y=!Z=!X+ !Z=!A= o!B=!AB=!A+!XY=!X&!AB=o!XY=–SINCOSTANASINACOSSQRPOWLOGINT数最大值最小值C.3.2Numeric(Real)!s=30*!len=!t=!sqr=!m=match(’abcdef’,’cd’!f=(match(Funcof’)gtdefinefunction!!Area(!LengthisREAL,!WidthisREAL)is!Area=!Length*return!Area 文件名必须与函数名一样,后缀是小写的--Thisisanew-stylePML-$*Thefollowinglinescalculatethenew!Z=!X+!Y$*Weareassumingboth!Xand!Yareskipif(!XEQPmlRehash!MyArea=$PThistextwillbeoutputtothe$PThisisanexampleofamuchlonger$thatwillbeoutputtotheif(countEQ0)then逻辑控制逻辑控制(Control条件判断语 循环语 Do跳 Label错误处 条件判断语句条件判断语句(If!Type=!OwnType=TypeofOwnerIF(!Typeeq‘BRAN’)$PCEisELSEIF(!OwnTypeeq‘BRAN’)$PCEisBranch$PCEis$!Type,Plsselect!x If(Unset(!x))then… If(Set(!x))then… if(!x.Set())then…!MyString=‘True’…如果是‘BRAN’,addHref和add如果是‘NOZZ’,add循环循环(DoDo!xFrom1To100By!Total=!Total+!x▼中断循环Do!xFrom1To!Total=!Total+!xIf(!Totalgt500)then 或者Breakif(!Totalgt500)跳过循环跳过循环Do!xFrom1ToIf(Int(!x/2)NE(!x/2)) 或者SkipIf(Int(!x2NE!x2))!Total=!Total+!x跳转跳转Label▼Label16个字符,不包括▼golabel/illegaldo!xfrom1to5!Total=!Total+!xlabel/illegal$p(2,113)List▼错误处理错误处理(ErrorHandle$pLast$p▼$p数组!Str=Qvar!BestCar▼!BestCar[4]=▼

!BestCar.Append(‘Lincoln’)$*数组必须存在,方法-数组对象(Array▼▼▼

do!Namevalues$pArrayelementis$!Namedo!nindices!Car=$pArrayelement$!nis$!Car特殊方法生成数组特殊方法生成数组 psCollectallBranchmembersFor ALLPipe BRANCHMEMBERS ALLBRANCHMEMBERS ITEMSOFEQUI/D1201 继续继续VarElbowsCollAllElbowWithAborgt100)forCEVar!ElbowsCollAllElbowWithinW0N0U0Var!ElbowsCollAllElbowExclusiveWithin/D1201Var!ElbowsAppendCollallBendfor求值求值Var!PipesCollallPipeforVar!NamesEvalnameforallfromDo!nindicesreorder$!names[$!n]before$!n文件处理文件处理(Handling读写文件需要使用FILE!Input=object !Lines=!Input.ReadFile() !ResultArray do!LineVALUES!Column1=!Output=object !Output.WriteFile(‘WRITE!ResultArray)$*WriteFile将数组写到文▼写文件还有覆盖模式‘OVERWRITE’和追加模式▼!!CE!!CE!Easting=AlertAlert!!Alert.Error(’Youcannotdothis!’!!Alert.Message(‘Savingyourdatanow'!!Alert.Warning(‘Donotpressthisbuttonagain!'!!Alert.Error(’Youcannotdothis!’,0.25,AlertAlertAlertAlertconfirm,question和input▼Confirm!AnswerAlert.Confirm(‘Areyousure!’Confirmalerts返回‘YES’or‘NO’▼Question!AnswerAlert.Question(‘OKtodeleteSiteQuestionalerts返回‘YES’or‘NO’orAlertAlert▼Input!Answer=!!Alert.Input(‘EnterWidthofFloor’,’10’▼查询qvar▼查询gadgetqvarqvarsetupform!!myformTitle‘MyFormTitle’Icontitle‘Myform’!!myform.initcall=definemethod显示和隐藏显示和隐藏▼显示show▼loadformFormsForms的内置▼显示▼隐藏查询FORMif(!!Myform.Shown()):FormForm▼在后面会见到许多种form在form中定义gadgets,通常有两个目的GadgetCALLBACK来启动gadgetsGadgetsGadgets的内置Gadgets是有许多MembersObject,可使用许多有用的内置Method:▼变灰一个!!Myform.GadgetName.Active=▼使键盘键入收敛在某个显示一个formbutton.opt|Options…|call|showbutton.del|Delete|call|deleteequipment|button.apply|Apply|call|!!Myfunction()button.apply|Apply|call|!this.MyMethod()|FormFormCallbacks(Initcall初始化的可以用Forminitcallmember:INITCALL‘Callbackstring’来设置Callback–注意这个callback绝不能用来显示另一个FormFormCallbacks可用命令OKCALL‘Callbackstring’Form的OKCALLmember!this.Okcall=FormFormCallbacksForm的CANCELCALLmember=一个简单的一个简单的setupformoTitle‘MyFormIcontitle‘Myform’……SGspecificparagraph.Messagetext‘ oworld’button.bye‘Goodbye’OK GadgetGadgetGadgetsarepositionedonaformfromtopleftFormGadgetGadgetGadget–XMIN,XMAXYMIN可用以下语法定位GadgetsAtXmin.applyYmax0.5atyminatxmax.frame1+atxmaxform-Toggle.OnOffatXMIN相对一个指定的Toggle.OnOffatXMIN.Gadget1-sizeYMAX.Gadget1GadgetGadgetgadgetsVDISTHALIGNVALIGN来水平方向和垂直方向GadgetGadgetParagraphParagraph.Para.cwdat00Text'CurrentThisisaparagraphButton.Button‘PopForm’FORMButton.Calculate‘Calculate’Callback‘!!MyFunctionName()’Button.Apply‘Apply’Callback‘!!MyFunction()’Button.ok‘OK’Callback‘!!MyFunction()’Button.cancel‘Cancel’Callback‘!!MyFunction()’CANCELButton.reset‘Reset’Callback‘!!MyFunction()’RESETButton.help‘Help’Callback‘!!MyFunction()’HELPButton.dismiss‘Dismiss’FRAME.MYFRAMEAT03‘MyBUTTON.B1‘PressHereBUTTON.B2‘OrPressHere’文本输入的文本输入的Text.DirNamecallback'!This.TopDir()'ATX0Width50isStringThisisatextentryListListList.SubDirs'SubDirs’CallBack'!This.SDirs()’Width60Hei4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论