Está en la página 1de 110

CNC Motion Control S7 1200

_______________________

Proyecto final

CNC
controlado por PLC S7
1200

Grado Superior Automatización y


Robótica Industrial

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Índice

1. Objetivos del proyecto

2. Descripción del proyecto

3. Dispositivos de entrada

4. Descripción de actuadores

5. Descripción de drivers

6. Dispositivos de control

7. Planos y esquema

8. Cálculos justificados

9. Grafcet

10. Motion Control y programa del PLC

11. SCADA

12. Problemas durante el proyecto

13. Conclusión

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

1. Objetivos del proyecto

El objetivo de este proyecto es realizar un control numérico automatizado


que controle el taladrado y fresado de piezas para una planta industrial.

Este sistema se crea con el objetivo de taladrar y fresar piezas de aluminio


con una gran precisión y rapidez, y unido a un proceso industrial en una planta
de manufacturación de piezas de aluminio, la planta queda totalmente
automatizada desde la materia prima hasta el empaquetado.

Este sistema sea realizado usando motores paso a paso, por motivos
económicos, ya que son muchos mas baratos que los servomotores.

2. Descripción del proyecto

Este proyecto consta de una estructura de aluminio, 4 motores paso a paso


con sus drivers, un taladro de 500W, un PLC para el control del sistema y 3
sensores inductivos. Este sistema lo activa un operario desde un SCADA, a
través de tres pantallas una de configuración y otras dos automáticas para
introducir las distancias para el taladrado y fresado.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

3. Dispositivos de entrada

En este proyecto se han usado 3 sensores inductivos de tipo PNP a tres


hilos y con el contacto interno normalmente abierto (NO), este sensor se
alimenta a 24Vdc y se puede conectar directamente a las entradas del PLC ya
que es de tipo PNP, sus características son las siguientes.

Marca Tipo Cable Alimentación Tipo de salida Situación contacto Referencia

Omron Inductivo 3 hilos 24 Vdc PNP maquina NO 1B1,2,3

Especificaciones del sensor E2B-M12KS04-WP-B1 2M

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

4. Descripción de los actuadores

Motores Nema 23

Como actuadores tenemos 4 motores paso a paso y un taladro de 500W.


Para este proyecto hemos usado motores paso a paso bipolar, que se compone
de dos bobinas con sus cuatro terminales A+ A- B+ B-.

Para que el motor funcione, la corriente que circula por las bobinas cambia
de sentido en función de la combinación de tensión en sus bobinas, por eso se
llama bipolar, debido a que en los extremos de una misma bobina se pueden
tener distintas polaridades.

Otra de las características que los diferencian de los unipolares son que
estos llevan cuatro conexiones externas, dos por cada bobina.
A diferencia de los unipolares que son más sencillos de utilizar, en los bipolares
su dificultad reside en el control de la alimentación y el cambio de polaridad.

Estas son las secuencias del motor bipolar:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Por eso para controlar motores paso a paso bipolares se deben de usar
driver que gestionen el control de los pasos y la velocidad. Esto se controla por
pulsos de tensión.

En este proyecto hemos usado motores paso a paso bipolar de la marca


ACT motor, son unos nema 23HS8630b.

Especificaciones del nema 23

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Taladro de 500W

En este proyecto se ha usado un taladro de 500W con una tensión de


100Vdc y una intensidad de 5A. Este taladro será controlado por un driver que
funciona por PWM para poder regular la velocidad dependiendo de las
necesidades, ya que si se conecta directamente la velocidad será siempre al
100%.

5. Descripción de los drivers

La mayoría de actuadores eléctricos y electrónicos requieren tensiones y


corrientes altas que destruirían los circuitos digitales de un PLC, si se
conectarán directamente. Por eso se debe de colocar entre el PLC y el actuador
un driver.

En este proyecto vamos a usar tres drivers para los motores paso a paso,
un driver para el taladro y otro driver que será un relé para activar o
desactivar el driver del los motores paso a paso.

Se han usado tres driver DM542 para controlar los pasos y la velocidad de
los motores.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

DM 542

El driver DM542 funciona mediante pulsos de tensión de 5Vdc, en las


entradas de pulso y dirección. Si por ejemplo usamos un PLC con una tensión
de trabajo de 24Vdc, debemos de colocar una resistencia en serie de 2KΩ en
las entradas de pulso+, dirección+ y habilitación+, si usamos la conexión PNP.

El driver Dm542 dispone de unos switch para configurar los pulsos, en ese
caso pondremos los switch SW5 a Off y los switch SW6 a SW8 a On, para que
el motor de 1,8º trabaje a 400 pulsos por vuelta o revolución.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Y los switch SW1 a SW3 todos a ON. Para que trabajen a una intensidad de
1A, que han sido las pruebas que hemos realizado aunque en el datasheet nos
ponga que es de 3.0A.

Y el switch SW4 lo dejaremos a On para que sea full current.

Luego tenemos las entradas de alimentación que debe de estar alimentado


entre 20Vdc y 45Vdc.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Y las conexiones del motor que son cuatro A+, A-, B+, B-, las conectaremos
con sus respectivos colores por ejemplo en este tipo de motores los colores
son los siguientes:

En el proyecto los hemos empalmado con unos cables de 4x0,5mm², por que
eran muy cortos y los nuevos colores son los siguientes:

A+ Marrón A- Verde B+ Rojo B- Blanco

Driver del taladro

Este driver lo utilizamos para controlar la velocidad del taladro por una
entrada de 0 a 3,3Vdc, 0V-0% y 3,3V-100%. Esta tensión la suministrará de
forma automática el PLC con el programa que hayamos creado. La salida del
modulo analógico que tiene el PLC es de 0 a 10V, por lo que tendremos que
hacer un escalado para que el PLC nunca suministre más de 3,3V. El driver se
alimenta a 230V y proporciona una salida PWM en continua de 100Vdc, para
regular la velocidad del motor.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El PWM lo que hace es modificar la frecuencia, y así el par motor siempre es


estable a bajas revoluciones. En el dibujo se ve como se comporta la tensión
dependiendo de la duración de los pulsos dentro de un periodo de tiempo.
De este modo la tensión varia pero la intensidad no, solo varia
la frecuencia.

Las especificaciones del driver son las siguientes:

Y el esquema de conexionado es el siguiente:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Un relé

Para este proyecto se ha usado un relé con la bobina a 24Vdc, ya que es la


tensión de la maniobra. Este relé no se ha usado para aislar la parte de
maniobra, por la parte de potencia, sino que sea usado para utilizar el contacto
normalmente cerrado para activar los driver de los motores, ya que funcionan
cuando en su entrada no le llega tensión. El esquema de un relé es el
siguiente:

6. Dispositivos de control

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Para el control se ha utilizado un plc de Siemens S7 1200 1212c DC/DC/DC


y una signal board de una salida analógica SB 1232 AQ. El S7 1200 de
Siemens es controlador que ofrece una flexibilidad y potencia necesaria para
controlar una gran variedad de dispositivos.

Con su diseño compacto, configuración flexible y con muchas instrucciones,


este autómata es excelente para controlar una gran variedad de aplicaciones.

La CPU del S7 1200 1212C DC/DC/DC que hemos usado para este proyecto
incorpora un microprocesador, una fuente de alimentación, entradas , salidas,
un puerto Profinet, E/S de control de movimiento de alta velocidad y entradas
analógicas.

La CPU vigila las entradas y cambia el estado de las salidas según la lógica
del programa, bien sean lógica booleana, instrucciones de contaje,
temporización, funciones matemáticas o como comunicación entre otros
dispositivos inteligentes.

A esta CPU se le pueden añadir módulos adicionales como, módulos de


entradas, módulos de salidas, módulos analógicos, módulos de comunicación
rs485, rs 232, profibus o gprs y signal boards.

El S7 1200 tiene una interfaz de comunicación perfecta con el sistema de

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

TIA PORTAL, llamado PROFINET esta red está formada por una conexión RJ 45
inmune a perturbaciones, con función Autocrossing que permite conectar hasta
16 conexiones ethertnet y alcanza una velocidad de transferencia de datos de
hasta 100 Mbits/s. Este tipo de red Siemens lo ha creado para simplificar el
cableado entre dispositivos.

Este PLC tiene una funciones tecnológicas integradas como entradas de alta
velocidad como el contaje y medición y salidas de alta velocidad que pueden
funcionar como tren de pulsos (PTO) o como salidas de modulación de ancho
de pulso (PWM). También dispone de control PID y crear hasta 16 lazos PID y
ajustarlos con un Autotunning.

7. Planos y esquemas

Rubén Gómez Sáez


0 1 2 3 4 5 6 7 8 9

F26_001

Rubén Gómez Automatizados

Tel.

Empresa/cliente EPLAN
Descripción de proyecto Proyecto CNC motion control Siemens
Número de diseño IEC_bas001
Comisión EPLAN
Fabricante (empresa) Rubén Gómez Automatizados

Ruta
Nombre de proyecto Proyecto final CNC Motion Control Siemens
Producto CNC Motion Control Siemens
Tipo nonguno
Lugar de instalación Chella
Responsable del proyecto
Particularidad de pieza Aluminio

Creado 26/08/2016
Modificado 24/09/2016 de (abreviatura) Ruben Número de páginas 8

2
Fecha 29/03/2007 EPLAN Rubén Gómez Hoja de título = CA1
Resp. sil + EAA
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 1
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
0 1 2 3 4 5 6 7 8 9

1 3
1 3
-Q2
-Q1 25A 30mA
16A I> I> IΔ

2 4 2 4

Controlador del taladro -V1


230V AC/ 24V DC

230V AC / 48V DC PWM


L N +24V / 3.1
+ S - + -

-0V / 3.1

5.3 5.6 5.8


D1 X-DIR+
5.2 Y-DIR+
5.4 Z-DIR+
5.7
+A0 X-PUL+ Y-PUL+ Z-PUL+
6.7
-A0
6.7

+ - + - + - + - + - + - + - + - + -
V DC PUL DIR V DC PUL DIR V DC PUL DIR
A1 11
-1K1
EJE X STEPPER DRIVE EJE Y STEPPER DRIVE EJE Z STEPPER DRIVE 24V dc A2 12
-DM 542 -DM 542 -DM 542
ENA ENA ENA
A+ A- B+ B- + - A+ A- B+ B- + - A+ A- B+ B- + - x1

