首页/文章/ 详情

RationalDMIS 7.0 DO循环实例

2天前浏览7

    从一个简单常用的例子说起,循环可能是我们在高级应用服务中运用最多的语句,DMIS标准中的循环语句为主字DO。





语法格式为:


    DO/变量,启始值,终止值,步幅


   那么一个语句如果为DO/I,1,10,1的意义就为,执行一个循环,I的值+1,增加10次之后,循环结束.


来看一个实例:


   假设我的工件有一个孔,名为CIR1,我需要把它测量5次,取其中的最小值.那么测量部分的循环语句即为


AUTO/AUTO,PROG,MAN


DO/I,1,5


MEAS/CIRCLE,CIR1,4


ENDMES


ENDDO



运行这段语句,测量机就会自动去测量圆CIR1,直到5次结束后位置.


需要注意的地方:


1.所有的变量在使用前都必须声明,上面的I是一个整型变量,每循环一次,I+1


2.每一个DO语句都必须跟一个ENDDO表示该循环的结束.


3.步幅表示每次循环I的增量,如果步副是2,那么下次I就为3,再循环一个为5,以此类推.


RationalDMIS 7.0 DO循环实例如下:



    当程序运行时,操作软件就会提醒操作者输入需要测量被测特征的次数,界面如下:



      这就要操作者自行输入需要的数字,当输入的数字完毕,软件就会执行这段程序输入数字相应的次数,测量特征一次之后,界面如下:



这样,操作者就很清楚测量的进度。



    通过这一方法,还可以确定测量的重复性,帮助我们判断测量结果的准确度和可靠性。


DECL/COMMON,INTGR,I


DECL/COMMON,INTGR,NUM


NUM = PROMPT/'要测量特征多少次!'


DECL/COMMON,CHAR,255,C1


DO/I,1,NUM


F(J-1)=FEAT/CIRCLE,INNER,CART,15.9115,22.5000,-2.0000,0.0000,0.0000,1.0000, 10.0000


$$ Empty Meas Block

MEAS/CIRCLE, F(J-1), 5


ENDMES


C1 = ASSIGN/CONCAT('已测量',STR(I),'次,','共',STR(NUM),'次。')


TEXT/OUTFIL, C1


T(TCOR1)=TOL/CORTOL,XAXIS,-0.0300,0.0300

OUTPUT/FA(J-1),TA(TCOR1)

T(TCOR2)=TOL/CORTOL,YAXIS,-0.0300,0.0300

OUTPUT/FA(J-1),TA(TCOR2)

T(TDM1)=TOL/DIAM,0.0000,0.0210

OUTPUT/FA(J-1),TA(TDM1)


TEXT/OPER, C1


ENDDO





能实现同样效果的程序如下:



软件示例(傅海鑫):


1.       下面的例子将提示语句循环执行4次,每次提示循环到第几遍


DO/KNPTN1,1,4,1


$$将数字转化为字符并与提示合并


KNPTC1=ASSIGN/CONCAT('这是第',STR(KNPTN1),'遍循环')


TEXT/OPER, KNPTC1


ENDDO


2.       下面的程序控制机器在500X500的范围内走S形轨迹


DECL/LOCAL,REAL,XPOS,YPOS


DECL/LOCAL,INTGR,XN,YN


DO/YN,0,500,100


   $$RL函数将整数转换为实数


   YPOS=ASSIGN/RL(YN)


     DO/XN,0,500,100


       XPOS=ASSIGN/RL(XN)


       GOTO/XPOS,YPOS,50


     ENDDO


ENDDO


来源:山涧果子
UM控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-01-03
最近编辑:2天前
山涧果子
大专 签名征集中
获赞 204粉丝 51文章 700课程 0
点赞
收藏
作者推荐

RationalDMIS高级指令(取值函数VALUE语句)

获取元素的公差值。RE注意: 获取元素公差时使用的变量不用提前定义变量,在获取语句前默认添加了定义变量的指令。Value语句设置变量与DMIS项目的属性值相等,格式如下: 变量名称=VALUE/标签,关键词 变量名称:已定义的变量名。标签:元素、公差。关键词:如INTOL、PTDATA、ACT、DEV、AMT等,控制输出项目。VALUE语句例子1. 读取平面测量点数到整数变量里 将实际平面拖放到整数标签上自学习下自动生成value语句 2. 读取公差的实际值、偏差值、超差值到变量里将公差拖放到实数标签上3. 判断公差值是否超差,超差为0,不超差为1 。KNPTN1=VALUE/TA(TDST1),INTOLDECL/COMMON,REAL,TDST1_AMTTDST1_AMT = VALUE/TA(TDST1),AMTIF/(TDST1_AMT .EQ.0)TEXT/OPER, '未超差!!!'ELSETEXT/OPER, '数据超差!!'ENDIF4. 统计公差或者超差的数量。程序里必须有公差评价的语句,而且必须在它们的后面运行。KNPTN1 = VALUE/TOL,ALLKNPTN2 = VALUE/TOL,OUTOL5. 获取测针球心当前的坐标CURX = VALUE/GOTO, XAXISCURY = VALUE/GOTO, YAXISCURZ = VALUE/GOTO, ZAXIS来源:山涧果子

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