Tema%7 - umh2210umh2210.edu.umh.es/.../800/2013/02/Tema7_parte2.pdf · ContadorrápidoS71200 •...
Transcript of Tema%7 - umh2210umh2210.edu.umh.es/.../800/2013/02/Tema7_parte2.pdf · ContadorrápidoS71200 •...
Tema 7 Programación Avanzada. Visión Prác4ca con S7-‐1200 PARTE 2: CONTADORES RÁPIDOS
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N S7-‐1200
1
Encoder óptico • Un encoder óp4co rota4vo es un sensor angular de posición que consta de un diodo electroluminiscente (LED), un receptor fotosensible, y un disco con una serie de zonas opacas y transparentes Zsicamente conectado por su eje al órgano de la máquina a controlar.
• La luz emi4da por los LEDs llega a los fotodiodos cuando ésta cruza las zonas transparentes del disco; en tal caso, los fotodiodos generan una señal eléctrica, que se amplia y convierte en una señal de onda cuadrada antes de ser enviada a un sistema de procesamiento. Cuando el disco rota, la señal de salida del encoder coge una forma de señales de onda cuadrada sucesivas.
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
2
2
Encoder óptico • Resolución: • Es el número de impulsos por vuelta, corresponde al número de graduaciones en el disco o un múl4plo de este número. Cuanto más grande es este número, mayor es el número de medidas por vuelta, lo que permite conocer de forma más precisa el desplazamiento o la velocidad de la parte móvil de la máquina conectada al encoder. • Discos están fabricados en polyfass para resoluciones de hasta: • 2048 puntos para un diámetro de 40mm • 5000 puntos para un diámetro de 58mm • 10000 puntos para un diámetro de 90mm
• o vidrio para mayores resoluciones y frecuencias de lectura elevadas.
• Aplicación dpica: máquina de corte longitudinal • Resolución = distancia recorrida en 1 vuelta/número de puntos • Por ejemplo, si la máquina de corte consta de un disco de 200mm de longitud de circunferencia, para obtener una precisión de 1mm la resolución del encoder debe ser de 200 puntos. Para 0.5mm de 400 puntos.
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
3
3
Encoder óptico • Tipos: • Encoder incremental
• Detectan la posición de una parte móvil y controlan su desplazamiento incrementando o reduciendo los impulsos que éstos generan.
• Encoder absoluto • Proporcionan la información exacta de posición sobre una o varias vueltas.
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
4
4
Encoder absoluto. En el encoder absoluto, el disco con4ene varias bandas dispuestas en forma de coronas circulares concéntricas, dispuestas de tal forma que en sen4do radial el rotor queda dividido en sectores, con marcas opacas y transparentes codificadas en código Gray.
Encoder incremental. Este 4po de encoder se caracteriza porque determina su posición, contando el número de impulsos que se generan cuando un rayo de luz, es atravesado por marcas opacas en la superficie de un disco unido al eje.
Contador rápido S7 1200 • La CPU permite configurar hasta 6 contadores rápidos. • Las "Propiedades" de la CPU se editan para configurar los parámetros de cada HSC.
• Los parámetros de los contadores rápidos se configuran editando las "Propiedades" de la CPU.
• Tras habilitar el HSC se deben configurar los demás parámetros, tales como la función del contador, los valores iniciales, las opciones de reset y los eventos de alarma.
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
5
5
Instrucciones de programación 6.1 Instrucciones básicas
Controlador programable S7-1200 124 Manual de sistema, 11/2009, A5E02486683-02
6.1.3.4 Configuración del HSC La CPU permite configurar hasta 6 contadores rápidos. Las "Propiedades" de la CPU se editan para configurar los parámetros de cada HSC. Los parámetros de los contadores rápidos se configuran editando las "Propiedades" de la CPU. Tras habilitar el HSC se deben configurar los demás parámetros, tales como la función del contador, los valores iniciales, las opciones de reset y los eventos de alarma. Una vez configurado el HSC, se utiliza la instrucción CTRL_HSC en el programa de usuario para controlar el funcionamiento del HSC.
Contador rápido S7 1200 • En la Figura, podemos observar en la parte inferior de la imagen una función ‘Fase servicio’, si clicamos sobre ella aparecerán dis4ntas elecciones: • Monofásica • Bifásica • Contador A/B 1X • Contador A/B 4X
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
6
6
Estas elecciones van en función del 4po de señal de entrada que tengamos, imaginemos que dispusiésemos de un encoder incremental en cuadratura, pues bien, deberemos escoger ‘Contador A/B 1X’ o ‘Contador A/B 4X’, la elección de 1X o 4X dependerá de la resolución que queramos.
Contador rápido S7 1200 • Hay parámetros que están asignados por la CPU de manera inicial. Estos parámetros son entre ellos: • La “entrada en el hardware” por parte de la señal del disposi4vo. • La “dirección de entrada y salida” en la memoria. • Y la “ID del hardware”.
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
7
7
Contador rápido S7 1200 • La CPU almacena el valor actual de cada HSC en una dirección de entrada (I). La tabla siguiente muestra las direcciones predeterminadas asignadas al valor actual de cada HSC. La dirección I del valor actual se puede cambiar modificando las propiedades de la CPU en la "Configuración de disposi4vos".
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
8
8
Instrucciones de programación 6.1 Instrucciones básicas
Controlador programable S7-1200 Manual de sistema, 11/2009, A5E02486683-02 123
Descripción Asignación de entradas predeterminada Función - Contaje o frecuencia Contador de dos fases con 2
entradas de reloj Reloj adelante Reloj atrás
Reset Contaje - Contaje o frecuencia Contador en cuadratura (fases
A/B) Fase A Fase B
Fase Z Contaje Supervisión de trenes de impulsos (PTO)1
Reloj Sentido - Contaje
1 La supervisión de trenes de impulsos utiliza siempre las funciones de reloj y sentido. Si la salida PTO correspondiente está configurada sólo para impulsos, la salida de sentido se debería ajustar generalmente para el contaje adelante.
2 HSC3 con una entrada de reset no es posible para la CPU 1211C, que soporta sólo 6 entradas integradas. 3 HSC4 no es posible para la CPU 1211C, que soporta sólo 6 entradas integradas. 4 HSC5 y HSC6 sólo son soportados por la CPU 1211C y CPU 1212C si está instalada una Signal Board.
Acceso al valor actual del HSC La CPU almacena el valor actual de cada HSC en una dirección de entrada (I). La tabla siguiente muestra las direcciones predeterminadas asignadas al valor actual de cada HSC. La dirección I del valor actual se puede cambiar modificando las propiedades de la CPU en la "Configuración de dispositivos".
Contador rápido Tipo de datos Dirección predeterminada HSC1 Dint ID1000 HSC2 Dint ID1004 HSC3 Dint ID1008 HSC4 Dint ID1012 HSC5 Dint ID1016 HSC6 Dint ID1020
Las E/S digitales asignadas a dispositivos HSC no se pueden forzar permanentemente Las E/S digitales utilizadas por los contadores rápidos se asignan durante la configuración de dispositivos. Si se asignan direcciones de E/S digitales a estos dispositivos, los valores de las direcciones de E/S asignadas no podrán ser modificados por la función de forzado permanente de la tabla de observación.
El valor que devuelve un programa, será el contaje para ese instante pero éste seguirá contando, con lo que el valor real puede cambiar antes de que el programa finalice un proceso.
Contador rápido S7 1200 • Cargar la configuración en la CPU • Para que la CPU interprete la instrucción HSC deberemos configurar su hardware de
manera interna además de compilarla. Para ello deberemos realizar los siguientes pasos: • Nos deberemos situar encima del nombre del disposi4vo dentro del “árbol del proyecto”,
en nuestro caso “PLC_![CPU 1211C AC/DC/Rly]” de tal manera que clicando con el botón derecho del ratón, nos saldrá un menú.
• En ‘Compilar’ deberemos seleccionar “Configuración de hardware”.
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
9
9
Contador rápido S7 1200 • Cargar la configuración en la CPU • Posteriormente también deberemos cargar dicha configuración en la CPU, para ello, realizaremos el mismo procedimiento, escogiendo otro menú, siguiendo los mismos pasos pero escogiendo “Cargar en disposi4vo”:
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
10
10
Es en este momento cuando tendremos correctamente configurada nuestra CPU, en la que podremos disponer de la información del contador en la dirección por defecto, dependiendo del HSC u4lizado.
Contador rápido S7 1200 • La instrucción CTRL_HSC permite controlar los contadores rápidos u4lizados para contar eventos que ocurren más rápidamente que la frecuencia de ejecución del OB.
• Numerosos parámetros de configuración de los contadores rápidos se ajustan sólo en la "Configuración de disposi4vos" del proyecto. Algunos parámetros de los contadores rápidos se inicializan en la "Configuración de disposi4vos" del proyecto, pero se pueden modificar luego bajo el control del programa.
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
11
11
�
&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����
,QVWUXFFLRQHV�WHFQROµJLFDV� ���� &RQWDGRU�U£SLGR�
7DEOD������ ,QVWUXFFLµQ�&75/B+6&�
.23���)83� 6&/� 'HVFULSFLµQ�
�
"CTRL_HSC_0_DB" ( hsc:=_hw_hsc_in_, dir:=_bool_in_, cv:=_bool_in_, rv:=_bool_in_, period:=_bool_in_, new_dir:=_int_in_, new_cv:=_int_in_, new_rv:=_dint_in_, new_period:=_int_in_, busy:=_bool_out_, status:=_word_out_);
7RGD�LQVWUXFFLµQ�&75/B+6&�XWLOL]D�XQD�HVWUXFWXUD�DOPDFHQDGD�HQ�XQ�'%�SDUD�FRQVHUYDU�ORV�GDWRV��(O�'%�VH�DVLJQD�FXDQGR�OD�LQVWUXFFLµQ�&75/B+6&�VH�FRORFD�HQ�HO�HGLWRU�������
�� 67(3���FUHD�HO�'%�DXWRP£WLFDPHQWH�DO�LQVHUWDU�OD�LQVWUXFFLµQ����� (Q�HO�HMHPSOR�6&/���&75/B+6&B�B'%��HV�HO�QRPEUH�GHO�'%�GH�LQVWDQFLD���
7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�
3DU£PHWUR�\�WLSR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�+6&� ,1� +:B+6&� ,GHQWLILFDGRU�GHO�+6&��',5����� ,1� %RRO� �� �VROLFLWDU�QXHYR�VHQWLGR�GH�FRQWDMH�&9�� ,1� %RRO� �� �VROLFLWDU�DFWLYDFLµQ�GHO�QXHYR�YDORU�GHO�FRQWDGRU�59�� ,1� %RRO� �� �VROLFLWDU�DFWLYDFLµQ�GHO�QXHYR�YDORU�GH�UHIHUHQFLD�3(5,2'�� ,1� %RRO� �� �VROLFLWDU�DFWLYDFLµQ�GHO�QXHYR�SHULRGR�
�VµOR�SDUD�HO�PRGR�GH�PHGLFLµQ�GH�IUHFXHQFLD��1(:B',5� ,1� ,QW� 1XHYR�VHQWLGR��� �KDFLD�GHODQWH���� �KDFLD�DWU£V�1(:B&9� ,1� ',QW� 1XHYR�YDORU�GHO�FRQWDGRU�1(:B59� ,1� ',QW� 1XHYR�YDORU�GH�UHIHUHQFLD�1(:B3(5,2'� ,1� ,QW� 1XHYR�SHULRGR�HQ�VHJXQGRV������������µ����
�VµOR�SDUD�HO�PRGR�GH�PHGLFLµQ�GH�IUHFXHQFLD��%86<�� 287� %RRO� /D�IXQFLµQ�HVW£�RFXSDGD�67$786� 287� :RUG� &µGLJR�GH�FRQGLFLµQ�GH�HMHFXFLµQ�
�� 6L�QR�VH�VROLFLWD�OD�DFWXDOL]DFLµQ�GH�XQ�SDU£PHWUR��VH�LJQRUDQ�ORV�YDORUHV�GH�HQWUDGD�FRUUHVSRQGLHQWHV���� (O�SDU£PHWUR�',5�HV�Y£OLGR�VµOR�VL�HO�VHQWLGR�GH�FRQWDMH�VH�DMXVWD�D��3URJUDPD�GH�XVXDULR��FRQWURO�LQWHUQR�GH�VHQWLGR����
/D�IRUPD�GH�XWLOL]DU�HVWH�SDU£PHWUR�VH�GHWHUPLQD�HQ�OD�FRQILJXUDFLµQ�GH�GLVSRVLWLYRV�+6&���� (Q�XQ�+6&�HQ�OD�&38�R�HQ�OD�6LJQDO�%RDUG��HO�SDU£PHWUR�%86<�VLHPSUH�HVW£�SXHVWR�D����
Contador rápido S7 1200 • En el siguiente ejemplo vamos a mostrar como configurar y programar un HSC de un autómata Siemens S7-‐1200, simulando que al pulsar marcha se ac4va una cinta que transporta una botella y cuando se cumpla un determinado número de pulsos ejecutaremos el paro de esta cinta transpotadora dentro de una subru4na (OB40).
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
12
� ,QVWUXFFLRQHV�WHFQROµJLFDV�� ����&RQWDGRU�U£SLGR�
&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����
(QWUDGD�LQWHJUDGD�GH�&38����[�� (QWUDGD�GH�6%����[����+6&�
�� �� �� �� �� �� �� �� �� �� �� ����IDVH� � � � � � � � � &� >G@� � >5@���IDVHV� � � � � � � � � &8� &'� � >5@�
+6&�����
)DVH�$%� � � � � � � � � $� %� � >5@���IDVH� � � � � � � � � � >5@� &� >G@���IDVHV� � � � � � � � � � >5@� &8� &'�
+6&�����
)DVH�$%� � � � � � � � � � >5@� $� %�
�� +6&���\�+6&���VH�SXHGHQ�FRQILJXUDU�WDQWR�SDUD�ODV�HQWUDGDV�LQWHJUDGDV�FRPR�SDUD�XQD�6%���� +6&���\�+6&���VµOR�HVW£Q�GLVSRQLEOHV�FRQ�XQD�6%��+6&���VµOR�HVW£�GLVSRQLEOH�FRQ�XQD�6%�GH�FXDWUR�HQWUDGDV���� 8QD�6%�FRQ�VµOR�GRV�HQWUDGDV�¼QLFDPHQWH�RIUHFH�ODV�HQWUDGDV�����\�������
/DV�GRV�WDEODV�VLJXLHQWHV�PXHVWUDQ�ODV�DVLJQDFLRQHV�GH�HQWUDGDV�GH�+6&�WDQWR�SDUD�ODV�(�6�LQWHJUDGDV�GH�OD�&38�����&�FRPR�SDUD�XQD�6%�RSFLRQDO��HQ�FDVR�GH�KDEHUOD���
Ⴠ� 3DUD�IDVH�VLPSOH��&�HV�OD�HQWUDGD�GH�UHORM��>G@�HV�OD�HQWUDGD�GH�VHQWLGR�RSFLRQDO�\�>5@�HV�XQD�HQWUDGD�GH�LQLFLDOL]DFLµQ�H[WHUQD�RSFLRQDO���/D�LQLFLDOL]DFLµQ�VµOR�HVW£�GLVSRQLEOH�SDUD�HO�PRGR�GH��FRQWDMH����
Ⴠ� 3DUD�GRV�IDVHV��&8�HV�OD�HQWUDGD�GH�UHORM�DGHODQWH��&'�HV�OD�HQWUDGD�GH�UHORM�DWU£V��\�>5@�HV�XQD�HQWUDGD�GH�LQLFLDOL]DFLµQ�H[WHUQD�RSFLRQDO���/D�LQLFLDOL]DFLµQ�VµOR�HVW£�GLVSRQLEOH�SDUD�HO�PRGR�GH��FRQWDMH����
Ⴠ� 3DUD�FXDGUDWXUD�GH�IDVHV�$%��$�HV�OD�HQWUDGD�GH�UHORM�$��%�HV�OD�HQWUDGD�GH�UHORM�%��\�>5@�HV�XQD�HQWUDGD�GH�LQLFLDOL]DFLµQ�H[WHUQD�RSFLRQDO���/D�LQLFLDOL]DFLµQ�VµOR�HVW£�GLVSRQLEOH�SDUD�HO�PRGR�GH��FRQWDMH����
7DEOD������ $VLJQDFLRQHV�GH�HQWUDGDV�+6&�SDUD�OD�&38�����&�\�OD�&38�����&��VµOR�HQWUDGDV�LQWHJUDGDV��
(QWUDGD�GLJLWDO����SUHGHWHUPLQDGR����[�� (QWUDGD�GLJLWDO����SUHGHWHUPLQDGR����[��
+6&�
�� �� �� �� �� �� �� �� �� �� �� �� �� ����IDVH� &� >G@� � >5@� � � � � � � � � � ���IDVHV� &8� &'� � >5@� � � � � � � � � � �
+6&�����
)DVH�$%� $� %� � >5@� � � � � � � � � � ���IDVH� � >5@� &� >G@� � � � � � � � � � ���IDVHV� � >5@� &8� &'� � � � � � � � � � �
+6&�����
)DVH�$%� � >5@� $� %� � � � � � � � � � ���IDVH� � � � � &� >G@� � >5@� � � � � � ���IDVHV� � � � � &8� &'� � >5@� � � � � � �
+6&���
)DVH�$%� � � � � $� %� � >5@� � � � � � ���IDVH� � � � � � >5@� &� >G@� � � � � � ���IDVHV� � � � � � >5@� &8� &'� � � � � � �
+6&���
)DVH�$%� � � � � � >5@� $� %� � � � � � ���IDVH� � � � � � � � � &� >G@� >5@� � � ���IDVHV� � � � � � � � � &8� &'� >5@� � � �
+6&�����
)DVH�$%� � � � � � � � � $� %� >5@� � � �
[R] una entrada de inicialización externa opcional
Contador rápido S7 1200 • Para configurar el HSC debemos acceder a las propiedades del autómata
• Aquí buscamos la opción del HSC donde vamos a poder configurar diferentes parámetros • # General: Lo ac4vamos y le podemos asignar un nombre • # Función: Le indicamos los siguientes parámetros
• Modo de contaje: Podemos seleccionar entre contaje y frecuencia, seleccionamos "Contaje” • Fase de servicio: Cómo queremos que ges4one las señales del encoder, en nuestro caso "Contador A/
B cuádruple • Sen4do de contaje inicial: Le decimos que que de inicio cuente en posi4vo "Incrementar contador"
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
13
Contador rápido S7 1200 • Podemos pre fijar una valores iniciales del contador y del valor de referencia (consigna) así como la función de realizar el reset del contador
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
14
Contador rápido S7 1200 • Aquí es donde vamos a configurar el evento (subru4na) que se va a ac4var cuando el valor del contador llegue al valor de referencia (consigna) • Ac4vamos la opción de "Generar alarma para envento si el valor del contador" -‐ " Valor de contador igual valor de
• En "Alarma de proceso" debemos indicarle que subru4na queremos ejecutar, si pulsamos se nos abrirá una ventana para seleccionarla o crearla
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
15
Contador rápido S7 1200 • Se abre la ventana y como no tenemos ninguna nos deja crear una pulsando sobre "Agregar Objeto”
• Esto nos permite agregar un nuevo bloque del 4po "Hardware Interrupt" que será la subru4na en este caso la OB40
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
16
Contador rápido S7 1200 • De esta manera disponemos de dos bloques de programa • OB1 -‐ Es el programa principal que se ejecuta ciclicamente • OB40 -‐ Es una subru4na que se ejecutará únicamente un ciclo de SCAN cuando el contaje del encoder sea igual al valor de referencia
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
17
Esta función CTRL_HSC permite entre otras cosas: # Cambiar el valor de contaje : Escribiendo el nuevo valor en New_CV y ac4vando el bit CV # Cambiar el valor de referencia : Escribiendo el nuevo valor en New_RV y ac4vando el bit RV Ademas en nuestra programa principal vamos a poner una línea que al pulsar la entrada I0.4 ponga a SET la salida Q0.0 del motor
Contador rápido S7 1200 • OB40 -‐ Es una subru4na que se ejecutará únicamente un ciclo de SCAN cuando el contaje del encoder sea igual al valor de referencia
24/11/14
TEMA 6 PR
OGR
AMAC
IÓN AVA
NZA
DA. V
ISIÓN PRÁ
CTICA CO
N
S7-‐1200
18
Este es el programa que se va a ejecutar inmediatamente en cuando valor de contaje sea igual que el valor de referencia Vamos a poner directamente un RESET de la salida Q0.0 del motor