-E7
2Kohms
x2
-PE

-X1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

-W1 -W2
x3 X 1.5 mm x2 X 1.5 mm -W3
x4 X 0.5 mm
11 12 /2.8
1 2

-M1
M
L1 N PE 500W / 48V DC
M M M M
Taladro cnc

M2 M3 M4 M5
Eje X Eje Y Eje Y Eje Z

1 3
Fecha 24/09/2016 EPLAN Rubén Gómez Potencia = CA1
Resp. Ruben + EAA
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 2
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
0 1 2 3 4 5 6 7 8 9

Sensor Eje X

Sensor Eje Y

Sensor Eje Z
2.9 4.0
-0V plc-0V
2.9 4.0
+24V plc+24V

/4.1

/4.2

/4.3

/4.4

/4.6

/4.7

/4.8

/4.9
L1 M L+ M 1M a.0 a.1 a.2 a.3 a.4 a.5 a.6 a.7 b.0 b.1 b.2 b.3 b.4 b.5 2M AI0 AI1
-A1
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7 I1.0 I1.1 I1.2 I1.3 I1.4 I1.5 IW64 IW66
L+ M

+ +
- -
24 VDC

S7 1200
CPU 1214C DC/DC/DC

Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1

1L a.0 a.1 a.2 a.3 a.4 2L a.5 a.6 a.7 b.0 b.1
/5.1

/5.2

/5.3

/5.4

/5.6

/5.7

/5.8
-E1:x1

-E2:x1

-E3:x1

-E4:x1

-E5:x1

-E6:x1
+24V DC

PULS X +

DIR X +

PUL Y +

DIR Y +

PUL Z +

DIR Z +

2 4
Fecha 24/09/2016 EPLAN Rubén Gómez PLC = CA1
Resp. Ruben + EAA
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 3
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
0 1 2 3 4 5 6 7 8 9

+24Va / 6.2

3.2 / plc+24V +24Vdc/ 5.0

3.2 / plc-0V -0Va / 6.2

-W4
/4.0
x4X0.5mm

-X1 22 23 25 26 28 29

1 2 1 2 1 2
+ - + - + -
-1B1 -1B2 -1B3
Eje X Eje Y Eje Z
4 4 4
-W4
/4.0
x4X0.5mm

-X1 24 27 30

-A1
1M a.0 a.1 a.2 a.3 a.4 a.5 a.6 a.7
/5.0
/3.1
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7
/3.3 /3.3 /3.3 /3.3 /3.4 /3.4 /3.4 /3.5

CPU 1214C DC/DC/DC ENTRADAS 1

Sensor Eje X Sensor Eje Y Sensor Eje Z

3 5
Fecha 24/09/2016 EPLAN Rubén Gómez Entradas PLC = CA1
Resp. Ruben + EAA
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 4
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
0 1 2 3 4 5 6 7 8 9

-A1 CPU 1214C AC/DC/relé


/4.0 SALIDAS 1
/3.2 /3.3 /3.3 /3.3 /3.3 /3.4 /3.5
1L Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5
1L a.0 a.1 a.2 a.3 a.4 a.5

4.7 /+24Vdc
x1 x1 x1 x1 x1 x1

-E1 -E2 -E3 -E4 -E5 -E6


2Kohms 2Kohms 2Kohms 2Kohms 2Kohms 2Kohms
x2 x2 x2 x2 x2 x2

X-PUL+ -X-DIR+ -Y-PUL+ -Y-DIR+ -Z-PUL+ -Z-DIR+


2.4 2.5 2.6 2.6 2.7 2.7

+24V DC PULS X + DIR X + PUL Y + DIR Y + PUL Z + DIR Z +

4 6
Fecha 24/09/2016 EPLAN Rubén Gómez Salidas PLC = CA1
Resp. Ruben + EAA
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 5
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
0 1 2 3 4 5 6 7 8 9

-A2

SM 1234
AI 4 x 13 bit

AQ 2 x 14 bit

+ + + +
- - - -

PEW67 PEW69 PEW71 PEW73 PEW75 PEW77 PEW79 PEW81 PAW0 PAW2 PAW4 PAW6

L+ M 0+ 0- 1+ 1- 2+ 2- 3+ 3- 0M 0 1M 1

+24Va -0Va
4.7 4.7 +A0 -A0
2.1 2.1

5 =Plano Bornes/1
Fecha 24/09/2016 EPLAN Rubén Gómez Modulo analógico = CA1
Resp. Ruben + EAA
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 6
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
0 1 2 3 4 5 6 7 8 9

Plano de bornes F13_001

Nombre de cable

Nombre de cable
-W4

-W3

-W2

-W1

-W4
Regleta
=CA1+EAA-X1

Tipo de cable

Tipo de cable
Conexión

Conexión
Puente
Borne
Texto de función Designación de destino Designación de destino Página / columna

L1 1 -Q1 2 /2.0
N 2 -Q1 4 /2.0
PE 3 -PE /2.0
-M1 1 4 -D1 /2.2
-M1 2 5 -D1 /2.2
-M2 6 -D2 /2.4
-M2 7 -D2 /2.4
-M2 8 -D2 /2.4
-M2 9 -D2 /2.4
-M3 10 -D3 /2.5
-M3 11 -D3 /2.5
-M3 12 /2.5
-M3 13 /2.6
-M4 14 /2.6
-M4 15 /2.6
-M4 16 -D3 /2.6
-M4 17 -D3 /2.7
-M5 18 -D4 /2.7
-M5 19 -D4 /2.7
-M5 20 -D4 /2.7
-M5 21 -D4 /2.8
Sensor Eje X -1B1 1 22 -A1 L+ /4.1
-X1 25
Sensor Eje X -1B1 2 23 -A1 1M /4.1
-X1 26
Sensor Eje X -1B1 4 24 -A1 a.0 /4.1
Sensor Eje Y -1B2 1 25 -X1 22 /4.2
-X1 28
Sensor Eje Y -1B2 2 26 -X1 23 /4.2
-X1 29
Sensor Eje Y -1B2 4 27 -A1 a.1 /4.2
Sensor Eje Z -1B3 1 28 -X1 25 /4.3
-A2 L+
Sensor Eje Z -1B3 2 29 -X1 26 /4.3
-A2 M

=CA1+EAA/6 1.a
Fecha 24/09/2016 EPLAN Rubén Gómez Plano de bornes =CA1+EAA-X1 = Plano Bornes
Resp. Ruben +
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 1
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
0 1 2 3 4 5 6 7 8 9

Plano de bornes F13_001

Nombre de cable

Nombre de cable
-W4
Regleta
=CA1+EAA-X1

Tipo de cable

Tipo de cable
Conexión

Conexión
Puente
Borne
Texto de función Designación de destino Designación de destino Página / columna

Sensor Eje Z -1B3 4 30 -A1 a.2 /4.3

1
Fecha 24/09/2016 EPLAN Rubén Gómez Plano de bornes =CA1+EAA-X1 = Plano Bornes
Resp. RUBEN +
Automatizados
Probado Proyecto CNC motion control Siemens IEC_bas001 Hoja 1.a
Cambio Fecha Nombre Original Sustituido por Sustituido por Hoja 8
CNC Motion Control S7 1200
_______________________

8. Cálculos justificados

Para el calculo de la linea general hemos calculado, la intensidad de los


cuatro motores paso a paso, la intensidad del taladro y la intensidad del
autómata.

Los cuatro motores paso a paso tienen una intensidad de 1A a 24Vdc como
trabajan en corriente continua no generan reactiva por lo cual su potencia total
es de 96W.

El taladro tiene una intensidad de 5A a 100 Vdc como trabaja con corriente
continua no genera reactiva y su potencia es de 500W.

Y el autómata tiene una intensidad de 1,2A a 24 Vdc según nos marca el


fabricante y como trabaja en corriente continua no genera reactiva entonces su
potencia es de 28.8W.

Usando un símil de tensión monofásica a 230 Vac sumando todas las


potencias:

Los motores 96 W +
El taladro 500 W +
El autómata 28.8W =
624.8W.

624.8W / 230 Vac = 2.71A.

Y según el reglamento de baja tensión y la tabla de prysmian, con cable tipo C


y PVC2 nos daría una sección de 1,5mm² y una intensidad de 16,5 A como
máximo.

El calculo por caída de tensión no se ha realizado por que se trata de una


maquina con un cableado de 2 metros de distancia y como su intensidad esta
sobre dimensionada con ese cable no se a realizado.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Con lo cual se debe de poner una sección de 2 x 1,5mm² + 1 x 1,5mm² TT


y unos borneros de 2,5mm².

El siguiente calculo es el de los pulsos de los motores paso paso, cada motor
tiene un paso de 1,8º.

Entonces 360º / 1,8º = 200 pasos por vuelta, pero como el driver tiene un
mínimo de 400 pulsos por vuelta usaremos este calculo. Usando un calibre en
eje de cada motor en una vuelta completa nos da 400 pulsos y una distancia
de 0,8cm, haciendo una conversión nos da que en un cm son 500 pulsos o por
cada mm 50 pulsos.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Por último calculamos la resistencia que debemos colocar en la entrada del


driver ya que que su tensión de trabajo es de 5Vdc y la salida del autómata es
de 24 Vdc. Consultando el datasheet del fabricante del driver nos dice que la
corriente que debe de circular por las entradas del driver no debe de superar
los 125mA.

Entonces usando la formula de caída de tensión para el calculo de leds:

24Vdc – 5Vdc = 21Vdc

21 Vdc / 0,0125A = 1680 Ω por lo tanto usaremos una resistencia 2 KΩ.

Usamos un magnetotérmico de clase C y 10 A para la linea general del


proyecto y un interruptor diferencial bipolar de 25A y 30mA de sensibilidad y
clase AC.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

9. Grafcet

El grafcet nace de la necesidad de que en 1977 los ingenieros en


electricidad, electrónica, neumática, etc... se juntaron debido a la complejidad
que se estaban enfrentando por tener en cada departamento sus propios
esquemas de automatización y control, entonces crearon la asociación AFCET
(Association Française pour la cybernétique economique et tecnique).

