REF 001 (CAS) DNC FAGOR 8010/8020/8030 ÍNDICE CAPÍTULO 1: INTRODUCCIÓN ................................................................................ 4 CAPÍTULO 2: MODO DE OPERACIÓN .................................................................... 5 CAPÍTULO 3: CONEXIÓN AL ORDENADOR........................................................... 6 CAPÍTULO 4: PARÁMETROS MÁQUINA RELACIONADOS CON DNC. ............. 10 CAPÍTULO 5: PROTOCOLO DNC .......................................................................... 12 CARACTERES ESPECIALES ......................................................................................................................... 12 TRANSMISIÓN DE MENSAJES ..................................................................................................................... 15 ORDEN DEL MENSAJE: ................................................................................................................................ 17 FORMATO DE LOS MENSAJES ................................................................................................................... 17 CASOS ESPECIALES........................................................................................................................................ 18 RECONOCIMIENTO NEGATIVO ................................................................................................................. 18 RECONOCIMIENTO NO VÁLIDO................................................................................................................ 18 RVI INTERRUPCIÓN INVERSA ................................................................................................................... 18 DLE; o WAK .................................................................................................................................................... 19 TEMPORIZADOR A (TEMPORIZADOR DE RESPUESTA) ..................................................................... 19 TEMPORIZADOR B (TEMPORIZADOR DE RECEPCIÓN TOTAL)......................................................... 19 TIEMPO MUERTO.......................................................................................................................................... 19 CONDICIONES RUPTURA.............................................................................................................................. 20 RECUPERACIÓN DESPUÉS DE UNA RUPTURA....................................................................................... 21 CAPÍTULO 6: ÓRDENES ........................................................................................ 22 CARGA DE UN PROGRAMA.......................................................................................................................... 22 FORMATO DE LOS PROGRAMAS............................................................................................................... 23 ERRORES EN LA CARGA DE PROGRAMAS ............................................................................................. 24 EJECUCIÓN PROGRAMA INFINITO........................................................................................................... 25 ERRORES EN LA EJECUCIÓN DE UN PROGRAMA INFINITO ............................................................ 27 DESCARGA DE PROGRAMAS PIEZA.......................................................................................................... 29 CARGA/DESCARGA DE TABLAS ................................................................................................................. 30 CONTROL REMOTO DE LA MÁQUINA Y PETICIÓN DE ESTADO. .................................................... 32 . EJECUCIÓN DE UN PROGRAMA .............................................................................................................. 34 . INFORME DE ERRORES ............................................................................................................................. 34 . CORRECCIÓN DINÁMICA DE HERRAMIENTAS ................................................................................... 37 . LECTURA DE LA POSICIÓN DE LOS EJES .............................................................................................. 38 . INFORME DEL TIPO DE MÁQUINA.......................................................................................................... 38 . LECTURA DE LA POSICIÓN DE LA HERRAMIENTA EN EL ALMACEN RANDOM......................... 39 .INICIALIZACIÓN DEL ALMACÉN RANDOM O MODIFICACIÓN DE LA POSICIÓN O DEL TIPO DE UNA HERRAMIENTA. ................................................................................................................................... 39 INFORME DE ESTADO EN FORMATO FIJO ............................................................................................. 40 DESCARGA DEL DIRECTORIO DEL CNC 8010/8020/8030 ...................................................................... 42 BORRAR PROGRAMA .................................................................................................................................... 43 G76 N5 DIGITALIZACIÓN ............................................................................................................................ 44 APÉNDICE A: DIAGRAMA DEL PROTOCOLO DNC ............................................................................ 45 APÉNDICE B: LISTADO DE ERRORES EN DNC ..................................................................................... 50 APÉNDICE C: CARACTERES ASCII ......................................................................................................... 52 DNC FAGOR 8010/8020/8030 26/02/02 Pág. 2 PREFACIO NOTA AL LECTOR ? En este manual los textos dentro de los signos < >, indican una parte variable. Por ejemplo: < número de programa> son cinco dígitos decimales, como 00123 o 47698. Por tanto el usuario no debe escribir los signos < >. ? CARGA indica la transferencia de información HACIA el CNC 8010/8020/8030. ? DESCARGA es el proceso inverso. Es decir HACIA el ORDENADOR. CAMBIOS RESPECTO A ANTERIORES VERSIONES 1. Carga y descarga de tablas de herramientas y parámetros máquina. 2. Informe del tipo de máquina. 3. Lectura de la posición de la herramienta en el almacén random. Inicialización del almacén random o modificación de la posición o del tipo de una herramienta. 4. Códigos de teclas especiales para el 8030. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 3 CAPÍTULO 1: INTRODUCCIÓN OBJETIVO DEL MANUAL Este manual está dirigido a expertos que deseen elaborar un programa de comunicaciones entre un ordenador y el CNC, generalmente para el control de máquinas complejas del tipo de células flexibles de fabricación. PROGRAMA PARA IBM-PC O COMPATIBLE Fagor Automation dispone de un programa que permite conectar uno o dos controles FAGOR 8010/8020/8030 a un ordenador personal de IBM o compatible. Las principales características de este programa son: ? Programa interactivo totalmente ayudado por menús. ? Soporta todas las órdenes del DNC FAGOR 8010/8020/8030, detalladas en el capítulo 6 de este manual. ? Uso de los recursos del ordenador: listados en pantalla e impresora, directorio, borrado, … . ? Capacidad para dos líneas hasta 9600 baudios. CAPACIDADES DEL DNC El CNC 8010/8020/8030 dispone de la prestación de CONTROL NUMÉRICO DISTRIBUIDO (DNC), la cual permite la comunicación entre el CNC 8010/8020/8030 y un ordenador para realizar las siguientes funciones: ? ? ? ? ? Órdenes de directorio y borrado. Transferencia de programas y tablas entre el CNC8010/8020/8030 y un ordenador. Ejecución de programa infinito. Control remoto de la máquina. Capacidad de supervisión del estado de sistemas avanzados de DNC. CARACTERÍSTICAS DEL DNC ? ? ? ? Interconexión EIA RS-232 C (V24). Frecuencia de transmisión máxima de 9.600 Baudios, full dúplex, asíncrona. El ordenador es siempre el maestro de la comunicación. El protocolo usado está basado en la norma ANSI X3.28 2.2 B2 1976 DNC FAGOR 8010/8020/8030 26/02/02 Pág. 4 CAPíTULO 2: MODO DE OPERACIÓN El DNC permite la comunicación del CNC 8010/8020/8030 con un ordenador para realizar diferentes funciones. La manera en que éstas son ejecutadas está determinada por el software escrito para el ordenador. Cuando se trabaje en modo DNC, el modo de operación 7 (periféricos), está deshabilitado y la línea RS 232 C se usa para la comunicación con el ordenador. El DNC puede estar en tres modos: 1. No activo: Modo de operación 7 activo. 2. Desconectado: a la escucha de petición de conexión por parte del ordenador. (El ordenado solicita una conexión transmitiendo el carácter ENQ). En la parte superior de la pantalla, en la mayor parte de las páginas aparecerá la leyenda DNC. 3. Transfiriendo: Se está llevando a cabo una transferencia en uno u otro sentido entre el CNC 8010/8020/8030 y el ordenador. La leyenda DNC aparecerá parpadeando. Se puede desactivar el DNC, bien cambiando el parámetro correspondiente o bien en el modo de operación 7, pulsando la tecla 6. Se producen las siguientes incompatibilidades: ? Mientras vía DNC, se está cargando un programa, no se puede editar/borrar otro programa por teclado ni ejecutar G76. ? Mientras vía DNC , se está descargando un programa o pidiendo directorio, no se puede borrar/seleccionar ningún programa por teclado. El resto de los trabajos del CNC son totalmente compatibles. Por ejemplo puedo simultáneamente: 1. Mecanizar una pieza. 2. Generar el gráfico. 3. Introducir un programa por teclado (edición en background). 4. Pedir la posición de los ejes o el estado o el directorio o transferir un programa pieza del CNC al ordenador. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 5 CAPÍTULO 3: CONEXIÓN AL ORDENADOR La conexión con el CNC 8010/8020/8030 se realiza a través del conector 5, (ver manual de INSTALACIÓN Y PUESTA EN MARCHA). Este corresponde a una línea RS 232 C, con un conector no estándar de 9 contactos. Las funciones de cada contacto están explicadas en la figura 3.1. El conector 5 es del tipo DTE (Data Terminal Equipment). Se recomienda el uso de cables cortos (aproximadamente menores que 50 pies o 15 metros). CONTACTO NEMÓNICO FUNCIÓN DIRECCIÓN 1 PROT GND Protective Ground (Malla) 2 TxD Transmitted Data De 3 RxD Received Data Hacia CNC 4 RTS Request to Send (A+15V) De 5 CTS Clear to Send Hacia CNC 6 DSR Data Set Ready Hacia CNC 7 SG Signal Ground DTR Data Terminal Ready (A +15V) CNC CNC 8 9 De CNC Figura 3.1 ? ? ? ? El CNC puede recibir caracteres en cualquier momento. El CNC puede transmitir, cuando las entradas CTS y DSR están en ON. En modo DND, las salidas RTS y DTR están permanentemente en ON. Habrá que realizar las conexiones adecuadas en el ordenador para que pueda recibir y transmitir. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 6 CONEXIONES El DNC FAGOR 8010/8020/8030 usa CONTROL DEL FLUJO DE DATOS POR CARACTERES. Esto implica que las líneas de control de la RS232C, CTS, RTS, DSR, DTR, DC, RI, … se disponen de forma fija para que no impidan recibir o transmitir ni al CNC ni al ordenador. El protocolo DNC se encarga con CARACTERES DE CONTROL, del control del flujo de datos, impidiendo que se desborden los buffers del CNC o del ordenador. Hay múltiples conexiones dependiendo del ordenador y del programa en el ordenador. 1. Lado del ordenador Dependerá de si el conector es tipo DTE o DCE y del uso que se haga de las líneas de control CTS, DSR, DTR, RTS, CD, … A menudo la función de estas líneas es programable. En todo caso se deben consultar los manuales del ordenador. 2. Lado del CNC Las entradas CTS y DSR deben estar en ON. Esto se puede conseguir puenteando con la salida RTS o DTR del CNC. Vemos algunos ejemplos: Ejemplo conexiones 1: Conexión CNC 8010/8020/8030 con HP-9000 550 El HP-9000 550 tiene un conector de 25 patas hembra tipo DCE. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 7 Ejemplo conexiones 2: Conexión CNC 8010/8020/8030 con IBM-XT o IBM-PS/2 por medio del programa FAGORDNC. El IBM-XT o IBM-PS/2 está equipado con una línea serie. El conector es tipo DTE con 25 patas. La conexión seria la siguiente: DNC FAGOR 8010/8020/8030 26/02/02 Pág. 8 Ejemplo conexiones 3: Conexión CNC 8010/8020/8030 con IBM-AT por medio del programa FAGOR DNC. El IBM-AT está equipado con una línea serie. El conector es tipo DCE de 9 Pts. La conexión sería la siguiente: DNC FAGOR 8010/8020/8030 26/02/02 Pág. 9 CAPÍTULO 4: PARÁMETROS MÁQUINA RELACIONADOS CON DNC. Para que la conexión sea correcta se deben poner apropiadamente los parámetros que definen el protocolo, frecuencia de transmisión y otros atributos. P0: Frecuencia de transmisión. Valores válidos (en Baudios) : 110 150 300 600 1200 2400 4800 9600 P1: Longitud de caracteres. Con CRC-16, usar 8 bits. En el CNC 8030, para poder enviar las teclas especiales hay que usar 8 bits por carácter. Ver simulación del teclado. P2: Paridad. El DNC del CNC 8010/8020/8030 no hace testeo de paridad. P3: Número de bits de stop, 1 o 2. DNC activo: Para el modelo CNC 8010 M es el parámetro Para el modelo CNC 8010 T es el parámetro Para el modelo CNC 8020 (1) es el parámetro Para el modelo CNC 8020 (2) es el parámetro Para el modelo CNC 8030 (3) es el parámetro Para el modelo CNC 8030 (4) es el parámetro P101 P99 P121 P99 P607 P605 bit 3 bit 5 bit 3 bit 5 bit 3 bit 5 Si el parámetro DNC activo es ON, en el modo operación 7, se puede desconectar o conectar el DNC. DNC activo con el encendido (Sólo si el parámetro DNC activo es ON) : Para el modelo CNC 8010 M es el parámetro Para el modelo CNC 8010 T es el parámetro Para el modelo CNC 8020 (1) es el parámetro Para el modelo CNC 8020 (2) es el parámetro Para el modelo CNC 8030 (3) es el parámetro Para el modelo CNC 8030 (4) es el parámetro P101 P99 P121 P99 P607 P605 bit 5 bit 7 bit 5 bit 7 bit 5 bit 7 Depuración: Como se verá en el siguiente capítulo, el CNC rompe la comunicación: En recepción si pasan 30 segundos sin recibir ningún carácter En transmisión si hay tres intentos consecutivos fallidos. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 10 Esto puede dificultar la prueba y depuración de sus programas. Con este parámetro impedimos que el CNC rompa la comunicación en estos dos casos. CNC 8010 T CNC 8010 M CNC 8020 (2) CNC 8020 (1) CNC 8030 (4) CNC 8030 (3) : P99 : P101 : P99 : P121 : P607 : P605 bit bit bit bit bit bit 8 6 8 6 8 7 a 1, no rompe a 1, no rompe a 1, no rompe a 1, no rompe a 1, no rompe a 1, no rompe En funcionamiento normal este parámetro debe estar a cero. RVI, interrupción inversa: Ver explicación en capítulo 5, apartado casos especiales. CNC 8010 T CNC 8010 M CNC 8020 (2) CNC 8020 (1) CNC 8030 (4) CNC 8030 (3) : P100 : P101 : P100 : P121 : P606 : P607 bit bit bit bit bit bit 8 a 1, envía RVI 7 a 1, envía RVI 8 a 1, envía RVI 7 a 1, envía RVI 8 a 1, envía RVI 7 a 1, envía RVI Cassette FAGOR toma los valores de los parámetros P0, P1, P2 y P3 CNC 8010 CNC 8010 CNC 8020 CNC 8020 CNC 8030 CNC 8030 T : M: (2): (1): (4): (3): P99 bit 6 a 1 P101 bit 4 a 1 P99 bit 6 a 1 P121 bit 4 a 1 P605 bit 6 a 1 P607 bit 4 a 1 Recordar que para que el CNC tome los nuevos parámetros hay que pulsar RESET. Donde: (1) Son los modelos (2) Son los modelos (3) Son los modelos (4) Son los modelos DNC FAGOR 8010/8020/8030 8020 M, MG, MS 8020 P, PG 8020 GP 8020 T, TG, TS 8030 M, MG, MS 8030 P, PG 8030 T, TG, TS 26/02/02 Pág. 11 CAPÍTULO 5: PROTOCOLO DNC El protocolo DNC permite testeo de redundancia longitudinal (LRC) o testeo de redundancia (cíclica) (CRC-16) de cada paquete y la retransmisión automática de ese paquete si se detecta un error. Se supone una operación dúplex del enlace de comunicaciones. Surgirán dificultades si se intenta la operación en semidúplex. CARACTERES ESPECIALES Los caracteres especiales del protocolo DNC son: Carácter Significado ENQ (Enquiry Character – Carácter ASCII 5) – ENQ tiene dos funciones: inicia el protocolo DNC, en un intento de control de control de la línea de comunicaciones, o indica que ha de enviarse de nuevo el último reconocimiento. Dado que se transmite como un solo carácter, el CNC 8010/8020/8030 lo empareje con un DEL. El ordenador NO debería emparejar el ENQ. SOH (Start Of Header Character – Carácter ASCII 1) – Sigue información de cabecera. STX (Start Of Text Character – Carácter ASCII 2) – Siguen datos de texto. ETB (End Of Transmission Block – Carácter ASCII 23) – El carácter de testeo de bloque (BCC) sigue inmediatamente a un ETB (ver LRC y CRC-16). Todos los paquetes salvo el último deben acabar en ETB. ETX (End Of Tex Character – Carácter ASCII 3) – No sigue mas texto. El carácter BCC sigue inmediatamente a un ETX. El último y sólo el último paquete acaba en ETX. DEL (Delete Character – Carácter ASCII 127) – Se usa cuando el CNC envía un solo carácter. El carácter DEL se empareja con caracteres EOT, NAK, ENQ. El ordenador no debería emparejar estos caracteres. DLE (Data Link Escape Character – Carácter ASCII 169 – El siguiente carácter tiene algún significado especial. Si va seguido de: 0 1 (Carácter ASCII 48) - Indica un reconocimiento de bloque. (Carácter ASCII 49) - Indica un reconocimiento de bloque. EOT (Carácter ASCII 4) transferencia de datos. - Indica que se ha finalizado prematuramente la ; (Carácter ASCII 59) – Llamado WACK. (Wait After Positive ACKnowledgement). Se usa como un reconocimiento positivo, para indicar que no ha habido problemas de transmisión, pero que el CNC no puede reconocer el bloque todavía, pues no ha acabado de tratarlo. El ordenador no debe enviar WACK. < (Carácter ASCII 60) - Llamado RVI. (Reverese Interruption). El CNC enviará este par de caracteres para indicar que se ha producido un error o ejecutado M30 M2. El ordenador no debe enviar RVI. Ver apartado casos especiales. NAK (Negative Acknowledgment Character – Carácter ASCII 21) – El último paquete debe ser retransmitido. Dado que se transmite como un solo carácter, el CNC 8010/8020/8030 lo empareja con un DEL. El ordenador no debería emparejar el NAK. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 12 Carácter Significado EOT (End Of Transmission Character – Carácter ASCII 4) – La Transferencia de datos ha terminado. Dado que se transmite como un solo carácter, el CNC 8010/8020/8030 lo empareja con un DEL. El ordenador no debe emparejar el EOT. BCC (Block Check Character) – Ver LRC, CRC-16 y tipo de testeo en Orden del Mensaje. LRC (Longitudinal Redundancy Check Character) – La o- exclusiva acumulada de los caracteres transmitidos. El cálculo del LRC empieza con el primer carácter después de SOH, o el primer carácter después de STX cuando ningún SOH está en el bloque. El testeo de redundancia longitudinal incluye el carácter de fin de texto o de fin de bloque (ETX o ETB). El carácter LRC sigue a ETX o ETB. Sólo se tienen en cuenta los 7 bits menos significativos. CRC-16 (Cyclic Redundancy Check Characters) – El cálculo de los caracteres de testeo de redundancia cíclica se basa en el polinomio CRC-16 (ver figura 5.1). El carácter de testeo se divide en dos palabras de ocho bits, bits 0 hasta 7 en una palabra (menos significativa) y bits 8 hasta 15 en otra palabra (más significativa). La palabra más significativa se envía primero y luego la palabra menos significativa. El cálculo del CRC-16 comienza con el primer carácter después de SOH o del primer carácter después de STX cuando ningún SOH está en el bloque. El cálculo incluye ETX o ETB. Los caracteres CRC siguen a ETX o ETB. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 13 DNC FAGOR 8010/8020/8030 26/02/02 Pág. 14 TRANSMISIÓN DE MENSAJES MENSAJE: Se llama mensaje a cualquier información que se desea pasar desde el ordenador al CNC o viceversa. Ejemplos de mensajes dirigidos al CNC por ordenador son: un programa, una orden de control remoto, una petición de estado … Ejemplos de mensajes dirigidos al ordenado por el CNC son: un programa, un directorio, un informe de errores … PAQUETES: Cuando un Mensaje es demasiado grande (más de 255 caracteres), se divide en Paquetes. El CNC recibe paquetes que contengan hasta 255 caracteres de datos. El CNC envía paquetes que contengan hasta 128 caracteres de datos. PROTOCOLO DNC: El protocolo DNC se inicia cuando el ordenador envía ENQ en un intento de ser maestro de la línea (conexión). El CNC 8010/8020/8030 reconoce su estado de esclavo respondiendo con DEL 0. El ordenador transmite entonces que, de recibirse correctamente, son reconocidos por el CNC con una transmisión alternativa de DEL 0 y DEL 1. Una vez que se ha enviado y reconocido el paquete final del mensaje, el ordenador transmite un EOT (desconexión). Antes de pedir conexión se puede inicializar la línea enviando DEL EOT, como medida preventiva. La secuencia es como sigue: Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH OMSG STX <texto-1> ETB BCC DLE 1 STX <texto-2> ETB BCC DLE 0 . . . . . . STX <texto-N> ETX BCC DLE 0 o DLE 1 EOT El último y sólo el último paquete de cualquier transmisión en cualquier dirección debe acabar en ETX, el resto de los paquetes debe acabar en ETB. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 15 PAQUETE DE CABECERA: El primer paquete que envía el ordenador se llama Paquete de Cabecera y lleva la Orden del Mensaje. Según el tipo de orden puede llevar un texto. MENSAJES CON RESPUESTA: El CNC sólo envía mensajes por indicación del ordenador. El mensaje enviado por el ordenador puede ser del tipo de Mensaje con Respuesta (ver Orden del Mensaje, Respuesta), en cuyo caso después de recibir EOT el CNC enviará un ENQ (emparejado con DEL) en un intento de ser el maestro para enviar datos al ordenador (conexión). La secuencia es como sigue: Ordenador CNC 8010/8020/8030 ENQ DEL DLE 0 STX <texto respuesta-1> ETB BCC DLE 1 . . . . . . STX <texto respuesta-n> ETX BCC DLE 0 o DLE 1 EOT DEL DNC FAGOR 8010/8020/8030 26/02/02 Pág. 16 ORDEN DEL MENSAJE: Cada transmisión desde el ordenador ha de comenzar con un SOH seguido de una Orden del Mensaje (OMSG). La OMSG consta de 3 caracteres ASCII, como sigue: Respuesta – El primer carácter de la Orden del Mensaje es R o S. Cuando el ordenador transmite una R, indica al esclavo que pase a ser maestro después de recibir EOT y envíe un mensaje de respuesta. Carácter de tipo de testeo - El segundo carácter de la Orden del Mensaje es N o C. La N indica que se usa el testeo de redundancia longitudinal (LRC). La C indica que usa el testeo de redundancia cíclica (CRC-16). Carácter de tipo de orden – El tercer carácter de la Orden del Mensaje es decodificado por el esclavo para preparar la operación deseada. Son caracteres válidos: Tipo de orden S K L F D E N T Operación Transferencia de programa Control remoto Informe en formato fijo Directorio Borrado de programa del CNC 8010/8020/8030 Ejecución de un programa infinito Digitalización Transferencia de tablas Las órdenes pueden tener subórdenes que se especifican en el texto del paquete de cabecera. FORMATO DE LOS MENSAJES El CNC 8010/8020/8030 puede aceptar hasta 255 caracteres, entre el STX/SOH (este último si es paquete de cabecera) y ETX/ETB. Por consiguiente, el ordenador puede compactar bloques de programas en el texto del mensaje. Al transferir programas al ordenador, el CNC 8010/8020/8030 compacta los datos. El CNC 8010/8020/8030 nunca enviará más de 128 caracteres entre STX y ETX/ETB. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 17 CASOS ESPECIALES RECONOCIMIENTO NEGATIVO Cuando el esclavo recibe un paquete incorrectamente, devuelve un reconocimiento negativo NAK o NAK DEL. Acto seguido, el paquete es repetido por el maestro. Si se devuelven varios NAK o NAK DEL consecutivos, 3 en el caso del CNC, el maestro debería romper la comunicación. RECONOCIMIENTO NO VÁLIDO Cuando el maestro recibe un reconocimiento no válido (por ejemplo, DLE 0 cuando se espera DLE 1 caracteres extraños, o no respuesta) envía ENQ o ENQ DEL. Si se reciben varias respuestas inadecuadas consecutivas, 3 en el caso del CNC, el maestro rompe la comunicación. RVI INTERRUPCIÓN INVERSA El par de caracteres DLE < es llamado RVI o interrupción inversa. El CNC puede ser programado para enviar un carácter RVI al ordenador cuando se produce un error o se ejecuta M30 o M2. Para ello se usa un parámetro (ver capítulo 4). Posteriores caracteres RVI serán enviados cada 30 segundos hasta que el ordenador envíe la orden Informe de Estado en Formato Fijo con el fin de conocer lo que ha ocurrido. El ordenador tiene, por tanto, dos formas de conocer si se ha terminado una pieza o si se ha producido un error: a) Muestrear periódicamente el CNC por medio de la orden informe de Estado en Formato Fijo. b) Esperar a que el CNC envíe RVI. El CNC enviará RVI en diferentes momentos, dependiendo del estado en que se encuentre: a) No hay ninguna comunicación en curso. El CNC enviará RVI inmediatamente después de detectar error, M30 o M2. b) El CNC está recibiendo. El CNC enviará RVI en lugar del siguiente reconocimiento. NAK DEL, DLE 0 o DLE 1. En este caso el ordenador puede romper la comunicación. Si desea continuar debe enviar ENQ, a lo que el CNC responderá con el reconocimiento que debería haber enviado en lugar de RVI. Ejemplo: Mientras se ejecuta M30, el ordenador está enviando un programa al CNC. El último paquete ha sido recibido correctamente y la respuesta del CNC ha sido DLE < en lugar de DLE 0. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 18 Ordenador CNC 8010/8020/8030 . . . . . STX <datos> ETB BCC . DLE 1 STX <datos> ETB BCC DLE < ENQ DLE 0 STX<datos> ETB BCC DLE 1 . . . . . . c) El CNC está transmitiendo. El CNC no enviará RVI hasta acabar la comunicación. DLE; o WAK Ver definición de este carácter al principio del capítulo y el punto (10) del apartado A.1 del apéndice A. TEMPORIZADOR A (TEMPORIZADOR DE RESPUESTA) Cuando el maestro envía un paquete o envía un ENQ o ENQ DEL, inicializa un temporizador (2,5 segundos en el caso del CNC). Si expira este tiempo antes de que se reciba una respuesta del esclavo, el maestro envía un ENQ o ENQ DEL. Si no se recibe respuesta después de tres peticiones, el maestro rompe la comunicación. El esclavo al recibir ENQ o ENQ DEL reenvía la última respuesta: DLE 0 DLE 1, NAK o NAK DEL DLE ; excepto DLE EOT y DLE < que no se reenvían. TEMPORIZADOR B (TEMPORIZADOR DE RECEPCIÓN TOTAL) Si el esclavo (recibiendo) detecta que ha pasado un tiempo límite, desde el último carácter recibido, rompe la comunicación. En el CNC este tiempo límite es de 30 segundos. En el ordenador en caso de orden de digitalización no se debe de tener en cuenta este tiempo límite. TIEMPO MUERTO En algunas funciones, como búsqueda de cero palpador (G75) el DNC puede estar un tiempo aproximado de 10 segundos sin responder. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 19 CONDICIONES RUPTURA Las rupturas se pueden iniciar por el CNC 8010/8020/8030, o por el ordenador. CNC PROVOCA RUPTURA 1. Hay varias causas por las que el CNC puede romper la comunicación: orden, parámetros o sintaxis errónea. Si el CNC 8010/8020/8030 no puede procesar la información enviada desde el ordenado, el CNC romperá el diálogo enviando DLE EOT. Por ejemplo: Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH RNF STX L ETX BCC DLE EOT En este ejemplo, L era un error (ver orden –descarga del directorio de programas-) y el CNC respondió con una ruptura. 2. El usuario desconecta el DNC por medio de tecla 6 en modo 7, periféricos. 3. Cuando el CNC intenta transmitir un paquete y se producen 3 NAK o 3 reconocimientos no válidos o 3 no respuestas, ver temporizador A o cualquier combinación de 3 de ellas consecutivas. 4. Cuando el CNC en recepción, no recibe ningún carácter en 30 segundos. Ver Temporizador B. EL ORDENADOR PROVOCA RUPTURA El ordenador provocando una ruptura por medio de DLE EOT, puede terminar la transferencia de información o reinicializar el DNC. El usuario puede decidir las razones para terminar una transferencia de datos. El ordenador debería reinicializar la línea de comunicaciones cuando el CNC no responde a varios ENQ. Razones equivalentes a las del CNC deberían llevar al ordenador a romper la comunicación. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 20 RECUPERACIÓN DESPUÉS DE UNA RUPTURA Cuando el CNC detecta una ruptura, anulará todas las actividades implicadas en la orden suspendida y reinicializará la línea de comunicaciones. Por ejemplo, si un programa estuviese siendo cargado en el momento de la ruptura, el programa sería eliminado de la memoria. Se precisará algún tiempo para reinicializar la línea. Como resultado, el CNC puede no responder al primer ENQ. Por consiguiente, el ordenador deberá estar preparado para enviar varios ENQ después de una ruptura. Nota: En el apéndice A aparece descrito por medio de diagramas el protocolo DNC. Estos diagramas deben ser estudiados detenidamente para una correcta implementación del programa DNC en su ordenador. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 21 CAPÍTULO 6: ÓRDENES CARGA DE UN PROGRAMA El DNC permite simultanear la carga de un programa y la ejecución de otro. Para cargar un programa en el CNC 8010/8020/8030 la Orden del Mensaje es SNS o SCS. El ordenador envía en ENQ que cambia el CNC 8010/8020/8030 del modo desconectado al modo de transferencia. La secuencia total de transmisiones es: ORDENADOR CNC 8010/8020/8030 ENQ DLE 0 SOH SNS o SCS STX % <número de programa> <parámetro borrar> ETB BCC DLE 1 STX <datos> ETB BCC DLE 0 STX <datos> ETB BCC DLE 1 . . . . . STX <datos> ETX BCC . DLE 0 o DLE 1 EOT DNC FAGOR 8010/8020/8030 26/02/02 Pág. 22 FORMATO DE LOS PROGRAMAS Los programas pieza deben transferirse en formato CNC 8010/8020/8030 (código ISO). % <número de programa> LF N <número de bloque> <texto> . . . LF N <número de bloque> <texto> LF Donde: < número de programa> son cinco y sólo cinco dígitos que dan nombre al programa. El % <número de programa> va en el paquete de cabecera, el resto en los de texto. < número de bloque> son de uno a cuatro dígitos que dan nombre al bloque. < texto> es el texto del bloque. <parámetro borrar> son dos caracteres HT D, donde HT es el tabulador horizontal. Este parámetro es optativo. Si se envía el parámetro y el programa ya existe en el CNC, el CNC borrara la versión antigua. No se admiten caracteres anteriores al %, ni posteriores al último bloque de programa. El carácter separador de bloques es LINE FEED (ASCII 10) LF. Los programas deben ir compactados, sin caracteres espacio (ASCII 32). Esto permite una mayor rapidez en las transferencias. Se admiten espacios dentro de comentarios. Un programa puede ser transferido al CNC dentro de paquetes de transmisión, básicamente en dos formas: 1. Un bloque de programa en cada paquete de transmisión. 2. En forma compactada (paquetes de cómo máximo 255 caracteres), permitiendo una mayor eficacia en las comunicaciones. En este caso dentro de un paquete de transmisión pueden ir varios bloques de programa. Los límites de un bloque de programa y un paquete de transmisión pueden no coincidir. Por tanto, un bloque de programa puede estar dividido entre dos paquetes de transmisión consecutivos. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 23 Ejemplo de carga de un programa: Supongamos que queremos cargar en el CNC el programa número 1, cuyo listado es: %00001 N0 G G5 X Y Z F500(diábolo) N10 P=K20 P=P F3 P P=P F4 K30 N20 G93 I J N30 G72 Y P4 N40 P2=P2 F1 P3 P2=F11 K25 N50 G29 N100 N60 P1=F5 P2 P1=P1 F3 P N70 G1 X P1 Z P2 N80 G2 A N90 G25 N40 N100 G13 N110 G25 N0.100 N120 M30 P=F5 P P2=Z P3=K1 P4=K.5 Usando el chequeo CRC-16 y enviando en cada paquete de transmisión el máximo número posible de caracteres, la transmisión tendría la forma: Ordenador 8010/8020/8030 CNC (5) (16) 0 (1) SCS (2) %00001(23) (19) (254) (16) 1 (2) (10) N0GG5XYZF500 (diábolo) (10) N10P=K20P=PF3PP=PF4K30P=F5PP2=ZP3=K1P4=K.5 (10) N20G93IJ (10) N30G72YP4 (10) N40P2=P2F1P3P2=F11K25 (10) N50G29N100 (10) N 60P1=F5P2P1=P1F3P (10) N70G1XP1ZP2 (10) N80G2A (10) N90G25N40 (10) N100G13 (10) N1 10G25N0.100 (10) N120N30 (10) (3) (184) (234). (16) 0 (4) Donde los caracteres no ASCII (que pueden resultar en CRC - 16) y los caracteres ASCII no imprintables han sido representados por su valor decimal entre paréntesis. Ver tabla caracteres ASCII, Apéndice C. Ejemplo: ASCIIs no imprintables, S0H es el ASCII 1, DLE es el ASCII 16 Caracteres no ASCII: El segundo byte del CRC-16 del paquete de cabecera da como resultado 254. ERRORES EN LA CARGA DE PROGRAMAS Cuando el CNC recibe el último paquete y antes de dar un reconocimiento, realiza un análisis sintáctico del programa. Un error (ver apéndice B) provoca que el CNC rompa la transmisión. El programa puede quedar truncado o desaparecer. En caso de que se produzca una ruptura de la comunicación, el ordenador debería pedir información de errores y actuar en consecuencia. No se puede cargar un programa cuando se está editando otro en el CNC. No se puede cargar un programa cuando ya existe en el CNC, salvo que se envíe el parámetro de borrar. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 24 EJECUCIÓN PROGRAMA INFINITO Por medio de esta orden, el DNC permite la ejecución de un programa mientras está llegando por la RS 232 C, con ello podemos ejecutar programas de longitud indefinida. Una aplicación típica sería en programas generados por un CAD/CAM, los cuales pueden rebasar con creces la capacidad de memoria del CNC. La Orden del Mensaje es SNE o SCE. El diálogo entre el ordenador y el CNC es similar al de la orden Carga de un Programa. Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH SNE o SCE STX % <número de programa> HT <parámetro> ETB BCC DLE 1 STX <texto-1> ETB BCC DLE 0 STX <texto-2> ETB BCC DLE 1 . . . . . . STX <texto-N> ETX BCC DLE 0 o DLE 1 EOT Donde <parámetro> es un dígito a elegir entre 0,1,2. 0: Automático 1: Vacío funciones G 2: Vacío trayectoria teórica HT es el carácter tabulador ASCII 9. Cuando el CNC recibe el bloque de cabecera, pasa al modo de operación seleccionado (en función del parámetro) y comienza la ejecución del programa. FORMATO DEL PROGRAMA: Ver la orden Carga de Programas (download). DNC FAGOR 8010/8020/8030 26/02/02 Pág. 25 DETALLES DE LA COMUNICACIÓN (1) Si se usa una frecuencia de transmisión alta, el CNC tardará más en ejecutar los bloques que en recibirlos, por tanto el buffer de 8K caracteres destinado al programa infinito se llenará. Supongamos que en este momento el CNC recibe un nuevo paquete libre de errores. El CNC aplaza la respuesta hasta que tenga espacio en el buffer para el paquete recibido. Al pasar varios segundos sin respuesta, el ordenador enviará ENQ y el CNC responderá con DLE ; tal como se explica en el apéndice A, punto (10). Si pasaran más de 30 segundos antes de que el CNC pudiera enviar el reconocimiento, y el ordenador no enviara durante este tiempo ningún ENQ, el temporizador B del CNC rompería la comunicación. Ordenador CNC 8010/8020/8030 . . . . . . STX <texto –N> ETB BCC DLE 1 STX <texto –N+1> ETB BCC (1) (2) ENQ DLE ; (2) ENQ DLE ; (2) ENQ DLE ; DLE 0 (3) . . . . . . NOTAS: (1) El paquete recibido es correcto, pero el buffer está lleno, se aplaza la respuesta DLE 0. (2) Pasa un tiempo sin respuesta y el ordenador envía ENQ a lo que el CNC responde DLE ;. Si el ordenador no enviara ENQ antes de 30 segundos, el CNC rompería la comunicación, ver temporizador B. Cuando se recibe DLE ; se puede prever que el próximo reconocimiento, en este caso DLE 0, puede tardar. Por ello se puede aumentar el tiempo que se espera antes de enviar ENQ. Ver temporizador A. (3) Finalmente se ha abierto espacio en el buffer para el paquete. El CNC envia el DLE 0 aplazado. (2) El CNC no reconoce el último paquete acabado en ETX, hasta que se han ejecutado todos los bloques. (3) El CNC introduce al final del programa el bloque N99999 M30. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 26 RESTRICCIONES a la programación de un programa infinito: (a) El programa infinito usa un buffer interno de 8K caracteres. Según van llegando bloques, si el buffer está lleno, se eliminan los bloques ejecutados más antiguos para hacer sitio a los nuevos; por tanto no se puede asegurar el éxito de los saltos G25, G26, G27, G28, G29. (b) Dentro del programa infinito no se pueden definir subrutinas estándar o paramétricas: G22, G23, G24. (c) El parámetro 70 es usado internamente, por tanto no puede ser usado en el programa infinito. MODO DE OPERACIÓN (a) Es necesario que existan 8K libres en la memoria de programas (destinados al buffer del programa infinito). (b) Al pasar a un modo distinto de automático o bloque a bloque, se ABORTA la ejecución del programa infinito. (c) No se pueden seleccionar bloques o programas, para ello las teclas P y N quedan fuera de servicio (salvo en edición en background). (d) Las teclas ? ? quedan fuera de servicio (salvo en edición en background). (e) Salvo que se usen saltos, no se testea el orden correcto de los números de bloque. Esto permite volver a empezar con N0 si se ha llegado a N99999. ERRORES EN LA EJECUCIÓN DE UN PROGRAMA INFINITO Los siguientes son algunos de los errores posibles con programa infinito: a) Programa está en memoria. b) Número de programa 99999 no es válido. c) Máquina mecanizado. d) M30 o M2 antes del último bloque. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 27 MÉTODO ALTERNATIVO En sistemas avanzados de DNC podría ser necesario supervisar desde el ordenador, utilizando órdenes de DNC como Informe en Formato Fijo, el proceso de mecanizado. Sin embargo el enlace de comunicaciones está totalmente ocupado por la transmisión del programa infinito. A frecuencias altas, la transmisión será más rápida que la ejecución. El ordenador estará gran parte del tiempo esperando que haya sitio en el CNC para transmitir más paquetes, en un proceso de la forma: Ordenador CNC 8010/8020/8030 . . . . . . ENQ DLE ; <tiempo de espera> ENQ DLE ; <tiempo de espera> ENQ DLE 0 o DLE 1 STX <texto –M> ETX BCC . . . . . . El siguiente método permite simultanear la mecanización del programa infinito con el resto de las ordenes DNC: Descomponer el programa en trozos más pequeños que quepan en la memoria e ir ejecutándose sucesivamente. Entre la transmisión de estos programas trozo, en que se divide el programa original, la línea está libre para realizar cualquier orden DNC que se desee. Cada programa trozo debería terminar con la máquina en una posición adecuada. Ejemplo: Supongamos que un CNC dispone de 28K de memoria de programas, y el programa a ejecutar es de 200K. Este programa se subdivide en 25 programas de 8K, que se ejecutarán sucesivamente. Cuando un programa ha sido ejecutado, el ordenador puede enviar la orden D para borrarlo y abrir espacio en memoria. La orden – Informe en Formato Fijo - , permite conocer si un programa ha sido ejecutado. También podemos programar al CNC para que avise enviando caracteres RVI. La orden K01 (Control Remoto, ejecución de un programa) permite comenzar la ejecución de un programa. Mientras un programa se ejecuta otro puede ser cargado simultáneamente. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 28 DESCARGA DE PROGRAMAS PIEZA Esta orden permite al ordenador recibir programas desde el CNC. La Orden del Mensaje para descargar el programa en RNS o RCS. El diálogo entre el ordenador y CNC 8010/8020/8030 es como sigue: Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH RNS o RCS STX % DLE 1 EOT ENQ DEL DLE 0 STX <datos> ETB BCC DLE 1 STX <datos> ETB BCC DLE 0 . . . . . . STX <datos> ETX BCC DLE 0 o DLE 1 EOT DEL Si el programa solicitado no está en memoria, el CNC rompe la comunicación. No se puede descargar un programa que se está editando. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 29 CARGA/DESCARGA DE TABLAS Carácter de tipo de orden: T Carácter de respuesta: S carga R descarga Orden del Mensaje: SNT o SCT o RNT o RCT En el paquete de cabecera, un parámetro determina el tipo de tabla: T herramientas B tabla binaria con Ms decodificadas, parámetros máquina, parámetros de compensación del husillo Formato general de la carga de tablas: Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH RNS o RCS STX % <tipo de tablas> ETB DLE 1 STX <texto>ETB DLE 0 . . . . . . STX <texto> ETX DLE 0 o DLE 1 EOT Formato general de la descarga de tablas. Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH SNT o SCT STX <tipo de tabla> ETX DLE 1 EOT ENQ DEL DLE 0 STX <texto> ETB DLE 1 . . . . . . STX <texto> ETX DLE 0 o DLE 1 EOT DEL DNC FAGOR 8010/8020/8030 26/02/02 Pág. 30 Veamos las diferentes tablas. . TABLA DE HERRAMIENTA CARGA Se pueden cargar de 1 a n herramienta, cada una en un paquete. DESCARGA El CN envía de una en una, todas las herramientas en sucesivos paquetes. El formato del <texto> de cada paquete de la forma: <número de herramienta> <definición de herramienta> donde: <número de herramienta> son dos dígitos cuyos valores límite dependen del modelo: MS, M, MG, GP, P de 0 a 99 TS, T de 1 a 32 <definición de herramienta> depende del modelo: MS, M, MG: R<radio>L<Longitud>I<desgaste>K<desgaste> TS, T: X<longitud>Z<longitud>F<código de forma> I <desgaste>K<desgaste> P: R<anchura corte>L<longitud corte>I<diámetro útil> K<subrutina> GP: L<longitud>K<desgaste> Los valores máximos están especificados en los diferentes manuales de operación y dependen de parámetros máquina tales como: mm/ pulgadas eje rotativo eje rolover . TABLA BINARIA El propósito de esta orden es el disponer en el ordenador de copias de seguridad de los parámetros. Se carga o descarga un fichero que contiene la siguiente información: Ms decodificadas Parámetros máquina Parámetros de compensación de husillo Esta tabla contiene una imagen de la memoria interna del CNC en formato BCD. La información está codificada y resulta ilegible para el usuario. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 31 CONTROL REMOTO DE LA MÁQUINA Y PETICIÓN DE ESTADO. La ejecución de una orden remota, es llevada a cabo por una Orden del Mensaje de la forma RNK o SCK. El CNC puede responder con una comunicación de errores. El texto del paquete de cabecera comienza con los caracteres ASCII que identifican al comando concreto que se quiere realizar. La secuencia total de comunicación es: Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH RNK o RCK STX <texto> ETX BCC DLE 1 EOT ENQ DEL DLE 0 STX <respuesta> ETX BCC DLE 1 EOT DEL Para la orden de corrección de herramientas es: Ordenador CNC 8010/8020/8030 ENQ DLE 0 OSH SNK o SCK STX <texto> ETX BCC DLE 1 EOT DNC FAGOR 8010/8020/8030 26/02/02 Pág. 32 donde : <texto> esta compuesto de: <número de orden> <parámetros> donde: <número de orden> son dos dígitos (ver tabla 6.1). <respuesta> es <comunicación de errores> en el caso de las órdenes 00, 01, 02 o la posición de los ejes es el de la orden 10. <comunicación de errores> está compuesto de: <último error DNC> HT <último error CNC> donde: <último error DNC> indica en tres dígitos el último error producido en DNC, desde el último informe de errores. <último error CNC> indica en tres dígitos el último error producido en CNC, desde el último informe de errores, éste coincide con el error que visualiza en la pantalla. HT es el carácter tabulador. Las órdenes de Control Remoto de la Máquina y Petición de Estado disponibles en la presente versión están representados en la tabla 6.1. Número de orden Orden 00 Ejecución programa 01 Petición de errores 02 Simulación de teclado 10 Lectura de la posición de los ejes 11 Informe del tipo de máquina 20 Corrección dinámica de herramientas 21 Posición de la herramienta en el almacén random 22 Inicialización del almacén random o modificación de la posición o del tipo de una herramienta Tabla 6.1 DNC FAGOR 8010/8020/8030 26/02/02 Pág. 33 . EJECUCIÓN DE UN PROGRAMA Orden del mensaje: ANK o ACK Número de orden: 00 Parámetros: %<número de programa> N<número de bloque> Donde: <número de bloque> son cuatro y sólo cuatro dígitos. Respuesta: <Comunicación de errores> Cuando el DNC recibe esta orden sitúa al CNC en modo de operación AUTOMATICO, selecciona el programa y bloque requeridos y comienza la ejecución del programa. No se llevará a cabo esta orden si la máquina está mecanizando, independientemente de si se ha pulsado la tecla STOP o de entrada de FEED-HOLD. Tampoco se llevará a cabo si se está moviendo algún eje en manual. . INFORME DE ERRORES Orden del mensaje: ANK o ACK Número de orden: 01 Parámetros: Ninguno Respuesta: <comunicación de errores> Las banderas del CNC error DNC, error CNC se inicializan a cero en el encendido, al ejecutar esta orden y al conectar el DNC. . SIMULACIÓN DEL TECLADO Esta es una potentísima herramienta que permite enviar caracteres teclas desde un ordenador como si se estuvieran pulsando en el teclado. De esta forma, desde un ordenador, se pueden llevar a cabo prácticamente todas las acciones que un usuario puede realizar a través del teclado. Orden del mensaje: RNK o RCK Número de orden: 02 Parámetros: HT <Secuencia de teclas válidas> HT Teclas válidas son todas las del teclado excepto: Teclas de JOG Teclas de SPEED Conmutador FEED RATE DNC FAGOR 8010/8020/8030 26/02/02 Pág. 34 Para indicar las teclas se usan sus códigos ASCIIs. Por Ejemplo el código ASCII de Z es 90. Para las teclas que no corresponden a ningún número/letra, se han hecho las siguientes asignaciones: 8010/8020/8030 Tecla Start Stop Reset Display mode Enter Next Operate mode Recall Delete Clear Código ASCII 97 98 99 100 101 110 111 114 122 127 Carácter “a” “b” “c” “d” “e” “n” “o” “r” “z” “rubout” o “del” 8030 Se suprimen las teclas Next y Display mode. Se introducen las teclas Ñ, ñ, Insert, Enter, Movimientos del cursor y de página y las Soft keys. Estas teclas están codificadas como ASCIIs extendidos, y por tanto la transmisión se debe realizar con 8 bits por carácter. Tecla Código ASCII extendido ñ Ñ 164 165 Cursor up Cursor down Cursor right Cursor left Previus page Next page 192 193 194 195 196 197 Start Stop Reset Delete Enter Recall Operate mode Insert Clear 208 209 210 211 212 213 214 215 216 Soft key 1 Soft key 2 Soft key 3 Soft key 4 Soft key 5 Soft key 6 Soft key 7 217 218 219 220 221 222 223 DNC FAGOR 8010/8020/8030 26/02/02 Pág. 35 Respuesta <Comunicación de errores> Ejemplo: El paquete de cabecera para seleccionar el programa número 32 en el modo de operación AUTOMATICO será para los CNC 8010/8020: SOH RCK STX 02 HT o0P32r HT ETX BCC NOTA: Recordar que el texto máximo en un paquete está limitado a 256 caracteres. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 36 . CORRECCIÓN DINÁMICA DE HERRAMIENTAS Orden del mensaje: SNK o SCK Número de orden : 20 Parámetros : T <número corrector herramienta> I<corrección> K <corrección> donde: <número corrector herramienta> puede tomar los siguientes valores: fresa: de 0 a 99 torno: de 1 a 32 <corrección> puede tomar como valores máximos los de la tabla 6.3. Respuesta: Ninguna Nota 1: es la misma sintaxis utilizada para modificar un corrector vía teclado. Nota 2: las unidades mm o pulgadas, están definidas por el parámetro 13. Nota 3: Los valores de la tabla 6.3 pueden estar precedidos por el signo menos -. Máquina más de 8 m. mm 32.766 327.66 pulgadas 1.2900 12.900 Tabla 6.3 Esta prestación no está soportada en el modelo Punzonadora. En el modelo CNC 8020 GP sólo se envía la corrección en I. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 37 . LECTURA DE LA POSICIÓN DE LOS EJES Orden del mensaje Número de orden Parámetros Respuesta Torno : : : : : fresa : RNK o RCK 10 Ninguno <unidades> <cota X> <cota Z> y si eje C <coordenada C> y si eje V<coordenada V> y si eje W<coordenada W> <unidades> <cota X> <cota Y> <cota Z> y si máquina de cuatro ejes <cota W> y si máquina de cinco ejes <cota V> donde: <unidades> es función del parámetro 13. M mm – I pulgadas <cota> es un espacio en blanco o un signo -, seguido de un número que puede tomar como máximo los valores de la tabla 6.2. Máquina más de 8 m. mm 8388.607 83886.07 pulgadas 330.2601 3302.601 Tabla 6.2 Nota 1: Si es eje C o eje rotativo, el máximo valor que puede tomar es 8388.607 . INFORME DEL TIPO DE MÁQUINA Orden del mensaje Número de orden Parámetros Respuesta : RNK o RCK : 11 : Ninguno : <Serie> <Modelo> espacio espacio espacio Donde: <Serie> puede ser 8020/8030 <Modelo> puede ser: M espacio para los modelos: M. MG, MS GP para el modelo GP P espacio para los modelos: P, PG T espacio para los modelos: T, TG, TS DNC FAGOR 8010/8020/8030 26/02/02 Pág. 38 . LECTURA DE LA POSICIÓN DE LA HERRAMIENTA EN EL ALMACEN RANDOM Orden del mensaje : RNK o RCK Número de orden : 21 Parámetros : T <número de herramienta> Donde: <número de herramienta> son dos dígitos desde 00 a 98. La herramienta 99 no está permitida, pues se utiliza para inicializar la tabla random. Respuesta: <posición de la herramienta> <tipo de herramienta> donde: <posición de la herramienta> son dos dígitos desde 00 a 99. Si la herramienta no está presente, devuelve N espacio. <tipo de herramienta> es un carácter: S : herramienta especial Espacio : herramienta normal Modelos que soportan esta prestación: 8020: M, MG, MS 8030: MS .INICIALIZACIÓN DEL ALMACÉN RANDOM O MODIFICACIÓN DE LA POSICIÓN O DEL TIPO DE UNA HERRAMIENTA. Orden del mensaje : RNK o RCK Número de orden : 22 Parámetros : Inicialización del almacén T 99 Modificación de la posición de una herramienta T <número de herramienta> P <posición de la herramienta> Herramienta es especial T <número de herramienta> S Herramienta es normal T <número de herramienta> N Donde: <número de herramienta> son dos dígitos desde 00 a 98 o menor según parámetros máquina. <posición de la herramienta> son dos dígitos desde 00 a 99 o menor según parámetros máquina. Al cambiador se le asigna la posición cero. A la caña se le asigna la posición 99 Respuesta: <Comunicación de errores> Modelos que soportan esta prestación: 8030 MS DNC FAGOR 8010/8020/8030 26/02/02 Pág. 39 INFORME DE ESTADO EN FORMATO FIJO El procedimiento de informe de estado en formato fijo utilizando el protocolo DNC se inicia con una Orden del Mensaje RNL o RCL desde el ordenador. El diálogo entre el ordenador y el CNC 8010/8020/8030 es como sigue: Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH RNL o RCL STX ETX BCC DLE 1 EOT ENQ DEL DLE 0 STX <datos de estado> ETX BCC DLE 1 EOT DEL <Datos de Estado> retornados al ordenador tienen el formato siguiente: <Elemento de Estado> HT <Elemento de Estado> HT … HT <Elemento de Estado>. donde HT es el tabulador horizontal. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 40 Los Elementos de Estado retornados son los siguientes: 1. PROGRAMA PIEZA ACTIVO El formato es: % <número de programa> 2. CONTADOR DE PIEZAS El contador de piezas es un valor entero ajustado a la derecha en un campo de tres caracteres. El contador de piezas se incrementa cada vez que se encuentra un M30 o M02. Se inicializa a cero siempre que se selecciones un nuevo programa pieza o se ejecuta la orden Informe de Estado en Formato Fijo. Por tanto es un contador incremental, no absoluto, diferente del contador absoluto que aparece en la pantalla del control. Con el encendido es inicializado a cero. El DNC puede contar como máximo 255 piezas. 3. MAQUINA ACTIVA/INACTIVA Un campo de un carácter: “A” ASCII para activo, “I” para inactivo. El Estado Activo se define como Cycle Start ON, Feed Hold OFF, y MFO superior al 0%. 4. INDICACIÓN DE ERROR El campo de error es un “0” o un “1”. Un “1” indica que un mensaje de error está activo en el CNC 8010/8020/8030. Hay dos grupos de errores: Errores del CNC Errores del DNC: relacionados con la comunicación en DNC. 5. NÚMERO DE BLOQUE ACTIVO El formato es: N <número de bloque> Donde el <número de bloque> son cuatro dígitos. 6. MFO ACTIVO Tres caracteres ASCII que indican el MFO actual. Por ejemplo, si el MFO es 105%, se envían tres caracteres: “1” “0” “5”. 7. BITS DE ESTADO *Dos caracteres sin significado en la presente versión. Para aviso del CNC al ordenador de pieza acabada y/o error, ver RVI capítulo 5. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 41 DESCARGA DEL DIRECTORIO DEL CNC 8010/8020/8030 El ordenador puede pedir el directorio del CNC 8010/8020/8030 con un mensaje de orden RNF o RFF. Se puede pedir directorio de programas y de subrutinas (esto último en próximas versiones). Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH RNF o RCF STX <directorio requerido> ETX BCC DLE 1 EOT ENQ DEL DLE 0 STX <datos del directorio> ETB BCC DLE 1 STX <datos del directorio> ETB BCC DLE 0 . . . . . . STX <datos del directorio> ETX BCC DLE 0 o DLE 1 EOT DEL < directorio requerido> es un carácter que determina el directorio a transmitir. P: programas S: subrutinas Formato del directorio de programas: <número de caracteres libres> LF <número de programa> HT <número de caracteres> LF . . . <número de programa> HT <número de caracteres > LF donde: HT es el carácter tabulador horizontal. LF es el carácter line feed. <número de caracteres libres>, <número de programa> y <número de caracteres> constan de cinco dígitos decimales cada uno. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 42 BORRAR PROGRAMA Desde el ordenador se pueden borrar programas que se encuentren en la memoria del CNC 8010/8020/8030. El Mensaje de Orden para borrar un programa es RND o RCD, es por tanto una orden con respuesta. El diálogo entre el ordenador y el CNC es como sigue: ENQ DLE 0 SOH RND o RCD STX %<número de programa> ETX BCC DLE 1 EOT ENQ DEL DLE 0 STX <comunicación de errores> ETX BCC DLE 1 EOT DEL No se borrará el programa si: . por teclado se está editando otro programa. . la memoria está protegida. . es el programa seleccionado. . es el programa protegido. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 43 G76 N5 DIGITALIZACIÓN Sólo disponible en 8020 MS o 8020 TS. Alguna de las aplicaciones que se pueden realizar con la función G76, son por ejemplo, la creación de un programa tras el cálculo de una trayectoria mediante un programa paramétrico, o bien, el DIGITALIZADO de un modelo con la ayuda de un palpador de medida (G75), generando un programa punto a punto tan extenso como se quiera. (Ver manual de programación). El Mensaje de Orden es RNN o RCN, es por tanto una orden con respuesta. El diálogo entre ordenador y el CNC es como sigue: Ordenador CNC 8010/8020/8030 ENQ DLE 0 SOH RNN o RCN STX ETX BCC DLE 1 EOT ENQ DEL DLE 0 STX % <número de programa> <datos> ETB BCC DLE 1 STX <datos> ETB BCC DLE 0 . . . . . . STX <datos> ETB BCC DLE 0 o DLE 1 EOT DEL El programa que se está ejecutando en el CNC, por medio de la función G76 va creando bloques de programa de CNC que se van enviando en paquetes al ordenador. El proceso finaliza al ejecutarse M30. Se puede abortar desde el CNC pulsando STOP, OP MODE, cualquier modo distinto de MANUAL o BLOQUE A BLOQUE. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 44 APÉNDICE A: DIAGRAMA DEL PROTOCOLO DNC En esta sección se describe la transferencia vía DNC en términos de secuencias de caracteres de control. La interpretación de las órdenes o el contenido de los datos quedan excluidos. La figura A.1 muestra la secuencia de conexión y transferencia de un mensaje desde el ordenador hacia el CNC. La figura A.2 muestra la secuencia de respuesta cuando el CNC recibe una orden de enviar una información al ordenador. Las secuencias normales siguen las líneas en negrilla. Las secuencias inusuales o de recuperación de error siguen las líneas más claras. Los caracteres enviados por el CNC van encerrados en un recuadro discontinuo. EXPLICACIÓN DE LA FIGURA A.1 (EL ORDENADOR INICIA LA COMUNICACIÓN Y ENVIA UN MENSAJE). (1) El ordenador intenta conectarse enviando un ENQ. (2) Si el CNC no responde con DLE 0, el ordenador espera un tiempo de por ejemplo 0,5 o 1 segundo y envía de nuevo el ENQ. (3) Si después de varios intentos el CNC no ha respondido, el ordenador deberá enviar DLE EOT para reinicializar el CNC. (4) Si DLE EOT no consigue inicializar la línea, se precisarán procedimientos externos de recuperación. (5) Cuando el CNC detecta un ENQ, responderá con DLE 0. (6) Después de SOH, el ordenador enviará la Orden del Mensaje, con tres caracteres especificando: respuesta (R/S), tipo de testeo (N/C), y tipo de orden. (7) Después de STX, el ordenador enviará datos y ETB/ETX BCC. (8) El CNC reconoce mediante DLE 0 y DLE 1 alternativos. (9) El CNC responderá NAK DEL en estos dos casos. - (10) Cuando reciba un paquete con BCC incorrecto. Cuando reciba un ENQ DEL en medio de un paquete. Es decir, después de haber recibido un SOH o STX y antes de haber recibido el BCC. El problema será que el CNC no ha recibido correctamente el ETX o ETB. Puede ocurrir que el CNC reciba correctamente un paquete, pero no pueda enviar inmediatamente el reconocimiento correspondiente. El ordenador al no recibir respuesta dentro de un tiempo de por ejemplo 1 o 2 segundos enviará un ENQ a lo que el CNC responderá DLE ;. Cuando el CNC acabe de procesar el paquete, enviará espontáneamente el reconocimiento correspondiente. En el apartado Ejecución de Programa Infinito se explicará con más detalle un ejemplo. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 45 (11) Si el CNC durante 30 segundos no recibe ningún carácter, rompe la comunicación con DLE EOT. Ver temporizador B en el capítulo 5. El CNC también puede romper la comunicación cuando detecta un error en la orden, parámetros, sintaxis... Ver condiciones de ruptura en capítulo 5. (12) El camino (18) indica una respuesta no válida. El ordenador envía ENQ con el fin de buscar una respuesta válida. También se puede llegar desde (19). Ver casos especiales, interrupción inversa, en capítulo 5. Cuando el CNC recibe ENQ, reenvía la última respuesta DLE 0, DLE 1, DLE;, NAK DEL excepto DLE < y DLE EOT que no se reenvían. (13) Cuando se produce de 3 a 5 veces consecutivas, en cualquier orden, los caminos (9) y/o (18) el ordenador debería romper la comunicación. (14) Esta trayectoria será tomada cuando el ordenador haya enviado un paquete de cabecera y el CNC haya respondido con NAK DEL. El ordenador enviará de nuevo el paquete de cabecera. (15) Esta es la trayectoria cuando el ordenador envía un mensaje que ocupa múltiples paquetes de comunicación. También puede ocurrir si el CNC ha respondido con NAK DEL, en cuyo caso el ordenador enviará de nuevo el último paquete. (16) El ordenador termina la secuencia con EOT. Si una descarga de datos al ordenador ha sido especificada por una orden, el CNC iniciará la secuencia indicada en la figura A.2. (17) Se puede inicializar la línea con DLE EOT (ruptura). (18) Este camino indica una respuesta no válida. El ordenador debe enviar ENQ, camino (12), para buscar una respuesta válida. Hay tres posibilidades: (18.1.) El ordenador detecta DLE 0 en lugar de DLE 1 o viceversa. (18.2.) El ordenador detecta caracteres extraños. (18.3.) Pasado un tiempo el ordenador no ha recibido respuesta. El tiempo que se espera puede ser por ejemplo de medio a 1 segundo. No se debe dejar transcurrir más de 30 segundos sin pasar al camino (12) pues de lo contrario el CNC romperá la comunicación. Ver temporizadores A y B en casos especiales de capítulo 5. Una línea defectuosa o tiempos de espera demasiado críticos pueden dar lugar a estas situaciones. (19) RVI, interrupción inversa. Se debe continuar por el camino (12). Ver casos especiales en capítulo 5. (20) El ordenador puede abortar la comunicación en cualquier momento enviando DLE EOT. (21) Ver 14 en la página siguiente. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 46 DNC FAGOR 8010/8020/8030 26/02/02 Pág. 47 EXPLICACIÓN DE LA FIGURA A.2 (RESPUESTA DEL CNC) (1) El CNC intenta conectarse con ENQ DEL. (2) Si el ordenador no responde con DLE 0 dentro de 2,5 segundos, el CNC vuelve a intentar (1). (3) Después de tres intentos fallidos (1) el CNC rompe la comunicación. (4) El ordenador ha detectado ENQ DEL y responde con DLE 0. (5) El CNC envía STX, datos, ETB o ETX y BCC. (6) El ordenador si no detecta ningún error responde con DLE 0 o DLE 1 alternativos. (7) Ver (9) de anterior página. (8) El CNC recibe una respuesta no válida. El CNC continua por (10). Hay tres posibilidades: (8.1) (8.2) (8.3) El CNC detecta DLE 0 en lugar de DLE 1 o viceversa. El CNC detecta caracteres extraños. Pasados 2,5 segundos, el CNC no recibe respuesta. (9) El ordenador ha roto la comunicación. Ver condiciones de ruptura capítulo 5. (10) El camino (8) implica una respuesta no válida. El CNC envía ENQ DEL con el fin de obtener una respuesta válida. Cuando el ordenador recibe ENQ DEL reenvía la última respuesta: DLE 0 DLE 1 NAK excepto DLE EOT que no se reenvía. (11) Cuando se producen 3 veces consecutivas los caminos (7) y/o (8), en cualquier orden, el CNC rompe la comunicación. Idem cuando el ordenador no recibe ningún carácter durante 30 segundos. Ver temporizador B y condiciones de ruptura en capítulo 5. (12) Esta es una trayectoria tomada por el CNC para enviar mensajes que ocupan múltiples paquetes. También es la trayectoria para reenviar el último paquete cuando se recibe un NAK desde el ordenador. (13) El CNC termina la comunicación con EOT DEL. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 48 DNC FAGOR 8010/8020/8030 26/02/02 Pág. 49 APÉNDICE B: LISTADO DE ERRORES EN DNC 01 03 04 05 06 07 08 09 10 11 12 13 14 15 18 19 20 21 22 23 25 27 28 29 30 31 32 33 34 ENQ, SOH o STX esperados. ENQ recibido. ETB/ETX recibido y paquete incorrecto. Ordenador envía DLE EOT (Ruptura). Primer paquete no es de cabecera. Paquete con cabecera no primero. ENQ en medio de recepción de paquete. Carácter de respuesta no es R o S. STX esperado en paquete cabecera. Paquete con más de 255 caracteres. Primer carácter BCC incorrecto. Segundo carácter BCC incorrecto (Sólo CRC-16) Desbordamiento de memoria de programas pieza. 35 36 37 38 39 40 Orden errónea. Número de bloque con más de 4 dígitos. Números de bloque no correlativos. Otros errores sintácticos, mirar error de CNC A % cinco dígitos no sigue blanco N. En edición: Mientras un programa está siendo editado por teclado, no es posible cargar/borrar ningún otro programa vía DNC. No es posible descargar un programa que está siendo editado. Número de programa incorrecto. Programa en memoria. Programa no en memoria. OMSG incorrecto. Memoria protegida. Ciclo Start ON. Número de orden incorrecto. Secuencia de teclas interrumpida por error del CNC. Número de bloque incorrecto. Carácter de respuesta en OMSG no es R. Paquete no acabado en ETX. Programa seleccionado. Programa protegido. Carácter extraño: % fuera de comentario o carácter ASCII cuyo código es mayor que 127 y es distinto de Ñ o ñ o bien comentario erróneo. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 50 41 42 43 44 45 46 47 48 49 50 51 52 53 54 70 71 80 81 82 83 84 255 Carga: último bloque no acaba en LF. EOT antes de paquete acabado en ETX. Paquete posterior a paquete acabado en ETX. Número de programa 99999. No hay sitio para el buffer del programa infinito. Paquete de cabecera acabado en ETX. Dirección de transmisión es R. Programa infinito: carácter ASCII cuyo código es mayor que 127 y es distinto de Ñ o ñ. Programa infinito: % Programa infinito: comentario demasiado largo. Programa infinito o digitalización abortada. Eje moviéndose en JOG Reset en ejecución. Fin de programa en un paquete no último. Error interno. Error interno. Número o posición de herramienta incorrecto. Parámetro de herramienta incorrecto. Tabla demasiado grande. Tabla demasiado pequeña. No es centro de mecanizado o no es random. Error sintáctico. DNC FAGOR 8010/8020/8030 26/02/02 Pág. 51 APÉNDICE C: CARACTERES ASCII VALOR ASCII 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 DNC FAGOR 8010/8020/8030 CARÁCTER VALOR CARÁCTER ASCII NULL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 26/02/02 (espacio) ¡ “ # $ % & ‘ ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Pág. 52 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ VALOR ASCII EXTENDIDO 164 165 DNC FAGOR 8010/8020/8030 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL CARÁCTER ñ Ñ 26/02/02 Pág. 53