1、或者 LONG长整型或者 REAL 实数型或者 DOUBLE双精度型或者 CHAR,n 字符型或者 VECTOR向量型Var_3 为 Varname 变量名称相同类型的变量可以在同一个 DECL语句中声明。比如: DECL/COMMON,INTGR,I这个语句就表示声明了一个整数型变量 , 名称为 I. 后面程序中表达式所需要整数的就可以用 I 来替代 .再或者 DECL/COMMON,CHAR,20,TEMPSTR这个语句声明一个字符串变量 , 名称为 TEMPSTR长, 度为 20, 表示这个变量所存储的字符长度最大为 20, 如果超过 20, 后面的字符将不读入变量 .变量的名称由 1
2、到 16 个字母数字、下划线组成,名称的第一个字符只能为希腊字母。变量名称不能使用 DMIS预留字, 预留字包括 DMIS主字、 次字、 常用函数等等。如果这里不指定 Var_1 ,DMISMN声明的程序块用 GLOBAL为默认值,在 MACRO声明的程序块中用 LOCAL为默认值。变量数组的声明例子为 :DECL/COMMON,DOUBLE,RAPLUS3,3这个语句表示声明了一个 2 维的数组 RPLUS3,3, 此次一共声明了 9 个变量 , 分别为RAPLUS1,1 RAPLUS1,2 RAPLUS1,3RAPLUS2,1 RAPLUS2,2 RAPLUS2,3RAPLUS3,1 RA
3、PLUS3,2 RAPLUS3,3DMIS中变量数组的起始从 1 开始,而其它常用的高级编程语言如 C 从 0 开始。二、结构语句。介绍三个常用的 DMIS 语句, DO 和 CASE.DO 循环在 DMIS 语句编程中是常用的语句,其语法为:DO/index,initial,limit,increment循环体语句中, index 是一个整型变量 ,initial 是这个变量的起始值 ,limit 是这个变量的结束值 ,increment 是这个变量的增幅。例如语句DO/I,2,30,3意义即为 I 开始的值为 2, 运行第一遍循环后 I 的值变为 5, 第 2 遍后变为 8, 第三遍后变为
4、 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) = TOL/DISTB,LIMIT,20,21,PT2P
5、T,MAXendcasT(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,MINT(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,AVGendselOUTPUT/FA(CIR1),FA(CIR2),TA(cir_dis)上面的语句用 CASE 做条件选择,选择定义的距离公差是最大、最小还是平均。三.输入部分DMIS 可以从用户界面上取得输入值 ,也是在 HLL 中常用的主字 PROMPT,后面的功能语法有PROMPT/TEXT, hello,world- 界面出现一行提示 helloworldPROMPT/EDIT, var_1 -
6、 出现对话框 ,把对话框内输入的数据赋值给 var_1PROMPT/CHECK, 直径,var_1- 出现勾选项 ,在直径后面,如果勾选上 ,var_1 的值为 1,反之 var_1 的值为 0PROMPT/LIST,var_1, 圆度, 位置度 直径公差- 出现一个下拉菜单 ,中间包含圆度 位置度 直径公差 ,选则一项就将值赋给 var_1, 例如我在下拉菜单中选择了 , 那么字符串变量 var_1 的值就为 位置度PROMPT/TITLE, 校验程序 - 出现的窗口的标题栏即为 校验程序PROMPT/PICTURE,filename- 出现一个图片 ,filename 为此文件和路径和文件
7、名下面是一个范例的提示窗口 ,如图上传的图片抱歉,您所在的组无权下载附件 , 请注册或登陆语句如下 :DECL/CHAR,20,List_var1DECL/DOUBLE,edit_var1,edit_var2,edit_var3DECL/INTGR,Check_var1,Check_var2,Check_var3Tempchar = Prompt/Title, 孔测量程序 ,$Text, 孔的数量 ,edit,edit_var1,$ 孔的直径 ,edit,edit_var2,$ 直径公差带 ,edit,edit_var3,$List,List_var1, 直角坐标系 极坐标系Check, 位置
8、度,Check_var1,Check, 圆度,Check_var2,Check, 直径公差 ,Check_var3原来的用户提示还有 TEXT/OPER, 因为是 DMIS 早期版本的功能 ,后来用 Prompt 取代了.DMIS 常见问题汇总一、DMIS的作用。DMIS可以帮助检测人员去完成更复杂的检测和评价。 可以更深刻地理解检测的意义和原理。实现更多灵活的要求。DMIS标准的检测程序,可以导入到市场上支持 DMIS语言的软件中去实现测量,如 OpenDMIS、Calypso 、LK等等,程序具有通用性。二、DMIS语言的分类。DMIS语言分为 测量相关的,包括定义检测元素、测量、输出等等
9、,大部分的语句三坐标软件本身可以进行记录或者自动生成。结构相关的, 对测量的过程进行控制, 比如循环,判断选择,进行特定的计算和评价。三、常用的 DMIS语言介绍。1. 定义检测元素, F(CIR1) = FEAT/CIRCLE,INNER,CART, 300, 324,0, 0, 1, 40作用:等同于图纸中所标注的数值,上例中,语句的意思定义一个需要检测的孔 X方向上距离为 300,Y方向上距离为 324,直径为 40。关键字:FEAT2 自动测量该元素, MEAS/CIRCL,E F(CIR1),4Endmes测量机自动移动到孔 CIR1的位置,以 4 个点的数量对其进行测量。MEAS3
10、 公差定义, T(TDIAM1) = TOL/DIAM, -0.1, 0.1定义一个直径公差,按图纸给出上下公差为 (-0.1,0.1).TOL4 输出报告, OUTPUT/FA(CIR1), TA(TDIAM1)把孔 CIR1的直径、理论、实际、偏差输出到报告中。OUTPUT上面的关键字在常规的三坐标检测中,用到的频率相对很高,只在对应其它元素测量,如点、面,或者做其它的评价时,对应参数有些不同而已。在结构控制方面,比较常用的关键字有5 循环,DO/I,1,10将 DO和 ENDDO中间的过程重复 10 次。如果把测量孔的语句放进去,结果即为连续 10次测量该孔。广泛用在有规则分布的小孔、特
11、征点的检测方面,根据一个特征点, 可以对其它所有的特征点进行检测。 DO6 选择,SELECT/nameCASE/ 零件 1ENDCASCASE/ 零件 2ENDSEL对应选择,如果 name的值是零件 1,就执行第一个 CASE里面的内容,如果 name的值是零件 2,就执行第二个 CASE里面的内容。以此类推。广泛用在多个零件在一个夹具上,共同进行检测时的需要。 SELEC、T CASE7 提示,PROMPT/提示用户,以及接受检测人员,键盘的输入。广泛用于提示检测人员检测完成,更换工件;提示方法可以为声音、字符文本或者图片。或者接受用户输入一些数据,例如图纸的理论值、工件编号等等。 PR
12、OMPT(论坛上关于 PROMP有T 一篇帖子对应功能详细的讲解)8 其它常用字符函数或者数学函数对于一些不能直接进行测量的元素,例如螺旋线的基圆,依靠其它孔的位置对其进行定位。中间需要的一些计算公式和函数,可以由 DMIS提供的标准数学函数来进行计算。 STR、MOD等先看图,本课程讲解的是如图中所用的公式的用法用一些实例代码+-*/ 就不用说了吧,小学就学过的%: 求余, 像+-*/ 一样的运算式 ,如:7%3=1,10%6=4, 前面那个数将后面的数整除后, 得到的余数.:二次幂 ,也就是平方的意思 ;52=25!:逻辑非 ,比如说运用在 IF 判断语句里面实例:赋值/V1 = 1IF/
13、!(V1=2) V1 的值为 1,这里判断 V1=2 返回的结果是 False,但如果加上! ,那么!(V1=2)这个条件返回的值就为 True注释/操作者 ,否,请编辑注释文本! 这里会执行到,因为上面条件返回的值为 TrueEND_IF/=:等于,它与= 的区别是: =一般用于判断条件表达式内 ,而=用于赋值语句里面,它都是代表等于的意思,只是应用位置不一样不等于 ,比如上面实例代码中 !(V1=2) ,我改成 !(V1,=: 这四个分别是表示小于 ,大于 ,小于等于 ,大于等于。没啥好讲的,知道就行了 这个冒号一般大家用不着 ,因为它一般都用于指定的语句当中 ,比如调用子程序 ,调用外部
14、基准的代码中 双引号 :表达式是一条字符串 在字符串中加入引号,比如说:赋值/V1 = 我选用 A 基准作基准 注释/操作者 ,否,V1运行的结果为:当你不用 ,那你就不能做出这种提示效果来:在字符串中加入反斜线 ,没有特别的意思,比如赋值 /V1 = 我选用 A 基准作基准 , 在PC-DMIS 看来是错误的未完待续 .():这个就和我们学数学一样的, ()里面的先计算,是一个功能:这个东西有点像赋值那个命令的功能,比如说: V1 =文件/读取行 ,FPTR,TMP, 这条命令, TMP 自动申明一个变量接受文件读入的一行资料,并可以在下面程序中直接调用 TMP 这个变量RationalDM
15、IS 程序中的 DMIS语句解释第五部分2011年 03 月09 日 星期三 12:587)D(label2) 是要取出的工作坐标系名称 ,此坐标系会被激活成为当前坐标系 .DA(label1) 是要取出的实际工作坐标系名称 ,此坐标系会被激活成为当前坐标系 .S(label3) 是要取出的探头名称 .SA(label4) 是要取出的实际探头名称 .FA(label5) 是要取出的实际元素名称 .RT(label6) 是要取出的转盘名称 .DID(label7) 是保存有要取出数据的设备名称 ,当不指定 DID(label7)时,会从测量机默认的存储设备中取出 .SNSLCT 选择用来进行测量
16、的探头GEOALG 用来设置某种元素类型的拟和算法ENDFIL 用来指示程序或模块结束WKPLAN/XYPLANWKPLAN 用来设置工作平面 ,DMIS 的标准格式为:WKPLAN/XYPLANYZPLANZXPLANGOHOME 使探头回到其初始位置 ,DMIS 的标准格式为: GOHOMEDMESW用于控制数据或测量机输入文件中发送数据的过程。DMESW/CONTINPAUSEDELAY,nCOMAND,command发送给接受系统的命令,用单撇号围起来。COMAND意味着用单撇号围起来的文字数字字符串,它后面跟随的要作为一个测量机指定的命令。这个习惯性的测量机指令代码并不在 DMIS
17、接口的能力范围内。CONTIN意味着测量机继续处理数据。在 DMESW/PAUSE 语句之后和下一个 DMESW/CONTIN 语句之前,所有接受的数据都被测量机忽略。DELAY意味着测量机要延时过程数据 n秒钟。n一个正整数,代表以秒为单位的时间长度。PAUSE意味着测量机停止接受数据。下一个 DMESW/CONTIN 语句之前所遇到的所有接受的数据都被测量机忽略。GOTARGGOTARG 用来初始化探头的直接路径移动并设置探头要移动到的位置 ,DMIS 的标准格式为:GOTARG/x,y,zCART,x,y,zPOL,r,a,hx,y,z 是与当前坐标系原点相对的直角坐标值 .CART,x
18、,y,z 是与当前坐标系原点相对的直角坐标值 .POL,r,a,h 是与当前工作平面中坐标系原点相对的极坐标值 .备注:GOTARG 语句后必须有至少两个 GOTO 语句来定义必需的中间移动以使探头能安全的移动到设置的位置 .PSTHRU通过没有解释或执行的输出文件,在监视程序中传递语句。PSTHRU/CONTIN,COMAND,PAUSESTARTSTOPTRMATX,a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3PRCOMP 用来设置打开或关闭自动探头补偿 ,DMIS 的标准格式为:PRCOMP/ONOFFTECOMP 用来设置温度补偿 ,DMIS 的标准格式为:T
19、ECOMP/MACH,ONOFF或 TECOMP/PART,ON,DA(label)OFFSET,xoff,yoff,zoff,tmpexp,ALLtmpexpunc,tempsns或 TECOMP/PART,OFFMACH 表示要设置机器的温度补偿 .PART 表示要设置工件的温度补偿 .ON 表示打开温度补偿 .OFF 表示关闭温度补偿 .DA(label) 是作为温度补偿热量数据的坐标系名称 .OFFSET,xoff,yoff,zoff 表示相对于当前坐标系的偏移 ,xoff 为 X 方向相对于坐标原点的偏移 ,yoff 为Y 方向相对于坐标原点的偏移 ,zoff 为 Z 方向相对于坐标原点的偏移 .tmpexp 表示工件的热膨胀系数 .ALL 表示使用所有的工件探头 .tmpexpunc 表示工件热膨胀系数的不确定度 . 是工件探头的名称 .GECOMP/ONGECOMP 用来打开或关闭几何补偿 ,DMIS 的标准格式为:GECOMP/ONOFF
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1