SKODA数控镗床附件头分度程序浅析_第1页
SKODA数控镗床附件头分度程序浅析_第2页
SKODA数控镗床附件头分度程序浅析_第3页
SKODA数控镗床附件头分度程序浅析_第4页
SKODA数控镗床附件头分度程序浅析_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SKODA数控键床附件头分度程序浅析

目录

1、功能特色..........................................................3

2、机械简介..........................................................3

3、程序框架..........................................................4

3.1.定义说明..........................................................5

3.2.状态调整..........................................................6

3.3.中断判定..........................................................9

3.4.分度流程.........................................................12

3.5.中断处理.........................................................23

3.6.状态恢复.........................................................24

4、典型故障.........................................................25

5、结束语.........................................................26

前言

SKODA数控键床为我车间大量使用的高精度数控机床,本文分析研究对象为

SKODAHCW3-200NC大型数控键床的附件头分度旋转功能。通过对机床附件头旋

转主程序的研究,分解附件头旋转的执行过程和内容,为设备维修提供一定的诊

断思路。

本文按照机床附件头分度程序的书写顺序进行分析、说明。分析程序时,以

页面分栏的方式区分程序指令和程序说明,页面左栏为程序指令,页面右栏为程

序说明。对其中有必要加以扩展说明的部分,以下划线标注,在段落后段进行分

析。涉及PLC部分的说明,由于本人水平有限,PLC程序的庞杂,故以简单概括

为主,不再详细展开。

1、功能特色:

1)机械上通过镇杆的前、后运动,实现主轴旋转与刀具旋转的切换,机械结

构简单。

2)电气上实现全过程自动监控,针对可能的故障状况,提供多种接口参数,

可根据具体情况进行调整。

3)操作上实现了全自动动作,程序可单独使用,也可作为子程序被其它程序

调用,并能无缝衔接,保证机床加工的流畅。如图1所示。

图1

2、机械简介

SKODA机床附件头旋转的动力来源是主轴的旋转:

1)机床加工状态下,主轴与刀具的旋转机构通过平面齿轮处于啮合状态,提供给

刀具动力进行旋转加工。

2)附件分度状态下,附件头分度夹紧/放松机构进行放松动作,然后将镶杆向前

移动,使得平面齿轮分离,通过主轴的旋转,驱动附件头旋转。如图2所示。

3.1.定义说明

程序

@@MMCARC.00170604191112831767532400

\CMA.DIR\HIRTH1.SPF

/_N_H1RTH1_SPF1I1RTH1.SPF7177170604199578

12831767534087*

/_N_CMA.DIR/

PROCHTRTH1(REALZADUH)SAVE;DTSPLOF

•*T*^T*।<说明

;ZAD_UH=inputangle输入定位的角度

;POMl=auxiliaryvariable1辅助变量1

;P0M2=auxiliaryvariable2辅助变量2

;Actual_angle_of_hirt_l=memory当前角度,即上次定位后的角度

forlastanglepositionofHirt1

;Poz[14]=distancetogowith分度时的镣杆定位

spindleaxestounclampedhirt1

;Poz[4]=positionspindleaxesfor安装附件头时的锤杆定位

axcssory

;$A_DBB[105]codeofactual附件编码(通过PLC所知)

accessoryreadingbymachine

;$A_DBB[102]codeofloaded己安装的附件号码(通过系统所知)

(actual)accessory

•定义

N15DEFREAL实数变量

P0M1,P0M2,Uhel,AUX_ANG_H1P0M1,P0M2,UHEL,AUX_ANG_H1

N20DEFINT整数变量

F_G70,F_G90,F_WAL,NN,MAS,MMF_G70,F_G90,F_WAL,NN,MAS,MM

N25DEFREALP0LE[41],SS实数POLE41个数列变量,SS

N25DEFBOOLKomun=FALSEBOOL变量并为KOMUN设定初始值

轴PIN,VRT

N26DEFAXISpin,vrtPICK_POS子程序中的数据为外部调用

N27EXTERNPICK_POS(VARREAL[])变量

考虑到滑枕和镶杆的机床轴定义有可

;standardZ<>ZM<->3.axis<>能互换,为了确保这种定义在本程序

ram,W<->4.axis<->spindle中的可靠性,需要特别的明确两者关

alternativZ<->ZM<->3.axis系。

<->spindle,W<->4.axis<->ram*如果机)14510(34)=3Z为PIN滑枕,

N35IF$MN_USER_DATA_INT[34]==3W为VRT键杆

N36pin=(Z)

N37vrt=(W)如果MD14510(34)W3Z为VRT镶

N38ELSE杆,W为PIN

N39pin=(W)滑枕

N40vrt=(Z)通过这样的编写,使得该程序有了较

N41ENDTF为普遍的适用性,可以使得一个程序

在多种不同的机床均可使用。

*本机床中状态

=FALSE

3.2.状态调整

考虑到本程序有可能被其它程序调用,当执行完成分度程序之后,必须恢复

在调用之前的系统状态,并继续自动进行加工。为此需要记录当前的状态,并进

行调整。

N351IF$PSAUTOGEAR[1]=1

N352m=40档位如果机床准备换挡

N353ELSEMM=40

N354MM=$P_SGEAR[l]+40如果机床不准备换挡

N355END1FMM;当前档位+40

N356SS=$P_S[1]

速度SS二当前速度

N357IF$ADBB[195]=0*H功能应用

N358H9991

N359G4FO.5

N360ELSE

N361Komun二True

N362ENDTF

N45STOPRE

;N50TRAFOOF;kinematicTRAFOOF

transformationcancelled

;N55MCALL;modalMCALL

callofsubroutinescancelled

;N57DRFOFDRFOF

N60GEOAX();GEOAX()

geometrictransformation

cancelled

N65F_G70=$P_GG[13]记录机床状态英制/公制

N70G710;metric调整机床状态G710公制

meassuringcystem

N75F_G90=$P_GG[14]记录机床状态绝对/增量

N80G90t调整机床状态G90绝对值

absoluteprograming

N85G94;linear调整机床状态每分钟进给

feed

N90F_WAL=$P_GG[28]记录机床状态工作区域限制

功能有效/无效

N95WAL1MOF;working调整机床状态区域限制无效

area1imitcancelled

N106STOPRE

冷却水停

N100M9主轴停止

N101M5如果T〈主轴速度<1,主轴不静止,

N102WHILE($AA_S[1]>DOR

($AA_S[1]<1)则等待0.1秒

N133G4FO.1

N104ENDWHTLE等待4秒

N105G4F4

注释

*H功能应用

N357IF$ADBB[195]==0

N358H9991

N359G4FO.5等待0.5秒

N360ELSE

N361Komun=True已激活时,KO帆N二TRUE

N362ENDIF

N45STOPRE

$A_DBB[XX]是NC的R变量和PLC数据块交换的传递变量,PLC利用FC21可以和

NC进行通讯和沟通,通过检查PLC程序可知本系统中

$A_DBB[0]~[99]对应DB96.DBB500"DBB599读

$A_DBB[100]"[199]对应DB96.DBB600"DBB699写

$ADBBE195]对应DB96.DBB695

当H变量读入9991或者9990时,在FBI36中PLC程序产生相应的运行结县:

置位复位

A#TEMP278RND取整

【H变化且大>0】L9991

A(A#TEMP278

LDB21.DBD142A(

LDB21.DBD142SDB136.DBX2.0

RND=1

L9990)

==I0M103.6RESET复位

)RDB136.DBX2.0

根据DB136.DBX2.0的结果,PLC继续执行:

ADB136.DBX2.0

=M148.1H9991激活标记位

=DB96.DBX695.0

JUM057

M057:

ADB136.DBX2.0

AMl.5跳动信号

=DB136.DBX2.2

从上述NC,PLC程序可知

当H功能区的值为9991时等效于DB96.DBX695.0=1,开通DB136.DBX2.2

当H功能区的值为9990或者RESET复位等效于DB96.DBX695.0=0,关闭

DB136.DBX2.2

