版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.DMIS 初级教程 - 高级语言篇 (不断更新 )DMIS 语言的高级语句部分,和大多数编程语言类似,包含变量声明、表达式、结构、输入输出、宏等等,如网友有编程经验,会很快熟悉这一部分。从一个简单常用的例子说起,循环可能是我们在高级应用服务中运用最多的语句,DMIS 标准中的循环语句为主字DO语法格式为DO/ 变量 ,启始值 ,终止值 ,步幅那么一个语句如果为DO/I,1,10,1的意义就为,执行一个循环,I 的值 +1, 增加 10 次之后 ,循环结束 .来看一个实例.假设我的工件有一个孔,名为 CIR1,我需要把它测量5 次 ,取其中的最小值.那么测量部分的循环语句即为AUTO/AUTO
2、,PROG,MANDO/I,1,5MEAS/CIRCLE,CIR1,4ENDMESENDDO运行这段语句,测量机就会自动去测量圆CIR1, 直到 5 次结束后位置.需要注意的地方: 1. 所有的变量在使用前都必须声明,上面的 I 是一个整型变量,每循环一次 ,I+12.每一个DO 语句都必须跟一个ENDDO 表示该循环的结束.3.步幅表示每次循环I 的增量 ,如果步副是2,那么下次I 就为 3,再循环一个为5,以此类推 ._一.变量的声明 .上面的循环手动测量圆,用到了一个变量I,在 DMIS 中,所有的变量在使用前都需要经过声明,声明这个变量的名称,类型 ,作用围 .变量声明的函数为DECL
3、/var_1var_2var_3定义变量的作用围其中Var_1为 COMMON普通或者 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
4、,TEMPSTR.这个语句声明一个字符串变量,名称为 TEMPSTR, 长度为20, 表示这个变量所存储的字符长度最大为20, 如果超过20, 后面的字符将不读入变量.变量的名称由1 到 16 个字母数字、下划线组成,名称的第一个字符只能为希腊字母。变量名称不能使用DMIS 预留字,预留字包括DMIS 主字、次字、常用函数等等。如果这里不指定Var_1 ,DMISMN声明的程序块用GLOBAL 为默认值, 在 MACRO 声明的程序块中用LOCAL 为默认值。变量数组的声明例子为:DECL/COMMON,DOUBLE,RAPLUS3,3这个语句表示声明了一个2 维的数组RPLUS3,3, 此次
5、一共声明了9 个变量 ,分别为RAPLUS1,1RAPLUS1,2RAPLUS1,3RAPLUS2,1RAPLUS2,2RAPLUS2,3RAPLUS3,1RAPLUS3,2RAPLUS3,3DMIS 中变量数组的起始从1 开始,而其它常用的高级编程语言如C 从 0 开始。二、结构语句。介绍三个常用的DMIS 语句, DO 和 CASE.DO 循环在 DMIS 语句编程中是常用的语句,其语法为:DO/index,initial,limit,increment循环体ENDDO语句中, index 是一个整型变量,initial是这个变量的起始值,limit是这个变量的结束值,increment
6、是这个变量的增幅。例如语句DO/I,2,30,3循环体.ENDDO意义即为I 开始的值为2,运行第一遍循环后I 的值变为5,第 2 遍后变为8,第三遍后变为11,到 I 的值大于30 后结束循环最后一个参数increment可以不写,默认为1。-CASE 为条件分支选择,语法为:CASE/arg_1其中 arg_1 为整数或者字符串,用一个例子来说明,输出两个圆CIR1、 CIR2 的距离,选择是输出最大距离、最小距离还是两个圆心的距离。decl/common,char,20,dist_cirtempchar=prompt/text,输出距离类型,list,dist_cir,最大距离 , 最小
7、距离 , 圆心距离 select/dist_circase/ 最大距离 T(cir_dis)=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 可以从用户界
8、面上取得输入值,也是在 HLL 中常用的主字 PROMPT,后面的功能语法有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-出现一个图片 ,filename 为此文件和路径和文件名下面是一个例的提示窗口,如图上传的图片抱歉 ,您所在的组无权下载附件,请注册或登陆语句如下 :DECL/CHAR,20,List_var1DECL/DOUBLE,edit_var1,edit_var2,edit_var3DECL/INTGR,Check_var1,Check_var2,Check_var3Tempchar= Prompt/Title,孔测量程序 ,$Text, 孔的数量
10、 ,edit,edit_var1,$Text, 孔的直径 ,edit,edit_var2,$Text, 直径公差带 ,edit,edit_var3,$List,List_var1, 直角坐标系 , 极坐标系 ,$Check, 位置度 ,Check_var1,Check, 圆度 ,Check_var2,Check, 直径公差 ,Check_var3.原来的用户提示还有TEXT/OPER,因为是 DMIS 早期版本的功能 ,后来用 Prompt取代了 .DMIS 常见问题汇总一、 DMIS 的作用。DMIS 可以帮助检测人员去完成更复杂的检测和评价。可以更深刻地理解检测的意义和原理。实现更多灵活的
11、要求。DMIS 标准的检测程序,可以导入到市场上支持DMIS 语言的软件中去实现测量,如OpenDMIS 、 Calypso 、 LK 等等,程序具有通用性。二、 DMIS 语言的分类。DMIS 语言分为测量相关的,包括定义检测元素、测量、输出等等,大部分的语句三坐标软件本身可以进行记录或者自动生成。结构相关的, 对测量的过程进行控制, 比如循环,判断选择,进行特定的计算和评价。三、常用的 DMIS 语言介绍。.1.定义检测元素, F(CIR1) = FEAT/CIRCLE,INNER,CART, 300, 324,0, 0, 1, 40作用:等同于图纸中所标注的数值,上例中,语句的意思定义一
12、个需要检测的孔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).关键字: TOL4输出报告, OUTPUT/FA(CIR1), TA(TDIAM1)作用:把孔 CIR1 的直径、理论、实际、偏差输出到报告中。关键字: OUTPUT.上面的关键字在常规的三坐标检
13、测中,用到的频率相对很高, 只在对应其它元素测量,如点、面,或者做其它的评价时,对应参数有些不同而已。在结构控制方面,比较常用的关键字有5循环, DO/I ,1,10ENDDO作用:将 DO 和 ENDDO 中间的过程重复10 次。如果把测量孔的语句放进去,结果即为连续10 次测量该孔。广泛用在有规则分布的小孔、 特征点的检测方面,根据一个特征点,可以对其它所有的特征点进行检测。关键字: DO6选择, SELECT/nameCASE/零件 1ENDCASCASE/零件 2ENDCASENDSEL作用:对应选择,如果name 的值是 零件 1,就执行第一个 CASE里面的容,如果name 的值是
14、 零件 2,就执行第二个 CASE里面的容。以此类推。.广泛用在多个零件在一个夹具上,共同进行检测时的需要。关键字: SELECT、CASE7提示, PROMPT/作用:提示用户,以及接受检测人员,键盘的输入。广泛用于提示检测人员检测完成,更换工件;提示方法可以为声音、字符文本或者图片。或者接受用户输入一些数据,例如图纸的理论值、工件编号等等。关键字: PROMPT(论坛上关于 PROMPT 有一篇帖子对应功能详细的讲解)8其它常用字符函数或者数学函数作用:对于一些不能直接进行测量的元素,例如螺旋线的基圆,依靠其它孔的位置对其进行定位。中间需要的一些计算公式和函数,可以由DMIS 提供的标准数
15、学函数来进行计算。关键字: STR、MOD 等先看图,本课程讲解的是如图中所用的公式的用法用一些实例代码+-*/ 就不用说了吧,小学就学过的%:求余,像 +-*/ 一样的运算式 ,如 :7%3=1,10%6=4, 前面那个数将后面的数整除后,得到的余数 .: 二次幂 ,也就是平方的意思;52=25!:逻辑非 ,比如说运用在IF 判断语句里面实例:赋值/V1=1IF/!(V1=2)V1的值为1 ,这里判断V1=2返回的结果是False, 但如果加上! ,那么!(V1=2) 这个条件返回的值就为 True注释 / 操作者 ,否,请编辑注释文本!这里会执行到,因为上面条件返回的值为TrueEND_I
16、F/=: 等于 ,它与 = 的区别是: = 一般用于判断条件表达式,而 = 用于赋值语句里面,它都是代表等于的意思,只是应用位置不一样: 不等于 ,比如上面实例代码中!(V1=2),我改成 !(V12),返回的结果是什么呢?自已想想。(结果为False),它与 = 是相反的,=:这四个分别是表示小于,大于 ,小于等于 ,大于等于。没啥好讲的,知道就行了: 这个冒号一般大家用不着,因为它一般都用于指定的语句当中,比如调用子程序,调用外部基准的代码中: 双引号 :表达式是一条字符串: 在字符串中加入引号,比如说:赋值 /V1 = 我选用 A 基准作基准 注释 / 操作者 ,否,V1运行的结果为:当
17、你不用 ,那你就不能做出这种提示效果来: 在字符串中加入反斜线,没有特别的意思,比如赋值/V1= 我选用A 基准作基准, 在PC-DMIS 看来是错误的未完待续 .():这个就和我们学数学一样的,()里面的先计算,是一个功能:这个东西有点像赋值那个命令的功能,比如说: V1= 文件 / 读取行 ,FPTR,TMP, 这条命令, TMP 自动申明一个变量接受文件读入的一行资料,并可以在下面程序中直接调用TMP 这个变量RationalDMIS程序中的 DMIS 语句解释第五部分2011 年 03 月 09 日 星期三12:587).D(label2)是要取出的工作坐标系名称,此坐标系会被激活成为
18、当前坐标系.DA(label1)是要取出的实际工作坐标系名称,此坐标系会被激活成为当前坐标系.S(label3) 是要取出的探头名称 .SA(label4)是要取出的实际探头名称.FA(label5)是要取出的实际元素名称.RT(label6) 是要取出的转盘名称 .DID(label7)是保存有要取出数据的设备名称,当不指定 DID(label7) 时,会从测量机默认的存储设备中取出.SNSLCT 选择用来进行测量的探头GEOALG 用来设置某种元素类型的拟和算法ENDFIL 用来指示程序或模块结束WKPLAN/XYPLANWKPLAN 用来设置工作平面 ,DMIS 的标准格式为:WKPLA
19、N/XYPLANYZPLANZXPLANGOHOME 使探头回到其初始位置 ,DMIS 的标准格式为: GOHOMEDMESW用于控制数据或测量机输入文件中发送数据的过程。.DMESW/CONTINPAUSEDELAY,nCOMAND,commandcommand 发送给接受系统的命令,用单撇号围起来。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 是与当前工作平面中坐标系原点相对的极坐标值.备注 :GOTARG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江西农商联合银行金融科技人才招聘25人笔试历年典型考题及考点剖析附带答案详解
- 地理模拟试题及答案
- 应力模拟测试题及答案
- “尚志赋能·强基领航”项目经理后备人才训练营培训考核测试卷及答案
- 2026电站知识考试题及答案大全
- 2026电梯证考试题库及答案
- 2026电石炉考试题及答案
- 2026电气系统笔试试题及答案
- 2026电路实操考试题及答案
- 2026电力竞聘考试题目及答案
- 2025年高级经济师知识产权考试历年模拟试题及答案
- 2025年中国电力电子散热器市场调查研究报告
- 局中层干部考核管理办法
- 夏季养生健康知识讲座
- 2025年中国电源散热器配件市场调查研究报告
- 人教版六年级数学下册第四单元比例质量提升卷及答案
- 处方流转与电子处方管理制度
- 国家安全教育大学生读本-第一章完全准确领会总体国家安全观
- 《建筑施工土石方工程安全技术规范》JGJ180
- GB/T 19822-2024铝及铝合金硬质阳极氧化膜规范
- 重点传染病防治学习通超星课后章节答案期末考试题库2023年
评论
0/150
提交评论