




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DMIS初级教程-高级语言篇(不断更新)DMIS语言的高级语句部分,和大多数编程语言类似,包含变量声明、表达式、结构、输入输出、宏等等,如网友有编程经验,会很快熟悉这一部分。从一个简单常用的例子说起,循环可能是我们在高级应用服务中运用最多的语句,DMIS标准中的循环语句为主字DO语法格式为DO/变量,启始值,终止值,步幅那么一个语句如果为DO/I,1,10,1的意义就为,执行一个循环,I的值+1,增加10次之后,循环结束.来看一个实例.假设我的工件有一个孔,名为CIR1,我需要把它测量5次,取其中的最小值.那么测量部分的循环语句即为AUTO/AUTO,PROG,MANDO/I,1,5MEAS/
2、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 为CO
3、MMON 普通或者GLOBAL 全局变量或者LOCAL 局部变量或者不存在定义变量的类型Var_2 为BOOL 布尔型或者INTGR 整数型或者LONG 长整型或者REAL 实数型或者DOUBLE 双精度型或者CHAR,n 字符型或者VECTOR 向量型Var_3 为Varname 变量名称相同类型的变量可以在同一个DECL语句中声明。比如: DECL/COMMON,INTGR,I这个语句就表示声明了一个整数型变量,名称为I.后面程序中表达式所需要整数的就可以用I来替代.再或者DECL/COMMON,CHAR,20,TEMPSTR这个语句声明一个字符串变量,名称为TEMPSTR,长度为20,表
4、示这个变量所存储的字符长度最大为20,如果超过20,后面的字符将不读入变量.变量的名称由1到16个字母数字、下划线组成,名称的第一个字符只能为希腊字母。变量名称不能使用DMIS预留字,预留字包括DMIS主字、次字、常用函数等等。如果这里不指定Var_1,DMISMN声明的程序块用GLOBAL为默认值,在MACRO声明的程序块中用LOCAL为默认值。变量数组的声明例子为:DECL/COMMON,DOUBLE,RAPLUS3,3这个语句表示声明了一个2维的数组RPLUS3,3,此次一共声明了9个变量,分别为RAPLUS1,1 RAPLUS1,2 RAPLUS1,3 RAPLUS2,1 RAPLUS
5、2,2 RAPLUS2,3 RAPLUS3,1 RAPLUS3,2 RAPLUS3,3 DMIS中变量数组的起始从1开始,而其它常用的高级编程语言如C从0开始。二、结构语句。 介绍三个常用的DMIS语句,DO和CASE. DO循环在DMIS语句编程中是常用的语句,其语法为: DO/index,initial,limit,increment 循环体 ENDDO语句中,index是一个整型变量,ini
6、tial是这个变量的起始值,limit是这个变量的结束值,increment是这个变量的增幅。例如语句 DO/I,2,30,3 循环体 ENDDO意义即为 I开始的值为2,运行第一遍循环后I的值变为5,第2遍后变为8,第三遍后变为11,到I的值大于30后结束循环 最后一个参数increment可以不写,默认为1。- CASE为条件分支选择,语法为: CASE/arg_1其中arg_1为
7、整数或者字符串,用一个例子来说明,输出两个圆CIR1、CIR2的距离,选择是输出最大距离、最小距离还是两个圆心的距离。 decl/common,char,20,dist_cir tempchar = prompt/text,'输出距离类型',list,dist_cir,'最大距离','最小距离','圆心距离' select/dist_cir case/'最大距离'
8、0; T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,MAX endcas case/'最小距离' T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,MIN endcas case/'圆心距离'
9、60; T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,AVG endcas endselOUTPUT/FA(CIR1),FA(CIR2),TA(cir_dis)上面的语句用CASE做条件选择,选择定义的距离公差是最大、最小还是平均。三.输入部分 DMIS可以从用户界面上取得输入值,也是在HLL中常用的主字PROMPT,后面的功能语法有 PROMPT/TEXT, 'hello,world'-界面出现一
10、行提示 hello world PROMPT/EDIT, var_1 -出现对话框,把对话框内输入的数据赋值给var_1 PROMPT/CHECK, '直径',var_1-出现勾选项,在"直径"后面,如果勾选上,var_1的值为1,反之var_1的值为0 PROMPT/LIST,var_1,"圆度","位置度","直径公差"-出现一个下拉菜单,中间包含圆度位置度直径公差,选则一项就将值赋给var_1,例如我在下拉菜单中选择
11、了"位置度",那么字符串变量var_1的值就为"位置度" PROMPT/TITLE,'校验程序'-出现的窗口的标题栏即为'校验程序' PROMPT/PICTURE,'filename'-出现一个图片,filename为此文件和路径和文件名 下面是一个范例的提示窗口,如图上传的图片 抱歉,您所在的组无权下载附件,请注册或登陆 语句如下: DECL/CHAR,20,List
12、_var1DECL/DOUBLE,edit_var1,edit_var2,edit_var3DECL/INTGR,Check_var1,Check_var2,Check_var3Tempchar = Prompt/Title,'孔测量程序',$ Text,'孔的数量',edit,edit_var1,$ Text,
13、9;孔的直径',edit,edit_var2,$ Text,'直径公差带',edit,edit_var3,$ List,List_var1,'直角坐标系','极坐标系',$
14、 Check,'位置度',Check_var1,Check,'圆度',Check_var2,Check,'直径公差',Check_var3原来的用户提示还有TEXT/OPER,因为是DMIS早期版本的功能,后来用Prompt取代了.DMIS常见问题汇总一、DMIS的作用。 DMIS可以帮助检测人员去完成更复杂的检测和评价。可以更深刻地理解检测的意义和原理。 实现更多灵活的要求。 DMIS标准的检测程序,可以导入到市场上支持DMI
15、S语言的软件中去实现测量,如OpenDMIS、Calypso、LK等等,程序具有通用性。二、DMIS语言的分类。 DMIS语言分为 测量相关的,包括定义检测元素、测量、输出等等,大部分的语句三坐标软件本身可以进行记录或者自动生成。 结构相关的,对测量的过程进行控制,比如循环,判断选择,进行特定的计算和评价。三、常用的DMIS语言介绍。 1.定义检测元素,F(CIR1) = FEAT/CIRCL
16、E,INNER,CART, 300, 324, 0, 0, 1, 40 作用:等同于图纸中所标注的数值,上例中,语句的意思定义一个需要检测的孔X方向上距离为300,Y方向上距离为324,直径为40。 关键字:FEAT 2自动测量该元素,MEAS/CIRCLE,F(CIR1),4
17、60; Endmes 作用:测量机自动移动到孔CIR1的位置,以4个点的数量对其进行测量。 关键字:MEAS 3公差定义,T(TDIAM1) = TOL/DIAM, -0.1, 0.1 作用:定义一个直径公差,按图纸给出上下公差为 (-0.1,0.1).
18、160; 关键字:TOL 4输出报告,OUTPUT/FA(CIR1), TA(TDIAM1) 作用:把孔CIR1的直径、理论、实际、偏差输出到报告中。 关键字:OUTPUT 上面的关键字在常规的三坐标检测中,用到的频率相对很高,只在对应其它元素
19、测量,如点、面,或者做其它的评价时,对应参数有些不同而已。 在结构控制方面,比较常用的关键字有 5循环,DO/I,1,10 ENDDO 作用:将DO和ENDDO中间的过程重复10次。如果把测量孔的语句放进去,结果即为连续10次测量
20、该孔。 广泛用在有规则分布的小孔、特征点的检测方面,根据一个特征点,可以对其它所有的特征点进行检测。 关键字:DO 6选择,SELECT/name
21、 CASE/零件1 ENDCAS CASE/零件2 ENDCAS
22、; ENDSEL 作用:对应选择,如果name的值是零件1,就执行第一个CASE里面的内容,如果name的值是零件2,就执行第二个CASE里面的内容。以此类推。 广泛用在多个零件在一个夹具上,共同进行检测时的需要。 关键字:SELECT、CA
23、SE 7提示,PROMPT/ 作用:提示用户,以及接受检测人员,键盘的输入。 广泛用于提示检测人员检测完成,更换工件;提示方法可以为声音、字符文本或者图片。或者接受用户输入一些数据,例如图纸的理论值、工件编号等等。
24、 关键字:PROMPT (论坛上关于PROMPT有一篇帖子对应功能详细的讲解) 8其它常用字符函数或者数学函数 作用:对于一些不能直接进行测量的元素,例如螺旋线的基圆,依靠其它孔的位置对其
25、进行定位。中间需要的一些计算公式和函数,可以由DMIS提供的标准数学函数来进行计算。 关键字:STR、MOD等先看图,本课程讲解的是如图中所用的公式的用法用一些实例代码+-*/就不用说了吧,小学就学过的%:求余,像+-*/一样的运算式,如:7%3=1,10%6=4,前面那个数将后面的数整除后,得到的余数.:二次幂,也就是平方的意思;52=25!:逻辑非,比如说运用在IF判断语句里面实例:赋值/V1 = 1IF/!(V1=2) 'V1的值为1,这里判断V1=2返回的结
26、果是False,但如果加上!,那么!(V1=2)这个条件返回的值就为True注释/操作者,否,请编辑注释文本! '这里会执行到,因为上面条件返回的值为TrueEND_IF/=:等于,它与"="的区别是:=一般用于判断条件表达式内,而=用于赋值语句里面,它都是代表等于的意思,只是应用位置不一样<>:不等于,比如上面实例代码中!(V1=2),我改成!(V1<>2),返回的结果是什么呢?自已想想。(结果为False),它与=是相反的<,>,<=,>=:这四个分别是表示小于,大于,小于等于,大于等于。
27、没啥好讲的,知道就行了":":这个冒号一般大家用不着,因为它一般都用于指定的语句当中,比如调用子程序,调用外部基准的代码中"":双引号:表达式是一条字符串":在字符串中加入引号,比如说:赋值/V1 = "我选用"A基准作基准""注释/操作者,否,V1运行的结果为:当你不用",那你就不能做出这种提示效果来:在字符串中加入反斜线,没有特别的意思,比如赋值/V1 = "我选用A基准作基准",在PC-DMIS看来是错误的未完待续.():这个就和我们学数学一样的,()里面的先计算,是一
28、个功能:这个东西有点像赋值那个命令的功能, 比如说:V1 =文件/读取行,FPTR,TMP,这条命令,TMP自动申明一个变量接受文件读入的一行资料,并可以在下面程序中直接调用TMP这个变量RationalDMIS程序中的DMIS语句解释第五部分2011年03月09日 星期三 12:587)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />D
29、(label2) 是要取出的工作坐标系名称,此坐标系会被激活成为当前坐标系.DA(label1) 是要取出的实际工作坐标系名称,此坐标系会被激活成为当前坐标系.S(label3) 是要取出的探头名称.SA(label4) 是要取出的实际探头名称.FA(label5) 是要取出的实际元素名称.RT(label6) 是要取出的转盘名称.DID(label7) 是保存有要取出数据的设备名称,当不指定DID(label7)时,会从测量机默认的存储设备中取出.SNSLCT选择用来进行测量的探头GEOALG用来设置某种元素类型的拟和算法ENDFIL用来指示程序或模块结束 WKPLAN/XYPLA
30、NWKPLAN用来设置工作平面,DMIS 的标准格式为:WKPLAN/XYPLANYZPLANZXPLAN GOHOME使探头回到其初始位置,DMIS 的标准格式为:GOHOME DMESW用于控制数据或测量机输入文件中发送数据的过程。DMESW/CONTINPAUSEDELAY,nCOMAND,'command'command'发送给接受系统的命令,用单撇号围起来。COMAND意味着用单撇号围起来的文字数字字符串,它后面跟随的要作为一个测量机指定的命令。这个习惯性的测量机指令代码并不在DMIS接口的能力范围内。CONTIN意味着测量机继续处理数据。在DMESW/PAUSE语句之后和下一个DMESW/CONTIN语句之前,所有接受的数据都被测量机忽略。DELAY意味着测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东工贸职业技术学院《传播伦理学》2023-2024学年第二学期期末试卷
- 闽南理工学院《照明基础》2023-2024学年第二学期期末试卷
- 新疆第二医学院《大规模集成电路布局规划设计》2023-2024学年第二学期期末试卷
- 宜春学院《孔型设计》2023-2024学年第二学期期末试卷
- 淮南职业技术学院《材料成型综合性设计与制作》2023-2024学年第二学期期末试卷
- 苏州大学《分布式处理与云计算》2023-2024学年第二学期期末试卷
- 中央财经大学《工程量清单计量》2023-2024学年第二学期期末试卷
- 吉林工商学院《商业空间设计》2023-2024学年第二学期期末试卷
- 炎黄职业技术学院《软件需求与建模》2023-2024学年第二学期期末试卷
- 泉州工程职业技术学院《环境管理与政策》2023-2024学年第二学期期末试卷
- 挑山工 全省一等奖
- SMC真空压力表ZSE30A-01-N设定
- 2019-护理安全警示教育ppt
- 挖孔桩基施工方案(水磨钻)
- 湘西土家织锦工艺和图案研究
- 2020电大国开理工英语3边学边练
- 附着体义齿可摘局部义齿修复工艺-常见的各类附着体
- 动火作业票(参考)
- 以案说德发言四篇
- GB/T 23703.7-2014知识管理第7部分:知识分类通用要求
- GB/T 15768-1995电容式湿敏元件与湿度传感器总规范
评论
0/150
提交评论