7.5.3 - Festo

Anuncio
Recortar:
Arriba: 61,5 mm
Abajo: 61,5 mm
Izquierda:
43,5 mm
Derecha:
43,5 mm
Controlador
Descripción
Descripción del
sistema
CMXR-C2 con
CoDeSys
Descripción
571 701
es 1002NH
[751 516]
Edición_____________________________________________________ 1002NH
Denominación ___________________________________ GDCP-CMXR-C2-CS-ES
N° de art. ___________________________________________________ 571 701
(Festo AG & Co KG., D-73726 Esslingen, 2010)
Internet:
http://www.festo.com
Correo electrónico: [email protected]
Salvo que exista una autorización expresa, queda prohibido transmitir o reproducir este
documento, así como reutilizar o comunicar a un tercero su contenido. El incumplimiento
de esta norma obligará al pago de una indemnización por daños y perjuicios. Reservados
todos los derechos, en especial el derecho de inscripción de patentes, modelos de utilidad o modelos artísticos de aplicación industrial.
GDCP-CMXR-C2-CS-ES 1002NH
3
Lista de revisiones
Autor:
Nombre del manual:
GDCP-CMXR-C2-CS-ES
Nombre del archivo:
Ubicación del archivo:
Nº
Descripción
Indicador de
Fecha de modificación
revisión
001
4
Redacción
1002NH
14.04.2010
GDCP-CMXR-C2-CS-ES 1002NH
Índice
ÍNDICE
1.
Introducción .......................................................................................................... 8
1.1
Términos utilizados ............................................................................................. 9
2.
Indicaciones de seguridad .................................................................................. 10
2.1
Uso de la documentación................................................................................... 10
2.2
Uso previsto ...................................................................................................... 10
2.3
Personal cualificado .......................................................................................... 11
2.4
Indicaciones de seguridad relativas a los productos .......................................... 11
2.5
Indicaciones de seguridad relativas a este manual ............................................ 11
2.6
Instrucciones de seguridad para el producto descrito ........................................ 12
3.
Integración mediante PLC ................................................................................... 13
3.1
Distribución de tareas entre el control de movimiento y el control de proceso ... 14
3.2
Distribución típica de tareas .............................................................................. 15
3.2.1
Control de movimiento (RC) ................................................................ 15
3.2.2
Control de proceso (PLC) .................................................................... 15
3.3
Comunicación entre el control de proceso y el control de movimiento ............... 15
3.4
Conexiones CAN Master X4/X6 .......................................................................... 16
3.5
Interfaz serial X9 RS232 ..................................................................................... 16
3.6
Módulo Profibus Slave ....................................................................................... 17
3.7
Otros módulosperiféricos .................................................................................. 18
4.
Trabajo con CMXR y CoDeSys.............................................................................. 19
4.1
Instalación de CoDeSys ..................................................................................... 19
4.2
Instalación del sistema de destino (Target) ........................................................ 19
4.3
Parámetros de comunicación ............................................................................. 20
4.4
Creación de un proyecto de arranque ................................................................ 21
4.5
Proyecto FCT y proyecto CoDeSys ...................................................................... 22
4.5.1
Almacenamiento y administración de las versiones del proyecto ........ 22
4.6
Carga/descarga de proyectos FCT ...................................................................... 24
4.7
Creación de un proyecto CoDeSys en la FCT ....................................................... 26
4.7.1
Página “Configuración” ..................................................................... 26
4.7.2
Página “Parámetros CPU” .................................................................. 26
4.7.3
Página “Módulos periféricos” ............................................................ 28
4.7.4
Página “CoDeSys” ............................................................................. 29
5.
El proyecto base CoDeSys ................................................................................... 30
5.1
Función RC_OUTPUT_UPDATE............................................................................ 30
GDCP-CMXR-C2-CS-ES 1002NH
5
Índice
5.2
Programa RC_INTERFACE ................................................................................... 31
5.3
Programa RC_STANDALONE............................................................................... 31
5.4
Motion Task....................................................................................................... 32
5.5
Variables globales ............................................................................................. 33
5.5.1
RcInterface: pestaña “Variables” ....................................................... 34
5.5.2
RcInterface: búfer de mensajes .......................................................... 34
5.5.3
RcInterface: variables de instancia ..................................................... 35
5.5.4
Variables de salida RC ........................................................................ 35
6.
Interfaz de control RcInterface ............................................................................ 36
6.1
Biblioteca RcInterface.lib ................................................................................... 36
6.2
Módulos de visualización de RcInterface.lib ....................................................... 36
6.3
Acceso al sistema de mensajes .......................................................................... 38
6.3.1
Funciones disponibles ........................................................................ 39
6.3.2
El búfer de mensajes RcIfMsgBuffer ................................................... 39
6.3.3
Clave de mensaje ............................................................................... 39
6.3.4
Número de componente ..................................................................... 40
6.3.5
Clases de mensajes ............................................................................ 40
6.3.6
Número de mensaje ........................................................................... 40
6.3.7
Número de instancia .......................................................................... 40
6.3.8
Fecha y hora registradas .................................................................... 40
6.3.9
Texto del mensaje .............................................................................. 40
6.3.10 Cambio de idioma .............................................................................. 41
6.3.11 Configuración en la FCT de mensajes definidos por el usuario ............ 41
6.3.12 Edición de mensajes fuera de la FCT ................................................... 42
6.4
Registro de variables Plc_To_Rc/Rc_To_Plc ....................................................... 42
6.4.1
Tipos de datos básicos ....................................................................... 42
6.4.2
Tipos de datos complejos ................................................................... 42
6.5
Mensajes de error de la biblioteca RcInterface.lib .............................................. 42
7.
Descripción de la biblioteca RcInterface.lib ........................................................ 43
7.1
Funciones .......................................................................................................... 43
7.2
Visión de conjunto de los módulos .................................................................... 44
7.2.1
Unidad de mando manual CDSA ......................................................... 44
7.2.2
Robot global....................................................................................... 44
7.2.3
Robot local ......................................................................................... 45
7.3
Módulos de la unidad de mando manual/módulos CDSA ................................... 45
7.3.1
Datos de la unidad de mando manual, CDSAIfGetKeys ....................... 45
7.3.2
LED de proceso de la unidad de mando manual,
CDSAIfSetProcessLed ......................................................................... 46
7.4
Módulos globales de robot ................................................................................ 48
7.4.1
Inicialización y actualización, RcIfRobotUpdateGlobal ........................ 48
6
GDCP-CMXR-C2-CS-ES 1002NH
Índice
7.4.2
7.4.3
7.4.4
7.4.5
Lectura del búfer de mensajes, RcIfMsgRead ...................................... 48
Borrado del búfer de mensajes, RcIfMsgQuit ...................................... 50
Transmisión de un mensaje, RcIfMsgSet............................................. 51
Acceso a las posiciones de eje, AxisPos y CartPos .............................. 53
7.5
Módulos locales de robot .................................................................................. 56
7.5.1
Update, RcIfRobotUpdateLocal ........................................................... 56
7.5.2
Modos de funcionamiento, RcIfModeControl ...................................... 57
7.5.3
Control de nivel superior, RcIfWriteAccess .......................................... 60
7.5.4
Datos de cinemática, RcIfRobotData ................................................... 62
7.5.5
Activación de sistemas de referencia y herramientasn,
RcIfSetRefSys und RcIfSetTool ........................................................... 68
7.5.6
Movimiento manual, RcIfJogControl .................................................... 70
7.5.7
Override, RcIfOverride ........................................................................ 74
7.5.8
Control de programa, RcIfProgramControl .......................................... 76
A.
Apéndice ............................................................................................................. 79
A.1
Descripción de funciones importantes ............................................................... 79
A.1.1
Demanda del control de nivel superior ............................................... 79
A.1.2
Establecimiento de la disposición de servicio del
control de movimiento ....................................................................... 79
A.1.3
Autorización de los actuadores del control de movimiento ................. 80
A.1.4
Carga del programa ............................................................................ 81
A.1.5
Inicio del programa ............................................................................ 83
A.1.6
Función ProgHold ............................................................................... 85
A.2
Bibliotecas de apoyo a la aplicación .................................................................. 86
A.2.1
RcTracking.lib (solamente CMXR-C2) .................................................. 86
A.2.2
Festo_Motion.lib (CoDeSys general) ................................................... 86
A.2.3
PartDetector.lib (CoDeSys general) .................................................... 86
A.2.4
Festo_CameraControl.lib (CoDeSys general) ....................................... 86
GDCP-CMXR-C2-CS-ES 1002NH
7
1. Introducción
1.
Introducción
El control multieje CMXR-C2 posee, además del control de movimiento, un PLC con
CoDeSys V2.3. Este PLC integrado, que en adelante llamaremos “control de proceso”,
dirige el control de movimiento.
Este documento describe la interfaz entre el control de movimiento y el control de
proceso.
La capacidad, y con ella el apoyo funcional, están delimitados. La potencia del respectivo
control CMXR se puede consultar en la visión de conjunto incluida en el manual del
sistema CMXR.
Figura 1.1 Control multieje CMXR-C2 de Festo
8
Unidad de mando manual CDSA-D1-VX
de Festo
GDCP-CMXR-C2-CS-ES 1002NH
1. Introducción
1.1
Términos utilizados
Denominación
Significado
Unidad central
Unidad básica del control multieje CMXR
Control multieje
Unidad central con módulos periféricos conectados
Tarjeta de memoria
Compact Flash Card CF tipo I
FTL
Festo Teach Language, lenguaje de programación de movimientos para el
control multieje CMXR
TCP
Tool Center Point
DriveBus
Canal de comunicación entre el control multieje CMXR y los controladores
de motor de Festo basado en CANopen DS402
Festo Configuration Tool (FCT) Software de parametrización y puesta en funcionamiento para actuadores
de Festo
Plugin FCT
Módulo de software de Festo Configuration Tool (FCT) para un equipo
determinado
Unidad de mando manual
CDSA-D1-VX como unidad para la puesta en funcionamiento, la indicación
y el control
CoDeSys
Software de programación de PLC para plataformas de control según
IEC61131
RC
Robotic Controller, control de movimiento
PLC
Control lógico programable, control de proceso
RcInterface, RcIf
Interfaz entre el control de proceso y el control de movimiento
Tracking
Seguimiento de objetos desplazados
Proyecto base CoDeSys
Plantilla de proyecto CoDeSys, elaborada por FCT como acceso a la
programación
Emulación del CDSA
Emulación de las funciones de la unidad de mando manual en un PC
GDCP-CMXR-C2-CS-ES 1002NH
9
2. Indicaciones de seguridad
2.
Indicaciones de seguridad
2.1
Uso de la documentación
Este documento está dirigido a aquellos usuarios y programadores de robots que trabajan
con el sistema CMXR de Festo. Contiene una introducción al manejo y la programación de
dicho sistema. Es obligatorio que el personal reciba un curso de formación apropiado.
2.2
Uso previsto
Advertencia
El sistema CMXR de Festo no está diseñado para tareas de control
relacionadas con la seguridad (p. ej., parada de emergencia o
control de velocidades reducidas).
Según la norma EN 13849-1, el sistema CMXR de Festo solamente
corresponde a la categoría B y, por lo tanto, no es suficiente para
ejecutar funciones de seguridad dirigidas a la protección del
personal.
Para tareas de control relacionadas con la seguridad o para la
protección del personal, deberán aplicarse medidas de protección
externas complementarias que garanticen un estado operativo
seguro de todo el sistema incluso en caso de fallo.
Festo no se responsabilizará de los daños surgidos por no observar las indicaciones de
advertencia de este manual de instrucciones.
Nota
Antes de la puesta en funcionamiento, se deben leer por completo
las indicaciones de seguridad de los capítulos 2.3 y siguientes.
Si no entiende perfectamente la documentación en el idioma en que se la presentamos,
póngase en contacto con su proveedor en infórmele del problema.
Para que funcione perfectamente y de forma segura, el sistema de mando debe ser
transportado, almacenado, montado e instalado de manera correcta y profesional.
Además, el manejo y mantenimiento del mismo deben realizarse con gran esmero.
10
GDCP-CMXR-C2-CS-ES 1002NH
2. Indicaciones de seguridad
2.3
Personal cualificado
Nota
Los trabajos en equipos eléctricos solamente debe realizarlos el
personal debidamente formado y cualificado.
2.4
Indicaciones de seguridad relativas a los productos
Advertencia
¡PELIGRO!
A la hora de desechar las baterías gastadas, respete la normativa
vigente sobre eliminación de residuos especiales.
Aunque las baterías son de baja tensión, en caso de cortocircuito
pueden liberar suficiente corriente como para hacer arder materiales inflamables. Por tanto, no se deben eliminar junto con
materiales conductores (p. ej., virutas de hierro, lana de acero
sucia de aceite, etc.).
ESD
Elementos sensibles a las descargas electrostáticas: pueden
provocar desperfectos si no se manejan correctamente.
Advertencia
¡PELIGRO!
¡Movimientos peligrosos!
Peligro de muerte, lesiones graves o daños materiales debido a un
movimiento accidental de los ejes.
2.5
Indicaciones de seguridad relativas a este manual
Advertencia
¡PELIGRO!
No respetar lo indicado puede dar lugar a daños materiales y
personales graves.
Atención
No respetar lo indicado puede dar lugar a daños materiales graves.
GDCP-CMXR-C2-CS-ES 1002NH
11
2. Indicaciones de seguridad
2.6
Instrucciones de seguridad para el producto
descrito
Advertencia
¡Peligro!
Peligro de muerte por no contar con suficientes equipos de parada
de emergencia.
Los equipos de PARADA DE EMERGENCIA deben mantener su
eficacia y accesibilidad en todos los modos de funcionamiento de
la instalación. El desbloqueo del equipo de PARADA DE
EMERGENCIA no debe provocar el rearranque incontrolado de la
instalación.
Antes de conectar la instalación, verifique la cadena de PARADA DE
EMERGENCIA.
Advertencia
¡PELIGRO!
Peligro para las personas y el material.
Pruebe todos los programas nuevos antes de poner en
funcionamiento la instalación.
Advertencia
¡PELIGRO!
La instalación posterior de componentes y la realización de
cambios pueden reducir la seguridad del sistema.
Ello puede dar lugar a daños personales, materiales y medioambientales graves. Por consiguiente, es imprescindible la
autorización de Festo para cualquier instalación posterior de
componentes o cualquier cambio en la instalación en los que se
utilicen piezas de otros fabricantes.
Advertencia
¡PELIGRO!
Peligro por alta tensión.
Salvo que se indique lo contrario, los trabajos de mantenimiento se
deben realizar siempre con la instalación desconectada. Una vez
desconectada, la instalación debe asegurarse contra una reconexión no autorizada o involuntaria.
Cualquier trabajo de medición o comprobación que sea necesario
en la instalación debe realizarlo un electricista.
Atención
Solamente se deben utilizar piezas de repuesto autorizadas por
Festo.
12
GDCP-CMXR-C2-CS-ES 1002NH
3. Integración mediante PLC
3.
Integración mediante PLC
El control multieje CMXR-C2 dispone de un PLC interno con CoDeSys V 2.3. Este PLC
consiste en un paquete de software que opera junto con el control de movimiento en un
mismo procesador.
El PLC sirve para integrar otros dispositivos periféricos, p. ej. elementos de mando e
indicación o sistemas de cámara. Otros posibles usos son, por ejemplo, la comunicación
vía Ethernet con otro sistema de mando o la utilización de programas de PLC para las
aplicaciones correspondientes.
Nota
Inicializando la tarjeta Compact Flash junto con la Festo
Configuration Tool (FCT), se pone en funcionamiento, en un único
paso, todo el software del control de movimiento y el control de
proceso.
Nota
El software del control de proceso se programa con el paquete
CoDeSys de Festo. La FCT genera asimismo un proyecto base
operativo para el PLC que el usuario debe cargar en el control como
proyecto de arranque.
Para diseñar de manera eficiente los programas de aplicación, existe una interfaz de
variables entre el control de movimiento y el control de proceso. Esta interfaz permite,
p. ej. activar el control de movimiento, intercambiar variables para el programa FTL o
intercambiar información sincronizadamente con Motion Task, p. ej. para aplicaciones de
Tracking.
CMXR
Control de movimiento
RcInterface
(RC)
Actuadores de
cinemática
Control de proceso
(PLC CoDeSys)
Dispositivos
periféricos
de proceso
Figura 3.1 Integración del PLC y el RC en el CMXR
GDCP-CMXR-C2-CS-ES 1002NH
13
3. Integración mediante PLC
3.1
Distribución de tareas entre el control de
movimiento y el control de proceso
Para poder utilizar correctamente el control multieje CMXR-C2, es importante comprender
los principios de funcionamiento del sistema, así como la distribución de tareas entre el
control de movimiento y el control de proceso derivada de esos principios.
El control de movimiento (RC) está subordinado al control de proceso (PLC). Dicho de otro
modo: para poder trabajar con el control de movimiento, se requiere un proyecto operativo para el PLC. Para más información, véase el capítulo 4. Trabajo con CMXR y
CoDeSys.
Para poder decidir si una tarea debe ser ejecutada por el control de movimiento o por el
control de proceso, es importante conocer el modo de funcionamiento de ambos
controles. Mientras que el PLC ejecuta sus programas cíclicamente, el RC lo hace línea por
línea y espera a que la respectiva instrucción haya sido ejecutada. Además, en el RC hay
que tener en cuenta que el llamado “avance de proceso” procesa ciertas instrucciones
“por adelantado” , por lo que no siempre es posible predecir el momento de su ejecución.
Con respecto a las interfaces, se deben tener en cuenta algunas particularidades
externas, p. ej. en el caso de los módulos periféricos Ethernet, CAN y de0n. Mientras que
algunos dispositivos periféricos están asignados de manera fija a una parte del control
(p. ej. al control de proceso), otros elementos (p. ej. las salidas digitales) pueden estar
asignados a una parte o a otra del control. A continuación explicaremos algunas de estas
particularidades.
Atención
Si el control de movimiento (RC) está esperando una entrada, la
ejecución de esta línea se detendrá hasta que la condición se
cumpla.
Nota
Para conocer otras particularidades de la programación FTL,
consulte el manual de programación.
14
GDCP-CMXR-C2-CS-ES 1002NH
3. Integración mediante PLC
3.2
Distribución típica de tareas
3.2.1
Control de movimiento (RC)
Programación FTL
Teach-In
Activación de todos los actuadores de la cinemática y de los actuadores auxiliares
correspondientes
Activación de todas las entradas y salidas que se requieren, p. ej., para el
movimiento de agarre
Trabajo con la unidad de mando manual
3.2.2
Control de proceso (PLC)
Programación basada en CoDeSys V 2.3
Activación de los grupos auxiliares adicionales que pueda haber, p. ej. bombas o
sistemas de transporte
Programación de aplicaciones de nivel superior, p. ej. comunicación con unidades
de célula antepuestas y pospuestas
3.3
Comunicación entre el control de proceso y el
control de movimiento
Puesto que los dos controles operan en el mismo microprocesador, los datos se
intercambian a gran velocidad por medio de una memoria compartida (shared memory).
Para poder garantizar un rendimiento predecible del sistema, esta memoria está
predefinida por el sistema y no se puede ampliar dinámicamente.
Esta interfaz de comunicación se denomina “RcInterface” e intercambia señales de control
y estado, además de variables. La RcInterface está ubicada dentro de CoDeSys en la
biblioteca RcInterface.lib y se puede acceder a ella a través de los bloques funcionales de
dicha biblioteca o a través de sus variables globales.
Encontrará más información sobre el uso de la RcInterface en el capítulo 5
base CoDeSys y en el capítulo 6
Interfaz de control RcInterface.
GDCP-CMXR-C2-CS-ES 1002NH
El proyecto
15
3. Integración mediante PLC
3.4
Conexiones CAN Master X4/X6
El control multieje CMXR-C2 está equipado con dos conexiones CAN Master;
-
la conexión X6 fix está asignada al control de movimiento y
-
la conexión X4 fix está asignada al control de proceso.
Mientras que los ajustes de la X4 se pueden elegir libremente, la X6 tiene asignados de
forma fija los ajustes del “Festo DriveBus”.
La conexión X4 Master se encuentra en la configuración del control. Si es necesario
utilizar la conexión como CAN Slave, su conmutación se puede efectuar en dicha
configuración.
Si la conexión funciona como CAN Master, en la configuración se configurarán los equipos
CAN Slave que se van a conectar.
3.5
Interfaz serial X9 RS232
La interfaz serial X9 está asignada al control de proceso y se accede a ella desde CoDeSys
a través de las bibliotecas SysLibCom.lib y SysLibComEx.lib. Para una descripción más
exacta del uso de esta interfaz serial, consulte la ayuda de las respectivas funciones de
biblioteca.
16
GDCP-CMXR-C2-CS-ES 1002NH
3. Integración mediante PLC
3.6
Módulo Profibus Slave
Se puede adquirir para el control multieje CMXR-C2 una tarjeta Profibus Slave que
solamente se puede asignar al control de proceso. Esta tarjeta adicional se configura,
como todas las demás tarjetas adicionales, con la FCT.
GDCP-CMXR-C2-CS-ES 1002NH
17
3. Integración mediante PLC
3.7
Otros módulosperiféricos
Todas las tarjetas de los módulos periféricos se configuran en la configuración de equipos
de la FCT.
-
Todas las entradas de las demás tarjetas adicionales están disponibles en las dos
partes del control.
-
En cambio, las salidas se deben asignar en la FCT a una de las partes (al control de
proceso o al control de movimiento).
Las salidas que hayan sido asignadas al control de movimiento (RC), pueden ser leídas
desde CoDeSys. Una vez que la configuración del control realizada en la FCT haya sido
equilibrada con la configuración de los equipos realizada en CoDeSys, las salidas estarán
disponibles en las variables globales RC_OUTPUT_VARIABLES.
Nota
Las salidas de las tarjetas de los módulos periféricos solamente se
pueden asignar a un componente de control, es decir, al control de
movimiento (RC) o al control de proceso (PLC).
18
GDCP-CMXR-C2-CS-ES 1002NH
4. Trabajo con CMXR y CoDeSys
4.
Trabajo con CMXR y CoDeSys
Toda la configuración del hardware del control multieje CMXR-C2 se realiza con la Festo
Configuration Tool (FCT).
CoDeSys es un paquete de software que sirve como herramienta de programación de PLC
para el CMXR-C2. La FCT interactúa en cierta medida con el software CoDeSys y ayuda al
usuario a crear rápidamente un proyecto operativo. Para evitar problemas y efectos no
deseados, recomendamos respetar el procedimiento descrito por la FCT.
Puesto que los módulos periféricos se pueden utilizar tanto en el RC como en el PLC, la
configuración del hardware se debe guardar no sólo en el RC, sino también en el proyecto
del PLC. Por eso, en el control siempre se ejecuta obligatoriamente un programa PLC. Los
módulos periféricos se transfieren desde la FCT al proyecto CoDeSys apretando un botón.
Nota
La configuración del hardware se debe transferir desde la FCT al
proyecto CoDeSys.
Nota
Para garantizar un trabajo rápido con la FCT y el componente
CMXR-C2, recomendamos no añadir al proyecto ningún otro
componentes durante la fase de implementación.
Atención
El manejo de proyectos CoDeSys en relación con el CMXR-C2 no es
igual que en otros controles con CoDeSys de Festo. Para evitar
inconsistencias en los datos, respete el orden de los pasos de
trabajo.
4.1
Instalación de CoDeSys
Al instalar el plugin FCT CMXR-C2, se instala automáticamente el software “CoDeSys
provided by Festo”. Si ya hay una versión de CoDeSys pbF instalada, esta versión se
conservará o se actualizará.
4.2
Instalación del sistema de destino (Target)
Cada versión de firmware va acompañada por una versión del Target que se instala
automáticamente junto con el plugin FCT. Gracias a ello, se pueden diseñar y manejar
proyectos con diferentes versiones de firmware.
GDCP-CMXR-C2-CS-ES 1002NH
19
4. Trabajo con CMXR y CoDeSys
Nota
El Target también se puede instalar manualmente por medio de la
función “install Target” del entorno CoDeSys.
4.3
Parámetros de comunicación
Para poder trabajar en línea con el control CMXR-C2 en CoDeSys, los parámetros de
comunicación deben estar ajustados al control. Si el proyecto CoDeSys ha sido iniciado
por medio de la FCT, la FCT introducirá la dirección de X7 que ha sido configurada en la
propia FCT.
En la configuración del control en CoDeSys existe la posibilidad de buscar controles por
medio de una función de búsqueda.
Nota
Esta función de búsqueda depende de los ajustes del firewall.
20
GDCP-CMXR-C2-CS-ES 1002NH
4. Trabajo con CMXR y CoDeSys
Atención
Si hay varios controles en la red, asegúrese de que los datos se
cargan en el control correcto.
Los parámetros de comunicación se deben verificar obligatoriamente.
4.4
Creación de un proyecto de arranque
Para que, con cada nuevo arranque, el control ejecute e inicie automáticamente el
proyecto cargado, este proyecto debe estar guardado en el control como proyecto de
arranque. El proyecto de arranque debe ser creado explícitamente por el usuario.
.
Nota
El usuario debe cargar siempre en el control cada proyecto de
arranque por medio de CoDeSys.
GDCP-CMXR-C2-CS-ES 1002NH
21
4. Trabajo con CMXR y CoDeSys
4.5
Proyecto FCT y proyecto CoDeSys
La Festo Configuration Tool es, también en el control multieje CMXR-C2, el punto de
partida de cualquier aplicación. Dado que el control de proceso y el control de movimiento
están combinados en un mismo controlador, no es posible una separación exacta de
ambos. Por eso, es conveniente iniciar el proyecto CoDeSys desde la FCT para que
también se guarde en ella. Aunque el software CoDeSys se maneja de la forma habitual en
3S, en algunas áreas la FCT interviene en el proyecto CoDeSys.
Particularidades del trabajo con CoDeSys y CMXR-C2:
-
La configuración del control se realiza en la FCT y se transfiere a CoDeSys.
-
El proyecto CoDeSys se inicia desde la FCT.
-
El proyecto CoDeSys se guarda en el proyecto FCT.
-
La interfaz RcInterface está contenida en el proyecto base CoDeSys.
Como es habitual, en la FCT el proyecto se configura de arriba a abajo. A diferencia del
CMXR-C1 (que no tiene CoDeSys), en este caso la interfaz de control es siempre CoDeSys.
Por consiguiente, cualquier conexión con un control de orden superior al CMXR-C2 se
debe realizar siempre a través del PLC integrado y de sus vías de acceso.
Nota
La configuración de equipos en la FCT debe ser transferida a la
configuración del control en CoDeSys.
Nota
El proyecto CoDeSys siempre se debe iniciar desde la FCT.
4.5.1
Almacenamiento y administración de las versiones del
proyecto
Para guardar y administrar versiones intermedias de los proyectos, recomendamos
guardarlas en el menú Project --> Save As … de la FCT.
En el menú Project --> Properties se puede guardar un historial del proyecto.
22
GDCP-CMXR-C2-CS-ES 1002NH
4. Trabajo con CMXR y CoDeSys
Nota
Para mantener la consistencia en los datos de proyecto de los
programas FTL y del proyecto CoDeSys, recomendamos utilizar las
funciones de almacenamiento y archivo de la FCT.
GDCP-CMXR-C2-CS-ES 1002NH
23
4. Trabajo con CMXR y CoDeSys
4.6
Carga/descarga de proyectos FCT
Al cargar y descargar en/desde la FCT, se transfiere al sistema de destino la configuración
del control CMXR, además de los proyectos FTL y, si el usuario lo desea, el archivo fuente
CoDeSys. La transferencia del archivo fuente CoDeSys permite guardar el proyecto
CoDeSys en el control. La descarga del proyecto propiamente dicha o la creación de un
proyecto de arranque se deben iniciar en el mismo software CoDeSys.
Nota
Para poder, a través de la FCT, cargar el proyecto CMXR completo
desde el control al realizar una carga, es importante guardar
también en el control el proyecto CoDeSys. De ese modo se puede,
efectuando una carga en un proyecto FCT, restaurar todos los datos
de proyecto.
24
GDCP-CMXR-C2-CS-ES 1002NH
4. Trabajo con CMXR y CoDeSys
Nota
CoDeSys también ofrece la posibilidad de guardar el propio
proyecto en el control. Este mecanismo también está disponible,
pero no es compatible con una lectura de retorno de la FCT.
Atención
El proyecto CoDeSys, al ser cargado desde el control, sustituye al
proyecto que hay en ese momento en la FCT, el cual se pierde
definitivamente.
Atención
Hay ciertos archivos, p. ej. las respectivas bibliotecas, mapas de
bits de visualización, archivos de configuración, etc. que no se
guardan en el control. Para garantizar el almacenamiento completo
de todo el proyecto, estos archivos se deben guardar de manera
complementaria.
GDCP-CMXR-C2-CS-ES 1002NH
25
4. Trabajo con CMXR y CoDeSys
4.7
Creación de un proyecto CoDeSys en la FCT
Los siguientes pasos explican cómo se crea un proyecto CoDeSys en la FCT y qué entradas
de configuración son relevantes para el control de proceso.
4.7.1
Página “Configuración”
En la página “Configuración” se configura el hardware disponible.
4.7.2
Página “Parámetros CPU”
En esta página se configuran las direcciones IP de las interfaces Ethernet X5 y X7.
En el estado en que se entrega el equipo al cliente, solamente está activado el
puerto X7 con un ajuste predeterminado. Al realizar la primera configuración,
recomendamos ajustar los parámetros de red mediante un lector de tarjetas de
memoria flash o mediante un cable Ethernet de conexión intermedia.
La conexión X7 está diseñada para redes globales con pasarela (gateway).
La conexión X5 está diseñada para una red local sin pasarela. Antes de utilizarla,
primero es preciso activarla.
26
GDCP-CMXR-C2-CS-ES 1002NH
4. Trabajo con CMXR y CoDeSys
Atención
Las conexiones X5 y X7 no deben estar en la misma red
GDCP-CMXR-C2-CS-ES 1002NH
27
4. Trabajo con CMXR y CoDeSys
4.7.3
Página “Módulos periféricos”
En esta página se parametrizan los módulos periféricos que se agregaron a la
página “Configuración”. En CoDeSys, las variables se utilizan directamente a
través del nombre adjudicado en la FCT como acceso a variables del sistema o
directamente a través de las direcciones de entrada y salida.
Como opción predeterminada, las salidas están asignadas al PLC. Marcando una
casilla de verificación (RC) se puede asignar cualquiera de ellas al RC. Para más
información, consulte el capítulo 3.7
Otros módulosperiféricos.
Nota
Después de cualquier cambio en la configuración de la FCT, se debe
actualizar la configuración del control en CoDeSys, véase el capítulo 4.7.4
Página “CoDeSys”.
28
GDCP-CMXR-C2-CS-ES 1002NH
4. Trabajo con CMXR y CoDeSys
4.7.4
Página “CoDeSys”
Ahora, en la página “CoDeSys”, se puede transferir la configuración de equipos al
proyecto CoDeSys. El estado del proyecto CoDeSys indica si es necesaria una
actualización. La actualización solamente se puede efectuar cuando el proyecto
CoDeSys no está abierto. La actualización de la configuración de equipos no
influye sobre las ampliaciones de programa efectuadas en CoDeSys y se puede
repetir en cualquier momento.
Al pulsar el botón “Start CoDeSys” en un proyecto nuevo, se inicia el proyecto
base CoDeSys previamente configurado (en el que luego se trabaja). En el menú
Components --> CoDeSys se puede devolver el proyecto a su estado original.
Atención
Si se devuelve el proyecto CoDeSys a su estado original, se
perderán todos los cambios realizados en él.
GDCP-CMXR-C2-CS-ES 1002NH
29
5. El proyecto base CoDeSys
5.
El proyecto base CoDeSys
El proyecto base CoDeSys del CMXR es siempre el punto de partida de cualquier programa
PLC específico de una aplicación. Si el proyecto CoDeSys ha sido creado mediante la FCT,
ya estarán integradas en él las particularidades propias del sistema, como los módulos
periféricos y la funcionalidad de la interfaz de comunicación entre el RC y el PLC. La interfaz de comunicación (RcInterface, RcIf) está representada por la biblioteca RcInterface.lib.
Esta biblioteca ya se encuentra integrada en el proyecto.
Partes del proyecto base CoDeSys del CMXR:
-
RC_OUTPUT_UPDATE(FUN)
-
RC_INTERFACE(PRG)
-
RC_STANDALONE(PRG)
-
MotionTask
-
Variables globales
-
Variables del sistema
5.1
Función RC_OUTPUT_UPDATE
La función interna RC_OUTPUT_UPDATE se utiliza para hacer visibles en el PLC las salidas
de los módulos periféricos que se están asignadas al RC.
Véase también el capítulo 3.7
30
Otros módulosperiféricos.
GDCP-CMXR-C2-CS-ES 1002NH
5. El proyecto base CoDeSys
Nota
En la función RC_OUTPUT_UPDATE, el usuario no debe realizar
ningún cambio.
5.2
Programa RC_INTERFACE
El programa RC_INTERFACE contiene la activación de los módulos funcionales de la
RcInterface. Las instancias de dichos módulos están contenidas en las variables globales.
De esa manera, los módulos pueden ser utilizados por la aplicación para varias tareas.
Los módulos se describen con más detalle en la sección 6.1. Para que, al efectuar una
actualización, las futuras ampliaciones de la interfaz no den lugar a complicaciones en un
programa PLC ya existente, en el programa generado por la FCT no se debe realizar ningún
cambio ni se deben añadir subprogramas. Para utilizar los módulos se debe acceder a
ellos directamente a través de las instancias de las variables globales.
Nota
En el programa RC_INTERFACE, el usuario no debe realizar ningún
cambio.
5.3
Programa RC_STANDALONE
Para poder iniciar el control de movimiento, se requieren algunas señales que es
obligatorio transferir por medio de la RcInterface. Por razones históricas, esta
configuración mínima recibe el nombre de “stand-alone”, lo que equivale a decir que el
control multieje CMXR es dirigido sin estar subordinado a un PLC, es decir, directamente a
través de, por ejemplo, la unidad de mando manual. Las señales de E/S necesarias en
este caso son mapeadas a la primera tarjeta de E/S en el proyecto base. En el supuesto
más sencillo, no se requiere ninguna programación adicional en CoDeSys para poder
trabajar con el control de movimiento. La descripción de señales de la variante standalone se puede consultar en el manual del sistema o en la descripción del correspondiente módulo RcInterface.
GDCP-CMXR-C2-CS-ES 1002NH
31
5. El proyecto base CoDeSys
Nota
El programa CoDeSys RC_STANDALONE puede ser modificado o
borrado por el usuario. En ese caso, el propio usuario será responsable del manejo de la RcInterface.
5.4
Motion Task
Para ejecutar programas de aplicación en el PLC sincronizadamente con el procesamiento
de tareas (p. ej. para Tracking), en el Target de CoDeSys se encuentra el llamado “Motion
Timer”. En este intervalo de tiempo, cuyo valor depende del sistema, se realiza la actualización y la planificación de trayectoria del control de movimiento.
La Motion Task (tarea de movimiento) ya está en el proyecto base y se encarga de activar
el programa RC_INTERFACE. Si la aplicación lo requiere, el usuario puede agregar a la
Motion Task otras activaciones, si bien debe procurar dejar libres al RC todos los recursos
posibles.
Se deben respetar los siguientes ajustes para la Motion Task:
Nombre: MotionTask
Prioridad: 1
Tipo: controlada externamente por el suceso “Motion Timer”
Watchdog: debe estar activado
Figura 5.1 Configuración de una Motion Task con Motion Timer en la configuración de
tareas
32
GDCP-CMXR-C2-CS-ES 1002NH
5. El proyecto base CoDeSys
Atención
Cuando realice una depuración dentro de Motion Task, recuerde
que al detener la tarea se detendrá la definición de valores de
nominales. Durante un movimiento en curso, esto puede producir
un salto hasta el valor nominal 0 (sin rampa). Si eso sucede, la
mecánica soportará una carga considerable.
Los programas de aplicación que no haya que ejecutar obligatoriamente en la retícula de
tiempo de Motion Task, se deben ejecutar en otras tareas cuya prioridad sea menor. Para
ello, el Target de CoDeSys ofrece otros temporizadores predefinidos:
IO Timer 40ms
Ciclo de accionamiento reducido con sincronía de fases y con una duración de
40 ms.
IO Timer 200ms
Ciclo de accionamiento reducido con sincronía de fases y con una duración de
200 ms.
Como es lógico, se pueden definir otros temporizadores además de estos. Recuerde que
ninguna tarea debe ser más rápida ni tener una prioridad más alta que la tarea Motion
Task.
Atención
Si en CoDeSys se crean tareas más rápidas o con mayor prioridad
que Motion Task, el sistema puede perder su estabilidad. En el
peor de los casos, la actualización cíclica del control de movimiento
ya no será posible. Si eso sucede, el funcionamiento de la
cinemática ya no será seguro. Según los casos, incluso pueden
llegar a producirse saltos del valor nominal, lo que generaría una
gran carga sobre la mecánica.
5.5
Variables globales
El proyecto base contiene variables globales de RcInterface que el sistema proporciona y
que pueden ser utilizadas por la aplicación.
Las variantes globales de RcInterface se encuentran dentro de CoDeSys, en las variantes
globales de la biblioteca RcInterface.lib.
GDCP-CMXR-C2-CS-ES 1002NH
33
5. El proyecto base CoDeSys
5.5.1
RcInterface: pestaña “Variables”
Visualización en el PLC
Visualización en el RC (TeachView)
La variable RcIfReg accede a zonas de memoria que pueden ser descritas o leídas por
el PLC. Estas variables de matriz de los diferentes tipos de datos básicos permiten al
RC y al PLC intercambiar datos que el usuario puede definir libremente.
RcToPlc --> Del control de movimiento al control de proceso (PLC sólo lectura)
PlcToRc --> Del control de proceso al control de movimiento (PLC sólo escritura)
Aunque los tipos de datos complejos CartPos y AxisPos se encuentran en la pestaña
que describimos en este apartado, no se intercambian cíclicamente como los demás
datos, si no que solamente se transfieren índice por índice a través de los respectivos
módulos funcionales de RcInterface.lib.
Véase también el capítulo 7.4.5 Acceso a las posiciones de eje, AxisPos y CartPos.
Nota
Por motivos de rendimiento, las variables de los tipos de datos
complejos CartPos y AxisPos solamente se pueden leer y escribir
por medio de los respectivos módulos de RcInterface.lib
5.5.2
RcInterface: búfer de mensajes
La RcInterface facilita al usuario una zona de memoria en la que se puede leer el búfer de
mensajes del RC mediante un módulo de la biblioteca.
34
GDCP-CMXR-C2-CS-ES 1002NH
5. El proyecto base CoDeSys
Véase también el capítulo 6.3
5.5.3
Acceso al sistema de mensajes.
RcInterface: variables de instancia
Los módulos funcionales de RcInterface.lib se activan en el programa RC_INTERFACE.
A estos módulos se accede a través de sus instancias globalmente declaradas.
5.5.4
Variables de salida RC
Tras una actualización de la configuración del control en CoDeSys, cada salida
asignada al RC se encontrará en las variables globales, bajo el punto
RC_OUTPUT_VARIABLES.
Nota
El acceso a las salidas que han sido asignadas al RC solamente
puede ser para lectura.
GDCP-CMXR-C2-CS-ES 1002NH
35
6. Interfaz de control RcInterface
6.
Interfaz de control RcInterface
La interfaz de control a través del PLC interno permite controlar el RC desde el PLC para,
de ese modo, dirigir el robot desde la aplicación. Las señales de mando pueden ser
editadas directamente en el PLC o pueden ser transmitidas a un control de orden superior
a través de los módulos periféricos de E/S, el Profibus, el Can-Bus o Ethernet.
Los módulos necesarios para hacerlo se encuentran en la biblioteca de CoDeSys
(RcInterface.lib) y están ya instanciados en el proyecto base CoDeSys del CMXR. A las
funciones de los módulos de la biblioteca se accede a través de las variables de instancia
globales predefinidas de cada módulo.
6.1
Biblioteca RcInterface.lib
La biblioteca RcInterface.lib facilita al usuario una serie de módulos funcionales que
permiten activar el control de movimiento. Esta biblioteca está compuesta por cuatro
subcarpetas que dividen en zonas parciales las funciones implementadas.
-
Interna
Funciones internas que no son utilizadas por el usuario.
-
CDSA
Bloques funcionales para interactuar con la unidad de mando manual.
-
RobotGlobal
Bloques funcionales globales de robot que solamente se pueden instanciar y activar
una vez en el control.
-
RobotLocal
Bloques funcionales locales de robot que solamente se pueden instanciar y activar una
vez para cada robot. El índice de robot está limitado en este momento al valor cero.
Nota
Los módulos se utilizan mediante las variables de instancia
predefinidas, que se encuentran dentro del proyecto base
CoDeSys, en las variables globales ubicadas en
(RC_INTERFACE_INSTANCES).
6.2
Módulos de visualización de RcInterface.lib
El usuario puede visualizar cada módulo de la biblioteca. Esto le permite familiarizarse de
un modo rápido y fácil con las variadas funciones de la interface.
36
GDCP-CMXR-C2-CS-ES 1002NH
6. Interfaz de control RcInterface
Mediante símbolos sustitutivos, se transmite a los elementos de visualización la instancia
del respectivo módulo funcional.
Por medio de las visualizaciones contenidas en el proyecto base CoDeSys, la RcInterface
se puede manejar sin ninguna programación adicional. Los objetos de visualización están
reunidos en grupos lógicos. El modo de manejar los elementos de visualización se puede
deducir a partir de la descripción de los diferentes módulos funcionales.
GDCP-CMXR-C2-CS-ES 1002NH
37
6. Interfaz de control RcInterface
Nota
Las visualizaciones pertenecientes al programa RC_Interface ya
están incluidas en el proyecto base CoDeSys.
Nota
Para más información sobre cómo utilizar la visualización CoDeSys,
consulte la ayuda de CoDeSys.
6.3
Acceso al sistema de mensajes
La página RC del control multieje CMXR-C2 cuenta con un sistema de mensajes cuyo
contenido se puede examinar p. ej. a través de la unidad de mando manual CDSA. Puesto
que este sistema de mensajes se encuentra en el RC, cuando el usuario quiera utilizar un
mensaje en el PLC, deberá transferirlo al búfer de mensajes del PLC.
Por motivos de rendimiento, aunque el búfer de mensajes del PLC se encuentra como
variable global en la biblioteca RcInterface.lib, la lectura de los mensajes se debe iniciar
desde la aplicación, y por tanto es una acción que se confía al usuario.
Nota
Aquí solamente describiremos el sistema de mensajes desde la
perspectiva del PLC. Para más información, consulte el manual de
programación FTL Basis GDCP-CMXR-SW-...
Nota
Cuando se genera un mensaje, se le asigna automáticamente un
número de componente. Este número permite determinar qué zona
del control multieje CMXR ha emitido la alarma. Los mensajes del
PLC definidos por el usuario tienen el número de componente 100.
Nota
Si en este búfer de mensajes se encuentran activados uno o más
errores, el control de movimiento efectuará, en la medida de lo
posible, una parada automática de los ejes de la cinemática dentro
de la trayectoria marcada.
38
GDCP-CMXR-C2-CS-ES 1002NH
6. Interfaz de control RcInterface
Nota
El sistema de mensajes interno del PLC CoDeSys V2.3 está
conectado al sistema de mensajes del control de movimiento.
El uso de este sistema de alarmas no genera por tanto ninguna
visualización en la unidad de mando manual ni produce ninguna
parada automática del movimiento en caso de error. Para influir
sobre el control de movimiento, se deben utilizar los módulos de
mensaje de la biblioteca RcInterface.lib.
6.3.1
Funciones disponibles
Para acceder al búfer de mensajes del RC, existen en la biblioteca RcInterface.lib los
siguientes módulos:
-
RcIfMsgRead
-
RcIfMsgQuit
-
RcIfMsgSet
El modo de utilizar estos módulos aparece en la descripción de cada respectivo módulo,
véase también el capítulo 7.4
Módulos globales de robot.
6.3.2
El búfer de mensajes RcIfMsgBuffer
El búfer de mensajes se encuentra en el PLC en forma de matriz global y se puede
actualizar a través del módulo RcIfMsgRead. Esta matriz está ubicada en las variables
globales de RcInterface.lib y tiene un tamaño de 256 elementos de tipo TRcIfMsg.
Variable
Tipo
Significado
MsgClass
DINT
Clase de mensaje
MsgNr
DINT
Número de mensaje
CompNr
DINT
Número de componente
InstNr
DINT
Número de instancia
TimeStamp
DATE_AND_TIME
Fecha y hora registradas
Texto
STRING(255)
Texto del mensaje
Tabla 6.1 Tipo de datos TRcIfMsg
6.3.3
Clave de mensaje
La clave de mensaje está formada por el número de componente, el número de mensaje y
el número de instancia (p. ej. componente 2000, mensaje 200, instancia: 17 = clave de
mensaje 2000_200_17).
GDCP-CMXR-C2-CS-ES 1002NH
39
6. Interfaz de control RcInterface
6.3.4
Número de componente
El número de componente indica desde qué componente se ha transmitido el mensaje.
Para el módulo RcIfMsgSet, es decir, para los mensajes procedentes del PLC, se ha
establecido el número de componente 100. Eso implica que todos los mensajes transmitidos desde el PLC a través de este módulo se encuentran en el búfer de mensajes con
el número de componente 100.
6.3.5
Clases de mensajes
Para diferenciar el tratamiento que se da a los mensajes, éstos se dividen en diferentes
clases. Las clases de mensaje previstas son 32 (de las cuales, solamente las clases 6 a 16
son para la aplicación).
La división de los mensajes en clases ayuda al usuario a programar la reacción ante
dichos mensajes. El usuario no tiene por qué programar una reacción para cada mensaje,
sino que puede definir reacciones para cada clase de mensajes.
Las clases que debe utilizar son las siguientes:
Clase
Descripción
Reacción
7
Error
El robot se para.
8
Advertencia
Se emite una advertencia y el robot continúa moviéndose.
9
Información
Se emite una información y el robot continúa moviéndose.
6.3.6
Número de mensaje
El número de mensaje indica qué texto de mensaje definido por el usuario se debe
transmitir de entre los mensajes configurados en la FCT.
6.3.7
Número de instancia
A cada mensaje se le puede dar, en el momento de transmitirlo (con la función
RcIfMsgSet), un número de instancia. Este número de instancia permite diferenciar,
además, los mensajes que tienen la misma clave de mensaje. El número de instancia
también puede ser un “Handle”, y por tanto ser un número negativo. En el búfer de
mensajes, los mensajes que tienen la misma clave y distinto número de instancia son
tratados como mensajes diferentes, mientras que aquellos que tienen el mismo número
de instancia son tratados como mensajes idénticos.
6.3.8
Fecha y hora registradas
El registro de fecha y hora del mensaje se guarda en el búfer con el tipo de datos
DATE_AND_TIME habitual en CoDeSys. Para más información sobre el tipo de datos
DATE_AND_TIME, consulte la ayuda de CoDeSys.
6.3.9
Texto del mensaje
El texto de mensaje definido por el usuario se configura en la FCT. Si en el texto del
mensaje se introduce la secuencia de caracteres %1,%2,%3 o %4, dicha secuencia será
40
GDCP-CMXR-C2-CS-ES 1002NH
6. Interfaz de control RcInterface
sustituida por el respectivo parámetro, que se adjudica a través del módulo RcIfMsgSet
del mensaje.
La cadena de texto puede tener una longitud de 255 caracteres.
6.3.10 Cambio de idioma
El usuario puede cambiar el idioma del búfer de mensajes. Al leer el búfer, puede ajustar
el idioma deseado seleccionando para ello su correspondiente código ISO (p. ej. “de”,
“en” ). En el manual del sistema se indican los idiomas admitidos por el sistema.
6.3.11 Configuración en la FCT de mensajes definidos por el
usuario
El sistema de mensajes del CMXR ofrece la posibilidad de configurar en la FCT, a través del
PLC, mensajes predefinidos (véase también el capítulo 7.4.4).
En la opción de menú “Mensajes de usuario/User messages”, el usuario puede crear los
mensajes en el idioma deseado. Si es necesario, los textos se pueden traducir a otro
idioma en un recuadro de visualización formado por dos líneas.
A cada mensaje se le pueden adjudicar hasta 4 parámetros y un número de instancia.
Estos datos son transferidos al transmitir el mensaje e introducidos en el lugar
correspondiente del texto del mensaje. El símbolo sustitutivo correspondiente a los
4 parámetros es introducido en el texto del mensaje con la secuencia de caracteres
%1, %2, %3 y %4.
Los mensajes de alarma también pueden ser parámetros formados por una cadena de
caracteres (16 caracteres como máximo).
Configuración ampliada de los parámetros:
%1
Emisión de un valor entero
%1b
Emisión de un valor entero binario
%1x
Emisión de un valor entero hexadecimal
%1f3 Emisión de un número real con un máximo de 9 cifras decimales
%n
Emisión del número de instancia
Nota
Para poder transmitir mensajes recién parametrizados, es preciso
reiniciar el control.
GDCP-CMXR-C2-CS-ES 1002NH
41
6. Interfaz de control RcInterface
6.3.12 Edición de mensajes fuera de la FCT
En algún momento puede que sea necesario editar la lista de mensajes fuera de la FCT,
p. ej. para enviar los mensajes definidos a una agencia de traducción. Con este fin,
mediante la función “Download to Directory” se puede guardar en el PC una copia de la
tarjeta flash del controlador. En la carpeta \application\control\text, el usuario puede
luego acceder a los respectivos archivos de idioma de los mensajes. A continuación,
mediante la instrucción “Upload from Directory”, los mensajes se pueden volver a
incorporar a la FCT.
6.4
Registro de variables Plc_To_Rc/Rc_To_Plc
El sistema ofrece la posibilidad de transferir variables entre el RC y el PLC. Estas variables
globales ya se encuentran guardadas en la biblioteca RcInterface.lib y se pueden utilizar
directamente en el programa.
6.4.1
Tipos de datos básicos
Los tipos de datos básicos son actualizados directamente por el sistema y se pueden
utilizar en el programa sin necesidad de una declaración adicional. El usuario sólo necesita tener en cuenta la dirección de transferencia de la respectiva variable.
Cada una de las siguientes variables está disponible como matriz [0…255]:
-
Bool:
RcToPlc_Bool[] / PlcToRc_Bool[]
-
DWord:
RcToPlc_DWord[] / PlcToRc_DWord[]
-
Dint:
RcToPlc_Dint[]/ PlcToRc_Dint[]
-
Real:
RcToPlc_Real[] / PlcToRc_Real[]
6.4.2
Tipos de datos complejos
Por motivos de rendimiento, los tipos de datos complejos no se actualizan de forma
automática. Esta transferencia se debe iniciar a través de los módulos RcIfRegAxisPos y
RcIfRegCartPos (con respecto al uso de los módulos, véase también el capítulo 7.4.5).
Cada una de las siguientes variables está disponible como matriz [0…255]:
-
AxisPos: RcToPlc_AxisPos[] / PlcToRc_AxisPos[]
-
CartPos: RcToPlc_CartPos[] / PlcToRc_CartPos []
6.5
Mensajes de error de la biblioteca RcInterface.lib
Cada módulo de la biblioteca RcInterface tiene – cuando es necesario – una salida ErrorID
del tipo de datos TRcIfErrorID. La descripción del mensaje de error se puede consultar en
las constantes globales de RcInterface.lib.
42
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
7.
Descripción de la biblioteca RcInterface.lib
7.1
Funciones
A continuación figura una tabla con las funciones más importantes:
Función
Nombre del módulo
Estado del robot
RcIfRobotData
Parada de emergencia Establecimiento de la señal de PARADA DE RcIfModeControl
Capítulo
7.5.4
7.5.2
EMERGENCIA
Selección del modo de funcionamiento manual/automático
RcIfModeControl
7.5.2
Activación de los actuadores en modo automático
RcIfModeControl
7.5.2
Activación de los actuadores en modo manual
RcIfModeControl
7.5.2
Demanda del control de nivel superior
RcIfWriteAccess
7.5.3
Funciones de avance por impulsos
RcIfJogControl
7.5.6
Inicio/parada de programas
RcIfProgramControl
7.5.8
Establecer/leer override
RcIfOverride
7.5.7
Leer el búfer de mensajes
RcIfMsgRead
7.4.2
GDCP-CMXR-C2-CS-ES 1002NH
43
7. Descripción de la biblioteca RcInterface.lib
7.2
Visión de conjunto de los módulos
7.2.1
Unidad de mando manual CDSA
Estructura
Nombre del
módulo/nombre de la
instancia
CDSA
CDSAIfGetKeys/
Obligatorio Descripción
el control
de nivel
superior
-
FBCDSAIfGetKeys
CDSAIfSetProcessLed/
manual
-
Estructura
Establecimiento de los LED de proceso en la unidad
de mando manual
FBCDSAIfSetProcessLed
7.2.2
Consulta de las teclas de la unidad de mando
Robot global
Nombre del
módulo/nombre de la
instancia
RobotGlobal RcIfRobotUpdateGlobal/
Obligatorio Descripción
el control
de nivel
superior
-
FBRobotUpdateGlobal
RcIfMsgRead/
Actualización de los datos de interfaz globales de
robot
-
Lectura del búfer de mensajes
RcIfMsgQuit/ FBMsgQuit
Sí
Acuse de recibo del búfer de mensajes
RcIfMsgSet/
-
Transmisión de un mensaje desde el PLC
-
Acceso a la matriz común de posiciones de eje
-
Acceso a la matriz cartesiana común de posiciones
FBMsgRead
FBMsgSet
RcIfRegAxisPos/
FBRegAxisPos
RcIfRegCartPos/
FBRegCartPos
44
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
7.2.3
Robot local
Estructura
Nombre del
módulo/nombre de la
instancia
RobotLocal
RcIfRobotUpdateLocal/
Obligatorio Descripción
el control
de nivel
superior
-
FBRobotUpdateLocal
RcIfModeControl/
Actualización de los datos de interfaz globales de
robot
-
Modos de funcionamiento del control
-
Lectura de los datos de estado del robot
-
Administración del control de nivel superior
Sí
Establecimiento del override
Sí
Avance por impulsos del robot en modo manual
Sí
Control de programa
Sí
Establecimiento del sistema de referencia
Sí
Establecimiento de la Tool
FBModeControl
RcIfRobotData/
FBRobotData
RcIfWriteAccess/
FBWriteAccess
RcIfOverride/
FBJogControl
RcIfJogControl/
FBJogControl
RcIfProgramControl/
FBProgramControl
RcIfSetRefSys/
FBSetRefSys
RcIfSetTool/
FBSetTool
7.3
Módulos de la unidad de mando manual/módulos
CDSA
7.3.1
Datos de la unidad de mando manual, CDSAIfGetKeys
Con este módulo se puede leer el estado de las teclas en la unidad de mando manual
CDSA. El estado TRUE corresponde a la tecla pulsada y el FALSE, a la tecla no pulsada.
Cada tecla posee un código de tecla a través del cual se puede acceder a la matriz que es
devuelta por el módulo. La emisión de datos se realiza cíclicamente.
Para que el estado de la tecla JogKey se pueda leer, deben estar parametrizadas los
ejes/las coordenadas correspondientes y el usuario registrado debe poseer permiso de
escritura.
GDCP-CMXR-C2-CS-ES 1002NH
45
7. Descripción de la biblioteca RcInterface.lib
Tecla
Código de tecla
Tecla
Código de tecla
F1
1
JogKey1 +
33
F2
2
JogKey2 -
54
Mot
61
JogKey2 +
47
Rob
60
JogKey3 -
56
Jog
59
JogKey3 +
48
F/B
58
JogKey4 -
53
Step
57
JogKey4 +
46
V-
36
JogKey5 -
52
V+
37
JogKey5 +
45
Start
31
JogKey6 -
51
Stop
49
JogKey6 +
44
JogKey1 -
35
2nd
55
Tabla 7.1 Asignación de teclas de la unidad de mando manual CDSA-D1
Variables de salida
Variable
Tipo
Significado
CDSA_Ready
BOOL
Unidad de mando manual lista
Keys
ARRAY [0..63] OF BOOL
Estado de las teclas
Tabla 7.2 Salidas del módulo CDSAIf GetKeys
CDSA_Ready: BOOL
Esta salida señaliza que la unidad de mando manual CDSA está lista. Si la unidad está
desconectada, el estado de esta salida será FALSE.
Keys: ARRAY[0..63] OF BOOL
Matriz con la información de estado de las teclas individuales. A las teclas se accede a
través del código de tecla, p. ej. Key[1] corresponde a la tecla F1.
7.3.2
LED de proceso de la unidad de mando manual,
CDSAIfSetProcessLed
Este módulo funcional permite activar el LED rotulado con la inscripción “Process” en la
unidad de mando manual CDSA. Existe la posibilidad de activar solamente este LED.
Todos los demás LED son administrados por el sistema y activados según corresponda.
46
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Variables de entrada
Variable
Tipo
Significado
Execute
BOOL
Ejecutar instrucción
On
BOOL
LED de proceso OFF/ON
Attribute
BYTE
Atributo del LED
Tabla 7.3 Entradas del módulo CDSAIfSetProcessLED
Execute: BOOL
Ejecutar instrucción.
On: BOOL
Con esta entrada se conecta el LED de proceso. La señal debe ser estática.
Attribute: atributo LED
Esta entrada permite asignar al LED un atributo. Posibilidades:
Atributo
Valor
Significado
LedGreen
0
El LED se ilumina en verde
LedGreenBlinking
1
El LED parpadea en verde
Tabla 7.4 Atributos del LED
Variables de salida
Variable
Tipo
Significado
Done
BOOL
Unidad de mando manual lista
Error
BOOL
Error
Tabla 7.5 Salidas del módulo CDSAIfSetProcessLED
Done: BOOL
La función se ha ejecutado.
Error: BOOL
Al ejecutar la función se ha producido un error.
GDCP-CMXR-C2-CS-ES 1002NH
47
7. Descripción de la biblioteca RcInterface.lib
7.4
Módulos globales de robot
7.4.1
Inicialización y actualización, RcIfRobotUpdateGlobal
Para intercambiar con el RC los datos de los bloques funcionales globales de robot, el
módulo RcIfRobotUpdateGlobal se activa cíclicamente en el programa RC_INTERFACE.
Variables de salida
Variable
Tipo
Significado
InitReady
BOOL
Inicialización concluida
Tabla 7.6 Salidas del módulo RclfRobotUpdateGlobal
InitReady: BOOL
Esta salida señaliza que el robot está inicializado y que los módulos globales del robot
están listos para la ejecución.
7.4.2
Lectura del búfer de mensajes, RcIfMsgRead
Con el módulo RcIfMsgRead, el usuario puede leer el búfer de mensajes del sistema
robótico en el idioma deseado. El propio búfer de mensajes está guardado en el sistema
como una matriz global; para más información, véase el capítulo 6.3
Variables de entrada
Variable
Tipo
Significado
Execute
BOOL
Inicio del proceso de lectura
Language
String(2)
Selección del idioma según ISO 639
Tabla 7.7 Entradas del módulo RcIfMsgRead
48
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Execute: BOOL
Con esta entrada se inicia el proceso de lectura. La entrada debe permanecer como TRUE
hasta que termine el proceso.
Language: String(2)
Con esta entrada, el búfer de mensajes se puede leer en el idioma deseado a través del
código de idioma recogido en la norma ISO 639. En el manual del sistema se indican los
idiomas admitidos por el sistema.
Atributo
Significado
de
alemán
en
inglés
…
Tabla 7.8 Códigos de idioma según ISO 639
Variables de salida
Variable
Tipo
Significado
RobotError
BOOL
Unidad de mando manual lista
Done
BOOL
Ejecución concluida sin errores
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.9 Salidas del módulo RcIfMsgRead
RobotError: BOOL
Esta salida señaliza que en el RC hay por lo menos un error pendiente. La existencia de un
error pendiente impide la puesta en funcionamiento del robot. Para borrar el error: véase
el módulo RcIfMsgQuit.
Done: BOOL
La lectura del búfer de mensajes ha concluido con éxito.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
GDCP-CMXR-C2-CS-ES 1002NH
49
7. Descripción de la biblioteca RcInterface.lib
7.4.3
Borrado del búfer de mensajes, RcIfMsgQuit
El borrado del búfer de mensajes borra siempre todos los mensajes pendientes. No es
posible un acuse de recibo selectivo de los mensajes.
Variables de entrada
Variable
Tipo
Significado
Execute
BOOL
Acuse de recibo de todos los mensajes activos
Tabla 7.10 Entradas del módulo RcIfMsgQuit
Execute: BOOL
Con esta entrada se acusa recibo de todos los mensajes activos pertenecientes a todas
las clases.
Variables de salida
Variable
Tipo
Significado
Done
BOOL
Ejecución concluida sin errores
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.11 Salidas del módulo RcIfMsg
Done: BOOL
El borrado del búfer de mensajes ha concluido con éxito.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
50
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
7.4.4
Transmisión de un mensaje, RcIfMsgSet
Utilizando el módulo funcional RcIfMsgSet y el número correspondiente, el usuario puede
guardar, en el idioma deseado, mensajes predefinidos en la FCT desde el PLC.
Variables de entrada
Variable
Tipo
Significado
Execute
BOOL
Ejecutar la transmisión del mensaje
MsgClass
DINT
Clase de mensaje
MsgNr
DINT
Número de mensaje (número de la lista de
mensajes en la FCT)
InstNr
DINT
Número de instancia
Param1
STRING(16)
Parámetro 1
Param2
STRING(16)
Parámetro 2
Param3
STRING(16)
Parámetro 3
Param4
STRING(16)
Parámetro 4
Tabla 7.12 Entradas del módulo RcIfMsgSet
Execute: BOOL
Guarda el mensaje correspondiente con los parámetros transferidos.
MsgClass: DINT
Ver capítulo 6.3.5
MsgNr: DINT
Ver capítulo 6.3.6
InstNr: DINT
Ver capítulo 6.3.7
Param1..4: STRING(16)
Los parámetros 1..4 reemplazan a los símbolos sustitutivos que contiene el texto del
mensaje.
GDCP-CMXR-C2-CS-ES 1002NH
51
7. Descripción de la biblioteca RcInterface.lib
Variables de salida
Variable
Tipo
Significado
Done
BOOL
Ejecución concluida sin errores
Error
Bool
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.13 Salidas del módulo RcIfMsgSet
Done: BOOL
El mensaje se ha transmitido correctamente.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
52
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
7.4.5
Acceso a las posiciones de eje, AxisPos y CartPos
Con los siguientes bloques funcionales, las variables RcInterface complejas se pueden
leer y escribir en el registro RcIfReg, AxisPos y CartPos:
Módulo
Variable FTL
Significado
RcIfRegAxisPos
plc_AxisPos[0…255]
Acceso a una variable de posición, tipo AXISPOS
RcIfRegCartPos
plc_CartPos[0…255]
Acceso a una variable de posición, tipo CARTPOS
Variables de entrada
Variable
Tipo
Significado
Execute
BOOL
Activación de la función del módulo
Read
BOOL
FALSE = escribir/ TRUE = leer
Índice
USINT
Número del índice de variable
Tabla 7.14 Entradas de los módulos de acceso a las variables de
posición FTL
Execute: BOOL
Con el flanco ascendente en la entrada se ejecuta la función del módulo para leer/escribir
los datos.
Read: BOOL
A través de la entrada Read se puede conmutar entre la lectura y la escritura.
Read = False escribir (PlcToRc_...)
Read = True leer (RcToPlc_...)
Index USINT
Todas las variables FTL están colocadas en una MATRIZ. El índice de la entrada es el
número del campo de la matriz en el que se lee o se escribe. El margen de valores del
índice es de 0 a 255 para todos los módulos. El valor 0 es el primer campo de la matriz de
la variable respectiva.
GDCP-CMXR-C2-CS-ES 1002NH
53
7. Descripción de la biblioteca RcInterface.lib
Variables de salida
Variable
Tipo
Significado
Done
BOOL
Ejecutado el acuse de recibo de la función
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.15 Salidas de los módulos de acceso a las variables de
posición FTL
Done: BOOL
Con el flanco ascendente de la salida Done se señaliza que la función de lectura o
escritura del valor se ha ejecutado correctamente.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
54
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Contenido del tipo de datos TAxisPos:
Variable
Tipo
Unidad
Significado
a1
REAL
mm o grados
Posición del eje 1
a2
REAL
mm o grados
Posición del eje 2
a3
REAL
mm o grados
Posición del eje 3
a4
REAL
mm o grados
Posición del eje 4
a5
REAL
mm o grados
Posición del eje 5
a6
REAL
mm o grados
Posición del eje 6
aux1
REAL
mm o grados
Posición del eje auxiliar 1
aux2
REAL
mm o grados
Posición del eje auxiliar 2
aux3
REAL
mm o grados
Posición del eje auxiliar 3
Tabla 7.16 Estructura del tipo de datos TAxisPos
Contenido del tipo de datos TCartPos:
Variable
Tipo
Unidad
Significado
x
REAL
mm
Posición cartesiana X
y
REAL
mm
Posición cartesiana Y
z
REAL
mm
Posición cartesiana Z
a
REAL
Grado
Orientación A
b
REAL
Grado
Orientación B
c
REAL
Grado
Orientación C
aux1
REAL
mm o grados
Posición del eje auxiliar 1
aux2
REAL
mm o grados
Posición del eje auxiliar 2
aux3
REAL
mm o grados
Posición del eje auxiliar 3
Tabla 7.17 Estructura del tipo de datos TCartPos
GDCP-CMXR-C2-CS-ES 1002NH
55
7. Descripción de la biblioteca RcInterface.lib
7.5
Módulos locales de robot
7.5.1
Update, RcIfRobotUpdateLocal
Para intercambiar con el RC los datos de los bloques funcionales locales de robot, el
módulo RcIfRobotUpdateLocal se debe activar cíclicamente. Cada cinemática necesita su
propio módulo de actualización, el direccionamiento de la cinemática se realiza mediante
el RobotIndex.
Variables de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
WatchDogTime
TIME
Tiempo de monitorización del watchdog
Tabla 7.18 Entradas del módulo RcIfRobotUpdateLocal
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
Variables de salida
Variable
Tipo
Significado
InitReady
BOOL
Robot inicializado
WatchDogError
BOOL
Monitorización con watchdog activada
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.19 Salidas del módulo RclfRobotUpdateLocal
InitReady: BOOL
Esta salida señaliza que el robot está inicializado y que los módulos locales del robot
están listos para la ejecución.
56
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
WatchDogError: BOOL
Un WatchDogError señaliza que no se ha producido la reacción del RC en el tiempo
esperado.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: DINT
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
7.5.2
Modos de funcionamiento, RcIfModeControl
Con el módulo RcIfModeControl se activan los modos “manual” y “automático”. Además,
en él se deben crear las señales de parada de emergencia y pulsador de autorización, por
ejemplo a través de entradas digitales.
Variables de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
EmergencyStop
BOOL
Parada de emergencia
EnablingSwitch
BOOL
Pulsador de autorización de la unidad de mando
manual
DrivesOnAuto
BOOL
Actuadores conectados en modo automático
SetManualMode
BOOL
Activación del modo manual
SetAutoMode
BOOL
Activación del modo automático
Tabla 7.20 Entradas del módulo RcIfModeControl
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
EmergencyStop: BOOL
La entrada EmergencyStop es la señal de parada de emergencia. Se debe crear invertida.
Ello implica: TRUE = ninguna parada de emergencia, FALSE = parada de emergencia. Si
está establecido el estado de parada de emergencia, todos los ejes se detienen con los
máximos valores dinámicos.
GDCP-CMXR-C2-CS-ES 1002NH
57
7. Descripción de la biblioteca RcInterface.lib
EnablingSwitch: BOOL
Esta entrada debe estar creada al mover los ejes o al iniciar un programa en el modo
“manual” .
DrivesOnAuto: BOOL
Conexión de los actuadores en el modo “automático” .
SetManualMode: BOOL, SetAutoMode: BOOL
Con estas dos señales se activan los modos de funcionamiento. Ambas señales no deben
tener al mismo tiempo el estado TRUE o FALSE.
SetManualMode
SetAutoMode
Estado
0
0
No válido, ningún modo de funcionamiento
1
0
Modo de funcionamiento manual
0
1
Modo de funcionamiento automático
1
1
No válido, ningún modo de funcionamiento
Tabla 7.21 Señales de entrada de los modos de funcionamiento
Variables de salida
Variable
Tipo
Significado
ControllerReady BOOL
El control está listo
RobotReady
Los actuadores del robot están listos para la
BOOL
conexión
RobotActive
BOOL
Actuadores del robot conectados
ManualActive
BOOL
Modo de funcionamiento manual activo
AutoActive
BOOL
Modo de funcionamiento automático activo
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.22 Salidas del módulo RcIfModeControl
ControllerReady: BOOL
Esta salida señaliza que el control, después de arrancar, está listo para activar un modo
de funcionamiento, para conectar los actuadores, etc. La existencia de un error pendiente
no influye en esta señal.
RobotReady: BOOL, RobotActive: BOOL
La salida RobotReady indica que los actuadores del robot están listos para la conexión. La
salida RobotActive indica que los actuadores del robot están conectados. Ambas salidas
son independientes del modo de funcionamiento automático.
58
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
ManualActive: BOOL, AutoActive: BOOL
Estas salidas devuelven el estado del modo de funcionamiento activo.
ManualActive
AutoActive
Estado
0
0
No válido, ningún modo de funcionamiento
1
0
Modo de funcionamiento manual
0
1
Modo de funcionamiento automático
Tabla 7.23 Señales de salida de los modos de funcionamiento
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
Nota
Los estados de error se pueden consultar a través de los módulos
del sistema de comunicación.
GDCP-CMXR-C2-CS-ES 1002NH
59
7. Descripción de la biblioteca RcInterface.lib
7.5.3
Control de nivel superior, RcIfWriteAccess
El control de nivel superior comprende la autorización de actuar activamente sobre el
control de movimiento. Las funciones activas son aquellas que modifican el comportamiento de un programa FTL y/o provocan movimientos, p. ej. avance de los ejes por
impulsos o inicio/parada de programas FTL
El control de nivel superior a través del control de movimiento puede ser solicitado por la
unidad de mando manual o por el PLC. Si un usuario no posee control de nivel superior,
solamente podrá observar.
Antes de conmutar el control de nivel superior, el propio usuario activo debe volver a
entregar el control de nivel superior. Al entregar el control de nivel superior a través del
PLC, todos los programas se paran y se retira la habilitación de regulador. No obstante, el
modo de funcionamiento se conserva.
El derecho de escritura se solicita a través del módulo RcIfWriteAccess:
Datos de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
Request
BOOL
Solicitud del permiso de escritura
Tabla 7.24 Entradas del módulo RcIfWriteAccess
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
Request: BOOL
Con el estado = TRUE se solicita el permiso de escritura del control CMXR. Para que el
permiso de escritura se pueda obtener, debe estar disponible. Dicha disponibilidad se
indica por medio de la salida Available.
60
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Datos de salida
Variable
Tipo
Significado
Available
BOOL
El permiso de escritura está disponible
Active
BOOL
Permiso de escritura otorgado
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.25 Salidas del módulo RcIfWriteAccess
Available: BOOL
La variable Available señaliza con TRUE que el permiso de escritura está disponible y se
puede solicitar.
Active: BOOL
El estado con valor TRUE señaliza que el permiso de escritura ha sido otorgado. A partir
de ese momento, a través del PLC se pueden ejecutar todas las operaciones.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
Nota
Es necesario un modo de funcionamiento válido para poder asignar
el control de nivel superior.
GDCP-CMXR-C2-CS-ES 1002NH
61
7. Descripción de la biblioteca RcInterface.lib
7.5.4
Datos de cinemática, RcIfRobotData
Este módulo proporciona numerosos valores nominales y reales de la cinemática, además
de otra información.
Datos de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
62
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Datos de salida
Variable
Tipo
Significado
RobotName
STRING(80)
Nombre de la cinemática configurado
RobotActive
BOOL
Los actuadores de la cinemática están activos
RobotReferenced
BOOL
Los actuadores de la cinemática están referenciados
RobotError
BOOL
Cinemática en estado de error
RobotOverride
INT
Override actual de la cinemática
RefSysName
STRING(80)
Nombre del sistema de referencia activo
RefSysNumber
DINT
Número del sistema de referencia activo de la lista de
sistemas de referencia
Tool
TTOOL
Datos de herramienta activos
ToolName
STRING(80)
Nombre de la herramienta activa
ToolNumber
DINT
Número de la herramienta activa de la lista de
herramientas
AxisCountMain
DINT
Número de ejes principales
AxisCountWrist
DINT
Número de ejes de orientación
AxisCountAux
DINT
Número de ejes auxiliares
AxisSimulated
WORD
Estado de los ejes simulado, codificado en bits
AxisReferenced
WORD
Estado de los ejes referenciado, codificado en bits
AxisLSN
WORD
Posiciones finales de los ejes negativas, codificadas en
bits
AxisLSP
WORD
Posiciones finales de los ejes positivas, codificadas en
bits
AxisPos
TAXISPOS
Valores nominales de las posiciones de eje
CartPosWorld
TCARTPOS
Valores nominales cartesianos en WORLD
CartPosRefSys
TCARTPOS
Valores nominales cartesianos en el sistema de
referencia actual
AxisDyn
TAXISDYN
Valores nominales de la dinámica de ejes
PathDyn
TPATHDYN
Valores nominales de la dinámica de trayectorias
CartDyn
TCARTDYN
Valores nominales de la dinámica de trayectorias
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
GDCP-CMXR-C2-CS-ES 1002NH
63
7. Descripción de la biblioteca RcInterface.lib
RobotName: STRING
Visualización del nombre de cinemática que si ha indicado en la configuración de la FCT.
Configuración del nombre de la cinemática en la FCT:
RobotActive: BOOL
RobotActive indica que todos los actuadores del robot están conectados.
RobotReferenced: BOOL
RobotReferenced indica que todos los actuadores del robot están referenciados.
RobotError: BOOL
RobotError indica que el robot se encuentra en estado de error. La causa del error se
puede evaluar y corregir mediante los módulos de mensaje.
RobotOverride: INT
RobotOverride indica el valor activo actual del override del robot. El override se puede
modificar con el módulo RcIfOverride.
ToolName: STRING, RefSysName: STRING
En estas variables se emite el nombre de la herramienta activa y del sistema de
referencia. Para indicar a qué categoría pertenecen las variables, se anteponen a ellas los
siguientes prefijos:
“S” indica una variable del sistema
“G” indica una variable global
“P” indica una variable de proyecto
“L” indica una variable de programa local
Estos identificadores se anteponen al nombre propiamente dicho. Para separarlas del
nombre se utiliza un espacio en blanco.
64
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
RefSysNumber: DINT, ToolNumber: DINT
Ambas salidas devuelven el número del sistema de referencia activo o de la herramienta
que está incluido en la correspondiente lista de remisión horizontal (véase el capítulo
7.5.5 Activación de sistemas de referencia y herramientas en la página 68). Si ninguna
herramienta o ningún sistema de referencia de esta lista se encuentra activo, se devuelven los siguientes valores:
RefSysNumber = 0: sistema de referencia WORLD activo
RefSysNumber = -1: Se encuentra activo otro sistema de referencia que no está
incluido en la lista. El nombre se puede averiguar por medio de la salida
RefSysName.
ToolNumber = 0: herramienta FLANGE activa
ToolNumber = -1: Se encuentra activa otra herramienta que no está incluida en la
lista. El nombre se puede averiguar por medio de la salida ToolName.
AxisCountMain: DINT, AxisCountWrist: DINT, AxisCountWrist: DINT
Estas salidas devuelven el número de ejes disponibles en la cinemática.
Salida
Descripción
AxisCountMain
Número de ejes de base
AxisCountWrist
Número de ejes de orientación
AxisCountAux
Número de ejes auxiliares
Tabla 7.26 Variables de número de ejes
AxisLSN: WORD, AxisLSP: WORD
Estas dos variables contienen, codificado en bits, el estado de la posición final positiva y
negativa de cada uno de los ejes. Si un bit es True, el respectivo detector de final de
carrera se encuentra activo.
La asignación de bits es la siguiente:
Bits
Descripción
0a5
Eje 1 a 6
6a8
Ejes auxiliares 1 a 3
Tabla 7.27 Asignación de bits de los ejes
AxisReferenced: WORD, AxisSimulated: WORD
Con estas variables codificadas en bits se puede leer si un eje está referenciado o
simulado. Con True, el respectivo eje está simulado; con respecto a la asignación de los
bits, véanse las salidas AxisLSN, AxisLSP.
GDCP-CMXR-C2-CS-ES 1002NH
65
7. Descripción de la biblioteca RcInterface.lib
AxisPos: TAxisPos
La salida AxisPos devuelve los valores nominales actuales de cada una de las posiciones
de eje.
Contenido del tipo de datos TAXISPOS:
Variable
Tipo
Unidad
Significado
a1
REAL
mm o grados
Posición del eje 1
a2
REAL
mm o grados
Posición del eje 2
a3
REAL
mm o grados
Posición del eje 3
a4
REAL
mm o grados
Posición del eje 4
a5
REAL
mm o grados
Posición del eje 5
a6
REAL
mm o grados
Posición del eje 6
aux1
REAL
mm o grados
Posición del eje auxiliar 1
aux2
REAL
mm o grados
Posición del eje auxiliar 2
aux3
REAL
mm o grados
Posición del eje auxiliar 3
Tabla 7.28 Estructura del tipo de dato TAXISPOS
CartPosWorld: TCartPos, CartPosRefSys: TCartPos
Con la variable CartPosWorld se emite la posición nominal cartesiana actual. El sistema de
referencia está en el sistema WORLD, es decir, el origen es el punto cero establecido en la
configuración.
La variable CartPosRefSys contiene el valor nominal cartesiano en el sistema de referencia
activo.
Contenido del tipo de datos TCartPos:
Variable
Tipo
Unidad
Significado
x
REAL
mm
Posición cartesiana X
y
REAL
mm
Posición cartesiana Y
z
REAL
mm
Posición cartesiana Z
a
REAL
Grado
Orientación A
b
REAL
Grado
Orientación B
c
REAL
Grado
Orientación C
aux1
REAL
mm o grados
Posición del eje auxiliar 1
aux2
REAL
mm o grados
Posición del eje auxiliar 2
aux3
REAL
mm o grados
Posición del eje auxiliar 3
Tabla 7.29 Estructura del tipo de datos TCartPos
66
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
AxisDyn: TAxisDyn, CartDyn: TCartDyn, PathDyn: TPathDyn
La variable AxisDyn devuelve los valores nominales actuales de la dinámica de ejes.
La variable CartDyn devuelve los valores nominales actuales de la dinámica cartesiana.
La variable PathDyn devuelve los valores nominales actuales de la dinámica de trayectorias que corresponden tanto a los ejes de base como a los ejes de orientación.
Contenido de los tipos de datos TAxisDyn, TCartDyn, TPathDyn
Tipo
Elementos
Tipo de elemento
TAxisDyn
a1, a2, a3, a4, a5, a6, aux1, aux2, aux3
TDyn
TCartDyn
x, y, z, a, b, c, aux1, aux2, aux3
TDyn
TPathDyn
Path, Ori
TDyn
Tabla 7.30 Estructura de los tipos de datos TAxisDyn, TCartDyn,
TPathDyn
Contenido del tipo de elemento TDyn:
Variable
Tipo
Unidad
Significado
Vel
Real
mm/s
Velocidad
Acc
Real
mm/s²
Aceleración
Jerk
Real
mm/s³
Sacudida
Tabla 7.31 Estructura del tipo de dato TDyn
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
GDCP-CMXR-C2-CS-ES 1002NH
67
7. Descripción de la biblioteca RcInterface.lib
7.5.5
Activación de sistemas de referencia y herramientasn,
RcIfSetRefSys und RcIfSetTool
En el modo manual, para desplazar los ejes también se puede seleccionar el sistema de
coordenadas de herramienta y el sistema de referencia activo. Con los módulos
RcIfSetRefSys y RcIfSetTool se puede activar un sistema de referencia o una herramienta.
Los sistemas de referencia y las herramientas se pueden definir libremente mediante un
nombre en el programa FTL. Puesto que estos nombres pueden cambiar según el
programa, no es posible acceder a estos datos. Por este motivo, los sistemas de
referencia y las herramientas deben estar asignadas al sector de datos global del RC. No
se permite ninguna asignación que no sea ésta.
El acceso a los sistemas de referencia y a las herramientas se basa en una lista de
referencia en la que los nombres de los sistemas de referencia o las herramientas
aparecen numerados. Existen listas separadas: una para los sistemas de referencia y otra
para las herramientas. Estas listas se configuran en la Festo Configuration Tool (FCT).
Nota
Tanto la lista de los sistemas de referencia como la de las
herramientas forman parte de la configuración y solamente surten
efecto después de reiniciar el CMXR-C2.
Nota
Para ejecutar los módulos RcIfSetRefSys y RcIfSetTool es necesario
el control de nivel superior.
Tanto el módulo RcIfSetRefSys como el módulo RcIfSetTool requieren las mismas
condiciones:
El sistema de referencia o la herramienta deben estar indicados en la tabla de
remisiones.
Todos los sistemas de referencia y herramientas deben estar establecidos como
variables globales.
Debe estar activado el modo de funcionamiento manual.
68
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Datos de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
Execute
BOOL
Ejecución de la selección
Index
DINT
Número del sistema de referencia/la herramienta
Tabla 7.32 Entradas de los módulos RcIfSetRefSys, RcIfSetTool
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
Execute: BOOL
Con el flanco ascendente se activa el sistema de referencia cuyo número está indicado en
la variable Index.
Index: DINT
Número del sistema de referencia/de la herramienta procedente de la lista de remisión
horizontal. Si se indica el valor 0, eso significa:
Activación del sistema de referencia WORLD o
Activación de la herramienta FLANGES.
Todos los demás valores que no figuren en la tabla darán lugar a un error. Este estado se
señaliza con la salida Error.
GDCP-CMXR-C2-CS-ES 1002NH
69
7. Descripción de la biblioteca RcInterface.lib
Datos de salida
Variable
Tipo
Significado
Done
BOOL
El sistema de referencia ha sido establecido o la
herramienta ha sido establecida
ActRefSys,
DINT
ActTool
Sistema de referencia actualmente seleccionado
Herramienta actualmente seleccionada
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.33 Salidas de los módulos RcIfSetRefSys, RcIfSetTool
Done: BOOL
El estado TRUE de la salida Done indica que el sistema de referencia/la herramienta se ha
activado.
ActRefSys: DINT, ActTool: DINT;
Devuelve el número del sistema de referencia actualmente activado o de la herramienta
actualmente activada.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
7.5.6
Movimiento manual, RcIfJogControl
El módulo JOG permite desplazar manualmente ejes de robot individuales. Para poder
utilizar la función JOG:
El robot debe estar listo para funcionar
El control de nivel superior debe estar disponible
Los actuadores están conectados
El modo de funcionamiento manual debe estar activo
70
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Nota
Para ejecutar el módulo RcIfJogControl se necesita el control de
nivel superior.
Datos de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
MoveToPosition
BOOL
Desplazamiento hasta la posición de destino
MoveNegative
BOOL
Ejecución del movimiento en sentido negativo
MovePositive
BOOL
Ejecución del movimiento en sentido positivo
Axis
INT
Número del eje
CoordSys
INT
Número del sistema de coordenadas
TargetPosition
Real
Posición de destino de MoveToPosition
Tabla 7.34 Entradas del módulo RcIfJogControl
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
MoveToPosition: BOOL
Con el flanco ascendente de estas entradas se inicia, en el respectivo sistema de
coordenadas, el movimiento de los ejes especificados en las otras entradas.
El movimiento se efectúa (si es posible) hasta la posición de destino introducida en
TargetPosition. Con el flanco descendente de la entrada, el movimiento de detiene.
MovePositive: BOOL, MoveNegative: BOOL
Con el flanco ascendente de estas entradas se inicia, en el respectivo sistema de coordenadas, el movimiento de los ejes especificados en las otras entradas. El movimiento se
realiza hasta que en la entrada aparece un flanco descendente. Solamente una de las dos
entradas debe poseer el estado TRUE.
AxisNumber: INT
Número del eje con el que se debe ejecutar el movimiento. No obstante, la asignación de
los ejes depende del sistema de coordenadas establecido (entrada CoordSys) y tiene la
siguiente significancia:
GDCP-CMXR-C2-CS-ES 1002NH
71
7. Descripción de la biblioteca RcInterface.lib
Sistema de coordenadas de ejes:
AxisNumber
Descripción
1
Selección del eje 1
2
Selección del eje 2
3
Selección del eje 3
4
Selección del eje 4
5
Selección del eje 5
6
Selección del eje 6
7
Selección del eje auxiliar 1
8
Selección del eje auxiliar 2
9
Selección del eje auxiliar 3
Tabla 7.35 Números de eje del sistema de coordenadas de ejes
Sistemas cartesianos (sistema de coordenadas universales, sistema de coordenadas de
referencia, sistema de coordenadas de herramienta):
AxisNumber
Descripción
1
Selección del eje X cartesiano
2
Selección del eje Y cartesiano
3
Selección del eje Z cartesiano
4
Selección de la orientación A cartesiana
5
Selección de la orientación B cartesiana
6
Selección de la orientación C cartesiana
7
Selección del eje auxiliar 1
8
Selección del eje auxiliar 2
9
Selección del eje auxiliar 3
Tabla 7.36 Números de eje de los sistemas de coordenadas
cartesianos
CoordSys: INT
Con la entrada CoordSys se establece el sistema de coordenadas en el que se debe
ejecutar el movimiento del eje. Los valores permitidos son:
CoordSys
Descripción
0
Sistema de coordenadas de ejes
1
Sistema cartesiano de coordenadas universales
2
Sistema de coordenadas cartesiano del sistema de referencia activo
3
Sistema cartesiano de coordenadas de herramienta
Tabla 7.37 Selección de sistemas de coordenadas
72
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Datos de salida
Variable
Tipo
Significado
LSN
BOOL
Detector de final de carrera negativo
LSP
BOOL
Detector de final de carrera positivo
ActAxisNumber
INT
Número del eje seleccionado
ActCoordSys
INT
Número del actual sistema de coordenadas
ActCoordSysName
STRING(16)
Nombre del actual sistema de coordenadas
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.38 Salidas del módulo RcIfJogControl
LSN: BOOL, LSP: BOOL
Estas salidas indican que el eje seleccionado ha alcanzado su posición final
negativa/positiva.
ActAxis: INT
Devuelve el número de eje actualmente seleccionado
ActCoordSys: INT
Indica el sistema de coordenadas actualmente seleccionado en el que se debe efectuar el
avance por impulsos (jog).
ActCoordSysName: String
Indica en texto no codificado el sistema de coordenadas actualmente seleccionado en el
que se debe efectuar el avance por impulsos (jog).
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
GDCP-CMXR-C2-CS-ES 1002NH
73
7. Descripción de la biblioteca RcInterface.lib
7.5.7
Override, RcIfOverride
Con el módulo RcIfOverride se puede ajustar el porcentaje de override.
Nota
Para ejecutar el módulo RcIfOverride se necesita el control de nivel
superior.
Datos de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
SetOverride
INT
Valores reales del override
Tabla 7.39 Entradas del módulo RcIfOverride
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
SetOverride: INT
Especificación del valor nominal de override; se debe tener en cuenta el modo de
funcionamiento:
Modo automático:
0 = se establece un override de 0,1%.
1-100 = se establece un override de entre 1% y 100%.
Modo JOG:
0 = se establece un override JOG de 0,1 incrementos.
1 = se establece un override JOG de 1 incremento.
2 … 100 = se establece un override JOG de entre 2% y 100%.
Los valores < 0 o >100 son ignorados y el último valor de override válido se conserva.
74
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
Datos de salida
Variable
Tipo
Significado
ActOverride
INT
Valor actual de override
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrodID
Código del error de ejecución
Tabla 7.40 Salidas del módulo RcIfOverride
ActOverride: INT
Salida del override actual. Esta salida siempre se actualiza independientemente del
permiso de escritura.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
GDCP-CMXR-C2-CS-ES 1002NH
75
7. Descripción de la biblioteca RcInterface.lib
7.5.8
Control de programa, RcIfProgramControl
El control de programa se ejecuta con el módulo RcIfProgramControl. Con este módulo se
pueden cargar, iniciar y detener programas. Estas funciones se pueden realizar tanto en el
modo manual como en el automático.
Nota
Para ejecutar el control de programa con el módulo
RcIfProgramControl es necesario el control de nivel superior.
Datos de entrada
Variable
Tipo
Significado
RobotIndex
DINT
Número de la cinemática
Load
BOOL
Carga del programa
Unload
BOOL
Descarga del programa
Start
BOOL
Inicio del programa
Stop
BOOL
Parada del programa
EnableProgHold
BOOL
Activación de la parada programada
ProgramNumber
INT
Número del programa
Tabla 7.41 Entradas del módulo RcIfProgramControl
RobotIndex: DINT
Esta entrada es un índice que permite seleccionar la cinemática de un sistema de
múltiples cinemáticas. En el manual del sistema se indica cúantas cinemáticas permite el
sistema. La primera cinemática siempre reacciona con el número de índice 0.
Load, Unload: BOOL
Con un flanco ascendente del comando Load se carga el programa que aparece indicado
en el FCT, en la lista de programas bajo el número de programa. Si este programa no está
disponible, se emite un error.
76
GDCP-CMXR-C2-CS-ES 1002NH
7. Descripción de la biblioteca RcInterface.lib
La carga consiste en cargar el programa FTL desde la tarjeta CF en la memoria de trabajo,
donde luego se puede iniciar. El flanco ascendente de Unload retira de la memoria de
trabajo un programa FTL previamente cargado. “Unload número de programa 0” descarga
todos los programas cargados.
Start, Stop: BOOL
El flanco ascendente del comando Start inicia un programa FTL previamente cargado. Con
el flanco ascendente del comando Stop se puede detener dicho programa. A continuación,
el programa se puede volver a iniciar.
EnableProgHold: BOOL
Si la señal EnableProgHold está activada en la interface, es decir, si tiene el estado TRUE,
el programa de movimiento se detiene cuando se activa la instrucción ProgHold.
Solamente se detendrá el programa en el que se encuentra la instrucción ProgHold. Los
demás programas, por ejemplo los programas paralelos, continuarán ejecutándose. Si la
señal EnableProgHold tiene el estado FALSE, el programa detenido continuará.
ProgramNumber: INT
Número del programa que está incluido en la lista de programas configurada.
Preseleccionando el número de programa 0, se descargan todos los programas cargados.
Datos de salida
Variable
Tipo
Significado
Ack
BOOL
Acuse de recibo positivo
Nack
BOOL
Acuse de recibo negativo
Loaded
BOOL
Por lo menos 1 programa cargado
Running
BOOL
Por lo menos 1 programa en ejecución
ProgHoldActive
BOOL
Parada programada activa
ActiveProgramNumber
INT
Número del programa activo
ActiveProjectName
STRING(32)
Nombre del proyecto activo
ActiveProgamName
STRING(32)
Nombre del programa activo
Error
BOOL
Se han producido errores en la ejecución
ErrorId
TRcIfErrorID
Código del error de ejecución
Tabla 7.42 Salidas del módulo RcIfProgramControl
GDCP-CMXR-C2-CS-ES 1002NH
77
7. Descripción de la biblioteca RcInterface.lib
Ack: BOOL, Nack: BOOL
La salida Ack es la señal de handshake positiva en respuesta a las solicitudes de carga,
inicio y parada de programas. Si no es posible ejecutar una función, esta imposibilidad se
comunica mediante la salida Nack. También se comunica información adicional por medio
de la salida Error y ErrorCode.
Loaded: BOOL, Running: BOOL
El estado Loaded indica que por lo menos un programa está cargado; el estado Running
indica que un programa está activo.
ProgHoldActive: BOOL
La salida ProgHoldActive comunica con el estado TRUE que en el programa FTL está activa
la instrucción ProgHold (parada programada).
ActiveProgramNumber: INT
La salida indica el número de proyecto/programa de la tabla de programas que se
encuentra activo en ese momento.
ActiveProjectName: STRING(32), ActiveProgramName: STRING(32)
Estas salidas indican el nombre de proyecto FTL y programa FTL que se encuentra activo
en ese momento.
Error: BOOL
Se ha producido un error de ejecución: para obtener una explicación del error, véase la
salida ErrorId
ErrorId: TRcIfErrorID
Código del error de ejecución; la descripción del código de error se puede consultar en las
constantes globales de la biblioteca.
78
GDCP-CMXR-C2-CS-ES 1002NH
A. Apéndice
A.
Apéndice
A.1
Descripción de funciones importantes
En este apartado se describe brevemente, en forma de tabla, el uso de las funciones más
importantes.
A.1.1
Demanda del control de nivel superior
General
Módulo
RcIfWriteAccess
Condición
El RC ha arrancado sin errores, ControllerReady = TRUE
El control de nivel superior no está asignado, AccessAvailable = TRUE
Acción
Demanda de concesión del control de nivel superior, WriteRequest = TRUE
Reacción
El control de nivel superior ha sido asignado, AccessActive = TRUE
A.1.2
Establecimiento de la disposición de servicio del control
de movimiento
General
Módulo
RcIfModeControl
Condición
El RC ha arrancado sin errores, ControllerReady = TRUE
Acción
EmergencyStop = TRUE
Modo de funcionamiento seleccionado
SetManualMode/ SetHandMode = TRUE
Reacción
AutoActive/ HandActive señaliza el modo de funcionamiento activo
RobotReady señaliza que el RC está listo para la autorización
GDCP-CMXR-C2-CS-ES 1002NH
79
A. Apéndice
A.1.3
Autorización de los actuadores del control de movimiento
Autorización en el modo manual
Módulo
RcIfModeControl
Condición
El RC ha arrancado sin errores, ControllerReady = TRUE
RC listo para la autorización. RobotReady = TRUE
ManualActive = TRUE
Acción
EnablingSwitch = TRUE
Reacción
RobotActive señaliza la autorización activa del RC
Autorización en modo automático
Módulo
RcIfModeControl
Condición
El RC ha arrancado sin errores, ControllerReady = TRUE
RC listo para la autorización. RobotReady = TRUE
AutoActive = TRUE
Acción
DrivesOnAuto = TRUE
Reacción
RobotActive señaliza la autorización activa del RC
80
GDCP-CMXR-C2-CS-ES 1002NH
A. Apéndice
A.1.4
Carga del programa
General
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
En el control se encuentran disponibles los programas que figuran en la tabla.
Se ha seleccionado el programa deseado por medio de la entrada ProgramNumber
Acción
Activación del bit Load (flanco ascendente).
Espera a ACK o NACK
Reacción
El programa/proyecto se carga Loaded = TRUE
Carga del primer programa con confirmación positiva
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
En el control se encuentran disponibles los programas que figuran en la tabla.
Se ha seleccionado el programa deseado por medio de la entrada ProgramNumber
Acción
Activación del bit Load (flanco ascendente).
Espera a ACK o NACK
Reacción
ACK se activa e indica que la carga se ha efectuado correctamente
Loaded se activa e indica que se ha cargado, como mínimo, un programa.
Carga de otro programa con confirmación positiva
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
En el control se encuentran disponibles los programas que figuran en la tabla.
Se ha seleccionado el programa deseado por medio de la entrada ProgramNumber
Acción
Activación del bit Load (flanco ascendente).
Espera a ACK o NACK
Reacción
ACK se activa e indica que la carga se ha efectuado correctamente
Loaded permanece activado e indica que se ha cargado, como mínimo, un programa.
GDCP-CMXR-C2-CS-ES 1002NH
81
A. Apéndice
Carga del primer programa con confirmación negativa
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
En el control se encuentran disponibles los programas que figuran en la tabla.
Se ha seleccionado el programa deseado por medio de la entrada ProgramNumber
Acción
Activación del bit Load (flanco ascendente).
Espera a ACK o NACK
Reacción
NACK se activa e indica que la carga no se ha efectuado correctamente.
Loaded permanece con el estado FALSE
Error indica que hay un error pendiente
Carga de otro programa con confirmación negativa
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
En el control se encuentran disponibles los programas que figuran en la tabla.
Se ha seleccionado el programa deseado por medio de la entrada ProgramNumber
Acción
Activación del bit Load (flanco ascendente).
Espera a ACK o NACK
Reacción
NACK se activa e indica que la carga no se ha efectuado correctamente.
Loaded permanece activado e indica que se ha cargado, como mínimo, un programa.
Error indica que hay un error pendiente.
82
GDCP-CMXR-C2-CS-ES 1002NH
A. Apéndice
A.1.5
Inicio del programa
General
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
El programa que se desea iniciar está cargado.
El programa que se desea iniciar ha sido seleccionado por medio de la entrada
ProgramNumber.
Acción
Activación del bit Start (flanco ascendente)
Espera a ACK o NACK
Reacción
El programa/proyecto se inicia Running = TRUE
Inicio del primer programa con confirmación positiva
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
El programa que se desea iniciar está cargado.
El programa que se desea iniciar ha sido seleccionado por medio de la entrada
ProgramNumber.
Acción
Activación del bit Start (flanco ascendente)
Espera a ACK o NACK
Reacción
ACK se activa e indica que el inicio se ha efectuado correctamente
Running se activa e indica que se está ejecutando, como mínimo, un programa.
Inicio de otro programa con confirmación positiva
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
El programa que se desea iniciar está cargado.
El programa que se desea iniciar ha sido seleccionado por medio de la entrada
ProgramNumber.
Acción
Activación del bit Start (flanco ascendente)
Espera a ACK o NACK
Reacción
ACK se activa e indica que el inicio se ha efectuado correctamente.
Running permanece, en su caso, activado e indica que se está ejecutando, como mínimo,
un programa.
GDCP-CMXR-C2-CS-ES 1002NH
83
A. Apéndice
Inicio del primer programa con confirmación negativa
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
El programa que se desea iniciar está cargado.
El programa que se desea iniciar ha sido seleccionado por medio de la entrada
ProgramNumber.
Acción
Activación del bit Start (flanco ascendente)
Espera a ACK o NACK
Reacción
NACK se activa e indica que el inicio no se ha efectuado correctamente.
Running permanece con el estado FALSE.
Error indica que hay un error pendiente.
Inicio de otro programa con confirmación negativa
Módulo
RcIfProgramControl
Condición
El control de nivel superior está en la interfaz PLC
El programa que se desea iniciar está cargado.
El programa que se desea iniciar ha sido seleccionado por medio de la entrada
ProgramNumber.
Acción
Activación del bit Start (flanco ascendente)
Espera a ACK o NACK
Reacción
NACK se activa e indica que el inicio no se ha efectuado correctamente.
Running permanece, en su caso, activado e indica que se está ejecutando, como mínimo,
un programa.
Error indica que hay un error pendiente.
Nota
La salida Running regresa automáticamente a su estado original si
ya no se ejecuta ningún otro programa.
84
GDCP-CMXR-C2-CS-ES 1002NH
A. Apéndice
A.1.6
Función ProgHold
Activación de la función
Módulo
RcIfProgramControl
Condición
El programa se encuentra en el estado Running
El programa FTL contiene la función ProgHold
Acción
Activación del bit EnableProgHold (flanco ascendente).
Con Start, el programa vuelve a iniciarse donde se interrumpió.
Reacción
Con ProgHoldActive se señaliza que el RC se ha detenido en la parada programada.
Running adquiere el estado FALSE si no se ejecuta ningún otro programa.
Desactivación de la función
Módulo
RcIfProgramControl
Condición
El programa se encuentra en el estado ProgHoldActive
Acción
Si es preciso, coloque EnableProgHold en el estado FALSE
Con Start, el programa vuelve a iniciarse donde se interrumpió.
Reacción
ProgHoldActive adquiere el estado FALSE
GDCP-CMXR-C2-CS-ES 1002NH
85
A. Apéndice
A.2
Bibliotecas de apoyo a la aplicación
Las posibilidades de aplicación del CMXR-C2 son muy variadas. Para muchas de estas
aplicaciones, el control de proceso constituye el elemento central de unión. Festo ofrece,
para estas aplicaciones, otros componentes adaptados al CMXR-C2 con los que también
se pueden administrar solicitudes costosas.
Nota
Las propias bibliotecas, así como una descripción más detallada de
las mismas, se pueden encontrar en el sitio web de Festo.
A.2.1
RcTracking.lib (solamente CMXR-C2)
Biblioteca para la realización de aplicaciones de Tracking.
Cometido:
-
Control de las macros FTL de Tracking en el control de movimiento.
A.2.2
Festo_Motion.lib (CoDeSys general)
Biblioteca de actuadores eléctricos de Festo.
Cometido:
-
Facilita todas las funciones de los actuadores en el PLC.
A.2.3
PartDetector.lib (CoDeSys general)
Biblioteca para el control de sistemas de cámara de Festo utilizados para detectar de
piezas, p. ej. sobre una cinta en movimiento.
Cometido:
-
Bloqueo de la señal del codificador
-
Resolución de imagen
-
Detección de piezas dobles
-
Transferencia de los datos de cámara al PLC mediante TCP/IP
A.2.4
Festo_CameraControl.lib (CoDeSys general)
Funciones básicas de control de los sistemas de cámara de Festo mediante TCP/IP
Cometido:
-
Establecimiento de la conexión
-
Lectura de parámetros
-
Resolución de imagen
86
GDCP-CMXR-C2-CS-ES 1002NH
Descargar