Por lo que crearon un método descripción de procesos secuenciales que fuera


eficaz, simple e interpretable por los técnicos de diferentes campos.

La palabra GRAFCET es el acronismo de Gráfico Funcional de Control de


Etapas y Transiciones.

Los elementos que componen un grafcet son etapas iniciales, etapas


normales, unión, transición, direccionamiento, proceso simultaneo y acciones
asociadas. A continuación un ejemplo:

En este proyecto hemos usado tres grafcet uno para el ciclo de 4


posiciones , otro para el ciclo de paro y otro para las 16 posiciones. En el ciclo
del proceso el grafcet cuenta con 20 etapas, el ciclo de paro cuenta con 4
etapas y el grafcet de 16 posiciones cuenta con 23 etapas.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Ciclo del proceso

0
=1
1
Auto/manual · marcha

2 Origen Z
Alcanzado Z home
3 Origen XY T0
Alcanzado X home · alcanzado Y home · T0 (10”)
4 Posición 1 XY Taladro lento
Alcanzado X · alcanzado Y
Posición Z
5 bajando
Taladro rápido T1
Alcanzado Z · T1 (2”)
Posición Z
6 subiendo
Taladro lento

Alcanzado Z
7 T2
T2 (1”)
8 Posición 2 XY Taladro lento
Alcanzado X · alcanzado Y
Posición Z
9 bajando
Taladro rápido T3
Alcanzado Z · T3 (2”)
Posición Z
10 subiendo
Taladro lento
Alcanzado Z

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

11 T4

T4 (2”)

12 Posición 3 XY Taladro lento


alcanzado X · alcanzado Y
Posición Z
13 bajando
Taladro rápido T5
alcanzado Z · T5 (2”)
Posición Z
14 subiendo
Taladro lento
alcanzado Z

15 T6
T6 (1”)

16 Posición 4 XY Taladro lento

alcanzado X · alcanzado Y
Posición Z
17 bajando
Taladro rápido T7
alcanzado Z · T7 (2”)
Posición Z
18 subiendo
Taladro lento

alcanzado Z

19 T8
T8 (1”)

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Grafcet de 16 posiciones

100
=1
101
Accionamiento principal · Activar
102 Origen eje Z

Eje Z origen alcanzado


103 Origen eje X Origen eje Y Temporizador T10

T10 (10”) · Eje X · Eje Y origen alcanzado


104

P1 P2 ----- a ------ P15 P16


Move Posición X Y Move Posición X Y Move Posición X Y
105 Taladro al 30 % 106 Taladro al 30 % 120 Taladro al 30 %

Eje X · eje Y posición alcanzada


121 Bajar eje Z Taladro 100% Temporizador T11

T11 (2”)
122 Subir eje Z Taladro 30 %

Eje Z posición alcanzada


123 Temporizador T12

T12 (1”)

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Ciclo de paro

20
=1

21
PP

22
PP

23 MOV 1 - MD2

=1

10. Motion control y programa del PLC

10.1 Configuración de dispositivos

Para crear la configuración de dispositivos del PLC es preciso agregar una


CPU y módulos adicionales al proyecto.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Para crear la configuración de dispositivos, agregue un dispositivo al


proyecto. En el árbol del proyecto, agregar proyecto.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Luego agregar CPU a la configuración, en agregar dispositivo se habré un


catalogo con todas las CPU´s disponibles. Al aceptar se introducirá
automáticamente al proyecto.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

La vista de dispositivos muestra la CPU y el rack para insertar todos los


módulos como analógicos, de comunicación, etc...

Al seleccionar la CPU en vista de dispositivos se visualizan sus propiedades


en la ventana de inspección. Se le debe de asignar una dirección IP a La CPU.
Por defecto las CPU no viene con la dirección IP, solamente viene con su mac.

Para agregar módulos a la configuración hay de varios tipos:


– Módulos de señales
– Signal board
– De comunicación, como rs 485, profibus o GPRS

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

En el TIA portal hay marcas de sistema y marcas de ciclo, pero se deben de


activar, por defecto no están activas y debemos de ir a propiedades de la CPU
y activarlas.

Las marcas de sistema tienen como bit importante el de primer ciclo,


siempre en ON y siempre en OFF. Esta marcas de sistema son muy
importantes para hacer los grafcet ya que sin la marca de primer ciclo las
etapas nunca empezarían a correr.

Y las marcas de ciclo están los relojes de frecuencia como 10Hz, 1Hz, etc...

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

10.2 Explicación control de movimiento

Las CPU ofrece funciones de control de movimiento para el uso de motores


paso a paso o servomotores con interfaz de pulsos. Las funciones de control de
movimiento controlan y monitorizan los accionamientos.

La CPU dispone de varias salidas de pulsos o sentido para controlar un


motor paso a paso o servomotor. La salida de sentido controla el sentido de
desplazamiento del accionamiento. Hay dos tipos de control PTO Y PWM.

Para poder mover un servomotor hay que entrar en objetos tecnológicos y


agregar objeto.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Y en configuración insertar los datos de todos los parámetros:

En general dar el nombre al eje, que tipo de accionamiento si PTO, conexión


analógica o Profidrive y que tipo de unidad de medida queremos.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Luego Habilitamos el accionamiento, introduciendo el interfaz de hardware.

Luego la parte mecánica sabiendo los pulsos que hace en una vuelta y los
mm que recorre en una vuelta. En este caso los motores paso a paso que se
han usado en este proyecto tienen una resolución de 400 pulsos por vuelta. Y
el husillo que utilizamos en el proyecto recorrer en una vuelta 80mm, entones
100mm serán 500 pulsos.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

También se pueden habilitar los finales de carrera por hardware o por


software en este proyecto no se han habilitado.

En la parte dinámica se pondrán los parámetros de velocidad y


aceleración/deceleración.

Los parámetros los dejamos todos en impulsos por segundo.


Cualquier modificación de los limites de velocidad repercutirá en la aceleración
y deceleración.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Si activamos la limitación de tirones las curvas de ace/dece se suavizan.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Parada de emergencia, en este apartado se deja todo por defecto.

En la entrada digital sensor habilitar la variable de origen, en referencia


activo en el sentido de aproximación de debe de dejar en sentido de
aproximación/referencia en sentido positivo y en la del sensor del punto de
referencia deja en lado inferior para que empieza hacia atrás para buscar el
origen.

Fijar las velocidades de aproximación y de velocidad de búsqueda del punto de


referencia.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Para probar los motores se puede hacer de forma manual, entrando en


puesta en marcha y pulsando asumir, dentro de comando en Jog fijando las
velocidad, se puede hacer mover el motor de forma manual hacia delante o
hacia atrás.

Para todos los ejes que se utilicen hay que hacer lo mismo.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Una vez configurado el hardware debemos de hacer la programación de la


parte de control de movimiento, TIA portal tiene configurados 10 bloques de
función para el control del eje o ejes que vayamos a usar.

– MC_Power
– MC_Reset
– MC_Home
– MC_Halt
– MC_MoveAbsolute
– MC_MoveRelative
– MC_Velocity
– MC_Jog
– MC_CommandTable
– MC_ChangeDynamic

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_Power, se utiliza para activar y desactivar el eje.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_Reset, se utiliza para rearmar algún error en el eje.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_Home, sirve para llevar a origen el eje.

Este bloque de función suele ir acompañado del bloque de función


MC_Absolute, ya que necesita una referencia de posicionamiento y para iniciar
un valor 0.0, necesita este bloque. Y deberá de estar en mode=3. Sin esta
función el bloque MC_Absolute no serviría de nada.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_Halt, sirve para parar el eje.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_MoveAbsolute, sirve para iniciar un movimiento de


posicionamiento del eje respecto a una posición absoluta.

Como se a descrito anteriormente esta instrucción no puede funcionar sin


el MC_Home, en este proyecto los parámetros Position, Velocity, Done y Busy
se utilizan. El de position para dar una posición en pulsos a los ejes, el de
Velocity es para fijar la velocidad a la que debe de ir el eje. Y el parámetro
Done lo usamos para saber cuando el eje a llegado a su posición y el
parámetro busy lo usamos para saber que el eje esta en movimiento.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_MoveRelative, sirve para iniciar un movimiento de


posición relativo a la posición inicial o anterior a esa posición.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_Velocity, sirve para mover el eje constantemente a


una velocidad determinada.

El bloque de función MC_JOG, sirve para mover el eje constantemente en


forma paso a paso.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_CommandTable, sirve para ejecutar una serie


movimientos ya establecidos.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

El bloque de función MC_Change Dynamic, sirve para modificar ajustes


dinámicos en el eje.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

10.3 Programación del proyecto

El programa del proyecto consta de 9 Bloques de organización llamados


(OB), 2 Bloques de datos llamados (DB), 3 objetos tecnológicos Motion Control
para los ejes, una tabla de variables.

Cada OB es un programa cíclico que se ejecuta en cada ciclo de scan.

A continuación se ha puesto el programa del proyecto con el formato de TIA


portal, esta todo bien documentado y explicado parte por parte.

Rubén Gómez Sáez


Totally Integrated
Automation Portal

Bloques de programa
Ciclo de 4 posiciones secuenciales [OB1]
Ciclo de 4 posiciones secuenciales Propiedades
General
Nombre Ciclo de 4 posiciones se‐ Número 1 Tipo OB Idioma KOP
cuenciales
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: Habilitación de los ejes x, y, z.


Este segmento es el que habilita los bloques de función Power de los ejes X Y Z.

%M1.2 "MC_Power_
"AlwaysTRUE" DB_X".Enable

"MC_Power_
DB_Y".Enable

"MC_Power_
DB_Z".Enable

Segmento 2: Etapa 0
Esta etapa se activa por primera vez por un pulso inicial ( FirstScan) y por la ultima etapa del ciclo del grafcet.

%M2.0
%M1.0 "Etapa_0"
"FirstScan" SR
S Q

%M4.5
"Etapa_19" "Timer 8".Q

%M2.1
"Etapa_1"
R1

Segmento 3: Etapa 1
Esta etapa se utiliza de paso para seguir con el protocolo de grafcet que dice que no puede haber menos de tres etapas.

%M2.1
%M2.0 "Etapa_1"
"Etapa_0" SR
S Q

%M2.2
"Etapa_2"
R1

