對(duì)話框中的附加變量和結(jié)構(gòu):
對(duì)話框的函數(shù):
用函數(shù) Set_KrlDlg( ) 可生成一則對(duì)話信息。 這意味著,該信息提示被傳遞到信息緩存器中并顯示在單獨(dú)的一個(gè)帶有按鍵的信息提示窗口中。
DEFFCT Extfctp Int Set_KrlDlg(MyQuestion:OUT, Parameter[ ]:OUT, Touchkey[ ]:OUT, Option:OUT)
MyQuestion: 一般信息提示的結(jié)構(gòu) (發(fā)送人、信息號(hào)、問(wèn)題文本)
Parameter[ ]: 通配符 %1、%2 和 %3 的 3 個(gè)可能參數(shù)欄。即使不使用通配符,也必須始終代入全部 3 個(gè)參數(shù)。
Touchkey[ ] : 7 個(gè)可能按鍵標(biāo)注結(jié)構(gòu)。 即使不使用這些按鍵,也必須始終代入全部 7個(gè)按鍵。
Option (選項(xiàng)): 一般信息提示選項(xiàng)的結(jié)構(gòu) (預(yù)進(jìn)停止、記錄在信息提示數(shù)據(jù)庫(kù)中、程序復(fù)位或選擇語(yǔ)句時(shí)連帶刪除信息提示)
對(duì)話的返回值:對(duì)話的“句柄 (handle)”。用該“句柄”可檢查是否成功生成了對(duì)話。同時(shí),“ 句柄 ” 也用作信息緩存器中的識(shí)別號(hào)。
handle == -1: 不能生成對(duì)話 (例如因?yàn)榱硪粍t對(duì)話仍處于激活狀態(tài)、還未得到回答或信息緩存器已過(guò)滿)
handle > 0 : 對(duì)話已成功生成并以相應(yīng)的識(shí)別號(hào)保存在信息緩存器中管理。
用函數(shù)Exists_KrlDlg( ) 可檢查一則特定的對(duì)話是否還存在。即檢查該信息提示是否還在內(nèi)部信息緩存器中。如果對(duì)話得到應(yīng)答,則此功能會(huì)說(shuō)明按下的是哪個(gè)按鍵。
例如:
DEFFCT BOOL Exists_KrlDlg(INT nHandle:IN,INT Answer:OUT)
DECL INT nHandle, answer
nHandle: 由函數(shù) “Set_KrlDlg(…) ” 提供的對(duì)話句柄.
Answer : 有關(guān)哪個(gè)按鍵被按動(dòng)的反饋。這樣,被定義為 “Button[1]”的按鍵 1 便返回值 1.
函數(shù)不等到對(duì)話得到回答,而是僅僅在緩存器中查找?guī)в性摼浔膶?duì)話。因此,KRL 程序中的詢問(wèn)必須循環(huán)進(jìn)行,直至對(duì)話得到回答或被刪除。
例如:
DECLBool P1
P1=Exists_KrlDlg(nHandle, nAnswer
present == TRUE: 該對(duì)話還存在于信息緩存器中
present == FALSE : 該對(duì)話不再位于信息緩存器中 (即已得到回答)
Answer (回答)現(xiàn)在以按下的按鍵的值返回寫(xiě)入。 有效值為 1 到 7,取決于編程設(shè)定的按鍵號(hào)。
變成事例:
在USR_S.src程序中建立程序”K_msg”
反饋值監(jiān)控:
--------------------------------------------------------------
例如:
生成EMZ的選擇框,選擇幾號(hào)焊鉗
DEFFCT INT SetDlgMsg()
DECLKrlMsg_TMsg
DECLKrlMsgPar_TPar[3]
DECLKrlMsgOpt_TOpt
DECLKrlMsgDlgSK_TSK[7]
INTnHandle,nAnswer
T 2模式下執(zhí)行EMZ
Msg={Modul[]"vw_emz",Nr 10,Msg_txt[]"Antriebsschnittstelleselektieren"}提示信息條 “EMZ使用幾號(hào)工具用來(lái)測(cè)量”
SK[1]={ Sk_Type #VALUE,Sk_txt[]"1"}生成的選項(xiàng)按鈕
SK[2]={ Sk_Type #VALUE,Sk_txt[]"2"}
SK[3]={ Sk_Type #VALUE,Sk_txt[]"3"}
SK[4]={ Sk_Type #VALUE,Sk_txt[]"4"}
SK[5]={ Sk_Type #VALUE,Sk_txt[]"5"}
SK[6]={ Sk_Type #VALUE,Sk_txt[]"6"}
SK[7]={ Sk_Type #VALUE,Sk_txt[]"7"}
選擇幾號(hào)焊鉗
Opt={ VL_Stop True,Clear_P_ResetTrue,Log_To_DB FALSE }信息屬性設(shè)置
nHandle=Set_KrlDlg(Msg,Par[],SK[],Opt)激活信息提示
If(nHandle>0)Then
While(Exists_KrlDlg(nHandle,nAnswer))關(guān)閉對(duì)話窗口
Waitsec0.1
Endwhile
Endif
Return(nAnswer)選擇按鈕的值被發(fā)出
;
ENDFCT
責(zé)任編輯:lq
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28632瀏覽量
208055 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4345瀏覽量
62893 -
緩存器
+關(guān)注
關(guān)注
0文章
63瀏覽量
11684
原文標(biāo)題:制作一條KUKA-C4機(jī)器人的提示框!
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論