库卡DEF promain程序Word文档格式.docx

上传人:b****5 文档编号:17349479 上传时间:2022-12-01 格式:DOCX 页数:12 大小:16.20KB
下载 相关 举报
库卡DEF promain程序Word文档格式.docx_第1页
第1页 / 共12页
库卡DEF promain程序Word文档格式.docx_第2页
第2页 / 共12页
库卡DEF promain程序Word文档格式.docx_第3页
第3页 / 共12页
库卡DEF promain程序Word文档格式.docx_第4页
第4页 / 共12页
库卡DEF promain程序Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

库卡DEF promain程序Word文档格式.docx

《库卡DEF promain程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《库卡DEF promain程序Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

库卡DEF promain程序Word文档格式.docx

LAST_STATION=0

LAST_RANK=0

LAST_ROW=0

VEL=0

ENDFOLDINITIAL

PTP$POS_ACT

$ov_pro=5

connectionname[]="

XmlServer"

RET=EKI_Init("

RET=EKI_Open("

LOOP

IF$FLAG[1]THEN

FOLDRESET

Xm=0

Ym=0

Zm=0

LAYER=0

DOWN=FALSE

UP=FALSE

ENDFOLDRESET

RECEIVE_CharAndData()

SEND_CharAndData()

IF((RECCHAR[1]=="

G"

)AND(RECCHAR[2]=="

O"

))OR((RECCHAR[1]=="

S"

C"

)AND(RECCHAR[3]=="

A"

)AND(RECCHAR[4]=="

N"

))THEN

TRANSFER()

ENDIF

$OV_PRO=VEL

IF(RANK<

>

LAST_RANK)OR(ROW<

LAST_ROW)OR(STATION_NO<

LAST_STATION)OR(RECCHAR[1]<

LAST_CHAR[1])OR(RECCHAR[2]<

LAST_CHAR[2])OR(RECCHAR[3]<

LAST_CHAR[3])OR(RECCHAR[4]<

LAST_CHAR[4])OR(RECCHAR[5]<

LAST_CHAR[5])OR(RECCHAR[6]<

LAST_CHAR[6])THEN

FOLDCHECKSTATUS()

IF(RECCHAR[1]=="

)AND(RECCHAR[3]=="

)AND(RECCHAR[4]=="

)AND(RECCHAR[5]=="

T"

)THEN

ONACT

SENDCHAR[]="

KUKAKR16-2ONACT"

WAITFOR$FLAG[1]

SEND_CHAR()

L"

P"

)AND(RECCHAR[6]=="

)AND(RECCHAR[7]=="

LASTPOS

LASTPOS"

F"

"

OFFACT"

KUKAKR270 

FINISH"

!

Bytes[]="

ERROR"

RET=EKI_Send("

BinaryStream"

Bytes[]

ENDFOLDCHECKSTATUS()

FOLDPICK()

I"

K"

))AND((ZN==1)OR(ZN==2))THEN

IF(BZ>

0)AND(BX>

0)AND(BY>

0)THEN

PICKPIECE()

RET=EKI_ClearBuffer("

"

Sensor"

);

clearconnection

ENDFOLDPICK()

GoSCAN()

GoPrepallet()

GoRotation()

GoPallet()

GoLINE()

GoPalletUp()

FOLDGOHOME()

H"

M"

E"

)THEN

gohome()

STORE_DATA()

WAITSEC0

ENDFOLDGOHOME()

ELSE

RecChar[]="

VALUEINVALID"

SEND_CharANDdata()

ENDLOOP

END

DEF 

TOUCHPOINT()

FOLDTOUCHPOINT()

SWITCH 

zn

CASE1

TP=Xconvey_pick

$BASE=$NULLFRAME

TP=Xstation3

$BASE=BASE_DATA[3]

CASE14

TP=Xbuffur_pick

$BASE=BASE_DATA[2]

IF(ROW==1)AND(RANK==1)THEN

IF(ROW==1)AND(RANK==3)THEN

TP=Xbuffur_pick3

IF(ROW==1)AND(RANK==5)THEN

TP=Xbuffur_pick5

CASE3

TP=Xstation4

$BASE=BASE_DATA[4]

CASE4

CASE5

TP=Xstation5

$BASE=BASE_DATA[5]

CASE6

TP=Xstation6_2

$BASE=BASE_DATA[6]

CASE7

TP=Xstation6_1

$BASE=BASE_DATA[7]

CASE8

TP=Xstation6_3

$BASE=BASE_DATA[8]

CASE9

TP1=Xstation7

