西门子的宏程序怎么编

西门子的宏程序怎么编,第1张

西门子的宏程序都是用R参数来编辑的 要用到的量 再程序里定义好数据类型就可以了

给你发一个 砂轮修整的宏程序你可以参考一下

具体资料可以参考西门子高级编程

%_N_DressAUTO_MPF

$PATH=/_N_MPF_DIR

R00 Workpiece Zero position(X axis)

R01 grinder diameter

R02 cutting in value

R03 Mdress times

R04 linear speed of grinder

R05 grinder speed

M27 :diamond start

M28 :diamond stop

M31 :cutting in 切入

N000 IF $A_IN[10]==1 GOTOF DMOK

N001 MSG("the wheel not runing")

N002 M00

N003 GOTOF End

DMOK:

N004 R90=0

N005 IF $A_IN[19]==1 GOTOF DCYCST到起始位置

N006 M64 tape corrector return

N007 M62 tape corrector to original position

N008 IF $A_IN[19]==1 GOTOF DCYCST

N009 MSG("the tape corrector not in original position")

N015 M00

N020 GOTOF End

DCYCST

N010 M27 M23 diamond roll start

N015 G0 V0 w0

N017 DCYC:M31 cutting in

N010 R10=41 R11=0 R10 修整量设定,R11 修整次数设定

N030 V41

N040 AAA:G01 V=R10+65 F400

N050 R10=R10+150

N060 G0 V=R10

N070 R11=R11+1

N080 IF R11<6 GOTOB AAA

N090 G01 V1004 F400

N100 R12=1004 R13=0

N105 BBB:G01 V=R12-65 F400

N110 R12=R12-150

N115 G0 V=R12

N110 R13=R13+1

N125 IF R13<6 GOTOB BBB

N130 G01 V39 F400

N135 G0 V0

N140 STOPRE

N145 R90=R90+1 R01=R01-2*R02 R00=R00-R02

N150 R05=R04*60*1000/(R01*3.142)

N155 IF R90<R03 GOTOB DCYC

N160 M28 diamond stop

End: M30

int newMaxSaveCount=maxSaveCount * multiple

if(newMaxSaveCount<=count) newMaxSaveCount=count

Type *newData=new Type[newMaxSaveCount]

maxSaveCount=newMaxSaveCount

for(int i=0i<counti++) *(newData+i)=*(data+i)

delete []data

data=newData

}

template<class Type>

void Stack<Type>::pushDataInStack(const Type&theData) //入栈

{

if(count>=maxSaveCount)

{

allocateMemoryWithMultiple(2.0) //分配2倍空间大小

}

*(data+count)=theData

count++

}

这个在西门子中叫R参数,具体的用法和宏程序一样,先要赋值,我也不是经常用,这个就是凡是能用数学表达式的几何图形都可以:比如说椭圆吧

r1=35 赋值长半轴35

r2=15 短半轴15

r3=0 变量的起始点

g0 x=r1+r10 y=r11 这个就是下刀点,也可以不赋值,采用具体的数值。

g1 z-5 f100 最终深度

AAA: 表示条件循环的指令,

r4=r1*cos(r3)+r10用变量表示新的变量,相当于函数。其中r10,r11表示的刚才的下刀点。

r5=r2*sin(r3)+r11

g1 x=r4 y=r5 f100 工部走新的变量。

r3=r3+1 参数赋值,计算出新的节点

if r3<=360 gotob AAA 条件跳转。

g0 z200 抬刀

m02 程序结束。如果是圆的话只需r1=r2不过现在很少用这个了,应为计算机编程,加上有u盘或软盘,程序copy也比较快,慢慢的这个已经比遗忘了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11265433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存