Omron TJ1-MC04, TJ1-MC16 PROGRAMMING Manual

Cat. No. I52E-ES-03
Sistema Motion Control Trajexia
TJ1-MC04 TJ1-M C 1 6
MANUAL DE PROGRAMACIÓN
Nota
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.
MANUAL DE PROGRAMACIÓN 2
© OMRON, 2007
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
Nombre Cat. 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
Nombre Cat. 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-NS115 SIEP C71080001 Se describen la instalación
I50E Se describe cómo familiarizarse
rápidamente con Trajexia en una configuración de prueba para mover un solo eje con MECHATROLINK-II.
I51E Se describen la instalación y las
especificaciones de hardware de las unidades Trajexia y se explica la filosofía del sistema Trajexia.
I52E Se 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 15 Se 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 V7 TOEP C71060605 02-OY Se describen la instalación
Variador F7Z TOE S616-55 1-OY Se describen la instalación
Variador G7 TOE S616-60 Se 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 11 Se 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-08 Se describen la instalación
y la operación de las interfaces MECHATROLINK para los variadores G7 y F7.
SIBP-C730600-03 Se describen la instalación
y la operación de las interfaces MECHATROLINK para los variadores V7.
SIE C887-5 Se describen la instalación
y la operación de los módulos de entrada y salida MECHATROLINK y el repetidor MECHATROLINK-II.
W342 Se 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ÓN 3
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
Funcionalidad Versión de firmware
de TJ1-MC__
Compatibilidad completa con TJ1-FL02
Compatibilidad con comandos BASIC FINS_COMMS
Compatibilidad con TJ1-DRT V1.6509 Todas las versiones
Compatibilidad con TJ1-MC04 y TJ1-ML04
V1.6509 21 y superior
V1.6509 Todas las versiones
V1.6607 21 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ÓN 4

Contenido