Segmento 4: Etapa 2
Esta etapa se activará cuando el interruptor de activación y el pulsador de marcha se activen, entonces se activará el ciclo de la pantalla de 4 posiciones.

%M3.4 %M5.2 %M2.2


%M2.1 "Interruptor_4_ "Marcha_4_ "Etapa_2"
"Etapa_1" posiciones" posiciones" SR
S Q

%M2.3
"Etapa_3"
R1

Segmento 5: Etapa 3
Esta etapa se activa cuando el eje Z a alcanzado origen.
Totally Integrated
Automation Portal

%M2.3
%M2.2 "MC_Home_ "Etapa_3"
"Etapa_2" DB_Z".Done SR
S Q

%M2.4
"Etapa_4"
R1

Segmento 6: Etapa 4
Esta etapa se activará cuando los ejes X Y esten en origen y hayan pasado el tiempo de 4s.

%M2.4
%M2.3 "MC_Home_ "MC_Home_ "Etapa_4"
"Etapa_3" DB_X".Done DB_Y".Done "Timer 0".Q SR
S Q

%M2.5
"Etapa_5"
R1

Segmento 7: Etapa 5
Esta etapa se activará cuando los los eje X Y esten en la posición.

"MC_ "MC_ %M2.5


%M2.4 MoveAbsolute_ MoveAbsolute_ "Etapa_5"
"Etapa_4" DB_X".Done DB_Y".Done SR
S Q

%M2.6
"Etapa_6"
R1

Segmento 8: Etapa 6
Esta etapa se activará cuando el eje Z haya alcanzado la posicion de bajada.

"MC_ %M2.6
%M2.5 MoveAbsolute_ "Etapa_6"
"Etapa_5" DB_Z".Done "Timer 1".Q SR
S Q

%M2.7
"Etapa_7"
R1

Segmento 9: Etapa 7
Esta etapa se activará cuando el eje Z haya llegado a su posición.

"MC_ %M2.7
%M2.6 MoveAbsolute_ "Etapa_7"
"Etapa_6" DB_Z".Done SR
S Q

%M3.0
"Etapa_8"
R1

Segmento 10: Etapa 8


Esta etapa se activará cuando el temporizador T2 tenga activa su salida.

%M3.0
%M2.7 "Etapa_8"
"Etapa_7" "Timer 2".Q SR
S Q

%M3.1
"Etapa_9"
R1

Segmento 11: Etapa 9


Esta etapa se activará cuando los ejes X Y hayan alcanzado su posición.

"MC_ "MC_ %M3.1


%M3.0 MoveAbsolute_ MoveAbsolute_ "Etapa_9"
"Etapa_8" DB_X".Done DB_Y".Done SR
S Q

%M3.2
"Etapa_10"
R1

Segmento 12: Etapa 10


Esta etapa se activará cuando el eje Z haya alcanzado su posición y el temporizador T3 haya activado su salida.
Totally Integrated
Automation Portal

"MC_ %M3.2
%M3.1 MoveAbsolute_ "Etapa_10"
"Etapa_9" DB_Z".Done "Timer 3".Q SR
S Q

%M3.5
"Etapa_11"
R1

Segmento 13: Etapa 11


Esta etapa se activará cuando el eje Z haya alcanzado su posición.

"MC_ %M3.5
%M3.2 MoveAbsolute_ "Etapa_11"
"Etapa_10" DB_Z".Done SR
S Q

%M3.6
"Etapa_12"
R1

Segmento 14: Etapa 12


Esta etapa se activará cuando el temporizador T4 tenga su salida activa.

%M3.6
%M3.5 "Etapa_12"
"Etapa_11" "Timer 4".Q SR
S Q

%M3.7
"Etapa_13"
R1

Segmento 15: Etapa 13


Esta etapa se activará cuando los ejes X Y hayan alcanzado su posición.

"MC_ "MC_ %M3.7


%M3.6 MoveAbsolute_ MoveAbsolute_ "Etapa_13"
"Etapa_12" DB_X".Done DB_Y".Done SR
S Q

%M4.0
"Etapa_14"
R1

Segmento 16: Etapa 16


Esta etapa se activará cuando el eje Z Bajar haya alcanzado su posición y el temporizador T5 tenga su salida activa.

"MC_ %M4.0
%M3.7 MoveAbsolute_ "Etapa_14"
"Etapa_13" DB_Z".Done "Timer 5".Q SR
S Q

%M4.1
"Etapa_15"
R1

Segmento 17: Etapa 15


Estapa se activará cuando el eje Z subir haya alcanzado su posición.

"MC_ %M4.1
%M4.0 MoveAbsolute_ "Etapa_15"
"Etapa_14" DB_Z".Done SR
S Q

%M4.2
"Etapa_16"
R1

Segmento 18: Etapa 16


Esta etapa se actvará cuandoel temporizador T6 tenga activa su salida.

%M4.2
%M4.1 "Etapa_16"
"Etapa_15" "Timer 6".Q SR
S Q

%M4.3
"Etapa_17"
R1

Segmento 19: Etapa 17


Esta etapa se activará cuando los ejes X Y hayan alcanzado su posición.
Totally Integrated
Automation Portal

"MC_ "MC_ %M4.3


%M4.2 MoveAbsolute_ MoveAbsolute_ "Etapa_17"
"Etapa_16" DB_X".Done DB_Y".Done SR
S Q

%M4.4
"Etapa_18"
R1

Segmento 20: Etapa 18


Esta etapas se activará cuando el eje Z bajar haya alcanzado su posición y el temporizador T7 tenga su salida activa.

"MC_ %M4.4
%M4.3 MoveAbsolute_ "Etapa_18"
"Etapa_17" DB_Z".Done "Timer 7".Q SR
S Q

%M4.5
"Etapa_19"
R1

Segmento 21: Etapa 19


Esta etapa se activará cuando el eje Z subir haya alcanzado su posición.

"MC_ %M4.5
%M4.4 MoveAbsolute_ "Etapa_19"
"Etapa_18" DB_Z".Done SR
S Q

%M2.0
"Etapa_0"
R1
Totally Integrated
Automation Portal

Bloques de programa
Control_eje_x [OB123]
Control_eje_x Propiedades
General
Nombre Control_eje_x Número 123 Tipo OB Idioma KOP
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: Inicio de la tarea


las etapas 3 y 103 activan la instrución ejecutar origen.

%M2.3 "MC_Home_
"Etapa_3" DB_X".Execute

%M100.3
"Etapa_103"

Segmento 2: Power X
Este bloque de función se utiliza para habiltar el eje.

%DB7
"MC_Power_DB_X"
MC_Power

EN ENO
%DB1 Status ...
"Eje_X" Axis Busy ...
false Enable Error ...
0 StopMode ErrorID ...
ErrorInfo ...

Segmento 3: Home X
Este bloque de función se usa para que el eje X se ponga origen.

%DB8
"MC_Home_DB_X"
MC_Home

EN ENO
%DB1 Done ...
"Eje_X" Axis Busy ...
false Execute CommandAbort
ed ...
0.0 Position
Error ...
3 Mode
ErrorID ...
ErrorInfo ...

Segmento 4: Absolute X
Este bloque de función se usa para que el eje inicie un movimiento en una posición absoluta con la referencia de la posición de origen.

%DB15
"MC_
MoveAbsolute_
DB_X"

MC_MoveAbsolute

EN ENO
%DB1 Done ...
"Eje_X" Axis Error ...
false Execute
0.0 Position
10.0 Velocity

Segmento 5: Inicio de la tarea


Estas etapas activan el movimiento del eje X.
Totally Integrated
Automation Portal

"MC_
%M2.4 MoveAbsolute_
"Etapa_4" DB_X".Execute

%M3.0
"Etapa_8"

%M3.6
"Etapa_12"

%M4.2
"Etapa_16"

%M100.5
"Etapa_105"

%M100.6
"Etapa_106"

%M101.0
"Etapa_108"

%M100.7
"Etapa_107"

%M101.1
"Etapa_109"

%M101.2
"Etapa_110"

%M101.3
"Etapa_111"

%M101.4
"Etapa_112"

%M101.5
"Etapa_113"

%M101.6
"Etapa_114"

%M101.7
"Etapa_115"

%M102.0
"Etapa_116"

%M102.1
"Etapa_117"

%M102.2
"Etapa_118"

%M102.3
"Etapa_119"

%M102.4
"Etapa_120"

Segmento 6: Posición 1 de la pantalla de 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.
Totally Integrated
Automation Portal

%M2.4 MUL
"Etapa_4" Real
EN ENO

"Variables_eje_ "Variables_eje_
X".Posicion1_ X".Posicion1_
mm_X IN1 OUT puls_X
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion1_ MoveAbsolute_
puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 7: Posición 2 de la pantalla de 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M3.0 MUL
"Etapa_8" Real
EN ENO

"Variables_eje_ "Variables_eje_
X".Posicion2_ X".Posicion2_
mm_X IN1 OUT puls_X
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion2_ MoveAbsolute_
puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 8: Posición 3 de la pantalla de 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M3.6 MUL
"Etapa_12" Real
EN ENO

"Variables_eje_ "Variables_eje_
X".Posicion3_ X".Posicion3_
mm_X IN1 OUT puls_X
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion3_ MoveAbsolute_
puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN
"MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 9: Posición 4 de la pantalla de 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M4.2 MUL
"Etapa_16" Real
EN ENO

"Variables_eje_ "Variables_eje_
X".Posicion4_ X".Posicion4_
mm_X IN1 OUT puls_X
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion4_ MoveAbsolute_
puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity
Totally Integrated
Automation Portal

Segmento 10: Posición 1 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M100.5 MUL
"Etapa_105" Real
EN ENO
0.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN
"MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 11: Posición 2 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M100.6 MUL
"Etapa_106" Real
EN ENO
90.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 12: Posición 3 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M100.7 MUL
"Etapa_107" Real
EN ENO
140.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 13: Posición 4 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.0 MUL
"Etapa_108" Real
EN ENO
230.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity
Totally Integrated
Automation Portal

