??怂箍礑MIS語(yǔ)言01_第1頁(yè)
海克斯康DMIS語(yǔ)言01_第2頁(yè)
??怂箍礑MIS語(yǔ)言01_第3頁(yè)
??怂箍礑MIS語(yǔ)言01_第4頁(yè)
海克斯康DMIS語(yǔ)言01_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DMIS初級(jí)教程-高級(jí)語(yǔ)言篇(不斷更新)DMIS語(yǔ)言的高級(jí)語(yǔ)句部分,和大多數(shù)編程語(yǔ)言類似,包含變量聲明、表達(dá)式、結(jié)構(gòu)、輸入輸出、宏等等,如網(wǎng)友有編程經(jīng)驗(yàn),會(huì)很快熟悉這一部分。從一個(gè)簡(jiǎn)單常用的例子說(shuō)起,循環(huán)可能是我們?cè)诟呒?jí)應(yīng)用服務(wù)中運(yùn)用最多的語(yǔ)句,DMIS標(biāo)準(zhǔn)中的循環(huán)語(yǔ)句為主字DO語(yǔ)法格式為DO/變量,啟始值,終止值,步幅那么一個(gè)語(yǔ)句如果為DO/I,1,10,1的意義就為,執(zhí)行一個(gè)循環(huán),I的值+1,增加10次之后,循環(huán)結(jié)束.來(lái)看一個(gè)實(shí)例.假設(shè)我的工件有一個(gè)孔,名為CIR1,我需要把它測(cè)量5次,取其中的最小值.那么測(cè)量部分的循環(huán)語(yǔ)句即為AUTO/AUTO,PROG,MANDO/I,1,5MEAS/

2、CIRCLE,CIR1,4ENDMESENDDO運(yùn)行這段語(yǔ)句,測(cè)量機(jī)就會(huì)自動(dòng)去測(cè)量圓CIR1,直到5次結(jié)束后位置.需要注意的地方: 1. 所有的變量在使用前都必須聲明,上面的I是一個(gè)整型變量,每循環(huán)一次,I+12.每一個(gè)DO語(yǔ)句都必須跟一個(gè)ENDDO表示該循環(huán)的結(jié)束.3.步幅表示每次循環(huán)I的增量,如果步副是2,那么下次I就為3,再循環(huán)一個(gè)為5,以此類推._一.變量的聲明.上面的循環(huán)手動(dòng)測(cè)量圓,用到了一個(gè)變量I,在DMIS中,所有的變量在使用前都需要經(jīng)過(guò)聲明,聲明這個(gè)變量的名稱,類型,作用范圍.變量聲明的函數(shù)為DECL/var_1 var_2 var_3定義變量的作用范圍其中 Var_1 為CO

3、MMON 普通或者GLOBAL 全局變量或者LOCAL 局部變量或者不存在定義變量的類型Var_2 為BOOL 布爾型或者INTGR 整數(shù)型或者LONG 長(zhǎng)整型或者REAL 實(shí)數(shù)型或者DOUBLE 雙精度型或者CHAR,n 字符型或者VECTOR 向量型Var_3 為Varname 變量名稱相同類型的變量可以在同一個(gè)DECL語(yǔ)句中聲明。比如: DECL/COMMON,INTGR,I這個(gè)語(yǔ)句就表示聲明了一個(gè)整數(shù)型變量,名稱為I.后面程序中表達(dá)式所需要整數(shù)的就可以用I來(lái)替代.再或者DECL/COMMON,CHAR,20,TEMPSTR這個(gè)語(yǔ)句聲明一個(gè)字符串變量,名稱為T(mén)EMPSTR,長(zhǎng)度為20,表

