下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.DMIS 初级教程-高级语言篇(不断更新)DMIS语言的高级语句部分,和大多数编程语言类似,包含变量声明、表达式、结构、输入输出、 宏等等,如网友有编程经验,会很快熟悉这一部分。从一个简单常用的例子说起,循环可能是我们在高级应用服务中运用最多的语句,DMIS标准中的循环语句为主字DO语法格式为DO/变量,启始值,终止值,步幅那么一个语句如果为 DO/I,1,10,1的意义就为,执行一个循环,1的值+1,增加10次之后,循环结束.来看一个实例.假设我的工件有一个孔,名为CIR1,我需要把它测量 5次,取其中的最小值.那么测量部分的循环 语句即为AUTO/AUTO,PROG,MANDO/I,1,
2、5MEAS/CIRCLE,CIR1,4ENDMESENDDO运行这段语句,测量机就会自动去测量圆CIR1,直到5次结束后位置.需要注意的地方:1.所有的变量在使用前都必须声明,上面的I是一个整型变量,每循环一次,I+12 .每一个DO语句都必须跟一个 ENDDO表示该循环的结束3 .步幅表示每次循环I的增量,如果步副是2,那么下次I就为3,再循环一个为5,以此类推一.变量的声明.上面的循环手动测量圆,用到了一个变量I,在DMIS中,所有的变量在使用前都需要经过声明,声明这个变量的名称,类型,作用范围.变量声明的函数为DECL/var_1 var_2 var_3定义变量的作用范围其中Var_1
3、为COMMO晴通或者GLOBAL全局变量或者LOCAL局部变量或者不存在定义变量的类型Var_2为BOOL布尔型或者INTGR整数型或者LONG长整型或者REAL实数型或者DOUBLE双精度型或者CHAR,n字符型或者VECTOR向量型Var_3 为Varname变量名称相同类型的变量可以在同一个DECL语句中声明。比如:DECL/COMMON,INTGR,I这个语句就表示声明了一个整数型变量,名称为I.后面程序中表达式所需要整数的就可以用I来替代.再或者 DECL心OMMON,CHAR,20,TEMPSTR这个语句声明一个字符串变量,名称为TEMPST昧度为20,表示这个变量所存储的字符长度
4、最大为 20,如果超过20,后面的字符将不读入变量.变量的名称由1到16个字母数字、下划线组成,名称的第一个字符只能为希腊字母。变量名称不能使用DMIS预留字,预留字包括 DMIS主字、次字、常用函数等等。如果这里不指定 Var_1 , DMISMN?明的程序块用 GLOBA力默认值,在 MACR薛明 的程序块中用 LOCAL为默认值。变量数组的声明例子为:DECL心OMMON,DOUBLE,RAPLUS3,3这个语句表示声明了一个2维的数组RPLUS3,3,此次一共声明了 9个变量,分别为RAPLUS1,1 RAPLUS1,2 RAPLUS1,3RAPLUS2,1 RAPLUS2,2 RAP
5、LUS2,3RAPLUS3,1 RAPLUS3,2 RAPLUS3,3DMIS中变量数组的起始从1开始,而其它常用的高级编程语言如C从0开始。、结构语句。介绍三个常用的 DMIS 语句,DO和CASE.DO循环在DMIS语句编程中是常用的语句,其语法为:DO/index,initial,limit,increment循环体ENDDO语句中,index是一个整型变量,initial是这个变量的起始值 ,limit是这个变量的结束值 ,incre ment是这个变量的增幅。例如语句DO/I,2,30,3循环体ENDDO意义即为I开始的值为2,运行第一遍循环后I的值变为5,第2遍后变为8,第三遍后变
6、为11,到I的值大于30后结束循环最后一个参数increment 可以不写,默认为 1。CASE为条件分支选择,语法为:CASE/arg_1其中arg_1为整数或者字符串,用一个例子来说明,输出两个圆 CIR1、CIR2的距离,选择是输出最大距离、最小距离还是两个圆心的距离。decl/common,char,20,dist_cirtempchar = prompt/text,' 输出距离类型,list,dist_cir,'最大距离','最小距离','圆心距离select/dist_circase/'最大距离'T(cir_dis)
7、= TOL/DISTB,LIMIT,20,21,PT2PT,MAXendcascase/'最小距离'T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,MINendcascase/'圆心距离'T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,AVGendcasendselOUTPUT/FA(CIR1),FA(CIR2),TA(cir_dis)上面的语句用 CASE做条件选择,选择定义的距离公差是最大、最小还是平均。三.输入部分DMIS可以从用户界面上取得输入值,也是在HLL中常用的主字PROMPT,
8、后面的功能语法有PROMPT/TEXT, 'hello,world' 界面出现一行提示 helloworldPROMPT/EDIT, var_1 出现对话框,把对话框内输入的数据赋值给var_1PROMPT/CHECK,'直径',var_1 出现勾选项,在"直径"后面,如果勾选上,var_1的值为1,反之var_1的值为0PROMPT/LIST,var_1," 圆度","位置度","直径公差" 出现一个下拉菜单,中间包含圆度 位置度 直径公差,选则一项就将值赋给var_1,例如我 在
9、下拉菜单中选择了 "位置度",那么字符串变量var_1的值就为"位置度”PROMPT/TITLE,'校验程序' 出现的窗口的标题栏即为校验程序PROMPT/PICTURE,'filename' 出现一个图片加ename 为止匕文件和路径和文件名下面是一个范例的提示窗口 ,如图上传的图片抱歉,您所在的组无权下载附件,请注册或登陆语句如下:DECL/CHAR,20,List_var1DECL/DOUBLE,edit_vaU,edit_var2,edit_var3DECL/INTGR,Check_vaU,Check_var2,Check_
10、var3Tempchar = Prompt/Title,'孔测量程序',$Text,'孑L的数量',edit,edit_vaU,$Text,'孔的直径',edit,edit_var2,$Text,'直径公差带',edit,edit_var3,$List,List_var1,' 直角坐标系','极坐标系',$Check,'位置度',Check_var1,Check,' 圆度',Check_var2,Check,'直径公差',Check_var3原来的用户
11、提示还有TEXT/OPER,因为是DMIS早期版本的功能,后来用Pro mpt取代了 .DMIS 常见问题汇总一、DMIS的作用。DMIS可以帮助检测人员去完成更复杂的检测和评价。可以更深刻地理解检测的意义和原理。实现更多灵活的要求。DMIS标准的检测程序,可以导入到市场上支持 DMIS语言的软件中去 实现测量,如OpenDMIS Calypso、LK等等,程序具有通用性。二、DMIS语言的分类。DMIS语言分为测量相关的,包括定义检测元素、测量、输出等等,大 部分的语句三坐标软件本身可以进行记录或者自动生成。结构相关的,对测量的过程进行控制,比如循环, 判断选择,进行特定的计算和评价。三、常
12、用的DMIS语言介绍。1.定义检测元素,F(CIR1) = FEAT/CIRCLE,INNER,CART, 300, 324,0, 0, 1,40作用:等同于图纸中所标注的数值,上例中,语句的意思定义 一个需要检测的孔X方向上距离为300, Y方向上距离为324, 直径为40。关键字:FEAT2 .自动测量该元素, MEAS/CIRCLE F(CIR1),4Endmes作用:测量机自动移动到孔 CIR1的位置,以4个点的数量对 其进行测量。关键字:MEAS3 .公差定义,T(TDIAM1) = TOL/DIAM,-0.1,0.1作用:定义一个直径公差,按图纸给出上下公差为(-0.1,0.1)
13、.关键字:TOL4 .输出报告,OUTPUT/FA(CIR1), TA(TDIAM1)作用:把孔CIR1的直径、理论、实际、偏差输出到报告中。关键字:OUTPUT上面的关键字在常规的三坐标检测中,用到的频率相对很高,只 在对应其它元素测量,如点、面,或者做其它的评价时,对 应参数有些不同而已。在结构控制方面,比较常用的关键字有5 .循环,DO/I , 1, 10ENDDO作用:将DOW ENDD®间的过程重复10次。如果把测量孔的 语句放进去,结果即为连续10次测量该孔。广泛用在有规则分布的小孔、特征点的检测 方面,根据一个特征点,可以对其它所有的特征点进行检测。关键字:DO6 .选
14、择,SELECT/nameCASE/ 零件 1'ENDCASCASE/ 零件 2'ENDCASENDSEL作用:对应选择,如果name的值是零件1',就执行第 一个CASES面的内容,如果name的值是零件2',就 执行第二个CASE1面的内容。以此类推。广泛用在多个零件在一个夹具上,共同进行检测 时的需要。关键字:SELECT CASE7 .提示,PROMPT/作用:提示用户,以及接受检测人员,键盘的输入。广泛用于提示检测人员检测完成,更换工件;提 示方法可以为声音、字符文本或者图片。或者接受用户输 入一些数据,例如图纸的理论值、工件编号等等。关键字:PROM
15、PT(论坛上关于PROMP有一篇帖子对应功能详 细的讲解)8 .其它常用字符函数或者数学函数作用:对于一些不能直接进行测量的元素,例如螺旋线 的基圆,依靠其它孔的位置对其进行定位。中间需要的一 些计算公式和函数,可以由 DMIS提供的标准数学函数来 进行计算。关键字:STR MO第先看图,本课程讲解的是如图中所用的公式的用法用一些实例代码+-*/就不用说了吧,小学就学过的%:求余,像+-*/一样的运算式,如:7%3=1,10%6=4,前面那个数将后面的数整除后,得到的余7二次哥,也就是平方的意思;5A2=25!:逻辑非,比如说运用在IF判断语句里面实例:赋值N1 = 1IF/!(V1=2)
16、39;V1的值为1,这里判断V1=2返回的Z果是 False,但如果力口上!,那么!(V1=2)这个条件返回的值就为True注释/操作者,否,请编辑注释文本!这里会执行到,因为上面条件返回的值为TrueEND_IF/=:等于,它与“="的区别是:=一般用于判断条件表达式内,而二用于赋值语句里面,它都是 代表等于的意思,只是应用位置不一样<>:不等于,比如上面实例代码中!(V1=2),我改成!(V1<>2),返回的结果是什么呢?自已想 想。(结果为False),它与=是相反的<,>,<=,>=:这四个分别是表示小于,大于,小于等于,大于等
17、于。没啥好讲的,知道就行了":":这个冒号一般大家用不着,因为它一般都用于指定的语句当中,比如调用子程序,调用外部基准的代码中"":双引号:表达式是一条字符串":在字符串中加入引号,比如说:赋值/V1 ="我选用"A基准作基准 厂”注释/操作者,否,V1运行的结果为:当你不用”,那你就不能做出这种提示效果来:在字符串中加入反斜线 ,没有特别的意思,比如赋值/V1 ="我选用 A基准作基准",在PC-DMIS看来是错误的未完待续():这个就和我们学数学一样的,()里面的先计算,是一个功能:这个东西有点像赋值
18、那个命令的功能,比如说:V1=文件/读取行,FPTR,TMP,这条命令,TMP自动申明一个变量接受文件读入的一行资料,并可以在下面程序中直接调用TMP这个变量RationalDMIS程序中的DMIS语句解释第五部分2011年03月09日 星期三12:587)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />D(label2)是要取出的工作坐标系名称,此坐标系会被激活成为当前坐标系.DA(labell)是要取出的实际工作坐标系名称,此坐标系会被激活成为当前坐标系.
19、S(label3)是要取出的探头名称.SA(label4)是要取出的实际探头名称.FA(label5)是要取出的实际元素名称.RT(label6)是要取出的转盘名称.DID(label7)是保存有要取出数据的设备名称,当不指定DID(label7)时, 会从测量机默认的存储设备中取出.SNSLCT选择用来进行测量的探头GEOALG用来设置某种元素类型的拟和算法ENDFIL用来指示程序或模块结束WKPLAN/XYPLANWKPLAN用来设置工作平面,DMIS 的标准格式为:WKPLAN/XYPLANYZPLANZXPLANGOHOME使探头回到其初始位置,DMIS 的标准格式为:GOHOMEDM
20、ESW用于控制数据或测量机输入文件中发送数据的过程。DMESW/CONTINPAUSEDELAY,nCOMAND,'command' command发送给接受系统的命令,用单撇号围起来。COMAND意味着用单撇号围起来的文字数字字符串, 它后面跟随的要作为一个测量机指定的命令。这个习惯性的测量机指令代码并不在 DMIS接口的能力范围内。 CONTIN意味着测量机继续处理数据。在 DMESW/PAUSE语句之后和 下一个DMESW/CONTIN语句之前,所有接受的数据都被测量机忽略。DELAY意味着测量机要延时过程数据n'秒钟。n一个正整数,代表以秒为单位的时间长度。PAUSE意味着测量机停止接受数据。在 DMESW/PAUSE语句之后和下一个DMESW/CONTIN语句之前所遇到的所有接受的数据都被测量机忽略。GOTARGGOTARG用来初始化探头的直接路径移动并设置探头要移动到的位置,DMIS的标准格式为:GOTARG/x,y,zCART,x,y,zPOL,r,a,hx,y,z是与当前坐标系原点相对的直角坐标值.CART,x,y,z是与当前坐标系原点相对的直角坐标值.POL,r,a,h是与当前工作平面中坐标系原
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论