0% encontró este documento útil (0 votos)
492 vistas23 páginas

Mensajes 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
0% encontró este documento útil (0 votos)
492 vistas23 páginas

Mensajes 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élogo Principio 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 mensaje nHand 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 principal KUKA 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 vaci KUKA 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 recibo KUKA 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 botones KUKA 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 nensaje handle = 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