分享

KUKA机器人信息编程程序

 机器人之树小风 2023-11-06 发布于北京

  KUKA机器人在 KUKA.HMI示教器的信息窗口中对每一条信息提示均显示一个相应的图标。 图标与信息提示类型固定对应,无法由程序员改变。有如下类型的信息提示,可对他们进行编程。      

一、测试程序如下:

1、先声明所需的变量

DEF  M1 ( )          
DECL KRLMSG_T my1,my2,my3,my4,my5          
DECL KRLMSGPAR_T Parameter1[3],Parameter2[3],Parameter3[3],Parameter4[3],Parameter5[3]          
DECL KRLMSGOPT_T Option1,Option2,Option3,Option4,Option5          
DECL KRLMSGDLGSK_T Softkey[5]           
DECL INT handle1,handle2,handle3,handle4,handle5,answer          
DECL BOOL p,e

2、程序部分

my1={modul[] "x", Nr 1906, msg_txt[] "My first Message"}          
Option1
= {VL_STOP FALSE, Clear_P_Reset TRUE, Clear_P_SAW FALSE,Log_to_DB TRUE}          
Parameter1
[1] = {Par_Type #EMPTY}          
Parameter1
[2] = {Par_Type #EMPTY}          
Parameter1
[3] = {Par_Type #EMPTY}          
handle1 
= Set_KrlMsg(#NOTIFY, my1, Parameter1[ ], Option1)    ;提示信息编程程序          
  

       
IF $in[17]==FALSE THEN          
my2
={modul[] "x", Nr 1909, msg_txt[] "My Messagetext"}          
Option2
= {VL_STOP FALSE, Clear_P_Reset TRUE, Clear_P_SAW FALSE,Log_to_DB TRUE}          
Parameter2
[1] = {Par_Type #EMPTY}          
Parameter2
[2] = {Par_Type #EMPTY}          
Parameter2
[3] = {Par_Type #EMPTY}          
handle2 
= Set_KrlMsg(#STATE, my2, Parameter2[ ], Option2)          
ENDIF          
e
=FALSE          
REPEAT          
IF $in[17]==TRUE THEN          
e
=Clear_KrlMsg(handle2)           
ENDIF          
p
=Exists_KrlMsg(handle2) ; D?          
UNTIL NOT (p) or e                  ;状态信息编程程序          

         
my3
={modul[] "x", Nr 1910, msg_txt[] "My Messagetext"}          
Option3
= {VL_STOP FALSE, Clear_P_Reset TRUE, Clear_P_SAW FALSE,Log_to_DB TRUE}          
Parameter3
[1] = {Par_Type #EMPTY}          
Parameter3
[2] = {Par_Type #EMPTY}          
Parameter3
[3] = {Par_Type #EMPTY}          
handle3 
= Set_KrlMsg(#QUIT, my3, Parameter3[ ], Option3)          
REPEAT          
p
=Exists_KrlMsg(handle3)          
UNTIL NOT(p)                     ;确认信息编程程序          

         
IF $IN[17]==FALSE THEN          
my4
={modul[] "x", Nr 1911, msg_txt[] "My Messagetext"}          
Option4
= {VL_STOP FALSE, Clear_P_Reset TRUE, Clear_P_SAW FALSE,Log_to_DB TRUE}          
Parameter4
[1] = {Par_Type #EMPTY}          
Parameter4
[2] = {Par_Type #EMPTY}          
Parameter4
[3] = {Par_Type #EMPTY}          
handle4 
= Set_KrlMsg(#WAITING, my4, Parameter4[ ], Option4)          
ENDIF          
e
=FALSE          
REPEAT          
IF $IN[17]==TRUE THEN          
e
=Clear_KrlMsg(handle4)           
ENDIF          
p
=Exists_KrlMsg(handle4)           
UNTIL NOT(p) or e                  ;等待信息编程程序          
 

IF $IN[17]==FALSE THEN          
my5
={modul[] "x", Nr 1912, msg_txt[] "My Questiontext"}          
Option5
= {VL_STOP FALSE, Clear_P_Reset TRUE, Clear_P_SAW FALSE, Log_to_DB TRUE}         
Parameter5
[1] = {Par_Type #EMPTY}          
Parameter5
[2] = {Par_Type #EMPTY}          
Parameter5
[3] = {Par_Type #EMPTY}          
softkey
[1]={sk_type #value, sk_txt[] "key1"}          
softkey
[2]={sk_type #value, sk_txt[] "key2"}          
softkey
[3]={sk_type #value, sk_txt[] "key3"}          
softkey
[4]={sk_type #value, sk_txt[] "key4"}          
softkey
[5]={sk_type #value, sk_txt[] "key5"}          
;handle5 = Set_KrlMsg(#STATE, my5, Parameter5[ ], Option5)          
ENDIF          
;e=FALSE          
;REPEAT          
;IF $IN[17]==TRUE THEN          
;e=Clear_KrlMsg(handle5)           
;ENDIF          
;p=Exists_KrlMsg(handle5)           
;UNTIL NOT(p) or e          
handle5 
= Set_KrlDlg(my5, Parameter5[ ],Softkey[ ], Option5)          
answer
=0          
REPEAT           
= exists_KrlDlg(handle5 ,answer)           
UNTIL NOT(p)          
SWITCH answer          
  
CASE 1           
  $FLAG
[1]=TRUE          
  
CASE 2           
   $FLAG
[2]=TRUE          
  
CASE 3           
   $FLAG
[3]=TRUE          
  
CASE 4           
  $FLAG
[4]=TRUE          
  
CASE 5           
   $FLAG
[5]=TRUE                
ENDSWITCH                                     ;对话信息编程程序          

         
END

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约