28.08.2013 Views

CNC 8037 T - Manual de programación - Fagor Automation

CNC 8037 T - Manual de programación - Fagor Automation

CNC 8037 T - Manual de programación - Fagor Automation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Manual</strong> <strong>de</strong> <strong>programación</strong><br />

12.4 Sentencias <strong>de</strong> control <strong>de</strong> flujo<br />

Las sentencias GOTO y RPT no pue<strong>de</strong>n ser utilizadas en programas que se ejecutan <strong>de</strong>s<strong>de</strong> un PC<br />

conectado a través <strong>de</strong> una <strong>de</strong> las líneas serie.<br />

( GOTO N(expresión) )<br />

La sentencia GOTO provoca un salto <strong>de</strong>ntro <strong>de</strong>l mismo programa, al bloque <strong>de</strong>finido mediante la<br />

etiqueta N(expresión). La ejecución <strong>de</strong>l programa continuará tras el salto, a partir <strong>de</strong>l bloque<br />

indicado.<br />

La etiqueta <strong>de</strong> salto pue<strong>de</strong> ser direccionada mediante un número o mediante cualquier expresión<br />

que tenga como resultado un número.<br />

G00 X30 Z10 T2 D4<br />

X30 Z20<br />

(GOTO N22) ; Sentencia <strong>de</strong> salto<br />

X20 Z20 ; No se ejecuta<br />

X20 Z10 ; No se ejecuta<br />

N22 G01 X10 Z10 F1000<br />

G02 X0 Z40 I-105 K0<br />

...<br />

; La ejecución continúa en este bloque.<br />

( RPT N(expresión), N(expresión), P(expresión) )<br />

La sentencia RPT ejecuta la parte <strong>de</strong> programa existente entre los dos bloques <strong>de</strong>finidos mediante<br />

las etiquetas N(expresión). Los bloques a ejecutar podrán estar en el programa en ejecución o en<br />

un programa <strong>de</strong> la memoria RAM.<br />

La etiqueta P(expresión) indica el número <strong>de</strong> programa en el que se encuentran los bloques a<br />

ejecutar. Si no se <strong>de</strong>fine, se entien<strong>de</strong> que la parte que se <strong>de</strong>sea repetir se encuentra <strong>de</strong>ntro <strong>de</strong>l<br />

mismo programa.<br />

Todas las etiquetas podrán ser indicadas mediante un número o mediante cualquier expresión que<br />

tenga como resultado un número. La parte <strong>de</strong> programa seleccionado mediante las dos etiquetas<br />

<strong>de</strong>be pertenecer al mismo programa, <strong>de</strong>finiéndose primero el bloque inicial y luego el bloque final.<br />

La ejecución <strong>de</strong>l programa continuará en el bloque siguiente al que se programó la sentencia RPT,<br />

una vez ejecutada la parte <strong>de</strong> programa seleccionada.<br />

i<br />

N10 G00 X10<br />

Z20<br />

G01 X5<br />

G00 Z0<br />

N20 X0<br />

N30 (RPT N10, N20) N3<br />

N40 G01 X20<br />

M30<br />

Al llegar al bloque N30, el programa ejecutará 3 veces la sección N10-N20. Una vez<br />

finalizada, continuará la ejecución en el bloque N40.<br />

Como la sentencia RPT no <strong>de</strong>tiene la preparación <strong>de</strong> bloques ni interrumpe la compensación <strong>de</strong><br />

herramienta, se pue<strong>de</strong> utilizar en los casos en que se utiliza la sentencia EXEC y se necesita mantener<br />

la compensación.<br />

( IF condición ELSE )<br />

Esta sentencia analiza la condición dada, que <strong>de</strong>berá ser una expresión relacional. Si la condición<br />

es cierta (resultado igual a 1), se ejecutará la , y en caso contrario (resultado igual a 0)<br />

se ejecutará la .<br />

Ejemplo:<br />

(IF (P8 EQ 12.8) CALL 3 ELSE PCALL 5, A2, B5, D8)<br />

Si P8=12.8 ejecuta la sentencia (CALL3)<br />

Si P812.8 ejecuta la sentencia (PCALL 5, A2, B5, D8)<br />

12.<br />

SENTENCIAS DE CONTROL DE LOS PROGRAMAS<br />

Sentencias <strong>de</strong> control <strong>de</strong> flujo<br />

<strong>CNC</strong> <strong>8037</strong><br />

MODELO ·T·<br />

SOFT: V01.4X<br />

·235·

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!