《FOXNUM宏程序编程介绍.ppt》由会员分享,可在线阅读,更多相关《FOXNUM宏程序编程介绍.ppt(40页珍藏版)》请在三一办公上搜索。
1、-1-,FOXNUM 宏程序編程介紹,賜福科技應用服務部,-2-,一.宏程序的定義 變數的類型變數的運算流程控制語句應用實例,目 錄,-3-,一.宏程序的定義 變數的類型變數的運算流程控制語句應用實例,-4-,宏程序的定義,宏程序简单地解释就是:利用變數编程的方法 用戶利用數控系統提供的變數數學運算功能邏輯判斷功能程序循環功能等功能來實現一些特殊的用法。宏指令既可以在主程序中使用也可以當作子程序來調用.,-5-,宏程序的定義,宏程序和普通程序的簡要對比,-6-,宏程序的定義,Fanuc格式/普通程序O1234 G01 X40.0 Y20.0 F500.0;M30/宏程序O1234#100=30
2、.0+10.0;#101=20.0;G01 X#100 Y#101 F500.0;M30,Foxnum格式/普通程序%1234 G01 X40.0 Y20.0 F500.0;M02/宏程序%1234 L100=30.0+10.0;L101=20.0;G01 XL100 YL101 F500.0;M02,-7-,一.宏程序的定義 變數的類型變數的運算流程控制語句宏程序的調用應用實例,-8-,變數的類型,宏程序中變數的類型用戶變數 L0L19 L100L199 L900L959自定義變數如 Abs Inc R(2,2)系統變數 E10000E99999.RD.RS.RF,-9-,變數的類型,用戶變
3、數,-10-,變數的類型,用戶變數(L900L925),變數的對應關系(L900L925),-11-,變數的類型,用戶變數(L926L959),變數的對應關系(L926L959),-12-,變數的類型,用戶變數(L926L959)應用實例%10120.0()G999 IF IBE1(1)=1 THENL1=L926 ELSEL1=999ENDIG997 執行 G120 指令后 L1=999 執行 G120 EA100 指令后 L1=100 執行 G120 EA5 EB55 指令后 L1=5,-13-,變數的類型,自定義變數,%2345.0(程序名稱)VARAbs Inc_1 R(2,2)(自定
4、義變數聲明 由英文字母數字下划線組成)ENDVAbs=123.456(自定義變數賦值)Inc_1=456.123R(1,1)=99.999R(2,1)=88.888R(1,2)=77.777R(2,2)=66.666M01M02,上電 Reset M02時清0,只能用于聲明的當前程序中用法與L變數相同,-14-,變數的類型,系統變數,系統變數用于讀和寫CNC內部數據例如刀具偏置值(E50001 D1值刀具長度可讀可寫)當前軸機械坐標(E70000 僅讀)當前進給速度(.RF僅讀),-15-,變數的類型,系統變數,Foxnum系統變數一覽表,-16-,一.宏程序的定義 變數的類型變數的運算流程控
5、制語句宏程序的調用應用實例,-17-,變數的運算,算朮運算加法+L1=9+5(14)減法-L1=9-5(4)乘法*L1=9*5(45)除法/L1=9/5(1.8 除數不能為0)例如L1=2+3*5 L1的值為25,-18-,變數的運算,函數運算正 弦S L1=S90(90的單位為度)余 弦C L1=C80(90的單位為度)平方根R L1=R49(7)反正切A L1=AL2 舍 位T L1=T1.2(1),-19-,變數的運算,邏輯運算與運算AND L1=L2ANDL3或運算OR L1=L2ORL2逻辑運算是以二进制数表示的(舍位取整是由系统自动完成),-20-,變數的運算,比較運算等 于=L1
6、=L2大 于 L1L2小 于:=L1=L2小于等于 L1L2,-21-,一.宏程序的定義 變數的類型變數的運算流程控制語句宏程序的調用應用實例,-22-,控制語句,條件轉移語句1G79 Nxx当條件成立时,程序跳转到Nxx處執行当條件不成立时,程序执行下一条语句G79 Nxx;程序強制跳轉到Nxx處執行,-23-,控制語句,條件轉移語句1范例:%1234.0L1=20G79 L110 N100G90G00X0N100 G90G00Y0M02,-24-,控制語句,條件轉移語句2IF THEN ELSE ENDI当條件成立时,執行 当條件不成立时,執行,-25-,控制語句,條件轉移語句2范例程序運
7、行完成后L3=600%25.0L1=100 L2=200IF L1L2 THENL3=500ELSEL3=600ENDIM02,-26-,控制語句,循環語句1REPEATUNTIL 直到成立才跳出循環不執行 此循環語句使 至少執行1次,-27-,控制語句,循環語句1范例下面語句執行完后,L2=500 L1=1 L2=100 REPEATL1=L1+1L2=L2+100 UNTIL L1=5,-28-,控制語句,循環語句2WHILE DO ENDW當成立執行,直到不成立才跳出循環,-29-,控制語句,循環語句2范例下面語句執行完成后L2=500 L1=1 L2=100WHILE L15 DOL1
8、=L1+1L2=L2+100ENDW,-30-,一.宏程序的定義 變數的類型變數的運算流程控制語句宏程序的調用應用實例,-31-,宏程序的調用,直接調用G77 Hxxxx例如%1234.0G90G80G40D0G54G77 H9010M02%9010.0L1=100G01XL1,-32-,宏程序的調用,用G指令調用Foxnum 系統規定執行G100G255指令時系統會自動調用%10000%10255的程序其中G200G255已經被系統占用,提供給開發著使用的只有G100G199例如%1234.0G90G80G40D0G54G120M02%10120.0L1=100G01XL1,-33-,宏程序
9、的調用,用M指令調用 在P35參數中可以設置16個M指令調用宏程序.例如P35 N0 設置為66,P35 N1設置為9966,即在執行M66指令時M06會調用%9966的程序%1234.0G90G80G40D0G54M66M02%9966.0L1=100G01XL1,-34-,一.宏程序的定義 變數的類型變數的運算流程控制語句宏程序的調用應用實例,-35-,宏程序應用實例,實例1,-36-,宏程序應用實例,%40L1=20(X方向坐標偏移)L2=25(Y方向坐標偏移)L3=15(圓心距離)L4=0N10 G00 G52 Z-50N20 T01 D01 M06(刀具補償 刀具交換)N30 S60
10、0 M03N40 XL1 YL2(定位于孔1的轴线上)N50 L4=L4+1N60 G81 Z-10 ER2 F100(钻孔加工循环)N70 G00 G80 G91 XL3(按相对增量进行移动)N80 G79 L4 5 N50(条件:如果L45 跳转到N50否则继续)N90 G00 G80 Z200 M05N100 M02,-37-,宏程序應用實例,實例2,-38-,宏程序應用實例,%1234G90G54G80ED0D0G40 L100=1(角度步长)L101=0(初始角度)L102=361(终止角度)L103=45(长半轴)L104=25(短半轴)L105=-10.0(深度)L123=L10
11、3+20G90G00XL123Y0Z100.0(刀具运行到 X65,Y0,Z100 的位置)S1000M03G01ZL105F1000.0(刀具下到-10mm)L114=L101(赋初始值)N18L112=CL114*L103 L113=SL114*L104(计算X Y坐标值)G01G42XL112YL113D02F500.0(走到第一点,并运行一个步长)G40L114=L114+L100(变量L114增加一个角度步长)G79 L114L102 N18(条件判断L114是否小于361,满足则返回18)G01G40XL123Y0(取消刀具补偿,回到(65,0)G90G00Z100.0M05(Z軸
12、上升主軸停止)M02(程序結束),-39-,宏程序應用實例,%10123.0G90G54G80ED0D0G40 L100=L926(角度步长)L101=L927(初始角度)L102=L928(终止角度)L103=L929(长半轴)L104=L930(短半轴)L105=L931(深度)L123=L103+20G90G00XL123Y0Z100.0(刀具运行到 X65,Y0,Z100 的位置)S1000M03G01ZL105F1000.0(刀具下到-10mm)L114=L101(赋初始值)N18L112=CL114*L103 L113=SL114*L104(计算X Y坐标值)G01G42XL112YL113D02F500.0(走到第一点,并运行一个步长)G40L114=L114+L100(变量L114增加一个角度步长)G79 L114L102 N18(条件判断L114是否小于361,满足则返回18)G01G40XL123Y0(取消刀具补偿,回到(65,0)G90G00Z100.0M05(Z軸上升主軸停止),主程序:%2222G90 G00 X0 Y0 Z100 S1000 M03G123 EA1 EB0 EC361 ED45 EE25 EF-10G90 G00 Z100.0 M05M02(程序結束),-40-,END,