0 BEGIN PGM 9050_es MM 1 ;Este programa combina un contador con un programa 2 ;de grabado. 3 ;La función de contaje se realiza con una tabla, 4 ;de tal modo que el valor actual queda guardado 5 ;incluso después de una interrupción de corriente. 6 ;En el inicio del programa, en la tabla, en la 7 ;línea 0 y en la columna Q1 debe estar registrado 8 ;el valor 1. Este valor lo lee el control numérico, 9 ;lo transforma en una cadena, lo combina con otra 10 ;cadena y graba el texto compuesto sobre la pieza. 11 ;A continuación, el control numérico compara el 12 ;número de piezas producidas con un número de 13 ;mecanizados deseados definido por usted en el 14 ;comienzo del programa. Si se ha alcanzado dicho 15 ;número, aparece un mensaje en la pantalla, y el 16 ;contador se resetea. Si el número todavía no se 17 ;ha alcanzado, entonces el control numérico aumenta 18 ;en uno el recuento del contador y guarda el nuevo 19 ;valor en la tabla. 20 ;IMPORTANTE!! También se cuentan las ejecuciones 21 ;del programa en la prueba y se guardan en la tabla! 22 ; 23 BLK FORM 0.1 Z X+0 Y+0 Z-10 24 BLK FORM 0.2 X+100 Y+100 Z+0 25 ; 26 ;Introducción de las repeticiones deseadas para el 27 ;número a producir Q10 = 10 ; 28 ; 29 ;Abrir la tabla 90502_es 30 FN 26: TABOPEN 90502_es.tab 31 ; 32 ;Leer el valor de la columna Q1 33 FN 28: TABREAD Q1 =0 /"Q1" 34 ; 35 ;Llamada de herramienta Grabador 36 TOOL CALL 200 Z S9000 F300 37 ; 38 L X+20 Y+45 R0 FMAX M3 ;Posicionar previamente sobre la posición inicial del texto 39 ; 40 ;Definir el texto de grabado 41 ;Definir la parte de texto como cadena 42 DECLARE STRING QS2 = "Part-No." 43 ;Transformar el valor de Q1 a cadena QS1 = TOCHAR( DAT+Q1 DECIMALS0 ) 44 ;Juntar las cadenas para formar el texto de grabado QS3 = QS2 || QS1 45 ; 46 ;Definir el ciclo de grabado 47 CYCL DEF 225 GRABAR ~ QS500= QS3 ;TEXTO DE GRABADO ~ Q513=+10 ;ALTURA CARACTER ~ Q514=+0 ;FACTOR DISTANCIA ~ Q515=+0 ;TIPO LETRA ~ Q516=+0 ;POS. TEXTO ~ Q374=+0 ;ANGULO GIRO ~ Q517=+50 ;RADIO CIRCULO ~ Q207=+500 ;AVANCE DE FRESADO ~ Q201=-0.5 ;PROFUNDIDAD ~ Q206=+150 ;AVANCE PROFUNDIDAD ~ Q200=+2 ;DISTANCIA SEGURIDAD ~ Q203=+0 ;COORD. SUPERFICIE ~ Q204=+50 ;2A DIST. SEGURIDAD 48 M99 ;Llamar al ciclo para su ejecución 49 ; 50 ; 51 FN 0: Q2 =+Q1 ;Definir el valor de comparación Q1 = Q1 + 1 ;Actualización del contador 52 FN 12: IF +Q2 LT +Q10 GOTO LBL 98 ;Salto cuando el número todavía no se ha alcanzado 53 STOP 54 ; 55 ;Indicación en la pantalla de que el número a producir 56 ;se ha alcanzado 57 FN 16: F-PRINT 90501_es.a / Screen: 58 ;Resetear el contador y escribir en la tabla Q1 = 1 59 FN 27: TABWRITE 0 /"Q1" = Q1 60 ;Salto al final del programa 61 FN 9: IF +0 EQU +0 GOTO LBL 99 62 ; 63 LBL 98 64 ;Escribir en la tabla el valor actual del contador 65 FN 27: TABWRITE 0 /"Q1" = Q1 66 ; 67 ;Final del programa 68 LBL 99 69 M30 70 END PGM 9050_es MM