$BASE=BASE_DATA[11]

CASE10

TP=Xstation6_4

CASE11

TP=Xstation7_L

CASE12

TP=XSCAN_L

CASE13

TP=XSCAN_R

CASE2

TP=XBUFFER_PICK2

CASE15

TP=XJIGSCAN1

CASE17

TP=XJIGSCAN2

CASE16

TP=XJIGSCAN3

CASE18

TP1=Xstation6_2R

CASE19

TP1=Xstation6_1R

CASE20

TP1=Xstation20_mid

CASE21

TP1=Xstation21_R

CASE22

TP=Xstation22_R_R

CASE23

TP=Xstation23

CASE24

TP=Xstation24

CASE25

TP=Xstation25

CASE26

TP=Xstation26

ENDSWITCH

ENDFOLDTOUCHPOINT()

DEFCALCULATE()

FOLDCALCULATE()

IF(ZN==9)or(zn==20)or(zn==21)or(zn==18)or(zn==19)THEN

PALLET_POS[RANK,ROW]=TP1

PALLET_POS[RANK,ROW].X=TP1.X+(RANK-1)*Xm

PALLET_POS[RANK,ROW].Y=TP1.Y+(ROW-1)*Ym

PALLET_POS[RANK,ROW]=TP

PALLET_POS[RANK,ROW].X=TP.X+(RANK-1)*Xm

PALLET_POS[RANK,ROW].Y=TP.Y+(ROW-1)*Ym

PRE_PALLET=PALLET_POS[RANK,ROW]

PRE_PALLET.Z=PALLET_POS[RANK,ROW].Z+Zm

ENDFOLDCALCULATE()

DEFGoPrepallet()

CALCULATE()

PTPPRE_PALLET

RECCHAR[]="

Xm=$pos_act.X

Ym=$pos_act.Y

Zm=$pos_act.Z

DEFGoPallet()

D"

)AND(RECCHAR[3]=="

W"

)AND(RECCHAR[4]=="

SET_TQ_VALUES(0,0,11,0,13,11)

IF(ZN==3)or(zn==2) 

THEN

PRE_PALLET.Z=PRE_PALLET.Z-160

LINPRE_PALLET

$OV_PRO=5

IF 

(zn==1)THEN

PRE_PALLET.Z=PRE_PALLET.Z-340

LINPALLET_POS[RANK,ROW]

SET_TQ_VALUES(0,0,0,0,0,0)

DEFGoLINE()

PRE_PALLET.Z=PRE_PALLET.Z-180

DEFGoPalletUp()

U"

GLOBALDEFSEND_CHAR()

FOLDSEND_CHAR()

RET=EKI_SetString(ConnectionName[],"

Robot/CMD"

SENDCHAR[])

RET=EKI_Send(ConnectionName[],"

Robot"

ENDFOLDSEND_CHAR()

GLOBALDEFSEND_CharAndData()

FOLDSEND_CharAndData()

WAITSEC0.1

R"

B"

)AND(RECCHAR[5]=="

)AND(RECCHAR[6]=="

RET=EKI_SetINT(ConnectionName[],"

Robot/STATION"

ZN)

Robot/N1"

BY)

Robot/N2"

BX)

Robot/N3"

BZ)

RET=EKI_SetREAL(ConnectionName[],"

Robot/N4"

Xm)

Robot/N5"

Ym)

Robot/N6"

Zm)

RecChar[])

ENDFOLDSEND_CharAndData()

GLOBALDEFRECEIVE_CharAndData()

FOLDRECEIVE_CharAndData()

waitfor$flag[2]and$flag[3]and$flag[4]and$flag[5]and$flag[6]and$flag[7]and$flag[8]and$flag[9]

ford=2to9

$flag[d]=false

RET=EKI_GetINT(ConnectionName[],"

Sensor/STATION"

Sensor/N1"

Sensor/N2"

Sensor/N3"

RET=EKI_GetREAL(ConnectionName[],"

Sensor/N4"

Sensor/N5"

Sensor/N6"

RET=EKI_GetSTRING(ConnectionName[],"

Sensor/CMD"

INTERRUPTON128

ENDFOLDRECEIVE_CharAndData()

GLOBALDEFRECEIVE_Char()

FOLDRECEIVE_Char()

waitfor$flag[9]

ENDFOLDRECEIVE_Char()

DEFTRANSFER()

FOLDTRANSFER()

STATION_NO=ZN

RANK=BX

ROW=BY

VEL=BZ

ENDFOLDTRANSFER()

DEFGoRotation()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1