首页/文章/ 详情

RationalDMIS DMIS5.0编程基础知识

11月前浏览425

DMIS基础知识简介

    DMIS全称为Dimensional Measuring Interface Standard(尺寸测量接口标准),DMIS标准的最初开发是由计算机辅助制造国际公司(CAM-I)资助的。

19852月开始作为三坐标尺寸测量的接口规范项目, 这个规范是自动化系统间检测数据的通讯标准,是由用户和三坐标测量设备厂商共同努力的结果。

   DMIS 的目标是开发一套计算机系统和测量设备之间检测数据双向通信的标准。它提供

一种数据格式,形成各类分系统之间进行数据交换的中性文件。它的内容也具有检测规划和

分析检测结果的作用。它由一套术语词汇表建立起一个用于检测规划和检测结果数据表达的中性格式。DMIS 是为了测试设备的信息交换、

自动化操作和系统集成而设计的,但也照顾

到了测量知识的表达,因而它设计成可以人工读出和编写,在不使用计算机的情况下也可以

编写检测程序和分析检测结果。

   DMIS 提供一套词汇表用来将检测规划提供给尺寸测量设备以及将测量设备的检测结果传递给接收设备。

一台通过DMIS 与其它设备相连的设备必须有一个前置处理器,它将自己内部的数据格式转化为DMIS 格式,

同时还需要一个后置处理器,DMIS 格式转换为自己的数据结构。

    DMIS 标准的诞生,改变了传统机械设计和检测之间信息交流的方式,CMM供应商和

用户带来了极大的便利。首先,通过在CAD系统和CMM之间提供双向通讯的标准,DMIS更加

方便了系统的自动化和集成;其次,CMMCAD公司只需编写惟一的解释程序;第三,用户不

必再局限于单一的CAD系统和CMM来源。另外,由于不必再为CMM的专用语言培训和学习,

所以既节约了时间,又减少了开支。而且DMIS 标准便于数据和路径规划,能够开发远程零件检测规划和平衡机器之间的负载。

使用DMIS格式作为数据交换标准的环境描述见(图1-DMIS 环境),正如图所示,一个测量程序可以由多种不同的方法生成。

测量程序可以由CAD系统、非图形系统、自动化系统,或者手工构建生成。一个编程系统可能需要一个将程序转换成DMIS格式的预处理器,

这样DMIS测量程序就能在不同的三坐标测量设备(DME)上运行。在(图1—DMIS环境)中,DME I具有一个DMIS预处理器和后处理器,

这些处理器把DMIS数据转化成机器自己独有的数据格式。DME IVDMIS作为它的内在格式,所以就不需要预处理器和后处理器。

同样,一个主机被用于控制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.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/'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, FAPLN1,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, LSTSQR

GEOALG/ARC, LSTSQR

GEOALG/PLANE, LSTSQR

定义圆、圆弧、平面的拟合算法为最小二乘法,其中圆的算法可以根据程序进行选择,有5种算法可供选择:

最小外接圆:(最小覆盖圆)将所有的测量点都包含在圆内,直径最小的那个圆。
最大内接圆:(最大空圆)所有测量点都在圆外,直径最大的那个圆。
最小区域圆:(最小半径)从这个圆的圆心出发,画两个同心圆,将所有测量点都包含在这
两个同心圆内,在所有符合上面条件的同心圆中,径向距离最小的那一组。
最小二乘圆:(最小平方差)所有测量点到该圆的距离平方和最小。
  实际中应用最多的是最小平方差,给出的为参数的平均值,计算方便,同时个别点的偏差对测量结果影响不大
  在配合中,为了顺利进入装配,轴的尺寸应采用最小覆盖圆,而最小半径,主要用于形状差的评定。


(3)元素定义

  所有元素在测量前,都必须先有理论值,这个理论值或从图纸上获得,或直接从CAD模型中拾取。

作为测量程序,所有的元素在使用前,都必须先有理论值。

在进行各项元素的检测前,都必须先有理论定义:

1、定义点的DMIS格式为:

   F(LABEL) = FEAT/POINT,  VAR_1,  I,J,K

   VAR_1Cart,x,y,z或者POL,r,a,h

   那么如果我需要定义一个坐标值为102030,方向为Z轴正方向的点定义语句为:

   F(PT1) = FEAT/POINT, CART10, 20, 30, 0, 0, 1

   运行上面的这行语句后,即会出现一个坐标值为102030,方向为001的点。

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,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_7

POL,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或者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,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                为圆弧起始点在平面上的向量       

        

(4)坐标系建立

 坐标系需要使用基准元素进行建立,在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三个轴的方向。

(5)元素测量

常用的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

MEASENMES中间是机器的定位点和测量的分布。上面的语句表示,对圆元素,CIR1

进行测量,3表示所使用的测量点数。

注意的地方:

  1. 在测量点的情况下,如果n设置为1,那么将按照定义的理论值去测量。如果n设置为0,将记录此时测头红宝石球心的坐标,将此作为当前测量点实际值。

2.当打开AUTO模式时,测量设备将使用内部定义的算法来分布测量点进行测量。如果内部对于该元素没有对应算法分布测量点,默认将会切换到下一个所定义的模式状态下。

3.       当使用PROG模式时,测量设备会按照下面所给的PAMEASPTMEASGOTO语句去测量元素。

4.       程序块后必须跟ENDMES为结束标志。中间可以插入高级语句以及其他主关键字。

(6)公差评价及输出

进行元素理论值的定义,并且测量得到实际值后,需要对该元素进行评价。

形位公差同样为标签名定义,定义格式为

T(LABEL) = TOL/var_1

Var_1         为所需要评价的公差次关键字,这里打开软件自学习可以得到所有公差标签名的次字,列表如下:

FLAT                     平面度

TRNOUT                  全跳动

SYM                      对称度

STRGHT                   直线度

PROFS                    曲面轮廓度

PROFP                    点轮廓度

PROFL                    线轮廓度

PARLEL                   平行度公差

PERP                      垂直度公差

ANGL                     锥角公差

ANGLB                    角度公差

ANGLR                    倾斜度公差

POS                       位置度公差

CRNOUT                   圆跳动公差

DIAM                      直径公差

CYLCTY                    圆柱度公差

CONCEN                    同心度公差

CIRLTY                     圆度公差

RAD                       半径公差

WIDTH                     宽度公差

例如,定义一个平面度公差,定义的语句为:

TAAA =  TOL/FLAT0.1

定义了一个名称为AAA的平面度公差,公差带为0.1

评价并输出一个平面例如PLN1的平面度公差的语句即为:

OUTPUT/FAPLN1),TAAAA

来源:RationalDMIS测量技术
电子通信理论控制曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-07-01
最近编辑:11月前
山涧果子
大专 签名征集中
获赞 201粉丝 39文章 1203课程 0
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