
宏程式操作程式手册.doc
28页15用戶宏程序雖然子程序對編製相同加工操作的程序非常有用 ,但用戶宏程序由於允許使用變量、算數和邏輯運算及條件轉移 ,使得編製相同加工操作的程序更方便 ,更容易 .可將相同加工操作編為通用程序 ,如型腔加工宏程序和固定加工循環宏程序 ,和調用子程序完全一樣 .變量普通加工程序直接用數值指定 G代碼和移動距離;例如,G01和.使用用戶宏程序時 ,數值可以直接指定或用變量指定 .當用變量時 ,變量值可用程序或用 MDI面板上的操作改變 .#1 =#2+ 1 00 ;G01 X#1 F300;說明 變量的表示數算機允勍使用變量名 ,用戶宏程序不行 .變量用變量符號( #)和後面的變量號指定 例如 ;#1表達式可以用於指定變量號 .此時 ,表達式必須封閉在括號中 .例如 ;#[#1+#2-12]變量的類型變量根據變量號可以分成四種類型變量號變量類型功能#0空變量#1 - #33 局部變量被初始化為空局部變量該變量總是空 ,沒有值能賦給該變量 .局部變量只能用在宏程序中存儲數據 ,例如,運算結果.當斷電時,.調用宏程序時 ,自變量對局部變量賦值 .#100-#199 公共變量公共變量在不同的宏程序中的意義相同.當斷電時 ,變量 #100-#199#50 0 - #999#1000 - 系統變量初始化為空 .變量 #500-#999 的數據保存 ,即使斷電也不丟失 . 系統變量用於讀和寫 CNC運行時各種數據的變化,例如,刀具的 當前位置和補償值 .變量值的範圍局部變量和公共變量可以有0 值或下面範圍中的值 ;-1047 至U -0-29或,則發出 P/S 報警.-0-29 到 1047如果計算結果超出有效範圍 小數點的省略當在程序中定義變量值時 ,小數點可以省略例:當定義 #1=123; 變量#1 的實際值是 .變量的引用為在程序中使用變量值 ,指定後跟變量號的地址 .當用表達式指定變量時 ,要把表達釋放在擴 號中.例如 : G01X[#1+#2]F#3; 被引用變量的值根據地址的最小設定單位自動地舍入 .例如 :當GOOX# /;以1/1000mm的單位執行時,CNC把賦值給變量#1 ,實際指令值爲;. 改變引用變量的值的符號 ,要把負號 (-)放在 #的前面 .例如 : G00X-#1;當引用未定義的變量時 ,變量及地址字都被忽略 .例如 :當變量#1的值是0 ,並且變量#2的值是空時,G00X#1 Y#2的執行結果爲 G00X0;.雙軌跡 (雙軌跡控制 )的公共變量對雙軌跡控制 ,系統爲每一軌跡都提供了單獨的宏變量 .但是,根據參數和 6037的設定 ,某些公共變量可同時用於兩個軌跡 .未定義的變量當變量值未定義時 ,這樣的變量成爲 ”空”變量.變量#0總是空變量 ,它不能寫 ,只能讀.(a) 引用當引用一個未定義的變量時 ,地址本身也被忽略 .當#1=<空> 當#1=0G90 X100 Y#1 G90 X100 Y#1G90 X100(b) 運算除了用 <空>賦值以外 , 其籲請況下當#1=<空>時G90 X100 Y0<空 >與 0 相同 .當 #1=0 時#2=#1#2=#1#2=<空>#2=0#2 =# 1 *5#2=# 1 *5#2=0#2=0#2=#1+#1#2=#1+#1#2=0#2=0(c) 條件表達式EQ和NE中的 <空>不同於0.當#1=<空>時當 #1=0 時#1 EQ #0成立#1 EQ #0不成立#1 GE#0 成立#1 GE#0不成立#1 GT #0 不成立#1 GT #0 不成立變量值的顯示當變量值是空白時 ,變量是空 .符號 ******** 表示溢出 (當變量的絕對值大於 9 時)或下溢出 (當變量的絕對值小於時 ). 限制程式號 , 順序號和任選程序段跳轉號不能使用變量 .例如 :下面情況不能使用變量O#1/#N#15..2 系統變量系統變量用於讀和寫 NC 內部數據 , 例如 , 刀具偏置值和當前位置數據 . 但是 ,某些系統變 量只能讀 . 系統變量是自動控制和通用加工程序開發的基礎 .說明接口信號 是可編程機床控制器 ( PMC )和用戶宏程序之間交換的信號 .表(a)接口信號的系統變量變量號 功能#1000 — #1015 把16位信號從PMC送到用戶宏程序•變量#1000到#1015用於按位讀取信 號.變量# 1 032用於一次讀取一個 16位信號#1100 — #1115 把16位信號從用戶宏程序送到 PMC.變量#1100到#1115用於按位寫信號.變#1132 量#1132用於一次寫一個 16位信號 •#1133 變量#1133用於從用戶宏程序一次寫一個 32位的信號到PMC.注意,#1133的值爲從一到+.(B-63503C-1).詳細情況 , 請見連接說明書 (刀具補償值用系統變量可以讀和寫刀具補償值表 (b) 刀具補償存儲器 C 的系統變量 補償號 刀具長度補償 (H)幾何補償 磨損補償幾何補償刀具半徑補償 (D)償 磨損補償#11001 (#2201)#10001#13001#12001200(#2001)#11201(#2400)#10201400#11400(#2200)#13400#12400#10400 當偏置組數小於等於 200 時,也可使用 #2001~#2400. 宏程序報警 表 (c) 宏程序報警的系統變量 變量號功能#3000當變量#3000的值爲0~200時,CNC停止運行且報警. 在表達式後為不超過 26 個字符的報警信息 .CRT屏幕上顯示報警號和報警信息,其中報警號爲變量#3000的值加上3000例:#3000=1(TOOL NOT FOUND).報警屏幕上顯示 3001 TOOL NOT FOUND”刀具未找至U ).程序執行停止並顯示信息 .停止和信息顯示報警號功能#3006程序段中編程時 時間信息可以讀和寫 .在宏程序中指令 “ #3006=1(MESSAGE)”; 時,程序執行前面程序段並停止 . 當最多至 26 個字符的信息 , 由控制輸入 ”( “和控制輸出 ”) “括住 ,在同一 , 信息被顯示在外部操作信息屏幕 .時間信息表(d)時間信息的系統變量 變量號功能#3002使在電源斷電時也保存該值 .當達至小時 ,該計時器的值返回至 0.#3011 該變量用於讀取當前的日期如,1994年 9月 8日表示爲 .(年/月/日). 年 /月/日信息轉換成十進制數 .例#3012如,該變量用於讀取當前的時間(時/分/秒). 時 /分/秒信息轉換成十進制數 .例#3001該變量為一個計時器 ,以 1 毫秒為計時單位 .當電源接通時 , 該變量值復位為0.當達至 48 毫秒時 , 該計時器的值返回至 0.該變量爲一個計時器 ,當循環啟動燈亮時以一小時爲單位計時 . 該計時器即153456.下午 3 點 34 分 56 秒表示爲 自動運行控制 可以改變自動運行的控制狀態表(e)自動運行控制的系統變量(#3003)#3003單程序段輔助功能的完成0有效等待1無效等待2有效不等待3無效不等待當電源接通時, 該變量的值爲0.當單程序段停止無效時 , 即使單程序段開關設為 ON, 也不執行單程序段停止 .當不指定等待輔助功能 (M,S和T功能)完成時,在輔助功能完成之前,程序執行到下列程序段.而且分配完成信號 DEN不輸出.表(f)自動運行控制的系統變量(#3004)#3004進給暫停進給速度倍率準確停止0有效有效有效1無效有效有效2有效無效有效3無效無效有效4有效有效無效5無效有效無效6有效無效無效7無效無效無效當電源接通時, 該變量的值爲0當進給暫停無效時 :(1) 當進給暫停按鈕被按下時 ,機床在單段停止方式停止 .但是, 當用變量#3003 使單程序段方式無效時 ,單程序段停止不執行 .(2) 當進給暫停按鈕壓下又松開時 , 進給暫停燈亮 ,但是,機床不停止 ;程序繼續執行 ,並且機床 停在進給暫停有效的第一個程序段 .當進給速度倍率無效時 ,總是 100%的倍率 ,而不管機床操作面板上的進給速度倍率開關的設 置.當準確停止檢測無效時 ,即使那些不執行切削的程序段也不進行準確停止檢測 (位置檢測 ).圖 (a) 攻絲循環中使用變量 3004 的例子SETTING 值SETTING值可用變量讀和寫••二進制數變爲十進制數•鏡像使用外部開關或 SETTING 操作設置的各軸鏡像狀態可以通過輸出信號 (鏡像檢測信號 )讀出 •鏡像執行時的鏡像狀態可以檢測(見川-節)得到的二進制值轉換成十進制 •當用鏡像信號和SETTING兩者對某軸設置鏡像功能時,信號值和設定值相或撚後輸出• 當控制軸以外的軸的鏡像功能接通時 ,它們也被讀進系統變量#3007.系統變量 #3007 是寫保護的系統變量 . 如果試圖在變量中寫數據 . 則發出 P/S116 報警 “WRITE PROTECTED VARIAABL”E. 已加工的零件數要求的零件數 (目標數 )和已加工的零件數 ( 完成數 )可以讀和寫表(g)要求的零件數和已加工的零件數的系統變量 變量號 功能#3001 已加工的零件數 (完成數 )#3902 要求的零件數 (目標數 )注:不能用負值 模态信息 正在處理的程序段以前的模态信息可以讀出 表 (h) 模态信息的系統變量 例:當執行 #1=#4002;時,在#1 中得到的值是17,18 或 19.G代碼,則發出P/S報警.當前位置位置信息不能寫, 只能讀 .表(i)位置信息的系統變量變量號位置信號坐標系#5001 - #5004工件坐標系工件坐標系#5021 - #5024當前位置機床坐標系#5041 - #5044當前位置工件坐標系#5061 - #5064跳轉信號位置#5081 - #5084刀具長度補償值#5101-#5104伺服位置誤差第 1 位代表軸號(從 1 到 4).如果閱讀模态信息指定的系統變量為不能用的變量 #5081~#5088 存儲的刀具長度偏置值是當前的執行值在G31(跳轉功能)程序段中跳轉信號接通時的刀具位置貯存在變量 程序段中的跳轉信號不接通時 , 這些變量中貯存指定程序段的終點值 移動期間不能讀是指由於緩衝 (預讀 )功能的原因 ,不能讀期望值 . 工件坐標系補償 (工件零點偏移值 ) 工件零點偏移值可以讀和寫 .刀具補償值 運動時的讀操作不包含 可能包含 不可能可能不可能,不是後面的程序段的處理值 .#5061 到 #5068 中.當 G31表(j)工件零點偏移值的系統變量變量號。












