pdms学习笔记3、输出详细命令_第1页
pdms学习笔记3、输出详细命令_第2页
pdms学习笔记3、输出详细命令_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

一、PDMS安装pdmswin72、win7mi---------fix-----------3、win7 4、Project5、UsernameSample6、Passwordsample7、MDBSAMPLE8、ModuleDesign二、PDMS常用命AlpharequestclearAlphalog/C:/logQvarAutoCEAdd/removeCE$mC:log.txt8Addallbranwithinvolumece9、PML窗口开发位置说明:xmin—xmax三、PDMS命令事1、AIDCYLinderNUM5ATE13113N8972D1150ORIZISUPDIA400HEI200FILLAIDCLEARCYLinder详见代码总附录:PDMS文档翻译一、导论 二、变量对象函数方法PMLPML里,VariablesObject类型 (noseparateinteger (holdmanyvaluesofanyMembersandUser-definedObjectdefineanobject:member.NameisSTRINGmember.WorkersisREALmember.OutputisREALdefineanotherobject:defineobjectPRODUCTmember.CodeisSTRINGmember.TotalisREALmember.SiteisFACTORYItisagoodideatouseuppercase(大写forobject-typeObjecttypedefinitionsshouldnormallybestoredinafilewitha.pmlobjsuffix(后缀)inadirectoryspecified(指定的)inthePMLLIBsearch-path(路径)CreatingVariables (local (global字母和数字组合字母最大16允许dot(.)但是现在stronglyyouareresponsibleforavoidingname-clashes(命名)giveitameaningfulnamelimityouruseofglobalpossibleusePMLFunctionsratherthanmacros(makeuseoffunctionreturnvaluesandoutputargumentstoreturnresults)CreatingaVariablewithaBuild-in(内置!!Answer=42 aGlobalRealvariable(因为赋42是实数所以系统会识别出AnswerReal型变量,下同)!Name= aLocalString!Grid= aLocalBoolean以下是没有初始化的情况!!Answer=!Name=!Grid=!Lengths=CreatingOtherTypeof!Newnt=objectUsingtheMemberValuesofanObject:Usethedotnotation (‘.’符号)!Newnt=object!Newnt.Name=!Newnt.Output=!People=!NewPMLFunctionsand类定义了一个函数,返回值是REAL,参数是两个definefunction!!Area(!LengthisREAL,!WidthisREAL)is函数内definefunction!!Area(!LengthisREAL,!WidthisREAL)is!Area=!Length*!Widthreturn!Area函数调用前,参数必须存参数可以是一个常definefunction!!LengthOfName(!NameisSTRING)is!TidyName=!Name.trim()return调用函!Length=!!LengthOfName(‘FRED’//修改程definefunction!!LengthOfName(!NameisSTRING,!LengthisREAL)is!Name=!Length=!Name.Length()调用函!Name=!Length=函数中Length会发生变化,函数外的Length也跟着变化,下列调用方式是不 $*当一个PML函数运行时不能跳到别的PDMS模块如果函数无法成功结束,你可以用EXIT退出StoringandLoadingPML外部文件必须小写,后缀.pmlfnc。调用!!AREAor!!areaor!!Area都对应Thedefinefunction必须在文件的第一行,并且函数名和文件名一致PML程不返回结PML函definefunction!!Area(!LengthisREAL,!WidthisREAL,!Resultis!Result=!Length*!Width使用方!SurfaceArea=!PartLength=!PartWidth=call!!Area(!PartLength,!PartWidth,因为程序没有返回值,所以不能直接赋值,使用方!Answer=()是必须的,即使没有参definefunction!!MaxWeight=0call关键字call是可选的,但是推荐使注意:call也可以调用Function,但是在这种情况下,Function的返回值将丢Argumentsoftype可以指定ANY类型为参数或者返回值类使用ANY启用了参数类型检 PML的一个特性,来保证正常的运definefunction!!Print(!Argumentis$P$!Argument当使用了ANY,需要先确定类型才能使用它,可以ObjectType()函definefunction!!AnyType(!ArgumentisANY)Type=!Argument.pmlobjectType()if(!TypeEQ‘STRING’)-dosomethingwithaSTRINGelseif(!TypeEQ‘REAL’)then-dosomethingwithaREALelseif(!TypeEQ‘DBREF’)then-dosomethingwitha-dosomethingwithallothertypesorgiveanUsingtheMethodsofan方法就是一个指定对象的函一个方法或一个成员的说明包括以下部分ResultorType:返回值或者类型没有的NOStatus:其他信息方法是否修改对象状态;成员是可修改或者只读Purpose:成员或者方法做什 usingaSTRINGvariableasan如果你对STRING的长度感你通过查看手册可以找到一个Length方法,返回一个REAL类型的值!Nchars=!MyString.length() $*AmethodcallMethodsonUser-DefinedObjectobject和method定义在一个文件里,!This表示object本身,下面是一个例子defineobjectmember.AnswerisREALdefinemethod!This.Answer=42说明.Life()被称为defaultconstructor另一个例definemethod.Answer()isREALreturn!This.Answerdefinemethod.Answer(!Valueis!This.Answer=!Value这些method在下面使用!Marvin=object——Themethod.Lisfe()wascalled!Number=——!Numberissettothevalue!Number=——!NumbernowhasthevaluepmlreloadobjectMethod方法重载,两个或者的方法使用同一个名字但是参数不ConstructorMethodswith带参数的初始化方!Marvin=objectLIFE(40)Thiswouldinvokeamethod:definemethod.Life(!ValueisOverloadingwithInvokingaMethodfromAnotherMethoddefinemethod.Life(!ValueisREAL)DeveloaPMLObjectwith当你增加一个新的方法,PML需要重新一下对象的定义pmlreloadobject()!X=!S=!X.String()build-indatatpye!X !S 空字符!X !S 空字符!X= !S 字符串!X !S 字符串其他的系统自定义变量,返回的值多!X !S 字符串用户自定义的变量返回的值UnsetvaluesandUndefinedustofanUNSETvaluewhereavaliditemofdataisrequiredwillalwaysresultinaPML测试变量值Unset的函数和方法 if(Unset(!X)) if(Set(!X)) if(!X.Unset()) if(!X.set())测试变量if(Undefined(!!Y)) if(Defined(!!Y))注意:没有等效的DeletingPML注意:不能删除对象或者Forms的元FormsasGlobalPML2里,Forms是全局变量,同时也是一个对象的定义,所以不能有同名的全三、PML的通用属PMLFilecanbecreatedusingatexteditor.PMLMacros存在PDMSUI路径上PMLFunctions存在PMLLIB路径注释一行的使用——或者$*,$*可以加到命令多行的使用$(和)$,可以用于注释掉命令而不PMLFile中删skipif(!XEQ返回命令,可以作为PMLMacrosCase不区分大小写,包括keyword有例外的许多命令可以使用缩写代但是推荐使用完整令,有利于阅Special$是一个escapecharacter(转义字符$PThistextwillbeoutputtothe$P是一个输出到屏幕的指当程序中需要使用$自身时,需要用当一行命令后面有一个$时,表示下一行紧跟这$PThisisanexampleofamuchlongermessagethatwillbe$outputtothescreentextstrings必须被enclosedbysinglequotes ‘A’|A|注意:分隔符一定要配对使Filename扩展 用 PMLFunctiondefinition PMLobjecttypedefinition PMLFormdefinition注意:都是小StoringandLoadingPMLPMLFiles存在PMLLIB环境变量指 当AVEVA启动时,PML会浏览PMLLIB路径并且在每个 件。包含所有PMLFiles,当product启动是,会加载所有的PMLFiles。用户可以自定义PML的工作 ,并且增加它到PMLLIB路径的第一条,并用命令告诉PML

温馨提示

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

评论

0/150

提交评论