1 Advertencias y precauciones de seguridad.............................................................................................................................................16
1.1 Perfil de usuario..............................................................................................................................................................................................................................16
1.2 Precauciones generales .................................................................................................................................................................................................................16
1.3 Precauciones de seguridad ............................................................................................................................................................................................................16
1.4 Precauciones del entorno de servicio.............................................................................................................................................................................................17
1.5 Precauciones de uso ......................................................................................................................................................................................................................18
1.6 Precauciones de montaje de la unidad...........................................................................................................................................................................................21
2 Sistema Trajexia.......................................................................................................................................................................................... 22
2.1 Introducción ....................................................................................................................................................................................................................................22
2.1.1 Hardware de Trajexia .......................................................................................................................................................................................................23
2.1.2 Este manual......................................................................................................................................................................................................................23
2.2 Programación multitarea en BASIC................................................................................................................................................................................................23
2.3 Programación BASIC......................................................................................................................................................................................................................24
2.3.1 Instrucciones de eje, sistema y tarea ...............................................................................................................................................................................24
2.3.2 Áreas de memoria ............................................................................................................................................................................................................24
2.3.3 Estructuras de datos y variables ......................................................................................................................................................................................25
2.3.4 Especificaciones matemáticas .........................................................................................................................................................................................27
2.4 Ejecución de Motion Control...........................................................................................................................................................................................................28
2.4.1 Generador de Motion Control...........................................................................................................................................................................................28
2.4.2 Secuencia.........................................................................................................................................................................................................................29
2.4.3 Carga de movimientos......................................................................................................................................................................................................29
2.5 Interfaz de línea de comandos .......................................................................................................................................................................................................30
2.6 Programas BASIC ..........................................................................................................................................................................................................................30
2.6.1 Gestión de programas......................................................................................................................................................................................................30
2.6.2 Compilacion de programas...............................................................................................................................................................................................31
2.6.3 Ejecución del programa....................................................................................................................................................................................................31
3 Comandos BASIC .......................................................................................................................................................................................33
3.1 Categorías ......................................................................................................................................................................................................................................33
3.1.1 Comandos de eje ............................................................................................................................................................................................................33
3.1.2 Parámetros de eje ...........................................................................................................................................................................................................34
3.1.3 Comandos y parámetros de comunicaciones .................................................................................................................................................................36
3.1.4 Constantes .......................................................................................................................................................................................................................36
3.1.5 Comandos, funciones y parámetros de E/S ...................................................................................................................................................................36
3.1.6 Funciones y operandos matemáticos ...........................................................................................................................................................................37
Revision 3.0
MANUAL DE PROGRAMACIÓN 5
3.1.7 Comandos de programa ..................................................................................................................................................................................................37
3.1.8 Comandos de control de programa .................................................................................................................................................................................38
3.1.9 Parámetros y modificadores de slot ...............................................................................................................................................................................38
3.1.10 Comandos y funciones del sistema ...............................................................................................................................................................................38
Contenido
Revision 3.0
3.1.11 Parámetros del sistema ...................................................................................................................................................................................................39
3.1.12 Comandos y parámetros de tareas .................................................................................................................................................................................40
3.2 Todos los comandos BASIC...........................................................................................................................................................................................................41
3.2.1 + (suma) ...........................................................................................................................................................................................................................41
3.2.2 – (resta) ............................................................................................................................................................................................................................41
3.2.3 * (multiplicación) ...............................................................................................................................................................................................................41
3.2.4 / (división) .........................................................................................................................................................................................................................41
3.2.5 ^ (potencia).......................................................................................................................................................................................................................42
3.2.6 = (es igual a).....................................................................................................................................................................................................................42
3.2.7 = (asignación)...................................................................................................................................................................................................................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.13 $ (entrada hexadecimal)...................................................................................................................................................................................................44
3.2.14 ' (campo de comentarios) .................................................................................................................................................................................................44
3.2.15 : (separador de instrucciones) ..........................................................................................................................................................................................44
3.2.16 #........................................................................................................................................................................................................................................44
3.2.17 ABS ..................................................................................................................................................................................................................................45
3.2.18 ACC..................................................................................................................................................................................................................................45
3.2.19 ACCEL..............................................................................................................................................................................................................................45
3.2.20 ACOS ...............................................................................................................................................................................................................................45
3.2.21 ADD_DAC ........................................................................................................................................................................................................................46
3.2.22 ADDAX .............................................................................................................................................................................................................................46
3.2.23 ADDAX_AXIS...................................................................................................................................................................................................................47
3.2.24 AIN....................................................................................................................................................................................................................................47
3.2.25 AND..................................................................................................................................................................................................................................47
3.2.26 AOUT................................................................................................................................................................................................................................48
3.2.27 ASIN .................................................................................................................................................................................................................................48
3.2.28 ATAN................................................................................................................................................................................................................................48
3.2.29 ATAN2..............................................................................................................................................................................................................................48
3.2.30 ATYPE..............................................................................................................................................................................................................................49
3.2.31 AUTORUN........................................................................................................................................................................................................................49
3.2.32 AXIS .................................................................................................................................................................................................................................49
3.2.33 AXIS_DISPLAY ................................................................................................................................................................................................................50
3.2.34 AXIS_ENABLE .................................................................................................................................................................................................................50
3.2.35 AXISSTATUS ...................................................................................................................................................................................................................50
3.2.36 B_SPLINE ........................................................................................................................................................................................................................51
3.2.37 BASE................................................................................................................................................................................................................................51
MANUAL DE PROGRAMACIÓN 6
Contenido
Revision 3.0
3.2.38 BASICERROR..................................................................................................................................................................................................................52
3.2.39 BATTERY_LOW...............................................................................................................................................................................................................53
3.2.40 BREAK_RESET ...............................................................................................................................................................................................................53
3.2.41 CAM..................................................................................................................................................................................................................................53
3.2.42 CAMBOX ..........................................................................................................................................................................................................................55
3.2.43 CANCEL ...........................................................................................................................................................................................................................56
3.2.44 CHECKSUM .....................................................................................................................................................................................................................56
3.2.45 CHR..................................................................................................................................................................................................................................56
3.2.46 CLEAR..............................................................................................................................................................................................................................57
3.2.47 CLEAR_BIT ......................................................................................................................................................................................................................57
3.2.48 CLEAR_PARAMS ............................................................................................................................................................................................................57
3.2.49 CLOSE_WIN ....................................................................................................................................................................................................................57
3.2.50 CLUTCH_RATE ...............................................................................................................................................................................................................57
3.2.51 COMMSERROR...............................................................................................................................................................................................................58
3.2.52 COMMSTYPE ..................................................................................................................................................................................................................58
3.2.53 COMPILE .........................................................................................................................................................................................................................58
3.2.54 CONNECT........................................................................................................................................................................................................................59
3.2.55 CONSTANT......................................................................................................................................................................................................................59
3.2.56 CONTROL ........................................................................................................................................................................................................................59
3.2.57 COPY ...............................................................................................................................................................................................................................60
3.2.58 COS..................................................................................................................................................................................................................................60
3.2.59 CREEP .............................................................................................................................................................................................................................60
3.2.60 D_GAIN ............................................................................................................................................................................................................................60
3.2.61 D_ZONE_MAX .................................................................................................................................................................................................................61
3.2.62 D_ZONE_MIN ..................................................................................................................................................................................................................61
3.2.63 DAC ..................................................................................................................................................................................................................................61
3.2.64 DAC_OUT ........................................................................................................................................................................................................................61
3.2.65 DAC_SCALE ....................................................................................................................................................................................................................61
3.2.66 DATE ................................................................................................................................................................................................................................62
3.2.67 DATE$ ..............................................................................................................................................................................................................................62
3.2.68 DATUM.............................................................................................................................................................................................................................62
3.2.69 DATUM_IN .......................................................................................................................................................................................................................63
3.2.70 DAY ..................................................................................................................................................................................................................................64
3.2.71 DAY$ ................................................................................................................................................................................................................................64
3.2.72 DECEL..............................................................................................................................................................................................................................64
3.2.73 DEFPOS...........................................................................................................................................................................................................................64
3.2.74 DEL...................................................................................................................................................................................................................................65
3.2.75 DEMAND_EDGES ...........................................................................................................................................................................................................65
3.2.76 DEVICENET .....................................................................................................................................................................................................................65
3.2.77 DIR ...................................................................................................................................................................................................................................67
MANUAL DE PROGRAMACIÓN 7
Contenido
Revision 3.0
3.2.78 DISABLE_GROUP ...........................................................................................................................................................................................................67
3.2.79 DISPLAY ..........................................................................................................................................................................................................................67
3.2.80 DPOS ...............................................................................................................................................................................................................................68
3.2.81 DRIVE_ALARM ................................................................................................................................................................................................................68
3.2.82 DRIVE_CLEAR.................................................................................................................................................................................................................69
3.2.83 DRIVE_CONTROL ...........................................................................................................................................................................................................69
3.2.84 DRIVE_INPUTS ...............................................................................................................................................................................................................70
3.2.85 DRIVE_MONITOR............................................................................................................................................................................................................70
3.2.86 DRIVE_READ...................................................................................................................................................................................................................71
3.2.87 DRIVE_RESET.................................................................................................................................................................................................................71
3.2.88 DRIVE_STATUS ..............................................................................................................................................................................................................72
3.2.89 DRIVE_WRITE .................................................................................................................................................................................................................73
3.2.90 EDIT .................................................................................................................................................................................................................................73
3.2.91 ELSE ................................................................................................................................................................................................................................73
3.2.92 ELSEIF .............................................................................................................................................................................................................................73
3.2.93 ENCODER........................................................................................................................................................................................................................74
3.2.94 ENCODER_BITS..............................................................................................................................................................................................................74
3.2.95 ENCODER_CONTROL ....................................................................................................................................................................................................74
3.2.96 ENCODER_ID ..................................................................................................................................................................................................................75
3.2.97 ENCODER_RATIO...........................................................................................................................................................................................................75
3.2.98 ENCODER_READ............................................................................................................................................................................................................75
3.2.99 ENCODER_STATUS .......................................................................................................................................................................................................76
3.2.100 ENCODER_TURNS .........................................................................................................................................................................................................76
3.2.101 ENCODER_WRITE ..........................................................................................................................................................................................................76
3.2.102 ENDIF...............................................................................................................................................................................................................................76
3.2.103 ENDMOVE .......................................................................................................................................................................................................................77
3.2.104 EPROM ............................................................................................................................................................................................................................77
3.2.105 ERROR_AXIS ..................................................................................................................................................................................................................77
3.2.106 ERROR_LINE...................................................................................................................................................................................................................77
3.2.107 ERRORMASK ..................................................................................................................................................................................................................78
3.2.108 ETHERNET ......................................................................................................................................................................................................................78
3.2.109 EX.....................................................................................................................................................................................................................................79
3.2.110 EXP ..................................................................................................................................................................................................................................79
3.2.111 FALSE ..............................................................................................................................................................................................................................79
3.2.112 FAST_JOG.......................................................................................................................................................................................................................79
3.2.113 FASTDEC.........................................................................................................................................................................................................................80
3.2.114 FE.....................................................................................................................................................................................................................................80
3.2.115 FE_LATCH .......................................................................................................................................................................................................................80
3.2.116 FE_LIMIT..........................................................................................................................................................................................................................80
3.2.117 FE_LIMIT_MODE .............................................................................................................................................................................................................81
MANUAL DE PROGRAMACIÓN 8
Contenido
Revision 3.0
3.2.118 FE_RANGE ......................................................................................................................................................................................................................81
3.2.119 FHOLD_IN........................................................................................................................................................................................................................81
3.2.120 FHSPEED.........................................................................................................................................................................................................................82
3.2.121 FINS_COMMS..................................................................................................................................................................................................................82
3.2.122 FLAG ................................................................................................................................................................................................................................84
3.2.123 FLAGS..............................................................................................................................................................................................................................84
3.2.124 FOR..TO..STEP..NEXT ....................................................................................................................................................................................................85
3.2.125 FORWARD .......................................................................................................................................................................................................................86
3.2.126 FPGA_VERSION..............................................................................................................................................................................................................86
3.2.127 FRAC................................................................................................................................................................................................................................86
3.2.128 FRAME.............................................................................................................................................................................................................................86
3.2.129 FREE................................................................................................................................................................................................................................87
3.2.130 FS_LIMIT..........................................................................................................................................................................................................................87
3.2.131 FWD_IN............................................................................................................................................................................................................................87
3.2.132 FWD_JOG ........................................................................................................................................................................................................................88
3.2.133 GET ..................................................................................................................................................................................................................................88
3.2.134 GLOBAL ...........................................................................................................................................................................................................................89
3.2.135 GOSUB..RETURN............................................................................................................................................................................................................89
3.2.136 GOTO ...............................................................................................................................................................................................................................89
3.2.137 HALT ................................................................................................................................................................................................................................90
3.2.138 HEX ..................................................................................................................................................................................................................................90
3.2.139 HLM_COMMAND .............................................................................................................................................................................................................90
3.2.140 HLM_READ ......................................................................................................................................................................................................................91
3.2.141 HLM_STATUS..................................................................................................................................................................................................................92
3.2.142 HLM_TIMEOUT................................................................................................................................................................................................................93
3.2.143 HLM_WRITE ....................................................................................................................................................................................................................94
3.2.144 HLS_NODE ......................................................................................................................................................................................................................95
3.2.145 HW_PSWITCH .................................................................................................................................................................................................................95
3.2.146 I_GAIN..............................................................................................................................................................................................................................96
3.2.147 IDLE..................................................................................................................................................................................................................................96
3.2.148 IEEE_IN............................................................................................................................................................................................................................96
3.2.149 IEEE_OUT........................................................................................................................................................................................................................96
3.2.150 IF..THEN..ELSE..ENDIF...................................................................................................................................................................................................97
3.2.151 IN......................................................................................................................................................................................................................................97
3.2.152 INDEVICE.........................................................................................................................................................................................................................98
3.2.153 INITIALISE........................................................................................................................................................................................................................98
3.2.154 INPUT...............................................................................................................................................................................................................................99
3.2.155 INT....................................................................................................................................................................................................................................99
3.2.156 INVERT_IN.......................................................................................................................................................................................................................99
3.2.157 INVERT_STEP...............................................................................................................................................................................................................100
MANUAL DE PROGRAMACIÓN 9
Contenido
Revision 3.0
3.2.158 INVERTER_COMMAND ................................................................................................................................................................................................100
3.2.159 INVERTER_READ .........................................................................................................................................................................................................101
3.2.160 INVERTER_WRITE........................................................................................................................................................................................................102
3.2.161 JOGSPEED....................................................................................................................................................................................................................103
3.2.162 KEY ................................................................................................................................................................................................................................103
3.2.163 LAST_AXIS ....................................................................................................................................................................................................................104
3.2.164 LINKAX...........................................................................................................................................................................................................................104
3.2.165 LINPUT...........................................................................................................................................................................................................................104
3.2.166 LIST................................................................................................................................................................................................................................105
3.2.167 LIST_GLOBAL................................................................................................................................................................................................................105
3.2.168 LN...................................................................................................................................................................................................................................106
3.2.169 LOCK..............................................................................................................................................................................................................................106
3.2.170 MARK .............................................................................................................................................................................................................................106
3.2.171 MARKB...........................................................................................................................................................................................................................107
3.2.172 MECHATROLINK ...........................................................................................................................................................................................................107
3.2.173 MERGE ..........................................................................................................................................................................................................................108
3.2.174 MHELICAL......................................................................................................................................................................................................................109
3.2.175 MOD ...............................................................................................................................................................................................................................109
3.2.176 MOTION_ERROR ..........................................................................................................................................................................................................109
3.2.177 MOVE .............................................................................................................................................................................................................................110
3.2.178 MOVEABS......................................................................................................................................................................................................................111
3.2.179 MOVECIRC ....................................................................................................................................................................................................................112
3.2.180 MOVELINK .....................................................................................................................................................................................................................114
3.2.181 MOVEMODIFY ...............................................................................................................................................................................................................115
3.2.182 MPOS .............................................................................................................................................................................................................................116
3.2.183 MSPEED ........................................................................................................................................................................................................................116
3.2.184 MTYPE ...........................................................................................................................................................................................................................116
3.2.185 NAIO...............................................................................................................................................................................................................................117
3.2.186 NEG_OFFSET................................................................................................................................................................................................................117
3.2.187 NEW ...............................................................................................................................................................................................................................117
3.2.188 NEXT..............................................................................................................................................................................................................................117
3.2.189 NIO .................................................................................................................................................................................................................................117
3.2.190 NOT ................................................................................................................................................................................................................................118
3.2.191 NTYPE............................................................................................................................................................................................................................118
3.2.192 OFF ................................................................................................................................................................................................................................118
3.2.193 OFFPOS.........................................................................................................................................................................................................................118
3.2.194 ON ..................................................................................................................................................................................................................................119
3.2.195 ON.. GOSUB ..................................................................................................................................................................................................................119
3.2.196 ON.. GOTO.....................................................................................................................................................................................................................119
3.2.197 OP ..................................................................................................................................................................................................................................119
MANUAL DE PROGRAMACIÓN 10
Contenido
Revision 3.0
3.2.198 OPEN_WIN ....................................................................................................................................................................................................................120
3.2.199 OR ..................................................................................................................................................................................................................................120
3.2.200 OUTDEVICE...................................................................................................................................................................................................................121
3.2.201 OUTLIMIT.......................................................................................................................................................................................................................121
3.2.202 OV_GAIN........................................................................................................................................................................................................................121
3.2.203 P_GAIN ..........................................................................................................................................................................................................................122
3.2.204 PI ....................................................................................................................................................................................................................................122
3.2.205 PMOVE...........................................................................................................................................................................................................................122
3.2.206 POS_OFFSET................................................................................................................................................................................................................123
3.2.207 POWER_UP ...................................................................................................................................................................................................................123
3.2.208 PRINT.............................................................................................................................................................................................................................123
3.2.209 PROC .............................................................................................................................................................................................................................124
3.2.210 PROC_STATUS .............................................................................................................................................................................................................124
3.2.211 PROCESS ......................................................................................................................................................................................................................125
3.2.212 PROCNUMBER..............................................................................................................................................................................................................125
3.2.213 PROFIBUS .....................................................................................................................................................................................................................125
3.2.214 PSWITCH .......................................................................................................................................................................................................................126
3.2.215 RAPIDSTOP...................................................................................................................................................................................................................127
3.2.216 READ_BIT......................................................................................................................................................................................................................127
3.2.217 REG_POS ......................................................................................................................................................................................................................128
3.2.218 REG_POSB....................................................................................................................................................................................................................128
3.2.219 REGIST ..........................................................................................................................................................................................................................128
3.2.220 REMAIN..........................................................................................................................................................................................................................130
3.2.221 REMOTE_ERROR .........................................................................................................................................................................................................130
3.2.222 RENAME ........................................................................................................................................................................................................................130
3.2.223 REP_DIST ......................................................................................................................................................................................................................131
3.2.224 REP_OPTION ................................................................................................................................................................................................................131
3.2.225 REPEAT..UNTIL.............................................................................................................................................................................................................131
3.2.226 RESET............................................................................................................................................................................................................................132
3.2.227 RETURN.........................................................................................................................................................................................................................132
3.2.228 REV_IN...........................................................................................................................................................................................................................132
3.2.229 REV_JOG.......................................................................................................................................................................................................................133
3.2.230 REVERSE ......................................................................................................................................................................................................................133
3.2.231 RS_LIMIT .......................................................................................................................................................................................................................133
3.2.232 RUN................................................................................................................................................................................................................................133
3.2.233 RUN_ERROR.................................................................................................................................................................................................................134
3.2.234 RUNTYPE ......................................................................................................................................................................................................................134
3.2.235 S_REF............................................................................................................................................................................................................................135
3.2.236 S_REF_OUT ..................................................................................................................................................................................................................135
3.2.237 SCOPE ...........................................................................................................................................................................................................................136
MANUAL DE PROGRAMACIÓN 11
Contenido
Revision 3.0
3.2.238 SCOPE_POS .................................................................................................................................................................................................................137
3.2.239 SELECT..........................................................................................................................................................................................................................137
3.2.240 SERVO ...........................................................................................................................................................................................................................137
3.2.241 SERVO_PERIOD ...........................................................................................................................................................................................................137
3.2.242 SET_BIT .........................................................................................................................................................................................................................138
3.2.243 SETCOM ........................................................................................................................................................................................................................138
3.2.244 SGN................................................................................................................................................................................................................................139
3.2.245 SIN..................................................................................................................................................................................................................................139
3.2.246 SLOT ..............................................................................................................................................................................................................................139
3.2.247 SPEED ...........................................................................................................................................................................................................................139
3.2.248 SQR................................................................................................................................................................................................................................140
3.2.249 SRAMP...........................................................................................................................................................................................................................140
3.2.250 PASO..............................................................................................................................................................................................................................140
3.2.251 STEP_RATIO .................................................................................................................................................................................................................140
3.2.252 STEPLINE ......................................................................................................................................................................................................................141
3.2.253 STOP..............................................................................................................................................................................................................................141
3.2.254 SYSTEM_ERROR..........................................................................................................................................................................................................142
3.2.255 T_REF ............................................................................................................................................................................................................................142
3.2.256 TABLE ............................................................................................................................................................................................................................143
3.2.257 TABLEVALUES..............................................................................................................................................................................................................143
3.2.258 TAN ................................................................................................................................................................................................................................144
3.2.259 THEN..............................................................................................................................................................................................................................144
3.2.260 TICKS .............................................................................................................................................................................................................................144
3.2.261 TIME...............................................................................................................................................................................................................................144
3.2.262 TIME$.............................................................................................................................................................................................................................145
3.2.263 TO...................................................................................................................................................................................................................................145
3.2.264 TRANS_DPOS ...............................................................................................................................................................................................................145
3.2.265 TRIGGER .......................................................................................................................................................................................................................145
3.2.266 TROFF............................................................................................................................................................................................................................145
3.2.267 TRON .............................................................................................................................................................................................................................146
3.2.268 TRUE..............................................................................................................................................................................................................................146
3.2.269 TSIZE .............................................................................................................................................................................................................................146
3.2.270 UNITS.............................................................................................................................................................................................................................147
3.2.271 UNLOCK.........................................................................................................................................................................................................................147
3.2.272 UNTIL .............................................................................................................................................................................................................................147
3.2.273 VERIFY...........................................................................................................................................................................................................................147
3.2.274 VERSION .......................................................................................................................................................................................................................147
3.2.275 VFF_GAIN......................................................................................................................................................................................................................148
3.2.276 VP_SPEED.....................................................................................................................................................................................................................148
3.2.277 VR...................................................................................................................................................................................................................................148
MANUAL DE PROGRAMACIÓN 12
Contenido
3.2.278 VRSTRING .....................................................................................................................................................................................................................149
3.2.279 WA..................................................................................................................................................................................................................................149
3.2.280 WAIT IDLE......................................................................................................................................................................................................................150
3.2.281 WAIT LOADED...............................................................................................................................................................................................................150
3.2.282 WAIT UNTIL ...................................................................................................................................................................................................................150
3.2.283 WDOG ............................................................................................................................................................................................................................151
3.2.284 WHILE..WEND ...............................................................................................................................................................................................................151
3.2.285 XOR................................................................................................................................................................................................................................152
4 Protocolos de comunicaciones .............................................................................................................................................................. 153
4.1 Interfaces disponibles ...................................................................................................................................................................................................................153
4.2 Ethernet ......................................................................................................................................................................................................................................153
4.2.1 Comunicación con Trajexia directamente desde el ordenador .....................................................................................................................................154
4.2.2 Comunicación con Trajexia de forma remota.................................................................................................................................................................155
4.2.3 Protocolo Trajexia Tools ..............................................................................................................................................................................................156
4.2.4 Protocolo de servidor FINS ........................................................................................................................................................................................156
4.2.5 Protocolo de cliente FINS...............................................................................................................................................................................................158
4.3 Protocolo serie ...........................................................................................................................................................................................................................158
4.3.1 Maestro Host Link ..........................................................................................................................................................................................................158
4.3.2 Esclavo Host Link .......................................................................................................................................................................................................163
4.3.3 Protocolo definido por el usuario ..................................................................................................................................................................................165
4.4 PROFIBUS ..............................................................................................................................................................................................................................167
4.4.1 Introducción....................................................................................................................................................................................................................167
4.4.2 Configuración de las comunicaciones............................................................................................................................................................................167
4.4.3 Estado de las comunicaciones ......................................................................................................................................................................................172
4.5 DeviceNet .....................................................................................................................................................................................................................................173
4.5.1 Introducción....................................................................................................................................................................................................................173
4.5.2 Configuración de las comunicaciones............................................................................................................................................................................173
4.5.3 Estado de las comunicaciones ......................................................................................................................................................................................178
4.6 MECHATROLINKII ..................................................................................................................................................................................................................179
5 Interfaz Trajexia Tools .............................................................................................................................................................................180
5.1 Introducción ..................................................................................................................................................................................................................................180
5.2 Especificaciones y conexiones .....................................................................................................................................................................................................180
5.2.1 Especificaciones del PC ................................................................................................................................................................................................180
5.2.2 Instalación del software Trajexia Tools .........................................................................................................................................................................181
Revision 3.0
MANUAL DE PROGRAMACIÓN 13
5.2.3 Conexión a la TJ1-MC__ ...............................................................................................................................................................................................186
5.3 Proyectos .....................................................................................................................................................................................................................................191
5.3.1 Proyectos de Trajexia Tools...........................................................................................................................................................................................191
5.3.2 Ventana de comprobación de proyecto ......................................................................................................................................................................192
Contenido
5.4 Ventana de aplicación de Trajexia Tools .....................................................................................................................................................................................194
5.4.1 Panel de control..............................................................................................................................................................................................................194
5.4.2 Barra de menú................................................................................................................................................................................................................194
5.4.3 Barra de herramientas ...................................................................................................................................................................................................195
5.5 Descripciones de menús .............................................................................................................................................................................................................196
5.5.1 Menú Project (Proyecto) ................................................................................................................................................................................................196
5.5.2 Menú Controller (Controlador) .......................................................................................................................................................................................198
5.5.3 Menú Program (Programa).............................................................................................................................................................................................203
5.5.4 Menú Tools (Herramientas) ...........................................................................................................................................................................................205
5.5.5 Menú Options (Opciones)...............................................................................................................................................................................................221
5.5.6 Menú Window (Ventana) ...............................................................................................................................................................................................224
5.5.7 Menú Help (Ayuda).........................................................................................................................................................................................................224
6 Ejemplos y sugerencias...........................................................................................................................................................................225
6.1 Procedimientos .............................................................................................................................................................................................................................225
6.1.1 Programa de inicio .........................................................................................................................................................................................................225
6.1.2 Ajustes de ganancia .....................................................................................................................................................................................................229
6.1.3 Ajuste del parámetro de eje UNITS y la relación de engranaje......................................................................................................................................239
6.1.4 Asignación de entradas y salidas del servodriver ..........................................................................................................................................................251
6.1.5 Búsqueda de origen .......................................................................................................................................................................................................253
6.1.6 Registro ..........................................................................................................................................................................................................................259
6.1.7 Seguimiento y monitorización ........................................................................................................................................................................................269
6.2 Ejemplos prácticos........................................................................................................................................................................................................................279
6.2.1 Programa shell ..............................................................................................................................................................................................................279
6.2.2 Programa de inicialización ...........................................................................................................................................................................................283
6.2.3 Programa de un solo eje ..............................................................................................................................................................................................286
6.2.4 Posición con detección de producto ..............................................................................................................................................................................287
6.2.5 Posición en una cuadrícula ...........................................................................................................................................................................................289
6.2.6 Programa de alimentador de bolsas ..............................................................................................................................................................................291
6.2.7 Tabla CAM en un programa ........................................................................................................................................................................................293
6.2.8 Programa de sierra pendular ........................................................................................................................................................................................295
6.2.9 Programa de corrección ..............................................................................................................................................................................................298
7 Detección y corrección de errores..........................................................................................................................................................300
7.1 Tensión y herramientas de análisis ..............................................................................................................................................................................................300
7.2 TJ1-MC__ .....................................................................................................................................................................................................................................300
Revision 3.0
MANUAL DE PROGRAMACIÓN 14
7.2.1 Errores de sistema .........................................................................................................................................................................................................300
7.2.2 Errores de eje.................................................................................................................................................................................................................300
7.2.3 Errores de unidad...........................................................................................................................................................................................................301
7.2.4 Errores de configuración ................................................................................................................................................................................................302
7.2.5 Sustituya la batería.........................................................................................................................................................................................................302
Contenido
7.3 TJ1-PRT .......................................................................................................................................................................................................................................302
7.3.1 Errores de sistema .........................................................................................................................................................................................................302
7.3.2 Problemas de comunicaciones de datos de E/S............................................................................................................................................................303
7.4 TJ1-DRT .......................................................................................................................................................................................................................................304
7.4.1 Errores de sistema .........................................................................................................................................................................................................304
7.4.2 Problemas de comunicaciones de datos de E/S............................................................................................................................................................304
7.5 TJ1-ML__......................................................................................................................................................................................................................................304
7.5.1 Errores de sistema .........................................................................................................................................................................................................304
7.5.2 Error de bus....................................................................................................................................................................................................................304
7.6 TJ1-FL02 ......................................................................................................................................................................................................................................305
7.6.1 Errores de sistema .........................................................................................................................................................................................................305
Revision 3.0
MANUAL DE PROGRAMACIÓN 15
Advertencias y precauciones de seguridad
1 Advertencias y precauciones de seguridad