4、示這個(gè)變量所存儲(chǔ)的字符長(zhǎng)度最大為20,如果超過(guò)20,后面的字符將不讀入變量.變量的名稱由1到16個(gè)字母數(shù)字、下劃線組成,名稱的第一個(gè)字符只能為希臘字母。變量名稱不能使用DMIS預(yù)留字,預(yù)留字包括DMIS主字、次字、常用函數(shù)等等。如果這里不指定Var_1,DMISMN聲明的程序塊用GLOBAL為默認(rèn)值,在MACRO聲明的程序塊中用LOCAL為默認(rèn)值。變量數(shù)組的聲明例子為:DECL/COMMON,DOUBLE,RAPLUS3,3這個(gè)語(yǔ)句表示聲明了一個(gè)2維的數(shù)組RPLUS3,3,此次一共聲明了9個(gè)變量,分別為RAPLUS1,1 RAPLUS1,2 RAPLUS1,3 RAPLUS2,1 RAPLUS

5、2,2 RAPLUS2,3 RAPLUS3,1 RAPLUS3,2 RAPLUS3,3 DMIS中變量數(shù)組的起始從1開(kāi)始,而其它常用的高級(jí)編程語(yǔ)言如C從0開(kāi)始。二、結(jié)構(gòu)語(yǔ)句。      介紹三個(gè)常用的DMIS語(yǔ)句,DO和CASE.      DO循環(huán)在DMIS語(yǔ)句編程中是常用的語(yǔ)句,其語(yǔ)法為:      DO/index,initial,limit,increment      循環(huán)體      ENDDO語(yǔ)句中,index是一個(gè)整型變量,ini

6、tial是這個(gè)變量的起始值,limit是這個(gè)變量的結(jié)束值,increment是這個(gè)變量的增幅。例如語(yǔ)句      DO/I,2,30,3      循環(huán)體      ENDDO意義即為 I開(kāi)始的值為2,運(yùn)行第一遍循環(huán)后I的值變?yōu)?,第2遍后變?yōu)?,第三遍后變?yōu)?1,到I的值大于30后結(jié)束循環(huán)      最后一個(gè)參數(shù)increment可以不寫(xiě),默認(rèn)為1。-    CASE為條件分支選擇,語(yǔ)法為:    CASE/arg_1其中arg_1為

7、整數(shù)或者字符串,用一個(gè)例子來(lái)說(shuō)明,輸出兩個(gè)圓CIR1、CIR2的距離,選擇是輸出最大距離、最小距離還是兩個(gè)圓心的距離。    decl/common,char,20,dist_cir  tempchar = prompt/text,'輸出距離類型',list,dist_cir,'最大距離','最小距離','圓心距離'  select/dist_cir      case/'最大距離'        

8、0; T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,MAX      endcas         case/'最小距離'          T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,MIN      endcas             case/'圓心距離'  

9、60;       T(cir_dis) = TOL/DISTB,LIMIT,20,21,PT2PT,AVG      endcas  endselOUTPUT/FA(CIR1),FA(CIR2),TA(cir_dis)上面的語(yǔ)句用CASE做條件選擇,選擇定義的距離公差是最大、最小還是平均。三.輸入部分    DMIS可以從用戶界面上取得輸入值,也是在HLL中常用的主字PROMPT,后面的功能語(yǔ)法有    PROMPT/TEXT, 'hello,world'-界面出現(xiàn)一

10、行提示 hello world    PROMPT/EDIT, var_1 -出現(xiàn)對(duì)話框,把對(duì)話框內(nèi)輸入的數(shù)據(jù)賦值給var_1    PROMPT/CHECK, '直徑',var_1-出現(xiàn)勾選項(xiàng),在"直徑"后面,如果勾選上,var_1的值為1,反之var_1的值為0    PROMPT/LIST,var_1,"圓度","位置度","直徑公差"-出現(xiàn)一個(gè)下拉菜單,中間包含圓度位置度直徑公差,選則一項(xiàng)就將值賦給var_1,例如我在下拉菜單中選擇

