机器人FOLGE程序如何被调用激活的!

描述

1.在CALL中调用已建立FOLGE程序.

2.CALL调用FOLGE程序:

PGNO = PRG_NR $IN[1] TO $IN[8]

Folgestarten打开Folge程序

-程序启动-

SWITCH  P_TYPE -程序使用类型选择

CASE 0 ;-以整数形式接受发出程序号

SWITCH PGNO

CASE 10-如程序满足选择程序10

FOLGE10()-执行程序10

CASE 124

FOLGE124()

CASE 125

FOLGE125()

ENDSWITCH

3.程序启动控制环路:

程序

DEF FOLGE10() -程序名

SPS_N=-1

VW (#VW_AUE_INIT,TRUE) -进行初始化- M254= M255 保存PLC给过来的程序号

- M255=true-

PENTER:-跳转标志名

INTERRUPTDECL 10 WHEN $CYCFLAG[254]==FALSE DO VW(#FB_STOP,TRUE)

INTERRUPTON 10

-只要M254没有那么立即执行VW(#FB_STOP,TRUE)开行条件程序

-只能满足条件M245/M255,或者发出模拟信号才能推出VW(#FB_STOP,TRUE)程序

INT10=TRUE

PTP VB=10% VE=0% ACC=100% RobWzg=1 Base=0 SPSTrig=0[1/100s] P

1: A15 = EIN  -发出在原位

2: SPSMAKRO0 = EIN

SPS_FERTIG=FALSE

INTERRUPTDECL 10 WHEN $CYCFLAG[254]==FALSE DO VW(#FB_STOP,TRUE)

INTERRUPTON 10-开行条件程序开始启动

INT10=TRUE

VW(#VW_INIT,TRUE)

VW_USR_R (#USR_INIT)-对USR_R进行初始化

TRIGGERWHENDISTANCE=1 DELAY=-0.1 DO P0_MERKER=TRUE

VW_MPARA_ACT=P0_D

Act_P1 = P0

Act_P2 = P0

VW(#MPARA,TRUE)–执行轨迹的设置

SPS_FERTIG=FALSE

TRIGGERWHENDISTANCE=1 DELAY=0 DO SPS_TRIG(1)PRIO=-1

-执行SPS语句程序-

PTP P0-执行轨迹程序

$ADVANCE=1 -提前执行1条轨迹行

WAITFOR SPS_FERTIG  -中断预执行指令,等待SPS指令结束,SPS指令结束才能程序下行。

Warte auf Folgenstart

VW (#VW_AUE_WAIT,TRUE)

一直到有E9PLC给出程序启动,给入程序号与执行CELL时给的程序号是否相同,

IF N_VW==TRUE THEN

GOTO PEXIT –向下跳转

ENDIF

-- FOLGE 10 - AU491_1 CN Schweissen --

-- UP 101 - Kappenfraesen --

PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=0 SPSTrig=0[1/100s] PU

......

PTP VB=100% VE=0% ACC=100% RobWzg=1 Base=0 SPSTrig=0[1/100s] P

VW (#VW_AUE_END,TRUE)

-发出A14机器人程序在最后一点-等待PLC程序号给入0-发出机器人程序号0-关闭A14

GOTO PENTER -向上跳转

PEXIT:

END

程序

--------------------以下是程序分析部分--------------------------

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分