1.1 Perfil 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.2 Precauciones 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.3 Precauciones 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ÓN 16
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.4 Precauciones 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ÓN 17
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.5 Precauciones 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ÓN 18
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ÓN 19
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ÓN 20
Advertencias y precauciones de seguridad

1.6 Precauciones 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ÓN 21
Sistema Trajexia
2 Sistema Trajexia

2.1 Introducció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ÓN 22
Sistema Trajexia
2.1.1 Hardware 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.2 Este 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.2 Programació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ÓN 23
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.3 Programació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.1 Instrucciones 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ÓN 24
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.3 Estructuras 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ÓN 25
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:
/i
inicio: GOSUB inicial VR(longitud) = x ... ...
inicio: GOSUB inicial MOVE(VR(longitud)) PRINT(VR(longitud)) ...
Etiquetas
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ÓN 26
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.4 Especificaciones 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:
>> TABLE(0,-10,65536) >> PRINT HEX(TABLE(0)),HEX(TABLE(1)) FFFFF6 10000
Posicionamiento
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ÓN 27
Sistema Trajexia

2.4 Ejecució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.1 Generador 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ÓN 28
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.2 Secuencia
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.3 Carga 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ÓN 29
Sistema Trajexia

2.5 Interfaz 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.6 Programas 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.1 Gestió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
Comando Función
SELECT Selecciona un programa para editarlo, eliminarlo, etc.
NEW Elimina el programa seleccionado, un programa especificado o todos los
programas.
DIR Enumera el directorio de todos los programas.
COPY Duplica un programa especificado.
RENAME Cambia el nombre de un programa especificado.
DEL Elimina el programa seleccionado actual o un programa especificado.
LIST Enumera el programa seleccionado actual o un programa especificado.
MANUAL DE PROGRAMACIÓN 30
Sistema Trajexia
2.6.2 Compilacion 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.3 Ejecució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
Comando Función
RUN Ejecuta el programa seleccionado actual o un programa especificado,
opcionalmente en un número de tarea especificado.
Revisión 3.0
MANUAL DE PROGRAMACIÓN 31
STOP Para el programa seleccionado actual o un programa especificado.
HALT Para todos los programas del sistema.
PROCESS Muestra 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ÓN 32
Comandos BASIC
3 Comandos BASIC

