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
審核編輯:劉清
-
控制器
+關注
關注
112文章
16382瀏覽量
178303 -
機器人
+關注
關注
211文章
28466瀏覽量
207294 -
plc
+關注
關注
5012文章
13309瀏覽量
463723 -
SPS
+關注
關注
1文章
70瀏覽量
10394
原文標題:機器人FOLGE程序如何被調用激活的!
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論