FOXNUM 宏程序编程介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控制語句 條件轉移語句1 范例:
%1234.0 L1=20 G79 L1>10 N100 G90G00X0 N100 G90G00Y0 M02
- 23 -
控制語句 條件轉移語句2﹕ IF<條件表達式> THEN <語句1> ELSE <語句2> ENDI 当條件成立时,執行<語句1> 当條件不成立时,執行<語句2>
刀具長度補償 與Fanuc的#11001~#11400功能相同 刀具半徑 與Fanuc中#12001~#12400功能相同 刀具半徑補償 與Fanuc中#13001~#13400功能相同 當前刀具校正值序號 ,與Fanuc中#4107功能相同 第x(x=0~8)軸機械坐標值 ,與Fanuc中的#502x(x=1,2 3,…)功能相同
宏程序的定義 變數的類型 變數的運算
四.
五.
流程控制語句
宏程序的調用
六.
應用實例
變數的類型
-8-
宏程序中變數的類型﹕
用戶變數 ﹕ L0~L19 L100~L199 L900~L959 自定義變數﹕如﹕ [Abs] [Inc] [R(2,2)] 系統變數 ﹕ E10000~E99999 [.RD] [.RS] [.RF] …
[.RF]
[.RS] [.RT]
0 ~ 65535
0 ~ 65535 0 ~ 65535
只讀
只讀 只讀
F代碼 相當于Fanuc的#4109
S代碼 相當于Fanuc的#4119 T代碼 相當于Fanuc的#4120
一. 二. 三.
宏程序的定義 變數的類型 變數的運算
四.
五.
流程控制語句
宏程序的調用
六.
- 14 -
變數的類型 系統變數﹕
變數
E10000~E10031 E20000~E20031 E30000~E30127 E40000~E40127 E50000~E50255 E53000~E53255 E52000~E52255 E54000~E54255 E50000 E7x000
- 15 -
DAT1 第x(x=0~8)軸工件零點偏移值1 ,與Fanuc的#520x(x=1,2 4,…)功能類似 DAT2 第x(x=0~8)軸工件零點偏移值1 ,與Fanuc的#522x(x=1,2 4,…)功能類似 G代碼模態信息的系統變數 ,類于Fanuc的#4001~#4016例如﹕當前程序執行G00的代碼 時﹐[.BG00]=1 M代碼模態信息的系統變數,類于Fanuc的#4113例如﹕當前程序執行M03的代碼 時﹐[.BM03]=1
L947
L948 L949 L950 L951
EV
EW EX EY EZ
變數的類型 用戶變數(L926~L959) 應用實例﹕
%10120.0() G999 IF [•IBE1(1)]=1 THEN L1=L926 ELSE L1=999 ENDI G997
執行 G120 指令后 ﹐ L1=999 執行 G120 EA100 指令后﹐ L1=100 執行 G120 EA5 EB55 指令后﹐ L1=5
(自定義變數聲明 由英文字母﹑數字﹑下划線組成)
(自定義變數賦值)
上電 Reset M02時﹐清0, 只能用于聲明的當前程序中﹐用法與L變數相同
變數的類型 系統變數﹕
系統變數用于讀和寫CNC內部數據﹐ 例如﹕刀具偏置值 (E50001 D1值刀具長度﹐可讀可寫) 當前軸機械坐標 (E70000 僅讀) 當前進給速度 ([.RF] 僅讀)
O
P Q R S T U V W
L910
L911 L912
K
L M
L923
L924 L925
X
Y Z
變數的類型 用戶變數(L926~L959)﹕
變數的對應關系(L926~L959)
標識符 [•IBE1(1)] [•IBE1(2)] [•IBE1(3)] [•IBE1(4)] [•IBE1(5)] [•IBE1(6)] [•IBE1(7)] [•IBE1(8)] L變數 L926 L927 L928 L929 L930 L931 L932 L933 地址 EA EB EC ED EE EF EG EH 標識符 [•IBE1(14)] [•IBE1(15)] [•IBE1(16)] [•IBE1(17)] [•IBE1(18)] [•IBE1(19)] [•IBE1(20)] [•IBE1(21)] L變數 L939 L940 L941 L942 L943 L944 L945 L946 地址 EN EO EP EQ ER ES ET EU
- 28 -
控制語句 循環語句2 范例﹕下面語句執行完成后﹐L2=500
L1=1 L2=100 WHILE L1<5 DO L1=L1+1 L2=L2+100 ENDW
- 29 -
一. 二. 三.
宏程序的定義 變數的類型 變數的運算
四.
五.
流程控制語句
宏程序的調用
六.
應用實例
宏程序的調用 直接調用﹕
E7x001
E6x000 E6x001 [.BGxx] [.BMxx]
-99999999 ~ 99999999
-99999999 ~ 99999999 -99999999 ~ 99999999 0 or 1 0 or 1
只讀
讀/寫 讀/寫 只讀 只讀
第x(x=0~8)軸中斷信號位置 ,與Fanuc中的#506x(x=1,2 3,…)功能類似
描
述
將用戶宏程序位信號送到PLC,與Fanuc中的#1100~#1115信號類似 將PLC的位信號送到用戶宏程序﹐與Fanuc中的#1000~#1015信號類似 將用戶宏程序字信號送到PLC,與Fanuc中的#1133 #1132信號類似 將PLC的字信號送到用戶宏程序﹐與Fanuc中的#1032信號類似 刀具長度 與Fanuc中#10001~#10400功能相同
變數的類型 用戶變數﹕
變量名
L0~L9
-9-
類型
用戶變數
備
注
上電 Reset M02時﹐清0,可在程序中賦值 上電 Reset M02時﹐清0,可在程序中賦值
L100~L199 用戶變數 L900~L959 用戶變數
上電 Reset M02時﹐清0,可在程序中賦值﹐因 在循環指令(G81 G82 等)中使用﹐不推荐使用 此變數
- 11 -
[•IBE1(9)]
[•IBE1(10)] [•IBE1(11)] [•IBE1(12)] [•IBE1(13)]
L934
L935 L936 L937 L938
EI
EJ EK EL EM
[•IBE1(22)]
[•IBE1(23)] [•IBE1(24)] [•IBE1(25)] [•IBE1(26)]
Foxnum系統變數一覽表
操作
讀/寫 只讀 讀/寫 只讀 讀/寫 讀/寫 讀/寫 讀/寫 只讀 只讀
值 或 單位
0 or 1 0 or 1 -99999999 ~ 99999999 -99999999 ~ 99999999 -99999999 ~ 99999999 -99999999 ~ 99999999 -99999999 ~ 99999999 -99999999 ~ 99999999 0~255 -99999999 ~ 99999999
- 18 -
(90的單位為度) (90的單位為度) (7) (1)
變數的運算 邏輯運算﹕ 與運算﹕AND 或運算﹕OR L1=L2ANDL3 L1=L2ORL2
- 19 -
逻辑運算是以二进制数表示的(舍位取整是由系统自动完成)
變數的運算 比較運算﹕ 等 于﹕ 大 于﹕ 小 于: 大于等于﹕ 小于等于﹕ 不 等 于﹕ = > < >= <= <> L1=L2 L1>L2 L1<L2 L1>=L2 L1<=L2 L1<>L2
應用實例
變數的運算 算朮運算﹕ 加法﹕+ 減法﹕乘法﹕* 除法﹕/ L1=9+5 L1=9-5 L1=9*5 L1=9/5 (14) (4) (45) (1.8 除數不能為0)
- 17 -
例如﹕ L1=2+3*5
L1的值為25
變數的運算 函數運算﹕ 正 弦﹕S 余 弦﹕C 平方根﹕R 反正切﹕A 舍 位﹕T L1=S90 L1=C80 L1=R49 L1=AL2 L1=T1.2
- 32 -
%10120.0 L1=100 G01XL1
宏程序的調用 用M指令調用﹕
在P35參數中可以設置16個M指令調用宏程序. 例如﹕P35 N0 設置為66 , P35 N1設置為9966 , 即在執行 M66指令時﹐M06會調用%9966的程序 %1234.0 G90G80G40D0G54 M66 M02 %9966.0 L1=100 G01XL1
宏程序的定義 宏程序和普通程序的簡要對比
普 通 程 序 只能使用常量 常量之間不可以運算
-5-
宏 程 序 可以使用變數﹐并給變數賦值 變數之間可以運算
程序只能順序執行﹐不能跳轉 程序之間可以跳轉
宏程序的定義
Fanuc格式 //普通程序 O1234 …… G01 X40.0 Y20.0 F500.0; …… M30 Foxnum格式 //普通程序 %1234 …… G01 X40.0 Y20.0 F500.0; …… M02
- 12 -
變數的類型 自定義變數﹕
%2345.0 (程序名稱)
- 13 -
VAR [Abs] [Inc_1] [R(2,2)] ENDV
[Abs]=123.456 [Inc_1]=456.123 [R(1,1)]=99.999 [R(2,1)]=88.888 [R(1,2)]=77.777 [R(2,2)]=66.666 M01 M02
FOXNUM 宏程序編程介紹
賜福科技應用服務部
目
一. 二Hale Waihona Puke Baidu 三.
錄
宏程序的定義 變數的類型 變數的運算
四.
五.
流程控制語句
應用實例
一. 二. 三.
宏程序的定義 變數的類型 變數的運算
四.
五.
流程控制語句
應用實例
宏程序的定義
-4-
宏程序简单地解释就是: 利用變數编程的方法 用戶利用數控系統提供的變數﹑數學運 算功能﹑邏輯判斷功能﹑程序循環功能等功 能來實現一些特殊的用法。 宏指令既可以在主程序中使用﹐也可以 當作子程序來調用.
- 20 -
一. 二. 三.
宏程序的定義 變數的類型 變數的運算
四.
五.
流程控制語句
宏程序的調用
六.
應用實例
控制語句 條件轉移語句1﹕ G79 <條件表達式> Nxx 当條件成立时,程序跳转到Nxx處執行 当條件不成立时,程序执行下一条语句 G79 Nxx ;程序強制跳轉到Nxx處執行
- 22 -
G77 Hxxxx 例如﹕ %1234.0 G90G80G40D0G54 G77 H9010 M02 %9010.0 L1=100 G01XL1
- 31 -
宏程序的調用 用G指令調用﹕
Foxnum 系統規定執行G100~G255指令時﹐系統會自動調 用 %10000~%10255的程序﹐其中G200~G255已經被系統占 用,提供給開發著使用的只有G100~G199 例如﹕ %1234.0 G90G80G40D0G54 G120 M02
變數的類型 用戶變數(L900~L925)﹕
變數的對應關系(L900~L925)
L變數 L900 地址 A L變數 L913 地址 N
- 10 -
L901
L902 L903 L904 L905 L906 L907 L908 L909
B
C D E F G H I J
L914
L915 L916 L917 L918 L919 L920 L921 L922
-6-
//宏程序 O1234 …… #100=30.0+10.0; #101=20.0; G01 X#100 Y#101 F500.0; …… M30
//宏程序 %1234 …… L100=30.0+10.0; L101=20.0; G01 XL100 YL101 F500.0; …… M02
一. 二. 三.
- 24 -
控制語句 條件轉移語句2 范例﹕程序運行完成后﹐L3=600
%25.0 L1=100 L2=200 IF L1>L2 THEN L3=500 ELSE L3=600 ENDI M02
- 25 -
控制語句 循環語句1﹕ REPEAT <語句> UNTIL <條件表達式> 直到<條件表達式>成立﹐才跳出循環﹐不執行<語 句> ﹔此循環語句﹐使 <語句> 至少執行1次
- 26 -
控制語句 循環語句1 范例﹕下面語句執行完后,L2=500
L1=1 L2=100 REPEAT L1=L1+1 L2=L2+100 UNTIL L1=5
- 27 -
控制語句 循環語句2﹕ WHILE <條件表達式> DO <語句> ENDW 當<條件表達式>成立﹐執行<語句> ,直到<條件表 達式>不成立﹐才跳出循環