3.1 Categorí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.1 Comandos de eje
/i
Nombre Descripció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
Nombre Descripció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ÓN 33
Comandos BASIC
Nombre Descripció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.2 Parámetros de eje
/i
Nombre Descripció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
.
Nombre Descripció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ÓN 34
Comandos BASIC
Nombre Descripció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
Nombre Descripció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ÓN 35
Comandos BASIC
Nombre Descripció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.3 Comandos y parámetros de comunicaciones
/i
Nombre Descripció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.4 Constantes
/i
Nombre Descripció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.5 Comandos, funciones y parámetros de E/S
/i
Nombre Descripció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ÓN 36
Comandos BASIC
3.1.6 Funciones y operandos matemáticos
/i
Nombre Descripció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.
Nombre Descripció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.7 Comandos de programa
/i
Nombre Descripció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ÓN 37
Comandos BASIC
Nombre Descripció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.8 Comandos de control de programa
/i
Nombre Descripció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.
Nombre Descripció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.9 Parámetros y modificadores de slot
/i
Nombre Descripció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
Nombre Descripció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ÓN 38
Comandos BASIC
Nombre Descripció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.
Nombre Descripción RESET SCOPE
SET_BIT TABLE TABLEVALUES TIME$ TRIGGER VR VRSTRING
WA
WAIT IDLE
WAIT LOADED
WAIT UNTIL
3.1.11 Parámetros del sistema
/i
Nombre Descripció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ÓN 39
Comandos BASIC
Nombre Descripció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
Nombre Descripció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ÓN 40
Comandos BASIC

3.2 Todos los comandos BASIC

