Está en la página 1de 57

LENGUAJES TEXTUALES

AS (KAWASAKI)
Asignatura: Robótica, I Trimertre 2021
UTH

1
Objetivo General

Utilizar los lenguajes textuales específicamente el lenguaje AS para


programar y operar el robot Kawasaki, proporcionando información
detallada de los tipos de datos, control de trayectorias de robots y los
comandos/instrucciones utilizados.

AS es un lenguaje de control por computadora diseñado


específicamente para uso de los controladores Kawasaki.

2
Requerimientos Iniciales

Previo a la programación del robot utilizando AS, los alumnos deberán haber leído
y comprender los siguientes manuales:
• Manual de Seguridad
• Conexión e instalación del robot
• Conexión e instalación del controlador
• Manual de conexión de E/S Externas
• Manual de inspección y mantenimiento

3
Conceptos Generales

•Generalidades del lenguaje AS


•Características de AS
•Configuración de AS

4
Generalidades de AS

• AS permite realizar programas y comunicarse con el robot.


• Los programas son escritos en la memoria no volátil del
controlador.
• Al encender el controlador se activa el modo de comandos
de AS.

5
Generalidades de AS

Permite ejecutar funciones especiales mientras los programas están en


ejecución:

• Conocer el estatus de ubicación (posición y postura)


• Guardar los datos en una memoria externa
• Escribir y editar programas

En AS el robot es controlado y operado basado en programas.

6
Características de AS

El lenguaje AS esta dividido en:

Comandos de Monitoreo o simplemente “Comandos” (Monitors Commands o


Commands)
• Usado para escribir, editar y ejecutar programas

Instrucciones de programa o simplemente “Instrucciones” (Program instructions)


• Ejecutar movimientos
• Monitorear y controlar las señales externas de E/S
• Un programa esta constituido por un conjunto de instrucciones de programa.

7
Características de AS

• El robot puede ser movido a los largo de una trayectoria (CP


Continuous Path motion)
• Dos sistemas de coordenadas:
• Base
• Herramienta (Tool)
• El robot puede moverse manteniendo una postura
• Ilimitado número de programas nombrados libremente.
• Posibilidad de realizar sub-rutinas

8
Características de AS

• Ejecución de interrupciones de acuerdo con el estado de las señales .


• Llamada y salto a otros programas.
• Ejecución de PC Program (Process control Program) en paralelo con programas de
control.
• Despliegue de programas y localizaciones
• La programación puede ser realizada usando una terminal KRTerm, KCwin32,
KCTPD

9
Configuración de AS

• Estatus de AS
• Interruptores y banderas AS (Systems Switch)
• Configuración de AS
• Control de E/S
• Instalación del Software
• Operación de la PC

10
Modos de Operación

• Modo Monitor (Monitor Mode)


• Es el modo básico donde los “Monitor Commands” son ejecutados y permite el acceso a los demás
modos.
• Modo de Edición (Editor Mode)
• Permite crear o modificar programas, utilizando para ello los “Editor Commands”
• Modo de Reproducción (Playback Mode)
• Entra en este modo al ejecutar programas , los movimientos son calculados durante este tiempo,
ejecutando los comandos durante tiempos libres en el CPU, algunos comandos no pueden ser
ejecutados.

11
SWITCHES
AS dispone de los siguientes “Switches”:

• CHECK_HOLD:
• Controla la ejecución de EXECUTE, DO, STEP, MSTEP, CONTINUE, cuando el botón esta en HOLD.
• CP:
• Habilita o deshabilita los movimientos continuosu
• CYCLE.STOP,
• determina cuando mantener el CYCLE START cuando un external hold es activado
• MESSAGES
• Determina cuando las salida de mensajes se habilita en respuesta a los comandos PRINT or TYPE
• OX.PREOUT
• Activación previa de las señales de salida
• PREFETCH.SIGINS
• Define el tiempo de activación de las señales de salida

12
SWITCHES
AS dispone de los siguientes “Switches”:

• PREFETCH.SIGINS
• Define el tiempo de activación de las señales de salida
• QTOOL
• En modo Teach determina cuando o no cambian las coordenadas transformadas de acuerdo al numero de herramienta.
• REP.ONCE
• ON: Ejecución una sola vez. OFF: Continuamente
• RPS
• Habilita o no la selección de un programa basado en el estatus de las señales de entrada
• SCREEN
• Habilita o no el scrolling de la pantalla
• STP.ONCE
• Ejecuta un paso a la vez o continuamente

13
Configuración de AS
Los siguientes parámetros pueden ser cambiados desde el modo de
comandos:
• SEROING
• Posición cero de los encoders
• HSETCLAMP
• Cambiar el modo de operación del ON/OFF de la herramienta.
• ZSIGSPEC
• Máximo numero de entradas y salidas
• DEFSIG
• Señales dedicadas software

14
Comandos de Control
Los siguientes comandos de control de la terminal pueden ser usados

• CTRL + S: Parar Scroll


• CTRL + Q: Activa la salida de datos
• CTRL + C: Cancela la ultima línea
• CTRL + H: Borra un carácter
• CTRL + I: Finaliza la entrada
• CTRL + L: Despliega de la ultimas línea
• CTRL + N: Despliega el contenido de las anteriores líneas

15
Dispositivos de Memoria

• Memoria del robot


• PC Card
• Floppy Disk
• Disco duro de la computadora

16
Instalación de KTCPD

• Instalar el programa
• Configurar la dirección IP del Controlador
• Conectar
• Utilizar el Password “as”

17
Tipos de expresiones en AS
• Notaciones y Convenciones
• Información numérica, posición y texto
• Variables
• Nombres de variables
• Definición de variables de posición
• Definición de variables reales
• Definición de variables de carácter
• Expresiones numéricas
• Expresiones de texto

18
Notaciones y Convenciones
• MAYUSCULAS Y MINUSCULAS
• Comandos e instrucciones en MAYUSCULAS
• Variables y otros en MINUSCULA
• TECLAS Y SWITCHES
• En recuadro
• ABREVIACIONES
• Se pueden utilizar abreviaciones de los comandos e instrucciones según el
apéndice 2
• Se requiere dar un espacio o tab ente comandos/ instrucciones y los parámetros
• Los comandos/ instrucciones se procesan después de una ENTER
• Para ingresar un determinado parámetros el orden de los mismos debe ser especificado con comas
• Los valores numéricos son expresados por defecto en notación decimal.

19
Notaciones y Convenciones
• Los valores numéricos son expresados por defecto en notación decimal.
• Las distancias son medidas en mm y pueden se +/-
• Los ángulos son medidos en grados y pueden ser +/- y definen el grado de
rotación (postura) de una posición.
• Las variables escalares se expresan en números reales o en notación exponencial
• Las juntas son descritas como JT1…JT6
• Numero de señales:
• 1 – 32: Salidas HW
• 1001 – 1032: Entradas HW
• 2001 – 2256: Señales internas SW
• Las “Keywords” son palabras reservadas de AS que no pueden ser usadas como
nombres de variables

20
Información de Posición, Numérica y Texto
• POSE (LOCALIZACIÓN)

• Incluye posición y postura


• Referencia a TCP (Tool Center Point)
• El robot mueve el TCP a la posición indicada y rota las coordenadas de la
herramienta según la postura indicada
• Los datos de posición pueden estar descritos por:
• Desplazamientos de juntas (joint values)
• Valores transformados (Coordenadas relativas de la herramienta con
respecto a las coordenadas de la base).

21
Información de Posición, Numérica y Texto
• VALORES DE JUNTAS

• VALORES TRANSFORMADOS

22
Coordenadas Transformadas

23
Ángulos de EULER (OAT)

24
Información Numérica
• Parámetros para comandos e instrucciones

• Expresiones numéricas : son valores que usan números y variables


combinadas con operadores y funciones.

• Están divididos en tres tipos:


 Números Reales
 Enteros:
 ^B : Binarios
 ^H : Hexadecimales
 Valores lógicos
 Valores ASCII

25
Ejemplos de Información Numérica

