電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>C語言|源代碼>G代碼編程及宏程序應用

G代碼編程及宏程序應用

2017-09-20 | rar | 0.05 MB | 次下載 | 1積分

資料介紹

  

 ?。?)變量的表示

  計算機允許使用變量名,用戶宏程序不行。變量用變量符號(#)和后面的變量號指定。

  例如:#1

  表達式可以用于指定變量號。此時,表達式必須封閉在括號中。

  例如:#[#1+#2-12]

  (2)變量的類型

  變量根據(jù)變量號可以分成四種類型:

  1)#0 空變量,該變量總是空,沒有值能賦給該變量。

  2)#1-#33 局部變量,局部變量只能用在宏程序中存儲數(shù)據(jù),例如,運算結果。當斷電時,局部變量被初始化為空。調用宏程序時,自變量對局部變量賦值。

  3)#100-#199、#500-#999 公共變量,公共變量在不同的宏程序中的意義相同。當斷電時,變量#100-#199初始化為空。變量#500-#999的數(shù)據(jù)保存,即使斷電也不丟失。

  4)#1000--- 系統(tǒng)變量。系統(tǒng)變量用于讀和寫CNC運行時各種數(shù)據(jù)的變化,例如,刀具的當前位置,補償值。

 ?。?)變量值的范圍

  局部變量和公共變量可以有0值或下面范圍中的值:-1047到-10-29或-10-2到-1047,如果計算結果超出有效范圍,則發(fā)出P/S報警NO.111。

 ?。?)小數(shù)點的省略

  當在程序中定義變量值時,小數(shù)點可以省略。

  例:當定義#1=123;變量#1的實際值是123.000。

 ?。?)變量的引用

  為在程序中使用變量值,指定后跟變量號的地址。當用表達式指定變量時,要把表達式放在括號中。

  例如:G01X[#1+#2]F#3;

  被引用變量的值根據(jù)地址的最小設定單位自動地舍入。

  例如:當G00X#/;以1/1000mm的單位執(zhí)行時,CNC把123456賦值給變量#1,實際指令值為G00X12346.

  改變引用變量的值的符號,要把負號(-)放在#的前面。

  例如:G00X-#1

  當引用未定義的變量時,變量及地址都被忽略。

  例如:當變量#1的值是0,并且變量#2的值是空時,G00X#1 Y#2的執(zhí)行結果為G00X0。

 ?。?)雙軌跡(雙軌跡控制)的公共變量

  對雙軌跡控制,系統(tǒng)為每一軌跡都提供了單獨的宏變量,但是,根據(jù)參數(shù)N0.6036和6037的設定,某些公共變量可同時用于兩個軌跡。

 ?。?)未定義的變量

  當變量值未定義時,這樣的變量成為空變量。變量#0總是空變量。它不能寫,只能讀。

 ?。╝)引用

  當引用一個未定義的變量時,地址本身也被忽略。

  當#1=《空》 當#1=0

  G90 X100 Y#1

  ↓

  G90 X100 G90 X100 Y#1

  ↓

  G90 X100 Y0

 ?。╞)運算

  除了用《空》賦值以外,其余情況下《空》與0相同。

  當#1=《空》時當#1=0時

  #2=#1

  ↓

 ?。?=《空》 #2=#1

  ↓

 ?。?=0

 ?。?=#*5

  ↓

 ?。?=0 #2=#*5

  ↓

 ?。?=0

 ?。?=#1+#1

  ↓

 ?。?=0 #2=#1+#1

  ↓

  #2=0

 ?。╟)條件表達式

  EQ和NE中的《空》不同于0。

  當#1=《空》時當#1=0時

  #1EQ#0

  ↓

  成立 #1EQ#0

  ↓

  不成立

 ?。? NE #0

  ↓

  成立 #1 NE #0

  ↓

  不成立

 ?。? GE #0

  ↓

  成立 #1 GE #0

  ↓

  不成立

  #1 GT #0

  ↓

  不成立 #1 GT #0

  ↓

  不成立

 ?。?)限制

  程序號,順序號和任選程序段跳轉號不能使用變量。

  例:下面情況不能使用變量:

  0#1;

  /#2G00X100.0;

  N#3Y200.0;

  二、算術和邏輯運算

  下面列出的運算可以在變量中執(zhí)行,表達式可包含常量和或由函數(shù)或運算符組成的變量。表達式中的變量#j和#k可以用常數(shù)賦值。變量也可以用表達式賦值。

  定義:#i=#j

  加法:#i=#j+#k;

  減法:#i=#j-#k;

  乘法:#i=#j*#k;

  除法:#i=#j/#k;

  正弦:#i=SIN[#j];

  反正弦:#i=ASIN[#j];

  余弦:#i=COS[#j];

  反余弦:#i=ACOS[#j];

  正切:#i=TAN[#j];

  反正切:#i=ATAN[#j];

  角度以度數(shù)指定:90°30’表示為90.5度。

  平方根:#i=SQRT[#j];

  絕對值:#i=ABS[#j];

  舍入:#i=ROUNND[#j];

  上取整:#i=FIX[#j];

  下取整:#i=FUP[#j];

  自然對數(shù):#i=LN[#j];

  指數(shù)函數(shù) :#i=EXP[#j];

  或:#i-#jOR#k;

  異或:#i-#jXOR#k;

  與:#i-#jAND#k;

  邏輯運算一位一位地按二進制數(shù)執(zhí)行。

  從BCD轉為BIN

  從BIN轉為BCD #i=BIN[#j];

  #i=BCD[#j];

  用于與PMC的信號交換。

  說明:

  ● 角度單位

  函數(shù)SIN ,COS,ASIN,ACOS,TAN和ATAN的角度單位是度。如90°30’表示為90.5度。

  ● ARCSIN # i= ASIN[#j]

  1)取值范圍如下:

  當參數(shù)(NO.6004#0)NAT位設為0時,270°~90°

  當參數(shù)(NO.6004#0)NAT位設為1時,-90°~90°

  2)當#j超出-1到1的范圍時,發(fā)出P/S報警NO.111.

  3)常數(shù)可替代變量#j

  ● ARCCOS #i=ACOS[#j]

  1) 取值范圍從180°~0°

  2) 當#j超出-1到1的范圍時,發(fā)出P/S報警NO.111.

  3) 常數(shù)可替代變量#j

  ● ARCTAN #i= ATAN[#j]/ [#k]

  1) 指定兩個邊的長度,并用斜杠(/)分開

  2) 取值范圍如下:

  當NAT位(參數(shù)NO.6004,#0)設為0時;0°到360°

  當NAT位(參數(shù)NO.6004,#0)設為1時;-180°到180°

  3) 常數(shù)可替代變量#j

  ● 自然對數(shù) #i=LN[#j];

  1) 注意,相對誤差可能大于10-8.

  2) 當反對數(shù)(#j)為0或小于0時,發(fā)出P/S報警NO.111.

  3) 常數(shù)可替代變量#j。

  ● 指數(shù)函數(shù) #i=EXP[#j]

  1) 注意,相對誤差可能大于10-8。

  2) 當運算結果超過3.65X1047(j大約是110)時,出現(xiàn)溢出并發(fā)出P/S報警NO.111.。

  3) 常數(shù)可替代變量#j。

  ● ROUND(舍入)函數(shù)

  1) 當算術運算或邏輯運算指令IF或WHILE中包含ROUND函數(shù)時,則ROUND函數(shù)在第一個小數(shù)位置四舍五入。 當執(zhí)行#1=ROUND[#2];此處#2=1.2345,變量1的值是1.0。

  2) 當在NC語句地址中使用ROUND函數(shù)時,ROUND函數(shù)根據(jù)地址的最小設定單位將指定值四舍五入

  ● 上取整下取整

  CNC處理數(shù)值運算時,若操作后產生的整數(shù)絕對值大于原數(shù)的絕對值時為上取整;若小于原數(shù)的絕對值為下整數(shù)。對于負數(shù)的處理應小心。

  ● 算術與邏輯運算指令的縮寫

  程序中指令函數(shù)時,函數(shù)名的前兩個字符可以用于指定該函數(shù)。

  ROUND→RO

  FLX→FI

  ● 運算次序

  1) 函數(shù)

  2) 乘和除運算

  3) 加和減運算

  ● 括號嵌套

  括號用于改變運算次序,括號可以使用5級,包括函數(shù)內部使用的括號。當超過5級時,出現(xiàn)P/S報警NO.118.限制

  ● 括號 ([,])用于封閉表達式。注意,圓括號用于注釋。

  ● 運算誤差 運算時,可能出現(xiàn)誤差。

  注:相對誤差取決于運算結果;使用兩類誤差的較小者;絕對誤差是常數(shù),而不管運算結果;函數(shù)TAN執(zhí)行SIN/COS。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1490次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  92次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費
  11. 6基于AT89C2051/4051單片機編程器的實驗
  12. 0.11 MB  |  4次下載  |  免費
  13. 7藍牙設備在嵌入式領域的廣泛應用
  14. 0.63 MB  |  3次下載  |  免費
  15. 89天練會電子電路識圖
  16. 5.91 MB  |  3次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537791次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費