Los productos OMRON se fabrican para su uso conforme a procedimientos
adecuados, por un operador cualificado, y sólo para el fin descrito en este
manual.
Las convenciones que aparecen a continuación se utilizan para indicar
y clasificar las precauciones que aparecen en este manual. Preste atención
siempre a la información que aparece en ellas. Su incumplimiento podría
conllevar lesiones físicas o daños materiales.
Definición de información preventiva
PELIGRO
Indica una situación de peligro inmediato que, de no evitarse,
puede ocasionar la muerte o lesiones graves.
ADVERTENCIA
Indica una situación de peligro potencial que, de no evitarse,
puede ocasionar la muerte o lesiones graves.
/i
Precaución
Indica una situación potencialmente peligrosa que, de no evitarse,
puede ocasionar lesiones físicas o daños materiales menores
o moderados.
Marcas comerciales y copyrights
PROFIBUS es una marca registrada de PROFIBUS International.
MECHATROLINK es una marca registrada de Yaskawa Corporation.
DeviceNet es una marca registrada de Open DeviceNet Vendor Assoc INC.
Revisión 3.0
CIP es una marca registrada de Open DeviceNet Vendor Assoc INC.
Trajexia es una marca registrada de OMRON.
Motion Perfect es una marca registrada de Trio Motion Technology Ltd.
Reservados todos los derechos. Se prohíbe la reproducción, almacenamiento en sistemas
de recuperación o transmisión total o parcial, por cualquier forma o medio (mecánico,
electrónico, fotocopiado, grabación u otros) sin la previa autorización por escrito de OMRON.
No se asume responsabilidad alguna con respecto al uso de la información contenida
en el presente manual. Asimismo, dado que OMRON mantiene una política de constante
mejora de sus productos de alta calidad, la información contenida en el presente manual
está sujeta a modificaciones sin previo aviso. En la preparación de este manual se han
adoptado todas las precauciones posibles. No obstante, OMRON no se hace responsable
de ningún error u omisión. Tampoco se hace responsable de los posibles daños
resultantes del uso de la información contenida en esta publicación.
Acerca de este manual
NombreCat. No.Contenido
En este manual se describen la instalación y la operación del sistema
Motion Control Trajexia.
Antes de intentar instalar o utilizar las unidades Motion Control Trajexia,
se recomienda leer detenidamente el presente manual, así como toda
la documentación afín relacionada en la tabla, con el objeto de familiarizarse
perfectamente con la información facilitada. Asegúrese de leer las
precauciones presentadas en la siguiente sección.
/i
NombreCat. No.Contenido
Sistema Motion Control
Trajexia
GUÍA RÁPIDA
DE REFERENCIA
MANUAL DE
REFERENCIA DE
HARDWARE del sistema
Motion Control Trajexia
Sistema Motion Control
Trajexia
MANUAL
DE PROGRAMACIÓN
Manual del servodriver
Sigma-II
Manual del servodriver
de la serie JUNMA
Revisión 3.0
Manual de JUSP-NS115SIEP C71080001Se describen la instalación
I50ESe describe cómo familiarizarse
rápidamente con Trajexia en una
configuración de prueba para mover
un solo eje con MECHATROLINK-II.
I51ESe describen la instalación y las
especificaciones de hardware de
las unidades Trajexia y se explica
la filosofía del sistema Trajexia.
I52ESe describen los comandos
BASIC que se utilizan para
la programación de Trajexia,
se explican los protocolos de
comunicaciones y el software
Trajexia, se ofrecen ejemplos
prácticos e información para la
detección y corrección de errores.
SIEP S800000 15Se describen la instalación
y la operación de los servodrivers
Sigma-II.
TOEP-C71080603 01-OY Se describen la instalación
y la operación de los servodrivers
JUNMA.
y la operación del módulo
de aplicación de MECHATROLINK-II.
Manual de Sigma-III con
interfaz MECHATROLINK
Variador V7TOEP C71060605 02-OY Se describen la instalación
Variador F7ZTOE S616-55 1-OYSe describen la instalación
Variador G7TOE S616-60Se describen la instalación
Interfaz MECHATROLINK
SI-T para G7 y F7
Interfaz MECHATROLINK
ST-T/V7 para V7
Módulos de E/S
MECHATROLINK
Comandos de
comunicaciones de
SYSMAC series CS/CJ
SIEP S800000 11Se describen la instalación
y la operación de los
servodrivers Sigma-III
con interfaz MECHATROLINK
y la operación de los variadores V7.
y la operación de los variadores F7Z.
y la operación de los variadores G7.
SIBP-C730600-08Se describen la instalación
y la operación de las interfaces
MECHATROLINK para los
variadores G7 y F7.
SIBP-C730600-03Se describen la instalación
y la operación de las interfaces
MECHATROLINK para los
variadores V7.
SIE C887-5Se describen la instalación
y la operación de los módulos
de entrada y salida MECHATROLINK
y el repetidor MECHATROLINK-II.
W342Se describen el protocolo
de comunicaciones FINS
y los comandos FINS.
ADVERTENCIA
Asegúrese de leer y comprender la información incluida
en este manual; en caso contrario, pueden producirse daños
personales o incluso la muerte, daños en el producto o fallos
del mismo. Antes de iniciar cualquiera de los procedimientos
y las operaciones indicadas, lea cada sección en su totalidad
y asegúrese de comprender toda la información incluida
en ella y en las secciones relacionadas.
MANUAL DE PROGRAMACIÓN3
Funciones compatibles por versiones de unidad
Durante el desarrollo de Trajexia, se han incorporado nuevas funciones
a la unidad controladora después de su lanzamiento al mercado.
Estas funciones están implementadas en el firmware y FPGA de la unidad
controladora.
En la tabla siguiente se muestra un resumen de las funciones correspondientes
en relación con la versión de firmware y FPGA de TJ1-MC__.
/i
FuncionalidadVersión de firmware
de TJ1-MC__
Compatibilidad completa con
TJ1-FL02
Compatibilidad con comandos
BASIC FINS_COMMS
Compatibilidad con TJ1-DRTV1.6509Todas las versiones
Compatibilidad con TJ1-MC04
y TJ1-ML04
V1.650921 y superior
V1.6509Todas las versiones
V1.660721 y superior
Versión de FPGA
de TJ1-MC__
Compruebe las versiones de firmware y FPGA de TJ1-MC__
Conecte TJ1-MC__ al software Trajexia Tools. Consulte el manual
de programación.
Abra la ventana de terminal y escriba los siguientes comandos:
Escriba
PRINT VERSION en la ventana de terminal. Este comando
devuelve el número de versión de firmware actual del controlador Motion.
Escriba
PRINT FPGA_VERSION SLOT(-1) en la ventana de terminal. Este
comando devuelve el número de versión de FPGA actual de TJ1-MC__.
Revisión 3.0
MANUAL DE PROGRAMACIÓN4
Contenido
1Advertencias y precauciones de seguridad.............................................................................................................................................16
1.1Perfil de usuario..............................................................................................................................................................................................................................16
1.3Precauciones de seguridad ............................................................................................................................................................................................................16
1.4Precauciones del entorno de servicio.............................................................................................................................................................................................17
1.5Precauciones de uso ......................................................................................................................................................................................................................18
1.6Precauciones de montaje de la unidad...........................................................................................................................................................................................21
2.1.1Hardware de Trajexia .......................................................................................................................................................................................................23
2.2Programación multitarea en BASIC................................................................................................................................................................................................23
2.3.1Instrucciones de eje, sistema y tarea ...............................................................................................................................................................................24
2.3.2Áreas de memoria ............................................................................................................................................................................................................24
2.3.3Estructuras de datos y variables ......................................................................................................................................................................................25
2.4Ejecución de Motion Control...........................................................................................................................................................................................................28
2.4.1Generador de Motion Control...........................................................................................................................................................................................28
2.4.3Carga de movimientos......................................................................................................................................................................................................29
2.5Interfaz de línea de comandos .......................................................................................................................................................................................................30
2.6.1Gestión de programas......................................................................................................................................................................................................30
2.6.2Compilacion de programas...............................................................................................................................................................................................31
2.6.3Ejecución del programa....................................................................................................................................................................................................31
3.1.1Comandos de eje ............................................................................................................................................................................................................33
3.1.2Parámetros de eje ...........................................................................................................................................................................................................34
3.1.3Comandos y parámetros de comunicaciones .................................................................................................................................................................36
3.1.5Comandos, funciones y parámetros de E/S ...................................................................................................................................................................36
3.1.6Funciones y operandos matemáticos ...........................................................................................................................................................................37
Revision 3.0
MANUAL DE PROGRAMACIÓN5
3.1.7Comandos de programa ..................................................................................................................................................................................................37
3.1.8Comandos de control de programa .................................................................................................................................................................................38
3.1.9Parámetros y modificadores de slot ...............................................................................................................................................................................38
3.1.10Comandos y funciones del sistema ...............................................................................................................................................................................38
Contenido
Revision 3.0
3.1.11Parámetros del sistema ...................................................................................................................................................................................................39
3.1.12Comandos y parámetros de tareas .................................................................................................................................................................................40
3.2Todos los comandos BASIC...........................................................................................................................................................................................................41
3.2.6= (es igual a).....................................................................................................................................................................................................................42
3.2.8<> (no es igual a)..............................................................................................................................................................................................................42
3.2.9> (es mayor que) ..............................................................................................................................................................................................................43
3.2.10>= (es mayor o igual que).................................................................................................................................................................................................43
3.2.11< (es menor que) ..............................................................................................................................................................................................................43
3.2.12<= (es menor o igual que) ................................................................................................................................................................................................43
3.2.14' (campo de comentarios) .................................................................................................................................................................................................44
3.2.15: (separador de instrucciones) ..........................................................................................................................................................................................44
3.2.122 FLAG ................................................................................................................................................................................................................................84
3.2.133 GET ..................................................................................................................................................................................................................................88
3.2.134 GLOBAL ...........................................................................................................................................................................................................................89
3.2.137 HALT ................................................................................................................................................................................................................................90
3.2.170 MARK .............................................................................................................................................................................................................................106
3.2.175 MOD ...............................................................................................................................................................................................................................109
3.2.187 NEW ...............................................................................................................................................................................................................................117
3.2.190 NOT ................................................................................................................................................................................................................................118
3.2.192 OFF ................................................................................................................................................................................................................................118
3.2.194 ON ..................................................................................................................................................................................................................................119
3.2.197 OP ..................................................................................................................................................................................................................................119
3.2.199 OR ..................................................................................................................................................................................................................................120
3.2.204 PI ....................................................................................................................................................................................................................................122
3.2.211 PROCESS ......................................................................................................................................................................................................................125
3.2.258 TAN ................................................................................................................................................................................................................................144
3.2.267 TRON .............................................................................................................................................................................................................................146
3.2.272 UNTIL .............................................................................................................................................................................................................................147
3.2.274 VERSION .......................................................................................................................................................................................................................147
3.2.282 WAIT UNTIL ...................................................................................................................................................................................................................150
4Protocolos de comunicaciones .............................................................................................................................................................. 153
4.2.1Comunicación con Trajexia directamente desde el ordenador .....................................................................................................................................154
4.2.2Comunicación con Trajexia de forma remota.................................................................................................................................................................155
4.2.4Protocolo de servidor FINS ........................................................................................................................................................................................156
4.2.5Protocolo de cliente FINS...............................................................................................................................................................................................158
4.3Protocolo serie ...........................................................................................................................................................................................................................158
4.3.1Maestro Host Link ..........................................................................................................................................................................................................158
4.3.2Esclavo Host Link .......................................................................................................................................................................................................163
4.3.3Protocolo definido por el usuario ..................................................................................................................................................................................165
4.4.2Configuración de las comunicaciones............................................................................................................................................................................167
4.4.3Estado de las comunicaciones ......................................................................................................................................................................................172
4.5.2Configuración de las comunicaciones............................................................................................................................................................................173
4.5.3Estado de las comunicaciones ......................................................................................................................................................................................178
5.2Especificaciones y conexiones .....................................................................................................................................................................................................180
5.2.1Especificaciones del PC ................................................................................................................................................................................................180
5.2.2Instalación del software Trajexia Tools .........................................................................................................................................................................181
Revision 3.0
MANUAL DE PROGRAMACIÓN13
5.2.3Conexión a la TJ1-MC__ ...............................................................................................................................................................................................186
5.3.1Proyectos de Trajexia Tools...........................................................................................................................................................................................191
5.3.2Ventana de comprobación de proyecto ......................................................................................................................................................................192
Contenido
5.4Ventana de aplicación de Trajexia Tools .....................................................................................................................................................................................194
5.4.1Panel de control..............................................................................................................................................................................................................194
5.4.2Barra de menú................................................................................................................................................................................................................194
5.4.3Barra de herramientas ...................................................................................................................................................................................................195
5.5Descripciones de menús .............................................................................................................................................................................................................196
5.5.3Menú Program (Programa).............................................................................................................................................................................................203
5.5.7Menú Help (Ayuda).........................................................................................................................................................................................................224
6Ejemplos y sugerencias...........................................................................................................................................................................225
6.1.1Programa de inicio .........................................................................................................................................................................................................225
6.1.2Ajustes de ganancia .....................................................................................................................................................................................................229
6.1.3Ajuste del parámetro de eje UNITS y la relación de engranaje......................................................................................................................................239
6.1.4Asignación de entradas y salidas del servodriver ..........................................................................................................................................................251
6.1.5Búsqueda de origen .......................................................................................................................................................................................................253
6.1.7Seguimiento y monitorización ........................................................................................................................................................................................269
6.2.2Programa de inicialización ...........................................................................................................................................................................................283
6.2.3Programa de un solo eje ..............................................................................................................................................................................................286
6.2.4Posición con detección de producto ..............................................................................................................................................................................287
6.2.5Posición en una cuadrícula ...........................................................................................................................................................................................289
6.2.6Programa de alimentador de bolsas ..............................................................................................................................................................................291
6.2.7Tabla CAM en un programa ........................................................................................................................................................................................293
6.2.8Programa de sierra pendular ........................................................................................................................................................................................295
6.2.9Programa de corrección ..............................................................................................................................................................................................298
7Detección y corrección de errores..........................................................................................................................................................300
7.1Tensión y herramientas de análisis ..............................................................................................................................................................................................300
7.2.1Errores de sistema .........................................................................................................................................................................................................300
7.2.2Errores de eje.................................................................................................................................................................................................................300
7.2.3Errores de unidad...........................................................................................................................................................................................................301
7.2.4Errores de configuración ................................................................................................................................................................................................302
7.2.5Sustituya la batería.........................................................................................................................................................................................................302
7.3.1Errores de sistema .........................................................................................................................................................................................................302
7.3.2Problemas de comunicaciones de datos de E/S............................................................................................................................................................303
7.4.1Errores de sistema .........................................................................................................................................................................................................304
7.4.2Problemas de comunicaciones de datos de E/S............................................................................................................................................................304
7.5.1Errores de sistema .........................................................................................................................................................................................................304
7.5.2Error de bus....................................................................................................................................................................................................................304
7.6.1Errores de sistema .........................................................................................................................................................................................................305
Revision 3.0
MANUAL DE PROGRAMACIÓN15
Advertencias y precauciones de seguridad
1Advertencias y precauciones de seguridad
1.1Perfil de usuario
Este manual está dirigido al personal con conocimientos de sistemas
eléctricos (ingenieros eléctricos o equivalentes) que estén encargados
del diseño, instalación y gestión de los sistemas e instalaciones
de automatización industrial.
1.2Precauciones generales
El usuario debe utilizar el producto con arreglo a las especificaciones
de rendimiento descritas en este manual.
Consulte a su representante de OMRON antes de utilizar el producto
en alguna situación no contemplada en este manual o de emplearlo en
sistemas de control nuclear, sistemas ferroviarios, sistemas de aviación,
vehículos, equipos de seguridad, plantas petroquímicas y otros sistemas,
máquinas o equipos que puedan tener una repercusión grave en vidas
o propiedades en caso de uso incorrecto.
1.3Precauciones de seguridad
ADVERTENCIA
Bajo ninguna circunstancia cortocircuite los terminales positivo
y negativo de las baterías, ni cargue, desarme, deforme, aplique
presión ni queme las baterías.
Las baterías pueden explotar, quemarse o derramar líquido.
ADVERTENCIA
El usuario debe tomar medidas de protección a prueba de fallos
para garantizar la seguridad en caso de que no se reciban señales
o que éstas sean incorrectas o anómalas debido a cortes
momentáneos de corriente u otras causas.
En caso de no hacerlo pueden producirse graves accidentes.
ADVERTENCIA
El usuario deberá instalar por su cuenta circuitos de parada
de emergencia, de bloqueo y de limitación, así como otras
medidas de seguridad similares, en circuitos externos
(es decir, no en el controlador Motion Trajexia).
En caso de no hacerlo pueden producirse graves accidentes.
ADVERTENCIA
No intente desmontar la unidad ni toque ninguna de las
piezas internas mientras esté conectada la alimentación.
Esto podría provocar una descarga eléctrica.
ADVERTENCIA
No toque ningún terminal o bloque de terminales mientras
esté conectada la alimentación.
En caso contrario podrían producirse descargas eléctricas.
Revisión 3.0
MANUAL DE PROGRAMACIÓN16
ADVERTENCIA
Cuando la salida de 24 Vc.c. (fuente de alimentación de E/S
de TJ1) esté sobrecargada o cortocircuitada, puede producirse
una caída de tensión que provoque la desconexión de las salidas.
Para evitar dichos problemas, deben incorporarse al sistema
medidas de prevención externas que garanticen la seguridad.
ADVERTENCIA
Las salidas de TJ1 se desconectarán debido a la sobrecarga
de los transistores de salida (protección). Para evitar dichos
problemas, deben incorporarse al sistema medidas de prevención
externas que garanticen la seguridad.
Advertencias y precauciones de seguridad
Revisión 3.0
ADVERTENCIA
TJ1 desconectará WDOG cuando su función de autodiagnóstico
detecte un error. Para evitar dichos problemas, deben
incorporarse al sistema medidas de prevención externas
que garanticen la seguridad.
ADVERTENCIA
Con el objeto de garantizar la seguridad del sistema en
caso de producirse una anomalía como consecuencia de
un funcionamiento incorrecto de TJ1 o de cualquier otro factor
externo que afecte a éste, incorpore a los circuitos externos,
es decir no al controlador Motion Trajexia (denominado “TJ1”),
medidas de seguridad.
En caso de no hacerlo pueden producirse graves accidentes.
ADVERTENCIA
No intente desarmar, reparar o modificar ninguna unidad.
Cualquier intento de hacerlo puede provocar desperfectos,
descargas eléctricas e incluso incendios.
Precaución
Compruebe las condiciones de seguridad de la unidad de destino
antes de transferir un programa a otra unidad o de editar la memoria.
La realización de cualquiera de estos procesos sin confirmar
las condiciones de seguridad puede provocar lesiones.
Precaución
No se realizará automáticamente una copia de seguridad de los
programas de usuario escritos para la unidad Motion Control
en la memoria flash de TJ1 (función de memoria flash).
Precaución
Preste especial atención a la polaridad (+/–) cuando realice
el cableado de la fuente de alimentación de c.c. Una conexión
errónea puede provocar el funcionamiento incorrecto del sistema.
Precaución
Apriete los tornillos del bloque de terminales de la fuente de
alimentación de c.a. al par de apriete especificado en este manual.
Los tornillos flojos pueden provocar incendios o un funcionamiento
incorrecto.
1.4Precauciones del entorno de servicio
Precaución
No utilice la unidad en ninguno de los siguientes lugares.
Esto podría provocar un funcionamiento incorrecto, descargas
eléctricas o incendios.
–Lugares expuestos a la luz directa del sol.
–Lugares expuestos a temperaturas o grados de humedad
fuera de los rangos determinados en las especificaciones.
–Lugares expuestos a condensación como resultado
de cambios drásticos de temperatura.
–Lugares expuestos a gases corrosivos o inflamables.
–Lugares con altas cantidades de polvo
(especialmente polvo de hierro) o sal.
–Lugares expuestos al contacto con agua,
aceite o productos químicos.
–Lugares sometidos a golpes o vibraciones.
Precaución
En el momento de realizar instalaciones en los siguientes lugares,
adopte las suficientes medidas de seguridad.
Unas medidas inadecuadas o insuficientes pueden provocar
un funcionamiento incorrecto.
–Lugares expuestos a electricidad estática u otras formas de ruido.
–Lugares expuestos a fuertes campos electromagnéticos.
–Lugares expuestos a una posible radioactividad.
–Lugares cercanos a fuentes de alimentación.
MANUAL DE PROGRAMACIÓN17
Advertencias y precauciones de seguridad
Precaución
El entorno de servicio del sistema TJ1 puede tener un efecto
muy importante en la vida útil y en la fiabilidad del sistema.
Los entornos de funcionamiento inadecuados pueden provocar
un funcionamiento incorrecto, averías y otros problemas
imprevistos en el sistema TJ1.
Asegúrese de que el entorno de funcionamiento cumple
las condiciones especificadas, tanto durante la instalación
como durante toda la vida del sistema.
1.5Precauciones de uso
ADVERTENCIA
No arranque el sistema hasta que haya comprobado
que los ejes están presentes y son del tipo correcto.
Los números de los ejes flexibles cambiarán si se producen
errores de la red MECHATROLINK-II durante el arranque
o si cambia la configuración de dicha red.
ADVERTENCIA
Asegúrese de que el programa del usuario puede ejecutarse
correctamente antes de ejecutarlo en la unidad.
De lo contrario puede producirse un funcionamiento imprevisto.
Precaución
Adopte las medidas apropiadas para garantizar que se suministra
la alimentación con la tensión y frecuencia nominal especificada.
Tenga especial cuidado en lugares en los que la alimentación
eléctrica sea inestable.
Una alimentación inapropiada puede provocar un funcionamiento
incorrecto.
Precaución
Instale disyuntores externos y tome otras medidas de seguridad
frente a cortocircuitos en cableados externos.
En caso de que no se tomen las suficientes medidas de seguridad
para prevenir cortocircuitos, puede producirse un incendio.
Precaución
No aplique a las unidades de entrada una tensión superior
a la tensión nominal de entrada.
Un exceso de tensión puede provocar un incendio.
Precaución
No aplique tensión ni conecte cargas a las unidades
de salida que superen la capacidad de conmutación máxima.
Los excesos de tensión o de carga pueden provocar incendios.
Precaución
Utilice siempre la tensión de alimentación indicada en este manual.
Una tensión incorrecta puede provocar un funcionamiento incorrecto
o un incendio.
Revisión 3.0
MANUAL DE PROGRAMACIÓN18
Precaución
Durante la realización de pruebas de aislamiento
de tensión, desconecte el terminal de puesta a tierra.
De lo contrario, puede producirse un incendio.
Advertencias y precauciones de seguridad
Precaución
Al instalar las unidades, conéctelas siempre a una toma de tierra
de clase 3 (hasta 100Ω o menos).
El no conectar a una toma de tierra de clase 3 puede provocar
descargas eléctricas.
Precaución
Desconecte siempre la alimentación del sistema antes
de proceder a realizar cualquiera de las siguientes tareas.
De lo contrario, puede producirse un funcionamiento incorrecto
o descargas eléctricas.
–Montaje o desmontaje de las unidades expansoras,
CPUs u otras unidades.
–Ensamblado de las unidades.
–Configuración de los interruptores DIP o de los interruptores
rotativos.
–Conexión de cables o cableado.
–Conexión o desconexión de los conectores.
Precaución
Asegúrese de que todos los tornillos de montaje, de terminal
y del conector de cable están apretados al par especificado
en este manual.
El uso de un par inapropiado puede provocar un funcionamiento
incorrecto.
Precaución
Una vez concluido el cableado, retire la etiqueta de protección
al polvo para permitir una adecuada disipación térmica.
Dejar la etiqueta de protección al polvo pegada puede provocar
un funcionamiento incorrecto.
Precaución
Utilice terminales de crimpar para el cableado. No conecte
cables trenzados pelados directamente a los terminales.
La conexión de cables trenzados desnudos puede provocar
un incendio.
Precaución
Antes de conectar la alimentación eléctrica, vuelva a comprobar
el cableado.
Un cableado incorrecto puede provocar un incendio.
Precaución
Realice un cableado correcto.
Un cableado incorrecto puede provocar un incendio.
Precaución
Monte la unidad sólo después de haber comprobado
exhaustivamente el bloque de terminales.
Precaución
Durante el cableado, deje pegada la etiqueta de protección
al polvo a la unidad.
Si se quita la etiqueta de protección al polvo puede provocar
Revisión 3.0
MANUAL DE PROGRAMACIÓN19
un funcionamiento incorrecto.
Precaución
Asegúrese de que los bloques de terminales, los cables
de expansión y demás elementos con dispositivos de bloqueo
están situados adecuadamente.
De lo contrario, podría producirse un funcionamiento incorrecto.
Advertencias y precauciones de seguridad
Revisión 3.0
Precaución
Confirme que no se producirá ningún efecto negativo adverso
en el sistema antes de cambiar el modo de operación del sistema.
En caso de no hacerlo, puede producirse un funcionamiento
imprevisto.
Precaución
Reanude el funcionamiento sólo cuando haya transferido
a la nueva CPU el contenido de las memorias VR y tabla
necesarias para el funcionamiento.
En caso de no hacerlo, puede producirse un funcionamiento
imprevisto.
Precaución
Cuando sustituya alguna pieza, asegúrese de comprobar
que los valores nominales de la nueva pieza sea la correcta.
De lo contrario podría producirse un funcionamiento incorrecto
o un incendio.
Precaución
No tire de los cables ni los doble más allá de sus límites naturales.
Los cables podrían romperse.
Precaución
Antes de tocar el sistema, toque antes un objeto metálico
conectado a tierra para descargarse de la electricidad estática
que pudiera haber acumulado.
De lo contrario, se podría producir un funcionamiento incorrecto
o daños.
Precaución
Los cables UTP no están apantallados. En los entornos
expuestos a ruidos, utilice cables de par trenzado apantallado
(STP) y concentradores adecuados para un entorno FA.
No instale cables de par trenzado con líneas de alta tensión.
No instale cables de par trenzado cerca de dispositivos que
generen ruido.
No instale cables de par trenzado en lugares que estén
expuestos a altos niveles de humedad.
No instale cables de par trenzado en lugares que estén
expuestos a polvo y suciedad excesivos o a vapores de grasa
u otros contaminantes.
Precaución
Utilice cables de conexión dedicados, según lo especificado
en los manuales de operación, para conectar las unidades.
El uso de cables RS-232C estándar para ordenador puede
provocar fallos en los dispositivos externos o la unidad
de Motion Control.
Precaución
Las salidas pueden permanecer conectadas debido
a un funcionamiento incorrecto de las salidas transistor
incorporadas u otros circuitos internos. Para evitar dichos
problemas, deben incorporarse al sistema medidas
de prevención externas que garanticen la seguridad.
Precaución
TJ1 comenzará a funcionar en modo RUN cuando se conecte
la alimentación si un programa BASIC está configurado en modo
de ejecución automática.
MANUAL DE PROGRAMACIÓN20
Advertencias y precauciones de seguridad
1.6Precauciones de montaje de la unidad
Precaución
Instale la unidad correctamente.
Una instalación incorrecta de la unidad puede provocar
un funcionamiento incorrecto.
Precaución
Asegúrese de montar la terminación incluida con la TJ1-MC__
en la unidad instalada más a la derecha.
A menos que la terminación se monte correctamente, la TJ1
no funcionará de forma adecuada.
Revisión 3.0
MANUAL DE PROGRAMACIÓN21
Sistema Trajexia
2Sistema Trajexia
2.1Introducción
Trajexia es una plataforma Motion Control de OMRON que ofrece
el rendimiento y la facilidad de uso de un sistema Motion Control
dedicado.
Trajexia es un sistema modular independiente que permite la máxima
flexibilidad y escalabilidad. En el corazón de Trajexia se encuentra
el coordinador de Motion Control multitarea TJ1. Reforzado con
un DSP de 32 bits, puede realizar tareas de Motion Control, como
levas electrónicas, engranaje electrónico, control de registro
e interpolación, todo ello mediante simples comandos Motion.
Trajexia ofrece un control perfecto de hasta 16 ejes mediante
un bus de Motion Control MECHATROLINK-II, o control analógico
o de impulsos tradicional, con posicionamiento independiente,
control de par y velocidad para cada eje. Y además su potente
juego de instrucciones de Motion Control hace que la
programación se realice de forma intuitiva y sencilla.
Puede seleccionar de entre una amplia gama de los mejores
servosistemas rotativos, lineales, Direct-Drives y variadores.
El sistema es escalable hasta 16 ejes y 8 dispositivos no ejes
(variadores o módulos de E/S).
HMI serie NS
E/S digital
HostLink
MECHATROLINK-II
fig. 1
PLC serie CJ
Ethernet
CX-one
Trajexia Tools
Maestro
PROFIBUS-DP
Maestro
DEVICENET
Revisión 3.0
MANUAL DE PROGRAMACIÓN22
Sistema Trajexia
2.1.1Hardware de Trajexia
El hardware de Trajexia se describe en el manual de referencia de hardware
de Trajexia. Se recomienda leer dicho manual en primer lugar.
El sistema Trajexia ofrece estas ventajas:
Conectividad directa mediante Etherne
El puerto integrado Ethernet de Trajexia proporciona conectividad
directa y rápida a PCs, PLCs, HMIs y otros dispositivos, a la vez que
ofrece acceso completo a los drivers mediante un bus de Motion Control
MECHATROLINK-II. Permite mensajes explícitos a través de Ethernet
y mediante MECHATROLINK-II con el fin de proporcionar transparencia
completa hasta el nivel de actuador, lo que posibilita el acceso remoto.
Protección de los programas
El método de cifrado de Trajexia garantiza la protección y confidencialidad
de sus programas.
Puerto serie y E/S locales
Un puerto serie proporciona conexion directa con cualquier PLC de
OMRON, HMI o cualquier otro dispositivo de campo. Con las 16 entradas
y 8 salidas completamente configurables incluidas en el controlador puede
adaptar el sistema Trajexia al diseño de su máquina.
Maestro MECHATROLINK-II
El maestro MECHATROLINK-II realiza el control de un máximo de 16
dispositivos, a la vez que ofrece una completa transparencia en todo el
sistema. MECHATROLINK-II ofrece la velocidad de comunicación y la
precisión esenciales para garantizar un perfecto control de los servos del
sistema. El tiempo de ciclo de Motion Control se puede seleccionar entre
0,5 ms, 1 ms ó 2 ms.
TJ1-FL02 (unidad de eje flexible)
La TJ1-FL02 permite el completo control de dos actuadores mediante
Revisión 3.0
una salida analógica o tren de impulsos. El módulo admite los principales
protocolos de encoder absolutos, con lo que se puede conectar un encoder
externo al sistema.
Drivers y variadores
Hay disponible una amplia variedad de servos rotativos, lineales
y Direct-Drive así como variadores para ajustarse a sus necesidades
de tamaño compacto, rendimiento y fiabilidad. Los variadores conectados
a MECHATROLINK-II están controlados con el mismo tiempo de ciclo
de actualización que los servodrivers.
E/S remotas
Las E/S del bus Motion Control MECHATROLINK-II proporcionan
la posibilidad de expansión del sistema a la vez que mantienen los
dispositivos en un solo bus Motion Control.
PROFIBUS-DP
El esclavo PROFIBUS-DP permite conectar una red PROFIBUS en la máquina.
DeviceNet
El esclavo DeviceNet permite conectar una red DeviceNet en la máquina.
2.1.2Este manual
Este manual de programación ofrece información dedicada a:
•La descripción y el uso de los comandos BASIC
•Los protocolos de comunicaciones necesarios para el sistema Trajexia
•El uso y la descripción de los componentes del interfaz de Trajexia Tools
•Ejemplos de programación y buenas prácticas de programación
•Detección y corrección de errores y búsqueda de fallos
2.2Programación multitarea en BASIC
Las unidades TJ1-MC__ (CPU del Controlador Motion) ofrecen
la posibilidad de programación multitarea en lenguaje de programación
BASIC. El lenguaje Motion Control se basa en un lenguaje BASIC de token
y los programas se compilan en el formato de token antes de ejecutarse.
MANUAL DE PROGRAMACIÓN23
Sistema Trajexia
La multitarea es fácil de configurar y usar, y permite la programación
de máquinas muy complejas. La multitarea ofrece a la TJ1-MC__ una
ventaja considerable sobre sistemas monotarea equivalentes. Permite
aplicaciones modulares en las que los procesos conectados lógicamente
se pueden agrupar en el mismo programa de tarea, lo que simplifica
la arquitectura y el diseño del código.
La TJ1-MC__ puede ejecutar hasta 14 programas si lo permite el tamaño de la
memoria. El usuario controla la ejecución de los programas mediante BASIC.
Los comandos, funciones y parámetros BASIC presentados aquí se pueden
encontrar en el capítulo 3.
2.3Programación BASIC
El lenguaje BASIC consta, entre otros elementos, de comandos, funciones
y parámetros. Estas instrucciones BASIC son los componentes que
se proporcionan para controlar la operación de la TJ1-MC__.
Los comandos son palabras reconocidas por el procesador que llevan
a cabo una determinada acción pero no devuelven un valor. Por ejemplo,
PRINT
o variables siguientes se impriman en un determinado dispositivo de salida.
Las funciones son palabras reconocidas por el procesador que llevan
a cabo una determinada acción y devuelven un valor relacionado con dicha
acción. Por ejemplo, ABS toma el valor de su parámetro y devuelve el valor
absoluto del mismo para que lo utilice otra función o comando. Por ejemplo,
ABS(-1) devolverá el valor 1, que puede usar el comando PRINT para
generar una cadena que se enviará a un determinado dispositivo.
Los parámetros son palabras reconocidas por el procesador que contienen
un determinado valor. Este valor se puede leer y, si no es de sólo lectura,
escribir. Los parámetros se utilizan para determinar y monitorizar
el comportamiento del sistema. Por ejemplo, ACCEL determina
la aceleración de un movimiento para un determinado eje.
es una palabra reconocida que provocará que el valor de las funciones
Instrucciones de eje
Los comandos y los parámetros de eje se aplican a uno o varios ejes.
Los parámetros de eje determinan y monitorizan el modo en que un eje
reacciona a los comandos indicados y su comportamiento en el mundo
exterior. Cada eje tiene un conjunto de parámetros, por lo que todos los
ejes pueden funcionar independientemente entre sí. Los comandos pueden
controlar uno o varios ejes simultáneamente, mientras que cada eje tiene
su propio comportamiento. Los parámetros se resetean a sus valores
predeterminados en cada arranque.
Los comandos y parámetros trabajan sobre algun eje o grupo de ejes,
lo que se especifica con el comando BASE. El comando BASE se utiliza
para cambiar este grupo de ejes y cada tarea tiene su propio grupo que
se puede cambiar en cualquier momento. El eje predeterminado es 0.
Los comandos o parámetros también se pueden programar para funcionar
AXIS
temporalmente en un eje si se incluye la función
en el comando dependiente de eje. Una asignación temporal solo es efectiva
para un comando o parámetro si tras el se incluye el modificador
como modificador
AXIS
.
Instrucciones de tarea
Los parámetros de tarea se aplican a una sola tarea. Los parámetros
de tarea monitorizan la tarea para por ejemplo, el tratamiento de errores.
El modificador PROC permite al usuario acceder a un parámetro de una
determinada tarea. Sin PROC se supone la tarea actual. El comando
BASE (consulte más arriba) es específico de la tarea y se puede utilizar
con el modificador PROC.
Instrucciones de sistema
Estas instrucciones rigen todas las funciones del sistema y son básicamente
todas las instrucciones que no pertenecen a los dos primeros grupos.
2.3.2Áreas de memoria
2.3.1Instrucciones de eje, sistema y tarea
Revisión 3.0
Los comandos, las funciones y los parámetros se aplican a cualquiera
de los ejes, las tareas en ejecución o el sistema general.
MANUAL DE PROGRAMACIÓN24
En la unidad Motion Control Trajexia se pueden identificar tres áreas
de memoria principales:
•Memoria de E/S.
•Memoria VR.
•Memoria TABLE.
Sistema Trajexia
Memoria de E/S
La memoria de E/S se utiliza para contener el estado de los dispositivos
de entrada y salida conectados al sistema Trajexia. Se divide en dos subáreas:
una para la memoria de E/S digitales y otra para la memoria de E/S analógicas.
La memoria de E/S digitales contiene los estados de entrada y salida de los
dispositivos de E/S digitales. Su capacidad es de 256 bits (puntos de entrada)
para la entrada y de 256 bits (puntos de salida) para las salidas. A las entradas
IN
de esta memoria se puede acceder mediante el comando
OUT
puede acceder mediante el comando
La memoria de E/S analógicas contiene los valores de entrada y salida de los
dispositivos de E/S analógicas. Su capacidad es de 36 canales de entrada
y 36 canales de salida. A los canales de entrada analógica se puede acceder
mediante el comando
acceder mediante el comando
AIN
. A los canales de salida analógica se puede
AOUT
.
.
. A las salidas se
Memoria VR
La memoria VR se utiliza habitualmente si algunos datos tienen que ser
globales, lo que significa que se puede acceder a ellos desde todos los
programas del proyecto a la vez. El tamaño de esta memoria es de 1.024
entradas de la direccion 0 la 1.023. Una entrada de memoria se direcciona
con la macro VR(x) donde x es el direccion de la entrada de memoria VR.
La memoria VR está accesible para lectura y escritura. La escritura se lleva
a cabo mediante la asignación matemática con el comando = en el
programa. El contenido de esta memoria se retiene en la memoria RAM
alimentada por baterías y se conserva durante la desconexión. La memoria
VR también se conserva al cambiar la batería, si se realiza rápidamente.
Memoria TABLE
TABLE se utiliza habitualmente si algunos datos tienen que ser globales,
lo que significa que se puede acceder a ellos desde todos los programas
del proyecto a la vez. Mientras que la memoria VR se utiliza para propósitos
similares con el fin de definir datos y valores globales, la memoria TABLE
se utiliza para cantidades mucho mayores de datos globales, por lo que
es necesario organizarlos en un determinado orden. Por este motivo, la
memoria TABLE se utiliza habitualmente para almacenar tablas de datos,
perfiles de Motion Control, registrar datos, etc. Algunos comandos BASIC
Revisión 3.0
que proporcionan datos de este tipo y tamaño, por ejemplo
CAMBOX
resultados. El tamaño de esta memoria es de 64.000 entradas desde la
etc., requieren el uso de la memoria TABLE para escribir sus
SCOPE, CAM
direccion 0 a 63.999. A la memoria TABLE se puede acceder para lectura
y también para escritura, pero la forma en que se accede es distinta para estas
dos operaciones. Antes leer una determinada entrada de memoria TABLE, se
tiene que definir y escribir en primer lugar con el comando
valor2,…)
valor1, valor2
y
en las direcciones x, x + 1, ... Una entrada de memoria TABLE, una vez
definida y escrita, se puede leer con el comando
direccion de la entrada de memoria TABLE. Un intento de leer una entrada
de memoria TABLE sin definir da como resultado un mensaje de error de la
TJ1-MC__. El contenido de la memoria TABLE se retiene en la memoria RAM
alimentada por baterías y se conserva durante la desconexión. La memoria
TABLE también se conserva al cambiar la batería, si se realiza rápidamente.
donde x es la primera direccion de memoria TABLE que se definirá
, ... son los valores que se escriben en la memoria TABLE
TABLE(x)
TABLE(x, valor1,
, donde x es la
2.3.3Estructuras de datos y variables
Los programas BASIC pueden almacenar datos numéricos en varios tipos
de variables. Algunas variables tienen funciones predefinidas, como los
parámetros de eje y los parámetros del sistema; otras variables están
a disposición del programador para que las defina según lo necesite en la
programación. Las variables de TABLE, globales y locales de la TJ1-MC__ se
explican en esta sección. Además, también se especificará el uso de etiquetas.
Variables de TABLE
TABLE es una estructura de matriz que contiene una serie de números.
Estos números se utilizan, por ejemplo, para especificar posiciones en el
perfil para un comando CAM o CAMBOX. También se pueden utilizar para
almacenar datos para un uso posterior, por ejemplo, para almacenar los
parámetros utilizados para definir un programa que se procesará.
TABLE es común a todas las tareas de la TJ1-MC__. Esto significa que
los valores escritos en TABLE desde una tarea se puede leer en otras.
Los valores de TABLE se pueden escribir y leer con el comando TABLE.
La longitud máxima de la matriz es de 64.000 elementos, de TABLE(0)
a TABLE(63999). La matriz TABLE se inicializa hasta el máximo elemento
definido.
,
Variables globales
Las variables globales, definidas en la memoria VR, son comunes a todas
las tareas de la TJ1-MC__. Esto significa que si un programa que se ejecuta
en la tarea 2 establece VR(25) en un determinado valor, otro programa que
MANUAL DE PROGRAMACIÓN25
Sistema Trajexia
se ejecute en otra tarea distinta puede leer el mismo valor de VR(25).
Esto resulta muy útil para sincronizar dos o más tareas, pero se debe tener
cuidado para evitar que varios programas escriban en la misma variable
simultáneamente. El controlador tiene 1.024 variables globales, de VR(0)
a VR(1023). Las variables se leen y escriben con el comando VR.
A los datos de TABLE y VR se puede acceder desde
las distintas tareas en ejecución. Al utilizar las variables
de VR o TABLE, asegúrese de utilizar sólo una tarea
para escribir en una determinada variable. Esto evitará
que dos programas escriban inesperadamente en una
misma variable.
Variables locales
Las variables con nombre o las variables locales se pueden declarar en los
programas y son locales a la tarea. Esto significa que dos o más programas
que se ejecuten en tareas distintas pueden utilizar el mismo nombre de
variable, pero sus valores pueden ser distintos. Las variables locales no
se pueden leer desde cualquier tarea, excepto en la que se han declarado.
Las variables locales siempre se borran cuando se inicia un programa. Las
variables locales se pueden borrar utilizando el comando CLEAR o RESET.
Se puede declarar un máximo de 255 variables locales. Sólo los 16 primeros
caracteres del nombre son significativos. Las variables locales no definidas
devolverán cero. Las variables locales no se pueden declarar en la línea de
comandos.
/i
inicio:
FOR a = 1 to 100
MOVE(a)
WAIT IDLE
NEXT a
GOTO inicio
inicio:
a=0
REPEAT
a = a + 1
PRINT a
UNTIL a = 300
GOTO inicio
Estos dos programas se pueden ejecutar simultáneamente en tareas
distintas y disponer de su propia versión de la variable a y la etiqueta inicio.
Si necesita contener datos comunes entre dos o más programas, se deben
usar variables VR. O, alternativamente, si se debe contener una gran
cantidad de datos, se puede utilizar la memoria TABLE.
Para que un programa sea más legible al utilizar una variable VR global,
se pueden adoptar dos planteamientos. El primero consiste en utilizar
una variable local con nombre como una constante en la variable VR.
No obstante, la variable constante local se debe declarar en cada programa
mediante la variable VR global. Con este planteamiento, el ejemplo siguiente
muestra cómo usar VR(3) para contener un parámetro longitud común a varios
programas:
Los programas BASIC se ejecutan en orden descendente a través de las
líneas. Las etiquetas se pueden utilizar para alterar este flujo de ejecución
con los comandos BASIC GOTO y GOSUB. Para definir una etiqueta, debe
aparecer como la primera instrucción en una línea y debe terminar en dos
puntos (:). Las etiquetas pueden ser cadenas de caracteres de cualquier
longitud, pero sólo los 15 primeros caracteres son significativos.
Revisión 3.0
Uso de variables y etiquetas
Cada tarea tiene sus propias etiquetas y variables locales. Por ejemplo,
consulte los dos programas mostrados a continuación:
MANUAL DE PROGRAMACIÓN26
Inicial:
longitud = 3
RETURN
El otro planteamiento es incluso más legible y utiliza el comando GLOBAL
para declarar el nombre como una referencia a una de las variables VR
globales. Posteriormente, el nombre se puede utilizar desde el programa
que contiene la definición GLOBAL y todos los demás programas. Tenga
en cuenta que el programa que contiene la definición GLOBAL se debe
ejecutar antes de que el nombre se use en los demás programas. La mejor
práctica es definir nombres globales en el programa de inicio. Con este
planteamiento, el ejemplo anterior cambia a:
Inicial:
longitud = 3
RETURN
Sistema Trajexia
/i
'La declaración en el programa de inicio
GLOBAL longitud, 3
'En los demás programas ejecutados después del programa
de inicio
inicio:
longitud = x
...
...
inicio:
MOVE(longitud)
PRINT(longitud)
...
2.3.4Especificaciones matemáticas
Formato de número
La TJ1-MC__ tiene dos formatos principales para los valores numéricos:
coma flotante de precisión simple y entero de precisión simple.
El formato de coma flotante de precisión simple es un valor de 32 bits.
Tiene un campo de exponente de 8 bits, un bit de signo y campo de fracción
de 23 bits con un 1 implícito como el bit 24. Los números de coma flotante
tienen un rango válido de ±5,9 x 10
−39
a ±3,4 x 1038.
Los enteros son fundamentalmente número de coma flotante con un
exponente cero. Esto implica que los enteros tienen un ancho de 24 bits.
El rango de enteros, por lo tanto, se indica de –16.777.216 a 16.777.215.
Los valores numéricos fuera de este rango serán de coma flotante.
Todos los cálculos matemáticos se realizan en formato de
coma flotante. Esto implica que en los cálculos de valores
mayores los resultados tendrán una precisión limitada. El
usuario debe tenerlo en cuenta al desarrollar la aplicación
Motion Control.
Formato hexadecimal
La TJ1-MC__ admite la asignación e impresión de valores hexadecimales.
Revisión 3.0
Un número hexadecimal se introduce anteponiendo al número el carácter $.
El rango válido es de 0x0 a 0xFFFFFF. Ejemplo:
>> VR(0)=$FF
>> PRINT VR(0)
255.0000
Un valor se puede imprimir en hexadecimal utilizando la función HEX.
Los valores negativos dan como resultado el valor hexadecimal
de complemento a 2 (24 bits). El rango válido va de −8.388.608
a 16.777.215. Ejemplo:
Para el posicionamiento, la TJ1-MC__ redondeará hacia arriba si la
distancia de borde de encoder fraccionario excede de 0,9. De lo contrario,
el valor fraccionario se redondeará hacia abajo. La posición medida interna
y la posición solicitada de los ejes, representadas por los parámetros de eje
MPOS y DPOS, tienen contadores de 32 bits.
Comparación de coma flotante
La función de comparación considera una pequeña diferencia entre
valores como igual para evitar resultados de comparación inesperados.
Por lo tanto, dos valores cualesquiera cuya diferencia sea menor que
1,19 x 10
−6
se consideran iguales.
Prioridad
La prioridad de los operadores se indica a continuación:
1. Menos unario, NOT
2. ^
3. / *
4. MOD
5. + –
6. = <> > >= <= <
7. AND OR XOR
8. Izquierda a derecha
La mejor forma de garantizar la prioridad de los distintos operadores
es mediante el uso de paréntesis.
MANUAL DE PROGRAMACIÓN27
Sistema Trajexia
2.4Ejecución de Motion Control
Cada tarea de la TJ1-MC__ tiene un conjunto de búferes que
contiene la información de los comandos Motion Control indicados.
2.4.1Generador de Motion Control
El generador de Motion Control tiene dos búferes de Motion
Control para cada eje. Un búfer denominado MTYPE, contiene
el movimiento actual, que es el movimiento que se está ejecutando
actualmente en el eje. El otro búfer denominado NTYPE, contiene
el movimiento siguiente, que se ejecuta después de que haya
acabado el movimiento real.
Consulte el capítulo 2.8 “Búferes de movimiento” en el manual
de referencia de Trajexia para obtener una explicación detallada.
Los programas BASIC están separados del programa generador
del perfil de movimiento, que controla los movimientos de los ejes.
El generador de perfiles de movimiento tiene funciones separadas
para cada eje, por lo que cada uno puede programarse con sus
propios parámetros de eje (por ejemplo, velocidad o aceleración)
y moverse independiente y simultáneamente o bien se pueden
enlazar entre sí con comandos especiales.
Cuando se está procesando un comando de movimiento,
el generador de perfiles de movimiento espera hasta que ha
terminado el movimiento y se vacía el búfer del eje requerido;
a continuación, carga estos búferes con la información del
movimiento siguiente.
Revisión 3.0
MANUAL DE PROGRAMACIÓN28
Sistema Trajexia
Si los búferes de tareas están llenos, la ejecución del
programa se pone en pausa hasta que los búferes vuelven
a estar disponibles. Esto también se aplica a la tarea de
línea de comandos y no se pueden indicar comandos
durante dicho período. Trajexia Tools se desconectará
en un caso de este tipo. El parámetro de tarea
PMOVE
se establecerá en TRUE cuando los búferes de tareas
estén llenos y se restablecerán a FALSE cuando los
búferes de tareas vuelvan a estar disponibles.
2.4.2Secuencia
En cada interrupción de ciclo de servo (consulte la sección 2.6.3),
el generador de Motion Control examina los búferes NTYPE para
comprobar si hay alguno disponible. Si lo hay, comprueba si en los
búferes de tareas hay un movimiento que espere para cargarse.
Si se puede cargar un movimiento, se cargan los datos de los ejes
específicos desde los búferes de tareas en los búferes NTYPE
y los búferes de tareas correspondientes se marcan como
inactivos. Este proceso se denomina secuencia.
fig. 2
2.4.3Carga de movimientos
Una vez completada la secuencia, se comprueban los búferes
MTYPE por si se puede cargar algún movimiento. Si los búferes
MTYPE necesarios están disponibles, se carga el movimiento desde los búferes NTYPE en los búferes MTYPE y los búferes
NTYPE se marcan como inactivos. Este proceso se denomina
carga de movimientos. Si hay un movimiento válido en los búferes
MTYPE, se procesa. Cuando el movimiento se ha completado,
los búferes MTYPE se marcan como inactivos.
Revisión 3.0
MANUAL DE PROGRAMACIÓN29
Sistema Trajexia
2.5Interfaz de línea de comandos
La interfaz de línea de comandos proporciona una interfaz directa para
que el usuario ejecute comandos y acceda a parámetros del sistema.
Utilice la ventana de terminal en Trajexia Tools cuando la TJ1-MC__
esté conectada. Consulte información detallada en la sección 5.5.4.
La TJ1-MC__ coloca los últimos 10 comandos indicados en la línea
de comandos en un búfer. Al pulsar las teclas de cursor arriba y abajo
se recorrerá el búfer para volver a ejecutar el comando.
2.6Programas BASIC
La TJ1-MC__ puede almacenar hasta 14 programas en memoria, siempre
que no se exceda la capacidad de la memoria. La TJ1-MC__ admite
instrucciones de tratamiento simples para gestionar estos archivos
de programa en vez del sistema de archivos DOS de un ordenador.
El paquete de software Trajexia Tools se utiliza para almacenar y cargar
programas en un ordenador, y desde él, para archivarlos, imprimirlos
y editarlos. También dispone de varias funciones de monitorización
y depuración de controlador. Consulte el capítulo 5.
2.6.1Gestión de programas
Trajexia Tools crea automáticamente un proyecto que contiene los
programas que se utilizarán para una aplicación. Los programas del
proyecto se mantienen en el controlador y en el ordenador. Siempre
que se crea o edita un programa, Trajexia Tools edita ambas copias
para disponer siempre de una copia de seguridad precisa fuera del
controlador en cualquier momento. Trajexia Tools comprueba que las
dos versiones del proyecto sean idénticas mediante una comprobación
de redundancia cíclica. Si son distintas, Trajexia Tools permite copiar
la versión de TJ1-MC__ en disco o viceversa.
Los programas del ordenador se almacenan en archivos de texto ASCII.
Por lo tanto, se pueden imprimir, editar o copiar con un editor de textos.
Revisión 3.0
Los programas de código fuente se mantienen en la TJ1-MC__ en formato
token y, como resultado, los tamaños de los programas serán menores en
la TJ1-MC__ si se comparan con los mismos programas en el ordenador.
Almacenamiento de programas
Los programas de la TJ1-MC__ se retienen en la memoria RAM alimentada
por baterías y se conservan durante la desconexión. Es similar a la memoria
VR y TABLE. El contenido de la memoria RAM de programas se conserva
cuando la batería está en la TJ1-MC__. Los programas también se
conservan al cambiar la batería, si se realiza rápidamente. Para conservar
los programas sin la batería durante un período más largo, los programas
se deben copiar en la memoria flash del controlador con el comando
EPROM y leerse durante el encendido, lo que se determina con el
parámetro del sistema POWER_UP.
Comandos de programa
La TJ1-MC__ tiene una serie de comandos BASIC que permiten la
creación, manipulación y eliminación de programas. Trajexia Tools
proporciona botones que también realizan estas operaciones, por
lo que el uso de estos comandos no se requiere en los programas.
/i
ComandoFunción
SELECTSelecciona un programa para editarlo, eliminarlo, etc.
NEWElimina el programa seleccionado, un programa especificado o todos los
programas.
DIREnumera el directorio de todos los programas.
COPYDuplica un programa especificado.
RENAMECambia el nombre de un programa especificado.
DELElimina el programa seleccionado actual o un programa especificado.
LISTEnumera el programa seleccionado actual o un programa especificado.
MANUAL DE PROGRAMACIÓN30
Sistema Trajexia
2.6.2Compilacion de programas
El sistema TJ1-MC__ compila los programas automáticamente cuando
es necesario. Normalmente no es necesario forzar al TJ1-MC__ para
que compile los programas, sino que éstos se compilan mediante
el menú Program (Programa) de Trajexia Tools.
El sistema TJ1-MC__ compila automáticamente los programas en las
siguientes ocasiones:
•El programa seleccionado se compila antes de ejecutarse si se ha editado.
•El programa seleccionado se compila si se ha editado antes de cambiar
del programa seleccionado a otro.
•El programa seleccionado se compila mediante el comando COMPILE.
Durante la compilación se comprueban la sintaxis y la estructura del
programa. Si la compilación no se realiza correctamente, se ofrecerá
un mensaje y no se generará código de programa. En el cuadro del
directorio de Trajexia Tools aparecerá una cruz roja.
Los programas no se pueden ejecutar cuando se producen errores de
compilación. Los errores se deben corregir y el programa se tiene que
volver a compilar.
El proceso de compilación también incluye las siguientes acciones:
•Quitar comentarios.
•Compilar los números al formato de procesador interno.
•Convertir las expresiones al formato RPN (Reverse Polish Notation)
para su ejecución.
•Calcular previamente las ubicaciones de variables.
•Calcular e integrar destinos de estructura de lazo.
Como el proceso de compilación requiere memoria libre,
se pueden producir errores de compilación inesperados
cuando la cantidad de memoria libre no sea suficiente.
2.6.3Ejecución del programa
La temporización de la ejecución de las diferentes tareas y la actualización
de las E/S de la TJ1-MC__ giran alrededor del tiempo de ciclo de servo del
sistema. El tiempo de ciclo de servo se determina mediante el parámetro del
sistema SERVO_PERIOD. La TJ1-MC__ tendrá un tiempo de ciclo de servo
de 0,5, 1,0 ó 2,0 ms.
Actualización de E/S
El estado de E/S de la TJ1-MC__ se actualiza al comienzo de cada ciclo
de servo.
•El estado capturado de las entradas digitales se transfiere a la variable
de entrada del sistema IN. Tenga en cuenta que se trata del estado
capturado en el ciclo de servo anterior.
•Se actualizan las salidas analógicas de las referencias de velocidad.
•Las salidas digitales se actualizan según el estado de la variable
de salida del sistema OP.
•Se captura el estado de las entradas digitales.
Tenga en cuenta que no se lleva a cabo ningún procesamiento automático
de las señales de E/S, excepto para el registro. Esto implica que todas las
acciones se deben programar en los programas BASIC.
Comandos relevantes
Trajexia Tools proporciona varias formas de ejecutar, poner en pausa
y parar los programas con los botones del panel de control y las
ventanas de edición. En la línea de comandos se pueden indicar
los siguientes comandos para controlar la ejecución.
/i
ComandoFunción
RUNEjecuta el programa seleccionado actual o un programa especificado,
opcionalmente en un número de tarea especificado.
Revisión 3.0
MANUAL DE PROGRAMACIÓN31
STOPPara el programa seleccionado actual o un programa especificado.
HALTPara todos los programas del sistema.
PROCESSMuestra todas las tareas en ejecución.
Sistema Trajexia
El usuario puede asignar explícitamente la prioridad de tarea en la que se
espera que se ejecute el programa BASIC. Cuando un programa de usuario
se ejecuta sin una asignación de tarea explícita, se le asigna la prioridad
de tarea más alta disponible.
Configuración de programas para ejecutarse al inicio
Los programas se pueden configurar para ejecutarse automáticamente
a distintas prioridades cuando se conecta la alimentación. Si es necesario,
el ordenador se puede dejar conectado como una interfaz de operador
o se puede quitar y los programas se ejecutan de forma independiente.
Los programas se configuran en Trajexia Tools para ejecutarse al inicio
mediante la selección Set Power Up Mode... (Configurar modo de
encendido) en el menú Program (Programa). Esta operación establece
el programa que se ejecuta automáticamente y su prioridad. Esto también
se puede llevar a cabo mediante el comando BASIC RUNTYPE. El estado
actual se puede ver con el comando DIR.
Para obtener más información sobre el control de programas, la multitarea
y los tiempos de ciclo, consulte las secciones 2.2 y 2.3 del manual de
referencia de hardware de Trajexia.
Revisión 3.0
MANUAL DE PROGRAMACIÓN32
Comandos BASIC
3Comandos BASIC
3.1Categorías
En esta sección se enumeran todos los comandos BASIC divididos
en categorías. Las categorías son:
•Comandos de eje.
•Parámetros de eje.
•Comandos y parámetros de comunicaciones.
•Constantes.
•Comandos, funciones y parámetros de E/S.
•Funciones y operaciones matemáticas.
•Comandos de programa.
•Comandos de control de programa.
•Parámetros y modificadores de entrada.
•Comandos y funciones del sistema.
•Parámetros del sistema.
•Comandos y parámetros de tareas.
Las listas sólo son guías de referencia rápida. En la próxima sección
se ofrece una descripción completa de los comandos en orden alfabético.
3.1.1Comandos de eje
/i
NombreDescripción
ACC
ADD_DAC
ADDAX
B_SPLINE
Revisión 3.0
Cambia los parámetros
Suma el valor de
Define un vínculo a un eje superpuesto. Todos los movimientos
de posición solicitada para el eje superpuesto se agregarán
a los movimientos que se están ejecutando actualmente.
Expande el perfil almacenado en la memoria
matemática de b-spline.
ACCEL
y
DECEL
al mismo tiempo.
DAC
de un eje a la salida analógica del eje base.
TABLE
con la función
NombreDescripción
BASE
CAM
CAMBOX
CANCEL
CONNECT
DATUM
DEFPOS
DISABLE_GROUP
DRIVE_ALARM
DRIVE_CLEAR
DRIVE_READ
DRIVE_RESET
DRIVE_WRITE
ENCODER_READ
ENCODER_WRITE
FORWARD
HW_PSWITCH
MECHATROLINK
Se utiliza para establecer el eje base al que se aplican
los comandos y parámetros.
Mueve un eje según los valores de un perfil de movimiento
almacenados en la matriz de variables TABLE.
Mueve un eje según los valores de un perfil de movimiento
almacenados en la matriz de variables TABLE. El movimiento
está vinculado a un movimiento medido de otro eje para formar
un engranaje electrónico de software variable continuamente.
Cancela el movimiento en un eje.
Conecta la posición solicitada de un eje a los movimientos medidos
del eje especificado para el eje_impulsor con el fin de producir
un engranaje electrónico.
Realiza una de las 7 secuencias de búsqueda de origen para situar un
eje en una posición absoluta o restablecer un error de Motion Control.
Define la posición actual como una nueva posición absoluta.
Agrupa los ejes entre sí para desactivar errores.
Monitoriza la alarma actual.
Borra el estado de alarma del servodriver.
Lee el parámetro especificado del servodriver.
Realiza un reset del servodriver.
Escribe un valor específico en el parámetro especificado del
servodriver.
Lee un parámetro del encoder absoluto EnDat.
Escribe en un parámetro del encoder absoluto EnDat.
Mueve un eje continuamente hacia delante a la velocidad definida
en el parámetro
Activa y desactiva el interruptor hardware en la salida
0 de la TJ1-FL02 cuando se alcanzan las posiciones predefinidas.
Inicializa el bus MECHATROLINK-II y efectúa varias operaciones
en las estaciones MECHATROLINK-II conectadas al bus.
SPEED
.
MANUAL DE PROGRAMACIÓN33
Comandos BASIC
NombreDescripción
MHELICAL
MOVE
MOVEABS
MOVECIRC
MOVELINK
MOVEMODIFY
RAPIDSTOP
REGIST
REVERSE
STEP_RATIO
Interpola 3 ejes ortogonales en un movimiento helicoidal.
Mueve uno o varios ejes a la velocidad, aceleración y deceleración
solicitadas hasta la posición especificada como incremento desde
la posición actual.
Mueve uno o varios ejes a la velocidad, aceleración y deceleración
solicitadas hasta la posición especificada como posición absoluta.
Interpola 2 ejes ortogonales en un arco circular.
Crea un movimiento lineal en el eje base vinculado a un engranaje
por software hasta la posición medida de un eje de vínculo.
Cambia la posición final absoluta de un eje que esta ejecutando
un movimiento lineal (
Cancela el movimiento actual en todos los ejes.
Captura una posición de eje cuando se detecta una entrada
de registro o se detecta la marca Z del encoder.
Mueve un eje continuamente hacia atrás a la velocidad definida
en el parámetro
Establece la relación para la salida de un eje paso a paso.
3.1.2Parámetros de eje
/i
NombreDescripción
ACCEL
ADDAX_AXIS
ATYP E
AXIS_DISPLAY
AXIS_ENABLE
Revisión 3.0
AXISSTATUS
Contiene la velocidad de aceleración de eje.
Contiene el número del eje al que está vinculado actualmente
el eje base mediante
Contiene el tipo de eje.
Selecciona la información que se representa mediante los LEDs
de la cubierta frontal de la TJ1-FL02.
Activa y desactiva un eje concreto independientemente de los
otros eje.
Contiene el estado de eje.
MOVE
SPEED
o
.
ADDAX
MOVEABS
.
NombreDescripción
CLOSE_WIN
CLUTCH_RATE
CREEP
D_GAIN
DAC_SCALE
DATUM_IN
DECEL
DEMAND_EDGES
).
DPOS
DRIVE_CONTROL
DRIVE_INPUTS
DRIVE_MONITOR
DRIVE_STATUS
ENCODER
ENCODER_BITS
ENCODER_CONTROL
ENCODER_ID
ENCODER_RATIO
ENCODER_STATUS
Define el fin del periodo en el que se espera una marca de registro.
Define el cambio en la relación de conexión al utilizar el comando
CONNECT
Contiene la velocidad a marcha lenta.
Contiene la ganancia de control derivativo.
Establece la escala y polaridad aplicadas a los valores de
Contiene el número de entrada que se utilizará como la entrada
de origen.
Contiene la velocidad de deceleración de eje.
Contiene el valor actual del parámetro de eje
de encoder.
Contiene la posición solicitada que se ha generado mediante los
comandos de movimiento.
Selecciona los datos que se monitorizarán con
para los ejes conectados mediante el bus MECHATROLINK-II.
Para los ejes conectados mediante TJ1-FL02,
establece las salidas de la TJ1-FL02.
Contiene los datos de E/S del driver conectado al bus
MECHATROLINK-II. Los datos se actualizan cada ciclo de servo.
Monitoriza los datos de E/S del servodriver conectado al bus
MECHATROLINK-II. Los datos se actualizan cada ciclo de servo.
Contiene el estado actual del servodriver.
Contiene una copia sin procesar del registro de hardware del
encoder.
Define el número de bits para el encoder absoluto conectado
alaTJ1-FL02.
Controla el modo operativo del encoder absoluto EnDat.
Devuelve el valor ID del encoder absoluto conectado
alaTJ1-FL02.
Define el valor de escala para los contajes de encoder entrantes.
Devuelve el estado del encoder absoluto Tamagawa.
.
DAC
.
DPOS
en flancos
DRIVE_MONITOR
DRIVE_CONTROL
MANUAL DE PROGRAMACIÓN34
Comandos BASIC
NombreDescripción
ENCODER_TURNS
ENDMOVE
ERRORMASK
FAST_JOG
FASTDEC
FE
FE_LATCH
FE_LIMIT
FE_LIMIT_MODE
FE_RANGE
FHOLD_IN
FHSPEED
FS_LIMIT
FWD_IN
FWD_JOG
I_GAIN
INVERT_STEP
JOGSPEED
LINKAX
MARK
Revisión 3.0
MARKB
Devuelve el contaje de multigiro del encoder absoluto.
Contiene la posición del final del movimiento actual.
Contiene el valor de máscara que determina para que estado
de eje se produce un
Contiene el número de entrada que se utilizará como la entrada
de jog rápido.
Define la velocidad de deceleración de rampa a cero cuando
se alcanza un final de carrera o posición de eje.
Contiene el error de seguimiento.
Contiene el valor FE que ha provocado que el eje coloque
el controlador en el estado
Contiene el error de seguimiento permitido máximo.
Define cómo FE influye en el estado
Contiene el límite de rango de advertencia de error de seguimiento.
Contiene el número de entrada que se utilizará como la entrada
de retención de realimentación.
Contiene la velocidad de retención de realimentación.
Contiene la posición absoluta del límite de software de marcha
directa.
Contiene el número de entrada que se utilizará como una entrada
de límite de marcha directa.
Contiene el número de entrada que se utilizará como una entrada
de marcha directa jog.
Contiene la ganancia de control integral.
Cambia la lógica del circuito de salida paso a paso.
Permite ajustar la velocidad jog.
Contiene el número del eje de vínculo durante cualquier
movimiento vinculado.
Detecta el evento de registro principal en una entrada de registro.
Detecta el evento de registro secundario en una entrada de registro.
MOTION_ERROR
MOTION_ERROR
MOTION_ERROR
NombreDescripción
MERGE
MPOS
.
.
.
MSPEED
MTYPE
NTYPE
OFFPOS
OPEN_WIN
OUTLIMIT
OV_GAIN
P_GAIN
REG_POS
REG_POSB
REMAIN
REMOTE_ERROR
REP_DIST
REP_OPTION
REV_IN
REV_JOG
RS_LIMIT
S_REF
Es un interruptor software que se puede utilizar para activar
o desactivar la combinación de movimientos consecutivos.
Es la posición del eje tal como lo mide el encoder.
Representa el cambio en la posición medida en el último período
de servo.
Contiene el tipo de movimiento que se está ejecutando actualmente.
Contiene el tipo del movimiento en el búfer de movimiento siguiente.
Contiene un offset que se aplicará a la posición solicitada sin que
se vea afectado el movimiento de ninguna otra forma.
Define el comienzo del periodo en el que se espera una marca
de registro.
Contiene el límite que restringe la salida de referencia
de velocidad desde la TJ1-MC__.
Contiene la ganancia de control de velocidad de salida.
Contiene la ganancia de control proporcional.
Contiene la posición en la que se ha producido un evento de registro.
Contiene la posición en la que se ha producido el evento
de registro secundario.
Es la distancia restante hasta el final del movimiento actual.
Devuelve el número de errores en la conexión
MECHATROLINK-II del servodriver.
Contiene o establece la distancia de repetición.
Controla la aplicación del parámetro de eje REP_DIST.
Contiene el número de entrada que se utilizará como una entrada
de límite de marcha inversa.
Contiene el número de entrada que se utilizará como una entrada
de marcha inversa jog.
Contiene la posición absoluta del límite de software de marcha
inversa.
Contiene el valor de referencia de velocidad que se aplica cuando
el eje está en lazo abierto.
MANUAL DE PROGRAMACIÓN35
Comandos BASIC
NombreDescripción
S_REF_OUT
SERVO
SPEED
SRAMP
T_REF
TRANS_DPOS
UNITS
VERIFY
VFF_GAIN
VP_SPEED
Contiene el valor de referencia de velocidad aplicado
al servodriver para lazo abierto y cerrado.
Determina si el eje funciona bajo control de servo o de lazo abierto.
Contiene la velocidad solicitada en unidades/s.
Contiene el factor de curva S.
Contiene el valor de referencia de par que se aplica al servomotor.
Contiene la posición solicitada de eje en la salida
de la transformación de trama.
Contiene el factor de conversión de unidad.
Selecciona distintos modos de operación en un eje de salida
paso a paso.
Contiene la ganancia de control de realimentación positiva
de velocidad.
Contiene la velocidad de perfil de velocidad.
3.1.3Comandos y parámetros de comunicaciones
/i
NombreDescripción
FINS_COMMS
HLM_COMMAND
HLM_READ
HLM_STATUS
HLM_TIMEOUT
HLM_WRITE
Envía los comandos FINS de lectura de memoria y de escritura
de memoria a una unidad de servidor FINS designada.
Ejecuta un comando Host Link específico en el esclavo.
Lee datos del esclavo Host Link en la matriz de variables
VR o TABLE.
Representa el estado del último comando de maestro Host Link.
Define el tiempo de espera de maestro Host Link.
Escribe datos en el esclavo Host Link desde la matriz
de variables VR o TABLE.
3.1.4Constantes
/i
NombreDescripción
FALSE
OFF
ON
PI
TRUE
Igual al valor numérico 0.
Igual al valor numérico 0.
Igual al valor numérico 1.
Igual al valor numérico 3,1416.
Igual al valor numérico –1.
3.1.5Comandos, funciones y parámetros de E/S
/i
NombreDescripción
GET
IN
INDEVICE
INPUT
KEY
LINPUT
OP
OUTDEVICE
PRINT
PSWITCH
Espera a que llegue un solo carácter y asigna el código ASCII
del carácter a la variable.
Devuelve el valor de las entradas digitales.
El parámetro define el dispositivo de entrada predeterminado.
Espera que se reciba una cadena y asigna el valor numérico
a una variable.
Devuelve TRUE o FALSE en función de si se recibe un carácter.
Espera una cadena y la coloca en las variables VR.
Establece una o varias salidas o devuelve el estado de las
primeras 24 salidas.
Define el dispositivo de salida predeterminado.
Envía una serie de caracteres a un puerto serie.
Activa una salida cuando se alcanza una posición predefinida
y la desactiva cuando se alcanza una segunda posición.
Revisión 3.0
HLS_NODE
SETCOM
Define el número de unidad de esclavo para el protocolo
de esclavo Host Link.
Establece las comunicaciones serie.
MANUAL DE PROGRAMACIÓN36
Comandos BASIC
3.1.6Funciones y operandos matemáticos
/i
NombreDescripción
+ (SUMA)
– (RESTA)
* (MULTIPLICACIÓN)
/ (DIVISIÓN)
^ (POTENCIA)
= (ES IGUAL A)
= (ASIGNACIÓN)
<> (NO ES IGUAL A)
> (ES MAYOR QUE)
>= (ES MAYOR
O IGUAL QUE)
< (ES MENOR QUE)
<= (ES MENOR
O IGUAL QUE)
ABS
ACOS
AND
ASIN
ATAN
ATAN2
COS
Revisión 3.0
EXP
FRAC
Suma dos expresiones.
Resta dos expresiones.
Multiplica dos expresiones.
Divide dos expresiones.
Eleva una expresión a la potencia de la otra expresión.
Comprueba si dos expresiones son iguales.
Asigna una expresión a una variable.
Comprueba si dos expresiones son diferentes.
Comprueba si en dos expresiones, la de la izquierda es mayor
que la de la derecha.
Comprueba si en dos expresiones, la de la izquierda es mayor
o igual que la de la derecha.
Comprueba si en dos expresiones, la de la izquierda es menor
que la de la derecha.
Comprueba si en dos expresiones, la de la izquierda es menor
o igual que la de la derecha.
Devuelve el valor absoluto de una expresión.
Devuelve el arco coseno de una expresión.
Realiza una operación AND en los bits correspondientes
de las partes enteras de dos expresiones.
Devuelve el arco seno de una expresión.
Devuelve el arco tangente de una expresión.
Devuelve el arco tangente del número complejo distinto
de cero que se compone de dos expresiones.
Devuelve el coseno de una expresión.
Devuelve el valor exponencial de una expresión.
Devuelve la parte fraccionaria de una expresión.
NombreDescripción
IEEE_IN
IEEE_OUT
INT
LN
MOD
NOT
OR
SGN
SIN
SQR
TAN
XOR
Devuelve el número de coma flotante en formato IEEE,
representado por 4 bytes.
Devuelve el byte único extraído del número de coma flotante
en formato IEEE.
Devuelve la parte entera de una expresión.
Devuelve el logaritmo natural de una expresión.
Devuelve el resto de dos expresiones.
Realiza una operación NOT en los bits correspondientes
de la parte entera de la expresión.
Realiza una operación OR entre los bits correspondientes
de las partes enteras de dos expresiones.
Devuelve el signo de una expresión.
Devuelve el seno de una expresión.
Devuelve la raíz cuadrada de una expresión.
Devuelve la tangente de una expresión.
Realiza una función XOR entre los bits correspondientes
de las partes enteras de dos expresiones.
3.1.7Comandos de programa
/i
NombreDescripción
' (CAMPO DE
COMENTARIOS)
: (SEPARADOR DE
INSTRUCCIONES)
AUTORUN
COMPILE
COPY
Permite que no se ejecute una línea.
Permite más instrucciones en una línea.
Inicia todos los programas que se han configurado para
ejecutarse al inicio.
Compila el programa actual.
Copia un programa existente del controlador Motion
en un nuevo programa.
MANUAL DE PROGRAMACIÓN37
Comandos BASIC
NombreDescripción
DEL
DIR
EDIT
EPROM
LIST
NEW
PROCESS
RENAME
RUN
RUNTYPE
SELECT
STEPLINE
STOP
TROFF
TRON
Elimina un programa del controlador Motion.
Muestra una lista de los programas del controlador Motion,
su tamaño y su RUNTYPE en la salida estándar.
Permite modificar un programa utilizando un terminal VT100.
Almacena un programa en la memoria flash.
Imprime el programa en la salida estándar.
Elimina todas las líneas del programa del controlador Motion.
Devuelve el estado de ejecución y el número de cada
tarea actual.
Cambia el nombre de un programa del controlador Motion.
Ejecuta un programa.
Determina si un programa se ejecuta al inicio y en qué tarea
se ejecutará.
Especifica el programa actual.
Ejecuta una sola línea de un programa.
Detiene la ejecución del programa.
Suspende un seguimiento en la línea actual y reanuda
la ejecución normal del programa.
Crea un punto de ruptura en un programa.
3.1.8Comandos de control de programa
/i
NombreDescripción
FOR..TO..STEP..NEXT
GOSUB..RETURN
Revisión 3.0
GOTO
Lazo que permite que un segmento de programa se repita
con una variable incrementada o decrementada.
Salta a una subrutina en la línea situada justo después de
la etiqueta. La ejecución del programa vuelve a la instrucción
siguiente después de indicar “RETURN” en página 132.
Salta a la línea que contiene la etiqueta.
NombreDescripción
IF..THEN..ELSE..ENDIF
ON.. GOSUB
GOTO
REPEAT..UNTIL
WHILE..WEND
o
ON..
Controla el flujo del programa según los resultados de la condición.
Permite un salto condicional a una de varias etiquetas.
Lazo que permite que el segmento de programa se repita hasta
que la condición sea “TRUE” en página 146.
Lazo que permite que el segmento de programa se repita hasta
que la condición sea FALSE.
3.1.9Parámetros y modificadores de slot
/i
NombreDescripción
COMMSTYPE
FPGA_VERSION
SLOT
Contiene el tipo de unidad conectada a un slot del controlador.
Devuelve la versión FPGA de la unidad con
número_de_unidad en un sistema de controlador.
Es un modificador que especifica el número de Slot de la unidad.
3.1.10 Comandos y funciones del sistema
/i
NombreDescripción
$ (ENTRADA
HEXADECIMAL)
AXIS
BASICERROR
CLEAR
CLEAR_BIT
CLEAR_PARAMS
Asigna un número hexadecimal a una variable.
Define el eje para un comando, lectura de parámetro de eje
o asignación a un determinado eje.
Se utiliza para ejecutar una rutina específica cuando se produce
un error en un comando BASIC.
Borra todas las variables globales y locales de la tarea actual.
Borra el bit especificado de la variable VR especificada.
Borra todos los parámetros y variables almacenados
en la EPROM flash a sus valores predeterminados.
MANUAL DE PROGRAMACIÓN38
Comandos BASIC
NombreDescripción
CONSTANT
DATE$
DAY$
DEVICENET
ETHERNET
EX
FLAG
FLAGS
FREE
GLOBAL
HALT
INITIALISE
INVERT_IN
INVERTER_COMMAND
INVERTER_READ
INVERTER_WRITE
LIST_GLOBAL
LOCK
PROFIBUS
Revisión 3.0
READ_BIT
Declara una constante para usarla en un programa BASIC.
Imprime la fecha actual como una cadena.
Imprime el día actual como una cadena.
Configura la TJ1-DRT (unidad esclava DeviceNet) para
el intercambio de datos o devuelve el estado de intercambio
de la TJ1-DRT.
Lee y establece varios parámetros del puerto Ethernet
de la TJ1-MC__.
Efectúa un reset del controlador.
Establece y lee un banco de 32 bits.
Lee y establece los indicadores especificados con FLAGS
como un bloque.
Devuelve la cantidad de memoria disponible.
Declara una referencia a una de las variables VR.
Para la ejecución de todos los programas que se están
ejecutando actualmente.
Establece todos los ejes y parámetros a sus valores
predeterminados.
Invierte los canales de entrada 0 – 31 en el software.
Lee las E/S y borra la alarma del variador de frecuencia.
Lee el parámetro, la alarma, la velocidad y la referencia
de par del variador de frecuencia.
Escribe en el parámetro, la velocidad y la referencia
de par del variador de frecuencia.
Muestra todas las variables GLOBAL y CONSTANT.
Impide que los programas se vean o se modifiquen.
Configura la TJ1-PRT (unidad esclava PROFIBUS-DP)
para intercambiar datos de E/S con el maestro y devuelve
el estado de la TJ1-PRT.
Devuelve el valor del bit especificado de la variable
VR especificada.
NombreDescripción
AIN
AOUT
BATTERY_LOW
CHECKSUM
COMMSERROR
Restablece todas las variables locales de una tarea.
Los programas del sistema almacenan automáticamente
hasta 4 parámetros por cada período de muestreo en la
matriz de variables TABLE.
Establece el bit especificado de la variable VR especificada en uno.
Escribe y lee datos de la matriz de variables TABLE.
Devuelve la lista de valores de la memoria TABLE.
Imprime la hora actual como una cadena.
Inicia un comando
Escribe y lee datos de las variables globales (VR).
Combina los valores de la memoria VR para que se puedan
imprimir como una cadena.
Retiene la ejecución del programa el número de milisegundos
especificado.
Suspende la ejecución del programa hasta que el eje base
ha terminado de ejecutar su movimiento actual y cualquier
movimiento del búfer.
Suspende la ejecución del programa hasta que el eje base no
tiene movimientos en búfer distintos del movimiento que se está
ejecutando actualmente.
Evalúa repetidamente la condición hasta que es
Contiene el valor del canal analógico.
Contiene el valor del canal analógico.
Devuelve el estado actual del estado de la batería.
Contiene el codigo checksum de los programas en la RAM.
Contiene todos los errores de comunicaciones que
se han producido desde la última vez que se inicializó.
SCOPE
establecido anteriormente.
TRUE
.
MANUAL DE PROGRAMACIÓN39
Comandos BASIC
NombreDescripción
CONTROL
D_ZONE_MAX
D_ZONE_MIN
DATE
DAY
DISPLAY
ERROR_AXIS
FRAME
LAST_AXIS
MOTION_ERROR
NAIO
NEG_OFFSET
NIO
POWER_UP
POS_OFFSET
SCOPE_POS
SERVO_PERIOD
SYSTEM_ERROR
TIME
TSIZE
VERSION
Revisión 3.0
WDOG
Contiene el tipo de la TJ1-MC__ en el sistema.
Controla la salida DAC en combinación con el valor de error
de seguimiento.
Controla la salida DAC en combinación con el valor de error
de seguimiento.
Establece o devuelve la fecha actual que contiene el reloj
de tiempo de real.
Configura o devuelve el día actual.
Determina los canales de E/S que se mostrarán en los LEDs
del panel frontal.
Contiene el número del eje que ha provocado el error de Motion.
Especifica la trama operativa de las transformaciones de trama.
Contiene el número del último eje que ha procesado el sistema.
Contiene un indicador de error para los errores de Motion de eje.
Devuelve el número de canales analógicos conectados al bus
MECHATROLINK-II.
Aplica un offset negativo a la señal DAC desde el lazo de servo.
Contiene el número de entradas y salidas conectadas al sistema.
Determina si los programas se deben leer desde la EPROM
flash en el encendido o se debe realizar un reset.
Aplica un offset positivo a la señal DAC desde el lazo de servo.
Contiene la posición TABLE actual en la que el comando
SCOPE almacena actualmente su primer parámetro.
Establece el período de ciclo de servo de la TJ1-MC__.
Contiene los errores de sistema desde la última inicialización.
Devuelve la hora actual que contiene el reloj de tiempo de real.
Devuelve el tamaño de la tabla definida actualmente.
Devuelve el número de versión del firmware del controlador.
El interruptor software que activa los servodrivers.
3.1.12 Comandos y parámetros de tareas
/i
NombreDescripción
ERROR_LINE
PMOVE
PROC
PROC_STATUS
PROCNUMBER
RUN_ERROR
TICKS
Contiene el número de la línea que ha provocado el último error
del programa BASIC.
Contiene el estado actual de los búferes de tarea.
Permite que se acceda a un parámetro de proceso desde
un determinado proceso.
Devuelve el estado del proceso especificado.
Contiene el número de la tarea en la que se está ejecutando
el programa seleccionado actualmente.
Contiene el número del último error BASIC que se ha producido
en la tarea especificada.
Contiene el contaje actual de los impulsos del reloj de tareas.
MANUAL DE PROGRAMACIÓN40
Comandos BASIC
3.2Todos los comandos BASIC
3.2.1+ (suma)
/i
TipoFunción matemática
Sintaxisexpresión1 + expresión2
Descripción El operador + suma dos expresiones.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
Ejemploresultado = 4 + 3
Asigna el valor 7 a la variable resultado.
Consulte
también
3.2.2– (resta)
/i
TipoFunción matemática
Sintaxisexpresión1 – expresión2
Descripción El operador – resta expresión2 a expresión1.
Argumentos •expresión1
Ejemploresultado = 10 – 2
Consulte
también
Revisión 3.0
N/D
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
Asigna el valor 8 a la variable resultado.
N/D
3.2.3* (multiplicación)
/i
TipoFunción matemática
Sintaxisexpresión1 * expresión2
Descripción El operador * multiplica dos expresiones.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
Ejemploresultado = 3 * 7
Asigna el valor 21 a la variable resultado.
Consulte
también
N/D
3.2.4/ (división)
/i
TipoFunción matemática
Sintaxisexpresión1/expresión2
Descripción El operador/divide expresión1 entre expresión2.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
Ejemploresultado = 11/4
Asigna el valor 2,75 a la variable resultado.
Consulte
también
N/D
MANUAL DE PROGRAMACIÓN41
Comandos BASIC
3.2.5^ (potencia)
/i
TipoFunción matemática
Sintaxisexpresión_1 ^ expresión_2
Descripción El operador de potencia ^ eleva expresión_1 a la potencia de expresión_2.
Esta operación utiliza algoritmos de coma flotante y puede ofrecer pequeñas
desviaciones para los cálculos de enteros.
Argumentos •expresión_1
Una expresión BASIC.
•expresión_2
Una expresión BASIC.
Ejemploresultado = 2^5
Esto asigna el valor 32 a la variable resultado.
Consulte
también
N/D
3.2.6= (es igual a)
/i
TipoFunción matemática
Sintaxisexpresión1 = expresión2
Descripción El operador = devuelve TRUE si expresión1 es igual a expresión2,
de lo contrario devuelve FALSE.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
EjemploIF a = 10 THEN GOTO etiqueta1
Si la variable a contiene un valor igual a 10, la ejecución del programa
continúa en la etiqueta etiqueta1. De lo contrario, la ejecución del
Revisión 3.0
Consulte
también
programa continúa con la instrucción siguiente.
N/D
3.2.7= (asignación)
/i
TipoFunción matemática
Sintaxisvariable = expresión
Descripción El operador = asigna el valor de la expresión a la variable.
Argumentos •variable
Un nombre de variable.
•expresión
Cualquier expresión BASIC válida.
Ejemplovar = 18
Asigna el valor 18 a la variable var.
Consulte
también
N/D
3.2.8<> (no es igual a)
/i
TipoFunción matemática
Sintaxisexpresión1 <> expresión2
Descripción El operador <> devuelve TRUE si expresión1 no es igual a expresión2,
de lo contrario devuelve FALSE.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
EjemploIF a <> 10 THEN GOTO etiqueta1
Si la variable a contiene un valor distinto de 10, la ejecución del programa
continúa en la etiqueta etiqueta1. De lo contrario, la ejecución del programa
continúa con la instrucción siguiente.
Consulte
también
N/D
MANUAL DE PROGRAMACIÓN42
Comandos BASIC
3.2.9> (es mayor que)
/i
TipoFunción matemática
Sintaxisexpresión1 > expresión2
Descripción El operador > devuelve TRUE si expresión1 es mayor que expresión2,
de lo contrario devuelve FALSE.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
EjemploIF a > 10 THEN GOTO etiqueta1
Si la variable a contiene un valor mayor que 10, la ejecución del programa
continúa en la etiqueta etiqueta1. De lo contrario, la ejecución del programa
continúa con la instrucción siguiente.
Consulte
también
N/D
3.2.10 >= (es mayor o igual que)
/i
TipoFunción matemática
Sintaxisexpresión1 >= expresión2
Descripción El operador >= devuelve TRUE si expresión1 es mayor o igual que
expresión2, de lo contrario devuelve FALSE.
3.2.11 < (es menor que)
/i
TipoFunción matemática
Sintaxisexpresión1 < expresión2
Descripción El operador < devuelve TRUE si expresión1 es menor que expresión2,
de lo contrario devuelve FALSE.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
EjemploIF a < 10 THEN GOTO etiqueta1
Si la variable a contiene un valor menor que 10, la ejecución del programa
continúa en la etiqueta etiqueta1. De lo contrario, la ejecución del programa
continúa con la instrucción siguiente.
Consulte
también
N/D
3.2.12 <= (es menor o igual que)
/i
TipoFunción matemática
Sintaxisexpresión1 <= expresión2
Descripción El operador <= devuelve TRUE si expresión1 es menor o igual
a expresión2, de lo contrario devuelve FALSE.
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
EjemploIF a >= 10 THEN GOTO etiqueta1
Si la variable a contiene un valor mayor o igual que 10, la ejecución del
Revisión 3.0
Consulte
también
programa continúa en la etiqueta etiqueta1. De lo contrario, la ejecución
del programa continúa con la instrucción siguiente.
N/D
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
EjemploIF a <= 10 THEN GOTO etiqueta1
Si la variable a contiene un valor menor o igual que 10, la ejecución del
programa continúa en la etiqueta etiqueta1. De lo contrario, la ejecución
del programa continúa con la instrucción siguiente.
Consulte
también
N/D
MANUAL DE PROGRAMACIÓN43
Comandos BASIC
3.2.13 $ (entrada hexadecimal)
/i
TipoComando de sistema
Sintaxis$número_hexadecimal
Descripción El comando $ convierte al número que le sigue en un número hexadecimal.
Argumentos •número_hexadecimal
Un número hexadecimal (que consta de los caracteres 0 – 9 y A – F).
número_hexadecimal va de 0 a FFFFFF.
Ejemplo>>TABLE(0,$F,$ABCD)
>>print TABLE(0),TABLE(1)
15.0000 43981.0000
Consulte
también
HEX
(PRINT)
3.2.14 ' (campo de comentarios)
/i
TipoComando de programa
Sintaxis'
Descripción ' marca todo lo que le sigue en una línea como comentarios y no como código
de programa. El comentario no se ejecuta cuando se ejecuta el programa.
Puede utilizar ' al comienzo de una línea o después de una instrucción válida.
Argumentos N/D
Ejemplo' Esta línea no se imprime
PRINT "Inicio"
Consulte
también
N/D
3.2.15 : (separador de instrucciones)
/i
TipoComando de programa
Sintaxis:
Descripción El separador de instrucciones : separa varias instrucciones BASIC
en una línea. Se puede utilizar en la línea de comandos y en programas.
Argumentos N/D
EjemploPRINT "ESTA LÍNEA": GET bajo : PRINT "REALIZA TRES ACCIONES"
Consulte
también
N/D
3.2.16 #
/i
TipoCarácter especial
Sintaxis#
Descripción El símbolo # se utiliza para especificar un canal de comunicaciones
que se utilizará para los comandos de entrada/salida serie.
Nota: los canales de comunicaciones mayores que 3 sólo se utilizarán
cuando se ejecute el software Trajexia Tools.
Argumentos N/D
EjemploPRINT #1,"RS232"
PRINT #2,"Puerto 2"
EjemploIF KEY #1 THEN GET #1,k
Comprobar teclado en el puerto RS232
Consulte
también
N/D
Revisión 3.0
MANUAL DE PROGRAMACIÓN44
Comandos BASIC
3.2.17 ABS
/i
TipoFunción matemática
SintaxisABS(expresión)
Descripción La función ABS devuelve el valor absoluto de una expresión.
Argumentos •expresión
Cualquier expresión BASIC válida.
EjemploIF ABS(A) > 100 THEN PRINT "A está fuera del rango –100 ... 100"
Consulte
también
N/D
3.2.18 ACC
/i
TipoComando de eje
SintaxisACC(velocidad)
Descripción Establece la aceleración y la deceleración al mismo tiempo.
Este comando proporciona un método rápido para configurar ACCEL
y DECEL. Se recomienda establecer las velocidades de aceleración
y deceleración con los parámetros de eje ACCEL y DECEL.
Argumentos •velocidad
La velocidad de aceleración en unidades/s
con el parámetro de eje UNITS.
EjemploACC(100)
Establece ACCEL y DECEL en 100 unidades/s
Consulte
también
ACCEL, DECEL, UNITS
2
. Puede definir las unidades
2
.
3.2.19 ACCEL
/i
TipoParámetro de eje
SintaxisACCEL = expresión
Descripción El parámetro de eje ACCEL contiene la velocidad de aceleración de eje.
La velocidad se establece en unidades/s2. El parámetro puede tener
cualquier valor positivo, incluido el cero.
Argumentos N/D
EjemploBASE(0)
ACCEL = 100 ' Establecer la velocidad de aceleración
PRINT "Velocidad de aceleración: ";ACCEL;" mm/s/s"
ACCEL AXIS(2) = 100 ' Establece la velocidad de aceleración para el eje (2)
Consulte
también
ACCEL, DECEL, UNITS
3.2.20 ACOS
/i
TipoFunción matemática
SintaxisACOS(expresión)
Descripción La función ACOS devuelve el arco coseno de la expresión. El valor
de la expresión debe estar entre –1 y 1. El resultado en radianes está
entre 0 y PI. Los valores de entrada que estén fuera del rango devolverán 0.
Argumentos •expresión
Cualquier expresión BASIC válida.
Ejemplo>> PRINT ACOS(-1)
3.1416
Consulte
también
N/D
Revisión 3.0
MANUAL DE PROGRAMACIÓN45
Comandos BASIC
3.2.21 ADD_DAC
/i
Tipo
Sintaxis
Descripción
Argumentos
EjemploBASE(0)
Revisión 3.0
Comando de eje
ADD_DAC(eje)
El comando ADD_DAC puede proporcionar control de realimentación dual,
lo que permite el uso de un encoder secundario en el servoeje. El comando
permite la salida de 2 lazos de servo que se sumen para determinar
la referencia de velocidad para el servodriver.
Este comando normalmente se utiliza en aplicaciones como alimentadores por
rodillo donde se necesita un encoder secundario para compensar el deslizamiento.
Para utilizar
se vinculen a un eje común en el que se ejecuten los movimientos requeridos.
Normalmente esto se consigue mediante la ejecución de los movimientos en uno
de los dos ejes y con
coincidente (
de servo para ambos ejes. Las salidas de lazo de servo se suman a la salida de
referencia de velocidad del servoeje. Utilice
ADD_DAC funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
Nota:
1.Tenga en cuenta que las ganancias de lazo de control para ambos ejes
2.Establezca el parámetro OUTLIMIT al mismo valor para ambos ejes
•eje
OUTLIMIT AXIS(1) = 15000
ADD_DAC(1) AXIS(0)
ADDAX(0) AXIS(1)
WDOG = ON
SERVO AXIS(0) = ON
SERVO AXIS(1) = ON
' Ejecutar movimientos en el eje 0
Este ejemplo muestra el control del eje 0 del servodriver con control
de realimentación dual mediante los ejes 0 y 1.
ADD_DAC
DPOS
se tienen que determinar con cuidado. Como se utilizan encoders con
resoluciones distintas, las ganancias no son idénticas.
vinculados.
El eje desde el que se sumará la salida de referencia de velocidad al eje
base. Establezca el argumento en –1 para cancelar el vínculo y volver
a la operación normal.
es necesario que los dos ejes con realimentación física
ADDAX
) para ambos ejes. Se tienen que definir ganancias de lazo
o
CONNECT
para producir una posición solicitada
ADD_DAC(-1)
para cancelar el vínculo.
EjemploBASE(0)
OUTLIMIT AXIS(1) = 15000
ADD_DAC(1) AXIS(0)
ADDAX(0) AXIS(1)
WDOG = ON
SERVO = OFF
S_REF = 0
BASE(1)
SERVO = ON
' Ejecutar movimientos en el eje 1
Este ejemplo muestra el control del eje 0 del servodriver utilizando sólo
realimentación de encoder en el eje 1.
Consulte
también
AXIS, ADDAX, OUTLIMIT
3.2.22 ADDAX
/i
TipoComando de eje
SintaxisADDAX(eje)
Descripción
Argumentos •eje
El comando
según lo especificado por el argumento de eje y los suma a cualquier movimiento
que se ejecute en el eje en el que se emita el comando.
Después de que se haya emitido el comando ADDAX, permanecerá el vínculo
entre los dos ejes hasta que se rompa. Utilice ADDAX(-1) para cancelar
el vínculo de eje. ADDAX permite que un eje realice los movimientos
especificados para 2 ejes sumados. Se pueden realizar combinaciones
de más de dos ejes si también se aplica ADDAX al eje superpuesto.
ADDAX funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
ADDAX
El eje que se definirá como un eje superpuesto. Establezca el argumento
en –1 para cancelar el vínculo y volver a la operación normal.
toma los cambios de posición solicitada del eje superpuesto
MANUAL DE PROGRAMACIÓN46
Comandos BASIC
EjemploFORWARD ' Definir movimiento continuo
ADDAX(2) ' Agregar eje 2 para corrección
REPEAT
GOSUB obteneroffset ' Obtener el offset que se aplicará
MOVE(offset) AXIS(2)
UNTIL IN(2) = ON ' Hasta que se realice la corrección
Las piezas se colocan en una cinta en movimiento continuo y se cogen más
allá de la línea. Un sistema de detección ofrece una indicación de si una pieza
está delante o detrás de su posición nominal, así como la distancia.
En este ejemplo, se supone que el eje 0 es el eje base, ejecuta un movimiento
directo continuo y se utiliza un movimiento superpuesto en el eje 2 para aplicar
offsets según el offset calculado en una subrutina.
Consulte
también
AXIS, OUTLIMIT
ADVERTENCIA
Tenga en cuenta que el uso de varios comandos ADDAX
en un sistema puede crear un lazo peligroso cuando,
por ejemplo, un eje está vinculado a otro y viceversa.
Esto puede provocar inestabilidad en el sistema.
3.2.23 ADDAX_AXIS
/i
TipoParámetro de eje (sólo lectura)
SintaxisADDAX_AXIS
Descripción El parámetro de eje ADDAX_AXIS devuelve el número del eje al que está
vinculado actualmente el eje base mediante ADDAX.
Argumentos N/D
Ejemplo>> BASE(0)
>> ADDAX(2)
>> PRINT ADDAX_AXIS
Revisión 3.0
Consulte
también
2.0000
ADDAX, AXIS
3.2.24 AIN
/i
TipoParámetro de sistema
SintaxisAIN(canal_analógico)
Descripción Los canales de entrada analógicos de +/–10 V se proporcionan al conectar
módulos JEPMC-AN2900 o modulos analógicos en la cabecera GRT1-ML2
en el bus MECHATROLINK-II.
Nota: Se comprueba el valor de entrada analógica para garantizar que
es superior a cero aunque siempre debe ser positivo. Esto se realiza para
permitir que cualquier ruido en la señal entrante podría dar un valor negativo
y provocar un error porque una velocidad negativa no es válida para ningún
tipo de movimiento, excepto FORWARD o REVERSE.
Argumentos canal_analógico.
Número de canal de entrada analógica 0.31
EjemploMOVE(-5000)
REPEAT
a = AIN(1)
IF a<0 THEN a = 0
SPEED = a * 0.25
UNTIL MTYPE = 0
La velocidad de una línea de producción se rige por la velocidad con la
que se introduce el material en ella. La alimentación de material se realiza
mediante una disposición de lazo abierto que se ajusta con un dispositivo
de detección de altura por ultrasonidos. La salida del sensor ultrasónico
está en el rango de 0 V a 4 V, donde la salida está a 4 V cuando el lazo
está en su máxima longitud.
Consulte
también
N/D
3.2.25 AND
/i
TipoOperación matemática
Sintaxisexpresión1 AND expresión2
MANUAL DE PROGRAMACIÓN47
Comandos BASIC
Descripción El operador AND realiza la función AND lógica en los bits correspondientes
de las partes enteras de dos expresiones BASIC válidas.
La función AND lógica entre dos bits se define del siguiente modo:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Argumentos •expresión1
Cualquier expresión BASIC válida.
•expresión2
Cualquier expresión BASIC válida.
EjemploVR(0) = 10 AND (2.1 * 9)
Los paréntesis se evalúan en primer lugar, pero sólo la parte entera del
resultado, 18, se utiliza para la operación AND. Por lo tanto, esta expresión
equivale a lo siguiente:
VR(0) = 10 AND 18
El operador AND es un operador de bit y, por lo tanto, la acción binaria
es la siguiente:
01010 AND 10010 = 00010
Por lo tanto, VR(0) contendrá el valor 2.
EjemploIF MPOS AXIS(0) > 0 AND MPOS AXIS(1) > 0 THEN GOTO ciclo1
Consulte
también
N/D
3.2.26 AOUT
/i
TipoParámetro de sistema
SintaxisAOUT(canal_analógico)
Descripción
Argumentos •canal_analógico
Revisión 3.0
EjemploNo hay ejemplo.
Consulte
también
Este comando establece el valor de salida de los canales analógicos de +/–10 V
que se proporcionan al conectar módulos JEPMC-AN2910 o modulos analogicos
conectados a la cabecera GRT1-ML2 en el bus MECHATROLINK-II. El rango del
valor seleccionado es [–32.000, 32.000] para el rango de tensión [–10 V, 10 V].
Número de canal de salida analógica 0.31.
N/D
3.2.27 ASIN
/i
TipoFunción matemática
SintaxisASIN(expresión)
Descripción La función ASIN devuelve el arco seno del argumento. El argumento debe
tener un valor entre –1 y 1. El resultado en radianes está entre –PI/2 y PI/2.
Los valores de entrada que estén fuera de este rango devuelven 0.
Argumentos •expresión
Cualquier expresión BASIC válida.
Ejemplo>> PRINT ASIN(-1)
–1.5708
Consulte
también
N/D
3.2.28 ATAN
/i
TipoFunción matemática
SintaxisATAN(expresión)
Descripción La función ATA N devuelve el arco tangente del argumento. En expresión
puede haber cualquier valor. El resultado en radianes está entre –PI/2 y PI/2.
Argumentos •expresión
Cualquier expresión BASIC válida.
Ejemplo>> PRINT ATAN(1)
0.7854
Consulte
también
N/D
3.2.29 ATAN2
/i
TipoFunción matemática
SintaxisATAN2(expresión1,expresión2)
MANUAL DE PROGRAMACIÓN48
Comandos BASIC
Descripción
Argumentos •expresión1
Ejemplo>> PRINT ATAN2(0,1)
Consulte
también
La función
de cero
un punto con la coordenada
Si
expresión2 >= 0
El resultado en radianes estará entre –PI y PI.
•expresión2
0.0000
N/D
ATAN2
(expresión2, expresión1)
Cualquier expresión BASIC válida.
Cualquier expresión BASIC válida.
3.2.30 ATYPE
/i
TipoParámetro de eje
SintaxisATYPE = valor
Descripción
Argumentos N/D
EjemploATYPE AXIS(1) = 45
Consulte
también
Revisión 3.0
El parámetro de eje
dependen del módulo TJ1 al que está conectado el servodriver que controla
el eje. Consulte la tabla siguiente. Los parámetros
el sistema en el inicio. Para los ejes controlados por los servodrivers conectados
al sistema mediante el bus MECHATROLINK-II, el valor ATYPE predeterminado
es 41 (velocidad Mechatro). Para los ejes controlados por los servodrivers
conectados al sistema mediante la TJ1-FL02, el valor ATYPE predeterminado
es 44 (servoeje flexible).
Este comando establecerá el eje 1 como el eje de salida del encoder de eje
flexible.
AXIS
devuelve el arco tangente del número complejo distinto
, que es el equivalente al ángulo entre
(expresión1, expresión2)
, el resultado es igual al valor de
ATYPE
establece el tipo del eje. Los valores válidos
y el eje x.
ATAN(expresión1/expresión2)
ATYPE
los establece
/i
Tipo de AXISValor ATYPEUnidad TJ1 aplicable
Virtual0Todas
.
Posición de Mechatro40TJ1-ML__ (unidad maestra
MECHATROLINK-II)
Velocidad Mechatro41TJ1-ML__
Par de Mechatro42TJ1-ML__
Eje flexible salida paso a paso43TJ1-FL02
Servoeje flexible44TJ1-FL02
Salida de encoder de eje flexible45TJ1-FL02
Eje flexible Encoder Tamagawa absoluto
Eje flexible encoder EnDat absoluto47TJ1-FL02
Eje flexible encoder SSI absoluto48TJ1-FL02
46TJ1-FL02
3.2.31 AUTORUN
/i
TipoComando de programa
SintaxisAUTORUN
Descripción El comando AUTORUN inicia todos los programas que se han configurado
El modificador
sola lectura/escritura de parámetro de eje en un determinado eje.
efectivo para el comando o línea de programa en que está programado. Utilice
el comando
•número_eje
Cualquier expresión BASIC válida que especifique el número de eje.
PRINT VP_SPEED AXIS(2)
BASE
AXIS
define el eje para un solo comando Motion Control o una
BASE
para cambiar el eje base para todas las líneas de comandos.
3.2.33 AXIS_DISPLAY
/i
TipoParámetro de eje
SintaxisAXIS_DISPLAY = valor
Descripción
Argumentos N/D
EjemploAXIS_DISPLAY AXIS(2) = 2
Consulte
también
/i
AXIS_DISPLAY valor0123
A0REG 0AUX INOUT 0ENCODER A
A1REG 1ENCODER ZOUT 1ENCODER B
Revisión 3.0
B0REG 0AUX INOUT 0ENCODER A
B1REG 1ENCODER ZOUT 1ENCODER B
El parámetro de eje
mediante los LEDs de la cubierta frontal de la TJ1-FL02. Los LEDs afectados
por este ajuste de parámetro son dos LEDs amarillos que muestran el estado
de eje. El valor predeterminado de este parámetro al inicio para todos los ejes
es de 0. Los valores válidos se muestran en la tabla siguiente.
Este comando mostrará el estado de OUT 0 y OUT 1 asignados al eje 2.
N/D
AXIS_DISPLAY
permite que diferentes datos se muestren
AXIS
sólo es
3.2.34 AXIS_ENABLE
/i
TipoParámetro de eje
SintaxisAXIS_ENABLE = ON/OFF
Descripción
Argumentos N/D
EjemploAXIS_ENABLE AXIS(3) = OFF
Consulte
también
El parámetro de eje
eje determinado independientemente de los demás. Este parámetro se puede
activar o desactivar para cada eje individualmente. El valor predeterminado
al inicio es activado en todos los ejes. El eje se activará si AXIS_ENABLE
para dicho eje está activado y también lo está
MECHATROLINK-II, al desactivar AXIS_ENABLE se desactivará la señal de run
(Etapa de potencia) del servodriver al motor. Para los ejes de servoeje flexible,
al desactivar AXIS_ENABLE se forzará ambas salidas de tensión a 0. Para
los ejes de salida paso a paso flexible y de salida de encoder, al desactivar
AXIS_ENABLE se bloqueará la generación de impulsos en las salidas.
Este comando desactivará el eje 3 independientemente de los demás ejes del
sistema.
AXIS, DISABLE_GROUP
AXIS_ENABLE
se utiliza para activar o desactivar un
WDOG
. Para los ejes
3.2.35 AXISSTATUS
/i
TipoParámetro de eje (sólo lectura)
SintaxisAXISSTATUS
Descripción
Argumentos N/D
EjemploIF (AXISSTATUS AND 16)>0 THEN PRINT "En límite de marcha directa"
Consulte
también
El parámetro de eje
del parámetro de eje
El parámetro AXISSTATUS se utiliza para el tratamiento de los errores
de Motion Control de la unidad.
AXIS, ERRORMASK
AXISSTATUS
AXISSTATUS
contiene el estado del eje. Las definiciones
se muestran en la tabla siguiente.
MANUAL DE PROGRAMACIÓN50
Comandos BASIC
/i
Número
De bit
0–1-
1Advertencia de error de seguimiento2W
2
3Alarma de servodriver8M
4Límite de marcha directa16F
5Límite de marcha inversa32R
6Buscando origen64D
7Entrada de retención de realimentación 128H
8Límite de error de seguimiento256E
9Límite de software de marcha directa512X
10Límite de software de marcha inversa1.024Y
11Cancelación de movimiento2.048C
12Sobrevelocidad de salida de encoder4.096O
DescripciónValorCarácter (tal como
se usa en Trajexia Tools)
Error de comunicaciones de servodriver
4A
3.2.36 B_SPLINE
/i
Argumentos •tipo
Reservado para expansión futura. Defínalo siempre en 1.
•entrada_datos
Ubicación en TABLE donde está almacenado el perfil de origen.
•entrada_número
Número de puntos del perfil de origen.
•salida_datos
Ubicación en TABLE donde se almacenará el perfil expandido.
•relación_expansión
La relación de expansión, es decir, si el perfil de origen es 100 puntos
y relación_expansión se define en 10, el perfil resultante será 1.000
puntos (100 * 10).
Expande un perfil existente almacenado en el área TABLA mediante la función
matemática de b-spline por un factor de expansión configurable a otra área
de TABLE.
Se utiliza de forma idónea donde el perfil CAM de origen es demasiado tosco
y se tiene que extrapolar en un mayor número de puntos.
MANUAL DE PROGRAMACIÓN51
Comandos BASIC
Descripción El comando BASE se utiliza para establecer el eje base predeterminado
o para establecer un grupo de secuencias de eje especificado. Todos los
comandos de Motion Control y parámetros de eje posteriores se aplicarán
al eje base o el grupo de eje especificado a menos que el comando AXIS
se utilice para especificar un eje base temporal. El eje base es efectivo
hasta que se cambia de nuevo con BASE.
Cada proceso BASIC puede tener su propio grupo de ejes y cada programa
puede establecer su propio grupo de ejes independientemente. Utilice el
modificador PROC para acceder al parámetro para una determinada tarea.
La agrupación de orden BASE se puede definir mediante la asignación
explícita del orden de los ejes. Este orden se utiliza para interpolación en
movimientos lineales y circulares de varios ejes. El valor predeterminado
del grupo de ejes base es (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) al inicio
o cuando un programa se empieza a ejecutar en una tarea. El comando
BASE sin argumentos devuelve la agrupación de orden base actual.
Nota: si el comando BASE no especifica todos los ejes, el comando BASE
“rellenará” los valores restantes automáticamente. En primer lugar, rellenará
los restantes ejes por encima del último valor declarado y, después, rellenará
los ejes restantes en secuencia.
Por lo tanto, BASE(2,6,10) establecerá la matriz interna de 16 ejes a:
2,6,10,11,12,13,14,15,0,1,3,4,5,7,8,9.
Argumentos El comando puede aceptar hasta 16 argumentos.
•eje_i
El número del eje definido como el eje base y cualquier eje posterior
del orden de grupo para los movimientos multieje.
EjemploBASE(1)
UNITS = 2000 ' Definir el factor de conversión para el eje 1
SPEED = 100 ' Definir la velocidad para el eje 1
ACCEL = 5000 ' Establecer la velocidad de aceleración para el eje 1
BASE(2)
UNITS = 2000 ' Definir el factor de conversión para el eje 2
SPEED = 125 ' Definir la velocidad para el eje 2
ACCEL = 10000 ' Establecer la velocidad de aceleración para el eje 2
Se puede programar cada eje con su propia velocidad, aceleración y otros
Revisión 3.0
parámetros.
EjemploBASE(0)
MOVE(100,-23.1,1250)
En este ejemplo, los ejes 0, 1 y 2 se moverán a las posiciones especificadas
a la velocidad y aceleración definidas para el eje 0. BASE(0) define el eje
base en el eje 0, que determina los tres ejes que utiliza MOVE así como
la velocidad y la aceleración.
Ejemplo>> BASE(0,2,1)
En la línea de comandos, el orden de grupo base se puede mostrar
si se escribe BASE.
Ejemplo>> RUN "PROGRAM",3
>> BASE PROC(3)(0,2,1)
Utilice el modificador PROC para mostrar el orden de grupo base
de una determinada tarea.
Ejemplo>> BASE(2)
>> PRINT BASE
2.0000
Al imprimir BASE se devolverá el eje base seleccionado actualmente.
Consulte
también
AXIS
3.2.38 BASICERROR
/i
TipoComando de sistema
SintaxisBASICERROR
Descripción
Argumentos N/D
El comando
se produce un error en tiempo de ejecución en un programa.
sólo se puede usar como parte de un comando
Este comando es necesario que se ejecute una vez en el programa BASIC.
Si se utilizan varios comandos, sólo es efectivo el último ejecutado.
BASICERROR
se puede utilizar para ejecutar una rutina cuando
BASICERROR
ON ... GOSUB
u
ON ... GOTO
.
MANUAL DE PROGRAMACIÓN52
Comandos BASIC
Ejemplo ON BASICERROR GOTO rutina_error
...
num_error = 1
STOP
rutina_error:
IF num_error = 0 THEN
PRINT "El error ";RUN_ERROR[0];
PRINT " se ha producido en la línea ";ERROR_LINE[0]
ENDIF
STOP
Si se produce un error en un comando BASIC en este ejemplo,
se ejecutará la rutina de error.
La instrucción IF aparece para evitar que el programa vaya
a la rutina de error cuando se pare normalmente.
Consulte
también
ERROR_LINE, ON, RUN_ERROR
.
3.2.39 BATTERY_LOW
/i
TipoParámetro de sistema (sólo lectura)
SintaxisBATTERY_LOW
Descripción Este parámetro devuelve el estado actual del estado de la batería.
Si BATTERY_LOW = ON, se tiene que cambiar la batería.
Si BATTERY_LOW = OFF, el estado de la batería es correcto.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
Revisión 3.0
N/D
3.2.40 BREAK_RESET
/i
TipoComando de sistema
SintaxisBREAK_RESET "nombre_programa"
Descripción Lo utiliza Trajexia Tools para quitar todos los puntos de ruptura del programa
especificado.
Argumentos •nombre_programa
El nombre del programa del que desea quitar todos los puntos de ruptura.
EjemploBREAK_RESET "pruebasimple"
Quitará todos los puntos de ruptura del programa pruebasimple.
Descripción El comando CAM se utiliza para generar el movimiento de un eje siguiendo
un perfil de posición que está almacenado en una matriz de variables TABLE.
Los valores TABLE son posiciones absolutas relativas al punto inicial
y se especifican en flancos de encoder. La matriz TABLE se especifica
con el comando
El movimiento se puede definir con cualquier número de puntos de 2 a 64.000.
La TJ1-MC__ se mueve continuamente entre los valores de TABLE para
permitir que una serie de puntos definan un perfil suavizado. Se pueden
ejecutar dos o más comandos
o superpuestos en la matriz TABLE. El perfil TABLE se recorre una vez.
CAM requiere que el elemento inicial de la matriz TABLE tenga valor cero.
El argumento de distancia junto con los parámetros
determinan la velocidad de movimiento por la matriz TABLE. Tenga en
cuenta que para seguir el perfil CAM exactamente, el parámetro
del eje debe ser al menos 1.000 veces mayor que el parámetro
CAM funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
TABLE
.
CAM
simultáneamente con valores idénticos
SPEED
y
ACCEL
ACCEL
SPEED
.
MANUAL DE PROGRAMACIÓN53
Comandos BASIC
Argumentos •punto_inicial
La dirección del primer elemento de la matriz TABLE que se utilizará.
Al poder especificar el punto inicial, la matriz TABLE puede contener
varios perfiles u otra información.
•punto_final
La dirección del elemento final de la matriz TABLE.
•multiplicador_tabla
El valor de multiplicador de tabla se utiliza para ajustar a escala
los valores almacenados en TABLE. Como los valores de tabla
se especifican en flancos de encoder, utilice este argumento para
establecer los valores, por ejemplo, para el factor de conversión
de unidad (establecido por el parámetro UNITS).
•distancia
Factor indicado en unidades del usuario que controla la velocidad del
movimiento a través de la tabla. El tiempo que se tarda en ejecutar el
comando
Por ejemplo, supongamos que el sistema está programado en mm y que
la velocidad está definida en 10 mm/s y la aceleración es suficientemente
alta. Si se especifica una distancia de 100 mm,
en ejecutarse.
El parámetro SPEED del eje base permite la modificación de la
velocidad del movimiento cuando se utiliza el movimiento CAM.
Nota: cuando se está ejecutando el comando CAM, el parámetro ENDMOVE
está configurado en el final del movimiento anterior.
Revisión 3.0
Ejemplo
Consulte
también
Supongamos que se necesita un movimiento para seguir la ecuación
de posición t(x) = x * 25 + 10.000 (1 – cos(x)). Aquí, x se expresa en grados.
Este ejemplo corresponde a una matriz TABLE que proporciona una oscilación
simple superpuesta con una velocidad constante. Para cargar la matriz TABLE
y recorrerla continuamente, se debe utilizar el código siguiente:
GOSUB camtable
lazo:
CAM(1,19,1,200)
GOTO lazo
La subrutina
ACCEL, AXIS, CAMBOX, SPEED, TABLE
CAM
depende de la velocidad de eje actual y esta distancia.
CAM
tardará 10 segundos
camtable
carga los datos de la tabla siguiente en la matriz TABLE.
El comando
un perfil de posición de la matriz de variables TABLE. El movimiento está
vinculado a un movimiento medido de otro eje para formar un engranaje
electrónico de software variable continuamente. Los valores TABLE
corresponden a una posición absoluta relativa al punto inicial y se
especifican en flancos del encoder.
La matriz TABLE se especifica con el comando TABL E. El movimiento
se puede definir con cualquier número de puntos de 2 a 64.000. Al poder
especificar el punto inicial, la matriz TABLE puede contener varios perfiles
u otra información. La TJ1-MC__ se mueve continuamente entre los valores
de TABLE para permitir que una serie de puntos definan un perfil suavizado.
Se pueden ejecutar dos o más comandos CAMBOX simultáneamente con
valores idénticos o superpuestos en la matriz TABLE.
El comando CAMBOX requiere que el elemento inicial de TABLE tenga valor
cero. Tenga en cuenta también que el comando CAMBOX permite recorrer
TABLE hacia atrás así como hacia delante según la dirección del eje
maestro.
El argumento opción_vínculo se puede utilizar para especificar diferentes
opciones para iniciar el comando y especificar un comando CAM continuo.
Por ejemplo, si opción_vínculo se define en 4, el comando CAMBOX actúa
como un elemento CAM “físico”.
CAMBOX funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
Nota: mientras se está ejecutando CAMBOX, el parámetro ENDMOVE
se configurará en el final del movimiento anterior. El parámetro de eje
REMAIN contendrá el resto de la distancia en el eje de vínculo.
CAMBOX
se utiliza para generar movimiento de un eje siguiendo
Argumentos •punto_inicial
La dirección del primer elemento de la matriz TABLE que se utilizará.
•punto_final
La dirección del elemento final de la matriz TABLE.
•multiplicador_tabla
El valor de multiplicador de tabla se utiliza para ajustar a escala los valores
almacenados en TABLE. Como los valores de TABLE se especifican en
flancos de encoder, utilice este argumento para establecer los valores,
por ejemplo, para el factor de conversión de unidad (establecido por
el parámetro UNITS).
•distancia_vínculo
La distancia en unidades de usuario que el eje de vínculo se debe mover
para completar el movimiento de salida especificado. La distancia de
vínculo se debe especificar como una distancia positiva.
•eje_vínculo
El eje al que se vinculará.
opción_vínculo
Consulte la siguiente tabla.
•posición_vínculo
La posición absoluta donde se iniciará el comando CAMBOX cuando
opción_vínculo se establece en 2.
EjemploNo hay ejemplo.
Consulte
también
/i
Valor de
opción_vínculo
1
2El vínculo comienza en una posición absoluta del eje de vínculo
•
AXIS, CAM, REP_OPTION, TABLE
Descripción
El vínculo comienza cuando se produce un registro en el eje de vínculo.
(consulte posición_vínculo).
4CAMBOX se repite automáticamente y de forma bidireccional.
Esta opción se cancela si se establece el bit 1 del parámetro
Revisión 3.0
5Combinación de las opciones 1 y 4.
6Combinación de las opciones 2 y 4.
REP_OPTION (REP_OPTION = REP_OPTION OR 2).
MANUAL DE PROGRAMACIÓN55
Comandos BASIC
3.2.43 CANCEL
/i
TipoComando de eje
SintaxisCANCEL[(1)]
CA[(1)]
Descripción El comando CANCEL cancela el movimiento actual en un eje.
Se decelerarán los movimientos con perfil de velocidad (FORWARD, REVERSE, MOVE, MOVEABS, MOVECIRC, MHELICAL y MOVEMODIFY)
a la velocidad de deceleración tal como se define en el parámetro DECEL
y, a continuación, se paran. Otros movimientos se pararán inmediatamente.
El comando CANCEL cancela el contenido del búfer de movimientos
actual (MTYPE). El comando CANCEL(1) cancela el contenido del búfer
de movimiento siguiente (NTYPE) sin que se vea afectado el actual en el
búfer MTYPE.
CANCEL funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
Nota:
•CANCEL sólo cancela el movimiento que se ejecuta actualmente.
Si hay más movimientos en búfer, se cargarán.
•Durante la deceleración del movimiento actual, se omitirán los comandos
CANCEL adicionales.
•CANCEL(1) sólo cancela el movimiento que está en búfer actualmente.
Cualquier movimiento almacenado en los búferes de tareas que se
indique con la variable PMOVE se puede cargar en el búfer tan pronto
como se cancele el movimiento en el búfer.
Argumentos N/D
EjemploFORWARD
WA(10000)
CANCEL
EjemploMOVE(1000)
MOVEABS(3000)
CANCEL ' Cancelar el movimiento a 3000 e ir a 4000 en su lugar.
MOVEABS(4000)
Revisión 3.0
Consulte
también
Tenga en cuenta que el comando MOVEMODIFY es una mejor solución para
modificar puntos finales de movimientos en este caso.
AXIS, MTYPE, NTYPE, PMOVE, RAPIDSTOP
3.2.44 CHECKSUM
/i
TipoParámetro de sistema (sólo lectura)
SintaxisCHECKSUM
Descripción
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
El parámetro
en RAM. Al inicio, el código de comprobación se vuelve a calcular y se compara
con el valor retenido anteriormente. Si el código de comprobación es incorrecto,
el programa no se ejecutará.
N/D
CHECKSUM
contiene el código de comprobación de los programas
3.2.45 CHR
/i
TipoComando de E/S
SintaxisCHR(x)
Descripción El comando CHR se utiliza para enviar caracteres ASCII individuales
a los que se hace referencia por número. PRINT CHR(x); equivale
a PUT(x) en otras versiones de BASIC.
Argumentos •x
Una expresión BASIC.
Ejemplo>>PRINT CHR(65);
A
Consulte
también
N/D
MANUAL DE PROGRAMACIÓN56
Comandos BASIC
3.2.46 CLEAR
/i
TipoComando de sistema
SintaxisCLEAR
Descripción El comando CLEAR restablece todas las variables VR globales a 0. Cuando
se utiliza en un programa, también se restablecen las variables locales de la
tarea actual a 0.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
RESET, VR
•
3.2.47 CLEAR_BIT
/i
TipoComando de sistema
SintaxisCLEAR_BIT(número_bit, número_vr)
Descripción El comando CLEAR_BIT restablece el bit especificado en la variable
VR especificada a 0. Otros bits de la variable mantienen sus valores.
Argumentos •número_bit
El número del bit que se restablecerá. Rango: 0 – 23.
•número_vr
El número de la variable VR cuyo bit se restablecerá. Rango: 0 – 1.023.
EjemploNo hay ejemplo.
Consulte
también
READ_BIT, SET_BIT, VR
.
3.2.48 CLEAR_PARAMS
/i
TipoComando de sistema
SintaxisCLEAR_PARAMS
Revisión 3.0
Descripción
Borra todas las variables y parámetros almacenados en la EPROM flash a sus
valores predeterminados. CLEAR_PARAM no se puede realizar si el controlador
está bloqueado.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
N/D
3.2.49 CLOSE_WIN
/i
TipoParámetro de eje
SintaxisCLOSE_WIN
CW
Descripción
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
El parámetro de eje
que se espera una marca de registro. El valor se indica en unidades del usuario.
AXIS, OPEN_WIN, REGIST, UNITS
CLOSE_WIN
define el final del periodo dentro o fuera del
.
3.2.50 CLUTCH_RATE
/i
TipoParámetro de eje
SintaxisCLUTCH_RATE
Descripción El parámetro de eje CLUTCH_RATE define el cambio en la relación
de conexión al utilizar el comando CONNECT. La relación se define
como la cantidad de relación por segundo.
El valor predeterminado se establece en un valor alto (1.000.000)
para garantizar la compatibilidad con la unidades TJ1-MC__ anteriores.
Nota: la operación que utiliza CLUTCH_RATE no es determinista en la
posición. Si es necesario, utilice el comando MOVELINK en su lugar para
evitar una diferencia de fase innecesaria entre el eje base y el eje vinculado.
Argumentos N/D
EjemploCLUTCH_RATE = 4
Este ajuste implica que al indicar CONNECT(4,1) se tardará un segundo
en alcanzar la conexión completa.
MANUAL DE PROGRAMACIÓN57
Comandos BASIC
Consulte
también
AXIS, CONNECT, MOVELINK
.
3.2.51 COMMSERROR
/i
TipoParámetro de sistema (sólo lectura)
SintaxisCOMMSERROR
Descripción El parámetro COMMSERROR contiene los errores de comunicaciones
que se han producido desde la última vez que se inicializó.
Los bits de COMMSERROR se indican en la siguiente tabla.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
/i
BitDescripción Ubicación del error
8Datos Rx de puerto 1 preparadosPuerto serie 1
9Desbordamiento de Rx de puerto 1Puerto serie 1
10Error de paridad de puerto 1Puerto serie 1
11Error de trama Rx de puerto 1Puerto serie 1
12Datos Rx de puerto 2 preparadosPuerto serie 2
13Desbordamiento de Rx de puerto 2Puerto serie 2
14Error de paridad de puerto 2Puerto serie 2
15Error de trama Rx de puerto 2Puerto serie 2
N/D
3.2.52 COMMSTYPE
/i
TipoParámetro de entrada
SintaxisCOMMSTYPE SLOT(número_unidad)
Descripción Este parámetro devuelve el tipo de una unidad del controlador.
En la tabla siguiente se enumeran los valores de devolución.
Argumentos •número_unidad
Los números de unidad van de 0 a 6, siendo 6 la unidad situada
inmediatamente a la derecha de TJ1-MC__.
EjemploNo hay ejemplo.
Consulte
también
/i
Valor de
devolución
0Unidad no utilizada
31TJ1-ML__
33TJ1-FL02
34TJ1-PRT
35TJ1-DRT
N/D
Descripción
3.2.53 COMPILE
/i
TipoComando de programa
SintaxisCOMPILE
Descripción El comando COMPILE fuerza la compilación del programa actual. El software
del sistema compila automáticamente los programas antes de su ejecución
o cuando se selecciona otro programa.
Argumentos N/D
Revisión 3.0
EjemploNo hay ejemplo.
Consulte
también
N/D
MANUAL DE PROGRAMACIÓN58
Comandos BASIC
3.2.54 CONNECT
/i
TipoComando de eje
SintaxisCONNECT(relación, eje_impulsor)
CO(relación, eje_impulsor)
Descripción El comando CONNECT Conecta la posición solicitada del eje base a los
movimientos medidos del eje especificado por eje_impulsor con el fin
de lograr un engranaje electrónico.
La relación se puede cambiar en cualquier momento si se ejecuta otro comando
CONNECT
cancelar el comando
se omitirá. El comando
CANCEL
utilizar para establecer una velocidad de cambio de conexión específica.
CONNECT funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
Argumentos •relación
•eje_impulsor
Ejemplo
Revisión 3.0
Consulte
también
En un sistema de alimentación de prensa, se requiere que un rodillo gire a una
velocidad que sea una cuarta parte de la velocidad medida desde un encoder
montado en la cinta transportadora entrante. El rodillo está cableado en el eje 0.
Un canal de entrada monitoriza los impulsos del encoder desde la cinta
transportadora y forma el eje 1. Se puede utilizar este código:
BASE(1)
SERVO = OFF ' Este eje se utiliza para monitorizar la cinta
transportadora
BASE(0)
SERVO = ON
CONNECT(0.25,1)
AXIS, CANCEL, CLUTCH_RATE, CONNECT, RAPIDSTOP
en el mismo eje. Para cambiar el eje impulsor, primero se tiene que
CONNECT
CONNECT
o
RAPIDSTOP
La relación de conexión del engranaje. La relación se especifica como
la relación en flancos de encoder (no unidades). Contiene el número
de flancos que se requiere que el eje base mueva por incremento
de flanco del eje impulsor. El valor de relación puede ser positivo
o negativo y tiene una resolución de dieciséis bits fraccionarios.
El eje maestro que accionará el eje base.
. El comando
se puede cancelar con un comando
. El parámetro de eje
CONNECT
CLUTCH_RATE
con otro eje impulsor
.
se puede
3.2.55 CONSTANT
/i
TipoComando de sistema
SintaxisCONSTANT "nombre", valor
Descripción
Argumentos •nombre
EjemploCONSTANT "nak",$15
Consulte
también
Declara el nombre como una constante para utilizar desde el programa
que contiene la definición
el proyecto de Trajexia Tools.
Nota: el programa que contiene la definición CONSTANT se debe ejecutar
antes de que el nombre se use en los demás programas. Además, sólo dicho
programa se debe ejecutar en el momento en que se ejecuta CONSTANT,
de lo contrario, aparecerá un error de programa y el programa se parará
cuando intente ejecutar este comando. Para un inicio rápido, el programa
también debe ser el único proceso que se ejecuta al inicio.
Cuando se declara CONSTANT, la declaración permanece activa hasta
el próximo reset de TJ1-MC__ al desconectar y conectar la alimentación
o mediante la ejecución del comando EX.
Se puede declarar un máximo de 128 instrucciones CONSTANT.
Cualquier nombre definido por el usuario que contiene caracteres
alfanuméricos en minúsculas, numéricos o subrayados.
•valor
El valor asignado a nombre.
CONSTANT "boton_inicio",5
IF IN(boton_inicio) = ON THEN OP(led1,ON)
IF key_char = nak THEN GOSUB no_ack_received
N/D
CONSTANT
y todos los demás programas en
3.2.56 CONTROL
/i
TipoParámetro de sistema (sólo lectura)
SintaxisCONTROL
Descripción El parámetro CONTROL Contiene el tipo de la TJ1-MC__ en el sistema.
El valor de este parámetro del sistema para la TJ1-MC__ es 262.
Descripción El comando COPY copia un programa existente del controlador en un
nuevo programa con el nombre especificado. El nombre de programa
se puede especificar sin comillas.
Nota: este comando se ha implementado para un terminal (VT100) offline.
En Trajexia Tools, los usuarios pueden seleccionar el comando desde
el menú Program (Programa).
Argumentos •nombre_programa
Nombre del programa que se copiará.
•nuevo_nombre_programa
Nombre que se usará para el nuevo programa.
Ejemplo>> COPY "programa" "nuevoprograma"
Consulte
también
DEL, NEW, RENAME
.
Consulte
también
N/D
3.2.59 CREEP
/i
TipoParámetro de eje
SintaxisCREEP
Descripción
Argumentos N/D
EjemploBASE(2)
Consulte
también
El parámetro de eje
La velocidad a marcha lenta se utiliza para la parte lenta de una secuencia
de búsqueda de origen.
La velocidad a marcha lenta se introduce en unidades con el factor de
conversión de unidades UNITS. Por ejemplo, si el factor de conversión
de unidades se establece en el número de flancos/pulgada de encoder,
la velocidad se establece en pulgadas.
TipoFunción matemática
SintaxisCOS(expresión)
Descripción La función COS devuelve el coseno de la expresión. Los valores de entrada
se expresan en radianes y pueden tener cualquier valor. El valor de resultado
estará en el rango de –1 a 1.
Argumentos •expresión
Revisión 3.0
Ejemplo>> PRINT COS(0)
Cualquier expresión BASIC válida.
1.0000
MANUAL DE PROGRAMACIÓN60
3.2.60 D_GAIN
/i
TipoParámetro de eje
SintaxisD_GAIN
Descripción El parámetro de eje D_GAIN contiene la ganancia derivatida del eje.
La aportación de salida de derivada se calcula multiplicando el cambio
en el error de seguimiento por D_GAIN. El valor predeterminado es 0.
Incorpore la ganancia de derivada a un sistema para producir una respuesta
más suave y el uso de una mayor ganancia proporcional. Los valores altos
pueden provocar oscilación.
Nota: la ganancia de servo sólo se debe cambiar cuando
SERVO
está en OFF.
Comandos BASIC
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
•
AXIS, I_GAIN, OV_GAIN, P_GAIN, VFF_GAIN
.
3.2.61 D_ZONE_MAX
/i
TipoParámetro de sistema
SintaxisD_ZONE_MAX = valor
Descripción Funciona en combinación con D_ZONE_MIN para fijar la salida DAC en
cero cuando se completa el movimiento solicitado y la magnitud del error
de seguimiento es menor que el valor de D_ZONE_MIN. El lazo de servo
se reactivará cuando el error de seguimiento esté por encima del valor
D_ZONE_MAX o se inicie un nuevo movimiento.
Argumentos N/D
EjemploD_ZONE_MIN = 3
D_ZONE_MAX = 10
Con estos dos parámetros configurados tal como se indica más arriba, la
salida DAC se fijará en cero cuando el movimiento esté completo y el error de
seguimiento esté por debajo de 3. Cuando se reinicia un movimiento o si el error
de seguimiento está por encima de un valor de 10, se reactivará el lazo de servo.
Consulte
también
D_ZONE_MIN
.
3.2.62 D_ZONE_MIN
/i
TipoParámetro de sistema
SintaxisD_ZONE_MIN = valor
Descripción Funciona en combinación con D_ZONE_MAX para fijar la salida DAC en
cero cuando se completa el movimiento solicitado y la magnitud del error
Revisión 3.0
de seguimiento es menor que el valor de D_ZONE_MIN. El lazo de servo
se reactivará cuando el error de seguimiento esté por encima del valor
D_ZONE_MAX o se inicie un nuevo movimiento.
Argumentos N/D
EjemploD_ZONE_MIN = 3
D_ZONE_MAX = 10
Con estos dos parámetros configurados tal como se indica más arriba, la
salida DAC se fijará en cero cuando el movimiento esté completo y el error de
seguimiento esté por debajo de 3. Cuando se reinicia un movimiento o si el error
de seguimiento está por encima de un valor de 10, se reactivará el lazo de servo.
Consulte
también
D_ZONE_MAX
.
3.2.63 DAC
Consulte
S_REF
.
3.2.64 DAC_OUT
Consulte
S_REF_OUT
.
3.2.65 DAC_SCALE
/i
TipoParámetro de eje
SintaxisDAC_SCALE
Descripción El parámetro tiene dos propósitos:
1.Se establece en el valor 16 en el encendido en los ejes integrados del
sistema. Escala los valores aplicados al DAC de mayor resolución, por
lo que las ganancias necesarias en el eje son similares a las requeridas
en otros controladores.
2.DAC_SCALE se puede configurar en un valor negativo (–16) para
invertir la polaridad de la señal de salida DAC. Cuando el servo está
en OFF, la magnitud de DAC_SCALE no es importante ya que
la tensión aplicada se controla mediante el parámetro DAC. No
obstante, la polaridad se sigue invirtiendo mediante DAC_SCALE.
Descripción Devuelve o establece la fecha actual que contiene el reloj de tiempo
real del Trajexia. El número se puede introducir en formato DD:MM:AA
o DD:MM:AAAA.
Argumentos N/D
EjemploDATE = 20:10:05
o bien
DATE = 20:10:2005
Ejemplo>>PRINT DATE
36956
Se imprime el número que representa la fecha actual. Se trata del número
de días transcurridos desde el 1 de enero de 1.900, siendo éste el 1.
Consulte
también
N/D
3.2.67 DATE$
/i
TipoComando de sistema
SintaxisDATE$
Descripción Imprime la fecha actual DD/MM/AA como una cadena en el puerto.
Se indica una descripción de año de 2 dígitos.
Argumentos N/D
EjemploPRINT #1,DATE$
Por ejemplo, se imprimirá la fecha con el formato: 20/10/05
3.2.68 DATUM
/i
TipoComando de eje
SintaxisDATUM(secuencia)
Descripción
Argumentos •secuencia
EjemploNo hay ejemplo.
Consulte
también
/i
El comando
en una posición absoluta y también para restablecer los errores de seguimiento:
DATUM utiliza la velocidad a marcha lenta y la velocidad solicitada para
la búsqueda de origen. La velocidad a marcha lenta en las secuencias
se establece con el parámetro de eje CREEP y la velocidad solicitada
se establece con el parámetro de eje SPEED. El número de entrada
del interruptor de referencia, que se utiliza para las secuencias 3 a 6,
se establece mediante el parámetro DATUM_IN.DATUM funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
Nota: la entrada de origen establecida con el parámetro DATUM_IN es activa
por baja, es decir, el interruptor de origen se establece cuando la entrada está
desconectada. Las entradas de retención de realimentación, marcha jog
inversa, marcha jog directa y límites de marcha directa e inversa también
son activas por baja. Las entradas activas por baja se utilizan para permitir
el cableado a prueba de fallos.
realiza una de las 6 búsquedas de origen para situar un eje
,
.
Revisión 3.0
Consulte
también
N/D
MANUAL DE PROGRAMACIÓN62
Comandos BASIC
Valor de
secuencia
0El comando DATUM(0) borrará el error de Motion Control. La posición medida
1El eje se mueve a la velocidad de marcha lenta hacia delante hasta que se
2El eje se mueve a la velocidad de marcha lenta hacia atrás hasta que se
3
4
5
Revisión 3.0
Descripción
actualmente se establece como la posición solicitada (esto resulta muy útil
en los ejes paso a paso con verificación de posición). DATUM(0) también
borra el error de seguimiento que ha excedido la condición FE_LIMIT
en el registro AXISSTATUS para TODOS los ejes. Establece estos
bits en AXISSTATUS a cero:
Bit 1 : advertencia de error de seguimiento.
Bit 2 : error de comunicaciones de driver remoto.
Bit 3 : error de driver remoto.
Bit 8 : límite de error de seguimiento excedido.
Bit 11 : cancelación de movimiento.
Tenga en cuenta que el estado no se puede borrar si sigue estando presente
la causa del problema.
encuentra el marcador Z. A continuación, la posición solicitada se restablece
a cero y la posición medida se corrige para mantener el error de seguimiento.
encuentra el marcador Z. A continuación, la posición solicitada se restablece
a cero y la posición medida se corrige para mantener el error de seguimiento.
El eje se mueve a la velocidad solicitada hacia delante hasta que se alcanza
el interruptor de referencia. A continuación, el eje se mueve hacia atrás a la
velocidad de marcha lenta hasta que se restablece el interruptor de referencia.
A continuación, la posición solicitada se restablece a cero y la posición medida
se corrige para que se mantenga el error de seguimiento.
El eje se mueve a la velocidad solicitada hacia atrás hasta que se alcanza
el interruptor de referencia. A continuación, el eje se mueve hacia delante
a la velocidad de marcha lenta hasta que se restablece el interruptor de
referencia. A continuación, la posición solicitada se restablece a cero y la
posición medida se corrige para que se mantenga el error de seguimiento.
El eje se mueve a la velocidad solicitada hacia delante hasta que se alcanza el
interruptor de referencia. A continuación, el eje se va hacia atrás a la velocidad
de marcha lenta hasta que se restablece el interruptor de referencia. El eje
continúa a la velocidad de marcha lenta hasta que se encuentra el marcador
Z del encoder. A continuación, la posición solicitada se restablece a cero
y la posición medida se corrige para que se mantenga el error de seguimiento.
Valor de
secuencia
6
3.2.69 DATUM_IN
/i
TipoParámetro de eje
SintaxisDATUM_IN
Descripción
Sigma II•entrada 28: CN1-40
Sigma III•entrada 28: CN1-13
Descripción
El eje se mueve a la velocidad solicitada hacia atrás hasta que se alcanza
el interruptor de referencia. A continuación, el eje se mueve hacia delante
a la velocidad a marcha lenta hasta que se restablece el interruptor de referencia.
El eje continúa a la velocidad de marcha lenta hasta que se encuentra el marcador
Z del encoder. A continuación, la posición solicitada se restablece a cero
y la posición medida se corrige para que se mantenga el error de seguimiento.
DAT_IN
El parámetro de eje
como la entrada de interruptor de referencia para el comando
de entrada válido va de 0 a 31. Los valores de 0 a 15 representan entradas
presentes físicamente del conector de E/S de la TJ1-MC__ y son comunes para
todos los ejes. Los valores 16 a 27 representan entradas de software que
se pueden utilizar libremente en programas y comandos, como, por ejemplo,
IN y OP. También son comunes para todos los ejes. Los valores 28 a 31 se
asignan directamente a las entradas de driver presentes en el conector CN1
y son únicos para cada eje. Las entradas de driver que se asignan a las
entradas 28 a 31 dependen del ajuste Pn81E del parámetro de servodriver.
El ajuste recomendado es Pn81E = 0x4321, con la siguiente asignación:
Nota: la entrada de origen es activa por baja, es decir, el interruptor de origen
se establece cuando la entrada está desconectada. Las entradas de retención
de realimentación, marcha jog inversa, marcha jog directa y límites de marcha
directa e inversa también son activas por baja. Las entradas activas por baja
se utilizan para permitir el cableado a prueba de fallos.
•entrada 29: CN1-41
•entrada 30: CN1-42
•entrada 31: CN1-43
•entrada 29: CN1-7
•entrada 30: CN1-8
•entrada 31: CN1-9
DATUM_IN
contiene el número de entrada que se utilizará
DATUM
. El rango
MANUAL DE PROGRAMACIÓN63
Comandos BASIC
Junma•entrada 26: CN1-2
•entrada 27: CN1-1
Para obtener más información sobre el ajuste del parámetro de driver Pn81E,
consulte el manual del servodriver. De forma predeterminada, el parámetro
se establece en –1 y no hay seleccionada ninguna entrada.
El comando
una nueva posición absoluta. La posición medida (
en consecuencia para mantener el error de seguimiento.
normalmente se utiliza después de una secuencia de búsqueda
de origen (consulte el comando DATUM), estableciendo la posición
actual en 0.
Como alternativa, también se puede usar el parámetro de eje
parámetro se puede utilizar para realizar un ajuste relativo de la posición actual.
DEFPOS funciona en el eje base predeterminado (establecido con BASE)
a menos que se utilice AXIS para especificar un eje base temporal.
Nota: los cambios en la posición de eje mediante DEFPOS u OFFPOS
se efectúan en la siguiente actualización de servo. Esto puede provocar
problemas potenciales cuando se inicia un movimiento en el mismo período
de servo que DEFPOS u OFFPOS.
En el siguiente ejemplo se muestra cómo se puede usar el parámetro
OFFPOS para evitar este problema. Los comandos DEFPOS se convierten
internamente a offsets de posición OFFPOS, que proporciona una forma
simple de evitar el problema mediante programación del siguiente modo:
DEFPOS(100): WAIT UNTIL OFFPOS = 0: MOVEABS(0)
DEFPOS
DEFPOS
define la posición solicitada actual (
se puede utilizar en cualquier momento.
MPOS
DPOS
) se cambiará
DEFPOS
) como
OFFPOS
. Este
MANUAL DE PROGRAMACIÓN64
Comandos BASIC
Argumentos El comando puede aceptar hasta 16 argumentos.
•pos_i
La posición absoluta del eje (base + i) en unidades de usuario.
Consulte el comando BASE para la agrupación de los ejes.
La última línea define la posición actual en (–1.000,–3.500) en unidades
de usuario. La posición actual se habrá restablecido a (0,0) por los dos
comandos DATUM.
Consulte
también
3.2.74 DEL
/i
TipoComando de programa
SintaxisDEL [nombre_programa]
Descripción El comando DEL elimina un programa del controlador. Se puede utilizar
Argumentos •nombre_programa
Ejemplo>> DEL programa_anterior
Revisión 3.0
Consulte
también
AXIS, DATUM, DPOS, OFFPOS, MPOS, UNITS
RM [nombre_programa]
DEL sin un nombre de programa para eliminar el programa seleccionado
actualmente (mediante SELECT). El nombre de programa también se puede
especificar sin comillas. Con DEL ALL se eliminan todos los programas.
DEL también se puede utilizar para eliminar la tabla: DEL "TABLE".
El nombre "TABLE" debe estar entre comillas.
Nota: este comando se ha implementado para un terminal (VT100) offline.
En Trajexia Tools, los usuarios pueden seleccionar el comando desde
el menú Program (Programa).
Nombre del programa que se eliminará.
COPY, NEW, RENAME, SELECT, TABLE
.
.
3.2.75 DEMAND_EDGES
/i
TipoParámetro de eje (sólo lectura)
SintaxisDEMAND_EDGES
Descripción El parámetro de eje DEMAND_EDGES contiene el valor actual del parámetro
Descripción La función 2 de DEVICENET configura la TJ1-DRT para el intercambio
de datos con la unidad maestra DeviceNet y define las áreas de la memoria
VR donde se realiza el intercambio de E/S. La función 4 de DEVICENET
devuelve el estado de intercambio de datos de la TJ1-DRT. Consulte en la
tabla la descripción de los bits en el canal de estado de intercambio de datos.
Argumentos •número_unidad
Especifica el número de unidad de la TJ1-DRT en el sistema Trajexia.
•salidas_inicio_VR
La dirección de inicio de la memoria VR del controlador donde
se encuentran los datos de salida del maestro DeviceNet.
•número_salidas
El número de canales de salida desde el maestro DeviceNet
en la memoria VR.
•entradas_inicio_VR
La dirección de inicio de la memoria VR del controlador donde
se encuentran los datos de entrada para el maestro DeviceNet.
•número_entradas
El número de canales de entrada al maestro DeviceNet en la memoria VR.
MANUAL DE PROGRAMACIÓN65
Comandos BASIC
EjemploDEVICENET (0,2,1,10,16,150,31)
En este ejemplo, la TJ1-DRT está configurada para intercambiar datos con el
maestro DeviceNet con 16 canales de salida (recibidos del maestro) situados
en VR(10) a VR(25) y 31 canales de entrada (enviados al maestro) situados
en VR(150) a VR(180).
Consulte
también
/i
N/D
BitValorDescripción
00DEVICENET (número_unidad, 2, ...) no se ha ejecutado todavía
1DEVICENET (número_unidad, 2, ...) se ha ejecutado sin errores
10Sin conexión de E/S de DeviceNet
1Conexión de E/S de DeviceNet en funcionamiento
20Las variables VR del rango de datos de salida se han actualizado
1Las variables VR del rango de datos de salida todavía no se han
actualizado
30El tamaño de conexión de E/S de DeviceNet coincide con
el comando DEVICENET (número_unidad, 2,…)
1El tamaño de conexión de E/S de DeviceNet no coincide con
el comando DEVICENET (número_unidad, 2,…)
4-70Siempre cero
80Alimentación de red correcta
1Fallo de alimentación de red
90No se ha producido BUSOFF
1Se ha producido BUSOFF
100Sin error de duplicación de dirección de nodo
1Error de duplicación de dirección de nodo
Revisión 3.0
MANUAL DE PROGRAMACIÓN66
Comandos BASIC
3.2.77 DIR
/i
TipoComando de programa
SintaxisDIR
LS
Descripción El comando DIR muestra una lista de los programas que contiene
el controlador, el tamaño de memoria y el valor de RUNTYPE.
DIR también muestra el tamaño de memoria disponible, el modo
de encendido y el programa seleccionado actual del controlador.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
FREE, POWER_UP, PROCESS, RUNTYPE, SELECT
.
3.2.78 DISABLE_GROUP
/i
TipoComando de eje
SintaxisDISABLE_GROUP(-1)
DISABLE_GROUP(eje_1 [, eje_2 [, ...]] )
Descripción Se utiliza para agrupar cualquier lista de ejes entre sí para desactivar errores.
Si se crea un grupo de ejes, cuando se produce un error en uno, a todos
se les desactiva AXIS_ENABLE y SERVO. Se pueden crear varios grupos,
aunque un eje no puede pertenecer a más de un grupo. Todas las
agrupaciones se pueden borrar con DISABLE_GROUP(-1).
Argumentos •eje_i
Una expresión BASIC que se evalúa en un número de eje.
EjemploDISABLE_GROUP(-1)
DISABLE_GROUP(0,1,2,3)
DISABLE_GROUP(4,5,6,7)
WDOG = ON
STOP
enable_b:
FOR ax = 4 TO 7
AXIS_ENABLE AXIS(ax) = ON
NEXT ax
Un sistema de 8 ejes requiere que los ejes 4 a 7 sigan en funcionamiento
si los ejes 0 a 3 tienen un error y viceversa. Los ejes se agrupan con
DISABLE_GROUP.
Nota: sólo para usar con MECHATROLINK-II.
Consulte
también
N/D
3.2.79 DISPLAY
/i
TipoParámetro de sistema
SintaxisDISPLAY = valor
Descripción Determina los canales de E/S que se mostrarán en los LEDs del panel
frontal. El parámetro DISPLAY se puede utilizar para seleccionar el banco
de E/S que se debe mostrar.
Los valores se muestran en la tabla siguiente.
Argumentos N/D
EjemploDISPLAY = 5
Muestra las salidas 8-15.
Consulte
también
N/D
/i
valorDescripción
0Entradas 0 a 7 (predeterminado)
Revisión 3.0
1Entradas 8 a 15
2Entradas 16 a 23
3Entradas 24 a 31
MANUAL DE PROGRAMACIÓN67
Comandos BASIC
valorDescripción
4Salidas 0 a 7 (no se utilizan en Trajexia)
5Salidas 8 a 15
6Salidas 16 a 23
7Salidas 24 a 31
3.2.80 DPOS
/i
TipoParámetro de eje (sólo lectura)
SintaxisDPOS
Descripción El parámetro de eje DPOS contiene la posición solicitada en unidades
de usuario, que se genera mediante los comandos de movimiento en el
servocontrol. Cuando el controlador está en lazo abierto (SERVO = OFF),
la posición medida (MPOS) se copiará en DPOS con el fin de mantener
un error de seguimiento 0.
El rango de la posición solicitada se controla con los parámetros de eje
REP_DIST y REP_OPTION. El valor se puede ajustar sin realizar un
movimiento mediante el comando DEFPOS o el parámetro de eje
OFFPOS. DPOS se restablece a 0 al iniciarse.
Argumentos N/D
Ejemplo>> PRINT DPOS AXIS(0)
34.0000
La línea anterior devolverá la posición solicitada en unidades de usuario.
Consulte
también
AXIS, DPOS, DEFPOS, DEMAND_EDGES, FE, MPOS, REP_DIST
REP_OPTION, OFFPOS, UNITS
.
,
3.2.81 DRIVE_ALARM
/i
TipoComando de eje
SintaxisDRIVE_ALARM(VR)
Descripción La función DRIVE_ALARM lee la alarma actual del servodriver que está
conectado al sistema mediante MECHATROLINK-II. Tras una ejecución
correcta, el comando devuelve –1 y almacena el valor en la ubicación de
memoria VR especificada por el parámetro VR. Si el comando no puede
ejecutarse, se devuelve el valor 0. El comando se ejecuta en el driver para
el eje base definido por BASE. El eje base puede cambiar con el modificador
AXIS, igual que con los demás comandos y parámetros de eje.
Este comando espera la respuesta del eje. La ejecución del comando puede
ser lenta y de duración variable. Si necesita una respuesta rápida, no utilice
este comando.
Argumentos •VR
El valor de alarma se almacena en la dirección VR tras una ejecución
correcta.
EjemploIF NOT DRIVE_ALARM(10) AXIS(2) THEN
PRINT "Error al leer la alarma del servodriver"
ELSE
IF VR(10) = 0 THEN
PRINT "Servodriver en buen estado"
ELSE
PRINT "Código de alarma de servo: "; VR(10)
ENDIF
ENDIF
Este ejemplo lee una alarma del eje impulsor 2 del servodriver y presenta
dicha información al usuario.
Consulte
también
N/D
Revisión 3.0
MANUAL DE PROGRAMACIÓN68
Comandos BASIC
3.2.82 DRIVE_CLEAR
/i
TipoComando de eje
SintaxisDRIVE_CLEAR
Descripción El comando DRIVE_CLEAR borra el estado de alarma del servodriver
conectado mediante el bus MECHATROLINK-II. Este comando no puede
borrar todos los estados de alarma posibles. Algunas alarmas sólo se
pueden cancelar si se desconecta la alimentación (tanto de la TJ1-MC__
como del servodriver) y se vuelve a conectar.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
DRIVE_STATUS
.
Precaución
Asegúrese de que no hay ninguna unidad de parámetros o software
de ordenador personal conectado al servodriver al ejecutar este
comando. De lo contrario, la tarea de programa se pondrá en pausa
hasta que se quite la conexión del otro dispositivo al servodriver.
Argumentos N/D
EjemploDRIVE_CONTROL AXIS(2) = 256
En este ejemplo, OUT 0 se activa para el eje 2, conectado mediante
la TJ1-FL02.
Consulte
también
/i
CódigoDescripción
2Error de seguimiento (se trata del FE real cuando se utiliza ATYPE = 40)
9Velocidad de comando (unidades iguales a velocidad de realimentación)
10Velocidad objetivo (unidades iguales a velocidad de realimentación)
11Referencia de par (fuerza) (con Atype = 42 unidades = par máx./40000000H,
14Monitorización seleccionada con Pn813.0.
15Monitorización seleccionada con Pn813.1.
N/D
40000000H, con otro Atype unidades = unidades referencia/s)
con otro Atype unidades = % por encima de par nominal)
Resulta útil para monitorizar los monitores de servo (Unxxx)
Resulta útil para monitorizar los monitores de servo (Unxxx)
3.2.83 DRIVE_CONTROL
/i
TipoParámetro de eje
SintaxisDRIVE_CONTROL
Descripción
Revisión 3.0
MANUAL DE PROGRAMACIÓN69
Cuando se aplica al eje controlado por el servodriver conectado al sistema
mediante el bus MECHATROLINK-II, este parámetro selecciona los datos que
se monitorizarán mediante
servodriver para el eje está conectado mediante la TJ1-FL02, este parámetro
establece las salidas de la TJ1-FL02. Estableza el bit 8 de este parámetro para
activar OUT 0 para un eje. Establezca el bit 9 de este parámetro para activar
OUT 1 para un eje. Tenga en cuenta que el comando
las mismas salidas.
DRIVE_MONITOR
según la tabla siguiente. Si un
HW_PSWITCH
utiliza
Comandos BASIC
3.2.84 DRIVE_INPUTS
/i
TipoParámetro de eje
SintaxisDRIVE_INPUTS
Descripción
Argumentos N/D
EjemploTodas las entradas se pueden monitorizar en este canal del modo que
EjemploTodas las entradas se pueden monitorizar en este canal del modo que
Consulte
también
/i
Número
de bit
0P_OTP_OT
1N_OTN_OT
Revisión 3.0
2Señal DEC (se selecciona con Pn511.0)/DEC
3Fase A de encoderN/C
Este parámetro monitoriza el estado de las entradas del servodriver conectado
mediante el bus MECHATROLINK-II. El valor de parámetro se actualiza cada
ciclo
SERVO_PERIOD
tal como se enumeran en la tabla siguiente. El ajuste recomendado es:
Pn81E = 4321 y Pn511 = 654x.
se indica a continuación (servodriver Sigma-II):
CN1-40 DRIVE_INPUTS bit 12
CN1-41 DRIVE_INPUTS bit 13
CN1-42 DRIVE_INPUTS bit 14
CN1-43 DRIVE_INPUTS bit 15
CN1-44 DRIVE_INPUTS bit 06
CN1-45 DRIVE_INPUTS bit 07
CN1-46 DRIVE_INPUTS bit 08
se indica a continuación (servodriver Junma):
CN1-1 DRIVE_INPUTS bit 6
CN1-2 DRIVE_INPUTS bit 2
CN1-3 DRIVE_INPUTS bit 1
CN1-4 DRIVE_INPUTS bit 0
N/D
Descripción de Sigma-IIDescripción
. Se trata de un canal de operación de bits con los bits
de Junma
Número
de bit
4Fase B de encoderN/C
5Fase C de encoder N/C
6Señal EXT1 (se selecciona con Pn511.1)/EXT1
7Señal EXT2 (se selecciona con Pn511.2)N/C
8Señal EXT3 (se selecciona con Pn511.3)N/C
9Salida de freno BRK/BK
10ReservadoE_STP
11R eser vadoN/C
12IO12 (señal de entrada CN1 seleccionada en Pn81E.0)N/C
13IO13 (señal de entrada CN1 seleccionada en Pn81E.1)N/C
14IO14 (señal de entrada CN1 seleccionada en Pn81E.2)N/C
15IO15 (señal de entrada CN1 seleccionada en Pn81E.3)N/C
Descripción de Sigma-IIDescripción
de Junma
3.2.85 DRIVE_MONITOR
/i
TipoParámetro de eje
SintaxisDRIVE_MONITOR
Descripción
ArgumentosN/D
EjemploNo hay ejemplo.
Consulte
también
Este parámetro contiene los datos monitorizados del servodriver conectado al
sistema mediante el bus MECHATROLINK-II. Los datos que se monitorizarán
se seleccionan con
Trajexia Tools o utilizarse en un programa. Los datos monitorizados se
actualizan cada ciclo
N/D
DRIVE_CONTROL
SERVO_PERIOD
y se pueden mostrar en el ámbito de
.
MANUAL DE PROGRAMACIÓN70
Comandos BASIC
3.2.86 DRIVE_READ
/i
TipoComando de eje
SintaxisDRIVE_READ(parámetro,tamaño,VR)
Descripción La función DRIVE_READ lee el parámetro especificado del servodriver
que está conectado al sistema Trajexia mediante el bus MECHATROLINKII. Tras una ejecución correcta, este comando devuelve –1 y coloca el valor
leído en la ubicación de memoria VR especificada por el parámetro VR. Si el
comando no puede ejecutarse, se devuelve el valor 0. El comando se ejecuta
en el driver para el eje base definido con BASE. Se puede cambiar con el
modificador AXIS, igual que con los demás comandos y parámetros de eje.
Nota: este comando espera la respuesta del eje, por lo tanto, la ejecución
es lenta y de duración variable. No utilice este comando junto con otros
comandos que requieran una ejecución rápida.
Nota: al ejecutar un comando DRIVE_READ se desactivará temporalmente
el display del panel frontal del servodriver.
Nota: DRIVE_READ devuelve –1 si se realiza correctamente. También
devuelve –1 sin ningún parámetro leído si el número de parámetro no
existe o tiene un tamaño erróneo.
Argumentos •parámetro
El número del parámetro que se leerá. Tenga en cuenta que los
números de parámetro son hexadecimales. El formato de los datos
se puede encontrar en el manual del servodriver.
•tamaño
Para la mayoría de los parámetros, el tamaño normalmente es de 2 bytes.
Algunos parámetros especiales pueden tener una longitud de 4 bytes.
Los tamaños de cada parámetro se pueden encontrar en el manual del
servodriver.
•VR
La dirección VR donde el parámetro leído se almacena tras una ejecución
correcta.
EjemploIF DRIVE_READ($100,2,1) THEN
PRINT "La ganancia del lazo de velocidad es: ";VR(1)
ELSE
Revisión 3.0
Consulte
también
PRINT "No se puede leer la ganancia del lazo de velocidad"
ENDIF
DRIVE_WRITE, HEX, $ (ENTRADA HEXADECIMAL)
.
Precaución
Asegúrese de que no hay ninguna unidad de parámetros o software
de ordenador personal conectado al servodriver al ejecutar este
comando. De lo contrario, la tarea de programa se pondrá en pausa
hasta que se quite la conexión del otro dispositivo al servodriver.
3.2.87 DRIVE_RESET
/i
TipoComando de eje
SintaxisDRIVE_RESET
Descripción El comando DRIVE_RESET realiza el reset del servodriver conectado
mediante el bus MECHATROLINK-II.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
N/D
Precaución
Asegúrese de que no hay ninguna unidad de parámetros o software
de ordenador personal conectado al servodriver al ejecutar este
comando. De lo contrario, la tarea de programa se pondrá en pausa
hasta que se quite la conexión del otro dispositivo al servodriver.
MANUAL DE PROGRAMACIÓN71
Comandos BASIC
3.2.88 DRIVE_STATUS
/i
TipoParámetro de eje (sólo lectura)
SintaxisDRIVE_STATUS
Descripción
Argumentos N/D
EjemploPRINT DRIVE_STATUS AXIS(4)
EjemploBASE(3)
Consulte
también
Para los ejes MECHATROLINK-II, este parámetro se establece desde
el campo STATUS en la trama de comunicaciones MECHATROLINK-II
y se actualiza cada período de servo. Estos bits se pueden ver en la ventana
de configuración de Intelligent drives en Trajexia Tools y se pueden utilizar
en los programas. En la tabla siguiente se ofrece la explicación de cada bit.
(Nota: sólo se enumeran los bits relevantes para los ejes MECHATROLINK-II.)
Para obtener una explicación detallada de estos bits de estado, consulte
el manual MECHATROLINK-II.
Para los ejes flexibles, este parámetro contiene el estado de registro y las
entradas auxiliares, así como la selección de registro. En la segunda tabla
siguiente se ofrece la explicación de cada bit. (Nota: sólo se enumeran los
bits relevantes para los ejes flexibles.)
Este comando imprimirá el valor actual de DRIVE_STATUS para el eje (4).
ATYPE = 44IF (DRIVE_STATUS AND 32) = 32 THENPRINT "La entrada REG 0 está en ON para el eje (3)"
ENDIF
AXIS, MARK, MARKB, REGIST
BitDescripción (MECHATROLINK-II)
5Bloqueo de máquina
6Posición de inicio
7En posición/velocidad
8Salida finalizada
9Límite de par
10Registro finalizado
11En límite de rango/velocidad
/i
BitDescripción (eje flexible)
0MARK
1MARKB
2Valor actual seleccionado de REG-0
3Valor actual seleccionado de REG-1
4Valor actual de AUX IN
5Valor actual de REG 0
6Valor actual de REG 1
.
/i
BitDescripción (MECHATROLINK-II)
0Alarma
1Advertencia
2Listo
Revisión 3.0
3Servo ON
4Alimentación conectada
MANUAL DE PROGRAMACIÓN72
Comandos BASIC
3.2.89 DRIVE_WRITE
/i
TipoComando de eje
SintaxisDRIVE_WRITE(parámetro, tamaño, valor [,modo])
Descripción La función DRIVE_WRITE escribe en el parámetro especificado del
servodriver mediante el bus MECHATROLINK-II. Tras una ejecución correcta,
este comando devuelve –1. Si el comando no puede ejecutarse, se devuelve
el valor 0. El comando se ejecuta en el driver para el eje base definido con
BASE. Se puede cambiar con el modificador AXIS, igual que con los demás
comandos y parámetros de eje. Para algunos parámetros, el driver se tiene
que apagar y volver a encender. El comando DRIVE_RESET se puede utilizar
para esta finalidad.
Nota: este comando espera la respuesta del eje, por lo tanto, la ejecución
es lenta y de duración variable. No utilice este comando junto con otros
comandos que requieran una ejecución rápida.
Nota: al ejecutar un comando DRIVE_WRITE se desactivará
temporalmente el display del panel frontal del servodriver.
Nota: DRIVE_WRITE devuelve –1 si se realiza correctamente. También
devuelve –1 si ningún parámetro es leído si el número de parámetro no
existe o tiene un tamaño erróneo.
Argumentos •parámetro
El número del parámetro en el que se escribirá. Tenga en cuenta
que los números de parámetro son hexadecimales. El formato de
los datos se puede encontrar en el manual del servodriver. Consulte
el formato en dicho manual.
•tamaño
Para la mayoría de los parámetros, el tamaño normalmente es de
2 bytes. Algunos parámetros especiales pueden tener una longitud
de 4 bytes. Los tamaños de cada parámetro se pueden encontrar
en el manual del servodriver.
•valor
El valor que se escribirá en el parámetro de driver.
•modo
El modo de escritura. Valores posibles: 0 (u omitido), escribir
y almacenar en RAM; 1, escribir y almacenar en EPROM.
EjemploIF DRIVE_WRITE($100,2,90) THEN
Revisión 3.0
PRINT "La nueva ganancia del lazo de velocidad es: 90"
ELSE
PRINT "No se puede escribir la ganancia del lazo de velocidad en la RAM"
ENDIF
Consulte
también
•
DRIVE_READ, DRIVE_RESET, $ (ENTRADA HEXADECIMAL)
Precaución
Asegúrese de que no hay ninguna unidad de parámetros o software
de ordenador personal conectado al servodriver al ejecutar este
comando. De lo contrario, la tarea de programa se pondrá en pausa
hasta que se quite la conexión del otro dispositivo al servodriver.
3.2.90 EDIT
/i
TipoComando de programa
SintaxisEDIT [ número_línea ]
ED [ número_línea ]
Descripción El comando EDIT inicia el editor de pantalla integrado que permite modificar
un programa del controlador mediante un terminal VT100. Se editará
el programa seleccionado actualmente.
Los comandos del editor son los siguientes:
Este comando se ha implementado para un terminal (VT100) offline.
En Trajexia Tools, los usuarios pueden seleccionar el comando desde
el menú Program (Programa).
•Editor rápido: [CTRL] K y D
•Eliminar línea: [CTRL] Y
Argumentos •número_línea
El número de la línea en la que se iniciará la edición.
EjemploNo hay ejemplo.
Consulte
también
SELECT
.
3.2.91 ELSE
Consulte
IF..THEN..ELSE..ENDIF
.
3.2.92 ELSEIF
Consulte
IF..THEN..ELSE..ENDIF
.
MANUAL DE PROGRAMACIÓN73
Comandos BASIC
3.2.93 ENCODER
/i
TipoParámetro de eje (sólo lectura)
SintaxisENCODER
Descripción El parámetro de eje ENCODER contiene una copia sin procesar del encoder.
El parámetro de eje MPOS contiene la posición medida que se calcula a partir
del valor de ENCODER automáticamente, permitiendo desbordamientos
y offsets.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
AXIS, MPOS
.
3.2.94 ENCODER_BITS
/i
TipoParámetro de eje
SintaxisENCODER_BITS = valor
Descripción Este parámetro de eje configura la interfaz del número de bits de encoder
para los ejes de encoder absoluto SSI y EnDat de eje flexible. El parámetro
sólo se aplica a los ejes de los valores 47 y 48 de ATYPE.
Cuando se aplican a un encoder absoluto EnDat del eje flexible, los bits 0 a 7 del
parámetro se deben configurar en el número total de bits de encoder. Los bits
8 a 14 se deben establecer al número de bits multigiro que se utilizarán.
Cuando se aplican a un encoder absoluto SSI del eje flexible, los bits 0 a 5 del
parámetro se deben configurar en el número de bits de encoder. El bit 6 debe
ser 1 para operación binaria, ó 0 para código Gray.
Nota: si se utiliza un eje de encoder absoluto de eje flexible, es fundamental
establecer este parámetro para el eje antes de configurar ATYPE.
EjemploENCODER_BITS = 12 + (64 * 1)
ATYPE = 48
En este ejemplo se utiliza un encoder SSI de 12 bits
(4.096 posiciones por revolución) con tipo de salida binaria.
Consulte
también
AXIS
.
3.2.95 ENCODER_CONTROL
/i
TipoParámetro de eje
SintaxisENCODER_CONTROL = valor
Descripción
Argumentos N/D
EjemploENCODER_CONTROL AXIS(1) = 0
EjemploENCODER_CONTROL AXIS(1) = 1
Consulte
también
El parámetro
eje flexible con un valor 47 de ATYPE. Este parámetro controla el modo en que
el encoder EnDat vuelve a su posición. El encoder se puede configurar para
volver cíclicamente a su posición o se puede configurar en un modo de lectura/
escritura de parámetros. El valor predeterminado después de la inicialización
es el modo de retorno de posición cíclico. Para obtener más información,
consulte la especificación de interfaz del encoder absoluto EnDat.
Este comando establece el modo de retorno de posición cíclico.
Este comando establece el modo de lectura/escritura de parámetros.
AXIS, ENCODER, ENCODER_BITS
ENCODER_CONTROL
sólo es aplicable al eje EnDat absoluto de
.
Argumentos N/D
EjemploENCODER_BITS = 25 + (256 * 12)
Revisión 3.0
ATYPE = 47
En este ejemplo se utiliza un encoder EnDat de 25 bits, que tiene 12 bits para
el valor de multigiro y 13 bits para una revolución.
MANUAL DE PROGRAMACIÓN74
Comandos BASIC
3.2.96 ENCODER_ID
/i
TipoParámetro de eje (sólo lectura)
SintaxisENCODER_ID
Descripción Este parámetro devuelve el valor ID de un encoder absoluto para el eje.
Este parámetro sólo es aplicable al eje Tamagawa absoluto de eje flexible
con el valor 46 de ATYPE.
Devuelve el parámetro ENID desde el encoder, que está configurado en 17.
Para obtener más información, consulte la especificación de interfaz de
encoder absoluto Tamagawa.
Si se aplica a un eje de valor ATYPE distinto de 46, este parámetro devuelve 0.
Argumentos N/D
Ejemplo>>PRINT ENCODER_ID AXIS (1)
17.0000
Este comando imprimirá el valor de ID de encoder absoluto para el eje 1.
Consulte
también
AXIS, ENCODER, ENCODER_BITS
.
3.2.97 ENCODER_RATIO
/i
TipoParámetro de eje
SintaxisENCODER_RATIO(denominador,numerador)
Descripción Permite que se ajuste la escala del contaje de encoder entrante a un número
no entero mediante la ecuación:
MPOS = (numerador)/(denominador) x entrada de flancos de encoder
A diferencia de los parámetros UNITS, ENCODER_RATIO afecta
a MOVECIRC y CAMBOX.
Nota: se deben evitar relaciones grandes ya que provocarán la pérdida
de resolución o una suavidad más reducida en el movimiento. El contaje
de encoder físico real es la resolución básica del eje y el uso de este
comando puede reducir la capacidad del controlador Motion para alcanzar
Revisión 3.0
todas las posiciones de forma precisa.
Nota: ENCODER_RATIO no reemplaza a UNITS. Utilice ENCODER_RATIO
sólo cuando sea absolutamente necesario. Para todos los demás ajustes
a escala de eje utilice UNITS.
Argumentos •denominador
Un número entre 0 y 16.777.215 que se utiliza para definir el denominador
en la ecuación anterior.
•numerador
Un número entre 0 y 16.777.215 que se utiliza para definir el numerador
en la ecuación anterior.
EjemploENCODER_RATIO(8192,7200)
UNITS = 20
Una mesa rotativa tiene un servomotor conectado directamente a su centro
de rotación. Se monta un encoder en la parte trasera del servomotor
y devuelve un valor de 8.192 contajes por revolución. La aplicación requiere
que la mesa esté calibrada en grados, pero un grado es un número entero de
contajes.
Consulte
también
N/D
3.2.98 ENCODER_READ
/i
TipoComando de eje
SintaxisENCODER_READ(dirección)
Descripción
Argumentos •dirección
EjemploVR(100) = ENCODER_READ($A10D) AXIS(7)
Consulte
también
El comando
eje flexible con un valor 47 de
de encoder de 16 bits almacenado en una dirección especificada. Los bits
8 a 15 de la dirección son los ajustes de campo MRS de EnDat y los bits
0 a 7 son el offset dentro del bloque MRS de EnDat. Si se produce un error
de CRC, este comando devolverá –1. Para obtener más información, consulte
la especificación de interfaz del encoder absoluto EnDat.
Especifica el campo MRS de EnDat que se leerá.
Este comando leerá el número de bits de encoder y pondrá dicho valores
en la ubicación de memoria VR(10).
AXIS, ENCODER, ENCODER_BITS
ENCODER_READ
sólo es aplicable a un eje EnDat absoluto de
ATYP E
. El parámetro devuelve un parámetro
.
MANUAL DE PROGRAMACIÓN75
Comandos BASIC
3.2.99 ENCODER_STATUS
/i
Tipo
Sintaxis
Descripción
Argumentos
Ejemplo
Consulte
también
Parámetro de eje (sólo lectura).
ENCODER_STATUS
Este parámetro devuelve el estado del encoder absoluto.
Este parámetro sólo es aplicable al eje Tamagawa absoluto de eje flexible
con el valor 46 de ATYPE. Devuelve el campo de estado SF y el campo de
error de encoder ALMC. El campo SF está en los bits 0 a 7, mientras que
el campo ALMC está en los bits 8 a 15. Para obtener más información,
consulte la especificación de interfaz de encoder absoluto Tamagawa.
Si se aplica a un eje de valor
N/D
PRINT (ENCODER_STATUS AXIS (1) AND 255)
Este comando imprimirá el campo SF del encoder absoluto Tamagawa para el eje 1.
AXIS, ENCODER, ENCODER_BITS
3.2.100 ENCODER_TURNS
/i
Tipo
Sintaxis
Descripción
Argumentos
Ejemplo
Revisión 3.0
Consulte
también
Parámetro de eje (sólo lectura)
ENCODER_TURNS
El parámetro ENCODER_TURNS devuelve el número de contaje multigiro
del encoder.
Sólo es aplicable al eje Tamagawa absoluto de eje flexible con el valor 46
de ATYPE y al eje EnDat absoluto de eje flexible con el valor 47 de ATYPE.
Los datos de multigiro no se aplican automáticamente al parámetro de eje
MPOS después de la inicialización. El programador de la aplicación debe
aplicarlos desde el programa mediante los comandos OFFPOS o DEFPOS
según sea necesario.
Si se aplica a un eje de valor
N/D
PRINT ENCODER_TURNS AXIS (1)
Este comando imprimirá los contajes de multigiro de encoder absoluto para
el eje 1.
AXIS, ENCODER, ENCODER_BITS
ATYPE
distinto de 46, este parámetro devuelve 0.
.
ATYP E
distinto de 46 ó 47, el parámetro devuelve 0.
.
3.2.101 ENCODER_WRITE
/i
Tipo
Sintaxis
Descripción El comando
Argumentos
Ejemplo
Consulte
también
Comando de eje
ENCODER_WRITE(dirección, valor)
ENCODER_WRITE
flexible con un valor 47 de
especificado por la dirección. Los bits 8 a 15 de la dirección son los ajustes de
campo MRS de EnDat y los bits 0 a 7 son el offset dentro del bloque MRS de
EnDat. Si se produce un error de CRC, este comando devolverá 0. Al escribir
en la dirección 0 se realiza una función de reset de encoder. Para obtener más
información, consulte la especificación de interfaz del encoder absoluto EnDat.
Para escribir correctamente un parámetro de encoder con este comando,
el parámetro
escritura de parámetros de encoder.
•dirección
Especifica el campo MRS de EnDat en el que se escribirá.
•valor
Una expresión BASIC.
No hay ejemplo.
AXIS, ENCODER, ENCODER_BITS, ENCODER_CONTROL
ENCODER_WRITE
3.2.102 ENDIF
Consulte
IF..THEN..ELSE..ENDIF
.
sólo es aplicable a un eje EnDat absoluto de eje
ATYP E
. El comando escribe el parámetro de encoder
se debe configurar en 1, modo de lectura/
.
MANUAL DE PROGRAMACIÓN76
Comandos BASIC
3.2.103 ENDMOVE
/i
TipoParámetro de eje
SintaxisENDMOVE
Descripción El parámetro de eje ENDMOVE contiene la posición del final del movimiento
actual en unidades del usuario. Si el parámetro de eje SERVO está en ON, el
parámetro ENDMOVE se puede escribir para producir un cambio de paso en
la posición solicitada (DPOS).
Nota: Como la posición medida no se cambia inicialmente, se debe
considerar el límite de error de seguimiento (FE_LIMIT). Si el cambio
de la posición solicitada es demasiado grande, se superará el límite.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
AXIS, DPOS, FE_LIMIT, UNITS
.
3.2.104 EPROM
/i
TipoComando de programa
SintaxisEPROM
Descripción El comando EPROM almacena los programas BASIC en la memoria RAM
respaldada por las baterías de la TJ1-MC__ en la memoria EPROM flash.
Con el parámetro de sistema POWER_UP se controla si los programas
almacenados en la memoria EPROM flash se copian en la RAM al inicio.
Nota: Trajexia Tools ofrece este comando como un botón en el panel de
control. Además, en las pantallas emergentes se solicitará escribir los datos
de programa en la memoria flash.
Argumentos N/D
EjemploNo hay ejemplo.
Revisión 3.0
Consulte
también
POWER_UP, RUNTYPE
.
3.2.105 ERROR_AXIS
/i
TipoParámetro de sistema (sólo lectura)
SintaxisERROR_AXIS
Descripción El parámetro de eje ERROR_AXIS contiene el número del eje que
ha provocado el error de movimiento.
Los errores de movimiento se producen cuando el estado AXISSTATUS
de uno de los ejes coincide con el ajuste de ERRORMASK. En este caso,
el interruptor de activación (WDOG) se desactivará, el parámetro
MOTION_ERROR tendrá el valor 1 y el parámetro ERROR_AXIS
contendrá el número del primer eje que tenga el error.
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
AXISSTATUS, ERRORMASK, MOTION_ERROR, WDOG
.
3.2.106 ERROR_LINE
/i
TipoParámetro de tarea (sólo lectura)
SintaxisERROR_LINE
Descripción El parámetro ERROR_LINE contiene el número de la línea que ha provocado
el último error de tiempo de ejecución BASIC en la tarea de programa. Este
valor sólo es válido cuando el parámetro BASICERROR es TRUE.
Cada tarea tiene su propio parámetro ERROR_LINE. Utilice el modificador
PROC para acceder al parámetro para una determinada tarea. Sin PROC
se supondrá la tarea actual.
Argumentos N/D
Ejemplo>> PRINT ERROR_LINE PROC(4)
23.0000
Consulte
también
BASICERROR, PROC, RUN_ERROR
.
MANUAL DE PROGRAMACIÓN77
Comandos BASIC
3.2.107 ERRORMASK
/i
TipoParámetro de eje
SintaxisERRORMASK
Descripción
Argumentos N/D
EjemploNo hay ejemplo.
Consulte
también
El parámetro de eje
le aplica la operación
cada ciclo de servo para determinar si se ha producido un error de movimiento.
Cuando se produce un error de movimiento, el interruptor de activación (
se desactivará, el parámetro
ERROR_AXIS
Compruebe el parámetro AXISVALUES para determinar las asignaciones
de bit de estado. El ajuste predeterminado de ERRORMASK es 268.
AXIS, AXISSTATUS, MOTION_ERROR, WDOG
contendrá el número del primer eje que tenga el error.
Precaución
El usuario debe definir los casos en que se genera un error
de movimiento. Para una operación segura, se recomienda
generar un error de movimiento cuando el error de seguimiento
haya excedido su límite en todos los casos. This is done by setting
bit 8 of ERRORMASK
El parámetro necesario para una operación de escritura.
Establezca la dirección IP de Trajexia en 192.200.185.002.
N/A
Revisión 3.0
MANUAL DE PROGRAMACIÓN78
Comandos BASIC
3.2.109 EX
/i
TipoComando de sistema
SintaxisEX[(opción)]
Descripción Realiza el reset del controlador como si se hubiera vuelto a encender.
Hay dos tipos de reset realizados por el comando EX . EX sin el argumento
o EX(0) realiza el reset de software del controlador. EX(1) realiza el reset de
hardware del controlador
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
N/A
3.2.110 EXP
/i
TipoFunción matemática
SintaxisEXP(expresión)
Descripción La función EXP devuelve el valor exponencial de la expresión.
Argumentos •expresión
Cualquier expresión BASIC válida.
Ejemplo>> print exp(1.0)
2.7183
Consulte
también
N/A
3.2.111 FALSE
/i
TipoConstante (sólo lectura)
SintaxisFALSE
Descripción La constante FALSE devuelve el valor numérico 0.
Argumentos N/A
Ejemploprueba:
res = IN(0) OR IN(2)
IF res = FALSE THEN
PRINT "Las entradas están desconectadas"
ENDIF
Consulte
también
N/A
3.2.112 FAST_JOG
/i
TipoParámetro de eje
SintaxisFAST_JOG
Descripción El parámetro de eje FAST_JOG contiene el número de entrada que se
utilizará como la entrada de jog rápido. El número puede ser de 0 a 7.
De forma predeterminada, el parámetro se establece en –1 y no hay
seleccionada ninguna entrada.
La entrada de jog rápido controla la velocidad jog entre dos velocidades.
Si se establece la entrada de jog rápido, para la operación jog se utilizará
la velocidad tal como se indica mediante el parámetro de eje SPEED.
Si no se establece la entrada, se utilizará la velocidad indicada mediante
el parámetro de eje JOGSPEED.
Nota: Esta entrada se activa por baja.
Argumentos N/A
Revisión 3.0
EjemploNo hay ejemplo.
Consulte
también
AXIS, FWD_JOG, JOGSPEED, REV_JOG, SPEED
.
MANUAL DE PROGRAMACIÓN79
Comandos BASIC
3.2.113 FASTDEC
/i
TipoParámetro de eje
SintaxisFASTDEC
Descripción El valor predeterminado es cero. Si se especifica un parámetro FASTDEC
distinto de cero, el eje decelerará a cero con rampa a esta velocidad de
deceleración cuando se alcance un final de carrera o posición de eje.
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
N/A
3.2.114 FE
/i
TipoParámetro de eje (sólo lectura)
SintaxisFE
Descripción
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
El parámetro de eje FE contiene el error de posición en unidades de usuario.
Se calcula mediante la posición solicitada (parámetro de eje
posición medida (parámetro de eje
puede comprobar si se utilizan los parámetros de eje
AXIS, DPOS, FE_LIMIT, FE_RANGE, MPOS, UNITS
MPOS
). El valor del error de seguimiento se
DPOS
FE_LIMIT
.
) menos la
y
FE_RANGE
3.2.115 FE_LATCH
/i
TipoParámetro de eje (sólo lectura)
SintaxisFE_LATCH
Descripción
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
Contiene el valor FE inicial que ha provocado que el eje coloque el controlador
en el estado MOTION_ERROR. Este valor sólo se establece cuando
FE_LIMIT
restablece a 0 cuando el parámetro
N/A
y el parámetro
SERVO
se ha establecido en 0.
SERVO
del eje se vuelve a establecer en 1.
FE_LATCH
3.2.116 FE_LIMIT
/i
TipoParámetro de eje
SintaxisFE_LIMIT
Descripción El parámetro de eje FE_LIMIT contiene el límite del error de seguimiento
máximo permitido en unidades de usuario. Cuando se excede, se establece
.
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
el bit 8 del parámetro AXISSTATUS del eje. Si el parámetro ERRORMASK
se ha configurado correctamente, se generará un error de movimiento.
Este límite se utiliza como protección contra situaciones de fallo, como, por
ejemplo, un bloqueo mecánico, pérdida de la realimentación del encoder, etc.
AXIS, AXISSTATUS, ERRORMASK, FE, FE_RANGE, UNITS
FE
excede
se
.
Revisión 3.0
MANUAL DE PROGRAMACIÓN80
Comandos BASIC
3.2.117 FE_LIMIT_MODE
/i
TipoParámetro de eje
SintaxisFE_LIMIT_MODE = valor
Descripción Cuando este parámetro se establece en 0, el eje provocará un error
MOTION_ERROR inmediatamente si FE excede el valor FE_LIMIT.
Si
FE_LIMIT_MODE
MOTION_ERROR
de servo consecutivos. Esto significa que si
sólo durante un período de servo, se omitirá.
El valor predeterminado de FE_LIMIT_MODE es 0.
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
N/A
se establece en 1, el eje sólo generará un error
cuando FE exceda
FE_LIMIT
FE_LIMIT
durante 2 períodos
se excede
3.2.118 FE_RANGE
/i
TipoParámetro de eje
SintaxisFE_RANGE
Descripción El parámetro de eje FE_RANGE contiene el límite del rango de
advertencia del error de seguimiento en unidades de usuario. Cuando
el error de seguimiento excede este valor en un servoeje, se activará
el bit 1 del parámetro de eje AXISSTATUS.
Este rango se utiliza como primera indicación de las situaciones de fallo
en la aplicación (compárese con FE_LIMIT).
Argumentos N/A
EjemploNo hay ejemplo.
Revisión 3.0
Consulte
también
AXIS, AXISSTATUS, ERRORMASK, FE, UNITS
.
3.2.119 FHOLD_IN
/i
TipoParámetro de eje
SintaxisFHOLD_IN
FH_IN
Descripción
Sigma II•entrada 28: CN1-40
Sigma III•entrada 28: CN1-13
Junma•entrada 26: CN1-2
El parámetro de eje
como la entrada de retención de realimentación. El rango de entrada válido
va de 0 a 31. Los valores de 0 a 15 representan entradas presentes físicamente
del conector de E/S de la TJ1-MC__ y son comunes para todos los ejes.
Los valores 16 a 27 representan entradas de software que se pueden utilizar
libremente en programas y comandos, como, por ejemplo, IN y OP. También
son comunes para todos los ejes. Los valores 28 a 31 se asignan directamente
a las entradas de driver presentes en el conector CN1 y son únicos para cada
eje. Las entradas de driver que se asignan a las entradas 28 a 31 dependen
del ajuste Pn81E del parámetro de servodriver. El ajuste recomendado es
Pn81E = 0x4321, con la siguiente asignación: De forma predeterminada,
el parámetro se establece en –1 y no hay seleccionada ninguna entrada.
Nota: Esta entrada se activa por baja.
•entrada 29: CN1-41
•entrada 30: CN1-42
•entrada 31: CN1-43
•entrada 29: CN1-7
•entrada 30: CN1-8
•entrada 31: CN1-9
•entrada 27: CN1-1
Para obtener más información sobre el ajuste del parámetro de driver Pn81E,
consulte el manual del servodriver. De forma predeterminada, el parámetro
se establece en –1 y no hay seleccionada ninguna entrada.
FHOLD_IN
contiene el número de entrada que se utilizará
MANUAL DE PROGRAMACIÓN81
Comandos BASIC
Si se establece un número de entrada y se establece la entrada de retención
de realimentación, la velocidad del movimiento del eje se cambia al valor
seleccionado en el parámetro de eje FHSPEED. El movimiento actual no
se cancela. Además, se establece el bit 7 del parámetro AXISSTATUS.
Cuando se vuelve a hacer un reset de la entrada, cualquier movimiento en
curso cuando se estableció la entrada volverá a la velocidad programada.
Nota: esta característica sólo funciona en movimientos con velocidad
controlada. Los movimientos que no tienen controlada la velocidad
(CAMBOX, CONNECT y MOVELINK) no se ven afectados.
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
AXIS, AXISSTATUS, UNITS
3.2.120 FHSPEED
/i
TipoParámetro de eje
SintaxisFHSPEED
Descripción
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
El parámetro de eje
realimentación. Este parámetro se puede establecer en un valor en unidades
de usuario/s a la velocidad que se moverá el eje cuando se active la entrada
de retención de realimentación. El movimiento actual no se cancela.
puede tener cualquier valor positivo, incluido 0. El valor predeterminado es 0.
Nota: esta característica sólo funciona en movimientos con velocidad
controlada. Los movimientos que no tienen controlada la velocidad
(CAMBOX, CONNECT y MOVELINK) no se ven afectados.
longitud, área_local, offset_local, tiempo de espera [, ip1, ip2, ip3, ip4])
Descripción
FINS (Factory Interface Network Service) es un protocolo de comunicaciones
propio de OMRON. En Trajexia se ha implementado un subconjunto de este
protocolo. El protocolo FINS se ha implementado con la intención de permitir
una comunicación perfecta con otros dispositivos (PLCs, HMIs, etc.) y software
(CX-Drive, CX-Server, etc.) de OMRON. Para obtener más información sobre
el protocolo de comunicaciones FINS, consulte la sección 4.2.4 y el Manual
de referencia de comandos de comunicaciones, número de catálogo W342-E1,
secciones 3 y 5.
Trajexia incorpora funciones de cliente FINS, por lo que puede iniciar las
comunicaciones FINS con dispositivos esclavos FINS mediante
Se ha implementado los comandos FINS 0101 (leer memoria) y FINS 0102
(escribir memoria). Con FINS 0101, la memoria se puede leer desde otros
dispositivos con la función de servidor FINS. FINS 0102 se puede utilizar
para escribir datos en dispositivos con la función de servidor FINS.
Este comando devuelve uno de los siguientes valores, según el resultado
de la ejecución:
–1: el comando se ha ejecutado correctamente.
0: el comando ha fallado.
1: la solicitud no se ha enviado porque el cliente o el protocolo FINS
están ocupados.
2: uno o varios de los parámetros de la solicitud no son válidos.
3: área de memoria de origen no válida.
4: se ha enviado la solicitud, pero no se ha recibido ninguna respuesta
del servidor remoto en el período de tiempo de espera.
5: código de respuesta de error recibido del servidor remoto.
FINS_COMMS
.
Revisión 3.0
MANUAL DE PROGRAMACIÓN82
Comandos BASIC
Argumentos •tipo
El tipo del comando FINS. 0 significa FINS 0101, leer la memoria
desde el servidor FINS. 1 significa FINS 0102, escribir la memoria
en el servidor remoto.
•red
La red de destino. Para obtener más detalles, consulte el Manual
de referencia de comandos de comunicaciones, número de catálogo
W342-E1, sección 3.
•nodo
El nodo del servidor FINS de destino. Para obtener más detalles,
consulte el Manual de referencia de comandos de comunicaciones,
número de catálogo W342-E1, sección 3.
•unidad
El número de unidad del servidor FINS de destino. Para obtener
más detalles, consulte el Manual de referencia de comandos
de comunicaciones, número de catálogo W342-E1, sección 3.
•área_remota
El área de memoria a la que se accede en el servidor FINS de destino.
Rango: 128..255. Tenga en cuenta que esta área debe tener uno de los
siguientes valores si el destino es otro sistema Trajexia: 0xB0: valor
VR entero; 0x82: valor TABLE entero; 0xC2: valor TABLE flotante.
•offset_remoto
El offset de memoria en el servidor FINS de destino. Rango: 0...65.535.
Tenga en cuenta que este rango estará más limitado a las direcciones
TABLE o VR máxima si el destino es otro sistema Trajexia.
•longitud
El número de elementos que se transferirán. El rango dependerá de
la longitud de trama FINS y las funciones del cliente y los servidores
remotos. El rango para un sistema Trajexia es un valor entero de 1
a 700 ó un valor de coma flotante de 1 a 350.
•área_local
El área de memoria local (origen). Tenga en cuenta que esta área debe
tener uno de los siguientes valores si el destino es otro sistema Trajexia:
0x00: valor VR entero; 0x01: valor TABLE entero; 0x02: valor TABLE
flotante.
•offset_local
El offset del primer valor del área de memoria local (origen). El rango
depende del tamaño de matriz VR o TABLE y el valor de la longitud
del dato.
•tiempo de espera
El número de milisegundos que se esperará una respuesta del servidor
FINS de destino antes de que se agote el tiempo de espera.
•IP1, IP2, IP3, IP4
Parámetros opcionales que definen la dirección IP del servidor remoto
(destino). Estos argumentos se deben utilizar si tanto el sistema Trajexia
como el servidor FINS de destino no pertenecen a la misma red.
EjemploUn sistema Trajexia y un PLC CJ1 de OMRON con una unidad de Ethernet
CJ1W-ETN11 están conectados a la misma red. La dirección IP del sistema
Trajexia es 192.168.0.5. La dirección IP de la unidad Ethernet del PLC
es 192.168.0.12.
Cuando se ejecuta el comando FINS_COMMS(0,0,12,0,$82, 1000,20,0,500,5000,192,168,0,12), se leen 20 canales (longitud = 20)
del área de memoria DM del PLC (área_remota = $82), a partir de DM1000
(offset_remoto = 1000) y se escriben en la memoria VR de Trajexia en
formato de entero (área_local = 0), a partir de VR(500) (offset_local = 500).
Por lo tanto, los valores del rango de memoria DM1000 a DM1019 del PLC
se colocan en la memoria Trajexia VR(500) a VR(519) de Trajexia. El tiempo
de espera se establece en 5 segundos.
Cuando se ejecuta el comando FINS_COMMS(1,0,12,0,$80, 50,10,0,300,3000,192,168,0,12), se escriben 10 canales (longitud = 10)
de la memoria VR de Trajexia como enteros (área_local = 0), a partir de
VR(300) (offset_local = 300) en el área CIO del PLC (área_remota = $80),
a partir de CIO50 (offset_remoto = 50). Por lo tanto, los valores del rango
de memoria VR(300) a VR(309) de Trajexia se colocan en la memoria CIO50
a CIO59 del PLC. El tiempo de espera se establece en 3 segundos.
Consulte
también
N/A
Revisión 3.0
MANUAL DE PROGRAMACIÓN83
Comandos BASIC
3.2.122 FLAG
/i
TipoComando de sistema
SintaxisFLAG(número_indicador [,valor])
Descripción El comando FLAG se utiliza para establecer y leer un banco de 32 bits
indicadores. El comando FLAG se puede utilizar con uno o dos parámetros.
Cuando se especifica un parámetro, se devuelve el estado del bit indicador
especificado. Si se especifican dos parámetros, el indicador especificado
se establece en el valor del segundo parámetro. El comando FLAG
se proporciona por compatibilidad con controladores anteriores
y no se recomienda para programas nuevos.
Argumentos •número_indicador
El número de indicador es un valor de 0 a 31.
•valor
Si se especifica, se trata del estado para establecer el indicador
especificado en ON u OFF. También se puede escribir como 1 ó 0.
EjemploFLAG(27,ON)
Pone el bit de indicador 27 en ON.
Consulte
también
N/A
3.2.123 FLAGS
/i
TipoComando de sistema
SintaxisFLAGS([valor])
Descripción Lee y establece los indicadores especificados por FLAGS como un bloque.
El comando FLAGS se proporciona por compatibilidad con controladores
anteriores y no se recomienda para programas nuevos. Los 32 bits de
indicador se pueden leer con FLAGS y establecerse con FLAGS(valor).
Argumentos •valor
El decimal equivalente del patrón de bits al que se deben establecer
los indicadores. Consulte la siguiente tabla.
EjemploFLAGS(146) ' 2 + 16 + 128
Establece los indicadores 1, 4 y 7 en ON y todos los demás en OFF.
EjemploIF (FLAGS and 8) <>0 then GOSUB otra_parte
Prueba si se ha establecido el indicador 3.
Consulte
también
/i
Número de bitValor decimal
N/A
01
12
24
38
416
532
664
7128
Revisión 3.0
MANUAL DE PROGRAMACIÓN84
Comandos BASIC
3.2.124 FOR..TO..STEP..NEXT
/i
TipoComando de control de programa
SintaxisFOR variable = inicio TO fin [STEP incremento]
comandos
NEXT variable
Descripción El lazo FOR ... NEXT permite que el segmento de programa entre
las instrucciones FOR y NEXT se repita una serie de veces.
Al entrar en este lazo, la variable se inicializa en el valor de inicio y, a continuación,
se ejecuta el bloque de comandos. Al llegar al comando
aumenta según el incremento especificado después de
puede ser positivo o negativo; si se omite, se supone que el valor es 1.
Mientras la variable sea menor o igual que el valor de fin, el bloque
de comandos se ejecuta repetidamente hasta que la variable sea mayor
que fin, tras lo cual la ejecución del programa seguirá después de NEXT.
Nota: las instrucciones FOR ... NEXT se pueden anidar hasta 8 niveles
en un programa BASIC.
Argumentos •variable
Una expresión BASIC.
•inicio
Una expresión BASIC.
•fin
Una expresión BASIC.
•incremento
Una expresión BASIC.
•comandos
Uno o varios comandos BASIC.
NEXT
STEP
, la variable
. El valor
STEP
Ejemplolazo:
FOR dist = 5 TO –5 STEP –0.25
MOVEABS(dist)
GOSUB seleccionar
NEXT dist
El incremento de STEP puede ser positivo o negativo.
Ejemplolazo1:
FOR l1 = 1 TO 8
lazo2:
FOR l2 = 1 TO 6
MOVEABS(l1 * 100,l2 * 100)
Consulte
también
GOSUB 1000
NEXT l2
NEXT l1
Las instrucciones FOR..TO..STEP..NEXT pueden estar anidadas (hasta una
profundidad de 8 niveles) siempre que los comandos FOR y NEXT interiores
estén dentro del lazo FOR..TO..STEP..NEXT exterior.
REPEAT..UNTIL, WHILE..WEND
.
EjemploFOR opnum = 8 TO 13
OP(opnum,ON)
NEXT opnum
Este lazo activa las salidas 8 a 13.
Revisión 3.0
MANUAL DE PROGRAMACIÓN85
Comandos BASIC
3.2.125 FORWARD
/i
TipoComando de eje
SintaxisFORWARD
FO
Descripción El comando FORWARD mueve un eje continuamente hacia delante
a la velocidad definida en el parámetro de eje SPEED. La velocidad
de aceleración se define mediante el parámetro de eje ACCEL.
FORWARD
a menos que se utilice
Nota: El movimiento directo se puede parar si se ejecuta el comando
CANCEL o RAPIDSTOP, o si se alcanza el límite de marcha directa.
Argumentos N/A
Ejemploinicio:
FORWARD
WAIT UNTIL IN(0) = ON ' Esperar la señal de parada
CANCEL
Consulte
también
AXIS, CANCEL, RAPIDSTOP, REVERSE, UNITS
funciona en el eje base predeterminado (establecido con
AXIS
para especificar un eje base temporal.
.
3.2.126 FPGA_VERSION
/i
TipoParámetro de entrada
SintaxisFPGA_VERSION SLOT(número_unidad)
Descripción Este parámetro devuelve la versión de FPGA de la unidad indicada con
número_de_unidad en un sistema de control.
Argumentos •número_unidad
Los números de unidad van de –1 a 6, incluido el 0, siendo –1 la TJ1-MC__
y 0 la unidad situada inmediatamente a la derecha de TJ1-MC__.
EjemploN/A
Revisión 3.0
Consulte
también
N/A
BASE
3.2.127 FRAC
/i
TipoFunción matemática
SintaxisFRAC(expresión)
Descripción La función FRAC devuelve la parte fraccionaria de la expresión.
Argumentos •expresión
Cualquier expresión BASIC válida.
)
Ejemplo>> PRINT FRAC(1.234)
0.2340
Consulte
también
N/A
3.2.128 FRAME
/i
TipoParámetro de sistema
SintaxisFRAME = valor
Descripción
Argumentos N/A
EjemploFRAME = 1
Consulte
también
Se utiliza para especificar la trama que se acciona cuando se emplean
transformaciones de trama. Las transformaciones de trama se utilizan para
permitir que se especifiquen movimiento en una trama de coordenadas multieje
de referencia que no corresponda de forma idéntica a los ejes. Un ejemplo
lo constituye un brazo robótico SCARA con ejes unidos. Para que el extremo
del brazo robótico realice movimientos en línea recta en X-Y, los motores
se tienen que mover en un patrón determinado por la geometría del motor.
Las transformaciones de trama para realizar funciones de este tipo se tienen
que compilar del código fuente en lenguaje C y cargarse en el software del
sistema del controlador. Póngase en contacto con OMRON si tiene que realizar
esta operación.
Se puede especificar un sistema de máquina con varias tramas distintas.
La trama de FRAME actualmente activa se especifica con el parámetro
de sistema FRAME.
La trama predeterminada de FRAME es 0 que corresponde a una
transformación uno a uno.
N/A
MANUAL DE PROGRAMACIÓN86
Comandos BASIC
3.2.129 FREE
/i
TipoFunción de sistema
SintaxisFREE
Descripción La función FREE devuelve la cantidad restante de memoria disponible
para los programas de usuario y los elementos de matriz TABLE.
Nota: cada línea ocupa un mínimo de 4 caracteres (bytes) de memoria.
Esto corresponde a la longitud de esta línea, la longitud de la línea anterior,
el número de espacios al comienzo de la línea y un solo paso de comando.
Los comandos adicionales necesitan un byte por paso; la mayoría de los
datos restantes se guardan en ASCII.
La TJ1-MC__ compila los programas antes de que se ejecuten. Esto significa
que se necesita el doble de memoria para poder ejecutar un programa.
Argumentos N/A
Ejemplo>> PRINT FREE
47104.0000
Consulte
también
N/A
3.2.130 FS_LIMIT
/i
TipoParámetro de eje
SintaxisFS_LIMIT
FSLIMIT
Descripción El parámetro de eje FS_LIMIT contiene la posición absoluta del límite
de software de marcha directa en unidades de usuario.
Se puede establecer un límite de software para movimiento directo desde
el programa para controlar el rango de trabajo de la máquina. Cuando
este límite se alcanza, el TJ1-MC__ decelerará hasta 0 y, a continuación,
cancelará el movimiento. El bit 9 del parámetro de eje AXISSTATUS
se pondrá en ON mientras la posición de eje sea mayor que FS_LIMIT.
Argumentos N/A
EjemploNo hay ejemplo.
Revisión 3.0
Consulte
también
AXIS, AXISSTATUS, UNITS
.
3.2.131 FWD_IN
/i
TipoParámetro de eje
SintaxisFWD_IN
Descripción
Sigma II•entrada 28: CN1-40
Sigma III•entrada 28: CN1-13
Junma•entrada 26: CN1-2
Argumentos N/A
EjemploNo hay ejemplo.
El parámetro de eje
se utilizará como entrada de límite de marcha directa. El rango
de entrada válido va de 0 a 31. Los valores de 0 a 15 representan
entradas presentes físicamente del conector de E/S de la TJ1-MC__
y son comunes para todos los ejes. Los valores 16 a 27 representan
entradas de software que se pueden utilizar libremente en
programas y comandos, como, por ejemplo, IN y OP. También
son comunes para todos los ejes. Los valores 28 a 31 se asignan
directamente a las entradas de driver presentes en el conector CN1
y son únicos para cada eje. Las entradas de driver que se asignan
a las entradas 28 a 31 dependen del ajuste Pn81E del parámetro
de servodriver. El ajuste recomendado es Pn81E = 0 x 4321, con
la siguiente asignación:
Si se establece un número de entrada y se alcanza el límite,
se parará cualquier movimiento directo en dicho eje. También
se establecerá el bit 4 de AXISSTATUS.
Nota: esta entrada se activa por baja.
•entrada 29: CN1-41
•entrada 30: CN1-42
•entrada 31: CN1-43
•entrada 29: CN1-7
•entrada 30: CN1-8
•entrada 31: CN1-9
•entrada 27: CN1-1
Para obtener más información sobre el ajuste del parámetro
de driver Pn81E, consulte el manual del servodriver. De forma
predeterminada, el parámetro se establece en –1 y no hay
seleccionada ninguna entrada.
FWD_IN
contiene el número de entrada que
MANUAL DE PROGRAMACIÓN87
Comandos BASIC
Consulte
también
AXIS, AXISSTATUS REV_IN
.
3.2.132 FWD_JOG
/i
TipoParámetro de eje
SintaxisFWD_JOG
Descripción El parámetro de eje FWD_JOG contiene el número de entrada
que se utilizará como entrada de marcha directa jog. La entrada
se puede establecer de 0 a 7. De forma predeterminada,
el parámetro se establece en –1 y no hay seleccionada
ninguna entrada.
Nota: esta entrada se activa por baja.
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
AXIS, FAST_JOG, JOGSPEED, REV_JOG
.
3.2.133 GET
/i
TipoComando de E/S
SintaxisGET [#n,] variable
Descripción
Argumentos •n
Revisión 3.0
El comando
Si el búfer del puerto serie está vacío, la ejecución del programa se pondrá en
pausa hasta que se haya recibido un carácter. Los canales 5 a 7 son canales
lógicos que están superpuestos en el puerto de programación 0 cuando
se utiliza Trajexia Tools.
Nota: el canal 0 está reservado para la conexión a Trajexia Tools y/o la interfaz
de línea de comandos. Tenga en cuenta que este canal puede dar problemas
para esta función.
•variable
GET
asigna el código ASCII de un carácter recibido a una variable.
El dispositivo de entrada especificado. Cuando se omite este argumento,
se utilizará el puerto especificado por INDEVICE. Consulte la siguiente
tabla.
El nombre de la variable que recibirá el código ASCII.
EjemploGET#5, k
Esta línea almacena el carácter ASCII recibido en el canal de puerto
5 de Trajexia Tools en k.
Consulte
también
/i
Número de
dispositivo
de entrada
0Puerto de programación 0
1Puerto 1 comunicación serie RS-232C
2Puerto 2 comunicación serie RS-422/485
5Canal de usuario 5 de puerto 0 de Trajexia Tools
6Canal de usuario 6 de puerto 0 de Trajexia Tools
7Canal de usuario 7 de puerto 0 de Trajexia Tools
INDEVICE
INDEVICE, INPUT, KEY, LINPUT
Descripción
MANUAL DE PROGRAMACIÓN88
Comandos BASIC
3.2.134 GLOBAL
/i
TipoComando de sistema
SintaxisGLOBAL "nombre", número_vr
Descripción Declara el nombre como una referencia a una de las variables
VR globales. Posteriormente, el nombre se puede utilizar desde
el programa que contiene la definición GLOBAL y todos los demás
programas en el proyecto de Trajexia Tools.
Nota: el programa que contiene la definición GLOBAL se debe
ejecutar antes de que el nombre se use en los demás programas.
Además, sólo dicho programa se debe ejecutar en el momento
en que se ejecuta GLOBAL, de lo contrario, aparecerá el error
de programa y el programa se parará cuando intente ejecutar
este comando. Para un inicio rápido, el programa también debe
ser el único proceso que se ejecuta al inicio.
Cuando se declara GLOBAL, la declaración permanece activa
hasta el próximo reset de TJ1-MC__ al desconectar y conectar
la alimentación o mediante la ejecución del comando EX.
En los programas que utilizan el comando GLOBAL definido,
nombre tiene el mismo significado que VR(número_vr).
No utilice la sintaxis: VR(nombre).
Se puede declarar un máximo de 128 instrucciones GLOBAL.
Argumentos •nombre
Cualquier nombre definido por el usuario que contiene
caracteres alfanuméricos en minúsculas, numéricos
o subrayados.
•número_vr
El número de VR que se asociará a nombre.
EjemploGLOBAL "srew_pitch",12
GLOBAL "ratio1",534
ratio1 = 3.56
screw_pitch = 23.0
PRINT screw_pitch, ratio1
Revisión 3.0
Consulte
también
N/A
3.2.135 GOSUB..RETURN
/i
TipoComando de control de programa
SintaxisGOSUB etiqueta
...
RETURN
Descripción
Argumentos •etiqueta
Ejemploprincipal:
Consulte
también
La estructura
la posición de la línea después del comando
va a la etiqueta especificada. Tras llegar a la instrucción
la ejecución del programa vuelve a la posición almacenada.
Nota: las subrutinas en cada tarea se pueden anidar hasta 8 niveles.
Una etiqueta válida que aparece en el programa. Una etiqueta no válida
provocará un error de compilación antes de la ejecución del programa.
Las etiquetas pueden ser cadenas de caracteres de cualquier longitud,
pero sólo los 15 primeros caracteres son significativos.
GOSUB rutina
GOTO principal
rutina:
PRINT "Posición medida=";MPOS;CHR(13);
RETURN
GOTO
GOSUB
permite saltar a una subrutina.
GOSUB
GOSUB
y, a continuación,
almacena
RETURN
,
3.2.136 GOTO
/i
TipoComando de control de programa
SintaxisGOTO etiqueta
Descripción La estructura GOTO permite un salto en la ejecución del programa.
GOTO cambia la ejecución del programa a la línea que contiene la etiqueta.
MANUAL DE PROGRAMACIÓN89
Comandos BASIC
Argumentos •etiqueta
Una etiqueta válida que aparece en el programa. Una etiqueta no válida
provocará un error de compilación antes de la ejecución del programa.
Las etiquetas pueden ser cadenas de caracteres de cualquier longitud,
pero sólo los 15 primeros caracteres son significativos.
Ejemplolazo:
PRINT "Posición medida = ";MPOS;CHR(13);
GOTO lazo
Consulte
también
GOSUB..RETURN
3.2.137 HALT
/i
TipoComando de sistema
SintaxisHALT
Descripción El comando HALT para la ejecución de todas las tareas de programa que se
están ejecutando actualmente. El comando se puede utilizar tanto en la línea
de comandos como en los programas. El comando STOP se puede utilizar
para parar una sola tarea de programa.
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
PROCESS, STOP
.
3.2.138 HEX
/i
TipoComando de E/S
SintaxisHEX
Descripción Este comando se utiliza en una instrucción de impresión para enviar
un número en formato hexadecimal.
Argumentos N/A
Revisión 3.0
EjemploPRINT#5,HEX(IN(8,16))
Consulte
también
N/A
3.2.139 HLM_COMMAND
/i
TipoComando de comunicaciones
Sintaxis
Descripción El comando HLM_COMMAND realiza una operación de comando Host Link
Argumentos •comando
HLM_COMMAND(comando, puerto [, nodo [, área_mc/modo [, offset_mc ]]])
específica en uno o en todos los esclavos Host Link del puerto seleccionado.
La ejecución del programa se pondrá en pausa hasta que se haya recibido
la cadena de respuesta o haya transcurrido el tiempo de espera. El tiempo
de espera se especifica mediante el parámetro HLM_TIMEOUT. El estado
de la transferencia se puede monitorizar con el parámetro HLM_STATUS.
Notas:
•Al utilizar HLM_READ, asegúrese de configurar el protocolo de maestro
Host Link con el comando SETCOM.
•Los comandos de maestro Host Link se deben ejecutar desde una tarea
de programa únicamente para evitar problemas de temporización
multitarea.
La selección de la operación Host Link que se realizará.
Consulte la primera tabla más abajo.
•puerto
El puerto serie especificado. 1 = puerto serie RS-232C 1; 2 = puerto
serie RS-422A 2.
•nodo (para HLM_MREAD, HLM_TEST, HLM_ABORT y HLM_STWR)
El número de nodo esclavo al que se enviará el comando Host Link.
Rango: [0, 31].
•modo (para HLM_STWR)
El modo operativo de CPU especificado. 0 = modo PROGRAM;
2 = modo MONITOR; 3 = modo RUN.
•área_mc (para HLM_MREAD)
La selección de memoria de la TJ1-MC__ de la que se leerán los datos
de envío. Consulte la segunda tabla más abajo.
•offset_mc (para HLM_MREAD)
La dirección del área de memoria de TJ1-MC__ especificada de la que
se realizará la lectura. Rango para variables VR: [0, 1.023]. Rango para
variables TABLE: [0, 63.999].
MANUAL DE PROGRAMACIÓN90
Comandos BASIC
EjemploHLM_COMMAND(HLM_MREAD,1,12,MC_VR,233)
Este comando lee el código de modelo de CPU del esclavo Host Link con
la dirección de nodo 12 conectado al puerto RS-232C. El resultado se escribe
en VR(233).
Si el esclavo conectado es un PC C200HX, VR(233) contendrá el valor
12 (hexadecimal) tras una ejecución correcta.
EjemploHLM_COMMAND(HLM_TEST,2,23)
PRINT HLM_STATUS PORT(2)
Este comando comprobará las comunicaciones Host Link con el esclavo
Host Link (nodo 23) conectado al puerto RS-422A.
Si el parámetro HLM_STATUS contiene el valor 0, las comunicaciones
están operativas.
EjemploHLM_COMMAND(HLM_INIT,2)
HLM_COMMAND(HLM_ABORT,2,4)
Estos dos comandos realizan las operaciones INITIALIZE y ABORT
de Host Link en el puerto 2 RS-422A. El esclavo tiene el número de nodo 4.
EjemploHLM_COMMAND(HLM_STWR,2,0,2)
Cuando los dato se tienen que escribir en un PC mediante Host Link,
la CPU no puede estar en modo RUN. El comando HLM_COMMAND
se puede utilizar para definirlo en el modo MONITOR. El esclavo tiene
la dirección de nodo 0 y está conectado al puerto RS-232C.
Realiza el comando MODEL READ (MM) de PC Host Link para
leer el código de modelo de CPU. El resultado se escribe en la
variable de TJ1-MC__ especificada por área_mc y offset_mc.
Realiza el comando TEST (TS) de Host Link para comprobar
las comunicaciones correctas mediante el envío de la cadena
“MCW151 TEST STRING” y la comprobación de la cadena devuelta.
Compruebe el resultado en el parámetro HLM_STATUS.
Realiza el comando ABORT (XZ) de Host Link para anular
el comando de Host Link que se está procesando actualmente.
El comando ABORT no recibe una respuesta.
.
Valor de
comando
HLM_INIT
(o valor 3)
HLM_STWR
(o valor 4)
/i
Valor de
área_mc
MC_TABLE
(o valor 8)
MC_VR
(o valor 9)
Descripción
Realiza el comando INITIALIZE (**) de Host Link para inicializar el
procedimiento de control de transmisión de todas las unidades esclavas.
Realiza el comando STATUS WRITE (SC) de Host Link para cambiar
el modo operativo de la CPU.
El comando
de una cadena de comando Host Link que contiene el nodo especificado del
esclavo al puerto serie. Los datos de respuesta recibidos se escribirán en las
variables VR o TABLE. Cada canal de datos se transferirá a una variable. La
longitud de datos máxima es de 30 canales (transferencia de trama individual).
La ejecución del programa se pondrá en pausa hasta que se haya recibido
la cadena de respuesta o haya transcurrido el tiempo de espera. El tiempo
de espera se especifica mediante el parámetro HLM_TIMEOUT. El estado
de la transferencia se puede monitorizar con el parámetro HLM_STATUS.
Notas:
•Al utilizar HLM_READ, asegúrese de configurar el protocolo de maestro
Host Link con el comando SETCOM.
•Los comandos de maestro Host Link se deben ejecutar desde una tarea de
programa únicamente para evitar problemas de temporización multitarea.
HLM_READ
lee datos de un esclavo Host Link mediante el envío
MANUAL DE PROGRAMACIÓN91
Comandos BASIC
Argumentos •puerto
El puerto serie especificado. 1 = puerto serie RS-232C 1; 2 = puerto
serie RS-422A 2.
•nodo
El número de nodo esclavo al que se enviará el comando Host Link.
Rango: [0, 31].
•área_pc
La selección de memoria de PC para el comando de Host Link. Consulte
la primera tabla más abajo.
•offset_pc
La dirección del área de memoria de PC especificada de la que
se realizará la lectura. Rango: [0, 9.999].
•longitud
El número de canales de datos que se transferirán. Rango: [1, 30].
•área_mc
La selección de memoria de la TJ1-MC__ de la que se leerán
los datos de envío. Consulte la segunda tabla más abajo.
•offset_mc
La dirección del área de memoria de TJ1-MC__ especificada en
la que se realizará la escritura. Rango para variables VR: [0, 1.023].
Rango para variables TABLE: [0, 63.999].
EjemploHLM_READ(2,17,PLC_DM,120,20,MC_TABLE,4000)
En este ejemplo se muestra cómo leer 20 canales de las direcciones 120-139 del
área DM de PC en las direcciones 4000-4019 de TABLE de la TJ1-MC__. El PC
tiene la dirección 17 de nodo esclavo y está conectado al puerto RS-422A.
Consulte
también
/i
Valor de área_pcÁrea de datosComando Host Link
PLC_DM
Valor de área_pcÁrea de datosComando Host Link
PLC_AR
(o valor 4)
PLC_EM
(o valor 6)
/i
Valor de área_mcÁrea de datos
MC_TABLE
(o valor 8)
MC_VR
(o valor 9)
Área ARRJ
Área EMRE
Matriz de variables TABLE
Matriz de variables globales (VR)
3.2.141 HLM_STATUS
/i
TipoParámetro de comunicaciones
SintaxisHLM_STATUS PORT(n)
Descripción El parámetro HLM_STATUS contiene el estado del último comando
de maestro Host Link enviado al puerto especificado. El parámetro indicará
el estado de los comandos HLM_READ, HLM_WRITE y HLM_COMMAND.
Los bits de estado se definen en la tabla siguiente.
HLM_STATUS contendrá el valor 0 si no se ha producido ningún problema.
,
Argumentos •n
Ejemplo>> HLM_WRITE(1,28,PLC_EM,50,25,MC_VR,200)
En el caso de un valor distinto de 0, en el programa BASIC del usuario se
tiene que programar una acción adecuada como, por ejemplo, un reintento
o una parada de emergencia.
Cada puerto tiene un parámetro HLM_STATUS. El modificador PORT
es necesario para especificar el puerto.
El puerto serie especificado. 1 = puerto 1 serie RS-232C 1; 2 = puerto
2 serie RS-422A
>> PRINT HEX(HLM_STATUS PORT(1))
1
Aparentemente, la CPU está en modo RUN y no acepta la operación
de escritura.
MANUAL DE PROGRAMACIÓN92
Comandos BASIC
Ejemplo>> HLM_COMMAND(HLM_TEST,2,0)
>> PRINT HLM_STATUS PORT(2)
256.0000
Se ha producido un error de tiempo de espera.
Consulte
también
/i
BitNombreDescripción
0 – 7Código de finEl código final puede ser el definido por el esclavo Host Link
(problema en la cadena de comando enviada) o un código final
definido porque el maestro Host Link ha encontrado un
problema (problema en la cadena de respuesta recibida).
Se producirá un error de tiempo de espera si no se ha recibido
ninguna respuesta en el tiempo de espera. Esto indica que
se han interrumpido las comunicaciones.
Este estado indica que el esclavo no ha reconocido
el comando y ha devuelto una respuesta IC.
3.2.142 HLM_TIMEOUT
/i
TipoParámetro de comunicaciones
SintaxisHLM_TIMEOUT
,
Descripción El parámetro HLM_TIMEOUT especifica el tiempo de espera fijo
para el protocolo de maestro Host Link para ambos puertos serie.
Se producirá un error de tiempo de espera cuando el tiempo
necesario para enviar el comando y recibir la respuesta del
esclavo sea mayor que el tiempo especificado con este parámetro.
El parámetro se aplica a los comandos HLM_READ, HLM_WRITE
y HLM_COMMAND. El parámetro HLM_TIMEOUT se especifica
en períodos de servo.
Argumentos N/A
Ejemplo>> HLM_TIMEOUT = 2000
Considere que el período de servo de la TJ1-MC__ está definido
en 500 ms (SERVO_PERIOD = 500). Para ambos puertos serie,
el tiempo de espera de maestro Host Link se ha establecido en 1 s.
El comando
Link mediante el envío de una cadena de comando Host Link que contiene el
nodo especificado del esclavo al puerto serie. Los datos de respuesta recibidos
se escribirán de las variables VR o TABLE. Cada variable definirá el canal o los
datos que se transferirán. La longitud de datos máxima es de 29 canales
(transferencia de trama individual).
La ejecución del programa se pondrá en pausa hasta que se haya recibido
la cadena de respuesta o haya transcurrido el tiempo de espera. El tiempo
de espera se especifica mediante el parámetro HLM_TIMEOUT. El estado
de la transferencia se puede monitorizar con el parámetro HLM_STATUS.
Notas:
•Al utilizar HLM_WRITE, asegúrese de configurar el protocolo de maestro
•Los comandos de maestro Host Link se deben ejecutar desde una tarea de
HLM_WRITE
Host Link con el comando SETCOM.
programa únicamente para evitar problemas de temporización multitarea.
escribe datos desde la TJ1-MC__ en un esclavo Host
Argumentos •puerto
El puerto serie especificado. 1 = puerto 1 serie RS-232C; 2 = puerto
2 serie RS-422A
•nodo
El número de nodo esclavo al que se enviará el comando Host Link.
Rango: [0, 31].
•área_pc
La selección de memoria de PC para el comando Host Link.
Consulte la primera tabla más abajo.
•offset_pc
La dirección del área de memoria de PC especificada en la que
se realizará la escritura. Rango: [0, 9.999].
•longitud
El número de canales de datos que se transferirán. Rango: [1, 29].
•área_mc
La selección de memoria de la TJ1-MC__ de la que se leerán los datos
de envío. Consulte la segunda tabla más abajo.
•offset_mc
La dirección del área de memoria de TJ1-MC__ especificada de la que
se realizará la lectura. Rango para variables VR: [0, 1.023]. Rango para
variables TABLE: [0, 63.999].
EjemploHLM_WRITE(1,28,PLC_EM,50,25,MC_VR,200)
En este ejemplo se muestra cómo escribir 25 canales de las direcciones
VR 200-224 de la TJ1-MC__ en el área EM de PC 50-74. El PC tiene
la dirección 28 de nodo esclavo y está conectado al puerto RS-232C.
El parámetro
protocolo de esclavo Host Link. La TJ1-MC__ sólo responderá a las cadenas de
comando de maestro Host Link con el número de unidad según lo especificado
en este parámetro. El rango válido para este parámetro es [0, 31]. El valor
predeterminado es 0.
Descripción El comando HW_PSWITCH activa la salida OUT 0 para el eje cuando se
alcanza la posición medida de eje predefinido y desactiva la salida cuando se
alcanza otra posición medida. Las posiciones se definen como una secuencia
en la memoria TABLE en el rango de inicio_tabla a fin_tabla y al ejecutarse
el comando HW_PSWITCH se almacenan en la cola FIFO.
Este comando sólo es aplicable a los ejes flexibles con los valores 43, 44
y45de ATYPE.
El comando se puede utilizar con uno o 5 parámetros. Sólo se necesita un
parámetro para desactivar el interruptor o borrar la cola FIFO. Se necesitan
los cinco parámetros para activar el interruptor.
Después de cargar la cola FIFO y recorrer la secuencia de posiciones de ella,
si se tiene que ejecutar de nuevo la misma secuencia, se debe borrar la cola
FIFO antes de ejecutar el comando
Estado de salida para establecer en la primera posición de la cola FIFO:
ON u OFF.
•inicio_tabla
Dirección de inicio de la secuencia de table.
•fin_tabla
Dirección de finalización de la secuencia de table.
EjemploHW_PSWITCH(1, 1, ON, 21, 50)
Este comando cargará la tabla FIFO con 30 posiciones, almacenas en la
memoria TABLE a partir de TABLE(21) en dirección ascendente. Cuando se
alcanza la posición almacenada en TABLE(21), la salida OUT 0 se pondrá en
ON y, alternativamente, en OFF y en ON al alcanzar las posiciones siguientes
de la secuencia, hasta llegar a la posición almacenada en TABLE(50).
EjemploHW_PSWITCH(0)
Este comando desactivará el interruptor si se ha activado anteriormente, pero
no borrará la cola FIFO.
HW_PSWITCH
con los mismos parámetros.
MANUAL DE PROGRAMACIÓN95
Comandos BASIC
EjemploHW_PSWITCH(2)
Este comando borrará la cola FIFO si se ha cargado anteriormente.
Consulte
también
AXIS
3.2.146 I_GAIN
/i
TipoParámetro de eje
SintaxisI_GAIN
Descripción
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
El parámetro de eje
a la salida de la integral se calcula multiplicando las sumas de los errores de
seguimiento con el valor del parámetro
Al incorporar la ganancia integral a un servosistema se reducen los errores
de posición en reposo y al moverse continuamente. Puede producir o aumentar
los sobreimpulsos y las oscilaciones y, por lo tanto, sólo resulta adecuada
para sistemas que funcionen a velocidad constante y con aceleraciones lentas.
Nota: para evitar inestabilidad, las ganancias de servo sólo se deben cambiar
cuando SERVO está en OFF.
D_GAIN, I_GAIN, OV_GAIN, P_GAIN, VFF_GAIN
3.2.147 IDLE
Consulte
Revisión 3.0
WAIT IDLE
3.2.148 IEEE_IN
/i
TipoFunción matemática
SintaxisIEEE_IN(byte0,byte1,byte2,byte3)
Descripción La función IEEE_IN devuelve el número en coma flotante representado
por 4 bytes que normalmente se han recibido a través de comunicaciones.
Argumentos •byte0 – byte3
Cualquier combinación de valores de 8 bits que represente un número
de coma flotante IEEE válido.
I_GAIN
contiene la ganancia integral del eje. La aportación
I_GAIN
. El valor predeterminado es 0.
EjemploVR(20) = IEEE_IN(b0,b1,b2,b3)
Consulte
también
N/A
3.2.149 IEEE_OUT
/i
TipoFunción matemática
Sintaxisbyte_n = IEEE_OUT(valor, n)
Descripción
.
Argumentos •valor
.
EjemploV = MPOS AXIS(2)
Consulte
también
La función
valor en coma flotante para la transmisión a través de un sistema de bus. La
función normalmente se llamará 4 veces para extraer cada byte de uno en uno.
Nota: El byte 0 es el byte alto del formato en coma flotante IEEE de 32 bits.
Cualquier variable o parámetro de coma flotante BASIC.
El número de byte (0 – 3) que se extraerá.
devuelve un solo byte en formato IEEE extraído de un
MANUAL DE PROGRAMACIÓN96
Comandos BASIC
3.2.150 IF..THEN..ELSE..ENDIF
/i
TipoComando de control de programa
SintaxisIF condición_1 THEN comandos {ELSEIF condición_i THEN comandos}
[ ELSE comandos ] ENDIF
IF condición_1 THEN comandos
Descripción
Argumentos •condición_i
EjemploIF MPOS > (0.22 * VR(0)) THEN GOTO longitud_superada
EjemploIF IN(0) = ON THEN
EjemploIF IN(parar) = ON THEN
Revisión 3.0
Esta estructura controla el flujo del programa según los resultados de la
TRUE
condición. Si la condición es
a
THEN
hasta
ELSEIF, ELSE
de una subestructura
de dicha subestructura. Si todas las condiciones son
comandos que siguen a
de
ENDIF
si no se incluye ningún
bloque condicional.
Nota: las secuencias IF..THEN..ELSE..ENDIF se pueden anidar sin ningún
tipo de límite. Para una construcción IF..THEN de varias líneas, no debe
haber ninguna instrucción después de THEN. Una construcción de una sola
línea no debe utilizar ENDIF.
El comando MOVEABS se construye del siguiente modo:
Paso 1: IN(4,7) obtendrá un número entre 0 y 15.
Paso 2: El número se multiplica por 1,5467 para obtener la distancia necesaria.
Paso 3: Se realiza un movimiento absoluto a esta posición.
EjemploEn este ejemplo se prueba una sola entrada:
prueba:
WAIT UNTIL IN(4) = ON 'La cinta transportadora está en posición
'cuando se encuentra en ON
GOSUB lugar
Consulte
también
OP
.
3.2.152 INDEVICE
/i
TipoParámetro de E/S
SintaxisINDEVICE
Descripción El parámetro INDEVICE define el dispositivo de entrada predeterminado.
Este dispositivo se seleccionará para los comandos de entrada cuando
se omita la opción #n. El parámetro INDEVICE es específico de la tarea.
Los valores admitidos se enumeran en la tabla siguiente.
Argumentos N/A
EjemploNo hay ejemplo.
ValorDescripción
0Puerto de programación 0 (predeterminado)
1Puerto 1 comunicacion serie RS-232C
2Puerto 2 comunicación serie RS-422A/485
5Canal de usuario 5 de puerto 0 de Trajexia Tools
6Canal de usuario 6 de puerto 0 de Trajexia Tools
7Canal de usuario 7 de puerto 0 de Trajexia Tools
3.2.153 INITIALISE
/i
TipoComando de sistema
SintaxisINITIALISE
Descripción Establece todos los ejes y los parámetros de sistema y proceso a sus
valores predeterminados. Los parámetros también se restablecen cada
vez que se enciende el controlador o cuando se ejecuta un comando EX
(reset por software). En Trajexia Tools, el menú Reset the controller...
(Restablecer controlador), en el menú Controller (Controlador), realiza
la función equivalente al comando EX.
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
•EX
Revisión 3.0
Consulte
también
/i
GET, INPUT, LINPUT, KEY
GET
.
MANUAL DE PROGRAMACIÓN98
Comandos BASIC
3.2.154 INPUT
/i
TipoComando de E/S
SintaxisINPUT [ #n ], variable {, variable }
Descripción El comando INPUT asignará valores de cadena de entrada numérica
a las variables especificadas. Se pueden solicitar varios valores de
cadena de entrada en una sola línea separados por comas o en varias
líneas separados por retorno de carro. La ejecución del programa estará
en pausa hasta que se termine la cadena con un retorno de carro después
de que se haya asignado la última variable.
Si la cadena no es válida, al usuario se le mostrará un mensaje de error
y se repetirá la tarea. La cantidad máxima de entradas en una sola línea
no tiene más límite que la longitud de línea.
Los canales 5 a 7 son canales lógicos que están superpuestos en
el puerto 0 de programación RS-232C cuando se utiliza Trajexia Tools.
Nota: el canal 0 está reservado para la conexión a Trajexia Tools y/o la
interfaz de línea de comandos. Tenga en cuenta que este canal puede
dar problemas para esta función.
Argumentos •n
El dispositivo de entrada especificado. Cuando se omite este argumento,
se utilizará el puerto especificado por INDEVICE.
•variable
La variable en la que se escribirá.
EjemploConsidere el siguiente programa para recibir datos del terminal.
INPUT#5, num
PRINT#5, "CONTAJE DE LOTES=";num[0]
Una respuesta posible en el terminal podría ser:
123<CR>
CONTAJE DE LOTES = 123
Consulte
también
Revisión 3.0
INDEVICE, GET, LINPUT, KEY
3.2.155 INT
/i
TipoFunción matemática
SintaxisINT(expresión)
Descripción La función INT devuelve la parte entera de la expresión.
Nota: Para redondear un número positivo al valor entero más próximo,
tome la función INT del valor más 0,5. Del mismo modo, para redondear
un valor negativo, reste 0,5 al valor antes de aplicar INT.
Argumentos •expresión
Cualquier expresión BASIC válida.
Ejemplo>> PRINT INT(1.79)
1.0000
Consulte
también
N/A
3.2.156 INVERT_IN
/i
TipoComando de sistema
SintaxisINVERT_IN(entrada,on/off)
Descripción El comando INVERT_IN permite que los canales 0 a 31 se inviertan
individualmente en software.
Esto resulta importante ya que estos canales de entrada se pueden asignar
para activar funciones como, por ejemplo, la retención de realimentación.
La función INVERT_IN establece la inversión para un canal en ON u OFF.
Sólo se puede aplicar a las entradas 0 a 31.
Argumentos •de reset
Una expresión BASIC.
Ejemplo>>? IN(3)
0.0000
>>INVERT_IN(3,ON)
>>? IN(3)
1.0000
Consulte
también
N/A
MANUAL DE PROGRAMACIÓN99
Comandos BASIC
3.2.157 INVERT_STEP
/i
TipoParámetro de eje
SintaxisINVERT_STEP
Descripción
Argumentos N/A
EjemploNo hay ejemplo.
Consulte
también
Revisión 3.0
INVERT_STEP
motores paso a paso. Esto puede ser necesario para conectar algunos drivers
paso a paso. La lógica electrónica en el generador de impulsos paso a paso
de Trajexia supone que el flanco descendente de la salida de paso es el flanco
activo que da como resultado el movimiento del motor. Esto resulta adecuado
para la mayoría de los controladores paso a paso. Al establecer
INVERT_STEP = ON
de la señal de paso se tomará como flanco activo.
establecer, si es necesario, antes de activar el controlador con
El valor predeterminado es OFF.
Nota: si el ajuste es incorrecto, un motor paso a paso puede perder
la posición en un paso al cambiar de dirección.
N/A
se utiliza para invertir la lógica en el circuito de salida para
se invierte la lógica de forma que el flanco ascendente
Descripción INVERTER_COMMAND controla las entradas y borra la alarma del variador
de frecuencia conectado al sistema mediante el bus MECHATROLINK-II.
Existen dos funciones de INVERTER_COMMAND:
•1: Borra una alarma.
•7: Controla las señales de operación.
Para usar un variador mediante MECHATROLINK-II, debe configurar
.
Argumentos •módulo
EjemploNo hay ejemplo.
Consulte
también
el comando de marcha y de referencia del variador en la opción
de comunicaciones:
•Variador MV/V7: N3 = 3; N4 = 9
•Variador F7/G7: B1 – 01 = 3; B1 – 02 = 3.
Asegúrese de que el firmware del variador admite la tarjeta de comunicaciones
MECHATROLINK-II.
El comando devuelve –1 si se ha ejecutado correctamente y 0 si ha fallado.
El comando enviado al variador corresponderá a los bits indicados en la tabla
siguiente.
El número de la TJ1-ML__ a la que está conectado el variador.
•estación
El número de estación MECHATROLINK-II del variador.
•número_alarma
El número de la alarma. Consulte el manual del variador.
•señales_operación
Un valor de operación (Trajexia internamente lo tratará a nivel de bits)
para controlar las señales de operación. Consulte la siguiente tabla.
N/A
/i
MANUAL DE PROGRAMACIÓN100
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.