海克斯康DMIS語言01_第1頁
海克斯康DMIS語言01_第2頁
海克斯康DMIS語言01_第3頁
海克斯康DMIS語言01_第4頁
海克斯康DMIS語言01_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、2,2 RAPLUS2,3 RAPLUS3,1 RAPLUS3,2 RAPLUS3,3 DMIS中變量數組的起始從1開始,而其它常用的高級編程語言如C從0開始。二、結構語句。      介紹三個常用的DMIS語句,DO和CASE.      DO循環在DMIS語句編程中是常用的語句,其語法為:      DO/index,initial,limit,increment      循環體      ENDDO語句中,index是一個整型變量,ini

6、tial是這個變量的起始值,limit是這個變量的結束值,increment是這個變量的增幅。例如語句      DO/I,2,30,3      循環體      ENDDO意義即為 I開始的值為2,運行第一遍循環后I的值變為5,第2遍后變為8,第三遍后變為11,到I的值大于30后結束循環      最后一個參數increment可以不寫,默認為1。-    CASE為條件分支選擇,語法為:    CASE/arg_1其中arg_1為

7、整數或者字符串,用一個例子來說明,輸出兩個圓CIR1、CIR2的距離,選擇是輸出最大距離、最小距離還是兩個圓心的距離。    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)上面的語句用CASE做條件選擇,選擇定義的距離公差是最大、最小還是平均。三.輸入部分    DMIS可以從用戶界面上取得輸入值,也是在HLL中常用的主字PROMPT,后面的功能語法有    PROMPT/TEXT, 'hello,world'-界面出現一

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

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

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

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

14、 Check,'位置度',Check_var1,Check,'圓度',Check_var2,Check,'直徑公差',Check_var3原來的用戶提示還有TEXT/OPER,因為是DMIS早期版本的功能,后來用Prompt取代了.DMIS常見問題匯總一、DMIS的作用。      DMIS可以幫助檢測人員去完成更復雜的檢測和評價。可以更深刻地理解檢測的意義和原理。      實現更多靈活的要求。      DMIS標準的檢測程序,可以導入到市場上支持DMI

15、S語言的軟件中去實現測量,如OpenDMIS、Calypso、LK等等,程序具有通用性。二、DMIS語言的分類。      DMIS語言分為 測量相關的,包括定義檢測元素、測量、輸出等等,大部分的語句三坐標軟件本身可以進行記錄或者自動生成。                  結構相關的,對測量的過程進行控制,比如循環,判斷選擇,進行特定的計算和評價。三、常用的DMIS語言介紹。      1.定義檢測元素,F(CIR1) = FEAT/CIRCL

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

17、60;         Endmes          作用:測量機自動移動到孔CIR1的位置,以4個點的數量對其進行測量。          關鍵字:MEAS        3公差定義,T(TDIAM1) = TOL/DIAM, -0.1, 0.1          作用:定義一個直徑公差,按圖紙給出上下公差為 (-0.1,0.1).    &#

18、160;     關鍵字:TOL                4輸出報告,OUTPUT/FA(CIR1), TA(TDIAM1)          作用:把孔CIR1的直徑、理論、實際、偏差輸出到報告中。          關鍵字:OUTPUT            上面的關鍵字在常規的三坐標檢測中,用到的頻率相對很高,只在對應其它元素

19、測量,如點、面,或者做其它的評價時,對應參數有些不同而已。        在結構控制方面,比較常用的關鍵字有            5循環,DO/I,1,10                        ENDDO          作用:將DO和ENDDO中間的過程重復10次。如果把測量孔的語句放進去,結果即為連續10次測量

20、該孔。                    廣泛用在有規則分布的小孔、特征點的檢測方面,根據一個特征點,可以對其它所有的特征點進行檢測。            關鍵字:DO                6選擇,SELECT/name                 

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

22、;           ENDSEL            作用:對應選擇,如果name的值是零件1,就執行第一個CASE里面的內容,如果name的值是零件2,就執行第二個CASE里面的內容。以此類推。                  廣泛用在多個零件在一個夾具上,共同進行檢測時的需要。            關鍵字:SELECT、CA

23、SE                    7提示,PROMPT/            作用:提示用戶,以及接受檢測人員,鍵盤的輸入。                  廣泛用于提示檢測人員檢測完成,更換工件;提示方法可以為聲音、字符文本或者圖片。或者接受用戶輸入一些數據,例如圖紙的理論值、工件編號等等。     

24、      關鍵字:PROMPT                    (論壇上關于PROMPT有一篇帖子對應功能詳細的講解)                    8其它常用字符函數或者數學函數              作用:對于一些不能直接進行測量的元素,例如螺旋線的基圓,依靠其它孔的位置對其

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

26、果是False,但如果加上!,那么!(V1=2)這個條件返回的值就為True注釋/操作者,否,請編輯注釋文本!    '這里會執行到,因為上面條件返回的值為TrueEND_IF/=:等于,它與"="的區別是:=一般用于判斷條件表達式內,而=用于賦值語句里面,它都是代表等于的意思,只是應用位置不一樣<>:不等于,比如上面實例代碼中!(V1=2),我改成!(V1<>2),返回的結果是什么呢?自已想想。(結果為False),它與=是相反的<,>,<=,>=:這四個分別是表示小于,大于,小于等于,大于等于。

27、沒啥好講的,知道就行了":":這個冒號一般大家用不著,因為它一般都用于指定的語句當中,比如調用子程序,調用外部基準的代碼中"":雙引號:表達式是一條字符串":在字符串中加入引號,比如說:賦值/V1 = "我選用"A基準作基準""注釋/操作者,否,V1運行的結果為:當你不用",那你就不能做出這種提示效果來:在字符串中加入反斜線,沒有特別的意思,比如賦值/V1 = "我選用A基準作基準",在PC-DMIS看來是錯誤的未完待續.():這個就和我們學數學一樣的,()里面的先計算,是一

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

29、(label2) 是要取出的工作坐標系名稱,此坐標系會被激活成為當前坐標系.DA(label1) 是要取出的實際工作坐標系名稱,此坐標系會被激活成為當前坐標系.S(label3) 是要取出的探頭名稱.SA(label4) 是要取出的實際探頭名稱.FA(label5) 是要取出的實際元素名稱.RT(label6) 是要取出的轉盤名稱.DID(label7) 是保存有要取出數據的設備名稱,當不指定DID(label7)時,會從測量機默認的存儲設備中取出.SNSLCT選擇用來進行測量的探頭GEOALG用來設置某種元素類型的擬和算法ENDFIL用來指示程序或模塊結束 WKPLAN/XYPLA

30、NWKPLAN用來設置工作平面,DMIS 的標準格式為:WKPLAN/XYPLANYZPLANZXPLAN GOHOME使探頭回到其初始位置,DMIS 的標準格式為:GOHOME DMESW用于控制數據或測量機輸入文件中發送數據的過程。DMESW/CONTINPAUSEDELAY,nCOMAND,'command'command'發送給接受系統的命令,用單撇號圍起來。COMAND意味著用單撇號圍起來的文字數字字符串,它后面跟隨的要作為一個測量機指定的命令。這個習慣性的測量機指令代碼并不在DMIS接口的能力范圍內。CONTIN意味著測量機繼續處理數據。在DMESW/PAUSE語句之后和下一個DMESW/CONTIN語句之前,所有接受的數據都被測量機忽略。DELAY意味著測

溫馨提示

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

評論

0/150

提交評論