开通DB136.DBX2.2后利用FC21功能块,将系统变量数据与DB96.DBB500

-DB96.DBB699进行修改、保存等操作。

3.3.中断判定

本程序中,中断判定用于当人员,工件,设备等发生异常现象时,程序必须能够

识别异常现象的原因,自动采取相应的安全动作,确保人员、设备,工件等不会

发生危害而编写的特定程序。

N105IFSTEP_HIRT_1==0

N110STEPJI1RT_1=6STEP_H1RT_1是分度程序的步骤变量,

N115ENDIF当程序正常执行到此处时,其初始值

被赋值为6N205POM1=ROUND(POM1)

N210IFP0M1OP0M2GOTOFhlas2

N120IFStep_hirt_2==0hirt_2功能,不考虑

N125Step_hirt_2=6

N130ENDIF

N135IF$P_SEARC1IOR$P_SIMGOTO17如果程序正在查找或者模拟状态下,

END跳转到END

N140WHILE$PDRYRUN如果程序正在空运行状态下,

N145MESS(1,NN,〃〃:;出现提示信息,“取消空运行”,并结

MSG("CANCELDRYRUN")束程序

N150MO

N155STOPRE

N160MSG()

N165ENDWHILE

N170STOPRE

N175IF$ADBB[138]<>1GOTOF如果$ADBB[138]<>1,

hlasl跳转到HLAS1”附件头无此功能”

N180STOPRE

N185IFZAD_l'H>=360GOTOFhlas2如果输入的角度不在[0,360)范围内,

N190IFZAD_UH<0GOTOFhlas2跳转到HLAS2J角度错误,请复位”

N192POLE[O]=$ADBB[1O2];readP0LE[0]=$A_DBB[102],读取附件头编

numberofactualhead码

N193PICK_POS(POLE:根据当前附件号,读取PTCK,POS中相

N194STOPRE应附件头的信息,本文中以#17附件头

N195为例,POLE[20]=1

P0Ml=ZAD_UH/P0LE[20];021109TRKP0M1二输入角度二输入角度

editforheadwithPOM2=POM1

divisionup2.5degree将POM1进行取整,再与POM2进行比

N200POM2=POM1较,如果两者不相等,也就是POM1出

现了余数,可以判定为输入角度不正

确,跳转到HLAS2P0M1、P0M2的作用实际上是相关附件

头允许的输入角度步长,也就是单个

齿轮度数,为了确保旋转后,齿轮啮

合时不会出现齿轮相撞的现象输入的

角度必须是单个齿轮度数的整数倍。

注释

N175IF$ADBB[138]<>1GOTOFhlasl

如果$A_DBB[138">1,跳转到HLAS1"附件头无此功能”

由于并不是每个附件头都具有分度功能,系统必须进行此类检查。PLC中的检查

路径:$A_DBB[138]QDB96.DBB638GDB155.DBX14.3GDB155.DBB14

《DB155.DBB77(DB155.DBW766DB122附件头参数

以此来判定当前是否能进行分度。

N192POLE[O]=$ADBB[102];readnumberofactualhead

$A_DBB[102]由系统确认的装载附件头的编码

PLC中的读取路径

$A_DBB[102]QFC21QDB96.DBB602QFBI55中#STAT2446DB155.DBB79

<-DB155.DBW78<-DB124.DBB91装载附件头后的附件头编码

3.4.分度流程

根据程序的运行结构,分解分度流程,明确程序执行方向并找出核心控制变

量,有助于对分度程序的理解,如图4所示的。

关健诩STEP.HIRT1(步骤变量)

NAVEST做转点)

navnav跳

e

<•

navS:一

D

EN

图4

其中,主要的控制变量为

STEPHIRT1步骤变量

NAVEST跳转点

,1.判断Step_hirt_l=6?)

N305M41

N260IFStep_hirt_l<>6N310STOPRE

N32034I?3

N261TRAFOOF正常情况下,其初始值为6,程序开始

N262MCALL顺序执行时,但当程序出现中断的情

N263DRFOF况下,步骤变量有可能不为6。

N264GEOAX()TRAFOOF

N265GOTOFnavest6MCALL

N266ENDIFDRFOF

N269STOPREGEOAX()

N270IF此时,程序跳转到navest6

Actualangleof_hirt_1OZADUH

N275GOTOFnavestl

N280ELSE如果当前角度不等于输入角度

N285GOTOFnavest5

N290END1F跳转到navestl,程序正常执行

N291TRAFOOF如果当前角度等于输入角度

N292MCALL跳转到navest5,程序执行结束动作

N293DRFOF

N294GEOAX()TRAFOOF

N295STOPREMCALL

DRFOF

2.Step_hirt_l=l

navestlGEOAX()

N300

navestl:

N360\I22;unclampingHirt

navestl:N36534F3

主轴I档N370STOPRE;

如果当前角度>0,

等待3秒UHEL=360-当前角度

N321IFActualangleofhirtl>0

N322Uhel=360-如果当前角度=0,

Actualangle^of_hirt_1UHEL=O

N323ELSE

N324Uhel=0

N325ENDIF主轴正向定位到UHEL

N326STOPRE等待1秒

N329SPOS=ACP(Uhel)

N330G4Fl

N1000;callingSERVISTOPifthis

cycleisindirectorymanufacture

cycles如果SERVISTOP_SPF存在,调用

N1010(实际不存在)

IFdSFILEf/_N_CMA_DIR/_N_SERVIS

TOP_SPF〃))

