黄色三级片无码高清-一级国产黄色片传媒-下载日韩一级黄色片-国产黄片卡片一级-看三四级黄色毛片-国产一级爱做c片免费-欧美一级电影播放观看-日韩一级视频在线看-成人簧片一级AAA片

【請登錄】【免費注冊】

首頁新聞技術產品供應二手培訓展會物流維修求購招商招標招聘企業

技術

搜索
技術文章機械知識技術技巧論文試題維修知識招投標知識
您的位置:盤古機械網>技術文章>機械知識>詳情

FUNNC用戶宏程序

時間:2010年06月18日瀏覽:475次收藏分享:
用 戶 宏 程 序
能完成某一功能的一系列指令像子程序那樣存入存儲器,用一個總指令來它們,使用時只需給出這個總指令就能執行其功能。
l 所存入的這一系列指令——用戶宏程序
l 調用宏程序的指令————宏指令
l 特點:使用變量
一. 變量的表示和使用
(一) 變量表示 
#I(I=1,2,3,…)或#[<式子>]
例:#5,#109,#501,#[#1+#2-12]
(二) 變量的使用 
1. 地址字后面指定變量號或公式
格式: <地址字>#I
<地址字>-#I
<地址字>[<式子>]
例:F#103,設#103=15 則為F15
Z-#110,設#110=250 則為Z-250
X[#24+#18*COS[#1]]
2. 變量號可用變量代替
例:#[#30],設#30=3 則為#3
3. 變量不能使用地址O,N,I
例:下述方法下允許
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4. 變量號所對應的變量,對每個地址來說,都有具體數值范圍
例:#30=1100時,則M#30是不允許的
5. #0為空變量,沒有定義變量值的變量也是空變量
6. 變量值定義:
程序定義時可省略小數點,例:#123=149
MDI鍵盤輸一. 變量的種類
1. 局部變量#1~#33
一個在宏程序中局部使用的變量
例:   A宏程序     B宏程序
      …        …
     #10=20     X#10 不表示X20
      …        …
斷電后清空,調用宏程序時代入變量值
2. 公共變量#100~#149,#500~#531
各用戶宏程序內公用的變量
例:上例中#10改用#100時,B宏程序中的
  X#100表示X20
#100~#149 斷電后清空
#500~#531保持型變量(斷電后不丟失)
3. 系統變量
固定用途的變量,其值取決于系統的狀態
例:#2001值為1號刀補X軸補償值
  #5221值為X軸G54工件原點偏置值
入時必須輸入小數點,小數點省略時單位為μm
一. 運算指令
運算式的右邊可以是常數、變量、函數、式子
式中#j,#k也可為常量
式子右邊為變量號、運算式
1. 定義
#I=#j
2. 算術運算
#I=#j+#k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. 邏輯運算
#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k
4. 函數
#I=SIN[#j] 正弦
#I=COS[#j] 余弦
#I=TAN[#j] 正切
#I=ATAN[#j] 反正切
#I=SQRT[#j] 平方根
#I=ABS[#j] 絕對值
#I=ROUND[#j] 四舍五入化整
#I=FIX[#j] 下取整
#I=FUP[#j] 上取整
#I=BIN[#j] BCD→BIN(二進制)
#I=BCN[#j] BIN→BCD
1. 說明
1) 角度單位為度
例:90度30分為90.5度
2) ATAN函數后的兩個邊長要用“1”隔開
例:#1=ATAN[1]/[-1]時,#1為了35.0
3) ROUND用于語句中的地址,按各地址的最小設定單位進行四舍五入
例:設#1=1.2345,#2=2.3456,設定單位1μm
G91 X-#1;X-1.235
X-#2 F300;X-2.346
X[#1+#2];X3.580
未返回原處,應改為
X[ROUND[#1]+ROUND[#2]];
4) 取整后的絕對值比原值大為上取整,反之為下取整
例:設#1=1.2,#2=-1.2時
若#3=FUP[#1]時,則#3=2.0
若#3=FIX[#1]時,則#3=1.0
若#3=FUP[#2]時,則#3=-2.0
若#3=FIX[#2]時,則#3=-1.0
5) 指令函數時,可只寫開頭2個字母
例:ROUND→RO
FIX→FI
6) 優先級
函數→乘除(*,1,AND)→加減(+,-,OR,XOR)
例:#1=#2+#3*SIN[#4];
7) 括號為中括號,最多5重,園括號用于注釋語句
例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
一. 轉移與循環指令
1.無條件的轉移
格式: GOTO 1;
    GOTO #10;
2.條件轉移
格式: IF[<條件式>= GOTO n
條件式:
#j EQ#k 表示=
#j NE#k 表示≠
#j GT#k 表示>
#j LT#k 表示<
#j GE#k 表示≥
#j LE#k 表示≤
例: IF[#1 GT 10] GOTO 100;
   …
   N100 G00 691 X10;
例:求1到10之和
  O9500;
  #1=0
  #2=1
  N1 IF [#2 GT10] GOTO 2
  #1=#1+#2;
  #2=#2+1;
  GOTO 1
  N2 M301.循環
格式:WHILE[<條件式>=DO m;(m=1,2,3)



ENDm
說明:1.條件滿足時,執行DOm到ENDm,則從DOm的程序段
    不滿足時,執行DOm到ENDm的程序段
   2.省略WHILE語句只有DOm…ENDm,則從DOm到ENDm之間形成死循環
   3.嵌套
4.EQ NE時,空和“0”不同
其他條件下,空和“0”相同
 例:求1到10之和
   O0001;
   #1=0;
   #2=1;
   WHILE [#2LE10] DO1;
   #1=#1+#2;
   #2=#2+#1;
   END1;
   M30;

熱門文章

業務咨詢:932174181   媒體合作:2279387437    24小時服務熱線:15136468001 盤古機械網 - 全面、科學的機械行業免費發布信息網站 Copyright 2017 PGJXO.COM 豫ICP備12019803號