26
Declaración de Variables Numéricas

27
Operadores

28
Orden de Operaciones

29
Expresiones Lógicas
• Pueden tener el valor de “TRUE” o “FALSE”
• Se utilizan como condición
• Cuando tiene el valor cero es considerado Falso y verdadera para
cualquier valor.
• Ejemplos:

30
Expresiones de Caracteres
• Contienen información o variables de carácter y pueden estar combinadas con
expresiones y operadores.
• Mayúsculas y minúsculas son diferentes en expresiones.
• Se usan los siguientes operadores:

• Ejemplos:

31
Información Textual (character information)

• Cadena de caracteres ASCII (String)


• Se encierra en comillas “ ” y no pueden ser usados como parte del
texto.
• Los caracteres de control ASCII tampoco pueden ser usados. Ejemplo:
CTRL, CR, LF.
• Las variables de cadenas de caracteres se definen usando (=), usando
al inicio de la variable el símbolo $

32
Caracteres y Variables de Texto
INFORMACIÓN TEXTUAL (CHARACTER INFORMATION)

DECLARACIÓN DE VARIABLES STRING

33
Variables

• Pueden ser asignadas a información de posición (pose variable),


numéricas (real variable) y texto (string variable).
• Dos tipos:
• Variables Locales
• Variables Globales (referidas como Variables)
• Varios valores pueden ser agrupados en un arreglo de variables.
Ejemplo part[7,1,1] = 1
• Una vez definidas y guardadas pueden ser usadas en cualquier
programa (VARIABLES GLOBALES).

34
Variables Locales

• Inician con un carácter alfabético y pueden contener letras,


números y guiones.
• Pueden ser ingresadas en minúscula o mayúscula
• El tamaño máximo es 15 caracteres (validos)

35
Nombres de Variables
• Redefinidas cada vez que el programa se ejecuta y no son
guardadas en memoria
• Se definen con un punto “ . ” antes de su nombre
• Para reutilizar variables en subrutinas (parámetros) y cuando
son usadas por varios programas
• No pueden ser definidas como comandos
• No pueden ser desplegadas usando comandos como POINT, a
menos que se guarden en una variable global previamente en
el programa respectivo.
• Las variables de texto llevan previo el carácter $
• La variables de posición por juntas llevan el carácter #

36
Variables de Posición
• Son descritas como “POSE Variables”
• Es definida cuando un valor es asignado
• Se obtiene un error al ejecutar programas con
variables no definidas
• Permiten reutilizar posiciones, cambiar una existente,
ser calculadas y nombradas libremente
• Comando HERE pose : Se guarda la posición actual
con el nombre pose.
• POINT pose1 = pose2 : Guarda la posición de pose2
en pose1.

37
Ejemplos de Creación de Variables de Posición

38
Coordenadas Compuestas
(Compound Transformation Values)
• Los valores transformados entre dos coordenadas pueden ser
expresadas como una combinación de Dos o más coordenadas
relativas de transición.
• Pueden ser definidas usando cualquier comando o instrucción usado
para definir posición.
• La combinación de posiciones no es conmutativa y las posiciones de
transición no son absolutas para moverse directamente a ellas.
• Para disminuir el tiempo de calculo guarde la posición compuesta en
una variable con el comando point.

39
Coordenadas Compuestas
(Compound Transformation Values)

40
Programas AS

• Tipos de programas AS
• Creación y edición de programas
• Ejecución de programas
• Flujo de programas
• Movimiento del Robot

41
Tipos de Programas AS
• Programa: Serie de instrucciones que le dicen al robot como moverse,
activar las salidas, realizar cálculos, etc., para una serie de procesos.
• El tamaño del nombre no debe ser mayor de 15 caracteres, iniciando
con un carácter y puede contener letras, números y (-).
• Se pueden crear tantos como tenga capacidad la memoria.
• Para ejecutar algunos comandos en programas se puede utilizar MC.
• Pueden haber dos tipos:
• Programas de control de robot (Robot control program)
• Programa de control de proceso (Process Control Program)