N1020SERVISTOP

N1030ENDIFDB96.DBB534=1

N1040STOPRE步骤变量二1

N345$A_DBB[34]=1第一步完成

N350Step_hirt_l二1执行M22放松

N355STOPRE等待3秒

注释

N360M22;unclanpingHirt

正常情况下,机床安装了附件头后,附件头分度处于夹紧状态不允许移动,

本程序需要先将附件头分度放松,然后进行移动。

执行路径为:

在FB211中开通DB155.DBX106.6(0)/106.7(1)fTEMP16允许M22指令的执行

-►TEMPI->DB155.DBX106.4(0)fQ54.4(1),Q54.5(1),Q54.6(0)«

如图5所示:

Q54.4/y3Q54.5/y4Q54.6/y6

9

7

7

,

w

l

s

VMYQ

RaleatmoArrest.1t10

ReMEZ21

ArrettMnt1.20

«cct«ont:.On/OffI

•foliating.U

图5

3.Step_hirt_l=2

navest2

N375navest2:navest2:

N380$ADBB[34]=2步骤变量二2

N385Step_hirt_l=2第二步完成

4.Step_hirt_l=3

navest2

N395G1G710SUPAAX[vrt]=P0LE[14]positionforturning

FB=100;spindleaxestotheN400STOPRE

PICKP0S(17)中N410Stephirt_l=3

Poz[14]=-103.1N415STOPRE

键杆W轴定位至ljPoz[14]=-103.1步骤变量=3

第三步完成

N405$A_DBB[34]=3

5.Step_hirt_l=4

navest3

N420navest3:navest3:

N421G4F3;Ml,STBE-AXISW等待3秒

CLAMPING!

N424M41主轴I档

N430G4F3;MUSTBE-AXISW等待3秒

CLAMPING!M51激活“主轴SPOS定位后,保持定

N4301M51;switchonofmaindrive位控制状态”,使得主轴在W轴移动过

stayinginposit,cont.loopafter程中不发生位置偏移。

SPOS

N900IF(P0LE[20]==l)OR如果P0LE[20]=l或者存在

(ISFILEC/_N_CMA_DIR/_N_HIRTH2_SHIRTH2.SPF

PF〃))(本例中PICK_POS(17)中

N4302HIRTPOS(POLE,POLE[20]=1)

ZADUH)calculationcfnew调用HIRT_POS修正程序

POLE[15]

N910ENDIF

N4303STOPRE

注释

HIRTPOS将[0,360)度分成10个范围依据分度角度,寻找相应的区域,进行微