3.2.1 + (suma)
/i
Tipo Función matemática
Sintaxis expresió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.
Ejemplo resultado = 4 + 3
Asigna el valor 7 a la variable resultado.
Consulte también
3.2.2 – (resta)
/i
Tipo Función matemática
Sintaxis expresión1 – expresión2
Descripción El operador – resta expresión2 a expresión1.
Argumentos expresión1
Ejemplo resultado = 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
Tipo Función matemática
Sintaxis expresió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.
Ejemplo resultado = 3 * 7
Asigna el valor 21 a la variable resultado.
Consulte también
N/D
3.2.4 / (división)
/i
Tipo Función matemática
Sintaxis expresió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.
Ejemplo resultado = 11/4
Asigna el valor 2,75 a la variable resultado.
Consulte también
N/D
MANUAL DE PROGRAMACIÓN 41
Comandos BASIC
3.2.5 ^ (potencia)
/i
Tipo Función matemática
Sintaxis expresió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.
Ejemplo resultado = 2^5
Esto asigna el valor 32 a la variable resultado.
Consulte también
N/D
3.2.6 = (es igual a)
/i
Tipo Función matemática
Sintaxis expresió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.
Ejemplo IF 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
Tipo Función matemática
Sintaxis variable = 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.
Ejemplo var = 18
Asigna el valor 18 a la variable var.
Consulte también
N/D
3.2.8 <> (no es igual a)
/i
Tipo Función matemática
Sintaxis expresió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.
Ejemplo IF 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ÓN 42
Comandos BASIC
3.2.9 > (es mayor que)
/i
Tipo Función matemática
Sintaxis expresió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.
Ejemplo IF 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
Tipo Función matemática
Sintaxis expresió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
Tipo Función matemática
Sintaxis expresió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.
Ejemplo IF 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
Tipo Función matemática
Sintaxis expresió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.
Ejemplo IF 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.
Ejemplo IF 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ÓN 43
Comandos BASIC
3.2.13 $ (entrada hexadecimal)
/i
Tipo Comando 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
Tipo Comando 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
Tipo Comando 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
Ejemplo PRINT "ESTA LÍNEA": GET bajo : PRINT "REALIZA TRES ACCIONES"
Consulte también
N/D
3.2.16 #
/i
Tipo Cará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
Ejemplo PRINT #1,"RS232"
PRINT #2,"Puerto 2"
Ejemplo IF KEY #1 THEN GET #1,k
Comprobar teclado en el puerto RS232
Consulte también
N/D
Revisión 3.0
MANUAL DE PROGRAMACIÓN 44
Comandos BASIC
3.2.17 ABS
/i
Tipo Función matemática
Sintaxis ABS(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.
Ejemplo IF ABS(A) > 100 THEN PRINT "A está fuera del rango –100 ... 100"
Consulte también
N/D
3.2.18 ACC
/i
Tipo Comando de eje
Sintaxis ACC(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.
Ejemplo ACC(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
Tipo Parámetro de eje
Sintaxis ACCEL = 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
Ejemplo BASE(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
Tipo Función matemática
Sintaxis ACOS(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ÓN 45
Comandos BASIC
3.2.21 ADD_DAC
/i
Tipo Sintaxis Descripción
Argumentos
Ejemplo BASE(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.
Ejemplo BASE(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
Tipo Comando de eje Sintaxis ADDAX(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ÓN 46
Comandos BASIC
Ejemplo FORWARD ' 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
Tipo Parámetro de eje (sólo lectura)
Sintaxis ADDAX_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
Tipo Parámetro de sistema
Sintaxis AIN(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
Ejemplo MOVE(-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
Tipo Operación matemática Sintaxis expresión1 AND expresión2
MANUAL DE PROGRAMACIÓN 47
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.
Ejemplo VR(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.
Ejemplo IF MPOS AXIS(0) > 0 AND MPOS AXIS(1) > 0 THEN GOTO ciclo1 Consulte
también
N/D
3.2.26 AOUT
/i
Tipo Parámetro de sistema
Sintaxis AOUT(canal_analógico)
Descripción
Argumentos canal_analógico
Revisión 3.0
Ejemplo No 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
Tipo Función matemática
Sintaxis ASIN(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
Tipo Función matemática
Sintaxis ATAN(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
Tipo Función matemática
Sintaxis ATAN2(expresión1,expresión2)
MANUAL DE PROGRAMACIÓN 48
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
Tipo Parámetro de eje Sintaxis ATYPE = valor Descripción
Argumentos N/D Ejemplo ATYPE 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 AXIS Valor ATYPE Unidad TJ1 aplicable
Virtual 0 Todas
.
Posición de Mechatro 40 TJ1-ML__ (unidad maestra
MECHATROLINK-II)
Velocidad Mechatro 41 TJ1-ML__
Par de Mechatro 42 TJ1-ML__
Eje flexible salida paso a paso 43 TJ1-FL02
Servoeje flexible 44 TJ1-FL02
Salida de encoder de eje flexible 45 TJ1-FL02
Eje flexible Encoder Tamagawa absoluto
Eje flexible encoder EnDat absoluto 47 TJ1-FL02
Eje flexible encoder SSI absoluto 48 TJ1-FL02
46 TJ1-FL02
3.2.31 AUTORUN
/i
Tipo Comando de programa
Sintaxis AUTORUN
Descripción El comando AUTORUN inicia todos los programas que se han configurado
para ejecutarse al inicio.
Argumentos N/D
Ejemplo No hay ejemplo.
Consulte también
RUNTYPE
3.2.32 AXIS
/i
Tipo Comando de sistema Sintaxis AXIS(número_eje)
MANUAL DE PROGRAMACIÓN 49
Comandos BASIC
Descripción
Argumentos
Ejemplo BASE(0)
Ejemplo MOVE(300) AXIS(0) Ejemplo REPDIST AXIS(1) = 100 Consulte
también
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
Tipo Parámetro de eje Sintaxis AXIS_DISPLAY = valor Descripción
Argumentos N/D Ejemplo AXIS_DISPLAY AXIS(2) = 2
Consulte también
/i
AXIS_DISPLAY valor 0 1 2 3
A0 REG 0 AUX IN OUT 0 ENCODER A A1 REG 1 ENCODER Z OUT 1 ENCODER B
Revisión 3.0
B0 REG 0 AUX IN OUT 0 ENCODER A B1 REG 1 ENCODER Z OUT 1 ENCODER 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
Tipo Parámetro de eje Sintaxis AXIS_ENABLE = ON/OFF Descripción
Argumentos N/D Ejemplo AXIS_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
Tipo Parámetro de eje (sólo lectura) Sintaxis AXISSTATUS Descripción
Argumentos N/D Ejemplo IF (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ÓN 50
Comandos BASIC
/i
Número De bit
0– 1-
1 Advertencia de error de seguimiento 2 W
2
3 Alarma de servodriver 8 M
4 Límite de marcha directa 16 F
5 Límite de marcha inversa 32 R
6 Buscando origen 64 D
7 Entrada de retención de realimentación 128 H
8 Límite de error de seguimiento 256 E
9 Límite de software de marcha directa 512 X
10 Límite de software de marcha inversa 1.024 Y
11 Cancelación de movimiento 2.048 C
12 Sobrevelocidad de salida de encoder 4.096 O
Descripción Valor Cará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).
Ejemplo No hay ejemplo.
Consulte también
N/D
3.2.37 BASE
/i
Tipo Comando de eje
Sintaxis BASE
BASE(eje_1 [, eje_2 [, eje_3 [, eje_4 [, eje_...]]]]) BA BA(eje_1 [, eje_2 [, eje_3 [, eje_4 [, eje_...]]]])
Tipo Comando de eje
Sintaxis
Descripción
Revisión 3.0
B_SPLINE(tipo, entrada_datos, entrada_número, salida_datos, nº expansión)
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ÓN 51
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.
Ejemplo BASE(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.
Ejemplo BASE(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
Tipo Comando de sistema
Sintaxis BASICERROR
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ÓN 52
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
Tipo Parámetro de sistema (sólo lectura)
Sintaxis BATTERY_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
Ejemplo No hay ejemplo.
Consulte también
Revisión 3.0
N/D
3.2.40 BREAK_RESET
/i
Tipo Comando de sistema
Sintaxis BREAK_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.
Ejemplo BREAK_RESET "pruebasimple"
Quitará todos los puntos de ruptura del programa pruebasimple.
Consulte también
N/D
3.2.41 CAM
/i
Tipo Comando de eje
Sintaxis CAM(punto_inicial, punto_final, multiplicador_tabla, distancia)
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ÓN 53
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.
.
Posición de TABLE Grados Valor
100
2201.103
3403.340
4606.500
5 80 10.263
6 100 14.236
7 120 18.000
8 140 21.160
9 160 23.396
10 180 24.500
11 200 24.396
12 220 23.160
13 240 21.000
14 260 18.236
15 280 15.263
16 300 12.500
17 320 10.340
18 340 9.103
19 360 9.000
/i
MANUAL DE PROGRAMACIÓN 54
Comandos BASIC
3.2.42 CAMBOX
/i
Tipo Comando de eje
Sintaxis CAMBOX(punto_inicial, punto_final, multiplicador_tabla,
distancia_vínculo, eje_vínculo [, opción_vínculo [, posición_vínculo ]])
Descripción
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.
Ejemplo No hay ejemplo.
Consulte también
/i
Valor de opción_vínculo
1
2 El 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).
4 CAMBOX 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
5 Combinación de las opciones 1 y 4.
6 Combinación de las opciones 2 y 4.
REP_OPTION (REP_OPTION = REP_OPTION OR 2).
MANUAL DE PROGRAMACIÓN 55
Comandos BASIC
3.2.43 CANCEL
/i
Tipo Comando de eje Sintaxis CANCEL[(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 Ejemplo FORWARD
WA(10000) CANCEL
Ejemplo MOVE(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
Tipo Parámetro de sistema (sólo lectura)
Sintaxis CHECKSUM
Descripción
Argumentos N/D
Ejemplo No 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
Tipo Comando de E/S
Sintaxis CHR(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ÓN 56
Comandos BASIC
3.2.46 CLEAR
/i
Tipo Comando de sistema
Sintaxis CLEAR
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
Ejemplo No hay ejemplo.
Consulte también
RESET, VR
3.2.47 CLEAR_BIT
/i
Tipo Comando de sistema
Sintaxis CLEAR_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.
Ejemplo No hay ejemplo.
Consulte también
READ_BIT, SET_BIT, VR
.
3.2.48 CLEAR_PARAMS
/i
Tipo Comando de sistema
Sintaxis CLEAR_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
Ejemplo No hay ejemplo.
Consulte también
N/D
3.2.49 CLOSE_WIN
/i
Tipo Parámetro de eje
Sintaxis CLOSE_WIN
CW
Descripción
Argumentos N/D
Ejemplo No 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
Tipo Parámetro de eje
Sintaxis CLUTCH_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
Ejemplo CLUTCH_RATE = 4
Este ajuste implica que al indicar CONNECT(4,1) se tardará un segundo en alcanzar la conexión completa.
MANUAL DE PROGRAMACIÓN 57
Comandos BASIC
Consulte también
AXIS, CONNECT, MOVELINK
.
3.2.51 COMMSERROR
/i
Tipo Parámetro de sistema (sólo lectura)
Sintaxis COMMSERROR
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
Ejemplo No hay ejemplo.
Consulte también
/i
Bit Descripción Ubicación del error
8 Datos Rx de puerto 1 preparados Puerto serie 1
9 Desbordamiento de Rx de puerto 1 Puerto serie 1
10 Error de paridad de puerto 1 Puerto serie 1
11 Error de trama Rx de puerto 1 Puerto serie 1
12 Datos Rx de puerto 2 preparados Puerto serie 2
13 Desbordamiento de Rx de puerto 2 Puerto serie 2
14 Error de paridad de puerto 2 Puerto serie 2
15 Error de trama Rx de puerto 2 Puerto serie 2
N/D
3.2.52 COMMSTYPE
/i
Tipo Parámetro de entrada
Sintaxis COMMSTYPE 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__.
Ejemplo No hay ejemplo.
Consulte también
/i
Valor de devolución
0 Unidad no utilizada
31 TJ1-ML__
33 TJ1-FL02
34 TJ1-PRT
35 TJ1-DRT
N/D
Descripción
3.2.53 COMPILE
/i
Tipo Comando de programa
Sintaxis COMPILE
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
Ejemplo No hay ejemplo.
Consulte también
N/D
MANUAL DE PROGRAMACIÓN 58
Comandos BASIC
3.2.54 CONNECT
/i
Tipo Comando de eje
Sintaxis CONNECT(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
Tipo Comando de sistema
Sintaxis CONSTANT "nombre", valor
Descripción
Argumentos •nombre
Ejemplo CONSTANT "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
Tipo Parámetro de sistema (sólo lectura)
Sintaxis CONTROL
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.
MANUAL DE PROGRAMACIÓN 59
Comandos BASIC
Argumentos N/D
Ejemplo No hay ejemplo.
Consulte también
N/D
3.2.57 COPY
/i
Tipo Comando de programa
Sintaxis COPY nombre_programa nuevo_nombre_programa
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
Tipo Parámetro de eje Sintaxis CREEP Descripción
Argumentos N/D Ejemplo BASE(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.
CREEP = 10 SPEED = 500 DATUM(4) CREEP AXIS(1) = 10 SPEED AXIS(1) = 500 DATUM(4) AXIS(1)
AXIS, DATUM, UNITS
CREEP
CREEP
.
contiene la velocidad a marcha lenta del eje.
puede tener cualquier valor positivo, incluido 0.
3.2.58 COS
/i
Tipo Función matemática Sintaxis COS(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ÓN 60
3.2.60 D_GAIN
/i
Tipo Parámetro de eje Sintaxis D_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 Ejemplo No hay ejemplo. Consulte
también
AXIS, I_GAIN, OV_GAIN, P_GAIN, VFF_GAIN
.
3.2.61 D_ZONE_MAX
/i
Tipo Parámetro de sistema
Sintaxis D_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
Ejemplo D_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
Tipo Parámetro de sistema
Sintaxis D_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
Ejemplo D_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
Tipo Parámetro de eje Sintaxis DAC_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.
Argumentos N/D Ejemplo DAC_SCALE AXIS(3) = –16 Consulte
también
DAC, S_REF
.
MANUAL DE PROGRAMACIÓN 61
Comandos BASIC
3.2.66 DATE
/i
Tipo Parámetro de sistema
Sintaxis DATE
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
Ejemplo DATE = 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
Tipo Comando de sistema
Sintaxis DATE$
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
Ejemplo PRINT #1,DATE$
Por ejemplo, se imprimirá la fecha con el formato: 20/10/05
3.2.68 DATUM
/i
Tipo Comando de eje
Sintaxis DATUM(secuencia)
Descripción
Argumentos secuencia
Ejemplo No 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.
Consulte la siguiente tabla.
ACCEL, AXIS, AXISSTATUS, CREEP, DATUM_IN, DECEL MOTION_ERROR, SPEED
DATUM
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ÓN 62
Comandos BASIC
Valor de secuencia
0 El comando DATUM(0) borrará el error de Motion Control. La posición medida
1 El eje se mueve a la velocidad de marcha lenta hacia delante hasta que se
2 El 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
Tipo Parámetro de eje Sintaxis DATUM_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ÓN 63
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.
Argumentos N/D Ejemplo DATUM_IN AXIS(0) = 5 Consulte
también
3.2.70 DAY
/i
Tipo Parámetro de sistema Sintaxis DAY Descripción Devuelve el día actual como un número de 0 a 6; el domingo es 0.
Argumentos N/D Ejemplo >>DAY = 3
Consulte también
3.2.71 DAY$
/i
Tipo Comando de sistema Sintaxis DAY$ Descripción Imprime el día actual como una cadena. Argumentos N/D Ejemplo >>DAY = 3
Revisión 3.0
Consulte también
AXIS, DATUM
DAY se puede establecer mediante asignación.
>>? DAY
3.0000
N/D
>>? DAY$ Miércoles
N/D
.
3.2.72 DECEL
/i
Tipo Parámetro de eje Sintaxis DECEL Descripción El parámetro de eje DECEL contiene la velocidad de deceleración de eje.
La velocidad se establece en unidades/s cualquier valor positivo, incluido 0.
Argumentos N/D Ejemplo DECEL = 100 ' Establecer la velocidad de deceleración
PRINT " La velocidad de deceleración es ";DECEL;" mm/s/s"
Consulte también
ACCEL, AXIS, UNITS
.
2
. El parámetro puede tener
3.2.73 DEFPOS
/i
Tipo Comando de eje Sintaxis DEFPOS(pos_1 [, pos_2 [, pos_3 [, pos_4 [, ...]]]])
DP(pos_1 [, pos_2 [, pos_3 [, pos_4 [, ...]]]])
Descripción
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ÓN 64
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.
Ejemplo BASE(2)
DATUM(5) BASE(1) DATUM(4) WAIT IDLE DEFPOS(–1.000,–3.500)
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
Tipo Comando de programa
Sintaxis DEL [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
Tipo Parámetro de eje (sólo lectura)
Sintaxis DEMAND_EDGES
Descripción El parámetro de eje DEMAND_EDGES contiene el valor actual del parámetro
de eje DPOS en unidades de flanco de encoder.
Argumentos N/D
Ejemplo No hay ejemplo.
Consulte también
AXIS, DPOS
.
3.2.76 DEVICENET
/i
Tipo Comando de sistema
Sintaxis DEVICENET(número_unidad, 2, 1, salidas_inicio_VR, número_salidas,
entradas_inicio_VR, número_entradas) DEVICENET(número_unidad, 4, 0)
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ÓN 65
Comandos BASIC
Ejemplo DEVICENET (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
Bit Valor Descripción
00 DEVICENET (número_unidad, 2, ...) no se ha ejecutado todavía
1 DEVICENET (número_unidad, 2, ...) se ha ejecutado sin errores
1 0 Sin conexión de E/S de DeviceNet
1 Conexión de E/S de DeviceNet en funcionamiento
2 0 Las variables VR del rango de datos de salida se han actualizado
1 Las variables VR del rango de datos de salida todavía no se han
actualizado
3 0 El tamaño de conexión de E/S de DeviceNet coincide con
el comando DEVICENET (número_unidad, 2,…)
1 El tamaño de conexión de E/S de DeviceNet no coincide con
el comando DEVICENET (número_unidad, 2,…)
4-7 0 Siempre cero
8 0 Alimentación de red correcta
1 Fallo de alimentación de red
9 0 No se ha producido BUSOFF
1 Se ha producido BUSOFF
10 0 Sin error de duplicación de dirección de nodo
1 Error de duplicación de dirección de nodo
Revisión 3.0
MANUAL DE PROGRAMACIÓN 66
Comandos BASIC
3.2.77 DIR
/i
Tipo Comando de programa
Sintaxis DIR
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
Ejemplo No hay ejemplo.
Consulte también
FREE, POWER_UP, PROCESS, RUNTYPE, SELECT
.
3.2.78 DISABLE_GROUP
/i
Tipo Comando de eje Sintaxis DISABLE_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.
Ejemplo DISABLE_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
Tipo Parámetro de sistema Sintaxis DISPLAY = 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 Ejemplo DISPLAY = 5
Muestra las salidas 8-15.
Consulte también
N/D
/i
valor Descripción
0 Entradas 0 a 7 (predeterminado)
Revisión 3.0
1 Entradas 8 a 15 2 Entradas 16 a 23 3 Entradas 24 a 31
MANUAL DE PROGRAMACIÓN 67
Comandos BASIC
valor Descripción
4 Salidas 0 a 7 (no se utilizan en Trajexia) 5 Salidas 8 a 15 6 Salidas 16 a 23 7 Salidas 24 a 31
3.2.80 DPOS
/i
Tipo Parámetro de eje (sólo lectura)
Sintaxis DPOS
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
Tipo Comando de eje
Sintaxis DRIVE_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.
Ejemplo IF 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ÓN 68
Comandos BASIC
3.2.82 DRIVE_CLEAR
/i
Tipo Comando de eje
Sintaxis DRIVE_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
Ejemplo No 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
Ejemplo DRIVE_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ódigo Descripción
2 Error de seguimiento (se trata del FE real cuando se utiliza ATYPE = 40)
8 Velocidad de realimentación (con Atype = 41 unidades = velocidad máx./
9 Velocidad de comando (unidades iguales a velocidad de realimentación)
10 Velocidad objetivo (unidades iguales a velocidad de realimentación)
11 Referencia de par (fuerza) (con Atype = 42 unidades = par máx./40000000H,
14 Monitorización seleccionada con Pn813.0.
15 Monitorizació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
Tipo Parámetro de eje
Sintaxis DRIVE_CONTROL
Descripción
Revisión 3.0
MANUAL DE PROGRAMACIÓN 69
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
Tipo Parámetro de eje Sintaxis DRIVE_INPUTS Descripción
Argumentos N/D Ejemplo Todas las entradas se pueden monitorizar en este canal del modo que
Ejemplo Todas las entradas se pueden monitorizar en este canal del modo que
Consulte también
/i
Número de bit
0P_OT P_OT 1N_OT N_OT
Revisión 3.0
2 Señal DEC (se selecciona con Pn511.0) /DEC 3 Fase A de encoder N/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-II Descripción
. Se trata de un canal de operación de bits con los bits
de Junma
Número de bit
4 Fase B de encoder N/C 5 Fase C de encoder N/C 6 Señal EXT1 (se selecciona con Pn511.1) /EXT1 7 Señal EXT2 (se selecciona con Pn511.2) N/C 8 Señal EXT3 (se selecciona con Pn511.3) N/C 9 Salida de freno BRK /BK 10 Reservado E_STP 11 R eser vado N/C 12 IO12 (señal de entrada CN1 seleccionada en Pn81E.0) N/C 13 IO13 (señal de entrada CN1 seleccionada en Pn81E.1) N/C 14 IO14 (señal de entrada CN1 seleccionada en Pn81E.2) N/C 15 IO15 (señal de entrada CN1 seleccionada en Pn81E.3) N/C
Descripción de Sigma-II Descripción
de Junma
3.2.85 DRIVE_MONITOR
/i
Tipo Parámetro de eje
Sintaxis DRIVE_MONITOR
Descripción
Argumentos N/D
Ejemplo No 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ÓN 70
Comandos BASIC
3.2.86 DRIVE_READ
/i
Tipo Comando de eje Sintaxis DRIVE_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 MECHATROLINK­II. 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.
Ejemplo IF 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
Tipo Comando de eje
Sintaxis DRIVE_RESET
Descripción El comando DRIVE_RESET realiza el reset del servodriver conectado
mediante el bus MECHATROLINK-II.
Argumentos N/D
Ejemplo No 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ÓN 71
Comandos BASIC
3.2.88 DRIVE_STATUS
/i
Tipo Parámetro de eje (sólo lectura)
Sintaxis DRIVE_STATUS
Descripción
Argumentos N/D
Ejemplo PRINT DRIVE_STATUS AXIS(4)
Ejemplo BASE(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 = 44 IF (DRIVE_STATUS AND 32) = 32 THEN PRINT "La entrada REG 0 está en ON para el eje (3)"
ENDIF
AXIS, MARK, MARKB, REGIST
Bit Descripción (MECHATROLINK-II)
5 Bloqueo de máquina
6 Posición de inicio
7 En posición/velocidad
8 Salida finalizada
9 Límite de par
10 Registro finalizado
11 En límite de rango/velocidad
/i
Bit Descripción (eje flexible)
0MARK
1 MARKB
2 Valor actual seleccionado de REG-0
3 Valor actual seleccionado de REG-1
4 Valor actual de AUX IN
5 Valor actual de REG 0
6 Valor actual de REG 1
.
/i
Bit Descripción (MECHATROLINK-II)
0 Alarma
1 Advertencia
2Listo
Revisión 3.0
3Servo ON
4 Alimentación conectada
MANUAL DE PROGRAMACIÓN 72
Comandos BASIC
3.2.89 DRIVE_WRITE
/i
Tipo Comando de eje Sintaxis DRIVE_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.
Ejemplo IF 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
Tipo Comando de programa Sintaxis EDIT [ 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. Ejemplo No 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ÓN 73
Comandos BASIC
3.2.93 ENCODER
/i
Tipo Parámetro de eje (sólo lectura)
Sintaxis ENCODER
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
Ejemplo No hay ejemplo.
Consulte también
AXIS, MPOS
.
3.2.94 ENCODER_BITS
/i
Tipo Parámetro de eje
Sintaxis ENCODER_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.
Ejemplo ENCODER_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
Tipo Parámetro de eje
Sintaxis ENCODER_CONTROL = valor
Descripción
Argumentos N/D
Ejemplo ENCODER_CONTROL AXIS(1) = 0
Ejemplo ENCODER_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
Ejemplo ENCODER_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ÓN 74
Comandos BASIC
3.2.96 ENCODER_ID
/i
Tipo Parámetro de eje (sólo lectura) Sintaxis ENCODER_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
Tipo Parámetro de eje
Sintaxis ENCODER_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.
Ejemplo ENCODER_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
Tipo Comando de eje
Sintaxis ENCODER_READ(dirección)
Descripción
Argumentos dirección
Ejemplo VR(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ÓN 75
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ÓN 76
Comandos BASIC
3.2.103 ENDMOVE
/i
Tipo Parámetro de eje
Sintaxis ENDMOVE
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
Ejemplo No hay ejemplo.
Consulte también
AXIS, DPOS, FE_LIMIT, UNITS
.
3.2.104 EPROM
/i
Tipo Comando de programa
Sintaxis EPROM
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
Ejemplo No hay ejemplo.
Revisión 3.0
Consulte también
POWER_UP, RUNTYPE
.
3.2.105 ERROR_AXIS
/i
Tipo Parámetro de sistema (sólo lectura)
Sintaxis ERROR_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
Ejemplo No hay ejemplo.
Consulte también
AXISSTATUS, ERRORMASK, MOTION_ERROR, WDOG
.
3.2.106 ERROR_LINE
/i
Tipo Parámetro de tarea (sólo lectura)
Sintaxis ERROR_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ÓN 77
Comandos BASIC
3.2.107 ERRORMASK
/i
Tipo Parámetro de eje
Sintaxis ERRORMASK
Descripción
Argumentos N/D
Ejemplo No 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
ERRORMASK
AND
bit a bit con el parámetro de eje
contiene un valor de máscara al que se
MOTION_ERROR
AXISSTATUS
tendrá el valor 1 y el parámetro
.
en
WDOG
3.2.108 ETHERNET
/i
Tipo Comando de sistema
Sintaxis ETHERNET(función, número_unidad, parámetro [,valores])
Descripción El comando ETHERNET se utiliza para leer y establecer determinadas
funciones de las comunicaciones Ethernet. El comando ETHERNET se debe introducir en la línea de comandos con Trajexia Tools en modo
)
Argumentos función
Ejemplo ETHERNET(1,-1,0,192,200,185,2)
Consulte también
desconectado a través del puerto serie 0. Nota: tendrá que apagar y encender el Trajexia para activar los nuevos parámetros.
0 = lectura, 1 = escritura.
número_unidad
–1.
parámetro
0 = dirección IP; 2 = máscara de subred; 3 = dirección MAC;
8 = gateway; 11 = caché ARP (sólo lectura).
Valores
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ÓN 78
Comandos BASIC
3.2.109 EX
/i
Tipo Comando de sistema
Sintaxis EX[(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
Ejemplo No hay ejemplo.
Consulte también
N/A
3.2.110 EXP
/i
Tipo Función matemática
Sintaxis EXP(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
Tipo Constante (sólo lectura)
Sintaxis FALSE
Descripción La constante FALSE devuelve el valor numérico 0.
Argumentos N/A
Ejemplo prueba:
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
Tipo Parámetro de eje
Sintaxis FAST_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
Ejemplo No hay ejemplo.
Consulte también
AXIS, FWD_JOG, JOGSPEED, REV_JOG, SPEED
.
MANUAL DE PROGRAMACIÓN 79
Comandos BASIC
3.2.113 FASTDEC
/i
Tipo Parámetro de eje
Sintaxis FASTDEC
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
Ejemplo No hay ejemplo.
Consulte también
N/A
3.2.114 FE
/i
Tipo Parámetro de eje (sólo lectura)
Sintaxis FE
Descripción
Argumentos N/A
Ejemplo No 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
Tipo Parámetro de eje (sólo lectura)
Sintaxis FE_LATCH
Descripción
Argumentos N/A
Ejemplo No 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
Tipo Parámetro de eje
Sintaxis FE_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
Ejemplo No 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ÓN 80
Comandos BASIC
3.2.117 FE_LIMIT_MODE
/i
Tipo Parámetro de eje
Sintaxis FE_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
Ejemplo No 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
Tipo Parámetro de eje
Sintaxis FE_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
Ejemplo No hay ejemplo.
Revisión 3.0
Consulte también
AXIS, AXISSTATUS, ERRORMASK, FE, UNITS
.
3.2.119 FHOLD_IN
/i
Tipo Parámetro de eje
Sintaxis FHOLD_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ÓN 81
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
Ejemplo No hay ejemplo.
Consulte también
AXIS, AXISSTATUS, UNITS
3.2.120 FHSPEED
/i
Tipo Parámetro de eje
Sintaxis FHSPEED
Descripción
Argumentos N/A
Ejemplo No 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.
AXIS, AXISSTATUS, FHOLD_IN, UNITS
.
FHSPEED
contiene la velocidad de retención de
.
FHSPEED
3.2.121 FINS_COMMS
/i
Tipo Comando de comunicaciones
Sintaxis FINS_COMMS(tipo, red, nodo, unidad, área_remota, offset_remoto,
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ÓN 82
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.
Ejemplo Un 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ÓN 83
Comandos BASIC
3.2.122 FLAG
/i
Tipo Comando de sistema
Sintaxis FLAG(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.
Ejemplo FLAG(27,ON)
Pone el bit de indicador 27 en ON.
Consulte también
N/A
3.2.123 FLAGS
/i
Tipo Comando de sistema
Sintaxis FLAGS([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.
Ejemplo FLAGS(146) ' 2 + 16 + 128
Establece los indicadores 1, 4 y 7 en ON y todos los demás en OFF.
Ejemplo IF (FLAGS and 8) <>0 then GOSUB otra_parte
Prueba si se ha establecido el indicador 3.
Consulte también
/i
Número de bit Valor decimal
N/A
01
12
24
38
416
532
664
7128
Revisión 3.0
MANUAL DE PROGRAMACIÓN 84
Comandos BASIC
3.2.124 FOR..TO..STEP..NEXT
/i
Tipo Comando de control de programa
Sintaxis FOR 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
Ejemplo lazo:
FOR dist = 5 TO –5 STEP –0.25 MOVEABS(dist) GOSUB seleccionar NEXT dist
El incremento de STEP puede ser positivo o negativo.
Ejemplo lazo1:
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
.
Ejemplo FOR opnum = 8 TO 13
OP(opnum,ON) NEXT opnum
Este lazo activa las salidas 8 a 13.
Revisión 3.0
MANUAL DE PROGRAMACIÓN 85
Comandos BASIC
3.2.125 FORWARD
/i
Tipo Comando de eje Sintaxis FORWARD
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 Ejemplo inicio:
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
Tipo Parámetro de entrada Sintaxis FPGA_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__.
Ejemplo N/A
Revisión 3.0
Consulte también
N/A
BASE
3.2.127 FRAC
/i
Tipo Función matemática Sintaxis FRAC(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
Tipo Parámetro de sistema Sintaxis FRAME = valor Descripción
Argumentos N/A Ejemplo FRAME = 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ÓN 86
Comandos BASIC
3.2.129 FREE
/i
Tipo Función de sistema Sintaxis FREE 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
Tipo Parámetro de eje Sintaxis FS_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 Ejemplo No hay ejemplo.
Revisión 3.0
Consulte también
AXIS, AXISSTATUS, UNITS
.
3.2.131 FWD_IN
/i
Tipo Parámetro de eje Sintaxis FWD_IN Descripción
Sigma II entrada 28: CN1-40
Sigma III entrada 28: CN1-13
Junma entrada 26: CN1-2
Argumentos N/A Ejemplo No 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ÓN 87
Comandos BASIC
Consulte también
AXIS, AXISSTATUS REV_IN
.
3.2.132 FWD_JOG
/i
Tipo Parámetro de eje Sintaxis FWD_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 Ejemplo No hay ejemplo. Consulte
también
AXIS, FAST_JOG, JOGSPEED, REV_JOG
.
3.2.133 GET
/i
Tipo Comando de E/S Sintaxis GET [#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.
Ejemplo GET#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
0 Puerto de programación 0
1 Puerto 1 comunicación serie RS-232C
2 Puerto 2 comunicación serie RS-422/485
5 Canal de usuario 5 de puerto 0 de Trajexia Tools
6 Canal de usuario 6 de puerto 0 de Trajexia Tools
7 Canal de usuario 7 de puerto 0 de Trajexia Tools
INDEVICE
INDEVICE, INPUT, KEY, LINPUT
Descripción
MANUAL DE PROGRAMACIÓN 88
Comandos BASIC
3.2.134 GLOBAL
/i
Tipo Comando de sistema
Sintaxis GLOBAL "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.
Ejemplo GLOBAL "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
Tipo Comando de control de programa
Sintaxis GOSUB etiqueta
... RETURN
Descripción
Argumentos •etiqueta
Ejemplo principal:
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
Tipo Comando de control de programa
Sintaxis GOTO 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ÓN 89
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.
Ejemplo lazo:
PRINT "Posición medida = ";MPOS;CHR(13);
GOTO lazo
Consulte también
GOSUB..RETURN
3.2.137 HALT
/i
Tipo Comando de sistema Sintaxis HALT 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 Ejemplo No hay ejemplo. Consulte
también
PROCESS, STOP
.
3.2.138 HEX
/i
Tipo Comando de E/S Sintaxis HEX 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
Ejemplo PRINT#5,HEX(IN(8,16)) Consulte
también
N/A
3.2.139 HLM_COMMAND
/i
Tipo Comando 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ÓN 90
Comandos BASIC
Ejemplo HLM_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.
Ejemplo HLM_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.
Ejemplo HLM_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.
Ejemplo HLM_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.
Consulte también
/i
Valor de comando
HLM_MREAD
(o valor 0)
HLM_TEST
(o valor 1)
Revisión 3.0
HLM_ABORT
(o valor 2)
HLM_READ, HLM_COMMAND, HLM_STATUS, HLM_TIMEOUT HLS_NODE, HLM_WRITE, SETCOM
Descripción
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.
Área de datos
Matriz de variables TABLE
Matriz de variables globales (VR)
3.2.140 HLM_READ
/i
Tipo Comando de comunicaciones
,
Sintaxis HLM_READ(puerto, nodo, área_pc, offset_pc, longitud, área_mc,
offset_mc)
Descripción
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ÓN 91
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].
Ejemplo HLM_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 datos Comando Host Link PLC_DM
(o valor 0)
PLC_IR
(o valor 1)
PLC_LR
Revisión 3.0
(o valor 2)
PLC_HR
(o valor 3)
HLM_COMMAND, HLM_STATUS, HLM_TIMEOUT, HLS_NODE HLM_WRITE, SETCOM
.
Área DM RD
Área CIO/IR RR
Área LR RL
Área HR RH
Valor de área_pc Área de datos Comando 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 AR RJ
Área EM RE
Matriz de variables TABLE
Matriz de variables globales (VR)
3.2.141 HLM_STATUS
/i
Tipo Parámetro de comunicaciones
Sintaxis HLM_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ÓN 92
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
Bit Nombre Descripción
0 – 7 Código de fin El código final puede ser el definido por el esclavo Host Link
8 Error de tiempo
9 Comando no
HLM_READ, HLM_COMMAND, HLM_TIMEOUT, HLS_NODE, HLM_WRITE SETCOM
de espera
reconocido
.
(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
Tipo Parámetro de comunicaciones
Sintaxis HLM_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.
Consulte también
HLM_READ, HLM_COMMAND, HLM_STATUS, HLS_NODE HLM_WRITE, SETCOM SERVO_PERIOD
.
,
Revisión 3.0
MANUAL DE PROGRAMACIÓN 93
Comandos BASIC
3.2.143 HLM_WRITE
/i
Tipo Comando de comunicaciones
Sintaxis HLM_WRITE(puerto, nodo, área_pc, offset_pc, longitud, área_mc,
offset_mc)
Descripción
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].
Ejemplo HLM_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.
Consulte también
HLM_READ, HLM_COMMAND, HLM_STATUS, HLM_TIMEOUT, HLS_NODE SETCOM
.
,
/i
Valor de área_pc Área de datos Comando Host Link
Revisión 3.0
PLC_DM
(o valor 0)
PLC_IR
(o valor 1)
PLC_LR
(o valor 2)
Área DM RD
Área CIO/IR RR
Área LR RL
MANUAL DE PROGRAMACIÓN 94
Comandos BASIC
Valor de área_pc Área de datos Comando Host Link
PLC_HR
(o valor 3)
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 HR RH
Área AR RJ
Área EM RE
Matriz de variables de tabla
Matriz de variables globales (VR)
3.2.144 HLS_NODE
/i
Tipo Parámetro de comunicaciones
Sintaxis HLS_NODE
Descripción
Argumentos N/A
Ejemplo No hay ejemplo.
Consulte también
Revisión 3.0
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.
N/A
HLS_NODE
define el número de unidad de esclavo para el
3.2.145 HW_PSWITCH
/i
Tipo Comando de eje
Sintaxis HW_PSWITCH(modo, dirección, estado_salida, inicio_tabla, fin_tabla)
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
Argumentos •modo
0 = desactivar interruptor; 1 = activar y cargar FIFO; 2 = borrar FIFO.
dirección
0 = descendiendo; 1 = ascendiendo.
estado_salida
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.
Ejemplo HW_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).
Ejemplo HW_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ÓN 95
Comandos BASIC
Ejemplo HW_PSWITCH(2)
Este comando borrará la cola FIFO si se ha cargado anteriormente.
Consulte también
AXIS
3.2.146 I_GAIN
/i
Tipo Parámetro de eje
Sintaxis I_GAIN
Descripción
Argumentos N/A
Ejemplo No 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
Tipo Función matemática
Sintaxis IEEE_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.
Ejemplo VR(20) = IEEE_IN(b0,b1,b2,b3)
Consulte también
N/A
3.2.149 IEEE_OUT
/i
Tipo Función matemática
Sintaxis byte_n = IEEE_OUT(valor, n)
Descripción
.
Argumentos valor
.
Ejemplo V = 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.
•n
byte0 = IEEE_OUT(V, 0) byte1 = IEEE_OUT(V, 1) byte2 = IEEE_OUT(V, 2) byte3 = IEEE_OUT(V, 3)
N/A
IEEE_OUT
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ÓN 96
Comandos BASIC
3.2.150 IF..THEN..ELSE..ENDIF
/i
Tipo Comando de control de programa Sintaxis IF 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
Ejemplo IF MPOS > (0.22 * VR(0)) THEN GOTO longitud_superada Ejemplo IF IN(0) = ON THEN
Ejemplo IF 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.
Una expresión lógica.
•comandos
Uno o varios comandos BASIC.
contaje = contaje + 1 PRINT "CONTAJES = ";contaje fallo = 0 ELSE fallo = fallo + 1 ENDIF
OP(8,ON) VR(indicador_ciclo) = 0 ELSEIF IN(inicio_ciclo) = ON THEN VR(indicador_ciclo) = 1 ELSEIF IN(paso1) = ON THEN VR(indicador_ciclo) = 99 ENDIF
ELSEIF
ELSE
se ejecutan los comandos que siguen
o
ENDIF
. Si la condición es
posterior es
o el programa se reanudará en la línea después
ELSE. ENDIF
TRUE
, se ejecutan los comandos
se utiliza para marcar el final del
FALSE
FALSE
, se ejecutarán los
y el comando
Ejemplo IF car_tecla = $31 THEN
GOSUB car_1 ELSEIF car_tecla = $32 THEN GOSUB car_2 ELSEIF car_tecla = $33 THEN GOSUB car_3 ELSE PRINT "Carácter desconocido" ENDIF
Consulte también
N/A
3.2.151 IN
/i
Tipo Función de E/S
Sintaxis IN(número_entrada [, número_entrada_final ])
IN
Descripción La función IN devuelve el valor de las entradas digitales.
IN(número_entrada, número_entrada_final) devolverá la suma binaria del grupo de entradas. Los dos argumentos deben ser menores que 24.
IN(número_entrada) con un valor para número_entrada menor que 32 devolverá el valor del canal concreto.
IN (sin argumentos) devolverá la suma binaria de las primeras 24 entradas (como en IN(0,23)).
Argumentos número_entrada
El número de la entrada para la que se devolverá un valor. Valor: un entero entre 0 y 31.
número_entrada_final El número de la última entrada para la que se devolverá un valor. Valor: un entero entre 0 y 31.
MANUAL DE PROGRAMACIÓN 97
Comandos BASIC
Ejemplo Se pueden utilizar las siguientes líneas para mover la posición establecida
en un thumb wheel multiplicada por un factor. El thumb wheel está conectado a las entradas 4, 5, 6 y 7, y ofrece la salida en BCD.
lazomovimiento: MOVEABS(IN(4,7) * 1.5467) WAIT IDLE GOTO lazomovimiento
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.
Ejemplo En 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
Tipo Parámetro de E/S
Sintaxis INDEVICE
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
Ejemplo No hay ejemplo.
Valor Descripción
0 Puerto de programación 0 (predeterminado)
1 Puerto 1 comunicacion serie RS-232C
2 Puerto 2 comunicación serie RS-422A/485
5 Canal de usuario 5 de puerto 0 de Trajexia Tools
6 Canal de usuario 6 de puerto 0 de Trajexia Tools
7 Canal de usuario 7 de puerto 0 de Trajexia Tools
3.2.153 INITIALISE
/i
Tipo Comando de sistema
Sintaxis INITIALISE
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
Ejemplo No hay ejemplo.
Consulte también
•EX
Revisión 3.0
Consulte también
/i
GET, INPUT, LINPUT, KEY
GET
.
MANUAL DE PROGRAMACIÓN 98
Comandos BASIC
3.2.154 INPUT
/i
Tipo Comando de E/S Sintaxis INPUT [ #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á.
Ejemplo Considere 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
Tipo Función matemática Sintaxis INT(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
Tipo Comando de sistema Sintaxis INVERT_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ÓN 99
Comandos BASIC
3.2.157 INVERT_STEP
/i
Tipo Parámetro de eje
Sintaxis INVERT_STEP
Descripción
Argumentos N/A
Ejemplo No 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
INVERT_STEP
se debe
WDOG = ON
3.2.158 INVERTER_COMMAND
/i
Tipo Comando de sistema
Sintaxis INVERTER_COMMAND(módulo, estación, 7, señales_operación)
INVERTER_COMMAND(módulo, estación, 1, número_alarma)
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
Ejemplo No 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ÓN 100
Loading...