DMIS基础知识简介 DMIS全称为Dimensional Measuring Interface Standard(尺寸测量接口标准),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环境)中,DME I具有一个DMIS预处理器和后处理器,这些处理器把DMIS数据转化成机器自己独有的数据格式。DME IV用DMIS作为它的内在格式,所以就不需要预处理器和后处理器。同样,一个主机被用于控制DME II 和DME III。这个主机有一个后处理器,此后处理器将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标准的能力。一旦应用软件通过了测试鉴定,在协议的约束下我们可以预见应用程序执行的结果。(一)环境定义速度、加速度、接近回退、安全距离在测量之前,需要对测量的环境有一个定义。我们以软件产生程序时自动产生的环境定义做一个解释: DMISMN/'Created by [爱科腾瑞(CNC).10.5] on 星期五, 二月 05, 2010', 4.0UNITS/MM, ANGDECWKPLAN/XYPLANPRCOMP/ONTECOMP/OFFFLY/OFFMODE/PROG, MANSNSET/APPRCH, 1.000000SNSET/RETRCT, 1.000000SNSET/DEPTH, 2.000000SNSET/SEARCH, 10.000000SNSET/CLRSRF, 10.000000FEDRAT/POSVEL, MMPS, 100.000000FEDRAT/MESVEL, MMPS, 10.000000FEDRAT/SCNVEL, MMPS, 10.000000ACLRAT/POSACL, MMPSS, 500.000000ACLRAT/MESACL, MMPSS, 100.000000RECALL/D(MCS)SNSLCT/S(ROOTSN3_A90_NB90)GEOALG/CIRCLE, LSTSQRGEOALG/ARC, LSTSQRGEOALG/PLANE, LSTSQR DMISMN/'Created by [爱科腾瑞(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/ON打开温度补偿。 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为一个平面,那么测量任何元素前,测针都会首先抬高离平面PLN1 10毫米的位置再进行移动或者测量。 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, LSTSQRGEOALG/ARC, LSTSQRGEOALG/PLANE, LSTSQR定义圆、圆弧、平面的拟合算法为最小二乘法,其中圆的算法可以根据程序进行选择,有5种算法可供选择:最小外接圆:(最小覆盖圆)将所有的测量点都包含在圆内,直径最小的那个圆。最大内接圆:(最大空圆)所有测量点都在圆外,直径最大的那个圆。最小区域圆:(最小半径)从这个圆的圆心出发,画两个同心圆,将所有测量点都包含在这两个同心圆内,在所有符合上面条件的同心圆中,径向距离最小的那一组。最小二乘圆:(最小平方差)所有测量点到该圆的距离平方和最小。 实际中应用最多的是最小平方差,给出的为参数的平均值,计算方便,同时个别点的偏差对测量结果影响不大。 在配合中,为了顺利进入装配,轴的尺寸应采用最小覆盖圆,而最小半径,主要用于形状差的评定。(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_3VAR_2为 CART,x,y,z,i,j,k或者 POL,r,a,h,i,j,kVAR_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,03、定义球元素 F(LABEL) = FEAT/SPHERE,var_1,var_2,diam var_3 Var_1为 INNER或者 OUTER Var_2为 CART,x,y,z或者 POL,r,a,h Var_3为 i,j,k var_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,kd var_7POL,r,a,h,i,j,k,PTDATA,rd,ad,hd,id,jd,kd var_8 Var_7为 xd,yd,zd,id,jd,kd var_7或者 xd,yd,zd,id,jd,kd Var_8为 rd,ad,hd,id,jd,kd var_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,diam var_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,f2 h Var_3为 MAJOR或者MINO R 部分参数的意义 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或者OUTERe1x,e1y,e1z 为圆弧第一个边缘点的坐标值 mx,my,mz 为圆弧中点的坐标值 e2x,e2y,e2z 为圆弧第二个边缘点的坐标值 cx,cy,cz 为圆弧圆心的坐标 角度定义格式: F(label)=FEAT/ARC,var_1,var_2,i,j,k,rad,ang1,ang2 var_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 为圆弧起始点在平面上的向量 (3)坐标系建立 坐标系需要使用基准元素进行建立,在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此函数的作用为定义并且激活一套基准,或为一个工件坐标系,赋于一个坐标系标签名,基准的顺序遵从标准ASME Y14.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)元素测量常用的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.000000GOTO/ 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.000000ENDMES MEAS和ENMES中间是机器的定位点和测量的分布。上面的语句表示,对圆元素,CIR1进行测量,3表示所使用的测量点数。注意的地方:在测量点的情况下,如果n设置为1,那么将按照定义的理论值去测量。如果n设置为0,将记录此时测头红宝石球心的坐标,将此作为当前测量点实际值。2. 当打开AUTO模式时,测量设备将使用内部定义的算法来分布测量点进行测量。如果内部对于该元素没有对应算法分布测量点,默认将会切换到下一个所定义的模式状态下。3. 当使用PROG模式时,测量设备会按照下面所给的PAMEAS,PTMEAS和GOTO语句去测量元素。4. 程序块后必须跟ENDMES为结束标志。中间可以插入高级语句以及其他主关键字。(5)公差评价及输出进行元素理论值的定义,并且测量得到实际值后,需要对该元素进行评价。形位公差同样为标签名定义,定义格式为T(LABEL) = TOL/var_1Var_1 为所需要评价的公差次关键字,这里打开软件自学习可以得到所有公差标签名的次字,列表如下: FLAT 平面度TRNOUT 全跳动SYM 对称度STRGHT 直线度PROFS 曲面轮廓度PROFP 点轮廓度PROFL 线轮廓度PARLEL 平行度公差PERP 垂直度公差ANGL 锥角公差ANGLB 角度公差ANGLR 倾斜度公差POS 位置度公差CRNOUT 圆跳动公差DIAM 直径公差CYLCTY 圆柱度公差CONCEN 同心度公差CIRLTY 圆度公差RAD 半径公差WIDTH 宽度公差 例如,定义一个平面度公差,定义的语句为:T(AAA) = TOL/FLAT,0.1定义了一个名称为AAA的平面度公差,公差带为0.1。评价并输出一个平面例如PLN1的平面度公差的语句即为:OUTPUT/FA(PLN1),TA(AAA)来源:山涧果子