Los Post-Procesadores son un paso clave en la programación fuera de línea. Los post procesadores permiten flexibilidad para soportar cualquier controlador de robot. Un post-procesador robot define cómo los programas de robot deben generados para un controlador robot específico.
La conversión desde la simulación RoboDK a un programa robot específico se realizada con un Post-Procesador. Cada robot tiene un post-procesador asignado por defecto. El post-procesador se usa cuando el programa es generado fuera de línea, como se muestra en la sección Generar Programa (haciendo clic derecho en un programa, luego, seleccionando Generar Programa de Robot).
RoboDK incluye varios post-procesadores que soportan diferentes controladores robot, listados en la sección Post-Procesadores disponibles. Alternativamente, es posible crear un post-procesador personalizado o modificar un post-procesador existente. Todos los post-procesadores disponibles están en la carpeta:
C:/RoboDK/posts/
Un post-procesador es un archivo PY (cada post-procesador está definido por un script Python). Es posible añadir manualmente, modificar o eliminar los archivos de la carpeta Posts de RoboDK. Si se le ha proporcionado un post-procesador RoboDK (archivo PY) debe ser colocado en la carpeta Posts para que se pueda seleccionar desde RoboDK.
Esta sección muestra cómo seleccionar, editar o crear un post-procesador y usarlo con sus robots en RoboDK. Una introducción rápida está disponible en el siguiente vídeo: https://www.robodk.com/help#PostProcessor
Para seleccionar un post-procesador específico para un robot:
1.Haga clic derecho en un robot o un programa
2.Seleccione Seleccionar Post-Procesador
3.Elija un post-procesador desde la lista
4.Seleccione OK.
El cambio es aplicado ahora y el programa puede ser generado de nuevo para ver el resultado.
Nota La selección de un Post-Procesador está vinculada a un robot específico. Al cambiar el post-procesador de un programa se actualizará el post-procesador para todos los programas vinculados al mismo robot.
Como una alternativa, también es posible seleccionar el post-procesador siguiendo estos pasos:
1.Abra el panel del robot (haga doble clic en un robot)
2.Seleccione Parámetros
3.Seleccione su post-procesador en la caja de la marca del robot, como se muestra en la siguiente imagen.
Es posible modificar post-procesadores existentes o crear nuevos post-procesadores. Los post-procesadores deben ser colocados en la carpeta C:/RoboDK/posts/ para que puedan ser seleccionados en RoboDK. En la sección anterior se describen cómo enlazar un robot específico a un post-procesador.
Cada post-procesador es un archivo PY. Es posible renombrar el archivo o copiar los archivos desde/hacia la carpeta C:/RoboDK/posts/ para compartir diferentes post-procesadores. Para eliminar un script de post-procesador existente, simplemente elimine el archivo PY correspondiente en la carpeta Posts.
Los post-procesadores pueden editarse mediante cualquier editor de texto o un editor de Python (Python IDLE). Usar el editor de Python permite depurar rápidamente y evaluar un programa de muestra al final del archivo.
Python puede ser instalado para probar y usar los post-procesadores correctamente (Python está instalado por defecto con RoboDK).
Para modificar un post-procesador existente:
1.Seleccione Programa➔Agregar/Editar Post-procesador
2.Seleccione un post-procesador existente
3.Seleccione OK. Un editor de texto se abrirá con el programa.
4.Seleccione Ejecutar➔Ejecutar módulo (F5) para pre visualizar el resultado. Haga cualquier cambio si es necesario.
Alternativamente, es posible editar manualmente un post-procesador:
1.Vaya a la carpeta de los post-procesadores: C:/RoboDK/posts/
2.Abra un archivo PY con Python IDLE (clic derecho ➔ Editar con IDLE) u otro editor de texto
3.Realice los cambios deseados
4.Ejecute el archivo para probar el resultado: Seleccione Ejecutar➔Ejecutar Módulo (F5 por defecto) desde Python IDLE.
Alternativamente, es posible editar este archivo usando un editor de texto y ejecutarlo con Python haciendo doble clic en él.
Esta sección muestra cómo hacer un pequeño cambio para un post-procesador existente.
Como ejemplo, se realizarán los siguientes cambios en el post-procesador KUKA KRC4 existente:
● Ajustar la velocidad máxima a 500 mm/s. incluso si el robot está programado para moverse más rápido, la velocidad se limitará a 500 mm/s en el post-procesador.
● Generar cada programa como un archivo separado y forzar programas para tener 3000 líneas de código por programa como máximo. Los programas grandes serán divididos en programas más pequeños y llamados secuencialmente.
La sección anterior muestra cómo abrir un post-procesador existente para su edición:
1.Seleccione Programa➔Añadir/Editar Post-procesador
2.Seleccione KUKA_KRC4
3.Seleccione OK. El post-procesador será mostrado en el editor de Python IDLE.
En las siguientes secciones se muestra cómo realizar en el editor de texto los cambios sugeridos.
Siga estos pasos para establecer un límite de velocidad de 500 mm/s y evitar establecer velocidades más altas usando RoboDK:
1.Localice la definición de la función setspeed (def setspeed)
2.Añada el siguiente código antes de generar la salida $VEL.CP que cambiará la velocidad en m/s:
speed_mms = min(speed_mms, 500)
Añada los siguientes cambios para evitar agregar más de un programa por archivo y para generar programas con 3000 líneas de código como máximo:
1.Establezca la variable MAX_LINES_X_PROG en 3000
2.Establezca la variable INCLUDE_SUB_PROGRAMS en falso
De forma predeterminada, los siguientes post-procesadores están disponibles en RoboDK:
● ABB_RAPID_IRC5: para controladores de robot ABB IRC5
● ABB_RAPID_S4C: para controladores de robot ABB S4C
● Adept_Vplus: para el lenguaje de programación de Adept V+
● Allen_Bradley_Logix5000: para Allen Bradley Logix5000 PCL
● CLOOS: para controladores de robots CLOOS
● Comau_C5G: Para controladores de robots Comau C5G
● Denso_PAC: para los controladores del robot Denso RC7 (y más antiguos) (lenguaje de programación PAC)
● Denso_RC8: para los controladores de denso RC8 (y más antiguos) (lenguaje de programación PacScript)
● Dobot: para los robots educacionales Dobot
● Fanuc_R30iA: para los controladores de Fanuc R30iA y R30iB
● Fanuc_R30iA_Arc: para soldadura de arco de Fanuc
● Fanuc_RJ3: para los controladores de robot Fanuc RJ3
● GCode_BnR: para los controladores del robot B&R
● Gsk: para robots de GSK
● HIWIN_HRSS: para robots HIWIN
● Kairo: para los controladores de robot Keba Kairo
● KUKA_IIWA: para programar en KUKA IIWA Java sunrise
● KUKA_KRC2: para los controladores de robot KUKA KRC2
● KUKA_KRC2_CamRob: para la opción de fresado de KUKA CamRob
● KUKA_KRC2_DAT: para los controladores de robot KUKA KRC2 incluyendo archivos de datos DAT
● KUKA_KRC4: para los controladores de robot KUKA KRC4
● KUKA_KRC4_Config: para los controladores de robot KUKA KRC4 con datos de configuración en cada línea
● KUKA_KRC4_DAT: para los controladores de robot KUKA KRC4 incluyendo archivos de datos DAT
● Kawasaki: para controladores de robot Kawasaki AS
● Mecademic: para robot Mecademic Meca500
● Mitsubishi: para los controladores de robot Mitsubishi
● Motoman/Yaskawa: para diferentes controladores de robot Motoman usando Inform II e Inform III (JBI)
● Nachi_AX_FD: para los controladores de robot Nachi AX y FD
● OTC: para controladores de robot Daihen OTC
● Panasonic: Para los programas de Panasonic PRG
● Precise: para robots Precise Scara
● Siemens_Sinumerik: para controlador de robot Siemens Sinumerik ROBX
● Staubli_VAL3: para programas de robot Staubli VAL3 (controladores CS8s y posteriores)
● Staubli_VAL3_InlineMove: para generar programas Staubli VAL3 con datos de movimiento en línea
● Staubli_S6: para controladores de robot Staubli S6
● Toshiba: para robots Toshiba
● Universal_Robots: para robots UR, genera movimientos lineales como posiciones de pose
● Universal_Robots_RobotiQ: para robots UR incluyendo soporte para pinza RobotiQ
● Universal_Robots_joints: para robots UR, genera movimientos lineales y movimiento de articulación
● Yamaha: para robots Yamaha
El siguiente vídeo muestra una visión general de los Post-Procesadores en RoboDK:
https://robodk.com/help#PostProcessor
La documentación de referencia para cada método en el post-procesador está disponible en línea:
http://robodk.com/doc/en/PythonAPI/postprocessor.html
Todos los post-procesadores utilizan el módulo robodk.py:
http://robodk.com/doc/en/PythonAPI/robodk.html#robodk.Mat
El módulo robodk.py proporciona herramientas para operaciones de Pose (multiplicaciones, inversas,...) y conversiones entre poses y ángulos de Euler en diferentes formatos, entre otras cosas.
La documentación está disponible en línea para aprender sobre la programación de Python:
https://docs.Python.org/3/
Cuando un programa es generado, es generado un programa de Python pre-procesado/universal y es guardado en una carpeta temporal local. El programa pre-procesado está vinculado con el post-procesador correcto (seleccionado por el usuario en RoboDK). El post-procesador define un RobotPost Class que genera el código deseado.
Los programas pre compilados son ejecutados con Python.