Segmento 14: Posición 5 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.1 MUL
"Etapa_109" Real
EN ENO
0.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN
"MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 15: Posición 6 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.2 MUL
"Etapa_110" Real
EN ENO
90.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 16: Posición 7 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.3 MUL
"Etapa_111" Real
EN ENO
140.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 17: Posición 8 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.4 MUL
"Etapa_112" Real
EN ENO
230.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity
Totally Integrated
Automation Portal

Segmento 18: Posición 9 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.5 MUL
"Etapa_113" Real
EN ENO
0.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN
"MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 19: Posición 10 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.6 MUL
"Etapa_114" Real
EN ENO
90.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 20: Posición 11 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.7 MUL
"Etapa_115" Real
EN ENO
140.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 21: Posición 12 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.0 MUL
"Etapa_116" Real
EN ENO
230.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity
Totally Integrated
Automation Portal

Segmento 22: Posición 13 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.1 MUL
"Etapa_117" Real
EN ENO
0.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN
"MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 23: Posición 14 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.2 MUL
"Etapa_118" Real
EN ENO
90.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 24: Posición 15 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.3 MUL
"Etapa_119" Real
EN ENO
140.0 IN1
"Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity

Segmento 25: Posición 16 de la pantalla de 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.4 MUL
"Etapa_120" Real
EN ENO
230.0 IN1 "Variables_eje_
50.0 IN2 X".Posicion_
OUT 16_puls_X

MOVE
EN ENO

"Variables_eje_ "MC_
X".Posicion_ MoveAbsolute_
16_puls_X IN OUT1 DB_X".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_X".Velocity
Totally Integrated
Automation Portal

Bloques de programa
Control_eje_Y [OB124]
Control_eje_Y Propiedades
General
Nombre Control_eje_Y Número 124 Tipo OB Idioma KOP
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: Inicio de la tarea


Estas etapas activan la instrución posición en origen.

%M2.3 "MC_Home_
"Etapa_3" DB_Y".Execute

%M100.3
"Etapa_103"

Segmento 2: Power Y
Este bloque de función se utiliza para habiltar el eje.

%DB16
"MC_Power_DB_Y"
MC_Power

EN ENO
%DB2 Status ...
"Eje_Y" Axis Error ...
false Enable
0 StopMode

Segmento 3: Home Y
Este bloque de función se usa para que el eje Y se ponga origen.

%DB17
"MC_Home_DB_Y"
MC_Home

EN ENO
%DB2 Done ...
"Eje_Y" Axis Error ...
false Execute
0.0 Position
3 Mode

Segmento 4: Movimiento Absoluto Y


Este bloque de función se usa para que el eje inicie un movimiento en una posición absoluta con la referencia de la posición de origen.

%DB19
"MC_
MoveAbsolute_
DB_Y"

MC_MoveAbsolute

EN ENO
%DB2 Done ...
"Eje_Y" Axis Error ...
false Execute
0.0 Position
10.0 Velocity

Segmento 5: Inicio de la tarea


Estas etapas activan el movimiento del eje Y.
Totally Integrated
Automation Portal

"MC_
%M2.4 MoveAbsolute_
"Etapa_4" DB_Y".Execute

%M3.0
"Etapa_8"

%M3.6
"Etapa_12"

%M4.2
"Etapa_16"

Segmento 6: Posición 1 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M2.4 MUL
"Etapa_4" Real
EN ENO

"Variables_eje_ "Variables_eje_
Y".Posicion1_ Y".Posicion1_
mm_Y IN1 OUT puls_Y
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion1_ MoveAbsolute_
puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 7: Posición 2 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M3.0 MUL
"Etapa_8" Real
EN ENO

"Variables_eje_ "Variables_eje_
Y".Posicion2_ Y".Posicion2_
mm_Y IN1 OUT puls_Y
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion2_ MoveAbsolute_
puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 8: Posición 3 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M3.6 MUL
"Etapa_12" Real
EN ENO

"Variables_eje_ "Variables_eje_
Y".Posicion3_ Y".Posicion3_
mm_Y IN1 OUT puls_Y
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion3_ MoveAbsolute_
puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 9: Posición 4 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.
Totally Integrated
Automation Portal

%M4.2 MUL
"Etapa_16" Real
EN ENO

"Variables_eje_ "Variables_eje_
Y".Posicion4_ Y".Posicion4_
mm_Y IN1 OUT puls_Y
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion4_ MoveAbsolute_
puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 10: Posición 1 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M100.5 MUL
"Etapa_105" Real
EN ENO
0.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 11: Posición 2 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M100.6 MUL
"Etapa_106" Real
EN ENO
0.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 12: Posición 3 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M100.7 MUL
"Etapa_107" Real
EN ENO
0.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN
"MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 13: Posición 4 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.
Totally Integrated
Automation Portal

%M101.0 MUL
"Etapa_108" Real
EN ENO
0.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 14: Posición 5 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.1 MUL
"Etapa_109" Real
EN ENO
90.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 15: Posición 6 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.2 MUL
"Etapa_110" Real
EN ENO
90.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 16: Posición 7 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.3 MUL
"Etapa_111" Real
EN ENO
90.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 17: Posición 8 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 90 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.
Totally Integrated
Automation Portal

%M101.4 MUL
"Etapa_112" Real
EN ENO
90.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 18: Posición 9 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.5 MUL
"Etapa_113" Real
EN ENO
140.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 19: Posición 10 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.6 MUL
"Etapa_114" Real
EN ENO
140.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 20: Posición 11 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M101.7 MUL
"Etapa_115" Real
EN ENO
140.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 21: Posición 12 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 140 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.
Totally Integrated
Automation Portal

%M102.0 MUL
"Etapa_116" Real
EN ENO
140.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 22: Posición 13 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.1 MUL
"Etapa_117" Real
EN ENO
230.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 23: Posición 14 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.2 MUL
"Etapa_118" Real
EN ENO
230.0 IN1
"Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 24: Posición 15 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.3 MUL
"Etapa_119" Real
EN ENO
230.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity

Segmento 25: Posición 16 de la pantalla 16 posiciones


En esta etapa se multiplica la posición 230 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absolu‐
to y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.
Totally Integrated
Automation Portal

%M102.4 MUL
"Etapa_120" Real
EN ENO
230.0 IN1 "Variables_eje_
50.0 IN2 Y".Posicion_
OUT 16_puls_Y

MOVE
EN ENO

"Variables_eje_ "MC_
Y".Posicion_ MoveAbsolute_
16_puls_Y IN OUT1 DB_Y".Position

MOVE
EN ENO
2500.0 IN "MC_
MoveAbsolute_
OUT1 DB_Y".Velocity
Totally Integrated
Automation Portal

Bloques de programa
Control_eje_Z [OB125]
Control_eje_Z Propiedades
General
Nombre Control_eje_Z Número 125 Tipo OB Idioma KOP
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: Inicio de la tarea


Estas etapas activan la instrución posición en origen.

%M2.2 "MC_Home_
"Etapa_2" DB_Z".Execute

%M100.2
"Etapa_102"

Segmento 2: Power Z
Este bloque de función se utiliza para habiltar el eje.

%DB20
"MC_Power_DB_Z"
MC_Power

EN ENO
%DB3 Status ...
"Eje_Z" Axis Error ...
false Enable
0 StopMode

Segmento 3: Home Z
Este bloque de función se usa para que el eje Y se ponga origen.

%DB21
"MC_Home_DB_Z"
MC_Home

EN ENO
%DB3 Done ...
"Eje_Z" Axis Error ...
false Execute
0.0 Position
3 Mode

Segmento 4: Movimiento Absoluto


Este bloque de función se usa para que el eje inicie un movimiento en una posición absoluta con la referencia de la posición de origen.

%DB23
"MC_
MoveAbsolute_
DB_Z"

MC_MoveAbsolute

EN ENO
%DB3 Done ...
"Eje_Z" Axis Error ...
false Execute
0.0 Position
10.0 Velocity

Segmento 5: Inicio de la tarea


Estas etapas activan el movimiento del eje Z.
Totally Integrated
Automation Portal

"MC_
%M2.5 MoveAbsolute_
"Etapa_5" DB_Z".Execute

%M2.6
"Etapa_6"

%M3.1
"Etapa_9"

%M3.2
"Etapa_10"

%M3.7
"Etapa_13"

%M4.0
"Etapa_14"

%M4.3
"Etapa_17"

%M4.4
"Etapa_18"

Segmento 6: Posición 1 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M2.5 MUL
"Etapa_5" Real
EN ENO

"Variables_eje_ "Variables_eje_
Z".Posicion1_ Z".Posicion1_
mm_Z IN1 OUT puls_Z
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Z".Posicion1_ MoveAbsolute_
puls_Z IN OUT1 DB_Z".Position

MOVE
EN ENO
1000.0 IN "MC_
MoveAbsolute_
OUT1 DB_Z".Velocity

Segmento 7: Posición 2 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M3.1 MUL
"Etapa_9" Real
EN ENO

"Variables_eje_ "Variables_eje_
Z".Posicion2_ Z".Posicion2_
mm_Z IN1 OUT puls_Z
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Z".Posicion2_ MoveAbsolute_
puls_Z IN OUT1 DB_Z".Position

MOVE
EN ENO
1000.0 IN "MC_
MoveAbsolute_
OUT1 DB_Z".Velocity

Segmento 8: Posición 3 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.
Totally Integrated
Automation Portal

%M3.7 MUL
"Etapa_13" Real
EN ENO

"Variables_eje_ "Variables_eje_
Z".Posicion3_ Z".Posicion3_
mm_Z IN1 OUT puls_Z
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Z".Posicion3_ MoveAbsolute_
puls_Z IN OUT1 DB_Z".Position

MOVE
EN ENO
1000.0 IN "MC_
MoveAbsolute_
OUT1 DB_Z".Velocity

Segmento 9: Posición 4 de la pantalla 4 posiciones


En esta etapa se multiplica la posición en mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M4.3 MUL
"Etapa_17" Real
EN ENO

"Variables_eje_ "Variables_eje_
Z".Posicion4_ Z".Posicion4_
mm_Z IN1 OUT puls_Z
50.0 IN2

MOVE
EN ENO

"Variables_eje_ "MC_
Z".Posicion4_ MoveAbsolute_
puls_Z IN OUT1 DB_Z".Position

MOVE
EN ENO
1000.0 IN "MC_
MoveAbsolute_
OUT1 DB_Z".Velocity

