INTE_NO E6AXIS AK_AXIS STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E6 $OPERATE.SRC REAL AX_DIST SWITCH COMMAND 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
;******************************** ; 函数:初始化外部接口
;******************************** DEF INIT_EXT ( ) BOOL ERROR INT N PGNO_ERROR=0 ;******************************** ;CHECK HOME ;********************************
;******************************** ;INIT PGNO_REQ UND APPL_RUN ;******************************** IF (PGNO_REQ>0) THEN $OUT[PGNO_REQ]=FALSE ENDIF IF (PGNO_REQ<0) THEN $OUT[-PGNO_REQ]=TRUE ENDIF IF (APPL_RUN>0) THEN $OUT[APPL_RUN]=FALSE ENDIF IF PLC_ENABLE AND (ERR_TO_PLC>0) THEN $OUT[ERR_TO_PLC]=FALSE ENDIF IF REFLECT_PROG_NR==1 THEN FOR N=0 TO PGNO_LENGTH-1 $OUT[PGNO_FBIT_REFL+N]=FALSE ENDFOR ENDIF $LOOP_MSG[]=" " ;******************* REPEAT ;*********************************************************** ERROR=FALSE REPEAT IF ($I_O_ACTCONF==FALSE) THEN ERROR=TRUE P00_MSG (13) ENDIF UNTIL ($I_O_ACTCONF==TRUE) SWITCH PGNO_TYPE ;********************************************************* CASE 1,2 ;bci-coding,bcd-coding ;********************************************************* ;***** CHECK PGNO_LENGTH ***** IF (PGNO_LENGTH<1) THEN ERROR=TRUE ;pgno_length P00_MSG (2) ENDIF IF (PGNO_TYPE==1) THEN ;bci-coding IF (PGNO_LENGTH>16) THEN ERROR=TRUE ;pgno_length P00_MSG (2) ENDIF ENDIF IF (PGNO_TYPE==2) THEN ;bcd-coding SWITCH PGNO_LENGTH CASE 4,8,12,16