0 calificaciones0% encontró este documento útil (0 votos) 492 vistas23 páginasMensajes KRC4
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
KUKA
4 Programacion de un mensaje con KRL
4.1 Informacién general sobre los mensajes definidos por el usuario
Descripcién de —__Caracteristicas de la programacién de mensajes
mensajes = El programador puede programar mensajes propios con KRL.
definidos porel Se pueden emitir varios mensajes simultaneamente.
usuario
= Los mensajes emitidos se encuentran en una memoria intermedia de
mensajes hasta que se vuelven a borrar.
Los mensajes de observacién no se administran en la memoria intermedia
de mensajes (principio “fire and forget" [dispare y olvidese)).
Los mensajes se pueden comprobar o borrar facilmente, salvo los mensa-
jes de observacién,
= En cada mensaje se pueden integrar hasta 3 pardmetros,
En la ventana del mensaje de KUKA.HMI se muestra un simbolo para cada
mensaje. Los simbolos estén asignados a los tipos de mensaje de forma es-
tricta y no pueden ser modificados por el programador.
‘Se pueden programar los siguientes tipos de mensajes:
Simbolo_| Tipo
Mensaje de acuse de recibo
Mensaje de estado
Mensaje de observacion
Mensaje de espera
Mensaje de didlogo (se muestra en una ventana emergente
propia)
los distintos tipos de mensaje (p. eel robot frena o se detiene el pro-
[i Somers ames
A rome} Es necvaro progremer as esclones deseades
Los mensajes se emiten, borran o comprueban mediante funciones esténdar
predefinidas de KUKA. Para ello se necesitan distintas variables.
Funciones para programar mensajes
Emitie un mensaje
Comprobar un mensaje
Emitir un didlogo
.
.
= Borrar un mensaje
.
= Comprobar un diélogo
Variables complejas para programar mensajes
= Estructura para remitente, numero de mensaje, texto del mensaje
Estructura como marcador de posicién para 3 parametros posibles
= Estructura para el comportamiento general de un mensaje
= Estructura para la rotulacién de los botones en mensajes de diélogoPrincipio de la
programacién de
mensaje de!
por el usuario:
variables/estruc-
turas
@ 08:56:33 14.07.2020 1906
My frst Message
|. 4-1: Mensaje de observacion
Estructura para remitente, nimero de mensaje, texto del mensaje
= Estructura KUKA predefinida: x=1Msg_1
STAG Keiieg_? CHAR Model [Za], HAT Nz, CHAR Wag_exCl6O]
Date rine:
Messoge")
iF mynossage
(Modul { ] "college", tir 1906, Ms:
tl 1 "My fin
= Remitente: Modul: ]"co! lege"
24 caracteres como maximo
El sistema integra el texto del remitente en la visualizacién entre "< >",
= Nimero de mensaje: .° 1906
Numero entero de libre eleccién,
Los némeros duplicados seleccionados no se detectan.
Texto del mensaje: .
80 caracteres como maximo
El texto se muestra en la segunda linea del mensaje.
Msg
Cuando se envia un mensaje, se debe elegir el tipo de mensaje:
a Tipo de dato de enumeracién ekr1Msg7ype
joe ERFIMegiype NOLIE gel, wating
w ® srnrorc:ca sti ne morse como mensle do aspen
En el texto de un mensaje se debe mostrar el valor de una variable. Por ejem-
plo, se debe mostrar la cantidad de piezas actual. Para ello, en el texto del
mensaje se necesitan los denominados marcadores de posicién. La cantidad
maxima de marcadores de posicién es 3. La visualizacién es $1, $2 y 3.
Por este motivo se necesitan 3 juegos de parémetros. Cada juego de parame-
tros est compuesto por la estructura KUKA Xr 1MssPar_T:Baum Keinegrartype ? value, Rey, ERpoy
STRUC KriMisgear_t ArlNsgPartype_? Par_type, CHAR Par_txt 26], 2Nt
Utilizacién de las unidades individuales
m= Par_type: clase de parametro/marcador de posicién.
‘VALUE: el pardmetro se procesa directamente on la forma transferi-
da en el texto del mensaje (es decir, como String, valor INT, REAL 0
BOOL)
4X: el parémetro es una palabra clave que se debe buscar en la
base de datos de mensajes para cargar el texto correspondiente.
‘EMPTY: el pardmetro esta en blanco.
Par_txt [26]: el texto o la palabra clave para el parametro.
Par_lnt: se transmite un valor entero como pardmetro.
Par_Real: se transmite un valor real como pardmetro.
Par_Bool: se transmile un valor booleano como parémetro, se muestra
ol texto TRUE 0 FALSE
Ejemplos de programa para la transmisién directa de parametros a los mar-
cadores de posicién
El texto del mensaje es so. waveria en $1",
DEGE KrlnagPar_= Paraneter[3) > 3 Crear juegos de paranetros
Parometer{1] = {Par_type #VALUE, Par_txtl 1 “Finisher™
Parameter [2] = {Par_Type EEMPTY}
Paraneter(3] ~ {Par Type #EMPTY)
Salida de mensaje: averia en la garra
Puesto que los pardmetros no se suelen describir mediante constan-|
JJ_ ts, es unidades incividuales se transmiten con el punto separador.
Ejemplos de programa para la transmisién de parametros con punto separa-
dor a los marcadores de posicién
El texto del mensaje es "sq.
Deck KeinsgPar 7 Paranerer[3) 7 3
DECL INT missing pare
az juegos de parsaeuros
aiasing part = 15
Pataneter(1] = {Partype HALUE)
Paraneter(1] .Par_Int - missing pai
Paraneter[2] = {Par Type #EMPIY)
Poraneter(3] - {Par Type #EMPTY)
Salida de mensaje: faltan 13 componentes
KUKA|. 4-2: Mensaje de diélogo
Estructura para la asignacién de botones en didlogos:
= Estructura KUKA predefinida: K=1Msgp2g3%_T
Value, Fey, Eapty
char 9x_ext (10)
= Sk_Type: olase de rotulacién de botén
#VALUE: el parametro se procesa directamente en la forma transtferi-
da en el texto del mensaje.
+#k=¥: el pardmetro es una palabra clave que se debe buscar en la
base de datos de mensajes para cargar el texto correspondiente.
#eNEY: el botén no tiene asignacién.
m= Sk_txt[_]:el texto o la palabra clave para el botén.
Ejemplo de programa para la rotulacién de 7 botones de un didlogo
DECL KRINGGDIGSXT SoftkeyIT] 7 7 Prepavar teclas Ge funclon
progranable posibles
Softkey(1]=(ak type value, weeyi"}
softkey[2]~(sk type Avalue, mkey2"}
softkey[3]=(sk type fvalue, wkey3")
softkey[41=(sk_ type fvalue, revs
softkey{5]=(sk type fvalue,
softkey[6]~(sk type fvalue,
softkey[7]-(sk type fvalue,
wkeyS")
mheyer)
wkey?"}
‘Se pueden asignar como maximo 10 caracteres por boton. En fun-
JJ 0: El mensaje se ha emitido correctamente y se ges-
tionaré en la memoria intermedia de mensajes con el nimero de
identificacion correspondiente.pio “fire and forget" (dispare y olvidese). En el caso de los mensajes
de observacién, el retorno siempre es handie
ha emitido correctamente.
ls Los mensajes de observacién se procesan de acuerdo con el prin
Osi elmensaje se
= Comprobacién de un mensaje
Con esta funcién se puede comprobar si un mensaje determinado con un
handle definido existe todavia. También se comprueba si dicho mensaje
se encuentra atin en la memoria intermedia de mensajes interna.
Funciones integradas para comprobar un mensaje
FET BOOL Exists KelMag (oFandler iN)
DECE INT nilandle
land: el handle facilitado por la funcién "Set_Kr1Msg (..)" para
el mensaje.
Valor de retorno de la funcién:
DEF MyProgt
andie = Set_Krimes (Tyce, MyMessage, Paraneter{ 1, Option)
plesent= Exists Kelttsy (handle)
present == TRUE: este mensaje existe atin en la memoria inter-
media de mensajes.
present == FALS3: este mensaje ya no se encuentra en la me-
moria intermedia de mensajes (por lo tanto, se ha confirmado o se
ha borrado).
= Borrado de un mensaje
Con esta funcién se puede borrar un mensaje. Esto significa que el men-
saje correspondiente se borra de la memoria intermedia de mensajes in-
tema.
Funciones integradas para comprobar un mensaje
DEFACT BOGE Clear KriNeg(arandierINy
{Ch INT nllandle
Hande: el handle facilitado por la funcién "Set_Kr 1Msu (..)" para
el mensaje.
| Valor de retorno de la funcién:
DEF wyerogt)
DEC INT handle
Randle - Set Krimsg (type, MyMessage, Parameter 1, option)
otese = Clear_KriMsg handle)
erase == TRUS: se ha podido borrar este mensaje.
se == FAZSE: no se ha podido borrar este mensaje.Principio de la
programacién de
didlogo definida
por el usuario:
Funciones.
KUKA
@ | Funciones especiales para borrar con la funcién
Jy |ciear_seinsg thandie) +
Clear, Kr Msg (~1) se borran todos los mensajes iniciados por
este proceso,
Clear_Ar1Msg (~99): se borran todos los mensajes iniciados por el usua-
rio KR,
Definicién y comprobacién de un didlogo
= Definicién 0 emisién de un didlogo
Con la funcién Set_Xr151g( } se emite un mensaje de didlogo. Esto
significa que el mensaje se transfiere a la memoria intermedia de mensa-
jes y se muestra en una ventana de mensajes propia con botones,
Funciones integradas para emitir un diélogo
DEFTCT Gxtectp int Set_Kelble WyGuestions00n, Farancte=] 1:005,
Button! ]:007, option:ou%
DeCL KriMeg 1 MyQcest‘on
DECL KriMsgPar_T Pararecert J
DECL KrimsgDlg3K 7 mutton ]
DECE KelMsgOpt_7 Option
MyQuest ion: informacién general de mensaje (remitente, nimero de
mensaje, texto del mensaje)
ameter }:los 3 parametros posibles para los marcadores de
posicién %1, %2 y %3 (se deben transferir también aunque no se ulti-
licen)
Button{ ]:larotulacién para los 7 botones posibles (se deben trans-
ferir también aunque no se utilicen)
oped én: opciones de mensaje generales (parada del procesamiento,
inicio de sesién en la base de datos de mensajes, mensaje en caso de
borrado implicito de selecci6n de paso o de reinicio del programa)
Valor de retorno de la funcién: handle para el didlogo. Con este han-
dle se puede controlar si el didlogo se ha podido emitir correctamente;
ademas, el handle es también e! nimero de identificacién en la me-
moria intermedia de mensajes.
DEF Myexogt )
DECK INT Randie
handle = set_KeiblgiMyguestion, Paraneter| J, Huttor{ 1, Option)
handle no se ha podido emitir el didlogo (p. ej.. porque
todavia hay otro didlogo activo al que no se ha respondido atin o
porque la memoria intermedia de mensajes esté saturada)
handle > 0: el diélogo se ha emitido correctamente y se gestio-
nnaré en la memoria intermedia de mensajes con el niimero de
identificacién correspondiente.
En todos los casos, un didlogo se puede emitir sélo sino hay ningtin otro didé-
logo activo,
La funcién sélo emite el didlogo. No espera a la respuesta del didlogo.
=| Comprobacién de un didlogo
Con la funcist ‘r1D1g(_) Se puede comprobar si alin existe un
didlogo concreto. También se comprueba si dicho didlogo se encuentra
ain en la memoria intermedia de mensajes.
Funciones integradas para comprobar un mensajenHand et el handle facilitado por la funcién "Set _Xr 11g (..)" para
el didlogo,
answer: confirmacién del botén pulsado. De este modo, el botén 1,
definido como "But ton [7]", devuelve el valor 1
La funcién no espera a la respuesta del didlogo, sino que sélo explora la me-
rmoria intermedia en busca del didlogo que tenga este handle. La consulta en
el programa KRL se debe realizar oiclicamente mientras el didlogo responda
© se haya borrado de otro modo.
Valor de retorno de la funcién:
DEF WyProgt)
Dect INT handle, anewer
DECE ROGL noch da
Sandie
+ _KeiDigtMyouestion, Paraneter{ J, Button{ J, Option)
Aoch_da = Exists KeLDig(handle, anawer)
present == TRUE: este didlogo existe atin en la memoria inter-
media de mensajes.
: este didlogo ya no se encuentra en la me-
rmedia de mensajes (por io tanto, se ha respondido).
answer se restaura ahora con el valor del botén pulsado. Los valores vali-
dos son del 1 al 7, en funcién de los ntimeros de los botones programados.
4.2 Trabajos con un mensaje de observacién
Descripcién de
un mensaje de
observacién
definido por el
usuario
Funcién de un
mensaje de
observacién
definido por el
usuario
2) crc ot) i HS ale cl
© onsen 1.07200 1906
My fst Mesage ce) baa
ig. 4-4: Mensaje de observacion
Ejemplo de programacién para visualizacién mencionada anteriormente:
DEL KRINGG_T mynessage
DECL KRIMSGPAR_7 Pararever[3]
DECL KRLMSGOPT_? optic
Decl INT handle
ymessage=imodul[] "College", Ne 1906, naq_txc{] "hy first Message")
Option= {vi_STO? FALSE, Clear_P Reset TRUG, Clear_P SAN FALSE,
10g_to_DE TRUE)
phos marcador
de posicién estan en blanco Marcadores de
posiciénit. 3)
Paraneter(i] ~ {Par Type #EMPTY)
Paraneter[2] = {Par type #EMPTY)
Paraneter(3] = {Par_type FEMPrY)
handle = Set_Krinsa (#NO7:
+ mymessage, Parameter{ J,
43 Ejercicio: Programacién de un mensaje de observacién
Objetivo del Después de completar correctamente este ejercicio, se dispondré de la com-
ejercicio petencia necesaria para efectuar las siguientes tareas:
= Programar mensajes de observacién propios. *
Dar salida en mensajes a los pardmetros que se deseo
Requisitos Los siguientes requisitos son necesarios para completar este ejercicio correc-
tamente:
= Conocimientos del lenguaje de programacién KRL.
= Conocimientos teéricos de la programacién de mensajes
Formulacion Tarea parcial 1: Mensaje de observacién
1. Cree un mensaje de observacién con el texto "Cargador casi vacio, relle-
2. Mediante la entrada 13 en el panel de mando se debe visualizar este men-
saje.
3. Compruebe su programa segtin prescripcién,KUKA
Tarea parcial 2: Mensaje de observacién con parémetros
1. Cree un mensaje de observacién con el texto "Componente nimero xxx
list
2. Mediante la entrada 16 en el panel de mando se debe mostrar este men-
ssaje; el contador de piezas del componente se debe incrementar y se
debe mostrar en lugar de xxx
3. Compruebe su programa segtin prescripcién.
Lo que se debe saber tras el ejercicio:
1. ECémo se vuelve a borrar un mensaje de observacién?
2. LQué componente de la estructura del mensaje es responsable de “lanzar”
el texto del mensaje?KUKA
4.4 Trabajos con un mensaje de estado
Descripcién de
un mensaje de
estado definido
por el usuario
Funcién de un
mensaje de
estado definido
por el usuario
Programacién de
mensajes de
estado definidos
por el usuario,
2 )ecocrcmmmmn fnl M "* d M al l
10 1008
Fig. 4-5: Mensaje de estado
= Los mensajes de estado se administran en la memoria intermedia de
mensajes.
m= Los mensajes de estado no se pueden volver a borrar con el menti "Todo
OK".
m= Los mensajes de estado se deben volver a borrar en el programa con una
funcién
m= Los mensajes adicionales también se pueden borrar mediante los ajustes
de las opciones de mensaje durante el reset del programa, al salir del pro-
grama o al seleccionar un paso.
= Los mensajes de estado son adecuados para ingicar un cambio de estado
(p. ¢j. la supresién de una entrada),
= En la memoria intermedia de mensajes se administran 100 mensajes
como maximo,
= El programa persiste, por ejemplo, hasta que se vuelva a dar el estado
desencadenante.
1m Elmensaje de estado se vuelve a borrar mediante la funcién
Clear_KriMsg( )
~@ | No existen reacciones predefinidas del sistema de robot asociadas @
JJ | 2s sistintostipos de mensaje (p. ej. el robot frena o se detiene el pro-|
grama). Es necesario programar las reacciones deseadas.
1. Cargar un programa principal en el editor.
2. Declarar variables de trabajo para:
Remitente, ntimero de mensaje, texto del mensaje (de K-1Msg_T)
Campos con 3 elementos para el parametro (de Xr IMsqPar_7)
Opciones de mensaje generales (de Xr IMsgopt_7)
landle" (como IN)
Variable para el resultado de la comprobacién (como 8001)
Variable para el resultado del borrado (como 5001)
3. Iniclalizar variables de trabajo con los valores deseados.
4, Programar la activacién de la funcién Set_Xr Msg ..)
5. Detener el programa con un bucle hasta que se desaparezca el estado
desencadenante.
6. Borrar el mensaje de estado con la activacién de la funcién
Clear_krIMsa(
7. Cerrar y guardar el programa principalKUKA
2) coco el i"? (CH A ll
10 1908
Fig. 4-6: Mensaje de estado
Ejemplo de programacién para visualizacién/mensaje mencionados anterior-
mente:
El mensaje de estado se desencadena con el estado de la entrada
17 (EALS2). el programa se detiene tras la transmision del mensaje.
El mensaje se borra con el estado de la entrada 17 (TRUE). Después,
el programa prosigue.
EI mensaje también desaparece cuando se reinicializa el programa o se sale
Jdel mismo. Para ello se utlliza el ajuste en las opciones de mensaje
clear_P Reset TRUE.
DECT KRINGG_T ayneswage
DECI KRIMSGPAR 7 Parameter [3]
DEC INT handle
DECI BOOL present, erase
IP siv[17]--FALsE THEN
nymessage=(modui[] "College", Nx 1908, sg txe{} “My Messagetex:”)
Option= [VL_STOP FALSE, Clear_p Reset TRUS, Clear_P_Sa¥ FALSE,
beg_to_p8 TRUE)
7103 maxcadores de posiciés estan en bianco Harcadores de
posicién{t..3)
Paranever{1] = (Par type #30"
Paraneter (2) ~ {par type #20
Paranetec (3) - (Paz type #50:
handle = Set_KriMsg{ASTATS, mynessage, Parameter[ ], option)
erane-PALse
IP SIN[LT]==rRUS THEN
jear_KriMsg (handle) ;Horrar un mensaje
present-Exiata Xelltag (handle) ;Compeabacién adicional
UNTIL NoT (present) oF erase
45 Ejercici
: Programacién de un mensaje de estado
Objetivo del Después de completar correctamente este ejercicio, se dispondré de la com-
ejercici petencia necesaria para efectuar las siguientes tareas:
= Programar mensajes de estado propios
Dar salida en mensajes a los pardmetros que se desee
Requisitos Los siguientes requisites son necesarios para completar este ejercicio correc-
tamente:
= Conocimientos del lenguaje de programacién KRL.
= Conocimientos teéricos de la programacién de mensajes
Tarea parcial 1: Mensaje de estado
1. Cree un mensaje de estado con el texto "Cargador casi vaciKUKA
2. Mediante la entrada 14 en el panel de mando se debe visualizar este men-
saje.
3. Mediante la retirada de la entrada 14 del panel de mando se debe volver
a borrar el mensaje.
4. Compruebe su programa segiin prescripcion.
Tarea parcial 2: Mensaje de estado con parametros
1. Cree un mensaje de estado con el texto "Todavia quedan xxx cubos de
yyy en el cargador"
2. Mediante la entrada 15 en el panel de mando se debe visualizar este men-
saje,
3, Mediante la retirada de la entrada 15 del panel de mando se debe volver
a borrar el mensaje.
4. Compruebe su programa segtin prescripcién.
Lo que se debe saber tras el ejerci
io:
41. LQué significa %2 en el texto del mensaje?4.6 Trabajos con un mensaje de acuse de recibo
Descripcién de
un mensaje de
acuse de recibo
definido por el
Funeién de un
mensaje de acuse
derecibo definido
Por el usuario,
Programacién de
mensajes de
acuse de recibo
definidos por el
usuario
@ 14:22:12 15.07.2010 1909
° 7
™
Fig. 4-7: Mensaje de acuse de recibo
a Los mensajes de acuse de recibo se administran en la memoria interme-
dia de mensajes.
Los mensajes de acuse de recibo sélo se pueden borrar con los menus,
OK 0 Todo OK.
Los mensajes de acuse de recibo se pueden volver a borrar también me-
diante una funcién en el programa,
1 Asimismo, los mensajes de acuse de recibo se pueden borrar mediante
los ajustes de las opciones de mensaje durante el reset del programa, al
salir del programa o al seleccionar un paso.
Los mensajes de acuse de recibo son idéneos para mostrar informacién
ue el usuario debe conocer.
= En la memoria intermedia de mensajes se administran 100 mensajes
= Enel caso del mensaje de acuse de recibo (a diferencia del mensaje de
observacién), se puede comprobar si el usuario lo ha confirmado 0 no.
= El programa persiste, por ejemplo, hasta que se confirme el mensaje.
‘@ Noexisten reacciones predefinidas del sistema de robot asociadas a
JL_ ss distintos tipos de mensaje (p. e) el robot frena o se detiene el pro-
grama). Es necesario programar las reacciones deseadas.
Cargar un programa principal en el editor.
2. Declarar variables de trabajo para:
Remitente, nimero de mensaje, texto del mensaje (de Kr 1M:
Campos con 3 elementos para el parametro (de
Opciones de mensaje generales (de
"Handle" (como NT)
Variable para el resultado de la comprobacién (como 3001))
oe)
Inicializar variables de trabajo con los valores deseados
Programar la activacién de la funcién s: )
Detener el programa con un bucle.
Activar la funcién Bxists KriMsg(.. .) para comprobar si el usuario
ya ha confirmado el mensaje; en caso afirmativo, se habré abandonado el
bucle mencionado anteriormente.
7. Cerrar y guardar el programa principal,
KriM:
@ 14:22:12 15.07.2010 1909
My Messagetnt
™
ig. 4-8: Mensaje de acuse de reciboKUKA
Ejemplo de programacién para visualizacién/mensaje mencionados anterior-
mente:
se borra accionando el botén OK 0 Todo OK. Después, el programa
prosigue.
El mensaje también desaparece cuando se reinicializa el programa o se sale
del mismo. Para ello se utliza el ajuste en las opciones de mensaje
Clear_P_Reset TRUF,
la el programa se detiene tras la transmision del mensaje. El mensaje
Dect KnisgGPan Paraneer 3)
beet ntsecorn > opcic
beet. tnt banda
Det. ROOL. present
aymessage={modu1[]
Option= {vi sro? FALSE, Clear_p Reset TRUE, Clear_P SAN
ge”, Mx 1909, nag txt{) "Ny Meseagetex:”}
1hog_to_DB TRUE}
posietén(1..3
Paraneter{l] - {Par Type fEMPTY)
Paraneter{2] = [Par Type EEMPIY)
Peraneter(3] ~ {Par Type FEMPIY)
handle - Set_KriMegiMQUIT, aymessage, Paraneter{ ], Option)
sBucle de parsda hasta que se haya borrado este mensaje
present-Exists_KelMeg (handle)
writ Not (present)
47 _ Ejercicio: Programacién de mensajes de acuse de recibo
Objetivo del Después de completar correctamente este ejercicio, se dispondra de la com-
ejercicio petencia necesaria para efectuar las siguientes tareas:
m= Programar mensajes de confirmacién propios.
m= Dar salida en mensajes a los parémetros que se desee
Requisitos Los siguientes requisitos son necesarios para completar este ejercicio correc-
tamente:
= Conocimientos del lenguaje de programacién KRL,
= Conocimientos teéricos de la programacién de mensajes
Formulacion Tarea parcial 1: Mensaje de confirmacién
1. Cree un mensaje de confirmacién con el texto "Confirmar averta Vacto no
aleanzado"
2. Mediante la entrada 15 en el panel de mando se debe visualizar este men-
saje.
3. Compruebe su programa segtin prescripcién.
Tarea parcial 2: mensaje de estado con mensaje de confirmacién
1. Cree un mensaje de estado con el texto "Averia Vacto no alcanzado",
2. Mediante la entrada 18 en el panel de mando se debe visualizar este men-
saje.
3. Tras resetear la entrada, se debe anular el mensaje de estado y se debe
mosirar el mensaje de confirmacién programado en la tarea parcial 1
4. Compruebe su programa segiin prescripcién.KUKA
Lo que se debe saber tras el ejercicio:
1, G70?KUKA
4.8 Trabajos con un mensaje de espera
Descripcién de
un mensaje de
espera definido
por el usuario
Funcién de un
mensaje de
espera definido
por el usuario
Programacién de
mensajes de
espera definidos
por el usuario,
2)
@ 14.2845 15.07.2010 1910
Pe Simuere) | Todo ox. | | ©
Fig. 4-9: Mensaje de espera
= Los mensajes de espera se administran en la memoria intermedia de
mensajes,
Los mensajes de espera se pueden volver a borrar con el meni "Simular’
m= Los mensajes de espera no se pueden volver a borrar con el ment "Todo
OK
Los mensajes de espera también se pueden borrar mediante los ajustes
de las opciones de mensaje durante el reset del programa, al salir del pro-
grama o al selecclonar un paso.
m= Los mensajes de espera son adecuados para esperar aun estado y mos-
trar el simbolo de espera mientras tanto,
= En la memoria intermedia de mensajes se administran 100 mensajes
m= Elprograma persiste, por ejemplo, hasta que se vuelva a dar el estado es-
perado.
1m Elmensaje de espera se vuelve a borrar mediante la funcién
Clear_KriMsg( )
1. Cargar un programa principal en el editor.
2. Declarar variables de trabajo para:
Remitente, nimero de mensaje, texto del mensaje (de Kr IMs
Campos con 3 elementos para el parametro (de Xr IMsgPar_7)
Opciones de mensaje generales (de Xr IMsgopt_7)
“Handle" (como TNT)
Variable para el resultado de la comprobacién (como 8001)
Variable para el resultado del borrado (como 8001)
3. Iniclalizar variables de trabajo con los valores deseados.
4. Programar la activacién de la funcién set_xr1Ms3(..)
5. Detener el programa con un bucle hasta que se dé el estado esperado 0
hasta que se haya borrado el mensaje mediante el botén Simular.
6. Borrar el mensaje de espera con la activacién de la funcién
Clear_krIMsa(
7. Cerrar y guardar el programa principal.
2)
@ 14.2845 15.07.2010 1910
Pe Simuere) | Todo ox. | | ©
Fig. 4-10: Mensaje de espera
Ejemplo de programacién para visualizacién/mensaje mencionados anterior-
mente:‘se borra con el estado de la entrada 17 (TRUA). Después, el progra-
ma prosigue.
EI mensaje también desaparece cuando se reinicializa el programa o se sale
Jdel mismo. Para ello se utiliza el ajuste en las opciones de mensaje
clear_P Reset TRUE.
ls el programa se detiene tras la transmisién del mensaje. El mensaje
KRIMSG_T mynessage
KRIMSGPAR_" Parameter {31
wr handle.
TP siw(17]--FALSE THES
nymessage=(modui[] "College", Nx 1909, sang txt{) "My Measacetexi™}
Option= VL_STOP FALSE, Clear_e Reset TRUS, Clear_? SAW FALSE,
109_to_D3 TRUE)
sos marcadores de posicién estan en blanco Marcadores de
posieiéa(t..3)
Paraneter(1] = {Par Type #240:
Paraneter(2] - (Par Type #240"
Paraneter(3] = (Par type #2NP
andle = Set_KriMss(#WAITING, nynessage, Paraneter( ], Option)
pRucle de parada hasta que se haya horrado este nensaje
2 giv[17]--7RUE THEN
erese-Clear_KriMsg(handle} ;#orvar un nensa}}
ENDIF
ists Kelkeg handle) :Se puede haber borrado aediante
49 Ejercicio: Programacién de mensajes de espera
Objetivo del Después de completar correctamente este ejercicio, se dispondra de la com-
ejercicio petencia necesaria para efectuar las siguientes tareas:
= Programar mensajes de espera propios
Dar salida en mensajes a los parémetros que se desee
Requisitos Los siguientes requisitos son necesarios para completar este ejercicio correc-
tamente:
= Conocimientos del lenguaje de programacién KRL
= Conocimientos teéricos de la programacién de mensajes
Formulacién Tarea parcial 1: Mensaje de espera
1. Cree un mensaje de espera con el texto "Esperar a entrada de usuari
2. Ponga 4 componentes distintos a disposicién y asigne "FIN" ala tecla de
funcién programable 5.
3. Tras la seleccién del componente, emita un mensaje de observacién con
el texto "Componente xxx seleccionado", Para ello puede utilizar médulos
basicos ya existentes,
4, Compruebe su programa segtin prescripcién.
Lo que se debe saber tras el ejercicio:
1. eCual es la diferencia entre un mensaje "STATE" y otro "WAITING"?KUKA i=
38 08
440 — Trabajos con un mensaje de
Descripcién de
un mensaje de
didlogo definido era ReRoe eon et
por el ueuaio
@ syantn?
Gad Lata) Gaal tad Gea Uae
ia)
Fig. 4-11: Mensaje de didlogo
‘= En todos los casos, un didlogo se puede emitir sélo si no hay ningiin otro
didlogo activo.
= Los mensajes de didlogo se pueden borrar con una tecla de funcién pro-
gramable cuya rotulacién haya sido definida por el programador.
= Es posible definir hasta 7 teclas de funcién programabies
Funcién de un a _Los mensajes de didlogo son idéneos para mostrar preguntas alas que el
mensaje de usuario debe contestar.
didlogo definido = Con la funcién set_xr101( } se emite un mensaje de didlogo.
por el usuario = La funcién séio emite ol didlogo.
= No espera a la respuesta del didlogo.
1 Conlafuncién =xiszs_Kr1Dlg( } se puede comprobar si atin existe un
didlogo concreto.
‘= Esta funcién tampoco espera a la respuesta del didlogo, sino que sélo ex-
plora la memoria intermedia en busca del didlogo que tenga este handle.
= La consulta en el programa KRL se debe realizar ciclicamente mientras el
didlogo responda 0 se haya borrado de otro modo.
= Sepuede conseguir que el resto del fujo de programa dependa de la tecla
de funcién programable seleccionada por el usuario.
eT St acto eter est
4-12: Mensaje de
logo
Evaluacién de botones
1 Declaracién ¢ inicializacién de botonesKUKA
Dach KRLNSGDLGSK 7 SofekeylT] ) 7 reparay teclsa Ge Funcin
progranable posséles
softkey {1]=Isk type #yalue, Uy teey2)
softkey(2)~Isk type fyalue, () tkeyan)
softkey (3)-(sk type fvalue, 1) kaya")
softkey [4]=(sk type #value, 1) heya")
softkey {S]-Isk type tyalue, i] keys)
sottkey{6]-Isetype fvalue, akoex:(] keys")
softkey[7]-(skitype fvalue, skiex:{] key?)
m= Evaluaci6n mediante =xists_Kr)p1g(): el botén creado en el indice 4
retoma también 4.
Ta cela de funcign programble @ retoraa @
softkey [4)=Isk type fvalue, ak txe(] Theyé)
(09:52:23 19.07.2010 1907
@
4-13: Mensaje de
logo con 3 botones
‘Sino se programan todos los botones o siexisten espacios en blanco,
JL (0 1,4,6), los botones se agruparan. Si sélo se utlizan los botones
1, 4y 6, Gnicamente son posibles las respuestas 1, 4y 6
Programacién de 1. Cargar un programa principal en el editor.
mensajes de 2. Declarar variables de trabajo para:
didlogo definidos Remitente, nimero de mensaje, texto del mensaje (de K-1Nsy_"
Por el usuario Campos con 3 elementos para el parémetro (de Xr1MsgPar_?)
T botones posibles (de Xr1Msgb! g3X_7)
‘Opciones de mensaje generales (de
“Handle" (como INT)
Variable para el resultado de la comprobacién (como 8001)
Variable para el resultado de la respuesta cuyo botén se haya pulsado
(como TNT)
3. Inicializar variables de trabajo con los valores deseados.
4, Programar la activacién de la funcién Set_Ar1D1g(..).
5. Detener el programa con un bucle hasta que se haya respondido al didlo-
90.
6. Evaluar el mensaje de didlogo con la activacién de la funcién
Exists KriDla( )
Msg0}
7. Planificar y programar més ramificaciones en el programa.
8. Cerrar y guardar el programa principal.eT St acto eter est
|. 4-14: Mensaje de
logo
Ejemplo de programacién para visualizacién/mensaje mencionados anterior-
mente:
el programa se detiene tras la transmisién del didlogo. El mensaje se borra
tras la respuesta. Después, el programa prosigue. A continuacién, se progra-
ma un distribuidor.
Elmensaje también desaparece cuando se reinicializa el programa o se sale
del mismo. Para ello se utliza el ajuste en las opciones de mensaje
Clear_P_Reset TRUE.
DECL KRINGG_T aygusstion
DECL KRLMSGEAR_? Parameter [3]
DECE KRIMSGDIGSX_? Softkey[7] ;7 Preparar teclas de funcién
progranable posibles
DECL KRIMSGOP! "= option
DECL INT handle, answer
DRC: BOOT, preset
nyQvestion=(nods1[] "College", Nir 1909, meg_txt[] "™y Questiontext")
Option= [VL_STOP FALSE, Clear P Reset TRUS, Clear_P_SAN FALSE,
og_to_98 TRUE)
#103 marcadores de posicién estan en blanco uarcadores de
posicién{1..3)
Paraneter{l] = (Par type tm’
Parameter (2) ~ {Par type #20
Paranetec (3) - {Par type #502:
softkey(1]=(sk type #value, tkeyl"} 7 Botén 1
softkey[2i-(s" type tyalue, weey2"} 7 Botén 2
softkay[3]=(9% type fvalue, skey3"} 5 Botén 3
softkeyla]=(sk_tyse Welue, nkeyit} 7 Botén &
softkey[5]-(sk type fvalue, Boten §
softkey{6]-(sk type fvalue, skeyé"] + Botén 6
softkey[T]-(sk type fvalue, wkeyI"} 3 Botéa 7
handle ~ Set_KelMsg(4STATE, mynessage, Zarameter( ], option)
sBucle de parada hasta que se haya borrado este mensaje
Te SEN[7]—~2mus THe
jear_ArlMisg (handle) ;#orrar un nensajehandle = set_KriDlgimyouestion, Paraneter| 1,0!
Present - exists KelDig (handle janawec) ; El sistena desceibe ia
reapvesca
UNTIL NOP present)
xy 2p Option)
case 1; Batén 2
} hecisn con bovén 2
GaSe 77 Baton 7
} neolén con boven 7
Euaswisce
4.11 Ejercicio: Programacién de un didlogo
Objetivo det
ejercicio
Formulacion
Después de completar correctamente este ejercicio, se dispondra de la com-
petencia necesaria para efectuar las siguientes tareas:
m= Programar mensajes de observacién, estado y confirmacién propios. «
m= Programar preguntas de diélogo proplas.
m= Dar salida en mensajes a los parémetros que se desee
Los siguientes requisitos son necesarios para completar este ejercicio correc-
tamente:
1 Conocimientos del lenguaje de programacién KRL,
= Conocimientos teéricos de la programacién de mensajes
Tarea parcial 1: Mensaje de didlogo
1. Cree un mensaje de didlogo con el texto "Seleccione un nuevo componen-
te"
2. Ponga 4 componentes disti
funcién programable 5.
3. Tras la seleccién de! componente, emita un mensaje de observacién con
el texto "Componente xxx seleccionado’, Para ello puede utilizar médulos
basicos ya existentes.
4. Compruebe su programa segiin prescripcion.
‘a disposicién y asigne "FIN" ala tecla de
Lo que se debe saber tras el ejerci
41. iCémo se rotulan las teclas de funcién programables en el didlogo?
KUKA
También podría gustarte
KSS 83 SI Es
Aún no hay calificaciones
KSS 83 SI Es
517 páginas
KR c2
Aún no hay calificaciones
KR c2
59 páginas
Comandos at
Aún no hay calificaciones
Comandos at
19 páginas