Segmento 10: Posición bajar taladro de la pantalla 16 posiciones


En esta etapa se multiplica la posición 60 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto
y también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M102.5 MUL
"Etapa_121" Real
EN ENO
60.0 IN1
"Variables_eje_
50.0 IN2 Z".Posicion4_
OUT puls_Z

MOVE
EN ENO

"Variables_eje_ "MC_
Z".Posicion4_ MoveAbsolute_
puls_Z IN OUT1 DB_Z".Position

MOVE
EN ENO
1000.0 IN "MC_
MoveAbsolute_
OUT1 DB_Z".Velocity

Segmento 11: Posición subir taladro de la pantalla 16 posiciones


En esta etapa se multiplica la posición 0 mm por 50 que son los pulsos, luego se envia con un move al bloque de función de posición de movimiento absoluto y
también se envia otro move con la velocidad al bloque de función de movimiento absoluto para determinar la velocidad.

%M2.6
"Etapa_6" MOVE
EN ENO
0.0 IN "MC_
%M3.2 MoveAbsolute_
"Etapa_10" OUT1 DB_Z".Position

MOVE
%M4.0 EN ENO
"Etapa_14" 1500.0 IN "MC_
MoveRelative_
OUT1 DB_Z".Velocity

%M4.4
"Etapa_18"

%M102.6
"Etapa_122"
Totally Integrated
Automation Portal

Bloques de programa
Temporizadores 4 posiciones [OB126]
Temporizadores 4 posiciones Propiedades
General
Nombre Temporizadores 4 posi‐ Número 126 Tipo OB Idioma KOP
ciones
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: T0
Este temporizador tiene un tiempo de 10 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB9
"Timer 0"
%M2.3 TON
"Etapa_3" Time
IN Q
T#10s PT ET ...

Segmento 2: T1
Este temporizador tiene un tiempo de 5 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB10
"Timer 1"
%M2.5 TON
"Etapa_5" Time
IN Q
T#2s PT ET ...

Segmento 3: T2
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB11
"Timer 2"
%M2.7 TON
"Etapa_7" Time
IN Q
T#2s PT ET ...

Segmento 4: T3
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB12
"Timer 3"
%M3.1 TON
"Etapa_9" Time
IN Q
T#2s PT ET ...

Segmento 5: T4
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB13
"Timer 4"
%M3.5 TON
"Etapa_11" Time
IN Q
T#2s PT ET ...

Segmento 6: T5
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.
Totally Integrated
Automation Portal

%DB30
"Timer 5"
%M3.7 TON
"Etapa_13" Time
IN Q
T#2s PT ET ...

Segmento 7: T6
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB31
"Timer 6"
%M4.1 TON
"Etapa_15" Time
IN Q
T#2s PT ET ...

Segmento 8: T7
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB32
"Timer 7"
%M4.3 TON
"Etapa_17" Time
IN Q
T#2s PT ET ...

Segmento 9: T8
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB33
"Timer 8"
%M4.5 TON
"Etapa_19" Time
IN Q
T#2s PT ET ...
Totally Integrated
Automation Portal

Bloques de programa
Ciclo del taladro [OB127]
Ciclo del taladro Propiedades
General
Nombre Ciclo del taladro Número 127 Tipo OB Idioma KOP
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: Converción para el escalado de la salida analógica


Aquí se hace el escalado de la salida analógica de la velocidad del taladro. La entrada es un valor de 0 a 100% y la salida es para una tensión de 0 a 3.3V. El
valor de la entrada del scale_X es normalmente de 0 a 27648, pero como queremos que sea como maximo 3.3V le hemos dado un valor de 9670, si fuera 10V
sería 27648.

NORM_X SCALE_X
Int to Real Real to Int
EN ENO EN ENO
0 MIN 0 MIN
%MD110 %QW80
%MW104 "Valor_norm_ %MD110 "Salida_
"Datos_valor_ OUT taladro" "Valor_norm_ Analogica_
vel_taladro" VALUE taladro" VALUE OUT Taladro"
100 MAX 9670 MAX

Segmento 2: Velocidad del taladro al 0%.


En estas etapas el taladro esta parado, por eso se le envia un 0 a la variable de valor del taladro.

%M2.0
"Etapa_0" MOVE
EN ENO
0 IN
%MW104
%M2.1 "Datos_valor_
"Etapa_1" OUT1 vel_taladro"

%M2.2
"Etapa_2"

%M2.3
"Etapa_3"

%M2.7
"Etapa_7"

%M3.5
"Etapa_11"

%M4.1
"Etapa_15"

%M4.5
"Etapa_19"

%M100.0
"Etapa_100"

%M100.1
"Etapa_101"

%M100.2
"Etapa_102"

%M100.3
"Etapa_103"

%M100.4
"Etapa_104"

%M102.7
"Etapa_123"
Totally Integrated
Automation Portal

Segmento 3: Velocidad del taladro al 30%.


En estas etapas el taladro esta al 30% de su velocidad, por eso se hace un move con valor 30 al la variable de valor_vel_taladro.

%M2.4
"Etapa_4" MOVE
EN ENO
30 IN %MW104
%M2.6 "Datos_valor_
"Etapa_6" OUT1 vel_taladro"

%M3.0
"Etapa_8"

%M3.2
"Etapa_10"

%M3.6
"Etapa_12"

%M4.0
"Etapa_14"

%M4.2
"Etapa_16"

%M4.4
"Etapa_18"

%M102.6
"Etapa_122"

%M100.5
"Etapa_105"

%M100.6
"Etapa_106"

%M100.7
"Etapa_107"

%M101.0
"Etapa_108"

%M101.1
"Etapa_109"

%M101.2
"Etapa_110"

%M101.3
"Etapa_111"

%M101.4
"Etapa_112"

%M101.5
"Etapa_113"

%M101.6
"Etapa_114"

%M101.7
"Etapa_115"

%M102.0
"Etapa_116"

%M102.1
"Etapa_117"

%M102.2
"Etapa_118"

%M102.3
"Etapa_119"

%M102.4
"Etapa_120"

Segmento 4: Velocidad del taladro al 100%.


En estas etapas el taladro esta al 100% de su velocidad, por eso se hace un move con valor 100 al la variable de valor_vel_taladro.
Totally Integrated
Automation Portal

%M2.5
"Etapa_5" MOVE
EN ENO
100 IN %MW104
%M3.1 "Datos_valor_
"Etapa_9" OUT1 vel_taladro"

%M3.7
"Etapa_13"

%M4.3
"Etapa_17"

%M102.5
"Etapa_121"
Totally Integrated
Automation Portal

Bloques de programa
Ciclo de paros [OB129]
Ciclo de paros Propiedades
General
Nombre Ciclo de paros Número 129 Tipo OB Idioma KOP
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: Paro en la pantalla de 4 posiciones.


Al pulsar paro de 4 posiciones se hace un move 1 al la variable compuesta de doble palabra (doble world) que son 32 bits. para que la etapa 1 se active y todas
las demás etapas se desactiven. Ya que al hacer este tipo de move, las variables quedan forzadas porque la variable MD2 tiene el control de las variables desde
M2.0 a M5.7 y lo que se hace es activar la variable M2.0 que equivale a la etapa 0.

%M18.7
"Paro_4_
posiciones" MOVE
EN ENO
1 IN %MD2
"Paro_reset_
OUT1 etapa_4_pos"

Segmento 2: Paro en la pantalla de 16 posiciones.


Al pulsar paro de 16 posiciones se hace un move 1 al la variable compuesta de doble palabra (doble world) que son 32 bits. para que la etapa 1 se active y
todas las demás etapas se desactiven. Ya que al hacer este tipo de move, las variables quedan forzadas porque la variable MD100 tiene el control de las varia‐
bles desde M100.0 a M103.7 y lo que se hace es activar la variable M100.0 que equivale a la etapa 100.

%M18.5
"Paro_16_
posiciones" MOVE
EN ENO
1 IN
%MD100
"Paro_reset_
etapas_16_
OUT1 pos"
Totally Integrated
Automation Portal

Bloques de programa
Temporizadores 16 posiciones [OB130]
Temporizadores 16 posiciones Propiedades
General
Nombre Temporizadores 16 posi‐ Número 130 Tipo OB Idioma KOP
ciones
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: T10 tiempo para que los ejes x e y esten en origen y poder pasar a la siguiente etapa
Este temporizador tiene un tiempo de 4 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB34
"T10"
%M100.3 TON
"Etapa_103" Time
IN Q
T#4S PT ET ...

Segmento 2: T11
Este temporizador tiene un tiempo de 2 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB35
"T11"
%M102.5 TON
"Etapa_121" Time
IN Q
T#2S PT ET ...

Segmento 3: T12
Este temporizador tiene un tiempo de 1 segundos, por lo que al estar activada IN al cabo del tiempo se activará la salida Q.

%DB36
"T12"
%M102.7 TON
"Etapa_123" Time
IN Q
T#1S PT ET ...
Totally Integrated
Automation Portal

Bloques de programa
Ciclo de 16 posiciones [OB131]
Ciclo de 16 posiciones Propiedades
General
Nombre Ciclo de 16 posiciones Número 131 Tipo OB Idioma KOP
Numeración automática
Información
Título "Main Program Sweep (Cy‐ Autor Comentario Familia
cle)"
Versión 0.1 ID personaliza‐
da

Nombre Tipo de datos Valor predet.


Input
Initial_Call Bool
Remanence Bool
Temp
Constant

Segmento 1: Etapa 100


Esta etpa se activará cuando se inicie un primer pulso ( FirstScan ).

%M100.0
%M1.0 "Etapa_100"
"FirstScan" SR
S Q

%M100.1
"Etapa_101"
R1

Segmento 2: Etapa 101


Esta etapa se utiliza de paso para seguir con el protocolo de grafcet que dice que no puede haber menos de tres etapas.

%M100.1
%M100.0 "Etapa_101"
"Etapa_100" SR
S Q

%M100.2
"Etapa_102"
R1

Segmento 3: Etapa 102


Esta etapa se activará cuando el interruptor y el pulsador de activar esten accionados.

%M18.6 %M18.4 %M100.2


