DMIS教程部分.docx
《DMIS教程部分.docx》由会员分享,可在线阅读,更多相关《DMIS教程部分.docx(36页珍藏版)》请在冰点文库上搜索。
DMIS教程部分
第四章:
DMIS编程
4.1DMIS简介(历史、发展、通讯相关、原理、作用、意义)
DMIS全称为DimensionalMeasuringInterfaceStandard(尺寸测量接口标准),DMIS标准的最初开发是由计算机辅助制造国际公司(CAM-I)资助的。
在1985年2月开始作为三坐标尺寸测量的接口规范项目,这个规范是自动化系统间检测数据的通讯标准,是由用户和三坐标测量设备厂商共同努力的结果。
DMIS的目标是开发一套计算机系统和测量设备之间检测数据双向通信的标准。
它提供
一种数据格式,形成各类分系统之间进行数据交换的中性文件。
它的内容也具有检测规划和
分析检测结果的作用。
它由一套术语词汇表建立起一个用于检测规划和检测结果数据表达的中性格式。
DMIS是为了测试设备的信息交换、自动化操作和系统集成而设计的,但也照顾
到了测量知识的表达,因而它设计成可以人工读出和编写,在不使用计算机的情况下也可以
编写检测程序和分析检测结果。
DMIS提供一套词汇表用来将检测规划提供给尺寸测量设备以及将测量设备的检测结果传递给接收设备。
一台通过DMIS与其它设备相连的设备必须有一个前置处理器,它将自己内部的数据格式转化为DMIS格式,同时还需要一个后置处理器,将DMIS格式转换为自己的数据结构。
DMIS标准的诞生,改变了传统机械设计和检测之间信息交流的方式,为CMM供应商和
用户带来了极大的便利。
首先,通过在CAD系统和CMM之间提供双向通讯的标准,DMIS更加
方便了系统的自动化和集成;其次,CMM和CAD公司只需编写惟一的解释程序;第三,用户不
必再局限于单一的CAD系统和CMM来源。
另外,由于不必再为CMM的专用语言培训和学习,
所以既节约了时间,又减少了开支。
而且DMIS标准便于数据和路径规划,能够开发远程零件检测规划和平衡机器之间的负载。
使用DMIS格式作为数据交换标准的环境描述见(图1-DMIS环境),正如图所示,一个测量程序可以由多种不同的方法生成。
测量程序可以由CAD系统、非图形系统、自动化系统,或者手工构建生成。
一个编程系统可能需要一个将程序转换成DMIS格式的预处理器,这样DMIS测量程序就能在不同的三坐标测量设备(DME)上运行。
在(图1—DMIS环境)中,DMEI具有一个DMIS预处理器和后处理器,这些处理器把DMIS数据转化成机器自己独有的数据格式。
DMEIV用DMIS作为它的内在格式,所以就不需要预处理器和后处理器。
同样,一个主机被用于控制DMEII和DMEIII。
这个主机有一个后处理器,此后处理器将DMIS程序解码,并同时驱动两台DME,即使用了DMIS格式又使用了用户自定义的数据交换格式。
结果数据可能通过不同的方式被返回并转变成DMIS格式。
例如,这个数据可以被直接转换成DMIS格式或通过后处理器转换。
结果数据会传递到分析系统或者存贮系统,比如质量信息系统(QIS)。
手工输入接口表明DMIS程序在没有计算机辅助的情况下手动编辑,并进行结果分析。
另外,许多其他的DMIS数据交换格式也可以被应用。
DMIS的应用依赖于用户自己。
DMIS只是简单地定义了利用ASCII文件从一个支持DMIS的系统传输到其他系统的数据交换格式。
传输、存贮、管理这些文件的方法由用户自己决定。
这个版本的DMIS组合了可以驱动三坐标测量机、影象测量设备、测量离散机械部件和电子元件的加工混合校验系统的指令。
DMIS的主要目的是为所有测量设备提供一个通讯标准。
将来应用软件可能扩展到支持以下功能:
1)实现识别工件和测量工件自动化。
2)在闭环制造单元加工工件的过程中提供实时的校验和调整。
一致性:
DMIS的主要用途是使组织内部不同的三坐标测量设备以及计算机应用软件之间相互交换数据和存储测量数据,当然也包括和其它组织之间的数据交换。
DMIS已被广泛地应用且拓宽了测量系统和应用的范围。
然而,在一个DMIS设备创建的DMIS文件并不能完全的或者准确的被另一个DMIS设备识别,除非DMIS应用软件完全执行DMIS规范并完全执行标准的、公认的DMIS应用程序协议,这样才能成功的实现DMIS数据交互。
DMIS是一个大而复杂的标准。
供应商无需实现所有的标准,只需实现功能子集,这些子集被认为是规范协议。
DMIS协议的主要好处是:
能确保符合DMIS标准要求的数据间的互用性,以及证明应用软件执行DMIS标准的能力。
一旦应用软件通过了测试鉴定,在协议的约束下我们可以预见应用程序执行的结果。
DMIS一致性测试:
DMIS一致性测试的服务将专门由DNSC提供。
DMIS一致性测试目的是确定:
采用DMIS标准的产品是否能够准确地执行DMIS规则及其关联的应用程序协议。
严格来说,DMIS规则只是一个规定数据交换格式的文本。
然而,“DMIS”通常却包含:
一个程序编辑器(产生DMIS的程序),一个解释器(识别DMIS的程序),以及元文件(实际的DMIS输入和输出文件)。
总的来说,一个程序编辑器、元文件和一个解释器组成了一个整地DMIS系统。
在详细的DMIS协议的一致性条款中有关于DMIS一致性的说明。
因此,DMIS规则以及相关联的应用程序协议对于测试整个DMIS系统的一致性是很重要的。
做DMIS一致性测试必须包含以下一项或多项:
A)检验元文件在语法上是否准确
B)校验程序编辑器符合元文件,准确地、恰当地描述预期的结果
C)校验解释器能恰当地、完全地识别元文件,并输出预期的结果。
D)校验DMIS描述文件在语句描述上是准确的,这个精确地描述应用软件的能力。
如果应用程序的所有语句都按照此标准定义,那么这个应用程序符合DMIS标准。
如果应用软件能根据这个标准定义所有语句,并能解析所有的符合的DMIS协议,那么这个应用软件符合DMIS标准。
基础编程:
4.2.1环境定义(速度、加速度、接近回退、安全距离)
在测量之前,需要对测量的环境有一个定义,我们以软件产生程序时自动产生的环境定义做一个解释:
DMISMN/'Createdby[爱科腾瑞(CNC).10.5]on星期五,二月05,2010',4.0
UNITS/MM,ANGDEC
WKPLAN/XYPLAN
PRCOMP/ON
TECOMP/OFF
FLY/OFF
MODE/PROG,MAN
SNSET/APPRCH,1.000000
SNSET/RETRCT,1.000000
SNSET/DEPTH,2.000000
SNSET/SEARCH,10.000000
SNSET/CLRSRF,10.000000
FEDRAT/POSVEL,MMPS,100.000000
FEDRAT/MESVEL,MMPS,10.000000
FEDRAT/SCNVEL,MMPS,10.000000
ACLRAT/POSACL,MMPSS,500.000000
ACLRAT/MESACL,MMPSS,100.000000
RECALL/D(MCS)
SNSLCT/S(ROOTSN3_A90_NB90)
GEOALG/CIRCLE,LSTSQR
GEOALG/ARC,LSTSQR
GEOALG/PLANE,LSTSQR
DMISMN/'Createdby[爱科腾瑞(CNC).10.5]on星期五,二月05,2010',4.0
程序标志,DMISMN/跟一个字串,来对此程序进行说明。
UNITS/MM,ANGDEC
程序中使用计算的单位,上面表示为毫米和角度。
同样可以支持的单位有CM(厘米)、METER(米)、INCH(英寸)、FEET(英尺)。
ANGDMS(度分秒,例如04:
03:
47.00)、ANGRAD(弧度)
如果需要采用的单位为厘米、弧度,那么定义语句即需要为:
UNITS/CM,ANGRAD
WKPLAN/XYPLAN
如果坐标系为直角坐标系,坐标系平面为XY平面。
(三坐标软件所采用的坐标系均为圆柱
极坐标系)
PRCOMP/ON
打开测头补偿。
TECOMP/OFF
打开温度补偿。
FLY/OFF
关闭FLY模式,打开FLY模式的语句为FLY/1.0
打开FLY模式后,机器所走的路径将类似于圆弧的路径,如下图:
MODE/PROG,MAN
定义模式为程序模式。
模式为自动模式时MODE/AUTO,PROG,MAN
自动模式,在程序运行到测量语句时,会根据点的数量,重新均分测量点。
模式为程序模式时MODE/PROG,MAN
程序模式,在程序运行到测量语句时,根据程序里指定的测量点的坐标和方向去进行测量。
模式为手动模式时MODE/MAN
手动模式,在程序运行到测量语句时,会等待用户用手动去进行测量。
SNSET/APPRCH,1.000000
设置接近距离,是测针到达测量点之前,从定位速度到测量速度,开始准备测量的一个距离。
SNSET/RETRCT,1.000000
设置回退距离,是测针在工件上触发之后,回退的一段距离。
SNSET/DEPTH,2.000000
设置测量深度,对于线性元素,如圆,是测针沿着圆轴线方向,深入的一段距离。
SNSET/SEARCH,10.000000
设置搜索距离,为测针到达指定的测量点位置后,没有发生触发,而继续沿着测量方向前进的距离。
SNSET/CLRSRF,10.000000
安全平面距离,该语句可以为SNSET/CLRSRF,FA(PLN1),10.000000
例如PLN1为一个平面,那么测量任何元素前,测针都会首先抬高离平面PLN110毫米的位置再进行移动或者测量。
FEDRAT/POSVEL,MMPS,100.000000
设置机器的定位速度,单位毫米/秒。
FEDRAT/MESVEL,MMPS,10.000000
设置机器的测量速度,单位毫米/秒。
FEDRAT/SCNVEL,MMPS,10.000000
设置机器的扫描速度,单位毫米/秒。
ACLRAT/POSACL,MMPSS,500.000000
设置机器的定位加速度,单位毫米/秒的平方
ACLRAT/MESACL,MMPSS,100.000000
设置机器的扫描加速度,单位毫米/秒的平方。
RECALL/D(MCS)
调用机器坐标系MCS。
SNSLCT/S(ROOTSN3_A90_NB90)
调用名为ROOTSN3_A90_NB90的测头。
GEOALG/CIRCLE,LSTSQR
GEOALG/ARC,LSTSQR
GEOALG/PLANE,LSTSQR
定义圆、圆弧、平面的拟合算法为最小二乘法,其中圆的算法可以根据程序进行选择,有4种算法可供选择:
最小外接圆:
(最小覆盖圆)将所有的测量点都包含在圆内,直径最小的那个圆。
最大内接圆:
(最大空圆)所有测量点都在圆外,直径最大的那个圆。
最小区域圆:
(最小半径)从这个圆的圆心出发,画两个同心圆,将所有测量点都包含在这
两个同心圆内,在所有符合上面条件的同心圆中,径向距离最小的那一组。
最小二乘圆:
(最小平方差)所有测量点到该圆的距离平方和最小。
实际中应用最多的是最小平方差,给出的为参数的平均值,计算方便,同时个别点的偏差对测量结果影响不大。
在配合中,为了顺利进入装配,轴的尺寸应采用最小覆盖圆,而最小半径,主要用于形状
差的评定。
4.2.2元素定义、坐标系建立
所有元素在测量前,都必须先有理论值,这个理论值或从图纸上获得,或直接从CAD模型中拾取。
作为测量程序,所有的元素在使用前,都必须先有理论值。
在进行各项元素的检测前,都必须先有理论定义:
1、定义点的DMIS格式为:
F(LABEL)=FEAT/POINT,VAR_1,I,J,K
VAR_1为Cart,x,y,z
POL,r,a,h
那么如果我需要定义一个坐标值为10,20,30,方向为Z轴正方向的点定义语句即为:
F(PT1)=FEAT/POINT,CART,10,20,30,0,0,1
运行上面的这行语句后,即会出现一个坐标值为10,20,30,方向为0,0,1的点。
2、定义直线元素:
F(LABEL)=FEAT/LINE,var_1,ni,nj,nk
VAR_1为UNBND,var_2
或者BND,var_3
VAR_2为CART,x,y,z,i,j,k
或者POL,r,a,h,i,j,k
VAR_3为CART,e1x,e1y,e1z,e2x,e2y,e2z
或者POL,e1r,e1a,e1h,e2r,e2a,e2h
上面的部分参数意义:
UNBND:
为一条未限制边界的直线(无限长)
BND:
为一条限制范围的直线(定长)
e1x,e1y,e1z:
e2x,e2y,e2z:
为限制直线的两个端点的直角坐标值
e1r,e1a,e1h:
e2r,e2a,e2h:
为限制直线的两个端点的极坐标值
i,j,k:
为沿直线方向第一点到第二点的向量
ni,nj,nk:
为直线所在平面的向量,可以用来做探头补偿
如语句:
F(LINE1)=FEAT/LINE,BND,CART,-10,-10,-10,10,10,10,-1,1,0
所定义的直线LINE1的两个端点坐标为(-10,-10,-10)(10,10,10)所在平面的方
向为-1,1,0
3、定义球元素
F(LABEL)=FEAT/SPHERE,var_1,var_2,diamvar_3
Var_1为INNER
或者OUTER
Var_2为CART,x,y,z
或者POL,r,a,h
Var_3为i,j,kvar_8
或者不存在
Var_8为angle
或者不存在
上面部分参数意义:
INNER:
为一个内球
OUTER:
为一个外球
i,j,k:
为球的法向量(如下面图示)
angle:
为指示球的可测范围(如下面图示)的角度
4.定义平面元素
F(label)=FEAT/PLANE,var_1,i,j,k
Var_1为Cart,x,y,z
或者Pol,r,a,h
上面部分参数的意义:
x,y,z为平面上某一点的坐标
5.定义曲线元素
F(label)=FEAT/GCURVE,var_1
Var_1为CART,x,y,z,i,j,k
或者POL,r,a,h,i,j,k
CART,x,y,z,i,j,k,PTDATA,xd,yd,zd,id,jd,kdvar_7
POL,r,a,h,i,j,k,PTDATA,rd,ad,hd,id,jd,kdvar_8
Var_7为xd,yd,zd,id,jd,kdvar_7
或者xd,yd,zd,id,jd,kd
Var_8为rd,ad,hd,id,jd,kdvar_8
或者rd,ad,hd,id,jd,kd
上面部分参数的意义
x,y,z为曲线所在平面上任意一点的坐标
i,j,k曲线所在平面的向量.
PTDATA表示为曲线上每个点的数据(由测量曲线时的实测点来确定)
xd,yd,zd,id,jd,kd曲线上每一个测量点的坐标和法向.
6.定义理论圆柱
F(label)=FEAT/CYLNDR,var_1,var_2,i,j,k,diamvar_3
Var_1为INNER
OUTER
Var_2为CART,x,y,z
或者POL,r,a,h
Var_3为len
或者不存在
上面部分参数的意义啊
x,y,z圆柱为没有边界时,为轴上任意一点的坐标.
圆柱有边界时,为圆柱轴线中点的坐标
i,j,k为圆柱轴线方向
7.定义理论椭圆
F(label)=FEAT/ELLIPS,var_1,var_2,var_3,i,j,k,diam
Var_1为INNER
或者OUTER
Var_2为CART,f1x,f1y,f1z,f2x,f2y,f2z
或者POL,f1r,f1a,f1h,f2r,f2a,f2h
Var_3为MAJOR
或者MINOR
部分参数的意义
f1x,f1y,f1z为椭圆的两个焦点的直角坐标
f2x,f2y,f2z
f1r,f1a,f1h为椭圆的两个焦点的极坐标
f2r,f2a,f2h
MAJOR表示下面定义的为椭圆的大直径
MINOR表示下面定义的为椭圆的小直径
椭圆在DMIS标准里是两点定义,为椭圆上任意一点,到两个焦点的距离之和为定值,这样来进行椭圆二次曲线的几何定义.
在RationalDMIS中,元素定义窗口是用椭圆的圆心点坐标,长短轴长度,长轴方向来唯一确定一个椭圆.
8.定义理论圆锥
F(label)=FEAT/CONE,var_1,var_2,i,j,k,ang
Var_1为INNER
或者OUTER
Var_2为CART,x,y,z
或者POL,r,a,h
部分参数的意义
CART,x,y,z为圆锥顶点直角坐标
POL,r,a,h为圆锥顶点极坐标
i,j,k为圆锥轴线方向,方向如图示
9.定义圆弧
圆弧有两种定义方式:
四点定义和角度定义
四点定义格式:
F(label)=FEAT/ARC,4POINT,var_1,e1x,e1y,e1z,mx,my,mz,e2x,e2y,e2z,cx,cy,cz
Var_1为INNER
或者OUTER
e1x,e1y,e1z为圆弧第一个边缘点的坐标值
mx,my,mz为圆弧中点的坐标值
e2x,e2y,e2z为圆弧第二个边缘点的坐标值
cx,cy,cz为圆弧圆心的坐标
角度定义格式:
F(label)=FEAT/ARC,var_1,var_2,i,j,k,rad,ang1,ang2var_3
Var_1为INNER
或者OUTER
Var_2为CART,x,y,z
或者POL,r,a,h
Var_3为is,js,ks
或者不存在
部分参数意义
i,j,k为圆弧所在平面的向量
rad为一个正整数表示圆弧的半径
ang1为由Var_3参数确定的主轴所确定的角度
ang2为对于角度1包含圆弧的角度
is,js,ks为圆弧起始点在平面上的向量
坐标系需要使用基准元素进行建立,在DMIS中,基准的定义语句为
定义坐标系基准的语句为
DATDEF/var_1
Var_1为FA(label1),DAT(x)
或者FA(label2),DAT(x-x)
或者F(label3),DAT(x)
DAT(x)为基准标签名,X为任意大写希腊字母,如图纸上的A等等。
DAT(x-x)为建立的共同基准,对应定义语句中的FEAT/COMPOUND。
F(label3)以元素理论值建立基准
FA(label2)以元素实际值建立基准
建立完基准之后,指定建立完的基准建立坐标系时,限制相应空间自由度。
建立坐标系的格式为
D(label)=DATSET/var_1
此函数的作用为定义并且激活一套基准,或为一个工件坐标系,赋于一个坐标系标签名,基准的顺序遵从标准ASMEY14.5M-1994。
以常见的面、线、点为例,假设面定义的基准标签名为A,线为B,点为C
那么建立坐标系的DMIS语句即为:
D(CRD1)=DATSET/DAT(A),ZDIR,ZORIG,DAT(B),XDIR,YORIG,DAT(C),XORIG
该语句是意思是建立一个新的坐标系名称为CRD1。
使用基准A,也就是平面,确立该坐标系的Z轴方向和Z轴位置。
使用基准B,也就是直线,确立该坐标系的X轴方向和Y轴的位置。
使用基准C,也就是圆心,确定该坐标系的X轴的位置。
所建立的坐标系可以根据需要灵活调整,但是按照顺序,元素进行坐标系自由度的限制,不超出,XYZ三个轴的位置,和XYZ三个轴的方向。
4.2.3元素测量
常用的DMIS测量语句的格式为
MEAS/var_1,F(label),n
Var_1为各个元素类型的关键字,如CIRCLE\CONE\SPHERE等等
F(label)为需要测量元素的标签名
n为测量点数。
在扫描被激活的时候,点数会根据软件算法重新生成,n不会生效.
以测量圆为例。
MEAS/CIRCLE,F(CIR1),3
GOTO/-15.500000,-0.000000,10.000000
PTMEAS/CART,-12.500000,-0.000000,-2.000000,-1.000000,-0.000000,$
0.000000
GOTO/-13.423394,-7.750000,-2.000000
GOTO/-7.750000,-13.423394,-2.000000
GOTO/0.000000,-15.500000,-2.000000
PTMEAS/CART,6.250000,-10.825318,-2.000000,0.500000,-0.866025,0.000000
GOTO/13.423394,-7.750000,-2.000000
GOTO/15.500000,0.000000,-2.000000
GOTO/13.423394,7.750000,-2.000000
PTMEAS/CART,6.250000,10.825318,-2.000000,0.500000,0.866025,0.000000
GOTO/7.750000,13.423394,10.000000
ENDMES
MEAS和ENMES中间是机器的定位点和测量的分布。
上面的语句表示,对圆元素,CIR1
进行测量,3表示所使用的测量点数。
注意的地方:
1.在测量点的情况下,如果n设置为1,那么将按照定义的理论值去测量。
如果n设置为0,将记录此时测头红宝石球心的坐标,将此作为当前测量点实际值。
2.当打开AUTO模式时,测量设备将使用内部定义的算法来分布测量点进行测量。
如果内部对于该元素没有对应算法分布测量点,默认将会切换到下一个所定义的模式状态下。
3.当使用PROG模式时,测量设备会按照下面所给的PAMEAS、PTMEAS和GOTO语句去测量元素。
4.程序块后必须跟ENDMES为结束标志。
中间可以插入高级语句以及其他主关键字。
4.2.4公差评价、输出报告
进行元素理论值的定义,并且测量得到实际值后,需要对该元素进行评价。
形位公差同样为标签名定义,定义格式为
T(LABEL)=TOL/var_1
Var_1为所需要评价的公差次关键字,这里打开软件自学习可以得到