26.14 Comunicación y sincronización entre canales
26.
CANAL 1
G1 F1000
S3000 M3
#FREE AX [Z]
X30 Y0
#CALL AX [Z1,Z2]
X90 Y70 Z1=-30 Z2=-50
#FREE AX [Z1,Z2]
X0
#CALL AX [Z]
G0 X0 Y0 Z0
CNC 8060
M30
CNC 8065
(R
: 1901)
EF
·472·
Cada canal puede ejecutar su propio programa de forma paralela e independiente de otros
canales. Pero además de esto también puede comunicarse con otros canales, pasar
información o sincronizarse en determinados puntos.
La comunicación se realiza en base a una serie de marcas que se gestionan desde los
programas pieza de cada canal. Estas marcas establecen si el canal está a la espera de
sincronizarse, si se puede sincronizar, etc.
Se dispone de dos métodos diferentes de sincronización, cada una de las cuales ofrece una
solución diferente.
• Mediante la sentencia #MEET.
El método más sencillo de sincronización. Detiene la ejecución en todos los canales
implicados para realizar la sincronización.
El conjunto de marcas que se utilizan se inicializan después de ejecutarse M02 ó M30,
después de un reset y en el encendido.
• Mediante las sentencias #WAIT - #SIGNAL - #CLEAR.
Es un método algo más complejo que el anterior pero más versátil. No implica detener
la ejecución en todos los canales para realizar la sincronización.
El conjunto de marcas que se utilizan se mantiene después de ejecutarse M02 ó M30,
después de un reset y en el encendido.
Las marcas de sincronización de ambos métodos son independientes entre sí. Las marcas
gestionadas por la sentencia #MEET ni afectan ni se ven afectadas por el resto de las
sentencias.
Otros modos de sincronizar canales
Los parámetros aritméticos comunes también se pueden utilizar para la comunicación y
sincronización de canales. Mediante la escritura desde un canal y posterior lectura desde
otro de un cierto valor se puede establecer la condición para seguir la ejecución de un
programa.
El acceso desde un canal a las variables de otro canal también sirve como vía de
comunicación.
El intercambio de ejes entre canales también permite sincronizar procesos, ya que canal
no puede coger un eje hasta que no ha sido cedido por otro.
(Libera el eje Z)
(Añade los ejes Z1 y Z2)
(Libera los ejes Z1 y Z2)
(Recupera el eje Z)
Variables de consulta
La información sobre el estado de las marcas de sincronización se puede consultar
mediante las siguientes variables.
• Marca de tipo MEET ó WAIT que espera el canal "n" del canal "m".
V.[n].G.MEETCH[m]
V.[n].G.WAITCH[m]
Sustituir los caracteres "n" y "m" por el número del canal.
CANAL 2
X1=0 Y1=0 Z1=0
G1 F1000
#FREE AX[Z1]
(Libera el eje Z1)
G2 X1=-50 Y1=0 I-25
#CALL AX [Z]
(Añade el eje Z)
G1 X1=50 Z20
#FREE AX[Z]
(Libera el eje Z)
X1=20
#CALL AX [Z1]
(Recupera el eje Z1)
G0 X1=0 Y1=0 Z1=0
M30
M a n u a l d e p r o g r a m a c i ó n .
CANAL 3
G1 F1000
X2=20 Z2=10
#FREE AX[Z2]
(Libera el eje Z2)
X2=100 Y2=50
#CALL AX[Z2]
(Recupera el eje Z2)
G0 X2=0 Y2=0 Z2=0
M30