Lenguaje Karel Fanuc

Páginas: 8 (1815 palabras) Publicado: 11 de agosto de 2013
Lenguaje KAREL
Introducción
Lenguaje textual explícito (FANUC)

Características básicas:
Basado en lenguaje:
Estructuración:
Tipo ejecución:
Subprogramas:
Modelo universo:
Prog. por guiado
Multitarea

Ada / Pascal
Estructurado
Compilada
Parametrizados
No



1.- ESTRUCTURA BASICA

PROGRAM nombre_programa
Directivas compilador
Declaraciones (CONST, TYPE, VAR)Declaración de rutinas
BEGIN
Instrucciones
END nombre_programa
Declaración de rutinas
VARIABLES:
Tipos de variables
Simples (BOOLEAN, FILE, INTEGER, REAL, STRING)
Compuestas (ARRAY, QUEUE_TYPE, STRUCT)
Variables definidas por usuario
EXPRESIONES
Numéricas: Operadores aritméticos:
Funciones:

+, -, *, /, DIV MOD
SIN() COS() ...

Lógicas:

=,
AND OR NOT
SIG()...

Operadoresrelacionales
Operadores lógicos:
Funciones:

ESTRUCTURAS DE CONTROL:
KAREL es un lenguaje estructurado. Existen las estructuras
condicionales e iterativas típicas de cualquier lenguaje
estructurado de alto nivel.
Estructuras condicionales simple y múltiple:
IF THEN ........ ELSE ....... ENDIF
SELECT OF
CASE a:
........
CASE b:
.........
ELSE:
.......
ENDSELECT
Estructuras iterativas: sedan las más habituales en los
lenguajes de programación de propósito general:
REPEAT
......
UNTIL
WHILE DO
......
ENDWHILE

FOR count = valor1
TO(DOWNTO) valor2 DO
…….
ENDFOR

Otras:
ABORT [], PAUSE, DELAY
WAIT FOR , GO TO

SUBPROGRAMAS
En cuanto a subprogramas, KAREL permite procedimientos y
funciones parametrizados:
PROGRAM ejemplo
CONST, VAR........
ROUTINEmul_mat_3x3(m1,m2:mat_3x3):
mat_3x3
VAR
…….
BEGIN
…….
END mul_mat_3x3
BEGIN
….
END ejemplo
La rutina puede ser declarada al comienzo del programa que la
invoca o con posterioridad (cláusula FROM):
PROGRAM ejemplo
CONST, VAR........
ROUTINE mul_mat_3x3(m1,m2:mat_3x3):
mat_3x3 FROM ejemplo
BEGIN
….
END ejemplo
ROUTINE mul_mat_3x3 (m1, m2: mat_3x3):
mat_3x3
VAR
…….
BEGIN
…….
ENDmul_mat_3x3

También es posible implementar las rutinas en otros módulos
(paquetes, librerías):
PROGRAM ejemplo
CONST, VAR........
ROUTINE mul_mat_3x3(m1,m2:mat_3x3):
mat_3x3 FROM librería_matemática
BEGIN
….
END ejemplo
El retorno del control al programa (o rutina) que invoca tendrá
lugar en el END de la rutina, si bien puede realizarse de manera
explícita mediante RETURN (con elargumento adecuado en el
caso de una función)
Las reglas de ámbito y visibilidad de las variables son las
habituales en estos casos.

2.- LOCALIZACIONES
KAREL no soporta la definición / mantenimiento de un modelo
de su entorno (modelo del universo):
• No existe la referencia como tipo de dato.
• Los cambios de ubicación de los objetos del entorno no
conllevan la actualización implícita de laslocalizaciones
involucradas
• Instrucciones de movimiento monooperando (el destino
siempre se especifica para la referencia TOOL).
2 formas de expresar localizaciones:
• Como coordenadas articulares. (JOINTPOS).
• Como Coordenadas de usuario:
En notación compacta (XYZWPR)
En notación matricial (POSITION)
Atributos:
• Configuración (CONFIG) incluida en coord. de usuario
• Tipoterminación (COMMON_ASSOC)
Otros relacionados:
• Posición (VECTOR)
• Secuencia de localizaciones (PATH)
Operadores:
Similitud entre ubicaciones (>==< destino THEN MOVE TO destino

Composición de transformaciones (:)
Puerros = cocina:cacerola
Operaciones sobre vectores: (+, -, *, /, #, @)
funciones que devuelven coordenadas articulares
CURJPOS ()
Permite obtener
(JOINTPOS).

la

posiciónarticular

en

grados

CNV_JPOS_REL (jointpos, real_array, status)
Permite obtener el vector de coordenadas articulares en
grados a partir de la posición articular(JOINTPOS).
CNV_REL_JPOS (real_array, jointpos, status)
Permite obtener la posición articular (JOINTPOS) a partir
del vector de coordenadas articulares en grados.
Procedimientos y funciones que devuelven transformaciones...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • TIC Lenguaje de programacion karel
  • Karel
  • Karel
  • karel
  • Karel
  • karel
  • Historia del lenguaje de programación Robot Karel
  • karel

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS