Man Dds MC System
Man Dds MC System
SISTEMA DDS - MC
Manual
REF. 0406
(SOFT [Link])
Título Sistema DDS - MC
Teléfono: 34-943-719200
Fax: 34-943-771118
(Servicio de asistencia técnica)
DDS - MC
Todos los derechos reservados. No puede reproducirse ninguna parte (SOFT [Link])
de esta documentación, transmitirse, transcribirse, almacenarse en un
sistema de recuperación de datos o traducirse a ningún idioma sin per-
miso expreso de Fagor Automation [Link].
3
Evolución
Versión Hechos
DDS - MC
(SOFT [Link])
4
Documentación relacionada
Selección de productos
Referencia rápida
DDS - MC
(SOFT [Link])
5
Condiciones de garantía
GARANTÍA INICIAL
Todo producto fabricado o comercializado por FAGOR tiene una garantía de 12 meses para el
usuario final.
Para que el tiempo que transcurre entre la salida de un producto desde nuestros almacenes
hasta la llegada al usuario final no juegue en contra de estos 12 meses de garantía, el fabricante
o intermediario debe comunicar a FAGOR el destino, identificación y fecha de instalación de la
máquina a través de la Hoja de Garantía que acompaña a cada producto.
La fecha de comienzo de la garantía para el usuario será la que figura como fecha de insta-
lación de la máquina en la Hoja de Garantía.
FAGOR da un plazo de 12 meses al fabricante o intermediario para la instalación y venta del pro-
ducto, de forma que la fecha de comienzo de garantía puede ser hasta un año posterior a la de sal-
ida del producto de nuestros almacenes, siempre y cuando se nos haya remitido la hoja de garantía.
Esto supone en la practica la extensión de la garantía a dos años desde la salida del producto de los
almacenes de Fagor. En caso de que no se haya enviado la citada hoja, el periodo de garantía final-
izará a los 15 meses desde la salida del producto de nuestros almacenes.
Compete exclusivamente a FAGOR el determinar si la reparación entra dentro del marco definido
como garantía.
CLÁUSULAS EXCLUYENTES
La reparación se realizará en nuestras dependencias. Por tanto, quedan fuera de la citada garantía
todos los gastos de transporte, o los ocasionados en el desplazamiento de su personal técnico para
realizar la reparación de un equipo, aún estando éste dentro del período de garantía antes citado.
La citada garantía se aplicará siempre que los equipos hayan sido instalados de acuerdo con
instrucciones, no hayan sido maltratados o sufrido desperfectos por accidente o negligencia, y no
hayan sido intervenidos por personal no autorizado por FAGOR.
Si una vez realizada la asistencia o reparación, la causa de la avería no es imputable a nuestro pro-
6 ducto, el cliente está obligado a cubrir todos los gastos ocasionados, ateniéndose a las tarifas
vigentes.
Están a disposición del cliente Contratos de Asistencia y Mantenimiento tanto para el periodo de garantía
como fuera de él.
(SOFT [Link])
6
! ! ! índice
Índice general
1. INTRODUCCIÓN ................................................................................................................ 1
Consideraciones generales .............................................................................................. 1
i
! ! ! índice
6. CAM SWITCH..................................................................................................................... 1
9. EJEMPLOS DE PROGRAMACIÓN.................................................................................... 1
Configuración hardware ................................................................................................... 1
Módulo manual del programa de MC ............................................................................... 2
Ejemplo 111...................................................................................................................... 7
Ejemplo 222...................................................................................................................... 8
Ejemplo 333.................................................................................................................... 10
Ejemplo 444.................................................................................................................... 13
Ejemplo 555.................................................................................................................... 15
Ejemplo 666.................................................................................................................... 18
Ejemplo 777.................................................................................................................... 20
Ejemplo 888.................................................................................................................... 22
IV
10. SINCRONIZACIÓN........................................................................................................... 1
Consideraciones iniciales ................................................................................................. 1
Posición del eje maestro .................................................................................................. 1
DDS - MC Relaciones de sincronización ........................................................................................... 2
Sentencias de sincronización ........................................................................................... 8
Efecto de sentencias en el ritmo de ejecución ................................................................. 9
Efecto de las señales de control..................................................................................... 12
(SOFT [Link])
11. INDEX............................................................................................................................... 1
Introducción ...................................................................................................................... 1
Comandos, variables y parámetros.................................................................................. 1
Modo de trabajo................................................................................................................ 4
ii
! ! ! índice
ANEXO 1 .......................................................................................................................... 7
DDS - MC
(SOFT [Link])
iii
! ! ! índice
DDS - MC
(SOFT [Link])
iv
INTRODUCCIÓN
1
Consideraciones generales
(SOFT [Link])
1
! ! ! Introducción
1.
INTRODUCCIÓN
DDS - MC
(SOFT [Link])
2
ENTORNO EDICIÓN DE
PROGRAMAS DE PLC Y MC 2
Introducción
DDS - MC
(SOFT [Link])
1
! ! ! Entorno edición de programas de PLC y MC
DDS - MC
(SOFT [Link])
2
! ! ! Entorno edición de programas de PLC y MC
2.
3
! ! ! Entorno edición de programas de PLC y MC
Modo:
! No se mueve hasta señal (IFAST_INPUT)
! Absoluto
! Relativo
! Movimiento positivo hasta señal (IFAST_INPUT)
! Movimiento negativo hasta señal (IFAST_INPUT)
! No hacer movimiento
2. Enlace entre movimientos:
ENTORNO EDICIÓN DE PROGRAMAS DE PLC Y MC
Edición en la realización de un proyecto
! Velocidad nula
! Velocidad del siguiente bloque
! Espera en 0
! Velocidad del bloque actual
4
! ! ! Entorno edición de programas de PLC y MC
5
! ! ! Entorno edición de programas de PLC y MC
I_LINE_SELECT_1:
I_LINE_SELECT_2:
I_LINE_SELECT_3: Señales de entrada de selección de línea
I_LINE_SELECT_4: de programa.
I_LINE_SELECT_5:
I_LINE_SELECT_6:
O_LINE_1:
O_LINE_2:
O_LINE_3: Salidas lógicas desde línea de programa
O_LINE_4: definidas en cada bloque.
O_LINE_5:
O_PROG_1:
O_PROG_2: Salidas lógicas adicionales programables.
O_PROG_3:
DDS - MC
0: Por esta salida obtenemos siempre un 0 lógico.
(SOFT [Link])
P > Px (TP2) La salida será un 1 lógico si se supera el umbral
de potencia dado por el usuario como una
fracción del valor nominal de la potencia del
motor.
6
! ! ! Entorno edición de programas de PLC y MC
7
! ! ! Entorno edición de programas de PLC y MC
22
Seguidamente, emerge una ventana especificando si se han
producido errores de compilación y warnings. El número de errores
aparece en el cuadro errors.
DDS - MC
(SOFT [Link])
8
! ! ! Entorno edición de programas de PLC y MC
Ejecución
DDS - MC
(SOFT [Link])
9
! ! ! Entorno edición de programas de PLC y MC
DEF N_JOG_POS1 1
DEF N_JOG_POS2 2
DEF N_JOG_NEG1 4
DEF N_JOG_NEG2 8
; plc marks
DEF M_HOME M1
DEF M_CICLE_START M2
DEF M_FAST_INPUT M3
DEF M_NEW_LINE M4
DEF M_INFINITE_MOV M5
DEF M_VEL_MODO_JOG M6
; plc registers
DEF R_LINE R1
DEF R_DIG_OUT R2
DEF B0_R_DIG_OUT B20R2
DEF B1_R_DIG_OUT B21R2
DEF B2_R_DIG_OUT B22R2
22 DEF B3_R_DIG_OUT B23R2
DEF B4_R_DIG_OUT B24R2
10
! ! ! Entorno edición de programas de PLC y MC
; timers
DEF N_T_ENABLES 1
DEF T_ENABLES T1
DEF N_T_START 2
DEF T_START T2
DEF N_T_MOV_END 3 2.
DEF T_MOV_END T3
; sercos vars
DEF N_KERNEL_STOPPED 0
DDS - MC
; mov end state machine
DEF N_MOV_END_0 10
DEF N_MOV_END_1 11
DEF N_MOV_END_2 12
DEF N_MOV_END_3 13 (SOFT [Link])
11
! ! ! Entorno edición de programas de PLC y MC
DEF N_MODE2MAN 3
DEF N_MODE2AUTO 4
DEF N_MODE_STOPPING 5
DEF N_MODE_NO_ENABLES 6
; k_oper_mode values
DEF N_K_MODE_AUTO 0
22 DEF N_K_MODE_MAN 1
CY1
12
! ! ! Entorno edición de programas de PLC y MC
END
PGR
CHANGE_MODE:
CPS R_MODE EQ N_MODE AUTO = JMP MODE_AUTO
CPS R_MODE EQ N_MODE_MAN = JMP MODE_MAN
CPS R_MODE EQ N_MODE2MAN = JMP CHANGING_MODE
CPS R_MODE EQ N_MODE2AUTO = JMP CHANGING_MODE
CPS R_MODE EQ N_MODE_STOPPING = JMP CHANGING_MODE
CPS R_MODE EQ N_MODE_NO_ENABLES = JMP CHANGING_MODE
END
CHANGING_ MODE:
CPS R_CHANGING_MODE EQ N_CHANGE_MODE_1 = JMP CHANGE_MODE_1
CPS R_CHANGING_MODE EQ N_CHANGE_MODE_2 = JMP CHANGE_MODE_2
CPS R_CHANGING_MODE EQ N_CHANGE_MODE_3 = JMP CHANGE_MODE_3
CPS R_CHANGING_MODE EQ N_CHANGE_MODE_4 = JMP CHANGE_MODE_4
CPS R_CHANGING_MODE EQ N_CHANGE_MODE_5 = JMP CHANGE_MODE_5
END
CHANGE_ MODE_1:
() = MOV 0 K_RESET_SIG 16 = MOV 0 K_START_SIG 16
B3TIME_ = TRS N_T_CHANGE_MODE = TG1 N_T_CHANGE_MODE 30
T_CHANGE_MODE = MOV N_CHANGE_MODE_2 R_CHANGING_MODE 16
END
CHANGE_ MODE_2:
T_CHANGE_MODE = RET
DDS - MC
() = MOV 1 K_RESET_SIG 16
() = MOV N_CHANGE_MODE_3 R_CHANGING_MODE 16
END
13
! ! ! Entorno edición de programas de PLC y MC
CHANGE_ MODE_4:
T_CHANGE_MODE = RET
CPS R_MODE EQ N_MODE2MAN =MOV N_K_MODE_MAN K_OPER_MODE 16
CPS R_MODE EQ N_MODE2AUTO =MOV N_K_MODE_AUTO K_OPER_MODE 16
B3TIME_ = TRS N_T_CHANGE_MODE = TG1 N_T_CHANGE_MODE 50
2. T_CHANGE_MODE = MOV N_CHANGE_MODE_5 R_ CHANGING_MODE 16
END
ENTORNO EDICIÓN DE PROGRAMAS DE PLC Y MC
ANEXO 1. PROGRAMA ESTÁNDAR DE PLC
CHANGE_ MODE_5:
T_CHANGE_MODE = RET
CPS R_MODE EQ N_MODE_STOPPING OR CPS R_MODE EQ N_MODE_NO_ENABLES
= MOV N_JOG_DW_NO_OK R_STATE_JOG 16
= MOV N_AUTO_NO_OK R_STATE_AUTO 16
= NOT MOV N_JOG_DW_OK R_STATE_JOG 16
= NOT MOV N_AUTO_STOPPED R_STATE_AUTO 16
CPS R_MODE EQ N_MODE_NO_ENABLES
= MOV N_STATE_ENABLES_DW R_STATE_ENABLES 16
() = RES M_NEW_LINE
CPS K__OPER_MODE EQ N_K_MODE_MAN = MOV N_MODE_MAN R_MODE 16 = RET
CPS K_OPER_MODE EQ N_K_MODE_AUTO = MOV N_MODE_AUTO R_MODE 16 = RET
END
ENABLES:
ENABLE1 AND ENABLE2 = M_ENABLES
M_ENABLES AND CPS R_STATE_ENABLES EQ N_STATE_ENABLES_DW
= MOV N_STATE_ENABLES_UP_ 1 R_STATE_ENABLES 16
NOT M_ENABLES AND CPS R_STATE_ENABLES EQ N_STATE_ENABLES_UP
= MOV N_STATE_ENABLES_DW_1 R_STATE_ENABLES 16
= MOV N_MODE_NO_ENABLES R_MODE 16
= MOV N_CHANGE_MODE_1 R_CHANGING_MODE 16
ENABLES_UP_1:
B3TIME_ = TRS N_T_ENABLES = TG1 N_T_ENABLES 150
DDS - MC T_ENABLES = MOV N_STATE_ENABLES_UP_2 R_STATE_ENABLES 16
END
ENABLES_UP_2:
T_ENABLES = RET
(SOFT [Link])
() = MOV N_STATE_ENABLES_UP R_STATE_ENABLES 16
END
14
! ! ! Entorno edición de programas de PLC y MC
MODE_AUTO:
CPS R_STATE_ENABLES NE N_STATE_ENABLES_UP = RET
AUTO_STARTING:
I_HOMING = M_HOME
NOT M_HOME AND I_START = M_CICLE_START
CPS R_STATE_I_START NE N_START_UP = RET
() = MOV N_AUTO_RUNNING R_STATE_AUTO 16
END
READ_START:
CPS R_STATE_I_START EQ N_START_UP_1 = JMP START_UP_1
CPS R_STATE_I_START EQ N_START_UP_2 = JMP START_UP_2
DDS - MC
CPS R_STATE_I_START EQ N_START_UP_3 = JMP START_UP_3
END
() = MOV 0 R_LINE
I_LINE_SELECT_1 = B0R_LINE
I_LINE_SELECT_2 = B1R_LINE
15
! ! ! Entorno edición de programas de PLC y MC
I_LINE_SELECT_3 = B2R_LINE
I_LINE_SELECT_4 = B3R_LINE
I_LINE_SELECT_5 = B4R_LINE
I_LINE_SELECT_6 = B5R_LINE
() = MOV 0 K_START_SIG 16
() = RES M_CICLE_START = RES M_HOME
() = RES M_FAST_INPUT = MOV N_MOV_END_0 R_MOV_END 16
2. () = MOV 0 JOG_POS 16 = MOV 0 JOG_NEG 16
() = RES M_AUX_TIMER
ENTORNO EDICIÓN DE PROGRAMAS DE PLC Y MC
ANEXO 1. PROGRAMA ESTÁNDAR DE PLC
; B2TIME_
START_UP_1_TEN:
M_AUX_TIMER = TRS N_T_START = TG1 N_T_START 20
= NOT SET M_AUX_TIMER = NOT JMP START_UP_1_TEN
T_START = MOV N_START_UP_2 R_STATE_I_START 16
END
START_UP_2:
T_START = RET
() = M_NEW_LINE
() = MOV 1 K_START_SIG 16
B2TIME_ = TRS N_T_START = TG1 N_T_START 50
T_START = MOV N_START_UP_3 R_STATE_I_START 16
END
START_UP_3:
T_START = RET
() = MOV 0 K_START_SIG 16
() = MOV N_START_UP R_STATE_I_START 16
END
MODE_MAN:
CPS R_STATE_I_JOG EQ N_JOG_DW_OK AND (I_START OR I_HOMING)
= MOV N_MODE2AUTO R_MODE 16
22 = MOV N_CHANGE_MODE_1
CPS R_STATE_JOG EQ N_JOG_DW_NO_OK
R_CHANGING_MODE 16 = RET
= JMP JOG_DW_NO_OK
CPS R_STATE_JOG EQ N_JOG_DW_OK = JMP JOG_DW_OK
CPS R_STATE_JOG EQ N_JOG_STARTING = JMP JOG_STARTING
CPS R_STATE_JOG EQ N_JOG_MOVING = JMP JOG_MOVING
END
DDS - MC
I_JOG_READ:
() = MOV 0 R_TEMP
I_JOG_POS1 = B0R_TEMP
(SOFT [Link]) I_JOG_POS2 = B1R_TEMP
I_JOG_NEG1 = B2R_TEMP
I_JOG_NEG2 = B3R_TEMP
END
16
! ! ! Entorno edición de programas de PLC y MC
JOG_DW_NO_OK:
NOT I_JOG_POS1 AND NOT I_JOG_POS2
AND NOT I_JOG_NEG1 AND NOT I_JOG_NEG2
= MOV N_JOG_DW_OK R_STATE_JOG 16
END
JOG_DW_OK:
() = CAL I_JOG_READ
CPS R_TEMP_L EQ N_JOG_POS1=SET M_JOG_POS_NEG=RES M_TEMP_2 = JMP JOG_OK
2.
JOG_OK:
() = MOV R_TEMP R_JOG_MOVE_ST 16
M_TEMP_2 = M_VEL_MODO_JOG
() = MOV N_JOG_STARTING R_STATE_JOG 16
() = MOV N_START_UP_1 R_STATE_I_START 16
END
JOG_STARTING:
CPS R_STATE_I_START NE N_START_UP = RET
M_JOG_POS_NEG = MOV 1 JOG_POS 16
= NOT MOV 1 JOG_NEG 16
() = MOV N_JOG_MOVING R_STATE_JOG 16
END
JOG_MOVING:
() CAL I_JOG_READ
CPS R_TEMP_L NE R_JOG_MOVE_ST
= MOV N_MODE_STOPPING R_MODE 16
= MOV N_CHANGE_MODE_1 R_CHANGING_MODE 16
END
PE 1:
I_FAST_INPUT AND M_INFINITE_MOV AND
CPS R_MOV_END EQ N_MOV_END_0
= MOV N_MOV_END_2 R_MOV_END 16
CPS R_MOV_END EQ N_MOV_END_2 = JMP MOV_END_2
DDS - MC
CPS R_MOV_END EQ N_MOV_END_3 = JMP MOV_END_3
END
MOV_END_2:
(SOFT [Link])
() MOV 1 K_ABORT_SIG 16
B3TIME_ = TRS N_T_MOV_END = TG1 N_T_MOV_END 50
T_MOV_END = MOV N_MOV_END_3 R_MOV_END 16
END
17
! ! ! Entorno edición de programas de PLC y MC
MOV_END_3:
T_MOV_END = RET
I_FAST_INPUT = RET ; to detect the flank
() = MOV 0 K_ABORT_SIG 16
() = MOV N_MOV_END_0 R_MOV_END 16
END
2. ; i_home_switch
ENTORNO EDICIÓN DE PROGRAMAS DE PLC Y MC
ANEXO 1. PROGRAMA ESTÁNDAR DE PLC
HOME_SWITCH:
DFU I_HOME_SWITCH = MOV 1 S400 16
DFD I_HOME_SWITCH = MOV 0 S400 16
END
CAPT_CHANGE:
I_FEEDBACK_SELECT AND CPS R_CAPT_CHANGE EQ N_CAPT_CHANGE_FIRST
= MOV N_CAPT_CHANGE2SECOND_1 R_CAPT_CHANGE 16
CAPT_CHANGE2SECOND_1:
() = MOV 3 S_CHANGE_CAPT 16
() = MOV N_CAPT_CHANGE_SECOND R_CAPT_CHANGE 16
END
CAPT_CHANGE2FIRST_1:
() = MOV 0 S_CHANGE_CAPT 16
() = MOV N_CAPT_CHANGE_FIRST R_CAPT_CHANGE 16
END
22
DDS - MC
(SOFT [Link])
18
! ! ! Entorno edición de programas de PLC y MC
; Programa estándar de MC
; tabla mc
#INCLUDE " [Link]"
2.
; plc marks
DEF M_HOME M1 DDS - MC
DEF M_MARCHA M2
DEF M_FAST_INPUT M3
DEF M_NEW_LINE M4
DEF M_INFINITE_MOV M5 (SOFT [Link])
DEF M_VEL_MODO_JOG M6
19
! ! ! Entorno edición de programas de PLC y MC
; plc registers
DEF R_LINE R1
DEF R_DIG_OUT #R2
DEF R_PROG_DIG_OUT1 R3
DEF R_PROG_DIG_OUT2 R4
DEF R_PROG_DIG_OUT3 R5
DIM LINE
DIM LOOP
DIM TYPE_MOV
DIM VELOCIDAD, DISTANCIA
DIM BRK_LINE_95
PROGRAM
IF (M_HOME)
HOME
M_HOME = 0
ENDIF
WHILE (M_MARCHA)
IF (M_NEW_LINE)
LINE = R_LINE
22 M_NEW_LINE = 0
ENDIF
TYPE_MOV = (MOVE_CHARS[LINE] BAND N_MASK_MOV_TYPE) / N_DIV_MOV_TYPE
TYPE_MOV = TYPE_MOV + 1
LINK = (MOVEV_CHARS[LINE] BAND N_MASK_LINK) * 10000
M_INFINITE_MOV = 0
DDS - MC
FOR LOOP = 0, REP [LINE], 1
IF ( MOVE_CHARS[LINE] BAND N_MASK_ACCEL_BIT)
ACC = ACCEL[LINE]
(SOFT [Link]) ENDIF
20
! ! ! Entorno edición de programas de PLC y MC
SUB SUB_NO_MOVE
ENDSUB
SUB SUB_MOVE_VEL_0
M_INFINITE_MOV = 1
MOVE D = 10 V = 0
M_INFINITE_MOV = 0
ENDSUB
SUB SUB_ABS_MOVE
IF (MOVE_CHARS[LINE] BAND N_MASK_FINISH_MOVE)
M_INFINITE_MOV = 1
ENDIF
MOVE P = DISTANCE[LINE] V = SPEED[LINE]
IF (MOVE_CHARS[LINE] BAND N_MASK_FINISH_MOVE)
M_INFINITE_MOV = 0
ENDIF
ENDSUB
SUB SUB_REL_MOVE
IF (MOVE_CHARS[LINE] BAND N_MASK_FINISH_MOVE)
M_INFINITE_MOV = 1
ENDIF DDS - MC
MOVE D = DISTANCE[LINE] V = SPEED[LINE]
IF (MOVE_CHARS[LINE] BAND N_MASK_FINISH_MOVE)
M_INFINITE_MOV = 0
ENDIF (SOFT [Link])
ENDSUB
21
! ! ! Entorno edición de programas de PLC y MC
SUB SUB_INF_MOVE
M_INFINITE_MOV = 1
IF (DISTANCE[LINE] GE 0
MOVE D = INF V = SPEED[LINE] L = NEXT
ELSE
MOVE D = - INF V = SPEED[LINE] L = NEXT
ENDIF
M_INFINITE_MOV = 0
2. ENDSUB
ENTORNO EDICIÓN DE PROGRAMAS DE PLC Y MC
ANEXO 2. PROGRAMA ESTÁNDAR DE MC
JOG
IF (JOG_POS OR JOG_NEG)
IF (M_VEL_MODO_JOG)
VELOCIDAD = 2 * JOG_VEL
ELSE
VELOCIDAD = JOG_VEL
ENDIF
IF (JOG_POS)
DISTANCIA = 10000
ELSE
DISTANCIA = - 10000
ENDIF
WHILE (1)
MOVE D = DISTANCIA V = VELOCIDAD L = PRESENT
ENDWHILE
ENDIF
END
22
DDS - MC
(SOFT [Link])
22
INTRODUCCIÓN AL AUTÓMATA
PROGRAMABLE [PLC] 3
El regulador gobierna las corrientes por el motor mediante un
software de control y obedeciendo a unas consignas de velocidad o
posición, controla ese accionamiento. Sobre este software de control
trabajan los paquetes de Motion Control (MC) y de Autómata
Programable (PLC).
Propiedades generales
(SOFT [Link])
1
! ! ! Introducción al autómata programable (PLC)
Entradas (I)
Salidas (O)
Marcas (M)
Variables
Registros (R)
(SOFT [Link])
Son elementos de 32 bits que permiten almacenar un valor numérico,
que es considerado como un número entero con signo. Así su rango
de valores está en ±2147483647. Se puede acceder a su parte alta
y baja de forma separada.
2
! ! ! Introducción al autómata programable (PLC)
Temporizadores (T)
Contadores (C)
Todos estos módulos operan, por defecto, con los valores reales de
los recursos I, O, M.
CY1
Este módulo es opcional y se ejecuta una única vez en el momento
en el que se pone en marcha el AUTÓMATA. Sirve para inicializar los (SOFT [Link])
diferentes recursos y variables con sus valores iniciales antes de
proceder a la ejecución del resto del programa.
END
3
! ! ! Introducción al autómata programable (PLC)
4
! ! ! Introducción al autómata programable (PLC)
Tensiones Eléctricas
&
AP5 -F2001- Parámetros Regulador
END
Tensiones Eléctricas
&
Parámetros Regulador
fig. 3 - 1
E ste m ódulo es opci onal y s e uti liz a para tratar c ier tas
PE t
entradas/salidas críticas que requieren ser evaluadas con una
frecuencia superior a la del módulo principal.
Ejemplo:
PE 15 ; Define el comienzo del módulo periódico PE que se ;
(SOFT [Link])
ejecutará cada 15 milisegundos.
5
! ! ! Introducción al autómata programable (PLC)
END
DDS - MC
PRG PE t
AP5 -F2001- t
fig. 3 - 2
6
! ! ! Introducción al autómata programable (PLC)
CY1
PRG
3.
PE 2
2 ms
fig. 3 - 3
Ejecución secuencial.
(SOFT [Link])
7
! ! ! Introducción al autómata programable (PLC)
REAL MEMORY
Variables Variables
Beginning
End
I Real Cycle
Beginning Physical
I1 - I32
Input
I/O BOARD
PRG PRG PRG
Cycle Cycle Cycle
End End End
I1 - I32
I Image
M1 - M64 O1 - O32
M Image O Image
IMAGE MEMORY
fig. 3 - 4
8
! ! ! Introducción al autómata programable (PLC)
fig. 3 - 6
M1
..... I1
M1 AND I1 = SET M2
= RES M1 M2 O13
M2 AND I2 = SET M3
= RES M2 I2
..... DDS - MC
M2 = O13
M3
9
! ! ! Introducción al autómata programable (PLC)
3.
Periodo de ejecución y Watch-Dog
INTRODUCCIÓN AL AUTÓMATA PROGRAMABLE [PLC]
Periodo de ejecución y Watch-Dog
fig. 3 - 8
Tiempo de ciclo.
10 t
WatchDog Error t
DDS - MC
fig. 3 - 9
(SOFT [Link])
10
RECURSOS DEL PLC
4
Entradas
Salidas
1
! ! ! Recursos del PLC
Pin Pin
1 1 Pin
2 2 1
1 3 3
DIG. INs
DIG. INs
2
4 1 4 3
5 5 4
6 6 5
7 7 6
X8 9 8 X11 8 7
9 9 8
(Phoenix, 9
1 9
4.
3.5 mm)
X6 10
DIG. INs
1 1 11
8I-16O 2
DIGITAL I/Os
1 12
2 3 13
3 4
4 X12 5
DIG. OUTs
1
5 9 6 (Phoenix,
RECURSOS DEL PLC
Marcas
6 7 13 3.5 mm)
(Phoenix, 8
7
3.5 mm) 9
8 P2
9
X9 9 16I-8O P1
1 1 A1
DIG. OUTs
DIG. OUTs
1
2 1 2
3 3 1
4 4 X7
5 5
ANALOG I/Os
X10 9 6 X13 6 Analog I/O
7 9 7
(Phoenix, 8 8
3.5 mm) 9 (Phoenix, 9
3.5 mm) 11
fig. 4 - 1
1 1 1 1 I1
I17 I1 I17 I2
I18 I2 I18 I3
I19 I3 I19 I4
X11 I20 I4 I20
I21 I5 I21
X8 I6 X8 X6 O1
I22 I22
I23 I7 I23
I8 O2
9 I24 9 9 I24
8I-16O 8I-16O O3
1
I25 1 1 O4
I26 O1 13
O17
I27 O2 O18
X12 I28 O3 O19 P2
I29 X9 O4 X9 O20
I30 O5
P1
O21
I31 O6 O22 A1
9 I32 O7 O23
9 O8 9 O24 1
16I-8O
1 1 1
O17 O9 O25
O18 O10 O26
O19 O11 O27 X7
X13 O20 X10 O12 X10 O28
O21 O13 O29
O22 O14 O30
O23 O15 O31
20
9 O24 9 O16 9 O32 11
fig. 4 - 2
DDS - MC
Marcas
2
! ! ! Recursos del PLC
Variables
Ejemplos.
Variables de 16 Bits
Ejemplo.
F907L se refiere a la parte baja (low) de la variable F907.
F907H se refiere a la parte alta (high) de la variable F907.
Bit a bit
(SOFT [Link])
3
! ! ! Recursos del PLC
Ejemplo.
B28F907 se refiere al Bit 28 de la variable F907.
bit 31
bit 30
B28F907
bit 2
bit 1
bit 0
4. 1 0 0 1 0 0 1 ... 0 1 1 0 1 1 0
RECURSOS DEL PLC
F907H F907L
Registros
B28F907 B12F907H
fig. 4 - 3
Registros
Bit a bit.
(SOFT [Link])
Se puede hacer referencia a un BIT del REGISTRO anteponiendo la
letra B y el número de bit (0/31) al registro seleccionado.
4
! ! ! Recursos del PLC
Ejemplo.
Registros de 16 bits
Ejemplo.
R5L se refiere a la parte baja (low) del registro R5.
R8H se refiere a la parte alta (high) del registro R8.
bit 31
bit 30
bit 2
bit 1
bit 0
R8: 1 0 0 1 0 0 1 ... 0 1 1 0 1 1 0
R8H R8L
fig. 4 - 4
Temporizadores
fig. 4 - 5
Temporizadores.
5
! ! ! Recursos del PLC
Para habilitar el contaje del tiempo la entrada TEN debe estar a nivel
lógico “1”.
TEN
fig. 4 - 6
Ejemplo.
I2 = TEN 10
; La entrada I2 habilita el temporizador T10.
; Cero volt. en el pin correspondiente a I2 detendrá la cuenta.
(SOFT [Link])
6
! ! ! Recursos del PLC
TRS
t
4.
Ejemplo.
I3 = TRS 10
; La entrada I3 controla el reset del temporizador T10.
; Un flanco de subida en el pin correspondiente a I3,
; reseteará la cuenta.
Ejemplos.
7
! ! ! Recursos del PLC
(SOFT [Link])
8
! ! ! Recursos del PLC
TG1
fig. 4 - 8
fig. 4 - 9
DDS - MC
Activación del temporizador por flanco de subida en la entrada TG1.
9
! ! ! Recursos del PLC
fig. 4 - 10
20
fig. 4 - 11
DDS - MC
10
! ! ! Recursos del PLC
electrical
equivalent
TG2 T
4.
fig. 4 - 13
(SOFT [Link])
11
! ! ! Recursos del PLC
4.
RECURSOS DEL PLC
Modo de retardo a la desconexión. Entrada TG3
fig. 4 - 14
fig. 4 - 15
20
Modo de retardo a la desconexión. Entrada TG3
(SOFT [Link])
12
! ! ! Recursos del PLC
electrical
equivalent
TG3 T
4.
fig. 4 - 17
(SOFT [Link])
13
! ! ! Recursos del PLC
4.
RECURSOS DEL PLC
Modo de retardo a la desconexión. Entrada TG3
fig. 4 - 18
fig. 4 - 19
20
DDS - MC
(SOFT [Link])
14
! ! ! Recursos del PLC
TG4 4.
fig. 4 - 20
fig. 4 - 21
(SOFT [Link])
15
! ! ! Recursos del PLC
4.
RECURSOS DEL PLC
Modo limitador de la señal. Entrada TG4
fig. 4 - 22
fig. 4 - 23
20
DDS - MC
(SOFT [Link])
16
! ! ! Recursos del PLC
Reloj interno
B1TIME_ t
2 ms
fig. 4 - 24
Registro TIME_.
Ejemplo.
512 ms
M15
t
Ejemplo.
4 ms
B2TIME_ t
B3TIME_ t
B4TIME_ t
M11 t
DDS - MC
El registro TIME_ se maneja de forma idéntica al resto de registros
de 32 bits. Admite también su partición en registros de 16 bits.
() = AND TIME_L MASK R12L
() = MOV TIME_ R1 0032 ;se trata como a un registro
(SOFT [Link])
17
! ! ! Recursos del PLC
Contadores
Enable CEN
Reset CPR
COUNTER
C1 / C16 Output
Count UP CUP
Count DOWN CDW
C1 / C16 Time
fig. 4 - 25
Contadores.
Ejemplo.
I2 = CUP 10
; Cada vez que se produce un flanco de subida en la
; entrada I2 se incrementa en una unidad la cuenta del
; contador C10.
20
Entrada de descontaje (CDW)
Ejemplo.
(SOFT [Link])
I3 = CDW 20
; Cada vez que se produce un flanco de subida en la
; entrada I3 se decrementa en una unidad la cuenta del
; contador C20.
18
! ! ! Recursos del PLC
Ejemplo.
DDS - MC
(SOFT [Link])
fig. 4 - 26
19
! ! ! Recursos del PLC
Ejemplo.
I10 = CEN 12 ; Cuando el pin correspondiente a la
; entrada I10 tenga un valor lógico alto el
; contador C12 estará habilitado para la
; cuenta.
(SOFT [Link])
20
PROGRAMACIÓN DEL PLC
5
Estructura de un módulo
Action
Action
fig. 5 - 1
Proposición directiva
DDS - MC
Operador
(PRG) (AND)
Módulo PLC Expresión lógica
(I1 AND I2) Instrucción de Consulta
(I1)
Proposición ejecutable
(I1 AND I2 = O2)
Instrucción de acción
(SOFT [Link])
(= O2)
fig. 5 - 2
Estructura de un módulo.
1
! ! ! Programación del PLC
Ejemplo de programación.
PRG Mi programa
= O2 ; Instrucciones de Acción
= O12
I3 ; Instrucción de consulta ( I3 )
AND I10 ; Operador ( AND ) e Instrucción de
; consulta ( I10 )
= M10 ; Instrucción de Acción
END
Proposiciones directivas
(SOFT [Link])
2
! ! ! Programación del PLC
END
Etiquetas
Las etiquetas pueden estar formadas por hasta treinta y dos letras
mayúsculas y/o cifras, seguidas del carácter "dos puntos (:)".
Deberán empezar siempre por una letra o un "guión bajo (_)".
Ejemplos.
POINT:
NOT M14 AND NOT I9 = M15
_1234: M14 = O8
DEF
3
! ! ! Programación del PLC
Ejemplo.
DEF EMERG I1 ; Asigna el símbolo EMERG a la entrada
; I1, por lo que cualquier referencia a lo
; largo del programa a EMERG será
; interpretada por el PLC.
; como una referencia a I1.
Ejemplo.
Ejemplo.
DEF EMRGOUT O1
DEF WRNGOUT O1
36
#INCLUDE
Ejemplo.
4
! ! ! Programación del PLC
Ejemplo.
#INCLUDE "C:\Editor\MyFiles\PLCFiles\[Link]"
o solamente
#INCLUDE "[Link]"
si el fichero de programa .plc y el de definiciones [Link] están
en el mismo directorio.
REA, IMA
Ejemplo.
DDS - MC
IMA I3 AND M4 = O2 ; Realiza la operación lógica
; AND entre el valor imagen de
; I3 y el real de M4.
Por defecto, las consultas de recursos para la evaluación se toman (SOFT [Link])
de la memoria de valores [Link] modificador IMA afecta
únicamente a la consulta inmediatamente posterior a él.
5
! ! ! Programación del PLC
IRD
5. OWR
PROGRAMACIÓN DEL PLC
IRD
TRACE
PRG
-----------
-----------
TRACE ; Captura de datos
-----------
-----------
TRACE ; Captura de datos
36 -----------
-----------
TRACE ; Captura de datos
-----------
-----------
DDS - MC
END
PE 5
-----------
TRACE ; Captura de datos
(SOFT [Link])
-----------
END
6
! ! ! Programación del PLC
Instrucciones de consulta
Ejemplo.
Ejemplo.
(SOFT [Link])
7
! ! ! Programación del PLC
Ejemplo.
5. B13R8
B5R8H
; Devolverá el valor del bit 13 del registro 8.
; Devolverá el valor del bit 21 del registro 8.
PROGRAMACIÓN DEL PLC
Instrucciones de consulta de un bit
bit 31
bit 30
bit 2
bit 1
bit 0
R8: 1 0 0 1 0 0 1 ... 0 1 1 0 1 1 0
R8H R8L
36 DFU
DFD
I 1/32
O 1/32
M 1/64
8
! ! ! Programación del PLC
Ejemplo.
I3 = M8 DFU M8 = O3
DFU IMA M8 = O9
PRG t
I3
electrical
real
image 5.
O3 real
image
O9 real
image
GT (Greater than)
Devuelve un "1" si el primer operando es MAYOR que el segundo.
GE (Greater equal)
Devuelve un "1" si el primer operando es MAYOR O IGUAL que
el segundo.
EQ (Equal)
Devuelve un "1" si el primer operando es IGUAL al segundo.
LE (Less equal)
Devuelve un "1" si el primer operando es MENOR O IGUAL que
el segundo. (SOFT [Link])
LT (Less than)
Devuelve un "1" si el primer operando es MENOR que el segundo.
9
! ! ! Programación del PLC
Ejemplos de programación.
Operadores
NOT
I2 O3
I2 0 1
DDS - MC 1 0
O3
(SOFT [Link])
10
! ! ! Programación del PLC
AND
I4
I4 I5 O6
0
0
0
1
0
0
5.
I5
OR
I7 I8 O9
I7 I8 0 0 0
0 1 1
1 0 1
O9
1 1 1
XOR
(SOFT [Link])
11
! ! ! Programación del PLC
Prioridades
NOT
AND
5. XOR
OR
PROGRAMACIÓN DEL PLC
Prioridades
Paréntesis
Ejemplo.
I2 I3
I6
I4
I5
O7
Introducción
(SOFT [Link])
Las Instrucciones de acción permiten alterar el estado de los recursos
del PLC (I,O,M,R,T,C), en función del resultado obtenido en la
Expresión lógica.
12
! ! ! Programación del PLC
Ejemplo.
Ejemplo.
I3 = TG1 4 100
; El PLC asigna a la entrada de arranque TG1 del temp. T4
; el estado de la entrada I3, por lo que un flanco de subida
; en la entrada I3 activará la entrada de arranque TG1 del T4. DDS - MC
13
! ! ! Programación del PLC
SET I 1/32
5. RES
CPL
O 1/32
M 1/64
PROGRAMACIÓN DEL PLC
Instrucciones de acción binarias condicionadas
B 0/31 R 1/32
= SET
Ejemplo.
= RES
Ejemplo.
= CPL
Ejemplo.
(SOFT [Link])
DFU I8 OR DFD M2 = CPL B12R3
; Cada vez que se detecte un flanco de subida en la entrada
; I8 o un flanco de bajada en la marca M2 el PLC
; complementará el estado del bit 12 del Registro R3.
14
! ! ! Programación del PLC
= JMP SomeText
Salto Incondicional
Ejemplo.
; ————————
I8 = JMP _JUMP; Si I8=1 el programa continúa a
; partir de la etiqueta _JUMP
NOT M14 AND
NOT B7R120 = O8 ; ; Si I8 =1 no se ejecuta esta línea
CPS T2 EQ 2000 = O12; ; Si I8 =1 no se ejecuta esta línea
;————————
_JUMP:
(I12 AND I23) OR M54 = O6
DDS - MC
;————————
(SOFT [Link])
15
! ! ! Programación del PLC
= CAL SomeText
Llamada a Subrutina
Ejemplos.
I2 = CAL L5 = O2
; Si la entrada I2 vale 1 se ejecutará la subrutina L5 y,
; una vez finalizada ésta,
; el PLC asignará a la salida O2 el valor de la entrada I2 (1).
PRG
————————
I9 = CAL L15 ; Si I9=1 ejecuta la subrutina L15
————————
END ; Fin del programa principal
L15: ; Comienzo de la subrutina L15
————————
(I12 AND I23) OR M5 = O6
NOT M14 AND NOT B7R10 = O8
CPS T2 EQ 2000 = O12
————————
END ; Fin de la subrutina L15
36 = RET
16
! ! ! Programación del PLC
= MOV
También el número de bits a transmitir, a excepción del caso en que (SOFT [Link])
se desee transmitir de Bin a Bin y en 32 bits (0032) en cuyo caso no
es necesario.
17
! ! ! Programación del PLC
Ejemplos.
Organización de la memoria
fig. 5 - 3
Ejemplos.
NC
DDS - MC R3:
NC I4 I3 I2 I1
R8L
R5:
R7H
NC: No Change.
(SOFT [Link])
18
! ! ! Programación del PLC
Ejemplo.
Ejemplos.
NC
R11:
NC 0 0 1 0 0 1 0 1
NC: No Change.
= NGU R 0/31
Ejemplo.
1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1
R15: (SOFT [Link])
1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0
0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0
R15:
0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1
19
! ! ! Programación del PLC
= NGS R 0/31
5. Ejemplo.
PROGRAMACIÓN DEL PLC
= NGS R 0/31
I16 = NGS R8
; Si la entrada I16 vale “1” el PLC cambia
; de signo el contenido del registro R8.
1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1
R8:
1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0
$B5B5DAD8 = -1246373160
0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0
R8:
0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0
$4A4A2528 = 1246373160
DDS - MC
Ejemplo.
20
! ! ! Programación del PLC
Tamaño de la operación
(SOFT [Link])
21
! ! ! Programación del PLC
Ejemplos.
; $D693A400 = - 694967296
Ejemplos.
DDS - MC
Si los registros R20=B10010010 R21=B01000101
()
= AND R20 R21 R22; R22 = B0
(SOFT [Link]) = OR R20 R21 R23; R23 = B11010111
= XOR R20 R21 R24; R24 = B11010111
22
! ! ! Programación del PLC
()
= AND B1111 R21 R25; R25 = B00000101
= OR R20 B1111 R26; R26 = B10011111
= XOR B1010 B1110 R27; R27 = B00000100
RL1 RR1
0 0
RL2 RR2
Ejemplos.
23
! ! ! Programación del PLC
R10: 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0
R20: 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0
R10: 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0
5. R11: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1
PROGRAMACIÓN DEL PLC
(AND, OR, XOR, RR, RL)
= ERA
Borrado en bloque
Range
ERA I 1/32 1/32
DDS - MC
O 1/32 1/32
M 1/64 1/64
T 1/16 1/16
C 1/16 1/16
(SOFT [Link]) R 1/32 1/32
24
! ! ! Programación del PLC
Ejemplos.
( ) = ERA O5 12
; El PLC asignará el valor 0 a las
; salidas O5 a O12, ambas inclusive.
( ) = ERA C15 18
5.
Entradas: I 1/32
Salidas: O 1/32
Marcas de usuario: M 1/64
Temporizadores: T 1/16
Contadores: C 1/16
Registros de usuario R 1/32
Proposiciones directivas
25
! ! ! Programación del PLC
I 1/32 Entradas
O 1/32 Salidas
M 1/64 Marcas
T 1/16 Temporizadores
C 1/16 Contadores
B 0/31 R 1/32 Bit de Registro
5.
PROGRAMACIÓN DEL PLC
Instrucciones de consulta simples
DFU I 1/32
DFD O 1/32
M 1/64
Operadores
(SOFT [Link])
26
! ! ! Programación del PLC
= I 1/32 Entradas
=O 1/32 Salidas
=M 1/64 Marcas
= TEN 1/16 Temporizadores
= TRS 1/16
= TGn 1/16 n/R
= CUP
= CDW
1/16
1/16
Contadores
5.
= CEN 1/16
SET I 1/32
RES O 1/32
CPL M 1/64
B 0/31 R 1/32
27
! ! ! Programación del PLC
36 RL1
RR2 R 1/32 1/31 R 1/32
RL2
Range
ERA I 1/32 1/32
(SOFT [Link]) O 1/32 1/32
M 1/64 1/64
T 1/16 1/16
C 1/16 1/16
R 1/32 1/32
28
! ! ! Programación del PLC
Simples
Marca
Temporizador, Contador
Bit-Registro
M
T, C
B( )R( )
1/64
1/16
0/31 1/32
5.
Subida DFU I
Detección
O
de flancos Bajada DFD M
GT
R GE R
Comparación T EQ T
CPS
con signo C NE C
num LE num
LT
Función NO NOT
Función Y AND
Función O exclusiva XOR R R
Lógicos R
Función O OR num num
Abrir-cerrar paréntesis ()
Suma ADS
Resta SBS R R
Multiplicación MLS num num R
División DVS
Operadores Módulo MDS
Aritméticos 32
I, O, R I 28
M O 24
T, C M 0 0 20
Transferencia MOV
Sxx, Fxx R 1 1 16
num Sxx, Fxx 12
08
Complemento a uno NGU 04
R
Cambio signo NGS
I, O, R
Borrado en bloque ERA M num
T, C
Salida T
Control de Habilitación TEN
Temporizadores Reset TRS
1/16 DDS - MC
Modos TG1, TG2, TG3, TG4
Salida C
Control de Habilitación CEN
Contadores 1/16
Cuenta arriba, abajo CUP, CDW
Preselección CPR (SOFT [Link])
29
! ! ! Programación del PLC
F2012H = 25 ($19)
Checksum del código de programa cargado incorrecto.
Cargar de nuevo el programa en el Regulador. Si persiste el
problema es posible que la memoria Flash o Ram sean defectuosas,
o que el código cargado sea defectuoso.
Contactar con Fagor Automation.
(SOFT [Link])
30
! ! ! Programación del PLC
31
! ! ! Programación del PLC
32
! ! ! Programación del PLC
E69 - PE watchdog
5.
DDS - MC
(SOFT [Link])
33
! ! ! Programación del PLC
ANEXO 1
Ficheros de cabecera
"ad_da.inc"
Contiene defines útiles para el manejo de las entradas
y salidas analógicas.
5. ; AD_DA.INC
;
PROGRAMACIÓN DEL PLC
ANEXO 1
;
; Defines de las dos entradas analógicas
;
DEF ANA_IN_1 F00905L ; valor de la entrada analog1
DEF ANA_IN_2 F00906L ; valor de la entrada analog 2
;
; Defines de las dos salidas analógicas
;
DEF ANA_OUT_1 F01408L ; valor de la salida analog 1
DEF ANA_OUT_2 F01409L ; valor de la salida analog 2
;
; Defines de las dos ganancias para las salidas analógicas
;
DEF ANA_OUT_1_GAIN F01402
; valor con el cual la salida analog 1 va a sacar 10 voltios
"[Link]"
Contiene defines útiles para manejar el generador
interno de funciones.
; [Link]
;
;
; Defines de los parámetros del Regulador que definen la forma de
36 ; onda.
;
DEF GEN_SHAPE F01800L
DEF GEN_PERIOD F01801L
DEF GEN_AMPLITUDE F01802L
DEF GEN_TYPE F01803L
DDS - MC DEF GEN_OUTPUT F01804L
DEF GEN_DUTY_CYCLE F01805L
DEF GEN_N_WAVES F01806L
DEF GEN_ON F01807L
DEF GEN_OFFSET F01808L
(SOFT [Link])
;
; Defines de los valores que puede darse al parámetro GEN_SHAPE
34
! ! ! Programación del PLC
"[Link]"
Contiene defines de los parámetros básicos para la
5.
configuración y el control del funcionamiento del
; [Link]
;
;
; Defines de los parámetros necesarios para establecer el modo
; principal y submodo de trabajo.
;
DEF K_OPER_MODE F02313L
; modo de operacion principal
; 0 - automático
; 1 - manual
DEF K_AUTO_SUBMODE F02314L
; submodo del modo automático
; 0 - continuo
; 1 - bloque a bloque
; 2 - instrucción a instrucción
DEF K_MAN_SUBMODE F02319L
; submodo del modo manual
; 0 - continuo
; 1 - incremental
DEF K_START_SIG F02315L
; un flanco de subida hace que
; se ponga en marcha el programa
DEF K_STOP_SIG F02316L
; un flanco de subida hace que
; se pare el programa
DEF K_RESET_SIG F02317L
; hace un reset en el programa
DEF K_ABORT_SIG F02318L
; aborta el bloque en ejecución
;
; Defines de los parámetros empleados para el movimiento de jog
;
DEF JOG_POS F02320L
; movimiento manual en sentido positivo
DDS - MC
35
! ! ! Programación del PLC
5.
PROGRAMACIÓN DEL PLC
DDS - MC
(SOFT [Link])
36
CAM SWITCH
6
El Cam Switch o conmutador de levas consta de 8 levas en las cuales
se pueden definir los puntos denominados ON y OFF para cada una
de ellas.
Los parámetros que determinan los puntos ON y OFF de las levas son
los que van desde LP60 [S60] hasta LP75 [S75]. Así, cada pareja de
parámetros consecutivos que comience por cifra par estará
definiendo puntos ON el primero de ellos y puntos OFF el segundo.
Cada punto a los que se hace referencia viene dado por una tira de
32 bits con signo que posteriormente será comparado con el valor de
referencia representada por otra tira de 32 bits con signo,
estableciéndose que:
! si el valor de referencia es mayor o igual que el valor del punto
ON y menor que el valor del punto OFF, el valor de la leva
correspondiente será un 1 lógico.
! en otro caso será un 0 lógico.
El valor de salida del Cam Switch se calculará cada vez que desde
el PLC se ejecute la instrucción :
1
! ! ! Cam Switch
Ejemplo.
#INCLUDE "[Link]"
PRG
2
! ! ! Cam Switch
END
CAM SWITCH
DEF CAM_COMPILE S35070
DEF SECOND_CAM_FIRST_SWITCH S35069
DDS - MC
(SOFT [Link])
3
! ! ! Cam Switch
6.
CAM SWITCH
DDS - MC
(SOFT [Link])
4
INTRODUCCIÓN AL SISTEMA
MOTION CONTROL [MC] 7
Introducción
1
! ! ! Introducción al sistema de Motion Control
sentencia 1
sentencia 2
...
END
7. ...
JOG
sentencia 1
INTRODUCCIÓN AL SISTEMA MOTION CONTROL [MC]
Modo de funcionamiento automático
sentencia 2
...
END
...
2
! ! ! Introducción al sistema de Motion Control
JOG +
JOG -
(SOFT [Link])
3
! ! ! Introducción al sistema de Motion Control
Submodo continuo
4
! ! ! Introducción al sistema de Motion Control
Unidades físicas
Precisión, diezmilésima
Ejemplo.
Constantes numéricas
En formato hexadecimal
Hay que tener cuidado cuando se asigna una constante numérica en
formato hexadecimal a una variable.
5
! ! ! Introducción al sistema de Motion Control
En formato decimal
VAR = 6
8 MOVE D = R1
Es un movimiento de 200 mm desde la posición actual.
(SOFT [Link])
Es un movimiento de 0.0200 mm desde la posición actual.
6
! ! ! Introducción al sistema de Motion Control
DDS - MC
(SOFT [Link])
7
! ! ! Introducción al sistema de Motion Control
7.
INTRODUCCIÓN AL SISTEMA MOTION CONTROL [MC]
DDS - MC
(SOFT [Link])
8
PROGRAMACIÓN EN LENGUAJE
MC 8
Estructura y elementos del programa
Definición de recursos
Declaración de variables
1
! ! ! Programación en lenguaje MC
Módulos de ejecución
instrucciones
Etiquetas
Ejemplo.
POINT:
MOVE D =300 L =NULL
---
---
40 GOTO POINT
Sólo se pueden realizar saltos a etiquetas que estén dentro del mismo
módulo.
2
! ! ! Programación en lenguaje MC
Comentarios
Ejemplo.
PROGRAM
; Inicializaciones
8.
PROGRAMACIÓN EN LENGUAJE MC
Comentarios
ACC = 12 ; Aceleración de 12 m/s2
JERK = 240 ; Jerk = Acc/ts, para ts de 50ms,
; Jerk = 240 m/s3
HOME ; Posicionarse en el origen
; MOVE P =0 V=1
Elementos reservados
Palabras reservadas
3
! ! ! Programación en lenguaje MC
Símbolos empleados
( ) [ ] . , _ = + - * / : ;
Ejemplos.
Ejemplos.
4
! ! ! Programación en lenguaje MC
PROGRAMACIÓN EN LENGUAJE MC
Variables, constantes y parámetros
Variables y Arrays
Ejemplo.
DIMPOS, TABLE[5]
reserva registros de 32 bits en la memoria para la variable POS
y para el array de cinco elementos TABLE.
Este índice puede darse a través de una constante o una variable, que
contenga el resultado de una expresión aritmética.
fig. 8 - 1
5
! ! ! Programación en lenguaje MC
Constantes
Por otro lado se definen como constantes todos aquellos valores fijos
que no pueden ser alterados por el programa, siendo considerados
como tales:
! Los números expresados en sistema decimal.
! Los números hexadecimales.
8. P. ej: $1E2
! Las variables de solo lectura, ya que su valor no puede ser
alterado dentro de un programa.
PROGRAMACIÓN EN LENGUAJE MC
Constantes
Parámetros
40
Operadores
(SOFT [Link])
6
! ! ! Programación en lenguaje MC
Operadores aritméticos
* : multiplicación
/ : división
MOD : resto de la división
+ : suma
- : resta
Ejemplos.
PROGRAMACIÓN EN LENGUAJE MC
Operadores aritméticos
365 MOD 12 = 5
Operadores binarios
Operadores relacionales
EQ : igual que
NE : distinto que
GT : mayor que
GE : mayor o igual que
LT : menor que
LE : menor o igual que
Operadores lógicos
Z1 Z0 Z1 Z2 Z0 Z1 Z2 Z0 Z1 Z2 Z0
0 1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1 0 1 1 DDS - MC
1 0 0 1 0 1 1 0 1
1 1 1 1 1 0 1 1 1
Tablas de verdad.
7
! ! ! Programación en lenguaje MC
Expresiones
Expresiones condicionales
Orden de prioridades
8
! ! ! Programación en lenguaje MC
Ejemplos.
Z0 = Z1 MOD Z2 * Z3 + Z4 * Z5 MOD Z6 - Z7
PROGRAMACIÓN EN LENGUAJE MC
Sentencias
IF ( BNOT M1 BAND M2 - M3 GT 88 AND M4)
Z0 = (( Z1 MOD Z2 ) * Z3 ) + (( Z4 * Z5 ) MOD Z6 ) - Z7
M0 = (M1 BOR ( M2 BXOR ( M3 BAND M4 ))) BOR $FF
IF (((( BNOT M1 ) BAND ( M2 - M3 )) GT 88 ) AND M4)
Sentencias
(SOFT [Link])
9
! ! ! Programación en lenguaje MC
DEF
Ejemplo.
#INCLUDE
La sintaxis es la siguiente:
#INCLUDE" path fichero"
255 caracteres.
(SOFT [Link])
El nombre del fichero no puede contener ninguno de los siguientes
caracteres: ‘\’, ‘/’, ‘:’, ‘*’, ‘?’, ‘"’, ‘<’, ‘>’ ni ‘|’.
10
! ! ! Programación en lenguaje MC
Ejemplo.
PROGRAMACIÓN EN LENGUAJE MC
Sentencia de declaración de variables
#INCLUDE "[Link]"
El fichero de texto ".inc" debe estar redactado con las mismas normas
sintácticas que se exigen a cualquier programa.
DIM
Donde VAR1 sería el nombre de una variable, VAR2 el nombre de (SOFT [Link])
un array y num el tamaño o número total de elementos de ese array.
11
! ! ! Programación en lenguaje MC
Ejemplo.
8. DIMPOS, TABLE[5]
PROGRAMACIÓN EN LENGUAJE MC
Sentencia de declaración de variables
PAR
La sintaxis es :
PAR PAR1, PAR2 [num],...
Ejemplo.
DEF NUM_POS 16
PAR TABLA_POS [NUM_POS], TIEMPO_OUTPUT
DIM INDICE, CONTADOR, TEM_AUX
40 PROGRAM
.....................
.....................
END
DDS - MC JOG
......................
......................
END
(SOFT [Link])
Los par ámetr os TABLA_PO S ( array de 32 posic iones ) y
TIEMPO_OUTPUT pueden guardarse en un fichero en memoria
flash. Así, en el arranque del regulador pueden tomar los valores de
dicho fichero.
12
! ! ! Programación en lenguaje MC
PROGRAMACIÓN EN LENGUAJE MC
Sentencia de declaración de variables
Así, si las tres primeras posiciones del array TABLA_POS tienen los
valores 40000, 20000 y 60000, respectivamente y
TIEMPO_OUTPUT tiene el valor 5000000, el formato de dicho fichero
tras ejecutar el comando LC1 tendría para este ejemplo el siguiente
aspecto:
TABLA_POS [16] 40000 20000 60000 0 0 0 0 0 0 0 0 0 0 0 0 0 #
TIEMPO_OUTPUT 5000000
(SOFT [Link])
13
! ! ! Programación en lenguaje MC
PROGRAM - END
JOG - END
Subrutina
SUB - ENDSUB
14
! ! ! Programación en lenguaje MC
Sentencias de asignación
8.
Se emplean para asignar un valor a las variables. Su sintaxis es:
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de asignación
destino = <expresión>
Ejemplo.
Las sentencias IF, WHILE, FOR, evalúan los valores de las variables
del programa. Mediante esta evaluación, condicionan el flujo de la
ejecución del programa.
Ejemplo.
(SOFT [Link])
15
! ! ! Programación en lenguaje MC
IF - ENDIF
IF Cnd
No Instruction1
Cnd ? Instruction2
Yes ENDIF
Instruction1
Instruction2
8.
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de control de flujo
fig. 8 - 3
IF - ELSE - ENDIF
IF Cnd
No Instruction1
Cnd ? ELSE
Yes Instruction2
ENDIF
Instruction1 Instruction2
fig. 8 - 4
iF - ELSIF - ENDIF
IF Cnd1
No No Instruction1
Cnd1 ? Cnd2 ? ELSEIF Cnd2
Yes Yes Instruction2
ENDIF
Instruction1 Instruction2
fig. 8 - 5
WHILE
DDS - MC
WHILE Cnd
Instruction1
Yes Instruction1 Instruction2
Cnd ? ENDWHILE
Instruction2
No
(SOFT [Link])
fig. 8 - 6
16
! ! ! Programación en lenguaje MC
FOR
FOR M = A,B,C
A M Instruction1
Instruction2
ENDFOR
No
M<B ?
M+C M Yes 8.
Instruction1
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de control de flujo
Instruction2
fig. 8 - 7
GOTO
Ejemplo.
PROGRAM
TOP:
MOVE D=300 L=WAIT_IN_POS
IF (POS_FEEDBACK1 LE 20000)
GOTO TOP
ENDIF
END DDS - MC
(SOFT [Link])
17
! ! ! Programación en lenguaje MC
CALL
CALL subrutina
Con esta llamada se produce un salto a la subrutina indicada.
Una vez finalizada su ejecución se retorna a la instrucción de
8. código siguiente al de la línea de llamada.
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de espera
Ejemplo.
PROGRAM
----- 1 2
K76 ?
-----
CALL K76 _SBA, _SBB Any Other
----- MOVE
END MOVE P=2000 L ...
P=1000 L ...
SUB _SBB
MOVE P=2000 L=WAIT_IN_POS
ENDSUB
SUB _SBA
MOVE P=1000 L=WAIT_IN_POS
ENDSUB
40 Sentencias de espera
WAIT
Detiene la ejecución del código hasta que se cumpla una condición.
Tiene el siguiente formato:
DDS - MC WAIT <condición>
18
! ! ! Programación en lenguaje MC
DWELL
Se queda esperando a que transcurra un tiempo determinado.
Su formato es el siguiente:
DWELL <expresión>
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de movimiento
Si DWELL está precedida por una instrucción de movimiento, el
tiempo de espera comenzará cuando finalice esa instrucción anterior.
Ejemplo.
Sentencias de movimiento
HOME
Inicia el proceso automático de búsqueda de cero. Una vez
encontrado el "Punto de referencia" ( ), establece el punto de "Cero
Máquina" ( ) como origen de coordenadas para los movimientos
de tipo absoluto ( MOVE P = ... ).
19
! ! ! Programación en lenguaje MC
S400
I0's
8.
Speed
1 0 2
Position
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de movimiento
S51 (bH)
F1300 S41
S51 (aH)
S52
fig. 8 - 8
Se detiene el motor.
(SOFT [Link])
20
! ! ! Programación en lenguaje MC
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de movimiento
! Atendiendo a la captación motor:
[S52] ReferenceDistance1
[S150] ReferenceOffset1
[S175] DisplacementParameter1
B1S147 = 0 B0S147 = 0
B0S147 = 0 B1S147 = 1
S400 S400
I0s I0s
Pos Pos
B0S147 = 1 B1S147 = 1
B0S147 = 0 B0S147 = 1
S400 S400
DDS - MC
I0s I0s
Pos Pos
(SOFT [Link])
fig. 8 - 9
21
! ! ! Programación en lenguaje MC
ZERO
La ejecución de esta instrucción hace que la posición actual del
accionamiento sea a par tir de entonces el nuevo origen de
coordenadas. Los movimientos de tipo absoluto se referirán a ese
punto.
Ejemplo de ZERO.
PROGRAM
Pos
HOME
MOVE P=0 L=NULL
MOVE P=100 L=NULL
ZERO
CALL _SIGMA
MOVE P=100 L=NULL
ZERO
CALL _SIGMA
END 100 mm 100 mm
fig. 8 - 10
MOVE
Instrucción para el posicionamiento o movimiento de interpolación
interna.
22
! ! ! Programación en lenguaje MC
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de movimiento
Este parámetro "V" es opcional. Si no se especifica en la instrucción,
la variable [F2312] PositioningVelocityDefault establece la
velocidad de posicionamiento por defecto.
Las unidades para este valor son m/min, con una precisión de décima
de mm/min. Véase capítulo 7.
23
! ! ! Programación en lenguaje MC
Ejemplos.
1. Ejemplo genérico (sin conflictos)
ZERO
MOVE P=50 V=VEL L=PRESENT
MOVE P=100 V=VEL/2 L=NEXT
MOVE P=150 V=VEL/3 L=NULL
8. Speed
VEL
50 mm 50 mm 50 mm
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de movimiento
VEL/2
VEL/3
Pos
ZERO
MOVE P=40 V=VEL L=NEXT
MOVE P=150 V=VEL/3 L=PRESENT
MOVE P=40 V=VEL/3 L=NULL
Speed
40 mm 60 mm 50 mm
VEL
VEL/3
Pos
PROGRAM
HOME
WHILE(1)
MOVE P=0 L=NULL
MOVE P=100 V=VEL1 L=NEXT
MOVE D=45 V=VEL2 L=PRESENT
ENDWHILE
END
40 Speed 100 mm 45 mm
VEL1
F1300
VEL2
S41 Pos
F1312
DDS - MC
(SOFT [Link])
24
! ! ! Programación en lenguaje MC
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de movimiento
S260 PositioningAcceleration. Limite de aceleración aplicado
a todas la instrucciones de posicionamiento.
(SOFT [Link])
25
! ! ! Programación en lenguaje MC
Pa r a o b t e n e r i n fo r m a c i ó n a c e r c a d e l a s s e n t e n c i a s
correspondientes, véase el capítulo 10: Sincronización
8. ! Leva electrónica
PROGRAMACIÓN EN LENGUAJE MC
Sentencias de movimiento de sincronización
Pa r a o b t e n e r i n fo r m a c i ó n a c e r c a d e l a s s e n t e n c i a s
correspondientes, véase el capítulo 14: Leva electrónica
START
40
STOP
(SOFT [Link])
26
! ! ! Programación en lenguaje MC
Speed
150 mm
Stop Start
VEL
Pos
8.
PROGRAMACIÓN EN LENGUAJE MC
RESET
RESET
.....
MOVE D=50 V=VEL/2 L=PRESENT
MOVE P=150 V=VEL L=NEXT
.....
150 mm
Speed
50 mm
VEL
Reset Start
VEL/2
Pos
50 mm
ABORT
150 mm
Speed
80 mm
VEL
Abort
VEL/2
DDS - MC
Pos
(SOFT [Link])
27
! ! ! Programación en lenguaje MC
Funciones de habilitación
Sólo cuando esos dos bits tienen valor "1", el sistema de Motion
control puede generar la consigna y mover el motor.
40
DDS - MC
(SOFT [Link])
28
! ! ! Programación en lenguaje MC
8.
PROGRAMACIÓN EN LENGUAJE MC
Resumen de comandos de programación de MC
Ejecución condicional IF, ELSE, ELSEIF, ENDIF
Ejecución cíclica condicional WHILE, ENDWHILE
Control de flujo Ejecución cíclica FOR, ENDFOR
Salto GOTO
Llamada CALL
Condición WAIT
Espera
Tiempo DWELL
P NULL, NEXT
Interpolación interna HOME, ZERO, MOVE V L L = PRESENT
Movimiento D WAIT_IN_POS
Sincronización FOLLOW ON/OFF, CAM SELECT /ON/OFF
Asignación =
Suma +
Resta -
Aritméticos Multiplicación *
División /
Módulo MOD
Función NO BNOT
Función O BOR
Binarios
Función Y BAND
Función O exclusiva BXOR
Operadores
Igual EQ
Distinto NE
Mayor GT
Relacionales
Mayor o igual GE
Menor LT
Menor o igual LE
DDS - MC
Función NO NOT
Función O OR
Lógicos
Función Y AND
Función O exclusiva XOR (SOFT [Link])
Paréntesis ()
29
! ! ! Programación en lenguaje MC
ANEXO 1
Errores:
8. E000:
E001:
Un nombre no puede empezar por un dígito.
Nombre demasiado largo.
E002: Variable SERCOS fuera de rango.
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 1
30
! ! ! Programación en lenguaje MC
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 1
E160: División por cero.
E161: Desbordamiento en la expresión.
E162: Falta etiqueta de salto tras GOTO.
E163: Falta nombre de subrutina tras CALL.
E164: Sentencia de asignación incorrecta.
E165: Operador de comparación incorrecto: =.
E166: Falta la condición del WAIT.
E167: Falta el tiempo de espera.
E168: Demasiados ELSEIF anidados.
E169: Fallo al compilar la sentencia.
Listado de warnings
DDS - MC
(SOFT [Link])
31
! ! ! Programación en lenguaje MC
ANEXO 2
Errores:
40 E910
E911
Desbordamiento al calcular posición.
Posicionamiento absoluto sin referenciar.
E912 Intento de escritura de un contador del PLC.
E913 Pcode desconocido.
E914 TargetPosition excede ModuloValue.
E915 El incremento de posición excede la mitad de
DDS - MC ModuloValue.
E916 Error durante la ejecución del comando HOME.
E917 Sobrepasamiento del límite de posición.
E918 Sobrepasamiento del límite de velocidad.
E919 Timeout de sincronización.
(SOFT [Link])
E920 Error en la inicialización de levas.
E921 Leva no preparada.
E922 MOVE con aceleración nula.
32
! ! ! Programación en lenguaje MC
ANEXO 3
Ficheros de cabecera
"[Link]"
Contiene defines para las variables Sercos y Fagor más relevantes. También incluye
defines para algunas constantes.
; [Link]
;
; Defines de variables con identificadores SERCOS
;
8.
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 3
DEF POS_COMMAND S00047 ;PositionCommand
DEF LIM_POS S00049 ;PositivePositionLimit
DEF LIM_NEG S00050 ;NegativePositionLimit
DEF POS_FEEDBACK1 S00051 ;PositionFeedback1
DEF POS_FEEDBACK2 S00053 ;PositionFeedback2
DEF MODULO S00103 ;ModuleValue
DEF FEEDRATE S00108 ;FeedrateOverride
DEF JERK S00193 ;PositioningJerk
DEF TARGET_POS S00258 ;TargetPosition
DEF VELOCITY S00259 ;PositioningVelocity
DEF ACC S00260 ;PositioningAcceleration
;
; Defines de Marcas SERCOS
;
DEF VEL_GT_LIMIT S00315 ;PositioningVelocityGreaterThanLimit
DEF TARGET_GT_LIMIT S00323 ;TargetPositionOutsideOfTravelRange
DEF IN_POSITION S00336 ;InPosition
DEF POS_ATTAINED S00342 ;TargetPositionAttained
DEF INTERP_HALTED S00343 ;InterpolatorHalted
DEF POS_FEEDACK_ST S00403 ;PositionFeedbackStatus
DEF POS_COMM_ST S00404 ;PositionCommandStatus
;
; Defines de variables y marcas con identificadores de FAGOR
;
DEF LINK F02310 ; ProcessBlockMode
DEF LIM_FRO F02311 ; FeedrateOverrideLimit
DEF DF_SPEED F02312 ;PositioningVelocityDefault
DEF K_OPER_MODE F02313 ;KernelOperationMode
DEF K_AUTO_SUBMODE F02314 ; KernelAutoSubmode
DEF K_START_SIG F02315 ; KernelStartSignal
DEF K_STOP_SIG F02316 ; KernelStopSignal
DEF K_RESET_SIG F02317 ; KernelResetSignal
DEF K_ABORT_SIG F02318 ; KernelAbortSignal
DEF K_MAN_SUBMODE F02319 ; KernelManualSubmode
DEF JOG_POS F02320 ; JogPositiveSignal
DEF JOG_NEG F02321 ; JogNegativeSignal
DEF JOG_VEL F02322 ; JogVelocity
DEF JOG_INC_POS F02323 ; JogIncrementalPosition
DEF IN_POS_TIME F02325 ; InPositionTime
DEF PROG_OFFSET F02326 ; ProgramPositionOffset
DEF K_INIT_ERR F02327 ; # del error de inicialización DDS - MC
DEF K_EXEC_ERR F02328 ; # del error de ejecución
;
; Defines de constantes
;
DEF TRUE 1 (SOFT [Link])
DEF FALSE 0
DEF PI 3.1416
33
! ! ! Programación en lenguaje MC
ANEXO 4
8. •
•
Número de defines
Memoria de usuario (variables y arrays)
1000
1000
• Número de sentencias 1000
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 4
40
DDS - MC
(SOFT [Link])
34
! ! ! Programación en lenguaje MC
ANEXO 5
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 5
PROG_OFFSET = 0 ; Eliminar offset de posición programable
WHILE(1) ; Bucle infinito
WAIT(BNOTJOG_POS AND BNOTJOG_NEG)
; Esperar a que Jog+ y Jog- sean nulas
WAIT(JOG_POS OR JOG_NEG)
; Esperar a que se active alguna de las dos
IF(JOG_POS AND BNOTJOG_NEG)
; Si se activa Jog+ y no Jog-
IF(K_MAN_SUBMODE); Si es Jog incremental ...
MOVE D=JOG_INC_POS V=JOG_VEL L =NULL
ELSE ; Si es Jog continuo ...
MOVE P=(LIM_POS-1) V=JOG_VEL
ENDIF
ELSEIF(JOG_NEG AND BNOTJOG_POS)
; Si se activa Jog- y no Jog+
IF(K_MAN_SUBMODE); Si es Jog incremental ...
MOVE D=-JOG_INC_POS V=JOG_VEL L=NULL
ELSE ; Si es Jog continuo ...
MOVE P=(LIM_NEG+1) V=JOG_VEL
ENDIF
ENDIF
ENDWHILE
END
(SOFT [Link])
35
! ! ! Programación en lenguaje MC
ANEXO 6
8. #INCLUDE «[Link]»
DEF MEMORIA_START M9
; memorización de una señal de START anterior (el motor está en
; funcionamiento)
PRG
DDS - MC T2 = MARCA_TEMP
DFD MARCA_TEMP AND ENABLE_OK_BIT
; temporización 2 concluida, y regulador en "TorqueOn"
= MOV 0 K_START_SIG ; fin de la señal START
= RES NO_ENABLE ; registra que el regulador está
; habilitado.
(SOFT [Link])
END
36
! ! ! Programación en lenguaje MC
ANEXO 7
;
#INCLUDE «[Link]» 8.
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 7
DEF START I1 ;entradas digitales
DEF STOP I2
DEF RESET I3
DEF ABORT I4
DEF MEMORIA_START M9
;memorización de una señal de START anterior (el motor está en
;funcionamiento)
PRG
END
DDS - MC
(SOFT [Link])
37
! ! ! Programación en lenguaje MC
ANEXO 8
Programa "[Link]" (fracción):
Programa PLC sugerido por Fagor para la gestión de las señales de
JOG entre el programa de PLC y el programa de MC:
;
#INCLUDE «[Link]»
8. DEF JOG_MAS
DEF JOG_MENOS
I5
I6
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 8
DEF MEMORIA_START M9
;memorización de una señal de START anterior (el motor está en
;funcionamiento)
PRG
END
38
! ! ! Programación en lenguaje MC
ANEXO 9
DEF HOME_SWITCH I7
8.
PROGRAMACIÓN EN LENGUAJE MC
ANEXO 9
PRG
END
CY1
( ) = RES MEMORIA_START
( ) = RES NO_ENABLE
( ) = RES STOP_JOG = RES DOS_JOGS
( ) = SET STOPGEN_IN_PROCS
END
DDS - MC
(SOFT [Link])
39
! ! ! Programación en lenguaje MC
8.
PROGRAMACIÓN EN LENGUAJE MC
DDS - MC
(SOFT [Link])
40
EJEMPLOS DE PROGRAMACIÓN
9
Configuración hardware
SL2 SL1
1 1 I1
I17 I2
I18 I3
I19 I4
X11 I20
I21 X6 O1
I22
I23 O2
9 I24
O3
1
I25 O4
I26 13
I27
X12 I28 P2
I29
I30 P1
I31 A1
9 I32
16DI-8DO 1
1
O17
O18 X7
O19
X13 O20
O21
O22
O23
9 O24 11
fig. 9 - 1
Digital_Inputs_SL1 = 4
Digital_Inputs_SL2 = 16
Digital_Outputs_SL1 = 4
Digital_Outputs_SL2 = 8 DDS - MC
Marks = 64
Timers = 16
Counters = 16
Registers = 32 (SOFT [Link])
1
! ! ! Ejemplos de programación
PROGRAM
sentencias
END
JOG
EJEMPLOS DE PROGRAMACIÓN
Módulo manual del programa de MC
sentencias
END
ELSE
MOVE P=(LIM_POS-1) V=JOG_VEL;Si
24 ENDIF
ENDIF
ENDIF
END
2
! ! ! Ejemplos de programación
Límites al posicionamiento
Si el accionamiento va a ser rotativo en formato módulo es necesario
deshabilitar los límites de posicionamiento. Entonces los parámetros
LIM_POS y LIM_NEG pueden no estar inicializados. Para realizar
el desplazamiento de Jog continuo el programa anterior ejecuta un
movimiento de una distancia suficientemente grande (D = 36000).
EJEMPLOS DE PROGRAMACIÓN
Programa de PLC
máquina y , por tanto, la posición de destino no será la que se desea.
Programa de PLC
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
DEF MEMORIA_START M9
; memorización de una señal de START anterior (el motor está en
; funcionamiento)
(SOFT [Link])
3
! ! ! Ejemplos de programación
; Inicializaciones
CY1
( ) = RES MEMORIA_START
( ) = RES NO_ENABLE
( ) = RES STOP_JOG = RES DOS_JOGS
( )= SET STOPGEN_IN_PROCS
END
9.
; Programa
EJEMPLOS DE PROGRAMACIÓN
Programa de PLC
PRG
T1 = MARCA_TEMP
T2 = MARCA_TEMP
4
! ! ! Ejemplos de programación
EJEMPLOS DE PROGRAMACIÓN
Programa de PLC
;igualmente con la señal STOP
DFU STOP = MOV 1 K_STOP_SIG 16 = RES MEMORIA_START
DFD STOP = MOV 0 K_STOP_SIG 16
5
! ! ! Ejemplos de programación
24 END
DDS - MC
(SOFT [Link])
6
! ! ! Ejemplos de programación
Ejemplo 111
Pitch 10 mm
9.
0 2 3 6 9
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 111
; Módulo de modo automático del programa de MC (*)
PROGRAM
WHILE ( 1 )
ENDWHILE
END
7
! ! ! Ejemplos de programación
Ejemplo 222
1
0
9. MSB LSB GO
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 222
0 2 3 6 9
DEF GO_SIGNAL M1
DEF INDICE R1
Fichero [Link]
#INCLUDE "[Link]"
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
PAR TABLA_POS [ 4 ]
PROGRAM
WHILE ( 1 )
ENDIF
24 ENDWHILE
END
8
! ! ! Ejemplos de programación
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 222
Para que esta inicialización quede permanentemente registrada en
la memoria flash del regulador deberá activarse el comando LC1,
almacenando estos valores hasta que el usuario realice nuevas
modificaciones.
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
; Líneas de programa
; Asignación de las marcas para la transmisión de señales digitales al
; programa de MC,
; (son marcas del PLC definidas en el fichero incluido "[Link]")
; Las salidas digitales son sólo testigos para la visualización
Comunicación PLC - MC
Entre los programas de MC y PLC pueden transmitirse información
a través de distintos recursos del PLC. Estos son:
Registros generales (R1, ...)
Registros de Contadores (C1, ...)
Marcas (M1, ...)
9
! ! ! Ejemplos de programación
Ejemplo 333
9.
1
0
GO TEACH
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 333
DEF GO_SIGNAL M1
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
PROGRAM
; Inicializaciones
ACC = 12 ; Aceleración de 12 m/s^2
JERK = 240 ; Jerk = Acc/ts; para ts de 50ms, Jerk = 240 m/s^3
HOME
MOVE P = 0 L = WAIT_IN_POS ; Posicionarse en el origen
K_OPER_MODE = MANUAL
DDS - MC WAIT ( K_OPER_MODE EQ AUTOMATICO )
POS_TABLE [ INDEX ] = POS_FEEDBACK1
ENDFOR
WHILE ( 1 )
(SOFT [Link])
MOVE P = 0 L = WAIT_IN_POS
10
! ! ! Ejemplos de programación
ENDFOR
ENDWHILE
END
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 333
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
; Líneas de programa
; Asignación de las marcas para la transmisión de señales digitales al
; programa de MC,
; (son marcas del PLC definidas en el fichero incluido "[Link]")
; La salida digital es sólo un testigo para la visualización
11
! ! ! Ejemplos de programación
9.
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 333
24
DDS - MC
(SOFT [Link])
12
! ! ! Ejemplos de programación
Ejemplo 444
90 1
0
GO
180 0
9.
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 444
Módulo de modo automático para un programa de MC (*)
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
DEF GO_SIGNAL M1
PROGRAM
HOME
MOVE P = 0 L = WAIT_IN_POS
;Posicionarse en el origen
WHILE ( 1 )
MOVE P = 45 L = WAIT_IN_POS
;Secuencia de movimientos
ENDWHILE
END DDS - MC
(*) Nótese que a este módulo le deberá acompañar el de modo ma-
nual, ambos necesarios en un programa de MC.
(SOFT [Link])
13
! ! ! Ejemplos de programación
DEF GO_SIGNAL M1
DEF GO_SIGNAL_INPUT I28 ; entradas de eventos externos
DEF GO_SIGNAL_OUTPUT O17 ; salidas de eventos externos
; Líneas de programa
; Marcas para la transmisión de señales digitales al programa de MC
; Las salidas digitales son solo testigos para la visualización
90 90 90 90
0 0 0 0
Inicialización de parámetros
Para trabajar en Formato módulo hay que poner el Bit 7 de [S76]
PositionDataScalingType a 1. Es decir S76 = 194.
Para que el giro se realice por el camino más corto hay que dar a los
bits menos significativos de [S393] ModuloCommandMode el valor
10. Es decir S393 = 2.
Transmisión rotativa-lineal
Establecer por parámetro que la relación de transmisión es 1:1 y el
escalado rotativo:
14
! ! ! Ejemplos de programación
Ejemplo 555
9.
1
0
GO TEACH TEACH
PROC
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 555
0
Programa de MC
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
PROGRAM
; inicializaciones
MOVE P = 0 L = WAIT_IN_POS;
; posicionamiento en el origen
IF ( TEACH_IN_PROCEDURE_SIGNAL)
CALL TEACH_IN_PROCEDURE
WAIT ( NOTTEACH_IN_PROCEDURE_SIGNAL)
ENDIF
WHILE ( 1 ) ; siempre
ENDWHILE
(SOFT [Link])
END
15
! ! ! Ejemplos de programación
JOG
WAIT ( NOT JOG_POS AND NOT JOG_NEG )
; espera a jog+ y jog- desactivados
IF ( K_MAN_SUBMODE )
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 555
; jog incremental
MOVE D = JOG_INC_POS V= JOG_VEL L= NULL
ELSEIF ( POS_POLRTY_PARS BAND $00000010)
; jog continuo
MOVE D = 36000 V = JOG_VEL
;límites inactivos
ELSE
MOVE P = ( LIM_POS - 1) V = JOG_VEL
;límites activos
ENDIF
ENDIF
IF ( K_MAN_SUBMODE )
; jog incremental
MOVE D = JOG_INC_POS V = JOG_VEL L = NULL
ELSEIF ( POS_POLRTY_PARS BAND $00000010 )
; jog continuo
MOVE D = 36000 V = JOG_VEL
;límites inactivos
ELSE
MOVE P = ( LIM_NEG + 1 ) V = JOG_VEL
;límites activos
ENDIF
ENDIF
END
SUB TEACH_IN_PROCEDURE
FOR INDEX = 0, 1, 1
ENDFOR
ENDSUB
DDS - MC
Tras la búsqueda de "Cero" se sitúa en P = 0,
! Conmutar el modo manual
! Activar el Procedimiento de Teach-in.
! Con el Jog, mover el accionamiento al primer punto
(SOFT [Link])
! Activar la señal Teach
! Repetir para el segundo punto (opcional)
! Conmutar el modo automático
! Mediante la señal GO se inicia el ciclo de movimientos.
16
! ! ! Ejemplos de programación
DEF
DEF
DEF
GO_SIGNAL
TEACH_IN_PROCEDURE_SIGNAL
TEACH_SIGNAL
M1
M2
M3
9.
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 555
; líneas de programa
; marcas para la tansmisión de señales digitales al programa de MC
TEACH_IN_PROC_SIGNAL_INPUT
= TEACH_IN_PROCEDURE_SIGNAL
= TEACH_IN_PROC_SIGNAL_OUTPUT
TEACH_SIGNAL_INPUT
= TEACH_SIGNAL
= TEACH_SIGNAL_OUTPUT
GO_SIGNAL_INPUT
= GO_SIGNAL
= GO_SIGNAL_OUTPUT
DDS - MC
(SOFT [Link])
17
! ! ! Ejemplos de programación
Ejemplo 666
9. 90 1
0
GO B2 B1 B0
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 666
180 0
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
DEF GO_SIGNAL M1
DEF ACTION_SIGNAL M2
DEF NSECTOR R1 ; número de sectores
DIM SECTION, INDEX
PROGRAM
HOME
MOVE P = 0 L = WAIT_IN_POS ; Posicionarse en el origen
WHILE ( 1 )
IF ( NSECTOR )
;Sólo si el número de sectores es distinto de cero
MOVE P = 0 L = WAIT_IN_POS
: Posicionarse en el origen
CALL EXTERNAL_ACTION
; Acción en la posición cero
SUB EXTERNAL_ACTION
ACTION_SIGNAL = 1
DWELL 1000 ;Durante un segundo
ACTION_SIGNAL = 0
(SOFT [Link])
ENDSUB
18
! ! ! Ejemplos de programación
DEF GO_SIGNAL M1
DEF ACTION_SIGNAL M2
DEF NSECTOR R1 ; número de sectores
DEF GO_SIGNAL_INPUT I28 ; señal de marcha
DEF B0_SIGNAL_INPUT I29 ; bits para la definición del
; número de sectores
DEF B1_SIGNAL_INPUT I30 ; B0 (LSB), B4 (MSB)
DEF B2_SIGNAL_INPUT I31
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 666
DEF ACTION_SIGNAL_OUTPUTO18
; señal de actuación
; Líneas de programa
; Marcas para la transmisión de señales digitales al programa de MC
; Las salidas digitales son solo testigos para la visualización
1 90 90 90
0
GO B2 B1 B0
0 0 0
ACTION
DDS - MC
(SOFT [Link])
19
! ! ! Ejemplos de programación
Ejemplo 777
9.
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 777
Speed
X_SPEED
XY_SPEED
X Y Weight
Modo velocidad
Hay que configurar el regulador para trabajar en Modo velocidad
haciendo PrimaryOperationMode S32 = 2. El programa de PLC
escribirá sobre la variable [S36] VelocityCommand.
Entrada analógica
La medida del peso debe estar dentro del rango ±10V. Esta señal
eléctrica se lleva a la entrada analógica 1. El PLC conoce el valor de
esta tensión consultando la variable F905 AnalogInput1 que se define
en el fichero "ad_da.inc" como ANA_IN_1.
DDS - MC
(SOFT [Link])
20
! ! ! Ejemplos de programación
Programa de PLC
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
#INCLUDE "C:\Editor\MyFiles\PLCFiles\ad_da.inc"
DEF IN_PROCESS M1
DEF LESS_THAN_X M2
DEF
DEF
DEF
LESS_THAN_Y
X_SPEED_ZONE
XY_SPEED_ZONE
M3
M4
M5
9.
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 777
DEF NULL_SPEED_ZONE M6
; ——————————————————————————
;
; Líneas de programa
; Este programa controla la velocidad del motor, es decir, modifica la
; consigna interna de velocidad SV1 [S36] VelocityCommand. Para que el
; lazo de posición no modifique esta variable hay que configurar el regulador
; en modo de velocidad AP1= 2.
;
; No es necesario ningún programa de MC.
PRG
LESS_THAN_X = X_SPEED_ZONE
LESS_THAN_Y AND NOT LESS_THAN_X = XY_SPEED_ZONE
NOT LESS_THAN_Y = NULL_SPEED_ZONE
END
DDS - MC
(SOFT [Link])
21
! ! ! Ejemplos de programación
Ejemplo 888
1
3m
0
9. GO
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 888
Transmisión rotativa-lineal
La relación de transmisión por la correa es de 2/5, y el perímetro del
rodillo es 37.5 cm.
24
DDS - MC
(SOFT [Link])
22
! ! ! Ejemplos de programación
#INCLUDE "C:\Editor\MyFiles\MCFiles\[Link]"
DEF GO_SIGNAL M1
EJEMPLOS DE PROGRAMACIÓN
Ejemplo 888
; = 150 mm.
; Se aumentará la ventana de posición S57 PositionWindow en la misma
; proporción S57 = 1500.
;
PROGRAM
WHILE ( 1 )
ENDWHILE
END
; Líneas de programa
; Marcas para la transmisión de señales digitales al programa de MC
; Las salidas digitales son solo testigos para la visualización
DDS - MC
(SOFT [Link])
23
! ! ! Ejemplos de programación
9.
EJEMPLOS DE PROGRAMACIÓN
DDS - MC
(SOFT [Link])
24
SINCRONIZACIÓN
10
Consideraciones iniciales
DDS - MC
(SOFT [Link])
1
! ! ! Sincronización
Relaciones de sincronización
Sincronización en velocidad
Vs = ( VM * ratio * ( 1 + ajuste ) ) + Vo
fig. 10 - 1
2
! ! ! Sincronización
V Vs calculada
10.
SINCRONIZACIÓN
Testeos durante la sincronización en velocidad
Vs interna
aceleración de
1 sincronización
t
ajuste de velocidad
1. Inicio de la sincronización 2
2. Alcance de la sincronización
fig. 10 - 2
3
! ! ! Sincronización
Vs calculada
V
10. sincronización
ajuste de velocidad t
SINCRONIZACIÓN
Ajustes durante la sincronización de velocidad
1 2
error 919
Synchronization Timeout
fig. 10 - 3
Vs calculada
aceleración de
sincronización
14
Vs interna
aceleración de 3
1
sincronización
t
1. Inicio de la sincronización
2. Alcance de la sincronización
3. Variación del ajuste del ratio y/o del offset de velocidad
(SOFT [Link]) 4. Alcance de la sincronización
fig. 10 - 4
4
! ! ! Sincronización
Sincronización de posición
10.
SINCRONIZACIÓN
Sincronización de posición
En el modo de sincronización en fase o posición, la relación que se
establece entre el eje maestro y el eje esclavo viene determinada por
la siguiente expresión:
Xs = ( XM * ratio ) + Xo
fig. 10 - 5
Al iniciar este modo de sincronización existe una primera fase de (SOFT [Link])
adaptación de velocidad en la que se pasa de la velocidad que tenga
en ese momento el eje esclavo a la velocidad de sincronización
obtenida a par tir de la del maestro aplicando la ecuación
anteriormente dada.
5
! ! ! Sincronización
dX
dt dXs calculada
dt
fig. 10 - 6
14
Testeos durante la sincronización en posición
6
! ! ! Sincronización
SINCRONIZACIÓN
Ajustes durante la sincronización de posición
Una vez alcanzada la sincronización en posición, cualquier
modificación del offset de posición mediante la variable LV45 [F2345]
SynchronizationPositionOffset implica un nuevo valor de la
posición de sincronización del eje esclavo. Así, se genera una nueva
fase de adaptación de posición para alcanzar la nueva posición de
sincronización.
dXs calculada
dt
dXs interna
dt
Aceleración de
sincronización
1
1. Inicio de la sincronización
2. Alcance de la sincronización
3. Variación del offset de posición
4. Alcance de la sincronización
fig. 10 - 7
Ejemplo representativo del proceso de sincronización tras una modificación en el offset de posición del
eje esclavo.
7
! ! ! Sincronización
Sentencias de sincronización
FOLLOW OFF
14
y tras la ejecución de esta sentencia se genera un perfil de movimiento
o trayectoria de deceleración con el fin de eliminar la componente de
velocidad de sincronización en curso.
DDS - MC
(SOFT [Link])
8
! ! ! Sincronización
SINCRONIZACIÓN
Efecto de sentencias en el ritmo de ejecución
en velocidad y un segundo paso de adaptación de posición (pasos
1 y 2) si se trata de una sincronización en posición.
9
! ! ! Sincronización
Ajuste de Ajuste de
velocidad velocidad
Ajuste de
posición
t
In
Synchronization
Aplicación
... t
FOLLOW ON
DWELL ( 1000 )
F2344 = F2344 / 2
MOVE D = 10 L = NULL
FOLLOW OFF
...
fig. 10 - 8
10
! ! ! Sincronización
dXs calculada
Velocidad de
posicionamiento
10.
SINCRONIZACIÓN
Efecto de sentencias en el ritmo de ejecución
dt
Aceleración de
dXs interna posicionamiento
dt Aceleración de
sincronización
ajuste de
velocidad
ajuste
de posición
t
ajuste ajuste
ajuste de posición de velocidad
In de posición
Synchronization
Aplicación
... t
FOLLOW ON
DWELL ( 1000 )
F2345 = F2345 / 2
MOVE D = 10 L = NULL
FOLLOW OFF
...
fig. 10 - 9
11
! ! ! Sincronización
el que se detuvo.
t
In
Synchronization
t
STOP
t
START
t
14 ABORT
t
Aplicación
...
FOLLOW ON
DDS - MC DWELL ( 1000)
MOVE D = 10 L = NULL
FOLLOW OFF
...
fig. 10 - 10
(SOFT [Link])
Ejemplo de secuencia de sincronización. Efecto de las señales de control.
12
! ! ! Sincronización
10.
SINCRONIZACIÓN
DDS - MC
(SOFT [Link])
13
! ! ! Sincronización
10.
SINCRONIZACIÓN
DDS - MC
(SOFT [Link])
14
INDEX
11
Introducción
( LSB )
flanco descendente
0 - flanco inactivo (SOFT [Link])
1 - flanco activo
flanco ascendente
0 - flanco inactivo
1 - flanco activo
1
! ! ! Index
DDS - MC
(SOFT [Link])
2
! ! ! Index
INDEX
Comandos, variables y parámetros
Probe1NegativeLatched
0 - no capturado
1 - capturado
Probe1PositiveLatched
0 - no capturado
1 - capturado
3
! ! ! Index
Modo de trabajo
Parametrización
Ejemplo 1.
PP169 = 33 1 0 0 0 0 1 (LSB)
Ejecución
DEFS_INDEX_ENABLE S405
( ) = MOV 1 S_INDEX_ENABLE
Rearme
(SOFT [Link])
4
! ! ! Index
11.
3
PC170
INDEX
Parametrización
0
t
PV205 1
0
t
MARCAS
t
PV53 PV53
PV130
t
1 1
PV179. bit 0 0 0
t
1 1
PV209 0 0
t
fig. 11 - 1
Ejemplo 2.
PP169 = 19 0 1 0 0 1 1 (LSB)
Ejecución
DEFS_INDEX_ENABLE S405
( ) = MOV 1 S_INDEX_ENABLE
5
! ! ! Index
Rearme
3
PC170
0
t
1 1 1
PV205
0 0 0
t
(1) (2)
MARCAS
t
PV51 PV51
PV130
t
PV51 PV51
PV131
t
1 1
PV179. bit 0 0 0
t
1 1
PV179. bit 1 0 0
t
1 1
PV209 0 0
t
14 PV210
1
0
1
0
t
fig. 11 - 2
(SOFT [Link])
6
! ! ! Index
ANEXO 1
INDEX
ANEXO 1
das en velocidad y posición.
cizalla
Vf
marcas
detector de marcas
- Index -
DRIVE MODULE
X3
X4
2ª captación
NODE
X5 SE LEC T
OUT
STATU S
D ISPLA Y
IN
1 2
rueda medidora
9 10
X8
1
X1
X6
9
P1 X2
P2
1 1
GN D
DR IVE
EN ABL E
SP E E D
EN ABL E
DR . X2
O. K.
X7
0V
+2 4Vd c
8
FU SE
(250V)
11
2,5A( F)
D ANG ER
H IGH V OLTAGE
D IS CHAR GE TIM E>1Min
fig. 11 - 3
(SOFT [Link])
7
! ! ! Index
____________________________________________________________________
MOTION. INC
8
! ! ! Index
INDEX
ANEXO 1
____________________________________________________________________
____________________________________________________________________
; CIZALLA VOLANTE
#INCLUDE "C:\Fagor\Editor\[Link]"
; Definiciones para la sincronización
; Otras definiciones
DEF INICIO_CICLO M1
DEF CIZALLA_ABAJO M2
DEF CIZALLA_ARRIBA M3
DEF FIN_AVANCE M4
DEF FIN_CICLO M5
; Parámetros DDS - MC
(SOFT [Link])
PAR AVANCE ; avance de la cizalla tras el corte.
9
! ! ! Index
PROGRAM
; inicializaciones:
#R1 = DISTANCIA
11. R2= NUM_MARCAS
INDEX
ANEXO 1
LINK = MODO_WAIT_IN_POS
HOME
MOVE P = 0
; ---------------------------------------------------------------------------------------------------------------------
; bucle del programa
WHILE (1)
WAIT (NOT INICIO_CICLO) ; esperar el inicio del ciclo
WAIT ( INICIO_CICLO)
FOLLOW ON ; arrancar la sincronización
WAIT (NOT CIZALLA_ABAJO) ; esperar a que baje la cizalla
WAIT (CIZALLA_ABAJO)
MOVE D = AVANCE ; realizar avance de separar cizalla tras corte
FIN_AVANCE = 1 ; avisar al PLC de que ya se ha realizado el
; avance
14 WAIT (NOT CIZALLA_ARRIBA); esperar a que suba la cizalla
WAIT (CIZALLA_ARRIBA)
FOLLOW OFF ; detener el movimiento de sincronización
MOVE P = 0 ; volver al origen
FIN_CICLO = 1
ENDWHILE
DDS - MC REGISTER_COMM = 0 ; detener el comando de la señal de registro
END
; ---------------------------------------------------------------------------------------------------------------------
(SOFT [Link])
10
! ! ! Index
; marcas
INDEX
ANEXO 1
; registros
DEF R_N_MARK R2
DEF R_MARK_COUNTER R22
DEF R_STATE_INDEX R23L
DEF R_TEMP R24
DEF R_LIM_SUP R27
DEF R_LIM_INF R28
DEF R_LATCHED_VALUE R29
; temporizadores
DEF N_T_SHARED 2
DEF T_SHARED T2
DEF N_T_INDEX 3
DEF T_INDEX T3
DEF S_FEEDBACK2 S53
DEF S_FEEDBACK1 S51
DEF S_ERR_SET S34781
DEF S_INDEX_LATCHED S409
DEF S_LATCHED_VALUE S130
DEF S_INDEX_ENABLE S405
DEF N_INDEX_WAIT 1
DEF N_INDEX_WAIT_TRIG 2
DEF N_INDEX_ENABLE_DLY 3
DEF N_INDEX_ENABLE 4
DEF N_INDEX_WAIT_ARM 5
DEF N_INDEX_VAL_RD 6
DEF N_INDEX_WAIT_2_RD 7
;-----------------
( ) = RES M_MARKS_TOO_FAST
( ) = RES M_INDEX_TRIGGERED = RES M_ERR_1 = RES M_ERR_2
( ) = RES N_INDEX_WAIT R_STATE_INDEX 16 (SOFT [Link])
END
11
! ! ! Index
PRG
END
; ---------------------------------------------------------------------------------------------------------------------
ENABLES:
END
; ---------------------------------------------------------------------------------------------------------------------
INDEX_LATCH:
END
INDEX_WAIT_TRIG:
END
INDEX_WAIT_2_RD:
END
(SOFT [Link])
12
! ! ! Index
INDEX_VAL_RD:
INDEX
ANEXO 1
() = MOV N_INDEX_ENABLE_DLY R_STATE_INDEX 16
END
INDEX_ENABLE_DLY:
END
INDEX_ENABLE:
END
INDEX_WAIT_ARM:
END
MODE_AUTO:
END
; ---------------------------------------------------------------------------------------------------------------------
COMPARADOR:
END
DDS - MC
(SOFT [Link])
13
! ! ! Index
11.
INDEX
DDS - MC
(SOFT [Link])
14
PROTOCOLO DE COMUNICACIÓN
DNC50 12
Función, capacidades y limitaciones
Características funcionales
Protocolo DNC
DDS - MC
Seguidamente se hac e una descr ipción del protocolo de
comunicación entre un regulador digital FAGOR y un PC (u otro
dispositivo que efectúe como maestro el protocolo de ejecución) vía
DNC sin tener en cuenta la información a transmitir. Por tanto, trata
del "nivel de transmisión de datos" que garantiza la integridad de los (SOFT [Link])
datos a pesar de interferencias electromagnéticas.
1
! ! ! DNC50
Características internas
! Comunicación asíncrona.
! Protocolo orientado a carácter.
Hay una serie de caracteres especiales que no pueden
transmitirse como datos y que realizan únicamente
funciones de control.
Definición de la terminología
2
! ! ! DNC50
Caracteres especiales
3
! ! ! DNC50
A, B, C, ...
Las letras mayúsculas A, B, C, ... se utilizan para identificar
al regulador con el cual el maestro desea comunicarse, donde
A representa el primer regulador, B el segundo, C el tercero
y así el resto.
4
! ! ! DNC50
La secuencia es la siguiente:
MAESTRO ESCLAVO
5
! ! ! DNC50
6
! ! ! DNC50
Comunicación
Cliente Servidor
ENQ
0
SOH S, orden, ETB CRC-16
1
STX texto ETB CRC-16
0
............
.............
.............
.............
.............
.............
STX texto ETX CRC-16
0ó1 DDS - MC
EOT
Obsérvese que:
• El primer carácter, detrás del SOH en el paquete de cabecera
(SOFT [Link])
del mensaje original es una R, indicando, por tanto, una
comunicación de petición de información. Sin embargo, en el
mensaje de respuesta es una S, indicando con ello que este
segundo mensaje es de envío de información.
7
! ! ! DNC50
12. Órdenes
PROTOCOLO DE COMUNICACIÓN DNC50
Órdenes
Notación
8
! ! ! DNC50
Paquetes de texto
Envío o petición
12.
Mnemónico Significado
S Envío de información
R Petición de información
Grupos de órdenes
Grupo TAB
Esclavo Maestro
ENQ ID ( ID si es multieje)
0
SOH R, TAB, [Link], ETX CRC-16
1
EOT
ENQ
0
9
! ! ! DNC50
Grupo VAR
Maestro Esclavo
ENQ ID ( ID si es multieje )
0
SOH R, VAR, SV1, ETX CRC-16
1
EOT
ENQ
0
Grupo DOM
Maestro Esclavo
ENQ ID ( ID si es multieje )
0
SOH R, DOM, JV5, ETX CRC-16
1
EOT
ENQ
0
18 1
STX
paquete 1
ETX CRC - 16
0
DDS - MC STX
paquete 2
ETX CRC - 16
1
(SOFT [Link]) STX
paquete N
ETX CRC - 16
EOT
10
! ! ! DNC50
1 Entradas
2 Imagen de las entradas
3 Salidas
4 Imagen de las salidas
5 Marcas
6 Imagen de las marcas
7 Registros
8 Contenido de los contadores.
9 Estados de los contadores.
10 Entradas de habilitación (Cens) de los contadores. DDS - MC
11 Estados de los temporizadores
12 Entradas de habilitación (Tens) de los temporizadores.
Dirección: (8 caracteres).
(SOFT [Link])
Comienzo del recurso correspondiente
Nº de elementos: (4 caracteres)
Offset del siguiente (4 caracteres).
elemento: Diferencia entre campos correspondientes
11
! ! ! DNC50
Ejemplo.
GV35 =
0001 versión
000C nº de recursos 12(0xC)
12. 04
07
tipo de dato
Id del dato
long
valores de los registros
PROTOCOLO DE COMUNICACIÓN DNC50
Ubicación de las variables de PLC
18 0040
0000
nº de
anchura
64(0x40)
1 bit entre marcas
(SOFT [Link])
12
! ! ! DNC50
Cuando es un bit, el nibble alto (parte alta del byte) indica el offset de
ese bit:
30 Variables de usuario
Dirección: (8 caracteres).
Comienzo del recurso correspondiente
Nº de elementos: (4 caracteres)
Offset del siguiente (4 caracteres).
elemento: Diferencia entre campos correspondientes
DDS - MC
(SOFT [Link])
13
! ! ! DNC50
Ejemplo.
GV36 = 00010001041E0000008204000004
0001 versión
0001 nº de recursos 1(0x01)
12. 04
1E
tipo de dato
Id del dato
long
valores de usuario
PROTOCOLO DE COMUNICACIÓN DNC50
Ejemplo de utilización de los canales % Vx
Obsérvese que mientras %V1, %V2 y %V4 son punteros que apuntan
a palabras de 2 bytes, %V3 apunta a una palabra tipo long (4 bytes).
Por tanto, %V5, %V6 y %V8 son palabras mientras que %V7 es una
palabra tipo long.
W,%V1,8467010
(SOFT [Link]) Para valores tipo long, como todas las variables de Motion Control,
se utiliza un procedimiento similar con un puntero diferente.
14
! ! ! DNC50
Así, para leer y escribir una palabra tipo long cuya dirección es
0x834562 (8602978):
Ejemplo 2.
15
! ! ! DNC50
Ejemplo 3.
Como las marcas son de tipo bit Word, si las primeras 16 marcas (M1
a M16) están ubicadas en la dirección 0x0000FD88, las siguientes 16
marcas (M17 a M24) se encuentran en la dirección de la palabra
siguiente, 0x0000FD8A, y así sucesivamente.
%V5 $ 0C10
(SOFT [Link])
16
! ! ! DNC50
DDS - MC
(SOFT [Link])
17
! ! ! DNC50
12.
PROTOCOLO DE COMUNICACIÓN DNC50
DDS - MC
(SOFT [Link])
18
PROTOCOLO DE COMUNICACIÓN
MODBUS 13
Comunicación mediante protocolo MobBus
posición
no 0
(SOFT [Link])
Modo RTU : codificación binaria de datos según estándar RTU
(Remote Transmission Unit).
Modo ASCII: codificación ASCII de datos.
fig.13- 1
Selección del protocolo de comunicación.
1
! ! ! ModBus
02 03 006B 0003 74 24
2 4
4 nº de recursos a leer: 3
fig.13- 2
Lectura del contenido de recursos. Mensaje de petición (modo RTU).
: 0 2 0 3 0 0 6 B 0 0 0 3 8 D CR LF
3A 30 32 30 33 30 30 36 42 30 30 30 33 38 44 0D 0A
10 2 4 6
1 carácter de encabezamiento
* Nótese que en código ASCII se representa cada carácter por su código en hexadecimal.
Así el carácter " : " se codifica como 3A. [ : L 3A]
(SOFT [Link])
fig.13- 3
Lectura del contenido de recursos. Mensaje de petición (modo ASCII).
2
! ! ! ModBus
fig.13- 4
Lectura del contenido de recursos. Mensaje de respuesta (modo RTU).
: 0 2 0 3 0 6 0 2 2 B 0 0 0 0 0 0 6 3 6 5 CR LF
3A 30 32 30 33 30 36 30 32 32 42 30 30 30 30 30 30 36 33 36 35 0D 0A
2 4 6
1 carácter de encabezamiento
* Nótese que en código ASCII se representa cada carácter por su código en hexadecimal.
Así el carácter " : " se codifica como 3A. [ : L 3A]
fig.13- 5
Lectura del contenido de recursos. Mensaje de respuesta (modo ASCII).
DDS - MC
(SOFT [Link])
3
! ! ! ModBus
13. 1 3 5 7
2 4 6
4 nº de recursos a escribir : 2
fig.13- 6
Escritura del contenido de recursos. Mensaje de petición (modo RTU).
1 3 5 7 9
: 0 1 1 0 0 0 8 7 0 0 0 2 0 4 0 0 0 A 0 1 0 2 5 5 CR LF
3A 3 0 3 1 3 1 3 0 3 0 3 0 3 8 3 7 3 0 3 0 3 0 3 2 3 0 3 4 3 0 3 0 3 0 4 1 3 0 3 1 3 0 3 2 3 5 3 5 0 D 0 A
2 4 6 8
1 carácter de encabezamiento
10 5
6
nº de recursos a escribir: 2
* Nótese que en código ASCII se representa cada carácter por su código en hexadecimal.
DDS - MC Así el carácter " : " se codifica como 3A. [ :L 3A]
fig.13- 7
Escritura del contenido de recursos. Mensaje de petición (modo ASCII).
(SOFT [Link])
4
! ! ! ModBus
4 nº de recursos a escribir : 2
fig.13- 8
Escritura del contenido de recursos. Mensaje de respuesta (modo RTU).
: 0 1 1 0 0 0 8 7 0 0 0 2 6 6 CR LF
3A 30 31 31 30 30 30 38 37 30 30 30 32 36 36 0D 0A
2 4 6
1 carácter de encabezamiento
5 nº de recursos escritos: 2
* Nótese que en código ASCII se representa cada carácter por su código en hexadecimal.
Así el carácter " : " se codifica como 3A. [ : L 3A]
fig.13- 9
Escritura del contenido de recursos. Mensaje de respuesta (modo ASCII).
DDS - MC
(SOFT [Link])
5
! ! ! ModBus
Recursos
Tipos de recursos
fig.13- 10
Identificación del recurso.
Cuando se lee uno de estos recursos, los primeros 4 bytes leídos son
una cabecera indicativa del tamaño de los datos leídos, y a
continuación se muestran los datos.
Su estructura será:
! Byte 1. Parte baja del tamaño en bytes
(SOFT [Link])
! Byte 2. Parte alta del tamaño en bytes
! Byte 3. Parte baja del tamaño máx. del recurso en bytes
! Byte 4. Parte alta del tamaño máx. del recurso en bytes
6
! ! ! ModBus
El protocolo ModBus:
! Trata todos los recursos como recursos de 16 bits. Si se desea
acceder a un recurso que tiene 32 bits serán necesarios dos
accesos, uno para acceder a la parte baja y otro para acceder a
la parte alta.
! Puede acceder al valor de varios recursos en un sólo acceso,
incluso a recursos de más de 16 bits.
! El acceso a recursos del tipo 0 ( variables Sercos® ) y del tipo 1
13.
000 000000110011 0
parte alta
variable Sercos nº 51 en binario
fig.13- 11
Dirección de una variable Sercos®.
001 000100101100 0
parte alta
variable Fagor nº 300 en binario
fig.13- 12
Dirección de una variable Fagor.
010 000000000001 0
DDS - MC
parte alta
registro PLC nº 1 en binario
fig.13- 13
Dirección del registro de PLC. (SOFT [Link])
7
! ! ! ModBus
011 000000000001 0
parte alta
variable MC nº 1 en binario
fig.13- 14
10
Acceso a un recurso tipo lista:
Para:
Dirección: 000 000000011110 1
variable S30
DDS - MC nº recursos: 2
los datos que devuelve el regulador son:
0x13,0,0x20,0,v,0,4,.,0,7, ,A,x,i,s,2,3, ,S,e,p,t
(SOFT [Link])
8
! ! ! ModBus
9
! ! ! ModBus
10
DDS - MC
(SOFT [Link])
10
LEVA ELECTRÓNICA
14
Consideraciones iniciales
La posición del eje maestro viene dada por una de estas variables:
(SOFT [Link])
1
! ! ! Leva electrónica
X - Xoff
LEVA ELECTRÓNICA
Relación de sincronización de levas
Y = Ks * Cam KM + Yoff
fig. 14 - 1
2
! ! ! Leva electrónica
Nótese que:
Los valores de Xoff y KM definen el rango de posiciones del eje
maestro en los que actúa la función de leva de forma que ésta
únicamente regula la posición del eje esclavo dentro de este rango.
Los valores de Yoff y KS permiten desplazar las posiciones del eje
esclavo fuera del rango de valores establecidos por la función de leva.
LEVA ELECTRÓNICA
Levas de tipo posición - tiempo
En el modo de sincronización de leva electrónica, la relación que se
establece entre el eje maestro y el eje esclavo para levas del tipo
(posición-tiempo) es:
t
Y = Ks * Cam Kt + Yoff
fig. 14 - 2
3
! ! ! Leva electrónica
Nótese que:
El valor de Kt define el rango de tiempo o duración total de la función
de leva.
Los valores de Yoff y KS permiten desplazar las posiciones del eje
esclavo fuera del rango de valores establecidos por la función de leva.
Perfil de leva
En el cálculo de la posición de sincronización del eje esclavo, el
regulador puede acceder internamente a una o dos tablas
normalizadas donde cada una de ellas define un perfil de leva
determinado con un máximo de 1024 valores o puntos normalizados
equidistantes.
Por tanto, previamente a la activación de la leva, es condición
necesaria la preparación de estas tablas que definen sus perfiles.
14 Modo de operación
Tras una iniciación en modo de sincronización de leva, el sistema
inicia el cálculo de la posición sincronizada del eje esclavo según una
de las relaciones de sincronización establecidas en los apartados
anteriores.
DDS - MC
Para alcanzar esta posición de sincronización calculada, el sistema
sigue el mismo procedimiento que en una sincronización en fase o
posición. Una primera fase de ajuste de velocidad y una segunda fase
de ajuste de posición, donde se consideran los parámetros:
(SOFT [Link]) ! Aceleración de sincronización:
LP41 [F2341] Synchronization Acceleration
! Velocidad de sincronización:
LP42 [F2342] Synchronization Velocity.
4
! ! ! Leva electrónica
dY
dt
dY calculada
dt
aceleración de sincronización
dY interna
dt velocidad de sincronización
LEVA ELECTRÓNICA
Modos de ejecución
al final de la fase 1
1 ajuste de velocidad 2 t
( fase 1 )
ajuste de posición
( fase 2 )
1. Inicio de la sincronización
2. Alcance de la sincronización
fig. 14 - 3
Modos de ejecución
5
! ! ! Leva electrónica
dt dY calculada
dt
dY interna
dt
área = error de posición
al final de la fase 1
t
1
ajuste de ajuste de posición
Error velocidad (fase 2)
(fase 1)
3
2
919
Timeout de sincronización
fig. 14 - 4
DDS - MC
Ajustes durante la sincronización de la leva
6
! ! ! Leva electrónica
dY calculada
dt
dY interna
dt
Aceleración de
14.
LEVA ELECTRÓNICA
Sentencias de sincronización de levas
sincronización
1 2 3 4
InSynchronization
t
1. Inicio de la sincronización
2. Alcance de la sincronización
3. Variación del offset de posición del eje esclavo
4. Alcance de la sincronización
fig. 14 - 5
Ejemplo representativo del proceso de sincronización tras una modificación en el ajuste del offset de
posición del eje esclavo.
(SOFT [Link])
7
! ! ! Leva electrónica
donde:
TIME: posición-tiempo
Ejemplo.
CAM ON n
donde:
DDS - MC
n Tabla normalizada a la que la sentencia hace
referencia. Valores admitidos: 1 y 2.
Ejemplo.
(SOFT [Link])
CAM ON 1
8
! ! ! Leva electrónica
LEVA ELECTRÓNICA
Sentencia de desactivación del movimiento de sincronización
o sincronización maestro/esclavo.
Su formato corresponde a la siguiente estructura:
CAM OFF
donde:
9
! ! ! Leva electrónica
diferentes.
10
! ! ! Leva electrónica
Ejemplo.
LEVA ELECTRÓNICA
Efecto de sentencias en el ritmo de ejecución
posición
del esclavo
M1
t
Aplicación t
...
CAM SELECT TIME CONT 1
CAM SELECT TIME ONCE 2
CAM ON 1
WAIT ( M1 )
CAM OFF
CAM ON 2
...
fig. 14 - 6
Las sentencias CAM SELECT TIME CONT 1 y CAM SELECT TIME ONCE
2 son sentencias de preparación de dos levas.
La sentencia CAM ON 1 inicia la "sincronización de leva" .
Alcanzada la sincronización, se ejecuta la sentencia WAIT (M1).
Evalúa una condición (activación de la marca M1) y espera a su
cumplimiento.
Ahora bien, mientras espera que la marca M1 se active, se ejecuta
de forma continua el perfil de leva establecido en la primera tabla
normalizada de leva.
Activada la marca M1(se ha cumplido la condición) finaliza la espera.
Se ejecuta la siguiente sentencia CAM OFF terminando así con la
ejecución del perfil de leva actual. DDS - MC
¡ R e c u é rd e s e q u e : c o n C A M O F F e l m ov i m i e n t o d e
sincronización de leva no finaliza inmediatamente. Tras ser
ejecutado espera a alcanzar el final del perfil de leva para
concluir ! (SOFT [Link])
11
! ! ! Leva electrónica
14 InSynchronization
t
STOP
DDS - MC START
Aplicación
...
CAM ON 1
DWELL (1000)
(SOFT [Link]) ...
CAM OFF
...
fig. 14 - 7
12
! ! ! Leva electrónica
14.
LEVA ELECTRÓNICA
DDS - MC
(SOFT [Link])
13
! ! ! Leva electrónica
14.
LEVA ELECTRÓNICA
DDS - MC
(SOFT [Link])
14
EDITOR DE LEVAS
15
Introducción
(SOFT [Link])
1
! ! ! Editor de levas
fig. 15- 1
Diagramas gráficos de desplazamiento (s), velocidad (v), aceleración (a) y jerk (j) de
la leva - seguidor.
Condiciones de diseño
2
! ! ! Editor de levas
v ≠ 0, a = 0 Velocidad constante V
v = 0, a ≠ 0
v ≠ 0, a ≠ 0
Retroceso
Movimiento
A
M
15.
EDITOR DE LEVAS
Condiciones de diseño
Las transiciones o combinaciones posibles serán 16 por intervalo:
Tipo de Condición de
Descripción
función contorno
Movimiento síncrono con ratio de transmisión constante entre eje
SYNC v = cte, a = 0
maestro y eje esclavo.
AUTO Adaptación automática a las condiciones de contorno
v = 0,
TRAP_RA Aceleración trapezoidal modificada para el caso R-A DDS - MC
inicio: a = 0
v = 0,
TRAP_AR Aceleración trapezoidal modificada para el caso A-R
final: a = 0
HARM_RA Combinación de armónicos en el caso R-A
HARM_AR Combinación de armónicos en el caso A-R (SOFT [Link])
3
! ! ! Editor de levas
Interfaz de usuario
Desde el campo:
[Drive]:
> Seleccionar: CMC/MMC.
Desde el campo:
[Versión Soft Regulador]:
> Seleccionar: Versión de software.
Desde el campo:
[Tipo Motor]:
> Seleccionar: Síncrono ó asíncrono.
10
DDS - MC
(SOFT [Link])
4
! ! ! Editor de levas
EDITOR DE LEVAS
Edición del diseño de leva
! Ventana gráfica
! Barra de herramientas de menú
Tabla de datos.
Esta tabla es editable permitiendo al usuario realizar el diseño de la
leva. Esta formada por 8 columnas etiquetadas por todos y cada uno
de los elementos que deberán tenerse en cuenta para realizar el
diseño. El significado de cada una de las etiquetas que aparecen en
la tabla de datos es:
Etiqueta Descripción
Nº Número de puntos frontera que subdividen en intervalos la
trayectoria total de la leva/seguidor.
(Entiéndase leva = eje maestro, seguidor = eje esclavo).
Coordenada de posición del eje maestro.
Master Admite valores entre 0 y 360 (si el rango es 0 - 360)
ó entre 0 y 1 (si el rango es 0 - 1)
Tipo de movimiento : R, V, A ó M.
Type
(Véase apartado: Condiciones de diseño).
Coordenada de posición del eje esclavo relativa a la del eje
Slave_S
maestro. Admite valores entre -1 y 1.
Velocidad relativa del eje esclavo respecto a la del eje
Slave_V
maestro. Admite cualquier valor.
5
! ! ! Editor de levas
Ventana gráfica.
Esta ventana permite al usuario visualizar el comportamiento de la
leva (maestro) / seguidor (esclavo) mediante las gráficas
representativas de desplazamiento, velocidad, aceleración y jerk del
eje esclavo tras haber introducido los parámetros de diseño en la tabla
de edición citada con anterioridad.
La vis ualiz ación podrá m ostrar de una a cua tr o gr áficas
representativas de las funciones s, v, a y j realizando la selección
desde el menú que se despliega en ventana tras hacer un click con
el botón derecho del ratón.
(SOFT [Link])
ABRIR UN PROYECTO:
Permite volver a editar un proyecto existente.
6
! ! ! Editor de levas
GUARDAR:
Permite guardar en disco los datos actuales del proyecto abierto
(toda la información suministrada en la tabla de puntos). El archivo
tiene extensión (*.cpj)
GUARDAR COMO:
Permite guardar en disco los datos actuales del proyecto abierto
(toda la información suministrada en la tabla de puntos) con otro
nombre. El archivo tiene extensión (*.cpj)
15.
EDITOR DE LEVAS
Edición del diseño de leva
RECALCULAR:
Permite testear y validar la consistencia de los datos modificados
en la tabla normalizada y recalcula las representaciones gráficas
con los nuevos valores.
ACTIVAR ZOOM:
Permite ampliar la sección a visualizar dentro de una ventana (SOFT [Link])
gráfica para obtener mayor detalle de ella.
7
! ! ! Editor de levas
15.
EDITOR DE LEVAS
Edición del diseño de leva
DDS - MC
DESACTIVAR ZOOM:
Permite eliminar el zoom actuando en todas las representaciones
gráficas simultáneamente. La visualización vuelve a ajustarse a los
valores máximos de las escalas de las gráficas.
(SOFT [Link])
8
! ! ! Editor de levas
AÑADIR PUNTOS:
Permite añadir puntos a la columna Nr de la tabla de edición
aumentando así el número de segmentos que dividen el recorrido
total de la leva. Cada pulsación sobre este botón añade un punto
a la columna Nr. (Nº máximo: 1024 puntos).
ELIMINAR PUNTOS:
Permite borrar puntos de la columna Nr de la tabla de edición
disminuyendo así el número de segmentos que dividen el recorrido
total de la leva. Cada pulsación sobre este botón elimina un punto 15.
de la columna Nr.
EDITOR DE LEVAS
Edición del diseño de leva
0 - 360 / 0 - 1:
Permite establecer los límites de coordenadas del eje de abscisas
entre 0 y 360 grados ó entre 0 y 1 que corresponden al punto de
inicio y punto final del perfil de leva.
DDS - MC
(SOFT [Link])
9
! ! ! Editor de levas
15.
EDITOR DE LEVAS
DDS - MC
(SOFT [Link])
10