宏程序簡介
所謂宏程序就是把一組數(shù)值或變量預先存于一組地址中迎卤,當需要時,就用特殊的調用指令調用該變量的地址即可它匕,這些特殊的調用指令就叫宏程序指令,簡稱宏指令窖认,由宏指令組成的程序叫宏程序豫柬。
宏指令可以使用變量進行算術運算、邏輯運算和函數(shù)的混合運算扑浸,此外還可以使用循環(huán)語句烧给、分支語句和子程序調用語句等功能,以利于編制各種復雜的零件加工程序喝噪,減少手工編程時進行繁瑣的數(shù)值計算憔剂,簡化程序。比如說要加工橢圓期第,如果沒有宏指令的話艳拿,我們要逐點算出曲線上的點,然后用一段段直線逼近曲線舌必∠葑郑可是應用了宏程序后,只要把橢圓公式輸入到系統(tǒng)中巫紧,然后給出X(或Z)坐標并且每次增加10um仲侈,那么宏程序就會自動算出Z(或X)坐標,并控制機床進行切削加工
1.變量
(1)變量的表示 變量可以用“#”號和緊跟其后的變量序號構成:#i(i=1蓖社,2秆惑,3…),如#5衍止、#109哗蛋、#501。也可以用#[表達式]的形式來表示园担,如#[#50]届谈、#[#1021-1]、#[2×#50]弯汰。
(2)變量的引用 將跟隨在一個地址后的數(shù)值用一個變量來代替艰山,即引入了變量。例如:對于F#103,若#103=50時咏闪,則為F50曙搬;對于Z-#110,若#110=100鸽嫂,則Z為-100纵装;對于G#130,若#130=3時据某,則為G03橡娄。注意:地址符O诗箍、N、/等不能引用變量挽唉。
(3)未定義的變量 尚未被定義的變量滤祖,稱為<空>。變量#0經常被用作<空>變量使用片家。
性質:
1)在引用未定義變量時走木,地址符也被無視。如#1=<空>時缴碉,G00 X20 Z#1與G00 X20作用相同敢添。
2)在運算中佣虑,除了被<空>置換的場合以外叁乍,與數(shù)值0相同。
3)在條件式中弧定,只有EQ则沃、NE情況下,<空>與0不同锡跺。
2.變量的種類
(1)局部變量 局部變量就是僅在宏程序中局部使用有效的變量章迎。換句話說,在某時刻調出的宏程序中所使用的局部變量#i和另一時刻調用的宏程序(可以與前一個宏程序相同或不同)中所使用的#i不同渴甜。因此在多重調用時焚寂,宏程序之間相互調用的情況下不會破壞對方宏程序的變量。
當前的局部變量序號有(不同的數(shù)控系統(tǒng)分配變量的序號不同):
#200~#249 0層局部變量顶猜; #250~#299 1層局部變量沧奴; #300~#349 2層局部變量; #350~#399 3層局部變量长窄; #400~#449 4層局部變量滔吠; #450~#499 5層局部變量; 因此子程序嵌套調用的深度最多可以有7層挠日。每一層子程序都有自己獨立的局部變量疮绷,變量個數(shù)為50。
(2)公共變量 公共變量也稱通用變量嚣潜,就是在主程序和主程序調用的各宏程序內都有效的變量冬骚,也就是說,在一個宏指令中的#i與在另一個宏指令中的#i是相同的懂算,因此一個宏指令可以使用另一宏指令計算出的變量#i唉韭。
公共變量的序號為:#100~#131;#500~#531犯犁。其中#100~#131公共變量在電源斷電后即清零属愤,重新開機后變量的數(shù)值全部為零女器,稱為非保持型或操作型變量;#500~#531公共變量即使電源斷電后岗命,它們的值也保持不變巨脚,因此也稱為保持型變量。
(3)系統(tǒng)變量 系統(tǒng)變量是指有固定用途的變量品救,它的值決定系統(tǒng)的狀態(tài)敢弟。系統(tǒng)變量包括刀具偏置變量、接口的輸入/輸出信號變量他景、位置信息變量等捅振,因系統(tǒng)變量一般不常用,故在此略去托足。
3.A類宏指令
宏指令一般分為A類宏指令和B類宏指令怯糠。A類宏指令是以G65 Hm P#i Q#j R#k的格式輸入的,在FANUC OT等系統(tǒng)中應用較多妒穷;而B類宏指令則是以直接的公式和語言輸入的瓦统,在FANUC 0i系統(tǒng)中應用比較廣泛。下面先介紹一下A類宏指令橡舟,B類宏指令請參見第6章金矛。
格式:G65 Hm P#i Q#j R#k;
說明:
1) 格式中m—宏指令的功能勺届,用01~99表示驶俊,見表4-3; #i—運算結果存放處的變量名免姿;#j—被運算的變量1饼酿,也可以是一個常數(shù);#k—被運算的變量2养泡,也可以是一個常數(shù)嗜湃。
2)變量的值不帶小數(shù)點,單位為0.001mm澜掩,如# 100=10购披,則X # 100=0.01mm;用度表示角度的量綱時肩榕,其單位為0.001°刚陡。
3)在運算中,若不指定Q株汉、R時其值按0計算筐乳;運算結果中少于1的數(shù)將舍去。
4)在條件轉移指令中,如果序號n為正值涨给,則檢索過程是先向大程序段號查找拂谆;如果n為負值,則檢索過程是先向小程序段號查找念肆;轉移段號可以是變量姓纲,如G65 H81 P#100 Q#101 R#102(當#101 = #102,轉移到由#100指定的段號中)徊疆。
5)宏指令中的H愕啰、P、Q棉莹、R必須在G65之后指定温盅,只有O、N可在G65之前指定梢拜。
4.典型宏指令格式
1)變量的定義和置換改耽。# i = #j
格式:G65 H01 P#i Q#j;
例:G65 H01 P#101 Q1005水孩;(#101=1005) G65 H01 P#101 Q-#112镰矿;(#101=-#112)
2)加法琐驴。#i = #j+#k
格式:G65 H02 P#i Q#j R#k俘种;
例: G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
3)減法绝淡。#i = #j-#k
格式:G65 H03 P#i Q#j R#k宙刘;
例:G65 H03 P#101 Q#102 R#103;(#101=#102-#103)
所謂宏程序就是把一組數(shù)值或變量預先存于一組地址中迎卤,當需要時,就用特殊的調用指令調用該變量的地址即可它匕,這些特殊的調用指令就叫宏程序指令,簡稱宏指令窖认,由宏指令組成的程序叫宏程序豫柬。
宏指令可以使用變量進行算術運算、邏輯運算和函數(shù)的混合運算扑浸,此外還可以使用循環(huán)語句烧给、分支語句和子程序調用語句等功能,以利于編制各種復雜的零件加工程序喝噪,減少手工編程時進行繁瑣的數(shù)值計算憔剂,簡化程序。比如說要加工橢圓期第,如果沒有宏指令的話艳拿,我們要逐點算出曲線上的點,然后用一段段直線逼近曲線舌必∠葑郑可是應用了宏程序后,只要把橢圓公式輸入到系統(tǒng)中巫紧,然后給出X(或Z)坐標并且每次增加10um仲侈,那么宏程序就會自動算出Z(或X)坐標,并控制機床進行切削加工
1.變量
(1)變量的表示 變量可以用“#”號和緊跟其后的變量序號構成:#i(i=1蓖社,2秆惑,3…),如#5衍止、#109哗蛋、#501。也可以用#[表達式]的形式來表示园担,如#[#50]届谈、#[#1021-1]、#[2×#50]弯汰。
(2)變量的引用 將跟隨在一個地址后的數(shù)值用一個變量來代替艰山,即引入了變量。例如:對于F#103,若#103=50時咏闪,則為F50曙搬;對于Z-#110,若#110=100鸽嫂,則Z為-100纵装;對于G#130,若#130=3時据某,則為G03橡娄。注意:地址符O诗箍、N、/等不能引用變量挽唉。
(3)未定義的變量 尚未被定義的變量滤祖,稱為<空>。變量#0經常被用作<空>變量使用片家。
性質:
1)在引用未定義變量時走木,地址符也被無視。如#1=<空>時缴碉,G00 X20 Z#1與G00 X20作用相同敢添。
2)在運算中佣虑,除了被<空>置換的場合以外叁乍,與數(shù)值0相同。
3)在條件式中弧定,只有EQ则沃、NE情況下,<空>與0不同锡跺。
2.變量的種類
(1)局部變量 局部變量就是僅在宏程序中局部使用有效的變量章迎。換句話說,在某時刻調出的宏程序中所使用的局部變量#i和另一時刻調用的宏程序(可以與前一個宏程序相同或不同)中所使用的#i不同渴甜。因此在多重調用時焚寂,宏程序之間相互調用的情況下不會破壞對方宏程序的變量。
當前的局部變量序號有(不同的數(shù)控系統(tǒng)分配變量的序號不同):
#200~#249 0層局部變量顶猜; #250~#299 1層局部變量沧奴; #300~#349 2層局部變量; #350~#399 3層局部變量长窄; #400~#449 4層局部變量滔吠; #450~#499 5層局部變量; 因此子程序嵌套調用的深度最多可以有7層挠日。每一層子程序都有自己獨立的局部變量疮绷,變量個數(shù)為50。
(2)公共變量 公共變量也稱通用變量嚣潜,就是在主程序和主程序調用的各宏程序內都有效的變量冬骚,也就是說,在一個宏指令中的#i與在另一個宏指令中的#i是相同的懂算,因此一個宏指令可以使用另一宏指令計算出的變量#i唉韭。
公共變量的序號為:#100~#131;#500~#531犯犁。其中#100~#131公共變量在電源斷電后即清零属愤,重新開機后變量的數(shù)值全部為零女器,稱為非保持型或操作型變量;#500~#531公共變量即使電源斷電后岗命,它們的值也保持不變巨脚,因此也稱為保持型變量。
(3)系統(tǒng)變量 系統(tǒng)變量是指有固定用途的變量品救,它的值決定系統(tǒng)的狀態(tài)敢弟。系統(tǒng)變量包括刀具偏置變量、接口的輸入/輸出信號變量他景、位置信息變量等捅振,因系統(tǒng)變量一般不常用,故在此略去托足。
3.A類宏指令
宏指令一般分為A類宏指令和B類宏指令怯糠。A類宏指令是以G65 Hm P#i Q#j R#k的格式輸入的,在FANUC OT等系統(tǒng)中應用較多妒穷;而B類宏指令則是以直接的公式和語言輸入的瓦统,在FANUC 0i系統(tǒng)中應用比較廣泛。下面先介紹一下A類宏指令橡舟,B類宏指令請參見第6章金矛。
格式:G65 Hm P#i Q#j R#k;
說明:
1) 格式中m—宏指令的功能勺届,用01~99表示驶俊,見表4-3; #i—運算結果存放處的變量名免姿;#j—被運算的變量1饼酿,也可以是一個常數(shù);#k—被運算的變量2养泡,也可以是一個常數(shù)嗜湃。
2)變量的值不帶小數(shù)點,單位為0.001mm澜掩,如# 100=10购披,則X # 100=0.01mm;用度表示角度的量綱時肩榕,其單位為0.001°刚陡。
3)在運算中,若不指定Q株汉、R時其值按0計算筐乳;運算結果中少于1的數(shù)將舍去。
4)在條件轉移指令中,如果序號n為正值涨给,則檢索過程是先向大程序段號查找拂谆;如果n為負值,則檢索過程是先向小程序段號查找念肆;轉移段號可以是變量姓纲,如G65 H81 P#100 Q#101 R#102(當#101 = #102,轉移到由#100指定的段號中)徊疆。
5)宏指令中的H愕啰、P、Q棉莹、R必須在G65之后指定温盅,只有O、N可在G65之前指定梢拜。
4.典型宏指令格式
1)變量的定義和置換改耽。# i = #j
格式:G65 H01 P#i Q#j;
例:G65 H01 P#101 Q1005水孩;(#101=1005) G65 H01 P#101 Q-#112镰矿;(#101=-#112)
2)加法琐驴。#i = #j+#k
格式:G65 H02 P#i Q#j R#k俘种;
例: G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
3)減法绝淡。#i = #j-#k
格式:G65 H03 P#i Q#j R#k宙刘;
例:G65 H03 P#101 Q#102 R#103;(#101=#102-#103)
聲明:本網站所收集的部分公開資料來源于互聯(lián)網牢酵,轉載的目的在于傳遞更多信息及用于網絡分享悬包,并不代表本站贊同其觀點和對其真實性負責,也不構成任何其他建議馍乙。本站部分作品是由網友自主投稿和發(fā)布布近、編輯整理上傳,對此類作品本站僅提供交流平臺丝格,不為其版權負責撑瞧。如果您發(fā)現(xiàn)網站上所用視頻、圖片显蝌、文字如涉及作品版權問題预伺,請第一時間告知,我們將根據(jù)您提供的證明材料確認版權并按國家標準支付稿酬或立即刪除內容惨浩,以保證您的權益早斯!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
網友評論
匿名:
相關鏈接
最新反饋
注冊獲取更多行業(yè)信息
- 暫無反饋
無須注冊,輕松溝通