hake4587 发表于 2010-10-26 11:12:27

给我一本系统说明书我可以玩转整个系统

江帆 发表于 2010-10-26 21:52:47

学习了啊,俺只懂FANUC的A类B 类宏程式
西门子不太懂啊

爽歪歪沙 发表于 2013-11-9 01:30:01

西门子

wangice 发表于 2013-11-30 11:15:43

%_N_L9850_SPF

PROC L9850(REAL B_POS,REAL W_POS,REALV_POS)
子程序L9850 ,并接受上级程序建立的自定义变量及变量内设定的数据,变量类型REAL(正负实数),自定义变量共3个,B_POS,W_POS,V_POS。

IF $P_SUBPAR==TRUE AND $AA_IM<>B_POS
判断检查传递的参数,如果上级程序传递下来的第一个自定义变量B_POS有效并且当前B轴的机械坐标与B_POS内所设定的数据不符

G90G00G53Z-500W0V0D0
运行程序G00 Z-500,W、V轴转至零度,取消刀具长度补偿。

G01 B=B_POS F200
B轴转至B_POS所设定的角度,工进速度F200。

ENDIF
结束判断

IF $P_SUBPAR==TRUE
判断检查传递的参数,如果上级程序传递下来的第二个自定义变量W_POS有效。

G90G00G53 W=W_POS
运行程序,W轴转至W_POS所设定的角度。

ENDIF
结束判断

IF $P_SUBPAR==TRUE
判断检查传递的参数,如果上级程序传递下来的第三个自定义变量V_POS有效。

G90G00G53 V=V_POS
运行程序,V轴转至V_POS所设定的角度。

ENDIF
结束判断。

M17
返回上一级程序。

wangice 发表于 2013-11-30 11:32:59

%_N_JZKDA_SPF

;$PATH=/_N_SPF_DIR/_N_AT_MPD
程序路径说明

PROC JZKDA(INT ZH,REAL KD1,REAL KD2,REAL KD3,REAL KD4,REAL DW1,REAL GJ,INT GS)
子程序JZKDA,接受上级程序传递的自定义变量,变量类型INT,REAL两种,INT-带正负号的整数,REAL-正负实数

DEF REAL BL1,BL2,BL3,BL4,BL5,BL6,BL7,BL8,BL9,BL10=1
新建自定义变量BL1、BL2、BL3、......, 变量类型REAl。

BL1=$P_TOOLNO
定义自定义变量BL1,等于当前主轴刀具号。

BL2=$TC_DP6
定义自定义变量BL2,等于BL1刀具号所设定的半径值。

BL3=$TC_DP21
定义自定义变量BL3,等于BL1刀具号所设定的基本尺寸的第一长度补偿。

BL4=0-(BL2+3)
计算BL4

BL5=2*(BL2+3)+KD1
计算BL5

G=ZH G90 G00 X=BL4
进入ZH所要求的坐标系(G=1=G53,G=2=G54,G=3=G55,以此类推),移动X轴

            G91 G01 X=BL5
移动X轴

夜总是要来的 发表于 2013-11-30 16:36:06

wangice 发表于 2013-11-30 11:32 static/image/common/back.gif
%_N_JZKDA_SPF

;$PATH=/_N_SPF_DIR/_N_AT_MPD


王斌?:sleepy:

爽歪歪沙 发表于 2013-11-30 18:30:15

:L:L

吃玩乐 发表于 2013-12-2 21:50:08

不是C语言,看不懂。也不像VB.

亡の调律 发表于 2013-12-2 22:31:50

在我眼里都是乱码啊

谢池春 发表于 2014-1-6 11:12:51

PROC L9850(REAL B_POS,REAL W_POS,REALV_POS)是定义带参数传输的子程序。L9850是子程序名,括号里的是要传输的三个变量。但是L子程序是不能传送变量的,这里我也不懂。IF $P_SUBPAR==TRUE 带AND $AA_IM<>B_POS
是说当$P_SUBPAR==TRUE 并B轴机床坐标系不等于B_POS值时,下面怎么样。
页: 1 2 [3] 4
查看完整版本: 这个程序谁能看懂?