11、了"位置度",那么字符串變量var_1的值就為"位置度"    PROMPT/TITLE,'校驗(yàn)程序'-出現(xiàn)的窗口的標(biāo)題欄即為'校驗(yàn)程序'    PROMPT/PICTURE,'filename'-出現(xiàn)一個(gè)圖片,filename為此文件和路徑和文件名    下面是一個(gè)范例的提示窗口,如圖上傳的圖片  抱歉,您所在的組無(wú)權(quán)下載附件,請(qǐng)注冊(cè)或登陸     語(yǔ)句如下:  DECL/CHAR,20,List

12、_var1DECL/DOUBLE,edit_var1,edit_var2,edit_var3DECL/INTGR,Check_var1,Check_var2,Check_var3Tempchar = Prompt/Title,'孔測(cè)量程序',$                  Text,'孔的數(shù)量',edit,edit_var1,$                  Text,

13、9;孔的直徑',edit,edit_var2,$                  Text,'直徑公差帶',edit,edit_var3,$                  List,List_var1,'直角坐標(biāo)系','極坐標(biāo)系',$                 

14、 Check,'位置度',Check_var1,Check,'圓度',Check_var2,Check,'直徑公差',Check_var3原來(lái)的用戶提示還有TEXT/OPER,因?yàn)槭荄MIS早期版本的功能,后來(lái)用Prompt取代了.DMIS常見(jiàn)問(wèn)題匯總一、DMIS的作用。      DMIS可以幫助檢測(cè)人員去完成更復(fù)雜的檢測(cè)和評(píng)價(jià)??梢愿羁痰乩斫鈾z測(cè)的意義和原理。      實(shí)現(xiàn)更多靈活的要求。      DMIS標(biāo)準(zhǔn)的檢測(cè)程序,可以導(dǎo)入到市場(chǎng)上支持DMI

15、S語(yǔ)言的軟件中去實(shí)現(xiàn)測(cè)量,如OpenDMIS、Calypso、LK等等,程序具有通用性。二、DMIS語(yǔ)言的分類。      DMIS語(yǔ)言分為 測(cè)量相關(guān)的,包括定義檢測(cè)元素、測(cè)量、輸出等等,大部分的語(yǔ)句三坐標(biāo)軟件本身可以進(jìn)行記錄或者自動(dòng)生成。                  結(jié)構(gòu)相關(guān)的,對(duì)測(cè)量的過(guò)程進(jìn)行控制,比如循環(huán),判斷選擇,進(jìn)行特定的計(jì)算和評(píng)價(jià)。三、常用的DMIS語(yǔ)言介紹。      1.定義檢測(cè)元素,F(xiàn)(CIR1) = FEAT/CIRCL

16、E,INNER,CART, 300, 324, 0, 0, 1, 40          作用:等同于圖紙中所標(biāo)注的數(shù)值,上例中,語(yǔ)句的意思定義一個(gè)需要檢測(cè)的孔X方向上距離為300,Y方向上距離為324,直徑為40。          關(guān)鍵字:FEAT          2自動(dòng)測(cè)量該元素,MEAS/CIRCLE,F(xiàn)(CIR1),4                

17、60;         Endmes          作用:測(cè)量機(jī)自動(dòng)移動(dòng)到孔CIR1的位置,以4個(gè)點(diǎn)的數(shù)量對(duì)其進(jìn)行測(cè)量。          關(guān)鍵字:MEAS        3公差定義,T(TDIAM1) = TOL/DIAM, -0.1, 0.1          作用:定義一個(gè)直徑公差,按圖紙給出上下公差為 (-0.1,0.1).    &#

18、160;     關(guān)鍵字:TOL                4輸出報(bào)告,OUTPUT/FA(CIR1), TA(TDIAM1)          作用:把孔CIR1的直徑、理論、實(shí)際、偏差輸出到報(bào)告中。          關(guān)鍵字:OUTPUT            上面的關(guān)鍵字在常規(guī)的三坐標(biāo)檢測(cè)中,用到的頻率相對(duì)很高,只在對(duì)應(yīng)其它元素

