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