%M100.1 "interruptor_16_ "Activar_16_ "Etapa_102"
"Etapa_101" posiciones" posiciones" SR
S Q

%M100.3
"Etapa_103"
R1

Segmento 4: Etapa 103


Esta etapa se activará cuando el eje Z subir haya alcanzado su posición.

%M100.3
%M100.2 "MC_Home_ "Etapa_103"
"Etapa_102" DB_Z".Done SR
S Q

%M100.4
"Etapa_104"
R1

Segmento 5: Etapa 104


Esta etapa se activará cuando el temporizador T10 tenga su salida activa y los ejes X Y hayan alcanzado su posición de origen (Home).
Totally Integrated
Automation Portal

%M100.4
%M100.3 "MC_Home_ "MC_Home_ "Etapa_104"
"Etapa_103" "T10".Q DB_X".Done DB_Y".Done SR
S Q

%M102.7
"Etapa_123" "T12".Q

%M100.5
"Etapa_105"
R1

%M100.6
"Etapa_106"

%M100.7
"Etapa_107"

%M101.0
"Etapa_108"

%M101.1
"Etapa_109"

%M101.2
"Etapa_110"

%M101.3
"Etapa_111"

%M101.4
"Etapa_112"

%M101.5
"Etapa_113"

%M101.6
"Etapa_114"

%M101.7
"Etapa_115"

%M102.0
"Etapa_116"

Segmento 6: Etapa 105


Esta etapa se activará cuando se pulse el botón de posición.

%M100.5
%M100.4 %M6.0 "Etapa_105"
"Etapa_104" "Posicion_1" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 7: Etapa 106


Esta etapa se activará cuando se pulse el botón de posición.

%M100.6
%M100.4 %M6.1 "Etapa_106"
"Etapa_104" "Posicion_2" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 8: Etapa 107


Esta etapa se activará cuando se pulse el botón de posición.

%M100.7
%M100.4 %M6.2 "Etapa_107"
"Etapa_104" "Posicion_3" SR
S Q

%M102.5
"Etapa_121"
R1
Totally Integrated
Automation Portal

Segmento 9: Etapa 108


Esta etapa se activará cuando se pulse el botón de posición.

%M101.0
%M100.4 %M6.3 "Etapa_108"
"Etapa_104" "Posicion_4" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 10: Etapa 109


Esta etapa se activará cuando se pulse el botón de posición.

%M101.1
%M100.4 %M6.4 "Etapa_109"
"Etapa_104" "Posicion_5" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 11: Etapa 110


Esta etapa se activará cuando se pulse el botón de posición.

%M101.2
%M100.4 %M6.5 "Etapa_110"
"Etapa_104" "Posicion_6" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 12: Etapa 111


Esta etapa se activará cuando se pulse el botón de posición.

%M101.3
%M100.4 %M6.6 "Etapa_111"
"Etapa_104" "Posicion_7" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 13: etapa 112


Esta etapa se activará cuando se pulse el botón de posición.

%M101.4
%M100.4 %M6.7 "Etapa_112"
"Etapa_104" "Posicion_8" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 14: Etapa 113


Esta etapa se activará cuando se pulse el botón de posición.

%M101.5
%M100.4 %M7.0 "Etapa_113"
"Etapa_104" "Posicion_9" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 15: Etapa 114


Esta etapa se activará cuando se pulse el botón de posición.

%M101.6
%M100.4 %M7.1 "Etapa_114"
"Etapa_104" "Posicion_10" SR
S Q

%M102.5
"Etapa_121"
R1
Totally Integrated
Automation Portal

Segmento 16: Etapa 115


Esta etapa se activará cuando se pulse el botón de posición.

%M101.7
%M100.4 %M7.2 "Etapa_115"
"Etapa_104" "Posicion_11" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 17: Etapa 116


Esta etapa se activará cuando se pulse el botón de posición.

%M102.0
%M100.4 %M7.3 "Etapa_116"
"Etapa_104" "Posicion_12" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 18: Etapa 117


Esta etapa se activará cuando se pulse el botón de posición.

%M102.1
%M100.4 %M7.4 "Etapa_117"
"Etapa_104" "Posicion_13" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 19: Etapa 118


Esta etapa se activará cuando se pulse el botón de posición.

%M102.2
%M100.4 %M7.5 "Etapa_118"
"Etapa_104" "Posicion_14" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 20: Etapa 119


Esta etapa se activará cuando se pulse el botón de posición.

%M102.3
%M100.4 %M7.6 "Etapa_119"
"Etapa_104" "Posicion_15" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 21: Etapa 120


Esta etapa se activará cuando se pulse el botón de posición.

%M102.4
%M100.4 %M7.7 "Etapa_120"
"Etapa_104" "Posicion_16" SR
S Q

%M102.5
"Etapa_121"
R1

Segmento 22: Etapa 121


Esta etapa se activará cuando los ejes X Y hayan alcanzado su posición.
Totally Integrated
Automation Portal

"MC_ "MC_ %M102.5


%M100.5 MoveAbsolute_ MoveAbsolute_ "Etapa_121"
"Etapa_105" DB_X".Done DB_Y".Done SR
S Q

%M100.6
"Etapa_106"

%M100.7
"Etapa_107"

%M101.0
"Etapa_108"

%M101.1
"Etapa_109"

%M101.2
"Etapa_110"

%M101.3
"Etapa_111"

%M101.4
"Etapa_112"

%M101.5
"Etapa_113"

%M101.6
"Etapa_114"

%M101.7
"Etapa_115"

%M102.0
"Etapa_116"

%M102.1
"Etapa_117"

%M102.2
"Etapa_118"

%M102.3
"Etapa_119"

%M102.4
"Etapa_120"

%M102.6
"Etapa_122"
R1

Segmento 23: Etapa 122


Esta etapa se activará cuando el temporizador T11 tenga su salida activa.

%M102.6
%M4.7 "Etapa_122"
"Etapa_21" "T11".Q SR
S Q

%M102.7
"Etapa_123"
R1

Segmento 24: etapa 123


Esta etapa se activará cuando el eje Z subir haya alcanzado su posición.

"MC_ %M102.7
%M102.6 MoveAbsolute_ "Etapa_123"
"Etapa_122" DB_Z".Done SR
S Q

%M100.4
"Etapa_104"
R1
Totally Integrated
Automation Portal

Proyecto_Final_de_ciclo / PLC_1 [CPU 1212C DC/DC/DC]


Variables PLC
Nombre Tipo de datos Dirección Remanencia
System_Byte Byte %MB1 False
FirstScan Bool %M1.0 False
DiagStatusUpdate Bool %M1.1 False
AlwaysTRUE Bool %M1.2 False
AlwaysFALSE Bool %M1.3 False
Clock_Byte Byte %MB0 False
Clock_10Hz Bool %M0.0 False
Clock_5Hz Bool %M0.1 False
Clock_2.5Hz Bool %M0.2 False
Clock_2Hz Bool %M0.3 False
Clock_1.25Hz Bool %M0.4 False
Clock_1Hz Bool %M0.5 False
Clock_0.625Hz Bool %M0.6 False
Clock_0.5Hz Bool %M0.7 False
Eje_X_Impulso Bool %Q0.0 False
Eje_X_Sentido Bool %Q0.1 False
Eje_Y_Impulso Bool %Q0.2 False
Eje_Y_Sentido Bool %Q0.3 False
Eje_Z_Impulso Bool %Q0.4 False
Eje_Z_Sentido Bool %Q0.5 False
Etapa_0 Bool %M2.0 False
Etapa_1 Bool %M2.1 False
Etapa_2 Bool %M2.2 False
Etapa_3 Bool %M2.3 False
Etapa_4 Bool %M2.4 False
Etapa_5 Bool %M2.5 False
Etapa_6 Bool %M2.6 False
Etapa_7 Bool %M2.7 False
Etapa_8 Bool %M3.0 False
Etapa_9 Bool %M3.1 False
Etapa_10 Bool %M3.2 False
Fc_home_X Bool %I0.0 False
Fc_home_Y Bool %I0.1 False
Fc_home_Z Bool %I0.2 False
Interruptor_4_posiciones Bool %M3.4 False
Etapa_11 Bool %M3.5 False
Etapa_12 Bool %M3.6 False
Etapa_13 Bool %M3.7 False
Etapa_14 Bool %M4.0 False
Etapa_15 Bool %M4.1 False
Etapa_16 Bool %M4.2 False
Etapa_17 Bool %M4.3 False
Etapa_18 Bool %M4.4 False
Etapa_19 Bool %M4.5 False
Etapa_20 Bool %M4.6 False
Etapa_21 Bool %M4.7 False
Etapa_22 Bool %M5.0 False
Marcha_4_posiciones Bool %M5.2 False
Salida_Analogica_Taladro Int %QW80 False
Paro_reset_etapa_4_pos DWord %MD2 False
Etapa_23 Bool %M5.1 False
Posicion_1 Bool %M6.0 False
Posicion_2 Bool %M6.1 False
Posicion_3 Bool %M6.2 False
Posicion_4 Bool %M6.3 False
Posicion_5 Bool %M6.4 False
Posicion_6 Bool %M6.5 False
Posicion_7 Bool %M6.6 False
Posicion_8 Bool %M6.7 False
Posicion_9 Bool %M7.0 False
Posicion_10 Bool %M7.1 False
Totally Integrated
Automation Portal

Nombre Tipo de datos Dirección Remanencia


Posicion_11 Bool %M7.2 False
Posicion_12 Bool %M7.3 False
Posicion_13 Bool %M7.4 False
Posicion_14 Bool %M7.5 False
Posicion_15 Bool %M7.6 False
Posicion_16 Bool %M7.7 False
Activar_16_posiciones Bool %M18.4 False
Paro_16_posiciones Bool %M18.5 False
Etapa_100 Bool %M100.0 False
Etapa_101 Bool %M100.1 False
Etapa_102 Bool %M100.2 False
Etapa_103 Bool %M100.3 False
Etapa_104 Bool %M100.4 False
Etapa_105 Bool %M100.5 False
Etapa_106 Bool %M100.6 False
Etapa_107 Bool %M100.7 False
Etapa_108 Bool %M101.0 False
Etapa_109 Bool %M101.1 False
Etapa_110 Bool %M101.2 False
Etapa_111 Bool %M101.3 False
Etapa_112 Bool %M101.4 False
Etapa_113 Bool %M101.5 False
Etapa_114 Bool %M101.6 False
Etapa_115 Bool %M101.7 False
Etapa_116 Bool %M102.0 False
Etapa_117 Bool %M102.1 False
Etapa_118 Bool %M102.2 False
Etapa_119 Bool %M102.3 False
Etapa_120 Bool %M102.4 False
Etapa_121 Bool %M102.5 False
Etapa_122 Bool %M102.6 False
Etapa_123 Bool %M102.7 False
interruptor_16_posiciones Bool %M18.6 False
Paro_4_posiciones Bool %M18.7 False
Paro_reset_etapas_16_pos DWord %MD100 False
Datos_valor_vel_taladro Int %MW104 False
Valor_norm_taladro Real %MD110 False
CNC Motion Control S7 1200
_______________________