42
Tipos de Programas AS
• Programas de control del robot
• Son programas que controlan los movimientos del robot. Se pueden usar
todas las instrucciones incluyendo las instrucciones de movimiento.
• Programas de control del proceso
• Son programas que se ejecutan simultáneamente con los programas de
control del robot
• Usados para controlar y monitorear los dispositivos externos monitoreando
las E/S.
• Pueden comunicarse usando variables comunes o señales internas.
• No pueden usarse las instrucciones de movimiento o como BRAKE, TOOL,
BASE y otras.

43
Autostart
• Un PC programs puede arrancar automáticamente cuanto la potencia
del controlador es encendida utilizando para ello el switch
AUTOSTART.PC
• Para ello se crea un programa con el nombre AUTOSTART.PC
• Ejemplo:

44
Creación y Edición de Programas

• Un programa es un conjunto de instrucciones que el robot debe realizar


• Cada línea (step) es procesada secuencialmente de inicio a fin
• Las líneas tienen el siguiente formato:

• Step: Numero de paso asignado automáticamente


• Label: Son usadas para bifurcar el programa, 1 – 9999 o hasta 15 caracteres
alfanuméricos, punto y subrayado, seguidos por :
• Comentarios usando ; con el propósito de mejorar la legibilidad del
programa

45
Comandos del Modo de edición AS
• EDITOR DE PROGRAMAS

46
Procedimiento de Programación
• PROCEDIMIENTO DE PROGRAMACIÓN

47
Creación de Programas

48
Ejecución de Programas
• Ejecución de programas
• Usando EXECUTE

• Usando PRIME, listo para CYCLE START

• Usando el comando STEP o el botón CHECK del teach pendant

49
Parar y Reanudar Programa

• PARAR LA EJECUCIÓN DEL PROGRAMA


• Usando EMERGENCY STOP (push boton)

• Usando el interruptor HOLD/RUN del panel

• Usando el comando ABORT o HOLD

• REANUDAR LA OPERACIÓN

50
PC programs
• EJECUCIÓN DE PC PROGRAMS

• Ejecutar:

• Parar la ejecución:

• Reanudar la ejecución:

51
Control de flujo

• La secuencia del programa puede ser interrumpida o cambiada usando las instrucciones
GOTO, IF … GOTO, CALL, RETURN, WAIT, PAUSE, HALT, STOP, etc.

• Las subrutinas con CALL y RETURN permiten suspender el programa y ejecutar otro
(subrutina), organizando el programa de manera modular.

• Se pueden enviar hasta 25 parámetros (variables numéricas, caracteres y posiciones),


teniendo que ser del mismo tipo. Usando el carácter & para variables de posición y de
tipo local.

• Adicionalmente se pueden realizar interrupciones asincrónicas con la activación de un


señal o un error, activado mediante ON o (ONI)

52
Subrutinas
• EJEMPLOS DE SUBRUTINAS

53
Programas AS
• MOVIEMIENTO DEL ROBOT
• PREFETCH.SIGINS (ON – OFF)
• Permite el procesamiento previo de las señales de E/S a la finalización de las
instrucciones de movimiento previo.
• Ejemplo:

54
Programas AS

• MOVIMIENTO DEL ROBOT


• MOVIEMIENTO CONTINUO (CP MOTION)
• Permite que el robot no acelere y desacelere en cada una de las posiciones, evitando
paradas en cada una de ellas.

55
Programas AS
• MOVIMIENTO DEL ROBOT
• BREAKS (CP MOTIONS)
• Permite suspender la ejecución del programa hasta el robot alcance la posición de
destino. ONI permite parar en cualquier lugar del movimiento.
• Hay que tener cuidado de no ejecutar esta instrucción cuando el robot deba moverse.

56
Programas AS
• MOVIMIENTO DEL ROBOT
• BREAKS (CP MOTIONS)
• Permite suspender la ejecución del programa hasta que el robot alcance la posición de
destino. ONI permite parar en cualquier lugar del movimiento.
• Hay que tener cuidado de no ejecutar esta instrucción cuando el robot deba moverse.

57

También podría gustarte