19、測(cè)量,如點(diǎn)、面,或者做其它的評(píng)價(jià)時(shí),對(duì)應(yīng)參數(shù)有些不同而已。        在結(jié)構(gòu)控制方面,比較常用的關(guān)鍵字有            5循環(huán),DO/I,1,10                        ENDDO          作用:將DO和ENDDO中間的過(guò)程重復(fù)10次。如果把測(cè)量孔的語(yǔ)句放進(jìn)去,結(jié)果即為連續(xù)10次測(cè)量

20、該孔。                    廣泛用在有規(guī)則分布的小孔、特征點(diǎn)的檢測(cè)方面,根據(jù)一個(gè)特征點(diǎn),可以對(duì)其它所有的特征點(diǎn)進(jìn)行檢測(cè)。            關(guān)鍵字:DO                6選擇,SELECT/name                 

21、     CASE/零件1                      ENDCAS                      CASE/零件2                      ENDCAS       

22、;           ENDSEL            作用:對(duì)應(yīng)選擇,如果name的值是零件1,就執(zhí)行第一個(gè)CASE里面的內(nèi)容,如果name的值是零件2,就執(zhí)行第二個(gè)CASE里面的內(nèi)容。以此類推。                  廣泛用在多個(gè)零件在一個(gè)夾具上,共同進(jìn)行檢測(cè)時(shí)的需要。            關(guān)鍵字:SELECT、CA

23、SE                    7提示,PROMPT/            作用:提示用戶,以及接受檢測(cè)人員,鍵盤(pán)的輸入。                  廣泛用于提示檢測(cè)人員檢測(cè)完成,更換工件;提示方法可以為聲音、字符文本或者圖片?;蛘呓邮苡脩糨斎胍恍?shù)據(jù),例如圖紙的理論值、工件編號(hào)等等。     

24、      關(guān)鍵字:PROMPT                    (論壇上關(guān)于PROMPT有一篇帖子對(duì)應(yīng)功能詳細(xì)的講解)                    8其它常用字符函數(shù)或者數(shù)學(xué)函數(shù)              作用:對(duì)于一些不能直接進(jìn)行測(cè)量的元素,例如螺旋線的基圓,依靠其它孔的位置對(duì)其

25、進(jìn)行定位。中間需要的一些計(jì)算公式和函數(shù),可以由DMIS提供的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)來(lái)進(jìn)行計(jì)算。              關(guān)鍵字:STR、MOD等先看圖,本課程講解的是如圖中所用的公式的用法用一些實(shí)例代碼+-*/就不用說(shuō)了吧,小學(xué)就學(xué)過(guò)的%:求余,像+-*/一樣的運(yùn)算式,如:7%3=1,10%6=4,前面那個(gè)數(shù)將后面的數(shù)整除后,得到的余數(shù).:二次冪,也就是平方的意思;52=25!:邏輯非,比如說(shuō)運(yùn)用在IF判斷語(yǔ)句里面實(shí)例:賦值/V1 = 1IF/!(V1=2)    'V1的值為1,這里判斷V1=2返回的結(jié)

26、果是False,但如果加上!,那么!(V1=2)這個(gè)條件返回的值就為T(mén)rue注釋/操作者,否,請(qǐng)編輯注釋文本!    '這里會(huì)執(zhí)行到,因?yàn)樯厦鏃l件返回的值為T(mén)rueEND_IF/=:等于,它與"="的區(qū)別是:=一般用于判斷條件表達(dá)式內(nèi),而=用于賦值語(yǔ)句里面,它都是代表等于的意思,只是應(yīng)用位置不一樣<>:不等于,比如上面實(shí)例代碼中!(V1=2),我改成!(V1<>2),返回的結(jié)果是什么呢?自已想想。(結(jié)果為False),它與=是相反的<,>,<=,>=:這四個(gè)分別是表示小于,大于,小于等于,大于等于。

