| 作者 | 主题 |
|---|---|
|
ago 游士 经验值:266 发帖数:138 精华帖:9 |
楼主
主题:[原创]siemens系统变量应用
在酒店待着无聊,闲来无事,在昆明早晨暖洋洋的阳光下,便随便写点东西,对希望大家有些帮助。
先介绍几个变量,由于一些东西可能涉及到OEM功能,所以,大家在实践的时候,多加小心哦!! 前提: 以钻头为例,基于5轴H/V加工中心平台,兼容4轴H/V加工中心,840D控制系统。 介绍一个常识:不同的工作平面,轴变量所具体对应的含义。 Working - plane $P_AXN1 $P_AXN2 $P_AXN3 G17 X Y Z G18 Z X Y G19 Y Z X 也就是说当使用G17的时候,$P_AXN1,$P_AXN2,$P_AXN3对应的XYZ,其他亦然。 所以,当你使用5轴H/V设备的时候,可以用变量的方式,完成“不同工作平面”的孔加工。这是使用它的目的。 $TC_DPC1[t,d]这里是钻头的半径值,类型是REAL; $TC_DPC2[t,d]这里是钻头的钻尖角度,类型是REAL; $P_TOOLNO是当前使用的刀号,注意:不是刀具名称! $P_TOOL是当前使用的刀刃编号; …… ;假设前面已经换好刀,运动到适当位置,以下程序和使用G17,G18,G19没有关系。 N0010 DEF AXIS AXIS_Z ;这是定义一个轴变量,在以后使用的时候引用,这也是钻孔的运动方向。 N0020 DEF REAL ZT_JIAODU,ZT_BANJING,ZT_ZJC N0030 ZT_JIAODU=$TC_DPC2[$P_TOOLNO,$P_TOOL] N0040 ZT_BANJING=$TC_DPC1[$P_TOOLNO,$P_TOOL] N0050 IF ZT_JIAODU==180 N0060 ZT_ZJC=0 ;钻尖长度为零 N0070 ELSE N0080 ZT_ZJC=(ZT_BANJING/TAN(ZT_JIAODU/2));注意,使用时,事先要先在定义刀具的时候,定义钻尖的角度,如果是平底钻,就定义成180 N0090 ENDIF N0100 AXIS_Z=$P_AXN3 N0110 G0 G90 AX[AXIS_Z]=??? ;???是你需要走到的孔的位置 N0120 G1 AX[AXIS_Z]=?? ;??是你需要的孔深,如果不算钻尖,就需要减去ZT_ZJC就行可。 N0130 G0 AX[AXIS_Z]=? ;?退出的距离,离开工件表面就行了。 …… 以上就是我们想到达的目的了。 希望对大家有帮助。 |