调,(表1为#17附件头数据)

表1

Hir[l]=0[0,10]P0Z[15]=P0Z[15]-HIR[l]

Hir[2]=0(10,30]P0Z[15]=P0Z[15]-HIR[2]

Hir[3]=0(30,150]P0Z[15]=P0Z[15]-HIR[3]

Hir[4]=0(150,170]P0Z[15]=P0Z[15]-HIR[4]

Hir[5]=0(170,180]P0Z[15]=P0Z[15]-HIR[5]

Hir[6]=0(180,190]P0Z[15]=P0Z[15]+HIR[6]

Hir[7]=0(190,210]POZ[15]=POZ[15]+HIR[7]

Hir[8]=0(210,330]P0Z[15]=P0Z[15]+HIR[8]

Hir[9]=0(330,350]P0Z[15]=P0Z[15]+HIR[9]

Hir[10]=0(350,359]POZ[15>POZ[15]+HIR[1O]

N4304IFZADUH>0如果输入角度>0

N4305STOPRE

N4306UHEL=360-ZADUH+UHEL=360-输入角度+POLE[15]

POLE[15]

N4307IFUHEL>=360当l'HEL>=360时,

N4308UHEL=UHEL-360UHEL=UHEL-360,确保UHEL在[0,360)

N4309ENDIF范围内

N4310ELSE如果输入角度二0

N4311UHEL=POLE[15]UHEL=P0LE[15]

N4312IFUHEL<0当UHEL<0,

N4313UHEL=UHEL-360UHEL=UHEL+360,确保UHEL在[0,360)

N4314ENDIF范围内

N4315ENDIF

N4316STOPRE

N1200IF(POLE[20]==1)OR(ISFILE(/7-N_CMA_DIR/_N_HIRTH2_S

N4334SPOS=ACP(UHEL)

N4335STOPRE

PF"))主轴按照计算后的角度进行旋转旋

N1300IFPOLE[33]<5OR转,流程如图6所示:

POLE[33]>89

N1310POLE[33]=20PICK_P0S(17)fPOLE[20]=1POLE[33]=0

N1320ENDIF

N4317TF(ZADUH>=0)AND

(ZAD_UH<=180)

N4318

AUX_ANG_H1=UHEL+POLE[33]

N4319IFAUX_ANG_Hl>=360

N4320

AUX_ANG_H1=AUX_ANG_H1-36O

N4321ENDIF

N4322SPOS=DC(AUXANGHl)

N4323STOPRE

N4324G4Fl

N4325SPOS=ACN(UHEL)

N4326ELSE

N4327

AUX_ANG_H1=UHEL-POLE[33]

N4328TFAUX_ANG_H1<O

N4329

AUX_ANG_H1=36O+AUX_ANG_H1

N4330ENDIF

N4331SPOS=DC(AUX_ANG_H1)

N4332STOPRE

N4333G4Fl

N1430STOPRE

N4336ENDIF

N1400ELSE

N1410SPOS=ACP(UHEL)

N1420ENDIE

N1440;callingSERVTSTOPifthis

cycleisindirectorymanufacture如果存在SERVISTOP.SPF,调用

cycles实际不存在

N1450

IF(ISFILE(Z7_N_CMA_DIR/_N_SERVIS

T0P_SPF"))

N1460SERVISTOP

N1470ENDIF

N1480STOPRE

N445Actual_angle_of_hirt_l=

ZAD_UH刷新当前角度

N450G4Fl

N455$A_DBB[34]=4;spindle等待4秒

axesisgoingbacktotheworks步骤变量二4

position

N460Step_hirt_l=4

N465STOPRE第四步完成

6.Step_hirt_l=5

navest4

N470navest4:navest4:

N471G4Fl等待1秒

N472M51;switchonofmaindriveM51主轴在W轴移动过程中不发生位置

stayinginposit,contr.loopafter偏移。

SPOS在PICKPOS(17)中

N473STOPREPoz[4]=-94

N474G1G710SUPAPoz[10]=3.1Poz[14]=-103.1

AX[vrt]=POLE[14]+POLE[10]FB=100馍杆W轴定位到-100

N475STOPRE

N476M52M52退出“主轴SPOS定位后,保持定

N477STOPRE位控制状态”

N478G1G710SUPAAX[vrt>P0LE[4]镶杆W轴定位到-96

FB二100

N479M5主轴停止

N480STOPRE

N485$A_DBB[34]=5;clamping步骤变量=5

ofHirt

N490Step_hirt^l=5第五步完成

N495STOPRE

7.Step_hirt_l=6

navestS

N500navest5:N520Step_hirt_l=6

N505M21;clampingHirtnavest5:

N510STOPRE附件头分度夹紧

N515$A_DBB[34]=6

步骤变量二6第六步完成

N522G4Fl等待1秒

N525STOPRE

N530$ADBB[36]三3M指令不可执行

N535STOPRE

N540G4Fl等待1秒

N545GOTOFend跳转到END

注释

M21

附件头分度夹紧

在FB211中M21指令的执行fTEMP2-►DB155.DBX106.4(l)

fQ54.4/Y3(0),Q54.5/Y4(0),Q54.6/Y6(0),真值表如图7:

Y3Y<4YO

RoloasingArrost.1110放松

RoloasingArrost.2111

Arrestaont1.2010

ClampingRrrost.1.2000夹紧

Accessorles-On/orr110

«roloasing-axisu

图7

DB96.DBB536二3

在FB211中

LDB96.DBB536

L3

==1

R〃DB155〃.STAT373[DB155.DBX106.6]

R〃DB155〃.STAT374[DB155.DBX106.7]

在FB211中关闭DB155.DBX106.6(0)/106.7(0)fTEMP16不允许M指令的执行

8.Step_hirt_l=6

navest7

N550navest7:navest7:

N555M21;clampinghirtM21附件头分度夹紧

N560$A_DBB[34]=6步骤变量=6

N565Step_hirt_l=6第六步完成

N570STOPRE等待1秒

N575GOTOBnavestl跳转到navestl

9.navest6J

N580navest6:N6453OTOBnavest8

N585STOPRE

N590IFStep_hirt_l==5GOTOB

navest5

N595STOPRE

N600IFStep_hirt_l==lGOTOB

navest7

N605STOPRE

N610M22;unclampingHirt

N615STOPRE

N620IF(Step_hirt_l==2)OR

(Stephirt_1=3)

N621STOPRE

N623GOTOBnavest2

N624ENDIF

N625STOPRE

N640IFStep_hirt_l==4GOTOB

navest2

跳转点6处,流程如图8所示:N650STOPRE

图8

3.5.中断处理

N655hlasl:N750GOTOBhlas9

N660MESS⑵NN,〃〃);MSG(〃!!!WRONGIILAS1:

ACCESORY-PRESSRESET!!!”)附件无次功能,请复位。

N665MO

N670MSG0程序结束

N675GOTOBhlasl

N680hlas2:

N685MESS(3,NN,〃;MSG(〃!!!WRONGHLAS2:

ANGLE-PRESSRESET:!!〃)输入角度错误,请复位。

N690MO

N695MSG()程序结束

N700GOTOBhlas2

N705hlas3:

N710MESS(4,NN,〃〃);MSG(〃!!!CODEHLAS3:

OFTAKENONACCESSORYDOESNOT附件识别故障。

AGREEWITHACTUALACCESSORY!!!〃)

N715MO

N720MSG()程序结束

N725GOTOBhlas3

N730hlas9:

N735MESS⑸NN,〃〃);MSG("CYCLEFORHLAS9:

HIRT2ACTIVE-CYCLEFORHIRT1NOTHIRT2激活中,HIRT1程序不能执行。

ALLOYED")

N740M0

N745MSGO程序结束

3.6.状态恢复

N755end:N820ELSE

N756M52;switchingoffofmainEND:

drivepositioncontrolloopafterM52退出“主轴SPOS定位后,保持定

SPOS位控制状态”

N757STOPRE

N758$ADBB[36]=0

N759G4Fl清除DB96.DBB536状态

N760STOPRE等待1秒

N761IFF_WAL==1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论