11. SCADA

11.1 Introducción pantalla HMI

Si empezamos a introducirnos en el TIA PORTAL, nos convendrá saber lo


siguiente: “te permite simular las pantallas de Siemens”, las que tiene por
defecto, en mi caso:

Tiene una pestañita que clicando después de tener realizado el panel o


ejemplo, lo podrás simular:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Configuración con el asistente de la pantalla KTP600

Tenemos distintas maneras de introducir una pantalla dentro del proyecto,


una es desde la “Vista del Portal”, eligiendo “Dispositivos y redes > Agregar
dispositivo”:

Y la otra es desde “Vista del proyecto”, en el “Árbol del proyecto > agregar
dispositivo”:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Después de elegir la pantalla, en el TIA PORTAL nos saldrá el asistente, con


el que elegiremos una configuración inicial:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

De manera inicial, si sólo queremos trabajar en simulación no tenemos


porqué introducir el autómata.

Dentro de las distintas pestañas que te da a escoger el “Asistente del panel


de operador”, podemos colocar una imagen como “logotipo” o introducir la
“fecha y hora” del sistema de la pantalla.

Entre otras, en la pestaña “Botones” también podremos escoger 4 botones


iniciales, además de poderlos distribuir en distintas zonas como
“izquierda,derecha y abajo”. Para trabajar con ellos, simplemente deben
arrastrarse y situarlos en los cuadros correspondientes:

Clicando en el botón “Finalizar”.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Con la configuración inicial hecha a través del asistente, podremos realizar


una prueba con la simulación. Clicando al botón que he indicado en el apartado
de introducción:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Cuando configuramos con el asistente, no podemos desarrollar la pantalla


HMI como nosotros deseamos. No es posible la introducción de variables,
gráficos y otros elementos de información, con lo que vamos a partir de la
“Vista del proyecto”.
Entorno del TIA PORTAL

En la imagen que a continuación coloco, podremos fijarnos en distintos


elementos que puede servir para adentrarnos a este entorno:

Brevemente puedo explicar que:

-En el árbol del proyecto podemos ver los distintos menús y submenús con los
que se pueden trabajar en su configuración.

-En área de trabajo vemos cómo es la pantalla HMI que está siendo
configurada

-En las task cards, se observan distintas pestañas: Tareas,Instrucciones,Diseño


y Herramientas. En este caso, la pestaña “Diseño” contiene otros menús en el
que se observan: Zoom,Niveles, Cuadrícula…

Lo nuevo para trabajar con pantallas es que se introducen nuevas “task


cards” y aparece un nuevo menú en “Árbol del proyecto” para trabajar con la
pantalla elegida.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Ejemplo de implementación

A continuación explico mediante un ejemplo un poco más concreto el


entorno y la propia implementación en la pantalla HMI. Serán dos ‘imágenes’,
en una se visualizará la ‘fecha y hora’ en una variable y en otra imagen estará
separada en campos ‘fecha’ y ‘hora’. Introduciendo un logo en la parte superior
izquierda.

Introdución de las variables en la pantalla

Para poder visualizar las variables que estamos utilizando del autómata en
la pantalla hmi, podemos realizarlo de la siguiente manera:

•Dentro del “Árbol de proyecto” clicamos en la sección del “PLC_1” el bloque


de datos o en “Variables del PLC”, paralelamente en la sección de “HMI_1”
procederemos de igual manera.

•Deberemos clicar en “Tabla de variables estándar” y para nuestra aplicación,


dentro de bloques de programa “Bloque de datos_1” relacionando así la
variable DTL, y para relacionar las variables del PLC, seleccionaremos la “Tabla
de variables estándar”.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Dividiendo el área de trabajo, arrastraremos la variable del proyecto


“PLC_1” a la ventana de las variables del HMI. En este caso, en la imagen
aparece le bloque de datos “DB2”, si seleccionáramos la “Tabla de variables
estándar” aparecería en su lugar:

Así ya tendremos dentro del proyecto del HMI las variables, que podremos
introducir en la imagen que queramos. También mediante el método de
arrastrar, como a continuación aparece en la imagen:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Nos colocaremos encima de la pestaña que está en recuadro y la


desplazamos hacia el entorno de la HMI, de igual forma se procederá para el
paso del resto de variables.

La imagen que aparece en la parte superior es como aparece inicialmente, a


posteriori habrá que retocarla en sus propiedades, una vez seleccionada.

Introducir la imagen o logo

Para introducir una imagen podemos seleccionar la pestaña “Herramientas”,


dentro de la sección “Task cards”:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Una vez desplazado el objeto, deberemos seleccionar el archivo que


queremos asociar para ello deberemos ir a “Propiedades > General ”.

Posteriormente clicaremos en la pestaña “Crear gráfico a partir de archivo”.


Una vez seleccionado el gráfico, iremos a “Representación”:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

En la imagen anterior se observa que está seleccionado “Adaptar gráfico a


tamaño objeto”. Aparecerá en el “Área de trabajo” dicha imagen donde
podremos adaptar su tamaño de manera manual de manera intuitiva.

Fijar la imagen inicial

Cuando estamos tratando de configurar nuestro panel en el HMI, deberemos


fijar una imagen como principal, será la imagen que aparecerá inicialmente en
panel de usuario.

Sabremos que está configurada cuando salga el icono verde, señalado en la


imagen posterior.

Configurar los botones ‘Fx’

Una de las maneras para interactuar con el usuario es configurando los


denominados ‘eventos’, es aquí donde deberemos asociar los botones a estos.
Hasta ahora hemos estado viendo que unas pestañas marcadas con color, eso
quiere decir que tienen funciones asociadas cuando son pulsadas. A

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

continuación procederé a explicar cómo empezar.


-Deberemos clicar inicialmente en la imagen asociada a dicho botón.

-Pulsar en la ventana “Eventos”.

-En dicha ventana, clicar en “Pulsar tecla”

-Colocarnos en “< Agregar función>” y clicar sobre ella.

A continuación deberemos elegir la función a desarrollar al pulsar la tecla,


en nuestro caso “Otras funciones > PararRuntime”.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

11.2 Realización de la pantalla HMI

La pantalla HMI del proyecto consta de 4 pantallas, Menú, 4 posiciones, 16


posiciones y de diagnósticos.

La pantalla de 4 posiciones, esta compuesta de un interruptor para activar


los accionamientos, un pulsador para marcha, un pulsador para paro y un
pulsador para salir al menú principal.

La pantalla de Menú es sencilla tiene los 4 botones de las pantallas del


proyecto.

Luego tenemos 12 recuadros para introducir los parámetro de posición para


que los ejes vayan a la posición y 8 indicadores para saber el estado de la
posición de cada eje.

El funcionamiento de esta pantalla es el siguiente, introducimos los valores


de posición en mm de cada eje y posición. Accionamos el interruptor de activar
y la pulsar marcha, los ejes se posicionaran en origen y luego de forma

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

automática se realizarán los 4 taladros.

Al terminar el ciclo se puede volver a pulsar marcha, para volver a taladrar.


Si durante el proceso queremos parar el ciclo, pulsando paro, los ejes se
detendrán automáticamente.

1-posicionamiento para los taladros


2- Marcha
3- Activar
4- Diagnostico y averías
5- Menú
6- Paro

La siguiente pantalla de 16 posiciones consta de un interruptor para


habilitar los ejes, un pulsador de activar, uno de paro, un para regresar al
menú principal y 16 botones para fijar la posición deseada.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

1-Menú
2- Paro
3- Activar
4..19- posiciones
20- Accionamiento principal

El funcionamiento de la pantalla es el siguiente, se acciona la habilitación de


los ejes y al pulsar activar los ejes van a origen y pasado un tiempo de 4
segundos, al pulsar cualquier botón de las 16 posiciones se iniciará la posición
deseada, una detrás de otra. Si se pulsa paro se detendrán los ejes.

Y la ultima pantalla es de diagnostico de averías, bien por error o fallos de


comunicación, etc... Desde la pantalla de 4 posiciones también se puede
acceder, pulsando el botón de averías.

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Y la lista de las variable de HMI son las siguientes:

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

12. Problemas durante el proyecto


El mayor problema ha sido a la hora de fabricar la maquina, en como
diseñar la estructura, en como colocar las guías de los husillos, sensores y
motores. Y como la maquina la he ido montando sobre la marcha pues
entonces a cada paso, un problema detrás de otro.

El otro problema a sido al crear el programa con el TIA portal, ha sido todo
un problema pues como partía de que no tenia formación sobre el control de
movimiento con Siemens y que tampoco hay mucha información, y la que he
encontrado para mi ha sido difícil de interpretar, por eso he intentado
documentar bien el proyecto.

El factor mas importante ha sido como durante estos años, la falta de


tiempo para estudiar, consultar manuales de automatización y mil cosas mas.

13. Conclusión

Pues que gracias a este grado superior de automatización y robótica


industrial en el instituto Jaume I de Ontinyent, he aprendido mucho en la
materia de la automatización.

Y que gracias al talento de los profesores del instituto Jaume I, he podido


realizar un proyecto como este y por eso quiero dar las gracias a:

Ricardo Carpio
Rafa Gisbert
Raúl Girones
Robert Asensio
Jose manuel mateu
Rafa Gandia

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

14. Fotos del proyecto

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Rubén Gómez Sáez


CNC Motion Control S7 1200
_______________________

Rubén Gómez Sáez

También podría gustarte