4.
CNC 8070
(R
: 1911)
EF
·368·
Si se solicita información de una variable inexistente (por ejemplo la cota de un eje que no
existe) se mostrará un mensaje de error. De la misma manera, si se intenta leer un valor
cuyo rango es mayor al del registro PLC, el CNC devolverá valor cero y mostrará el error
correspondiente. Siempre que se de un error en la lectura de la variable, la marca de
comunicación se quedará a "1".
Sintaxis de las variables en los comandos CNCRD y CNCWR.
Para estos dos comandos, en el mnemónico de la variable se puede definir el número de
canal mediante un número entero, un registro o un símbolo definido mediante DEF o PDEF.
CNCRD ([1].G.FREAL, R10, M1000)
... = MOV 1 R12
CNCRD ([R12].G.FREAL, R10, M1000)
DEF CHANNEL 3
CNCRD ([CHANNEL].G.FREAL, R10, M1000)
Si el mnemónico de la variable contiene sufijos numéricos, por ejemplo (V.).G.GUP[i], éstos
también se podrán definir mediante un número entero, un registro o un símbolo definido
mediante DEF o PDEF.
... = MOV 153 R101
CNCWR (G.GUP[R101], R10, M1000)
DEF PARAM 153
CNCRD (G.GUP[PARAM], R10, M1000)
Consulta de variables síncronas y asíncronas.
Se denominan variables síncronas a las que se resuelven inmediatamente y variables
asíncronas a las que necesitan varios ciclos para resolverse.
• Ejemplo de acceso a variables asíncronas:
<condición> AND NOT M11 = CNCRD (TM.TOOL, R11, M11)
no repetir la consulta mientras no finalice la misma.
DFD M11 AND CPS R11 EQ 3 = ...
esperar a que finalice la consulta para evaluar los datos.
• Ejemplos de acceso a variables síncronas:
<condición> = CNCRD (G.FREAL, R12, M12)
CPS R12 GT 2000 = ...
no hace falta esperar para consultar los datos porque las variables síncronas se
resuelven inmediatamente.
<condición> = CNCWR (R13, PLC.TIMER, M13)
Inicializa el reloj habilitado por el PLC con el valor que contiene el registro R13.
= CNCEX
Ejecución de un bloque de CNC.
Permite ejecutar un bloque de CNC en el canal indicado, incluidas llamadas a subrutinas
o a programas completos. Su funcionamiento es similar a ejecutar un bloque en MDI. Las
restricciones en cuanto a la ejecución de comandos son las mismas que en los bloques MDI.
Su formato de programación es el siguiente.
CNCEX (bloque, marca, canal)
La marca se pone a "1" cuando comienza la operación y se mantiene a dicho valor hasta
que finaliza la misma. Si no se indica el canal, el bloque se ejecuta en el primer canal o canal
principal.
... = CNCEX (G00 X0 Y0, M99, 2)
... = CNCEX (#CALL sub3.nc, M34)
M a n u a l d e i n st a l a c i ó n .