DMIS语言简明教程
本教程基于DMIS 4.0语言编写,简明地介绍了最常用的DMIS指令,希望本教程能对ARCO 用户利用DMIS语言编程时提供一些快速简便的指导。
1.1 几何元素
几何元素的测量,包括:元素的定义,测量指令,要测量的点以及测量结束指令。
以下用圆元素的测量举例说明:
1—— F(CIRC3)=FEAT/CIRCLE,INNER,CART,-32.5000,38.3494,-25.0000,0.0000,0.0000,1.0000,10.0000 2—— MEAS/CIRCLE,F(CIRC3),3
3—— PTMEAS/CART,-32.5000,33.3494,-25.0000,0.0000,1.0000,0.0000
3—— PTMEAS/CART,-36.8301,40.8494,-25.0000,0.8660,-0.5000,0.0000
3—— PTMEAS/CART,-28.1699,40.8494,-25.0000,-0.8660,-0.5000,0.0000
4—— ENDMES
1——元素定义;2——测量指令;3——要测量点数(最少3点确定一个圆);4——测量结束指令。
以 “F”开始的元素定义为理论元素,以“FA”开始的元素定义为测量元素。
序号:1—元素名称;2—定义指令;3—定义圆元素;4—定义内圆;5—直角坐标系;6—X理论值;7—Y理论值;8—Z理论值;9—I;10—J;11—K;12—定义圆的理论直径
1 2 3 4 5 6 7 8 9 10 11 12
F(CIRC3)=FEAT/CIRCLE,INNER,CART,-32.5000,38.3494,-25.0000,0.0000,0.0000,1.0000,10.0000
FA(CIRC3)=FEAT/CIRCLE,INNER,CART,-32.5000,38.3494,-25.0000,0.0000,0.0000,1.0000,10.0000
注意:在编写程序时,元素定义为理论元素,而不定义为测量元素。测量元素是在测量结束后由软件计算得出。
“MEAS”指令启动测量过程,如果系统是“MODE/AUTO”自动模式,测量机即开始自动测量,按指定的点数采点测量;如果系统是“MODE/PROG”程序模式,所有的PTMEAS采点指令将独立运行,与指定的点数无关。
MEAS/CIRCLE,F(CIRC3),3
“PTMEAS” 指令驱动测量机采一个点,它后面包含该测量点的位置(-28.1699,40.8494,-25.0000)和测量方向(-0.8660,-0.5000,0.0000)。
PTMEAS/CART,-28.1699,40.8494,-25.0000,-0.8660,-0.5000,0.0000
“Endmes”结束元素的测量并计算测量结果。
1.2 变量定义
DECL/CHAR,80,TCDIRS ——定义字符型变量,变量值为80,变量名称为TCDIRS
DECL/INTGR,TCNSLT ——定义整型变量,变量名称为TCNSLT
DECL/DOUBLE,TCDIFX,TCDIFY,TCDIFZ ——定义双精度型变量,变量名称分别为TCDIFX;
TCDIFY;TCDIFZ
DECL/CHAR,80,RESULTS(10) ——定义字符型变量,变量值为80,变量指针名称为RESULTS(10)
通过DECL指令定义变量:
七种能力
DECL/INTGR,IND ——定义整型变量,变量名称为IND发芽的大蒜可以吃吗
DECL/CHAR,80,RESULTS(10) ——定义字符型变量,变量值为80,指针变量名称为RESULTS(10) DO/IND,1,10,1 ——执行增量为1,变量名称为IND,从1到10的循环程序
什么的文章RESULTS[IND]=ASSIGN/'' ——指针变量结果赋值
ENDDO ——结束循环程序
可以定义的变量类型:
BOOL 逻辑型
CHAR 字符型
INTGR 整型
REAL 实型
VECTOR 矢量型
LONG 长整型
DOUBLE 双精度型
变量类型可以是:
COMMON 公共变量
GLOBAL 全局变量
LOCAL 本地变量
1.3 赋值指令
给一个变量赋值,在DMIS中,不能仅使用等号“=”,必须用”ASSIGN/”。如下举例:
TCDIRS=ASSIGN/'C:\Programmi\Coord3\ARCO\Data\' —把字符串’C:\Programmi\Coord3\ARCO\Data\’ 赋值给变量TCDIRS
TCNSLT=ASSIGN/6 ——变量TCNSLT的值等于6
1.4 信息操作
TEXT/OPER,'MAKE SURE THE PART IS ON THE FIXTURE' text OPER must be clod pressing OK TEXT/MAN,'MEAS UPPER HOLE' text MAN disappear automatically when you measure the 1st point
1.5 数据和文本输入
TEXT/QUERY,[NMV AR],20,A,L,'Write your name'
1.6从测量元素中读取数据
利用OBTAIN指令可以读取测量或理论元素内部的数据. 请不要忘记区分‘F’与‘FA’,‘S’与‘SA’,…之间的区别。
F(POI_1)=FEAT/POINT,CART,1.111,2.222,3.333,0,0,0
F(POI_2)=FEAT/POINT,CART,4.444,5.555,6.666,0,0,0
F(POI_3)=FEAT/POINT,CART,7.777,8.888,9.999,0,0,0
FA(POI_1)=FEAT/POINT,CART,1.111,2.222,3.333,0,0,0
FA(POI_2)=FEAT/POINT,CART,4.444,5.555,6.666,0,0,0
FA(POI_3)=FEAT/POINT,CART,7.777,8.888,9.999,0,0,0
DECL/INTGR,i
DECL/CHAR,20,elnm
DECL/DOUBLE,xx,yy,zz
DO/i,1,3
elnm=ASSIGN/CONCAT('poi_',STR(i))
早点吃什么好xx=OBTAIN/FA(@elnm),3
yy=OBTAIN/FA(@elnm),4
zz=OBTAIN/FA(@elnm),5
elnm=ASSIGN/CONCAT('newpoi_',STR(i))响亮
F(@elnm)=FEAT/POINT,CART,xx,yy,zz,0,0,0
FA(@elnm)=FEAT/POINT,CART,xx,yy,zz,0,0,0
ENDDO
在上面的例子中,XX=OBTAIN/FA(POI_1),3,其中的3表示读取POI_1元素中的第三项参数。该序号具体对应项目,可以参考该元素的定义项目,比如:
F(POI_1)=FEAT/POINT, CART, 1.111, 2.222, 3.333, 0, 0, 0
无影无踪类似的词语序号: 1 2 3 4 5 6 7 8
在点元素中,1—“POINT”, 2—“CART”, 3—-X坐标, 4—-Y坐标, 5—-Z坐标, 6—-I, 7—-J, 8—K
动漫小美女
1.7字符串合并
CONCAT指令用于合并两个或多个字符串或字符串变量
例一:FILENAME=ASSIGN/CONCAT(PART1,NAME,'.TXT')
例二:elnm=ASSIGN/CONCAT('newpoi_',STR(i))
1.8 SCSNS
用于获得正在使用的测头名称
e.g(举例).
DECL/DOUBLE,PRDIAM ——定义双精度型变量 PRDIAM
DECL/CHAR,50,SENSOR_NAME ——定义字符值为50的字符型变量SENSOR_NAME
SENSOR_NAME=ASSIGN/SCSNS() ——给字符型变量SENSOR_NAME赋值测头名称
PRDIAM=OBTAIN/SA(@SENSOR_NAME),10 ——双精度型变量PRDIAM读取第10个理论测头
1.9 文件读写
$$————————————————————————————————————————
$$ write points coordinates to file
$$————————————————————————————————————————
DECL/CHAR,50,filnm,elnm
DECL/INTGR,i
连体婴儿图片大全DECL/DOUBLE,xx
DECL/DOUBLE,yy
DECL/DOUBLE,zz
TEXT/QUERY,[filnm],50,A,L,'inrt file name'
filnm=ASSIGN/CONCAT('C:\',filnm,'.TXT']
DID[F1)=DEVICE/STOR,filnm