Escolar Documentos
Profissional Documentos
Cultura Documentos
TNC 640
REGISTRO DE REVISIONES
Causa Revision Fecha
Creación del documento 0 04/03/13
Rev.0 Página 3
TNC 640
Página 4 Rev.0
TNC 640
Índice de contenido
1.CAMBIO DE SOFTWARE:.........................................................................................................9
2.DYNAMIC EFFICIENCY INCLUYE OPCIÓN 145...........................................................................9
3.DYNAMIC PRECISION..............................................................................................................9
4.PARÁMETROS.........................................................................................................................9
4.1.SYSTEM:.....................................................................................................................................11
4.2.Axes...........................................................................................................................................11
4.3.Channel......................................................................................................................................12
4.4.KeySynonym..............................................................................................................................12
4.5.Ubicación de los ficheros de configuración de los parámetros.................................................12
4.6.Estructura de ficheros de parámetros CFG...............................................................................12
4.7.KeySynonym..............................................................................................................................14
4.8.Lista de parámetros...................................................................................................................18
4.9.COMANDOS SQL........................................................................................................................20
4.10.Funciones M............................................................................................................................21
4.11.SUBFICHEROS DE PARAMETROS.............................................................................................33
4.12.Introducir un nuevo eje en el sistema.....................................................................................36
4.13.Distintos ParameterSet para un mismo eje.............................................................................45
4.14.Rangos ....................................................................................................................................45
5.PYTHON...............................................................................................................................47
6.CAMBIADOR DE HERRAMIENTAS..........................................................................................55
7.PROYECTO BASIC..................................................................................................................59
8.APIMARKER.DEF...................................................................................................................62
9.ESTRUCTURA DE PROGRAMA BASIC DE PLC:.........................................................................66
9.1.OPCIONES EN EL OEM.MCG......................................................................................................70
10.MACROS PARA CAMBIAR DE MODO TURN A MODO MILL Y VICEVERSA.............................74
10.1.MODETURN.............................................................................................................................78
10.2.MODEMILL...............................................................................................................................84
11.CALIBRADO DEL DESEQUILIBRIO.........................................................................................88
12.DUDAS DE PARÁMETROS....................................................................................................88
13.FUNCIONES NC...................................................................................................................88
14.MACROS DE NC..................................................................................................................90
15.KINEMATIK.........................................................................................................................91
15.1.Kinemática para tornear (pasar a donde está explicado antes)..............................................94
Rev.0 Página 5
TNC 640
16.AJUSTE DE EJES...................................................................................................................95
Página 6 Rev.0
TNC 640
Rev.0 Página 7
TNC 640
1. CAMBIO DE SOFTWARE:
Ir a la carpeta PLC:\PROTO\PLC y coger el fichero ApiMarker.def. Meterlo en el proyecto de plc y
compilarlo con este nuevo ApiMarker.def, lo demás pueden haber aparecido o desaparecido
algunas variables de interconexión y dar fallo.
3. DYNAMIC PRECISION
CTC (Cross Talk Compensation): se pone un KGM en el centro de gravedad y se ve las
diferencias en posicionamiento en la regla, aplicada donde están los motores y en el KGM.
AVD (active vibrations damping): permite reducir vibraciones como se se redujera el jerk por 3.
4. PARÁMETROS
-Ubicación de los parámetros CONFIG FILE LIST.
Rev.0 Página 9
TNC 640
Cada uno de estos grupos contiene a más de un subfichero. Los parámetros del eje X están en un
subfichero CFG pero luego en el TNC aparecen agrupados siempre de la misma manera. El TNC
busca en todos los ficheros indicados en el CONFIG FILE LIST para luego sacarlo en pantalla
siempre con esta estructura. No hay que poner el mismo parámetro en más de un fichero CFG.
Página 10 Rev.0
TNC 640
4.1. SYSTEM:
Afectan a todo el sistema y solo aparecen una vez, por ejemplo el parámetro de aceleración
puede estar repetido varias veces. Pues estos no.
4.2. AXES
Objetos de parámetros aplicados a ejes: son parámetros que se van a repetir por eje. Parámetros
específicos de bit.
Si queremos ver, por ejemplo, el Kv de todos los ejes podemos pulsar la softkey TABLE.
Rev.0 Página 11
TNC 640
4.3. CHANNEL
Objetos de parámetros aplicados a canales, hay dos canales, uno de ejecución y otro de
simulación. Normalmente serán los mismos.
4.4. KEYSYNONYM
lo veremos más adelante. Sirve para Subficheros de parámetros.
Página 12 Rev.0
TNC 640
Rev.0 Página 13
TNC 640
Para diseño del parámetros en oficina se utiliza el ConfigDesign, con el que vemos la estructura
como se ve en el control numérico.
4.7. KEYSYNONYM
Queremos crear un subficehro de parámetros para el set de parámetros del eje X.
Página 14 Rev.0
TNC 640
Guardar
Reiniciar la estación.
Rev.0 Página 15
TNC 640
Vamos a cambiar solo los límites, vamos a desvincular, para que puedan tener valor distinto a los
de PX.
Volver a dar INSERT y nos pregunta en qué set de parámetros lo queremos meter.
KeySynonym no hace una copia, solo hace un acceso directo o un puntero a la carpeta orogonal.
Al hacer un INSERT en CFGPositionLimit..., sí que crea ese parámetro, todos los demás son
puntero a PX y estos son nuevos.
Página 16 Rev.0
TNC 640
Ahora se va a los parámetros físicos del eje X e insertamos los juegos de parámetrso.
Luego se podrá seleccinoar entre estos subficheros de parámetros por NC o por PLC.
Rev.0 Página 17
TNC 640
Guardar y reiniciar.
No es necesario todo esto, se puede escribir un subfichero de parámetros que solo contenga
estos parámetros que queremos cambiar y lanzar este subfichero por NC o por PLC.
En principio como Premium, si hay problemas en el mecanizado hay que desactivar para probar,
pero en principio no debe empeorar.
Página 18 Rev.0
TNC 640
En los parámetros de eje se pueden incluir filtros de posición nominal específicos de eje, pero no
se recomienda.
Pulsar INSERT para elegir los ejes que queremos que se quieren mover con el volante.
Rev.0 Página 19
TNC 640
Display axis.
Lanzar MACROS
Definimos las macros que se lanzan con cada uno de estos eventos.
Página 20 Rev.0
TNC 640
Temporizadores
Algunos temporizadores están definidos como array, un index para cada eje por ejemplo.
Los que no tienen esa definición se arrancan por medio de módulos de PLC.
4.10.FUNCIONES M
Se definen en parámetros:
Rev.0 Página 21
TNC 640
Página 22 Rev.0
TNC 640
En modo tabla:
M de MACRO
Rev.0 Página 23
TNC 640
Además la M13.H que se lanza porque hemos definido que es una macro.
Página 24 Rev.0
TNC 640
Códigos S
EN modo torno no tiene sentido programar una S o una velocidad de corte. Asignando esta
variable a este parámetro se indica el modo en que que se va a trabajar.
Se podrían añadir más juegos de parámetros para más gamas solo haciendo copy pega y
cambiando los subíndices.
Rev.0 Página 25
TNC 640
Página 26 Rev.0
TNC 640
Rev.0 Página 27
TNC 640
Cambio de cabezales
Kinematicas
iTNC530
Ejemplo cinemática
CMO
TRANS X
TRANS Y
MACHAXIS B
TNC640
Página 28 Rev.0
TNC 640
Rev.0 Página 29
TNC 640
Objetos
Lo mismo
Página 30 Rev.0
TNC 640
Un poco complicado para definir en qué ejes quedan los vértices de los grupos
EJES
Physicall axis
Para desactivar un eje se puede decir que no hay consigna y ponerlo en modo Test.
Rev.0 Página 31
TNC 640
CONFIGDESIGN
Se pueden cargar los parámetros de una máquina al ConfigDesign y también se puede exportar
de la versión de software actual los que da HDH.
Página 32 Rev.0
TNC 640
4.11.SUBFICHEROS DE PARAMETROS
Se pueden cambiar todos los que no suponen un RESET del CNC. En el subfichero solo aparecen
aquellos que cambian.
EN el control se pueden visualizar los parámetros del fichero principal, o los cargados en
memoria.
Rev.0 Página 33
TNC 640
Ejemplo:
Página 34 Rev.0
TNC 640
Ejemplo:
* Use the Modules 9436 and 9438 very carefully and perform intensive tests on the PLC program.
Changes made using these modules might affect the machine configuration to such an extent
that the TNC 640 cannot be started properly anymore.
Rev.0 Página 35
TNC 640
Previamente hacer una copia de uno de los ficheros, luego se inserta en CfgConfigDataFiles.
3. Crear un nuevo parameter set, o hacer una copia de uno que ya existe y sea parecido.
Página 36 Rev.0
TNC 640
Rev.0 Página 37
TNC 640
4. Crear un PhysyicalAxis y asignar a ese eje físico el parameter set que se ha creado.
Página 38 Rev.0
TNC 640
Rev.0 Página 39
TNC 640
Insertar:
Página 40 Rev.0
TNC 640
Asignar el eje al canal en el que queremos que esté activo, normalmente los dos.
Rev.0 Página 41
TNC 640
Página 42 Rev.0
TNC 640
Si se trata de un eje esclavo lo normal es hacer un KeySynonym para el ParameterSet y dejar solo
los parámetros que cambian.
Rev.0 Página 43
TNC 640
Para cambiar de un parameter set a otro: por PLC módulos 9434 (Select parameter set) y 9435
(Status of the parameter set of an axis).
Primero abrir el lazo de posición y corriente y velocidad. You can switch the drive controller off
via your PLC program using PP_AxDriveOnRequest and PP_AxPosControlRequest and reactivate
it after the parameter set has been switched.
Para conmutar los parameter set tiene que haber una M que haga SYNC_CALC, porque aparte de
parar el LookAhead tiene que volver a recalcular la geometría después de acabar.
4.14.RANGOS
- System/ CfgWorkingRange
Cada WorkingRange lleva asociado una cinemática, su parameter set etc. En todos los working
range que se hagan tienen que estar todos los parámetros que cambiamos.
En las partes de ejes incluimos los parameter set de todos los ejes involucrados. Se recomienda
poner en cada WorkingRange todos los ejes de la máquina o, por lo menos, definir en todos ellos
los ejes que se activan/desactivan en uno.
Página 44 Rev.0
TNC 640
Podemos hacer que al encender la máquina por defecto se arranque con un working range.
Luego ya consultar entradas o lo que sea que diga qué ejes están activos y luego lanzar el working
range que corresponde.
- Activa la kinemática
Rev.0 Página 45
TNC 640
Parámetros de usuario
Los parametros de usuario se guardan en ficheros .xml. Para modificar estos parámetros hay que
cambiar directamente desde el fichero, y volver a transmitirlo.
Se puede abrir desde Notepad C++ o Ultraedit para ver mejor el contenido.
Hay diferentes parametros de usuario y se puede acceder a ellos desde MOD → User
parameters, o MOD → 123
5. PYTHON
Heidenhain tiene clases definidas para hacer las máscaras.
Clases: patrones, incluyen funciones, que dentro de las clases se llaman métodos.
Las funciones dentro de las clases siempre tienen como entrada la variable self, es como si no
estuviera.Se usa para acceder luego a las variables reales con self.
Las clases son patrones, los objetos se crean a partir del patrón o la clase. Cada función dentro de
la clase son métodos. Los objetos almacenan los métodos además de las variables de cada una.
self indica que name no es una variable local sino que es una variable que se pasa como
parámetro al objeto
class className:
def createName(self,name):#self indica que name no es una variable local sine que es una
variable que se pasa como parámetrso al objeto
self.name=name
def displayName(self):
Página 46 Rev.0
TNC 640
return self.name
def saying(self):
#exampleObject1 = className()
#exampleObject2 = className()
#exampleObject1.createName("Diego")
#exampleObject2.createName("Hola")
#print str(exampleObject1.displayName())
#print str(exampleObject2.displayName())
import texto
import time
exampleObject1 = texto.className()
exampleObject2 = texto.className()
exampleObject1.createName("Diego")
exampleObject2.createName("Hola")
print str(exampleObject1.displayName())
Rev.0 Página 47
TNC 640
print str(exampleObject2.displayName())
exampleObject1.saying()
Heidenhain tiene programas .PY con librerías y funciones para que se puedan utilizar.
Página 48 Rev.0
TNC 640
Las máscaras de Python empiezan con Pymask.py. Es donde se cargan todas las máscaras de la
carpeta MASK.
Hay algunas variables que se importarán o no en función de las opciones de configuración que
definiremos en OEM.mcg. PLC_SYMBOLS_DEF.PY hace la unión entre Pymasks.py y el OEM.mcg.
Rev.0 Página 49
TNC 640
- GLOBAL_SYMBOL = '\\PLC\\program\\symbol\\global\\'
- PLC_3D_HEAD_ACTIVE = 'KG_3D_head_active'
- PLC_DIA_TCOMP1_ACTIVE = 'KG_temp_comp_1_active'
PYMASKS.PY se lanza desde el módulo PYTHON.SRC por un módulo de PLC nada más arranca el
control numérico.
LBL Masks
;----------------------------
Página 50 Rev.0
TNC 640
EM
;----------------------------
LBL Python_masks_submit
PS S"PY_MASKS"
CM 9297
PLW
== KL_PY_process_active
IFF
PS KL_mode_asynchronous
PS KL_memory_py_masks
PS KS_PY_masks_path
PS S"PY_MASKS"
PS S""
CM 9295
PL DL_error_PY_masks
PL DL_exit_PY_masks
M_display_module_error(KG_error_module_9295)
LN ML_PY_masks_initialized
S ML_PY_masks_initialized
ELSE
PS KL_terminate_python_process
PS S"PY_MASKS"
CM 9296
PL DL_exit_PY_masks
M_display_module_error(KG_error_module_9296)
ENDI
L MG_marker_one
R ML_py_masks_set_reset
#endif
EM
Rev.0 Página 51
TNC 640
Página 52 Rev.0
TNC 640
Rev.0 Página 53
TNC 640
En pantalla se ve:
Página 54 Rev.0
TNC 640
6. CAMBIADOR DE HERRAMIENTAS
Tabla de herramientas y puestos: TNC:\TABLE\ TOOL.T y TOOL_P.TCH
En la tabla de htas. 0.0 significa hta. en cabezal y 1.1 o 1.16 significan htas 1 o 16 del primer
almacén. El control sabe cuántos puestos tiene el almacén en función de las líneas que definas en
la tabla de puestos. Para modificarlo, en PLC:\proto\table\prototype.tch, y en la tabla de TNC
cuando hagas RESET TABLE se actualizará automáticamente.
Se configuran en parámetros:
Rev.0 Página 55
TNC 640
* T0 → cabezal sin hta. Tint → hta de almacén. Text → Hta manual. TintS → hta almacén especial
TextS → Hta manual especial. TintF → hta almacén con puesto fijo
Cada una de las secuencias tiene una palabra clave asignada en el parámetro. Las palabras clave
indican el comportamiento en cada caso.
Página 56 Rev.0
TNC 640
Ejemplo:
Almacén M1V o M3
Hay un parámetro donde se puede configurar en qué marcas se va dar información de los
strobes, equivalente a las marcas M4520, etc.
Rev.0 Página 57
TNC 640
Página 58 Rev.0
TNC 640
Habrá que leer en una variable de PLC los números de puestos de la tabla inicialmente para
comparar con el valor actual, por si el operario la cambia.
ToolDef tiene dos funciones: preparar la hta. (coger) o definir R y L. Se elige qué opción se quiere
en
7. PROYECTO BASIC
Para máquinas sencillas con esto y la configuración de entradas sencillas vale con esto.
Dependiendo del Working Station que se define se envía un OEM.MCG al control, pero en el CNC
siempre lleva el nombre OEM.MCG. Mejor siempre trabajar con el TNC640OEM, lo del
programmiing station es solo para un arranque inicial de la estación de programación. Nosotros
mejor utilizar el OEM.CFG también para la estación.
Configurar el OEM.MCG
Rev.0 Página 59
TNC 640
Hay un fichero que contiene todos los nemónicos de entradas salidas que se utilizan en el PLC
Basic. GLB_IO_CONFIG.LIB.
En el OEM.MCG al final hay que definir las cinemáticas. Al hacer esto se generan los parámetros
más o menos que van a ser acordes a esta configuración.
Página 60 Rev.0
TNC 640
Aquí están definidos los ficheros originales que ha creado HDH. Según las rules que se han
definido se crean el en CONFIGDesign los parámetros para la máquina que hemos configurado.
Si la versión de software del CNC es diferente podemos rellenar los que nos vaya pidiendo o
podemos generar un service file en el CNC y compararlos con estos para ver si hay alguno nuevo,
etc.
Rev.0 Página 61
TNC 640
8. APIMARKER.DEF
No se trabaja con operandos sino que con nemónicos. Las variables o nemónicos de definen en
APIMARKER.DEF. Este fichero está en PLC:\PROTO\PLC. Al actualizar el software hay que coger
este fichero, sobreescribirlo y volver a compilar el proyecto. Este fichero se puede sacar de la
máquina o del SETUP.ZIP de la versión de software, en TNC640_ADD_PLC.ZIP\PLC\PROTO. Si el
cliente cambia la versión de software puede haber problemas, por lo que conviene que se
compile el PLC con el nuevo APIMARKER.DEF.
Tiene formato de estructura, dividido en cuatro grupos. Para leer variables de cada grupo dentro
de la estructura:
Página 62 Rev.0
TNC 640
ApiAxis[X].NN_AxInMotion
ApiGen.NP_GenKeyCode
Rev.0 Página 63
TNC 640
PS K%00000001
CM 9161
Ahora es: → S ApiAxis[0].PP_axDriveOnRequest (se trata como una marca, todo eso es una
marca)
Página 64 Rev.0
TNC 640
Todo esto se hace en el PLC con un CASE Axes[BL_axis_index].BG_step_axes. Todos los ejes no
lo hacen igual (algunos tienen freno, etc.). En estos casos, hay que configurar en OEM.mcg en el
apartado axis configuration el tipo de eje.
Rev.0 Página 65
TNC 640
Se define en OEM.MCG.
Por ahora el PLC standar está preparado para controlar como máximo 10 ejes.
Se ha cambiado en el PLC de Soraluce, pero luego ha habido que adaptar todos los
tempoirzadores etc que se utilizan para ejes y ampliarlos.
Página 66 Rev.0
TNC 640
• OEM.MCG: Configuración
• En el GLB_IO_CONFIG.LIB aparecen todos los nemónicos que se usan en el PLC (da igual que
se usen o no). En el caso de Soraluce, creo que se hace en Sora_IO_aux.DEF
Rev.0 Página 67
TNC 640
Definiciones
Página 68 Rev.0
TNC 640
Ejes:
en el .DEF
En el CONFIGDesign:
Rev.0 Página 69
TNC 640
INTERN.DEF
Las variables globales que se tienen que definir según las opciones de configuración del
OEM.MCG.
SYSTEM.DEF
Decodifica el OEM.MCG
OEM.CFG
SYSTEM.DEF
OEM.MCG
Página 70 Rev.0
TNC 640
Así tenemos identificadas las modificaciones que se han hecho para poder migrar más fácil
cuando salga una nueva versión del Basic.
- Opción de comunicar dos CNCs por Python Ver documentación del Basic.
- Opción de mantener el lazo de corriente activo al tener el eje bloqueado, para que´sirve??
- CFG_additional_axis
No nos vale para activar desactivar mesas porque hay que apagar y encender la máquina.
- CFG_3D_HEAD
Rev.0 Página 71
TNC 640
- CFG_S_IN_AXIS_MODE
Tener en cuenta que hay que contar como un eje más para el SIK, sino hay que deshabilitar.
Ver sistema de paletizado en el standar del PLC basic para la máquina RT PIPE.
Control de ejes
Axes[0].BG_Step_Axes
Página 72 Rev.0
TNC 640
Rev.0 Página 73
TNC 640
en LB_MB.DEF:
Y muchos más
Axes[BL_axis_index].MG_active
Página 74 Rev.0
TNC 640
Rev.0 Página 75
TNC 640
Página 76 Rev.0
TNC 640
Rev.0 Página 77
TNC 640
Modo torno:
Se tornea siempre en el plano XZ. Para conseguir tornear con el eje carnero dentro para ganar
rigidez, lo que se hace es girar el plano de XZ a YZ. Para esto se tiene el ciclo 800.
Modo fresa:
Página 78 Rev.0
TNC 640
10.1.MODETURN
Lectura de parámetros:
Rev.0 Página 79
TNC 640
M129
M145
M5
FN 29:
Página 80 Rev.0
TNC 640
Rev.0 Página 81
TNC 640
Activa el S2
Página 82 Rev.0
TNC 640
Rev.0 Página 83
TNC 640
• M340
Página 84 Rev.0
TNC 640
10.2.MODEMILL
NP_DG_index_C_Ax_WPS
NP_DG_Index_Ax_TS
NP_DG_Kin_Mill_Sxx
• M305
Para el giro de S2
• FN 29: PLC =+99995 / +Q1801 / +0 / +1 ;Switch off wp spindle (during block scan)
Desactiva el S2.
• FN 29: PLC =+99995 / +Q1804 / +0 / +1 ;Switch off tool spindle (during block scan)
Q1804:
Rev.0 Página 85
TNC 640
• M40 ;Select S1
Página 86 Rev.0
TNC 640
KINEMATICAS
Desaparece el MachAxis C.
Rev.0 Página 87
TNC 640
Al programar el ciclo 800 mete un giro de -90 grados en el primero y de +90º en el segundo, para
poder cambiar el plano de trabajo de XZ a YZ.
Mfunct_spindle[BL_spindle_index].NP_MG_Mxx_stop
Con esto se ve donde hay que poner el peso para equilibrar o donde mover la pieza para
equilibrar. Luego por prueba y error se puede utilizar este ciclo hasta conseguir que esté lo mejor
equilibrada posible.
Página 88 Rev.0
TNC 640
12.DUDAS DE PARÁMETROS
Plato de tornear: se define en AxisList solo como S2. En cambio en Physycal axes sí se definen los
dos, S2 y C. En Physycal axis en S2 en Part list aparecen los part list de los dos. En Axis List
aparecen todos, excepto el eje C del plato que también es S2. Un segundo cabezal también se
define en Axes list como S3.
13.FUNCIONES NC
DATA READ
Ejemplo:
WRITE TO PLC KEY Para visualizarlo → (Enter the MOD code number 555343)
FN 17: SYSWRITE
FN 18: SYSREAD
Rev.0 Página 89
TNC 640
14.MACROS DE NC
Si se quiere lanzar alguna otra macro que no sea ninguna de estas hay dos módulos de PLC:
En el TNC640 si se quiere lanzar un TOOLCALL en X o Y, hay que hacer una cinemática para cada
caso. Tratar siempre que se trabaje con TOOL CALL Z y si se trabaja en otro plano de trabajo
utilizar el plano inclinado.
Página 90 Rev.0
TNC 640
15.KINEMATIK
• KinComposModel:
• KinSimpleModel:
Cada subcinemática por qué objetos está compuesta, se dan los nombres de los objetos en orden
sin decir qué es cada una.
• KinSimpleTrans:
De cada uno de los objetos que están definidos en KinSimpleModel aquí se definen las
transformadas.
Rev.0 Página 91
TNC 640
Dir:
Value:
• KinSimleAxis:
De cada uno de los obejtos que están definidos en KinSimpleModel se definen aquellos que son
ejes de giro libre o los de movimiento lineal, los MachAxis.
Dir:
• AxisRef:
• KinAnchor:
Define la base, por ejemplo, si los ejes Y/Z se mueven juntos y la mesa es de movimiento
independiente se indica aquí la base.
• CFGCMO:
Podemos tener definidos todos los objetos de nuestras máquinas, aunque luego no se utilicen en
las cinemáticas de las máquina.
Aquí se definen los nombres de los pequeños cilindros y cubos que componen el objeto, como se
hace en KinSimpleModel.
Para definir los objetos se llevan los ejes a ref y se empiezan a pintar desde ese punto.
Página 92 Rev.0
TNC 640
• CMOCylinder
Define de los objetos que se han definido en CFGCMO los que son cilindros.
• CMOCuboid
Define de los objetos que se han definido en CFGCMO los que son cubos.
Rev.0 Página 93
TNC 640
• CMOPlane
Define de los objetos que se han definido en CFGCMO los que son planos.
Al cargar las kinemáticas de la estación en el kinematicDesign nos da un error que dice que le eje
U no está definido en parámetros pero sí en las cinemáticas. Podemos quitar el eje U de la
definición de las cinemáticas para que no de error.
Las transformadas que están definidas dentro de un CMO se utilizan solo para ir moviendo la
posición de los vértices de los cubos y los centros de los cilindros pero no se utilizan para el
cálculo de la geometría.
Como no tiene cinemáticas para los portaherramientas se puede tener una tabla con las
dimensiones de todos os portas, tener tres TRANS definidos para compensar esas dimensiones e
ir escribiendo esas dimensiones dependiendo del portaherramientas que está instalado. Esto se
hace con la instrucción:
WRITE KINEMATICS
Module 9098
Página 94 Rev.0
TNC 640
16.AJUSTE DE EJES
Diagrama de bloques
El CNC filtra esas posiciones y genera unas nuevas posiciones mediante los filtros de posición
nominal. Esto lo hace el interpolador, que está en la MC, genera las trayectorias.
Aceleración (ParameterSets/CfgFeedLimits)
Feed (ParameterSets/CfgFeedLimits)
Rev.0 Página 95
TNC 640
El CNC pasa las órdenes con estas nuevas posiciones al lazo de posición.
Página 96 Rev.0
TNC 640
El lazo de posición le pasa la orden al lazo de corriente, que es el que genera la consigna de
corriente para el motor.
Es un sistema de control en cascada y siempre se ajuste de abajo hacia arriba, es decir, corriente,
velocidad, posición e interpolador.
Los tres lazos son en bucle cerrado, con retroalimentación, para corregir la consigna.
El el lazo de velocidad entra sumando en Feedforward, para poder ajustar las fricciones de
antemano, sin esperar a medir el error e ir ajustando la consigna. Se sabe la fricción que va a
haber para sumar una fuerza para vencer la fricción.
Rev.0 Página 97
TNC 640
Página 98 Rev.0
TNC 640
La variación en Vz debe ser constante, el Vz va cambiando de punto en punto pero para que todo
vaya bien la variación en Vz debe ser lo más constante posible.
Si metemos los siguientes puntos en verde la variación de Vz cambia de sentido, por lo que se
deja una marca.
Rev.0 Página 99
TNC 640
Interpolador:
Esquinas
t1: Vx=0
Vz=10
t2: Vx=10
Vz=0
esto se traduce en un golpe de par del motor y la máquina vibra y deja marcas en la pieza, la
mecánica no lo aguanta.
Si la máquina tiene la frecuencia de resonancia baja puede aguantar más las esquinas. A
frecuencia alta la máquina es más rígida y peor se comporta en las esquinas.???? Mirar.
Más masa menor frecuencia de resonancia, más rígida mayor frecuencia de resonancia.
El interpolador con el ciclo 32 define un redondeo en las esquinas para no tener cambios de
velocidad bruscos.
Ciclo 32:
Rápido:0,1
Filtro sencillo para acabado, frecuencia de resonancia más baja contornos más redondeados.
- Jerk
Sin limitación de jerk la aceleración cambia lo más rápido posible, esto se traduce en par y la
mecánica sufre. La limitación de jerk consigue suavizar los cambios de aceleración.
V=(R-M) x Kp
Cuando el error es grande lo corrige rápido pero cuando el error se va reduciendo la respuesta
no alcanza la consigna, tenemos un error estacionario.
- Diagramas de Bode
Pensar en portero que sigue a un balón que se mueve encima suyo en movimiento horizontal.
Entrada: movimiento del balón, Salida: movimiento del portero.
Cuando aumenta la frecuencia de la señal de entrada la señal de salida baja, tiene amplitud
menor y además va desfasada.
- Diagrama de amplitud:
- Diagrama de desfase:
A la frecuencia en la que el desfase es de 180º la salida debe estar muy amortiguada, es decir,
si trasladamos esta frecuencia al diagrama de amplitud. Para que la máquina no vibre la
diferencia entre la señal de entrada y salida debe ser >=10dB. (la respuesta en lazo abierto y
cerrado en esta frecuencia ya es casi la misma).
AJUSTE
* Lazo de velocidad:
- Ancho de banda: 290Hz (Se coge el punto donde la señal baja de -3dB en el diagrama de
amplitud, en lazo cerrado (azul) Lo que se mide es la RAPIDEZ). En el lazo abierto (rojo) se mide la
ESTABILIDAD
- Margen de ganancia: En el diagrama de fase se mide la frecuencia cuando el desfase sea 180º.
En ese punto tiene que haber -10 dB, y de ese punto en adelante tiene que ser menor que -10
dB.
- Margen de fase: Hay que conseguir el mayor ancho de banda posible con un margen de
ganancia de <=-10dB y un margen de fase >=60º.
Se va variando las ganancias hasta que en el diagrama de amplitud la señal en lazo abierto cruce
0.
* Lazo de posición:
Comprobar siempre en el diagrama de Bode que el ajuste que se ha hecho es correcto según
estos criterios.
En este caso el desfase es 180 a 78Hz, más o menos, pero esto no es lo normal. Vamos a
pensar que la frecuencia de resonancia es 18Hz. Aquí la respuesta en amplitud está en -15dB, lo
suficientemente amortiguada.
En el TNCOpt se puede hacer este ensayo una vez ajustadas las máquinas. Es un chequeo de
que se ha ajustado correctamente.