制作一个提示信息,在一开始出现三个选项分别是“XYZ”“ABC”“空”用来显示放件时当前的位置状态。
DEF dui( )
decl krlmsg_t qe
decl krlmsgpar_t par[3]
decl krlmsgdlgsk_T SK[3]
DECL KRLMSGOPT_T OPT
DECL INT HAN,ANS
DECL BOOL Y,C
decl int n
decl int m
声明信息变量-----
INI
PTP HOME Vel= 100 % DEFAULT
QE={MODUL[] "QA",NR 1000,MSG_TXT[] "WHAT DO YOU WANT"}
OPT={VL_STOP FALSE,CLEAR_P_RESET TRUE,CLEAR_P_SAW FALSE,LOG_TO_DB TRUE}
PAR[1]={PAR_TYPE #EMPTY}
PAR[2]={PAR_TYPE #EMPTY}
PAR[3]={PAR_TYPE #EMPTY}
SK[1]={SK_TYPE #VALUE,SK_TXT[] "XYZ"}
SK[2]={SK_TYPE #VALUE,SK_TXT[] "ABC"}
SK[3]={SK_TYPE #VALUE,SK_TXT[] "KONG"}
HAN=SET_KRLDLG(QE,PAR[],SK[],OPT) 对话窗口被激活
ANS=0
REPEAT
Y=EXISTS_KRLDLG(HAN,ANS) 关闭对话窗口
UNTIL NOT (Y)
产生对话信息窗口--------通过变量ANS的反馈值用于下一步的使用。
...........................
到达放件位置后,生成信息。
switch ANS
CASE 1
POS1=$POS_ACT
提取当前位置信息
QE={MODUL[] "QA",NR 1000,MSG_TXT[] "X:%1,Y:%2,Z:%3"}
OPT={VL_STOP FALSE,CLEAR_P_RESET TRUE,CLEAR_P_SAW FALSE,LOG_TO_DB TRUE}
PAR[1].par_type=#VALUE 用变量显示
PAR[1].par_real=POS1.x 显示当前位置的X的数值
PAR[2].par_type=#VALUE
PAR[2].par_real=POS1.y
PAR[3].par_type=#VALUE
PAR[3].par_real=POS1.z
HAN=SET_KRLMSG(#STATE,QE,PAR[],OPT)
显示当前位置XYZ信息
CASE 2
POS1=$POS_ACT
提取当前位置信息
QE={MODUL[] "QA",NR 1000,MSG_TXT[] "A:%1,B:%2,C:%3"}
OPT={VL_STOP FALSE,CLEAR_P_RESET TRUE,CLEAR_P_SAW FALSE,LOG_TO_DB TRUE}
PAR[1].par_type=#VALUE 用变量显示
PAR[1].par_real=POS1.a 显示当前位置的A的数值
PAR[2].par_type=#VALUE
PAR[2].par_real=POS1.b
PAR[3].par_type=#VALUE
PAR[3].par_real=POS1.c
HAN=SET_KRLMSG(#STATE,QE,PAR[],OPT)
显示当前位置ABC信息
CASE 3
ENDSWITCH
REPEAT
WAIT SEC 1
C=CLEAR_KRLMSG(HAN)
消除信息
Y=EXIsTS_KRLMSG(HAN)
UNTIL NOT(Y) OR C