宏程序
用戶宏程序:
雖然子程序對編制相同加工操作的程序非常有用,但用戶宏程序由于允許使用“變量算術和邏輯運算及條件轉移”使得編制相同加工操作的程序更方便更容易,可將相同加工操作編為通用程序如:型腔加工宏程序和固定加工循環宏程序,使用時加工程序可用一條簡單指令調出用戶宏程序和調用子程序完全一樣。
變量
說明:
1、變量的表示
2、變量的類型
3、變量值的范圍
普通加工程序直接用數值指定G代碼和移動距離。例如:G01和X100.0
使用用戶宏程序時數值可以直接指定或用變量指定,當用變量時,變量值可用程序或用MDI面板上的操作改變。
計算機允許使用變量名,用戶宏程序不行變量用變量符號# 和后面的變量號指定。
例如:#1
表達式可以用于指定變量號此時表達式必須封閉在括號中。
例如:#[#1+#2-12]
變量根據變量號可以分成四種類型。
變量號變量類型功能。
#0 空變量該變量總是空沒有值能賦給該變量。
#1 #33 局部變量局部變量只能用在宏程序中存儲數據,例如運算結果當斷電時局
部變量被初始化為空,調用宏程序時自變量對局部變量賦值#100 ,#199,#500 ,#999
公共變量公共變量在不同的宏程序中的意義相同,當斷電時變量#100 #199初始化為空變量#500 #999 的數據保存,即使斷電也不丟失。
#1000 系統變量,系統變量用于讀和寫CNC 運行時各種數據的變化。例如:刀具的當前位置和補償值。
局部變量和公共變量可以有0值或下面范圍中的值:
-1047到-10-29
或
10-29到1047
如果計算結果超出有效范圍則發出P/S報警No.111
#1=#2+100
G01 X#1 F300
! 小數點的省略
! 變量的引用
! 雙軌跡雙軌跡控制的公共變量
! 未定義的變量
當在程序中定義變量值時小數點可以省略
例當定義#1=123 變量#1的實際值是123.000
為在程序中使用變量值指定后跟變量號的地址當用表達式指定變量時要把表達式放在括號中
例如G01X[#1+#2]F#3
被引用變量的值根據地址的最小設定單位自動地舍入
例如 當G00X#/ 以1/1000mm 的單位執行時CNC 把12.3456 賦值給變量#1 實際指令值為G00X12.346;
改變引用變量的值的符號要把負號放在#的前面
例如G00X #1
當引用未定義的變量時變量及地址字都被忽略
例如 當變量#1的值是0 并且變量#2的值是空時G00X#1 Y#2的執行結果為G00X0
對雙軌跡控制系統為每一軌跡都提供了單獨的宏變量但是根據參
數No.6036和6037的設定某些公共變量可同時用于兩個軌跡。當變量值未定義時這樣的變量成為空變量變量#0 總是空變量它不能寫只能讀
a 引用
當引用一個未定義的變量時地址本身也被忽略
當#1=<空> 當#1=0
G90 X100 Y#1
G90 X100
G90 X100 Y#1
G90 X100 Y0
! 變量值的顯示
b 運算
除了用<空>賦值以外其余情況下<空>與0 相同
當#1=<空>時當#1=0時
#2=#1
#2=<空>
#2=#1
#2=0
#2=#1?5
#2=0
#2=#1?5
#2=0
#2=#1+#1
#2=0
#2=#1+#1
#2=0
(c)條件表達式
EQ和NE中的<空>不同于0
當#1=<空>時當#1=0時
#1 EQ #0
成立
#1 EQ #0
不成立
#1 NE #0
成立
#1 NE #0
不成立
#1 GE #0
成立
#1 GE #0
不成立
#1 GT #0
不成立
#1 GT #0
不成立
! 當變量值是空白時變量是空
! 符號********表示溢出當變量的絕對值大于99999999 時或下
溢出當變量的絕對值小于0.0000001時
! 限制程序號順序號和任選程序段跳轉號不能使用變量
例 下面情況不能使用變量
#1
/#2G00X100.0;
N#3Y200.0;
2 系統變量
說明
! 接口信號
! 刀具補償值
系統變量用于讀和寫NC內部數據例如刀具偏置值和當前位置數據
但是某些系統變量只能讀系統變量是自動控制和通用加工程序開發
的基礎
是可編程機床控制器PMC 和用戶宏程序之間交換的信號
表15.2(a) 接口信號的系統變量
變量號功能
#1000 #1015
#1032
把16位信號從PMC送到用戶宏程序變量#1000
到#1015 用于按位讀取信號變量#1032 用于一次
讀取一個16位信號
#1100 #1115
#1132
把16 位信號從用戶宏程序送到PMC 變量#1100
到#1115 用于按位寫信號變量#1132 用于一次寫
一個16位信號
#1133 變量#1133 用于從用戶宏程序一次寫一個32 位的
信號到PMC
注意#1133的值為從99999999到+99999999
詳細情況請見連接說明書B-63503C-1
用系統變量可以讀和寫刀具補償值
表15.2(b) 刀具補償存儲器C 的系統變量
刀具長度補償H 刀具半徑補償D 補償
號幾何補償磨損補償幾何補償磨損補償
1
200
400
#11001 #2201
#11201 #2400
#11400
#10001
#2001
#10201
#2200
#10400
#13001
#13400
#12001
#12400
當偏置組數小于等于200時也可使用#2001 #2400
! 宏程序報警
! 停止和信息顯示
! 時間信息
表15.2(c) 宏程序報警的系統變量
變量號功能
#3000 當變量#3000 的值為0 200 時CNC 停止運行
且報警
在表達式后為不超過26個字符的報警信息
CRT 屏幕上顯示報警號和報警信息其中報警號
為變量#3000的值加上3000
例 #3000=1 TOOL NOT FOUND
報警屏幕上顯示3001 TOOL NOT FOUND 刀具未找到
程序執行停止并顯示信息
報警號功能
#3006 在宏程序中指令#3006=1 MESSAGE
時程序執行前面程序段并停止
當最多到26 個字符的信息由控制輸入
和控制輸出括住在同一程序段中編程
時信息被顯示在外部操作信息屏幕
時間信息可以讀和寫
表15.2(d) 時間信息的系統變量
變量號功能
#3001 該變量為一個計時器以1 毫秒為計時單位
當電源接通時該變量值復位為0 當達到
2147483648毫秒時該計時器的值返回到0
#3002 該變量為一個計時器當循環起動燈亮時以
一小時為單位計時該計時器即使在電源斷
電時也保存該值當達到9544.371767 小時
該計時器的值返回到0
#3011 該變量用于讀取當前的日期年/月/日年/
月/日信息轉換成十進制數例如1994 年9
月8日表示為19940928
#3012 該變量用于讀取當前的時間時/分/秒時/
分/秒信息轉換成十進制數例如下午3 點
34分56秒表示為153456
! 自動運行控制可以改變自動運行的控制狀態
表15.2(e) 自動運行控制的系統變量#3003
#3003 單程序段輔助功能的完成
0 有效等待
1 無效等待
2 有效不等待
3 無效不等待
當電源接通時該變量的值為0
當單程序段停止無效時,即使單程序段開關設為ON 也不執行單程序段停止,
當不指定等待輔助功能M S 和T 功能完成時,在輔助功能完成之前,
程序執行到下列程序段而且分配完成信號DEN不輸出
表15.2(f) 自動運行控制的系統變量#3004
#3004 進給暫停進給速度倍率準確停止
0 有效有效有效
1 無效有效有效
2 有效無效有效
3 無效無效有效
4 有效有效無效
5 無效有效無效
6 有效無效無效
7 無效無效無效
當電源接通時該變量的值為0
當進給暫停無效時
1 當進給暫停按鈕被按下時,機床在單段停止方式停止,但是當
用變量#3003使單程序段方式無效時單程序段停止不執行。
2 當進給暫停按鈕壓下又松開時,進給暫停燈亮,但是機床不停
止程序繼續執行,并且機床停在進給暫停有效的第一個程序段,
當進給速度倍率無效時總是100%的倍率而不管機床操作面板上
的進給速度倍率開關的設置。
業務咨詢:932174181 媒體合作:2279387437 24小時服務熱線:15136468001 盤古機械網 - 全面、科學的機械行業免費發布信息網站 Copyright 2017 PGJXO.COM 豫ICP備12019803號
南丰县 | 禄丰县 | 万州区 | 和静县 | 稻城县 | 宾川县 |