KUKA 通信子程序 p00src 注释Word格式文档下载.docx

上传人:b****6 文档编号:19022937 上传时间:2023-01-03 格式:DOCX 页数:11 大小:16.74KB
下载 相关 举报
KUKA 通信子程序 p00src 注释Word格式文档下载.docx_第1页
第1页 / 共11页
KUKA 通信子程序 p00src 注释Word格式文档下载.docx_第2页
第2页 / 共11页
KUKA 通信子程序 p00src 注释Word格式文档下载.docx_第3页
第3页 / 共11页
KUKA 通信子程序 p00src 注释Word格式文档下载.docx_第4页
第4页 / 共11页
KUKA 通信子程序 p00src 注释Word格式文档下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

KUKA 通信子程序 p00src 注释Word格式文档下载.docx

《KUKA 通信子程序 p00src 注释Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《KUKA 通信子程序 p00src 注释Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。

KUKA 通信子程序 p00src 注释Word格式文档下载.docx

CASE#INIT_EXT

INIT_EXT()

CASE#EXT_PGNO

EXT_PGNO(PGNO_FUNCT 

CASE#CHK_HOME

CHK_HOME()

CASE#EXT_ERR

EXT_ERR(P_ID[],E_NO)

ENDSWITCH

END

;

********************************

函数:

初始化外部接口

BOOLERROR

INTN

PGNO_ERROR=0

CHECKHOME

INITPGNO_REQUNDAPPL_RUN

IF(PGNO_REQ>

0)THEN

$OUT[PGNO_REQ]=FALSE

ENDIF

IF(PGNO_REQ<

$OUT[-PGNO_REQ]=TRUE

IF(APPL_RUN>

$OUT[APPL_RUN]=FALSE

IFPLC_ENABLEAND(ERR_TO_PLC>

$OUT[ERR_TO_PLC]=FALSE

IFREFLECT_PROG_NR==1THEN

FORN=0TOPGNO_LENGTH-1

$OUT[PGNO_FBIT_REFL+N]=FALSE

ENDFOR

$LOOP_MSG[]="

"

*******************

REPEAT

***********************************************************

ERROR=FALSE

IF($I_O_ACTCONF==FALSE)THEN

ERROR=TRUE

P00_MSG(13)

UNTIL($I_O_ACTCONF==TRUE)

PGNO_TYPE

*********************************************************

CASE1,2;

bci-coding,bcd-coding

*****CHECKPGNO_LENGTH*****

IF(PGNO_LENGTH<

1)THEN

ERROR=TRUE;

pgno_length

P00_MSG

(2)

IF(PGNO_TYPE==1)THEN;

bci-coding

IF(PGNO_LENGTH>

16)THEN

IF(PGNO_TYPE==2)THEN;

bcd-coding

PGNO_LENGTH

CASE4,8,12,16

DEFAULT

P00_MSG(3)

*****CHECKPGNO_FBIT*****

IF(PGNO_FBIT<

pgno_fbit

P00_MSG(4)

*****CHECKPGNO_REQ*****

IF(PGNO_REQ==0)THEN

pgno_req

P00_MSG(7)

0)THEN;

activehigh

$OUT[PGNO_REQ]=FALSE;

reset

WAITSEC0.2;

delayforplc

activelow

$OUT[PGNO_REQ*(-1)]=TRUE;

CASE3;

oneoutofn

DEFAULT;

PGNO_TYPEwrongtype

pgno_type

P00_MSG

(1)

UNTIL(ERROR==FALSE)

EXT_PGNO(FUNCT)

Function:

communicationprogram

forexternalmode

DECLFUNCT_TYPEFUNCT

INTI,J,K,L,M,N

BOOLP_RECV

BOOLP_CALC

J=1

K=0

L=1

P_RECV=FALSE

P_CALC=FALSE

FUNCT

CASE#PGNO_ACKN

$OUT[PGNO_REQ*(-1)]=TRUE

$OUT[APPL_RUN]=TRUE

CASE#PGNO_GET

CASE1,2

IF(PGNO_VALID>

WAITFOR 

$IN[PGNO_VALID]==FALSE

IF(PGNO_VALID==0)THEN

$EXT_START==FALSE

IF(PGNO_VALID<

$IN[PGNO_VALID*(-1)]==TRUE

$OUT[PGNO_REQ]=TRUE

$OUT[PGNO_REQ*(-1)]=FALSE

FORI=0TO 

PGNO_LENGTH-1

IF$IN[PGNO_FBIT+I]==TRUETHEN

$OUT[PGNO_FBIT_REFL+I]=TRUE

ELSE

$OUT[PGNO_FBIT_REFL+I]=FALSE

WaitforPGNO_VALID=True"

UNTIL 

$IN[PGNO_VALID]==TRUE

Waitfor$EXT_START=True"

$EXT_START==TRUE

WaitforPGNO_VALID=False"

$IN[PGNO_VALID*(-1)]==FALSE

PGNO=0

CASE1

IF$IN[PGNO_FBIT+I]THEN

PGNO=PGNO+J

J=J*2

CASE2

PGNO_LENGTH-1 

STEP 

4

N=0

FORM=ITO 

I+3

IF$IN[PGNO_FBIT+M]THEN

N=N+J

$OUT[PGNO_FBIT_REFL+M]=TRUE

IF(N>

9)THEN

PGNO_ERROR=2

EXIT

PGNO=PGNO+N*L

L=L*10

IF(PGNO_ERROR<

>

2)THEN

IF(PGNO_PARITY>

P_RECV=$IN[PGNO_PARITY]

P_CALC=P_CALCEXOR$IN[PGNO_FBIT+I]

IF(P_RECV<

P_CALC)THEN

PGNO_ERROR=1

IF(PGNO_PARITY<

P_RECV=$IN[PGNO_PARITY*(-1)]

NOT(P_CALC))THEN

CASE3

IFPGNO>

0THEN

$IN[PGNO_FBIT+PGNO-1]==FALSE

IFK==0THEN

K=I+1

UNTIL((K<

0)OR(PGNO_ERROR==0))

PGNO=K

CASE#PGNO_FAULT

IFPGNO_ERROR==1THEN

P00_MSG(10)

IFPGNO_ERROR==2THEN

P00_MSG(12)

IFPGNO_ERROR==0THEN

IF(PGNO_TYPE==3)THEN

P00_MSG(15)

P00_MSG(11)

WAITSEC0.5

BOOLH

DECLMSG_TP_MSG

DECLMSG_TEMPTY_MSG

IF($I_O_ACTCONF==TRUE)THEN

EMPTY_MSG={MSG_T:

VALIDFALSE,RELEASEFALSE,TYP#NOTIFY,MODUL[]"

"

KEY[]"

PARAM_TYP#VALUE,PARAM[]"

DLG_FORMAT[]"

ANSWER0}

P_MSG={MSG_T:

VALIDFALSE,RELEASEFALSE,TYP#QUIT,MODUL[]"

P00"

MoveHomeInT1"

PARAM_TYP#KEY,PARAM[]"

$MSG_T=P_MSG

WAITSEC1.0

H=TRUE

IF($IN_HOME==FALSE)THEN

H=FALSE

$MSG_T.VALID=TRUE

HALT

IF(($MODE_OP==#T1)OR($MODE_OP==#T2))THEN

$MSG_T.RELEASE=TRUE

$MSG_T=EMPTY_MSG

RETURN

UNTIL$IN_HOME==TR

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

当前位置:首页 > 高等教育 > 艺术

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

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