27、沒(méi)啥好講的,知道就行了":":這個(gè)冒號(hào)一般大家用不著,因?yàn)樗话愣加糜谥付ǖ恼Z(yǔ)句當(dāng)中,比如調(diào)用子程序,調(diào)用外部基準(zhǔn)的代碼中"":雙引號(hào):表達(dá)式是一條字符串":在字符串中加入引號(hào),比如說(shuō):賦值/V1 = "我選用"A基準(zhǔn)作基準(zhǔn)""注釋/操作者,否,V1運(yùn)行的結(jié)果為:當(dāng)你不用",那你就不能做出這種提示效果來(lái):在字符串中加入反斜線,沒(méi)有特別的意思,比如賦值/V1 = "我選用A基準(zhǔn)作基準(zhǔn)",在PC-DMIS看來(lái)是錯(cuò)誤的未完待續(xù).():這個(gè)就和我們學(xué)數(shù)學(xué)一樣的,()里面的先計(jì)算,是一

28、個(gè)功能:這個(gè)東西有點(diǎn)像賦值那個(gè)命令的功能,     比如說(shuō):V1         =文件/讀取行,FPTR,TMP,這條命令,TMP自動(dòng)申明一個(gè)變量接受文件讀入的一行資料,并可以在下面程序中直接調(diào)用TMP這個(gè)變量RationalDMIS程序中的DMIS語(yǔ)句解釋第五部分2011年03月09日 星期三 12:587)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />D

29、(label2) 是要取出的工作坐標(biāo)系名稱,此坐標(biāo)系會(huì)被激活成為當(dāng)前坐標(biāo)系.DA(label1) 是要取出的實(shí)際工作坐標(biāo)系名稱,此坐標(biāo)系會(huì)被激活成為當(dāng)前坐標(biāo)系.S(label3) 是要取出的探頭名稱.SA(label4) 是要取出的實(shí)際探頭名稱.FA(label5) 是要取出的實(shí)際元素名稱.RT(label6) 是要取出的轉(zhuǎn)盤(pán)名稱.DID(label7) 是保存有要取出數(shù)據(jù)的設(shè)備名稱,當(dāng)不指定DID(label7)時(shí),會(huì)從測(cè)量機(jī)默認(rèn)的存儲(chǔ)設(shè)備中取出.SNSLCT選擇用來(lái)進(jìn)行測(cè)量的探頭GEOALG用來(lái)設(shè)置某種元素類型的擬和算法ENDFIL用來(lái)指示程序或模塊結(jié)束 WKPLAN/XYPLA

30、NWKPLAN用來(lái)設(shè)置工作平面,DMIS 的標(biāo)準(zhǔn)格式為:WKPLAN/XYPLANYZPLANZXPLAN GOHOME使探頭回到其初始位置,DMIS 的標(biāo)準(zhǔn)格式為:GOHOME DMESW用于控制數(shù)據(jù)或測(cè)量機(jī)輸入文件中發(fā)送數(shù)據(jù)的過(guò)程。DMESW/CONTINPAUSEDELAY,nCOMAND,'command'command'發(fā)送給接受系統(tǒng)的命令,用單撇號(hào)圍起來(lái)。COMAND意味著用單撇號(hào)圍起來(lái)的文字?jǐn)?shù)字字符串,它后面跟隨的要作為一個(gè)測(cè)量機(jī)指定的命令。這個(gè)習(xí)慣性的測(cè)量機(jī)指令代碼并不在DMIS接口的能力范圍內(nèi)。CONTIN意味著測(cè)量機(jī)繼續(xù)處理數(shù)據(jù)。在DMESW/PAUSE語(yǔ)句之后和下一個(gè)DMESW/CONTIN語(yǔ)句之前,所有接受的數(shù)據(jù)都被測(cè)量機(jī)忽略。DELAY意味著測(cè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論