Autlimatas Prouramables
SIEMENSGralcetV GuiaGemma
con TIA Portal
Autómatas programables SIEMENS
Grafcet y Guía Gemma con TIA Portal
Ramón L. Yuste
Vicente Guerrero
Autómatas programables 5/EMENS. Grafcet y Guía Gemma con TIA Portal
Primera edición, 2017
© 2017 Ramón L. Yuste - Vicente Guerrero
© 2017, MARCOMBO, S.A.
www.marcombo.com
Diseño de la cubierta: ENEDENÚ DISEÑO GRÁFICO
«Cualquier forma de reproducción, distribución, comunicac1on pública o transformación de esta obra
solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase
a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear
algún fragmento de esta obra».
ISBN: 978--84--267--2378--9
D.L.: B---10574---2017
Prínted in Spaín
Índice general
Unidad l
Entorno de programación TIA PORTAL ........ l
1.1 Autómata programable.....................................2
1.2 Entorno TIA Portal...............................................14
1.3 Funcionamiento con proceso 3D....................49
Unidad 2
Introducción a la programación................61
2.1 Operaciones lógicas con bits..........................62
2.2 Programación en Grafcet (1) ...........................75
Unidad 3
Programación con temporizadores IEC.... 91
3.1 Características y tipos
de temporizadores IEC .....................................92
3.2 Funcionamiento de los temporizadores IEC ..92
3.3 Generadores de impulsos ..............................103
3.4 Preselección directa e indirecta
de temporizadores..........................................104
3.5 Varios temporizadores en un único DB
de instancia...................................................... l 07
3.6 Programación en Grafcet (11) ........................115
3.7 Programa basado en diseño Grafcet ..........120
3.8 Comprobar funcionamiento con
maqueta de simulación 3D............................124
4.4 Varios contadores en un único DB
de instancia......................................................139
4.5 Funciones de comparación...........................148
4.6 Programación en Grafcet (111) ........................150
Unidad 5
.
AprIcacIones con flancos ........................163
5.1 Instrucciones de tratamiento de flancos......164
5.2 Programación en Grafcet (IV) .......................170
Unidad 6
Transferencia de datos y funciones
matemáticas..............................................181
6.1 Funciones de transferencia de datos...........182
6.2 Funciones matemáticas .................................186
6.3 Programación en Grafcet (V)........................198
Unidad 7
Programación estructurada.....................215
7.1 Introducción a la programación
estructurada.....................................................216
7.2 Tipos de bloques..............................................216
7.3 Tipos de llamadas a los bloques....................219
7.4 Protección know-how de bloques
FC y FB...............................................................243
7.5 Programación en Grafcet (VI) .......................249
Unidad 4
Programación con contadores y Unidad 8
comparadores IEC ....................................127 Guía Gemma.............................................271
4.1 Características y tipos de contadores IEC...128
4.2 Funcionamiento de los contadores IEC .......128
4.3 Preselección directa e indirecta
de contadores.................................................138
8.1 Guía Gemma...................................................272
8.2 Programación en Grafcet (VII) ......................286
Agradecimientos
Quiero agradecer a mi mujer Mari Carmen por la paciencia que ha tenido conmigo mientras trabajaba en
el libro y a mis hijos Christian y Raúl por estar ahí, siempre a mi lado. De forma especial, quiero agradecer
a Luís Martínez el apoyo y la ayuda que siempre he recibido de él. Ha conseguido que trabajar en temas
de automatización no se haya convertido en mi trabajo sino, cómo él dice, en mi hobby.
Ramón L. Yuste
A mi familia, Mari, Laura y Lorena que son las que dan sentido a mi vida día tras día. A mi hermana
Verónica que como excelente docente entiende el sentido un poco altruista de esta profesión y, por último,
a mi ma­dre Mercedes por el cariño que siempre me ha demostrado.
Vicente Guerrero
Desde hace ya unos años hemos adoptado la técnica Grafcet y Gemma como método de enseñanza para
que nuestros alumnos se inicien en la programación de autómatas programables. Además de lo indicado
anteriormente por Ramón, Luís Martínez es una de las personas que más introdujo esta técnica en las
aulas, y del que más hemos aprendido. Gran profesional y mejor persona. iGracias amigo!
Nuestro conocimiento en este tema siempre ha estado provocado por la necesidad que nos obliga nuestra
profesión, y esta no tendría sentido sin nuestros alumnos. Por ello, agradecemos a todos nuestros alumnos
de los institutos Comte de Rius de Tarragona y Palau Ausit de Ripollet por su participación indirecta, pues
con sus dudas y preguntas han colaborado en la creación de ejemplos que pretendemos que ayuden a
otros alumnos al aprendizaje de esta tecnología.
Estos proyectos nunca se pueden llevar a cabo de forma independiente, siempre se debe tener apoyo y
colaboraciones de las personas y empresas que en un momento u otro han participado para que hayamos
podido trabajar en este campo a lo largo de los años. Por ello no hemos de olvidar a empresas como SMC
lnternational Training, con Mariano Carreras a su cabeza y con excelentes profesionales a su cargo como
Sergio Panizo, lker Saenz, lñaki Fagoaga y, en especial, a Asser Martínez por su ayuda en la construcción del
Simulador 3D; así como a la empresa Siemens, representada por Francisco Cano por su inestimable ayuda
a lo largo de estos últimos años para poder adquirir el conocimiento de sus equipos. Y, como no, a la
editorial Marcombo por volver a confiar en nuestro proyecto desde el primer día que se lo propusimos.
Prólogo
Cuando nos preguntamos por qué unas sociedades están más avanzadas que otras (aparte de contar con
menos recursos naturales, etc.), casi siempre la respuesta está en su capital humano, en sus gentes, en su
FORMACIÓN con mayúsculas.
Cuando asistimos atónitos a los avances tecnológicos que permiten satisfacer las necesidades cada vez más
exigentes del consumidor actual, asumimos que la gente que trabajamos en empresas con contenido
tecnológico debemos tener la capacidad de continuar aprendiendo durante toda nuestra vida laboral.
El reto de facilitar el aprendizaje y la integración de todas estas nuevas tecnologías es apasionante. Los que
nos dedicamos a ello nos sentimos orgullosos de ayudar en el objetivo de que nuestras sociedades sean
referentes en esta carrera hacia la excelencia. Es por elloque la Corporación SMC apostó por crear su División
lnternational Training en el año 2000 y, desde entonces, trabajamos en desarrollar soluciones que faciliten la
labor docente en el ámbito de la automatización.
En este recorrido hemos tenido la oportunidad de conocer, trabajar y colaborar con actores clave en estos
procesos de formación, los PROFESORES, también con mayúsculas. Estas personas, cuya labor no es lo sufi-
cientemente reconocida por nuestra sociedad, dedican su esfuerzo para conseguir que sus alumnos estén
preparados para afrontar estos retos cambiantes a los que nos enfrentamos en las empresas.
Desde hace años tengo el gusto de conocer a Vicente Guerrero y Ramón Yuste, autores de este libro y de
otras publicaciones anteriores. Ellos no tendrán probablemente el nombre de una plaza o de una calle en su
ciudad, pero tendránsiempre el reconocimiento de las personas que les conocemos, de sus alumnos, de sus
lectores, porque están contribuyendo a hacer fácil lo difícil, a hacer sencillo lo complejo, a bajar al terreno
de lo comprensible conceptos y técnicas a veces abstractos.
Este libro es un claro ejemplo de ello. Cuando Vicente y Ramón nos pidieron colaborar aportando una má-
quina virtual de simulación de procesos en 3 dimensiones para ayudarles en la confección de esta obra, no
dudamos en participar en el proyecto. Nos hacen falta muchos Vicentes y Ramones, mucha gente inquieta,
ilusionada, con vocación por hacer más fácil la vida de mucha gente.
Felicitaciones y agradecimientos a la editorial Marcombo por seguir apostando por la divulgación de conte-
nidos técnicos con la vertiente de innovación que aporta esta obra.
Esperamos seguir aportando nuestro granito de arena para que nuestras empresas tengan cada vez un me-
jor capital humano, que es la clave de la prosperidad de una sociedad.
Mariano Carreras
SMC lnternational Training Manager
Prólogo
Abordar la que se ha dado a conocer como 4" Revolución Industrial requiere competencias diferentes a
to­dos los niveles de la industria, desde los operarios a los ingenieros o el personal administrativo. Estas
nuevas competencias profesionales no se refieren solo al dominio de las nuevas tecnologías digitales, sino
a otras competencias complementarias, por ejemplo, en materia de emprendimiento, liderazgo e
ingeniería.
Los progresos de las tecnologías digitales, en combinación con otras tecnologías habilitadoras clave, están
cambiando la forma de diseñar, producir, comercializar y generar valor a partir de productos, sean estos
bienes o servicios. La implantación de la Industria 4.0 requiere una Educación 4.0, siendo necesaria la coo­
peración entre el mundo empresarial y el mundo de la educación.
Desde el proyecto SCE - Siemens Automation Cooperates with Education, Siemens desarrolla diversas ini­
ciativas dirigidas a centros educativos, profesorado y alumnos, encaminadas a fomentar una formación de
calidad acorde a los requerimientos del mercado. Especial mención al patrocinio de las olimpiadas de for­
mación profesional SpainSkills que organiza el Ministerio de Educación, así como a la convocatoria anual
Concurso de Prototipos por parte de Siemens, dirigida a universidades e institutos de formación
profesional, cuyo fin es promover e incentivar la competitividad entre los alumnos españoles.
Quiero felicitar y agradecer a Vicenc;: Guerrero y Ramón Yuste, profesores de Formación Profesional, por ba­
sar este libro en los controladores SIMATIC de Siemens, así como en la Plataforma de Ingeniería TIA Portal.
Conozco a ambos desde hace más de 20 años y tanto su experiencia docente como su conocimiento de la
realidad de la industria me permiten agorar que este libro se convertirá en un Best Seller del mundo de la
automatización.
El carácter eminentemente práctico del libro hace de él la herramienta idónea para el estudio de la progra­
mación básica de los controladores SIMATIC y, especialmente, de la herramienta de Ingeniería TIA Portal,
cuya implantación en la industria es reciente. Esto hace que el libro sea recomendable para enseñanzas
universitarias y de formación profesional.
Agradecer a la editorial Marcombo su aportación en la divulgación de las enseñanzas técnicas en su vertien­
te más práctica.
Francisco Javier Cano Gatón
Responsable de Controladores SIMATIC y
Proyecto SCE - Siemens Automation Cooperates with Education
División Digital Factory
SIEMENS, S.A.
Unidad 1- Entorno de programación TIA PORTAL
Unidad 1 Entorno de programación TIA PORTAL
�-..,_.......,.,....�.
........�----
·--·-
► clfl.C_ll<J,.i1si1t-1'911
• '111(.l¡ou,�c--,.
�..-
-,........
•·1,eqws-,.._
·-........
�..,'-t,_.�I
··�""
.._..,
·- ..,......__,....
• a.c.
.......
i.i,ft1·---•-fl.C
.. ......
. _____.,.,
•afO...tMIIHt
► C., ..i�
......,
En este capítulo:
1.1 Autómata programable
1.1.1 Módulos de señales
1.1.2 SIMATIC Memory Card
1.1.3 Conexiones de las entradas y salidas 1.1.4
Ciclo de sean
1.1.5 Tiempo de ciclo
1.1.6 Tiempo de vigilancia del ciclo (Watchdog)
1.1.7 Programación de contactos negados 1.1.8
Funcionamiento del registro de entradas 1.1.9
Funcionamiento del registro de salidas 1.2
Entorno TIA Portal
,, ...
...
1 • '
- -, ¡ ! 1
ía r - re-,~�!�--��=;;r r:;h�
- +,';..----¡ �-• ---1 ·�! ·-
F ! ' ,
1.2.1 Configuración del hardware
1.2.2 Configuración de las propiedades
1.2.3 Detección automática de la CPU
1.2.4 Creación de la tabla de símbolos
1.2.5 Creación del programa
1.2.6 Comprobación del funcionamiento del programa
1.2.7 Tabla de observación
1.2.8 Documentación de programas
1.2.9 Descarga de un programa del PLC
1.3 Funcionamiento con proceso 3D.
1.3.1 Procedimiento para la simulación de un programa
Ejercicio propuesto
1
Unidad 1- Entorno de programación TIA PORTAL
1.1 Autómata programable
Los autómatas programables S7-1500 y S7-1200, se encuentran dentro de la gama
de controladores SIMATIC de Siemens. Se puede considerar, el S7-1200 como un
controlador del tipo compacto pues en un mismo dispositivo contiene:
• Fuente de alimentación.
• Conexiones para las señales de entradas.
• Conexiones para las señales de salidas.
• Conexión para la comunicación.
• Espacio para tarjeta de memoria.
Fig.1.
1 Fig.1.la Fig.1.lb
Además, incorpora una base para la ampliación con un módulo que puede ser de
entradas o salidas digitales o analógicas de forma que amplía su potencialidad de
control mediante las llamadas Signal Board.
Podemos encontrar el autómata programable S7-1500 con una CPU del tipo
compacta, pero también existe del tipo modular, pues admite otros módulos
conectables en sus laterales que amplían su capacidad de automatización,
también el PLC S7-1200 admite otros módulos conectables que amplían su
capacidad de E/S y de comunicaciones, aunque en menor medida que el S7-1500.
Ejemplos de módulos ampliables son:
• Entradas digitales.
• Salidas digitales.
• Entradas/salidas digitales.
• Entradas analógicas.
• Salidas analógicas.
• Entradas/salidas analógicas.
• Comunicación.
• Tecnológicos.
Losmódulospermiten adquirirfuncionessimpleso avanzadas, y decomunicacióncon
otros equipos como sistemas HMI, redes como: AS-i, Profinet, Profibus, 1/0 link, etc.
Las diferentes CPUs, tanto S7-1500 como S7-1200, incorporan al menos un puerto
PROFINET integrado que garantiza una comunicación perfecta con el sistema de
ingeniería SIMATIC TIA PORTAL. La interfaz PROFINET permite la programación y
la comunicación con los paneles de la gama SIMATIC HMI para la visualización,
con controladores adicionales para la comunicación de CPU a CPU y con equipos
Recuerda • • •
Podemos encontrar
PLCs S7-1200 y S7-1500
del tipo compacto
que, además de.
contener entradas y
salidas analógicas y
digitales, integran
funciones tecnológicas
tales como: entradas
de alta velocidad de
contaje y medición,
salidas de alta
velocidad y control de
regulación PID.
Unidad 1- Entorno de programación TIA PORTAL
de otros fabricantes para ampliar las posibilidades de integración mediante
protocolos abiertos de Ethernet.
La interfaz de comunicación de estas CPUs está formada por una conexión RJ45
inmune a perturbaciones, con función Autocrossing, que admite hasta 16
conexiones Ethernet y alcanza una velocidad de transferencia de datos hasta de
10/100 Mbits/s. Para reducir al mínimo las necesidades de cableado y permitir la
máxima flexibilidad de red, puede usarse conjuntamente un Switch Module CSM
1277 o SCALANCE, a fin de configuraruna red homogéneao mixta, con topologías
de línea, árbol o estrella.
La interfaz integrada en estas CPUs hace posible una integración con equipos de
otros fabricantes. Los protocolos abiertos de Ethernet TCP/IP nativo e I5O-on-TCP
hacen posible la conexión y la comunicación con varios equipos de otros
fabricantes permitiendo una mayor flexibilidad. También puede funcionar
indistintamente como PROFINET 1/0 Device o como PROFINET 1/0 Controller.
La familia de controladores SIMATIC 57-1200 y 57-1500 compactas, integran
funciones tecnológicas, tales como:
•
•
Entradas de alta velocidad para funciones de contaje y medición. Por
ejemplo, el controlador SIMATIC 57-1200 posee hasta 6 contadores de
alta velocidad. Tres entradas de 100 kHz y otras tres de 30 kHz
perfectamente integradas para funciones de contaje y medición. Esto
permite la lectura precisa de encoders incrementales, contajes de
frecuencia y la captura rápida de eventos de proceso.
Salidas de alta velocidad. Por ejemplo, el controlador SIMATIC 57-1200
tiene integradas 2 salidas de alta velocidad que pueden funcionar como
salidas de tren de pulsos (PTO) o como salidas con modulación de ancho
de impulsos (PWM). Si se configuran como PTO, ofrecen una secuencia
de impulsos con un factor de trabajo del 50 % y hasta 100 kHz, para la
regulación controlada de la velocidad y posición de motores paso a paso
y servo accionamientos. La realimentación para las salidas de tren de
pulsos proviene internamente de los dos contadores de alta velocidad.
Si se configuran como salidas PWM, ofrecen un tiempo de ciclo fijo con
punto de operación variable. Esto permite regular la velocidad de un
motor, la posición de una válvula o el ciclo de trabajo de un calefactor.
• Control PID. 57-1200 admite hasta 16 lazos de regulación PID en donde
el software incorpora un asistente de configuración que dispone
también de panel PID autotuning para calcular automáticamente
valores de ajuste óptimos para las componentes proporcional, integral
y derivativa, esto permite aplicaciones de proceso sencillas con lazo de
regulación cerrado.
1.1.1 Módulos de señales
Los módulos de señales que se pueden incorporar a un 57-1200 los podemos
clasificar en módulos integrados, módulos de entrada/salida y tecnológicos, y
módulos de comunicaciones.
3
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
Estos PLCs se le pueden
ser añadir diferentes
módulos que amplían
su funcionalidad. Los
módulos de amplia­
ción pueden ser:
• módulos de
entradas y salidas.
• módulos
tecnológicos.
• módulos de
comunicaciones.
• Módulos de señales integradas.
Un módulo de señales integradas puede enchufarse
directamente a una CPU. De este modo pueden adaptarse
individualmente las CPU, añadiendo E/S digitales o analógicas sin
tener que aumentar físicamente el tamaño del controlador.
• Módulos de entrada/salida y tecnológicos. Fig.1.2
Las mayores CPU de S7-1200 admiten la conexión de hasta ocho Módulos de
Señales, ampliando así las posibilidades de utilizar E/S digitales o analógicas
adicionales. Estos módulos de señal se conectan a la derecha de la propia CPU.
Fig.1.3 Fig.1.3a
Mientras que las CPUs S7-1500 admiten bastantes más módulos, todos ellos
conectados a la derecha de la propia CPU.
• Módulos de comunicación.
Toda CPU SIMATIC S7-1200 puede ampliarse hasta con tres módulos de
comunicación y éstos se deben conectar a la izquierda de la propia CPU, mientras
que el S7-1500 admite más módulos y siempre se conectan a la derecha de la CPU.
Los módulos de comunicación amplían su capacidad tanto de control como de
intercambio de datos con otros equipos, pues dispone de módulos como:
RS485/RS232 para conexiones punto a punto en serie, basadas en caracteres;
Profibus, que permite la comunicación tanto con otras CPUs como con módulos
de E/S, AS-i que permite la comunicación con dispositivos de campo como
sensores y actuadores; teleservicio/telecontrol para la comunicación vis GPRS;
radiofrecuencia para el intercambio de datos sin hilos.
Fig.1.4
Además de disponer de unas instrucciones y funciones de librerías, incluidas en el
sistema de ingeniería SIMATIC TIA PORTAL, que permite dar multifuncionalidad a
diversos módulos, configurando y programando con sencillas instrucciones. De
este modo se pueden controlar sistemas bajo otros protocolos como USS Orive,
Modbus RTU o Modbus TCP.
4
1
1
1

1
Recuerda • • •
El ciclo de sean habitual
en el PLC, consiste
básicamente en:
• Actualizar las salidas
físicas.
• Leer el estado de
las entradas físicas.
• Ejecutar el
programa del
usuario.
• Realizar un
autodiagnóstico.
• Procesar alarmas y
atender los
procesos de
comunicación
configurados.
Unidad 1- Entorno de programación TIA PORTAL
1.1.2 SIMATIC Memory Card
Con la SIMATIC Memory Card (opcional para el 57-1200 pero
obligada para el 57-1500) se pueden transferir fácilmente
programas a varias CPU. La tarjeta también se puede utilizar para
guardar diversos archivos o para actualizar el firmware del
controlador como de los módulos de señales y de comunicación.
Fig.1.5
Simplemente basta con insertar la SIMATIC Memory Card en la CPU y darle
tensión. El programa de usuario no se pierde durante el proceso.
1.1.3 Conexiones de las entradas y salidas
El conexionado de las diferentes entradas y salidas es sencillo y rápido. A modo
de ejemplo se muestra como conectar diferentes E/5 tanto, digitales como
analógicas en ambos modelos de PLCs, 57-1200 y 57-1500.
• l. I
.�_, ;
,;, "í','"',',,,,:,,., ,
., ,
., ,., ,., ,., ,,,, ,,,,, �,�
u • ♦
. tt M UIIO l J .J 4 � 6 1 0 .1 ! t t .� 1111• 1 1
SJIMIN� INUIC.Sl·la
U. .O l .l l 4 J!l .S 6 r.0.1
, ,,, ,.,,,,., ,,, ";,,,.,�·
Fig.1.6
1.1.4 Ciclo de sean
Fig.1.6a
Cada vez que el PLC ejecuta el programa una vez, se dice que ha ejecutado un
ciclo de programa o un sean.
La ejecución de un sean consiste en:
ARRANQUE
A Borra el érea de memoria 1
RUN
© Escribe la memoria Q en las salidas físicas
B Inicializa las salidas con el úhimo valor o ® Copla el estado de las entradas físicas en la
el valor sustitutivo memoria 1
e Ejecuta los OBs de arranque @ Ejecuta los OBs de cido
O Copia el estado de las entradas físicas © Realiza autodiagnóstico
en la memoria l
E Almacena los eventos de alarma en la @ Procesa alarmas y comunicaciones en
cola de espera que deben procesarse cualqufer parte del ciclo
en estado operativo RUN
F Habilita la esciritura de la memoria Q en
las salidas ffsicas
Fig.1.7
5
Unidad 1- Entorno de programación TIA PORTAL
6
Recuerda • • •
El tiempo de vigilancia
o watchdog, es un
mecanismo interno del
PLC que controla en
todo momento que el
ciclo de sean del
autómata no supere
un tiempo máximo
configurado. En ese
caso provocará una
parada total del
funcionamiento
del programa.
1.1.5 Tiempo de ciclo
El tiempo deciclo, es el tiempo quetarda en ejecutar un ciclo completo, este tiempo
es muy importante, ya que las ordenes de conexión y desconexión de los actuadores
conectados a las salidas se realiza una vez por ciclo. Por lo tanto, si el tiempo fuera
demasiado largo, podría suceder que no tuviese en cuenta el cambio de señal en las
entradas o bien que se produjera una activaciónincorrecta en las salidas.
El tiempo de ciclo básicamente depende de:
• Tipo de CPU: todos los fabricantes de autómatas disponen de distintas CPUs
para cada modelo de PLC para con ello adaptarse a las necesidades de los
usuarios y una de las características más importantes que diferencian las
distintas CPUs es la velocidad de proceso.
• Número y tipo de instrucciones de programa: Cuantas más instrucciones tenga
el programa, más tiempo tardará la CPU en leerlo; de la misma manera, hay
instrucciones que son más complejas que otras y lógicamente se tarda más
tiempo en ejecutarlas.
1.1.6 Tiempo de vigilancia de ciclo ( Watchdog)
El tiempo de vigilancia de ciclo o Watchdog, es un mecanismo interno de la CPU
que controla la duración del tiempo de ciclo y, cuando este supera los valores
establecidos, el Watchdog da la orden de parar al autómata pasando de Run a
Stop y, por lo tanto, la CPU deja de ejecutar el programa.
El tiempo del Watchdog puedeser fijo o programable, dependiendodeltipo de laCPU.
Las CPUs pequeñas dirigidas a instalaciones sencillas y sin requerimientos de
seguridad, vienen configuradas de fábrica con un tiempo de Watchdog que el
fabricante considera aceptable y que puede llegar hasta 500 milisegundos. En
otras CPU, las más potentes, el tiempo de ciclo se puede definir en función de la
complejidad de la instalación y como son más rápidas, se pueden fijar los tiempos
entre 10 y 200 milisegundos.
Podemos configurar este tiempo de vigilancia del ciclo desde las propiedades de
la CPU, dentro de la pestaña General en el apartado Ciclo.
.si Propiedades � Información .!J � Diagnóstico
General Variables 10 Constantes de sistema Textos
► Genera l
► Jnterfaz PROFINETIX1 J
► DI 14/DQ 10
• " 2
�
► Contadores rápidos (HSQ L;
► Generadores de impulsos (PID'P...
,
Atranque
Carga por comunic11ci6n
Tiempo de vigila ncia del cido:
._
1 s
_
o
_____
m
�
•
OA.ctiv1,r tiempo de ciclo mínimo pa ra 08 cíclico,
Fig.1.8
1.1.7 Programación de contactos negados
Cuando programamos un contacto normalmente abierto, estamos diciendo que,
en ese punto del programa, queremos el mismo valor que tenga el elemento de
referencia. Y cuando proera m;:i mos u n contacto negado, estamos diciendo que,
en ese punto del programa, queremos tener el valor contrario al que tiene el
elemento de referencia.
V
'
'
'
1
l
'
"
"
"'
'
'
'
1
Recuerda • • •
Un contacto negado,
NO significa contacto
cerrado, sino LO
CONTRARIO DE.
El elemento de
referencia de una
entrada es la entrada
física.
Si la entrada física NO
se encuentra activada,
los contactos
programados
asociados a esa
entrada NO
cambiaran de estado,
mientras que, si la
entrada física SÍ se
encuentra activada,
entonces los contactos
programados
asociados a esa
entrada SÍ cambiaran
de estado.
Unidad 1- Entorno de programación TIA PORTAL
El elemento de referencia de un contacto de una entrada es el contacto físico que
hay conectado en esa entrada, mientras que el elemento de referencia de una
salida o marca es la instrucción de asignación que tenga en el programa (bobina).
IMPORTANTE: un contacto negado NO significa contacto cerrado, sino LO
CONTRARIO DE. El elemento de referencia de una entrada es la entrada física.
En los editores de software para PLC se induce al error de confundir negado con
cerrado, ya que al contacto negado se le denomina «contacto normalmente
cerrado». Veamos como en TIA Portal también lo interpreta de esa forma:
-l l- -l l- ® ..... J -o-
..... Coma etc norma lmente cerra d o [Mayús+F3)
Está cerrado cuando el va lor del opera ndo consulta do es igua l a •o•.
S7-1 200, 57-1 500
lll ::f 1-: Con:a c:o norma lmen�e cerra do
Fig. 1.9
A continuación, se muestra un ejemplo de programa con la utilización de estos
dos tipos de contactos. En el segmento 1, la salida refleja el mismo estado que
existe en la entrada física correspondiente y eso implica que QO.O se activará
cuando la entrada 10.0 se encuentre activa. Por el contrario, en el segmento 2, la
salida Q0.4 tomará el estado contrario que tome la entrada física 10.4.
... Segmento 1 :
�"-...
º
------------------
""ºº� Fig. 1.l0a
... Segmento 2:
�1--
4 --------------------1
7
º
;_
Fig. 1.10b
En el siguiente ejemplo práctico vamos a demostrar el funcionamiento de estos
dos tipos de contacto, tanto abierto como negado.
97
F2 F1 rT �
98
K1 M
13
K1M
14
F1
X1
K1M H1
M1
Fig. 1.11
7
Unidad 1- Entorno de programación TIA PORTAL
8
A continuación, realizamos el programa que cumple con las condiciones de
funcionamiento del circuito de maniobra cableado anterior y realizamos las
siguientes pruebas:
• Estado en reposo de los pulsadores de Paro, de Marcha y relé térmico.
Las salidas KlM y Hl están en reposo.
1 O.O 1 0.1 1 0.2 Q O.O
■ 1 O.O - 11 1
G�� Q O.O ■
■ 1 0. 1 Q 0. 1 ■ H1
1 O.O Q 0.1
■ 1 0.2
Fig. 1.12
• Accionando el pulsador de Marcha 52. La salida KlM se pone en marcha. V
1 O.O 1 0.1 1 0.2 Q O.O
■ 1 O.O 1 11
1 Q� O
1
(■ Q O.O ■
1i1 1 0.1 Q 0.1 ■ H1
1 O.O Q 0.1
■ 1 0.2 -M (
Fig. 1.13
• Dejamos de accionar el pulsador de Marcha 52. La salida KlM continúa
en marcha.
1 O.O 1 0. 1 1 0.2 Q O.O
■ 1 0 0 1 11
fr.
Q O.O ■
1
■ 1 0. 1 Q 0.1 ■
1 O.O Q 0.1
■ 1 0.2 -tf (
Fig. 1.14
• Accionamos el pulsador de paro 51. Se detiene la salida KlM.
1 O.O 1 0.1 1 0.2 Q O.O
■ 1 O.O - 11 ''U,� Q O.O ■
■ 1 0. 1 Q 0. 1 ■
1 O.O Q 0.1
■ 1 0.2 -tf (
Fig. 1.15
H1
H1
'-../
_/
J
J
Unidad 1- Entorno de programación TIA PORTAL
• Accionamos el pulsador de marcha 52 y lo soltamos. La salida KlM se
pone y se mantiene en marcha.
1 O.O 1 0.1 1 0.2 ªº·º
1 O.O
-jlf----
a o.o ■
Q 0. 1 ■ H1
Q
�
(
Fig. 1.16
• Cuando se ha producido la avería, se rompe o se suelta el cable que va al
pulsador de paro 51, la salida KlM se detiene, se para el motor y, por lo
tanto, en ese momento nos damos cuenta de que se ha producido la avería.
1 O.O 1 0.1 1 0.2 Q O.O
�
º
�,1
Q O.O ■
Q 0.1 ■ H1
1 O.O
Fig. 1.17
A continuación, substituimos el contacto del pulsador de paro normalmente
cerrado por otro normalmente abierto modificando el programa, ya que ahora el
pulsador de paro del programa se ha programado negado:
• Substitución del pulsador de paro NC por otro NO.
1 O.O 1 0.1 1 0.2 Q O.O
■ 1 O.O Q O.O ■
■ 1 0. 1
ºº�,�
Q 0. 1 ■
1 O.O
■ 1 0.2
Fig. 1.18
Seguidamente realizamos las siguientes pruebas:
H 1
• Accionamos el pulsador de marcha 52 y lo soltamos. La salida de KlM se
activa y se mantiene en marcha.
1 O.O 1 0.1 1 0.2 Q O.O
■ 1 O.O
■ 1 0. 1
■ 1 0.2 1------i
"
/
·
,____
º
Q
�
Fig. 1.19
Q O.O ■
Q 0. 1 ■
9
Unidad 1- Entorno de programación TIA PORTAL
10
• Accionamos el pulsador de paro 51. Se detiene la salida KlM.
1 O.O 1 0.1 1 0.2 Q O O
1 O.O
�
º
�
Q 0.0 ■
Q 0.1 ■
1 O.O Q 0.1
Fig.1.20
K1M
H1
• Accionamos el pulsador de marcha 52 y lo soltamos. La salida KlM se
activa y se mantiene en marcha.
1 O.O 1 0.1 1 0.2 Q O.O
1 O.O Q 0.1
---tf-------1(
Fig.1.21
Q O.O 11
Q 0.1 ■
• Se rompe o se suelta el cable que va al pulsador de paro 51. La salida KlM
continúa en marcha.
1 O.O 1 0. 1 1 0.2 Q O O
■ 1 O.O Q O.O K1M
■ 1 0.1 H1
1 O.O Q O 1
■ 1 0.2
Fig.1.22
En este caso, vemos que cuando se corta el cable, la salida sigue conectada y que
nos daríamos cuenta de la avería cuando nos hiciera falta detener el motor.
Veríamos que no podemos pararlo mediante el pulsador de paro.
Con esta prueba podemos observar que, por seguridad, un elemento que
provoque la parada de un sistema físicamente se ha de conectar a la entrada del
PLC con un contacto cerrado.
1.1.8 Funcionamiento del registro de entradas
Para poder realizar la lectura del estado de una entrada, disponemos de dos
opciones, en función de lo programado, por ejemplo:
• 10.0: El programa cuando necesita conocer el estado de esta entrada, realiza la lectura
en el registro de entradas que fue actualizado al inicio del sean y esto quiere
decir que durante todo el sean esa entrada mantiene su valor. Si mientras se
'-..,'
'-----'
J
J
�
�
Recuerda • • •
Se dispone de dos
opciones para realizar
la lectura del estado
de una entrada:
• Lectura en la
memoria de
entradas del PLC.
memoria llamada
PII. que fue
actualizado al inicio
del sean. por
ejemplo "10.0".
• Lectura directa del
estado actual de la
entrada física. por
ejemplo "10.0:P".
Unidad 1- Entorno de programación TIA PORTAL
está ejecutando ese mismo sean el estado de la entrada cambia, ese nuevo
estado será válido para el siguiente sean y, por tanto, cabe la posibilidad que
el estado actual de ese registro no coincida en ese momento con el estado
actual de la entrada física.
• 10.0:P: Con la indicación ":P" estamos indicando que la lectura del estado de esa
entrada se lea directamente de la entrada física y no del registro de entradas.
Vamos a comprobar con unos ejemplos la diferencia en el funcionamiento en la
utilización de esas dos versiones de operando.
a) Realizar el siguiente programa y comprobar cómo SIEMPRE que activamos la
entrada 10.0 se hace el SET en la salida Q0.0 y, además, mientras se mantenga
activada la entrada, también funcionará la salida Q0.7.
.., Segmento 1 ,
1 �1 0 1-
0 ----
';,
�
Q
,fl-
0.7 _____________
%
--{
' QO.O
I s )---< Fig. 1.23a
.., Segmento 2:
1 �'º-1-
º------------------
-""ºº·;..___
r Fig. 1.23b
.., Segmento 3:
1 �1 0.
1-
7 --------------------l
�
º;.._
1 Fig. 1.23c
Nota: Cambiar el operando del Segmento 2 por 1 0.0:P, comprobar el
funcionamiento varias veces y observar la diferencia de funcionamiento.
Observaremos que unas veces se activa la salida Q0.0 y otras veces no.
b) Modificar el programa anterior, intercambiando los segmentos 1 y 2, y volver
a comprobar el funcionamiento. Observar que SIEMPRE que activamos la
entrada 10.0 NO funciona la salida Q0.0 y tan solo se activa la salida Q0.7.
.., Segmento 1 :
�'1-
º---------------------1
�º� Fig. 1.24a
.., Segmento 2:
�O
I-
O ----
'lb
�
Q
,fl-
0.7------------
---l
'lb�O ;.._
Fig. 1.24b
.., Segmento 3:
�- t-
7 --------------------l
'lb°:;.._
Fig. 1.24c
Nota: Cambiar el operando del Segmento 2 por 1 0.0:P y comprobar el
funcionamiento varias veces observando la diferencia de funcionamiento.
Observaremos que unas veces se activa la salida Q0.0 y otras veces no.
11
Unidad 1- Entorno de programación TIA PORTAL
12
Recuerda • • •
Por efecto del ciclo de
sean, en función del
orden de los diferentes
segmentos
programados, la
respuesta final puede
ser diferente.
Se ha de tener en
cuenta que, al tener
bobinas con el mismo
operando repetido
varias veces en el
mismo programa, el
estado final de ésta
será el indicado por la
última que lea el ciclo
de sean.
1.1.9 Funcionamiento del registro de salidas
Para poder comprobar como el efecto del ciclo de sean interviene en un programa
provocando un funcionamiento diferente al deseado, podemos utilizar el
siguiente programa de ejemplo.
• Segmento 1 ;
1 �O.
t-
O -------------------i
'll,QO.O
r )-------t Fig. 1.25a
• Segmento 2:
1 �0.
1-
1 ------------------{
'll,Q0.1
r )-------t Fig. 1.25b
• Segmento 3:
1 �02
t-
----------------
---i
'll,Q02
r )-------t Fig. 1.25c
• Segmento 4:
1 �O.
t-
3 -------------------i
'll,QO:-
r Fig.1.2Sd
El ciclo de sean provoca que, al ir ejecutando cada segmento del programa, el
estado de cada una de las salidas las escribe en el registro de salidas, NO en las
salidas físicas. Esto se debe a que lo primero que hace el PLC es leer el estado de
todas las salidas del registro de salidas y copiarlas en las salidas físicas. Por tanto,
hasta que no se inicie un nuevo sean, las salidas físicas no se actualizan de nuevo.
Esto puedeprovocar que:
• Si tenemos programada, por error, la bobina de una salida repetida, a nivel
externo la salida física solo responderá a un funcionamiento correcto y que
dependerá de las condiciones de la última bobina programada.
• Por el contrario, si trabajamos con bobinas programadas con SET-RESET, estas
las podemos repetir sin mayor problema, ya que al ser forzado a O (RESET) y
forzado a 1 (SET), la salida física solo responderá al forzado de la última bobina
en la que se cumplan las condiciones.
• El programa que se esté ejecutando trabaja leyendo el estado de las salidas,
según sea su valor en el registro de salidas.
Una vez comprobado el funcionamiento de este diagrama de contactos, añadir el
siguiente segmento y probar de nuevo.
• Segmento 5:
�-1-
7 ------------------t
'll,QO;._.
Y observa que ocurre en los siguientes casos:
• ¿Qué salida funciona al activar la entrada 10.0?
• ¿Qué salida funciona al activar la entrada 10.7?
Fig.1.26
J
"
' ",
1 0.2 o
�
1 0.3 o
10.4 o
1 0.5 o
1 1 0.6 o
1 0.7 o
�
�
Recuerda • • •
Existen dos opciones
para realizar la
1 activación del estado
de una salida:
• Escritura en la
memoria de salidas
del PLC, memoria
llamada PIQ, que
1
actualizará el
estado de la salida
al inicio del sean,
1
por ejemplo "Q0.0".
• Escritura directa del
estado actual de la
salida física, por
ejemplo "Q0.0:P".
Unidad 1- Entorno de programación TIA PORTAL
A continuación, inserta en el programa anterior los segmentos 2 y 7 para que
quede así:
Q 0.1
Q 0.2
. Segmento 2:
Q 0.3
Q 0.4
Q 0.5
o Q 0.6
o Q 0.7
o Q l.0
Q)
'l,Ql.1
Fig.1.27
En donde queda demostrado el funcionamiento del ciclo de sean y como éste
puede afectar a un programa.
A continuación, comprueba el funcionamiento y observa cómo se cumple la
siguiente tabla. Compara el funcionamiento del programa, antes y después de
introducir los cambios.
1 0.0 1 0.7 Q 0.0 Ql.0 Q l.1
o o o o o
1 o o 1 o
o 1 1 o 1
1 1 1 1 1
Igual que pasaba con las entradas, si en las salidas se programa el operando
seguido de :P, en lugar de realizar la escritura del estado en el registro de
entradas, lo realiza directamente sobre la salida física.
Para comprobar este hecho, se debe modificar el programa, de forma que en el
segmento 1 la instrucción QO.O pase a ser QO.O:P (salida inmediata).
13
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
El entorno de TIA Portal
dispone de diferentes
ventanas que
podemos recoger de
forma lateral para
dejar espacio, de
modo que una de ellas
pueda ocupar la
totalidad del espacio,
por ejemplo, para la
zona de edición
del programa.
14
• Segmento 1 :
%QO.O:P
>--
Fig.1.28
Para comprobar el funcionamiento, debemos activar la entrada 10.0 y, si las salidas
son a relés, notaremos un ligero zumbido que corresponde a la activación directa
de la salida QO.O del Segmento 1, y a la desactivación por el registro de salidas
ejecutado por el programa en el Segmento 6, también observaremos cómo cambia
la luminosidad del led correspondiente debido al incorrecto funcionamiento.
1.2 Entorno TIA Portal
TIA Portal es el entorno de programación para programar los PLCs 51EMEN5 de
última generación, como los 57-300/400 y 57-1200/1500, aunque también existe
la posibilidad de integrar en un mismo proyecto otros equipos: los de control de
movimiento, como son los convertidores de frecuencia y servomotores; los
sistemas de visualización, como son las pantallas de operador táctiles o de teclas
y la configuración de las redes de comunicaciones entre estos.
Lo primero que se ha de hacer en TIA Portal es configurar el hardware con el que
se va a trabajar para al final obtener la siguiente visualización del entorno.
Podemos ver como la estructura de TIA Portal está formado por una serie de
ventanas como:
© Barra de título: muestra el nombre del proyecto.
@ Barra de menús: incluye todos los comandos paratrabajarcon el TIA PORTAL.
@ Barra de herramientas: incluye los accesosrápidos a diferentes comandos.
© Árbol del proyecto: muestra todas las opciones que pertenecen a los equipos
y sistemas configurados en el proyecto.
@ Área de trabajo: esta ventana será diferente según la opciónelegida del árbol
del proyecto, en este caso tenemos visualizada la configuración del dispositivo.
@ Task Cards: esta ventana cambiará en función de lo que visualicemos en el
área de trabajo @, donde podemos elegir el componente adecuado de la lista
correspondiente.
(J) Vista detallada: muestra los detalles de la opción elegida en la ventana árbol
del proyecto @.
@ Ventana de inspección: en esta ventana aparecen las propiedades del objeto
seleccionado en la zona del área de trabajo ®·
@ Cambiar a la vista del portal: al actuar sobre esta zona la visualización pasa a
ser la de vista del portal.
V
V
V
"
"""
')
.....
.----...
')
,_..._
"
í
'
1
'
'
Unidad 1- Entorno de programación TIA PORTAL
@ Barra de editores: a medida que vamos abriendo pestañas o módulos, estos
se van indicando en esta zona y que podremos cambiarlos de vista en el área de
trabajo en función de la selección.
Fig. 1.29
@ Barra de estado con indicador de progreso: es un indicador con los procesos
actuales en segundo plano. Al posicionar el puntero del ratón sobre la barra del
progreso aparecerá un tooltype con información adicional sobre los procesos que
se están realizando en segundo plano. Si no se están ejecutando procesos, se
visualiza el último mensaje generado.
Aunque nos aparecerán demasiadas ventanas de forma simultánea, es muy fácil
plegarlas y volverlas a desplegar simplemente haciendo clic sobre los siguientes
puntos marcados en cada zona:
C<:��,o,oénó�d•>JKl>•l,01
Jr. O..... r d..p"6111«1
• :a- lloq.,..,ffl""lllt1"'1
� � 01,¡n,, ...'lológicc,1
,1,,_�ir•oi,,.w
·•�·---·
1 4 V1r,.bl'111.C
• llpcn dt ff..,, n.c
• :;.. nblH ftct,,..,.,100., y!o<3do
t t1<kv91 �
t :t, Ou,n 61 �1N<lnpc,1,t;,;c,
j .......t�ión<Jfl�ftffll
" u11n d1 w-
• . Mo<lulon loct�,
• � o.,.,.,.,,.,,,...,
• t_.Qo,,��t1t>on .tt!d�,,...,_
......,,,...,...,...,.,.
• .....�flO,qtll,.,.
• - l��-d1 t.')t'1-•'-"',,.,.V!I
,r
o Dl l..ir)Q lO
t .tql �"IIMl9oofd
• CO!lflldom ""'"' l)fK)
t G<I""'"""'' "' '"'""'"
..............
""'
c..,. ,.,.<--••ión ...
Fig. 1.30
' !I Cl'lf
► � Sl9ntl -�1
1 -!I Tl'l'QoldH-.1
• -11 Jom,y1.,.,d1
' ..
' "'""
, .,...,
' ..
Una de las áreas más importantes del entorno TIA Portal es la de Propiedades,
que muestra todas las características posibles de configuración del elemento
seleccionado en el área de trabajo. La estructura general de las propiedades de la
CPU es la siguiente:
15
Unidad 1- Entorno de programación TIA PORTAL
16
Recuerda • • •
En la ventana de
"Propiedades", es
donde se determina
toda la configuración
del elemento
seleccionado. En
función del elemento
seleccionado, este
dispondrá de más o
menos opciones.
• lnterfazPROFINETIX1]
Genera l
Direcciones Ethernet
Sincroniiación horaria
Modo de operación
► Avanzado
ID de hardware
• Ol 14fOQ 1 0
Genera l
► Entradi!ls digitales
► Salides digitales
Direcciones EfS
ID de hardware
► Al 2
► AQl Signal Board
► Conuidores rápidos (HSC}
► Generadores de impulsos(PlOff>Wi.4)
Arranque
Ciclo
carga por comunicación
Marces de sinema yde ciclo
► Servidor web
Idiomas de la inrenl!lz
Hora
Protección
RMursos de conexión
Sinóptico de dire-cciones
Nombre; 1 PLC_1
Autor: l
�V,
:::
oc
::
•=
n,
=
&
:::
Ra
;::m
:::;:
6n
===========�
Comentario "
...
...
V
Slot: 1
Rack: ;:@
e---::=====:::,
OescripCf6n abreviad!: �c:it>CJRly
--�
Oe-scripción: �maria de trabajo 75KB; fuente de
�
a limentación120/240V AC con 0114 x24V OC
SINK/SOURCE, DQlO Xrelé yAl2 integradas; 6
contadores rápidos y4 salidas de impulso integradas; ªª
Signal Board a mplía 1/0 integradas; hasUJ 3 m6dulos de
comunicación para comunicaci6n serie; hasta 8
módulos de seña les para a mpliación lf0; 0,04msl1000 .EJ
Rt-�rencia: 6ES7 21�1 8G40-0XB0
VPrsión di!' firmwa rl!': �
V
;.
4
;,;
·º
..:;;_______...;;¡¡¡¡¡¡¡¡¡¡¡¡=::;¡-=-'
1..-_....:k
=
tua-liza r dl!'scripci6n �
Fig.1.31
En esta área de Propiedades es donde se configura todo el hardware que contiene la
CPU con la que se está trabajando. Se puedenconfigurar las siguientes opciones:
•
•
•
•
•
•
•
•
Dirección de los puertos de comunicación.
Direccionado de las E/S tanto digitales como analógicas.
Configuración de las entradas de contaje rápido.
Configuración de las salidas de pulsos.
Configuración de los bits especiales, marcas de sistema y de ciclo.
Configuración para el uso del servidor web que integra.
Configuración de la hora de la CPU.
.. ./...
1.2.1 Configuración del hardware
En primer lugar, abrimos TIA Portal mediante el siguiente icono del escritorio:
TIA Portal V14
Fig.1.32
A partir de aquí arrancará el programa TIA Portal y se mostrarán una serie de
pantallas que se describen a continuación.
í
'
Recuerda • • •
Lo primero que se
debe determinar en un
proyecto de nueva
creación en TIA Portal
es la configuración del
hardware, en donde se
indica con qué
dispositivo PLC se va a
trabajar.
Es muy importante y
necesario que
coincida con el quipo
físico con el que
trabajaremos, sobre
todo los campos
"Referencia" y
"Versión". En caso
contrario, el equipo
físico entrará en estado
de error permanente.
Unidad 1- Entorno de programación TIA PORTAL
Fig. 1.33
El siguiente paso es generar un nuevo proyecto. Para ello pulsamos sobre Crear
proyecto y aparecerá la siguiente pantalla:
Fig. 1.34
En ella debemos completar los campos Nombre del proyecto para indicar el
nombre que tendrá el proyecto, y Ruta para indicar el lugar en donde
guardaremos el proyecto. Para continuar habrá que pulsar sobre el botón Crear,
tras unos segundos de espera tendremos el proyecto creado:
Fig. 1.35
17
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
La configuración del
hardware del PLC S7-
1200 se deberá
completar con las
diferentes tarjetas o
módulos que
contenga el PLC físico,
ya sean tarjetas
incorporadas en la
propia CPU (signa/
boards) o módulos
añadidos en ambos
laterales de la misma,
para la ampliación de
entradas y salidas, así
como para la
amplición la
funcionalidad en
comunicaciones.
18
A continuación, debemos configurar la CPU con la que vamos a trabajar y para
ello pulsamos sobre Configurar un dispositivo. En ese momento TIA Portal
presenta la siguiente pantalla en la que figuran los diferentes dispositivos
disponibles:
• 9�n-uoo
. .,,""
• ·CPV 1l11C...ot>Cltr
• . CJ'U l:11CDC.oOC:IOC
• -2 CN 1 l1!COCIOC#J'
• ..S Cl'U 1212(AOOtillty
• .;JO'l,1 1�1;C C>CA101i)C
• � Cl'U 1J1 1tOCIDCMr
• .JI Cl'U 1!1o1CiCl1Xitfr
■ilU l14-11t»GXIO
• · CN lll'< DaDCO::
, a au ,21,&,e �
• a CPU tllSCK'°°"'J
• .!l ffl.1 1 2•SC�
l 'JIOV lllSC �
• -!i OU Ul�C OCIOOC>C:
O J CP/ 121,&f(OCIOOtlC
• ..acru 1:1«00DC-,
• ..aou 121,r,c;001KJOC
• :,aou 1:1M<oooc:.wr­
• .!1 cru 1:oo "" "Pf<Jk11
Fig.1.36
;:
■
¡:::· -1
tlo,c�
Ml"'O>,.OtlfJbt,O loc.l.b,,u,d,,
ª'""'�,.,,.aon•:6':.«lll ..:.<.,,,o,,,, :,.-oc
SllMOUla.OQ1C,,�lty�l ir�1'•<1<11'6
«"UdO<Urlp401 ,411'GflOt ,._�,JH
�...,,u1. s.,,.
.., 10t..i ,,.,pw i,o .....,,_..,
1w,,.. 1 ...6'f�4• •--··-�..
�ac.,4,,,•»r ,..,u l..,6'f...... H
lt!lllti P,.R ,,..¡>1,,.-IIO; 0.0<l-•IIIOO
"""-tio,,u.c-"'6flfll:IO",nf:T�<t
""""""-� IMt�"""'Ho(,n!'C"'l,C
Seleccionamos Agregar dispositivo, después elegimos el apartado Controladores
y por último seleccionamos el modelo de CPU comprobando su referencia. Es
también muy importante indicar la versión del firmware, que ha de coincidir con
el equipo a utilizar. Al terminar, se deberá pulsar el botón Agregar y se visualizará
el entorno de TIA Portal:
, •
_. e'°1J1,t• d• P"'!I••"'•
, .,a �ios tn,IOlóp:os
• ,.; -n�••JUmu
, :;. .......�, !'1.C
• JJ 1'po1 dadu111fl.C
• .,;1�blu H olnt1WC;,;., ).,,._d
• .1111 1S1diup1 onlóna
• ,.A bu,
• :., o.un ft P'019 6o dupo1illoo
_.,
eo,,�11c>lmdtd"P<l''1N
� Ol,ln yd'
..9"6>11(0
,o lloqun H p,ogr."'•
Ob¡,,1'0S�flOl6to<Ol
-
-
-
M.•
011"-'DQIO_I
·�·
""·'
""·'
IISC_J 1 11 IOOl.1011
HSC...� 1 19 IOIL015
Toutly lt1t•gr�t•d Au!Om,ilticm
PORTAL
► .,a hn•ry-"'1
....
► � OQ
......
....
....,
HSC....5
► 4i �
��=���=E._.....;"-;--;]_,...,.-''�T-,:-�""--
:•,;,.��::��.J:::::::,�'::.., f
1 fntrodHdigMIH
• S11odndi9,..lu
O,,etcK>nnflS
,.. > tntomvd6n
Fig.1.37
A continuación, se pueden añadir todos los módulos de ampliación, si los tuviera,
tanto laterales como integrados en la CPU, por ejemplo, una salida analógica
añadida sobre la propia CPU. En la carpeta Signal Boards localizamos el catálogo
del hardware (AO1x12 BIT) y dentro de este la tarjeta con referencia 6ES7 232-
4HA30-0XB0 que colocamos sobre la CPU.
....:
í
'
'
'
'
'
'
'
1
)
'
)
1
'
'
'
Unidad 1- Entorno de programación TIA PORTAL
• _ )JNll)o>,0_01
• �••Óllpo'l«r'tO
ª°"po)-,�·
. -
, PL(_l (CJIIS 1l141C�
l'f �aon•-,o,­
l o,,1,.,. , ,,.9��,i.:o
• ·
:a- llc!Qw• · """"""
• • Oo,rm'""°""9ic"O"J
, • "'•rir,u tlW..,.,
• 41 V.nebln !.C
t .. >lpo, okd•wt"-C
• •-bla•...H..•tié.,J""3d
• .. ..cl,,,p, �
ro' 'Al•• •�• L¡ Vlfti ""' ,,,,_
.i_]Ol' Vlf� di d�potlthoot
�-________]_=' .,.. 2' � :;l;f • ::'- j V11t..Wt"lfr.il6' olspcwltt- 1
't./ Moclwic �< °""'ac,nl O,,e<:tióto Q
� -
· =•
Ol l4'CIQ IO_J
M ?_I
"'IJ IJfltlT_l
,.__,
..,
HS(._2 f • • 10IM...TII07
---------.-.·--------=::-----;-�.:--;�.:;________
"''-'
""-'
_,_
, CN
• ..tl �'f"91 -tdf
'.�
' .,.,
,.,OIIOQ �j
, __..., ;
· �
;
IIIQ ll<t211T
l
---- [1 ¡��, !�:�i--uoq,:ao i }
t ; a lll�A>ff «>P'_*{_ "'
1 -..
t 1, 0.10, ff ,...,.. . ,i,,.......
t 31 h,..ryS-ld1 �
l-'---.....:...::::::,..._____.;,;__...._.;r.....__,'--...:.l--,==....;;,==----=-=--'::1 :!� :
_.,,.
C�••t,o,,dad'l a ·
j,1 0---1�9,..._
o �• " �"­
°"'1o• w.:�01
.,...,..._,
• V.neblit1 PI.C
t Sti.d» ....�.
""-':c-• f'S
"''""'"""'"'
Fig. 1.38
1.2.2 Configuración de las propiedades
, _.....,
.....
, .,.,
··-.IIO
, :. liblllvJ W c-lllliuCIO'I
• ..!1 M6cl..,. "'°"""91<a
¡,
•
¡
Seleccionamos la CPU y con el botón secundario del ratón elegimos Propiedades.
Podemos observar en una ventana inferior las diferentes características
configurables de esta CPU.
, ;.,. 11o,qun � ""9,.....
► • Ollrf!OJIJC"""""'"'
t fl Mmn ,_1
, :.v....111it, ru:
, ,� ..•-.,_e x 1ana,
t - �b¡.u lt OÓ!t..,.� l .,,.,, c....._,__.
• kd.,lpJ ,,.._
,1 • • � �
• � �<ff . ... . .... . rn..
1 .ao.""•'"""""_... O,,.,plK
<T
c.,prn...,.,.iM
C."J••�ftlM,-n.,.o,,11r,e
, ,...w..:.. ........ .....
....,,,...<..,,_.�
S. °"""'r..,_ao
,...
"
a.- ♦ 4', 11:1, •lo::<l,,,..,..,,"�
..,,.....,"""'�.-............_,
IJ{. llfiJt'fl'ICIU "'°...
. ,
]i u� H lla,,..IM,
"""°•---.-
Fig. 1.39
En la que podemos configurar el direccionado de las E/S, tanto digitales como
analógicas, los contadores rápidos, la dirección Ethernet,
Vamos a configurar algunas de ellas:
• Dirección de la Interfaz PROFINET [Xl]. Dentro de la Interfaz PROFINET,
seleccionamos Direcciones Ethernet y vemos que por defecto vienen
asignadas tanto una Dirección IP, la 192.168.0.1 como la Máscara de subred,
255.255.255.0.
19
Unidad 1- Entorno de programación TIA PORTAL
20
Recuerda • • •
En la configuración de
las propiedades es
importante tener
presente, como
mínimo, la dirección IP
de la CPU, así como las
direcciones de los
bytes de entrada y
salida para realizar el
posterior programa
de aplicación.
Constantes de sistema
-----------------==.......J
'��-�!Oirncciones Ethernet
�nertl lnteñ,H conect.lda en red con
i•hPH·iribii@ttti
Sincronl!lción horaria
Modo de o�r•ción
► A.1n:1do
Atceso 11 servidor web
10 de h,rdware
► 01 14/0Q 10
► ,. 2
► AQt Sign1l 801n:f
► Com»dotes rlpidos (HSC)
► Gtneradorts de 1mpul.5os {MOJ'Pt.O
Ananqu�
Ciclo
Citg• porcomunk•c•ón
Mln::u de sistema yde cido
► Servtdor web
Idiomas de I• ,nterfli::
Hor•
Protección
Conuol de c:onfigur1ci6n
�cursos de cone.Ji6n
Sinópocode direcciones
Protocolo IP
PROFINET
Su�d'. ::=":::
º:::
'on,
�c
:::"
::::d
:
•=;=:;==:,----...­
A,greg•r sutn'ed
�un•rdirección IP en elP'O:)"Cto
Dirección IP: 192 . 168 • O . 1
Mise.subred: 25S . 255 . 255 • O
Q l't!rrrutir •Jurur t. dirección IP directemenle en el
d,sposmvo
Q:;;::;:
0
mbre de disposl1i,o m'.>RNETen el
� �=���;::;;
ente el nombre del
Norrlbrt' del di'sposÍUtO
PROFINET pk_1
Numero de dispositivo;
•
Fig.1.40
• Direccionado de las E/S digitales. Desplegamos DI 14/DO 10, seleccionamos
Direcciones E/S y observamos que, por defecto, las direcciones de entrada y
de salida empiezan en el byte O:
Entradas: 10.0 a 10.7 y del 1 1.0 a 11.4
Salidas: Q0.0 a Q0.7 y del Ql.0 a Ql.1
► General
► lnt,rfuPROFINET(XlJ
• 01 14/0Q 10
General
► Entradas digitales
► Salidas digitales
MOUil·l,IJidd
10 de har'dw,re
► Al 2
► AQ1 Signel Board
► Contadores rápidos (MSC')
► Gf:neradores de impulsos (P'TO�
Atr1nque
Ciclo
Carga por comunitación
Marcu de .sisuma yde cido
► SeNidor v.-eb
Idiomas de la inter6t?
Hora
Protección
COn'D'OI de conigurac.ión
Recursos de cone.>Gón
Sinópbco de direc.ciones
Direcciones EIS
Direcciones de enlrada
Oirecdon inicial: 1
._
o
__________.1
o,re,clÓn lnal: 1
Bloque de orgeni:ación: 1 � (Actu1liz.tción eutcmític,)
MemdÑ imagen de proceso: IActualización 1u·wn.itic1
Direcciones de salida
01recc1ón ,nkíal: l
._
o
____________,1
Otritcción inal: 1
'·••I
>•••,
Bloque de organ1-3ción: 1� (.Aciualiac:ión automitic,) �:••t
Memoria ímagen de proceso: 1 ..
A
_
c
_
w
_
,
_
rb
_
11c
_
i_
ón
_a
_
ut
_
o
_
m
_
i
_
ti
_
co
_______�
,...
··
=
·!
•
Fig.1.41
• Direccionado de las E/S analógicas. Desplegamos Al2, seleccionamos
Direcciones E/S y observamos que, por defecto, las direcciones de entrada
integradas en la CPU, empiezan en el Word 64:
...._,,
1
)
1
)
1
)
1
1
)
Unidad 1- Entorno de programación TIA PORTAL
Entradas: IW64 e IW66
Gener1I
► Entrtdts 1naló91cn
HiéUH,ibii
,_, Olrecdones E
J
S
, • 1
Direccione& de enuada
.1
O,rución irnci•f: l
,._
64
__
_
_
_
_____,11
01r,rcrión 6n1I: 67 r
Fig. 1.42
'···
'···
Desplegamos AQl Signal Board, seleccionamos Direcciones E/S y observamos
que, por defecto, las direcciones de salidas analógicas empiezan en el Word 80:
•
•
Salida: QW80
General
► CieMr•I
► .,,.,to,PAOONET IX11
► Ol 14/DQ 10
► N 2
• AQ 1 Sígnal Board
► �MnJI
► S•IKfn INl6gtc:n
l·lié931·i,1414h
10 de hlrdi,,1rt'
► C:Onudorn rápidoi (HSc.)
■
Oirea:iones E'IS
Ohectk>Ms de salida
Oireuión JnÍCí1I: l
._
ao
_______,1
0.r«ClCin l�I. &1
Sloquto dr organr.lción 1 - GAc:tu1li:Ki6n 111t.om,tíu)
Memon, UNgtn de pl'tSUJo: �iu,c.ió
-
--
"-
•uto
_
m
_
itJ<
_
. _
• ______....,
Fig. 1.43
Direccionamiento de contadores rápidos. Desplegamos Contadores rápidos
(HSC), observamos que dispone de seis entradas de contaje rápido,
seleccionamos la primera HSCl - Direcciones E/S yobservamosque, por defecto,
las direcciones de entrada de contaje rápido empiezan por ladirección1000:
<l
Entradas: 1000 a 1003
:E:::;
:
·
::
:"�
h<
• 11· 1
lnu#dn de h1rdw,r,r t
¡.;¡p;;¡.¡,¡3¡;.,
tO dr htrd-Wfr� J
► HSO
► HSO
► HSCA
► HSCS
► HSC6
11
> �c:doMS fJS _________________
Dlretdonn de enbada
Dwf't<ÍCn wtic¡.1: 1
._
1
_
000
________�,
Ouwción intl 1005
Bksqw de org•rmliCÑJN, • -- (A(UJlfí:..c:ión .uiomáiiu)
Mt:rrora6 m,tgtn M prous.o� • �'6,,, ,utonú;,c;,
Fig. 1.44
Direccionamiento de generadores de impulsos. Desplegamos Generadores
de impulsos (PTO/PWM), observamos que dispone de cuatro salidas de
pulsos, seleccionamos PTOl/PWMl - Direcciones E/S y por defecto, las
direcciones de salida de pulsos empiezan por la dirección 1000:
21
Unidad 1- Entorno de programación TIA PORTAL
22
Entradas: 1000 a 1001
Fig.1.45
De esta mismaforma realizamos la configuración del resto de parámetros que se
vayan a utilizar en el programa.
Si insertamos un PLC 57 1512C-1PN podemos ver como el árbol de propiedades
es bastante más amplio que en un S7-1214C:
► !nuduNIOANET(Xtl
► N 'S,lo0 2 !X1CI
► Ol 16<00 Us(Xtt l
► OI IUJQ l6 ()C1 21
M•nqw
-
C.n;• dt CCffll.llK.aoón
Uut;a1 d.t 1•s'ttm• t deodo
:sa.M:llKMtmw,Gerd
► OMsrma.od�s�t<e�
Jr.,qos d.cft.C
► StA..Oon•,otb
�•� ONS
► OÍ'lpky
-
-·
► f'lro'WCOOft & 5�.d
> 0,C OA
► A.rtme dt •..,.tflt.600ft del 1�
� ff <�•cion
�o, ..J-t�ltQII
s�o d. ckeGCll:fW1,
► la:;,tN;USl'olltWl'tt
Fig. 1.45a
Si visualizamos el resumen de la tabla de direcciones que contendrá por defecto
la CPU 1512C-1PN, ésta la podemos comparar con la vista anteriormente de la
CPU 1214C.
�Visla tr.,)Qtrigic.a 6Vista d9 "9tle-s [J't Vhb de chpodliw:s
'Vi:sla general de d'iposillvo.s
't, - ..,...., ..,. - -·- Q ....
Q Q
• "-C_l o C"1 Hl .:C•1 ,.,.
Al s.N) l_l o ,. Q_. Q_J lol S!
.M) Z
Ol 1610Q 1'-1 Q 1 • 11L11 .__. Ol 16l>C) t�
Ol 161DQ 16_l o 110 1LH ._, 011-.DQ16
HS<_l Q 116 H� ._,. """
HS(_l Q 111 30. ¡5 -,:o._31 ""'
Pedil �_O HS<_l o "" .._., l�l "'e
H'it:_1- Q 119 .,_,, "---"' KSC
HSC_'S o 1 lO TLH ..._., "ljC
K'iC_6 o 1 .:1 91_101 6"J'9 ""'
1'1h:.t_1 o "' 111L11J ..__., ....
Puk.e_l o 1 U 1H_111 "iLlO] .....
l'uk.t_J o 1 "?4 11L1l:1 104 .11'i -
Puk.e_4 o 1 15 1zz..._1¿,; 11LH1 ....
. -.eñ.t< l'AlFWIH_1 o 1 X1
> 1cm. .
Fig.1.45b
'
'
)
'
'
1
1
'
1
Recuerda • • •
Finalizada la
configuración del
hardware es
recomendable realizar
la acción "Compilar"
que nos informará de si
el resultado de la
misma es correcto; en
caso contrario, nos
muestra el listado con
los posibles errores
detectados.
Unidad 1- Entorno de programación TIA PORTAL
Una vez configurado todo el hardware comprobamos que esta todo correcto y
libre de errores.
Mediante la opción Edición - Compilar o directamente mediante el icono
Compilar, podemos realizar la comprobación de posibles errores en la
configuración.
• · t i
Pro¡,ecto Edición Ver lnse-rtar Online Opciones Herra mientas Venta na A.}'uda
I] Guardar proyecto �J! Ji g: 1rr Establecer conexión online �
•
. 1 •
.!!' Vista topológica
Fig. 1.46
El resultado se puede observar en la pestaña Compilar de la ventana que
aparecerá en la zona inferior:
Compilación lin1h2d1 (errores; o; advertencias: O)
Jwu, Oescnpc,on Ir a ?
O • 1'1.(_1 ;,t
O .... Bloques de progrtme /A
O No sr ha compilado ningún bloque. Todos los bloques están actualt:ado!
O • Con6gufaci6n hardware /A
o
o-
El hard,...are no se ha compilado. Lt configuración u acrual
Compilación finalt:ad, (errores: O. athe1<enc1as•O,
Fig. 1.47
Fallos Ad..,enenciu Hcr1
0 0 1 1 :27;19
1 1 :27:19
O O 1 1 :27:19
? 1 1 :27:19
______1 1 :27:20
Si al compilar aparecen uno o más errores, no se podrá realizar la carga ni del
hardware ni del programa al PLC, en cambio, si aparecen una o más advertencias,
son avisos para informar al programador de alguna cosa que debamos tener en
cuenta, pero dejará enviar hardware y programa al PLC.
1.2.3 Detección automática de la CPU
También es posible detectar automática
de una CPU e importar directamente su
configuración. Para ello tenemos que
tener conectada la CPU online con TIA
Árbol del proyecto [Il ◄
Portal e insertar una nueva CPU al
proyecto desde Árbol del proyecto -
Agregar dispositivo:
Dispositivos
• _J UNIDAD_Ol
_IW';':9rega r dispositivo
!&, Dispos itivos. y redes
Fig. 1.48
Entonces en lugar de elegir una CPU
concreta, podemos seleccionar la
referencia correspondiente a la CPU 1200 sin especificar o "CPU 1500 sin
especificar":
23
Unidad 1- Entorno de programación TIA PORTAL
24
• !il ControladorH
., � SIM11CS7-1200
• ta cru
► [III QJ 1l1 1C ICIDO'Aly
► [I C"-J 1 211CDCit>CIDC
• 3- cru mtc octDOfl)'
► �Cl'U 1ll2C ACIOO'llly
• ÚISl.....
11C SM500
.. [a c,u
► :a e"-J UIH l'N
• .a a11,.1 ts11C-1 1'N
• � Cl'U UUC·l l'N
• Jl cruun-1 l'N
• Cil cru 1s1 s.2 1'N
► (lf CPU 1212C OC10C10C
► l:j UU 1212C DC/DCíNy
, [acru 121..c�
► [a Cl'U 1516-l l'N/DI'
• Ca cru n1H P'N/O!'
► Ci¡CPU 151M l'NIDP
► [aC1'J U1M �!'ODIC
► [lJI Cl'U U1 1M l'N
► IJi CPU l513M l'N
► [m O'U 1515F·2rN
► � Cl'U l S16M l'N/OI'
► -'I CIJ 1517f-ll"NIOI'
► lja CPU U18f"4l'NIDP
► 'Jli Cl'U HISf-.Cl'Pi/O!'OOK
► -11 CPIJ 1511N l'N
► 'liQJ 1 51 5l-21'H
• � CN 151?B l'N/OI' l
► '.:a CPU 1 5171M l'H/Of'
• Cil cP'IJ 1 500fl!'IUpeC1fiClr
l'.l>lemu:i.t m7,xx-i0oooM�
► (a Cl'U 1214C DCIOQ)C
, fa cru 121..cOOOCJAly
• !'.'il O'U WSC1't:JDChfir
, Jlcru 1 21sc OC10C10C
► !a Cl'U 121sc OOOC111y
► [8 Cl'U t217C OC/DCJDC
► [a C1'1..1 121'4KDC1DCJDC.
► {a Cl'U 1 ll�KDODC.fff)'
► [¡j Cl'U 1215KDCIDODC
► i:li Cf'U 1 21SK OOOCJley
• [ia Cl'U 12001in ..1pec,k1r
► [a S.....,11CS1-UOO
► fa Sl.....
llCSHOO
► � S......'IIC S7◄00
► [a SLM'o11CfT2000'U
► t¡ De..;« ,.,...
Fig. 1.49
De«c11pcl0fl
Cl'U 2001ine1�"
ve,uón
•
► (a cruSIP'LIJS
: i! SIW,'!IC SHOO
Fig. 1.49a
Aparecerá la siguiente información, en dondecómo se observa no indica ninguna
CPU concreta. Además, en una ventana informativa se nos recomiendan dos
posibles soluciones:
•
•
Utilizar el catálogo de hardware.
Determinar la configuración del equipo conectado.
En este caso optamos por la segunda opción y por tanto pulsamos sobre el enlace
determinar:
t'f<l)'K1'1 flht•� v., ..,..n;t, °'""" �· He""'"'"""'' v.,ma,u �
l) '.j' Q Gu.-dar� ,1, X •• ...!. >< lr)t C- · -li r:D !Ii !Z C i
Ol1po1NIVD'!II
'! 0 0
• c.l UfCl/10�01
ft 1,¡¡,..¡.r d,.po«t1vt1
ili, o.po1_y,..cl<r,
► ".s �11CftJ U14CJrCAICIRI)!
• .41 �2 !11<,o;r.e<llk CJ1Ul200J
lt eon1g..,.ti6nh dil.po.-
► fo a¡.,que, H p«>gr•,.•
► � Oti¡uo,ac:nológico1
► lj r...nte•••rN1
► � Vorwblul'.C
► :... lpo< ffdllml'l.C
► � llbla16e ""1<rrwc.6nytor.d
2!¡ 1nt:t""1ci6,,drl p,ogr•,.,.
, r-. 0111x de p,o,fdt�p,xrwo
_
_! ��•
.
dr te>lO<
..-
'°"'11"..''°"""' ""e<>''lrv-.;
.J Bloque, Ñ Pf09""'"
· f"l,enlfl••mo•
.. v
.....bkul'lC
llpo< dedllllSl'.C
fl...po1ll""'"°"'' "pe<lflt.d,;,.
➔ Uliic•ol . , p111Kp«,liud1CJIU
,.:_ ➔ OIE·::.�_
..,J ta conligu<Ko6n oeldi'f'O'lffl"fOCO<'><CUClo
..
'11
Fig. 1.50
.. l'.C..2
"
"
'"
"'
_ ji ii X
DuetcLilnl DtrKo6nQ
Tou.llylntegra'-C! Auto!Nltkln
POfl.TAL
....
► '."a¡ OIIOQ
.....
• ..ilM>
► --�
► -11Wc1ulo1d• comunicoci6n
, ;,¡ M6d<Jlo<tecr,ol(,g,<o,
En el momento de pulsar sobre determinar nos aparece la ventana para
seleccionar el puerto de comunicación del ordenador y realizar la búsqueda de la
CPU conectada, eneste caso a través del puerto Ethernet del ordenador mediante
protocolo PN/IE. La búsqueda se inicia al pulsar el botón Iniciar búsqueda y, una
vez realizada, nos muestra la CPU encontrada con su nombre y sus direcciones IP
y MAC:

___
,,,
J
'
1
'
'
'
'
'
'
'
)
Recuerda • • •
Existe la posibilidad de
una detección
automática de la CPU
conectada
físicamente al
ordenador. Para ello se
deberá seleccionar el
tipo de CPU que
aparece en la carpeta
"CPU 1 200 sin
especificar" o "CPU
1 500 sin especificar".
Unidad 1- Entorno de programación TIA PORTAL
A
l)o<
__ ,cu,_,,._,_, .... .,...,.,,�11
.....................,..-
:!'l ___<M...4ol"""""""
r.i su--.1,_...,. .. ....,.,....,.-
r,.....,.,.,,.._,....,.,..,_
Fig. 1.51
A continuación, pulsamos sobre el botón Detección, y observamos cómo la
configuración del hardware de un 57-1214( nos muestra los datos de la CPU
localizada:
0 0
• LJ UMIW>_llt
,6 11g,...,d,1po111i.o
A Di<pc><-yredn
• :. l'lC_.1 fCIUU14C�
• l'I.C;_US!Y.!!1-«':0C.VCAlg_
lt �CJ6ncledrl,...eroi
i_ OÑifM,yd;..p.lM:o
• r.: Noqw,t1 d• f><ot,_<N
• � 011Je11Krecno16gcoo
• fuerna,••-·
, :,. .........., f'I.C
• !..Jl ,.,... cle do101 M
1 �'11111.t • dt oi>ctr,•t>6"1y.,,_<f
, r._ a.m,p< .,...,.
• i:.;l hc,u
,__
• :a
_
,•_
••_
•
_
-
_
'"
_
'_
"-
_•
_
�--''-•
..¡
J, ::�;• (va;¡.bl.._r.i 1·
':"
t.l,._.
v Vttta lküll• • _...,,,,o,,wu1X11
s..w:-••tiot•111
................
, ,.,_.,..do
IOM hU...,_rt
> Dl l•-'!>0 10
('J�...,iti,,j.,.to, lo dórtu,,flrl'ómwmentio =••
.só,po,iti.<:
V (r
Fig. 1.52
1.2.4 Creación de la tabla de símbolos
Es recomendable, antes de la escritura del
programa en el entorno TIA Portal, la creación
de la tabla de símbolos de los componentes a
utilizar en nuestro programa.
Para crear estos símbolos en TIA Portal,
debemos elegir, dentro de la ventana Árbol del
proyecto, la opción PLC_l - Variables PLC -
Tabla de variables estándar:
> ll'lfor11111cl6tl
Arbol <1el proy@cto O ◄
DisposltillOS
O C>
• � UNtDAD_01
lf Agregardis positivo
al., Dispositivos y �des
• Qa Pl.C_1 (CPU 1ll��
Configuracr6n de dispositivos
� Online ydi119n61obco
► � BloquM de programe
► ObJMOf. tecnológico,
► [¡¡ fuentes extemu
V1ri1 blu PLC
� Agregar table de variable,
__ .
'1i:Tibla de- venable-r. euánder 1?91
____,__.,
► � Tipos de duor. Pt..C
► � Tablas de ob,erveción yfonedo permanente
► � Backup, online
► .__. Traces
► [¡¡ Dates de proxy de d1spos1uvo
i!!j Información deJ programa
.!) Lnus de textos
► [ji M6dulos locales
► !;i Datos comunM
► :C: Configuración del documento
► Idiomas yrecurs;os
► "!'Accecos online
Fig. 1.53
,.
25
Unidad 1- Entorno de programación TIA PORTAL
26
Recuerda • • •
Es aconsejable
elaborar la "Tabla de
símbolos", ya que nos
ayudará a un mejor
entendimiento del
programa durante el
proceso de
comprobación de su
funcionamiento.
Al abrir esta opción, nos encontramos con una tabla totalmente vacía:
UNI 110_01 • PLC_1 [CPU 1214C IIOD0Rly) • Variableo • tanda, 291 - ii1 ii X
_ _ I!J "?' �X
Tabla de variables estándar
Nombre Tipo dedatos Oirecc1ón Remanencia Visibleen HMI Acc�íbledesdeHMI Comentario
<Agregar;,.
Fig.1.54
0 0
En la que, a continuación, introduciremos las siguientes variables:
UNIDAD_01 ► PLC_1 (CPU 1214( AüOORty) ► Vanables PLC ► íabla de v,mables e'>tánda1 (36J - ji ii X
"?' !lx
Tabla de varlabees estándar
Nombre
<11 Sl]ULSJIDOROE PARO
<:I S2_PULSAOOR OE MARCHA
4::1 F2_PFtOlECCION M:>TOR PALETS
-fJl KlM,_�TOR CINTA PALET
Tipo deditos- 01retcíón
"'º' ".10.1
'""' "',,10.2
eool �3.0
Bool '11,Ql.l
Rem•..
- Visibleim HMl Acc.nibled.-sde HM! Comenu,rio
li1l � Puludorde Paro. Contacto NC
.., li1l ¡;;;, Pulsador de Marcha. Contacto NO
li1l li1l Disyuntor m19netoterm1co motor cinta transporte.
� � Motorcint.1 pa!en
Fig.1.55
Una tabla se símbolos se puede copiar en un archivo Excel o desde él, para ello,
tan solo es necesario seleccionar las celdas que deseamos copiar:
UNIDAD_01 ► ptC_1 (CPU 1214( AU0ORJyj ► Vandble5 PLC • Tabla de v.mable?> estam.Jar (36I - jl ii X
Tabla de variables estándar
-r
N
-
om
7
•
b
7
1
r
_
,
'=
,u
éc
, .
ce
AOO
""'
R
"'
D
"'
<"'
P•
"'°"
=��-1-
Ti
c'
,po
�
d•
_
d
_
ot
T
<>s
=ir.c
D
�
irec
�
<
-
ió
r
n
,
Rem1-. Visibli! i!n HMt Acc�ibli! d1!sd1! HMI Com"l!ntario
._ , ..., ,..,,,..v Bool j_l �0.1 • li!I � Puls.edord1! P1ro. Contacto NC
:¡
-O·
S2_PULSAOOR DE MAACHA
F2_PRO'T!COON f.OlOR PALE�
KlM_MOlOR C!NTA PALET
Bool '1.10.2 � � Puludor di! Marche. Contacto NO
Bool '1.13.0 � �
Bool 'J,Ql.l � lit) Motor cinta peli!U
Fig.1.56
A continuación, abrimos un archivo de Excel y con la combinación de teclas Ctrl+C
copiamos en el portapapeles y con Ctrl+V lo pegamos en una hoja de Excel.
Obtenemos la siguiente vista:
8 ., • ; UNIOAO�Ol &ce! O, - t: X
Archivo Jnsert•r IDiseñode pagine j Fórmulas IDatos IRevisar IV1st.1 1PRUEBA DECARG.J EQUTPO I Q lnd""r lmuarses,on R Comp,nhr
Portapapetes r.
84
r
a
1D
11
Cahbri • 1! •
N K i .. A
ª
A..
il · � - .A. ·
Fuente
" ✓
- � General
¡¡¡: :g 'ª l;,I · "' · % ""
!] � � .. ;68 �,
Ahneatión r.; Nume,o r.;
Sl_PULSAOOR OE PARO
e D
Sl PULSADOR DE PARO Sool %10.1
S2_PULSADOR DE MARCHA Boot %10.2
FZ_PROrtCCION MOTOR PALETS 8001 %13.0
klM MOTOR CINTA PAlET Bool 'JIOl,1
� Formato condicional ·
� Darformato comotabla·
� Esttiosde celda ·
Estilos
�Insertar •
� Eliminar •
iJ Formato•
Celdas
G
l: .. �.,..
t;i· p .
�-
"4odJfrcu
H
l;:
12�-�0
=
•.-------------=;::
0:
=-========----;p
cf
,
listo Rtcutnto: 12 gfl 11] � - + 100 %
Fig. 1.57
.'--"
,,
' Recuerda • • •
' Se puede "Exportar" e
) "Importar" una "Tabla
..-..., de símbolos" a un
fichero Excel. De esta
) forma si disponemos
de un fichero Excel con
., todas las variables y sus
..-..., símbolos, podemos
copiar y pegar en
cada programa los
' necesarios, y con ello
nos ahorramos tener
., que crear en cada
..-...,
proyecto todos
los símbolos.
·1
)
'
1
'
'
'
..-...,
'
'
')
í
Unidad 1- Entorno de programación TIA PORTAL
Si guardamos esta hoja de Excel que se puede modificar o ampliar,
posteriormente podemos realizar la operación contraria, como seleccionar en
Excel las celdas que se deseen copiar e ir a la tabla de variables y pegarlas.
Por ejemplo, añadimos tres nuevas variables en la hoja de Excel:
b-j +, • - UNIDAD_0l - &cf'I l1l - 0 X
Ar(hlVO lnserur !Dtseto de p,ág,na ] fo,mu1as I Datos I Revisa, 1V�ta lPRUEBA DECARG.jEQUlPO I Qtnd,l1r Jn,oar set6n ,<:l.Comp.trtrr
ll'..
!l!i ·
·- .,
4
5
6
7
s
10
11
u
últbn =T11 • = = - ii'
N K i · K • aa: se :sa l,el -
� · � • .,j. • � � �
/ ·
� Formato condicional • fflahufflar •
VDar formato como tal»a • !"' Eliminar
� Estilosde cdda • ii! Formato·
Fu,nt, r,, AhnHd6n r,; Número r,, Estilos Ctlclas
e o G
Sl_PULSADOR DE PARO Bool ""J.1
S2_PULSAOOR DE MARCHA Bool "K>.2
F1:_PROlECOON MOTORPAt.E'IB Bool "13.0
klM MOTOR ONTA PAlET 8ool "°-1-1
HO_AMARIU.O 8<>01 %02.1
Hl_VERDE Bool %02-2
H2_AZUL Bool %Q2.3
M3 ROJO 8<>01 %Q2.4
11
�+l
Rteutnto: 12 lj [IJ e:!J -
Fig. 1.58
L .. �T •
¡¡¡ . p .
�-
Mod1f1car
H
+ 100"
Una vez seleccionadas las quese desean copiar, hacemos Ctrl+C y posteriormente
con Ctrl+V las pegamos en la tabla de variables ya creada, con lo que obtenemos
el siguiente resultado:
NIDAO 01 t UNIDAD 01 !CPU 1}14( AU0(JRly) t V,mabl� Pl( ► 1Jbl4 de v,m.ible-. e-.t.and,u l41J - 1! ■ X
Tabl.a d. v.iriable� estJnd.n
Non-bf• 'T"_,o dt dttot Otr«ct6n • _.,..,_.., '1�e,,l-!W N.UI/Of-Ots<ltl-il.l <;i:,ro,-,IMIQ
O SI_PUl.SAOORot: -PNIJ � !il0.1 iii NudOf'd! ,-,ro Con�cti:>HC
O S2J'Ul'SADO,u>U,WIJ� eool 1t,l).,2 lil l'l.ibedord• U.Khfa <onaacHO
Q f2_JA01f:CQONIA)f0UM.!TS 8ool ,..-,..o QJ 01'.s)'l"t� m•qre�ff'IICOl"l'l«or'Cinui O'lnt� d! F,tll!.:S ■
•r-c-=====-�--:...
=
""
c--......,..-,:;
-
;-�,--,-,
.. � 1 :::::��.,,..•
H1_VEll>E 8ool "1,Q2.l ¡;¡j Houl d• HIWUCW)n,.frd!
7 CI H2flUl 8ool "-Q2.J 0 iJ fwcto'Of seA,li:,,aOlu:,.I
e C 1-lJ_AO;o &ool ",,Q2 4 ?I � Piottl dt w'leJcaoon rqo
Fig. 1.59
También existe la posibilidad de poder introducir, tanto en la tabla de variables
como de observación, varios registros contiguos del mapa de memoria del PLC.
Para ello introducimos la primera dirección de la variable, por ejemplo, la MO.O:
NIDA0_01 • UNIDAD_01 [CPU 1}14( A(JO(JRly) • VJu.tble,;, PI.<. • l..i�.t de- v.111.able-,; �,;,tánd.a, 141)
------
- I! ■
"'°""bt-• ropo Ó! dm, OW"'(lQn ... l;r-,..-e11<•• v,sit,te'"...... ;,«e11bi,.ede-so,l'IU Ce.1"".$n�•-..o
o "S1_PUlSM>OROt: '"""° 80Qt 1tia).I 0 iii!t NudOl'df l".tro C,:,c•aoHC
4l 'S-:?J'UlS.•OOtU:lE � 8°"' 1iil0.2 0 ij l'.lud4tdf U.rthe Ccet:.aoHO
<J ,;:_,w:r1t:COONMJlQArN..t� too! "til'J.O 0 Oi,��f"f� "'.o;or'(rlQ tre.,ipott,t d• p.11oe.u ■
<>
<>
o
a
l(ll,I_W10RCINTAPM.ET
..._.........,,
Ht_WJDE
H�_Ac:UI.
H.3_AOJO
�
....
....
....
....
....
....
11,QU li!I Motcf � p,tlf3
'"'" li!I B �.U uil.llL:ilaa- •rr•l'ilo
11,Q:?.J B iil Holod• niw ;,oón w�
MU.J B � df H�il.:»OOl elJ
'-OH B N«o d• añ.,��OÓl'>Nf"
@-.o 8 �
Fig. 1.60
Y a continuación con el ratón seleccionamos la esquina inferior derecha y
arrastramos hacia abajo y hacia la izquierda, hasta tener los registros que
necesitemos. En este caso vamos a añadir siete a partir de la dirección MO.O, con
lo que tendremos:
27
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
La tabla de símbolos
dispone de algunas
funcionalidades de
una hoja Excel, como
por ejemplo poder
declarar de forma
consecutiva y con
direccionamiento
automático variables
consecutivas.
Recuerda • • •
Los PLCs S7-1 200 tan
solo admite los
siguientes lenguajes de
programación:
• Diagrama de
contactos o KOP.
• Diagrama de
funciones o FUP.
• Lenguaje
estructurado o SCL.
28
H◄IIJA'J 1¡1 • JNl!J,.IJ fJ1 {1f�J 111-'! f-'JIJfJ!'l:,I • /,, ,1,1.... 11 1 ► 1-,t,l.i ,J,, vJn,t,J,,, ,. ¡, ,.JJ• l41J - l! ■ X
No,,ibo, 1Ípod1td.usi ou,nion .. �,ntnc1- 'lsoblun HMI 1i«.CS1ble�MUI to1r.111t.1r,o
G S1,JUI..SAOC:)A.ot: ,AAO tool U:, I � fiiiil r'ui51dordt P-1ro. eortt,uo NC
G S1J"V(,S:IOOlt Dt MAIICMA 8ool .-..0.Z � l'Uludo, ff t.4trth1 Co,lfllctoNO
G F'Z.}'lk)'JtCOOHM0'10111"1Ul5 8ool "''.O � � t)l,,UrMf'll'll¡Jnt-JO�fm1Co, 1norord1tui tfl1uporit ckptleu.
-0 1'11,(.,MO'l'OllClf((.V,UT llool IQ1.1 � e MolOfúnt.1 ptlcU
J -Q Mtl_N.WIIU.O llool "-0:Z.1 � � rriof0dur�bd6n11T11rillcr
G MU'U!Ot tlool w,.z � 0 l'ffoto de nlltll:,a6nwn:le
-: G HZ_AZVl- loo! 'M):Z..., � � PIioto de ull,1iaó6n UJI
G H!I.JIO}C) 9ool � 0 Notod.- ul!.li:sid6nre,o
.., -- .... 8
...... ,, 0 0
Fig.1.61
Y al finalizar el arrastre se observa cómo automáticamente se han creado dichas
variables hasta la M0.7:
J►lllJ.-,U ;1 • l¡l!IU.-, J J1 '!"! 1,14, l•JJ!J</1'/; • .¡,¡ ,ti<- 11 < • f.,r,¡., ,J, ,�1 ,1,1, , t.1<�1.,
T•bf., dtl writbl4f estinNr
� tipo.et...,_ Vit«dó,, ... �tf �'"HUI .Jicc..U.dffdfl-M �Wrio
.CJ S1J'Ul..SAOO!lot''AIIO SOClt 'l,I0,1 � 8 f1Vl.1Wff r,ro.to1:t1e,to HC
4JI SZ..J'lU�Dt.t.WIOIA 8ooi 'i.lO.Z � � ,uludoo'd1MlrtN C:C,ntfcictHO
G f;!:.J'll(rltt'.OOH �lOIJ,AUJS fool "'J.O 8 � Dos)lt,lftlorm19�•mÍCO.,,ott,,CÍnMi tr11nJpo,r. lkp1lt11-
,0 ��OM'IAP-,tU.l' 8ooi ,01,1 9 ,.._,c:lllu .,_h,11,
<a HO.JrMl,IIU.O SOo( 'ltOZ.1 � NIMH ••lillli:1tJ6n11Nrilo
.C M1}41Vt IJoof "'OU � P'iloro-ck 1tll1¡llllci6nwrdf
<I Ht..!,t"- � �u il P'iloeo6nrAd:11"6n,i:ui
!! 4J HJ.)IOJO &Clol tiii J"llo(c,dt Hll.liaid{wHojo
.., � ""' B
CJ �t 80CII �
,Q """"-""" .... �
-o � ""' B
,o �· 9-ool (i1I
4 ,O �IMLJ !ool �
G � ""' !'I
CJ �
J ltool
Fig. 1.62
1.2.5 Creación del programa
Desde TIA Portal, y dependiendo de la CPU elegida en el hardware, podemos
utilizar los diferentes lenguajes de programación que contempla la norma IEC
1131-3 y que son:
• lista de instrucciones o AWL.
• diagrama de contactos o KOP.
• diagrama de funciones o FUP.
• grafcet o GRAPH.
• lenguaje estructurado o 5CL.
Es posible utilizar los lenguajes anteriores en los modelos 57-300/400 y 57-1500,
pero no para los 57-1200, que tan solo admite los lenguajes siguientes:
• diagrama de contactos o KOP,
• diagrama de funciones o FUP.
• lenguaje estructurado o 5CL.
Para crear el programa en el bloque OB1 debemos elegir la opción Main [0B1]
que encontramos dentro de la ventana Árbol del proyecto, dentro de la carpeta
PLC_l - Bloques de programa:
Al hacer un doble clic sobre esa opción Main [0B1], aparece el editor de programa
en KOP, que está formada por las siguientes zonas:
.__,
!
)
)
)
'
'
l
)
'
l
1
.,
'
l
'
'
, ,
'
'
'
'
Recuerda • • •
Para la inserción de
componentes en el
editor de programas se
dispone de dos zonas
con los iconos
correspondientes, una
más reducida en la
"Barra de menús" y
otra más completa en
la ventana de
"Instrucciones".
Unidad 1- Entorno de programación TIA PORTAL
• Edición de programa: donde podemos escribir directamente el código o elegir
de la zona de lista de instrucciones la instrucción a insertar.
• Propiedades: donde mediante el campo Lenguaje podemos seleccionar el
lenguaje a utilizar, dependiendo del tipo de módulo, permite seleccionar más
o menos lenguajes de programación.
• Librería de instrucciones: Donde podemos encontrar todas las instrucciones a
insertar en nuestro programa en la zona de edición.
• o �• dt �'fl•
- �f --..0 "°'!...
• Ml,nfOtll
...�..·�
• r.,..,........lfla•
• Ttlll.lt 1M o1K•M1:,ojlyiw;:t4o,.-•-
• a.e��
► � lnc.tl
► � Ouot U "'°"'H Cl<tpoc­
· ltMllffl.fclOll�p,,oe,.n,t
i, .....$11#·-
. •,a._,_.,.,..
► CQ<WJ..rt,o1W! H1d,x,,n,e-
• 1f14,o,1111t ,.(�f"
.<>I
;¡¡¡::::::::::::�
��·����=-�·�•:....-------
'Q(<......: "'°"""'CJCM
�•roe..i1• ::¡¡�:::::::::;::::::
Fig. 1.63
Para la introducción del programa en KOP, bastará con ir eligiendo, bien de la
Barra de menús o del Catálogo de instrucciones, el elemento necesario y
arrastrarlo a la zona de edición de programa:
" :..J Ufi!Ox).01
,1 ...,..., ..pollll'wo
·°"�-,.,..,
. _. l.(_l jCPU tn'IC �
tt �,. 4- d.ipo1.--
1, � ,_.,._
• o �t CM,.....n,t
,,....,.�,-�
M1,11jOlll
1 4 0b¡H:11 �
• » Mntt1 ,.-mu
• 4 v•�•l>la•l'I.C
► · � llt elt� l'll:
1 _ t.lllt1dU 1Mt,-,.)'iwaáep,,,.tna/lll
• l.lcb,jtl anlotlt
• l'M;,,
► ll, O.to1d• p,a,t"• ll"f""'­
ll! 1111otmK>6on <1tl�-
�....,.,...__
I JI MilohilQI �
• ouo• c-•
' .lii;: '°"'to'•Ka6114.tl�•-
Fig. 1.64
Una vez insertado el primer componente, que será un contacto normalmente
abierto, quedará de la siguiente forma:
�>.?>
1 -•
■r==
=--------------------�
» Fig. 1.65
29
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
Una vez insertado un
componente, existe la
posibilidad de
desplegarlo para
seleccionar el que se
ajustea la función que
se quiere asignar
Recuerda • • •
La información
asociada a cada
componente del
programa se puede
visualizar de tres formas
distintas:
• como símbolo
únicamente.
• como dirección
absoluta únicamente.
• de forma conjunta
como símbolo y
dirección absoluta.
30
Se observa que existeunpequeño triánguloenlaesquina superior
derecha del símbolo. Al seleccionarlo, se despliegan las diferentes
opciones que puede ofrecer este componente como es:
• contacto normalmente abierto.
• contacto normalmente cerrado.
• contacto con pulso o flanco positivo.
• contacto con pulso o flanco negativo.
<??.?>
-u-
Fig.1.66
También en la parte superior aparece <??.?>, que es para introducir la dirección
que tendrá en el PLC, esa dirección puede ser:
• Absoluta ➔ 10.0
• Simbólica ➔ S0_Paro
Se podrá seleccionar mediante la opc1on que nos ofrece la barra de menús
mediante el icono Operandos absolutos/simbólicos.
Desplegando esta opción del menú, podemos elegir
entre tres tipos de visualización, como son:
� � ! �� te ��
:11 Simbólica y a bs oluta
1!I Simbólic a
• Absoluta:
�
10.1 %10.2 %13.0
1 �,y
• Simbólica:
'F2_
·s,_PULSADOR ·s2_PULSADOR PROlECCION
DE PARO• DE MARCHA' MOlOR PALEl>•
� MO
�
�f:J
• Simbólica y absoluta:
'IIO.1 'IIO2
·s,_PULSADOR ·s2_PULSADOR
DE PARO' DE MARCHA'
,a_o
"F2_
PROlECCION
MOlOR PALEl>'
"IQ1�
1
JOlOR
A PALET'
Absoluta
'lbQ1.1
)------t
'K1 M_M010R
CINTA PALET'
)------t
"IQU
'K1 M_M010R
CINTA PALET'
Fig.1.67
Fig.1.68
Fig.1.69
Fig.1.70
Al pulsar sobre la indicación superior del componente, podemos escribir
directamente la dirección, o bien si lo desplegamos, podremos elegir de la lista
que aparece y que corresponde con la tabla de símbolos creada anteriormente.
Ahora en una nueva línea de programa queremos programar el funcionamiento
del piloto de paro:
J
.....,'
'._/
'- I
í
)
l
)
'
í
Recuerda • • •
Se puede acceder a la
tabla de símbolos justo
en el momento en el
que se ha insertado un
componente en la
zona de edición del
programa. Bien
desplegando la
ventana o al escribir la
primera letra, ya nos
aparece la lista de
símbolos para poder
elegir uno.
Unidad 1- Entorno de programación TIA PORTAL
Bool �"-'18190.0
Bool ¾Q2.1
Bool %Q2.2
Bool %Q2.3
Bool %Q2.4
#lnitiel_Ca ll Bool
G .K1M_Fv010R CINTA PALET Bool %Q1 .1
G "MAACA_AUXILIAA" Bool %W.O
Piloto de señalización amarillo
Piloto de señaliiación verde
Piloto de señali::zici6n IIrul
Piloto de señaliz.ación rojo
lnitial ca ll ofthis OB
Motor cinta palen
Una vez completado deberá quedar de la siguiente forma:
Fig.1.71
Fig.1.72
También podemos escribir un primer carácter y automáticamente se desplegará
la lista de símbolos para poder seleccionar uno de ellos.
De esa forma podemos ir completando el programa, e introducir todas las líneas
de programa en un mismo segmento o en diferentes segmentos. En definitiva,
quedará algo similar a lo que se muestra a continuación:
�-1 �2
·s1_puLSADDR ·s2_puLSADDR
DE PARO" DE MARCHA•
'Ml.O
"F2_
PROTECCION
ldllOR PALEl>•
'IQ1�
1
MOlOR
A PALET
'Ml.O
"F2_
PROTECCION
ldlTOR PALEl>"
'IQ1.1
MOlOR
A PALET
'IQ1 1
"K1 M ldllOR
CINTA PALET
'IQ2.1
"HO_AMAAJLLO"
}---<
'IQ2.2
•HI_VEROE"
-----------------------{ }---<
'IQ1 1
"K1 M MOTOR 'IQ2.4
CIN
TA
P
AL
'--
E
r
___________________.
_
H
3
_R
oJ
O
·
� ( }---<
1.2.6 Comprobación del funcionamiento del programa
Fig.1.73a
Fig.1.73b
Fig.1.73c
Fig.1.73d
La comprobación del programa la podemos realizar por dos métodos diferentes:
mediante PLC conectado al ordenador o mediante simulador PLC Sim incorporado
en TIA Portal.
Mediante PLC
Con TIA Portal no es necesario tener configurada ninguna dirección IP en las
propiedades de la tarjeta Ethernet del ordenador por la que nos vamos a
31
..J
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
En el momento de
realizar la
comunicación entre el
PLC y el ordenador, no
es necesario configurar
ninguna dirección en
la tarjeta de red del
ordenador, ya que TIA
Portal de forma
automática asigna una
dirección IP adicional
dentro del rango
necesario.
32
comunicar con el PLC. El propio TIA Portal, cuando lo necesite, asignará una
automáticamente y esto sucederá siempre que:
• No tenga ninguna dirección IP asignada.
• Tenga una dirección IP asignada fuera del rango
o de la subred de la dirección IP del PLC.
Si ocurre alguna de estas dos circunstancias,
aparecerá la siguiente ventana informativa:
Carga avanzada {01 32 000011)
Asignar dlre<:clón IP
,1ra e,recuteri. �nctón11 progr•medorf oelPC n,e,ces11a otra d1retci6n IP
dele ml!ma sub,edque el Pl..C.
Fig.1.75
r°""'" ..
PUIIÍll .... c,.1t ll � JI M .,.,.,. �1! t1 II
r.i n � c:anetll VIOCNidad Oe lo comrsio,dltl.ri
cor.utJr CQ'l tl �Mklrdl Nd cuil et la ainr9,noónP
........
c::ib-. i,,. CW«ódn F �II
1) 1.U' Nl � d:tottti!nF:
1M l �
� '9 drea)Ofl (ill WIQII DHS .ut:ima�
, U.. lll � dnalontl oe _,..tr"61
___....,....,,______...,.__.._/
Fig.1.74
Al responder pulsando el botón Sí, aparece una última ventana informativa que
nos indica que se ha agregado de forma temporal una dirección IP a la tarjeta de
red del ordenador. Cerraremos esta ventana pulsando el botón Aceptar.
arga avanzada (01 32 000008)
Se ha agregado una dirección IP adlclonel.
La d1rttc16n IP 192.168.0.Z41 ,e he eg1'1!gldo e la inttrÍlzlrnel(rQEtM�t
Connection I218-V.
Fig.1.76
Para poder realizar la comunicación con el PLC, hemos de tener conectado mediante
un cable PN/IE el ordenador a través de la tarjeta Ethernet con el PLC por su puerto
PROFINET, para a continuación pulsar sobre el icono Cargar en dispositivo:
Fig.1.77
Aparecerá una ventana en la que se nos indican las direcciones de que
disponemos en nuestro proyecto y que le vamos a asignar a los diferentes puertos
de la CPU conectada a nuestro ordenador. En función del PLC con el que estemos
trabajando, tendrá la siguiente apariencia:
• Tanto el PLC S7 1512C-1PN como el PLC S7 1214C. Dispone de un puerto, que
por defecto es:
PUERTO DIRECCIÓN
PN/IE 192.168.0.1
Unidad 1- Entorno de programación TIA PORTAL
•
■
JI
III]
,o/ode� de ,ttl!'lotor,igur,d� df' 'P.t....l"
Olip05,!UIO Tipo ded1J.P01,1twO Slot Típo
l'.C l CN 1214CACJOCJ1:ty ! X1 F'NllE
Di,pc�•tivos tol'T'p,11nblu en i. subred de d,nmo
lfupos.11/'0 Tipo� dispos,u.,o Tipo
Fig.1.78
Tipo de d�ollti�o Slot Tipo
C,V 15121:.-1 PN l Xl P!';,'IE
O•r�ción
192.168..0.1
llpodt intT�zl"G/PC.: ._
,..
_
«_
=•
..
M
._
.- -------
Fig.1.78a
A continuación, se ha de completar los siguientes campos:
Tipode interface PG/PC: el tipo de protocolo a usarsegún el PLC utilizadopuedeser:
PN/IE
PROFIBUS
MPI
Teleservice
Interface PG/PC: indicamos por qué tipo de conexión del ordenador tenemos
conectado el PLC. Podemos encontrar las siguientes:
tarjeta de red de área local (LAN)
tarjeta de red inalámbrica (Wireless)
PC Adapter
simulador PLCSim
33
Unidad 1- Entorno de programación TIA PORTAL
34
Recuerda • • •
Para poder establecer
una comunicación
entre el ordenador y el
PLC se deberá
seleccionar, mediante
le campo "Interfaz
PG/PC", la tarjeta de
red de nuestro
ordenador en donde
tenemos conectado el
cable de
comunicación con
el PLC.
Conexión con interfaz/subred: según el PLC utilizado y el tipo de interfaz PG/PC
indicamos el puerto de comunicación del PLC.
• Ejemplo del PLC S7 1214C.
1ípo de interfa,PGIPC: i'
:_;
L
;::i:
PN:
!IE
:==========;;;:l
lnterfaz PGIPC: lntel(R) Ethernet Connection I21 8-V
Fig.1.79
Al completar los campos anteriores se activará el botón Iniciar búsqueda y, al
pulsarlo, el sistema intentará buscar todos los dispositivos conectados al puerto
del ordenador seleccionado:
•
■
1rpedurU!.O
� dtd"fX»ilJ't/0 Ski� f'lpQ
Cl'U l,?,l,(_ACiO I XI PH,1f
°'1poutr•=C<m'P.t!b�1 1nl1 1ubn-d d1 1'u:anc
-��
lHpc11tn1e
"'-'-'
"'"
•n'o""Kten ce tt:.OCCfll"lt
Ci Sctn!'ll(lg ycoosulu d,.,lotn-,,IQ!'l col'Clt.ir<fos
Fig.1.80
º'"'"""
l9::1 1� 0 1
lUH:il.0.10
0,�t!6< dt, tt(HO -
A continuación, pulsamos sobre el botón Cargar, y tras finalizar el proceso de
carga aparece la siguiente ventana:
,•l
¡ 0iMOno tfff$6jl
ca • Plc_t Oper1ci6nde ttrg• fin1li=ad1 corr1tt11rr1n1e
► Arrenurm-6dulcs Arranc■rm6dulos tru c1rgar
Fig.1.81
Por último, se deberá pulsar el botón Finalizar para dar por acabado el proceso de
carga, tanto de la configuración de hardware como del programa generado en el
bloque OB1, así como también los símbolos de los operandos, señalar que esto es
posible tanto para la gama de S7-1200 como S7-1300, pero no así para los S7-300.
J
'
'
' Recuerda • • •
Cuando se está
realizando la
comunicación con el
simulador PLCSim, NO
funcionará la
comunicación con el
PLC físico.
Unidad 1- Entorno de programación TIA PORTAL
Ahora mediante las entradas físicas del PLC podemos ir activando o desactivando
las que correspondan para poder comprobar el funcionamiento del programa.
Para visualizar el estado del programa tan solo debemos pulsar sobre el icono de
Activar/desactivar observación.
· � �-º'
._,,,,_,.,..po,,_
a, Dw.,osGool yrffn
o,,�
...
- ...�-,.,. �t•
x "1 p i l! W II Q
1 _JI OO_lJUCiÜ>_,,.,,_.IO_CON1110L MANUIC.[0_
• UN10,1()_01 IO'U 111 .:ACIOClll:IJlt r,_
l'f '-'9na6n Ñ ..,,__
'j. 0ÑiM ydio9n6itJ«1
.,,;:·�=.=:=. ·=
t ,4 r•n1bln l'I.C. •
• o1,._.,......c
...,¡.�--··-·.......�.....,.............
' -Al ........,.. _,..
► ,,:;. truu
• o.-• P"4'• Ñpoo-o
� �utilodl>lpl09rl,...
 �IU Ñ W:i<tor
• -81 1.16doak>s lonll, Ci
• .J ouo, ,c,,r,,.,,.,
1 (c,,1,¡¡..,.ClÍ>f>df14«_,_
1 l:, w,....,., t-•
:.�....... .....
:..---y---� ..---....----! 1-----------<, }---◄
...
-�
�
...
•1m.,.�
l OAAHUT :
L---1 J.----.J
..,,
"H1_,,uor
>---------------{ >---
-,. .
Fig. 1.82
lct.lly ln�iltt>dA11tom.atlon
PO�TAL
Para desconectar la visualización online con el simulador PLC o PLCSIM, solo
tenemos que volver a pulsar sobre el icono Activar/desactivar observación.
Mediante simulador S7-PLCSIM
También, existe la posibilidad de realizar la comprobación del programa a través
del simulador S7-PLCSIM. Para ello bastará con tener seleccionado el PLC del
proyecto que contiene el programa a simular y seleccionar la opción Online -
Simulación - Iniciar:
. .....-..,�....."'
. . .....CHO< -
,,-
/l t••tiiK.. �JiiéwlotllN
11c-.-�.......
,,,.
..,,.
-�.,.,..
l--v1f---------------< >--
Fig. 1.83
O bien pulsar directamente sobre el icono Iniciar simulación:
Fig. 1.84
l .::?, luMft"11Clt
• � c-..i6ft
1 Contldfflpn,o,•-
l :::1:t 0pfn�11ofctJ IO,,.
. .... �plo=--""'J..,..ok
Establecer conexión online
35
Unidad 1 - Entorno de programación TIA PORTAL
lnterfezP(¡fPC:
36
Se deberá tener en cuenta que, si estamos trabajando con el simulador, no será
posible comunicar con un PLC externo conectado al ordenador. Es por ello que, al
iniciar el simulador, nos aparece el siguiente aviso:
Asignar dirección IP (0626 000002)
1 Al Iniciar la slmutadót1 se desactivan
■ todas las interfaces online restantes.
QNovotve,., mostrareue mens.!l¡e.
Fig. 1.85
Tras pulsar el botón Aceptar, y después de unos
segundos de espera, aparecerá el S7-PLCSIM que
tendrá el siguiente aspecto:
Fig. 1.86
�, - X
Unconl,gured PI.C [S'•H2001 �
SIEMENS
RUN
■ RUNISTOP
STOP
ERROR
■ MArNT MRES
X1
.:-Nmgún proyecto..,.
A continuación, el proceso avanzará y mostrará la siguiente pantalla:
A
■
TipodedÍ.'po'1ti-,o 5'°1.
CNJ1U4CM10_ 1 X1
rípode ,IIUl'Ntl'G/l'C; �
lnt¡!ffii¡l'(JF(:•
Fig. 1.87
-
192.16S.O.l
Subre:I
-;i�a
. "
.. t"
)
En ella se deberá seleccionar en el campo Interfaz PG/PC la opción PLCSIM S7-
1200/S7-1500, en la v13 y PLCSIM en la v14 de TIA Portal.
�Se-leccionar...
s.elecc1onar
. PLCS[M
• PLCSIM S7·1 200/S7·1 500
Fig. 1.88
H
Fig. 1.88a
Seleccionada la interfaz a utilizar, debemos de pulsar sobre el botón Iniciar
búsqueda para que se inicie la búsqueda del dispositivo hasta que se localice el
simulador correspondiente y se muestre en la zona Dispositivos compatibles en
la subred de destino:
Recuerda • • •
En el caso de realizar la
comunicación entre el
ordenador y el PLCSim,
se deberá seleccionar,
en el campo "Interfaz
PG/PC" la opción
"PLCSIM S7-l 200/S7-
1 500" para la v l 3 y
"PLCSIM" para la v1 4.
Unidad 1- Entorno de programación TIA PORTAL
JI
1
11
,._,_.,
T.,,,o .t,�,-� ,;i,,1
CPU ll14CAOO. 1 XI
,..,
-
íipode::::::
�
.
;;.i;:"'
•=
-=,
=
-,'"
.,,...
"""•
1--1
"'
soo
"""'"'"---h
. fül
. "
....
� Tipode dr¡po<gWO r
ipc
O'Ucommo,i Cl'U·, 200 'iin,111.itiot1 l'ff'lE
ITTl'l"7'.,6Cn de �doonhne
..
� �iMndo infofl'ldCIÓfldt! dl'ipo,;iavo'i
f,iiil <Sortn,nig yca�u� de infonr•ción o,nckiido�
Fig. 1.89
En este caso ha encontrado el simulador de 57-1200, para el caso del 57-1500,
tendríamos:
A
O<'ipo> wo
'"-'
Tip,oded�,a,,,o S�! TlllQ
au 1'516-J l'N'OP' 1 u ,mflaus
Cl"U 1S1S>·l l"HICP' 1 Xl l't�
C!'IJ 1'516·3 l'N'OP' 1 XZ l"Nrlf
191. 168:0.1
192.168.1.1
rip.) .:le in•erf.t¿ I'(.,;,( N'lf
irrttli4: �l'C ¡¡:;;:""""'
;¡¡¡¡¡...,..,..,._____-.:;
.. 'e !I �
Se�«10nudi'lpo11tiv<,de den,n.>
0np.x,n,,c Típ,, ,jed•1po...ii,o
. �
• ti
lnfol'fT'KllÍn de e��joonline D l.mttu'iolo "'e�11ei de e,rgr
z!l' ')e ha! <!uablectdol• cone<>Oncon tl d,;po;mvoque tiene la d1�cción 19:?.1 '5 1 1
0 8ú;q1,1eda in.iliad• 2 d,;po,¡,tll>Q'i 'º"'p,ttible1 UKOntradO'i de l Jn.pOUlf, Q'i ,1ae,ible1
.-Ji �copil.lndo llllorm,1cl0n de d•�pcxwv,x
ra SOnnll'SJ ycornuiq de 11>foITT1<1ctó11 c:onchúd,x
Fig. 1.89a
Ahora podemos pulsar el botón Cargar y esperar hasta que aparezca la siguiente
pantalla:
...,...,.
L..-t<> �•• op�,.,.....<1. 0,g•
Fig. 1.90
37
Unidad 1- Entorno de programación TIA PORTAL
38
Marcamos la casilla Sobreescribir todos, a continuación pulsamos el botón Cargar
y aparece la siguiente ventana:
sultados de la operación de carga
hado l Clfl.1ln0
'-
J, � • f'l.C_1
► Aaunnr me;du!0,s.
Mmi1.1e
Ope-rtción de nrg• 'Tn•li::ada correrumf'ntr
AIHnurwdos.
Anwnnrm6dulos. tras. urg1<r
l.....,1______cc.....
• _______.!11
Cancel11
Fig.1.91
Tras marcar la opción Arrancar todos, debemos accionar el botón Finalizar para
acabar con el proceso de carga del programa en el simulador.
• Simulador para los modelos S7-1200/S7-1500.
Una vez realizadas las operaciones de comunicación y carga del programa al
simulador S7-PLCSIM, este pasará a tener la siguiente vista, donde se observa la
asignación de la dirección IP del equipo:
�¡; Siemens
FLC_1 [CPU 1214C �CDC'l:;l �
fS!E!'!.I_E�S'.
(1) RUN
■ �UN/STOP
STOP
■ 6!ROR
■ MAINT MRES
Xl 192.168.0.1
-r.Nmgún proyec.10-..
Fig.1.92a
�� Siemens
r:i!E"!E�S'.
('.) RUN
■ �UN/STOP
STOP
ERROR
• !,Wtff MRES
Xl 192.168.0.1
X2 192.168.1 .1
�Ningún ptcryecto>
Fig.1.92b
A continuación, si desplegamos el simulador mediante el icono Cambiar a la vista
del proyecto que aparece en la esquina superior derecha, este se mostrará de la
siguiente forma:
Totally lntegrated Automation
• !! !]! ") ! (" , ' S7-PLCSIM V14
Fig.1.92c
'
'

'

'

'
'
'
l


'
l
1

'
1
'

1
1
Unidad 1- Entorno de programación TIA PORTAL
A continuación, creamos un nuevo proyecto para el simulador mediante el menú
Proyecto- Nuevo...:
NOl'l'bre jlf'O.¡'CCtO '"
UNI
_DAD
_
_.
_
,________
•
RIJ� C.-lkersYUSlEIDocu1T1ermtsimuletion �..
Correnario
Fig.1.92d
¾ úearido el Jll'oy@Cto.••
Cí'tllhl0 �1 p�,e::tQ.
C UU,t .::""'E:0-::,...�1'ts s,m ,. ��tUN!ClAll_01 J�OA0_01 1·111· �
!;p�,-
Fig.1.92e
Tras la espera de la creación del nuevo proyecto, aparece la ventana desimulación
con el árbol del proyecto preparado:
, .
Pro�cto Edic,6n fJeCUUH Opciones
i.S: � g Guardar proyecio A !, .
Nombre
. UNIDA0_01
► -i PlC_l (CPU 1214CAC/DC./Rfyt
labias SIM
a Secuentiu
Herram,enas
X
□
:¡¡¡
-�
l!!ll
' ,., ' ,.,
'
. J! .1 ") _ C"'
-
Totally lntegrated Automation
' 57-PLCSiM V 1 4
-./ ConC'Ct<!ldoco,i f'l(_l • lra,t"S-de- lad" 1111'1'
Fig.1.93a
Se ofrece la posibilidad de observar la configuración del hardware. Para ello
debemos desplegar la opción del PLC PLC_l (CPU 1214C AC/DC/Rly) y hacer un
doble clic sobre Configuración de dispositivos. En la zona de la derecha aparecerá
tanto el hardware como el listado de E/S analógicas y digitales con su
correspondiente símbolo asociado:
C�t,OCoCol Ce �"Jl'Cl-1
- ••w., s-..
- �)l( �ifYllll $114
• :a M<l,enau
,., ,_....gft_.,. HQ.♦"<:IJ
.a s.cu.__,
�--;,,._ •------
Fig.1.93b
Tot•tly lote,gr•te<! Aute,m•tion
S7-PLCSlt,• V14
,G 'SIJU,.S-'OOU)fl';-'IOº
_. 'WO U'
1:11 ·1:_M.S-OO�Ot:M404A'1' 'WOl't'
fJ ,r,--
....O.H·
""°•., tóld
'l1IIH:I' too!
....
...
""0001' ....,
"°°·'' !;:,al
39
Unidad 1- Entorno de programación TIA PORTAL
40
A través del listado de E/S podemos ir forzando elestado de las entradasdesde la
columna Observar/forzar valor y observar la reacción de las salidas en la columna.
Mediante la opción Tablas SIM - Tabla SIM_l podemos crear una tabla de
variables para poder forzar o visualizar su estado:
,,..,.
.l! .J "l · C'" • ■ n
Fig.1.94
3
Forwtoheren-eo,ie f
_ �tfflO
l!!il ✓ - "" • 1
Al desplegar el campo correspondiente a la columna Nombre aparece la lista de
variables declaradas en el PLC, en este caso, son las siguientes:
C Stemem C lhersYUSTEDocument�Sirnu!dt1onUNI0AD 01UNIDAD 01
Fig.1.95
J! :JI ''H ("! e ■ 11
ºS1_PULSADOR DE PAAOº
"52_PULSADOR OE w.RC....
'f2_PROTEC.OON '-«llOR _
ºK1M_WlORCINTAPALEr
'HO_AMARILLO"
"Hl_VERDE"
"H2_AZUl."
"H3_ROJO"
Si las situamos todas en la Tabla SIM_l, se visualiza su estado cuando la CPU se
encuentre en modo RUN. Para pasar a los modos STOP o RUN se utilizarán los
iconos Poner la CPU en STOP o Poner la CPU en RUN respectivamente:
' Stt...l'ICIU
f/,t,g�¡¡u- Htllffl<,_
I St-cw11<,._l
41 •,i_l"II0'1lCOONM0109tl'lrU1S":f'
-e ·tu,t.ucnoaon,,.fl'Al.tr
.. "t«I_III.WIIU.O.
-G ·tn_l[ll)l'
-o -�flU.:
.a l .H!_IIOJC'f
t.-
;::.�
�,:
-•:::JG[•�
·...
�·�
...�
.,:r¡
.;
...�
--
=�
·-=
· '
1
o,,«� kwn11111N<nS..--ÍO'> oi,_.
••,1w,...,,..io,
'IW0.11' loal fALSl
'W0.21' kol f,U(
Jool fJrl.S[
�1.t lool F,U[
-.Q:l.1 loOI FALS[
W2.2 too! F.lrUl
'IQ2.J tool FA.1.U
'"jw2 c [?) F""-Sl
Tot.ally lntegt.1tedAtilOf'Vlóiotion
S7•PLCSlr-.1 V14
f"oru, ,�..,.- f
8 fM.5[ O
E.3 out O
B o,m B
8 1.«Ul □
€3 fALSl 0
g ,,u, B
º'N.Sl g
8 FM..Sl 8
l!'!l ✓ ' ' 1
Fig. 1.96
'
'
'
'
1
'
'
'
'
1
' Recuerda • • •
' En el caso de realizar la
comunicación entre el
ordenador y el PLCSim,
' a través del propio
' simulador podemos
construir una tabla,
' "Tabla SIM_l ", que
' contenga los
elementos a observar.
1 Esta tabla nos permitirá
ir modificando el
' estado de esos
1 elementos para
observar la respuesta
1 del resto.
'
1
,,.---._
, ,
Unidad 1- Entorno de programación TIA PORTAL
Para controlar las variables debemos pulsar sobre el icono Activar/desactivar
forzado. A continuación, mediante la columna Bits, podemos ir activando o
desactivando las diferentes variables de la tabla y visualizar el estado de las salidas
que intervienen en este programa:
• , s«w_,
,,..,,....,.,_�.."""'""'
'-l s«w-_1
V,.1.7
, ....a.v '"'
....
·ut,u.c11Q11� ,1rilu' 'M!l.1 too!
"HO�o• �l.1 ttl'OI
.. 'H1_Vt:ll)f" 'lr,Ol.l tool
·oa_-'tl.lLº
.,q:., tooi
•;;,_-,io· 1io()?A too!
Fig.1.97
En este estado, a su vez, puede visualizar y monitorizar el propio diagrama de
contactos del programa introducido en el 0B1. Para ello, se deberá pulsar sobre
el icono Activar/desactivar observación:
0 0
• �JI'
,,......,.,..__
•�'"""'
, , IM_t;.,<1<19_.._..._(0J<W;)lM.,,Ulll.iO'
' !1 "'-'ltl'.I UIC:�
• · � •1•-1t
..�....,.,_
. Ooloot J,l,o........
. .........."",..,..... .
· --
·---.......,
. ...........,,u: •
• .... .. ..... "l(
, :-..,_ltl,lo, .. ._....,,....._.......
.........,.....
, ,., o,..... _.. ,___
----.........-
.lli l.ll•• ·-
tiO
--• . , ·•t.
'";.� ·,�� -==·
-i � �---·-r-
�..
...--.In
, <;t o.... .-
-�
� ·111
�
" <.1-------..·..········----1 ►--..
. �....""'.....
..........)_
..,.,......,,......
..-.....,...,....__
Fig.1.98a
fot•llyifttegr•INAu-­
PORTAl
,....,..,_...........
También en el simulador y desde la opción Secuencias podemos crear una
secuencia de los estados que queramos que tenga cada variable en un tiempo
determinado. Por ejemplo, vamos a crear una secuencia que muestre todas las
posibilidades de funcionamiento del programa. Para ello cada 5 segundos
realizaremos un cambio en el estado de alguna de las variables.
Configuraremos previamente el intervalo de tiempo, para lo que modificaremos el
campo Intervalo predeterminado. Desplegamos el icono del reloj lo ajustamos a 5 s:
.,, l' C L
,_ ......
11,.....,. 1--t o.oo
. . r=-1
º
¡'�"�� g ��
1Y eo,,-,.i,.ó6o11H1',.......
• ltWlo1SIM
,,,...,--..11-.sa,
,....-_,
• � J.ff-•
., .....,.,,_.,.a,.,._
l l•<.a__,
Fig.1.98b
....."°'"'lft- 0-00 _-j
....-....,� '--
41
Unidad 1- Entorno de programación TIA PORTAL
42
Recuerda • • •
Desde el propio PLCSim
podemos construir una
tabla en la que
configurar la
secuencia de
activación y
desactivación de los
componentes para
hacer que el
funcionamiento del
programa pueda ser
automático.
De esta forma, al ir introduciendo etapas, de forma automática cada nueva etapa
se situará con un retardo de Ss respecto a la anterior.
Se deberá completar las siguientes columnas y ajustar la acción a realizar en la
columna Parámetro de acción de la variable introducida, bien en la columna
Nombre o en la columna Dirección.
-
• :.J ut«IA0.01,.SIM Ci
• 4 1'1.C_1 !(JIUl21�AC.ll)(Jlt",I =a
• r,blu SIM
rll' "9�!ll•t -YI Ubll SIM
.:,.¡ 1-1>!. SIM_.I
.. r-
_. s«�nciu
rll' Agrf-gU l'IUf'llt HCWr>CÍI
1 StClltlKlt_l
'51_"-'lSAOOIIDf ,ANJ"-;t eool
10.00 'F1.1'1101tCOOtlMOiO/U'lilt$':f' 'lol) O,, tool
1S.00 'Sl.)'UlSAOORDf�";P' ...O..U lool
::0.00 ·s2_1'UUAOORotl>WCHA":f' 11¡,¡0.J:J' lool
2o.00 ºSt_f'VLSAOORDf ,.>II/Y1' 'IWO 1:1' lool
1S,OO "Sl.l'VU."OOaOE ,Nt0':1' ...:>.11' lool
30.00 "Sl.]'ULSAOOIIOE ..wotK:t Ml.21' loo!
3S.00 'S2.fUUM)()ftDf l.WIQIK;P' ,,,o �
40,00 ''2J'Jt:)tECCIONM010ll,,UlSº1' 'IWUl1'
0.00 "f2J'1101tCOOH MO'lt:i.,lill5":I' 'I.D.O:,
--tf sam
,'rfllu.u , vtlot
....,,u,, ,,.1o,
"'fll<tllrt vtlot
"'iu•u1 1 nlor
....¡.,,1ur, v11ot
A¡uu.1,1 valor
Aju1t1111vtlor
""""'''"'lor
...,.,UU I Vtlor
.-,U11.u, ...1or
Jle�llflHufl'l(.W
Tcit.tUy lnteg1oued Automatlon
S7-PLCSrM V14
-
""
'"''
fAI.SE
' "
� PlC,..)
"'1 ✓ " . .. ' . 1
Fig.1.99
Al pulsar el icono Repetir secuencia, se puede configurar como:
• Parar secuencia. al final de la secuencia programada se detiene su
funcionamiento.
• Repetir secuencia. al final de la secuencia programada se vuelve a repetir la
secuencia desde el principio.
Una vez completada la secuencia podemos visualizar tanto la Secuencia_l como
la Tabla SIM_l para examinar cómo van evolucionando el estado de las variables
en cada momento. Para ello, tan solo necesitamos accionar el icono Iniciar
secuencia e ir observando en el tiempo cómo va cambiando el estado de las
variables de forma automática:
• • 11
O.rtaión ¡ton)'l1:odtvm.tlíuci6n Obsffi..,fiom,rvllot
-0 ºS.l_l'UlSAOOADf ,Nll:J";/' 'IW0.1:f' eoot "!AIJf
-G ·s2.P'UI.SAOOAOE t.WOIA":f' !j ...0.2:, 8ool E] FALSf
-a ·n1-=in:cOON WtoA l'1'ril.!1'S";I' 'Wl.O:P Bool
-o "l(IM.IA'.llOAOtnA,mr 1,Ql.1 !<lcl
'41 "HO�U.0' Ml2-1 �el
'"' J¡ SfCUfl"Óel
fl "9rtg1rnut-vt stc�r,c;.
-0 "HI_VfROe"
-0 "H2flUL•
"Hlft)JO•
'W2.l eool
'll,Q2.3 Ice!
'11,QH
p) (> §-' {; � •I • U@ lnlfMlcp,..d"t.- c::I� ..!.) i •�dcs ➔ .._. .t
Tiempo °'1tctoón
1-+ '"'
SJio" •s1JUl5,'.l)OAOE f>KJ':P --¡¡"""°
M)_J·f
10,00 "Fl_!'ROiECOON tA:l"lOR PAl.f"l5-";1' 'WM;I'
U,00 '!.2Jl,llSIOOII.Df MI-IICHA"1' -..,0.2:t
20.00 'Sl_l'ULSAOOR Df ""'-IIIC>IA':t 'M0.21'
20,00 'St.MSH>OR OE ,AAO"f'
➔ n,oo 'st_l"VlSM>OAOf ,AAIIJ" ,
'Si_PULSADOADf ,,W>;QV,':f'
40,00 "fl_l'ROtECOONhCllOR,Al.�15':f'
is.DO 'f2J'AOlECOONMOlO� fAL.fl!iº
':f
.,,uC:f'
'1,13.Df
�f!IIO<O dt �ISUl'liuóón -A.<C!Ófl
!lu(:.., il'l"'�,!,1ttM'!l'l!t
�.,!Afust•t 1 wlor
l!cct ;,¡,,,1.1,1 ,elor
11!;,,ol ��su,1 -..10,
Oool
"'"'
'""'
11ju11.1,1 ·,1lor
�u,tar•v•lcr
"'u1:.,1 v1lor
1,¡....., . �-lo,
.-lf<n,.r• v•lor
A¡un1,1-nlor
AiUSUrt ,,_lor
Fig.1.
100
""'
'"''
'"''
'"''
•.,.
,.,.
'"''
..,,
TOUll!y lotegr.lled Automation
S7-PLCSIM Vl4
11e..,pcdtt¡tc
kmartCMl"ffitffllffile ,;
Q ,ALst E]
Ü FM..Sf 0
� FALSE 0
Q fALSf 0
[3 ,AUf f)
Q FALSE 8
Q fAL.SE 0
Q FAL.sE 0
Una flecha de color verde nos mostrará el paso de la secuencia que se está
ejecutando en cada momento. Igualmente podemos visualizar el funcionamiento
1

'
'
'
'
'
'
'
'
'
'
'
'
Recuerda • • •
Independientemente
que TIA Portal realice la
comunicación con el
PLC físico o mediante
el PLCSim, se puede
visualizar el
funcionamiento del
programa.
Unidad 1- Entorno de programación TIA PORTAL
del programa monitorizando el bloque 0B1 una vez hemos pulsado el icono
Activar/desactivar observación:
"'°)'ttto f&<. In •�• ,,.,ur.-, 0pc-, ,t�:.,i.a --.,,..O•
- � ª GIM-d"'po)'«10 � J( 1� X C') (Ir' :. ·'.'t. l! Ji & C___
• .JIÍ UNCW>_o, 1aiuu,..c.�
!f �•cobnNdl,poo,_
� 0,,..,. 1<1..,.....,.
• o, lkiqw, do p,og••'"'•
► '.41 011fo1<»••,,oi6go<os
, llf -.u,.,iw....,
• '
4<•ntblHl'l.C
,li M:•n•••10<k1lu �•n•blu
- �ff91•aoblo<k'ff"'°blu
::;(1u,1• M ,o,..l>lt1 t<tt'ldtrl$1I
-.10e100f6)
� SISllMi'. 11•
• lpof; d• d•toil'I.C
• .i,¡ 0.IOl "fl"Ol'rd•dÍlpM­
, .....,,,,uiw,�lp,�,_,..,
!¡ i.tnfflHIOI
• .J1 M&c11<10S l<K•le•
• .Jo.='°"'��·
. ................._
, • u-.;u. dl' ial)",.,..,.,,..,,..ust
• ....
IW>;�
1,10101.,M.nr
l �----�
,.,
'IC1MJ,Dl0l 1Ql4
�IW.ll"' "N)_II0.10"
i•>-------------------- . ►--...
Fig.1.101
1.2.7 Tabla de observación
UNO,O,D_OI IClll11'C�
..._ ■ IIJN,SlOP �
� J.'
l ;;s 1
;
< •
> Emomo
�
ma!!:,
v > Puntos de p,1,,ulao
:""';-,;;q��i.mMM
A veces necesitamos poder controlar/visualizar una gran cantidad de variables de
diferente tipo distribuidas por el programa. En estos casos se recomienda la
creación de una tabla de variables para posteriormente visualizarla online con el
PLC. Para ello debemos crear una tabla denominada de observación que
encontraremos dentro de la carpeta Tablas de observación y forzado permanente.
Arbol del proyecto [Ji ◄
Dispositivos
C) C)
• _J UNIDA0_01
_.i: 1,g�g1r dispos1tNo
� Dispos.itivos yre-d�s
.,. °Cm PI..C_1 [CPU 1214C ACIOCJRly!
Configur11ci6n de dispositivos
.i, Online ydi119n6n1co
► � Bloques de progr11m11
► Objetos tecnológicos
► 4!J Fuentes extemes
► � Variebles PI.C
► [s. Tipos de detos PlC
...,. �Tebles de obser,,,&ci6n yfer.a do permenente
► .,,.. Tr&ce-s
► Ql Detos de proxt de dispositivo
1.!!¡ lnfcrm1ci6n del progr11m1
.!J Listas de textos
► Qt Módulos locales
► � Oetos comune-s
► -� Configur11ci6n dl!.'I documento
► � Idiomas y rl!.'CU�OS
► !" Atcescs online
Fig. 1.102
g
Al hacer un doble clic en la opción Agregar tabla de observación, se genera una
tabla llamada con el nombre Tabla de observación_l, en la que incluiremos las
variables del proceso cuyo estado se quiere visualizar. Para ello no será necesario
volverlas a escribir una a una, sino que podemos seleccionarlas en la columna
Nombre y copiarlas en la misma columna Nombre de la tabla de observación, con
lo que conseguiremos el siguiente resultado:
43
Unidad 1- Entorno de programación TIA PORTAL
Fig.1.105
Fig.1.106
44
1 f'fii,tclO llltl:i641 Vl!t Nt,Ur o,,,¡,,_ �-1 �"'111-• Wi'lif,(11 �
.j' Q � �flll .:. X !!. X q .t P · -;• f!l .íi & Q. .)l � UWW111,1Mar.-.. .,
-.
�
��- �
O 0
.J!l:: .,, 'i!'� , ,. ,;,j.
.;
;
::-
, -
...
-
, -------------- ------1¡
• � UHIOM>�01 (QIIJ1)14(� -....:: I �
;.:.tM>OIIDf t 1•r.11 � =º"'"'�Voll0flh�i611 ::::� ::.::..!�°' ""'41<M lof-M<O ,
tt_..,............. 1 ·,v,u_,.__ ..., ...,_ -�-�.. --�� l.i
� 0NM r<l,.g!bl- 'tt.Jll>tl!C(IQN ..0100,<.tfJ'i' 'UUI ,-,,r,,,..,_ ,,_lf'l•MIMIII i
► :o l�• • PfOf""'" ·�1M.,Y)1011Cl'ttV....UT '-01 1 h,mm•tM "'"1ffl•- �
' ODl-1.>t � 1 1 ./10,AWIILJ.O' '1), 1 ,.._,..1111; ,.._,...,,.
1 if """"'°'t •-1 ""l�'lf:110(' '),Q.U IOOI. ,..IIUIWM,o ,.fftlllllnla
1 !:¡¡Vtlll�t"-C 'rtl,JIOJO• 'l,Ql.◄ IOQI. ,._11111'_. �ltttnN Íf
:..1:::.:i::�11A11yfrn_ ,.�-:===".':::=::::::::;;:¡:;¡;;m![::=::::==:==========:s=:==:!:!=l¡
t/ ...>tttt �t.1a o. A1>1,..,.d.
ti1 1lo... 6- liltali1 �1fNlll
-'f!.Ml,<ltoll1•r.•ti6n�I
••«...,. ....
1 ...�..
1 'a O.W1C O. pro,,y lU ,-po1"""°
!I IÑllf!Ol1(JM,.¡IM"'t'6m•
}!i on.11 01•-
• :. Mi)Cl!lllltl k>(f·•
• ..iD11<>1-1
1 �,.<oll,rO.ld<Klflll'!'IIO
, :-. _._, y..�llti
,T ,r . .-- .
Fig.1.103
Para visualizar el estado de las variables, en primer lugar se debe conectar online
con el PLC. Esto lo hacemos mediante el icono Observar todo con lo que
obtenemos el siguiente aspecto:
Oltpot,ltl"'°'
0 0 J!l:t .. 'i!'l!l!i),. >l, "' t!:l"t
.,, � j,g,y l�l.C:� Q •
lt c:w"811f.c,6f1 .. ...potlll,,os
!6. °"'""" rd.e�w.o
• • •�1 dep,ott1m• .,
. .. � •Clllli6tKPI
• <4l l'wf1Nll •-""1
• !;. v1r.1>1uPL e
• ..,111 � .. ÑIOll'U:
• � 1-t>111deOM•� r�•-
fll �ru,� k OIIS1�t.,6J
W, t1a a, ,a,,.11o,,_,..._
�bli1t ODlt1VUi6<..l
• :--. e•tbifolrilW
• - l'ln.u
• fa0.•"'"°"'"�"11M­
l!w,t;,¡p,1ti411CMl p109.aff>o
• �..,,•..,.úl�
1 -�
'11./IJA,.t/llOCla t,f" ......,.
'S)._JV.$¡1.:)()1D1!,WICW'
'tV'fll)1tCQOf,jl'.,nH,l,tltº
'tt1r.u,c1QIC1Ht,.l'IUT'
....,._...
,-....;_*""' VtlotH-ld6i �--a..-. ,-•on�- 11-at�• ti
'!D l IOOl. ■- l',ulM-
'fll0.2 ll lllllt ,..,,,,.,.._ "'"'""-IIOO 1M
llll'IIJf ,.,.,.,_ ,.,,__
'!IQU IIOOI. liil 11lJf ,_,...._ ,-....,..,_
't,Q� 1 tOQl :Li fN..Sf l'o-1"111,i,i,,- "'rm•-
'rll_WQ' 'loOU ■.,.._. l't11'11Jfll.,_ l'o-1"'1,..flM
'---"
'"'
=
JQ#
=..----7:
-
=-.=c....,
_
_,
Gl f-..�l "'""',_"" ,-,.....no,_
• ll ld-•IJ' Nl<""OI
• ,w .-.:u-:otonloN
, .. Ui:1Qrllt1&fje!ulm•m®III
,f ¡,
Fig.1.104
En elcaso de noaparecer la columna de Valor de forzado, se deberá actuar sobre
el siguiente icono:
Mostrar u ocultar todas las columnas de forzado.
Ahora hay que ir escribiendo sobre lacolumna Valor de forzadoun 1 o un O según
se desee activar o desactivar esa variable y, a continuación, pulsar sobre el icono:
1
Forzado de la variable o las variables durante un ciclo de sean. Por tanto, si
la variable se encuentra bajo control del programa, solamente se
visualizará el cambio durante un ciclo de sean.
Si se desea realizar un forzado permanente de la variable para que en cada ciclo
de sean se esté forzando, debemos actuar sobre el siguiente icono para poder
elegir una de las opciones que ofrece la columna Forzar con disparador:
'
)
Fig.1.
107
Fig.1.
109
Recuerda •
Otra forma de
controlar el estado de
las variables del
programa es mediante
una "Tabla de
observación".
Podemos configurar
esta tabla con las
variables de programa
y activarlas o
desactivarlas en
cualquier momento.
Unidad 1- Entorno de programación TIA PORTAL
Muestra u oculta todas las columnas del
modo avanzado. Previamente se tiene
que hacer aparecer la columna de Valor
de forzado. En este caso:
Permanente
Inicio del ciclo, permanente
Inicio del ciclo, único
Fin del ciclo, permanente
Fin del ciclo, único
Tra nsición a STOP, perma nente
Tra nsición a STOP, única
Fig.1.108
Fuerza las variables indicadas según la selección de la columna Forzar con
disparador.
• Jl -.••ttN11•.o:�
·�•-.­
ll, .,..., ,..pl!Mu
..................
· •�..........-
,,.__,
. . ......lllt,1.-;
. .. ..... ..-11.(.
- :..'""'......__,_
.,....,.._....._
g,.,...,.,......,..,..._
-�--�·
. ..........�
. �-
· i::::....
":i=:.-
ia lnl•H--
, ..-.......
, ·,tll-..RP-..-.
. �--"---•
...........�-
. .. ....t.,......,
. ...............,....._.
"'°' ' -
..... -
..,.,
..,.
Fig.1.
110
1.2.8 Documentación de progra mas
Es conveniente y necesario que todos los programas estén documentados, ya que
en el momento de realizarlos el conocimiento que se tiene de ellos es máximo,
pero con el paso del tiempo ese conocimiento se va perdiendo. En cualquier
momento se puede tener la necesidad de modificar un programa o buscar averías
o errores, y es aquí cuando la documentación de un programa desempeña un
papel determinante para una rápida localización de las mismas.
Para la documentación de unprograma ya hemos hablado de los símbolos, que es la
mínima información que todo programa debe incluir, pero también es conveniente
poder añadir comentarios más o menos extensos a lo largo del programa. Vamos a
indicar las posibilidades de documentación mediante un breve ejemplo.
97
F'2 �
98
KII.I
13
14
FI
XI
KII.I
X2
MI
Fig.1.
111
45
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
Para poder tener mejor
documentado el
programa, dentro de
la "Tabla de símbolos"
podemos añadir en la
columna "Comentario"
una frase que aporte
más información sobre
el elemento.
46
Queremos hacer un programa que corresponde a la puesta en marcha de un
motor trifásico controlado por paro y marcha y protegido con relé térmico
documentando las entradas, las salidas, los segmentos y el título del bloque.
• Documentación basada en los símbolos de las variables.
En la ventana correspondiente al Árbol del
proyecto y dentro del PLC, desplegamos la carpeta
Variables PLC, y dentro de ella hacemos un doble
clic sobre Tabla de variables estándar. Se abrirá la
tabla de asignación de símbolos a las variables
utilizadas en el programa.
Dispositivos
'1 0 0
• ¡_J UNIO....O_Ol
a,,Agreg•r disposmvo
• O�pot�yrtdn
"" � Pl�l [CPJ 1ll4CAC11)Cffúy!
IJ't COnfígur•ción d, dispo1ÍO',cs
.Yt, Online)'diagn6nico
► � Bloqu,1 d, progr1rm1
► � ObJ,toi «c�ko,
► 4!!t fv,ntet ll!Xtl!fflaS
• r.. v111n.bksPI.C
4li Moscr•rtodn las v•.-..bl'ts
".ibl• de ,,9fWbles u�nd,H {<l6J
► .t Tipos d,e d11tot PlC
► ';¡¡¡ rablas de obnrv1ciónyfor3do �rm,mma
► r 11111,ku¡H onkn,
► � rtac,s
► [iii, ouo5 d, proxyd, dispositivo
l!!:¡ lnbRT'l(ión del progr.r"I
,§) tinas de �xt0.s
► 'a Módulo, louiles
► ';.i Dato, <omunn
Fig.1.112
Los nombres simbólicos, así como el comentario que se asignen a estas variables,
se utilizarán en todos los bloques donde se programen esas variables.
NIOAO 01 ► UNIUAD 01 ((PU 1J14( AOIJ(JRlyJ • /,111<1ble-. PI( • labl<1 de vilr1.1ble-. e-.t.1ndd1 [51J - I! ■ X
o Variables !!l Constante'> de usu.irlo Constantes de '>isten"1
t--------------------�
$ - - .ix
hbla de variables estándar
t1ombre Trpo de d1tos
o 'S'l_l"VLSN:)OAOE 1NIO '"°'
-o SZJ'UlS-'-DOROE MW)tA '"°'
-o FZ_f"AO?!COON UOlOA P'JIUTS ....
K1"'4...M::>lOROMTAP'IUT ...,
110.fl,WIUO ....
H1_Vl:ROI: '"°'
-
Oir�W)n
""'·'
..,_,
'M3.0
'Wl.1
1',02 1
..,,_,
"""
��a• lkib(o! en HMI Acc�d�eHMI comitnt,rio
r � t'Ub•dor de r.ra. Contaao NC
� � l"Utudord04Jrdu COni.t«o NO
� � OIS�IOfffll9�totitlfflKO fflOWf"(fflt Uln,porw de p•lets
B Woeor cinll JMleu
f"1 � � Not0 de 1eñ1lt3ción 1m1nllo
� 0 riloto de ieñab�ttrde
-� -�-- -
-'--'-'--
"--'-
"
'---
..'---'
"'
'---
"'"
�
·""
'--------..-,--1-
Fig.1.113
Al utilizar estas variables en el programa, se pueden visualizar tanto la dirección
absoluta como la simbólica, así como los comentarios. Para que esto suceda,
debemos hacerlo visibles mediante los siguientes iconos:
� Simbólica y ab,oluta
Simbólica
:tll Absoluta
Icono Operandos absolutos/simbólicos
Fig.1.114
� .3 � � � � �J � '= "'s 4
9.
� �
� Ocultar información de la variable
� Mostrar información de la variable
4 1nfonnación de la varia ble con comenta rios jerárquicos
Fig.1.
115
Icono Muestra información sobre
la variable
Si establecemos la configuración para que aparezca toda la información referente
a cada operando, podemos visualizar por ejemplo la siguiente:
'
'
'
"
'
1
'
1
Fig. 1.117
Recuerda • • •
Dentro del editor del
programa podemos
añadir información,
bien una única frase o
un comentario más
completo, tanto al
inicio del bloque como
en cada segmento.
Unidad 1- Entorno de programación TIA PORTAL
Segmento 1 : Contactar para el contro
_
l
_
d•
_
l
_
m
_
ot
_
or
________��- -�
'M0.1
"S1 PULSADOR
ÓE PARO"
'M0.2
"S2 PULSADOR
DE MAACHA"
'1130
·n_
PROTECOON
r-.«:>lOR PALETS"
'IQ1 .1
"K1 M_M010R
CINTA PAL.Eí
'IQ1�
1
M010R
A PALEr
• "F2_PR01ECCION MOlOR PALETS" 111 3.0
"K1 M_M010R CINTA PALEr Q .1
"S1_PULSADOR DE PARO" .iG.I
"S2_PULSADOR DE MARCHA" ""'°-2
Ois)'Untor magnetotermico motor cinta tra ns...
Motor cinta palets
Pulsador de Paro. Conta cto NC
Pulsador de Marcha. Contacto NO
Fig. 1.116
Como podemos observar y a diferencia de la lógica cableada, el contacto de
protección del motor, 13.0, está cableado con un contacto NC y situado antes del
pulsador de paro con el objetivo de cortar tensión en todo el circuito. En el caso
de lógica programada, el contacto no tiene por qué estar situado en esa misma
posición para que realice el mismo efecto.
• Documentación basada en comentarios del bloque y del segmento.
Para poder documentar el segmento debemos tenerlo visualizado y para ello
hemos de actuar sobre el icono:
·- Activar/desactivar comentarios del segmento
Podemos documentar el programa realizado en un bloque concreto añadiendo
un comentario general y, para cada uno de los segmentos, incluir un comentario
más específico. Por ejemplo:
Comentarios al bloque:
..., Título del bloque: CONlROL DE UN MO10R 1RIFÁSICO
,.. Bloque para el control a utomático de un motor media nte una botonera Pa ro-Ma rcha, protegido por
relétérmico y con pilotos d e seña limci6n d e los difor"ntes esta dos del proceso como son:
· Pa ro.
- Ma rcha .
- Ave ria por disparo de relé térmico.
Fig. 1.118
Comentarios al segmento:
Segmento 1 : Contac:tor para el control del motor
"' Control mediante un pulsedor de pero yotro de marche de un contector que activará un motor que
está protegido con un rel!' térmico.
'710.1
"Sl_PULSADOR
DE PARO•
'710.2
"s2_pULSADOR
OE �HA"
'1113.0
•F2_
PROTECCION
M010R PALE1S"
'IQ1 1
'"l<l M MOIDR
CINTAPALET"
'IQ1�
1
M_M010R
'A PALET"
... "F2_PROlECCION wmR PAt..Els· ,.O
•K1 M_t.«:HOR CINTA PAt..El• Q 1
05l_PULSADOR DE PARO• .I0.1
·s2_PULSADOR DE WRcHA• t 7
Disyuntor magnetotermico motor cinta trans...
Motor cinte pa leu
Pulsador de Pa ro. Conta cto NC
Pu1:sador de Mltrcha. Conn1cto NO
Fig. 1.119
47
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
También existe la
posibilidad de
descargar en el
ordenador el
programa contenido
en un CPU, de forma
que lo podamos
visualizar en TIA Portal.
48
1.2.9 Descarga de un programa del PLC
Se nos puede presentar el caso en el que tengamos la necesidad de descargar
tanto el programa como la configuración de hardware, así como los comentarios
que hay en la memoria de la CPU para poderlo visualizar en nuestro ordenador.
Para ello habrá que seguir los siguientes pasos:
• Bien desde un nuevo proyecto o de uno actual, seleccionamos el nombre del
proyecto dentro de Árbol del proyecto. Después elegimos la opción del menú
Online- Carga del dispositivo como estación nueva (hardware y software).
lw)K II> (dw;IÓI V.f .,<foto• ,,.,.._,,tu W<lltM
¿i lj �
J/ lit1blKu CD111--6fl onlint
,c-..........�•-61
i1 ... ..,
IJ:�lfE
'°e
"::=:=:j
.,
��.-.:��,.�... ,..�
. ...�tdispoollrl,o 'i>')',.lrw1r,xo,¡""'-' "-Cei �I N
4. DPf'O'•- )'...• .11 p1 ,...... .. .,,...i,o t11 1f M1111<,t, C.t,,1
: j�!:..::«: a. •61 _, ,.. ..�, N au,,.,.1'61
► � C�1lJ6nffld<a<. IJ Le. �• •.._�,.•,o .:1·
• �
,) ldiOtl'IU)'l'K..tSOS M@H!it)(I
' •"'""··�
► lf l.Kl<lf d� U!Ji9U...,,_,,,_ Na-"""""-Ñ dilpot:-- 1M
> Vlstadetl.lladil
&, 0tspo1... 1uuiblH
, . ,., ,., 'IJ
., ,,,:,._
e!. ..., ..�
f il&
Fig. 1.120
• Seleccionamos el tipo de protocolo en Tipo de interfaz PG/PC y el puerto de
comunicación del ordenador en Interfaz PG/PC, y a continuación pulsar el
botón Iniciar búsqueda.
Cargar dispositivo en PG/PC
1ipo deimerfazPG!PC: 1,:;'-
::;;
PN/1
::::::::E=========�
ln�rfezPGf?C.: lntel{R) Ethernet Connection I21 8-V
Dispo!.itivos accei;ibles de la interfanelMcionada:
Ois ositivo
s7_1200
Información deestado online·
;;? Recopilando información de dispositivos._
� Sc:enning ycon�ulta d� información conduido�.
OMostrersolo menseje:� de error
Fig. 1.121
s
§
'8ncelar
Una vez localizada la CPU conectada en ese puerto, pulsamos el botón Cargar.
Finalizada la operación observamos cómo nuestro proyecto contiene tanto el
hardware como el programa, así como todos los símbolos y comentarios.
_,,
Recuerda • • •
El simulador 3D se
utilizará cómo un
recurso de ayuda para
poder visualizar de
forma más real el
funcionamiento de los
diferentes programas.
► o IUoqu.o d• 1""'9'•"'•
► :4 0b,eiostunol6tKc1
► • fWfllill ,,umn
► ::;. v.,...1r,1e, .....c
► í,po1 de deu..1'1.(
• .,. T1bll1 dt obnr.Kt6ny
W Ai<•t.,•bltffob1-
� 1-bl.o d, 1o,,.c1o,-,
� r.blo de obu"""ci61!..
► lhclu,ps ol'lllne
1 __. Tr1tu
l � 0.101 dt ,........dtt drcp11 _
lnlomita6nHl p,09,1""'
A! Wta• de w•�
l ..fll M6ch.lollo<.1le1
Unidad 1- Entorno de programación TIA PORTAL
'9" Tluto !Hl bk)que: CON'!IIOlOf UH !,CfnJaWASICO
... 11oquc�,. tlconvol11Mn1i1M:o ff un mo10< "'"ilnce ..,.. 11o1,one,1 ,-_ldwo,pn,tt9'6opo,­
'.��oycon pílolo1 6' H"-bci6ndttloi difet'fn1iu e111t61Kdd p,ou1owmo10fl
......
. ,w.,,. pordn¡Nto H ,.W �o
Tot.lllyln1e9r.ited Au1om1tlon
' PORTAL
- '"''-"'"' "''"=••·"-""""'-
-
--------
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
-
_
�
�
Fig.1.122
1.3 Funcionamiento con proceso 3D
A continuación, podemos comprobar el funcionamiento que nos ha servido para ir
explicando alguna de las posibilidades que ofrece TIA Portal mediante el simulador
3D. En primer lugar, realizaremos una descripción general del proceso automatizado
sobre el que se podrán simular todos los ejercicios planteados de este libro.
Básicamente, este proceso está dividido en diferentes zonas:
• Baliza de señalización. Formada por cuatro pilotos (rojo, amarillo, verde
y azul) y encargada de mostrar los diferentes estados del proceso, como
paro, marcha, aviso, avería, ...
• Cinta de transporte de piezas. Formada por una cinta transportadora
para trasladar las piezas y ser tratadas en el proceso, así como de un par
de cilindros para ir deteniéndolas y posteriormente dejándola pasar una
a una a la siguiente estación de carga. Para detectar que la pieza ha
alcanzado esta posición se dispone de un sensor de presencia de pieza.
• Manipulador de grabado. Formado por dos ejes que, mediante
diferentes cilindros, en el que uno de ellos es multiposicional, realizamos
la operación de marcado sobre la pieza. El cilindro multiposicional está
formado por dos cilindros de diferente carrera unidos por su culata
posterior. Con ello, conseguimos que el cilindro de marcado pueda
alcanzar cuatro posiciones diferentes.
• Manipulador de carga. Formado por dos ejes controlados por sendos
cilindros, además de una ventosa para la sujeción de la pieza cuando se
realice el posterior traslado a la cinta de transporte de palets portapiezas.
• Cinta de transporte de palets porta piezas. Formado por una cinta
transportadora que traslada los palets porta piezas hasta la posición de
descarga de la pieza que realizará el manipulador de carga, esta posición
de descarga será detectada por un sensor de proximidad para realizar la
orden de parada del palet porta piezas. Una vez cargada la pieza el palet
porta pieza podrá seguir su camino hacia la próxima estación (no tratada)
mediante la propia cinta de transporte.
49
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
Este simulador 3D está
formado por diferentes
elementos de mando,
protección,
visualización y de
actuación,
básicamente eléctricos
y electroneumáticos.
50
A continuación, se muestra las diferentes partes del proceso del simulador 3D:
Fig.1.
123
A continuación, se muestran las conexiones tanto eléctricas como neumáticas
que intervienen en el proceso:
• Manipulador de carga:
L::,
• Manipulador de grabado:
•
QO.O Q l . O
Fig.1.
124
1 1 . 3 1 1 . 2 1 1 . 0 1 1 . 1
'N
��+-'+'
Q 0 . 6 ��-'-++"-
� --l---------------+---
r � Fig.1.125
1 2 . 0
-f;,<•v;/4
1;13
1 1 . 5
'
Recuerda • • •
Es importante elegir en
las direcciones de
entrada y salida la
opción "Ninguno" en
los campos "Bloque de
organización" y
"Memoria imagen de
proceso" para poder
establecer
comunicación entre el
PLCSim y el Simulador
3D.
Unidad 1- Entorno de programación TIA PORTAL
• Topes:
Está formado por un conjunto de dos cilindros con un funcionamiento inverso,
es decir, que cuando uno se encuentra en reposo el otro se encuentra en
avance y a la inversa. Cuando en adelante hablemos de activar le cilindro tope,
nos referiremos al cilindro indicado como "Referencia Tope" que es el que se
encuentra en reposo inicialmente, esto es, si indicamos "Sale tope", quiere
decir que el cilindro marcado como "Referencia tope" realizará el movimiento
para alcanzar la posición de avance, mientras que el otro, realizará de forma
simultánea el movimiento para alcanzar la posición de reposo.
3
Fig. 1.126
111----
· -
1 2 . 1 1 2 . 2
Referencia Tope,;_,f____,
• Cintas transportadoras de piezas y de palets porta piezas:
�10------...----+---­
�10----+-,.---+----
.,. ' . '
Fig. 1.127
�-lt-
1
-
, ,l.
02 �
�
' . .
Fig. 1.128
1.3.1 Procedimiento para la simulación de un programa
A continuación, enumeramos los pasos a realizar para poder poner en
funcionamiento una máquina virtual en comunicación con el simulador de TIA
Portal, PLC Sim para S7-1200/1500.
• Realizar un proyecto en TIA Portal.
El proyecto de TIA Portal lo debemos iniciar con la configuración del hardware en
donde debemos añadir las tarjetas de entradas y salidas necesarias para poder
conectar todos los dispositivos del simulador 3D, en este caso, para el S7-1200,
necesitamos los siguientes bytes:
51
Unidad 1- Entorno de programación TIA PORTAL
52
Entradas: IBO - IB1 - IB2 - IB3 - IB4 - IB5
Salidas: QBO - QBl - QB2 - QB3 - QB4 - QBS
Para ello configuramos un hardware formado por:
CPU 1214C AC/DC/Rly: con 14 entradas (IBO - IB1) y 10 salidas (QBO - QBl).
DI 16x24VDC: módulo de 16 entradas (IB2 - IB3).
DI 16x24VDC: módulo de 16 entradas (IB4 - IB5).
DQ16 x 24V DC: módulo de 16 salidas (QB2 - QB3).
DQ16 x 24V DC: módulo de 16 salidas (QB4 - QBS).
Por tanto, el hardware configurado deberá quedar de la siguiente forma:
• .J-..01
.,...,.._
·��...
• ..lli �H((P,,lln,ot�
......._
11(1,6,,o-,..,..••
..........,........
·��.........
, w,-�.
·•-"e:
, ,-5,._..._..,
, ..;.____,.....,
' -" llo,
..........,
, :::;i........
··---•..-
1!(--...••·,._..
M ,,._.,_
...-.........
• r�•-­
, ....._,,..._
► i.jllluu•..,.,..
, .; 1...••-------
, ,__...-,in
....._..
-·•-1-!I
IDdr-
• .,
t .00,�-
, (__,, ..,. MO
·--·.........
-
....
'-'ll"-....--
1'-
, .,,
,..
-
��
-
....,..,----'-l
' �;:::;:-,·�-- "
-t- ·-
Fig. 1.129
•
, _.oi__ r
• 4QI�
!
:::::= ¡:
• JIDOT.....•lo(l(
!IIMn:n.:1,1--.0
■MJ.Jl?>•�
. ..PQ,__,.
, ,..OQ__,
., > · w..,_'61,.
¡
En donde se debe seleccionar Ninguno en la opción de configuración Bloque de
organización" y Memoria imagen de proceso, tanto para la CPU como para los
módulos de E/S.
Para el caso del S7-1500 necesitamos una configuración de hardware formada por:
CPU 1512C-1PN: con 32 entradas (IBO - IB1 - IB2 - IB3) y 32 salidas (QBO ­
QBl - QB2 - QB3).
DI 16/DQ 16x24VDC: módulo de 16 entradas (IB4 - IB5) y 16 salidas (QB4 - QBS).
• J _,.
...........,_
·""---
,. ,,a llU..1 )U'U�t)( I MI
11(;....,...,. �
�-,.........
:r---
.�..................
, ...c,._--..­
• tilU.-•-.
._,__
, ;.¡ _..,.,,t("
• ..,_.,_,u
........-....,........
• UII-.....-
, ,__
·�--....,...__
!!t ...._._.-t....,._
"..J� ,........ -'"lt.
111 •-•-A -ftl
• !a-�
..................-
·--·-
• e,..,...._...,__
, lf_o;,.....·-
; •""-"..-
Fig. 1.129a
Recuerda • • •
Es importante introducir
en el bloque de
programa 0B30 los tres
segmentos indicados
en las figuras, ya que
se trata de la configu­
ración para que el
programa cargado en
el PLCSim establezca
comunicación con el
Simulador 3D.
Unidad 1- Entorno de programación TIA PORTAL
• Introducir programa en el bloque deorganización Cyclic interrupt (OB 30).
Para una correcta conexión entre el simulador 3D y el simulador de TIA Portal
PLCSim es necesario que en el bloque de programa llamado Cyclic interrupt, que
corresponde con el OB30, se introduzca el siguiente programa:
• Sagmento 1 : CQWNK"
XlÓN OE PlC SIMCON EL SIMJt.AOOR 30 PAAALJ.S ENTIW)AS
"°""
MOV!e
1------ eN - ---------- EN -
'IM07600 "UDO 'JMD7604 WM
·c:o0tr
..o_r2· - IN u oun1-- ·eNTAADAS·z_PLC"
"'º""
MOV!e
EN ­ ----------- EN -
"J'M07800
IN U oun � °COOIGO_Q1·
• Segmento 3: r
.ot..,tJNICAOÓN oe PlCsrua:mEl SIWI.AOOli.30 '"""LAS t
.,,'W'"
,.Xi
MOV!e
E N ­
IN
<> oun
----------- E N -
1MW:IOOO
'"CODIGO_t.n•
16t;4739 - IN 'IMW-002
� oun � ·OlOIC"
.ia_wr
Fig.1.130a
Fig.1.130b
Fig.1.130c
Las diferentes palabras de marcas, entradas y salidas utilizados para la carga de
unos valores no podrán ser utilizadas en el programa, ya que ocasionaría una
modificación en los valores cargados desde el OB30 y provocaría la pérdida de
comunicación entre el simulador 3D y el simulador de TIA Portal PLCSim.
• Introducir programa para el control del proceso.
Por ejemplo, en el OB1, introducimos el programa del control del motor de la cinta
que transporta los palets con indicación mediante los pilotos de señalización del
estado actual del proceso, que sería el siguiente:
,.,.2
·s2_P1J1.s-,,¡
oe �·
'la.O
..._
PROTECOON
lolJlORP.ALEl";"
'IQl.1
·ow lillRlR
am.-PM.Er
,-..........
Fig.1.131a
'IQll
�wr
�=
---------------------i
��-
, l------< Fig.1.131b
'IQ1 .1
_1,1)11)1¡
ONTA PN.EI"
'IQU
..Hl _VEA>E
"'
1--------------------1 l------< Fig.1.131c
53
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
Antes de arrancar la
aplicación del
Simulador 3D,
debemos asegurarnos
de que el PLC ha
pasado del estado
STOP a RUN
54
• Segmento 4: Piloto de seña li::eción estado de proceso en atería por disparo del disyuntor
'113.0
•F2_
PROTECCION
MOTOR PALETS•
'JQ2.1
"HO_AMARILLO•
)-------, Fig.1.
131d
• Iniciar la aplicación del simulador de TIA Portal PLCSim.
Teniendo seleccionado el PLC en el Árbol del proyecto, iniciamos el simulador
PLCSim desde TIA Portal a través de la opción Online - Simulación - Iniciar, o
también mediante el icono dispuesto en la barra de menús llamado Iniciar
simulación, siguiendo los mismos pasos indicados en el punto 1.2.6 dentro del
apartado Mediante PLCSim.
IMPORTANTE: Una vez finalizada la carga del hardware y el programa, y antes de
continuar, hemos de pasar el PLCSim al modo de funcionamiento STOP y
seguidamente dejarlo en modo RUN.
• Conexión del PLCSim con el simulador 3D.
Iniciamos el simulador 3D, en ese momento se visualizará el proceso que contiene
el simulador así como diferentes botones habilitados en el panel principal.
Aotómtt.sptogtam&ble-s SIEMENS.Gr.r«t yG1.111 � conT1A Portal
_______,
M.a,uJede c�scontrucolores
Vml Opdo,m CMMtl
Fig.1.
132
Este simulador 3D se puede girar en todos los sentidos. Si fijamos el ratón en un
punto y lo giramos en cualquier sentido, se podrán obtener múltiples vistas del
proceso simulado. También se podrá realizar zoom para acercar o alejar el
proceso si fijamos en un punto el ratón y desplazando la rueda hacia adelante,
alejar o zoom (-) y hacia atrás, acercar o zoom (+).
En la parte inferior del simulador 3D están situados una serie de selectores y
pulsadores con diferente funcionalidad, como es el selector 0-1 de la izquierda,
éste se utilizará para reiniciar todos los actuadores que intervienen en el proceso
colocándolos en su posición de reposo y haciendo que las piezas se sitúen,
Recuerda • • •
El selector "0-1 " situado
en la parte inferior
izquierda del Simulador
3D, se debe utilizar
para poder poner el
proceso simulado en
sus condiciones de
inicio, tal cual aparece
al arrancarlo.
También es útil
cuando, por causas
justificadas, como
puede ser un
incorrecto
planteamiento del
programa, o
injustificadas, "cosas
de la informática", el
Simulador 3D pueda
quedar en un estado
no deseado, o bien
porque realiza
acciones anormales.
Unidad 1- Entorno de programación TIA PORTAL
también, en su posición inicial. Para ello en primer lugar debemos pasar el modo
de funcionamiento del PLC Sim de STOP a RUN.
También en ese mismo panel inferior localizamos tres pulsadores que tienen la
siguiente funcionalidad:
PONER PIEZA : Si no existe pieza en la posición de recogida por parte de la ventosa
del manipulador de carga, entonces aparecerá una nueva pieza, podemos realizar
hasta un máximo de cuatro cargas de piezas. Este pulsador puede ser utilizado en
el caso de realizar programas para el estudio de forma individual del manipulador
de carga. En el caso de que se hayan agotado las cuatro piezas, entonces debemos
accionar el pulsador Inicializa, disponiendo de nuevo de otras cuatro piezas.
TOPE FINAL CINTA: Si se desea realizar programas para el estudio de forma
individual del manipulador de grabado, podemos activar este botón, con ello se
consigue que cuando las piezas alcancen la posición final de la cinta, esas mismas
piezas desaparezcan del proceso. Si este botón se encuentra activado se indicará
de color rojo observando además como la pieza que hace de tope al final de la
cinta de piezas desaparece, si por el contrario se encuentra desactivado se
visualizará el botón de color verde y el tope del final de la cinta aparece. En el caso
de quedarse vacía la cinta transportadora de entrada de piezas al proceso se
deberá accionar el pulsador Inicializa, cargando de nuevo la cinta de piezas.
CARGA: Simula la acción de retirar manualmente la pieza cuando ésta se
encuentra en la posición de carga para ser recogida por la ventosa.
MARCADO: Simula la acción de retirar manualmente la pieza cuando ésta se
encuentra en la posición de marcado en el manipulador de grabado.
Los otros tres pulsadores con las indicaciones de SELLADO VERDE, SELLADO
AMARILLA y SELLADO ROJO están asociados a diferentes entradas del PLC, para
en el caso de querer realizar programas y poder seleccionar en cada momento el
color del sellado de cada una de las piezas a procesar.
Si la comunicación con el PLCSim es correcta, mediante una Tabla de observación
se observarán las diferentes entradas/salidas indicando su estado actual.
• ,Ji UNIO,ll()_Ol !Cl'U ll1olC� g ...
IN �••o6nffc1topos­
� o,,1,,e y 1Nfn6olico
• e: e....,_, ,..,.,....,...
• -- �- IK........OI
,.,,.,.,,..__,
, :¡.v....t., I.C
• � ff da111t!C
• ';_ -_1111, IN al,u,...ati,,yb,.d
-.. �IIOW.ff <:41.-.oti6r
�llW. ft lo,a6o pe,mu,e,....
- 1abl& M ob>tMo6rl._1
• _ ..,b,p, �
• .:,, .-.o,
• .ii, O.IOl d<r p,o,rclt ..po1-
.lq int;,.,,,,o<l6fld•IPf'l9'0"'0
J,
. w1ufei.-
, _. ....... ,.,ui.1
• j;¡ ou01«1"'""''
• C Conlfv'-.OO>lllel doel,,n.....,
• .lo) ....,,.,uy l'f<"�
�l.l'I.UJOOIIDr ,JIIO'
"S2..J',UJ001101 t.NQIA'
·,�.�� ,,ru'IS·
·1t1io,l:)10� o,ro., ,1Ur
"HI)�·
"HI.Wlll
:>f°
.....,.,.,.
__....,.__ y.ic,,4-ot,-.,,o6'1 aa-... ..... .._ '-«w>•�..- ob'de lor
..do �
WO.I toOI. ■ -.Jt: ,...,,.._
Mil -;-- ¡;¡¡ ,,..se G ,.......,_
- •=
'1,01 1 tOOl ■ Wut
'02 1 [il fAI..SI
- ·-
'11,Ql.• 900. ¡;;;¡ ,.._$[
......
> Vls�O.t.tli.d.l �� '"i..1ntormKl6n II Ji oi.onóJtko
-:¡ ...9....,.o1 .,,;J. rew. 111._
Fig.1.
133
55
Unidad 1- Entorno de programación TIA PORTAL
56
• Comprobar el funcionamiento del programa.
A continuación, podemos ir haciendo aparecer los diferentes cuadros de mando
para el control del proceso mediante los diferentes pulsadores como:
Control del proceso.
En esta ventana podemos controlar el proceso mediante los diferentes
dispositivos:
o seta de EMERGENCIA.
o pulsador de PARO con indicador luminoso.
o pulsador de MARCHA con indicador
luminoso.
o selector AUT/MAN.
Contr°' dd proc�
• • 11 ' IJ
EMEP(;E:'1(".IA PARO MAlOfA Ali ·'MAN AOC Mt
11 11 11 11 ■
Fig.1.134
o pulsador de reconocimiento de alarmas (ACK) con indicador luminoso.
o disyuntor magnetotérmicodelmotordelacintatransportadoradepaletsMl.
o disyuntor magneto térmico del motor de la cinta transportadora de
piezas M2.
o cinco pulsadores, sin enclavamiento con una pulsación, con
enclavamiento al realizar una doble pulsación, además de indicador
luminoso (S20-H20..., S24-H24).
Para este primer ejercicio que estamos realizando, basta con este cuadro de
mando para poder controlar el proceso y visualizar en el simulador 3D el
funcionamiento de la cinta de transporte de palets.
Para ello actuaremos sobre los siguientes dispositivos:
o Pulsador de Paro, indicado como PARO.
o Pulsador de Marcha, indicado como MARCHA.
o Disyuntor magneto térmico del motor de la cinta transportadora de
piezas, indicado como M2.
o
El resto de ventanas de control del proceso serán explicados en sucesivos
capítulos donde aparezcan.
Mando manual.
En esta ventana podemos controlar el proceso de forma manual a través de unos
selectores que controlarán cada actuador:
Mando manual
�HiHi1 ri1riHi1
S9 SlO Sll SU SU S14
ri1ri1 ri1 ri1ri1ri1
515 S16 Sl7 S18 519 525
Fig. 1.135
Recuerda • • •
Si al arrancar el
Simulador 3D, éste
queda en segundo
plano, para poderlo
pasar a primer plano
debemos usar la
combinación de teclas
"Alt + Tab".
Unidad 1- Entorno de programación TIA PORTAL
Estado de la Guía Gemma.
En esta ventana podemos visualizar el estado actual del proceso según la guía
Gemma. Se observará un cambio a color verde cuando por programa activemos
la salida asociada a cada uno de estos pilotos.
Estado de la Guia GEMMA
Fig. 1.136
Averías en el proceso.
A través de esta ventana podemos provocar diferentes averías al proceso y que el
programa deberá contemplar su tratamiento.
Aveerias een e,I proceso
Pulsar un boton para provocar una ave,ria
Fig. 1.137
Registros de pedido y de contaje.
En esta ventana podemos visualizar el estado actual de los registros de contaje
referidos a los Valores de producción, que mostraran el número de las piezas
procesadas (fila inferior). También esta misma fila dispone de un pulsador de
Reset para programar en el PLC como una entrada y poder poner a cero los
registros asociados a los Valores de producción.
También, permite la introducción de valores en los registros de Pedidos de
producción para indicar cuantas piezas de cada color se desean procesar (fila
superior) como pedidos de producción, contando con un pulsador de Reset con
el que se ponen a cero los registros asociados a los visualizadores de Pedidos de
producción. Se ha de indicar que este pulsador es interno al simulador 3D y por
tanto no está asociado a ningún registro del PLC.
57
Unidad 1- Entorno de programación TIA PORTAL
Recuerda • • •
Para cerrar el
Simulador 3D, es
imprescindible pulsar
sobre los iconos
indicados, ya que en
caso contrario
quedarán procesos
abiertos.
58
•
Registros de pedido y de contaje
•••• .__
I Reeet
___,
ROJO Aman o Verde Ninguna ==---,
Nota importante.
n , n
u I u
Fig. 1.138
1
Si al arrancar el Simulador 3D no aparece en pantalla, es porque queda en
segundo plano cuando se tienen más aplicaciones abiertas. En este caso hay que
usar las teclas Alt + Tab para visualizar el simulador 3D en primer plano.
Fig. 1.139
Para cerrar elsimulador 3D de forma correcta se debe pulsar
el botón siguiente, ya que en cualquier otro caso quedaran
procesos abiertos.
Fig. 1.140
'
Unidad 1- Entorno de programación TIA PORTAL
Eiercicio
CONTROL DEL MOVIMIENTO DE TODOS LOS ACTUADORES Y PILOTOS DE SEÑALIZACIÓN DE FORMA
MANUAL
Con el objetivo de manipular el simulador 3D y conocer algunas de sus funcionalidades, en este primer
ejercicio sería conveniente poder visualizar los movimientos de todos los actuadores, como son los
cilindros y los motores, así como el de los pilotos de señalización, tanto de la baliza como de los
pulsadores.
Condiciones de funcionamiento:
• Mediante los correspondientes selectores del panel de Mando manual, se debe ir realizando los
movimientos de forma controlada para que no existan choques en los movimientos, de todos y cada
uno de los cilindros que intervienen en el proceso.
• Mediante los correspondientes diferentes selectores del panel de Mando manual, se debe ir
realizando los movimientos de los dos motores teniendo en cuenta el estado de los disyuntores
magneto térmicos. Si éstos se encuentran disparados, se deberá señalizar mediante los pilotos
amarillo y rojo, respectivamente de la baliza. Del mismomodo, quedara señalizado el funcionamiento
de los motores mediante los pilotos, verde y azul, respectivamente, de la baliza.
• Los pilotos asociados a los pulsadores de Paro, Marcha y ACK, entrarán en funcionamiento siempre
que su pulsador correspondiente se encuentre pulsado.
• Los pilotos asociados a los pulsadores de S20, S21, S22, S23 y S24, entrarán en funcionamiento
siempre que su pulsador correspondiente se encuentre pulsado.
Fig. 1.141
Relación de entradas y salidas:
ENTRADAS SALIDAS
Dirección Dispositivo Dirección Dispositivo
10.1 51 Paro Q0.0 Yl Bajar ventosa
10.2 S2 Marcha Q0.1 Y2 Ventosa a la izquierda
12.7 Fl Disyuntor motor piezas Q0.2 Y3 Ventosa a la derecha
13.0 F2 Disyuntor motor palets Q0.3 Y4 Multiposicional pequeño
13.1 SS Pulsador ACK Q0.4 YS Multiposicional grande
14.0 59 Selector bajar ventosa Q0.5 Y6 Tope en cinta de piezas
14.1 510 Selector ventosa a la izquierda Q0.6 Y7 Bajar marcador
14.2 511 Selector ventosa a la derecha Q0.7 Y8 Subir marcador
14.3 512 Selector multiposicional pequeño Ql.0 Y9 Activar ventosa
14.4 513 Selector multiposicional grande Ql.1 KlM Motor cinta palets
59
Unidad 1- Entorno de programación TIA PORTAL
60
ENTRADAS
Dirección Dispositivo
14.5 514 Selector tope cinta piezas
14.6 515 Selector bajar marcador
14.7 516 Selector subir marcador
IS.O 517 Selector motor piezas
15.1 518 Selector motor palets
15.2 519 Selector vacío ventosa
15.3 520 Pulsador
15.4 S21 Pulsador
15.5 522 Pulsador
15.6 S23 Pulsador
15.7 524 Pulsador
Realizar:
• Programa implementado para el PLC.
SALIDAS
Dirección Dispositivo
Q2.0 K2M Motor cinta piezas
Q2.l HO Piloto amarillo
Q2.2 H2 Piloto verde
Q2.3 H2 Piloto azul
Q2.4 H2 Piloto rojo
Q3.0 H4 Piloto pulsador paro
Q3.l HS Piloto pulsador marcha
Q3.2 H6 Piloto pulsador ACK
Q3.3 H20 Piloto pulsador S20
Q3.4 H21 Piloto pulsador 521
Q3.5 H22 Piloto pulsador 522
Q3.6 H23 Piloto pulsador S23
Q3.7 H24 Piloto pulsador S24
• Comprobación del funcionamiento mediante la maqueta de simulación 3D.
'
1
'
'
'
'
l
l
'
Unidad 2 - Introducción a la programación
Unidad 2 Introducción a la programación
En este capítulo:
2.1 Operaciones lógicas con bits
2.1.1 Concepto del bit RLO (Resultado Lógico
de la Operación)
2.1.2 Circuitos básicos con entradas y salidas
2.1.3 Memoria de la CPU. Marcas de memoria
y marcas remanentes
2.1.4 Marcas de sistema (Primer ciclo)
2.1.5 Instrucciones con memoria SET/RESET
2.2. Programación en Grafcet (1)
,.,
·1.:.1'1.�
.,_,,..
'º"
'l;1M l,IC"(lt
c.,..;,.....i-
...
�-�
�'-..t"''
2.2.1 Introducción al Grafcet
2.2.2 Objetos básicos para el diseño de un Grafcet
2.2.3 Símbolos normalizados en acciones asociadas
2.2.4 Reglas del Grafcet
2.2.5 Niveles de diseños en Grafcet (nivel 1, 2 y 3)
2.2.6 Tipo de secuencia lineal
2.2.7 Programa basado en diseño Grafcet
Ejercicio propuesto
61
Unidad 2- Introducción a la programación
62
Recuerda • • •
El número de entradas
y salidas físicas que
contiene una CPU
puede variar, pero lo
que no varía es la
forma en la que se
direccionan: primero el
tipo de registro del PLC
(entrada, salida,
marca...) seguido del
número del byte, un
punto y el número del
bit.
2.1 Operaciones lógicas con bits
Las señales de entrada y salida digitales son llamadas por el programa a través
de una dirección de memoria. Estas señales que se encuentran en la propia CPU
están formadas por grupos de ocho entradas o salidas que van desde el bit O al
bit 7. Además, esa dirección se completa con el número del byte al que
pertenece dicha entrada o salida digital.
Por ejemplo, si disponemos de una CPU que integra un módulo de 14 entradas y
10 salidas, estas estarían distribuidas de la siguiente forma:
14 entradas digitales SIEMENS SIMATIC S7-1200
byte O (bit O a 7)
byte 1 (bit O a 5) ..............
CPU1214C
ACIOC/Rly
..............
10 salidas digitales
byte O (bit O a 7)
byte 1 (bit O a 1)
Fig. 2.1
Las direcciones de una entrada digital se asignan de la siguiente forma:
%1 2.3
%1 : la letra «I» indica que se trata de una entrada.
2 : el valor «2» señala la dirección del byte.
3 : el valor «3» señala la dirección del bit.
En la direcciónsiempre se separa el número de byte del número del bit con un punto.
Las direcciones de una salida digital se asignan de la siguiente forma:
%Q S.6
%Q
5
: la letra «Q» indica que se trata de una salida.
: el valor «S» señala la dirección del byte.
6 : el valor «6» señala la dirección del bit.
Al igual que para las entradas digitales, en la dirección siempre se separa el
número de byte del número del bit con un punto.
Al procesarse el ciclo de sean, en el momento de realizar la lectura de las
entradas, lo que hace es una copia íntegra del estado de todas ellas y las graba en
una zona de memoria del PLC llamada PII (process image of the inputs) o, lo que
es lo mismo, una imagen del estado de las entradas del proceso.
Algo similar sucede con las salidas, pero al revés, es decir, que al ser ejecutado el
programa, el resultado que va teniendo el estado de las diferentes salidas que
intervienen en dicho programa se va grabando en la zona de memoria llamada
,_,:
'
'
'
'
'
'
l
l
'
'
l
'
'
'
'
'
Recuerda • • •
La CPU incorpora un
área de memoria
llamada PII que
actualiza en cada
sean el estado de
todas las entradas
físicas que contenga.
Unidad 2 - Introducción a la programación
PIQ (process image of the outputs, quit) o, lo que es lo mismo, una imagen del
estado en el que se deberán encontrar las salidas. Este estado se vuelca sobre las
salidas físicas antes de iniciar un nuevo sean.
En ambos casos el valor grabado, tanto en PII como PIQ, en cada bit corresponde
con el estado de la entrada o salida física de las mismas. Por tanto, si la señal está
activa, se grabará un 1y si la señal está desactivada, se grabará un O.
Veamos un ejemplo de un bit de entrada y otro de salida representado en la PII y
PIQ respectivamente:
Área de memoria de entradas (PII) Área de memoria de salidas (PIQ)
Bit 7 Bit 6 Bit 5
Byte O
Byte 1
Byte t
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
...
Byte n
Recuerda • • •
La CPU incorpora un
área de memoria
llamada PIQ que
registra durante la
ejecución del
programa el estado
que deberá tener
cada una de las
salidas. Al inicio de
cada sean, estos
estados serán
copiados en las salidas
físicas.
Bit 4 ..Bit 3J Bit 2 Bit 1 Bit O Bit 7 Bit 6J Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
1 Byte O
Byte 1
X� Byte 2
......._ Byte 3
.........-- Byte 4 '/
�-- %12.3 '-- Byte 5� X
Byte 6 ,,,.--'7
Byte 7_,...
,/
jlytfB
%QS.6
Byte n
Recordamos ahora las acciones que conforman el ciclo de sean:
l. Transfiere el estado delassalidas delárea de memoria PIQ hacialassalidas físicas.
2. Almacena el estado de las entradas físicas en el área de memoria PII.
3. Ejecución del programa, instrucción a instrucción con acceso a las áreas de
memoria PII y PIQ.
�
� 1 PIQ (Memoria salidas)
Programa del PLC en la
memoria del programa
1nstrucción 1 � 1 PII (Memoria entradas)
Instrucción 2
Ejecución Instrucción 3
�
11
del Instrucción 4 Datos locales
programa
�
11 Memoria de marcas
Instrucción n
� 1 �
11 Bloques de datos
4. Ejecuta funciones internas del sistema operativo (atiende a las comunicaciones,
realiza operaciones de autotest, etc.)
Nota: El tiempo que el procesador necesita para toda esta secuencia se conoce
como ciclo de sean, y este depende en gran medida del número de instrucciones
utilizadas en el programa y de la capacidad del procesador.
63
Bit O
Unidad 2 - lntroducci6n a la programaci6n
Recuerda • • •
La CPU dispone de un
registro interno en
forma de bit, llamado
RLO, que guarda en
cada paso del
programa el estado de
la ultima operaci6n
16gica realizada.
64
2.1.1 Concepto del bit RLO (Resultado L6gico de la Operaci6n)
EI bit de estado RLO es la memoria intermedia en las operaciones 16gicas binarias.
La CPU transfiere el resultado de la consulta al RLO en la primera consulta. En
todas las consultas siguientes, el resultado se combina 16gicamente con el RLO
guardado y se deposita nuevamente en el RLO.
EI RLO se puede activar (SET), desactivar (RESET), negar (NOT) o guardar (SAVE) en
el bit del resultado binario (BR) de la palabra de estado (STW) a traves de las
instrucciones correspondientes. Con el RLO se controlan instrucciones de
almacenamiento, temporizaci6n y contaje, y se ejecutan determinadas
instrucciones de salto.
Si el resultado de la ecuaci6n 16gica se cumple, es decir, que es cierta, entonces se
registra un 1 en el bit del RLO. Si por el contrario la ecuaci6n 16gica no se cumple,
es decir, que es falsa, se registra un O en el bit del RLO.
1 - - 1
1 'IIO_O 'IIO_l '11()_2 1 iQ(l_Q
1 'SO_Paro' 'Sl_Marcha' "Fl_ReleTermico' 1 'KlM_Motor'
l 7;�., �
L------------------------1
)-------,
ecuaci6n 16gica
Fig. 2.2
Analizara el estado del primer contacto, en este caso el %10.0. Si esta activado,
pondra un 1 en el bit RLO y en caso contrario grabara un 0.
Continuara con los siguientes contactos aplicando la operac1on 16gica
programada, AND o OR, y asf sucesivamente con todos y cada uno de los
contactos que contiene la ecuaci6n 16gica.
Al final tendremos dos posibles soluciones:
• Que el conjunto de la ecuaci6n 16gica sea verdadera
• Que el conjunto de la ecuaci6n 16gica sea falsa
➔ bit RLO = 1
➔ bit RLO = 0
Entonces en el momento de ver si ha de activar o no la salida %Q0.0 lo que hace la
CPU es mirar c6mo se encuentra el bit RLO. Si esta a 1, conectara la salida, y si
esta a 0, la desconectara.
2.1.2 Circuitos basicos con entradas y salidas
• Operaci6n 16gica AND
Si, por ejemplo, tenemos el siguiente circuito electrico
formado por dos pulsadores para controlar el
funcionamiento de un piloto, tan solo funcionara cuando
los dos pulsadores se encuentren cerrados de forma
simultanea:
EI cableado de los diferentes componentes en el PLC sera
el siguiente:
+24v
�
 51
 52
M__h
V
J
Recuerda • • •
La instrucción AND
, programa un contacto
abierto en serie con
todo lo anterior.
'
í
í
í
Unidad 2 - Introducción a la programación
Donde se observa cómo los pulsadores conectados a las entradas no tienen
por qué respetar la condición tal y como se lleva a cabo en un sistema
cableado, ya que la condición se realizará por el propio programa cargado
en el PLC.
Tendremos, entonces, la siguiente distribución de entradas y salidas:
ENTRADAS
S1 1 %10.0
52 1 %10.1
SALIDAS
Hl %Q0.0
Por tanto, nuestro programa quedará de la siguiente forma:
'XQO.O
"Hl"
Fig. 2.3
• Operación lógica OR
Si, por ejemplo, tenemos el siguiente circuito eléctrico
formado por dos pulsadores para controlar el
funcionamiento de un piloto, este funcionará cuando
uno o los dos pulsadores se encuentren cerrados:
+24v--�r---�r-
 51  52
______,Í
Hl
M __...,______
En esta figura se representa el cableado de los diferentes componentes en
el PLC.
Como se puede observar, el cableado es idéntico al del ejemplo anterior, ya
que la condición no viene dada por cómo están conectados estos
pulsadores, sino por el programa que incluimos en el PLC.
Tendremos, entonces, la siguiente distribución de entradas y salidas:
ENTRADAS
S1 1 %10.0
S2 1 %10.1
SALIDAS
Hl %Q0.0
65
Unidad 2 - Introducción a la programación
Recuerda • • •
La instrucción OR
programa un contacto
en paralelo con todo
lo anterior.
Por tanto, nuestro programa quedará de la siguiente forma:
"I.IO.O 1QO.O
·s1· "Hl"
J
i----.---------------'( )----,
�i�
• Negación
Fig. 2.4
En operaciones lógicas, a veces es necesario trabajar con SEÑALES CONTRARIAS A
LAS DEL ELEMENTO AL CUAL HACE REFERENCIA, es decir, que en estado de reposo
dejan pasar señal y en estado de activación no dejan pasar señal:
SÍMBOLO COMENTARIO
'Y,KU
·s2·
Fig. 2.Sa
---1 1---
CONTACTO NORMAL que en estado de reposo no deja pasar señal.
'f.!0_2
•s3•
Fig. 2.Sb
---v1--
CONTACTO NEGADO que en estado de reposo sí deja pasar señal.
Recuerda • • •
La instrucción NOT
ofrece en su salida el
estado lógico contrario
del que tiene en su
entrada.
66
Veamos algún ejemplo:
1QO.O
"Hl"
)----,
"I.I0.1
·s2·
Fig. 2.6
• Operación NOT
El concepto de contacto negado solo afecta al contacto donde está programado y
no hay que confundirlo con la operación NOT. Esta instrucción realiza la operación
de negar todo lo que afecte anteriormente programado en ese segmento, es
decir, el estado del bit RLO en ese punto del programa.
En el siguiente ejemplo la instrucción NOT niega el resultado lógico de la
operación en ese momento. Por tanto, si la ecuación lógica antes de la instrucción
NOT era 1, después de la instrucción NOT pasa a ser O, y al contrario.
"I.IO.O '11<>.2 'f,QO.O
·s1· •53• "Hl"
J
-..---1/1...,_.----11 NOTl-----------i
�;
)----,
Fig. 2.7
V
1
1
1
'
'
'
'
'
Recuerda • • •
La CPU dispone de
diferentes áreas de
memoria, como son:
• memoria de carga,
• memoria de trabajo,
• memoria remanente.
Unidad 2 - Introducción a la programación
2.1.3 Memoria de la CPU. Marcas de memoria y marcas remanentes
• Gestión de la memoria
La CPU dispone de las siguientes áreas de memoria para almacenar el programa
de usuario, los datos y la configuración:
- Memoria de carga: permite almacenar de forma no volátil el programa de
usuario, los datos y la configuración. Cuando se carga un proyecto en la CPU,
esta almacena primero el programa en el área de memoria de carga. Este área
se encuentra bien en una Memory Card (si está disponible) o en la CPU. La CPU
conserva este área de memoria no volátil incluso tras un corte de alimentación.
La Memory Card ofrece mayor espacio de almacenamiento que el integrado en
la CPU.
- Memoria de trabajo: ofrece almacenamiento volátil para algunos elementos del
proyecto mientras se ejecuta el programa de usuario. La CPU copia algunos
elementos del proyecto desde la memoria de carga en la memoria de trabajo.
Este área volátil se pierde si se desconecta la alimentación. La CPU la restablece
al retornar la alimentación.
- Memoria remanente: permite almacenar de forma no volátil un número limitado
de valores de la memoria de trabajo. La CPU utiliza el área de memoria remanente
para almacenar los valores de algunas posiciones de memoria durante un corte de
alimentación. Cuando se produce una caída o un corte de alimentación, la CPU
restaura esos valores remanentes al restablecerse la alimentación.
Para ver el uso de memoria de un bloque de programa compilado, se debe pulsar
sobre el botón secundario del ratón en la carpeta del proyecto, en la de Bloques
de programa o en la del cualquier bloque programado del árbol del proyecto, y
seleccionar Plano de ocupación en el menú contextual.
ho,,t<CO U«oC1 H! ln>V'.&r ON.l>e 0pc.·•--..., Hen•"'�""' ilM_.,._ AJ"'d•
•Qc.,;on1.,P<OJKco.:O •• X lr)1r,, ·Aff!llllr:;S&toob!Kc,,,-.6ft<l<ll,nt.,_,.
01,posltlwl
() o
...,... @ - ..,
n lodelbloque •.,...,!"'ot,.ni.S-�p<c,..1or
_______
_
•0- ... ► et - .J
':,.� �ntol: c,,n,,t0Wa,,co<S•p1•oy,.,,,chl ________
- v lmtru.cdonH�ik;,1
,.,,
" ... •1
·s,· ·�r
.,
•,r
i=;��
5,egmarrtol: Opt,u,onlogou
_
..,
__________
_
•.o -1 'IQOD
V = -
l••------•--11-----11----------< �
-
•-Opt••-••u•onM --:
,....... ;
rtl-fr
d!1""'!-
o(l•O·
,...,.
,,...,
•O-,(S)
fé1sn_e,
,(IIUfT.,.,
�SIi
�M
dl-fl-
v ) Tetook,gi,I
i:-------,,===""'"-'.;;;
,OCl'II.
;;..---.,,...,.....,,.,....,._...¡> �i•i:lón
____
!: � � lnformad6n !J OlaQnchtko > Paq.,.,H opdon11lt1
Fig. 2.8
Aparecerá cierta información en diferentes pestañas:
- Estructura de llamadas
- Estructura de dependencias
67
Unidad 2 - Introducción a la programación
Recuerda • • •
Con comunicación
entre el ordenador y el
PLC, desde TIA Portal
se puede disponer de
la información sobre el
estado de ocupación
de las diferentes áreas
de memoria.
68
Plano de ocupación
Carga de la memoria
Dentro de la última pestaña Carga de la memoria podemos ver los diferentes
datos de ocupación de las diferentes memorias:
Memoria de carga
Memoria de trabajo
Memoria remanente
.......,... f"0111'"_
-�·-w..q;...
.... 1ou1
) Qlijt-lttf>Cll6flkCll
. ""'-··--·
• t.¡v.,i.W.,,,IU.
'..111pc11.••*"c
• _ti.wu•••-<M7filQN,-,i•-
, a.,twp,.OllliN-
' 'IK�•
' n.11"*"°"".."·""'"­
.....,,.,.i...,.........
_iJ�tHdo--
►�til6clublD
..IH
• Jt>ot111•--
• ·(c,,,l,gi..-t<ai...t,,.,._.i,w
► ldiiDfr
..lJIN""-lll
•• ,,uuo,, .....
1 ,lf�NW ...la,¡.,Ml..,.._USfl
�-� -·�.....,.___
º" º' o-.
768CClbylH l!Z4Gby.,n �dll; l•
t?O"'f+I O!!J!!!.. U]!e:� OUoptikll!ll l
Fig. 2.9
"
..
Para ver el uso de memoria de la CPU online, en primer lugar hemos de Establecer
conexión online con el PLC y posteriormente hacer un doble clic en las opciones
Online y Diagnóstico que encontraremos al desplegar el proyecto de la CPU. A
continuación, debemos expandir Diagnóstico y seleccionar Memoria:
Accuo5 online-
• Oi19n6nico
Enadodedi19nóuico
Búferde di119n6itico
1íe-mpode- ciclo
Nt-mori1
► lnttrfazPROflNETIX1}
► funcionu
• Memoria remanente
T1m1flo, rfl �
Liblt:
Ocupada:
Tottl:
...
Mtmoria-deurga.
◄188468
5836
◄19-4304
Mffnoria dto u11bajo t.,1emori1 rtmen_
Fig. 2.10
102324 10240
76 O
102400 10240
Es posible evitar la pérdida de datos tras un corte de alimentación marcando
determinados datos como remanentes. LA CPU 57-1200 permite configurar como
remanente tan solo el área de marcas, a partir de la MB0, mientras que en el 57-1500
permite además del área de marcas, seleccionar como remanentes áreas de
temporizadores y de contadores. Cuando tenemos declaradas las variables del
V
)
)
)
'
)
Unidad 2 - Introducción a la programación
programa, nos aparece una columna con el nombre Remanencia. Si esta se encuentra
marcada, nos indica que esa marca es remanente.
UNIDAD 02 V14 ► Ul_HORIA {CPU 1114-C AOOCJRly} ► V.m.1bles Pt.C ► T.lbli'i de v.1nabl�s_1 [<>J - lit ii X
1
-------,..._---------�-��-------�<JVariables G) Constantes de usuario
�ir ª i!/t
labla de va,la les_1
N.ombre Dir&:ci6n �.11nmcill /Ct.t-sible de«le HM!:Of'C UA E¡cnblble desde HMliOPC UA Vi�1bl� ffi HMf En inff-._
... """-º Bool ......o ¡;¡¡ Q liiiil
... """-' Bool ""'°·' Q (;¡i)
... Aux..2 Bool .,..,., Q (;¡i)
... SO_E�RGENQA Bool 'lWO.O ¡;¡J (;¡i) ¡;¡¡
... S1_PAAO Bool %10.t Q �
... S2_tNJKHA Bool "M0,2 !i1l
... S3_SELEClORAUTOft..Wl Bool "'º.3 ¡;¡¡
... i'.uit...30 Bool "'"'º r Q (;¡i)
... ........ Bool ....... r;¡ !i1l liiiil
< "
Fig. 2.11
Para poder determinar que un área de marcas sea remanente pulsaremos sobre el
icono Remanencia. En ese momento aparecerá una ventana en la que podemos
configurar el área remanente de la CPU, tal como hemos visto en la figura anterior.
Por defecto, no hay ningún área de marcas configurada como tal, y esto se debe a
que en la ventana de configuración Memoria remanente hay un O en el campo N.º
de bytes remanentes. Si introducimos un valor, por ejemplo 4, quedará configurada
un área remanente formada por los bytes MBO, MBl, MB2 y MB3, es decir, 4 bytes
empezando siempre por el byte O, a continuación se muestra la misma
configuración para un 57-1500 y para un 57-1200, respectivamente:
MenlOria remaneñte
-
X
N.1- de bytes remenentes, empeuindo por tveO: O
::::::::::
N.t de temporizedo�s SllvlllC remane-mes, empezando por TO: "'º----'
N.r.. de conudores s1,w;,.nc re,monentes, empezendo por CO: ._o____.
1-Mmorie remanente actuelmente disponible (b)'tes): 90766
Aceptar Cenc�lar
Fig. 2.12a
Memoria remanente 'X
N.11
de bytes remanentes, empez.endo por 1'.430: ---­
N•.:i de temporizadores Slr-Nl."ílC: remanemes, empeundo por 10: �]
N.� de conudores Sl�.'.ilC remanente�. empezando por CO· �
Mt!-moria remanente actualmente disponible (bytH): [i"§n6 7
Aceptar Cencelar
Fig. 2.12b
Al configurar el área de remanencia, se configura el ancho que se precisa,
iniciándose siempre por el O, MBO para el área de marcas. Como el 57-1200 no
trabaja con áreas de temporizadores ni de contadores, la modificación de sus
respectivos campos se encuentra inhabilitada, hecho que no sucede en el 57-1500.
Observamos cómo ahora sí se pueden ver en la columna Remanencia de la Tabla
de variables los bytes configurados con remanencia.
Tabla de variables estándar
Nomb"° lípodt-deto,
... PUl.SAOOR DE f'AAO ...,
f'ULSAOOROEf.MRCHA ....
... Rt-manent• ...,
8AiAAVlN10SA ...,
... NoP.emant-nt• Bool
O.rttti6n Ri!ffilrtt!fl(II
"'°·'
'"°.2
.....,_o
"°°·º
......o
AccMiblt- d�• HM!•OPC U.I
Fig. 2.13
Escribiblt-dM.dt- HMl.lOPC UA V1i1blt- ton HMI EnginHtmg
(;¡i)
¡;;;¡
Ga
�
Vamos a comprobar con el siguiente ejemplo cómo trabajar con marcas
remanentes o sin ellas:
69
Unidad 2 - Introducción a la programación
Recuerda • • •
A través de TIA Portal
se puede configurar el
área de marcas
remanente que
provoca que no se
pierda la información
de su estado ante un
corte de alimentación
eléctrica de la CPU.
Recuerda • • •
En la configuración de
la CPU podemos
activar la utilización de
dos bytes de registros
con funciones
especiales, como son:
• Byte de marcas de
sistema.
• Byte de marcas de
ciclo.
70
El siguiente circuito trata de controlar la salida Q0.0, que corresponde con el eje
vertical del manipulador de carga. Al ser monoestable la electroválvula que
controla el movimiento del cilindro y al no tener tensión la bobina, el cilindro
retrocederá, pero si la activación de esa salida la hacemos pasar por la marca
remanente, M0.0, al conectar tensión al PLC y si la salida se encontraba en
funcionamiento antes del corte, cuando se restablezca la alimentación del PLC, la
salida Q0.0 volverá a conectarse automáticamente.
1I0.
1
"PULSADOR DE
PARO"
1I0.2
"PULSADOR DE
MARCHA"
'J.MO.O
ªRemanente•
� �r¡-�--------------1( )-------,
LS�2:J
anente·
1QO.O
"BAJAR VENlOSA"
P
o.o
1------------------------1 )-------,
Fig. 2.14a
Fig. 2.14b
Al contrario de lo que sucede en el circuito anterior, el siguiente circuito se ha
programado basado en marcas no remanentes. Por tanto, la salida quedará
desconectada al restablecerse la tensión del PLC, independientemente de que
antes del fallo de tensión la salida Q0.0 estuviera o no activada.
'JY0.
1
'PULSADOR DE
PARO'
'!II0.2
'PULSADOR DE
MARCHA'
'IIM4.
0
� ��-----------------( )-----t
�2J
1 'WJR:4.
0
¡1manente'
2.1.4 Marcas de sistema {Primer ciclo)
'!IQ0.0
'BAJAR VENTOSA'
)-----t
Fig. 2.15a
Fig. 2.15b
En Propiedades de la CPU, encontramos dentro de la pestaña General la opción
Marcas de sistema y de ciclo, que contiene dos apartados:
• Bits de marcas de sistema
• Bits de marcas de ciclo
En el apartado Bits de marcas de sistema figuran una serie de bits que son solo de
lectura para el usuario. Entre ellos consta el bit de Primer ciclo o «First Sean», que
se corresponde con el bit de marca M8190.0 cuando completamos con 8190 el
campo Dirección del byte de marcas de sistema:
.J
'J
V
'
1
'
'
1
'
'
l
1
)
'
Unidad 2 - Introducción a la programación
► General
► lnterfazPROFINET(X1 J
► Ol 14'DQ 1 0
► Al 2
► Contadores rápidos (HSC)
► Generedort-s de impulsos (PTO/PM) 1
Arranque
Ciclo
carga por comunicación
Marcas de sistema )'de ciclo
► Serv
idorweb
Idiomas de la interfaz:
Ho,a
Protección
Rtocursos de conelG6n
Sinóptico de direcciones
■ > <
Marcas de sistema y de ciclo ______________
Bits de marcas de sistema
r;;l
Activar la ut11i21c16n del byte de marcas de
sistema
01recci6n del byte de marcu ---------.
de sistema (J...ex): ._
s
_
1 9
_
0_______.
Pr1mer c1clo·
Diagrama de diagnóstico
modi6cado:
Siempre t (high): �190.2 (AlwayslRUE)
Siempre O (low): �190�.0JoaysFAlSE}
Bits de marcas de ciclo
Dirección del byte de marcas .---------.
de c,clo (f...13xJ ._
s
_
1 9
_
1_______.
Reloj 1 0 H.t: '"3191 .0_(Clock_tOH�
Rolo¡ 5 Hz ""'8191 1JOock_SH�
P.rloj 2.5 H= ":ri.t..4819 1 .2 �Clock_2.5Hz)
�IOJ 2 Hz: ""431 91.3 (doc�_2H:)
�loj 1..25 H;:: �1914 (dock�1 .25H.r)_
Reloj 1 Hz: �191.5 (Clock_1 HQ
Reloj 0.625 Hr. �191.6JOock_0.625Hi)
R<IOJ 0.5 Hz ',M61 91.7 (Oock_0.SH,)
Fig. 2.16a
En el apartado Bits de marca de ciclo definiremos un byte que contendrá unos
bits que funcionarán a diferentes frecuencias y se explicarán en el siguiente
capítulo.
2.1.5 Instrucciones con memoria SET/RESET
No hemos de confundir las instrucciones llamadas con memoria con las marcas
remanentes. Las instrucciones con memoria que podemos encontrar tanto en un
PLC 57-1200 como en un 57-1500 son las siguientes:
R - RESET. Desactivar bit.
S - SET. Activar bit.
SET_BF. Activar un rango de bits consecutivos.
RESET_BF. Desactivar un rango de bits consecutivos.
SR - SET-RESET. Flip-flop de activación/desactivación de bit.
RS - RESET-SET. Flip-flop de desactivación/activación de bit.
Estas instrucciones las podemos encontrar dentro de la carpeta Operaciones
lógicas con bits del catálogo Instrucciones básicas.
• Desactivar salida R:
La instrucción Desactivar salida permite poner a O el estado lógico de un
operando indicado.
La instrucción se ejecuta solo si el resultado lógico (RLO) de la entrada de la
bobina es l. Si fluye corriente hacia la bobina (RLO = 1), el operando indicado se
pone a O. Si el RLO de la entrada de la bobina es O (no hay flujo de señales en la
bobina), el estado lógico del operando indicado no cambia.
71
Unidad 2 - Introducción a la programación
Recuerda • • •
Las instrucciones de SET
y RESET fuerzan el
estado del bit
asociado al valor «1 >l o
«0n respectivamente.
72
1 iNOl]­
) -{ )­
ffi] -{/)-
) -{R)
ffij -{S)
) SET_BF
) RESET_BF
g¡j SR
g¡j RS
1 iPf-
1 iNl­
g¡j -{P)­
g¡j -{N)­
g¡j P_TRJG
g¡j N_TRJG
g¡j R_TRIG
' F TRIG
Contacto normalmente a bierto (Mayús+F2)
Contacto norma lmente cerrado [Ma�s•F3]
Invertir RLO
Asignación {rv1ayús�F7)
Negar asignación
Desactivar salida
Activar sa lida
Activar mapa de bits
Desactiva r mapa de bits
Flipflop de a ctiva ción/desa ctiva ción
Flipflop de desa ctivación/activación
Consultar flanco de señal ascendente de un opera ndo
Consultar flanco de señal descendente de un opera nd
Activa r operando con flanco de señal as.cendente
Activar opera ndo con flanco de señal descendente
Consulta r flanco de señal a scendente del RLO
Consultar flanco de señal descendente del RLO
Detecta r flanco de señal ascendente
Detectar flanco de seña l descendente
Fig. 2.16b
Ejemplo: queremos desactivar el funcionamiento de la cinta que transporta el
palet (Ql.1) cuando se dispare el disyuntor magnetotérmico (13.0) o el pulsador
de paro (10.1):
'113.0
"PROTECCION
MOTOR 2"
'IQl .1
"MOTOR CINTA
PALEi
1---Vl--""T""--------------------{ R }---<
,io_1
"PULSADOR DE
PARO"
• Activar salida S:
Fig. 2.17
La instrucción Activar salida permite poner a 1 el estado lógico de un operando
indicado.
La instrucción se ejecuta solo si el resultado lógico (RLO) de la entrada de la
bobina es 1. Si fluye corriente hacia la bobina (RLO = 1), el operando indicado se
pone a 1. Si el RLO de la entrada de la bobina es O (no hay flujo de señales en la
bobina), el estado lógico del operando indicado no cambia.
Ejemplo: queremos activar el funcionamiento de la cinta que transporta el palet
(Ql.1) cuando accionamos el pulsador de marcha (10.2) o el pulsador ACK (13.1):
,io_2
"PULSADOR DE
MA.RCHA"
'IQl .1
"MOTOR CINTA
PALEi
�
7
-"""T"------------------i(�}---<
"PULS:�
• Flip-flop de activación/desactivación R:
Fig. 2.18
La instrucción Flip-flop de activación/desactivación sirve para activar o desactivar
el bit de un operando indicado en función del estado lógico de las entradas S y Rl.
V
' /
1
' Recuerda • • •
' La instrucción SR fuerza
el estado del bit
asociado al valor «1 »
activando la entrada S
o «O» activando la
entrada R l . En el caso
' de tener activadas las
' dos entradas, tendrá
prioridad el RESET.
'
'
'
)
'
'
'
)
1
' Recuerda • • •
' La instrucción RS fuerza
' el estado del bit
asociado al valor «O»
activando la entrada R
' o «1 » activando la
entrada S 1 . En el caso
de tener activada las
' dos entradas, tendrá
prioridad el SET.
'
'
'
'
'
'
1
Unidad 2 - Introducción a la programación
Si el estado lógico de la entrada S es 1 y el de la entrada Rl es O, el operando
indicado se pone a 1. Si el estado lógico de la entrada S es O y el de la entrada Rl
es 1, el operando indicado se pone a O.
La entrada Rl prevalece sobre la entrada S. Si el estado lógico de las entradas S y
Rl es 1, el estado lógico del operando indicado se pone a O.
Si el estado lógico de ambas entradas S y Rl es O, no se ejecuta la instrucción. En
este caso, no cambia el estado lógico del operando.
El estado lógico actual del operando se transfiere a la salida Q y se puede
consultar allí.
Podemos resumir el funcionamiento de esta instrucción en la siguiente tabla:
Entrada S Entrada Rl Salida Q
o o No cambia
1 o Cambia a 1
o 1 Cambia a O
1 1 Cambia a O
Se puede afirmar que en este caso la prioridad es a la «desconexión», pues al
estar las dos entradas activas, la salida Q permanecerá desactivada.
• Flip-flop de desactivación/activación RS:
La instrucción Flip-flop de desactivación/activación sirve para desactivar o activar
el bit de un operando indicado en función del estado lógico de las entradas R y 51.
Si el estado lógico de la entrada R es 1, y el de la entrada 51 es O, el operando
indicado se pone a O. Si el estado lógico de la entrada R es O y el de la entrada 51
es 1, el operando indicado se pone a 1.
La entrada 51 prevalece sobre la entrada R. Si el estado lógico de las entradas R y
51 es 1, el estado lógico del operando indicado se pone a 1.
Si el estado lógico de ambas entradas R y 51 es O, no se ejecuta la instrucción. En
este caso, no cambia el estado lógico del operando.
El estado lógico actual del operando se transfiere a la salida Q y se puede
consultar allí.
Podemos resumir el funcionamiento de esta instrucción en la siguiente tabla:
Entrada R Entrada Sl Salida Q
o o No cambia
1 o Cambia a O
o 1 Cambia a 1
1 1 Cambia a 1
A continuación, presentamos un ejemplo de aplicación:
73
Unidad 2 - Introducción a la programación
74
'lll0.2
"PULSADOR DE
MARCHA"
1Q1 .1
"MOlOR CINTA
PALEr
SR
J
s
113.
"PULSADO
o -
--------------
-
113.0
"PR01ECCION
M010R 2"
t---1/�--.- R1
'lll0.1
"PULSADOR DE
PARO
º
En ella el funcionamiento es el siguiente:
Fig. 2.19
Queremos activar el funcionamiento de la cinta que transporta el palet (Ql.1)
cuando accionamos el pulsador de marcha (10.2) o el pulsador ACK (13.1), y la
desactivaremos cuando se dispare el disyuntor magnetotérmico (13.0) o el
pulsador de paro (10.1). Siempre ha de prevalecer la orden de parada ante la de
marcha:
• Activar mapa de bits SET_BF:
La instrucción Activar mapa de bits activa varios bits a partir de una dirección
especificada. Su estructura es la siguiente:
•opera ndo 1•
------1 SET
_BF }---t
"Opera ndo 2•
Fig. 2.20
El número de bits que se deben activar se determina mediante el valor situado en
la parte inferior del símbolo Operando 2, que ha de ser constante y numérico,
mientras que el situado en la parte superior Operando 1 determina la dirección
del primer bit que se debe activar. Si el valor del Operando 2 es mayor que el
número de bits de un byte seleccionado, se activan los bits del byte siguiente. Los
bits permanecen activados hasta que son desactivados explícitamente por otra
instrucción.
• Desactivar mapa de bits RESET_BF:
La instrucción Desactivar mapa de bits desactiva varios bits a partir de una
dirección especificada. Su estructura es la siguiente:
"Opera ndo 1 ·
------f RESET
_ B F .......
•opera ndo 2·
Fig. 2.21
El número de bits que se deben desactivar se determina mediante el valor situado
en la parte inferior del símbolo Operando 2, que ha de ser constante y numérico,
mientras que el situado en la parte superior Operando 1 determina la dirección
V
J
J
1 í
'
í
'
' Recuerda • • •
"1
Las instrucciones de
SET_BF y RESET_BF
fuerzan el estado de
una serie de bits
' consecutivos a partir
del bit indicado al
valor «l » o «O»
' respectivamente.
)
)
í
"
)
í
í
í
'
í
)
�
í Recuerda • • •
Un Grafcet está
formado por
) elementos gráficos
basados
principalmente en
� etapas y transiciones
para describir el
funcionamiento de un
')
proceso secuencial.
'
'
í
)
í
'
'
1
)
í
')
'
)
)
Unidad 2 - Introducción a la programación
del primer bit que se debe desactivar. Si el valor del Operando 2 es mayor que el
número de bits de un byte seleccionado, se desactivan los bits del byte siguiente.
Los bits permanecen desactivados hasta que son activados explícitamente por
otra instrucción.
Ejemplo: esta instrucción nos puede servir para inicializar un Grafcet a su etapa
inicial. Si por ejemplo tenemos un Grafcet lineal de 15 etapas que empieza en la
etapa MO.O y finaliza en la etapa Ml.6, podemos hacer que en el primer ciclo de
sean, mediante el contacto FirstScan, se conecte la primera etapa, la inicial, y se
desconecten las 14 restantes, desde la M0.1 hasta la Ml.6:
ºET¡lf'A O
º
1--�-----------------1( 5 )--<
'IIMl.1
'------------------t( RESET_BF )--,
14
2.2 Programación en Grafcet (1)
Fig. 2.22
El GRAFCET (Graphe Fonctionnel de Commande Etape Transition) nació en 1977
como fruto del trabajo de la AFCET (Asociación Francesa para la Cibernética
Económica y Técnica). La ADEPA francesa (Agencia Nacional para el Desarrollo
de la Producción Automatizada) le otorgó su actual forma en 1979, normalizada
�1 1 Eu, UfJd corno (CNG11Jl) e internacionalmente en 1992 como (norma
CEI 1131).
Básicamente, el GRAFCET es un modelo de representación gráfica, de los
sucesivos comportamientos de un sistema lógico, predefinido por sus entradas y
salidas. También es un grafo, o diagrama funcional normalizado que permite
crear un modelo del proceso a automatizar, contemplando las entradas, las
acciones a realizar, así como los procesos intermedios que provocan estas
acciones. Inicialmente fue propuesto para documentar la etapa secuencial de
los sistemas de control de procesos a eventos discretos. No fue concebido como
un lenguaje de programación de autómatas, sino como un tipo de grafo para
elaborar el modelo pensando en la ejecución directa del automatismo o
programa de autómata.
Varios fabricantes de autómatas programables integran el Grafcet como un
lenguaje de programación para la resolución básicamente de sistemas
secuenciales.
2.2.1 Introducción al Grafcet
Un Grafcet es un diagrama funcional que tiene por objetivo describir de forma
gráfica el comportamiento de un proceso automatizado secuencial.
2.2.2 Objetos básicos para el diseño de un Grafcet
Para el diseño de un Grafcet es necesario conocer cada uno de los elementos
propios de los que consta. En la siguiente tabla se muestran los básicos.
75
Unidad 2 - Introducción a la programación
1 Símbolo
[]
1
□
1
t
--
� 1
Recuerda • • •
Un Grafcet está
formado por una
etapa inicial y
diferentes etapas
intermedias. La etapa
indica un estado
estable del proceso.
76
1
1 Nombre
1 Descripción
Indica el comienzo de la secuencia GRAFCET y se activa al
poner en modo RUN el autómata. En general tan solo
Etapa inicial existe una sola etapa de este tipo en cada cadena
secuencial, pero puede haber sistemas en los que haya
más de una.
1
Etapa Su activación lleva consigo una acción o una espera.
Las uniones se utilizan para unir entre sí varias etapas.
Unión
Si la unión se realiza saltando algunas etapas, ya sea en
el sentido de evolución del Grafcet o en su sentido
contrario, se indicará con una flecha en su punto final.
Condición para desactivarse la etapa en curso y activarse
Transición la siguiente etapa.
Se indica con un trazo perpendicular a una unión.
Indica la activación de una u otra etapa en función de la
Direccionamiento condición o condiciones que se cumpla(n). Conocido
como divergencia o convergencia en «O».
Muestra la activación o desactivación de varias etapas a
Proceso simultáneo la vez. Utilizado para una divergencia o convergencia en
«Y».
Acciones asociadas
Acciones que se realizan al activarse la etapa a la que
pertenecen.
• Etapa
Las etapas del Grafcet representan los estados estables del sistema y se indican
con un cuadrado numerado. Podemos encontrar dos tipos de etapas:
Etapa inicial: será la etapa por la que se inicia el funcionamiento de la
secuencia y se representa con un doble cuadro.
Etapa intermedia: son el resto de etapas que no son la inicial. Se representa
con un cuadro simple.
Etapa inicial Etapa intermedia
_J
'
'
'
Recuerda • • •
En la transición es
donde se introducen
las condiciones para
que un Grafcet pueda
evolucionar de una
etapa a la siguiente.
Unidad 2 - Introducción a la programación
Otras características de las etapas:
Las etapas han de estar numeradas, aunque no necesariamente de forma
correlativa. No puede haber dos etapas con el mismo número.
Las etapas pueden estar activas o inactivas. Al representar el
estado del GRAFCET en un momento concreto, se puede indicar
que una etapa está activa si esta tiene un punto de color.
Las etapas pueden tener acciones asociadas o no, dependiendo de la función
que deban desarrollar.
• Transición
La transición está asociada a la condición que se ha de cumplir para
poder pasar a la siguiente etapa, donde la condición puede ser una
ecuación booleana o de comparación, básicamente. En la mayoría de los
casos, la condición de una transición refleja que la acción o las acciones
asociadas de la etapa anterior se han ejecutado de forma correcta.
Ejemplos:
t
t Sensor pieza * Pulsador
t Final carrera * (Sensor + Pulsador)
t Tiempo_,,
Condición con elemento negado Condición mixta AND y OR Condición de tiempo
t Etapa_23
t Contador = 10
t =1
Condición de etapa activa Condición de comparación Condición siempre
cumplida
"
� Recuerda • • •
-,. En la acción asociada
.,_ a una etapa es donde
se programa la acción
"" a realizar en el
,.......
momento en que la
etapa se encuentre
,--.. activada.
'
• Acción asociada
Podemos diseñar dos tipos de acciones asociadas:
Acciones asociadas simples (N): es la acción o las acciones que se deben
realizar en el momento en que la etapa correspondiente está activa.
Acciones asociadas condicionadas (NC): es la acción o las acciones que se
realizarán cuando la etapa se encuentra activada y además se cumple la
condición.
Disyuntor
N
Ql.1 Ql.O
NC t-------------1
Pi l cxo de paro Mcxor a l a de recha
Acción asociada simple Acción asociada condicionada
77
Unidad 2 - Introducción a la programación
Recuerda • • •
La acción asociada
está formada por
diferentes campos
que, en función de la
acción a realizar, se
deberán completar.
1
2
3
4
s
6
7
8
9
10
11
12
78
Símbolo
Ninguno
N
R
s
L
D
p
5D
DS
SL
Pl
PO
2.2.3 Símbolos normalizados en acciones asociadas
Gráficamente la norma IEC 61131-3 representa las acciones asociadas a etapas
como bloques con cuatro campos, de los cuales tan solo el segundo es obligatorio.
3
4
1: se denomina campo calificador y describe el tipo de vínculo entre la etapa y la
acción asociada.
2: es el campo nombre donde se describe el comportamiento de la acción.
3: es booleano y se denomina campo indicador. Permite, opcionalmente,
especificar una condición a cumplir para que la acción se pueda ejecutar.
4: se usa para describir las acciones o complementarlas con otras complejas.
Por ejemplo:
Clock_l Hz
Ql.6
NC 1------------1
Piloto de aviso
En este ejemplo, el Piloto de aviso, que corresponde con la salida Ql.6, se pondrá
en funcionamiento cuando la etapa 7 se encuentre activada y se cumpla la
condición Clock_l Hz, que es un bit que va dando pulsos cada segundo, lo cual
permite que el piloto de aviso se visualice de forma intermitente.
Los calificadores previstos en la norma para incluir en el campo 1 son los
siguientes:
Descripción
Acción continua mientras está la etapa activa
Puesta a O o desenclavamiento (Reset) de la acción a realizar
Puesta a 1 (Set) o enclavamiento de la acción a realizar
Acción limitada en tiempo (Layed) tras la activación de la etapa
Acción retardada en tiempo (Delayed) tras la activación de la etapa
Acción en funcionamiento durante el flanco de activación de la etapa
Acción memorizada (Set) y retardada en tiempo (Delayed) tras la activación de la etapa
Acción retardada en tiempo (Delayed) y memorizada (Set) tras la activación de la etapa
Acción memorizada (Set) y limitada en tiempo (Layed) tras la activación de la etapa
Acción en funcionamiento durante el flanco de activación de la etapa
Acción en funcionamiento durante el flanco de desactivación de la etapa
2.2.4 Reglas del Grafcet
En el diseño y posterior funcionamiento del Grafcet se deben respetar una serie
de reglas, unas que son de evolución del Grafcet y otra de sintaxis.
V
V
V
'
'
l
Recuerda • • •
En la fase de diseño el
Grafcet ha de cumplir
unas reglas
englobadas en dos
grupos:
• Reglas de evolución.
• Reglas de sintaxis.
Unidad 2 - Introducción a la programación
• Reglas de evolución
Las reglas de evolución del GRAFCET describen la dinámica del automatismo
modelado. A continuación, se detallan las cinco reglas fundamentales descritas en
la norma IEC 60848:
REGLA l. INICIALIZACIÓN. El arranque del sistema supone la activación de
todas las etapas iniciales y solamente estas. El estado inicial del GRAFCET se
corresponde habitualmente con el estado de reposo o de parada segura,
estado en que debe encontrarse la planta en el momento de la puesta en
marcha.
REGLA 2. EVOLUCION DE UNA TRANSICIÓN. Una transición está validada
cuando todas las etapas inmediatamente precedentes a ella se encuentran
activas. Una transición será franqueable cuando esté validada y su
receptividad asociada (condiciones) se cumple.
REGLA 3. EVOLUCIÓN DE LAS ETAPAS ACTIVAS. Al franquear una transición
es necesario activar todas las etapas inmediatamente posteriores y
desactivar también simultáneamente las inmediatamente anteriores.
REGLA 4. FRANQUEAMIENTO SIMULTÁNEO. Todas las transiciones
franqueables se franquearán inmediata y simultáneamente. Esta regla
permite definir la evolución de GRAFCET estructurados complejos
compuestos por otros GRAFCET, macroetapas etc.
REGLA S. PRIORIDAD DE ETAPA ACTIVA. Si la evolución de un GRAFCET
(debido a las reglas anteriores) implica la activación y desactivación
simultánea de una etapa, esta deberá permanecer activa.
• Reglas de sintaxis
No puede haber nunca dos transiciones consecutivas sin que por medio
exista una etapa, ni tampoco pueden existir nunca dos etapas consecutivas
sin que exista una transición.
Una etapa no tiene por qué tener obligatoriamente una acc,on asociada,
aunque sí que puede tener más de una acción asociada a una misma etapa.
Es posible que una transición no deba cumplir ninguna condición para ser
franqueada. En este caso, es equivalente a fijar una condición que siempre se
está cumpliendo, como puede ser un contacto de sistema que siempre está
cerrado, por ejemplo, «Always TRUE» (M8190.2).
2.2.5 Niveles de diseños en Grafcet {nivel 1, 2 y 3)
En el momento de diseñar un Grafcet se dispone de tres niveles de desarrollo:
• GRAFCET de Nivel 1. Descripción funcional
Este primer nivel muestra una descripción global del automatismo que permita
entender rápidamente su funcionamiento. Es la descripción que se realizaría para
79
Unidad 2 - Introducción a la programación
80
explicar el funcionamiento de la máquina a la persona que la ha de diseñar.
Podemos resumir que:
Se trabaja con las especificaciones funcionales del automatismo, de forma
independiente a la tecnología que lo llevará a la práctica.
Describe las acciones que se deben efectuar y los elementos de control que
intervendrán, sin indicar los elementos concretos que serán utilizados.
N 1---------1
Avanza em¡:l.Jjada
N 1---------1
Retrocedeempl4aci:>r
Empuja:t oren retroceso
Este nivel 1 de GRAFCET no debe contener
ninguna referencia a las tecnologías
utilizadas; es decir, no se especifica qué
dispositivo hace avanzar el mecanismo
(cilindro neumático, motor, etc.) ni qué
dispositivo realiza la detección de la
posición del mecanismo (fin de carrera,
detector capacitivo, detector fotoeléctrico,
etc.). Tampoco especifica la tecnología que
se utilizará para la solución del proceso
(automatismo cableado, automatismo
programado, neumática, etc.).
• GRAFCET de Nivel 2. Descripción tecnológica
ªº
A+
N I---------;
A-
En este nivel 2 de Grafcet se aplica una
descripción a nivel tecnológico y operativo
del automatismo y así quedan definidas
perfectamente las diferentes tecnologías
utilizadas para cada función. El GRAFCET
indica los trabajos que deben realizar los
elementos seleccionados. De forma
resumida, podemos afirmar que:
- Deben indicarse todas las especificaciones de los órganos operativos.
- Deben detallarse los elementos tecnológicos que intervendrán.
J
V
'-'
,...,
,...,
"'
.......,,
1
Recuerda • • •
'
1 En el momento de
diseñar un Grafcet nos
,....,, encontramos con tres
� niveles de descripción:
• Nivel 1 . Descripción
" funcional.
• Nivel 2. Descripción
tecnológica.
� • Nivel 3. Descripción
operativa.
""
1
Unidad 2 - Introducción a la programación
• GRAFCET de Nivel 3. Descripción operativa
M0.0
M0.1
M0.2
10.2
N 1-QO
.;......
.0_____--I
Avanza em ¡,Jjadcr
QO.l
N l----------4
Retrocedeemp�aOOr
En este nivel es donde se implementa la
tecnología a utilizar. El GRAFCET debe
definir la secuencia de actuaciones que
realizará este proceso. Por ejemplo, si
se utiliza la tecnología programada
mediante un autómata programable,
deben quedar definidas completamente
todas las direcciones de los diferentes
componentes o dispositivos que
intervengan en la cadena secuencia.
Podemos resumir que:
Deben especificarse todos los elementos con los distintivos propios de las
entradas y salidas, así como las marcas o relés internos que serán utilizados.
2.2.6 Tipo de secuencia lineal
La agrupación básica de elementos etapa-transición para construir diagramas
GRAFCET es una conexión en serie (también denominada secuencia). Esto se
corresponde con una cadena de acciones concatenadas de control, en la que cada
una empieza cuando acaba la anterior. Cuando tan solo existe un camino de
evolución del Grafcet, este se denomina secuencia lineal. A continuación, se
representa una secuencia lineal de tres etapas.
MO.O
Q0.0
MO.l N
Avanza empujada-
Q0.1
M0.2 N
Retrocedee mpujador
10.2
Fig. 2.23
81
Unidad 2 - Introducción a la programación
Recuerda • • •
Antes de iniciar el
diseño del Grafcet
debemos conocer
todas las condiciones
de funcionamiento, así
como los tipos de
actuadores que
participan en el
proceso a automatizar.
82
También existen otros tipos de secuencias que en posteriores unidades se irán
aplicando, como:
• Selección de secuencia o estructuras en O.
• Trabajos paralelos o estructuras en Y.
2.2.7 Programa basado en diseño Grafcet
Para practicar con este tipo de secuencias lineales realizaremos un ejerc1c10
práctico. En él se desea llevar a cabo el control del cilindro de doble efecto que
realiza el movimiento del eje vertical del manipulador de carga y que está
gobernado por una válvula monoestable. Este cilindro tiene dos sensores
magnéticos que detectarán cuándo está el cilindro en reposo, (posición alta) y
cuando está en avance (posición baja).
• Condiciones de funcionamiento:
Cuando pongamos en marcha el sistema, tendremos un piloto de señalización '-..-1
de color rojo (Q2.4) en funcionamiento que indica que el proceso se encuentra
detenido al inicio.
Al accionar un pulsador de marcha (10.2), si el cilindro se encuentra en la
posición de reposo (alta) (10.4), se dará la orden de avance (Q0.0) para alcanzar '---'
la posición final (baja) (10.5). A su vez entrará en funcionamiento el piloto de ....__,,,
color verde (Q2.2).
Cuando el cilindro alcance la posición de final (baja) (10.5), de forma ....__,,,
automática se dará la orden de retorno del cilindro a la posición alta, en la que
se mantiene el piloto verde en funcionamiento (Q2.2).
Cuando el cilindro alcance la posición de reposo (alta) (10.4), el sistema
quedará preparado para iniciarse de nuevo, y esto se indicará con el piloto de
señalización de color rojo (Q2.4).
El circuito neumático de la electroválvula a utilizar se representa en la siguiente
figura:
...1
1 0.S
Fig. 2.24
·..J
....)
1
1
�
'
� Recuerda • • •
En el diseño del
Grafcet descriptivo se
'
han de indicar de
forma textual todas las
acciones a realizar, así
,, como las condiciones
que se deberán
cumplir en cada fase
de la secuencia.
'
�
')
'
'
'
.......
' Recuerda • • •
En el diseño del
' Grafcet operativo se
deben expresar las
direcciones que ocupa
cada una de las
acciones a realizar, así
,, como de las
'
condiciones de paso
de etapa.
'
'
'
'
Unidad 2 - Introducción a la programación
En esta otra figura se incluye el plano de situación para localizar el eje vertical
dentro del Simulador 3D:
Fig. 2.25
• Desarrollo del Grafcet
Para el diseño del Grafcet, empezaremos en primer lugar por el Grafcet descriptivo,
que nos servirá para marcar la secuencia del proceso, independientemente del PLC
que se use en el proceso. Para pasar del Grafcet descriptivo al tecnológico hemos
de tener en cuenta las direcciones de las entradas y salidas en el PLC escogido.
Pon er en mcf'cha el piloto ROJO Desactivar piloto VERDE
Pulsado r de Marcha • Cilindro en pos i::ión ala
Cilindro a la posi::ión baja Activar pibto VERDE
Cilindro a la posi::ión de alta
Cilindro en pos i:: ión ala
El siguiente paso es realizar el Grafcet operativo:
• Asignaremos a cada etapa una marca y para ello seguiremos un orden, M0.0,
M0.1, M0.2, ..., aunque no es imprescindible para el correcto funcionamiento
del sistema.
• En cada transición traduciremos las condiciones literales del Grafcet descriptivo
por las entradas asignadas en el PLC de esas condiciones. Las condiciones las
representaremos con el signo «*» las condiciones que van en serie y si son
condiciones que van en paralelo, con un signo «+». Por ejemplo, la primera
transición contiene la condición Pulsador de marcha, que corresponde con la
entrada 1 0.2 y la condición Cilindro en posición alta. Al consultar el esquema
neumático podemos observar que corresponde con la entrada 1 0.4.
83
Unidad 2 - Introducción a la programación
Recuerda • • •
En la implementación
del Grafcet a
programa debemos
tener presente que la
programación se debe
hacer en tres partes:
• Activación de la
etapa inicial.
• Activación de la
secuencia del
Grafcet.
• Activación de las
salidas.
84
az.•
N t-'.".'"------t
PIioto �,o
Ql.2
010
'
M0.1
Dn-c■nd• dlindro
Ql.l
PI IC1tO Mtrch11
'0.5
M0.2 2 • Asclendít dlrtO"o
10.•
El programa lo realizamos con un ejemplo concreto que es el siguiente: se trata de
que cada vez que se accione el pulsador de marcha (10.2), siempre que el cilindro
de la ventosa se encuentre en reposo (10.4), un cilindro se desplazará hasta la
posición de trabajo (QO.O) y cuando haya alcanzado esa posición (10.5),
automáticamente volverá el cilindro de descender la ventosa a su posición de
reposo (10.4). Igualmente, mientras el circuito esté detenido, se pondrá en
funcionamiento el piloto rojo (Q2.4) y cuando el proceso esté en marcha, el piloto
en funcionamiento será el de color verde (Q2.2).
• Implementación del Grafcet en el PLC
Para la implementación del diseño realizado en Grafcet a programa, en este caso
utilizando el lenguaje de diagrama de contactos o KOP, estructuraremos el
programa en tres partes:
- Activación de la etapa inicial y desactivación del resto de las etapas.
- Activación de las etapas de la secuencia del Grafcet.
- Activación de las salidas.
• Activación de la etapa inicial
Primero hemos de hacer que en el momento en que el PLC ejecute el programa
deberá activar tan solo la etapa inicial, que se indica con un doble cuadrado, y que
estén desactivadas todas las demás. Si estamos trabajando con marcas sin ..._,
memoria, sería suficiente con activar solo la marca de la etapa inicial, ya que las '---'
demás, al no tener memoria, se pondrían solas a O.
Para activar la etapa inicial, el PLC dispone de una serie de bits de sistema, tal como ___.,,
la M8190.0, llamada de forma simbólica FirstScan, que está activa durante el
primer ciclo de sean y que es suficiente para activar la etapa inicial asignada a la
marca MO.O. Para realizar esta operación podemos utilizar la instrucción S (SET) y
para desactivar el resto podemos utilizar la instrucción RESET_BF, de forma que el '---"
programa, que se puede introducir por ejemplo en el 0B1, quedará tal y como se
observa en la siguiente figura:
1
Unidad 2 - Introducción a la programación
Segmento 1 : Acti'.&eión de bt e-tapir iniciBal y de,ssctíva-cíón del res.to durante el pñmer ciclo de s.c1m
Comentario
"IM8190_0
•FirstScan•
"lM()_Q
"ETAPA_oo·
1--,--------------------1( S }--
__,
"ETAPA_o1•
L------------------i( RESET.:_BF r-4
• Activación de las etapas de la secuencia del Grafcet
Fig. 2.26
A continuación, creamos una función FCl en la que introduciremos el programa
para la activación secuencial de las etapas de la secuencia del Grafcet.
Onvipvotl
t1•Jn<w,lt � i- bk,q.1.,n lóplr. us 1 ., ,..rtM:fi,
Fig. 2.27
Posteriormente declaramos las variables para la activación de las etapas:
Nombre Tipo de datos Oírección Remanenda: Ví>íble en HMI Accesibledesde HMI
-q¡¡J Etapa_OO Bool %M>.O � �
2 -«ill Etapa_Ol Bool '!oM0.1 �
3 -«ill Etapa_02 Bool %"402 �
Fig. 2.28
Así como de las entradas y salidas necesarias; en este caso, las siguientes:
Nombr;=-=-= Tipo de datos Dirección .... Remsnencia- Visible en HMI
-«ill S2_MAACHA Bool %10.2 �
-G e,_. o VENTOSA ARRIBA Bool %10.4 �
-«ill B2_a 1 VENTOSA ABAJO Bool 'i(,10.5 �
-G Yl_BAIAR VENTOSA Bool %QO.O
-G Hl_VEROE Bool %022
-«ill H3_ROJO Bool %Q2.4
Fig. 2.29
En el FCl, que después será llamado desde el 0B1, realizaremos el programa que
responde a la activación secuencial de las etapas, y para lo que hemos de seguir
una simple regla:
«Si se encuentra activada una etapa y se cumple la condición prevista en la
transición posterior, se deberá activar la etapa siguiente y desactivar la etapa
actual».
85
Unidad 2 - Introducción a la programación
M0.0
M0.l
M0.2
86
R
10.2 • 10.4
N
s
10.5
Por tanto, el programa quedará de la siguiente forma:
Q2-4
Piloto Paro
02-2
PilotoMardla
Q.0.0
Desciendecilíndto
Ql..2
PilotoMarcha
• Segmento 1: Actrr
.toón Ef.t,j>A_01 ydeuctrvd-ct6n d� La EW.',_00
• Condición: Qu,e ,e,;'1!;t,CDWl li,, ,e.ap,a Oy,;-e o1ccion..e el puhldor d,e Mudw ,:;on el diindro en Id
poliiaón de ttpo,;o.
....,
'IMO.O "PULSADOII.OE 'II0.4 1M0.1
.EW"A oo• l,ll.,IIJiK "VENIDSA MAB.
º
"fW,._01
º
-----j -..._____.f-----f f-�--�;•r-
'IMD.0
._______
·......
_,:�
Fig. 2.30a
• .S,egmenlo 2; �OQn f'WA_0.zy.fr,;a�aón d.e Lt E W"
A_01
.., Condtoón: � l!'ib! .tctNd lis e't.lpit l y,¡;e de�� ,el ,;,en1,;ord.e que ta-�• h.l ..bn:.1do la
pnición inlerior.
Acción a tt1JliMr: �;illCW-.tr itli!ctrC'lloiMllil p,ms el d.e-spl,! ri1mltnto del dindro d llp o-.ición de
tt�O.
'IM0.1 'IKI.S
"ElN'._01
º
"VENTO'U.AllW
º
1-------< 1---�----------i., r-
Fig. 2.30b
AscH!nde cilindt0
._j
10.4
• .Se_grnento 3: ��n t:UIM_OOyd,e;JOÍf
dCtOOde l.l ENA_OZ
-. Ccndicián: Que e,;ti ilCÓlfd lill ecapa Z_y,;e de�cu el ,;,em;a, d,e que Ll wnco-.11 h.t r.tkitnlltdo a.
po,;ición ,;upuior
• Activación de las salidas
'IM0.2 "II0.4 T.Mo.o
"EliYA oz• -W:NTI>SA.Mm!A" ºELYA_OQ"
-----j -
- �-----';•r-
TM0.2
L----------·�
n,,:;__
Fig. 2.30c
La activación de las acciones asociadas la programaremos en el
posteriormente se realizará la llamada a este FC2 desde el 0B1.
FC2 y
El programa en el FC2 se realizará de forma que las salidas se programen de manera
ordenada. Este hecho, para cuando el programa sea mucho más grande, nos
facilitará la localización de todas ellas de una forma más rápida.
Hemos de realizar el programa tal que la marca asignada a cada etapa active la
acción o acciones que esta tiene asociadas.
Si la letra que acompaña a la acción a realizar, dentro del símbolo de la acción ..../
asociada, es una N, entonces programaremos la acción mediante una salida normal.
s..../
Si hay una S, la programaremos como forzado a la activación o SET, y si hay una R,
la programaremos como forzado a la desactivación o RESET.
'
M0.2
Recuerda • • •
Para una mayor
estructuración de los
proyectos se
recomienda utilizar
diferentes bloques de
programa.
N
10.S
10.4
Unidad 2 - Introducción a la programación
• Segmento 4: Piloto dP sPñ1hZ11ción rojo
'!IM).0
Fig. 2.31a
Fig. 2.31b
'IQ2..4
"H3_ROJO"
'IQ2.2
"Hl_llERDE"
1----------------------{ R
a.o.o
Desciendeálindro
Piloto Marcha
• Segmento l : M1Jnipul1dor de carg.-. E.je vertical. Elernovalvula monoestable. O!'SC!'nder !'JE'
'IIM>.1 Fig. 2.31c
Fig. 2.31d
'IQO.O
"Yl BAIM
1/El'ITOSA'
'IQ2.2
"Hl_llERDE"
1--------------------; S
Asci<tnde a
lindro
Se puede observar además cómo la etapa 2 no tiene ninguna acción a realizar, ya
que lo ·que debe hacer es desactivar la electroválvula que controla el cilindro, y
como esta es monoestable, con tan solo no activarla, que es lo que realiza en la
etapa 1, ya será suficiente para que el cilindro retorne a la posición de reposo.
• Llamada a las funciones FCl y FC2 desde el 0B1
Acompañando a la parte de programa de activación de la etapa inicial en el primer
sean completamos el programa en el 0B1 con las llamadas a las dos funciones FCl y
FC2 de activación de las etapas y de las salidas.
,.. Segmento 2: Llamada s la función FCl de activación de las etapas
L "'G1_Actiwci�nElspe••
1
EN ENO ----------------
Fig. 2.32
Segmento 3: Llamada a la fucnión FC2 de activación de las salidas
...
•ActivadónSalídas•
ENO ----------------
Fig. 2.33
2.2.8 Comprobar funcionamiento con maqueta de simulación 3D
Se debe observar cómo al accionar el pulsador de MARCHA, el cilindro vertical
debe realizar el movimiento de descenso y alcanzar la posición inferior para, a
continuación, realizar el funcionamiento y alcanzar de nuevo la posición superior.
87
Unidad 2 - Introducción a la programación
88
• Panel Control del proceso
En él encontramos el pulsador de MARCHA, necesario para poner en
funcionamiento el cilindro.
Control del proceso
(1 ■■r. [iJ
EMERGENOA PARO "1ARCHA AUT'MAN ACK
■ ■■■ ■·:
Fig. 2.34
En el simulador 3D podremos visualizar el desplazamiento del eje vertical.
Fig. 2.35 Fig. 2.36
Eje vertical en posición de reposo Eje vertical en posición de avance
Unidad 2 - Introducción a la programación
CONTROL DEL MOVIMIENTO DEL EJE HORIZONTAL MEDIANTE UNA ELECTROVÁLVULA BIESTABLE
Queremos realizar el control del cilindro de doble efecto que realiza el movimiento del eje horizontal
del manipulador de carga que está gobernado por una válvula biestable. Este cilindro tiene dos
sensores magnéticos que detectarán cuándo el cilindro está en reposo, posición derecha de carga, y
cuando está en avance, posición izquierda de descarga.
Condiciones de funcionamiento:
• Cuando pongamos en marcha el sistema, tendremos un piloto de señalización de color rojo (02.4)
en funcionamiento que indicará que el proceso se encuentra detenido al inicio.
• Al accionar el pulsador de marcha (10.2), si el cilindro se encuentra en la posición de reposo (carga)
(10.6), se dará la orden de avance (00.1) para alcanzar la posición final (descarga) (10.7).
• Cuando el cilindro alcance la posición de final (descarga) (10.7), al volver a accionar el pulsador de
marcha (10.2), se dará la orden de retorno del cilindro a la posición de carga (00.2).
• Cuando el cilindro alcance la posición de reposo (10.6), el sistema quedará preparado para iniciarse
de nuevo y esto se indicará con el piloto de señalización de color rojo (02.4).
Fig. 2.37
Relación de entradas y salidas:
ENTRADAS SALIDAS
Dirección Dispositivo Dirección Dispositivo
10.2 S2 Pulsador de marcha Q0.l
Y2 EV Cilindro ventosa a la
izquierda
10.6 B3 Detector cilindro eje horizontal a la derecha Q0.2 Y3 EV Cilindro ventosa a la derecha
10.7 B4 Detector cilindro eje horizontal a la izquierda
Realizar:
• Diseño del Grafcet.
• Implementación a programa del PLC.
Q2.4 H3 Piloto rojo
• Comprobación del funcionamiento mediante la maqueta de simulación 3D.
89
'
, .,
'
Unidad 3 - Programación con temporizadores IEC
Unidad 3 Programación con temporizadores IEC
,.. � lloq1.,u dt P'Q;ru,.,
i1>' J,gr-egu ...,.e,ot:.1c,qw
• .._• toe,¡
.. 54""-P lQIIOC'I
• -.tor �U � ÍS�'!'I
. ... Ob¡t:o,. :e�C1
• Fvtn.:.s t-o:.t,·T.u
·, 't, "
S�5: Nwia wWiaoéa �
...,.
"0t_l0tll_..
En este capítulo:
3.1 Características y tipos de temporizadores IEC
3.2 Funcionamiento de los temporizadores IEC
3.2.1 TON. Temporizador a la conexión
3.2.2 TOF. Temporizador de retardo a la desconexión
3.2.3 TP. Temporizador de impulso
3.2.4 TONR. Temporizador acumulativo
3.3 Generadores de impulsos
3.4 Preselección directa e indirecta de temporizadores
3.4.1 Valor de temporización constante o
direccionamiento directo
3.4.2 Valor de temporización variable o
direccionamiento indirecto
3.5 Varios temporizadores en un único DB de instancia
3.5.1 Temporizador programado en un bloque de
organización (OB) o en una función (FC)
-
�-<U(_
" ,.,
3.5.2 Temporizador programado en un bloque de
función (FB) con bloque de datos multi­
instancia
3.5.3 Declaración de varios temporizadores IEC en un
mismo bloque de datos
3.6 Programación en Grafcet (11)
3.6.1 Acciones asociadas temporizadas. Símbolos D y L
3.6.2 Acciones condicionadas (bit intermitencia)
3.7 Programa basado en diseño Grafcet
3.7.1 Solución con varios DB de instancia para cada
temporizador
3.7.2 Solución con un solo DB para todos los
temporizadores
3.8 Comprobar funcionamiento con maqueta de
simulación 3D
Ejercicio propuesto
91
Unidad 3 - Programación con temporizadores IEC
92
Recuerda • • •
Los tipos de
temporizadores que se
pueden programar en
un S7-1 200 son los
siguientes:
• TON: temporizador a
la conexión.
• TOF: temporizador a
la desconexión.
• TP: temporizador de
impulso.
• TONR: temporizador
acumulativo.
Recuerda • • •
Los tipos de
temporizadores IEC
que se pueden
programar tanto en un
S7-1 200 como S7-1 500
se asocian a un DB de
instancia y el tipo de
dato del valor del
tiempo de tempo­
rización es «Time».
--- IN
<???> - PT
lON
líme
Fig. 3.2
Q -­
E1 - ---
3.1 Características y tipos de temporizadores IEC
Los temporizadores IEC que se incluyen en el PLC 57-1200 son los siguientes:
• TON: temporizador a la conexión.
• TOF: temporizador a la desconexión.
• TP: temporizador de impulso.
• TONR: temporizador acumulativo.
Los símbolos para poder utilizar estos temporizadores dentro de un programa en
diagrama de contactos se pueden localizar dentro de la carpeta Temporizadores
que hay en el grupo Instrucciones básicas.
Nombre
Tempori?Bdores
.. 11'
• mN
• mr
.. lONR
l -{IP}­
@ -(TON}­
) -(TOF'}­
J -(TONR}­
@ -(111)­
-(Pl)-
Descripción
Impulso
Retardo al conectar
Retardo al desconectar
Acumulador de tiempo
Arranclfr temporímdor como impulso
Arranear tempori21tdor como retsrdo a la cone,óón
Arrancar temporiador como retardo a la descone>áón
Acumulsdor de tiempo
lnicialimr tempori?B-dor
Cargar tiempo
Fig. 3.1
Algunas de las principales características de estos temporizadores IEC son:
• Todos los temporizadores IEC van asociados a un DB de instancia.
• No vienen determinados por un número, sino por el nombre
asignemos al DB de instancia asociado.
que le
• Los temporizadores IEC pueden llamarse las veces que sean necesarias, ya
que no existe un número determinado.
• Los temporizadores IEC presentan un mayor rendimiento y una mayor
precisión.
• El formato del valor del tiempo es del tipo TIME.
3.2 Funcionamiento de los temporizadores IEC
En los siguientes apartados se expone el funcionamiento de cada uno de los
temporizadores del tipo IEC.
3.2.1 TON. Temporizador a la conexión
Con la instrucción TON se puede retardar la activación de la salida Q por el tiempo
programado en la entrada PT (Preset Time). Al poner en funcionamiento el
temporizador, el tiempo se inicia a partir de O s hasta alcanzar el valor de tiempo
programado en el parámetro PT.
El temporizador IEC tipo TON dispone de los siguientes parámetros:
IN: condición para la activación del temporizador (obligatoria).
PT: valor del tiempo en formato TIME, por ejemplo, T#lüs. El valor máximo que se
puede programar es T#24d_20h_31m_23s_647ms.
Q: salida booleana para indicar con un 1 que el tiempo ha finalizado.
ET: salida para indicar el valor actual del tiempo en formato TIME.
'-"
�
'-"
'-J
._____,
v
�
'-"
'---'
1
)
')
'
'
'
'
'
,,---..
l
1
'
Recuerda • • •
Básicamente el
funcionamiento del
tipo de temporizador
TON hace activar su
salida «Q» después de
haber transcurrido el
tiempo programado,
manteniendo la
entrada «IN» del
temporizador
activada.
Unidad 3 - Programación con temporizadores IEC
Además, una vez insertado el objeto en el programa, en la parte superior
aparecerá de forma automática el DB asociado.
Si representamos el funcionamiento de este tipo de temporizador de forma
gráfica, tenemos:
IN
Q ¡. LJ
ET
PT
Fig. 3.3
Donde el funcionamiento es el siguiente:
L
• La instrucción se inicia cuando el resultado lógico (RL0) de la entrada IN
cambia de O a 1 (flanco de señal ascendente).
• El tiempo programado PT empieza a contarse al mantener activada la
entrada IN.
• Una vez transcurrido el tiempo PT, la salida Q devuelve el estado lógico 1.
• La salida Q permanece activada mientras la entrada I N se mantenga a 1.
• Cuando el estado lógico de la entrada de arranque cambia de 1 a O, se
desactiva la salida Q si esta se encuentra activada.
• La función de temporización se reinicia al detectarse un flanco de señal
ascendente nuevo en la entrada IN.
• El valor de tiempo actual se puede consultar en la salida ET. Este valor de
tiempo empieza a partir de T#Os y termina al alcanzarse el valor del
tiempo PT. La salida ET se resetea en cuanto el estado lógico de la entrada
IN cambia a O.
A cada llamada de la instrucción TON se le debe asignar un temporizador IEC en el
que se guardan los datos de la instrucción. Un temporizador IEC se puede declarar
como se indica a continuación.
Al insertar la instrucción en el programa, aparece el cuadro de diálogo Opciones
de llamada:
pelones de llamada
lnnancUI
individual
Blpque de daao.
Nombr, nu-=[d¡¡f¡jj
=:::S•�
lliliJ:,:::::::::.i
5
Q �nu.sl
© Autom,hico
El bloque de fun::tón 11ornado guardo 'iu'i d,stos en un bloque
de doto, de iou�ncio propio.
Fig. 3.4
93
Unidad 3 - Programación con temporizadores IEC
94
En él aparece el campo Nombre, en el que se asigna un nombre simbólico al DB
asociado al temporizador. Podemos dejar el que viene por defecto o bien
modificarlo.
También nos ofrece otras dos opciones:
• Manual: podemos elegir el número del DB asociado.
• Automático: asigna un número de DB libre de forma automática
En este caso modificamos el nombre, escribiendoDB_TON_0l, y de forma manual
le asignamos el D810 como DB asociado a este temporizador:
poones de llamada
1nsunci1
ind,vidu1I
_.._
Nomb,e '"
o
-
,_
-
10
-
N_
-
o,-----......
Número
E) Automfflco
E:I bloque de func:i6n ll1mado gu1rd1 s:us: datos en un bloque
de datos dP in1.uncie propio
mh
Fig. 3.5
1nuancia
individual
_.._
Nombre "
oe
"'""'
ro
"'
•-
""
o,
,------...,...
Número 10 :
@ Msnu1I
QAutomático
El bloque de función Hamado guarda sus datos rn un bloque
de da«u de innancia propio.
Fig. 3.6
Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de
programa > Bloques de sistema > Recursos de programa del árbol del proyecto.
l'ro)ftlO fdit,6,i ...H lftltNI Otllonf � i'tl'<Ylfl'�nQII WIU... �
.,i _!I B G,,iwda,,..,,...a, ,:. )( 11 ,c q1 c- · ·Aá l! li E Q ;;J t�...-.t,,,...,_ J,
"
Dbposl�
0 0
• .J UNO,<,D_Ol
• �•Apo,_
. Oilpof- y'"1ff
• .. PlC_l !C,U UI.-C�
ft tom,ur,C161, Mdósp,»11r,OJ
i1 0.-..y�ll<O
• 'iil llcwrun • Pf'09f''"•
lf "'9re¡o•-..,�
. Ml.,10111
•:a,.�•···�-
!1 3
,·
.....l'iclmM T"
f!Kt4"'-""'
.,.~
<:i • lnlllol_C.I
c!.l...... ---
...... ...
,t- -o- m - ..,
• Tltulo dl!l bloqut,;
.. Cheomentc1 1:
...,
'Dl_lDN...01"
f-----fl...-__________
► lfUH
, ¡j¡ o.ms llt�dt 611pcs­
!¡ ......,,,.,11k-lprog,,.,...
IJ ....1
.. fl•-
' i4i lil6chilc>J kult1
1 J 01101com�l'IU
► Ji1 Con'9..,Ho6ndtldo<umuVIO
► ..$ 1d;o,,,.1 yrttu,t,O,,
► �<UOS .........
Ejemplo:
• �nto2:
f•-
Fig. 3.7
..,.
..,.
·­
<l -<')-
<) -(>OH)­
◄) -(10f)­
<l -('>O>­
...,,,,.
<> -
• � Corrlldo,e,
► ..1J C.....po11ti6n
► .1... ,.....-,..,,1�111R(•'
• 'l<lndtllrKi►
• :iri �,6,t
► Í,O Conuol�IP'oSI""'•
/11
:
L •
.lt... • i,
�� f
Mediante un sistema de paro-marcha queremos activar el piloto verde (Q2.2) y
también un temporizador que, una vez transcurridos 10 segundos después de
haber activado el pulsador de marcha conectado en la entrada 10.2, hará que se
conecte el piloto azul (Q2.3). Si en cualquier momento accionamos el pulsador de
paro, conectado a la entrada 10.1, el piloto verde y el temporizador dejarán de
funcionar y se reseteará el valor de temporización. En todo momento se deberá
visualizar en el registro MD100 el último valor de temporización:
...__,.-
'-...,,"
'
Unidad 3 - Programación con temporizadores IEC
"II0.1
"Sl_pARO"
"II0.2
"S2_MARCHA"
�2.2
L:.SVERDE"
'IDB1
"DB_lON_Ol"
lON
líme
'IQ2.2
"Hl_VERDE"
}---<
'IQ2.3
"H2_AZUL"
'------- IN
T#1 0s - PT
Q ---{ }---<
1MD100
ET - "líempo_Actual" Fig. 3.8
También podemos utilizar los parámetros del temporizador, tanto de entrada
como de salida, en diferentes segmentos del programa:
"II0.1
•s1_pAROº
"II0.2
"S2_MARCHAº
'IQ2.2
"Hl_VERDE'
� �
¡
--r--------------1(
}---<
b�tJ Fig. 3.9a
Para poder guardar en el registro MD100 el último valor de temporización
utilizaremos la instrucción MOVE, que copia el dato de la entrada IN en la
dirección de la salida OUTl:
'IDB1
"Hl��E" ºDB_lON_Ol º
t--....--------------------1( !� }-<
MOVE T#1 0s
�----- EN - -
ºDB_lON_Ol ".El - IN 1MD100
.;� OUTI - •ttempo_Actua I""
l ·oa�
'lQu
�
N_
l-
0
_
1
•
_
.o
___________________•
--I
H
2
_
AZ�
Control d�I proceso
Fig. 3.9b
Fig. 3.9c
Al comprobar el funcionamiento sobre la
maqueta 3D, si accedemos al panel Control
del proceso, podemos actuar sobre los
pulsadores de PARO y MARCHA:
,.
,-�..
1
- � [fi::�
O!ERGENOA PARO MARO.A Alr"'MAN ACK Ml
■■■ ■-:
520-H20 521..ff21 522-Hll 523-H2l 52+H24 -.12
Fig. 3.10
Y observando el funcionamiento de los pilotos de la baliza, veremos las tres
situaciones siguientes en función del estado del programa:
Pilotos apagados Piloto verde encendido
Fig. 3.lla Fig. 3.llb
Piloto verde y
azul encendido
Fig. 3.llc
95
Unidad 3 - Programación con temporizadores IEC
lOF
líme
---1 1N Q
<??!> PT E1
Fig. 3.12
Recuerda • • •
Básicamente el
funcionamiento del
tipo de temporizador
TOF hace activar su
salida (<Q» justo al
conectar la entrada
«IN» del temporizador.
Después de haber
transcurrido el tiempo
programado, dicha
salida se
desconectará.
96
3.2.2 TOF. Temporizador de retardo a la desconexión
Con la instrucción TOF se puede retardar la desactivación de la salida Q según el
tiempo programado en la entrada PT (Preset Time). Al poner en funcionamiento el
temporizador, el tiempo se inicia en O s hasta alcanzar el valor de tiempo
programado en el parámetro PT.
El temporizador IEC tipo TOF dispone de los siguientes parámetros:
IN: condición para la activación del temporizador (obligatoria).
PT: valor del tiempo en formato TIME, por ejemplo, T#lüs. El valor máximo que se
puede programar es T#24d_20h_31m_23s_647ms.
Q: salida booleana para indicar con un 1 que el tiempo ha finalizado.
ET: salida para indicar el valor actual del tiempo en formato TIME.
Además, en la parte superior aparecerá de forma automática, una vez insertado el
objeto en el programa, el DB asociado.
Si representamos el funcionamiento de este tipo de temporizador de forma
gráfica, tenemos:
lJ
Q
ET
P
T
Fig. 3.13
Donde el funcionamiento es el siguiente:
• La instrucción se ejecuta cuando el resultado lógico (RLO) de la entrada IN
cambia de O a 1 (flanco de señal ascendente).
• A partir de este momento e inmediatamente, la salida Q pasa al estado
lógico l.
• Cuando la condición programada en la entrada IN cambia de 1 a O, el
tiempo programado PT empieza a contar.
• Una vez transcurrido el tiempo PT, la salida Q se desconecta poniéndose
al estado lógico O.
• Cuando el estado lógico de la entrada de arranque IN cambia de O a 1,
aparte de activarse la salida Q, el tiempo se detiene hasta detectar un
nuevo paso de la entrada IN de 1 a O.
• El valor de tiempo actual se puede consultar en la salida ET. Este valor de
tiempo empieza a partir de T#0s y termina al alcanzarse el valor de PT. La
salida ET se resetea en cuanto el estado lógico de la entrada IN cambia a l.
Unidad 3 - Programación con temporizadores IEC
Al igual que el temporizador TON, a este TOF también se le debe asignar un
bloque de datos DB en el que se guardan los datos de la instrucción. La
declaración de este tipo de temporizador se realiza igual que se hizo con el
temporizador TON.
En este caso modificamos el nombre, escribiendo DB_TOF_01, y de forma manual
le asignamos el 0B2 como DB asociado a este temporizador:
Opciones de llamada
B
lrlsuncia
indrhdual
_..._
Nomb" ,-
OB
-
_10
_
F_
01
------,-,
Númt-ro
..,,.__.,......:
@ Mtnual
Q Automatico
El bloqut' de función ll11mado guarrla sus datos en un bloqut'
dr datos dt' insumía propio..
mó,
Fig. 3.14
Al crear el bloque de datos, y de igual forma que
ocurría en el temporizador tipo TON, lo podemos
encontrar en la carpeta Bloques de programa >
Bloques de sistema > Recursos de programa del
árbol del proyecto.
Arbol del proyecto IT ◄
Ejemplo:
Dispositivos
" o C)
• ..J UN!DAD_03
WAg�gar dispositivo
.L Oispositivos y rt'dt'S
• '}a Pl.C_l (CPU 1214C AC/DC,/Rlyl
Configuración de dispositivos
� On!int' y di19nón1co
• � Bloques de progr1m1
W Agregar nuevo bloque
::11- Mein JOBl]
• siartup ¡oe1 00¡
.. l _Tempori:::iidor_lON jFC1J
• 2_Temporiiador_10F jFCl]
• ;zr, Bloqu!'s dt' sistema
• � �cur5os de programe
f
---��
OB_TOF_Ol fD�
.. 0B_lON_01 IOBlJ
► Objt'tos tecnológicos
Fig. 3.15
Al accionar cualquiera de los dos pulsadores conectados a las entradas de marcha
(10.2) y ACK (13.1), se pondrá en funcionamiento el piloto verde (Q2.2), que dejará
de funcionar una vez transcurridos 10 segundos después de que ninguno de los
dos pulsadores esté accionado.
Si en cualquier momento volvemos a accionar cualquiera de los dos pulsadores, el
tiempo se reiniciará.
Al finalizar el tiempo, aparte de desconectarse el piloto verde, el tiempo actual se
mantendrá en los 10 segundos hasta una nueva activación de los pulsadores.
En todo momento se deberá visualizar en el registro MD100 el último valor de
temporización.
97
Unidad 3 - Programación con temporizadores IEC
1P
T
i
me
-----t lN Q
98
<l??> - PT E1
Fig. 3.18
'11>82
"D8_10F_01 "
110.2 lOF
•s2_MARCHA" Time
'I.Q2.2
"Hl_VERDE"
IN Q -------...J )-------,
113.1
·ss_puLSADOR
ACK'
T#1 0s PT WD100
ET - "1íempo_Actua 1•
Fig. 3.16
También podemos utilizar los parámetros del temporizador, tanto de entrada
como de salida, en diferentes segmentos del programa:
1102 '11>82
"S
2
_MARCHA" "DB_lOF_01 •
d
-
"-T
---------------
�( !� )--<
T• 1 0s
•ss_p:s�OR
ACK'
'l,Q2.2
•oB_lOF_01 ".Q "Hl_VERDE"
1-
1 -�---------------'
( )-------,
Fig. 3.17a
MOVE
�----- EN - -------t
"DB_lOF_01 ".E1- 1N WD100
.;} OUTI - •Tíempo_Actua 1•
Fig. 3.17b
Al igual que el tipo de temporizador TON, podemos comprobar el funcionamiento
del ejemplo anterior desde el simulador 3D observando la activación y
desactivación del piloto verde de la baliza y actuando sobre los pulsadores de
marcha y ACK.
3.2.3 TP. Temporizador de impulso
Con la instrucción TP se puede retardar la desactivación de la salida Q según el
tiempo programado en la entrada PT (Preset Time). Después de que la entrada IN
detecte un flanco positivo, aunque se diera el caso de volver a detectar otro
flanco positivo en la entrada IN durante el funcionamiento del temporizador, este
no se verá alterado. Al poner en funcionamiento el temporizador, el tiempo se
inicia a partir de O s hasta alcanzar el valor programado en el parámetro PT.
El temporizador IEC tipo TP dispone de los siguientes parámetros:
IN: condición para la activación del temporizador (obligatoria).
PT: valor del tiempo en formato TIME, por ejemplo, T#lOs. El valor máximo que se
puede programar es T#24d_20h_31m_23s_647ms.
Q: salida booleana para indicar con un 1 que el tiempo ha finalizado.
ET: salida para indicar el valor actual del tiempo en formato TIME.
Además, en la parte superior aparecerá de forma automática, una vez insertado el
objeto en el programa, el DB asociado.
J
J
J
V
'
Recuerda • • •
' Básicamente el
í funcionamiento del
tipo de temporizador
TP hace activar su
salida «Q» después de
haber transcurrido el
' tiempo programado sin
, la necesidad de
mantener la entrada
' «IN» del temporizador
, activada.
'
í
í
.-...,
í
í
í
í
í
'
'
'
'
'
'
'
Unidad 3 - Programación con temporizadores IEC
Si representamos el funcionamiento de este tipo de temporizador de forma
gráfica, tenemos:
" LJ nn
o LJ
PT PT
ET
PT
Fig. 3.19
Donde el funcionamiento es el siguiente:
L
PT
L
• La instrucción se inicia cuando el resultado lógico (RLO) de la entrada I N
cambia de O a 1 (flanco de señal ascendente).
• A partir de este momento la salida Q pasa al estado lógico l.
• En ese momento se inicia la temporización según el tiempo programado
en el parámetro PT.
• Una vez transcurrido el tiempo PT, la salida Q devuelve el estado lógico O,
independientemente de que la entrada IN continúe estando activa.
• Si mientras el temporizador se encuentra contando el tiempo, en la
entrada IN se detecta un nuevo flanco ascendente, el funcionamiento del
temporizador no se verá alterado.
• El valor de tiempo actual se puede consultar en la salida ET. Este valor de
tiempo empieza a partir de T#0s y termina al alcanzarse el valor del
tiempo PT.
Al igual que los temporizadores TON y TOF, a este TP también se le debe asignar
un bloque de datos DB de instancia en el que se guardan los datos de la
instrucción. La declaración de este tipo de temporizador se realiza igual que se
hizo con los anteriores temporizadores TON y TOF.
En este caso modificamos el nombre, escribiendo DB_TP_01, y de forma manual
le asignamos el 0B3 como DB asociado a este temporizador:
Opciones de llamada X
lnn11nci1
individual
Bloque cle -
---------
:�:::: �
º
":
-'"
�-:
º
'::::"'
:
.,
r--
----
Q AutomatJtO
El bloque de función llamedo guarda sus datos rn un bloque
de datos de instancia propio.
más.
Cancelar
Fig. 3.20
99
Unidad 3 - Programación con temporizadores IEC
100
Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de
programa > Bloques de sistema > Recursos de programa del árbol del proyecto.
Ejemplo:
• t.J UNIDAD_03
lf"1rig�q.udi-.pmitivo
iti or.po..ruvo-. y �dl!!-.
• [m PL<:_1 (CPUUHC.ACIOC/Rly!
ltt Configurdci6n de dkpo-.itivo-.
jJ Onlinl!! ydi.lgnó"tico
• 'i:,. Bloquie1o die programa
lf Ag�qar nuevo bloque
.. M,in {OB1 )
a- s�rtup (OB100]
.. ,_T,empori.Mdor_IDN (FC1 J
• 2_Temporir.idor_:roF (FC2]
.. 3_Ti!!mporiz.,dor.JP (FC3)
• $l Bloque-. de siuema
• � Recun;os de progntmd
ii OB_lOF_01 (082)
0B_IDN_01 (D81 )
......-.... = ·�•-11'_01 (083J...-...
► Objeto-. tecnológicos
Fig. 3.21
•
Mediante un sistema de pulsadores conectados a las entradas de marcha (10.2) y
ACK (13.1), debemos conectar el piloto verde (Q2.2) durante un tiempo de 10
segundos justo después de haber pulsado cualquiera de los pulsadores.
Si en cualquier momento volvemos a accionar alguno de los dos pulsadores, el
tiempo no se reiniciará.
Al finalizar el tiempo, aparte de desconectarse el piloto verde, el tiempo actual se
reseteará y se colocará a O segundos hasta una nueva activación de los
pulsadores.
En todo momento se deberá visualizar en el registro MDlOO el último valor de
temporización.
'XD83
ºDB_ll'_01
º
'Y.I0.2 1P
ºS 2_M'IRCHA
º Tíme
'Y,Q2.2
ºH1_VERDE
º
IN Q -----------! }---<
T#l Os - PT 'Y.MD100
'-13.1
·ss_pULSADOR
ACK"
r�:
OE" MCM
B_ll'
,_
_
_
01
-
º
.
-
ET
-
-
- �: -
�� OLJTI
ET- ºlí• mpo_Actua r
'Y.MD1 00
ºlíempo_Actua r
Fig. 3.22a
Fig. 3.22b
También podemos utilizar los parámetros del temporizador, tanto de entrada
como de salida, en diferentes segmentos del programa:
V
V
V
V
J
)
'
'
)
)
)
1 ,
lONR
Time
--- IN Q --
... - R E1
<1??> - PT
Fig. 3.24
Recuerda • • •
Básicamente el
funcionamiento del
tipo de temporizador
TONR es idéntico al
tipo TON, pero con la
particularidad de que
acumula el tiempo
transcurrido ante la
desactivación de la
' entrada «IN» del
'
)
'
)
1
'
temporizador.
Unidad 3 - Programación con temporizadores IEC
'11)83
"lKl.2
"DB_lP_Ol "
"52_""'-RCHA"
ci
---,-----------------1( 1i:,e }---
T�l O<
·ss_P��s�oR
ACK"
'Y,()2.2
"DB_lP_01 ".Q "Hl_VERDE"
1 ( )------,
MOVE
�----- EN - ---<
"DB_lP_Ol ".ET- IN 'IMD100
;� OUTI ..,_ •írempo_Actuar
3.2.4 TONR. Temporizador acumulativo
Fig. 3.23a
Fig. 3.23b
Con la instrucción TONR se puede acumular o memorizar el tiempo dentro de un
periodo definido en el parámetro de entrada PT (Preset Time). Cuando la entrada
IN detecte un flanco positivo, cambio de O a 1, se ejecuta la instrucción y empieza
a contar el tiempo, memorizándose este en el parámetro de salida ET para un
incremento en otra temporización o una puesta a O mediante la entrada R. La
salida Q tan solo se mantiene a 1 cuando haya finalizado el tiempo total
programado en la entrada PT.
Podemos decir que este tipo de temporizador tiene un funcionamiento similar al
tipo TON, pero con la opción de acumular el tiempo transcurrido.
El temporizador IEC tipo TONR dispone de los siguientes parámetros:
IN: condición para la activación del temporizador (obligatoria).
R: entrada para poner elvaloractualde temporización a O y desconectar la salida Q.
PT: valor del tiempo en formato TIME, por ejemplo, T#lüs. El valor máximo que se
puede programar es T#24d_20h_31m_23s_647ms.
Q: salida booleana para indicar con un 1 que el tiempo ha finalizado.
ET: salida para indicar el valor actual del tiempo en formato TIME.
Además, en la parte superior aparecerá de forma automática, una vez insertado el
objeto en el programa, el DB asociado.
Si representamos el funcionamiento de este tipo de temporizador de forma
gráfica, tenemos:
IN
R
o
PT
ET
Fig. 3.25
101
Unidad 3 - Programación con temporizadores IEC
102
Donde el funcionamiento es el siguiente:
• La instrucción se inicia cuando el resultado lógico (RLO) de la entrada IN
cambia de O a 1 (flanco de señal ascendente).
• En ese momento se inicia la temporización según el tiempo programado
en el parámetro PT.
• Una vez transcurrido el tiempo PT, la salida Q devuelve el estado lógico 1,
independientemente de que la entrada IN continúe estando activa o no.
• Si mientras el temporizador se encuentra contando el tiempo se
desconecta la entrada IN, el temporizador detendrá al valor actual y
quedará memorizado en el parámetro de salida ET.
• El valor actual de temporización se podrá reiniciar al valor O activando la
entrada R. También mediante esta misma entrada será la única forma de
desactivar la salida Q cuando esta se encuentre activada.
• El valor de tiempo actual se puede consultar en la salida ET. Este valor de
tiempo empieza a partir de T#0s y termina al alcanzarse el valor del
tiempo PT.
Al igual que los temporizadores TON, TOF y TP, a este TONR también se le debe
asignar un bloque de datos DB de instancia, en el que se guardan los datos de la
instrucción. La declaración de este tipo de temporizador se realiza igual que se
hizo con los anteriores temporizadores TON, TOF y TP.
En este caso modificamos el nombre, escribiendo DB_TONR_0l, y de forma
manual le asignamos el 0B4 como DB asociado a este temporizador:
Opnones de llamada
lnstlnci•
individu•I
Bloque da -
"""'�" ,-
DB
-
_TON!..
--
-
0,------,..,
Q ALttcmf.tico
EI bfoque de ilncrónll•m1.do gutrd1- s.ui da.toi, t>Pun bfcque
de dnr..s. dr iru.-t1ndt proptO..
má,
Fig. 3.26
Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de
programa > Bloques de sistema > Recursos de programa del árbol del proyecto.
Arboldel pr<JY'""tQ ◄
Dispositivos
..:! o C)
,... ..J UtflOAD_D3
W Agrrg,rd1J.poi.11ivo
él trupoi;nivmyrffli.
,.. ..!11 Pl.C_11"'1121«::�
Conigun.ciondt' diJ.poinwtls
yJ Ol'lline'ydi■grtóstKo
• Bloques dt' prog:r1m1
lf �n-g•rnurvo bloque
• Mlm lOBlJ
• SfJlnup IOB100J
• 1_Tempomlldor_10N IFC1)
• 2_Tempori::1dor_TOf JfC2)
• 3_Tempori3dOl'_1P jf□)
• -4_Tempori,dor_� jfCAJ
..,. �curso� de progr1mt
lj 08_10(
..01 1062)
Fig. 3.27
'
'
'
'
'
1
'
1
1
Unidad 3 - Programación con temporizadores IEC
Ejemplo:
Mediante un sistema de paro-marcha queremos activar el piloto verde (Q2.2) y
también un temporizador que, una vez transcurridos 10 segundos después de
haber activado el pulsador de marcha conectado en la entrada 10.2, hará que se
conecte el piloto azul (Q2.3). Si en cualquier momento accionamos el pulsador de
paro, conectado a la entrada 10.1, el piloto verde y el temporizador dejarán de
funcionar y se memorizará el valor de temporización. Para poder resetear tanto el
valor actual de temporización como desactivar la salida Q, se deberá activar el
pulsador ACK (13.1). En todo momento se deberá visualizar en el registro MDl00
el último valor de temporización:
,io.1
"Sl_pAAO"
,io_2
"S2_MARCH/I'
�22
L:SVERDE"
"IDB4
·os_mNR_o1 ·
IDNR
Time
1Q22
"Hl_VERDE"
)------t
1Q2.3
"H2_AZUL•
------ IN Q ----{ )------t
113.1
·ss_pULSADOR
ACK" - R
'r.MD100
ET "lí•mpo_Actuor
T#1 0s - PT
�-� Fig. 3.28
También podemos utilizar los parámetros del temporizador, tanto de entrada
como de salida, en diferentes segmentos del programa:
'1102
"S2_twtCHA"
1Q2.2
"Hl_VERDE"
GJ
---r-------------f( )------t
"H�:OE"
•-
----------
--{
"IDB4
"DB_IDNR_Ol"
(
IDNR L....
Time ,---,
r,:,10, Fig. 3.29a
MOVE
1-------EN -
"DB_IDNR_Ol ".ET IN 'r.MDlOO
,► OUTl "líompo_j-,ctual"
1 "DB_ID
1Q2.3
�
NR
l-
_0
_
1_
•.Q
__________________•
_
tt-4
2
_
AZ�
P3.
1
ULSADOR "ID84
ACK" "DB_IDNR_Ol"
1--------------------f RTJ---<
3.3 Generadores de impulsos
Fig. 3.29b
Fig. 3.29c
Fig. 3.29d
Dentro de Configuración de dispositivos de nuestro proyecto, en el que nos
aparece la CPU, si observamos dentro de Propiedades, en la pestaña General, y
103
Unidad 3 - Programación con temporizadores IEC
Recuerda • • •
En la configuración de
la CPU se puede
activar un byte de
marcas para poder
tener ocho
generadores de
impulsos con
frecuencias diferentes.
Recuerda • • •
La preselección
directa o constante del
valor de temporización
se basa en asignar un
valor fijo en formato
«Time» en la entrada
«PT».
104
dentro del apartado Marcas de sistema y de ciclo, vemos que aparecen
desactivadas las opciones Activar la utilización de bytes de sistema y Activar la
utilización del byte de marcas de ciclo. Para poderlas activar solo hay que activar la
selección correspondiente, en este caso Activar la utilización de bytes de sistema y
escribir el número del byte de marcas que deseemos utilizar para esta función, en
este caso MB8191, que corresponde con el último byte del área de marcas del 57-
1200, para el caso del 57-1500 sería el MB16383, aunque podría ser cualquier otro.
► Genere!
► ln�rfazPROflNET(Xl)
► D1 14/0Q 1 0
• >J 2
► AQ1 Signel Board
• Contado�, r,pido,(l-lSQ
► Generadores de impulto, (P_
Manque
Ciclo
C&r91 por comuni.c:1ci6n
Mllirt•� de uuem1 yde ciclo
► ServidortYt-b
ldiomes de la interfaz
Hm,
l"rote-cción
Rrcunos de conelOón
Sinóptico de direccionH
Constantes de sistema Textos
� Acti>,u la vtilü:aci6n del b:,tt de m1rtH de ciclo
Fig. 3.30
Se muestra el listado donde se relaciona el bit del byte de marcas seleccionado
(MB8191) con la frecuencia de funcionamiento que tiene asignada cada bit
Las marcas de ciclo se utilizan en el programa de usuario, por ejemplo, para
controlar indicadores luminosos con una luz intermitente o lanzar procesos
periódicos, como la adquisición de un valor real.
En el siguiente ejemplo se muestra una aplicación en la que en el momento en el
que se dispare el disyuntor magneto térmico del motor de transporte de las
piezas (12.7), el piloto amarillo de la baliza (Q2.1) se pondrá a funcionar de forma
intermitente a una frecuencia de 1 Hz.
'112.7
f1
lECCION
R PIEZASº
'J.M8 1 9 1 .5
ºClock_1 Hz"
1------1
'!Qz_,
ºHO_AMARILLO
º
Fig. 3.31
3.4 Preselección directa e indirecta de temporizadores
Se pueden programar los diferentes temporizadores, de forma que el tiempo sea
del tipo:
• Constante o direccionamiento directo.
• Variable o direccionamiento indirecto.
3.4.1 Valor de temporización constante o direccionamiento directo
Se programará un valor constante cuando no sea necesaria la modificación del
mismo una vez ajustado para la aplicación que debe realizar.
En este caso, en el parámetro PT, en los temporizadores IEC, introducimos un
valor constante en formato Time, como es T#l0s:
V
V
V
'
'
'
'
'
'
'
'
'
�
'
Recuerda • • •
La preselección
indirecta del valor de
temporización se basa
en asignar un registro
en formato doble
palabra en la entrada
«PT» que deberá
contener el valor del
tiempo en formato
«Time».
Recuerda • • •
Con la visualización
online del programa,
, podemos modificar el
valor del registro
mediante la opción
"Forzar ➔ Forzar
operando".
'
Unidad 3 - Programación con temporizadores IEC
"fol03
"S3 SELECTOR
AlJlO/MAN"
1DB1
"DB_lON_Ol "
lON
Tíme
'11:)2.4
"H3_ROJO"
t---- lN
T#10s - rr
o·--------------1 )-------,
'.IMD100
El "Tie m po_Actu a l"
Fig. 3.32
3.4.2 Valor de temporización variable o direccionamiento indirecto
Se programará un registro cuando sea necesario modificarlo durante el
funcionamiento del proceso en el que se aplica. La modificación del tiempo pasa
por modificar el valor contenido en el registro programado, como por ejemplo
desde una pantalla táctil.
En este caso, en el parámetro PT, en los temporizadores I EC, introducimos un
registro que deberá contener un valor en formato Time:
"fol03
"S3 SELECTOR
AÜlO/MAN"
1DB1
"DB_lON_Ol "
lON
Time
'11:)2.4
"H3_ROJO"
0 ---------------1 )-------,
'.IMD100
'.IMDl 10
·valor
Preselección•
E1.- •líempo_Actua l•
P'T
En el momento de realizar la
comprobación del funciona­
miento, podemos modificar el
Valor de preselección del
registro MD110 de diferentes
formas: mediante una tabla de
observación o, lo que es más
rápido, seleccionando en el
registro del parámetro de
entrada PT el temporizador y a
Fig. 3.33a
� • • D Ori.rJ
0,1.,2
,.. Titulo del bloqu Odm van.bit-
Coff,ena,.,, camblu nomb!T d• la v•n.bh!-
e ,.,...,._,..,
CVM.MlyúHT
on.....,.n.,
&· · M 8-HW
Rltuigna,v1rieble._
• Segmento 1: X cona,
Oburvu1 p1rt1r de 1quí
Oburvuselectión
COIT'tnt11no l .!j eop.. ,
1 e r.g1r
x aorr■ f
""'· t-------�
"'"
...,
ºS3.SEl.EClOR ,..,..11 )'M d,r 1 l'!r>CIU Clo:.11:Íll Ut) ¡.f1 1
'IQ2 4
AIJlO/MJN" - lr'11CCUOJ 101tip.a1Jes ºH3_IIOJO"
� 1-
--
- .,/
it lnurur agmemo �R ----------{ )---◄
.,,rurHg,..en1olo'A.
"IMD1 1 � lmert.111 cv1drc •ltio ...._)ls..f5
l"ropie-d1des Al!:.fntrar
continuación pulsando el botón Fig. 3.33b
secundario del ratón y
seleccionando la opción Forzar - Forzar operando. Aparecerá la siguiente ventana
para poder introducir el nuevo valor de forzado:
Forzar 'X
Velor de íor.!I .,,
_
.,
_
o,
________, Formato Tíempo
Fig. 3.33c
En el campo Valor de forzado podemos introducir el nuevo valor que tomará el
registro MD110.
Ejemplo:
Se desea realizar un programa en el que, al accionar el pulsador de marcha (10.2) y
dependiendo de la combinación binaria del estado de los dos disyuntores
105
Unidad 3 - Programación con temporizadores IEC
106
magneto térmicos Ml (12.7) y M2 (13.0), el valor del temporizador será diferente
(por ejemplo, 5, 10, 15 o 20 segundos) y que, cuando haya pasado el tiempo
establecido, se active el piloto rojo (Q2.4) de la baliza.
Podemos optar por dos soluciones y utilizar la preselección directa o indirecta del
temporizador.
• Direccionamiento directo
Para este caso tenemos la necesidad de utilizar cuatro bloques de datos (0B10,
0B11, 0B12 y 0B13) asociados a los cuatro temporizadores, ya que si se utiliza el
mismo bloque de datos para todos los temporizadores, los parámetros de entrada
y salida de cada temporizador quedarán solapados y el programa funcionará de
forma incorrecta:
'1110.2
"S2_MAACHA"
W2.7
"F1_
PROTECCION
MOTOR PIEZAS"
'!113.0
"Fl_
PROTECCION
MOTOR P¡lj_flS"
'!IDB10
"DB_TON_oo·
TON
Time
1------,v1-
1 ------iVJI---- IN Q ------
'!112.7
"F1_
'1110.2 PROTECCION
"S2_MAACHA" MOTOR PIEZAS"
V
'!112.7
"F1 _
'1110.2 PROTECCION
"S2_MAACHA" MOTOR PIEZAS"
nss -PT
'!IDB11
'!IM>l00
"Velor_ktual_
ET - TIM'
'!113.0 "DB_TON_0 1 "
"F2
PROTECCION TON
MOTOR P¡lj_flS" Time
IN Q
T#1 0s - PT '!IM>l00
"Velor_ktuat_
ET>-TIM'
'!IDB12
'!113.0 "D8_TON_02"
"F2_
PROTECCION TON
MOTOR P¡lj_flS" Tome
1-------t 1-----VJ--- IN
T#1 Ss - PT
Q -------
'!IM>l00
-Velor_ktual_
ET - TIM'
'!110.2
"S2_MAACHA"
'IDB10.DBX12.2
"DB_IDN_OO".Q
'IDB1 1 .DBX1 22
"DB_IDN_01 ".Q
'IDB1 2.DBXl 22
" DB_IDN_02".Q
'!112.7
"F1
PROTECCJON
MOTOR PIEZAS"
'1113.0
"f2_
PROTECCION
MOTOR PALETS"
'!ID813
"DB_TON_03"
TON
Torre
1------1 1---- IN Q -------
T#20s - PT '!IM)100
·velor_Jlctual_
ET - TIM'
"IQ2.4
"H3_ROJO"
>---
Fig. 3.34a
Fig. 3.34b
Fig. 3.34c
Fig. 3.34d
'IDB1 3.DBX1 22
"DB_IDN_03".Q
Fig. 3.34e
...._,,
J
J
J
1
1

1

1


Unidad 3 - Programación con temporizadores IEC
• Direccionamiento indirecto
En esta otra solución tan solo utilizamos un bloque de datos D810 asociado al
único temporizador utilizado:
'1110.2
"S2_MAACHA"
'1110.2
"S2_MAACHA"
'1110.2
"S2_MAACHA"
'1110.2
"S2_MAACHA"
'1112.7
"Fl_
PROTECOON
MOTOR PIEZAS"
VI
'1112.7
"Fl_
PROTECCION
MOTOR PIEZAS"
VI
'1112.7
"Fl
PROTECCION
MOTOR PIEZAS"
'1112.7
"Fl
PROTECCION
MOTOR PIEZAS"
'YDB
1
0
·oe_roN_oo·
'II0.2 TON
·s2_MAACHA" 1íme
'1113.0
"F2_
PROTECCION
MOTOR Pl'i.ETS"
VI
T#Ss
'1113.0
"F2_
PROTECCION
MOTOR Pl'i.ETS"
1#10s
'1113.0
"F2
PROTECCION
MOTOR Pl'i.ETS"
VI
T#1 5s
'1113.0
"F2
PROTECCION
MOTOR Pl'i.ETS"
T#20s
r.«>VE
EN -
IN
.� OUTl
r.«>VE
EN
IN
;} OUT1
r.«>VE
EN
IN
;} OUTl
r.«>VE
EN
IN
;� OUT1
'IIM'.)110
-Valor_
Preseleccion_
TIM"
'IIMJ1 10
"Valor_
Preselecdon_
TIM"
'IIMJ110
·valor_
Preseleccion_
TIM"
VJIJ110
·valor_
Preseleccion_
TIM"
'IQ2.4
"H3_ROJO"
IN Q ---------------1 )-------,
'IMD1
1
0
·va lor_
Presele ccion_
llM" -PT
'IMD
1
00
•velor_Actua l_
E1 - llM"
Fig. 3.35a
Fig. 3.35b
Fig. 3.35c
Fig. 3.35d
Fig. 3.3Se
3.5 Varios temporizadores en un único DB de instancia
Hemos visto cómo en el momento de incorporar un temporizador al programa se
nos solicita un DB de instancia asociado en el que guardará el estado de cada uno
de los parámetros. Pues bien, hay una diferencia entre si el temporizador lo
programamos en un OB o una FC , o si lo programamos en un FB.
107
Unidad 3 - Programación con temporizadores IEC
Recuerda • • •
Cuando se programa
un temporizador en un
bloque OB o FC, se
debe asignar un DB de
instancia para cada
uno de ellos.
108
3.5.1 Temporizador programado en un bloque de organización (OB}
o en una función (FC}
Al insertar un temporizador IEC en el editor de diagrama de contactos, se solicita
que este se asocie a un bloque de datos DB. En este caso el D810:
'IIK)_J
'S3_SELECTOR
AUlO/MAN"
'IDBl
'DB_lON_01'
10N
Tome
'11)2.4
ºH3_ROJOº
t---- 1N 0 ---------------i )---<
T#10s PT 'YMD100
Et- ºlíempo_Actuo I'
Este bloque de datos DB tansolo podrá ser de instancia individual:
1na•ncie
tndi-,idual
_.._
Nombre r.
.,.
:-e
_,o
::e:
._
,-:
0,:-
1 -----,,,,
Nijmero
@ Au.om4tico
El bloque de función llamodo guarda �u1 dato, en un bloque
de datc, de ifüunci-, ptop10.
m!,
Fig. 3.37
Fig. 3.36
Al abrir el DB de instancia se observa la declaración automática de los parámetros
que ese temporizador dispone, y que es la siguiente:
Nombre
LJ
-G • ST Time ti) ::.oms
B 0 0
-e . PT lime ::oms 0 0 o
, -e . ET Time !rOms o 0 0
-G • RU Bool lal<• 0
o -G • IN Bool lal<e El 0 0 o
- �- Q Bool false o 0 0 �
Fig. 3.38
Si antes de abrir el bloque de datos de
instancia, que se ha guardado en
nuestro proyecto dentro de la carpeta
Bloques de programa - Bloques de
sistema - Recursos de programa, lo
seleccionamos y elegimos la opción del
menú Edición - Propiedades, se abrirá
una ventana de propiedades de este
bloque, en la que dentro de la opción
Atributos deseleccionaremos el
atributo Acceso optimizado al bloque
y obtendremos la siguiente vista:
,.. Qii 01_Temporizadores (CPU 1 214C ACJDC./Rly)
1 Configura ción de dis,pos,itivos,
� Online y diagnóstico
,.. !i,: Bloques de progra ma
IrAgrega r nuevo bloque
:a- Ma in (OB1 ]
:a- Stan:up (081 00]
,.. li, Bloques de sistema
,.. P::-: Recurs,os de progra ma
····························•· DB_10N_01_ (DB1 l ........................
► [¡¡ O bjetos tecnológicos
Fig. 3.39
J
'-...,,'
�
�
'
'
,.....,,_
'
'
'
'
'
'
'
l
-
'
'
'
' Recuerda • • •
, Cuando se programa
un temporizador en un
bloque 0B o FC, se
, puede acceder a los
registros del DB
' mediante su dirección
,, absoluta o simbólica.
'
'
'
'
'
'
'
'
'
'
l
'
Recuerda • • •
Cuando se programa
un temporizador en un
bloque FB, se puede
elegir un DB multi-
instancia, que permite
incorporar varios
temporizadores en el
mismo DB.
Unidad 3 - Programación con temporizadores IEC
Fig. 3.40
Ahora, si volvemos a abrir ese mismo bloque de datos, se observa cómo aparece
una nueva columna llamada Offset en la que se muestran las direcciones
absolutas de cada parámetro dentro del DB:
06_TON_01
Nombre Tipo di,dno1, C)'if)et 1t1lor d'l!'•rmiqu.c �•nen(� Actni
'bledt:,de HM!iQPC UA E.5tnll'ib!e dt'W'I!' HMj;OPC UA 'TJl
"ble rn HMI Engll'lttfln9 Vtlor de 1¡vstto
-O .. �atic
-O�Tirne 4.0 .,.,,,., o 0 0 0
<J . ET lirN! 8.0 ,.�Orns o 0 0
,
<J . IN Bool 1Z.l ,,. o 0 0
<J . Q eool ,,, ft>li.- El 0 0
Fig. 3.41
En este DB de instancia podemos hacer uso de los parámetros de forma individual
en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque de
programas diferente, y para ello podemos utilizar tanto las direcciones simbólicas
como las absolutas:
1 ::
e
�
�
�
....
�
-
1�
-
�
-----------------
-
•-
H1
-1
�!:0E0
�
)--< Fig. 3.42
3.5.2 Temporizador programado en un bloque de función {FB)
con un bloque de datos multi-instancia
Si un temporizador se programa en un bloque 0B o FC, estamos obligados a
asignar un DB de instancia para cada temporizador, pero cuando el temporizador
se programa en un bloque de función (FB), tenemos la posibilidad de aplicar el
concepto «multi-instancia», que quiere decir que en un mismo DB, que se
generará al hacer la llamada al FB, se guardará el estado de los parámetros de
cada uno de los temporizadores de forma independiente.
El concepto de «multi-instancia» indica que se generará en la zona de declaración
de parámetros del FB, y dentro de la zona de variables Static, tantas variables del
tipo IEC_TIMER como temporizadores se programen en ese FB.
pciones de llamada
lnstlt'ICil
indMdu■I
-de-
Nombr� IEC_
...
� M
...
_oo
__
....,.____.
]l
rrtúmt!ro
Q Mem.,191
0 Auwm,nco
E.! bloqu!' d� Í.lnc1ón n,m,do 9uerd1 sus. detos e>n un bloque'
de thltO} de IM$�n,1• propio
más..
Para ello, en el momento de
insertar un bloque temporizador,
aparecerá la siguiente ventana para
poder elegir entre un DB de
Instancia individual, que es como
se realiza en un 0B o FC, o bien con
un DB Multi-instancia.
Fig. 3.43
109
Unidad 3 - Programación con temporizadores IEC
110
En este caso seleccionaremos el DB Multi-instancia y modificamos su nombre,
observando cómo en el FB queda generada esa variable tipo IEC_TIMER en la zona
de declaración de parámetros.
Temporiudore,;
Nombre Tipo de dt�os Vtlor pr�n. �•nen,it Accesibl,de'Ple HMliOPC UA &ribible d�e HMliOl"C UA Visible en HMI Eng1nttring Valorde ajune ColT'MYOO
C • Input
<l ► OUtput
C ► ll'Out
e • Sta.oc
<:] • • lM_Ol
<J • n
0 • ET
0 • IN
<I • Q
O ► Te:mp
IEC_llMER
<m, ?=omi
llm, --J.W'•
Bool �-·
Bool .....
,J -O • Consu.n1 ____
_
No rem1neme ¡;¡;¡ ¡;¡;¡ ¡;¡¡
No remonence 0 0 0
No n!ffl;J�nt, 0 0
NQ remanentil! 0 � 0
No n!mantntl! 0
Ell.
Fig. 3.44
De la misma manera, podemos ir añadiendo temporizadores en este mismo
bloque FB, de forma que vayan apareciendodeclarados en la zona de parámetros.
En este caso declaramos la remanencia en la zona de declaración de parámetros
del propio FB en la columna Remanencia. Así podemos seleccionar qué
temporizador se desea hacer remanente.
También podríamos realizar la declaración de las variables de tipo IEC_TIMER
manualmente en el FB y obtendríamos el mismo efecto.
En cualquier caso, si ahora realizamos un programa dentro de ese mismo FB, de
forma que la instancia asociada al temporizador sea la variable estática TIM_0l
declarada anteriormente, tendremos:
1!0.3
#11M_01
"S3 SELECTOR IDN
AÍJroiM•N" 1íme
'XQ2.4
"H3_ROJO"
1---- IN Q ---------------{ }---<
"'1D1 1 0
·valor_
Pres.elección• PT
"'10100
E1 "líempo_Actual"
'XQ2.2
"Hl_VEROE'
Fig. 3.45a
fllM_O
l-
1-
.Q-----------------------1
}---< Fig. 3.45b
Ahora tan solo nos queda realizar la llamada a ese FB desde el OB1, en donde en
el momento de insertar el FB en un segmento nos aparece la ventana para asociar
el bloque de datos DB de instancia, por ejemplo:
Opcione-s de llamada 1
X
lnneincia
individual
Bloque de dalos
Nombre
Número
.-----------i-,
DB_F801
1 0
(!) Manual
Q Automático
..
El bloque de función llamado 9uarda ,;u� dato� en un bloq�
de d1tto:s .de irrrnrncia proptO.
más..
Fig. 3.46
Aceptar Cancelar
í
1
""""' Recuerda • • •
Cuando se programa
" un temporizador en un
" bloque FB asociado a
un DB multi-instancia,
"' tan solo se puede
,----._ acceder a los registros
del DB mediante su
� dirección simbólica.
í
Unidad 3 - Programación con temporizadores IEC
La llamada programada queda de la siguiente forma:
,0B
1
0
"DB_FBOl•
-remporizttdores•
ENO ------------------< Fig. 3.47
Ahora, si abrimos el bloque de datos de instancia asociado a este FB, observamos
cómo aparecen todos los parámetros del temporizador o de los temporizadores
declarados:
OB_F801
NOmbr�
-0 lnp1.11
-O Output
<J lnOut
,O • SU.tic
, <J • ,. 11"4...0l
<J • "
- -O • ET
,O • IN
-O • Q
lEC_TI'-tR
Tím�
>m,
800!
8001
0 0 0
"""" 0 0 0
"'""' 0 0
•.. 0 0
.. 0 0
Fig. 3.48
Podemos hacer uso de los parámetros de este DB de forma individual en cualquier
lugar del programa, ya sea en ese mismo bloque o en otro bloque del programa
diferente. En ese caso utilizaremos solo la dirección simbólica:
1 ·oo_�,º�
...
·
_
.ll
_
M_
_________________
·
_
H_
o_
....
�
LL
O"
�
)----t Fig. 3.49
Así observamos que, para hacer uso de cualquiera de los parámetros, se llama a:
Nombre simbólico del DB
Nombre simbólico de la variable declarada
Nombre simbólico del parámetro del temporizador
Y obtenemos "DB_FBOl".TIM_Ol.Q,
: "DB_FBOl"
: TIM_Ol
: Q
En este caso no será posible el acceso de forma absoluta a las direcciones, pues
no se puede deseleccionar la opción Acceso optimizado al bloque dentro de las
propiedades del DB.
�
Gf�.. 1
.-------�--------
lnl,,n,1ci6n
Atributos ____________
_
@,ouu-,op,,,., ,.do1!bloqu,
iEntblft,,qli! loill1ros SHn �...
1n.i,�,'"�I,,
.. utindt•
Fig. 3.50
3.5.3 Declaración de varios temporizadores IEC en un mismo
bloque de datos
Hemos visto cómo en el momento de incorporar un temporizador al programa
nos solicita un DB de instancia, donde este bloque de datos es configurado por el
111
Unidad 3 - Programación con temporizadores IEC
Recuerda • • •
Otra opción para la
declaración de los
temporizadores es la
utilización de un DB
global donde se
declaren previamente
todos los
temporizadores a
utilizar con tipo de
datos «IEC_TIMER».
112
propio sistema y no es modificable por parte del usuario. Para que pueda ser
creado y modificado por el usuario debemos hacer uso de los bloques de datos
globales.
Por tanto, antes de entrar a utilizar los temporizadores en nuestro programa,
creamos un DB global llamado DB_TIMERS:
función
Tipo:
Lenguaje
Q m•nu1!
@ 1utom6tiw
�$Cripci6n
Lo, bloque, de d110, (De)s.Wn p1r1 1lm1c:enar dato, del programe.
-
Fig. 3.51
A continuación, declaramos tantas variables de tiempo con tipo
IEC_TIMER como temporizadores se vayan a utilizar, por ejemplo, tres:
de datos
OB_TIMERS
Nombre
, ,O • Staoc
<J • ► 1lM_01
<:J • ► 11M_02
.:;J • ► 11�03
Tipo de datos Offset Valor de itrunque RffnlnfflCII Acc�bledes.�HMIIOPC UA Ef;c:ribibled6de HMllOK � Visible en HMl Engme«ing Valor de IJl,me
IEC,.Jlt.t:A li O.O
IE(_llf.ER 16.0
IEC_TIM:R 3.2.0
Fig. 3.52
De forma que al desplegarlos observamos todos los parámetros que pueden
intervenir en un temporizador IEC:
DB_TIM:RS
Tipo dedatos Offstt Velor de -,ron.que Rffi1W1tn.t1a Acces.ible desdeHMliOPC UA Escnbible- dMe H""IJOPC UA Vísible M HMI Enginttring Val¡¡rdeIJl.lllt
-0 .... Static
<] ■ • llM__Ol IE.c_llM:A fil O.O 6il Q Q ¡¡;¡¡
., PT lime 4 0 ,:om Q 0 0 0
., . ET lime 8.0 "'°"'' liiil 0 0
e . '" Bool 12.1 tala Q 0 0 0
o . Q eool 2J �,. Q 0 0
<:I • • 11M_02 IEC_llt.EA 16.0 lii lii liiil ¡¡;¡¡
Cl PT lime 20.0 """"' liiil 0 � 0 '7
• <:J . ET 1imt- 24 0 TJIOcm ¡;¡¡ 0 0
0 <1 IN 8001 21U �lie li! 0 0 0
Cl . Q Bool 28� fals!' ¡;¡¡ 0 0
2 C • • llM_03 lfc.._1J.E.R 32 0 li! Q Q !iil
<l PT "llme 36D ',;l;lm� ¡;¡¡ 0 0 0
4 -O ET Time 40.0 "'""'' li1I 0 0
5 0 IN Bool 44.1 lslie lii 0 0 0
j Cl Q 8001 4<J �iu !iil 0 0
Fig. 3.53
Ahora, si queremos programar un temporizador en cualquier bloque de
programa, nos aparecerá como siempre una ventana para asignarle un DB de
instancia.
'-../
'-...,
-�,
'-...,
'---'
'-..,/
'-J
"J'
'-..,/
.....,
.....,
..J
'---"
--..J
_/
1 '
'
'
'
'
'
l
'
'
Unidad 3 - Programación con temporizadores IEC
pciones de llamada
!)8
Instancia
individu1l
llloque de -
NombrY
fii,-
:::
dt&Dl
:::-
•-
l!lli
"'
••f
•-
,..
-
-
-
--���.J�
Númt"ro -,:-
Q Mnnual
(.) Aotom�tico
El bloQue d" función llac,,ado guarda sus datos en un bloque
de datos de instancia propio.
m6,
Fig. 3.54
Pero en este caso, cancelaremos mediante el botón Cancelar la petición, ya que
queremos utilizar como DB el DB global declarado anteriormente.
En ese momento nos aparece el temporizador programado de la siguiente forma:
Fig. 3.55
A continuación, pulsamos en la zona de asignación del DB asociado, en la parte
superior de la caja del temporizador, y elegimos en primer lugar el nombre del DB
global, en este caso "DB_TIMERS":
L �,=!
t-·oe,::RS· DB global 081 >> :.1
IN Q -----------------<
- PT El - - . Fig. 3.56
Después elegimos una de las variables IEC_TIMER que tenemos declaradas, en
este caso TIM_O:
'DB_llMERSº
. UH
llM_Ol IEC_llMER ->>· ,..
11M_02 IEC_llMER ,.,.
l1M_03 IEC_llMER » ..,
<???> n E l ... Fig. 3.57
A continuación, elegimos Ninguna entrada para eliminar el último punto que
aparece en la declaración:
B llMERS
º
.llM 01 T,l
:inguna ent�da "'"
-
IN
___
Q-:_
-:_
-:_
-:_
::_
::_
::.====------------<
- PT El- ---
Y obtenemos el siguiente resultado:
k"DB_llMERS".
llM_Ol
IDN
líme
IN Q -----------------<
- PT El- ---
Fig. 3.58
Fig. 3.59
113
Unidad 3 - Programación con temporizadores IEC
Recuerda • • •
El hecho de utilizar un
DB global para la
declaración de los
temporizadores
permite seleccionar de
forma independiente
cuál de ellos se
configura con
remanencia.
114
Ahora completamos el programa:
'115.3
·s20·
"DB_llll,ERS".
TIM_Ol
IDN
lime
'XQ2.4
"H3_ROJO"
t---- lN
T#Ss -pr
Q ---------------1 )-----,
'IIMDlOO
"líempo_Actual_
E1 - 1Dl" Fig. 3.60
Repetimos la operación para los otros dos temporizadores y obtenemos el
siguiente resultado:
'Y.15.4
·s21 ·
"DB_TIMERS".
11M_02
IDN
Tíme
'XQ2.2
"Hl_VERDE"
--- IN Q ---------------1 )-----,
Tt10s PT
'J.MD104
"líempo_Actuo I_
EJ - 102"
"DB_TIIIE:RS".
11M_03
'Y.IS.S IDN
·s22· líme
'XQ2.3
"H2_AZUL"
t---- lN Q ----------------4 )-----,
Tt1 5s PT 'J.MD108
"líempo_Actua l_
E1 - 1D3"
Fig. 3.61
Fig. 3.62
Ahora, al poner en funcionamiento el programa, observamos cómo cada
temporizador funciona de forma independiente:
08_TllVl:RS (lnt:tantánea getKH.Jda: 19/1 1/2016 0:33:04)
N'ombre Tipo dr d,tos Ofh!t V1!ot de 1rr1nque Vtlor de obst'l'-1crón Rlm1nern::11 Act:nlblr dnde HMl•'oPC- UA Escríbibledndt!HMI/OPC UA Vi5'ib!re,, HMj Eng1
-O • Static:
�
G • • TIM
_Ol IEC_TIM:R O.O
4l • "
4l • IT
., • o
. .,.
ET
IN
., • Q
1 .,O • • 11M_03
"
• ET
. ,.
• Q
4.0 �i:(lm}
e.o 1�om,
Boo! 12,l litlu
Bool 12..Z Íll•Jli!
IEC._1111€11 Hi.O
20.0 T,; )tri�
1'imr 24.0 �,,r,,...,
Bool 2&.1 íwlstt
Bool 2s.2 filia
IEC_l1'-E'R 32.0
Time 36.0 ""::r.n,5
Time 40.0 �::Om�
Sool
Bool
44 1 '!��
44.2 telu
!11 611 ¡;¡;¡ !!'!
TltSS E1I 0 � 0
T:.2S_767MS B 0 0
11UE E;'! 0 0 0
FALSE ¡¡;¡¡ 0 0
E1I E1I E1I
T:10S E1I 0 0 0
Ta:105 E1I 0 0
11UE 6i! 0 0 0
11Uf E1I 0 0
E1I � E!
Tf 1 5S E1I 0 � 0
�,ss E1I 0 0
""" 611 0 0 0
"'"' B 0 0
Fig. 3.63
Además, hay otra ventaja como es la de poder seleccionar qué temporizador
dispone de la función de remanencia, ya que se puede realizar la selección de
forma independiente.
Podemos hacer uso de los parámetros de este DB global de forma individual en
cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque del
programa diferente. Por ejemplo, podemos utilizar las direcciones simbólicas.
Para utilizar las direcciones absolutas debemos configurar las propiedades del DB
mediante la opción del menú Edición - Propiedades. Se abrirá la ventana de
propiedades de este bloque en el que, dentro de la opción Atributos,
deseleccionaremos el atributo Acceso optimizado al bloque y obtendremos la
siguiente vista:
J
í
'
"
'
1
"
"
'
'
'
'
' Recuerda • • •
1
------ Cuando se programa
un temporizador
" mediante la utilización
' de DB globales, se
puede acceder a los
" registros de ese DB
mediante su dirección
" absoluta o simbólica.
1
1
'
'
1
"
"
1
1
'
'
"
'
'
1 Recuerda • • •
" La norma Grafcet
contempla acciones
asociadas
' temporizadas a las
)
etapas con dos tipos:
• Delayed {O) .
........._ • Layed {L).
"
1
'
,,
Unidad 3 - Programación con temporizadores IEC
COoql,M ci6n Q),�-po,.•:.it'o4"1 .en ll -11.e":'!.:,iu d'! .:.tr-,i.t
PN':,e�
o.!:)41,.,.! i'! .Ütll1. :)ICt..
"q:..J,J C.;-,'17,1, .e<o,:�::,.,,r-' '!!1 .e �lip<J,4�.)
�;: ,.e..-aa•�r Q-.o.::�;op.::1m::l!l,h .1· �"'!
L
Fig. 3.64
Una vez compilado el proyecto, al volver a abrir el DB global, observamos cómo
aparecen las direcciones absolutas de cada parámetro y, por tanto, podemos
utilizarlas en cualquier bloque de programa.
!!�2:_2
_01 .Q
'IQ2.1
"H0_AMA!lll.LO"
1-----------------------1 )-----t Fig. 3.65
En esta última configuración del DB se pierde la funcionalidad de poder aplicar
remanencia de forma independiente a cada temporizador y tan solo se puede
establecer que sean todos remanentes o que no lo sea ninguno.
o • -;.:.,,�
-O • .,. ..._OJ �:_"'-El (!' OJl
� • •r .6-.e ;;J! �..
· -0 • .H ·r.:io-' :t# �
C • • !:» 11.1 .......
� • Q !:,;:. l=..a! iW·,
<l • ... .....
'"- .1ee:_-..ea '64
e • ..,. r.,,�
o • tr rn.t
., .
r ,o • 1> ,�
,o • • al_QJ 11:t:_a.EI. ILC
1 0 •r f.-� HA �
"' '° :r r..-, � ��
'º
g
,.,, r.-ss 8
"" o
- B
"" o
rua¡ o
...10::. �
..'O!ó 8
""' □
.... ..... o
�," g
'°='l i"i f;; SS 8
Jlli.l� o
llM g
Fig. 3.66
3.6 Programación en Grafcet (11)
ii ii
0
0
0 0
ii '11
0 0
0
0 0
ii
0 0
0 0
0
En esta segunda parte explicamos cómo integrar la función de temporización en
un diseño realizado en Grafcet. Veremos las diferentes posibilidades de
programar un temporizador en una acción asociada, así como la de integrar
contactos de temporización en una transición.
3.6.1 Acciones asociadas temporizadas. Símbolos D y L
Si recordamos lo expuesto en la unidad anterior, gráficamente la norma IEC
61131-3 representa las acciones asociadas a etapas como bloques con cuatro
campos, donde el campo 1 se denomina campo calificador y describe el tipo de
vínculo entre la etapa y la acción asociada.
3
En este campo 1 es donde se sitúa el tipo de temporización que se desea realizar.
Para ello disponemos de diferentes opciones:
115
Unidad 3 - Programación con temporizadores IEC
Recuerda • • •
El tipo «Delayed»
provoca que la acción
asociada se ponga en
marcha un tiempo
después de haberse
activado la etapa.
116
D (Delayed): la acción comienza un cierto tiempo después de la activación de la
etapa. Es decir, la acción asociada se activará después de que haya transcurrido
un intervalo desde la activación de la etapa. Se mantendrá en ese estado hasta
que la etapa deje de estar activa.
L (Layed): la acción termina tras un cierto tiempo de la activación de la etapa,
aunque esta siga activa. Es decir, la acción asociada se activará inmediatamente
después de que se activa la etapa, y esa acción se desconectará cuando haya
transcurrido el tiempo previsto o bien cuando la etapa deje de estar activa.
A continuación, se muestra un ejemplo de cada tipo:
• Delayed
Al activar el pulsador de marcha (10.2), pasará a estar activa la etapa 1. En ese
momento también empieza a transcurrir el intervalo de 8 s y transcurrido ese
tiempo la cinta transportadora de palets (Ql.1) se pondrá en funcionamiento por
haberse conectado la MSO.O. La cinta dejará de funcionar cuando se desactive la
etapa 1, que será al accionar el pulsador ACK (13.1).
MO.O
M50.0
M0.1 NC Ql.l
anta transportadora paleb:
D DB TON T0l PT:= 8s
Tiempo espera parit activarcinta
MSO.O
lndícatiempo trancurrido
Otra forma de realizar ese mismo ejercicio sería esta:
MO.O
DB TON TOl PT:= 8s
M0.1
Tiempo espera para a:tivar cinta
PulsadorACJ< (1 3.1)
M0.2 o
Programado en contactos sería así:
• Activación de etapas
• Segmento 1 : ActivBtcíón Etapa 1
wo.o
"Etapa_oo·
'II0.2
"S2_MARCHA"
W0.1
•Etspa_or
:s >---
'IMO.O
._____________
•E�
u�� Fig. 3.67a
'
'
)
)
'
'
'
'
)
'

Unidad 3 - Programación con temporizadores IEC
Segmento 2: Activación Etapa 2
'IM0_1
·e,opa_o1·
'f.1>81 _08)(1 2_2
"DB_lON_Ol".Q
1
'IM0_2
"Etapa_o2•
;s l--
wo_1
�-----------
-
·e
-,
�p
;-;._.
.., Segmento 3: ActivaciónEtapao ______________�-�--
'!113.1
'!IMl.2 ·ss_puLSJIDOR '!fMl_o
·e1apa_o2· KX" ·e1apa_oo·
11------11 �1 -
.----------'.S l--
.______________
.---i
E�-�
.. Segmento 4: Aelt�1eión fttp_
• •
-------------------�
'IIM0.1
"Etapa_Ol"
'JW3.1
·ss_FUtSAOOR
i'C.-.:'
'IIMO.O
"Etapa_oo•
'IIM0.1
;s )----,
'--------------
·---i
eta�-;:_
• Activación de temporizadores
• Segmento 5: Activación d�I temporizador08_10N_01
'IW0.1
pa_o1·
'IIOB1
·oe_TQ1,Lo1·
1-------------------------1 TON
Time
T#Bs
>-
• Activación de salidas
• Segmento 6: Motor cinta u1nsport1dore de palets
_____________�
pa_o2·
'1,Ql.1
"K1M__MOTOR
CINTA PAi.ET'
P.2
-----------------------
Fig. 3.67b
Fig. 3.67c
Fig. 3.67d
Fig. 3.68
Fig. 3.69
Debemos recordar además que en el OB100 o en el OB1 se debe programar la
activación de la etapa inicial:
,,,.8
1
90.0
•FirstScan•
wo.o
"Etapa_oo•
i---.------------------( s )----,
,,,.0.
1
"Etapa_01"
�--------------------1( RESET
_BF }-<
2 Fig. 3.70a
Aunque, si se programa en el OB100, también se podría programar utilizando el
bit de sistema Always TRUE, dado que el bloque OB100 tan solo se ejecuta en el
primer ciclo de sean:
117
Unidad 3 - Programación con temporizadores IEC
Recuerda • • •
El tipo «Layed»
provoca que la acción
asociada se ponga en
macha al activarse la
etapa y se desconecte
al transcurrir el tiempo
programado.
118
'QMl190.2 -·º
"ftlwaysTRUE" "ETJll'A O"
�
, -�---------------�( S )----t
• Layed
__,
"ETJll'A 1 "
�-------------------1( RESET_BF r-1
2 Fig. 3.70b
Al activar el pulsador de marcha (10.2), pasará a estar activa la etapa 1. En ese
momento se pone en funcionamiento la cinta transportadora de palets (Ql.1) y
también empieza a transcurrir un intervalo de 8 s. Transcurrido ese tiempo, se
conecta el bit auxiliar de temporización (MS0.0) y en ese preciso instante la cinta
transportadora de palets (Ql.1) deja de funcionar. También dejará de funcionar si
antes de que pase el tiempo, la etapa 1 deja de estar activa por haber accionado
el pulsador ACK (13.1).
MO.O
DB TON TOl PT:= 8s
M0.1
Tiempo de activación de ta cinta
MSO.O
Indica tiempo tranrurrido
Otra forma de realizar esemismo ejercicio sería esta:
M0.2
DB TON TOl PT:= 8s
Tiempo d eactivadón de la cinta
PulsadorACX (1 3.l)
o
En contactos tendríamos un programa idéntico que en el caso del tipo Delayed, lo
único que variará es que la salida correspondiente a la cinta transportadora se
activará por la etapa 1 en lugar de la etapa 2:
• Segmento 5: Motor dn!tl tnlnspor!tldonr ds p•lsll
p•_01"
'IQ1 .1
"Kt M �TOR
ttNTA PALE,.
P'V.!0.1
1-----------------;
Fig. 3.71
Según la norma de diseño en Grafcet, el formato para representar un contacto de
un temporizador en una transición es el siguiente:
'-'
1
'
'
�
1
�
Recuerda • • •
Una acción asociada
condicionada provoca
que la acción funcione
siempre que se esté
cumpliendo la
condición.
Unidad 3 - Programación con temporizadores IEC
temporizador
Por ejemplo:
MO.O
MO.l
M0.2
etapa en la que se activa tiempo
Q,2.4
Pllcto rqo
DB_TON_TOl/10s
Tiefl1)0 de retarch W s
Q 2.2
N >---------,
Pilcto Verde
Q 2.3
Pl lcto azul
Accion a- pulsado r pero (10.1)
El Grafcet se iniciará en la etapa O, en la que
se visualizará el piloto rojo (02.4).
Al accionar el pulsador de marcha (10.2), se
conectará la etapa 1 y se desconectará la O.
Se pondrá en marcha el piloto verde (Q2.2)
a la vez que se pone en funcionamiento el
temporizador del tipo TON con un retardo
de 10 s.
La transición se cumplirá cuando haya
transcurrido el intervalo de 10 s del
temporizador DB_TON_T0l que se ha
puesto en marcha en la etapa 1.
Entonces pasará a estar activa la etapa 2,
que pondrá en marcha el piloto azul, hasta
accionar el pulsador de paro que el sistema
retornará al inicio.
3.6.2 Acciones condicionadas (bit intermitencia)
Las acciones también se pueden condicionar de forma que se encuentren
supeditadas al cumplimiento de la condición añadida.
De forma gráfica, la condición, que se indica en el siguiente gráfico con el número
3 y se denomina campo indicador, se coloca encima de la acción asociada y unida
a una pequeña línea vertical:
3
�
� ' ---
1� ------1
La condición de la acción asociada es una ecuac1on booleana. Permite,
opcionalmente, especificar una condición a cumplir para que la acción se pueda
ejecutar. En el siguiente ejemplo se muestra el funcionamiento del piloto amarillo
para indicar de forma intermitente que se ha disparado el disyuntor.
F2_Protección • Clock_lHz
Q2.1
M0.5 NC >-------------<
Piloto amarillo
119
Unidad 3 - Programación con temporizadores IEC
120
Programado en contactos sería así:
,il.3.0
"F2_
llMO.S PROTECCION W8191.5 "JIQ2.1
pa_os· MOTORPAI.ETS" "Clock_1 Hz' "HO_AMARUO"
11--------1V1t-------,V1-----------1( >--
3.7 Programa basado en diseño Grafcet
Fig. 3.72
Para practicar con secuencias en las que intervienen temporizadores
realizaremos un ejercicio práctico en el que se desean hacer
funcionar los diferentes pilotos de la baliza que contiene el
simulador 3D.
Fig. 3.73 "--'
3.7.1 Solución con varios DB de instancia para cada temporizador '-..../
• Condiciones de funcionamiento
El programa deberá cumplir las siguientes condiciones:
Cuando pongamos en marcha el sistema, se deberá mostrar el piloto rojo
(Q2.4) en funcionamiento, lo que indicará que el circuito está detenido.
- Al accionar un pulsador de marcha (10.2), el piloto rojo se deberá desconectar y
pasará a funcionar el piloto amarillo (Q2.1) de forma intermitente a frecuencia
de 1 Hz. Se iniciará además una temporización de 8 segundos.
- Transcurrido el intervalo de 8 segundos, el piloto amarillo se deberá
desconectar y pasará a funcionar el piloto azul (Q2.3), iniciándose además
una temporización de 10 segundos.
- Transcurrido el intervalo de 10 segundos, el piloto azul se deberá
desconectar y pasará a funcionar el piloto verde (Q2.2), iniciándose además
una temporización de 12 segundos.
- Transcurrido el intervalo de 12 segundos, el piloto verde se deberá
desconectar y pasará a funcionar el piloto amarillo (Q2.1), iniciándose
además una temporización de 2 segundos.
Transcurrido el intervalo de 2 segundos, el piloto amarillo se deberá des­
conectar y el sistema quedará al inicio, con el piloto rojo (Q2.4) en fun­
cionamientoa la espera de una nuevaactivacióndel pulsadorde marcha (10.2).
• Diseño del Grafcet tecnológico
El diseño del Grafcet tecnológico quedará de la siguiente forma: '-·
'

1


1
)
'
i
Recuerda • • •
Para una mejor
estructuración del
proyecto se
.---.., recomienda utilizar
diferentes bloques de
.....__ programa, de forma
que facilite tanto su
entendimiento como la
búsqueda de posibles
1
)
·
1
averías.
Recuerda • • •
Siempre se deben
activar en el primer
sean todas las etapas
iniciales que se hayan
programado en el
proyecto y desactivar
, el resto.
·
Unidad 3 - Programación con temporizadores IEC
M0.2
M0.3
Intermitente (M8191.5)
La luz amarilb lleva 2 segundo s funcionando
(DB_TON_T03.Q)
• Implementación del Grafcet en el PLC
N
OB TON TOl PT:= 10s
Tiempo pa-a piloto az ul
N
OB TON T03 PT:= 2s
Tiempo pa-a piloto crnarillo
Para la implementación del diseño realizado en Grafcet a programa, en este caso
utilizando el lenguaje de diagrama de contactos o KOP, estructuraremos el
programa en varias partes:
Activación de la etapa inicial.
Activación de las etapas de la secuencia del Grafcet.
Activación de los temporizadores.
Activación de las salidas.
• Activación de la etapa inicial
Primero, hemos de hacer que en el momento en el que el PLC ejecute el programa,
se active tan solo la etapa inicial, que se indica con un doble cuadrado, y que estén
desactivadas todas las demás.
Mediante un pequeño programa en el OB100 activaremos la etapa inicial a través
de un bit de sistema, por ejemplo la M8190.0, llamada de forma simbólica
FirstScan, que está activa durante el primer ciclo de sean y que será suficiente para
activar la etapa inicial asignada a la marca M0.0. Para realizar esta operación
podemos utilizar la instrucción S (SET) y para desactivar el resto podemos utilizar la
instrucción RESET_BF, de forma que el programa realizado en el OB100 quedará tal
y como se observa en la siguiente figura.
'JM8190.0
•FirstScan•
'IMO.O
" Eta pa_oo·
1--..--------------------i( S }---,
'JM0.1
"Eta pa_o, ·
'----------------------1( RESET_BF }-<
4 Fig. 3.74
121
Unidad 3 - Programación con temporizadores IEC
122
• Activación de las etapas de la secuencia del Grafcet
A continuación, creamos una función FC10, donde introduciremos el programa
para la activación secuencial de las etapas de la secuencia del Grafcet.
...
Segmento 1: Activa ción Etapa 1
'IM0.0
"Eta pa_oo·
'II0.2
"S2_M'.RCHA"
Segmento 2: Activa ción Etopo 2
'I.M0.1
•Etapa_o,•
Segmento 3:
pa_02"
r·'
Segmento 4:
pa_o3•
r
o,
Segmento 5:
pa_04"
r·
"DB_lON_lOO'.Q
1
Activación Eta pa 3
"DB_lON_l01".Q
1
Actíve-ción Etapa 4
"DB_lON_l02".Q
1
Activa-e.ión Etapa O
"DB_lON_l03'.Q
1
'I.M0.1
"Eta pa_o,•
:
s }-----<
'I.M0.0
•Etop
R
•
�
--------------1- ,---, Fig. 3.75a
'IM0.2
"Etapa_02"
:
s }-----<
'IM0.1
"Etop
R
•
�
-------------t• ,---, Fig. 3.75b
'I.M0.3
"Etapa_03'
:
s }-----<
'IM0.2
�------------
·E
.....
�
p
:�
Fig. 3.75c
'I.M0.4
"Eta pa_o4•
:
s }-----<
'IM0.3
�------------
·E
.....
t•
p
:� Fig. 3.75d
'IM0.0
"Etapa_oo·
:
s }-----<
'I.M0.4
.______________
.E
-;
t•
p
:�
Fig. 3.75e
• Activación de los temporizadores
A continuación, programamos los temporizadores asociados a su correspondiente
0B de instancia:
Segmento 6: Activoción del temporizador DB_IDN_lOO
,0B10
'IM0.1
p,_01·
"DB_lON_lOO"
1------------------1
10N
Trme
T#Ss
Fig. 3.76a
1
)
I_,
)
1
l
)
)
Unidad 3 - Programación con temporizadores IEC
• Sllgmento 7: Aciivsdón del "'mpori!!ldor oe_mN_
�
'T0
_
1__________�
'!1>81 1
'IIM02
·os_mN_'T01"
pa_
t---
02• ----------1
Sl!gmellto 8: A<:tJvadón del lemporí!!ldor oe_mN_'TO:Z
'JON L....
lime ,------,
Tll l Os
Fig. 3.76b
'!1>B12
��
...
�
-
3
-
· ------------------
--1
·os_mN_'T02'
'JON L....
11m• ,------, Fig. 3.76c
T# 1 2.s
Segmento 9 : Adlvrnón del tempori!!ldor De_TON_'T03
'!1>B13
�-
...
�
-
· __________________•
....
os_m N_'T03'
'JON L....
11me ,------, Fig. 3.76d
Tt2s
• Activación de las salidas
Seguidamente se programan las salidas de forma ordenada:
.
Segmento 10r A<llvsción pllow AMAS!ILLD
G''
pa_01 '
�A
,,,..
Segmerrto 1 1:
pa_o3•
�2
Segmento 12:
pa_o:z•
�-,
Segmento 1 3:
pa_oo·
µ·º
':IM81915
'tlotk_l H(
'IQ2.1
'H0J1MAAILLO'
1/1 -�-----------1 >---
A<:!ÍV,ción pllolO 1/elltl�
A<:!lv1C1ón píloio AZUL
Adlv,dón píloto l!OJO
Fig. 3.77a
'IQ2.2
"H1_vtllOE' Fig. 3.77b
>---
'IQ2.3
'H2flUL'
>--- Fig. 3.77c
'IQlA
'H3.)!0JO'
>--- Fig. 3.77d
• Llamada desde el OB1 a la función FC10 donde tenemos el programa
El programa estará formado en este caso por el 08100,
que integra la activación de la etapa inicial y el
programa auxiliar para la conexión con el PLCSIM de
57-1200/1500, y la FCl0 en la que tenemos el cuerpo
del programa con la activación de las etapas, los
temporizadores y las salidas, así como los D8 de
instancia asociados a los temporizadores utilizados. Por
tanto, en el 081 hemos de realizar la llamada a esta
FClO y con esto ya tendremos completado el programa.
"'. !JI Ple_� [tl'U 1214C AC/DC/lliyf
C:O"agu,,d6n dt dl�J'Otluvcu,
.Y.i Onllnt ydlagnósb<0
• :11' SIO<IUU d• p,og,,.,,
., Agrtgtr nuevo blO<lu•
• cydl< ln¡;,,upc (OSJOJ
• Morln [081 J
• si.rwp 100100)
• l'rogr1m1 (ft10J
• illl' 81oqut, d• ,l,1<1m1
• � R.t!CUrtOS c:ft progtitrtl
08_11:JN.,100 (0810)
O0_101-c,"01 (001 1 J
OS_TON.,'102 (0812)
os_TON_iOHOSUJ
Fig. 3.78
123
Unidad 3 - Programación con temporizadores IEC
Recuerda • • •
Al trabajar con
temporizadores, se
puede utilizar un DB de
instancia para cada
temporizador o bien un
DB multi-instancia, o un
DB global para todos
los temporizadores del
proyecto.
124
• Segmento 1 : Llamada .al progrdma
Comen�ario
"Programo"
� 'jF,·10
EN ENO ----------------------t
Fig. 3.79
3.7.2 Solución con un solo DB para todos los temporizadores
Como podemos prever, si se utilizan muchos temporizadores, necesitamos
muchos DB de instancia pero, como ya se expuso en el apartado 3.5.3., utilizamos
un único DB en el que declararemos cuatro variables del tipo IEC_TIMER que nos
servirán para asociarlas a cada uno de los temporizadores del programa.
Crearemos un D81 en el que declararemos las cuatro variables tipo IEC_TIMER
que tendrán la misma estructura, tal y como se observa enla siguiente figura:
OB_TIM:RS (irutanUnu 9enerada: 1911 1/2016 0:35:21)
_;. G • .., 11M_01 IEC,_Tlt.ER Jj) O.O
e • PT Time 4.o
-(l ■ ET 'ffme
O • IN BoQI U.l
'> O • o eool 12.2
<J • ► l'IM._02 IE<;...
JIMER 1 6.0
<J • ► lM_OJ IE�__llMER J2.O
'"""' T'5S
r,,)ms ""'
t.h;e ..,.
'9!u: nwE
8 l,!I liil iill
8 0 � 0
[l 0
8 � 0
[l �
iill
iill
Fig. 3.80
Ahora tan solo hemos de sustituir las variables que estaban relacionadas con el DB
de instancia programado anteriormente porlas nuevas variables de este DB, y que
son las siguientes:
CON DB INDEPENDIENTES CON UN UNICO DB COMÚN
"DB TON TOO" "DB TIMERS".TIM 00
"DB TON T0l" "DB TIMERS".TIM 01
"DB TON T02" "DB TIMERS".TIM 02
"DB TON T03" "DB TIMERS".TIM 03
"DB TON T00".Q "DB TIMERS".TIM 00.Q
"DB TON T0l".Q "DB TIMERS".TIM 01.Q
"DB TON T02".Q "DB TIMERS".TIM 02.Q
"DB TON T03".Q "DB TIMERS".TIM 02.Q
El funcionamiento del programa será idéntico, pero en lugar de utilizar cuatro DB
de instancia habremos utilizado tan solo uno.
3.8 Comprobar funcionamiento con maqueta
de simulación 3D
Debemos observar cómo al arrancar la aplicación, el piloto rojo se pone en
funcionamiento y al accionar el pulsador MARCHA del panel Control del proceso,
se inicia la secuencia programada.
Control del proceso
i (f, ■r. tt1·:
EMERGENClA PARO MAR04A AUT·�AN ACC
■ ■■■ ■
Fig. 3.81
V
1
'
'
1
1
'
1
'
1
Unidad 3 - Programación con temporizadores IEC
Esta secuencia se programa de forma temporizada, visualizándose el encendido
sucesivo de los pilotos en la baliza del simulador 3D.
Ejercicio
Piloto ROJO
Fig. 3.82a
Piloto AMARILLO
Fig. 3.82b
CONTROL DEL MOVIMIENTO TEMPORIZADO DE UN CILINDRO
Piloto AZUL
Fig. 3.82c
Piloto VERDE
Fig. 3.82d
Queremos realizar el control del cilindro de doble efecto del eje vertical que lleva acoplada una
ventosa en su extremo. Este cilindro está gobernado por una válvula monoestable y tiene dos
sensores magnéticos que detectarán la posición del cilindro, tanto cuando se encuentra en reposo
(arriba), como cuando se encuentra en avance (abajo).
Condiciones de funcionamiento:
• Al poner en marcha el sistema, funcionará el piloto rojo.
• Al accionar el pulsador de marcha y si el cilindro se encuentra en la posición de reposo (arriba), el
cilindro se moverá a la posición de avance (abajo).
• Cuando el cilindro llegue abajo, se pondrá en funcionamiento el piloto amarillo intermitente con
una frecuencia de 1 Hz.
• Al cabo de 10 segundos de que el cilindro se encuentre en la posición de avance (abajo), el
cilindro volverá a la posición de reposo (arriba).
• Cuando el cilindro alcance la posición de reposo (arriba), el sistema volverá al inicio, poniendo de
nuevo en funcionamiento el piloto rojo y quedando el proceso preparado para un nuevo ciclo.
Fig. 3.83
125
Unidad 3 - Programación con temporizadores IEC
126
Relación de entradas y salidas:
ENTRADAS
Dirección Dispositivo
10.2 S2 Pulsador de marcha
10.4 B1 Detector cilindro ventosa en reposo
10.5 B2 Detector cilindro ventosa en avance
Realizar:
• Diseño del Grafcet.
• Implementación a programa del PLC.
SALIDAS
Dirección Dispositivo
Q0.0 Yl EV Cilindro bajar ventosa
Q2.1 H0 Piloto amarillo
Q2.4 H3 Piloto rojo
• Comprobación del funcionamiento mediante la maqueta de simulación 3D.
)
'
'
'
'
'
'
'
'
'
·,
'
'
)
'
'
'
'
'
'
Unidad 4 - Programación con contadores y comparadores IEC
Unidad 4 Programación con contadores y comparadores IEC
•:oir...,._,,
�
� OJ �
..,
'U_IIUf• - •
,--·-•.=!21�­
-- ..•- lfnl.UQl,l • • r i
En este capítulo:
4.1 Características y tipos de contadores IEC
4.2 Funcionamiento de los contadores IEC
4.2.1 CTU. Contador ascendente
4.2.2 CTD. Contador descendente
4.2.3 CTUD. Contador ascendente-descendente
4.3 Preselección directa e indirecta de contadores
4.4.1 Contadores programados en un bloque de
organización (08) o en una función (FC)
4.4.2 Contadores programados en un bloque de
función FC con bloque de datos multi-instancia
4.4.3 Declaración de varios contadores IEC en un
mismo bloque de datos
4.5 Funciones de comparación
4.6 Programación en Grafcet (111)
4.3.1 Valor de preselección del contador constante O 4.6.1 Tipo de secuencia Selección de secuencia o
direccionamiento directo Bifurcación en O
4.6.2 Programa basado en diseño Grafcet
4.3.2 Valor de preselección del contador variable o
direccionamiento indirecto 4.6.3 Acciones y transiciones asociadas
4.4 Varios contadores en un único DB de instancia
contadores
4.6.4 Programa basado en diseño Grafcet
Ejercicio propuesto
con
127
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
Los tipos de
contadores IEC que se
pueden programar
tanto en un PLC S7-
1 200 como S7-1 500 son
los siguientes:
• CTU. Ascendente.
• CTD. Descendente.
• CTUD. Ascendente­
descendente.
Recuerda • • •
Los tipos de
contadores IEC que se
pueden programar se
asocian a un DB de
instancia y el dato del
valor de preselección
es del tipo «lnt» en sus
diferentes modos con
o sin signo.
128
<.??'!>
lnt
Slnt
<1??> PV Dlnt
USlnt
Ulnt
UDlnt
Fig. 4.2
4.1 Características y tipos de contadores IEC
Los contadores IEC que se incluyen en el PLC S7-1200 son los siguientes:
• CTU. Contador ascendente.
• CTD. Contador descendente.
• CTUD. Contador ascendente-descendente.
Los símbolos para poder utilizar estos contadores dentro de un programa en
diagrama de contactos se pueden localizar dentro de la carpeta Contadores que
hay en Instrucciones básicas.
Nombre
• [B) Conta dores
:a- cru
:a- cm
:a- CTUD
Descripción
Canta dar ascendente
Canta dar descendente
Conta dor a scendente - descendente
Fig. 4.1
Algunas de las características de estos temporizadores IEC son:
• Todos los contadores IEC van asociados a un DB de instancia.
• Los contadores IEC se pueden llamar las veces que sean necesarias, ya
que no existe un número determinado.
• Se puede seleccionar el formato del valor del contaje mediante el
desplegable del tipo ???. Podemos elegir entre los siguientes tipos de
datos y según la elección realizada se dispondrá de un valor de contaje
máximo diferente:
o lnt: entero con signo de 16 bits (-32768 hasta 32767).
o Slnt: entero con signo de 8 bits (-128 hasta 127).
o Dlnt: entero con signo de 32 bits (-2147483648 hasta
+2147483647).
o USlnt: entero sin signo de 8 bits (0 - 255).
o Ulnt: entero sin signo de 16 bits (de O a 65535).
o UDlnt: entero sin signo de 32 bits (de O a 4294967295).
4.2 Funcionamiento de los contadores IEC
En los siguientes apartados se explica el funcionamiento de cada uno de los
contadores del tipo IEC.
4.2.1 CTU. Contador ascendente
Con la instrucción CTU se pueden registrar impulsos de forma ascendente, es
decir, que por cada pulso que llegue a la instrucción CTU, por el parámetro de
entrada CU (Counter Up), este incrementará en una unidad su valor actual CV.
Cuando el valor actual CV sea igual o superior al valor de preselección PV (Preset
Value), entonces se tendrá la salida Q activada. Al activar el parámetro de entrada
R (Reset), el valor actual se iniciará con el valor O.
El contador IEC tipo CTU dispone de los siguientes parámetros:
J
J
J
1
J
1
1
C1U
m
--- cu Q --
... - R OJ - ...
<???> PV
Fig. 4.3
Unidad 4 - Programación con contadores y comparadores IEC
CU: entrada de pulsos para el contaje ascendente.
R: pulso para la puesta a cero del valor actual.
PV: valor de preselección, que es el valorde referencia para poder activar la salida Q.
Q: salida booleana para indicar con un 1 que el valor actual es igual o superior al
valor de preselección.
CV: salida para indicar el valor actual del contaje en el formato seleccionado.
En el momento de insertar este modelo de contador IEC, CTU, nos solicita la
declaración de un DB asociado al mismo donde guardará de forma permanente el
valor de los parámetros. Por tanto, nos aparecerá el cuadro de diálogo Opciones
de llamada:
En dichas opciones, en el campo Nombre, se debe asignar un nombre simbólico al
DB asociado al contador. Podemos dejar el que viene por defecto o bien
modificarlo.
También nos ofrece otras dos opciones:
• Manual: podemos elegir el número del DB asociado.
• Automático: asigna un número de DB libre de forma automática.
pciones de llamada
Instancia
individual
llioque de -
Nombre Oi,-
U
i•
!!!l
i'iei!!!l
OJK!
i•Jl!
Q
�
- ===:r}
Número
:;)
Q Mlllnual
@ Automático
Elbloqued,e función l�ml!ldo guarda -;u,;datos en unbloque
de datos d,e instancia propio
más.
Fig. 4.4
En este caso modificamos el nombre, escribiendo DB_CTU_Ol, y de forma manual
le asignamos el 0B10 como DB asociado a este contador:
Opciones de llamada
Instancia
individual
Bloque de -
Nomb,e .-
o-
•_cru--
_o
-
, -----""'"'
Número .__
,_
o ___.
© Manual
Q Automático
El bk>q� de funci6n llam.sdo guardd -.u-. datos en un bloque
de datos de inuancia propio.
Fig. 4.5
Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de
programa > Bloques de sistema > Recursos de programa del árbol del proyecto.
129
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
Básicamente el
funcionamiento del
tipo de contador CTU
provoca el aumento
del valor actual una
unidad cada vez que
se conecta la entrada
«CU», y cuando el valor
actual «CV» alcanza o
supera el valor de
preselección «PV»,
entonces se activa la
salida «Q».
130
• J UNIIU,O_o,c Momllt,
., .....,.,.,.,,mo -o • lr,p,,t,
· 111,-- )'.-ck, -Q • --1..c.1
· s¡;-:::.,cz:::� cL
� Onins)'..li"ÓJWO -1► -1'► -o- @ - .J
• lloqwt lk l"Of'll,na
•11a:.....,_bloqw
• .._.. 101111
• �•nuptoftOOI
• !11' 9'oq,.l,,, M ,,n,,...
··::v--:111•7;"·
• ot,,11111ffJld6tkot
• �'-'*"'º
• �V,ffllble1 ,U:
• 111,os df lfflftl.C
• ..�blo• M•-rl6n1"-1N>,..-..
• htb,v,. Offllllt'.
, beu
, r DHll dept<llt'N di."'"­
f!( tn1o,r,,,<J6,itkl,..,.,._
Jü t.l,u1ila -
• MDduloo i«,i.s
• -a OZ....fjl1tltloPto,ue,1e1_I IOV 121'1(._
• J D1110te-J " ....,...-1
. (
Fig. 4.6
-1 1 °"''°'
-1 1 cw....
-11 0#•
➔I CW>
-11 a. �
--II IN.Jllllfl•
-II O!l'r..,.....,
➔• --­
� -flOl-01}-
• � l•Mffl
6 to_.....,_
.,,.M;_�
....
'1 tQ..tlrt,,1jt>e
'el' Nt.J'-"""
Conlidoto,�"• il
�dftu,IH,_ ';f-
�•K•IICl.,_.�ctfldil:.,. !!1
...,
...
)Ol'o .....l
,..no<olpulll
..,.,
.._
v,1o,,,._ct,rt,,nwo
v........ .,.,..,.,
�•nW.:
eo,,,......., ......liot-:
Seguidamente ya se puede observar cómo el contador insertado tiene el DB
declarado asignado a ese contador.
El funcionamiento de este tipo de contador es el siguiente:
• El contador se incrementa en 1 unidad cada vez que el valor del
parámetro CU cambia de O a 1.
• Si el valor del parámetro de desactivación R cambia de O a 1, el valor de
contaje actual se pone a O.
• La salida CV muestra el valor actual en formato DECIMAL.
• Si el contador ha alcanzado el valor de preselección CV (por ejemplo, 3), y
continúan entrando pulsos por la entrada CU, el registro del contador
sigue incrementando su valor (4, 5, 6, 7, 8, 9, ...).
• Si el contador alcanza el valor máximo y continúan entrando pulsos por
CU, el valor actual se mantendrá en ese valor máximo.
• Siempre que el valor del parámetro CV (valor de contaje actual) sea igual
o mayor que el valor de preselección PV, el parámetro de salida del
contador Q = 1.
• Según el tipo de datos que se haya seleccionado mediante el desplegable,
el formato del valor de preselección en la entrada PV deberá coincidir con
el tipo seleccionado.
A continuación, se muestra el diagrama del funcionamiento de los dos tipos de
contador (donde PV = 3):
cu
R .......-........-...----;--í"L
CV �
Q
2
Fig. 4.7
4
3
L
V
Unidad 4 - Programación con contadores y comparadores IEC
Ejemplo:
Este es un pequeño programa de ejemplo:
'Y.0810
"DB_CTU_01 "
'll0.2 CTU
"S2_M"-RCHA" lnt
1Q2.2
"H1_VERDE"
cu Q -----�------- }---,
.,.2-6 'IMW/016
"S4_RESE1' - R 'PROCESADAS
1 0 f'V cv - SIN GIWlAOO"
'XQ:U
"H3_ROJO"
NOT 1-
I ----1
( }---, Fig. 4.8
En este caso el contador irá contando los pulsos que lleguen al parámetro CU
mediante la entrada 1 0.2 correspondiente al pulsador MARCHA, y mediante la
entrada 12.6, correspondiente al pulsador RESET conectado a la entrada R, el
contador se pondrá al valor O.
Al alcanzar el valor actual el valor de preselección, 10 en este caso, la salida Q se
activará, poniendo en funcionamiento el piloto verde y desconectando el piloto
rojo. El valor actual se mostrará en todo momento en el registro MW7016
(Valor_Actual).
Mediante la activación del pulsador inferior de reset (Valores de producción), el
registro del valor actual se pondrá a O.
En este caso, para contabilizar los pulsos se ha
elegido el registro MW7016, que corresponde
al visualizador Ninguna de los Valores de
producción del panel Registros de pedido y de
contaje. Este panel contiene además el
pulsador RESET.
Registros de pedido y de contaje
--••1�
Aesel
�
Dt'l() !"de
-n · n
u , , u
Fig. 4.9
,-,a ===
L Aesel 1
En el modelo IEC, al querer cargar el programa en el PLC, nos indica que hay un
bloque, D810 "DB_CTU_0l", que es el que hemos asociado al contador, que
también se debe cargar. En caso contrario, el PLC indicará el fallo mediante el led
SF de System Fail de la CPU.
Al comprobar el funcionamiento sobre la
maqueta 3D, si accedemos al panel Control del
proceso, podemos actuar sobre el pulsador
MARCHA:
4.2.2 CTD. Contador descendente
520-HZO S2H421 522-H22 52J.Hll S24-H24 M2
Fig. 4.10
Con la instrucción CTD se pueden registrar impulsos de forma descendente, es
decir, que por cada pulso que llegue a la instrucción CTD por el parámetro de
entrada CD (Counter Down), se decrementará en una unidad su valor actual. El
131
Unidad 4 - Programación con contadores y comparadores IEC
132
-- CD
... - LO
... - PV
CID
lnt
Q ­
a¡ - ...
Fig. 4.11
proceso se iniciará por el valor de preselección indicado en el parámetro de
entrada PV (Preset Value) al activar el parámetro de entrada LD.
El contador IEC tipo CTD dispone de los siguientes parámetros:
CD: entrada de pulsos para el contaje descendente.
LD: entrada para cargar como valor actual el valor de preselección programado en
la entrada PV.
PV: valor de preselección, valor que se graba como valor actual al activar la
entrada LD.
Q: salida booleana para indicar con un 1 que el valor actual ha alcanzado el valor O
o inferior (negativo) si se trabaja con el tipo de datos que admite valores con
signo.
CV: salida para indicar el valor actual del contaje en el formato seleccionado.
En el momento de insertar este modelo de contador IEC, CTD, nos solicita la
declaración de un DB asociado al mismo en el que guardará de forma permanente
el valor de los parámetros. Por tanto, nos aparecerá el cuadro de diálogo
Opciones de llamada:
En él aparece el campo Nombre, en el que se asigna un nombre simbólico al DB
asociado al temporizador. Podemos dejar el que viene pordefecto o bien modificarlo.
También nos ofrece la posibilidad mediante las opciones:
• Manual: podemos elegir el número del DB asociado.
• Automático: asigna un número de DB libre de forma automática.
Opdones de llamada
lnn•ncit
individual
-·-
Número
!li
D
+l!
•!!ll
l'i,ll:I
H41!
MIE
W
C===¡.,
Q ,.nutl
@ P41tom'1ico
E.Ibloque dc- función llamedo gu•rda ius datos c-n un bloque
dc- datos. d!' insu-nc:ie propio.
mh-
....,.,
Fig. 4.12
En este caso modificamos el nombre, escribiendo DB_CTD_Ol, y de forma manual
le asignamos el DBlO como DB asociado a este contador:
puone'i de llamada
Instancia
individual
-·-
-------........
Nomh<• ,_
o..
s_cm
__
_.
..
, -�----,....
Nt'.imt-ro 10
.,_
0
-
..,
-
nu
-
,1�-
0 11uU>mi1,co
El bloque dl" función lt.rnedo guard■ s.us dno1, ""un bloque
de datos dl" iNttnc.11t propio
m,s.
C.ncrJt,
Fig. 4.13
....J
....J
J
'
'
í
í
)
í
í
' Recuerda • • •
Básicamente el
funcionamiento del
tipo de contador CTD
provoca el
decremento del valor
actual una unidad
cada vez que se
conecta la entrada
«CD», y cuando el valor
actual «CV» alcanza el
valor ((Ü», o un valor
negativo, entonces se
activa la salida «Q».
Unidad 4 - Programación con contadores y comparadores IEC
Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de
programa > Bloques de sistema > Recursos de programa del árbol del proyecto.
"Cl"«o lk'6n ,,..., i,u;._,.., o,,¡..,o. o,,:- ._,..,,.,.ne., "'"°"" ...,.... T�Uylnt"(ll.iH.t.ulDm•tlon
,..J ..! Q �,-op<"' :,, X ,. O.. )
(
ll) t (" • -j., lJ fD ■ C ,JI EANIK•c°""'°""'"""- P>4
_., '" ,a l! � X � PORTAL
=- ---- � , e
• ...J UICIAO_Of
-�••,-.­
. Dolpos- , ...c1n
► .,» fl1_C1DlCJIU U1« �
• -41 01_0,¡c,u u.1.e�
IY '-""'� " *pos._
J,i o..n.y..,.w.o
· - � • P'OIIJ•"'•
:-.: ::�C:.�
"'
�
• s,.� ¡oa1001
• fl.omlPJ _,
> 4 Vttioble,fC
. ""°'""-""'
► -•w.•••l'fnó».1baa ,......_
• -- •u�..,..
► .,. ben
• o... .. ,..,,.,.otediopoa-
i.'!l. ......•o6n •1 ,....
....
, • n_(}t,dt.....,..1to...2 tou tn«KJOO.
► ..i O.ui• �--·
--4► -4 1- -o- t!!t .... .J
• .., Tlwlodel bloque; '"-"' �"'S"'•PICJID"'�f
�---
• �o 1 : U.""tdf t: �11'41 -----
�
-
•=
,_,.....
,. ,..._
,i OoPo
"'' °"'..
,:II CM'•
-11 °"'"
'41 (1,1'«
◄j l(Jlo"9"
◄j OU,_••
... ..,...
,1--------, "' -,.Ol.oq-
.M l.0 CI ,. !,. '"' w 'BM,,¡
fl-o
1 !J' lO_�
.,..__,,..
f¡ lOJ!.,.'t
,Pf"
• -
-.ce��''·--------- ,r (l' Nt...u
......,,,_
Fig. 4.14
C-dotHte-- .il
:::::,�=-"..._ i
w-
141o<lltntl0dfl'r1"90
f
'A,Jo,-1,t.. �i.. ¡,
::::=�-�"-1
C-,-.pe•HJ1 fl 9pO ,k, NtDf H Dl'ft
<,on,pe,11 s,ff 11pO O. IMtot ft "" .t
:"'pe•1•J1tldpcH d.t- N un'; '"'
Seguidamente ya se puede observar cómo el contador insertado tiene el DB
declarado asignado a ese contador.
El funcionamiento de este tipo de contador es el siguiente:
• El contador se decrementa en 1 unidad cada vez que el valor del
parámetro CD cambia de O a 1.
• Si el valor del parámetro de carga LD cambia de O a 1, el valor de contaje
actual se fija en el valor registrado en la entrada PV.
• La salida CV muestra el valor actual en formato DECIMAL.
• Si el contador ha alcanzado el valor O y continúan entrando pulsos por la
entrada CD, el registro del contador continúa decrementando su valor (-1,
-2, -3, -4, -5, ...) siempre que se haya elegido el tipo de datos con signo
(USlnt, Ulnt, UDlnt). En caso de elegir el tipo de datos sin signo, el valor
permanecerá en O.
• Siempre que el valor del parámetro CV (valor de contaje actual) sea igual
o menor que el valor O, el parámetro de salida del contador Q = 1.
• Según el tipo de datos que se haya seleccionado mediante el desplegable,
el formato del valor de preselección en la entrada PV deberá coincidir con
el tipo seleccionado.
A continuación, se muestra el diagrama del funcionamiento de los dos tipos de
contador (donde PV = 3):
CD
lOAD
CV
Q
...n · ..., .
1 ..............
_
.....
__�........
. ----
1 3 1 3
o
Fig. 4.15
133
Unidad 4 - Programación con contadores y comparadores IEC
134
Ejemplo:
Este es un pequeño programa de ejemplo:
'KI0-2
"S2_MARCHA"
,0810
"DBSTD_o1·
CID
lnt
'XQ2.2
"Hl_VERDE"
1-----cD
,.,3.1
"S5]ULSADOR
ACK'-LD
Q------..----------1 )----,
'-MW7016
"PROCESADAS
OI - SIN GRABADO"
'XQ2.4
"H3_ROJO"
15-PV NOT 1-¡ ----'( )----, fig. 4.16
En este caso el contador se ha elegido con un tipo de datos lnt, lo que significa
que es del tipo entero con signo de 16 bits (-32768 hasta 32767). Por tanto, puede
contener valores positivos y negativos.
Al accionar el pulsador ACK a través de la entrada 1 3.1, programado en la entrada
LD, el valor actual registrado en la salida CV contendrá el valor introducido a
través de la entrada PV.
Por cada pulso que le llegue por la entrada CD, a través de la entrada 1 0.2
correspondiente al pulsador MARCHA, el valor actual registrado en la salida CV
descontará una unidad.
Cuando el valor actual sea igual o inferior a O, la
salida Q quedará activada, poniendo en
funcionamiento el piloto verde y desconectando
el piloto rojo. El valor actual se mostrará en
todo momento en el registro MW7016
(Valor_Actual), que corresponde al visualizador
Ninguna de Valores de producción del panel
Registros de pedido y de contaje.
Igual que en el ejemplo anterior, para
comprobar el funcionamiento sobre la maqueta
3D, accederemos al panel Control del proceso,
para actuar sobre el pulsador MARCHA:
Registros de pedido y de ,:ontaJe
Fig. 4.17
520-M20 S21-H21 S2.2-H22 S23-H2l S24-H24 M2
Fig. 4.18
4.2.3 CTUD. Contador ascendente-descendente
El tipo de contador CTUD podemos decir que integra los dos tipos de contadores
anteriores CTU y CTD. Por tanto, puede registrar impulsos de forma ascendente y
descendente, y es por ello que cuenta con dos entradas de contaje: una para
incrementar (CU) y otra para decrementar (CD) una unidad su valor actual.
También dispone de entrada de puesta a cero (R) y entrada de preselección de un
valor inicial.
El contador IEC tipo CTUD dispone de los siguientes parámetros:
CU: entrada de pulsos para el contaje ascendente.
J
1
'
'

1 
'
�
ClJD
lnt
---CU QU-
•.• - CD QD --◄...
----R cv- ..
.
... -LO
<J??>-rv
• •o• ........J
Unidad 4 - Programación con contadores y comparadores IEC
CD: entrada de pulsos para el contaje descendente.
R: pulso para la puesta a cero del valor actual.
LD: entrada para cargar como valor actual el valor de preselección programado en
la entrada PV.
PV: valor de preselección, que es el valor que se graba como valor actual al activar
la entrada LO.
QU: salida booleana para indicar con un 1 que el valor actual ha alcanzado o
superado el valor que tenemos en PV.
QD: salida booleana para indicar con un 1 que el valor actual ha alcanzado el valor
O o menor de O.
CV: salida para indicar el valor actual del contaje en el formato seleccionado.
En el momento de insertar este modelo de contador IEC, CTUD, nos solicita la
declaración de un DB asociado al mismo donde guardará de forma permanente el
valor de los parámetros. Por tanto, nos aparecerá el cuadro de diálogo Opciones
de llamada.
En él aparece el campo Nombre, en el que se asigna un nombre simbólico al DB
asociado al temporizador. Podemos dejar el que viene por defecto o bien
modificarlo.
También nos ofrece otras dos opciones:
• Manual: podemos elegir el número del DB asociado.
• Automático: asigna un número de DB libre de forma automática.
pciones dP llamada
Instancia
individual
Bloque de-
Nombrt> {h◄i•Me@M•M•i4
Número [;)
QMtnu,I
(e) Auwmitico
El bloque de fi.Jndón lf1m1do gu1rdi, sus datos en un bloque­
de dnos de im.tencie propio
más_
Ace-pu,r Cenceler
Fig. 4.20
En este caso modificamos el nombre, escribiendo DB_CTUD_Ol, y de forma
manual le asignamos el 0B10 como DB asociado a este contador:
pciones de llamada
B
lnst1nci1
individual
Bloquede-
Nomb,e ,-D-B
_-CTV-D-_
0_1 ______
Número �•o
___:_
(i) Manual
QAutomauco
El bloque de función llamado gu1mia sus duos e-n un bloque
de datos de 1n:n1ncilf propío.
mas.
Fig. 4.21
135
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
Básicamente el
funcionamiento del
tipo de contador CTUD
contiene los dos
contadores, tanto el
CTU como el CTD, lo
que provoca que el
mismo contador
pueda incrementar y
decrementar el mismo
valor actual «CV» del
contador.
136
Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de
programa> Bloques de sistema> Recursos de programa del árbol del proyecto.
Seguidamente ya se puede observar cómo el contador insertado tiene el DB
declarado asignado a ese contador.
El funcionamiento de este tipo de contador es el siguiente:
• El contador se incrementará en 1 unidad cada vez que el valor del
parámetro CU cambia de O a 1, o bien se decrementará una unidad cada
vez que el valor del parámetro CD cambia de O a l.
• Si el valor del parámetro R cambia de O a 1, el valor de contaje actual se
pone a O.
• La salida CV muestra el valor actual en formato DECIMAL.
• Si el contador ha alcanzado el valor de preselección PV (por ejemplo, 3), y
continúan entrando pulsos por la entrada CU, el registro del contador
continúa incrementando su valor (4, 5, 6, 7...).
• Si el contador alcanza el valor máximo, según el tipo de datos
seleccionado, y continúan entrando pulsos por CU, el valor actual se
mantendrá en ese valor máximo.
• Cuando la entrada LD cambie de O a 1, el valor actual del contador se fija
al valor especificado en la entrada PV como valor de preselección inicial.
• Si el contador va descontando y alcanza el valor O, en el caso de que
continúen entrando pulsos por la entrada CD, el registro del contador
seguirá descontado poniéndose en valores negativos (-1, -2, -3, ...) si se ha
elegido el tipo de datos con signo (USlnt, Ulnt, UDlnt). En caso de elegir el
tipo de datos sin signo, el valor permanecerá en O.
• Siempre que el valor del parámetro CV (valor de contaje actual) sea igual
o mayor que el valor de preselección PV, el parámetro de salida del
contador QU = l.
• Siempre que el valor del parámetro CV (valor de contaje actual) sea igual
o menor que O, el parámetro de salida del contador QD = l.
A continuación se muestra el diagrama del funcionamiento de los dos tipos de
contador (donde PV = 3):
cu
CD ____......._________rt-fl____-.--___
R --+-------+--r----!---íL-
---+--"--.._---!!---+--....n.__.......__.,__
5 :
o
CV
QU LJ
Fig. 4.22
'
'
l. 

'
l
"
'
')
........
'
'
'
'
"'
"'
'
'
�

'
'


'
'
')
'
1
'

'
"
'
'
'
·"""'
1
'
'
"
Unidad 4 - Programación con contadores y comparadores IEC
Ejemplo:
Este es un pequeño programa de ejemplo:
'll>B10
·oe_cruo_o1·
'115.3 ClJD
"S20" lnt
'-()22
"H1_VERDE"
1----cu QU -------------1
'115.4
·s21·
"S4_RESE1" - R
'113.1
·ss_pULSADOR
ACK:°-LD
15-f'V
'-()2.1
QD -<"H0_AMAAILLO"
�W,016
"PROCESADAS
O/ - SIN GRABADO"
'-()2.1 '-()22 '-()2.4
Fig. 4.23
"H0_AMAAI
I-
L
-
LO
_
•
__
•H
_
1
_VERDE" "H3_ROJO"
· 1;1--------------( )-------t Fig. 4.24
En este caso el contador se ha elegido con un tipo de datos lnt, lo que significa
que es del tipo entero con signo de 16 bits (-32768 hasta 32767). Por tanto, puede
contener valores positivos y negativos.
Al accionar el pulsador RESET, programado en la entrada R, el valor actual
registrado en la salida CV se pone al valor O.
Al accionar el pulsador ACK, programado en la entrada LD, el valor actual
registrado en la salida CV contendrá el valor introducido a través de la entrada PV.
Por cada pulso que le llegue por la entrada CU, a través de la entrada 1 5.3
correspondiente al pulsador S20, el valor actual registrado en la salida CV
descontará una unidad.
Por cada pulso que le llegue por la entrada CD, a través de la entrada 1 5.4
correspondiente al pulsador S21, el valor actual registrado en la salida CV
descontará una unidad.
Cuando el valor actual CV sea igual o inferior a O, la salida QD quedará activada,
poniendo en funcionamiento el piloto amarillo y desconectando el rojo.
Cuando el valor actual CV sea igual o superior al valor de preselección PV, la salida
QU quedará activada, poniendo en funcionamiento el piloto verde y
desconectando el rojo.
El valor actual se mostrará en todo momento
en el registro MW7016 (Valor_Actual) asociado
a la salida CV, que corresponde al visualizador
Ninguna de los Valores de producción del
panel Registros de pedido y de contaje.
Registros de �ido y de contaJe
Fig. 4.25
137
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
La preselección
directa o constante del
valor de preselección
se basa en asignar un
valor fijo en formato
«lnt» en la entrada
«PV».
Recuerda • • •
La introducción
indirecta del valor de
preselección se basa
en asignar un registro
en formato palabra en
la entrada «PV», que
deberá contener el
valor de preselección
en formato «lnt».
138
Al comprobar el funcionamiento sobre la
maqueta 3D desde el panel Control del
proceso, podemos actuar sobre los pulsadores
S20-H20 y S21-H21:
Fig. 4.26
4.3 Preselección directa e indirecta de contadores
Se pueden programar los diferentes contadores de forma que el valor de
preselección sea del tipo:
• Constante o direccionamiento directo.
• Variable o direccionamiento indirecto.
4.3.1 Valor de preselección del contador constante o
direccionamiento directo
Se programará un valor constante cuando no sea necesario modificarlo una vez
ajustado para la aplicación que se debe realizar.
En este caso, en el parámetro PV, en los contadores IEC, introducimos un valor
constante en formato decimal, como es 10:
'-Kl.2
"S2_MAACHA"
'J.DB10
•oe_cru_o,·
CTU
lnt
'IQ2.2
"Hl_VERDE"
1----cu
'1112.6
"S4_RESE,- - R
Q-------,.------- )------,
10-PV
'lMW7016
"PROCESADAS
CV - SIN GRABADO"
'IQ2.4
"H3_ROJO"
NOT 1-1
--
--t
(
)------, Fig. 4.27
4.3.2 Valor de preselección del contador variable o
direccionamiento indirecto
Se programará un registro cuando sea necesario modificarlo durante el
funcionamiento del proceso en el que se aplica. La modificación del valor de
preselección pasa por modificar el valor contenido en el registro programado,
como por ejemplo desde una pantalla táctil.
En este caso, en el parámetro PV, en los contadores IEC, introducimos un registro
que deberá contener un valor en formato decimal:
'111>B10
·oe_cru_o,·
'-Kl.2 CTU
·s2_PIMRCHA" lnt
'IQ2.2
"HlYERDE"
1----cu
'1112.6
"S4_RESE,- - R
Q-------,.--------{ )------,
'lMW7008
"PEDIDO SIN
GRABADO" - PV
'lMW7016
"PROCESADAS
CV - SIN GRABADO"
'IQ2.4
"H3_ROJO"
NOT 1------1 >---- Fig. 4.28
.J
'
)
'
1
')
,,......,
,,.....,,
,,.....,,
'
"
'
"
'
,,.....,,
'
"
'
)
,,_
1
')
'
�
1
"
'
' '
)
Unidad 4 - Programación con contadores y comparadores IEC
Este registro es el MW 7008, que se puede
controlar mediante el panel Pedido de
registros y contaje, que corresponde al
display Ninguna de Pedidos de
producción. Para poder introducir un
nuevo valor tan solo es necesario pulsar
sobre el display correspondiente, ya que a
continuación se abre la siguiente ventana
para introducir el valor adecuado. Al cerrar
esta ventana mediante el botón Validar, el
valor se puede visualizar en el display
correspondiente.
1s
Vt:Jotactual
005
Fig. 4.29
La comprobación del funcionamiento se puede realizar completamente mediante
el panel Control de proceso, además del mencionado Pedido de registros y
contaje, para visualizar el estado de los pilotos en la baliza del simulador 3D.
Fig. 4.30
Mediante el accionamiento del pulsador MARCHA iremos incrementando el valor
actual, que en este momento es 8, según se visualiza en el display Valores de
producción - Ninguna. Si se acciona el pulsador Valores de producción - Reset, el
valor actual pasará a ser O. En todo momento la baliza mostrará el piloto verde o
rojo que corresponda, según el estado del contador. En este caso muestra el
piloto verde porque el valor actual (8) es superior al valor de preselección (5).
4.4 Varios contadores en un único DB de instancia
De igual forma que en los temporizadores, hemos visto cómo en el momento de
incorporar un contador al programa nos solicita un DB de instancia asociado en el que
guardará el estado de cada uno de los parámetros. Pues bien, hay una diferencia entre
si programamos el temporizador en un 0B o una FC, o si lo programamos en un FB.
4.4.1 Contadores programados en un bloque de organización {OB}
o en una función {FC}
Como hemos visto en los apartados anteriores, al insertar un contador IEC en el
editor de diagrama de contactos, se solicita que este se asocie a un bloque de
139
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
Cuando se programa
un contador en un
bloque OB o FC se
debe asignar un DB de
instancia para cada
uno de ellos.
140
datos DB. En el ejemplo mostrado a continuación, en el D810 el funcionamiento
será semiautomático, ya que el contador registrará pulsos cada segundo
(M8191.5) mientras mantengamos accionado el pulsador de marcha (10.2). Es
decir, se está registrando el tiempo en segundos que se tiene accionado el
pulsador de marcha:
'11>1110
·oe_au_o1·
"II0.2 "IN81915 C1U °")2.2
"S2_MAACHA" "dock_l� lnt "Hl_VE:ROC-
1-------------V (lJ Q -----.,...----( 1----<
'112.6
"S4_AES[í - R
"IMW7016
"PROUSADAS
CV - SIN GRABADO"
'IQ2.4
"H3_RO.JO"
�W,008
"PE:OIOOSIN NOT1-----< 1----<
Fig. 4.31
GRABADO" PV
Al abrir el DB de instancia, sea cual sea el tipo de contador seleccionado, se
observa la declaraciónautomática de los parámetros siguientes:
08_ClU_01
OD ••• 0 0
-o. CD """' 01 ••• 0 0
• -o. • .... o� ••• 0 0
-o. u, """ 03 ... 0 0
-O• ou """' o, ••• 0 0
-O• ou """ 05 ••• 0 0
-O• ,.,, .. 2.0 o 0 0
-O. o, .. •» o ¡;¡¡ 0 ,;;¡
Fig. 4.32
Si antes de abrir el bloque de datos de instancia que
se ha guardado en nuestro proyecto dentro de la
carpeta Bloques de programa - Bloques de sistema
- Recursos de programa, lo seleccionamos y
elegimos la opción del menú Edición - Propiedades,
se abrirá una ventana de propiedades de este
bloque, en el que dentro de la opción Atributos
debemos deseleccionar el atributo Acceso
optimizado al bloque. Obtendremos la siguiente vista:
B_CTU_01 IDB101
Sdlos detJempo
CDmpil1ción
Protección
-
..
Fig. 4.34
0
0
0
0
0
0
0
0
� � 04_Uniro_DB (CJ'l.l1214CACJOCll!lyl
1 Coniguracíón de dispositívos
Yti Online ydisgnóstic.o
Bloques de programa
• Agreg8rnuevo bloque
:a-MB.inlOBl]
:a- Stl>rtup 10B100]
• '22- Bloques de sístems
• :a, Recur5os de progrt1me
-�----'· DB_C.lU_01 IDBlO]
Objetos tecnológicos
Fig. 4.33
Ahora, si volvemos a abrir ese mismo bloque de datos, se observa cómo aparece
una nueva columna llamada Offset en la que se muestran las direcciones
absolutas de cada parámetro dentro del DB:
J
'
'
'
'
'
'
1 '
'
1
)
'
'
'
'
'
Recuerda • • •
Cuando se programa
un contador en un
bloque OB o FC, se
puede acceder a los
registros del DB
mediante su dirección
absoluta o simbólica.
Recuerda • • •
Cuando se programa
un contador en un
bloque FB, se puede
elegir un DB multi­
instancia, que permite
incorporar varios
contadores en el
mismo DB.
Unidad 4 - Programación con contadores y comparadores IEC
DB_CTU_01
Nambr.e íipod.edJ.� VMOrd.e.ur-.tnqLu! lbl"dn.enoJ Aa;.¡e,¡i,bled�.eHMliOPt:UA E<.<:nb_ Vffll>l.e>et1HMEnqin�nq V.OOrd�)U'>� Comffltano
� ,... Static
.Z <:i• OJ 8ool
,o • CD 8ooJ
<J • A. eool
C ■ LO 8001
.; ,O • QU Boot
0 • QO Bool
e• N 1m
<J ■ CV lnt
.....�
,.k,
bk�
�l,;�
faJ;e
-�·
a
0 0
0 0
0 0
0 0
0 0
0
0 0
0 0
Fig. 4.35
Podemos hacer uso de los parámetros de este DB de instancia de forma individual
en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque del
programa diferente. Podemos utilizar tanto las direcciones simbólicas como las
absolutas:
1 -�
8
��0
.....
º1xo_.__
iº
__________________
·H_o-f
_
�LLO"
� )----< Fig. 4.36
4.4.2 Contadores programados en un bloque de función (FB) con
bloque de datos multi-instancia
Cuando el contador se programa en un bloque de función, podemos seguir
utilizando el bloque de datos de instancia, como en el caso de la programación en
el 0B o en la FC, o bien como al realizar la llamada a un FB con parámetros. Este
ya se asocia a un bloque de datos de instancia DB y podemos utilizar ese mismo
DB para registrar el estado actual de cada uno de los parámetros usados en el
contador programado.
Para ello, una vez abierto el bloque de datos FB, en la zona superior de
declaración de parámetros podemos declarar una variable dentro de la zona
Static del tipo de datos IEC_COUNTER. Una vez declarada, la desplegamos y se
observan todos los parámetros de un contador:
Contador_Parametrilado
CI .. Static
O• ... CONTAOOR_01 IEC_COUNTER Norem;,n;entie iil
o cu ..., h�• Norem•ne� 0 0 0
o CD .... ... Mon!m;JIMNlbe 0 0 0
• o • Bool fol.< Noremill'k!fltl! � 0 0
• o lO '""' ... No remanente 0 0 0
00 QU ..., .... No remanente 0 0 0
' <l QD ..., ... Noremal'k!ntll! 0 0 0
o . ,V "" o Mon!fflllllefltl! 0 0 0
o OI '"' NoR!fflil!Jrfltl!
0 0 0
<l • T.emp
<I • COnuant
Fig. 4.37
Ahora sí realizamos el programa dentro de ese mismo FB, de forma que la
instancia asociada al temporizador sea la variable estática declarada
anteriormente:
#COtfTAOOR_01
'110.2 1Ms1915 cru 'IQ2.2
•s2_MARCHA
"'
"'Clock._1tt.z" lnt •H1_VERDe
l-----ll1---cu Q-----�-1 >--
'112.6
•s4_RESET - R
"tMW/008
•PEDIDO SIN
GAABADO
"'
-PV
'lMWJ016
•PROCESADAS
OJ-SINGRABAOO.
NOTl-----l
Fig. 4.38
141
Unidad 4 - Programación con contadores y comparadores IEC
142
De esta misma forma podemos declarar los diferentes contadores a utilizar en el
área de parámetros del FB. En el caso que se presenta a continuación es con dos
contadores:
.,.,,.... '(ipotifdlltOJ V""1rprnld. �tnerttlt Actflibledi'SOt'MMl/of'tUA �dncl.1-NfOf'CIJA Yi:llbk1.., HM1 lnpltlftring Viffl'd,� tmt'itfflllllo
<J ► lf19UI.
e • autput r -,
' <J ► lnout
' <J • 5tfbc
.(J • • COfrffADClll.Ol ICC:_COVH'!E'.A Ho rt,m1nel'k B B
• ... ClJ ,.,.,, .., Horem,ncnw 0 0 0
<I w ,.,.,, .., Norem,ntnte 0 0
,.,.,, .... '1cntffl1M"'41 0 0 0 .,
• <I ID .... .hr '1o rt!m1nenr. 0 0
1� <1 00 .... .... Noremtnt!'nlie 0 @ 0 ,..,,
..... 00 .... ... Ho f'li'ffllnt'nle 0 0 0 ,
•: ... "' '"' Ho ,.,,-i1tffflk1: 0 0 0
'Q ... O/ "" Ho rtm1MffM! 0 0 0 .,
14 4J • • C,OH'l'Al)Ol¡_02 lt.C_WOH"ltA Horem,nente Q lil Q
,;, ,Q ClJ .... ••• � ,e,,11� 0 0 0
1;;: -o w .... ••• ltforem,ncrtttt 0 @ 0 ,...,
17 <I .... ltkr Horem1nthtif 0 0 0
,,.., ID .... �IH' Noremfntrrle 0 0 0
,..., 00 .... W,11.- Nofl'm1n,:nw @ 0 0 .,
20 .., 00 .... frbt' Nowm,nrnte 0 0 0
., .., "' .. • tfortem1rse,,_ 0 0 0
.., O/ "" No fSfflltft'n11t
� � 0 .,
-o ► lemp
-O • C.omt.rlf
Fig. 4.39
Por tanto, utilizaremos para cada contador declarado sus propios parámetros sin que
estos se solapen entre sí, ya que esto provocaría un incorrecto funcionamiento.
Ahora tan solo nos queda realizar la
llamada a ese FB desde el 0B1. En el
momento de insertar el FB en un
segmento, nos aparece la ventana para
asociar el bloque de datos DB de instancia,
por ejemplo:
De modo que la llamada programada
queda de la siguiente forma:
10B1 1
·contador_
Poro metriado_
oe·
'IFBl
'tonlado,-
_�-
(i) Mfno,J
º""""'""º
U�ds'-'"r'Óf'Jl.1tt1tloput,'W )W ff'°" t'flun�
Of tft1M � ffl1lln!lf Jlft'PO
Fig. 4.40
EN
ENO --------------------< Fig. 4.41
Ahora, si abrimos el bloque de datos de instancia asociado a este FB, se observa
cómo aparecen todos los parámetros de los contadores declarados en el FB:
�-Vaa'•�-I>U
- '(
ipotk'dl'n ,..,dt!.«lffjtq..� timt,m:"t'I A«oibk.�MMllOf'C.UA r� tlwtltJ.N.'Ul'C.UA �"1....fnl,IINt.vinp Yi,1$)fdf�W �.c,rr,f>ffiW½
.., -
.., """"' --,
-a '"""'
,C] ... !,'W,-;
0 [
,,(] . . � 1.c_c:oow1rR 0 0
' .., ru .... ••• 0 0 0 r,
... ,n .... t,t,1· 0 0 @
• -O . .... .... 0 0 0 [7
.., IV .... .... 0 0 0 ,.,
QO .... .... 0 0 0
-O 00 .... .... 0 0 0
"' .. 0 0 0
"' ... 0 0 @
,n_<.ooH11J1- 0 0 @ 7
.... .... 0 @ 0 ,,
<P """ ..., 0 0 0
.... -•-•- 0 0 0
-O IV .... ��- 0 0 0
"" .... i,t--._, @ @ 0
00 .... t,JJ
.•
, @ 0 @
<J .,, ... • 0 0 0
"' .. @ @ @
Fig. 4.42
J
'..J
,....,
'
'
'
) Recuerda • • •
" Cuando se programa
,......, un contador en un
bloque FB asociado a
un DB multi-instancia,
' tan solo se puede
acceder a los registros
.---,. del DB mediante su
dirección simbólica.
1 '
'
1 1
'
1
)
1
'
' )
1
)
)
1
1
"
Recuerda • • •
' Otra opción para la
declaración de los
contadores es la
' utilización de un DB
global en el que se
declaren previamente
todos los contadores a
utilizar con tipo de
' datos «IEC_COUNTER».
'
'
l
,,....._
·,
1
"
1
'
)
'
Unidad 4 - Programación con contadores y comparadores IEC
En este caso, se añade la ventaja de que podemos utilizar los parámetros de los
contadores en cualquier bloque del programa, por ejemplo:
"Conta dor
Pa ra m etriza do _
oe·.CONTADOR_
01 .QU
"/,Q2.1
"H0_AMARILLO"
)-------t Fig. 4.43
Donde se observa que, para hacer uso de cualquiera de los parámetros, se llama a:
Nombre simbólico del DB de instancia: Contador_Parametrizado_DB
Nombre simbólico de la variable declarada en el FB: CONTADOR_0l
Nombre simbólico del parámetro del contador a utilizar del CONTADOR_0l: QU
En este caso no será posible el acceso de forma absoluta a las direcciones, debido
a que no se puede deseleccionar la opción Acceso optimizado al bloque dentro
de las propiedades del DB.
G@�..-1
1ntorm1ci6n
Selkn de uempo
Atributos _____________
G2:! Acc.noop11rr,,1.11do ,l bloq�
Atributos personalizado,
<[ • > Gr
Fig. 4.44
4.4.3 Declaración de varios contadores IEC en un mismo bloque
de datos
Otra forma es la de no trabajar con DB de instancia y trabajar con un DB global en
el que declaramos los diferentes contadores a utilizar. En el momento de
incorporar un contador al programa, nos solicita un DB. En este caso le
asociaremos el DB global declarado con los diferentes contadores.
Por tanto, antes de entrar a utilizar los contadores en nuestro programa, creamos
un DB global:
> Mh lnforrn.Kl6n
Fig. 4.45
143
Unidad 4 - Programación con contadores y comparadores IEC
144
A continuación, declaramos los diferentes contadores a utilizar, donde los tipos de
datos pueden ser IEC_COUNTER, IEC_DCOUNTER, IEC_SCOUNTER
IEC_UCOUNTER, IEC_UDCOUNTER o IEC_USCOUNTER, en función del valor
máximo que queramos registrar. Si queremos tener en cuenta también los valores
negativos, en ese caso los declaramos como IEC_COUNTER, que es un registro de
16 bits para valores enteros.
DIJ_COUNlERS
�
NomlHY Típo dr:i:lftOJ Vllorótofl'l'.nq� lliJmlfft!l'IC,- Accn,bledesdeMMl•Of'C.UA fJaib•blt �HMIIOPC.UA tbibkren HMt �1rim,-ng v•t1e1JU»e C.onotntMtC
<I • SlltlC
-O • ► CHT_01 tE.C_COUtfTE.A 8 E) 7
<1 ■ ► CHTJ>2 1rc_coUtnER O � � �
-0 • ► OIT_03 lt(_COUNTtA � 0 0
Fig. 4.46
De forma que, al desplegarlos, observamos todos los parámetros que pueden
intervenir en un contador IEC, donde además podemos decidir cuál de ellos
queremos que sea remanente o no. Para ello basta con marcar la opción en la
columna Remanencia del contador correspondiente:
OB_COUNlE!IS
Kombrir lípodtdltoJ Vflorde ,,nnquct Aiml"""1Cit Auni,leondel-lMIIQ,COA �dad•HMIIOPC UA Vbibltttn HMI Ei,g•"ming VtlMdelfVJII! tc,n,,tn(trio
<J ., Stlk
<J ■ • OfT_Ol ltC_COUNTEA
<J CU !Jool fiti!'P
C: 4) C0 Bool IH'
., •
.., LO
, ., QU
• ., QO
., ,V
., CV
., . .. CHT_02
., CV
';.:, <J a,
.., .
., 4J lD
.,.., QU
·1 -0 QO
1!- -o ,V
., .., CV
� 4J . • CNT_03
4J cu
4J CD
z1 <1 •
,. .., LO
".., QU
" ., QO
t"l <I PV
., CV
'""'
""''
'"'
'""'
'"'
In<
IEt_tOUNlEA
'°"'
'""'
'""'
...,
'""'
'""'
lnt
'"'
ltc_C-OIJNTEA
'""'
....
Bool
....
'º"'
'""'
'"'
'"'
...
•••
....
r.1a·
....
...
•ru•
•••
t,1�
.,..
....
...
.,....
o
o
7.
Fig. 4.47
Una vez generado el DB global con los contadores a utilizar, creamos un nuevo
bloque de programa (FC20):
"'"
"'"'-----�
Oncripciói,·
UIJ lmcioncJ �on bioqun lo9tc-0s lll'l mwmonl
•
Fig. 4.48
.._/
·.._,,·
....,·
'

' 1

'
'
'
'
)
1
)
'
Unidad 4 - Programación con contadores y comparadores IEC
Creado el bloque de programa, insertamos un bloque contador CTU. En el
momento de incorporarlo, nos aparece como siempre una ventana para asignarle
un DB de instancia:
lnst11ncie
individual
-·-
Nclmbre ·m
AA
!!i
•!l!I
M,l!:l
ii#k
l{;l
•l�ac===r
Númt'ro
Q Mlnu1I
El blaqut' de iJ11c,ón ll1m1do gu.rda lU5 dates en un bloque
dt' tinos dt' 1nstanci1 propio
Fig. 4.49
Pero en este caso, mediante el botón Cancelar, cancelaremos la petición, ya que
queremos utilizar como DB el DB global declarado anteriormente.
En ese momento nos aparece el contador programado de la siguiente forma:
h <1?'1>
-
C
R'.
� 0 --
cv cv-... Fig. 4.50
A continuación pulsamos en la zona de asignación del DB asociado, en la parte
superior de la caja del contador, y elegimos en primer lugar el nombre del DB
global, en este caso "DB_COUNTERS". Para ello podemos seleccionar el DB de
nuestro árbol del proyecto y arrastrarlo directamente hasta la posición
correspondiente, con lo que obtenemos el siguiente resultado:
t------- cu
C1U
lnt
Q------------------<
- - R cv- ...
Fig. 4.51
Después escribimos un punto y aparece de forma automática una ventana para
elegir el contador de la lista de los declarados en ese DB:
ºDB_COUNTERSº
l J!
CNT_Ol IEC_COUNlER
CNT_02 IEC_UCOUNTER
CNT_03 IEC_SCOUNTER
<??'!> - ¡,,¡
>� ,.
»
»-1----------
Fig. 4.52
Cuando seleccionamos el contador correspondiente, aparece otro punto, y para
finalizar elegimos Ninguna entrada:
ºDB_COUNTERS".CN
T_01j
Ninguna entrada
<???> - PV Fig. 4.53
145
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
El hecho de utilizar un
DB global para la
declaración de los
contadores permite
seleccionar de forma
independiente cuál de
ellos configuramos con
remanencia.
146
Completamos el programa y el resultado obtenido es el siguiente:
"DB_COUN1ERS'.
,is3
·s2D"
'IM81 9 1 5
"Clock_1 Hz'
1-------1 1---- cu
'J.12.6
'S4_RESEr - R
'IMW7002
'PEDIDO ROJAS" - F'V
CNT_Ol
CIIJ
lnt
'Y,Q2.4
' H3_ROJO'
Q -------- )-------t
'IMW/0 1 0
'PROCESADAS
cv - ROJAS'
Fig. 4.54
Ahora se desea que, en función del pulsador accionado, en este caso el S20, se
incremente una unidad cada segundo el registro de piezas procesadas de color
rojo, y que una vez alcance el valor de preselección indicado en el registro PEDIDO
ROJAS, el piloto rojo se ponga en funcionamiento. El valor de pulsos quedará
guardado en el registro PROCESADAS ROJAS.
De la misma forma insertamos un nuevo contador y lo asociamos al DB global,
pero en esta ocasión con el contador 2. En este caso el registro incrementado será
el de piezas amarillas al tener accionado el pulsador S21 y el piloto que se pondrá
en funcionamiento al alcanzar el valor de preselección indicado en el registro
PEDIDO AMARILLAS será el amarillo. El valor de pulsos quedará guardado en el
registro PROCESADAS AMARILLAS.
'DB _COUN1ERS'.
'J.15.4
•521·
'IM81 9 1 5
'Clock_1 Hz'
1-------1 1---
-
cu
'J.12.6
'54_RE5Er - R
'IMW7004
'PEDIDO
MNRILLAS' - f'V
CNT_02
CIIJ
lnt
'Y,Q2.1
'HO_AMARILLO'
Q ----------1 )-------t
'IMWT0 1 2
'PROCESADAS
cv - AIAARILLAS'
Fig. 4.55
Y por último el contador 3, que incrementará su valor cada segundo al tener
accionado el pulsador S22. Al alcanzar el valor indicado en el registro PEDIDO
VERDES, el piloto que se pondrá en funcionamiento será el de color verde. El valor
de pulsos quedará guardado en el registro PROCESADAS VERDES.
'DB_COUN1ERS'.
'J.15.5
·s22·
'IM8191.5
'Clock_l Hz'
1-------1 1---- cu
'J.12.6
'54_RESEr - R
'IMW7006
'PEDIDO VERDES' - F'V
CNT_03
CIIJ
lnt
'Y,Q2.2
'Hl _VERDE'
o -------- )-------t
'IMW/014
'PROCESADAS
cv,-. VERDE'
Fig. 4.56
Además, añadiremos una señalización con los pilotos H20, H21 y H22 para indicar el
pulsador 521, 522 o 523 respectivamente, que está accionado en cada momento:
�r 'Y,Q33
520' 'H20'
)-------t Fig. 4.57
w·· 'Y,Q3.4
521' "H21'
)-------t Fig. 4.58
'
'
'
'
1
'
'
'
'
'
'
'
'
'115.5
S22'
Unidad 4 - Programación con contadores y comparadores IEC
'X,Q35
"H22'
1----------------------; }----< Fig. 4.59
Ahora al poner en funcionamiento el programa, observamos cómo cada contador
funciona de forma independiente:
OB_COUNTERS
w,,,..b,. l°-,o d•'ffiGJ
G • )l;jlwc
.,. ... on_o, Jl(,_(.QUffl(lt
., cu '""
., to '"'
., ' '""
., u, '"'
., "" ...,
00 ...
"' "'
., tv ..
llt,_WVM'flt
tu ....
....
' ....
u, ...
"" '"'
"" ,...
"' ..
tv ..
G • • tMT.,11:t IEt..,0:IUffltll
· a "' ...
.. ., "' ....
'., ..,.
., u, ...
., "" ""
., "" -
., "' ""
., tv "''
.'
...
� ..
...
...
...
o
....
..,,.
...
...
...
,.,,,.
....
...
....
...
•••
...
B
l:;I
FALSE
F"'t.St:
F.:.t.5E
FKn
..,,
Fi,l�(
,..
8
,.,.
fi,1.SE
'"-''
,..,,
'"''
F�Sf
""
"
o
Fig. 4.60a
!,! !,! ¡;¡¡
51) 0 0
0 0 0
,;, 0 0
0 0 0
0 0 0
0 0 0
0 0 0
� 0 0
Fig. 4.60b
EJ
Fig. 4.60c
Podemos hacer uso de los parámetros de este DB global de forma individual en
cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque del
programa diferente, y utilizar además tanto las direcciones simbólicas como las
absolutas. Para utilizar las direcciones absolutas debemos configurar las
propiedades del DB mediante la opción del menú Edición - Propiedades. Se abrirá
la ventana de propiedades de este bloque en el que, dentro de la opción
Atributos, deseleccionaremos el atributo Acceso optimizado al bloque y
obtendremos la siguiente vista:
<[ -.
Fig. 4.61
Una vez compilado el proyecto, al volver a abrir el DB global, observamos cómo
aparecen las direcciones absolutas de cada parámetro:
-O • :Ullllt
-0 • ... on_o1 1tt_toUfonf.11
-O �lJ &col
<O • tO 8oel
-o • • aooi
♦ -O u, 11"4
Cl • QU !OGI
.., 00 ""
o "' ..
' -o • t:,,
....,.,
.,
.,
u
.,
? O
"
B B
•.. B
... o
... g
... B
.. B
- o
13
B
Fig. 4.62a
147
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
Las instrucciones de
comparación
comparan dos datos
del mismo tipo para
determinar si son:
• iguales,
• diferentes,
• mayor o igual,
• menor o igual,
• mayor,
• menor.
148
lfC..COl.ltmll '·º o iil
'" ,oo, ... o 0 E1I
- ..,. [3 0 E1I
..., f1111i o 0 E1I
CD ..., .,, □ 0 E1I
º' 6001 ... "�· o 0 0
QO ,,., lita [3 0 0 0
□ 0 0 0
10.0 o o 0 E1I 0
Fig. 4.62b
C • • Ofl_03 IEC,.COVtmR 12.0 8
., a, ,oo, i!olil! B ...,
. o co Ooo• f!ol.1! El
,,., El
" ... ,,, B
º' ..., ft11t El
QO ... ,,, ...
' º 1 4.0 □
o "' 0
Fig. 4.62c
A parte de esa diferencia, también nos encontramos con que no podemos
seleccionar niveles de remanencia diferente para cada una de las variables, es
decir, que son todas o ninguna. En el caso de tener activada la opción Acceso
optimizado al bloque, se puede seleccionar qué variable se desea que sea
remanente y cuál no.
4.5 Funciones de comparación
Las instrucciones de comparación son contactos que permiten realizar un tipo de
comparación entre dos valores o registros.
Los tipos de comparadores que se pueden programar se encuentran dentro de la
carpeta Comparación del catálogo en Instrucciones básicas, y son los siguientes:
Comparación
1 C'-f' =
I C'-f' <>
HiJ C'-f' >-
1 C'-f' <.=
HiJ C'-f' �
1 IN_Rang<
1 OUT_Range
HiJ -tOKI-
Hi) -fNOT_OKI-
Igual
Diferente
M!yor o igual
Menor o igual
Mayor
Menor
Va lor dentro del rango
Valor fuera del rango
Comprobar validez
Comprobar invalidez
Fig. 4.63
La estructura de los comparadores está formada por los siguientes campos:
Tipo de comparación (seleccionar)
Tipo de dato (seleccionar)
<l??>
<l??>
Fig. 4.64
Valores o registros a comparar
·-----
.J
Al elegir el símbolo del comparador, se tiene acceso a dos zonas para poder
seleccionar tanto el tipo de comparación como el tipo de dato. Para ello se deberá ..__
pulsar en una de las esquinas superior o inferior derecha del símbolo de
comparación:
<1??> Zona para elegir el tipo de comparación
<1??> Zona para elegir el tipo de dato
Fig. 4.65
1
'
l
'
'
i
'
1 Recuerda • • •
'
'
Las instrucciones de
comparación
comparan dos datos
del mismo tipo,
pudiendo ser alguno
de ellos, o los dos,
1 registros del PLC.
1
, ,
'
'
1
'
'
'
"
'
l
'
Recuerda • • •
La instrucción
«IN_RANGE»
comprueba si el valor
que se lee por el
parámetro «VAL» se
encuentra dentro del
rango marcado por los
valores introducidos
mediante los
parámetros «MIN» y
«MAX».
Unidad 4 - Programación con contadores y comparadores IEC
Al desplegar los diferentes campos, se dispondrá de las siguientes opciones:
<???'>
■ - 1�
■
<>
<
,..
.,.
Tipo de comparación
Fig. 4.66
Ejemplos:
<J"!?'>
=�� ,.,
lnt -
Olnt
...1
Byte -
Word
OV«>rd
USlnt
Ulnt
UDlnt
Slnt
�
String
Tipo de datos
Fig. 4.67
• Comparación entre el valor actual del registro MW7002, que corresponde con
el display PEDIDOS ROJAS, con otro valor guardado en el registro MW7010,
que corresponde con el display PROCESADAS ROJAS, realizando la operación
MW7002 = MW7010:
W7002
D
�=
ROJAS"
!ni
W7010
CESADAS
OJAS"
11)33
"H20"
)-------,
Fig. 4.68
• Comparación entre el valor contenido en el registro MW7004 correspondiente
al display PEDIDO AMARILLAS con el valor constante 100, realizando la
operación MW7004 >= 100:
AMAAIUAS"
>=
11)3.4
"H21•
µPE:��
4
lnt ¡-------------------""""1 )-------,
1 00 Fig. 4.69
• Comparación entre el valor actual de un contador guardado en el registro
DB20.DBW4 y un valor constante 10, realizando la operación DB20.DBW4 >=
10:
��-�!':-.
T_01 .CV
>=
11)35
"H22"
lnt 1---------------------{ )-------,
1 0 Fig. 4.70
• La salida Q3.6 estará activada cuando, para la comparación entre el valor
actual de un registro correspondiente a una temperatura analógica guardado
en el MD100 y un valor constante de 10.0, y para la comparación entre un
valor de tiempo guardado en el registro MD110 y el valor de 22s, se cumpla
que MD100 < 10.0 y que MD110 >= 22s:
:�::t�,.. :::::. 'f'.::;�
R:al 11-----11,;�e 1----------------1 )-------,
1 0.0 n22s Fig. 4.71
149
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
La instrucción
«OUT_RANGE»
comprueba si el valor
que se lee por el
parámetro «VAL» se
encuentra fuera del
rango marcado por los
valores introducidos
mediante los
parámetros «MIN» y
«MAX».
150
• La instrucción IN_RANGE nos puede servir para poder comprobar si un valor
contenido en un registro se encuentra entre un límite máximo y otro mínimo.
En el siguiente ejemplo se muestra cómo la salida Q3.7 estará activada
siempre que el valor del registro MW7006 sea mayor que 9 y menor que 21.
IN_RANGE
lnt
1 0 - MN
'IMW7006
"PEDIDO VERDES" - V&
20 - MAX
Utilizando funciones de comparación, sería equivalente a:
"IQ3.7
"H24"
)----,
WJ006 '/,MW,006
��
ROES" "PEDID
�:
EROES" �:4�
lnt I l,nt t---------------- )----,
10 20
Fig. 4.72
Fig. 4.73
Si modificamos el tipo de operacIon y en lugar de IN_RANGE utilizamos
OUT_RANGE, entonces la salida Q3.7 estará en funcionamiento siempre que el
valor del registro MW7006 sea menor que 10 o mayor que 20.
OUT_RANGE
lnt
10- l,IN
't.MWJ006
"PEDIDO VERDES" - V&
20- '->VI)(
"IQ3.7
"H24"
)----,
Utilizando funciones de comparación, sería equivalente a:
't.MW7006
"PEDIDO VEROES"
"IQU
"H24"
1� 1---.--------------------4
10
)----,
't.MW/006
"PEDIDO VERDES"
,.
lnt
20
4.6 Programación en Grafcet (111)
Fig. 4.74
Fig. 4.75
J
En esta tercera parte de Grafcet, además de integrar la función de contaje y
comparación en un diseño realizado en Grafcet, estudiaremos un nuevo tipo de J
estructura como es la de selección de secuencia o de bifurcación en O. Por tanto, v
trabajaremos las diferentes posibilidades de programar un contador en una
acción asociada, así como la de integrar contactos de contaje y de comparación en
una transición.
4.6.1 Tipo de secuencia Selección de secuencia o Bifurcación en O
Este tipo de secuencia llamada Selección de secuencia o Bifurcación en O ofrece '-._/
la posibilidad de varios caminos en el recorrido del Grafcet, donde tan solo se
autoriza un único camino posible.
1
'



' Recuerda • • •
Cuando se debe
diseñar un Grafcet en
el que en un momento
determinado del
mismo pueden existir
varias posibilidades de
' funcionamiento según
unas condiciones,
entonces se aplica un
' tipo de secuencia
conocida como
' «Selección de
secuencia» o
«Bifurcación en O»
'

'
1
'
'
'
'
'

'
'
'
' Recuerda • • •
' En un Grafcet, el
concepto «salto de
etapa» es un caso
" particular de una
«selección de
' secuencia».
'
'
Unidad 4 - Programación con contadores y comparadores IEC
Cuando un Grafcet tiene la necesidad de seleccionar entre diferentes alternativas,
las condiciones de las diferentes transiciones que intervengan deberán ser
excluyentes entre sí, es decir, en ningún caso el Grafcet podrá evolucionar por
más de un camino de forma simultánea.
Para entrar en una de las ramas alternativas, se entrará con una transición
diferente para cada una de las ramas, y para salir de esa rama alternativa también
cada una tendrá su propia transición.
MO.O
MO.l
N Acción asociada 10 M0.2
M0.4
N Acción asociada 1
N Acción asociada 11 Mo.3
N Acción asociada 3
N Acción asociada 12
Se observa cómo para acceder a cada una de las ramas alternativas, etapa 1, 2, o
3, se necesita que se cumpla una de las transiciones, O, 1 o 2, y que estas sean
excluyentes. Para finalizar la rama alternativa se debe cumplir su transición
correspondiente, 10, 11 o 12, y esta no tiene por qué ser excluyente con el resto.
Nos podemos encontrar con un caso particular de este tipo de secuencia, que es
la secuencia denominada Salto de etapa. Como su nombre indica, tiene la función
de no ejecutar todas las etapas de una rama de secuencia, saltándose las
necesarias según sea el caso.
MO.O N Acción asociada 1
Transidón_O
MO.l N Acción asociada 2
M0.2 N Acción asociada 3
M0.3 N Acción asociada 4
En este caso, al cumplirse la transición 1, el Grafcet evoluciona por toda la rama
formada por las etapas 1, 2 y 3, mientras que si la transición que se cumple es la
O, entonces el Grafcet salta directamente a la etapa 3. No se ejecutan en ningún
caso las etapas 1 y 2.
151
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
Se puede diseñar un
Grafcet en el que el
«Salto de etapa»
pueda ser tanto hacia
abajo como hacia
arriba, provocando en
este caso un
funcionamiento de
tipo bucle.
152
Acabamos de observar cómo el salto de etapas lo realiza hacia adelante, es decir
en el sentido de evolución del Grafcet. Pues bien, también nos podemos
encontrar que tengamos que realizar un salto de etapas pero hacia arriba, lo que
se conoce también como reinicio de secuencia.
En este caso, llegado el Grafcet a la etapa 2, puede evolucionar hacia la etapa 3 si
se cumple la transición 31, o bien si se cumple la transición 30 hacer un salto hacia
la etapa 1, de manera que se vuelve a repetir la secuencia de las etapas 1 y 2.
Al igual que en los casos anteriores, en este Grafcet las transiciones 30 y 31 deben
ser excluyentes entre sí, es decir, que las transiciones se deberán programar para
que en ningún caso se puedan cumplir las dos condiciones de forma simultánea.
N Acción asociada 1
N Acción asociada 2
" Acción asociada 3
N Acción asociada 4
4.6.2 Programa basado en diseño Grafcet
J
J
's../
Para practicar con este tipo de secuencias alternativas vamos a trabajar con algún
'--­
que otro ejercicio práctico. En el primer caso queremos controlar el motor de
palets mediante un pulsador de paro y uno de marcha, a la vez que se encuentra
protegido por su disyuntor magnetotérmico. También se mostrará una
señalización del funcionamiento del motor con piloto verde, de motor parado con
piloto rojo y de motor con avería con piloto amarillo.
• Condiciones de funcionamiento:
- Al poner en marcha el sistema, tendremos activado el piloto rojo (Q2.4), que '-'
indica que el motor está parado. '-.J
En ese momento en el que el motor está detenido, tenemos dos opciones:
- Hacer saltar manualmente el disyuntor magnetotérmico (13.0), con lo cual se --...,,
activará el piloto amarillo (Q2.1) de forma intermitente con una frecuencia
de 1 Hz. Si rearmamos el disyuntor, se apagará el piloto amarillo (Q2.1) y '--­
volverá a funcionar el piloto rojo (Q2.4). ___,
- Si el disyuntor esta rearmado y accionamos el pulsador de marcha (10.2), '--­
dejando en reposo el pulsador de paro (10. 1), entonces se pondrá en .J
funcionamiento el motor (Ql.1) y además quedará señalizado con la .J
activación del piloto verde (Q2.2).
'
'
'
)
'
'
'
'
'
'
)
'
'
'
'
'
)
'
)
'
'
'
)
'
'
'
Unidad 4 - Programación con contadores y comparadores IEC
Una vez que el motor está funcionado, tenemos también dos opciones:
- Que haya una avería en el motor y por tanto el disyuntor (13.0) se dispare, o
bien que se haga saltar de forma manual. En este caso, el motor (Ql.1) y el
piloto de señalización verde (Q2.2) dejarán de funcionar, conectándose el
piloto amarillo (Q2.1) de forma intermitente (1 Hz). Al rearmar el disyuntor,
el motor seguirá sin funcionar y se apagará el piloto amarillo (Q2.1),
volviéndose a activar el piloto rojo (Q2.4).
- Que accionemos el pulsador de paro (10.1). En este caso, el motor (Ql.1) y el
piloto verde (Q2.2) dejarán de funcionar, activándose únicamente el piloto
rojo (Q2.4).
• Desarrollo del Grafcet
A continuación, se presenta el Grafcet que da respuesta al enunciado dado.
Dispararel disyuntor ( 13.0 )
M0.1 t-=1
=
.1
�----+--i N i-=
2
=
.2
�----<
Piloto oerde
Accionar pulsador d e paro ( 10.1 )
lntermi encia (M8191.S)
M0.2
• Programa en diagrama de contactos
El programa que responde al diseño del Grafcet dado sería el siguiente:
• Activación de etapas
• Segmento 1 : Activación de la ETAPA 1 ydesactivación de la ETAPAO
'IMO.O
"ETAPA O"
"1102
"S2_MARCHA"
"II0.1
"Sl]AAO"
'113.0
"F2_
PROlECCION 'IM0.1
MOlOR PAl.ETS" "ETAPA 1 •
'IM:�
A
f'
A
o
•
R }-----t Fig. 4.76a
• Segmento 2: Activación de la ETAPA O ydesactivación de la ETAPA 1
'IM0.1
"ETAPA 1"
"II0.1
"Sl]ARO"
------�
'IM0.0
"ETAPA O"
---��------;; s }-----t
'IM0.1
"E
T
AP
R�
'-------------1. ,.------ Fig. 4.76b
153
Unidad 4 - Programación con contadores y comparadores IEC
154
• Segmento 3: Activación de la ETAPA2 ydesa ctiva ción de la ETAPA 1
'IM0.1
"ETAPA 1 "
'113.0
"F2
PROlECCION
MOlOR PALEl>"
'IM0.2
"ETAPA 2"
'IM0.1
i----1/1-,----�
¡
s }---<
"ET
AP
R
�
�-------------1. � Fig. 4.76c
Segmento 4: Activación de la ETAPA O ydesactivación de la ETAPA 2
'IM0.2
"ETAPA 2"
'113.0
"F2
PROlECCION
MOlOR PALEl>'
'IM0.0
"ETAPA O'
'IM0.2
i
s
}---<
"
ETAP
R
A
�
�-----------1- � Fig. 4.76d
Segmento S: Activa ción de la ETAPA 2 y do,activación de la ETAPA o
'IM0.0
'ETAP
A
O"
"/,13.0
"F2
PROlECCION 'IM0.2
t-«:llOR PALETS" "ETAPA 2"
'IM0.0
-1/1-.-----
¡
S }---<
'
ET
AP
R
A
�
�------------1- � Fig. 4.76e
• Activación de salidas
,.. Segmento 6: Contactor de control del motor de la cinta de pa lets.
'fQ1 .1
'IM0 1 "Kl M_MOlOR
A
f'
A
�
· ,
_
·______________________
ci
_
N
-I
TA
P
ALE
r
� }---< Fig. 4.77a
• Segmento 7: Piloto de señalización amarillo
'IM0.2 'IM81915 'fQ2.1
A
f'A
�
2
_
·____
·c
_
10
-l
ck_
�
1-
Hz"
_______________
·_
Ho
_
_
-l
A
MA
RILLO"
� � }---< Fig. 4.77b
Segmento 8: Piloto de señaliza ción verde
1 .�
;
A
l-
-�
-
•----------------------
•
-
H1
-l
j!:0
E
"
�
}---< Fig. 4.77c
Segmento 9: Piloto de seña li::ación rojo
�
A
l-
·º
o
_
•______________________•
_
H
-1
��
�
• Activación de la etapa inicial
En el 08100 se debe programar la activación de la etapa inicial:
Fig. 4.77d
___,,
'
'
 1

'
i
'
i
i
1
1
1
1
i
1
i
Recuerda • • •
Siempre se deben
activar en el primer
sean todas las etapas
iniciales que se hayan
programado en el
proyecto y desactivar
el resto.
Unidad 4 - Programación con contadores y comparadores IEC
• Segmento 1 : Activación de la etapa inicial 'Y d�secti:ación de-1 resr:o de las e-tapas
'lt.!8190.0
·FirstScen·
'IMO.O
"ETAPA O"
1--�-------------------1( � )--
'IM0.1
"ETAPA 1 •
�------------------t( RESET_BF }-<
2
Fig. 4.78
• Llamada desde el OB1 a la función FCl donde tenemos el programa
• Segmento 1 : Llamada a la función con el prog_
r•_
m•
-�--------�
1 'Motor_Clnta_P<llets"
� EN ENO -----------------, Fig. 4.79
• Comprobación del funcionamiento con maqueta de simulación 3D
Para hacer este ejercicio tan solo hemos de utilizar los pulsadores PARO y MARCHA
del panel Control del proceso para controlar el funcionamiento del motor de la
cinta de palets, así como el disyuntor del M2 de protección del motor de la cinta:
Contro, del proceso
1 � !iJ ■fa f1k·
EMERGENC!A PARO �AllO(A Al}r!l.tA"'- ACK Ml
■ ■■■ ■�·
Fig. 4.80
Podemos observar en el simulador 3D cómo el motor de la cinta de palets
responde al funcionamiento programado, así como la señalización del estado del
proceso mediante los pilotos ROJO, AMARILLO y VERDE de la baliza:
Fig. 4.81
4.6.3 Acciones y transiciones asociadas con contadores
Un contador contiene diferentes entradas y salidas que se utilizarán por separado
para poderlas incluir en un diseño Grafcet.
• Acciones
A continuación, mediante diferentes ejemplos describiremos cómo asignar en una
acción asociada un contador:
155
Unidad 4 - Programación con contadores y comparadores IEC
156
N CTU C02 CU
Incrementa contador
Contador ascendente (CTU), símbolo del
contador (C02), contaje (CU)
Incremento del valor actual en una unidad
N CTD C08 R
Puesta a cero del contador
Contador descendente (CTD), símbolo del
contador (C08), reset (R)
Puesta a cero del valor actual
• Transiciones
N CTD COS CD
Decrementa co ntado r
Contador descendente (CTD), símbolo del
contador (C0S), descontaje (CD)
Decremento del valor actual en una unidad
N CTU C06 LD=lO
Asiwi ar valor preselección
Contador ascendente (CTU), símbolo del
contador (C06), carga valor preselección (LD)
Asignación de un valor como valor actual
A continuación, mediante diferentes ejemplos, describiremos cómo asignar en
una transición elementos asociados a un contador:
t""-=º
Contador ascendente (CTU), símbolo del
contador (C0l), salida (Q).
Comprueba el estado de la salida Q
Contador ascendente-descendente (CTUD),
símbolo del contador (C0S), salida (QD).
Comprueba el estado de la salida QD
Contador ascendente-descendente (CTUD),
símbolo del contador (C02), salida (QU).
Comprueba el estado de la salida QU
Contador ascendente (CTU), símbolo del
contador (C06), salida valor actual (CV).
Comprueba si el valor actual es igual a 10
4.6.4 Programa basado en diseño Grafcet
Ahora incluimos un ejemplo completo en el que queda aplicado el contador tanto
en acciones asociadas como en transiciones.
• Condiciones de funcionamiento
El diseño que se presenta responde a las siguientes condiciones de
funcionamiento:
Al poner en marcha el sistema, tendremos activado el piloto rojo (Q2.4), que
indica que el sistema está preparado para funcionar.
En ese momento, al accionar el pulsador de marcha (10.2), se activará el
piloto verde (Q2.2) y al mismo tiempo un contador ascendente (CTU_CO)
incrementará en una unidad su valor actual.
Al soltar el pulsador de marcha (10.2), si el contador (CTU_CO) no ha llegado
al valor 5, dejará de funcionar el piloto verde (Q2.2) y volverá a funcionar el
piloto rojo (Q2.4).
V
V
J
V
V
J
V
V
t '

'
'
'
1
'
í
1
'
Recuerda • • •
Cuando se programa
un contador mediante
la utilización de DB
globales, se puede
acceder a los registros
de esos DB mediante
su dirección absoluta o
simbólica.
Unidad 4 - Programación con contadores y comparadores IEC
Habrá que ir repitiendo el mismo proceso anterior, es decir, ir accionando el
pulsador de marcha (10.2) hasta que el contador alcance el valor 5 como valor
actual. En ese momento se pondrá en funcionamiento el piloto amarillo (Q2.1)
de forma intermitente (f=lHz), lo que indicará que ha finalizado el contaje.
El sistema permanecerá en este estado hasta accionar el pulsador de paro
(10.1), momento en el que se hará el reset al contador (CTU_CO) y el sistema
quedará al inicio para volver a contar 5 nuevos pulsos.
• Desarrollo del Grafcet
A continuación, se presenta el Grafcet que da respuesta al enunciado dado.
MO.O
M0.1
M0.2
M0.3
...c
,,_ru
=-c
,,,o,.,._,c"'
u'----+-1 N ...,.2
"'
.,,_
2 -----4--l N CTU co cv
Piloto W!rde Actualil:ar valor actual
Incrementa cootador
Intermitente {M8191.5)
CTU CO R
Puesta a cero del contador
Valor del contador es igual a O ( CTU_CO.CV = O )
Valor del c.ontado r es men or d e S y �accionar
pulsadorde m..-cha ( CTU_CO.QU • 10.2 )
• Programa en diagrama de contactos
El programa que responde al diseño del Grafcet dado sería el siguiente:
• Activación de etapas
Segmento 1: ,�tivaci6n de 1, ETAPA 1 y de,.cti•,aci6n de la ETAPA O
'IMO.O
"ET/P/1 o•
�2
"S2_MA.RCHA"
'IM0.1
"ETAP/1 1"
'IMO.O
; s
}----t
...._____________·...¡
ro:"�
Segmento 2: Activación de la ETAPA 2 y d..actívación de la ET!PA1
'J.M0.1
"ETAPA 1"
'J.DBl DBlm.4
"CO".QU
'J.M02
"ET/PA 2•
'J.M0.1
Fig. 4.82a
;s
}----t
"E
W
ft
/1
�
....____________,_ ,---------, Fig. 4.82b
Segmento 3: Activación de la E1APA 3 y de,activación de la ETJPA 2
'J.M02
"ETAP/1 2"
�-1
"S1_PAAO"
'IMO.3
"ETAP/1 3"
1-----1�--�------------J
; S }----t
....._____________....¡
'�'� Fig. 4.82c
157
Unidad 4 - Programación con contadores y comparadores IEC
Recuerda • • •
Una comparación
también puede
realizarse con el valor
actual de un contador
158
Segmento 4: Activa ción de I• ETAPA O y desactivoci6n de lo ETAPA 3
"IM0-3
"ETAPA 3" ���:º
it" -�
�/o·
"IMo.3
1���i---
1 ---r------------,¡s >----i
"ETAP
R
A
�
.__---------�
- � Fig. 4.82d
• Segmento 5: Activoci6n de la ETAPA O y desactiv•ción de I• ETAPA 1
"IM0.1
"ETAPA 1"
'%iJB1 .DBJal.4 'rl02 "IM0.0
·co·.QU ·s2_MAACHA" "ETAPA o·
"IM0.1
��-�--------'
;
S >------,
"ET
AP
R�
.__
_____--'
· � Fig. 4.82e
• Activación de contadores
• Segmento 6: Incrementar una unidad el vnlor a ctua l del contador CO
,081
·co·
"IM0.1 C1U
"ETAPA 1 • lnt
1--- cu Q -----------------1
"IM0-3
"ETAPA 3" - R
5 - PV
"IMW/0 1 0
"PROCESADAS
cv - ROJAS"
• Activación de salidas
Segmento 7: Piloto de sefie lización amarillo
"IM0.2 "IM8191 .S
"Clock_l Hz"
APA 2"
1--------1
Segmento 8: Piloto de sefioli:mci6n verde
"IM0.1
APA l "
'11)2.1
"HO_AMAAILLO"
>------,
'11)22
"Hl _VERDE"
1-------------------------1 >------,
• Segmento 9: Piloto de señali1.&ci6n rojo
"IM0.0
APA O'
'11)2.4
"H3_ROJO"
Fig. 4.83
Fig. 4.84a
Fig. 4.84b
1----------------------; >------, Fig. 4.84c
• Activación de la etapa inicial
En el OB100 se debe programar la activación de la etapa inicial:
Segmento 1 : Activación de la etapa inicial ydesactivación del resto
"IM8190.0 "IM0.0
"Fir<tScan" "ETAPA o·
l--.---------------7( S >------,
"IM0.1
"ETAPA 1 "
L--------------------;
( RESET_Bf }-<
Fig. 4.85
'-...,,
___/
'-...,,
J
'-..../
J
J
'-..../
J
J
'-..../
V
v ".
'-..../
J
J
J
J
J
J
..._¡
V
J
J
J
J
J
J
'-..../
J
J
'-..../

J
J
v
J
J
'-..../
..._..,
'--./
'-....,,
'-..../
'--../
J
.J
í

l
í
Unidad 4 - Programación con contadores y comparadores IEC
• Llamada desde el 0B1 a la función FCl donde tenemos el programa
• Segmento 1 : Llamda a la función con el progra m
_
•
----------�
1 -c:.Q:r
rEN ENO -----------------------<
Fig. 4.86
• Comprobación del funcionamiento con maqueta de simulación 3D
Para hacer este ejercicio tan solo hemos de utilizar el pulsador MARCHA del panel
Control del proceso, que hemos de ir accionando de forma sucesiva para hacer
evolucionar el Grafcet, y el pulsador PARO para poner a cero el valor actual del
contador:
Controt del proc�
('·. IJ -� ttt:::.
EMERGENCA PARO MAROIA AUT:MAk AOC Mt
■ ■■■■,::
S20-H20 S21-H21 S22-HU Sll-M2l 52,4.H24 M2
Fig. 4.87
El valor actual del contador se puede observar en el display PROCESADAS ROJAS:
Riegistros di, p!!dído y de contaje
Fig. 4.88
Además de visualizar los diferentes pilotos en la baliza del simulador 3D.
Piloto ROJO
Fig. 4.89a
Piloto AMARI LLO
Fig. 4.89b
Piloto VERDE
Fig. 4.89c
159
Unidad 4 - Programación con contadores y comparadores IEC
160
Ejercicio
CONTROL DEL NÚMERO DE MANIOBRAS QUE REALIZA UN CILINDRO
Tenemos un sistema formado por dos cilindros que controlan los movimientos del manipulador de
grabado: el cilindro multiposicional pequeño mandado por una electroválvula monoestable y el
cilindro marcador mandado por una electroválvula biestable. Tanto un cilindro como el otro disponen
de dos sensores magnéticos que nos indican la posición del cilindro.
Condiciones de funcionamiento:
•
•
•
•
•
•
•
Al poner en marcha el sistema, se pondrá en funcionamiento el piloto rojo.
Al accionar el pulsador de marcha, si tanto el cilindro multiposicional como el cilindro marcador #
se encuentran en la posición de reposo, entonces el cilindro multiposicional avanzará.
Cuando el cilindro multiposicional se encuentra en la posición de avance, el cilindro marcador
descenderá.
Cuando el cilindro marcador se encuentra en la posición inferior, el cilindro marcador ascenderá a
la posición de reposo.
El cilindro marcador repetirá el ciclo de descender y ascender tres veces, registrado por un
contador y visualizado en el display producción de piezas rojas. Una vez finalizados los ciclos,
cuando el cilindro marcador se encuentre en la posición de reposo, el cilindro multiposicional se
recogerá.
Cuando el cilindro multiposicional se encuentre recogido, se pondrá en funcionamiento el piloto
rojo y el sistema quedará preparado para realizar un nuevo ciclo.
Durante toda la secuencia de funcionamiento del proceso, el piloto verde permanecerá
funcionando y dejará de funcionar cuando el proceso haya finalizado.
Fig. 4.90
Relación de entradas, salidas y registros de contaje:
ENTRADAS SALIDAS
Dirección Dispositivo Dirección Dispositivo
10.2 S2 Pulsador de marcha Q0.3 Y4 EV Cilindro multiposicional pequeño
11.0 BS Detector cilindro multiposición pequeño en reposo Q0.6 Y7 EV Cilindro marcador a trabajo
11.1 B6 Detector cilindro multiposición pequeño en trabajo Q0.7 Y8 EV Cilindro marcador a reposo
11.4 B9 Detector cilindro marcador en reposo Q2.2 Hl Piloto verde
11.5 B10 Detector cilindro marcador en trabajo Q2.4 H3 Piloto rojo
REGISTROS DE CONTAJE
Direcciónl Dispositivo
MW7010 1 Display piezas rojas procesadas
J
..J
..J
'-../
�
Unidad 4 - Programación con contadores y comparadores IEC
Realizar:
• Diseño del Grafcet.
• Implementación a programa del PLC.
• Comprobación del funcionamiento mediante la maqueta de simulación 3D.
161
'-.J
J
'

J

Unidad 5 - Aplicaciones con flancos
Unidad 5 Aplicaciones con flancos
En este capítulo:
. . .
a,
IUl'!'
Osyl&'ltorMl � -
ll.O flt
5.1 Instrucciones de tratamiento de flancos
,
... ,,.
"
·noas�
QI · SflGIJVDO'
5.2 Programación en Grafcet (IV)
5.1.1 Consultar flanco de señal ascendente o 5.2.1 Programa basado en diseño Grafcet
descendente de un operando
5.1.2 Activar operando con flanco de señal
ascendente o descendente
5.1.3 Consultar flanco de señal ascendente o
descendente del RLO
5.1.4 Detectar flanco de señal ascendente o
descendente
Ejercicio propuesto
163
Unidad 5 - Aplicaciones con flancos
164
Recuerda • • •
Los flancos se utilizan
cuando se desea dar
un pulso de duración
igual a un ciclo de
sean.
Los flancos se pueden
utilizar como positivo o
ascendente, o bien
como negativo o
descendente.
Recuerda • • •
El flanco positivo
ofrece un pulso de
duración un ciclo de
sean al activar el
operando asociado.
5.1. Instrucciones de tratamiento de flancos
El flanco de un operando convierte una señal continua de ese operando en un
pulso de un tiempo de sean de duración (una ejecución del programa).
Por tanto, utilizaremos los flancos cuando sea necesario dar un solo impulso
durante un ciclo de sean. En TIA Portal se dispone de las siguientes instrucciones
de flanco dentro de la carpeta Instrucciones básicas con bits:
1 iPf-
1 -INl­
� --{P}­
� --{N}-
� P_1RIG
� N_1RJG
� R_1RIG
� F_1RJG
Consulta rfla nco de seña l a scendente de un operando
Consultar a neo de seña l descendente de un operando
1-.ctivar operando con flanco de señal ascendente
,ctivar opera ndo con fla nco de señal descendente
Consukar í
la nco de señal a scendente del RLO
Con.sultar tla nco de seña l descendente del RLO
Detecta r fla nco de seña l ascend ente
Detecta r tla nco de seña l descendente
Fig. 5.1
5.1.1. Consultar flanco de señal ascendente o descendente
de un operando
• Flanco positivo
La instrucción Consultar flanco de señal ascendente de un operando permite
detectar si el estado lógico de un operando indicado, Operando_l, ha cambiado
de O a l.
ºOperando_l'
La instrucción compara el estado lógico actual del Operando_l con
el estado lógico de la consulta anterior, que está almacenado en
una marca de flancos, Operando_2. Si la instrucción detecta un
cambio del resultado lógico (RLO) de O a 1, significa que hay un
flanco de señal ascendente.
----! P f--
Cuando activamos de forma permanente o durante
un tiempo, por ejemplo, una entrada, la salida
programada funcionará durante un ciclo de sean
en el instante en el que la entrada pase de O a l. �l eido-:
Fig. 5.3
'Operando_2'
Fig. 5.2
Es aconsejable utilizar marcas, datos locales o registros de un bloque de datos en el
Operando_2 y es importante NO repetir su uso, ni en otro flanco ni en otra operación
lógica, ya queprovocaríamos que el programa no funcione correctamente.
• Flanco negativo
La instrucción Consultar flanco de señal descendente de un operando permite de­
tectar si el estadológico de un operando indicado, Operando_l, ha cambiado de 1 a O.
La instrucción compara el estado lógico actual del Operando_l con
el estado lógico de la consulta anterior, que está almacenado en
una marca de flancos, Operando_2. Si la instrucción detecta un
cambio del resultado lógico (RLO) de 1 a O, significa que hay un
flanco de señal descendente.
'Opera ndo_l '
---f N f--
'Opera ndo_2•
Fig. 5.4
__/
..,..,1
J
)
�
"' Recuerda • • •
' El flanco negativo
ofrece un pulso de
duración un ciclo de
sean al desactivar el
operando asociado.
"'
"'
)
.........
"'
'
'
Recuerda • • •
� Un flanco va asociado
siempre a un registro
en forma de bit que
será el encargado de
comprobar si ha
habido un cambio de
estado en el último
sean.
'
'
Unidad 5 - Aplicaciones con flancos
Si activamos de forma permanente o durante un
tiempo, por ejemplo, una entrada, al desactivarla,
la salida programada funcionará durante un ciclo
de sean en el instante en el que la entrada pase
de 1 a O.
__¡ L
:.--1 ciclo----.:
Fig. 5.5
Es aconsejable utilizar marcas, datos locales o registros de un bloque de datos en
el Operando_2 y NO debemos repetir su uso ni en otro flanco ni en otra
operación lógica, ya que provocaríamos que el programa no funcione
correctamente.
Ejemplo:
Queremos controlar el funcionamiento del motor de la cinta transportadora de
palets (Ql.1) mediante dos pulsadores y con un único impulso: negativo para el
de paro (10.1) y positivo para el de marcha (10.2).
Para ello, si aplicamos el concepto de los flancos y realizamos el siguiente
programa, no se observa funcionamiento alguno del motor:
'!IQ1.1
'!110.2 "KlM_MOTOR
�,_
Oill
_
• __________________
CINT
--,
AP;:_.
'IIM30.1
LR«:0 2· Fig. 5.6
Debido a que apenas ha estado en marcha algunos milisegundos (tiempo de
duración de un sean) como se muestra en el siguiente gráfico:
1 0.2
Fig. 5.7
Para poder observar que realmente la pulsación por flanco se ha realizado,
modificamos el programa del siguiente modo:
'liM200.D
�r
ºMermña_
�- Aanco_Positivo·
s )------t
'IIM30.1
Fig. 5.8a
A.JNCO 2"
�-·
'!IQ1.1
rroria ºKlM_MOTOR
_Positivo· CINTAPJ!l.ET"
)------t Fig. 5.8b
Y para detener el funcionamiento del motor, lo realizamos también con otro
flanco a través del pulsador de paro (10.1).
165
Unidad 5 - Aplicaciones con flancos
Recuerda • • •
Un flanco puede estar
programado tanto en
un contacto como en
una bobina.
166
h
'IIM200.0
.io.1 "Memoria_
-
:
M
t-
o
-
·
-----------------
-
F
-
lan
--l
co_
:
o
�
'IIM30.0
I..MICO 1· Fig. 5.9
Se observa cómo se ha asociado a cada señal de flanco una marca que es la encargada
de comprobar si ha habido un cambio de estado con respecto al último sean.
En el caso de programar alguna condición antes o después de estos flancos, dichas
condiciones se deberán cumplir antes de hacer cumplir el operando 1 de los
flancos, tal como se muestra en el siguiente programa:
'1113.0
"F2_ '!IM200.0
,S0.2 PROTECCION "Memoria_
"52_MMCHA" MOTOR PPUTS" Flanco_rosltivo"
p 1-----------1 1---------------------------------------( s }----..
'IIM30.1
"FLMICO 2"
Fig. 5.10
Por tanto, para hacer efectivo el flanco y poner en marcha el motor, antes debe
cumplirse la condición de la entrada del disyuntor magnetotérmico del motor (13.0).
5.1.2. Activar operando con flanco de señal ascendente o descendente
Las instrucciones Activar operando con flanco de señal ascendente o Activar
operando con flanco de señal descendente permiten activar una bobina, pero
durante el tiempo de duración de un ciclo de sean cuando se cumpla la condición
lógica que le precede.
<Ti.?>
<??.?>
Activar operando con flanco positivo
Fig. 5.lla
Ejemplo:
<??.?>
--{ N )-
<!?.?>
Activar operando con flanco negativo
Fig. 5.llb
Queremos realizar el mismo control que en el ejerc1c10 anterior, es decir,
controlar el funcionamiento del motor de la cinta transportadora de palets (Ql.1)
mediante dos pulsadores y con un único impulso: negativo para el de paro (10.1) y
positivo para el de marcha (10.2). Sin embargo, en este caso buscamos una
solución mediante activación de operandos por flanco.
Observamos cómo algunas de las bobinas de salida en el programa están
utilizadas con flanco:
'130.2
"52_MARCHA"
,i3_0
"f2_
PROlECCION
M010R PALETS•
"1.M200 .0
•Memoria_o1·
1------1 1----------------( P )-----<
"1.M30.0
'FLANCO 1 "
Fig. 5.12a
V
V
V
J
1
'
'
'
,....._
1
,..._
�
"
Recuerda •
Se utilizará la
• •
instrucción «P_TRIG»
para, una vez
consultado el estado
actual de la ecuación
lógica anterior (es
decir, el estado del bit
RLO) ofrecer en su
salida un pulso de
duración un ciclo de
sean en el momento
de activarse el bit RLO.
Unidad 5 - Aplicaciones con flancos
1M200.0 'J,Q1 .1
"Memoria "K1 M_M010R
Fla nco_po,it�o• CINTA PALE1"
1-----------------------l S }----t Fig. 5.12b
'IK>.1
•s1_pARO•
1M200.1
/1--�--------------------i N )----<
'Kl3.0
•F2_
PROlECCION
MOlOR PALETS•
1M200.1
1M30.1
•FLANCO 2'
"Memoria 'J,Ql .1
Fla neo_ •K1 M MOlOR
Negativo• CINTA PALE1"
Fig. 5.12c
1-----------------------1 R )----t Fig. 5.12d
5.1.3. Consultar flanco de señal ascendente o descendente del RLO
Las instrucciones Consultar flanco de señal ascendente del RLO o Consultar
flanco de señal descendente del RLO permiten pasar un flanco después de
consultar el estado del RL0. Esto quiere decir que comprueban si la condición
lógica que le precede se cumple o no.
En el caso de cumplirse la condición lógica previa, el bit RL0 pasará del estado O a
1, de modo que la función P_TRIG dejará pasar un 1 en su salida durante un
tiempo de duración de un sean. Del mismo modo, en el instante en el que el
estado del bit RL0 pase de 1 a O, la función N_TRIG dejará pasar un 1 en su salida
durante un tiempo de duración de un sean.
P_lRIG
- CLK
<.??.?->
Q -
Consultar flanco positivo del RL0
Fig. 5.13a
N_lRIG
- CLK
<.??.?->
o -
Consultar flanco negativo del RL0
Fig. 5.13b
Si existe alguna condición programada después de una de las instrucciones
P_TRIG o N_TRIG, para que funcione correctamente, se deberá cumplir antes de
hacer efectiva la lectura del RL0 y ejecutar el flanco correspondiente.
Ejemplo:
Queremos realizar de nuevo el control del funcionamiento del motor de la cinta
transportadora de palets (Ql.1) mediante dos pulsadores: el de paro (10.1) y el de
marcha (10.2).
Para que funcione correctamente la acción de puesta en funcionamiento con el
accionamiento del pulsador de marcha, previamente se ha de cumplir que el
disyuntor magnetotérmico se encuentre rearmado. De esta forma, al cumplirse la
condición de que se accione el pulsador de marcha y de que no detecte el sensor
de palets, la instrucción P_TRIG realizará su función y dejará pasar un 1 en su
salida. Como consecuencia del estado activado del disyuntor, se realizará un SET a
la marca M200.0 que pondrá en funcionamiento el motor de la cinta de palets.
167
Unidad 5 - Aplicaciones con flancos
Recuerda • • •
Se utilizará la
instrucción «N_TRIG»
para, una vez
consultado el estado
actual de la ecuación
lógica anterior (es
decir, el estado del bit
RLO), ofrecer en su
salida un pulso de
duración un ciclo de
sean en el momento
de desactivarse el
bit RLO.
Recuerda • • •
La diferencia entre las
instrucciones consultar
flanco («P_TRIG» y
«N_TRIG») y detectar
flanco («R_TRIG» y
«F_TRIG») es que estas
trabajan con un DB de
instancia y las primeras
no.
168
,i3_0
,i2_4 "F2_
"B1 S_pALET PROTECCION W200.0
'II0.2
"S2_MAACHA" CARGA" P_lRIG MOlOR PALETS" "Memoria_o1 ·
1-------<l/1,____ CLK Q --
---1 1-----
-1 S }------<
'IM30.0
"FLANCO 1 " Fig. 5.14a
En la siguiente parte del programa que se presenta a continuación se muestran las
condiciones que harán detener el motor:
'II0.1
"S1_pAAO"
W200.o
•Memoria_o1 •
��---,-------------------{ R }------<
,i3_0
"F2_
PROTECCJON
MOlOR PALETS"
'112.4
"B1 5_pALET
CARGA"
Fig. 5.14b
En la siguiente parte del programa se muestra que el motor se podrá poner en
marcha mediante las condiciones del flanco positivo (M200.0) y también de forma
manual mediante el pulsador ACK (13.1):
,i3_1
·ss_pJLSADOR
ACK"
�1 .1
"K1M_M010R
CINTA PALEr
�
1---r------------------1
(
}------<
Fla�;
e:J
Fig. 5.14c
5.1.4. Detectar flancodeseñal ascendente o descendente
Las instrucciones Detectar flanco de señal ascendente o Detectar flanco de señal
descendente permiten pasar un flanco después de consultar el estado del RLO. Esto
quiere decir que comprueban si la condición lógica que le precede se cumple o no.
En el caso de cumplirse la condición lógica previa, el bit RLO pasará del estado O a
1, y la función R_TRIG dejará pasar un 1 en su salida durante un tiempo de
duración de un sean. Del mismo modo, en el instante en el que el estado del bit
RLO pase de 1 a O, la función F_TRIG dejará pasar un 1 en su salida durante un
tiempo de duración de un sean.
En relación a los anteriores tipos de flanco, estos se diferencian por estar
asociados a un DB de instancia, lo que permitirá utilizar la consulta del flanco en
cualquier punto y bloque del programa.
R_TRIG
- EN E.NO -
... - CLK Q ...... ...
Detectar flanco positivo
Fig. 5.15a
<?'!?>
F_TRIG
- EN ENO --
... - CLK
Q ...... ...
Detectar flanco negativo
Fig. 5.15b
'
'
'
'
'
J
'
1 '
Unidad 5 - Aplicaciones con flancos
Si existe alguna condición programada después de una de las instrucciones
R_TRIG o F_TRIG, para que funcione correctamente, se deberá cumplir antes de
hacer efectiva la lectura del RLO y ejecutar el flanco correspondiente.
Al insertar una de estas dos funciones R_TRIG o F_TRIG, nos aparece una ventana
para indicar el DB de instancia al cual lo asociaremos. En este caso, al D82 con
nombre simbólico F_TRIG_DB:
Ejemplo:
Opciones d e llamada
B
Instancia
indivklual
-de-
Nomb� �-----
Númt"ro :
Q Mlnua!
{-) Automitico
El bloqut" de función llamadoguarda sus daros tn un bloque
dedatos de 1nstenci1 propio
Fig. 5.16
Nuevamente queremos cumplir el objetivo de controlar el funcionamiento del
motor de la cinta transportadora de palets (Ql.1) mediante dos pulsadores: el de
paro (10.1) y el de marcha (10.2).
Para que funcione correctamente la acc1on de puesta en funcionamiento al
accionar el pulsador de marcha, se deberá cumplir también que no se encuentre
detectando el sensor de palet (12.4) y que el disyuntor magnetotérmico (13.0) se
encuentre rearmado. Entonces la instrucción R_TRIG realizará su función y dejará
pasar un 1 en su salida Q. En este caso, al tener que realizar un SET a la marca
M200.0, no programaremos nada y utilizaremos el registro del DB de instancia
para realizar esa actuación:
'IIDB1
"R_TRIG_DB"
 R_TRIG
'
'
'
'
1----------------- EN ENO -------<
'1110.2
"S2_MARCHA"
'1112.4
·e, s_pALET
CN.GA"
'1113.0
"F2
PROTECCION
MOTOR PAIETS"
Q ........
1-------lv1-
1 ------l ---_
c_
LI<__�
'&t.4200.0
Fig. 5.17a
"R_TR
IG_
I-
DB
_
'.
_
O__________________
•
Me
-im
o
rie'
5 }-----t Fig. 5.17b
En la siguiente parte del programa que se presenta a continuación, se muestran
las condiciones que harán detener el motor: mediante el pulsador de paro, que se
dispare el disyuntor magnetotérmico o que detecte el sensor de palet:
169
Unidad 5 - Aplicaciones con flancos
Recuerda • • •
En las transiciones
podemos programar
un flanco, tanto para
una condición como
para una ecuación
booleana.
170
"II0.1
·s1_pARo"
"IM200.0
•Memorü, •
t----t/1---....------------------�R )------<
"113.0
"F2_
PROTECCION
MOlOR PALE15"
"112.4
"81 5 PALET
CARGA"
Fig. 5.17c
En la siguiente parte del programa se muestra que el motor se podrá poner en
marcha mediante las condiciones del flanco positivo (M200.0) y de forma manual
mediante el pulsador ACK (13.1):
..3.1
'55]JLS-"DOR
K.K'
'!IQl.1
ºKl M_MOTOR
CINTAPl'UT
t-�
---r---------------�1 )------<
Fra�
�
5.2. Programación en Grafcet (IV)
Fig. 5.17d
En esta cuarta entrega de aplicación del Grafcet exponemos cómo programar un
flanco tanto en una transición como en una acción asociada.
• Flanco en una transición
Para indicar en una transición que una condición o una ecuación booleana debe
funcionar por flanco se puede indicar de dos formas:
Para flanco positivo: flecha ascendente ( 1') o añadiendo la indicación FP o P.
+Detecta sen sor d e palet (FP)
12.4 (FP)
Flanco positivo de una condición
+Detecta sen sor de palet (1")
12.4 (1')
+(Detecta sen sor de palet y disyuntor rearmado) (FP)
(12.4 ' I3.0)( FP)
Flanco positivo de una ecuación
+(Detecta sensor de palet y disyuntor reami ado) (1') booleana
(12.4 ' 13.0)1 1')
Para flanco negativo: flecha descendente (-.v) o añadiendo la indicación FN o N.
+Accion ar pulsado r d e m archa (FN)
10.2 (FN)
Flanco negativo de una condición
+Acciona- pulsado r d e marcha (.J.,)
I0.2 (w)
+(Acx:ion ar el pulsador de march a y disyJ nto r rearmado) (.J,)
110.2 • I3.0X w1
Flanco negativo de una ecuación
+(Accion ar el pulsador de march a y disyu nto r rearmado) ( FN) booleana
(10.2 ' I3.0)I FN)
Recuerda • • •
Se puede condicionar
el funcionamiento de
una acción asociada
al estado de un flanco:
, puede ser positivo, con
FP o S 1 , o negativo con
' FN o SO.
'
'
'
'
'
'
Unidad 5 - Aplicaciones con flancos
• Flanco en una acción asociada
Para indicar que una acción asociada a una etapa funciona por flanco se indica
con un FP para flanco positivo, aunque también nos podemos encontrar con la
indicación S1 (Step a 1), y con FN o SO (Step a O):
[ili FP IMW200
MO.l Marca d e flanco
[iliFN IMW200
MO.l
Marca d eflanco
[ili51
1
MW200
MO.l
Marca d e flanco
[iliso IMW200
MO.l 1 Marca d e flanco
5.2.1 Programa basado en diseño Grafcet
Para practicar con los flancos plantearemos algunos ejercicios prácticos.
Ejemplo 1:
En este caso queremos controlar la puesta en marcha y parada del motor de la
cinta de palets, además de la señalización del piloto verde con un solo pulsador, el
de marcha.
• Condiciones de funcionamiento:
- Con el circuito en reposo, se activará el piloto rojo (Q2.4).
- Al accionar por primera vez el pulsador de marcha (10.2), se activará el piloto
verde (Q2.2) de forma intermitente.
- Al dejar de accionar el pulsador de marcha (10.2), el piloto verde (Q2.2) se
mantendrá funcionando de forma permanente y además se pondrá en
marcha el motor de la cinta de palets (Ql.1).
- Al accionar de nuevo el pulsador de marcha (1 0.2), dejarán de funcionar
tanto el piloto verde (Q2.2) como el motor de la cinta de palets (Ql.1) y se
activará de nuevo el piloto rojo (Q2.4).
• Desarrollo del Grafcet
A continuación, se presenta el Grafcet que da respuesta al enunciado dado:
M0.0
M0.1
M0.2
Intermitencia 1 Hz
M8191.S
Accion ar pulsado r d e marcha (FP)
10.2 (FP)
Disyuntor M 2
13.0
171
Unidad 5 - Aplicaciones con flancos
172
• Programa en diagrama de contactos
El programa que responde al diseño del Grafcet dado sería el siguiente:
• Activación de etapas
• Segmento 1: JCtiv
aCJ6n de la e.upa 1 ydes.actiV11ción de lo e-upe O
'IIM"IOO.O ,110.2 'IIM"I 00.1
"Etapa_oo· ·s2_MNlOiA" "Etapa_o, ·
'IIM30.0
"FlHICO 1 "
'IM1 00.0
1-
I ------11 p 1-
I -�---------'
¡
S }------t
"Eta
p
R
•-�
�------------1. ,------, Fig. 5.18a
• Segmento 2: Activación de lo eupa 2 ydesactive.ción de la Mapa 1
'IIM1 00.1
"Etapa_01 "
,110.2 'IIM"I 00.2
"S2_MAACHA' "Etapa_02"
'IIM1 00.1
����-�
;
S )------t
'Eta
p
R
•-
�
�----------......
. ,------, Fig. 5.18b
• Segmento 3: .Activoc.ión de to eupa Oydesect1vación de la eupa 2
'IM1 00.2
"Etapa_02"
'1110.2 'IM100.0
·s2_MARCHA" "Etapa_oo·
'IIM30.1
"FL'NCO 2"
'IIM"I00.2
I-------II P 1---
1 �-----l
¡
S )------t
'Eta
p
R
•-�
�------------1- ,------, Fig. 5.18c
• Activación de salidas
• Segmento 4: M:itor cinta paleu
'!113.0
'F2_
PROTECCION
MOTOR PNETS'
• Segmento 5: Pilotode ,efiali:ación verde
'IM100.1
'Etapa_01 '
'IIM!191 .5
'Clocl(_J Hz"
'!IQ1.1
'K1 M..MOTOR
CINTAPA!IT
)------t
'!IQ2.2
"H1_tRDE'
1--------11 1-
1 --y----------- 1 )------t
'IIM"I00.2
"Etapa_02"
1
• Segmento 6: Piloto de sefiedi.mdón rojo
'!IQU
"H3_ROJO"
)------t
µ:_1-�-g.____________________---t
• Activación de la etapa inicial
Fig. 5.19a
Fig. 5.19b
Fig. 5.19c
En el OB100 se debe programar la activación de la etapa inicial, que tanto puede
ser con la variable FirstScan como con la variable Always_True:
J
)
'
)

'
)
'
)


'
Unidad 5 - Aplicaciones con flancos
'IM8190_0
•FirstScen•
'IM100_0
"Etapa_oo•
1---�----------------1 � }-------t
'IM100_1
"Eta pa_o, •
'--------------------1( RESET_BF r-'
2 Fig. 5.20
• Llamada desde el 0B1 a la función FCl donde tenemos el programa
1 "G�cet"
� EN EN0 -----------------------1 Fig. 5.21
• Comprobación del funcionamiento con maqueta de simulación 3D
Control del proceso
Para hacer este ejercicio tan solo hemos de
utilizar el pulsador MARCHA y el disyuntor
M2 de protección del motor de la cinta en el
panel Control del proceso para controlar el
funcionamiento del motor de la cinta de
palets:
(f ■r. �.·
EMERGENCIA PARO MAROIA AUT,'MAN AOC Ml
■ ■ ■ ■.·
Fig. 5.22
A continuación observaremos en el simulador 3D cómo el motor de la cinta de
palets responde al funcionamiento programado, así como la señalización del
estado del proceso mediante los pilotos ROJO y VERDE de la baliza:
Fig. 5.23
Ejemplo 2:
En este segundo ejemplo tenemos un sistema formado por una cinta
transportadora con un motor que desplaza los palets. Este motor está controlado
por un contactor y protegido por un disyuntor magnetotérmico, además de un
cilindro de doble efecto que realiza un desplazamiento horizontal controlado por
una electroválvula biestable y que dispone de dos detectores magnéticos para
determinar la posición, de reposo o de avance.
• Condiciones de funcionamiento:
- Al poner en marcha el sistema, funcionará el piloto rojo (Q2.4).
- Al accionar el pulsador de marcha (10.2), si no accionamos el de paro (10.1) y
con el disyuntor magnetotérmico del motor de la cinta de palets rearmado
173
Unidad 5 - Aplicaciones con flancos
174
(13.0) además de que el cilindro horizontal se encuentre en la posición de
reposo (derecha) (10.6), se pondrá en marcha el motor que controla la cinta
que desplaza el palet (Ql.1), indicándose ese estado mediante el
funcionamiento del piloto verde (Q2.2). Esto ocurrirá aunque el palet esté
en zona de carga, detectando el sensor de palets (12.4).
En ese momento pueden ocurrir dos cosas:
o Que falle el motor, con lo cual el disyuntor magnetotérmico (13.0) se
disparará provocando que el motor se detenga, dejando de funcionar el
piloto verde (Q2.2) y poniéndose en funcionamiento el piloto amarillo
(Q2.1) de forma intermitente (1 Hz), o bien que se accione el pulsador de
paro (10.1) y en este caso el piloto que funcionará de forma permanente
será solo el azul (Q2.3). Al rearmar el disyuntor magnetotérmico (3.0),
dejará de funcionar el piloto amarillo (Q2.1) y funcionará el piloto azul
(Q2.3), a la espera de accionar el pulsador ACK (13.1). En ese momento
dejará de funcionar el piloto azul (Q2.3), se pondrá en marcha el piloto
rojo (Q2.4) y el sistema quedará preparado para iniciar un nuevo ciclo.
o Que el motor funcione correctamente. En este caso, el palet transportado
por la cinta (Ql.1) alcanzará a la zona de carga, donde el detector de
palets (12.4) provocará la parada del motor. En todo momento podemos
detener el motor de la cinta al accionar el pulsador de paro (10.1).
Una vez que el motor de la cinta (Ql.1) se encuentra detenido, el cilindro del
eje horizontal se desplazará hacia la posición de avance (izquierda) (Q0.1).
- Cuando el cilindro del eje horizontal alcance la posición de avance
(izquierda) (10.7), este retornará a la posición de reposo (derecha) (Q0.2).
- Cuando el cilindro del eje horizontal alcance la posición de reposo (derecha)
(10.6), se pondrá en funcionamiento el piloto rojo (Q2.4), el sistema
quedará preparado para iniciar un nuevo ciclo y será cuando el piloto verde
(Q2.2) deje de funcionar.
- Al finalizar completamente el ciclo, es decir, cuando el cilindro del eje
horizontal ha vuelto a su posición de reposo, se deberá contabilizar el
número de palets procesados mediante un contador que se visualizará en el
display de piezas procesadas sin grabado (MW7016). La puesta a cero de
dicho contador se realizará accionando el pulsador de reset cuando el
proceso se encuentre en reposo al inicio.
• Plano de situación
En la siguiente figura se indican en el
simulador 30 los diferentes dispositivos
que intervienen en el ejemplo planteado:
- Cilindro del eje horizontal.
Baliza de señalización.
Detector de palets.
Cinta transportadora de palets.
Cilindro eje honzontal
Fig. 5.24
'-
'---'
,...__,,
....___.,
'-'
.._,,
_,
.._/
_,
'---'
'--"'
'----'
'----'
'-./
'--'
'---"
)
.,
'
'
'
)
)
)
'
'
'
Unidad 5 - Aplicaciones con flancos
• Desarrollo del Grafcet
A continuación, se presenta el Grafcet que da respuesta al enunciado dado.
•
MO.O
M0.1
M0.2
M0.3
M0.4
El dlildro horizontal esta en la derecha (10.6)
Pulsador de reset (l2.6)
f-"""-"-�---+-1 NC CTU COl R
Puesta a cero del contador
El disyu nlDr ha saltado o se acciona el pulsador de paro (13.0 + 10.1)
Intermitente (M8191.S) y d is',lntorsaltado (l3.0)
Oisyuntorrearmado (13.0)
2.3
Piloto azul
El disyu ntoresta rearmado y pulsamos N;K{l 3.0 • 1 3,1¡
Programa en diagrama de contactos
El programa que responde al diseño del Grafcet dado sería el siguiente:
• Activación de etapas
Segmento 1: Conexión de la etapa 1 ydesconexión de la etapa º
-------------�
'IMO.O
ºETAPA Oº
'1113.0
"F2_
POOl!CCION
lvlJlOR PALETS"
'll0.6
"B3_b0
VENTOSA "IM0.1
DERECHAº
"ETAPA 1 "
�:�
"APA O
º
R )---,
Segmento 2: Conexión de la etapu 2ydes.conexiónde la etapa 1
W0 .1
"ET
APA 1 "
'll2.4
" B l 5 PALET W0.2
CAAGA" "ETAPA 2"
1-----l P t--
1 �------!;S >------
W30.0
"FLANCO 1 •
W0.1
._______________·_
E..¡
T:�
Segmento 3: Conexión de la eta pa S ydesconexión de IB eta pa 1
W0.1
"ETAPA 1 •
'Ml.O
" F2_
PROlECCION
MOlOR PALETS•
W05
"ETAPA S"
Ll��
- 1 ---�L
Fig. 5.25a
Fig. 5.25b
Fig. 5.25c
175
Unidad 5 - Aplicaciones con flancos
176
• Segmento 4: Cone.xi6n de la eupe O ydesconexión de la etapa 5
'IM0.5
"ETAPA S"
113.0
"F2_
PROTECCION
MOTOR PALE15•
113.1
·ss_puLSADOR
ACK"
'IMO.O
"ETAP
A
O"
�--------_,
�'�
• Segmento 5: Conexión de la etapa 3 ydesconexión de la etapa 2
'IM0.2
"ETAPA 2"
"l,Q1.1
"K1 M_MOTOR 'IM0.3
CINTA PALET "ETAPA 3"
'IM0.2
Fig. 5.25d
---�---.--------4
; S }----<
"E
T
AP
R�
.._____________,_ ,----------- Fig. S.2Se
• Segmento 6: Conexión de la eta pa 4 ydesconexión de- la eta pa 3
'IM0.3
"ETAPA 3"
110.7
"B4_b1
VENTOSA
IZQUIERDA"
'IM0.4
"ETAPA 4"
'IM0.3
; s }----<
"E
T
AP
R�
._____________,_ ,----------- Fig. S.2Sf
• Segmento 7: Conexión de- la etapa o y desconexión de la etapa 4
'IM0.4
"ETAPA 4"
110.6
"B3_b0
VENTOSA
DERECHA"
'IM0.0
"ETAPA O"
'IM0.4
; s }----<
"E
T
AP
R
A
�
._____________,_ ,----------- Fig. 5.25g
• Activación de salidas
Segmento 8: Eje horizontal (cilindro ventosa) a la posición de ava nce- (13:1uierda)
"l,Q0.1
'IM0.3 "Y2 VENTOSA
A
PA
,
_
3
_
" ----------------------
A
-
I
Z
-{
-
QUIERDA
"
� }----< Fig. 5.26a
Segmento 9: Eje horimntal (cilindro ventosa) a la posición de avance- (derecha)
APA 4"
"l,Q0.2
"Y3_VENTOSA
A DERECHA"
L'IM0.4
1-----------------------1 }----< Fig. 5.26b
Segmento 10: C.on�)06n motor cinta U1Mporti,dora d� p,el�u.
'IIMJ.1
N'A 1 •
'!113.0
"F2
PROTECCION
MOTOR P!'liTS"
1------l
'IQ1.1
"K1 M_MOTOR
ONTA PAI.IT
}----< Fig. 5.26c

.....:
'----'
'
'
'
)
'
í
'
Unidad 5 - Aplicaciones con flancos
Segmento 1 1 : Señ1li:adón fallo en motor, dis)'Untor m11gento tén,,1co disparado
"F2
'IMl 5 'IMl191 .5 PROTECCJON '!IQ2.1
µ '113.0
APA
L
. s
_
·____·
_
c
�
lod<-
�
1 Hz"
____
M
O
_
r
_
o
R
1.n
PA1..ET
__
s·
________
_
·
_
H
_
o
-1
_
_llo·
� � >-- Fig. 5.26d
Segmento 1 2: Conexión d!' 111 señaliZBción proceso en marcha con p
_
ilo
_
,
_
,.
_
nl
_
•
____
'IM).1 '!IQ2.2
APA 1 ' "Hl_�RDE'
1----------------------1 s >-- Fig. S.26e
Segmento 13: �sconexióndelo señalillltiónproce-so en m1rch1 con pilotVl!'rde
'IMJ.0 '!IQ2.2
APA O" "Hl_�RDE'
1---------------------I R )-- Fig. 5.26f
Segmento 14: Señali:zición orden de paro de1 motor
�----�----�-------'
'113.0
"F2
'IMJ5 PROTECCION '!IQ2.3
APA
L
s
_
·___
M
O
_
r
...¡
o
R
PAI..ET
'----_
s
_
· _______________·
_
H
-4
2_
AWL"
� � )-- Fig. 5.26g
Segmento 1 5: Piloto de señ11imción rojo. proceso en reposo
'IMJ.0
APA O"
'!IQ2.A
"H3_ROJO"
1-------------------------1 >-- Fig. 5.26h
• Programación de los contadores
Segmento 16: Coma¡e yvisualimción de palets procesados yreset del c
_
on
_
ta
_
d
_
o_
, --------�
'!11)81
"DB_CTU_co 1 ·
'IMJ.A CTU
"ETAPA4" lnt
N 1---------- cu o -------------
'IM!o.1
"FLANCO 2"
'IMJ.0
"ETAPA O"
'112.6
"S4_RESIT
f--- R
0 - f'II
• Activación de la etapa inicial
'IMN7016
"PR
O
CESADAS
O/ - SIN GRABADO"
En el OB100 se debe programar la activación de la etapa inicial:
Segmento 5: Activa ción de la eta pa inicial ydesactiva ción de todas las demes
'XM8190.0
*FirstScan•
'XM0.0
"ETAPA O"
i---�------------------11 s >--
'XM0.1
"ETAPA 1 •
�-------------------1
( RESET
_BF )-<
5
Fig. 5.27
Fig. 5.28
• Llamada desde el OB1 a la función FCl donde tenemos el programa
1 . "G�et"
� EN ENO -----------------------------t Fig. 5.29
177
Unidad 5 - Aplicaciones con flancos
178
• Comprobación del funcionamiento con maqueta de simulación 3D
Ejercicio
Para hacer este ejercicio tan solo hemos de
utilizar el pulsador MARCHA, el pulsador
ACK y el disyuntor M2 de protección del
motor de la cinta en el panel Control del
proceso para poder controlar el
funcionamiento del motor de la cinta de
palets y del cilindro del eje horizontal:
ORDEN EN LA ACTIVACIÓN DE ENTRADAS
Control del proceso
(i IJ■� �¡;��
EMERGENOA PARO MARO.A AVTfMAH ACI( Ml
■ ■..;
5204-420 S2Ut21 S22-M22 SD-HD Sl.4-H2◄ M2
Fig. 5.30
Queremos asegurar que los movimientos de forma manual de dos cilindros de un mismo
manipulador, el de grabado, no generen ninguna colisión y se realicen en el orden correcto. Si se
actúa de forma apropiada sobre la secuencia de accionamiento de los dos selectores, se iluminará el
piloto verde y se realizará la secuencia con los movimientos de los cilindros. En el caso de actuar de
forma incorrecta, ya sea en la conexión o en la desconexión de los selectores, se señalizará con el
piloto amarillo funcionando de forma intermitente y no realizando ningún movimiento.
Condiciones de funcionamiento:
• Al poner en marcha el sistema, se pondrá en funcionamiento el piloto rojo.
• Al accionar el pulsador de marcha, si tanto el cilindro multiposicional grande como el cilindro
pequeño se encuentran en reposo (atrás), se realizará el desplazamiento del cilindro
multiposicional pequeño a la posición de avance. En esta situación actuaremos sobre los
selectores de control manual de ambos cilindros.
• A continuación, nos podemos encontrar con dos posibilidades:
o Que la secuencia de accionamiento de los dos selectores se realice de forma correcta, que
es, en primer lugar el selector manual del cilindro multiposicional pequeño y a
continuación el selector del manual del cilindro multiposicional grande. Entonces se
realizarán los dos movimientos de forma simultánea, cilindro multipequeño a retroceso
(dentro) y cilindro multiposicional en avance (fuera), señalizándose en todo momento con
el piloto verde en funcionamiento. Cuando ambos cilindros hayan alcanzado su posición,
el piloto verde funcionará de forma intermitente,
o Que la secuencia de accionamiento de los dos selectores se realice de forma incorrecta,
es decir, que en primer lugar accionemos el selector manual del cilindro multiposicional
grande y a continuación el selector del manual del cilindro multiposicional pequeño. En
este caso, no se realizará ningún movimiento, funcionando de forma intermitente el
piloto amarillo. Para salir de esta situación se deberán tener los dos selectores en
posición de reposo (OFF) y accionar el pulsador ACK, continuando el piloto amarillo de
forma intermitente. El cilindro marcador se recogerá a la posición de reposo (arriba) y
llegando a este estado el proceso quedará al inicio para un nuevo ciclo con el piloto rojo
en funcionamiento.
'
'
'
'
'
'
í
'
l
í
í
)
)
•
Unidad 5 - Aplicaciones con flancos
Si hemos hecho la secuencia correcta y está funcionando el piloto verde intermitente, pueden
ocurrir dos cosas:
o Que desconecte los dos selectores siguiendo la secuencia correcta, esto es, primero el
selector manual del multigrande y después el selector manual del multipequeño. Así el
cilindro multigrande retrocederá hasta su posición de reposo, funcionando a su vez el
piloto verde. Cuando el proceso llega a este estado, queda al inicio para un nuevo ciclo,
teniendo el piloto rojo en funcionamiento.
o Que desconecte los dos selectores siguiendo la secuencia incorrecta, es decir, primero el
selector manual del multipequeño y después el selector manual del multigrande. En este
caso funcionará intermitentemente el piloto amarillo. Para salir de esta situación se
deberán tener los dos selectores en posición de reposo y accionar el pulsador ACK,
continuando el piloto amarillo de forma intermitente. El cilindro marcador se recogerá a
la posición de reposo (arriba) y llegando a este estado el proceso quedará al inicio para un
nuevo ciclo con el piloto rojo en funcionamiento.
Cilindro multiposicional
Baliza pequeño
Cilindro multiposicional
grande
Relación de entradas y salidas:
ENTRADAS SALIDAS
Dirección Dispositivo Dirección Dispositivo
10.2 514 Pulsador Marcha Q0.3
YS Cilindro multiposicional pequeño a la
posición de avance (fuera)
11.0 B5 Cilindro multipequeño en reposo (dentro) Q0.4
YS Cilindro multiposicional grande a la
posición de avance (fuera)
11.1 B6 Cilindro multipequeño en avance (fuera) Q2.1 H0 Piloto amarillo
11.2 B7 Cilindro multigrande en reposo (dentro) Q2.2 H1 Piloto verde
11.3 B8 Cilindro multigrande en avance (fuera) Q2.3 H2 Piloto azul
13.1 SS Pulsador ACK Q2.4 H3 Piloto rojo
14.3 S12 Selector manual cilindro multipequeño
14.4 S13 Selector manual cilindro multigrande
Realizar:
Diseño del Grafcet.
Implementación a programa del PLC.
•
•
• Comprobación del funcionamiento mediante la maqueta de simulación 3D.
179
.
../
'
'
'
·,
'
'
'
'
'
'
Unidad 6 - Transferencia de datos y funciones matemáticas
Unidad 6 Transferencia de datos y funciones matemáticas
-
...
r----.. - -
•
--..
En este capítulo:
6.1 Funciones de transferencia de datos
6.1.1 Instrucción MOVE
6.1.2 Funciones de transferencia en un Grafcet
6.2 Funciones matemáticas
6.2.1 Operaciones básicas ADD, SUB, MUL y DIV
6.2.2 Instrucciones de incrementar INC y
decrementar DEC
6.2.3 Operaciones trigonométricas SIN, COS, TAN,
ASIN, ACOS, ATAN
6.2.4 Operaciones exponenciales SQR, SQRT, EXPT
6.2.5 Instrucción CALCULATE
6.2.6 Funciones MIN, MAX y LIM
6.2.7 Funciones matemáticas en un Grafcet
.,. _.
6.3 Programación en Grafcet (V)
6.3.1 Tipo de secuencia Trabajos paralelos o
Bifurcación en Y
6.3.2 Programa basado en diseño Grafcet
6.3.3 Grafcet paralelos y sincronización de Grafcet
6.3.4 Programa basado en diseño Grafcet
Ejercicio propuesto
181
Unidad 6 - Transferencia de datos y funciones matemáticas
Recuerda • • •
Las instrucciones de
transferencia de datos
se pueden utilizar
cuando necesitamos
copiar un dato en un
registro. El dato puede
ser una constante o
bien el que pueda
contener otro registro.
Recuerda • • •
La instrucción MOVE
copia un dato desde
un registro origen a
otro registro destino. El
registro origen puede
ser también una
constante y como
registro destino
podemos configurar
varios.
182
6.1 Funciones de transferencia de datos
Las funciones de transferencia de datos permiten leer datos de uno o varios
registros y copiarlos en otro u otros registros
Dentro de la carpeta Transferencia del catálogo Instrucciones básicas podemos
encontrar todos los tipos de transferencia que se pueden programar en un 57-
1200, y que son las siguientes:
,.. � Tra nsferencia
� MOVE
� Deserie lize
� Seria li.!l
� MOVE_BLK
� MOVE_BLK_W•,RJANT
Copia r va lar
Deseria lim r
Sería lia r
Copiar líree
Copi a r área
� UMOVE_BLK
� FILL_BLK
� UFILL_BLK
� SWAP
6.1.1 Instrucción MOVE
Copia r llrea sin interrupciones
Rellene r área
Rellene r área sin interrupciones
Ce mbia r disposición
Fig. 6.1
MOVE
La instrucción MOVE copia un elemento de
datos individual que se encuentra en un
Registro_Origen, introducido a través del
parámetro IN, al Registro_Destino
introducido en el parámetro OUTl.
------ EN - - - ----
ºRegistro_Origen
º
- IN ºRegistro_
,¡. O UT1 - Destino"
Fig. 6.2
También es importante resaltar que podemos copiar el mismo registro
introducido a través de la entrada IN en MOVE
varios registros indicados a través de los
parámetros OUTl, OUT2, OUT3... Para
poder conseguir ampliando el número de
parámetros de salida tan solo se ha de ir
pulsando sobre el icono amarillo que
aparece a la izquierda de la última salida
OUTx configurada.
------ EN - _
"Regislro_Origen" - 1N "Regi,trc_
OUT1 - Destine·
"Regirnc_
OUl2,- Destinc_,2·
"Registro_
¡} OUl3 Destino_3"
Fig. 6.3
Para eliminar una salida que hayamos añadido, tan solo hemos de tener
seleccionada la salida a eliminar y pulsar la tecla Supr, o bien pulsar el botón
secundario del ratón y elegir la opción Borrar del menú contextual:
Odnir-..iHutble C1.rl•"-1'yúHI
. -.,1- -0- ® ... ..,
Cllmbí1r nombre deo 11 v1 rí11 ble_ Ctrl+Mllyús+T
Re1sign1r vari1ble_ Ctr4-Ml)ÚS+-P
m1110 .,.,, bloque: "Moin Prog )( Cortar
:im'!nieno 11 Copiar
3 Segmento 1:
)(
Peg1r
Bcr ar � u�r
Ir ,
lni,rmadon de referenciBs cru::!!du �:,ls...F 1 t
MOW
t4l lnseru r segmento Ctrl"-R
EN -
ln,erur segmento At.
IN
EJ lns.etuJr cuadro ,., ,do MllyúJ.•fS
4)
0
� lnsert1 r nlid1 Ctri+Ml�s,1,,3
Fig. 6.4
V
J
J
J
J
'
'
1
'
'
'
1
'
1
'
'
'
'
'
'
'
'
'
'
'
'
'
'
Recuerda • • •
La instrucción MOVE se
1 puede programar
tanto de forma
, incondicional como
,
condicional y para ello
tan solo debemos
, poner la condición en
la línea del parámetro
' de entrada «EN».
'
'
'
'
'
'
Unidad 6 - Transferencia de datos y funciones matemáticas
La instrucción MOVE se puede programar de forma condicional o incondicional y
para ello tan solo se necesita incluir la condición en la línea de entrada EN.
Por ejemplo, se desea leer el valor contenido en el registro PEDIDOS SIN
GRABADO (MW7008) y lo queremos copiar en los registros siguientes:
• PROCESADAS ROJAS
• ROCESADAS VERDES
• PROCESADAS AMARILLAS
a) Incondicional
(MW7010).
(MW7014).
(MW7012).
Para que sea incondicional no se debe programar nada en la línea que
corresponde a la entrada EN:
MOVE
1------ EN
'KMW7008 'KMW7010
"PEDIDO SIN "PRDCESADAS
GRABADOº
-IN OUTI - ROJAS"
b) Condicional
'KMW7014
"PROCESADAS
ou12 - VERDE"
'KMW7012
"PROCESADAS
<f OU13 - MNRJLLAS" Fig. 6.5
Para que sea condicional se debe programar la condición en la línea que
corresponde a la entrada EN:
'110.3
•53 SELECTOR
AUrorWJ.1· MoVE
f----- EN
'IMW1008
ºPEDIDO SIN
GRABADO• - IN
'WW.1010
ªPROCESADAS
oun - ROJASª
'WW1014
"PROCESADAS
OU12 - VERDE"
"IMW1012
•PROCESADAS
">� 0U13 - AAWUUASª Fig. 6.6
Como hemos podido comprobar, la programación de la condición es totalmente
opcional, al igual que programar la activación con condición o no en la salida ENO
de la función MOVE:
'110.3
"S3_SELECTOR
AU101MAN" MOVE
-V..81 9 1 5
"Clock_1 Hz"
f--- EN
'KMW7008
"PEDIDO SIN
GRABADO" -IN
'KMW7010
"PROCESADAS
OUTI - ROJAS
•
'JMW7014
ºPROCESADAS
ou12 - VERDE0
'JMW70 1 2
"PROCESADAS
..� ou13 - AMO.R1LLAS.
'IQ22
"H1_VERDE"
Fig. 6.7
183
Unidad 6 - Transferencia de datos y funciones matemáticas
on-, (IN)
BYTE
WORD
DWORD
SINT
USINT
INT
UINT
DINT
UDINT
REAL
LREAL
TIME
DATE
TOD
DTL
CHAR
WCHAR
carácter de una cadena1>
JW1AyZl
STRUCT
Tipo de dalos PLC (UDl)
IEC_TIMER
IEC_SCOUNTER
IEC_USCOUNTER
IEC_COUNTER
IEC_UCOUNTER
IEC_DCOUNTER
IEC_UDCOUNTER
184
En el caso anterior funcionará el piloto verde (Q2.2) de forma intermitente
cuando se esté ejecutando la función MOVE. Esto es, cuando esté activado el
selector AUT/MAN (10.3).
A continuación se muestran los tipos de datos que se pueden utilizar en los
parámetros origen (IN) y destino (OUTl):
Dastlno (OUT1)
Con wrfficadón CEI Sin wrfficadón CEI
BYTE, WORD, DWORD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE ,TOD, CHAR
WORD, DWORD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD, CHAR
DWORD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE,TOD, CHAR
SINT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
USINT, UINT, UDINT BYTE,WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
INT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
UINT, UDINT BYTE,WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
DINT BYTE,WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
UDINT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD
REAL DWORD, REAL
LREAL LREAL
TIME BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME
DATE BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, DATE
TOD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TOD
DTL DTL
CHAR BYTE, WORD, OWORO, CH.AR, carácter de una cadena1>
WCHAR BYTE, WORD, DWORD, CHAR. WCHAR. carácter de una cadena1>
carácterde una cadena CHAR, WCHAR, carácterde una cadena
N>RAY N>RAY
STRUCT STRUCT
Tipo de datos PLC (UDl) Tipo de dalos PLC (UDl)
IEC_TIMER IEC_TIMER
IEC_SCOUNTER IEC_SCOUNTER
IEC_USCOUNTER IEC_USCOUNTER
IEC_COUNTER IEC_COUNTER
IEC_UCOUNTER IEC_UCOUNTER
IEC_DCOUNTER IEC_DCOUNTER
IEC_UDCOUNTER IEC_UDCOUNTER
Fig. 6.8
6.1.2 Funciones de transferencia en un Grafcet
La función de transferencia estudiada MOVE se puede utilizar en cualquier
proceso y en un Grafcet en forma de acción asociada. Puede tener diferentes
aplicaciones, por ejemplo:
En el flanco positivo de activación de
la etapa, en la puesta a cero de un
registro que se utiliza de contaje.
MO.l FP
MW200 = 0
Puesta a cero del registro d e contaje
'
'
'
'
'
'
'
)
l
)
'
)
'
'
l
'
1
)
)
'
'
'
'
'
Recuerda • • •
La instrucción MOVE
programada en un
Grafcet nos puede ser
útil, por ejemplo, para
poder poner a «O» el
valor de un contaje,
para forzar una etapa
concreta o para
guardar un valor.
Unidad 6 - Transferencia de datos y funciones matemáticas
MW50 = 4
Forzado de un Grafcet a una etapa
concreta. Por ejemplo, un Grafcet de 12 N
Forzado del g-afcet a la etapa 10
etapas en la que cada una de ellas está
asociada a una marca correlativa iniciada en la MSO.O, es decir, la etapa O
(MSO.O), la etapa 1 (MS0.1)..., y que independientemente de la etapa actual
activa, el Grafcet se posicione a la etapa 10 (M51.2). Por tanto, debemos cargar
en el registro MWSO el valor 4.
- Guardar un valor de un registro en
otro. Por ejemplo, guardar un valor, en
el registro D810.DBDSO, de una señal
N DBlO.DBDSO = MDlOO
Guardar el vabrde una señal analog.
analógica que una vez realizado el escalado la tenemos en el registro MD100.
Ejemplo:
Si nos fijamos en uno de los ejemplos representadosanteriormente como:
1Kl.3
"S3_SELECTOR
AUlO/MAN" MOVE
'JM8191 5
•aock_1 Hz"
f--- EN - E
'JMW7008
"PEDIDO SIN
GRABADO" -IN
'JMW1010
"PROCESADAS
DUTI ROJAS"
'IMW1014
"PROCESADAS
OU12 -VERDE"
'JMW1012
"PROCESADAS
s� OU13 -AMARILLAS"
1Q2.2
"H1_VERDE"
)----,
Y lo queremos representar en un Grafcet, sería:
N MW7008=MW7010
Procesadas rojas
N MW7006=MW7010
Procesadas verdes
N MW7012 =MW7010
Procesadas amél'"illas
Intermitente (M8191.S)
NC l--"'"-'
2 ."'-
2 -------<
Piloto verde
Accion a- selector AUT/MAN a posCión "O"
(I03)
En el apartado de programar las acciones asociadas tendremos:
Fig. 6.9a
185
Unidad 6 - Transferencia de datos y funciones matemáticas
Recuerda • • •
Las funciones
matemáticas nos
permiten realizar
cálculos tanto con
operaciones básicas
(sumar, restar,
multiplicar y dividir)
como avanzadas (raíz
cuadrada, potencia,
logaritmos, funciones
trigonométricas. . .) .
186
"I.M0.1
•ETAPA 1 • MOVE
f--- EN -
"/MW,008 "I.MW7010
"PEDIDO SIN
GRABADO" -IN
"PROCESADAS
OUTI - ROJAS'
"/MW,014
'PROCESADAS
OUl2 - VERDE"
"I.MWJ0 1 2
" PROCESADAS
,� OUT3 - AMARILLAS•
"I.M0.1
APA 1•
"I.M8191.5
"clock_1 Hl
'Y,Q2.2
•H1_vEROE"
1-------1/1-----------------1 )------,
6.2 Funciones matemáticas
Fig. 6.9b
Fig. 6.9c
Las funciones matemáticas permiten realizar operaciones matemáticas, tanto con
valores enteros, con o sin signo, como con valores reales, y guardar el resultado
en el registro de salida indicado en el parámetro OUT.
Dentro de la carpeta Funciones matemáticas del catálogo Instrucciones básicas
podemos encontrar todos los tipos posibles de operaciones que se pueden
programar y que son los siguientes:
,.. [fil Funciones matemáticas
� CALCULA.lE
� ADD
� SUB
� MJL
� DIV
� MOD
� NEG
� INC
� DEC
� ABS
.. MIN
.. MAX
• urvtT
� SQR
� SQRT
� LN
� EXP
� SIN
� cos
� TAN
� ASIN
� ACOS
� ATAN
� FRAC
� EXPT
Ca lcula r
Sumar
Resta r
Multiplicar
Dividir
Obtener re.io de división
Generar complemento a dos
Incrementar
Decrementa r
Calculo r valor a bsoluto
Determinar mínimo
Determinar máximo
Ajusta r valor límite
Ca lcular cuadrado
Ca lcula r ra ízcuadrada
Ca lcula r logaritmo natura l
Ca lcula r valor exponencia 1
Calcular va lor de seno
Calcula r valor de coseno
Ca lcula r va lor de tangente
Ca lcular va lor de a ,coseno
Calcular va lor de a rcocoseno
Ca lcula r valor de a rcota ngente
Determinar decimales
Eleva r a potencia
Fig. 6.10
6.2.1 Operaciones básicas ADD, SUB, MUL, DIV
Este grupo de operaciones básicas tiene la misma estructura: «n» entradas (INx)
de datos y una única salida (OUT) para el resultado.
V
J
V
1
'
'
'
'
'
1
'
'
1
)
'
1
1
'
1
1
1
1
'
1
'
1
Unidad 6 - Transferencia de datos y funciones matemáticas
ADO SUB Ml.lL DIV
11u1o (ml 11u1o (ml lluto (ml llu1o (:ml
--EN - EN El. -
<?7?> IN1 OUT <71'1> <71'1> IN1 OUT <?'1?> <71?> INl OUT <7!?> OUT <71?>
<171> 11!2 -� <71?> IN2 <71?> IN2 ,, 2
SUMA RESTA PRODUCTO COCIENTE
Fig. 6.10a Fig. 6.10b Fig. 6.10c Fig. 6.10d
Tanto la suma ADD como el producto MUL tienen la posibilidad de ampliar en
número de entradas. Para ello, y de igual forma que hemos realizado
anteriormente en la función MOVE, al pulsar sobre el icono amarillo que aparece
a la derecha de una de las entradas iremos aumentando el número, pero esto no
sucede en las operaciones de resta SUB y cociente DIV, en las que como es obvio
tan solo se admiten dos entradas.
Desplegando el campo del tipo de datos AUTO (???) podemos seleccionar entre:
ADD 1
Au1D I·
---1E.l •1•
<?7?> _ lt, lnt <?7?>
. . .
Dlnt
<?7?> - lt. Real
- LReal
USlnt
Ulnt
Slnt
UDlnt
Fig. 6.11
Donde cada opción tiene el siguiente significado:
o Sint: enteros positivos y negativos de 8 bits (-128 a 127).
o lnt: enteros positivos y negativos de 16 bits (-32768 a 32767).
o Dint: enteros positivos y negativos de 32 bits (-2147483648 a
+2147483647).
o USlnt: enteros positivos de 8 bits (O a 255).
o Ulnt: enteros positivos de 16 bits (de O a 65535).
o UDint: enteros positivos de 32 bits (O a 4294967295).
o Real: real de 32 bits (+1.175e-38 a +3.402e+38).
o LReal: real de 64 bits (+2.225e-308 a +1.797e+308).
Ejemplos:
Queremos sumar los datos de los posibles pedidos de piezas (rojas, verdes,
amarillas y sin grabado) y que el resultado se presente en el registro Procesadas
sin grabado. Para ello, al insertar la función suma ADD veremos que tan solo
cuenta con dos entradas de datos, pero la ampliaremos hasta obtener cuatro
entradas y posteriormente introduciremos los diferentes registros en cada una de
ellas y en la salida, obteniendo el siguiente resultado:
187
Unidad 6 - Transferencia de datos y funciones matemáticas
Recuerda • • •
Las funciones
matemáticas básicas,
como sumar, restar,
multiplicar y dividir,
tienen la misma
estructura, en la que
podemos ampliar el
número de valores de
entrada, y tienen tan
solo una salida para el
resultado.
188
1110.2
"S2_MMCHA"
AOD
Aulo (lnt)
--- EN -
'IMW7002
"PEDIDO ROJAS" - INl
"PEDIDO VERDES" - IN2
'IMN7004
"PEDIDO
-'toAMIUAS" - IN3
'IMN7008
"PEDIDO SIN
G!Ve-'00" -IN4 •�
-,o,o
"PROCES-'OAS
our -ROJAS"
Fig. 6.12
Aquí hay que tener en cuenta que, al utilizar los registros asociados a los
diferentes displays del simulador 3D para comprobar el funcionamiento, los
valores de entrada han de ser enteros y deben dar un resultado también entero.
En caso contrario, se visualizarán datos no coincidentes en el resultado final en la
salida.
Para la multiplicación realizaremos el mismo procedimiento que para la suma,
pero pondremos un registro diferente para el resultado:
'II0.2
"S2_MMCHA"
l&Jl
Aulo(lnt)
1---- EN -
'IMW7002
"PEDIDO ROJAS" -IN1
'IMN7006
"PEDIDO VERDES" -IN2
v.tN7004
"PEDIDO
IIMMll.ll6" - IN3
'IMN7008
"PEDIDO SIN
GAABf-00" - IN4 •�
v.tN7014
"PROCES-'OAS
our-VERDE"
Fig. 6.13
Para la resta y para la división tan solo se pueden utilizar dos entradas, por lo que
podríamos hacer lo siguiente:
'II0.2
"S2_MMCHA"
SUB
Aulo (lnt)
1---- EN -
"PEDIDO ROJAS" -1111
v.tN7006
"PEDIDO VERDES. - IN2
'liMNJ012
"PROCES-'OAS
OUT 1'MMIUAS.
'II0.2
"S2_MMCHA"
0N
Aulo (..,t)
t---- EN -
'liMN7008
"PEOtDO SN
GRM,000" -INl
'IMW7002
"PEDIDO ROJAS" �IN2
'liMN7016
"PROCES-'OAS
our-sN Give-'00"
Al comprobar el funcionamiento de este programa en el
simulador 3D y visualizando el panel Registros de
pedido y de contaje, podemos obtener, con los datos
introducidos en los displays de la zona superior, los
resultados de los displays de la zona inferior.
Fig. 6.14
Fig. 6.15
Fig. 6.16
V
V
'


'
'
'
'



'
'
'

'
Unidad 6 - Transferencia de datos y funciones matemáticas
6.2.2 Instrucciones de incrementar INC y decrementar DEC
Las instrucciones Incrementar y Decrementar permiten modificar el registro
asociado al parámetro IN/OUT al siguiente valor superior o inferior,
respectivamente, así como consultar el valor de ese mismo registro como
resultado de la operación.
Fig. 6.17a ..e
lnt
--- EN -
•Regiuro• IN/OUT
DEC
lnt
--- EN -
•Registr0• IN/OUT
Fig. 6.17b
La entrada de habilitación EN de ambas instrucciones funciona por nivel, lo que
indica que mientras la entrada EN de habilitación se encuentra activada, estará
realizando la operación de incrementar o decrementar de forma continua.
En función del tipo de datos elegido al desplegar ese parámetro de la instrucción,
el registro a asociar deberá ser del mismo tipo. Pueden ser los siguientes: Sint, lnt,
Dlnt, USint, Ulnt y UDlnt. Sabemos que cuando se sobrepasa su valor máximo,
pasa al valor mínimo y, al contrario, al sobrepasar el valor mínimo, el valor actual
pasará a tener el valor máximo.
Ejemplo:
En el siguiente ejemplo se muestra cómo mientras no se accione el selector
AUT/MAN (10.3) al mantener accionado el pulsador de marcha (10.2), aparte de
indicarlo con el piloto rojo de la baliza {Q2.4), el registro de piezas procesadas de
color rojo {MW7010) irá incrementando su valor en cada ciclo de sean:
'!110.3
ºS3_SElfCTOR
/11.JTOIMIW"
'!110.2 INC
ºS2_MARCHA" lnt
f--- EN -
-,o,o
ºPROCESIOAS
ROJAS. -IN/OUT
'IIQ2.4
"H3_ROJOº
)------o
Fig. 6.18
Mientras que sin modificar el estado del selector AUT/MAN y si el pulsador que se
acciona es el de ACK {13.1), aparte de señalizarlo con el piloto amarillo de la baliza
{Q2.1), irá decrementando su valor en cada ciclo de sean:
'!110.3
ºS3_SElfCTOR
/11.JTOIM/W"
'!113.1
·ss_PUl5IOOR
K.t<:
OEC
lnt
f--- EN -
-,o,o
ºPROCESIOAS
ROJAS. -IN/OUT
---
'IIQ2.1
º
H0.fl,IAAJU.Oº
)------o
Fig. 6.19
Pero si lo que nos interesa es poder incrementar o decrementar el valor del
registro de piezas rojas procesadas {MW7010) cada vez que se accione el pulsador
de marcha (10.2) o el de ACK (13.1), respectivamente, debemos hacerlo
aplicándole un flanco. En este caso positivo, como estamos trabajando con el
mismo registro, ahora debemos modificar previamente el estado del selector
AUT/MAN {10.3). Además, mientras estamos accionando el pulsador de marcha o
el de ACK, se señaliza con los pilotos verde {Q2.2) y azul {Q2.3), respectivamente.
Como se puede observar, estos pilotos ahora no se pueden programar como
189
Unidad 6 - Transferencia de datos y funciones matemáticas
Recuerda • • •
Las instrucciones de
incrementar (INC) y
decrementar (DEC)
funcionan por nivel. Por
tanto, lo normal será
programar en la
entrada «EN» un
flanco, de forma que
pueda incrementar o
decrementar una sola
unidad cada vez que
se cumpla la condición
programad en la
misma entrada.
190
antes en la salida ENO, ya que tan solo se verían en funcionamiento durante un
sean, hecho que hace imposible poderlo visualizar:
'!110.3
"S3_SELECTOR '!110.2
AfíO/MM "S2..MAACHA"
p
'!IM30.0
"FL'NCO 1 "
'!110.2
"S2_MAACHA"
'!110.3 '!113.1
"S3_SELECTOR ·ss_pul5J'OOR
AfíO/MM K.K"
p
'!IM30.1
'FLANCO 2"
'!113.1
'SS_p!JL5J'OOR
K.K"
INC
lnt
EN -
'!IMll'7010
"PROCESl'OAS
ROJAS" - IN/OUT
DEC
lnt
EN -
'IW>V7010
"PROCESJ'OAS
ROJAS" IN/OUT
'11()2.2
"Hl_fROE"
)----, Fig. 6.20
'11()2.3
"H2_./ZUL"
)----, Fig. 6.21
Ahora además podemos añadir alguna instrucción de comparación para
comprobar cuándo el valor actual del registro ha alcanzado o no un límite
indicado, como puede ser 10. En la solución presentada, hacemos que se señalice
mediante el funcionamiento intermitente (2 Hz) del piloto del pulsador de marcha
(Q3.1) cuando el valor sea inferior a 10, mientras que cuando el valor sea
superior, el piloto que funcionará intermitentemente será el correspondiente al
piloto del pulsador de ACK (Q3.2):
�;� -191.3
"Clod<_2Hz"
'11()3.1
'H5]UL5l'OOR_
MARCHA"
,;t
1-- ---
1/1- ------------
--1
1 0
)----,
OJAS"
-191.3
"Clod<...2Hz"
'IIQ3.2
"H6_pUL5l'OOR_
K.K"
�
OCES:�
l�t 1-- ---
l/l- ------------
--1
10
>--
Fig. 6.22
Fig. 6.23
También podemos poner a O el valor actual mediante la instrucción MOVE:
_RESET' K!VE
r2.6
!--- EN -
O -IN -,010
"PROCES/!OAS
,} oUTn-ROJAS" Fig. 6.24
En la solución presentada se realiza la inicialización del 0 11eg,,..,. d, p,aK1o y de contai< &i
registro de piezas rojas procesadas al accionar el
pulsador de reset (12.6), que corresponde al pulsador
Reset de los Valores de producción del panel Registros
de pedido y contaje del simulador 3D.
Fig. 6.25
J
J
�
)
, Recuerdo • • •
"1 Las funciones
trigonométricas, como
seno, coseno y
tangente además de
sus inversas, tienen la
misma estructura:
disponen de una
entrada para el valor
al que se le quiere
aplicar la función y una
salida donde guardar
el resultado.
Recuerdo • • •
Para trabajar con
cualquiera de las
funciones
trigonométricas, tan
solo podemos hacerlo
con valores en formato
REAL o LREAL.
Unidad 6 - Transferencia de datos y funciones matemáticas
6.2.3 Operaciones trigonométricas SIN, COS, TAN, ASIN, ACOS, ATAN
También podemos encontrar instrucciones para realizar operaciones
trigonométricas, como la de seno, coseno y tangente, y también sus inversas
como son arco seno, arco coseno y arco tangente:
SIN
m
-- rn - f
<?'!?> IN OUl <?!?
Fig. 6.26a
ASIN
???
-- EN -
<??"!> · IN OU1 <???-.
Fig. 6.26d
cos
?1?
-- rn -
<1??> - 1N OUl <1??'.
Fig. 6.26b
ACOS
m
-- EN -
<1??>- IN ou1 - <1?1
Fig. 6.26e
TAN
n?
-- EN ­
<???> -,1N
Fig. 6.26c
AUIN
m
-- EN -
<???'> --'IN ou1 - <1r
Fig. 6.26f
Como se observa en las figuras de las diferentes operaciones, los parámetros
tanto de entrada como de salida son iguales. Es obvio, pues se le ha de indicar con
qué registro o valor se quiere realizar la operación trigonométrica (IN) indicada y
en qué registro se quiere guardar (OUT). La operación se podrá condicionar a
través de la entrada EN.
Se deberá elegir el tipo de datos con el que se vaya a trabajar y en todos los casos
tan solo admite dos tipos:
o Real: valores en coma flotante de 32 bits (+l.175e-38 a +3.402e+38).
o LReal: valores en coma flotante de 64 bits (+2.225e-308 a +l.797e+308).
Debemos señalar también que en todas estas funciones trigonométricas se ha de
indicar el valor del dato (IN) en radianes y no en grados.
Por tanto, sería conveniente realizar en primer lugar un cálculo de conversión de
grados a radianes antes de aplicar la función trigonométrica. Por ejemplo,
realizando el siguiente cálculo:
DatOSgrados * 2 * rr:
DatOradianes = 360
De este modo, tendríamos el siguiente programa:
1------ EN
V,1)251)
"Oato
_Grados" -1Nl
2.0 IN2
Mil
Real
3.141& - IN,3 �)
---------- EN
V,1)200
·-.,.
OUT Grados-2•pr
V,1)200
"Aodliar-
Grados•2•pr -INl
360.0 -,INl
DIV
Real
__,
V,1)90
OUT - "Dato
_P.adianes"
Fig. 6.27
Ahora ya podemos aplicar cualquiera de las funciones trigonométricas y obtener
un cálculo correcto. Por ejemplo, si hacemos el cálculo con 60 grados, tenemos
que Dato_Grados = 60:
191
Unidad 6 - Transferencia de datos y funciones matemáticas
Recuerda • • •
Las funciones
exponenciales tienen
todas la misma
estructura: una
entrada para el valor
al que se quiere aplicar
la función y una salida
donde guardar el
resultado.
192
'liM)250
·0.tto_Grados· - IN1 "lwdiar-
2.0 - 112 OUT -Grados*2"'pf"
3.1416 - to ..
>
DIV
Rnl
EN -
'IM)90
OUT -"Oato_Radl,mes•
Fig. 6.28
Y los cálculos trigonométricos resultarán ser los siguientes:
SIN
Real
-- EN -
'11Ml90
"Oato_Radianes· - IN
cos
Real
EN -
EN
'liM)90
"Dato_Radianes· - IN
TAN
Re•I
'11Ml100
0/T -ºC.laJlo_SENO"
'liM)104
ºC.,laJlo
0/T -COSENO"
'11Ml108
"C.,laJlo
0/T -Tl>NGENTE"
ASIN
Real
EN -
v.ll100
ºC.,laJlo_SENOº
- IN
ACDS
Real
'IIM)112
oUT -
�<::.1o_Mc_
Fig. 6.29a
EN -
'liM)104
ºC.laJlo
cosoo _ 1N
'11Ml116
ºGalaJlo_MC_
OUT -COSENO°
ATAN
Real
Fig. 6.29b
EN -
'11Ml108
ºC.,laJlo
T.<NGENlF _ IN
'IM>120
011T _��- Fig. 6.29c
6.2.4 Operaciones exponenciales SQR, SQRT, EXPT
Las instrucciones matemáticas para realizar operaciones exponenciales son:
o SQR: calcular el cuadrado de un número.
o SQRT: calcular la raíz cuadrada de un número.
o EXPT: elevar a potencia, que permite elevar el valor de un número a la
potencia de otro número.
SQR
m
-- EN -
<???> - IN OUT-<???>
Fig. 6.30a
SQRT
m
-- EN -
<???> IN OUT -<???>
Fig. 6.30b
E><PT
m 0 m
-- EN -
<??'?> - IN1 OUT <771'>
<"ffl> - IN2
Fig. 6.30c
A continuación presentamos un ejemplo con cada operación. Para poder
comprobar correctamente el funcionamiento en el panel Registros de pedido y de
contaje, se debe tener en cuenta que los datos introducidos en los displays de la
fila superior Pedidos de producción nos deben dar un valor entero como
resultado, por ejemplo:
• Cálculo del cuadrado de un valor
,t,I
W
,006
ºPEDIDO VERDES"
SQR
Aeel
EN - e:
,t,IW7014
ºPROCESADAS
VERDE"
Fig. 6.31
V
' Recuerda • • •
"
'
1 '
'
í
'
Para trabajar con
cualquiera de las
funciones
exponenciales, tan solo
podemos hacerlo con
valores en formato
REAL.
Unidad 6 - Transferencia de datos y funciones matemáticas
• Cálculo de la raíz cuadrada de un valor
1 SQ�
Ro,al
-=4
E N -
"PEDIDO
AMAAILLAS" IN O T
'lMW/01 2
"PROCESADAS
MWULLAS"
• Elevar a potencia un valor de base sobre otro de exponente
El<PT
Rea l *• lnt
EN ------
'IMW7002
"PEDIDO ROJAS" INl
'IMWJ004
"PEDIDO
'lMW/010
"PROCESADAS
OUT ROJAS"
AMARILLAS" -.,..
IN
.., __�-----
Ejemplo:
Fig. 6.32
Fig. 6.33
Deseamos realizar el cálculo de la potencia activa en una red trifásica para
posteriormente utilizarla para el control de una salida analógica. La ecuación a
calcular es la siguiente:
P = .J3 * V * I * cos <p
Para ello, debemos utilizar diferentes instrucciones estudiadas anteriormente. En
primer lugar hemos de realizar la operación de la raíz cuadrada del valor 3 con la
instrucción SQRT:
SQ�
Real
!'•-,:-- 'IMDSO
Fig. 6.34
A continuación, se calcula el producto de todos los factores que intervienen en la
ecuación y se obtiene un resultado en valor real. Para poder visualizar este valor
en el display de piezas Procesadas Rojas debemos pasarlo a valor entero (lnt), y
para ello utilizamos la función ROUND, que redondea el valor en formato real
indicado en el parámetro de entrada (IN) y lo muestra en el parámetro de salida
(OUT) en formato entero (lnt).
UUL
Auto (IIHO
EN -
� IN1 OlJT - :::!ia•
IIOUND
IINI to lnt
EN -----
1'MD62 "IMW7010
ºPo'ttncia
º
- IN ºl'IIDCESADAS
------ �
1 - ROJAS
º
Fig. 6.35
193
Unidad 6 - Transferencia de datos y funciones matemáticas
Recuerda • • •
Con la función
CALCULATE se puede
introducir una fórmula
de cálculo utilizando
diferentes operadores
matemáticos, en los
que todas sus variables
corresponden a una
de las entradas
previamente
configuradas.
194
Esta función ROUND la podemos encontrar dentro de la carpeta Conversión del
catálogo Instrucciones básicas, entre otras funciones:
,.. Convenión
éjj CONVEl!T
Í!ll ROUND
!!l! CEIL
!!l! FlOOR
i!ll lRIJNC
l!ll SCAI.E_X
Convertir valor
�dondear número
1
�dondear un número en coma flotante al siguiente!' entero superior
Rrdondear un número en coma flotante al siguiente entero in�rior
Trunca r a entero
Es:calar
__
!!ÍI
_
No
_
RM
_
_x
_
N
_
o
_
rm
_
a li
_
,.,
___________ _J
Fig. 6.36
Igual que hemos utilizado la función ROUND para realizar la conversión de un
valor real a valor lnt, podemos utilizar también otras funciones de conversión
equivalentes, como CONVERT, CEIL, FLOOR o TRUNC.
6.2.5 Instrucción CALCULATE
Como hemos visto anteriormente, hemos utilizado diferentes funciones por separado
para realizar un cálculo de una ecuación. Es obvio que a medida que la ecuación es más
compleja, el número de funciones matemáticas a utilizar es mayor y en estos casos es
posible que sea más conveniente hacer uso de la función CALCULATE, ya que aporta la
ventaja de que podemos introducir la ecuación a calcular en una sola función:
<l??> - JN2 ��
CM.CIJI.Alf
m
OUT :- ,� ·
Fig. 6.37
liJ
ou1 - <.n?>
La función CALCULATE permite ampliar el número de entradas (INl, IN2, IN3, ...)
para poder indicar a la función los datos que intervienen en la ecuación, y tiene
una sola salida (OUT) donde presentará la solución.
Pulsando sobre el icono calculadora que aparece dibujado en la parte superior derecha
de la propia función aparecerá una ventana para introducir la ecuación:
_..,,
(lNl • INl) .. (INl · IN2)
..... .....do,in;
Md. Or, XOr.s-p. Notfin'<', +, ·, •,/, �.1b1, Ntg, bJ,, ••. FT9c. t.n. Sin, �in, Cot, ACoJ, lln, ATln,
Sqr, Sqrt. �nd. Ce1I, Floor. Ttunt:
Fig. 6.38
1
Si se usan tan solo los parámetros de entrada (INl, IN2, IN3, ...) en combinación
con las posibles instrucciones, se realizará el cálculo del resultado final.
Ejemplo:
Deseamos realizar el cálculo de la potencia activa en una red trifásica para
posteriormente utilizarla para el control de una salida analógica. La ecuación a
calcular es la siguiente:
P = ✓3 * V * I * cos (fJ
J
1 �
'



1
'
'

'

'
�

'
'
'
�
)
Unidad 6 - Transferencia de datos y funciones matemáticas
Ahora tenemos que colocar en las diferentes
entradas de la función CALCULATE el 3 (IN1), el --,.
registro que contiene el valor de la tensión (IN2), el
registro que contiene el valor de la intensidad (IN3) y ;;::-::!
el registro que contiene el valor del cos p (IN4), y a
continuación introducir la siguiente expresión:
OUT:= SQRT(IN1) * (IN2) * (IN3) * (IN4)
La instrucción será esta:
Editar in�truccíón "Calrular"
OUT:• SQRT(IN1)*{1N2 • N])•0N.4
Ejemplo:
(INl • IN2) • (IN1 · !N2)
Poslbles lnstrucdones para Real:
<1?1> tN3
<11?>
CALCULAlE
111
OUT:•
Fig. 6.39
+, •, •,1, i'bt., Neg. hp, u, Frdc, Lo, Sin, A.Sin. Cos, N:.os, Tan, Alan, Sqr, Sqrt. Aound, Ceil, Floor, Trunc
Fig. 6.40
El programa quedará de la siguiente forma:
CM.CULA.ll
..., 1 "'"'"
A.al io IM
1-----rn -------•·
OUT,. SQRT/IN1r(INl)*(!Nl
30, IN1 1MD'2
'JMW1002
'l"fDIDOIIOJAS" 1Nl
"lMW100◄
'l"fOIOO
AM'l,AIU,AS' IN)
0..8 · IN-1 •�
....., 1MW7010
"l'Offncia' tN 'MIOCESM>AS
____ OLIT IIOJAS"
Fig. 6.41
El valor resultante de la función CALCULATE, a través del parámetro OUT, es el
resultado final en formato real, y como lo queremos presentar en el display de
piezas Procesadas Rojas debemos pasarlo a valor entero (lnt). Es por ello que
utilizamos la función ROUND.
Se puede observar en la instrucción CALCULATE como aparecen unos cuadrados
de forma automática en les entradas IN2 e IN3, esto sucede porque ha detectado
que en esas dos entradas, las variables asociadas son valores del tipo entero y
dado que el formato de la instrucción es Real, la propia instrucción CALCULATE
realiza la conversión de los datos de esas dos entradas al formato Real.
6.2.6 Funciones MIN, MAX y LIM
Las instrucciones para la evaluación de los datos introducidos a través de sus
entradas son:
o MIN: da como resultado en su salida el valor mínimo de los presentados a
través de los parámetros de entrada.
o MAX: da como resultado en su salida el valor máximo de los presentados a
través de los parámetros de entrada.
o LIM: da como resultado un valor comprendido entre dos límites asociados a
los parámetros de entrada (MAX y MIN), siendo estos los valores máximo y
mínimo que podrá presentar en su salida (OUT).
195
Unidad 6 - Transferencia de datos y funciones matemáticas
Recuerda • • •
La función «MIN»
ofrece en su salida el
valor inferior de los
introducidos a través
de sus entradas.
Recuerda • • •
La función «MAX»
ofrece en su salida el
valor superior de los
introducidos a través
de sus entradas.
196
M°'
m
--EN-
<???>- IN1 OUT <?1'>
<?11'>-IN.2 �
Fig. 6.42a
MAX
m
--EN-
<?17>, IN1 OUT <111>
<111>-tN2 l)'.
Fig. 6.42b
-rn
LMlf
m
<1!1>• u.! OUT-<-11'»
Fig. 6.42c
A continuación, presentamos un ejemplo con cada función. Para poder comprobar
correctamente el funcionamiento en el panel Registros de pedido y de contaje, se
debe tener en cuenta que los datos introducidos en los displays de la fila superior
Pedidos de producción nos deben dar un valor entero como resultado, por
ejemplo:
• Cálculo del valor mínimo
En este ejemplo se trata de determinar cuál es el valor más pequeño de los tres
que se asocian a las correspondientes entradas y para ello introduciremos los
diferentes valores a través de los display del panel Registros de pedido y contaje:
11()3
"S3_SELEC10R
AUlO/fvWI"
WW7002
"PfDIDO ROJAS"
WW700�
"PEDIDO
MAAAILLAS"
WW7006
MIN
lnt
EN - e 011----------------
WW/016
IN1 "PROCESID,'S
IN2
OU1- SIN GAABIIOO"
"PfDIDO VERDES'- IN3 sf
• Cálculo del valor máximo
Fig. 6.43
En este ejemplo se trata de determinar cuál es el valor más grande de los tres que
se asocian a las correspondientes entradas y para ello introduciremos los
diferentes valores a través de los display del panel Registros de pedido y contaje:
1I03
"S3_SELEC10R
MJlO/MIIN"
MAX
lnt
rn-
WW7002 WW/016
"PEDIDO ROJAS" IN1 "PROCESID,'S
WW/004
"PEDIDO
MMRILLAS"- IN2
WW/006
"PEDIDO VERDES•--, IN3 sf
ou1- SIN GRABIIOO"
• Control por valores límite
Fig. 6.44
En este ejemplo se trata de controlar que el valor introducido (IN) se encuentre
entre dos valores límites, inferior (MN) y superior (MX). Si el valor es correcto, se
visualizará en el parámetro de salida (OUT), mientras que si el valor introducido
(IN) está fuera de los valores límites, entonces presentará el valor límite que haya
sido superado. Para comprobar el funcionamiento, introduciremos los diferentes
valores a través de los display del panel Registros de pedido y contaje:
'
'
'
.,
)
'
'
'
'
)
'
'
)
'
Recuerda • • •
La función «LIM» ofrece
en su salida el mismo
valor introducido a
través de su entrada
«IN», siempre que este
se encuentre entre los
valores límites «MIN» y
«MAX»; en caso
contrario, muestra en
su salida «OUT» el valor
superado.
Recuerda • • •
Algunas aplicaciones
de operaciones
matemáticas en un
Grafcet nos pueden
servir para:
• Incrementar un
registro.
• Realizar un cálculo
simple.
• Realizar un cálculo
complejo.
Unidad 6 - Transferencia de datos y funciones matemáticas
'IMW7014
'IMW7006 "PROCESADAS
"PEDIDOVERDES' -IN OU1-VERDE"
100-MX
..,,.W7002
"PEDIDO ROJAS" -,...i
'IMW/004
'PEDIDO
MWIJLLAS" IN
'IMW7006
'PEDIDO VERDES' -MX
6.2.7 Funciones matemáticas en un Grafcet
Fig. 6.45
Las diferentes funciones matemáticas se pueden utilizar en un Grafcet en forma
de acción asociada, y pueden tener diferentes aplicaciones, como:
- Aplicación de la función suma (ADD). En el flanco positivo de activación de la
etapa incrementaremos una unidad Mwioo = Mwioo+ 1
MO.l FP 1---'-"����a...,-�,---t
un registro que se utiliza de contaje. lncrementarunaun�adunregistro
- Aplicación de una ecuación sencilla
ejemplo, queremos realizar el
siguiente cálculo: V= R * 1, donde: V
(MD10), R (MD20) e 1 (MD30).
con la función producto (MUL). Por
Ml.S �lS N
IMOl0 = MD20* MD30
� _
CálcubdeV=R•I
- Aplicación de una ecuación compleja con la función calcular (CALCULATE). Por
ejemplo, queremos realizar
el siguiente cálculo:
P = ✓3 * V * I * cos <p.
Ejemplo:
N
Si nos fijamos en el último ejemplo representado anteriormente, como es el
cálculo de la potencia, tendremos:
W0.2 SQRT
•sL,�· i.a1
r-EN Ni --------EN
3.0 IN 'VC>50
OUl '�IU'
WW7002
'¡IEOIOOltOJAS" '"'
_,...
·,rnlOO
-·· IN3
•• '""'
--------EN
La representación en un Grafcet sería así:
AOUNll
IINI IOlnl
MD62 = MDSO*MW7002*MW7004*0.8
CálcubdeP =V3 •V•1 • co.sq>
MW7010=ROUNDMD62
Valor de P en formato en tero
Acciona- pulsadorpél'o (iOT)
197
Unidad 6 - Transferencia de datos y funciones matemáticas
198
En el apartado de programar las acciones asociadas tendremos:
11M0.1 SORT MUL
'ETAPA 1• flaal Aia>{INI)
f----•• -------•• -------EN --
3.0 IN 'IMDSO
our "A111_3·
1M)S0 WC>62
•kf¡z_a- IN1 our ·,a1enci1°
WW7002
"PEOIOOIIOJAS" IN2
_,,..
'PEOIOO
AMAAUASº
IN3
0.8 IN4 �
6.3 Programación en Grafcet (V)
_,.,
•,-_ncia' IN
"'º"°
flNI ID 1111:
"IMW7010
ºPROCESADAS
OUT M>.IAS"
En esta cuarta parte de Grafcet explicamos, además de integrar las funciones
estudiadas, cómo son las funciones de transferencia y matemáticas en un diseño
realizado en Grafcet. También estudiaremos un nuevo tipo de estructura como es
la de trabajos paralelos o también llamado bifurcación en Y.
6.3.1 Tipo de secuencia Trabajos paralelos o Bifurcación en Y
Este tipo de secuencia llamada Trabajos paralelos, que también se conoce como
Bifurcación en Y o Secuencias simultáneas, ofrece la posibilidad de que la
evolución del Grafcet siga por diferentes caminos de forma simultánea.
Estas secuencias se utilizan cuando un proceso tiene la necesidad de realizar
diferentes operaciones de forma simultánea, de modo que cada una de esas
operaciones puede tener una duración diferente en el tiempo. Es entonces
cuando diseñamos un Grafcet con bifurcación en Y. Tanto la divergencia del
Grafcet para entrar en una bifurcación en Y como la convergencia se indican con
una doble línea.
Para entrar en una bifurcación en Y se necesita una unica transición
(Transición_Entrada), de manera que se activan todas las primeras etapas de cada
rama. A partir de ahí, cada rama evoluciona a su ritmo de forma independiente,
llegando cada una de ellas al finalizar su secuencia particular a una etapa final
denominada etapa de espera, que lo que hace es esperar a que el resto de ramas
finalice su secuencia.
Una vez tenemos todas las etapas finales de espera activadas, para salir de la
bifurcación en Y se deberá cumplir una única transición (Transición_Salida), que
normalmente se indica como =1, ya que en un principio ya no queda ninguna
condición previa que se deba cumplir. Este =1 indica que siempre se está
cumpliendo esa transición. Podemos utilizar el bit de marca especial Always TRUE
y a partir de ahí el Grafcet continuaráevolucionando según el diseño realizado.
A continuación, se muestra un ejemplo de diseño de un Grafcet con bifurcación
en Y que está formada por tres ramas con secuencias diferentes: ._,,
'
1
1
'
'
'
'
'
í
'
'
Recuerda • • •
Cuando es necesario
tener que realizar
varios trabajos en
paralelo, utilizaremos el
tipo de secuencia en
Grafcet llamada
«Bifurcación en Y»,
donde varias
secuencias funcionan
de forma
independiente pero
sincronizadas entre
ellas.
MO.O
Unidad 6 - Transferencia de datos y funciones matemáticas
MO.O N Acción asociada o
Acción asociada 11 Acción asociada 21 M3.l N
Acción asociada 31
Ml.l N M2.l N
Acción asociada 12 N
Eta dees
M3.2 N
Acción asociada 32
Ml.2 N M2.2
Acción asociada 33
M3.3 N
Ml.3
M3.4 N Eta dees ra
M0.1 N Acción asociada 1
Se observa cómo para acceder a las tres ramas simultáneas se deberá cumplir
únicamente la Transición_Entrada para que se activen en ese momento las tres
etapas iniciales de cada secuencia en Y, esto es, las etapas 11, 21 y 31, y se
desactive la etapa O. A partir de ahí cada secuencia evolucionará de forma
independiente pasando a la siguiente etapa al cumplirse la transición
correspondiente. Una vez la secuencia ha alcanzado su etapa final, en este caso
las etapas 13, 22 y 34, el Grafcet esperará a que estas tres etapas se encuentren
activas, indicando que las tres secuencias han finalizado. Será entonces cuando en
el momento de cumplirse la Transición_Salida se activará la etapa siguiente (1) y
se desactivarán de forma simultánea las tres anteriores, en este caso 13, 22 y 34.
Hay que vigilar para no cometer errores, ya que los dos ejemplos siguientes no
son válidos por incumplir el principio de evolución de un Grafcet de transición­
etapa-transición.
N Acción asociada 1
N Acción asociada 11 MZ.l N Acción asociada 21
M0.1 N Acción asociada 10 MO.l N Acción asociada 20
+T,,o.dón_30
6.3.2 Programa basado en diseño Grafcet
Para practicar con este tipo de secuencia vamos a plantear un ejemplo basado en
el simulador 3D, donde se desea controlar el movimiento de los dos
manipuladores, el de grabado y el de carga, de forma simultánea. Del
manipulador de grabado realizamos el control del cilindro de doble efecto
multiposicional grande, gobernado por una electroválvula monoestable, unido de
199
Unidad 6 - Transferencia de datos y funciones matemáticas
200
forma perpendicular a este cilindro se encuentra otro de doble efecto llamado de
marcado y gobernado por una válvula biestable. Del manipulador de carga
realizamos el control del conjunto formado por el cilindro del eje horizontal,
gobernado por una electroválvula biestable, y unido de forma perpendicular a
este encontramos otro cilindro, como es el de la ventosa, gobernado por una
electroválvula monoestable. Todos los cilindros disponen de sensores de posición
para los dos estados: reposo y avance. Además, se deberán indicar los diferentes
estados de funcionamiento mediante los pilotos de la baliza de señalización.
Manipulador de carga
Fig. 6.46
• Condiciones de funcionamiento:
- Al poner en marcha el sistema tendremos activado el piloto rojo (Q2.4), que
indica que el sistema se encuentra en reposo y totalmente detenido.
En ese momento, y para poner en funcionamiento el sistema, comprobamos que
los diferentes cilindros se encuentren en sus posiciones de reposo:
o Cilindro marcador arriba (11.4).
o Cilindro multiposicional grande dentro (11.2).
o Cilindro del eje horizontal a la derecha (10.6).
o Cilindro del eje vertical con la ventosa arriba (10.4).
Al accionar el pulsador de marcha (10.2), se pondrán en funcionamiento las dos secuen- '--'
ciasindependientes previstasparael control de los dosmanipuladores, que serán:
Secuencia 1 (manipulador de grabado):
o Se pondrá en funcionamiento el piloto verde (Q2.2) de forma
permanente, manteniéndose en marcha durante toda la secuencia de
movimientos.
o El cilindro multiposicional grande avanzará (adelante) (Q0.4).
o Cuando el cilindro multiposicional grande se encuentre en la posición de
avance (adelante) (11.3), el cilindro marcador iniciará el proceso de
avance (abajo) (Q0.6).
o Cuando el cilindro marcador se encuentre en la posición de avance
(abajo) (11.5), el cilindro marcador retornará a su posición de reposo
(Q0.7).
o Cuando el cilindro marcador se encuentre en la posición de reposo
(arriba) {11.4), será cuando el cilindro multiposicional grande retorne a la
posición de reposo (Q0.4), movimiento que realizará hasta detectar su
correspondiente sensor de posición (11.2).
--......:
)
'
'
'
'
'
'
'
)
)
Unidad 6 - Transferencia de datos y funciones matemáticas
o En este momento esperará a que finalice la secuencia 2 para pasar a la
etapa común siguiente. Esta situación quedará señalizada por el
funcionamiento del piloto verde (Q2.2) de forma intermitente (1 Hz).
- Secuencia 2 (manipulador de carga):
o Se pondrá en funcionamiento el piloto amarillo (Q2.1) de forma
permanente, manteniéndose en marcha durante toda la secuencia de
movimientos.
o El cilindro del eje horizontal avanzará hacia la izquierda (Q0.l).
o Cuando el eje horizontal alcance la posición de avance (izquierda) (10.7),
el cilindro de la ventosa avanzará hasta la posición inferior (Q0.0).
o Cuando el cilindro de la ventosa haya alcanzado la posición inferior
(10.5), el cilindro de la ventosa retrocederá hasta la posición de reposo
(arriba) (Q0.0).
o Cuando el cilindro de la ventosa haya alcanzado la posición superior
(10.4), el cilindro del eje horizontal retrocederá hasta la posición de
reposo (derecha) (Q0.2).
o En este momento esperará a que finalice la secuencia 1 para pasar a la
etapa común siguiente, esta situación quedará señalizada por el
funcionamiento del piloto amarillo (Q2.l) de forma intermitente (1 Hz).
Finalizadas las dos secuencias, el proceso se posicionará en la etapa inicial
(X0) y se desactivarán las dos secuencias de forma simultánea, el piloto rojo
(Q2.4) se pondrá en funcionamiento y el sistema quedará preparado para
realizar un nuevo ciclo.
• Desarrollo del Grafcet
A continuación se presenta el Grafcet que da respuesta al enunciado dado.
MO.O
201
Unidad 6 - Transferencia de datos y funciones matemáticas
202
En algún caso es posible que las etapas de espera de cada una de las secuencias
puedan ser la última etapa de cada una de ellas. En cualquier caso, debemos '­
mantener el concepto de eficiencia y ahorro energético, de forma que no quede '­
ningún dispositivo mantenido inútilmente con tensión. En este caso, la transición de
salida de las secuencias simultáneas correspondería a una condición ANO formada ,,__
por las condiciones de cierre de cada una de las secuencias.
Si aplicamos ese concepto en nuestra solución (Grafcet aportado anteriormente) y
realizamos la modificación, debemos eliminar las etapas 15 y 25, y las transiciones "---'.
de paso de las etapas 14 a 15 y 24 a 25, de forma que la transición de salida esté
formada por una condición ANO entre las dos condiciones de las transiciones
eliminadas. Además, debemos añadir una condición en la acción asociada a la etapa 24
con el objeto de no mantener la electroválvula (Q2.2) activada cuando ya no sea
necesaria mientras espera la finalización de otras secuencias simultáneas. Por ___,
tanto, tendríamos la siguiente finalización:
Ml.4
ElmarcadOfenposlci:>ndereposo(arriba)
( 11.4)
2.2
Piloto verde
M2.4
Elmultigrande enposici:>nde reposo(atr.b) 111.2) yEje horizontalenposiciónde reposo(derecha)(10.6)
Pero al eliminar las etapas de espera, también hemos eliminado la señalización
intermitente de los pilotos verde y amarillo que nos indicaba esa situación. Por ese
motivo, si las queremos incluir, debemos realizar una nueva modificación hasta '--'
obtener el siguiente diseño: '>---'
MlA
Elmarcadorenposici6ndereposo(arriba)
(11.4)
El multi(lrandeNOenposidónde reposo(a trás)(ll.2)
Elmultigr.mcle enposici:>nde reposo(más)(l1.2 )
ylntermltente(M8191.S)
NC f-"""•"'-
2
----,
PllO!o-.Erde
M2.4
La venlDsaenposidónde reposo(arriba)
Eje horizontalNOen posición
de reposo(derecha)(I0.6)
Eje horizorn:alenposiciór,derepos o(derecho1)(I0.6)
ylnterml tente(M8191.5)
NC 2.1
Pilo to amarilo
Elmull!¡ritn
de enposki6nde reposo(atrás)(11.2) yEje horizontalenposiciónde reposo(derecha) (I0.6)
Como se puede comprobar, el diseño del primer caso es más entendible y es el
concepto que cubrirá la mayoría de los casos, aún más cuanto más complejos y de
mayor envergadura sean los procesos. Por tanto, en este caso la solución de
programa que ofrecemos corresponde al diseño completo del Grafcet presentado
en primer lugar.
• Programa en diagrama de contactos
- Activación de etapas
'-'
'
'
'
'
1
'
'
'
'
'
'
'
·1
l
1
)
'
'
'
'
'"'
�
'
'
l
1
Unidad 6 - Transferencia de datos y funciones matemáticas
�1: --dfliK (T,t,<rS t f , Zl j�frt,¡,<)
.....
"ET#AO" "tl-"""'>W
wu
......
i----------; i----------; i----------; i----------; i----------; 1·1--
-·
"Ef,IW,ll"
·­
.....
-u,rAV
·-
Fig. 6.47
• Segmento '3: SEOJEN0.1.ActMlc:oónde W HNA1lyd
_
,_
,._
a•
_
•
_
,�
_
•
_
H
_
M
_
A_
U
________
...,.,
"ET-"A 12"
......
"fT.ltA 14"
....,.3
"ETN'A 13"
......2
;
S )--
�------------·-l
erw:�
Fig. 6.49
...,.5
"ET,«PA 1 5"
'.'�
�------------·_er....,
-1�:�
Fig. 6.51
.., Segmento 7: SECUH«)A.Z.Actrw<1Ción de la EW,..2lyt.l
_
,
_
..
_
w.
_
,
_
,�
_
.
_
,w
_
,
_
,,
________
W0.6
"83 bO
EHT
OSA
OOOECHA"'
""'2.3
"ETN'A23"
�------------·
_
er
-
..
;�
Fig. 6.53
!IM2.5
"ETN'A 25"
[3··
1 �"
...,.3
"ETN'A IJ"
'111.3
"88_d1 M.l.TI
GIW« Fl.8'K
..... .2
"ETN'A ll"
.....,
;
s )------<
._
____________
•E
-I
T".
A
�
....,
"B4__b1
191TOSA
IZQUEflllK
.....
"B1..,0
91TOSA
__,
"'ETN'AZS"
Fig. 6.48
...,..
"ETRA 14"
;s �
'IM1 .3
�------------
·e
....
r:
,.�
Fig. 6.50
""'2.2
"ElN'AZZ"
�--------------,�=
Fig. 6.52
Wl.A
"ETN'A24"
�------------'
-(
�
�
Fig. 6.54
IMJ.O
"fT/lf'AO"
t------< �----l t---�--------<S J--
1
�-------------
-er
-1
�
,
-
...,.,
"ETA'A 15"
>--------<• ,__
......
"ETN'AZS"
L--------1•,__
Fig. 6.55
N'A 1 1"
Activación de salidas
'IIQO.A
-,.;_
MJI.Jl"OSIOONM..
lr·1---------------------I S )------<
Fig. 6.57
N'A22"
'IIQO.O
"Y1_JIAJAR
fHTOSK
lr.2t---------------------1• �
Fig. 6.59
Fig. 6.56
• Segmento 12:
1 ...
'IIIQ0.6
�
¡
....
�2"-------------------
-
�
-i
�:_
Fig. 6.58
'IIQO.O
""'2.3 "Y1..BAIM
"•�
2_
r____________________
91T
-1R
os
�
Fig. 6.60
203
Unidad 6 - Transferencia de datos y funciones matemáticas
204
"IQ0.1
1M2 1 "n..>l'NTOS,
�·�
·,_
,·_________________
.
_
�
�
QU�
�t--
�.- ----------{
w:)0.2
"V3_/ENTOSA
ADEftECHA"
)---<
Fig. 6.61 Fig. 6.62
• Segffll!ntO 17: ._.nipuladot dt' tHgl.E� vertical. E.lecc.uov1l11U!1 b,rnabl" DHpla::mr I posiciónde duurga
• Segmento 18:
W)O•.(
"YS_
"!!1
....
-�.
_-_________________
....
�
7:. �.t---
·�,- --
w:)0.7
"'t'S_SUBIR
)---<
Fig. 6.63 Fig. 6.64
• Segmento 19: Piloto dr sef11i:ti:zaci6n 1m1riUo
________ • Segmento 20: Pilcto � s.e�aliación �rdr
....,_,
"fTAPA 21"
""'2.2
"ETAPA 22"
""'2.3
"ETAPA 23"
....,_.
"ETAPA 24º
'IM2.>
"ETAPA 25"
'IM8191.S
"Clocl<_1Kz"
'JIQ2.1
"I-O_AMARH.1.0"
......,
"ETAPA 11"
......,
"ETAPA 12"
'IMt .3
"ETAf'A. 13"
.......
"ETAPA 14
º
......,
"ETAPA 15"
'IM8191.5
"Cloc:k.._1H2"'
91Q2.2
º
H
l_VE
R
DE"
)---<
Fig. 6.65 Fig. 6.66
• Segmento 21: filoto de sefiefüación raJo
1 .::,1º 'liQ2.4
�
APA
I-
. o
_
· -----------------
•
-I
H
3_
R�
Fig. 6.67
Activación de la etapa inicial
En el OB100 se debe programar la activación de la etapa inicial y la
desactivación del resto de etapas del Grafcet:
'IM81 90.0
•FirstSca n·
'IMO.O
"ETAPA o•
f---r---------------------i S )-------,
'IM1 .1
"ETAPA 1 1 "
1---------------------{RESET
_BF )-,
'IM2.1
"ETAPA 21 "
L---------------------{RESET
_BF )-,
5
Fig. 6.68
Llamada desde el OB1 a la función FCl dondetenemos el programa
Segmento 1 : Llamada a la función d'°I progra ma
1 -Secuencia
�Simultanea•
� EN ENO --------------------< Fig. 6.69
• Comprobación del funcionamiento con maqueta de simulación 3D
Para realizar este ejercicio tan solo hemos de utilizar el pulsador MARCHA del
panel Control del proceso para controlar el funcionamiento de todo el proceso:
�
'-./
'--.,/
'-....,,
''-"
'---'
�
'--
'-....,,
.__,/
�
'-._:'
'-...,·
'-'
'-'
'----
__,
.__,/
'---
'-...,/
�
'
1
'
1
1
1
1
'
1
1
1
1
1
1
1
'
'
'
Unidad 6 - Transferencia de datos y funciones matemáticas
(i, ll II r. tiJ·
&ERGENCIA PARO MAROIA Atn"MAPt ACk MJ.
11 11 11 ■ 11
Fig. 6.70
Observaremos en el simulador 3D cómo al accionar el pulsador de marcha, los dos
manipuladores se pondrán en funcionamiento de forma simultánea. También
observaremos el funcionamiento de los pilotos de la baliza indicando el estado
actual del proceso.
Fig. 6.71
6.3.3 Grafcet paralelos y sincronización de Grafcet
Cuando realizamos un diseño Grafcet con secuencias simultáneas, también
podemos optar por realizar cada secuencia en un Grafcet diferente y mantener
uno principal que será el que se encargue de la coordinación del resto de
Grafcets.
Por ejemplo, si partimos del diseño del Grafcet del apartado 6.3.1, donde había
tan solo un único Grafcet que incluía tres secuencias simultáneas, a continuación
presentamos los diferentes Grafcet paralelos que dan respuesta a ese mismo
diseño:
Grafcet principal:
N Acción asociada O
M0.1 N t-------1
M0.2 N Acción asociada 2
205
Unidad 6 - Transferencia de datos y funciones matemáticas
Ml.1
Ml.2
Ml.3
206
Grafcet secuencia 1 Grafcet secuencia 2 Grafcet secuencia 3
Acción asociada 31
M2.1 N Acción asociada 21
N Acción asociada 12 N Acción asociada 32
Et�aX2
M2.2
Etapa X2 N Acción asociada 33
Para indicar la dependencia de uno respecto al otro, se utiliza en el Grafcet que
sea necesario el número de etapa del Grafcet del cual dependa. Para eso
usaremos la expresión «X + número de etapa», por ejemplo «X20».
En la puesta en marcha, todas las etapas iniciales se pondrán en funcionamiento
de forma automática (es decir, las etapas O, 10, 20 y 30) y a partir de ahí cada
Grafcet irá evolucionando a su ritmo.
El Grafcet principal será el que dará la orden de cuándo deben iniciar la evolución
del funcionamiento los otros tres Grafcets correspondientes a las tres secuencias
a realizar. En este ejemplo, cuando el Grafcet principal se encuentre en la etapa 1,
será cuando la primera transición de los Grafcets de las secuencias se cumpla y
por tanto se iniciará su evolución de forma paralela pero independiente. Y cuando
estos tres Grafcets hayan finalizado su recorrido, se irán posicionando en sus
correspondientes etapas de espera, como son 13, 22 y 34. Únicamente cuando
estas tres etapas se encuentren activadas, será cuando se cumpla la transición de
paso de la etapa 1 a la etapa 2 del Grafcet principal, pasando entonces este a
continuar su evolución particular. Cuando se encuentre en la etapa 2, dará paso a
que se cumplan las transiciones que harán que se inicien los tres Grafcets de
secuencias para estabilizarse en sus etapas iniciales, 10, 20 y 30, que esperarán
una nueva orden desde el Grafcet principal para realizar un nuevo ciclo.
La espera a que se cumpla la transición de un Grafcet por la activación de una
etapa de otro Grafcet se conoce como sincronización entre Grafcets, de forma
que el control del proceso sea completo.
6.3.4 Programa basado en diseño Grafcet
Para practicar con este tipo de secuencia vamos a utilizar el mismo ejercicio
basado en el simulador 3D del apartado 6.3. De esta forma, podemos comparar
las diferencias entre estos dos sistemas.
V
V
J
'
'
'
'
'
1
'
'
'
1
'
'
Recuerda • • •
El tipo de secuencia
conocida como
«Bifurcación en Y»
puede ser sustituida
también por varios
Grafcets
independientes, uno
por cada secuencia,
pero, que puedan
estar sincronizados
entre ellos. Esto se
conoce como
Grafcets paralelos.
Unidad 6 - Transferencia de datos y funciones matemáticas
• Desarrollo del Grafcet
A continuación, se presentan los Grafcets que dan respuesta al enunciado dado.
Observamos que aparecen tres, uno de ellos principal:
Grafcet principal
Y otros dos que corresponden cada uno a una de las secuencias, donde
encontramos en la primera y en la última transición de cada una de ellas el
concepto aplicado de la sincronización entre estos Grafcets y el Grafcet principal.
Grafcet secuencia 1 Grafcet secuencia 2
MO.O
2.2
Piloto verde M2.1
2.2
Piloto verde
2.2
Piloto ...erde M2.3
2.2
Piloto verde
ln
termiten
te (M8191.S)
NC .2
Piloto verde
M2.S
• Programa en diagrama de contactos
Activación de etapas
.1
Piloto amarllo
2.1
Piloto amar11o
2.1
Piloto amarllo
2.1
Piloto amarllo
ln
termiten
te (M8191.S)
1---------+ NC f-"""
2."
1_____
Piloto amarllo
207
Unidad 6 - Transferencia de datos y funciones matemáticas
208
Fig. 6.72
• Segmento 3: SEC.UfNOA1.Attivaci6n de 11 ETAPA 1 ydesactivación E.TAPA 10
µ··
1
�'" 'IM).1
"ETN'A 1"
,..,_,
"
E
TN'A 1 1 "
;
s
)-------<
--•
�-------------
-E-{
T7RA�
Fig. 6.74
• Segmento 5: SLC.UfNCIA 1. Activación de ta fTAf'P.3yde�activatión lTN'A 12
__2
"ETN'A 1 2"
..,.s
"810_el
tJ.'ICJOOR
!BAJO"
'1111.2
"B7_d0 MULTI
GIW/Df
DfNTRO"
,..,_,
"ET.aPA 13"
�-------------
-E-<
��
Fig. 6.76
--•
'ETH'A15'
,..,_,
;
s
)-------<
�-------------
-ET
-i
�
A
�
Fig. 6.78
• Segmento 9: INIOO SlCUENClA2. Ac:tivetióndr la ETAPA22ydeuctJv.ci6n [T¡IJ'A2l
�-·
1
�- 'IMJ.1
"ETN'A 1"
__,
"ETN'A21"
--•
;
S
)------<
�-----------·--i
n7:�
Fig. 6.80
• Segmento 11: SEC.UfNOA2. lctivac,ónde lt EWA23yck'uc.liYtción f.WA22
�
--2
1
-� W0.5
"B2_a1
�NTOSAMAJO"
"83 bO
""'2.3
"I
T
N'A.23"
L-------------
-"
-1
�
�
Fig. 6.82
,M'lA .ENTOSA Wi(Z.5
r 11:'
0.6
�•�
2-
•·---
°'"'
-I CH
�
•
-
- --,------------
•fT
--(
W
;
:;:__
......
L.,_
___________
•ET
-{�
A
;_
Fig. 6.84
µ-·'
1
_, ...,..
"ETN'A 1 5"
......
"ETN'A25"
Fig. 6.73
...,_.
"ETN'AO"
;
s
)------<
'IMl.1
�--------{
•n:A�
• Segmento 4: SECUI.NCIA 1.kt11r1c16nde la ETAPA l2 ydt-ucu,
..ci6ntTN'A11
lr·'
1
�" W1.3
"BS_dl MJLTI
GP.,INOf FUE.RA"
....,.,
"ETN'A 12"
;
s
)------<
...,_,
�-----------·--t
ET�
A
�
Fig. 6.75
• Segmento 6, muENCJA t """'"'" '• • <WA 1' ydm,omi6nt1AP>t,------� '-.../
'!iMl.3
"ETN'A 13"
..,...
"B9_e0
"""°"""
,...... ...,_,
"ETN'A 1-4"
<IMl.3
;
s
)------<
�------------
·E
-i
T�
A
�
Fig. 6.77
• Segmento 8: flN'JLS[CtJlNCJJ1.Attrv1c16n dl' l1 EWA 10de e�pu• ydtuctivtnón t:TAf'A,s
µ··
1
_., ...,..
"ETN'AO"
"""·
º
"ETN'A 10"
;
s
)------<
'IMT.5
�------------
-
E
-{
T
�
A
�
Fig. 6.79
• Segmento 10: lNIOOSHUEJf0112.llrn,•o6fllH' l• E"WA22ydeuctiw-ci6nf.WA21 ___ __ ___
"B-4_bl
r ""'·'
":
t-
·;_
,·___�
_
�
, os..,•_
•·-�-----------·-<
¡:
;
:�
...,_,
�-----------·rr
....�
A
�
Fig. 6.81
• Segmeoto l2: Sf.CUf.HUl2 Activación de !t f.WA2-4yd
_
,._
"
_
»
_
•-
-
"
-
"
-
'-
"--------
"B1 ao
'IMZ.3 1.tNTOSA 'W2.4
r ""'-'
�,,.
,,
_·___.....
_, �
•·-�------------
-rr
-t
w
;
t;_
'IM2.3
�-----------•--<
ET�
A
�
Fig. 6.83
• Segmento 14: Mtiv,ci6nde lt ET11f'A20yde�•c.�ción de t1 f.TN'A25
µ
-5
1
_,, ...,_.
"ETN'AO"
--•
"ETN'A20"
;
s
)------<
"""'·'
L------------•--t
fT':
A
;:__
Fig. 6.85
V
J
'
'
'
'
'
'
'
'
'
'
'

'

'
'
'
'

'
'
"
'
Unidad 6 - Transferencia de datos y funciones matemáticas
,.,...,,.
Activación de salidas
W)0.4
"Y5_
W.Tf'OSIOONI<
--
�'
1-------------------�•>----
,.. $eg�nto 17: liA!lipuladC!tdt c1rg1 f¡e, Yfcrtu:.
,=¡g:as:at
ruble Oupl1:u1 po&i(i6ndt C!HUl"QI
W)O.O
'IM2.2 "Yl_BAJJift
H'A22" E.NTOSA"
1-------------------�•>----
Fig. 6.88
• Segmento 9: Mt,rupul1de.rdt c1,g:1 f.Jt vel'bUI. Utcttc,1"-'db biuuble DHpl1:_,1 pb$ic16n de dt�u,ga
W)O.l
w.c2.1 "Yl.._ENTOSA
,,.1--
,_
,.__________________._
ª�
��
Fig. 6.90
'AQ0.4
"Y5_
�..
�_
•._________________....
_
Tl'OS
_,
�
Fig. 6.92
• Segmento 23: Piloto dr ,r�al�ción amarillo
.....,
•EWA2t"
'IM2.2
"ET,IJ>A22"
1'12.3
"ETN>A .23"
'IM2.4
"EWA24"
1'12.5
'E
w
...2s·
"'IM8191.5
"Ooc�1Ht
A
Fig. 6.94
• Segmento25: Pilotodr u•l'!al,>ci6nrojo ________
µ...•._._________________._"�
..-��
• Segmento 16:
'IQD.6
W1.2 "fl_Bl,JJfl
"'1--
'-
'"--------------------
WKJ00
-1 �
Fig. 6.89
• Segmento 20: Mlr11p1.d1dor de urga E1evertical EJei:trovalll.lla b1tm1blt.0Hp1a::ar a pco1ici6n de duurga
'IQD.2
'IM> • "Y3_tNTOSA
N'
A
..
·2
_
,•
____________________
A
_
DE
.,
Pi
�
Fig. 6.91
'IQD.7
W1 3 'YB_SUBIII
N'
A
l-
0
1_
3·
--------------------WKJOOR'
-; }-----<
Segmento 24: Piloto de ,e�ali.ac:ión verde
'IMU
Fig. 6.96
"E.TN'A. 11"
1'112
ºEWA. 12"
1MU
"EWA 13º
'IM1 .4
ºETN'A Hº
,.,,..
º
EWA 15º
Fig. 6.93
Fig. 6.95
'IQ2.2
ºH1_IE.ROEº
Activación de la etapa inicial
En el OB100 se debe programar la activación de la etapa inicial y la
desactivación del resto de etapas del Grafcet:
'IIMl190.0
ºfirstScan·
'IIMl.O
"HN'AO'
i--�------------------- s >----,
"'"·º
ºHN'A 10'
1---------------------1 S >----,
,W:Z.O
'HH'A 20'
'---------------------f s >----, Fig. 6.97a
209
Unidad 6 - Transferencia de datos y funciones matemáticas
'IM8190.0
•FirstSca n•
'IM0.1
"ETAPA 1 "
1--------------------� RESET
_BF }-<
'IM1 .1
"ETAPA 1 1 "
t-------------------1 RESET
_Bf }-<
5
'IM2.1
" ETAPA 21"
�------------------¡ RESET_Bf }-<
5 Fig. 6.97b
Llamada desde el 0B1 a la función FCl donde tenemos el programa
Segmento 1 : Lla mada a la función del progra ma
�
EN
"Gnlfcets ponilelos"
ENO -------------------t Fig. 6.98
210
J
_,/
'-.J
"I
'""'
'
'
'
'
'
)
'
'
Unidad 6 - Transferencia de datos y funciones matemáticas
Ejercicio
CARGA DE PIEZAS EN PALETS
Tenemos que controlar la carga de piezas que nos aparecerá en la estación de recogida del
manipulador de carga, de forma que las vayamos poniendo en cada uno de los palets, para que
posteriormente la cinta transportadora las traslade a una nueva estación.
Lo primero que hemos de hacer es colocar una pieza en la estación de recogida del manipulador de
carga. Para ello, en el momento preciso se deberá accionar el pulsador PONER PIEZA del simulador
3D. Podemos colocar hasta un total de cuatro piezas y una vez agotadas estas, debemos pulsar el
botón INICIALIZA para volver a tener disponibles otras cuatro nuevas piezas.
El llamado manipulador de carga está formado por dos cilindros unidos en perpendicular: uno que es
el eje horizontal controlado por una electroválvula biestable para el traslado desde la estación de
carga hasta la posición del palet, y el otro cilindro, controlado por una electroválvula monoestable,
que es el que recoge y suelta la pieza con ayuda de una ventosa unida en su extremo que trabaja con
una electroválvula monoestable.
Condiciones de funcionamiento:
Grafcet o secuencia principal:
• Al poner en marcha el sistema, se pondrá en funcionamiento el piloto rojo.
• Al accionar el pulsador de marcha, se dará la orden a las dos secuencias (cinta transportadora de
palets y manipulador de carga) para que puedan iniciar su evolución.
• Cuando las dos secuencias hayan finalizado, el Grafcet se posicionará a su etapa inicial, con el
piloto rojo funcionando, y dando la orden a las dos secuencias para que también se posicionen al
inicio, de forma que el sistema quedará preparado para iniciar un nuevo ciclo.
• Cuando el sistema se encuentre totalmente detenido al inicio, al accionar el pulsador de reset del
panel Registros de pedido y contaje pondremos a cero el registro de contaje PROCESADAS SIN
GRABADO.
Secuencia 1. Control del motor de la cinta transportadora de palets:
• Al poner en marcha el sistema, no realizará ninguna acción y esperará la orden del Grafcet
principal.
• Cuando reciba la orden del Grafcet principal, esta secuencia iniciará su evolución y se activará el
piloto verde que funcionará durante todo el proceso.
• Una vez que el motor de la cinta de transporte de palets está funcionado, tenemos tres
alternativas:
o Que el palet llegue a la zona de carga. En este momento se detendrá el motor que
controla la cinta transportadora.
o Que accionemos el pulsador de paro, con lo cual el motor se detendrá, estado que se
indicará mediante la activación del piloto verde de forma intermitente rápida (f= 2 Hz).
Para volver a poner en funcionamiento el motor, se deberá accionar de nuevo el pulsador
de marcha.
o Que haya una avería en el motor y el disyuntor se dispare. En este caso se desactiva el
piloto verde y se activa el piloto amarillo de forma intermitente (f= 1 Hz). Cuando se
rearme el disyuntor, se deberá además accionar el pulsador ACK y en ese momento dejará
de funcionar el piloto amarillo intermitente y el motor volverá a ponerse en marcha
conjuntamente con el piloto verde.
211
Unidad 6 - Transferencia de datos y funciones matemáticas
212
• Una vez se haya depositado la pieza en el palet, se deberá volver a poner en marcha la cinta de
'--'
transporte hasta que deje detectar el sensor de palet y hayan transcurrido 5 segundos. '-"
• Pasados los 5 segundos, la secuencia se da por finalizada, lo que queda indicado mediante la �
activación del piloto verde, pero en este caso de forma intermitente lento (f = 1 Hz).
• Cuando el palet haya marchado de la posición de detección en la estación de carga, deberá ir
contabilizando en el registro PROCESADAS SIN GRABADO el número de palets completados con
�
piezas. Utilizar para ello la instrucción ADD. '-"
• Cuando las dos secuencias hayan finalizado, el Grafcet principal dará la orden para que estas se J
posicionen a su etapa inicial.
Secuencia 2. Manipulador de carga de piezas:
• Al poner en marcha el sistema, no realizará ninguna acción esperando la orden del Grafcet
J
principal. '--'
• Cuando reciba la orden del Grafcet principal, esta secuencia iniciará su evolución, activando el '-"
piloto azul que funcionará durante todo el proceso si se cumplen las condiciones iniciales, que '--'
son:
o Cilindro eje horizontal en reposo (derecha).
o Cilindro eje vertical de la ventosa en reposo (arriba).
o No existe ninguna pieza sujetada por la ventosa.
o No se detecta pieza en la posición de recogida.
• El proceso esperará a detectar una pieza en la posición de recogida, para lo que se pulsará el
J
'--'
botón PONER PIEZA del simulador 3D. '-"
• Cuando se detecte la pieza en la posición de recogida, el cilindro vertical de la ventosa se �
trasladará a la posición de avance (abajo).
• Cuando el cilindro vertical de la ventosa esté abajo, se activará la ventosa para generar el vacío y
de esta forma sujetará la pieza.
• Cuando la pieza esté sujeta, lo que se indica mediante el detector de vacío, el cilindro vertical de
la ventosa se trasladará a la posición de reposo (arriba).
v
• A continuación, al alcanzar el cilindro vertical la posición de reposo, el cilindro del eje horizontal '--'
se desplazará a la posición de avance (izquierda).
• Cuando el cilindro del eje horizontal se encuentre en la izquierda y se detecte un palet en zona de
carga, el cilindro vertical de la ventosa se trasladará de nuevo a la posición de avance (abajo).
• Cuando el cilindro vertical de la ventosa se encuentre abajo, se debe liberar la pieza sujeta, con lo
que esta quedará encajada sobre el palet.
'-J
J
• Cuando se detecte que la pieza ha sido liberada y no detecte vacío, el cilindro vertical de la '--'
ventosa se trasladará de nuevo a la posición de reposo (arriba).
• Cuando el cilindro vertical de la ventosa alcance la posición de reposo (arriba), el cilindro del eje
horizontal se desplazará a la posición de reposo (derecha).
• Cuando el cilindro del eje horizontal alcance la posición de reposo (derecha), se puede decir que
la secuencia ha finalizado, pasando el piloto azul a funcionar de forma intermitente (f = 1 Hz).
,-._.,I
• Cuando las dos secuencias hayan finalizado, el Grafcet principal dará la orden para que estas se '--­
posicionen a su etapa inicial.
'
'
'
'
'
'
)
'
'
'
'
'
'
Unidad 6 - Transferencia de datos y funciones matemáticas
Fig. 6.99
Relación de entradas y salidas:
ENTRADAS SALIDAS
Dirección Dispositivo Direcciór Dispositivo
10.1 S1 Pulsador de paro Q0.0 Yl EV Bajar brazo con ventosa
10.2 S2 Pulsador de marcha Q0.1 Y2 EV Cilindro horizontal va a la izquierda
10.4 B1 El brazo con ventosa está arriba Q0.2 Y3 EV Cilindro horizontal va a la derecha
10.5 B2 El brazo con ventosa está abajo Ql.0 Y9 EV Hace vacío en ventosa
10.6 B3 El brazo horizontal está en la derecha Ql.1 KlM Motor de la cinta de los palets
10.7 B4 El brazo horizontal está en la izquierda Q2.1 H0 Piloto amarillo
12.0 B11 Hay pieza sujeta en la ventosa Q2.2 Hl Piloto verde
12.4 B15 El palet está en zona de descarga Q2.3 H2 Piloto azul
13.0 F2 Disyuntor motor cinta palets Q2.4 H3 Piloto rojo
13.1 SS Pulsador ACK
REGISTRO DE CONTAJE
Dirección I Dispositivo
MW7016 1 Procesadas sin grabado
Realizar:
• Diseño de los Grafcets necesarios para dos soluciones diferentes:
o Mediante secuencias simultáneas.
o Mediante Grafcets paralelos o dependientes.
• Implementación en ambos casos del programa en el PLC.
• Comprobación del funcionamiento mediante la maqueta de simulación 3D.
213
J
J
V
_/
)


)
Unidad 7 - Programación estructurada
Unidad 7 Programación estructurada
.t�=-=:·_-
__..._.._..._-_.._____
�--�--------�
En este capítulo:
7.1 Introducción a la programación estructurada
7.2 Tipos de bloques
7.2.1 OB. Bloques de organización
7.2.2 FC. Funciones de llamada
7.2.3 FB. Bloques de función
7.2.4 DB. Bloques de datos
7.3 Tipos de llamadas a los bloques
7.3.1 Llamadas a bloques sin parámetros
7.3.2 Llamadas a bloques con parámetros
7.4 Protección know-how de bloques FC y FB
7.4.1 Protección de un bloque FC o FB
7.4.2 Desprotección de un bloque FC o FB
7.4.3 Cambiar la contraseña de un bloque FC o FB
protegido
7 .5 Programación en Grafcet {VI)
7.5.1 Estructuración de programas en bloques
7.5.2 Macroetapa
7.5.3 Programa basado en diseño Grafcet
Ejercicio propuesto
215
Unidad 7 - Programación estructurada
Recuerda • • •
La programación lineal
es aquella en la que
todo el programa se
introduce en un mismo
bloque. Tan solo es
válida para programas
sencillos y cortos.
Recuerda • • •
La programación
estructurada es
aquella en la que el
programa se divide en
diferentes secciones,
de forma que cada
sección se pueda
programar en bloques
diferentes. Uno de esos
bloques es el principal,
que tiene la función de
ir organizando qué
bloque se ejecuta en
cada momento. Se
utiliza para cualquier
tipo de programa.
216
7.1 Introducción a la programación estructurada
Antes de introducir el programa a través de la plataforma correspondiente, en
este caso TIA Portal, realizaremos el diseño del programa. En ese momento
podemos decidir entre dos modelos de programación:
o Programación lineal: es aquella en la que todo el código del programa se
escribe en un único bloque y que, por tanto, el ciclo de sean lo recorrerá
siempre de forma completa.
o Programación estructurada: es aquella en la que el código está distribuido en
diferentes bloques, de forma que se puedan ir ejecutando en caso de que sea
necesario. Además, esos bloques pueden ser llamados varias veces desde
diferentes lugares con lo que logramos que el programa tengaciertas ventajas:
- Se simplifica la organización del programa.
- Los programas de gran tamaño se pueden programar de forma más
entendible.
- Se consiguen ciclos de sean adaptados a lo que en ese momento tenga
que funcionar.
- Podemos reutilizar bloques de programa para otros proyectos.
- Se pueden estandarizar determinadas partes del programa
programándolo en un bloque.
- Las modificaciones del programa se pueden ejecutar más fácilmente.
- Se simplifica el test del programa, ya que puede ejecutarse por partes.
- Se simplifica la puesta en servicio.
0B1
Programación Lineal
Fig. 7.la
0B 1
Programación Estructurada
Fig. 7.lb
En esta unidad vamos a estudiar cómo realizar programas de forma estructurada,
por lo que, además de utilizar diferentes bloques, también usaremos diferentes
instrucciones para realizar las diferentes llamadas a estos.
7.2 Tipos de bloques
Los diferentes tipos de bloques con los que se puede trabajar son 0B, FC, FB Y DB:
o 0B. Bloques de organización.
o FC. Funciones de llamada.
,.__J
'
'
'
' ,
' Recuerda • • •
Para la organización
' de un programa
1 estructurado se utilizan
diferentes bloques,
r--.,. como son:
• OB. Bloques de
organización.
1 • FC. Funciones.
• FB. Bloques de
� funciones.
, • DB. Bloques de datos.
1
Unidad 7 - Programación estructurada
o FB, Bloques de funciones.
o DB. Bloques de datos.
El número máximo de bloques direccionables es de 1 a 65535. No hay ninguna
restricción, únicamente depende del tamaño de la memoria de trabajo.
También se pude trabajar con bloques FC, FB y DB, pero de sistema:
o SFC. Funciones de sistema.
o SFB. Bloques de funciones de sistema.
o SDB. Bloques de datos de sistema.
Estos son bloques que dispone cada CPU cargados de fábrica (firmware) y que el
usuario puede utilizar pero no modificar. No se han de enviar a la CPU, puesto que
ya están cargados.
7.2.1 OB. Bloques de organización
Los bloques OB, llamados bloques de organización, pueden ser programados por
el usuario, pero se ejecutan bajo un evento asociado y asignado por el propio
sistema operativo del PLC (en el caso de la CPU 1214C, dispone de 13 tipos de
bloques de organización, mientras que la CPU 1512C dispone de 20 tipos). Los
podemos seleccionar en el momento de añadir un nuevo bloque al programa,
apareciendo la siguiente ventana en la que se ofrece una breve descripción
cuando seleccionamos cada uno de ellos:
•
Bk>que de
org1r10ld6n
, •.
llfot¡_.
dl' lmnón
•
> t.Ms lnfonnaclón
e Progr,m c.><le
• sanup
• lime del,ymtrmipt
• C)<lic inn-mipt
· H•rd-� intrm.1pt
• l!mr l!ROI' intrrrupt
• o.,gnoi.tx: rrror intemipt
• f'uH or plug ofmoduie,
- �clt or u1tion itilu�
• 11me ofd1y
• stnus
· Upd•tr
. f'foile
Fig. 7.2
Veamos de forma breve algunos:
ICOP
Núm•ro
Q m1nu1t
i';) 1utom,tic:o
Dru:npt.ión
1MOfl <lf"1irln�P pm<c•i.ar•cicltt:1mt<rltr
Los.06 dP ciclo son bloquei. lógicru.de
DIUeniupenof t'At'I Progt'lffll, en losquf'
s.rpllt'drnp,ogr,;m1rini.trutcionH, o O.mar
otroi.bloq=s.
o 0B 1: bloque de funcionamiento cíclico, es decir, que se ejecuta en cada
ciclo de sean. Este bloque debe estar siempre programado, pues hace de
subrutina principal en la que se inician todos los programas y que a partir
de él se pueden realizar saltos a otros bloques.
o 08 20: bloque de alarma de retardo. Los OB de retardo sirven para
ejecutar una acción un tiempo después de que produzca un evento. No se
repiten automáticamente, por lo que necesariamente deberemos de
volver a lanzar la llamada desde el código de nuestro programa.
217
Unidad 7 - Programación estructurada
Recuerda • • •
Los bloques de
organización, OB, se
ejecutan de forma
automática cuando se
cumple el evento que
tiene asociado.
218
o 0B 30: bloque de ejecución cíclica. Los 08 de ejecución cíclica son bloques
llamados a intervalos regulares de tiempo por el sistema operativo del
PLC. Para que se produzca la llamada a los mismos, el único requisito es su
existencia dentro de la memoria del PLC. El periodo de tiempo para las
llamadas a los 08 de ejecución cíclica es parametrizable desde la
configuración de hardware.
Agregar nuevo btoque
Nombre:
Mlin_1
Bloque de
organización
• Prog,am qcle
• starwp
• líme- del1y interrupt
• cytlic interrupt
• Hardwa re interrupt
• l'ime error interrupt
• Di19nostic emir interrupt
• Pul! o,plug ofmodules
• Reck or station failure
• Programming error
• 10 access error
• líme ofday
• MC-lnterpolator
• Me-Servo
. MC-f'reSelVO
• K.PostServo
• S)flchronous ()ele
• su.tus
• update
• Profile
LenguaJt':
Número;
Ot>scripci6n:
Q Ml!lnual
@ Automático
Los 08 de delo a procesa n cíclicamente.
Los 08 de e.ido son bloques lógicos de
orden superioren el programt, en los que
se pueden programar inuruc:c,onu o llamar
otros bk,ques.
o 0B 40: bloque de alarma de proceso. Determinados módulos de función,
módulos de entradas analógicas o módulos de contadores de alta
velocidad, son capaces de generar alarmas de proceso que detienen la
secuencia de programa del PLC, realizan un salto a la 08 asociada a los
mismos. Dentro de dicho 08 se debe programar el código asociado al
evento que generó la alarma de proceso.
o 0B 80: bloque de error de tiempo, que se ejecuta únicamente cuando el
tiempo del ciclo de sean supera el tiempo configurado (Watchdog).
o 0B 100: bloque que se ejecuta únicamente al inicio del primer sean.
La capacidad máxima de programación de cada uno de ellos viene limitada por la
cantidad de la memoria de trabajo.
Estos bloques se ejecutarán durante un único sean en el momento de producirse
el evento asociado a cada uno de ellos, interrumpiendo así la ejecución del
programa de forma instantánea y no volviéndose a ejecutar hasta que de nuevo
se vuelva a producir el evento asociado.
7.2.2 FC. Funciones dellamada
Las funciones FC, según IEC 1131-3, son bloques lógicos sin memoria. Una función
ofrece la posibilidad de transferir parámetros en el programa de usuario. Por ello,
las funciones son adecuadas para programar funciones complejas que se repiten
con frecuencia, por ejemplo, cálculos. Tiene la posibilidad de poder direccionar
desde O a 65535 FC el programa que se desee incluir en cada uno de ellos,
únicamente está limitado por la capacidad de la memoria de trabajo.
1

í

'
"

"
'






í






1
·í





'

Recuerda • • •
La principal diferencia
entre una función FC y
un bloque de función
FB es que este último
está unido a un DB de
instancia que le hace
mantener memorizado
el estado de las
variables configuradas.
Recuerda • • •
Los bloques de datos
son bloques, pero no
de programa, en los
que podemos registrar
tanto estados de
variables como datos.
Existen dos tipos:
• DB global.
• DB de instancia.
Unidad 7 - Programación estructurada
Una función contiene un programa que se ejecuta cada vez que la función es
llamada por otro bloque lógico. Las funciones se pueden utilizar para los
siguientes fines:
o Devolver valores del resultado de la función programada al bloque
llamador, por ejemplo, en funciones matemáticas.
o Ejecutar funciones tecnológicas, por ejemplo, controles individuales con
operaciones lógicas binarias.
o Una misma función también se puede llamar varias veces en diferentes puntos
de un programa. Esto facilita la programación de funciones de uso frecuente.
7.2.3 FB. Bloques de función
Los bloques de función FB son bloques lógicos que depositan sus parámetros de
entrada, salida y entrada/salida de forma permanente en bloques de datos
instancia, DBi, de modo que siguen estando disponibles después de editar el
bloque. Por eso también se denominan «bloques con memoria».
Los bloques de función también pueden funcionar con variables temporales. No
obstante, las variables temporales no se almacenan en el DB instancia, sino que
únicamente permanecen disponibles durante un ciclo.
Tiene la posibilidad de poder direccionar desde O a 65535 FC el programa que se
desee incluir en cada uno de ellos, únicamente está limitado por la capacidad de
la memoria de trabajo.
Los bloques de función contienen subprogramas que se ejecutan cada vez que un
bloque de función es llamado por otro bloque lógico. Un bloque de función
también se puede llamar varias veces en diferentes puntos de un programa. Esto
facilita la programación de funciones de uso frecuente.
7.2.4 OB. Bloques de datos
Los bloques de datos DB, son bloques en los que podemos guardar valores del
programa. Se distinguen dos tipos de bloques de datos:
o DB global: configurados por el usuario y de aplicación general.
o DB de instancia: asociados a funciones FB y de configuración automática.
Tiene la posibilidad de poder direccionar desde 1 a 59999 DB el programa que se
desee incluir en cada uno de ellos, únicamente está limitado por la capacidad de
la memoria de trabajo.
7.3 Tipos de llamadas a los bloques
Nos podemos encontrar con diferentes situaciones en el momento de realizar una
llamada a un bloque, ya que este bloque puede ser con o sin parámetros. En este
apartado vamos a ver las diferentes posibilidades de programación para realizar
las llamadas a cualquier bloque FC o FB dependiendo del lenguaje utilizado y de si
contiene o no parámetros.
219
Unidad 7 - Programación estructurada
220
7.3.1 Llamadas a bloques sin parámetros
Las llamadas a bloques FC o FB sin parámetros se pueden realizar de forma:
o Incondicional: sin condiciones para su ejecución.
o Condicional:con condiciones para su ejecución.
Veamos con ejemplos como sería su aplicación; para ello, lo primero que tenemos
que hacer es crear nuevos bloques.
• Aplicación utilizando una función FC sin parámetros
Seleccionamos la opción Agregar nuevo bloque que encontramos dentro del
árbol del proyecto y dentro de la carpeta Bloques de programa:
-
0 0
• J-----1
,.__
·-­
.. .........,-rui-,nc---
,,�......-
·--
.. .,¡ .....,._
·••""11
•-.IIWI...
............._
·•�,_.,_
,.,,__
. :;....-,u:
, ;....,..•-•u
, ;;..,.._........_,,,_,__
.................
,._,..____
.. .........'-4_
lti••-·-
...-......
• · l(t,.1k-'IU"«laQIW
, ,ii.•­
• 'li'.......,_""..._
. ·:.:::=-
Fig. 7.3
· -
• iil<........._
• fioi�.....�
. �.....,.__,_..,
Realizando una doble pulsación sobre esa opción, nos aparece una ventana en la
que seleccionamos el botón correspondiente a Función FC y donde podemos
completar los siguientes campos:
Fig. 7.4
Nombre:para asignar un nombre simbólico a la función creada.
Lenguaje: para seleccionar el lenguaje que vamos a
utilizar en su programación, aunque posteriormente lo
podemos modificar. Al desplegar el campo, podemos
elegir entre KOP, FUP y SCL para el 57-1200, mientras
que para el 57-1500 se amplía con el AWL:
lKOP
h:i
flJP
SCL
Fig. 7.5
1�¡
.___,,
.___,,
'-./
'-../
'--"
.___,,
'----'
'-"
...__,,
'---'
'--./
1
1
'
'
'
'
'
1 ,
'
"'
1
Unidad 7 - Programación estructurada
Número: corresponde al número que tendrá la función;
para ello tenemos dos opciones:
leogue,e
,.,,
A'>I.
so.
Fig. 7.Sa
o Manual: elegimos esta opción cuando se desee elegir el número a asignar al
FC. Podemos asignar un número dentro del rango numérico de O a 65535.
o Automático: seleccionamos esta opción cuando dejamos que TIA Portal
asigne un número de forma automática. Siempre asignará el siguiente
número libre a partir del 1.
En este caso lo configuramos para dejarlo así:
Nombre:Control_Eje_Horizontal
Lenguaje: KOP
Número: 10
Nombre
•
ab¡..e de
o,q•iti:acian
�cnp,ci6n
10
i.., � ton bloqve1 "'9i.:.w: ,in rM'lklria
•
--
> , Mb lnformación
Fig. 7.6
En la parte inferior se observa que podemos desplegar el apartado Más
información, en el que aparecerá ampliada esta ventana en la que se muestran
unos campos que el autor pueda completar si lo cree conveniente, por ejemplo:
v Mb lnformaci6n
Th,,,la llloaue fC DUJI el control del eie hoñmntal
Comenuino· Control del citindro bieu11ble del eje horia,nul del m11niptikldor de carga
Wrs.ón·
¡.
•·
•
' ------i• f•nülí.!i l
�-------1
1
"""",..
l!Y
..,
_VG
_______.
I tdnida pa,-el �..ario:I
______
I
Fig. 7.7
Como tenemos activada la opción Agregar y abrir, situada en la parte inferior
izquierda de esa misma ventana de creación del bloque, si a continuación
accionamos el botón Aceptar, nos aparecerá dentro de la carpeta Bloques de
programa el bloque Control_Eje_Horizontal (FC10) creado, que queda
automáticamente abierto para ser programado:
221
Unidad 7 - Programación estructurada
222
filroye:Ctcl [dl(,ó,n V,,t ll'IHIUI Onlonc- Opc:10M1 t1t111.(r,orntu otm.n1. �
Totally lntegrated Automatlon
PORTAL
J( 1• -. X q. (l. . � !I! !E l. CI �
- o C)
• _J utllOA0_7
ri A¡¡:re91.r di1pcxiwo
tl. l>i$fJCKiuvos ylf'dti
• Jl lntroóut-ciol'l!CfU 1214CN:IOC/ft....
l!'t Con�ur1clbn1Mdilpoliuvot
� Online yditgnónito
.. SP, llloqvet dt progrem•
WI NJ�•, - bloq_
• u1in foe1 1
• St1rtup!Oe100¡
·�ol_f�.)torimnt1t !FCtOI
► 1IJ 8loq11•1 de 1istem1.
► Objet01i ttcnoi6gt<ot
► (;j fuentt1 e111tm.1
► v,,..�s ritc
► 'llpos dit d11os"-.C
► �blHde obunv1uón yrontdo.•
► 11.ctvps ONW'le
► � Trtttl
► 01.tot óeproll)'"dt ditpolitivo
i!!!t lnbrm1.c.&!ftl p,ogr1.m1.
)J lht11 de �xtos
► .-Wldulosloc.1.lu
-4 ... -41... -o- @ ._. .J
• Tftulo del bloque: eloqt1e fC p1r1 el contt01dtlt�honJDnt1I
Conuol dtl clindro biut1bM dt1 t-� horlmnt1I dtl m1.roipuitdordt c1.ra-
• Seg�nto 1:
► .:!iJ O,,.r•c-t 169101 co._ �
► [§) TtmporillldOttt ;¡1
► f:!¡ Cont11dom A
► (!] Com¡lirtd6n
► :..=.J f11Mione1 m1.�m,utu
► ll'emftrerw:ill
► !S3 Corwu1i6n
► . Contr0tdel p,ogr1m1
t------,,====�,:,;,;..,;;;;;;,__....,,,,,.,,.,,_!:!":�--:-1 ► !:b/ 0f>HICÍOl'IH l6g1CU C0
'===-=--�·S,.Prop
e
da
de
s ====...:.::====---'----!► Ouplu1m�n10 yro�dw C::
�--,,----------------- •!
lnform1ci&l
Stlloi dt Mmpo
COITl.pllui6n
l'ffl1tcci6n
Atributos
Gener,111 --------------' •
Fig. 7.8
En la parte inferior se muestran las propiedades, en las que se observa cómo
podemos modificar tanto el nombre simbólico, el lenguaje de programación y el
número de bloque asignado. En la parte superior tenemos el editor de programa
para introducir el programa deseado.
A continuación, introducimos el programa que representa el funcionamiento del
control del cilindro del eje horizontal del manipulador de carga mediante los
pulsadores S20 y S21:
wt,s Tlf,, IJNlíMO 7 IINIOAO 7 - )(
l'fo)KtO [dico6n Vtl ll'IStnllf 0fllllt Opc;,onn �"•m,.llt.u Vtm.nt A)Udt
Totalty lntegrated Automatlon
..:J � I] <-niarp,oy,ecto .. X !.!i -. )( ") ! P'. -¡¡ m líi ■ Q # fwbi«et"Coneo6n onlitle ,,
• PORTAL
�
0 0
• _J U,(IOl,D_7
. Agreg1td1spos,ú,,o
.. O"po1i!ivos yttdH
• :-. 01_.-.troduttlon ¡aiu 1214CKJOQ'llt)1
1Jt eori1iguracióri dt d1spositivos
:i, Oflliflt yd;tgn6nic:o
• .i,1 81oques dt progr•m•
'fl .-.gregar �vo bloque
• .,.,,qoe11
• su.m.p 1oe1001
• �
_,,,
HonlDfltal tF<��
► ._. TttCH
► O.t0, 0f l)l'O)l)'dt d15posiwo
fi!l lrlbrm•ciófllMIPJ09rHflt
_
.,l!t.Jstu dt �lil0$
> Vh,ta detalladll
... .... ...,... ...
o
... @ .... J
., Tftulodel bloque: eloque fC ptrt tl conuQ!d,le,e hofimnut
Cori!tOl dtlcílind,o dtl tjt h<lriXH'ttt l dtl mtllipultdordt ctrgt
�
..,.,
'IIS , •n_vt:NlOSA
s2o
l-
·
---------------
-
''
--i
zQu1E.
�
�
..,.,
1'S, � "'l'l_VENTOSA
'"1--
" ----------1
'º'"�
Fig. 7.9
� ----,.i
j_gProp!edadet 1�Información � Diagnóstico
• Aplicación utilizando un bloque de función FB sin parámetros
Realizamos la misma operac1on que para la creac1on del FC. En primer lugar,
seleccionamos la opción Agregar nuevo bloque que encontramos dentro del árbol
del proyecto y dentro de la carpeta Bloques de programa:
.'-.../
-J
._____:
1 

'

'
'
Unidad 7 - Programación estructurada
l'l'C)'K<I' fofo<.... � ,,.u.., � 0,00,,,., .......,..��... -... �-
": Q -.i..,...,._. .. ,. .• )( "l t fl" ·'.i.. l! "º _¿ �_..- ••
• -& o.., 11. .,...,. ... $1pol­
l!¡ �clOl'ldtt,...,,._
Fig. 7.10
Realizando una doble pulsación sobre esa opción, nos aparece la ventana Agregar
nuevo bloque, en la que seleccionamos el botón correspondiente a Bloque de
función y en donde podemos completar los siguientes campos:
Nombre: para asignar un nombre simbólico a la función creada.
Lenguaje: para seleccionar el lenguaje que vamos a utilizar L•ngu•i•·
en su programación, aunque posteriormente lo podemos Núm"º'
modificar. Al desplegar el campo, podemos elegir entre
KOP, FUP y SCL para el S7-1200, mientras que para el LenguaJe:
S7-1500 se amplía con el AWL, GRAPH y FB ProDiag: Nümero
---
lm bbll.-CH._.,
... bloq..,loi¡iu>o -�-·"'............ ""- ,........-
.., w,,,¡.... .i. .... . ........... .;. ........ _ ,,,..... .,......,_.. .,p08 ft
_....� ......j
Fig. 7.12
l <OP
FUP
SCL
KOP
FUP
AIV..
sa.
GRAl'H
Fig. 7.11
FB ProOiag
Fig. 7.lla
Número: corresponde alnúmero que tendrála función; disponemosdedos opciones:
o Manual: elegimos esta opción cuando se desee elegir el número a asignar al
FC. Podemos asignar un número dentro del rango numérico de O a 65535.
o Automático: seleccionamos esta opción cuando dejamos que TIA Portal
asigne un número de forma automática. Siempre asignará el siguiente
número libre a partir del 1.
En este caso lo configuramos así:
Nombre: Control_Cilindro_Marcado
Lenguaje: KOP
Número: 10
223
Unidad 7 - Programación estructurada
224
t...,..,,.
"'"-
l,.,. biolUl"I M illOCml "'" bioqwJ � que ffp,nllln 1"s �,,.,,.. ff ít,m,• �rienw
,.,bioq..s ft d9ffl fl ,nsianci.,M modoqw ,.,ue11 111Mndo ,r¡pon,W., IH,pl,lft el•
¡tto(Utr�lt,loqut
Fig. 7.13
Si accionamos el botón Aceptar, en ese momento ya nos aparece dentro de la
carpeta Bloques de programa el bloque Control_Cilindro_Marcado (FB10)
creado, que automáticamente queda abierto para ser programado:
hv)wclD fMi,,,, v., 1n1,n.r., � Opc-s .,..,...,._, v...,- �
TOC.Qy lnt.gr•t.dAutom•tkln
,..! � Q .....__,. ... ' '" X lrl t (l!J • � ID ti ■ C J/ fM!lc•<�"""'- •
4
A, fl!! !I • PORTAL
p •
.
JUMD,A0_7
f/ 11g,...,da,.,.11Mt
lli, 01$po,MM,l)',.clel
..,. .,9 lnlnMMd11n fC,U IZI«;�
ft eon6p'lc'6ti 6e dupo,�
.Y.i Onlirwtchl9fl6J1KO
eJu.iue•cf•l""'9••­
'li AflWl•rnueYObioqu<I
• 1.111.. 1oe1¡
• swra,,p[o1100J
e ConDoiJjt_ttorqoni,I frc10¡
e eorriiol_Ciw>dfo.J.111,ttdolftlOJ
► :V, lloq1,u lh 1i$W1nt
► Obftl0$1t(ll(li6gk:Of
► 'llf Puentas Hte-mu
► !;. v,.,.i.,,t.c
► 11pof dt clt1:01 ,U:
• ':.t ttbl,udtobu...,.cióflr"'-dop,ir
► .11,,kcb,p,onlirlf
► - ll'fCH
► l& O.toSIM pro,.-H dupo1-
llla lnllrmeci6ndel p,Offt"'I
.
� I.JstH IHW)IQ'I
__¡;¡¡_g
.. E a •jgJ_••� •
-
�
-
to lo di 1 9 '• '-, J. ' Si li
°""
=
'°"
;;;"
;;.,.==
..c.
,
.-,
:;¡
.,.-,;
,J
.-1
:
) h"'Ofhos
f
1-
v
..._
1,_
•
.-
=--
..
-
,,-
.,---I¡•
,-.. -o- -40• -o- @ ....
• lftulo dill b4oqua:
• s.gmento 1: --�--------- --
1
1
, I" �......
► /:;,
J O¡M..�slóg'lcH CQl'l l,,tt
► !i) 1"111potiadOfH
► (;j eonc.ifo,u
► ..s,! C""'p,t,.co6n
• Pvn<_s_w,_...,
► lt1M,_,.nc:..
• � (-r¡,ón
• io conw1c1e1�"'•
► � Open(IOM, 16gM:41J COtlJNllbns l
► Oe1pll•lfl..""' Jl'CWa6n
�Propledadff f'11m(>flTIIKlón l.'U.
1
Oí�MflicQ IIIll • > h,ql»tes opdoNiles
• c-ot� • c-,DLdllio.-
Fig. 7.14
A continuación, introducimos el programa que representa el funcionamiento del
control del cilindro de marcado mediante dos pulsadores, 522 y 523:
� !dou6n ,,,., i..u111, � Opc--. He,...,,_, ,.,__,.. �
� Q Gunlr� .. )( I• ,:'. )( ") t ('lll t •jb fl! l, ■ Q j/ Eal&•C.......--- ¿f
.. ut«l,IC,.1
r/ Ag,,i¡¡t,disp,:,silnlo
.. Dlipo,.._ y..6-1
• ·• lmnlClll<c...,(� 121<�
ft eorr6g111td6nff lm�i(i,,(,s
ij OnlirMy'-gn6uico
• r. Mc,qws k p""'tni•
lf 'trt1111!111f"O�llt
. ...... 10111
• �1t� 1011001
• Comn1UJtJICn.,.,1tl lf'{IO]
- �Cilinón:>J.ltlf'l'.t�olFBIO}
► ..¡. e�s Msin•~
► 04itf!OS�N
► r_. ,i..,,nu ...WrNI
► 1'4i v,111t>1uP1.C
► 1pos ff ÑIO!, 'I.C
► C;i1tbln Mol>H.-..ci6n y...,_do��
► [-. e.au,, onliiw
► ltn•s
► !a o.ios depoo,_-ff d11po,ilM:I
lia, IMDffllfa6nÑlpn,gr•"'·
•
" �ltl ff-
.
1 -o- -'IJ► -o- @ -
u2·
.,
....
..,,.,,...
�
..,
1----------------< )---,
COIP"MltftD'
...
·u,·
j� �!nforrn.nlon U Y.l 0i,9<'6stko
• c-ot..r,._ -�aln.
Fig. 7.15
" ► l"'", Ge111ttl
► $ 0peff(ioMJ lóf1CH COft bm
► � Ttmponackffs
► 9i C-IXlfH
► :,.11 C<,,IJNr1Co6n
, ·
, funcioneu11,1tmhu1
► 'hns•-.nu-
• ► !l( '-,si6n
► � Co<loolffl llfOIJ,."'•
, i;.. 0P<1rtd11M1 16focas c.,,.ro.tobns
► 0Hpla111"',.""'�rcuó6n
__,'
'
)
1
í
¡
Recuerda • • •
Un bloque FC o FB sin
parámetros es aquel
que contiene un
programa que
realizará la misma
función siempre con los
mismos operandos.
Unidad 7 - Programación estructurada
• Ejemplo de llamadas a bloques sin parámetros
A continuación, debemos realizar la llamada a los bloques FC y FB, ambos sin
parámetros, y creados anteriormente. Esto lo haremos desde el bloque 0B1 y los
ejemplos los realizaremos utilizando las diferentes instrucciones de llamadas, UC,
CC y CALL, tanto de forma incondicional como condicional.
Para hacer la llamada tanto a un FC como a un FB, seleccionamos el bloque y lo
arrastramos a la zona de edición. Si programamos la llamada al bloque FC,
quedaría:
• Segmento 1 : Llame de incondicional pera ejecute r el programa del FC10 ----�
� "'Control E. Horizontal"
- Je_
EN ENO ---------------- Fig. 7.16
Pero si hacemos una llamada a un bloque FB, nos pide que asignemos el bloque
pciones de llamada
B
Instancia
individue!
llloque do, -
Nombre
Número
Q Mlnu11[
@ Autom6uco
de datos, que será de instancia, y
se asociará para que ese DB haga
de memoria y pueda guardar el
estado del funcionamiento del
programa del FB. Por tanto, en el
momento de arrastrar el bloque
FB a la zona de edición nos solicita
que declaremos un DB de
instancia, de modo que aparece
una pantalla tal como la que
vemos en la siguiente figura:
El bloque de función llam1do 9u1td111 sus datos e-n un bloque
de datos de instancia propio.
mh.
Fig. 7.17
La configuramos y asignamos un nombre y un número al DB, en este caso el 10:
Opciones de llamada
Instancia
individual
Nombre- Conuol_Cilindro_Mlrcado_DB
Número
.,
,
_
o
____,_.
;
@ ..,_nual
Q Automático
El bloque de función llamadogutrda sus datos en un bloque
de daros de instancia propio.
má,
Fig. 7.18
Finalizada esta operac1on, podemos observar cómo en la parte superior del
bloque llamado aparece el DB asociado a la llamada en ese punto de programa a
ese bloque FB. Además, podemos comprobar cómo en la lista Bloques de
programa aparece el nuevo DB creado:
225
Unidad 7 - Programación estructurada
Recuerda • • •
La llamada a un
bloque de función FB
siempre se asocia a un
bloque de datos de
instancia, mientras que
para la llamada a una
función FC no.
226
l"royec.to fd,ción �r ln,,mar Ont.n, Opcione-s H,truNentu v,nt1rui A)Uda
Tot.Uy lntegr•ted A.utomation
PORTAL
¡
..
,' • Q �a,pf'O)'Cl:to "- )( -!.! � )( IC') t ('a • -i,¡ m 51 & a. � fs'9tJi«"t( <Or,e(1ÓfO!W t
Dispositivos
q o C)
'"' lJ UNlOAD_7
W Agre9ar 1füpositivo
D Dkpo.sRIYos yredes
,..
r
!l ll'ltrodtKdon faiu u1«:�
1ft Coriigul'ación de diipo.util!Os
� OnliM ydlfgnóstJCo
• 'i,. eloqu,sd, progr•m•
• Agregarnu,vo bloque
• MHn lOl1)
• Startup{OBIOOI
• ContrOl_fJe_Ho�t1l (FC10I
a- Control_Cillridro_Mtrttdo {f8t0l
i ConO'OI_Cilindro_,.,udo_oe 1oe10J
► :r, eloqu,1 d, siskma
• Gif; Obfeuu kt.OOlógic:o.s
� Agrtgar obfeto
► j¡J; Fu,n�s ,1,uimH
► � Van1bl,1 Pl.C
llpos de d1t01 P't.C
► Tlblu d, obseMciónylor..ldo r,.m'IIMnte
► r:; e,ckups online
► ...,. ll'lces
► � Oetoi de Pf'»Ydt dtsposiwo
ENO --------------
..:�S.-
,.
� ..,.,
.
�Clwldrtl_"'-1:tdo.
fN fNO --------------
Propiedades :!l lnformad6n
.. Comrol_Epe_ a, Comn>I_Ciltn
Fig. 7.19
En este caso se han realizado las llamadas a los bloques FClO y FBlO de forma
incondicional, pero también se podrían haber realizado las llamadas a los bloques
dependiendo de una condición previa y en este caso se dice que la llamada a los
bloques ha sido de forma condicional.
Como se observa en la siguiente figura, se ha condicionado la llamada al estado
del selector AUTO/MAN, es decir, que según sea su estado ejecutará una función
{FClO) u otra (FBlO):
P'ro)'t'tto Edición .e, 1ourur Onhne Opc101tt1 He�m�ntu 1tient1n1 At,1d1
ToWlly lntegramd Automation
· .! Id _....,_,. .1i )( !! , X ") t C", '"1
:::
'
---;
t!!
;;-'
ll
c....c
ll
cc_
C
_
J
=
""""""'
::-::--::;:-
'.....,,
::-::::-:
°"""'
==•
=------:------P
-:
O
;;;
R
=:
T
,
A
¡¡
L
rxi
.. eJoq�s die p,ogr1m1
. Agreg,rnurvohloquie
• ..,_in (Oet)
• St1nup (091001
.. Control_E,ie_Hon-:.1 f,CtO!
• Contrt>LdiMro_"4rudo (f!IOJ
liii contro1_Cimdto_�•rc1do_Ofl 1oe10J
► #, !loquu die s1uiem1
• Obj,eto,tiecnclógicos
W A9rt91r�10
Fuen1u rittmu
V1nablu PlC
Tipos dt dll0$ 1'1.C
► � l1btu die obsie1V11dónyi:>r.ldo p,erm1nen1,e
► e,ctups onlinie
ll'lcts
► ti O.nn dt pro.,yd,e dt$posl0/0
l!i 1nbrm1dó,, diel ixo9r1m1
"
-il- -i/1- -0- ® ... J
,.. Tftu6o del bloque: "Mun l"rogram Swie,ep (C)c�}"
(Qtl'lt �·..
• Segmento 1: Ll1m1d1 cond1cÍO(l1I per1 iej,ecuter ie1 programa dtl FCIO
...., 10
"Contnlt.E)e_Horimntal"
t--i/}--- EH ENO ----------
'IIIU
..,.,
.
"Com,ol
...=��-
ElfC'lOft 1
AIJlOl't,,W4" 'tomol.,Clindro_Matado4
� EN ENO ----------
,....
gPropiedades �lnfooNdón
..,c,n(J'OI_� . contrel_Clbn
Fig. 7.20
7.3.2 Llamadas a bloques con parámetros
En primer lugar, vamos a ver cuáles son las diferencias entre un bloque con
parámetros y otro sin parámetros. Se conoce como bloque sin parámetros a aquel
bloque programado, sea FC o FB, en el que las variables utilizadas del PLC son
)
)
)
)
)
Unidad 7 - Programación estructurada
siempre fijas. Por tanto, y a pesar de que el bloque puede ser llamado en
diferentes momentos del programa, siempre se ejecutará con las mismas
variables del PLC.
• Segmento 1 : Manipulador de carga. Eje hori20ntal. Electrovalvula biest6ble. Oes.plamr a pos.ición de des.carga
µ
'IQ0.1
"115.3 •y2_VEN10SA
S20
1-
•
----------------
A
---i
1ZQUIE
�
• Segmento2: "-.Dnipuladorde carga. Eje hori20nul.Electtovalvula bíeuable.Desplazara posicióndecarga
'IQ02
'115 4 •y3_Vf.NTOSA
S21
1-
•
----------------
A
--I
DERE
�
Programado en un bloque FC o FB sin parámetros
Una vez tenemos programado el bloque, hay varias opciones:
Fig. 7.21a
Fig. 7.21b
o Reutilización. En un mismo programa podemos utilizar este bloque para
el control, por ejemplo, para el control de un nuevo cilindro. Si es así, se
deberá actualizar el programa con las nuevas direcciones de ese cilindro.
o Llamada. Crear el bloque de programa para poderlo utilizar en diferentes
proyectos y, por tanto, tan solo se realiza la llamada en un punto de cada
programa.
o Rellamada. Cuando se tiene la necesidad de realizar la llamada de la
ejecución de este bloque de programa desde varios puntos del programa
principal con el objetivo de no repetir el mismo programa en varias zonas.
En el siguiente ejemplo se muestra cómo se va a ejecutar el bloque FC10 sin
parámetros desde dos puntos diferentes del programa principal programado en el
bloque 0B1:
FC10
"SlO' A IZQUIEfllA"
1,
)----,
I
,.. }
� S�:o 1: '"""""""°''""9' ,,. "°'""'u""'""'••• .,,ablt Ot•:;
::•• " '"""''
-------------- -
,. Segmento 2: Mllr'P�l6dctd, carga f¡t horizlflul. f�ttro,·alvu!a �stable Oespt.121111 posic:i6nde c,rge

1154 "Yl_V!.NTOSA
' l:
'IQ02
�t ·si,1--
· --
'º'";:.__
Fig. 7.22
Sin embargo, en el bloque con parámetros se declaran una serie de variables para
que el bloque pueda ser llamado en diferentes momentos del programa, de modo
que podrá hacer que el mismo programa se ejecute con diferentes registros del
PLC.
227
Unidad 7 - Programación estructurada
228
Orden_Avanzar_Cilindro
Orden_Retroceder_Cilindro
G::""'- ..........,_
�-�
t--
�------------------l
c-,d;:_.
• s.grnento l:
1
�
-;
-
•EV_
r--4
=..
�
..
_
-,__________________
.."""=�
Bloque FC o FB con parámetros
Fig. 7.23
EV_Avanzar_Cilindro
EV_Retroc�er_Cilindro
En el siguiente ejemplo se muestra cómo se va a ejecutar el bloque FBlO con
parámetros desde dos puntos diferentes del programa principal programado en el
bloque 0B1:
Fig. 7.24
• Aplicación utilizando una función FC con parámetros
Si partimos del programa creado anteriormente en el bloque FClO, pero
creándolo en otro FCl, llamado Control_Cilindro_FC:
Proyeao Edición 'ttr tm.ert.tr Onfü4! Opoones Hfrramif.nr.a,; 'UntltN ►
roully lntagrated Al.itotn.ador1
PORTAL
' _! fd <iuo"""P""""°
Oispositlvo.s
� Q C)
• ¡_J UNIDAD]
W�R!qardKJXKióvo
a. Di,;JXKitMx y�de,;
► ÚI 01_1ntroducdon (tJILI U14C ...
• WII01_1ntrodlJ()don_1 (CRJ 1l1◄...
fft Configuración de dKposml/'o,;
jd Online ydk19n&itio=.o
.,. � BloquH de progr<1miS
lllf' f,,gn!gar nuevo bloque
. Mlin (OB1)
:ti- Startup (OIS100J
1---=c�•
�
c_
on
_
tro
-
l..,Silindro.,,_
F< {FC1Jj
► [¡ Objeto1i tecoo16gicot
► � Fuente,; ,earM1i
► '4 Vi1ridble1 PLC
► llpos de d;ato, l'l.C
► �!T;sblH de ob-.ervaci6nyfor:t.-
811chrps online
► !:;¡ Tr.sce,
► � Daros de proxyde ditpositivo
� lnlorm<tCIÓo del program11
..il Li�t.t,; de te>CJ:<X
► [ti �ulo,; loc,de,;
> Vbta detallada
-1t- -1rt- --<r ® L..t, J
• Título del bloque:
Com�nuno
■ • Se,91mtnto 1: Mtnipuladord>! catga. fje horimntalfl>!�uov,iMJla bi,mabl>!. �..p�?a1r1t P·-
'IQ0.1
'115.3 •y2 lt:Hlt)'5A
20
1---
º --------t
A llQUfE;::...
�egmento 2:
'IQ02
'IIS 4 "Yl YENTOSA
21�
·-------------------•
-0
7
f��
ªVt-it49enentl • Cootrol_Clln...
Fig. 7.25
'---
'- -
. ,,..
1
1
1
)
'
1
)
)
'
'
'
'
'
'
1
1
1
'
'
'
'
1
'
1
'
Unidad 7 - Programación estructurada
Para poder incluir parámetros en este programa, tenemos que conocer en primer lugar
dónde se declaran dichos parámetros y qué tipos de parámetros podemos utilizar.
El lugar donde se declaran los parámetros se encuentra dentro del bloque FC, en
una ventana que existe en la parte superior de la zona de edición del propio
programa. Al desplegarla, tendremos la siguiente vista:
� -e,� ,e, ...,.
...
,.,. 1�
() '4w"W� • � _la:
Oftplnl'ttwi
0 0
----�
, • JUI0-0_1
.
,....,...,.,�
..o..,.................
► :a •1 -�1au1,
u« .
• - t1 ••-�_1 f01U UI◄_,
D( °""""__,,.dt d,.,..-­
.1, U..W y-d..-¡..,._
• '. � d• ,...._
rf '-t"t'J.a, _ ».,¡Q<,t
• ...-. Pnl
• s-.P?l,oat
... ,�_
,:��-f'C (l'r.1
• � <Jite- �­
..��"'"
, _ 1..tntlMi ft.C
► 1 1( � ff d.llt.H ft.C
► - f.all&n d., ............,.�
, :.. �......
► Dra1"1 1h, l'Nlt'if� d�
�...............
1,..,,......
'-"""'i <h -
► ...
t1 111W..ia. b:.o•H
► ,a�(<l'Ulll«.KJ
►�R.l:_l {s:R,l lll<�
w..n.um-"
Fig. 7.26
Aquí nos encontramos con la lista de los diferentes tipos de parámetros que
podemos utilizar.
A continuación, vamos a exponer los tipos de parámetros de un bloque FC, que se
pueden clasificar en dos tipos:
a) Parámetros del bloque:
Tipo Sección Función
Parámetros de enlrada lllPt Parámetros a,yos valo<es lee el bloque.
Parámetros de salida � Parámetrosalj<)S valo<es escribe el bloque.
Parámetros de entradafsalida ln<l.t El bloque lee los val<>ms de estos par.imetros
al efectuar la llamada y tos vueNa a escribir
en ellos Iras la ejecución.
Valor de f9"!10 Rell.m ValorqtJe se devuelve al bloque qtJe realiza
la llamada.
Fig. 7.27
b) Datos locales:
Tipo 5ecdón Función
DalDS lcxales temporales Temp Variables que suven para almacenar
resultados Intermedios temporales. Los
datos temporales se conservan solo durante
un cldo. s, util,za dalDS locales temporales,
se debe asegurar de que los valores se
asenben dentro del aclo en el que desea
leerlos- oe lo contrario, los valores serán
aleatonos.
COnstante constan! eonstantes o,n nomtns s1mból11x,s
d9darados que se utillZan dentro del blOQUB.
Fig. 7.28
229
Unidad 7 - Programación estructurada
230
A continuación, realizaremos la declaración de los diferentes parámetros que
utilizaremos en nuestro ejemplo. Estos serán:
Parámetros de entrada: se declaran aquellos parámetros de los que el FC necesita
leer su estado para poder ejecutar su programa.
o Orden_Avanzar_Cilindro
o Orden_Retroceder_Cilindro
Parámetros de salida: se declaran aquellos parámetros de los que el FC necesita
escribir su estado a medida que va ejecutando su programa.
o EV_Avanzar_Cilindro
o EV_Retroceder_Cilindro
Para ello, basta con elegir el campo correspondiente, escribir el nombre de la
variable en la columna Nombre y seleccionar el tipo de variable en el desplegable
que aparece en la columna Tipo de datos. La tabla de declaración quedaría así:
CootroCOllndro_FC
Nomb�
e • Input
G • Orde-n_A'an:l'.llr_Cilindro Bool
-O • Orden_�troceder_Cilindro 800
,o -0 • Output
S le • EV_Av11rusr_Cílindro Bool
EV_Revocedf'r_últndro Bool
Void fil
Fig. 7.29
En dicha tabla no hemos declarado ningún parámetro del tipo:
Parámetros de entrada/salida: se declaran aquellos parámetros de los que el FC
necesita leer su estado para poder ejecutar su programa y, además, escribir,
porque es el resultado de alguna operación programada.
Temp: se declaran aquellos parámetros que van a trabajar de forma interna y
que no son ni de entrada ni de salida, por ejemplo, para operaciones internas.
A continuación, introducimos el programa en la parte de edición, donde al
querer escribir el nombre de la variable se desplegará una ventana con todas las
variables declaradas en el proyecto, además de las 'K2M_wm• omA PIEZAS' 8001 -.q2.o
declaradas como parámetros. Estas variables se '"""'ºb,.,_..,i,,.d.. 8001
#Orden_Avtnzar_Cilindro Bool
reconocen porque carecen del símbolo de #Ord•n_Retroc,de,_Citindro 8001
#Rrs.et_Contador Bool
etiqueta en su izquierda, su nombre empieza con -o ·so_E..,RGENOA' 8001 "'º·º
"S1_PARO" Bool '%10.1
el símbolo # y no están asociadas a ninguna -o ·si_l.W<CHA' 8001 ...,0.2
variable del PLC:
Fig. 7.30
V
.J
J
J
'
'
'
'
'
'
'
'
"-
)
'
'
'
'
'
1
'
'
'
'
'
'
'
'
'
'
'
Unidad 7 - Programación estructurada
°"""" ()pc,on,f1 H�"'"'�"tu wnttl'II ;,,,.,41
-:... :.a .'1J a e ,. fsubl««mneo6r! Ofll.-.e ·-"
(ontrol (1lmdm H ltt 1J - ■, •
• ::J. lN'.>A0_1
rf ft)"fga,• dupo.11M
. 011po.1-, y�1
► · m o1_Wroducdon !OOU1< .
"' . OI_W:rodu«.0..1 [CPU 1214
IN eo,,1gu..ti6ll ff dup,mwos
"' OnliM yll11gM'11K.o
'"' � aloqYel Ól' progtHT•I
11W l,g�gu nw.-ow,,q,.,,
• ...,111 I01tl
• sum.pf01100J
• eon.:rol_Olonora_K {KlJ
► Obf-mwcrooló¡icot
.,. PIH�11�1
'f# Ai¡f'ltglf -"° IKNI/O t
• � v....i.1 1'1.C
► 'llpol dt d•- ft.C
• - llobla1 dt obH"'1ci&, ybi..,
• etckupi �
► .., hetli
, ·ll, o.tin d♦ ,..,.,.ff dufl'l',•tl90
l!'¡ 111foff,,1ci6tlfflprog,.l'ft1
liu.u de ttJCC»;
► .a M6dOllol laul,u
, "" lnb'oou<.dot1 {QIIU 121-CACI
•l
Cootrol_Olindru_FC
e • Ofd,n_.....,..,_c.,,d,o aoat
G • Ordtl'l_lletl'Oetdl't_dliindn, lool
,o • Ot.�:
o • tv..},,,na,_Olind,o loDI
,(l • !VJl11rOC♦d1,_Ciond,o 8ool
<Q . lr!OI;¡
G ► Tt"'P
a ► OMar>t
'<Q ... "'M'I
.. . ConlJOl_c.lond�l'C
,...
...
...
....
....
....
....
Fig. 7.31
Una vez introducido el programa, tendremos:
>•• dt tn"l'JI
.
1•1.tudor del'tr
Pb1do<d1a.­
S1-ltaor M1,­
Nl1ócw d1 AI
• Seg1nento 1 : D�spla :::ar il po
_
,_
ici
_
6n
_
d_
• •
-
••
-
"-
"-----------
Orden 1EV_Alanzar_
► Tt"'P<)f::a�•
• • eom..�,
► Cs¡ C.,.,,,pt1'(>Ón
, ,;.. ,.."'"��ne"
► c-�"oón
► � Coriuol Hli-,,aroui
, ,_ otw,..c-1'6goccuco,,ptllbtll1
► _d Oupi.alllM11tOrrott<ióol
r
_
at
t-
i
-
n
d
_
'°
_
_
_____________
_
___
_
Cill
n
d
ro
)-------< Fig. 7.32a
,.. Segmento 2: D@�p
_
l,
_
:a_
ro
_
po
_
,
_
><•
_
ón
_
d
_
,_
,.po
_
,o___________
Clllndro
#EV_
Retroceder_
06nd
ro
µrd•;;,_
>-----------------------< }-------< Fig. 7.32b
Todas las variables declaradas en el bloque solo serán válidas para ser utilizadas
dentro del mismo bloque y no fuera de él. Esto no quiere decir que un bloque con
parámetros esté compuesto únicamente de esos parámetros declarados como
variables, sino que también existe la posibilidad de poder incluir registros del PLC.
El hecho de combinar registros del PLC con variables declaradas para los
parámetros no será recomendable cuando protejamos el bloque contra lectura y
escritura, ya que el usuario del mismo desconocerá en un principio qué registros
del PLC se han utilizado y por tanto existe la peligrosa posibilidad de poder
duplicar esos registros al ser utilizados en otras zonas del programa.
Para finalizar, debemos compilar el programa generado en el FCl y comprobar
que no existen errores. Si no se compila, al realizar la llamada del bloque desde el
0B1, no aparecerán los parámetros configurados.
Ahora tan solo nos falta realizar la llamada de este bloque FC con parámetros
desde otro bloque, por ejemplo, desde el 0B1. Al seleccionar el bloque FC
programado y arrastrarlo hasta situarlo en la posición deseada de la zona de
edición, aparecerán campos <??.?>, que deberán ser completados con alguno de
los registros o variables del PLC que harán funcionar el programa.
231
Unidad 7 - Programación estructurada
232
"Control_Cilindro_FC"
t------- EN
Orden_
Ava nzar_
<1?.?> - Cilindro
Orden_
Retroceder
<l?.?'> - Cilindro -
ENO -------------<
EV Ava nzar
- Cilindr� ---1<1?.?>
EV_
Retroceder_
Cilindro ---1 <1?.?>
Fig. 7.33
Una vez completado, en nuestro caso, quedará de la siguiente forma:
• Segmento 1: Uemada incondicion&I para eje,cutar el programe de,I FC1 pera el cilindro del eje hori20mal
"Control_Cl
lindro_FC-
¡------- EN ENO --------------<
Orden_
115.3 Av&nzar_ 'IQ0.1
•s20• - Cilindro EV_Avanzar_ ·v2_VENTOSA
Orden_ Cilindro ---tA IZQUIERDA•
�-◄ Retroceder_
·s21· - Cilindro EV_ 'IQ0.2
Retroceder_ •y3_VENTOSA
Cilindro ---tA DERECHA• Fig. 7.34
Ahora realizaremos una nueva llamada a este bloque, pero utilizándolo para
controlar otro cilindro, como es el de control de marcado. Por tanto, utilizaremos
los registros del PLC correspondientes a ese cilindro, con lo que quedará:
Segmento 2: Llameda incondic1ona l para ejecutar el programa del FC1 para el cilindro marcador
'Control_Clllndro_FC"
1------ EN
Orden_
11155 Avaniar_
·s22· - Cilindro
Orden_
'115.6 Reuoceder_
•s23• - Cilindro
ENO -------------◄
1Q0.6
EV_Avom•r_ •y¡_BAJAA
Cilindro ---tMARCADOR"
EV_ 1QOJ
Retrocede-r_ ·vs_SUBIR
Cilindro -< Ml'.RCAOOR" Fig. 7.35
Si ahora comprobamos, se observa cómo con el mismo programa elaborado en el
FCl se pueden controlar los dos cilindros de forma independiente.
Con esto logramos reducir la ocupac1on del programa en la memoria del PLC,
además de evitar que sea repetitivo, pues esta llamada la podemos realizar para
tantos cilindros como sea necesario y que, al mismo tiempo, lógicamente,
responda al funcionamiento programado en el FClO. Cuanto más complejo y largo
sea el programa incluido en el FC, más reducción de memoria se consigue.
Pero este tipo de bloque no nos va a servir para todas nuestras aplicaciones.
Veamos otro ejemplo en el que vamos a añadir algunos parámetros más para que
vaya contabilizando el número de maniobras que realiza el cilindro y su resultado
lo mostraremos a través de un parámetro que asociaremos en la llamada a un
registro del PLC. También añadimos un parámetro de entrada Reset para poner el
registro de contaje a cero.
Por tanto, con esta ampliación de parámetros, ahora tendremos los siguientes
declarados:
J
1
1
1
1
1
'
'
'
'
1
Unidad 7 - Programación estructurada
Control_Ollndro_FC
Nombre
<J .. Input
Tipo de datos l'alor predoet. Comenu,no
, <II • Orden_Avanzar_Cilindro Bool
Orden_Retroceder_Cilindro Bool
Oetector_Cilindro_Avance Bool
Reset_Contador Bool
EV_Avanmr_Cilindro Bool
EV_Retrocede-r_Cilindro Bool
ry <J • fv9niobras_Realimdas lnt
<l • Temp
,., O • Flanco
'3 G ► Connant
8001
Fig. 7.36
Ahora completamos el programa con el segmento 3 en el bloque FCl, para incluir
el contador. Quedaría así:
Segmento 3: Cantaje del número de maniobras que rea liza el cilindro_______
#Detector
Cilindro_Ava �ce
INC
lnt
p --------- EN -
#Fla nco #Maniobru_
Realizadas ----1IN/OUT
Segmento 4: Puesta a cero del contador de maniobras re_
a l_
iia
�
d_
as
_____�--�
r_Contador MOVE
!--- EN -
O IN #Maniobras_
,1 OUTI Reoa lizadu
Fig. 7.37
Fig. 7.38
Para finalizar, debemos compilar el programa del FCl (menú Edición-Compilar)
para actualizar la lista de parámetros añadidos. Será entonces el momento de
volver a visualizar el programa del 0B1, donde tenemos realizadas las llamadas al
FCl. Nos aparece en error, lógico, pues ya no coinciden los parámetros porque
han aumentado:
T O Segmento 1 :
---
-COntrol_Cilindro FC
1--------l El·J
Orden_
'!153 .:.ven::ar_
•s20• - cdindr
irden
�-4 hetrc:e-i�r
•s21• - Cilindro ··
[NO -----------
'IQ0.1
Ei Ava n:ar -Y2_VEN10SA
- c,1:n:-•� ---tA IZQUIERDA.
Ev 'IQ02
RetroceJ.,.r_ •y3_VEN10SA
.________c
;;;.
,h.;;.
nc...
,'·.;.¡
·�A DERECHA. Fig. 7.39
A partir de aquí tenemos dos opciones, bien borrar el segmento y volver a realizar
la llamada de nuevo, o actualizar la llamada y completar lo que nos falte. Para
ello, seleccionamos la llamada incorrecta y al pulsar el botón secundario del ratón,
aparece un menú contextual del que elegiremos la opción Actualizar:
233
Unidad 7 - Programación estructurada
234
• ..J I.HOA0_7
,. ,_,"-9",4-pot­
- 0..pn-)'fffe•
1 r¡o)llnw<<...,(Cl'U,nc_
• ;a, 01_............<icif...l fCl'U111<L
9't con1g1nta1••,.,.,,,.....
j. 0..y61..IIUI
• '., Noqut-,. ...........
• ...,.,,_,,.,w.qw
- �..10111
• s.u.""PfOIIOOI
• Cc<ttrol_Cinl"'_PC (Kt]
• ;,.¡ °""......cnol6pc...
• -- 'wnlH�•
'111"""11••-•KM'O•
. ........ta.l'l.C
► :-..líposciedtlOSl'I.C:
1 Toblu . ......,..aolo,7111,:..,.
► r- a.�ri,,e
1 O,,iot ..,,..,...,:i;.,_...,
iij_ .......o6,,llelJ1'D911-
....,H.-
1 fj"'6du1Dsloc•lt•
• '.a .,._,.�...,1aiun1c:,a_
• · l'l.(;.1 (0'U12141CIIIGIDClll,I
o,<>OtWi �
....ie-• >'
....... ,.,,....
)( ll')t ra · .¡¡ !J li ■ C J/ Mbll,c•__.,� ";,,
�
- ... ... ...,► -u- 1!!I .... j
• CJSeg,nenco l: Ulm1dl,ncond.<.GNJpor••�••l"'°""1N llelK1 ptrl_.(lhnck,,Mie�horimnal
,..,,,,..
.,.....w._
X torrtr
..
, �..rta••f9"'e-
- o,...,...,
f. '�';, ' �::-
""
�..::
rl ""•"""_,,..no
<,,.,,,,,.,(�
-
Fig. 7.40
� -Ml:­
Qrl..lay,)t•l
Clrl-Mo)ll•.f'
,...,
0,0.C
·¡
• :.�..,.,,.,.........
► � �.
► ;,,oc-,_,...,
► !}J l'W>ciooM, .............
1 btr11rf'ellOI
, S, c-,io,
► 'it; CorolrcllNIPIOfl'I"'•
► � �,.._, lof,cn c,o,,ptltbf.1
Nos aparecerá una nueva ventana dividida en dos zonas: la de la izquierda
muestra la configuración antigua y la de la derecha muestra la nueva, que es la
que quedaría si aceptamos la última actualización:
1ntt-r6unueva
=
· -�;::::==::;;;;:;::===-
"Control_dllnd:ro_fC"
1-------""'EN
Ordc-n_
'115.3 A�•n•r
·s20· C.hndro
Orden_
"IIS.<I �uoceder_
·s21• Cíhndro
ENO 1------, EN
'IQO.l
EV_Avon:ar_ "Y2_V
Cilindro AlZQ'
EV_ 'YQO
Retroct'ftr 'Y3_.,f,
C,hndr0 AOER
> <
Fig. 7.41
Ordc-n_
'115.3 Aven:111r_
·s20· Cilmdro
Orde-n_
'!itS.<1 Rit1rocedt'r_
·s21· Cilmdro
�1tetor_
Olindro_
En este caso, es obvio, pulsamos el botón Aceptar y así podemos completar en los
campos correspondientes los datos que faltan. Al final queda el siguiente
programa para las dos llamadas de los dos cilindros:
Segmento 1: Uamade incondicional pare t-jeocutar e-1 programe dt-1 FCl para i!I cilindro deo] eo¡e horizontal • Segmento 2: Llamada incondi.etonal pera eo¡eocutar el programa del FC1 pera t-1 cilindro marcador
,,.,
-control_Cilndro_Ft::'
1------- EN
On:leon_
"IIS.3 Avan?llr_
•s20· - Cilindro
Ordeon_
115.4 �trocl!deor_
•s21°
- Cilindro
'IIO 7
"84 bl Dett-ctor_
VENTOSA dlindro
IZQUIERDA' - Avanc!'-
'112.6
ºS4_RESE1" - Reseot_ConUJdor
'IMWJ010
"PROCESADAS Maniobras
ROJAS" -Rnlizadas-
ENO -------------<
'IQO.l
EV Avanmr ºY2_VHfTOSA
- Cilindr; --4A IZQUIERDA"
EV_ 'rQ0.2
Retroct-deor_ "Y3_VENTOSA
Cilindro --4A DERECHA"
Fig. 7.42
1------ EN
".US..5 Avanzar_
·s22· - Cilindro
Ordt-n_
'115.6 �troct-dt-r_
"S23" - Cilindro
'll15
'BlO_t-1 Dett-ctor_
�- - �
��
n
:c�-
'112.6
ºS4_RESE1" - �st-t_Contador
'IMW1014
"PROCf.SADAS """niobras
VERDE" - Realizadas-
ENQ -------------<
'IQO 6
EV_lwanmr_ "Y7_8AJAA.
Cilindro --4M'.RCA[)OR"
EV_ "Kl0.7
Retroct-dt-r_ "YB_SUBIR
Cilindro --4 W;RCAOOR"
Fig. 7.43
Si realizamos la comprobación del programa con el simulador 3D haciendo uso del
panel Control de proceso y del panel Registros de pedido y de contaje,
observaremos que los contadores no funcionan correctamente por efecto de la
declaración del flanco como variable del tipo TEMP. Si se declara como variable
lnOut, entonces tenemos que asignar un registro a ese nuevo parámetro que nos
J
1
'
1

1
'
'

1

'
1
'
1

1
1

1
1

1
1
'
Recuerda • • •
Una función FC con
parámetros es aquella
que contiene un
programa en donde el
resultado de su
ejecución dependerá
del estado que tengan
en ese momento los
diferentes parámetros
configurados.
Unidad 7 - Programación estructurada
aparecerá en la llamada al FCl. Esto es tan solo un ejemplo de que los FC son
válidos, pero tiene sus limitaciones. Es por ello que para la elaboración de bloques
de programa se determina que la mayoría de sus parámetros sean del tipo Input,
Output e lnOut, y se utilizan las variables de tipo TEMP para alguna operación
intermedia, pero que no sea entre otras cosas un flanco. En estos bloques de
programa FC, si existe algún parámetro declarado como TEMP, no se podrán
hacer varias llamadas a esa función, ya que se solaparán los datos y funcionará de
forma incorrecta. Tan solo se podrá realizar más de una llamada a una función FC
cuando no exista ningún parámetro del tipo TEMP declarado.
Para poder solucionar este problema y obtener otras ventajas, se utilizan los
bloques de función FB que pasamos a exponer a continuación.
• Aplicación utilizando una función FB con parámetros
Seleccionamos la opción Agregar nuevo bloque que encontramos dentro del
árbol del proyecto y dentro de la carpeta Bloques de programa:
• ...:1 u.t0,•CU
.,..._,...,.,._
ao..,.._,,....,.
• '.Jl o1_�do>nltJIU IJI«:�
• ,a o,_,.-.CclDl.,.fl fCN tllC:�
lf '°"""'"<IM 4't d"PO<­
.J,j 0ftlint , ••¡n6<11<0
..........clt,.,......
• !llol¡uel clt lKlelM
1 !. � <K,IOi6g,c01
•Sil--•·-·
, :.11....blt, ru:
• � • ..- ru:
• .;.- tot,¡o• c1t ob..,..•••,-,,.,.,.,,.,.ne.,..
1 , ' lklu4Konlioo
• hcu
• '& o.iix .,. pnnrcltdi<posJIM
1Í'1 1'11Dt1t11c,6ndtlp,o,Jtl"'I
.!i]u<..,clt_
• .,a Mlod.Jo<loult,
� . .... _. . ...lo
Fig. 7.44
• ,:S10p,t....-16p,.,c...M1
• . k"'po,,•-•
' 4'-"-•
• �c-.,....áWI
• �"""'-•-.....-..
• ;3h!llfort"""
• &¡ C-,.16n
> 3:0 Co,,tro1 df,l ,.._lfl•
> :a 0,.,.<ioNl l6góc&ltOll (Ultbtu
, 0up1111n,,.,..o�-ci6n
Repitiendo el mismo procedimiento que hemos utilizado para crear un bloque FC,
crearemos otro nuevo módulo, en este caso un FB al que asignaremos el nombre
Control_Cilindro_FB. Cuando ya lo tengamos abierto, lo que hemos de hacer es
declarar los diferentes parámetros, y para ello nos fijaremos en la parte superior
de la ventana de edición del programa donde encontraremos la zona para la
declaración de los parámetros:
"'°'"'1D (4,t,6n ..... ....,i,, � �· i........,._, .......... ,,,,...,.
•, X lr) 1 ('l< ·l. !fl lli & C ;1 �-�..,._ '-
<t
• L;i1n0,.cv
,,...,.i",..,..,....
11i.o..,.._,_,
, :. 01_.........<loollCNUlC:�
• ;,¡a o1.-......do<l.,.fl lCPU1216C�
rt c.m,.n,....."°'.....
,i OMNyNf'Di,co
• ·.; 11oqu<, d1 pt"1'•"'"
,,...,..,.,_...�
. ...... ¡o.11
• 11""1'iOllOOJ
• c-_c-,,,Ja :,.,¡
.�.................
• � Olr;t.... �
. --··-·
• :.,v.Mblul'l.C
t ""4N<lno1:11'lC
• - ttblo1 Nobn.....o6nylb!ado1M•
l ..,r;I IUl"PS-
1 - hU'
. ..°"...."""......poi...,
- �KONllfel ,....tllll
:!' .... ... ., � � 1:�a .air:a.1 .¡iit�· t ,�ti'"� .-.��- m
Contral.Olindro_f8
.. SegmeAIQ 1:______
_
Fig. 7.45
• _, c.t......1
• .!!. 0,.••--•16to<••((lllb$ i!
• 1l11t111,....a-• ;-
' .!..11 �' 111,
• :ii �p,of'K06ol
. ,__.,,.,....,.,.......
1 .............
• c-.lHl,..,,nfflt
• ,f:1 0,.,_..,., W.,.C.,CMpo�
• � o
..pi..,,,_,_..,
f
235
Unidad 7 - Programación estructurada
236
La interfaz contiene las declaraciones de las variables y constantes locales que se
utilizan en el bloque. Las variables se dividen en dos grupos:
o Parámetros de bloque que forman la interfaz del bloque para la llamada
en el programa.
o Datos locales que sirven para almacenar resultados intermedios.
A continuación, vamos a exponer los tipos de parámetros de un bloque FB:
a) Parámetros del bloque:
Tlpo Secci6n Función Disponible en
P.rimetros de entrada Input Paraffletros cuyos valores lee el blOQue. Funciones, bloques de función y
algunostipos de blOqueS de
organización
Par.imetros de salida OJ1¡)ut Parámetros OJYOS valores escribe el bloQue. Funciones y blOQues de Mlci6n
Parámetrosde entrada/salida lnOut El tNoQue lee los valOres de estos parámetros al Funciones y - de función
efectuar la llamada y los weive a esaiblr en ellos
tras la ejecución.
ValOr de retomo Retum ValOI' que se dewe/Ve al bloque que realiza la Fundones
llamada
Fig. 7.46
b) Datos locales:
Tlpo Secci6n Función Disponible en
Datos locales temporales Temp Variables que sirven para almacenar resultados Funciones, bloques de función y
intermedi05 temporales. Los datos temporales se bloques de organización
conservan SOio durante un cielo. Si utiliza datos Nota:
tocafes temporales, se deDe asegurarde que tos
valOíesse esaiben dentro del CidO en el que desea en los bloques de datos de
1eer10s. De 10 contrario, loS val«es serán aleatorios. instancia no se visualizan losdalos
!Ocales temporales.
Datos locales estátieos Statie Variables QUe sifVen para almacenar resultados BIOQUeS de función
lntemiediOS � en el bloque de datos de
Instancia. Los datos estáticosse conservan hasta
que se welVeo a esaibir, también a IO taroo de
vanos ciclos. Los nomb<es de IOs 1:>10QUeS que son
llamados oorno multilnstanda en un b+OQue lógico
también se depositan en datos IOc:ales estáticos
Constanta Constant Constantes con nombfes simbólicos declarados que FundOnes, bloquesde función y
se utiliZan dentro del blOQue. bloquesde organización
Nota:
en IOs blOques dedalOS de
Instancia no se visualizan las
constantes IOcales.
Fig. 7.47
Pulsando el botón secundario del ratón sobre la fila de títulos de la tabla
(Nombre, Tipos de datos, etc.), nos aparece un menú contextual en el que
podemos fijar que se muestren más o menos columnas de entre las posibles. Para
un FB son:
o Valor predeterminado
o Remanencia
o Accesible desde HMI
o Visible en HMI
o Valor de ajuste
o Comentario
V
V
V
'
'
'
'
'
Control_Olindro_FB
Nombre
<11 . Input
,vi9regar:-
-e . Output
-.c.Agrcgar;.
-o . lnOut
� ...:A9rega.r>
-o . Static
<t..ngre9er>
9 -O . Temp
<Agregar:>
-O . Constent
-.e.Agregar>
Tipo de ditos
Unidad 7 - Programación estructurada
V·füffdIHM
Mostrer todas las columnas
Optimi211r 1 ncho
Optimizar el encho dr todas les columnas
.,
Fig. 7.48
·une Comentario
En la siguiente tabla se explica el significado de las distintas columnas. El número
de columnas mostradas varía en función de la familia de CPU y del tipo de objeto
abierto.
Columna Slgnlffcado
6 Símbolo en el que se puede hacer die para arrastrar un elemento mediante Orag &Drophasta un
programa y utilfzarlo allícomooperando.
-· Nombre del elemenb.
Tipo de datos Tipo de datos � elemento.
Offset Direcdón relativade una variable. Esta columna solo esVisible en los bloques con aa::eso estándar.
Valor predeterminado Valorque permite predeterminar determinadas variables en la Interfaz del btoque l6gk::o o bien
valor de unaconstante local.
La lndk:adón d9' valof predeten'ninado es oc,donal paravariables. SI no se especifica ningún valor,
se utilizará el vak>r pcedefinido para et tipo de dat>s indicado. Por eJemplo, el valor predefinido para
BOOL es �se".
El valor predeterminado de una variabfe se ¡acHca como valor de arranque en el respectivo bk>que
de datos de tnstanda. Losvalores aplicados pueden sustítuH'H: en el bloque de datos de instancia
por losvaloresde arranqueespecfflcos de la Instancia.
Las constantes siempretienen el valOf predeterminado Que sededaróen la interfaz del bloQue. No
se vtauatizan en lo& bloQues de datoa de instancia y portantotampoco se les puede asignarvalof'9:s
especffic:oe de la instancia
Remanenda Marca una varlable como remanente.
Los valoreadevartabfesremanentes se conservan tras desc:onedar la alimentadón
Esta columna solo e,vlsible en la Interfaz de bloQues defUodón con acceBO optimizado.
Visible en HMI Indica si una variable está visible en la lista de selección de HMI mediante un ajuste
predeterminado.
Aa:ulble desde HMl Indica si HMI puede acceder a estavariable en tiempo de ejeaJdón.
Valor de ajuste Marca una vartable comovalor de ajuste. Losvalores de ajuste son valores Que reQuieren un ajuste
flno en la puesta en marttla.
Esta columna IOlo QXiste en la Interfaz de bk,Ques defunción
Comentar1o Comentario para documentar el elemeot>.
Fig. 7.49b
A continuación, realizaremos la declaración de los diferentes parámetros que
utilizaremos en nuestro ejemplo. Estos serán:
Parámetros de entrada: se declaran aquellos parámetros de los que el FB necesita
leer su estado para poder ejecutar su programa.
o Orden_Avanzar_Cilindro
o Orden_Retroceder_Cilindro
o Detector_Cilindro_Avance
o Reset_Contador
Parámetros de salida: se declaran aquellos parámetros de los que el FC necesita
escribir su estado a medida que va ejecutando su programa.
o EV_Avanzar_Cilindro
o EV_Retroceder_Cilindro
237
Unidad 7 - Programación estructurada
238
Parámetros de entrada/salida: se declaran aquellos parámetros de los que el FB
necesita leer su estado para poder ejecutar su programa y, además, escribir,
porque es el resultado de alguna operación programada.
o Maniobras_Realizadas
Static: este tipo de variables se utiliza para guardar operaciones intermedias en el
bloque de datos de instancia asociado.
o Flanco
Para ello, basta con elegir el campo correspondiente, escribir el nombre de la
variable en la columna Nombre y seleccionar el tipo de variable en el desplegable
que aparece en la columna Tipo de datos. Nos quedaría así:
�b�
ffndro
F8 T,pod,d,a,5 v.io..p,MeL �lf AaesibltdedeHWI VlsiblnnHMI Vtlordn11Me �¡
<J .,. Input J:"
<J • Orden_lwtrisr_Ctlndro 8om Gll 1t1H No l'tmoenwE] O O
<J • Orüen_�uucffer_Citindni eoot •"• Nortmtneimt B O
<I • Df'tectoc_Olindro_Awr,ce BOCK libe Ho �nteMntir O O
-O • �nt..toiu.d<N" aoot hbe Nb ,..m,Mna! O O "7i
€1 • Ov1Put r
-O • E'V_.rw.nair_Cíltfldro &ool laln lto rtm1nentf' O O
<J • tv_,-ll'oc.ed,H_Cílindro Bool fl!s, No l'el'tll�IIW o E)
G • "°"'
..., �..
Fig. 7.50
No se ha declarado ningún parámetro del tipo:
EJ
9
o
Q
Temp: se declaran aquellos parámetros que van a trabajar de forma interna y que
no son ni de entrada ni de salida, por ejemplo, para operaciones internas.
A continuación, introducimos el programa en la parte de edición, donde al querer
escribir el nombre de la variable se desplegará una ventana con todas las variables
declaradas en el proyecto, además de las e "IC2"'-�'°" º""' �EZAS" 8001 w2.o
declaradas como parámetros. Estas variables se
reconocen porque carecen del símbolo de etiqueta
en su izquierda, su nombre empieza con el símbolo
# y no están asociadas a ninguna variable del PLC:
Una vez introducido el programa, tendremos:
,. Segmento 1: �spla?Jr a posición de BVllnce
iM11niobras_�1h.?Bdn
tarden_Aven11r_Cilindro
IOrden_Retroceder_Cifindro
f'�set_ConQdor
• ·so_EM:RGENOA.
•s1_PARO•
•s2_MARCHA•
Fig. 7.51
Orden iEV..)llranzar_
8001
Bool
8001
Bool
8001
Bool
Bool
�CBl
l--
nd
_
ro
__________________
_
Olk,dro
)----i Fig. 7.52a
• Segmento 2: Despla:,re posición de �poso
lndro
#EV_
Retroceder_
Ollndro
µOrd:;;,
1---------------------1 )----i Fig. 7.52b
Segmento 3: Contaje: del número de maniobras que reali31 ,el cilindro
#Detector_ INC
Cilindro_Ava nce lnt
P 1---------EN -
ftFlanco #Maniobras
Reelimdas--,INiOUT
Fig. 7.52c
--º
--•
"-10.2
.....__,,
......
í
)
1
í
'
í
)

'
'Í
'Í

1
í
1
1
1
)
'
1
'Í
)
'
'
)
'
1
1
• Segmento 4: Puesta a cero del contador
rContador M011'
1--- EN -
0 - IN #IV.aniobras
.1,f OUTl - Rea lizadas
Unidad 7 - Programación estructurada
Fig. 7.52d
Esto no quiere decir que un bloque con parámetros esté compuesto únicamente
de esos parámetros, sino que también existe la posibilidad de poder incluir
registros del PLC.
El hecho de combinar registros del PLC con variables locales para los parámetros
no será recomendable cuando protejamos el bloque contra lectura y escritura, ya
que el usuario del mismo desconocerá qué registros del PLC se han utilizado y por
tanto existe la peligrosa posibilidad de poder duplicar esos registros al ser
utilizados en otras zonas del programa.
Finalizada la introducción del programa en el bloque FB, es del todo necesario
realizar la compilación del mismo (opción Compilar del menú Edición). De esta
forma podemos conocer si tenemos algún error y también es necesario para que
posteriormente aparezcan los parámetros declarados en la llamada a ese bloque.
Ahora tan solo nos falta realizar la llamada de este bloque FB con parámetros
desde otro bloque, por ejemplo, desde el 0B1. Al seleccionar el bloque FB
programado y arrastrarlo hasta
situarlo en la posición deseada de la
zona de edición, y a diferencia del
bloque FC, nos solicita la declaración
de un bloque de datos DB de instancia
asociado a este FB para poder guardar
el estado de los parámetros del tipo
Static en todo momento. Le
asignamos el D81 con el nombre
simbólico Control_Cilindro_FB_DB:
Instancia
indrvidual
Nomb�
Númitro
Q Mlnual
r-} Autom6tico
Et bloque dt> funttón ll1m1dogu■rd1 sus d1t0s en i..n bloqut­
de datos de instancia propio.
m6>
Fig. 7.53
A continuación, aparece el bloque FBl asociado al bloque de datos D81 de forma
automática, listo para poder completar la llamada si se introducen los valores
correspondientes en cada parámetro:
'llDBl
•control
Cilindro FB
oe·- -
"Control_Cllíndro_FB"
f------- EN
Orden_
Ava nzar
false - Cilindro-
Orden
Retroc;der_
false - Cílindro
Detector_
Cilindro_
fa lse - Ava nce
false - Reset_Conta dor
�ilaníobra s
·- - Realizadas-
ENO ------------<
EV_Ava nmr_
Cilindro ---t ...
EV_
Retroceder
CilindrO ---1 ._
Fig. 7.54
239
Unidad 7 - Programación estructurada
240
A diferencia de un FC, se observa cómo en el lugar donde se debe introducir el
registro o valor para cada parámetro configurado no aparece el símbolo ??.? de
color rojo como sucedía en el FC, sino que aparece el símbolo false para variables
del tipo Bool o «...». Para variables de tipos no Bool, esto nos indica que no es
obligatorio completar todos los parámetros, mientras que en un FC es totalmente
obligatorio completarlo, pues en caso contrario el compilador del programa nos
muestra que hay un error.
Función de llamada FC
'tonlmlaln<n_FC'
1------ EN
Orden_
Avemar_
<!?.?>- dlindro
Orden_
Retroceder_
<.??.?>- Cilindro
Detector
Cilindro_­
<1?.b- Avance
<11.1>- Reset_Conudor
Mlllniobru_
<.1??'>-Rrali211di11s
ENO ---­
E.V_Avan:mr_
dlindro -t <.?!.7'>
lV_
�troce-der_
dlindro ---1 <11.?>
Fig. 7.55
Bloque de función FB
1------ EN
Orden_
Avan:mr_
_- Cilindro
Orden_
Rrtroceder_
_- Cilindro
De-tector_
Cilindro_
_- Avsnce
-- Reset_Conuidor
PIAfJniobrH_
- - Reeli:mdas
ENo --­
EV_Avanar_
Cihndro ---1 _
EV_
Re-troceder_
Cilindro---1 _
1
Fig. 7.56
En nuestro caso es necesario completar todos los parámetros para que el
programa pueda funcionar. Por tanto, haciendo dos llamadas al bloque de función
FBl y teniendo en cuenta que se ha de asignar un DB de instancia diferente, nos
quedará:
• Segmento 1:: U1m1da inctindltion•I p1r. ejecutlHel programa df'IF81 per. t'Icilindro del"l" hori3Dnal • Segmento 2; l11m1d1 incondicion,I p,,.. e�cuur el programa delf81 p1ra el cilindro m1rudor-
'11>111
'Conool
(jlffldro_FB_
'11>112
·conb"OI_
c.itindro_re_
os_,.
1------ ,.
Orden_
""5.1 Av■msr_
ºS20º
- Cilindro
Onlf'n_
"115... Artrt1tt'dt'r_
0521' - úlindro
....J
•a, b1 Dt!tector_
VEN'lOSA Cíhndro_
IZQUICRDA" - A111nte-
"'2 6
Oll'
·s,_fESEr - RMf'LCofiUdor
WW1010
'PROCI.SADAS Mtlfllobrn_
R0JM' - �11i:md11
rno ----------
'SQ0.1
E.V Av1n;,r "Y2_VlN10SA
- úhndr� _,., IZQUIERDA"
EV "IQ02
Rfotrot:e-der= -v3_VEN10S...
úhndro - ADEREOiA'
Fig. 7.57
1------ Eff
Orde-n_
'115.5 Av1n:mr_
'S22' - úhndto
Orde-n_
115.6 Rr,1n>ct>de-r
'S23' - Cilindro -
..u
'B1O_e1 Orte-cror_
�
,.;. - �;;:c':-
'112.6
'S◄_RESEr - Rlt'St't,_Corrudor
-··
'PROCESADAS Mlniobras
VERDE' - Rt'tli:mdn-
[ffQ ----------
'IQ0.6
f.V_Avan:mr_ "Y7_BIJNf.
úlmdro-MAACADC>fr
EV_ "IQ0.7
Rt'troce-de-r_ °YB_SUBIR
c.ihndro -MAACADOR"
Fig. 7.58
Si visualizamos el contenido del DB de instancia, podemos observar que contiene
todos los parámetros declarados para el FB:
c.ontroLOH..tto_f6_08
_..,
-e, . -
.t -G • Ordt-rt_Mnar_Clirldro &>el
<I • 01deo_A,,1J1Xrdt-1_Cíllnd10 Bcol
, .,e • lleltnor_Ollndro_Awlloc:e fltd
-O • Atse.,.c.orn.dor !lod
<J . """""
-0 ■ LV...}wan31r_C,i5,rd,t, Rool
fl -O • lV_A1'1rocrdrr_Olindro Sool
9 -c, ... �
Q <1 • ,,_l'liobrn...}lrtbi.dt$ 1m
Dool
... '"' -,
... •..
... 111,.,
•lir ...
... ...
•.. ...
... ...
Fig. 7.59
En él aparecen unas columnas ya conocidas, pues estaban contenidas en el FB, y
otras nuevas:
'
'
'
'
1
'
'
'
'
1
,,
'
'
'
'
'
'
'
'
'
'
1
'
'
'
1
1
Recuerda • • •
Un bloque de función
FB con parámetros es
aquel que contiene un
programa en el que el
resultado de su
ejecución dependerá
del estado que tengan
en ese momento los
diferentes parámetros
configurados. La
diferencia con una FC
es que los datos de la
ejecución del
programa serán
memorizados en un DB
de instancia.
Unidad 7 - Programación estructurada
COiumna Significado
Valor de arranque Valorque debe adoptar ta variable durante el arranque.
AJ aearel bfoquede datos, losvalOfes predetemilnados definidos en un bloquelógico se utilizancomo
vak>res de arranque. Estosvalores aplicados pueden sustituirse aquí"Poi'vaJofesde arranque específicos de la
inslanaa.
La indicadón <le un valor de arranque es Ol)Clonal. SI no se especdica nll1gÚn valor. la variable adoota el valor
P<e<le!erminado durante el arranciue. SI tamPoCO se ha definido ninQún vaJor 1><edetarmlnadO, se utiliza et
vaJoreslMdar villdO para ti UP<> dt datos. Por ejemplo, ti valoresündar de 800t.. ea 'FAI.SE"
Valor de obselVaclón Valorde datos actual en la CPU.
Esta coll.mna sevisualiza si existe una conexión onHne yse hace dieen el botón "ObseNar todo·.
Instantánea Muestra losvalores que se han cargado desde el dispositivo.
Fig. 7.60
A continuación, podemos comprobar el funcionamiento cargando todos los
bloques de programa, como es el 0B1, el FBl y el D81, aunque como se observa
en la ventana que nos aparece, ya nos avisa de los bloques que no existen o bien
que no son coincidentes con los existentes actualmente en la CPU y que además
se utilizan en el programa. Por tanto, es necesario cargarlos.
Poniendo online el programa con el PLC, visualizamos los estados de los
parámetros del bloque de función FBl:
• Ufll<l"'_J
.,,.,..,.,..._
· tfrll--)-
• 11101.�¡uu1iuc�
• .,,.._--..,_,<icJU1UC:KJO.,
· �¡;�:!::.
<
- G •
lc � Y.......••
. ...........,...._ .
.,,.........,_w..o,
.-.....10111 •
•*-ll)a•OOI •
•c......�flP••I e
i �.c.....,_1■J111fll111 e
• t--'.,.a-....,...115_, IDIJJ •
• 011,,w�
..,....--.
. ◄�....w...,u •
. .....w••,u
, _,.w
.....,..
.._...,,.,..,..,,...,
. _..............
l ;:1 1'Hn �-IUP'·---
·1=-��=- _.
..
�,OO .:.__
) í
19..-t.o.......-:fU"O•-- i
... ......
.., J'lnkl,l"
--.;:..
--
1,! • t, .. •I (l ♦l el
_ .....,...._
1,�;¡;.:;....,__._,.,
•o..·•- -=·--=-
]!:.;·�·�-
==----:......:____..:!i_
��-1--------c-.,.,,--..,....l:"'"
:;;;;;;;:::;:¡;:,..:.�c._·t:.=-.:::-........
> VltUl.t:.lllrdol '"IJ"""'--'ln O DI
Fig. 7.61
Si hacemos doble clic sobre el mismo bloque FB llamado, se abre automáticamente
el editor del programa de ese bloque, en el que, tras ponerlo online con el PLC,
tendremos la visualización actual del funcionamiento del programa:
• -•y
r¡.,.,._
. o.,.._,....
, :ai_,__.,,...,¡oouut__.,,
• !l .,._..,.,..,_,c ¡vu,z,�.oc.o
• ...11,...-........,.¡w,:i;�-- Cil
n�--�­
s. °"",.......,.
........,......_ .
..,.,_....,
•i.-ic-11
·"-IOt,lfOI
•t....,._r....,._111t111
l t....c..�..••JlllfflJ
1 t-.i..m....n..tt11..1 �
· -­
,,_,__
• 4Vll"""""l'U.
• ,......,u.
._..................._,___
' �­
• · t1o••,.....,..._
i, _._.
..4,t,..._
Uoll•·­
. ... ........ln
Fig. 7.62
◄► ◄,► - e - ...,
... �l, on,111,•••-•""••••"'·"'
..::::;...
i l f··--------
"' "'"'°"".....
-¡-• ., t, "'" •I '1 4ij ¿¡
.., ,.,_,..__.....
Fig. 7.63
241
Unidad 7 - Programación estructurada
Recuerda • • •
Para la visualización
del programa online
con el PLC o PLCSim, y
cuando se realizan
diferentes llamadas a
un mismo bloque de
función FB
parametrizado, se
deberá indicar el DB
de instancia asociado
en cada llamada para
poder visualizar el
funcionamiento
correspondiente a la
llamada.
242
Al ser el programa del bloque FB, desconocemos con qué DB de las dos llamadas
se está visualizando el programa. Para averiguarlo o bien cambiar la visualización
con el otro DB hemos de pulsar sobre el icono · que encontraremos en la
esquina superior derecha del editor de programa KOP. Al hacerlo, se abre la
siguiente pantalla:
Qi'ingur� Pntucl,
� e1oque dP de10.-*"'ii.r1e,1
l�c.ndroJIIJ)9_1 ID821
.., · - �
1
Fig. 7.64
Donde al seleccionar la opcIon Bloque de datos de instancia se habilitará el
acceso para elegir de la lista habilitada con qué DB se desea visualizar el
funcionamiento del programa.
Si observamos también la visualización online del bloque de datos de instancia
asociado, D81, vemos cómo registra el valor del estado actual de todos los
parámetros configurados:
Control_Ollndro_FB_OB
Nombre Tipo drdttos V1Jorde 1rr1oque Vakit dt> ObSffVKión Aemanff!cr, Accníbledl'5deHMI Vi)lble' m HMI v.ior de 1¡uste' Comfflurio
-O • Input
C • Orden_Avan.lltr_Cilindro Bool
.g • Orden_Reuocedrr_úlindro 8001
C • Oetector_Cil1ndro_lW1nu• 8001
5 -Q • Rrse.,_Conador 800/
<:I • Output
-O • EV_,lw1n:ar_Cilindr0 Bool
C • EY_ktroceder_Cilindro Bool
<J -. lnOut
O ..g • Mllm0br1s_Re111imdu lnt
1 -0 • Static
-C • Fl,nco Bool
....
""'
ttbt>
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Fig. 7.65
r
También nos podemos aprovechar de las variables declaradas en el DB de
instancia para utilizarlas en el programa de forma independiente, por ejemplo,
podemos programar lo siguiente:
"Control_
Glindro_FB_
DB".EV_
N'anzar_Cilindro
'!IQ2.2
"Hl_�RDE"
>--- Fig. 7.66
Según lo que se ha programado, la variable parametrizada EV_Avanzar_Cilindro,
del DB Control_Cilindro_FB_DB, que corresponde con el D81, determinará el
funcionamiento del piloto verde (Q2.2).
Por tanto, una vez llegado a este punto de conocimiento, podemos realizar un
resumen de las ventajas e inconvenientes de utilizar un bloque FC o un bloque FB.
Utilización de un bloque FC Utilización de un bloque FB
o Si se utilizan parámetros de tipo TEMP, o Se podrá utilizar en diferentes
no se podrán usar en diferentes llamadas, tanto si se utilizan
llamadas. parámetros del tipo TEM P como si no.
V
'
'

l
'
'



'
'
'
)
'

' Recuerda • • •

,
Mediante el sistema de
protección know-how
...----, se pueden proteger,
con una contraseña,
bloques FC y FB contra
lectura y
modificaciones.
)
'
'
'
l
'
Unidad 7 - Programación estructurada
Utilización de un bloque FC Utilización de un bloque FB
o Se podrán realizar diferentes llamadas o Se pueden utilizar para una
al bloque si todos los parámetros programación estructurada.
definidos son del tipo In, lnOut u Out. o Dispone de memoria, ya que las
o Se pueden utilizar para una informaciones del estado de los
programación estructurada. diferentes parámetros quedan
o No dispone de memoria, por tanto, guardadas en el DB de instancia asociado
ante un corte de alimentación a cada FB. Por tanto, ante un corte de
eléctrica, al restablecerse, el programa alimentación eléctrica, al restablecerse,
no habrá guardado ninguna el programa habrá guardado toda la
información de los parámetros información del estado de todos los
definidos. parámetros definidos.
7.4 Protección know-how de bloques FC y FB
Se pueden proteger los bloques, tanto FC como FB, de forma que el usuario tan
solo pueda tener acceso para utilizarlos, pero no para modificarlos ni visualizar su
contenido.
En un bloque con protección de know-how se pueden leer únicamente los datos
siguientes sin conocimiento de su contraseña:
o Parámetros definidos: Input, Output, lnOut, Return, Static.
o Título del bloque.
o Comentario del bloque.
o Propiedades de bloques.
o Variables de bloques de datos globales sin indicación de la ubicación.
Además, en un bloque con protección de know-how se pueden realizar las
acciones siguientes:
o Copiar y borrar.
o Llamar en un programa.
o Comparación online/offline.
o Cargar.
También se han de tener en cuenta las siguientes consideraciones:
o El programa del bloque no se puede leer ni modificar si no se dispone de
la autorización necesaria (contraseña).
o En las versiones offline y online de los bloques con protección de know­
how solo se comparan los datos sin protección.
o Sin la contraseña no es posible acceder al bloque.
o Las referencias cruzadas a variables, marcas, entradas y salidas utilizadas
en bloques con protección de know-how no se muestran ni siquiera
después de introducir la contraseña correcta.
o Si se modifica el número de un bloque, el componente binario cargable
del bloque ya no será actual. Eso significa que el bloque debe volver a
compilarse antes de cargarlo en un dispositivo, lo que en el caso de un
bloque con protección de know how solo es posible con la contraseña
correcta. Este punto debe recordarse especialmente si se desea copiar un
bloque con protección de know how a otro dispositivo que ya contenga
un bloque con ese número.
243
Unidad 7 - Programación estructurada
244
7.4.1 Protección de un bloque FC o FB
Para poder proteger un bloque FC o FB será necesario seguir los siguientes pasos:
o Seleccionamos el bloque que se desea proteger, en este caso el FBl, y a
continuación pulsamos el botón secundario del ratón y elegimos la opción
Protección de know-how del menú contextual que aparecerá:
,..,,.�11 1•- H• -t'S'•• C......
., 9 _...,._. & 11. •
-
O C> -
,..._.,.._.
,,�,�....
•"°'
. .. .,_......}Uu,71«
.............__ ,� ......1,
}t'..._.___., lll r---------------�-���-
. ....,__..........._.,tuuu-
..
. ... .
,,_..,..._••fb.llnll
IY �,...,�
1, 0o61r,...,..
..
... .,�-�
....._...,..,�
• -lmll
-��
•• �r
1 r�c�•--•"11
•�u.....,,ria..,...,,
• '.4 cai;,-�-
11 1,_ ..........
·---�
&-.
,......___
!!1-
.,_"<e• _______
ttV.�
-­
>-----------< >---
..,
__
, ,. _..., ft(
._. ..,_ ...._"(
, i.:; .........-....,......,._..
• �'-1.........
• & ""-.._,.........,__
� ........�.........
!ii t-•-
�
�
f-
-----------
--
--{
'�
, ..�
llilah
-
◄ . 1  ¡ 1, ��
Fig. 7.67
Aunque también podemos acceder al mismo punto desde la ventana Propiedades
una vez abierto el bloque a proteger. Seleccionando la opción Protección,
pulsaremos el botón Protección:
�"' lác"'"' "'" -• <wio,e' �•-,. .._,.._ •- ......
g ��• J. X ••
. .,_,,
.
�"P.........
....,.._,...,.
, ,tai........doatoofJCMmQIIIIJl
t ..JI _,lt.......,.._,_,c:t<N1>t...._
... _..,,_..,...._,.tcru1>"1«.-c.a..
11 ,....,._....�
J, 0.-,,y..,.,..
... � .,._,..........
,,...,.,.._.....,.
____,,
. ,.
....J,11'1..
ec�c""'"
..'�'"J
l t--L.rar....tll.ll9{1'J1!1J
,...-.._a-....111..!ll..1 ,:,t:::1
• � ca,,-.�
,.,.__
, :,.,-....,.n<
' !..S..,.._,.,._,u:
. ,..........._.,..__.,._.
• 4•�.....
..�................
..�.........,.
§ t,a,..._
. .. ..,... ....ib
.
, ....,_
,............
,__
,....,_
-
..,..__
• • > �C!:::ll:!11
Fig. 7.68
En cualquier caso, nos aparecerá la siguiente ventana:
Protección de know how X
J a
C:•ncelar
Fig. 7.69
J
.J
i
)
'
i
'
i
'
)
1
'
'
Recuerda • • •
Cuando un bloque de
programa ha sido
protegido, aparece un
cambio en su icono, un
candado, dentro del
árbol del proyecto.
Unidad 7 - Programación estructurada
Aquí, al pulsar el botón Definir, podemos introducir la contraseña deseada.
En este caso escribimos la contraseña «protegido»:
efinir contraseña
'
Diefi.nircontranña
Nuevt contraseña; Q
Confirmer contraseña ------- Q
Cencelar
Fig. 7.70
Definir contraseña 'x
Definircontreseña
Nueva contra5eña:
�!""!1!""!1___
111111
Q
Confirmarcontrueña Q
Cancelar
Fig. 7.71
A continuación, se deberá pulsar el botón Aceptar, para que aparezca la ventana
inicial, pero en esta ocasión con la contraseña definida:
Protección de know how
a
Definir
Fig. 7.72
Después hay que pulsar el botón Aceptar para finalizar esta configuración,
momento en el que se observa cómo justo a la izquierda del nombre del bloque
protegido en el árbol de proyecto aparece un símbolo diferente, además de
desaparecer el contenido del programa y mostrarse la información que indica que
el bloque se encuentra protegido.
.. �,0,l
lf......g"d""°'.,.
¡,. 01o-,..ff,
► 11 1)1Jt'11
...
Ktlol!fCPJ 11UC�
• ,. ,,.._�•c lCIJ u1..:;J11;10..
• !1 0l'-1to0,,,.ued,•,
..U t01.1 111..:;-.:,o
l'f �dt<lff d 1po,,.._
. OMltt y..,.._
.. . ,1oor••, ... ,,..,,,.....
•1ri1,_,,,,_....,.
• w., 1o91f
�
""f lOl!OCII
..;_,.Aj_ft :,,11
tonnl�.J'I.J)l (u.11
I CDRftl�.}l_ot_, 101:1
• • OllfttoNtt�ou
• 9 ,.,.ntu••••t1
1 a VtNDinl'I.C
• ..... 1H do,.. ,u:
1 ... T,bln dt oh,o�,.,_,..,•fo"""
• .i ,,uiu,. .....
• 1'0t.,, d,,,...,...,.,,,_._
-. �-·( ,..,.,,.,.
1o U.110,,11...
• ■ 161,,!o11tu1,
c..,..,,.,_..�,
Fig. 7.73
Si cerramos el bloque, al querer abrirlo de nuevo, aparecerá una ventana en la
que se solicita la contraseña:
Protección de acceso X
Introducir contra1eña ptra ºControl_Cilindro_FBº
:
--------------- a
Fig. 7.74
245
Unidad 7 - Programación estructurada
Recuerda • • •
Al abrir un bloque de
programa FC o FB
protegido mediante el
sistema know-how. tan
solo se podrá visualizar
la lista de parámetros
configurados, pero no
el programa.
246
Si la desconocemos o no introducimos ninguna, al pulsar el botón Aceptar,
aparecerá el mensaje «La contraseña no es válida»:
Protección de acceso X
Jntroduar c.ontrneñe p,tn, •Con:trof_Cihndro_f"B•:
X la contraseña no es válida X
Fig. 7.75
____, a
cancel:11r
Por tanto, si no la conocemos, tan solo tenemos la opc1on de pulsar sobre el
botón Cancelar. En ese momento se abre el bloque FB, pero sin programa visible,
aunque sí que se puede ver la lista de parámetros declarados, además del
mensaje « El bloque está protegido contra escritura porque tiene protección de
know-how».
• :., --.,
· -­
- �t�
, �.,_....,._,.,.,uv,nc-CAIC#il
• _. ,,•-•u1-..J<-tuu1:n«IUl
... ... .,.............,.,,.u,zt«...,_
IY�•·IM-­
s.�,.....-
... �......,,.,.,.,.._
,,..,_.....,
· ••I0911
·=�-..
l co.d...C....
J•.J19..1)
l <�<�J•--"'-' �I
....�,,.,...,.,,._
• ii •� -·
• C.v......Jt<
• C.�..,....,tt:
, t;.,1;.i... ....,.___,......,.....
, c................
. ....�
• f&: u.-•......�
111, .................
í¡ ,___
. ..........,..,,
i-0 • �-r-� "-
-O • Cfollnt.�_u,,,.;,,. -.
.O • ........,......
�..., ..
...
....
...
....
� ,.,,__!':'!
� ..,.__
.__. ---
fil , ---
- .._
...
Fig. 7.76
Si, por el contrario, cuando aparece la ventana para introducir la contraseña, la
introducimos correctamente y pulsamos el botón Aceptar:
Protección de acceso X
.___.....,_________ a
Fig. 7.77
Entonces, se abrirá el bloque y se visualizará todo su contenido, declaración de
parámetros y programa, aunque continuará con protección bajo contraseña:
1
'
'
'
'
'
'
'
'
'
¡
¡
¡
'
'
'
'
'
'
'
Recuerda • • •
Si se conoce la
contraseña, entonces
se puede desproteger
el bloque de programa
FC o FB.
Unidad 7 - Programación estructurada
�, ...,........,,.. i�........ ..,,..,.
X lr) .t. c» · ·A, m ll • "! :l �•........,- H
�� ... !I' .. .. E � JÍ�8 • .i• = t 1, ,, .. 9 '• .. .Y. -, l!l
• :,J l,lt,IIOJ,DJ
- "'INP••pm-
. l)upm_ )....
► :. 01_� 1ou 121«#ICAXlllll,t
t '.,a 01•-�d•t..fCIC,U121C:IICIO­
• 'a o11o_�f9 IOI U14CM:10....
lf�c,6,,·.,_­
� 0-,., )' ........
·-�··""""­
,. ..., _ w..i-
. IA.,fOSII
• s...,.. 109,001
1--- "° ""'"-""""
" "''l
¡ '-""'_candroJ•Jlll091J
j c_,,¡_m......J9_D1_1 (oe21
, r. oi,,... �
,.,__,..,.....
. ......w.,,u:
• !li.......-•-,u:
·��........_..,,.....,,._
, ,:-., ............
, :.o......,....••.,..._
......_.. •......,,._
iJ unu N •-
, ::a � iouln
-
o • -
-G • �-•-C..... tool .., .
G • �� lool 1"•
O • De-_�......,,.. ..,_
a • -..9'.c-i..""' ....,.
1 O • o,,,q,,,1
O • EVJw-r_CJ,,r,ó,,o aoo1 -'•
G • lV�_Cilirwov Wló•
,.. Segmentv, 1: Ot1plea,opmoo:OÓl'IÑ •�•....,
"',.,...,...,.Fl
..__
Fig. 7.78
7.4.2 Desprotección de un bloque FC o FB
o
8
8
B
B
B
El
[1
8 8
le! B
ª [1
B [1 8
Una vez tenemos un bloque protegido y se desea desprotegerlo, en primer lugar,
nos debemos asegurar de que este bloque no se encuentre ya abierto:
l'fo¡,Klll !do:,óo, V.. ---• ­
�u�pq'll<W .. lt l•
Dl1po,ltlvos
� Cl<l
• � Uttel0_7
• •oo•tln,.,....,
..Oolpol;_,.,.,
, :. 01_-..........10l u-1.i.: �
o '.,i o1��K(OU UIC:lltlD.
• ·
,a o11o_�,_IOl'J IZl 4C IIOO-
tf' � M ...,..._
1 °""""' Y�
. ,.,. ........�
.,...,...,_�
. .... IOfll
e sw,...1o1101111
- ��...
, Sj" .......,,e_,
, !4' .......w.. ,u:
. ...... . .... ,u:
• _1ow.,.......
-.dónt.,._..,...,,._
' --
• -.cfl
• fa o.- • ,..,• .__
llt �Ni .....-
il lion .-. .,_
• f.a i.-... 111u...
""••...-•·
Fig. 7.79
Seleccionamos el bloque protegido que deseamos
desproteger y pulsamos el botón secundario del
ratón, con lo que aparecerá un menú contextual:
Elegimos la opción Protección de know-how y se
muestra la siguiente ventana:
Protecci ó n de know h
�----- -----,X
f;i Ocultar código (protección de know how)
a
e.amblar
Fig. 7.81
Abrir
X c.on.r
� Cop11 r
- f't"!
r
X Borr.r
úmbiar nomb�
Supr
f2
COmpilu
Clrgu en dispositivo
*EstJtbleurcOM»ón onhM
•
'tf o, hio :,..r -
lnbrm1Cion de refrrenciH crwadn
� Refr�nc,as cruzadas
jJl Estructurt de ll1m1dn
!'l.no de ocu�ción
Cembfllr ler,gu•� de progr.mación
�1
Ml)'ÜHf11
1
F11
►
ii6%31-:IIJi:19Sri1
,A Im primir_
d
íJ.Visu p
_
�
_
'"'
_
'
_
"'
_
'-
______
• • · •
Ji P'rup1t'd1des_ "'��
Fig. 7.80
247
Unidad 7 - Programación estructurada
248
Aquí deberemos desactivar la casilla de
verificación Ocultar código (protección de
know-how):
Introduciremos la contraseña correcta, en
este caso, «protegido»:
Al pulsar el botón Aceptar tendremos de
nuevo el bloque desprotegido y
volveremos a visualizar el icono normal a
la izquierda del nombre:
,..,,.... tdxoln ff ........
i.! .. liJ �iwe,,t<-1111 ..
•l
• '.ao11>..-<ioo.ll(CJU121C:ACA>_
r, �(>6,,--p<»-
ji- o,,ili,,. y....
,li,1t,CO
- -1 ........., .... ,.,,......
................�
• u.w,foa11
- �-... fOllll)(lj
�
�-N!Nt .
CoM>el_OIM,.,JI_OlfOIII
l eo.-!..diNMJtJ111_1 pu1
• r.011it...._,,.,,....
, i..........,
..._,
, !:¡¡V•noble,1'1,C
• Cl'lp<ndtdo1"'JPC
• ttblo,MCIOlo,...ao,,yba•�""
· � --(.,.. .......
, ea-.u,
, i:ao.-•"""1.....,,.....-o
t,¡ lnb,f,oci6ftffl1'"'11"'IM
�w..,N...,.
- �1oui.,
@''111••..-•·
Protección de know how X
OOcultar código (protección de know how)
Contraseña:
i
Cambiar
Cancelar
Fig. 7.82
Protección de know how ·x
OOcultar código (protección de know how)
Contraseña: •••••..•••
Q
:',;;::;:;====---___,¡
Cambtar
Fig. 7.83
o
Fig. 7.84
7.4.3 Cambiar la contraseña de un bloque FC o FB protegido
Si lo que se desea es modificar la contraseña de un bloque ya protegido,
debemos, en primer lugar, asegurarnos de tener cerrado el bloque al que
deseamos cambiar la contraseña:
,..,...... {llit- ......
�� Q --i-,oo<to ,1, 11
• 1.11¡.,¡a.1¡
. s..m,p fOIIOOI
�::_:'1D11J
I Conni..C6idovJUJf_1 10aJI
• �Olf,-ltCIIGl6tk•
• ljl M-. �•"'"
, r:¡........w.....,
> ..,.,.INNICsfC:
, :,........*...........y....""-·
. ...........
• ·•«•
, 110._.._.,.,.._...,
l!¡ .........CD!ffl,....
.....
j¡I I.ISIUdr•-
t ........ loultl
Fig. 7.85
í
í
1
)
·1
'
'
'
'
'
Recuerda • • •
Si se conoce la
contraseña, también
es posible cambiarla.
Unidad 7 - Programación estructurada
Seleccionamos el bloque protegido que deseamos
desproteger y pulsamos el botón secundario del
ratón, con lo que nos aparece un menú contextual:
Abrir
X Curta1
� Copiar
Q[f Pegar
X 8orr1r
Cttl+X
Cvl-C
Supr
F2
Cambiar nombre
Compilar
Elegimos la opción Protección de know-how y se
muestra la siguiente ventana:
Cargar en dispositivo
JI EnabJ.rcer conexión online
•
• Oeshacer cooe-,;ón onl 11e
Protección de know how X
,;;: Oculta r código (protección de know how)
a
Ca mbia r
Información de re�rencies cn1211des Mll)'Ús•fl l
:# ��rencias crullldn F1l
l¡ Enructure de ll1m11d1s
� ptano de ocupación
Cambiar lengu1je de programación
íitil93319:i131:iIS&
,A 1mprim1r_
Í:" Vista prl!'liminar_
� PropiedadeL Alt+Entrar
Ca ncelar
Fig. 7.87
Fig. 7.86
Ahora debemos pulsar el botón Cambiar,
momento en el que aparece la siguiente
ventana:
Fig. 7.88
Seguidamente, hemos de completar los
tres campos con la antigua contraseña y la
nueva contraseña:
Fig. 7.89
Para finalizar, hay que pulsar el botón
Aceptar.
Fig. 7.90
Al pulsar de nuevo sobre el botón Aceptar,
nos aparece una ventana informativa
indicando que ha finalizado el proceso:
Fig. 7.91
La cerramos pulsando el botón Aceptar.
Cambfa'ícontraserla
-
-
'x
Antigua contraseña :
.__
_____
__,
lil
Nueva contra seña:
Confirmarconuaseña: ,----------, j¡
Aceptar Ca ncelar
Antigua contr11seña: n
::============::•
Nueve contrueña: a
Confirmar e.entra seña: a
PíOlección de know how
-
- --- 'x
a
'- Ca�
Aceptar
(0604·0002s9J 'x
o la contraseña se ha cambiado
correctamente.
7.5 Programación en Grafcet (VI)
En esta quinta parte de Grafcet vamos a ver cómo podemos estructurar en
diferentes bloques los programas diseñados en Grafcet. También exponemos
cómo elaborar un Grafcet con secuencias en los que intervengan macroetapas.
7.5.1 Estructuración de programas en bloques
Vamos a exponer con un ejemplo diferentes posibilidades de realizar la
programación, lineal o estructurada. Para ello nos basaremos en el ejercicio
249
Unidad 7 - Programación estructurada
Ml.l
Ml.2
Ml.3
M1.4
250
resuelto en el apartado 6.3.4, en el que además incluiremos el concepto de ciclo
continuo y de fin de ciclo.
o Ciclo continuo:indica que el proceso se irá ejecutando de forma continua
indefinidamente hasta realizar la petición de fin de ciclo.
,._r
o Fin de ciclo: indica que se ha realizado la petición para que cuando el
proceso realice el ciclo completo actual, se detenga.
Para ello modificaremos el llamado Grafcet principal, de forma que pueda
controlar ambas situaciones, la de ciclo continuo y la de final de ciclo. Este Grafcet
pasará a tener el siguiente diseño:
Grafcet principal:
MO.O
MO.l
M0.2
2.4
2.3
Intermitente (M8191.5)
Etap a XlO y Etapa X20
{Ml.O ' M2.0)
Este Grafcet realizará la función '--'
de puesta en marcha accionando
el pulsador de marcha. La etapa
Xl se pondrá en
funcionamiento, quedando de
forma estable en esta situación
(ciclo continuo). Para realizar la
petición de final de ciclo, se
deberá accionar el pulsador de .__,;
paro, pasando el Grafcet a la
etapa X2 (fin de ciclo) y
esperando a que realmente el
proceso finalice el ciclo actual en
funcionamiento.
Y en estos dos Grafcet, que corresponden cada uno a una de las secuencias,
también se ha modificado la primera transición y eliminado la última etapa­
transición, para ajustarlos al concepto de ciclo continuo y petición de fin de ciclo.
Grafcet secuencia 1 Grafcet secuencia 2
N Q2.2
Piotover«M
N Q0.6 N Q2.2
Bajar marudor Piloto Vfflfe
N Q0.7 N Q2.2
Subir marador Piklto vtrde
• Q0.4 N Q2.2
Muftí ¡nindt hKil urás
El multi ¡rand• •n posk:ión de reposo C•trú)
( 11.2 )
PilotowrO:.
MO.O
M2.1
M2.4
N QO.l N I-Q2
=
.l
=------I
E,ahorizonQI • la izquierda Pilotoanuirillo
QO.O N Q2.1
Rajar vffltou Piloto amarillo
• QO.O N Q2.l
Subirventosa Piloto amarillo
N Q0.2 N 1-=
Q2,.=.
l____--;
EJ• horizonat a la darech1 Piloto amuillo
V.ntosa .n posidón de reposo {dtrKha)
{10.6)
'-'
'
'
'
)
)
'
'
'
'
.,
'
,,
'
'
'
'
'
'
·,
' Recuerda •
Una forma de
' estructurar un
• •
, programa diseñado en
Grafcet es programar
' cada Grafcet en un
, bloque de programa
diferente.
.,
)
'
1
1
'
Unidad 7 - Programación estructurada
Una vez tenemos del diseño de los Grafcet que intervienen, podemos realizar dos
tipos de programación:
o Lineal.
o Estructurada.
• Lineal
Se trata de realizar todo el programa en un único bloque de programa, por ejemplo,
en el OB1, o en un FB o una FC, y después realizar la llamada desde el OB1, tal y
como se ha resuelto en el apartado 6.3.4.
• Estructurada
Se trata de realizar el programa utilizando diferentes bloques de programa, por
ejemplo:
OB30: programa correspondiente a la comunicación con el Simulador 3D.
OB1: llamada al resto de bloques de programa.
OB100: puesta en marcha de las etapas iniciales de todos los Grafcet.
FCl: programa correspondiente a la activación de las etapas del Grafcet principal.
FC2: programa correspondiente a la activación de las etapas del Grafcet secuencia 1.
FC3: programa correspondiente a la activación de las etapas del Grafcet secuencia 2.
FC4: programa para la activación de las salidas.
Por lo que nuestro proyecto tendría la siguiente estructura:
• 303_Ejt'rcll'ic, E•buc:tura<ion -- (CPU 121«. ACJDC'Jlli,i
11 Cot1figureci6n de cf
1>posñr,,os
� Onlíne ydiognés11<0
• fo, 81oqUH de prc,grem•
WAgregn n1.,ievo bloque
.. C)cic intrrn,pt [0830)
.. Mtin (061)
a- St>nup [0B100)
a- OO_Glltícet.)'ñncip,tl [fCtJ
.. Ot_G<•lc�t'Cuencio_l [1<2)
• 02_Gntlcrt_St'Cuenóo..). [ro¡
a 03,fallidH (f<�I
► ,- Objetos ""'1101ógícos
Fig. 7.92
También se podría ir ampliando si fuera el caso, por ejemplo, crear nuevos FB o FC
para temporizadores, contadores, etc.
• Programa en diagrama de contactos
El programa que responde al diseño del Grafcet dado sería el siguiente:
o FCl. Activación de etapas del Grafcet principal.
�
tM) �
1
-· 111(),2
"S1_WKHAº
,Y0,1
"Sl_PN()º
tMl.1
'HN'A l "
;
s
1-----<
u.o
._______·-!
rr�� Fig. 7.93
251
Unidad 7 - Programación estructurada
252
Segmento 2: GR.AfCETPIUNCIPAL. Activación ETAPA2 ydetactivadón ETAPA 1 ----
'!IM'.l.1
'ET-'l'A l '
'!U0.1 '!IM>.2
'S 1 _pAAQ" "ET-'l'A 2"
-v-�,�--�
;
s r--
'IIMJ.1
L----------------'
'ET�
A
�
Segmento 3: GRAFCHPRINCIPAL Activ11ci6n ETAPAO ydenctivad6n ETAPA2
'IIMJ.2
'ET-'l'A 2'
'MM1.0
'ET-'l'A 10'
'IIM2.0 Wl.0
'ET-'l'A 20' 'ET-'l'A O'
1 1---
¡ �-----J
;
S r--
'IIMJ.2
._
_
_
____
_
•ET�
:A
�
o FC2. Activación de etapas del Grafcet secuencia 1.
Fig. 7.94
Fig. 7.95
Segmento 1 : SECUENCIA l.Activ11ción d-e 1a ETAPA 1 1 ydeuictiraci6n ETAPA 10 Segmento 2: SECUENCIA 1 h:tivdción de la ETAPA 1 2 y de,¡1ctllación EWA 1 1----�
1M1.0
ºETAPA 1 0•
'IM0.1
ºETAPA 1•
,n.4
"89_eo
M<RCAOOR
AARl8A•
Fig. 7.96
,.,.2
'B7_dO MJLTI
GRANDE "11.11.1
DENlRO" ºETAPA 1 1
•
�1 �
'APA 10"
R }---,
Segmento ,3: secmNCIA ,. Acdvadón de la ETAPA1 3 y detil(llJ.eciÓn ETAPA l 2
'IMl .2
"E"TAPA 1 2"
,n s
·a,o_e,
MRCAOOR
ABAJO'
"lM1.3
"E"TAPA 1 3º
;s }---,
"'41 .:l
�------------
•
-
n
-<
�
R
A
;_
Fig. 7.98
Sltgmento 5: FINAL SECUENCIA. 1 . ActiVaci6n de le Ef/,JtA 10 ydesaclNadón E"TAPA 14
,., _2
•a1_do wn1
GRANDE
OEN'mo•
1M1 o
ºEiAPA 10•
1M1.4
l-3''
1 _,,. ,.,_1
'B8_dl M.ILTI
GRANDE FUEAA"
W1 .2
0E'TAPA 1 '2"
"'-411
;s }---,
._
___________
_•
_
e
,_¡
T"_
A;::__.
Fig. 7.97
Segmento 4: 'SECUENCIA 1. Acttved6n di! la E'TAPA 14 ydnactivad6n HAPA1 l----�
'IMU
"E'fAPA 13•
,,,_.
089_1!0
MRCAOOR
AANBA'
1M1.4
"E"TAPA 1 4•
1M1 .,
;., }---,
._
____________•
_
e
...¡
TH:�
Fig. 7.99
;.s }---,
L---------------l
'ET".A
;_ Fig. 7.100
o FC3. Activación de etapas del Grafcet secuencia 2.
Segmento 1! INICIO 'SECUENCIA Z. h.citaci6n de la ETf,J'A 11 ydl!'Jiactfo.H,d6n ETAPA J:O
1M0.1
'ET.AIA i'
"°··
'B3_bo
vtN105A
DERECHA'
Fig. 7.101
"°··
•e,_eo
vtNnJ5A
AAAIBA'
1M2.1
'Er/l'A l1'
Segme11to 2: INICIO SECUENtlA 2, Acd1..sdon die l,1 ETAPA lZ ydl!'lie<tW.sdón ETAPAll
"'-42.1
'E TAl'A l1'
"°1
'8d. b1
vtN"lÜ5A
IZQUIERDA'
1
""42.2
'EWA ll'
;' }---,
W.2.1
'-------------•
-
n
_,
7
R
A
�
Fig. 7.102
.'-"
'--../.
l
)
)
'
'
'
)
'
'
'
1
1
'
1
1
'
1
'
1
'
'
'
1
'
'
1
)
)
1
1
1
1
1
1
1
'
Segmento 3: SE.(JENCIA 2 .Activación de la ETAPA 23 yde,actiltJCIÓO ETAPA 22
____�
"IM2.3
•nMA 23"
;s }------<
'IM2.2
�------------
•ETAP
....:;_
Fig. 7.103
Segmento 5: FIN OE SECUENOA 2. Activación de la fTN'A 20ydeu.cti�11ci6n ETAPA 24
.....2.4
"ETAPA 24"
"".6
"e3_b0
VENTOSA
OE.RECHAº
,...2.0
ºETN'A 20º
'IM2,4
Unidad 7 - Programación estructurada
.., Segmento 4: SEOJENOA 2. Act1·.-ac16n de la ETAPA 2-4 y-deactiyac16n EWA23
"B1JO
r
...,.
��
f-
-�
-
"---
�
�
�
l-
�
-
� -�-----------
•EW
--1
...
;}�
...2.3
�-----------·
-
•
w
... ;;__
Fig. 7.104
;s }------<
·n.y.
"�
'------------1- � Fig. 7.105
o FC4. Activación de las salidas.
Segmento 1: Manip.llador de carga fje, vertical. Electro•111lvuh1 bie,uble. Des.pla2B r a posición .,.
'IQ0.4
•y5_
"IM1 1 WLllPOStOONAL
,.,,Al-
·1_
1•
--------------------
G�
�
�
Fig. 7.106
Segmento 3: Mampula dor de c11r911. Eje ..,erticel. Electrovalvu!a bie,rable. Oe,pl11,11r fl po�ición•
'IQO.O
,..22 "Y1_8AJAR
,.,,Al-
2
-
2
º
--------------------VE
---I
��
Fig. 7.108
'IQ0.1
w.Q.1 "Y2_IENTOSA
H'A
,_
2_
1 •____________________
A
_
IZ
-<
QUIE�
Fig. 7.110
Segmento 7:
'IQ0.4
"YS_
'TM1 ◄ M.ILllPOSIOONAL
Af'Ar
1-
••____________________
GRAN
� R
�
Fig. 7.112
Segmento 9: Piloto de se/'ialiiación amu1Ha
'IM2.2
ºETN'A 22º
'f.M2.3
ºE.WA23º
'IM2.4
"E.TN'A 24º
Fig. 7.114
11)2 1
ºHOJ.M,'JULLOº
Segmento 2: Ma nipulador de u rge. Eje vertical. Electtovalvu!e biesU1bte. De,p!eair a pos.ición -.
1 "11
'IQ0.6
��
l-
�
-
'---------------------
�
-
Y7
�
-·
�
Fig. 7.107
Segmento 4: lvenipulador de carga. Eje vertical. Electro.,.alvula biest11ble. 0r,p!1.ar a po,ición �
1 "11
'IQO.O
µ�1-�-'---------------------·-
���
�
Fig. 7.109
'IQ0.2
IM2 4 "Y3_E.NTOSA
H'A,_
·,
_
•·____________________•
_
oe
...,"c;:_.
Fig. 7.111
Segmento 8: Mllnipulador dr carga.E"JI!' 11
rrtical E.lrctro...alwla birua bll!'. De1.pla2Br a po�ición ..,
'IQ0.1
1M13 ºYS_SUBIR
Af'Al-
1-
3"
____________________
MAACAD
---I ;:_.
Fig. 7.113
Segmento 10: Piloto de �etah:mción verde
"f.M1.1
ºElAPA 1 1º
,..,.,
ºE1APA 1 2"
...1 .l
ºEWA 13º
'IMl.4
"ETAPA 14º
Fig. 7.115
1()22
ºHt_VERDEº
253
Unidad 7 - Programación estructurada
254
Segmento 1 1 : Piloto die ,;,eftah;uci6n roJO
�
A
f-
"a-
___________________
"H
---1
�2- Fig. 7.116
o OB1. Llamada a los bloques de programa.
,.. Segmento 1 : Llamad.1 al b�u,e FC1 doel 9raft:ietpriocipal
'.i·<.1
"OO_Graket_Prindp,r
�
EN ENO ----------------
Fig. 7.117
1 "02_Gr.Jfc
:'.
��uenda_.r
� EN Ef,40 -----------------<
Fig. 7.119
1 "Ol_Greke
:
�uefKLa_1•
� EN ENO ------------------< '-.../
Fig. 7.118
Segmento 4:
1 -OJ_��-
� EN ENO --------------------- '-.../
Fig. 7.120
o OB100. Activación de las etapas iniciales de cada Grafcet.
'J,l,16190.0
•FírstScan•
'J.M6190.0
•FírstScan•
%M81 90.0
•FirstScan•
'J.MO.O
"ETAPA O"
( .� )------t
'J.M0.1
"ETAPA 1"
( RESET_BF r-4
'J.Ml.O
"ETAPA 10"
( & )------t
'J.Ml .1
"ETAPA 1 1 •
( R[SET_Bf r-4
4
ªlo'.12.0
"ETAPA 20"
( s )----,
'J.M2.1
"ETAPA 21"
( RESET_BF r-4
4
Fig. 7.121 V
V
V
Fig. 7.122
Fig. 7.123
Por tanto, podemosindicar que la estructura de este programa sería la siguiente: ____,,
V
Fig. 7.124
)
)
)
)
'
'
'
'
)
'
)
)
...
)
)
1
)
)
1
1
)
1
1
)
)
'
)
1
Recuerda • • •
Cuando una parte de
la secuencia se repite
varias veces dentro del
mismo ciclo de
funcionamiento, se
puede programar la
secuencia repetitiva
en otro Grafcet que
será llamado desde el
principal. La etapa que
se encarga de realizar
la llamada a la
secuencia repetitiva se
conoce como
«macroetapa».
Unidad 7 - Programación estructurada
7.5.2 Macroeta pa
En este apartado vamos a introducir el concepto de macroetapa, que es una
representación simbólica de una parte de un Grafcet, parte conocida como
expansión de la macroetapa. Tiene como misión descomponer Grafcet complejos
en subgrafcets más pequeños para su mayor entendimiento, así como facilitar su
estructuración. Gráficamente se representa como una etapa normal con dos
líneas horizontales en cuyo interior se escribe un identificador que empieza por la
letra M seguido de un número identificativo, por ejemplo M5:
Fig. 7.125
Pero antes de iniciar la exposición de utilización de una macroetapa, vamos a ver
cómo se representa un forzado de un Grafcet a una etapa concreta, ya que es la
operación que se va a utilizar en el desarrollo de las macroetapas.
• Forzado de un grafcet a una etapa o etapas
El forzado de un Grafcet sobre otro establece una relación jerárquica de mando
del primero sobre el segundo. Podemos identificar al Grafcet que fuerza como
«Grafcet maestro» y al que es forzado como «Grafcet esclavo».
Como orden de mando, es también una acción que permite imponer un estado
actual de la evolución del Grafcet que recibe la orden (esclavo). La ejecución del
forzado tiene prioridad sobre las reglas de evolución ordinarias.
Para representar un forzado, este se realiza en una acción asociada a la etapa
definida como macroetapa, donde la descripción de la acción emplea la sintaxis
que identifica el estado al que se quiere forzar el Grafcet esclavo.
La norma prevé las siguientes pautas de evolución del forzado:
o Desde el punto de vista del Grafcet maestro, la acción de forzado es una
acción continua convencional, que dejará de ejecutarse al desactivarse la
etapa a la que va asociada.
o Como consecuencia de la orden, el Grafcet esclavo se sitúa en el estado
de actividad de etapas descrito en la orden recibida.
o Mientras está activa la etapa forzante en el maestro, el esclavo no puede
evolucionar (se dice que está congelado), es decir, que el Grafcet forzado
(esclavo) no evolucionará, aunque se cumpla la transición
correspondiente mientras se mantenga el forzado desde el Grafcet
maestro.
A continuación, se muestran diferentes ejemplos de acciones asociadas con
forzados. Algunos ejemplos son de acciones asociadas a etapas intermedias, pero
también pueden ser con etapas iniciales y macroetapas:
o Al activarse la etapa 2, se fuerza la etapa 12 del Grafcet 5 y se desactivan
las restantes.
255
Unidad 7 - Programación estructurada
Recuerda • • •
Desde una acción
asociada a una etapa
de un Grafcet, se
puede provocar que el
funcionamiento de
otro Grafcet pase su
estado a una etapa o
varias etapas
concretas.
Recuerda • • •
Desde una acción
asociada a una etapa
de un Grafcet se
puede provocar que el
funcionamiento de
otro Grafcet se
detenga en su etapa
activa actual,
quedando este último
«congelado».
256
N F G5: 12
Forzar etapa X12 del grafcet 5
Al pasar a programar esta acción asociada, hemos de suponer, por ejemplo, que el
Grafcet esclavo se inicia en la etapa 10 (Ml.0) y finaliza en la etapa 17 (Ml.7).
Entonces debemos escribir en el byte un 4 y de esta forma activamos tan solo el bit
2 (Ml.2, etapa 12) del byte, en este caso MB1, poniendo a cero el resto de bits.
NQ etapa 17 16 15
Bit Ml.7 Ml.6 Ml.5
=4 o o o
'J.M0.2
APA2" MOVE
1----EN -
4-IN 'J.MB1
�} OUTl - "'Grafcet_Esclavo"'
14 13 12 11 10
Ml.4 Ml.3 Ml.2 Ml.1 Ml.0
o o 1 o o
Fig. 7.126
o Al activarse la etapa 5, se fuerzan las etapas X17 y X22 del Grafcet 2 y se
desactivan las restantes. Este caso de forzado a múltiples etapas se puede
producir en los Grafcet con secuencias simultáneas o bifurcación en Y.
N F G2: 17 22
Forzaretapa X7 yX22 del grafcet2
Al pasar a programar esta acción asociada, hemos de suponer, por ejemplo, que el
Grafcet esclavo se inicia en la etapa 10 (Ml.0) y finaliza en la etapa 27 (M2.7).
Entonces debemos escribir en el byte MBl un 128, y en el MB2 un 4. De esta
forma activamos tan solo el bit 17 (Ml.7, etapa 17) del byte MBl y el bit 2 (M2.2,
etapa 22) del byte MB2, poniendo a cero el resto de bits. También, para
simplificar el programa y al ser el MBl y el MB2 dos bytes consecutivos, podemos
escribir el valor 32772 en el MW1.
N9 etapa 17 16 15
Bit Ml.7 Ml.6 Ml.5
=128 1 o o
NQ etapa 27 26 25
Bit M2.7 M2.6 M2.5
=4 o o o
�:/2• MOVE
---EN -
32772 -IN 'J.MW1
14
Ml.4
o
24
M2.4
o
.;} OUTI - •Grefcet_Esclavo·
13 12 11 10
Ml.3 Ml.2 Ml.1 Ml.0
o o o o
23 22 21 20
M2.3 M2.2 M2.1 M2.0
o 1 o o
Fig. 7.127
De la misma forma que el valor introducido es un valor entero (32772), se puede
introducir en otros formatos, por ejemplo:
Binario: 2#10000000 00000100
Hexadecimal: 16#8004
Al activarse la etapa 14, el Grafcet 3 se detiene en la etapa actual, con lo que
conseguimos que el Grafcet quede «congelado».
1 1 1 1 1 1 1 1 1 1
� :
MO S � I / { , )
'
'




1
í
í
1

1






í

í
l
'
'

Unidad 7 - Programación estructurada
F G3: *
Forzarel grafcet 3 a la etapaactual
Este caso se debe resolver de forma diferente a los casos anteriores, ya que se
desconoce la etapa en la que se encuentra el Grafcet a forzar en el momento del
forzado. La forma más sencilla es condicionar la llamada a ese Grafcet para que
pueda evolucionar siempre que la etapa X14 no se encuentre activada, lo que sería:
'Jl.11 .4
ºETAPA 1 4º
1if13
"U3_Grafcet_Secuenda_2•
l----l/1---- EN ENO -------------1
• Utilización de macroetapas
Fig. 7.128
Una macroetapa se utiliza cuando en un proceso se repite una determinada
secuencia varias veces en un mismo ciclo de programa.
Por tanto, se deberá diseñar una secuencia en Grafcet, que se pondrá en marcha
cuando la macroetapa se encuentre activa. Esto quiere decir que tendremos una
secuencia que se ejecutará varias veces en un mismo ciclo de programa y que en
el Grafcet principal tendremos en varios puntos de la secuencia una macroetapa
que indicará la activación de la secuencia.
Por ejemplo, tenemos un Grafcet con una secuencia lineal, Grafcet Maestro,
formada por ocho etapas, en la que en las dos etapas nombradas como Ml hay
integradas sendas macroetapas. Por otro lado tenemos otra secuencia lineal,
Grafcet Esclavo, formada por cinco etapas, más la etapa de entrada El, que tiene
la particularidad de que no es etapa inicial, y la etapa de salida 51:
MO.l
M0.2
M0.3
M0.4
MO.S
M0.6
Grafcet Maestro
N Acción asociada O
N Acción asociada 1
N Acción asociada 2
N Iniciar Macro 1
Actlvar etapa XH
N Acción asociada 4
N Acción asociada 5
N Iniciar Macro 1
Activar etapa XEl
N Acción asociada 3
Grafcet Esclavo
MS.O
M8.1 N Acción asociada 81
MS.2 N Acción asociada 82
MS.3 N Acción asociada 83
M8.4 N Acción asociada 84
MS.S N Acción asociada 85
MS.6
257
Unidad 7 - Programación estructurada
258
En el ejemplo anterior se observa cómo el Grafcet esclavo lleva obligatoriamente
una etapa de entrada, con nombre En y una etapa de salida con nombre Sn donde
n es el mismo identificador de la macroetapa de donde procede, Grafcet maestro.
En este caso, como la macroetapa la hemos nombrado Ml, las etapas de entrada
y de salida del Grafcet esclavo serán El y 51.
La evolución de la macroetapa depende de que una de las dos etapas Ml se
encuentre activa. En ese momento se fuerza el Grafcet esclavo a la etapa XEl.
Como la primera transición ya se cumple, podrá ser flanqueada y hacer que el
Grafcet esclavo siga su normal evolución, haciendo a su vez que el Grafcet maestro
no evolucione hasta que el Grafcet esclavo finalice la secuencia y active la etapa de
salida XSl. En ese momento el Grafcet maestro pasa a activar la siguiente etapa, la
X4 o la X7, desactivando a su vez la etapa de salida XSl del Grafcet esclavo, que
queda sin ninguna etapa activa y preparado para un nuevo ciclo.
7.5.3 Programa basado en diseño Grafcet
Para practicar con este tipo de secuencia vamos a plantear un ejemplo basado en
el control del manipulador de grabado del simulador 3D, en el que se desea
controlar el movimiento de los dos manipuladores, el de grabado y el de carga. El
de grabado, gobernado por una electroválvula biestable, deberá realizar sus
movimientos tres veces controlado dentro de la secuencia principal, secuencia
principal que además trata de controlar el cilindro de doble efecto
multiposicional, formado por dos cilindros, uno grande y otro pequeño, estos
gobernados por una electroválvula monoestable cada uno. Todos los cilindros
disponen de sensores de posición para las dos posiciones: reposo y avance.
Además, se deberán indicar los diferentes estados de funcionamiento mediante
los pilotos de la baliza de señalización.
Cilindro
multíposícional
Cilindro marcador
Fig. 7.129
• Condiciones de funcionamiento:
En este caso diferenciaremos el funcionamiento en dos secuencias diferentes,
como son la secuencia máster y la secuencia esclava (macroetapa). Incluiremos
también otra para poder controlar que el funcionamiento sea en ciclo continuo o se
pueda solicitar un paro fin de ciclo.
Unidad 7 - Programación estructurada
GRAFCET PRINCIPAL:
- Al poner en marcha el sistema, tendremos activado el piloto rojo (Q2.4), que
indica que el sistema está parado.
- Al accionar tan solo el pulsador de marcha (10.2), se dará la orden para que el
proceso inicie su funcionamiento, indicándose esta situación mediante la
señalización del piloto amarillo. En este estado, el funcionamiento se
realizará de forma continua ciclo tras ciclo.
- Cuando se desee dar la petición de fin de ciclo, tan solo hay que accionar el
pulsador de paro (10.1) para pasar al estado de espera hasta que finalice el
ciclo completo actual. Este estado quedará señalizado mediante el
funcionamiento de forma intermitente del piloto amarillo.
- Cuando el ciclo actual de funcionamiento del proceso haya finalizado
totalmente, el proceso quedará totalmente detenido y volverá a funcionar el
piloto rojo a la espera de iniciar de nuevo otro ciclo mediante la activación
del pulsador de marcha.
SECUENCIA GRAFCET MÁSTER:
- Si se dispone de la orden de funcionamiento dada por el Grafcet principal, y
si el cilindro multiposicional grande y el pequeño están en la posición de
reposo (dentro) (11.0 * 11.2) y además el cilindro marcador también se
encuentra en reposo (arriba) (11.4), los cilindros multiposicional, tanto el
grande (Q0.4) como el pequeño (Q0.3), realizarán el movimiento para
alcanzar la posición de avance (fuera).
- Cuando los dos cilindros multiposicional, el pequeño y el grande, se
encuentren en la posición de avance (fuera) (11.1 * 11.3), se deberá ejecutar
la secuencia correspondiente al cilindro grabador (macroetapa).
- Finalizada la ejecución de la secuencia del cilindro marcador, el cilindro
multiposicional pequeño retrocederá a su posición de reposo (dentro) (Q0.3).
- Cuando el cilindro multiposicional pequeño se encuentre en la posición de
reposo (11.0), se volverá a ejecutar de nuevo la secuencia correspondiente al
cilindro marcador (macroetapa).
- Finalizada la ejecución de la secuencia del cilindro marcador, el cilindro
multiposicional grande retrocederá a su posición de reposo (dentro) (Q0.4) y
el pequeño avanzará hasta alcanzar su posición de avance (fuera) (Q0.3).
- Cuando el cilindro multiposicional pequeño se encuentre en la posición de
avance (fuera) (11.1) y el grande se encuentre en la posición de reposo (11.2),
se deberá ejecutar de nuevo la secuencia correspondiente al cilindro
marcador (macroetapa).
- Finalizada la ejecución de la secuencia del cilindro marcador, el cilindro
multiposicional pequeño retrocederá hasta alcanzar su posición de reposo
(dentro) (Q0.3).
- Cuando el cilindro multiposicional pequeño alcance la posición de reposo
(dentro) (11.0), se volverá a ejecutar de nuevo la secuencia correspondiente
al cilindro marcador (macroetapa).
- Finalizada la ejecución de la secuencia del cilindro marcador, el contador C0l
registrará el número de ciclos realizados, visualizando su valor actual en el
registro Procesadas rojas (MW7010). Justo en ese momento se activará de
nuevo el piloto rojo (Q2.4) y el sistema quedará preparado para empezar de
nuevo el ciclo.
259
Unidad 7 - Programación estructurada
260
- Durante todo el tiempo que dura la secuencia debemos tener activado el
piloto verde (Q2.2).
- Únicamente cuando el sistema se encuentra detenido, etapa inicial de esta
secuencia principal, será cuando al accionar el pulsador de reset (12.6) se
pondrá a cero el contador de ciclos.
SECUENCIA GRAFCET ESCLAVO (MACROETAPA):
- Dada la orden de ejecución de la secuencia de la macroetapa, se activará la
primera etapa de la secuencia (etapa de entrada).
- En ese momento el cilindro marcador avanzará hasta alcanzar la posición de
avance (abajo) (Q0.6).
- Alcanzada la posición de avance por el cilindro marcador (11.5), debemos
esperar 2 segundos antes de iniciar el movimiento de retroceso (arriba)
(Q0.7).
- Alcanzada la posición de retroceso por el cilindro marcador (11.4), se dará por
finalizada la secuencia de la macroetapa.
- Durante todo el tiempo que dura la secuencia debemos tener activado el
piloto azul (Q2.3).
• Desarrollo del Grafcet
A continuación se presentan los Grafcet que dan respuesta al enunciado dado.
Grafcet principal
Este Grafcet realizará la función de puesta en marcha accionando el pulsador de
marcha. La etapa Xl se pondrá en funcionamiento y quedará de forma estable en esta
situación (ciclo continuo). Para realizar la petición de final de ciclo, se deberá accionar el
pulsador de paro, momento en el que el Grafcet pasará a la etapa X2 (fin de ciclo),
esperando a que realmenteelproceso finalice el ciclo actual en funcionamiento.
M2.0
M2.1
M2.2
Etapa X0
(M0.0)
2.3
Intermitente (M8191.5)
Grafcet esclavo que corresponde a la secuencia de la macroetapa 1 controlada
desde el Grafcet maestro.
2.4
2.3
Piloto amarilo (petición fi1 ciclo)
'
'





'
'
'
'
'
'
'


1
'
'
'
'

'
'


'
Unidad 7 - Programación estructurada
MS.O
MS.1
2.3
Piloto azul
MS.2
Tiempo de esp era de 2 s.
DB TON TOO PT:= 2s 2.3
Piloto azul
MS.3 2.3
Piloto azul
MS.4
Grafcet maestro que corresponde a la secuencia general que, entre otras cosas,
controla el Grafcet esclavo mediante las macroetapas.
MO.O
M0.1
M0.2
M0.3
M0.4
MO.S
M0.6
M0.7
Ml.O
Activada etap a salida xSl macro etapa 1
(MS.4)
MB.4
Etapa 51 (Macro 1)
MB.4
Etapa 51 (Macro 1)
MB.4
Etapa S1 (Macro 1)
261
Unidad 7 - Programación estructurada
262
• Programa en diagrama de contactos
Antes de empezar a introducir el programa presentamos el diseño para
determinar cómo vamos a estructurarlo:
f,!;_1-
: (Grafcet pnncipal) ,f.
�'?').wr,J�
(Salidas)
Fig. 7.130
Por tanto, nuestro proyecto estará formado por los siguientes bloques de
programa:
• .al 04_Ejer<kKJ MACRO MAltOOOft(CPU 12HCA,C/OC/IU)I
fJ't Configuración de dispositivos
� Online ydiagn6sóco
Bloques de programe
IrAgregarnuevo bloque
• Cyclic interrupt 108301
,a.Moin(OBI]
• Startup 1oe100J
• oo_GO_Grafcet principal (FCll
• 01_Gl_Gr1fcet maestro (FC2J
• 02_G2_Greftet esclavo(FC3)
• 02_Salidas (FC4J
a, 03_'Temporizadores (FC5J
a- 04_Conuido�s (FC6J
.. OS_fon:ados fFOI
• � Bloques de sistema
.., 57 �cursos de programa
1 Iec_counter_0_08 (0821
l 1ec_límer_o_oe (081I
Fig. 7.131
De este modo, el programa de cada uno de los bloques, que responde al diseño
de los Grafcet dados, sería el siguiente:
o FCl. Grafcet principal. Activación de etapas.
Segmento 1: Activación de la ETAPA 21 yde,activación de la ETAPA 20
"/,M2.0
"ETAPA20"
'1.I0.2
"S2_MARCHA"
'110.1
"S1_?ARO"
'J.M2.1
"ETAPA 21"
;
s
>---
"/,M2.o
"
ETAPRA
�
'----------;. .------- Fig. 7.132a
• Segmento 2: Activación de la ETAPA 22 yde,activación de la ETAPA 21
"/,M2.1
"ETAPA 21"
'110.1 'J.M2.2
"S1_?ARO" "ETAPA 22"
l/lf------r-- ----;;
s >---
"/,M2.1
"
ET
APRA
�
'--------------t- .------- Fig. 7.132b
1-------,1 1-
1 -.------
'
'
'
'
'
'
'
'
'
'

'
'

'
)
'
1
Unidad 7 - Programación estructurada
Segmento 3: Activación de la ETAPA 20ydesactivación de la ETAPA22
'IM2.2
"ETAPA22"
'IMO.O
"ETAPAO"
'IM2.0
"ETAPA20"
'IM22
;s}-------,
"ETAP
R
A
�
'---------------1- ,------, Fig. 7.132c
o FC2. Grafcet maestro. Activación de etapas.
• Segmento 1: Acuv1cióndr 11 EWA l ydenctr.r1d6n dr 11 ETAPA O
"IIU -., o 11U
ºB7_d0WL11 ·es_cOWLll '89_1!'0
......,
"ETAPA l"
"".:;',
1-
·••
_
· ___
·e:2"
-I Al-
;-
,._--
�
-1
=
1-
•
-
· ---
�
-1
��
1-
"°
-
· __-
_
""'
-1 "'" '
U��
WA Cí"
•>----
Fig. 7.133a
• Segmento 3: ActIV1c16n de 11 ETN'A3 ydencti11c16n dr la ETAl'A_
MAC!IO
�-
--
'•- � --
�
'IM)A
1 _,..
�-•
1
_
,
e
-
A
"ET.N'ASl"
'IM).]
ºET.N'A 3"
�------------f-�
Fig. 7.133c
'IM).5
"ETN'AS"
;
s
)-----<
....,_.
�------------
·
-
MKRQ
-(
R �
Fig. 7.133e
....,.,
"ETN'A7"
;
s
)-----<
....,_.
�------------·
-
MKRQ
..... �
Fig. 7.133g
• Segmento 9: Actw,c:rón � I• ETAPAOydl'UttlYll;IÓn de lt ETAl'AIIN;CRO_td
�-
º
1 __,, -
A
"ETN'ASr
"'"'·º
"ETN'AO"
;
s
)-----<
"""'·º
�------------•
-
MKRQ
-(
R �
Fig. 7.133i
... Segmento 2:
....,_,
"ETN'A 1"
• Segmento 4:
'IMl.3
"ETN'A 3"
• Segmento 6:
....,_,
"ETN'AS"
W1.3
"B8_d1 MULTl
GR,&NOE FUERA"
..,.,
"B7_d0 KILTI
GIWIDE
OENTRO"
W1.1
"86_c1 MULTI
PEQUEÑO
FUEPA"
Fig. 7.133b
....,.,
"M.ACRO_la"
;
s
)-----<
....,_,
�-------
-rr
-1:
A
�
....,_.
"MN:RO_lb"
�------------·-(;
Fig. 7.133d
..,.,
"86_c1 MULTI
PEQUEÑO
FUERA"
Fig. 7.133f
....,_.
"Ml<RO_lc"
�-------
-rr
-1
�
•
�
• Segmento 8: Activ.ci6n dr l1 ETAPAMICA0_1d :,_
d,
_
n
_
u
_
w,
_
,�
_
o
_
d_
, 1
_
,_
n
_
�
_
A?
_________
....,_,
"ETN'A T
..,.o
"B5_c0 MJLTI
PEQUEÑO
DENTRO"
;s
)-----<
'IMl.7
�------------
•-<
rr:
A
�
Fig. 7.133h
Segmento 10: Uem1d1 al bloque de programa de Ttmpori:adores
1 i,3_Tem�,•
� EN ______ ENO -----------------<
Fig. 7.133j
� EN EN0 ------------------1
Fig. 7.133k
263
Unidad 7 - Programación estructurada
264
o FC3. Grafcet esclavo. Activación de etapas.
Segmento 1: Activ11cíón de le ETAPA 81 ydenctivación de 111 ETAPA 80
µ•o
1 ..
... '-M8190.2
"AlwayslRUE"
1
'IMB.1
"ETAPA 81"
;
s )------<
-r.M8.0
�------------•
-
n
-i
�
A
�
Fig. 7.134a
Segmento 3: Activ11ción de 111 ETAPA 83 y des11ctM1dón de ta ETAPA82
µ
• 2
1 ...
-W8.3
"ETAPA 83
º
;
s )------<
1M8.2
�------------•
-
E
-1
T�R
A�
Fig. 7.134c
Segmento 5; Uemada a l bloque de programa de Contadore-.s
�
EN
"
"04_ContadoA!t
'"
ENO -----------------
'IMB.1
ºETAPA 81 "
,.,.,
·e1o_e1
'-""'CAOOR
ABAJO"
-W8.2 .___./
"ETAPA 82"
;
S )------<
-.___1
"1.MB.1
�------------
•
-
E
-i
T
�
A
�
'J
Fig. 7.134b '-..,./
Segmento 4: J1.t:tivac1ón de 111 ETAPA 84 ydesactivedón de la ETAPA 83
______'----'
Fig. 7.134e
'J.11 .4
"B9_eo
'-""'CAOOR
ARRIBA'
'IMB.4 -._/
"ETAPA Sl'
-W8.3
;
s )------<
'-J
.___
____________
•E
---j
T
"'.
A
�
'-.J
Fig. 7.134d '---'
o FC4. Activación de salidas.
Segmento 1: Mtnipu1ador de grabado. Eje horizonntl ¡nqueño. Ehrctrov11lvul11 mon�stable.
""-t0.1
ºETAPA 1°
'IIQ0.3
•y4
MJLllPOSl(IONAL
PEQUEÑO"
1-
�
--.-----------------1 s )------<
-�Ll
Fig. 7.135a
Segmento 3: Mlnipulador de grabado. E¡e horia:nml grande Electrovalvula rnonoe-stable.
'IIQ0.4
·vs
� 1 MJLllPOSIClONAL
.,.A
l-
. ,
_
·____________________
GRAN
-1 s o
�
Fig. 7.135c
Segmento S: Mlnípuh1dor de grabado. EJe vertical. Electrovslvu11 biestable.
'IIQ0.6
"IM8 1 •y7 BAJAR
¡,¡,Al-
·•
_
, •____________________
MAACA00
--1
- �
Fig. 7.135e
Segmento 7: Piloto de señ11hmcíán píloto amermo
������
Fig. 7.135g
Segmento 2: flilanipuledor de gr1bedo. Eíe horizi::intal. Electrovalvul11 monoestable.
'IIQ0.3
1M0.3
"ETN'A 3"
•y4_
"1UlllPOSl90N.Al '--'
PEQUENO"
1-
7
--.------------------l( R )------<
......
·e':?
LJ
'-J
Fig. 7.135b
Segmento 4: Mttnipuh1dorde9rabitdo.E¡e vertical. Eleroovelvula monoestable.
'IIQOA
·vs
�
A
l--
-�
-
•___________________...,
_
�
_
GPO
;
���
NAl
-./
R )------<
Fig. 7.135d
Segmento 6: Mllnlpul1dor de grabedo.Eje vertical. Electrovalvule biestable.
1 'lO
'IIQ0.7
�:1--
!
_
,·____________________�
_
vs
;
_su� '----'
Fig. 7.13Sf
Segmento 8: Piloto di!' señati:adón piloto verde
1 -,":"' �2.2
�-----�-t1--
.,_·____________________·"_';-��'-/
Fig. 7.135h
'
'
'
'

'

'
'
'
'
1
'
'
1
'

Unidad 7 - Programación estructurada
Segmento 9: Piloto de señah:ac1ón P�
''-
º'
-
º-
"
_
nl
_
,________ Segmento 10: Piloto de se�111h2ción piloto a11t
K
'"'
:-
,__
º1 d• ----------<
,._,,"30.1
LANCO r
'IQ2.2
ºH1_VE.RDE"
• J---,
'IMS.1
"ETN'A 81"
'IMB.2
ºETAPA 82
º
'IM8.3
"ETAPA B3"
Fig. 7.135i Fig. 7.135j
Segmento 1 1 : Piloto dt" seiiali.aci
_
ón
_p
�
1i_
o1
_
o_
oc
_
ul ________ Segmento 1 2: Piloto de señ&h.:adón roJo
µ!..·�_,·____________________"')2.3
º
H2_AZUL"
s J---,
Fig. 7.135k
o FCS. Temporizadores.
Segmento 1 : Tempori;:ador 1
N'A 82"
'Ml81
•1E(_Timer_O_OB•
TON
Time
'APA20"
µ,o
Fig. 7.1351
µ.2
f--- iN
T•2• - PT
Q -------------------<
ET - --
o FC6. Contadores.
Segmento 1: co_ot,
_
d _
o_
n_______________________
�
'IIM1.0
'Ml'CRO_ld'
'!IDB2
·1EC_Counter_
0_0B'
CTU
lnt
N t---------- CU o -------------<
'IIM'IO.O
'FU>NCO 1 "
'IIMl.O
'ETN'A O'
'1112.6
'S4_RESET"
1---•
0 - py
'INNI010
"PROCESADAS
C1 - ROJAS'
o FC7. Forzado en la secuencia de la macroetapa M l.
Segmento 1 : Activación de la eta pa de �ntrada El de la secuencia de la macro etapa M1
_.,
" MAOW)_,:a• MOi.E
1--�------EN -
......
" MACR0_1 b"
.......
" FLANCO 6"
,...,
" MA00_1<
1W30.6
" FLAN<D 7"
w1 _0
" MA00_1d'
1 - IN .....
Fig. 7.135m
Fig. 7.135n
Wl0.7
" FLANCO S"
Fig. 7.1350
'IQ2.4
"H3_ROJIY
265
Unidad 7 - Programación estructurada
266
Segmento 2: Oeuctiveción de la etape de salida S1 de la secuencia de la macro etapa M1
'WM>.0
"ETN'A O"
'!WB.4
"ETi'l'A S l "
1----,-------------------� R )-------,
'WM>.3
"ETN'A 3"
'WM>.S
"ETN'A S"
'!Wll.7
"ETN'A 7"
o OB100. Activación de la etapa inicial y desactivación del resto.
'f.M8 1 9 0.0
•rirs.tScan•
'f.MO.O
•ETAPA o•
1--�----------------�( S )-------,
'IM0.1
"ETAPA 1 '
( RESET_BF }--4
Fig. 7.13Sp
Fig. 7.136a
'f.M81 90.0 'IM2.0
"FirstScan• "ETAPA 20"
1 s )-------i
'IM2.1
"ETAPA 21 "
( RESET_BF }--4
Fig. 7.136b
2
o OB1. Llamada a las funciones que completan el proyecto.
..,. Segmento 1: Uom•d• al bloque de progroma del grafcet principal
1 "l>O_GO_G::;t princ.ipar
�
EN ENQ ----------------------<
..,. Segmento 2: Uamada •I bloque de programa del grafcet maemo
1 "1>1_G1_G:;�t m..,stto•
�
EN ENQ ----------------------<
..,. Segmento 3: Llomo.da •I bloque de progr&ma del grofcet esclovo
1 "1>2_G2_G
!t
�1 escla,¡o•
�
EN ENQ ---------------------,
..,. Segmento 4: Llo.mo.d• al bloque de programo de las solid••
1 "1>2;:a..
� EN ENQ ----------------------------1
Fig. 7.137a
Fig. 7.137b
Fig. 7.137c
Fig. 7.137d
v
'-...,,
'-.../
'-.../
'-.../
'-..,/
v
'--''
v
J
J
c__/
..._,,
'-...,,
'-.../
'-.,,
'-..,/
...__/
J
1
)
)
)
)

'

'
)
)
'
Unidad 7 - Programación estructurada
o Comprobación del funcionamiento con maqueta de simulación 3D
Para hacer este ejercicio tan solo hemos de utilizar los pulsadores PARO y
MARCHA del panel Control del proceso para controlar el funcionamiento del
manipulador de grabado:
Control dl?I proceso
(I IJ ■� � ..
EMERGENCIA PARO MAROIA AIJT,'MAN ACK
a a ■ a ■..:�
520-HZ0 S21-H21 S22-H22 523-Hll 524-1-124 ,...2
Fig. 7.138 Fig. 7.139
Podemos observar en el simulador 3D cómo los cilindros que intervienen en el
programa, multiposicional y marcador, responden al funcionamiento programado,
así como la señalización del estado del proceso mediante los pilotos ROJO,
AMARILLO, AZUL y VERDE de la baliza:
Cilindro
multiposicional
Cilindro marcador
Fig. 7.140
267
Unidad 7 - Programación estructurada
268
Ejercicio
APLICACIÓN MACRO DEL MANIPULADOR DE CARGA
Se desea controlar los movimientos de los diferentes actuadores del manipulador de carga, como son,
el cilindro del eje horizontal, y el conjunto formado por el cilindro vertical de la ventosa y la propia
ventosa. En la secuencia maestra se trata de controlar el desplazamiento del cilindro del eje
horizontal gobernado por una electroválvula biestable, que traslada la ventosa desde la posición de
carga de la pieza hasta la posición de descarga de la misma sobre el palet. En esta secuencia, habrá
dos momentos en los que se debe actuar sobre el cilindro vertical, controlado por una electroválvula
monoestable para coger y soltar la pieza. El palet alcanzará la posición de carga mediante el control
del motor de la cinta transportadora. Todos los cilindros disponen de sensores de posición para las
dos posiciones, reposo y avance. Además, se deberán indicar los diferentes estados de
funcionamiento mediante los pilotos de la baliza de señalización.
Condiciones de funcionamiento:
Cilindro de la l
ventosa
Fig. 7.141
V
En este caso, diferenciaremos el funcionamiento en dos secuencias diferentes, como son la secuencia
máster y la secuencia esclava (macroetapa). Incluiremos también otra para poder controlar que el -.....,,/
funcionamiento sea en ciclo continuo o se pueda solicitar un paro fin de ciclo. .__,
GRAFCET PRINCIPAL:
• Al poner en marcha el sistema, tendremos activado el piloto rojo que indica que el sistema está '---'
parado.
• Al accionar tan solo el pulsador de marcha, se dará la orden para que el proceso inicie su
funcionamiento, situación que se indicará mediante la señalización del piloto amarillo. En este
'-"
estado, el funcionamiento se realizará de forma continua ciclo tras ciclo. '-.J
• Cuando se desee dar la petición de fin de ciclo, solo habrá que accionar el pulsador de paro, '-"
pasando al estado de espera hasta que finalice el ciclo completo actual. Este estado quedará
0
señalizado mediante el funcionamiento de forma intermitente del piloto incorporado en el
pulsador de paro, dejando de funcionar el piloto amarillo.
• Cuando el ciclo actual de funcionamiento del proceso haya finalizado totalmente, el proceso '...,_./
quedará totalmente detenido, volviendo a funcionar el piloto rojo a la espera de iniciar de nuevo '-"
otro ciclo mediante la activación del pulsador de marcha.
'


'
'
'
'
)
)
Unidad 7 - Programación estructurada
SECUENCIA GRAFCET MÁSTER:
• Si se dispone de la orden de funcionamiento dada por el Grafcet principal, y si los cilindros se
encuentran en reposo, tanto el eje horizontal (derecha) como el cilindro de la ventosa (arriba), y el
disyuntor del motor se encuentra activado, entonces el motor de la cinta transportadora se pondrá
en funcionamiento. Si en este punto el disyuntor no está rearmado, entonces se pondrá en
funcionamiento el piloto incorporado en el pulsador ACK y bastará con rearmarlo para iniciar el
proceso con el cumplimiento del resto de condiciones.
• Cuando el palet haya alcanzado la posición de carga, se deberá ejecutar la secuencia
correspondiente al cilindro de la ventosa (macroetapa), teniendo en cuenta que deberá recoger,
mediante la ventosa, una pieza que previamente hemos hecho aparecer mediante el botón PONER
PIEZA del simulador 3D.
• Finalizada la ejecución de la secuencia del cilindro de la ventosa, el cilindro del eje horizontal se
desplazará a su posición de avance (izquierda).
• Alcanzada la posición de la izquierda por el eje horizontal, se volverá a ejecutar la secuencia
correspondiente al cilindro de la ventosa (macroetapa), teniendo en cuenta que ahora deberá dejar la
pieza.
• Finalizada la ejecución de la secuencia del cilindro de la ventosa, una vez liberada la pieza sobre el
palet, se deberá registrar en un contador el número de ciclos realizados y se visualizará su valor
actual en el registro Procesadas sin grabado. Seguidamente el eje horizontal retornará a su
posición de reposo (derecha), a la vez que se pone en marcha la cinta de transporte de palets
durante 5 s, tiempo para que el palet abandone la posición de carga con la pieza en su interior.
• En el momento en el que hayan transcurrido los 5 s de tiempo, cuando no se detecta palet en la
posición de carga y el cilindro del eje horizontal se encuentra en reposo (derecha), se activará de
nuevo el piloto rojo y el sistema quedará preparado para empezar de nuevo el ciclo.
• Durante todo el tiempo que dura la secuencia debemos tener activado el piloto verde.
• Únicamente cuando el sistema se encuentra detenido, etapa inicial de esta secuencia principal,
será cuando al accionar el pulsador de reset se pondrá a cero del contador de ciclos.
• Si cuando se encuentra en funcionamiento el motor de la cinta de transporte de palets se dispara el
disyuntor magnetotérmico, entonces dejará de funcionar el motor y se señalizará mediante el piloto
incorporado en el pulsador ACK, que funcionará de forma intermitente. Para salir de este estado será
necesario rearmar el disyuntor y accionar el pulsador ACK, pasando de nuevo a funcionar el motor.
SECUENCIA GRAFCET ESCLAVO (MACROETAPA):
• Dada la orden de ejecución de la secuencia de la macroetapa, se activará la primera etapa de la
secuencia (etapa de entrada).
• En ese momento, y si se detecta pieza con el cilindro de la ventosa a la derecha, para el proceso de
sujetar la pieza, o bien, si tan solo el cilindro de la ventosa se encuentra en la posición de la
izquierda, para el proceso de liberar la pieza. En cualquier caso, el cilindro de la ventosa realizará el
movimiento de bajada hasta alcanzar la posición de avance (abajo).
• En este momento debe evaluar si ha de coger la pieza o soltarla mediante la actuación de la
ventosa, según se encuentre en la posición de carga o de descarga, y posteriormente realizar la
acción que corresponda.
• Una vez completada la acción anterior, coger o dejar la pieza, esperará un tiempo de 2 s.
• Pasados los 2 s, el cilindro realizará el movimiento de ascenso hasta alcanzar la posición de reposo.
• Cuando el cilindro de la ventosa se encuentra en la posición de reposo, se dará por finalizada la
secuencia de la macroetapa.
• Durante todo el tiempo que dura la secuencia debemos tener activado el piloto azul.
269
Unidad 7 - Programación estructurada
270
Relación de entradas y salidas:
ENTRADAS
Dirección Dispositivo
10.1 51 Pulsador de paro
10.2 52 Pulsador de marcha
10.4 B1 Cilindro con ventosa en reposo (arriba)
10.5 B2 Cilindro con ventosa en avance (abajo)
10.6 B3 Cilindro eje horizontal en reposo (derecha)
10.7 B4 Cilindro eje horizontal en reposo (izquierda)
12.0 B11 Detector de vacío
12.4 B15 Detector de palet en posición de carga
12.5 B16 Detector de pieza en posición de carga
12.6 54 Pulsador de reset
13.0 F2 Disyuntor protección motor cinta
13.1 SS Pulsador ACK
REGISTRO DE CONTAJE
Dirección 1 Dispositivo
MW7016 I Procesadas sin grabado
Realizar:
• Planteamiento de la estructura del proyecto.
• Diseño del Grafcet.
• Implementación a programa.
SALIDAS
Dirección Dispositivo
Q0.0 Yl EV Descender cilindro con ventosa
Q0.1 Y2 EV Cilindro horizontal va a la izquierda
Q0.2 Y3 EV Cilindro horizontal va a la derecha
Ql.0 Y9 EV Vacío en ventosa
Ql.1 KlM Motor cinta transporte de palets
Q2.1 H0 Piloto amarillo
Q2.2 Hl Piloto verde
Q2.3 H2 Piloto azul
Q2.4 H3 Piloto rojo
Q3.0 H4 Piloto incorporado en el pulsador de paro
Q3.2 H6 Piloto incorporado en el pulsador ACK
• Comprobación del funcionamiento mediante la maqueta de simulación 3D.
.,
1
y
'
1
,
1
í
.
'
'
'
'
1
'
'
1
Unidad 8 Guía Gemma
En este capítulo:
8.1 Guía Gemma
8.1.1 Introducción a la Guía Gemma
8.1.2 Estados de la Guía Gemma
8.1.3 Configuración del proyecto, estructura y
variables a utilizar
8.2 Programación en Grafcet (VII)
8.2.1 Guía Gemma del estado Fl (Producción
normal)
8.2.2 Guía Gemma de los estados Al (Puesta al
estado inicial), Fl (Producción normal) y
A2 (Paro solicitado a final de ciclo)
8.2.3 Guía Gemma del estado F2 (Marcha de
preparación)
Unidad 8 - Guía Gemma
8.2.4 Guía Gemma del estado FS (Marcha de
verificación con orden)
8.2.5 Guía Gemma de los Estado A3 (Parada a un
estado determinado) y A4 (Parada
obtenida)
8.2.6 Guía Gemma del Estado F3 (Marcha de
cierre)
8.2.7 Guía Gemma del Estado D1 (Parada de
Emergencia), AS (Preparación para la
puesta en marcha después de un defecto o
avería) y A6 (Puesta del sistema al estado
inicial)
8.2.8 Guía Gemma del Estado F4 (Marcha de
verificación sin orden)
8.2.9 Guía Gemma del Estado D2 (Diagnóstico
o tratamiento de los defectos)
271
Unidad 8 - Guía Gemma
Recuerda • • •
La guía Gemma es una
guía que representa
todos los métodos de
marcha y paro que se
pueden encontrar en
un proceso
automatizado. No es
una norma y, por
tanto, podemos elegir
los estados según la
complejidad del
proceso.
272
8.1 Guía Gemma
La guía GEMMA es un procedimiento que sirve para poder estandarizar los
diferentes modos de funcionamiento y estados que contemplamos en cualquier
sistema automatizado. Se define como Guía de Estudios de Modos de Marcha y de
Parada de los Sistemas Automatizados.
8.1.1 Introducción a la Guía Gemma
En un proceso productivo, una máquina no está siempre funcionando en modo
automático. Pueden aparecer problemas que obligan a parar el proceso, como averías,
material defectuoso, falta de materia prima, necesidad de hacer mantenimiento, etc.
En la automatización de una máquina es necesario prever todos los estados posibles:
funcionamiento automático o manual, paros de emergencia, de fin de ciclo y otros.
Además, el propio automatismo ha de ser capaz de detectar defectos y ayudar al
técnico de mantenimiento en la reparación y puesta en marcha del sistema.
Para fijar una forma universal de nombrar y definir los diferentes estados que puede
tener un sistema, la ADEPA (Agence nationale pour le Développement de la
Productique Apliquée a !'industrie, Agencia nacional francesa para el desarrollo de la
producción aplicada a la industria), ha preparado la guía GEMMA (Guide d'Etude des
Modes de Marches et d'Arrets, Guía de estudio de los modos de marchas y paros).
La guía Gemma es una guía gráfica que permite representar de una manera sencilla
e inteligible los diferentes modos de marcha y paro de un proceso de producción,
así como las formas y condiciones para pasar de un modo a otro.
La guía Gemma y el GRAFCET se complementan y permiten una descripción
progresiva del automatismo de producción.
El sistema de control de un automatismo puede estar en tres situaciones
diferentes:
• En funcionamiento y, por tanto, en producción.
• Parado o proceso en paro.
• En situación de alarma o defecto, circunstancias en las que, o bien el producto
no es aprovechable, o lo puede ser si se manipula adecuadamente.
Estas se dividen en estados que representan situaciones concretas usuales en
cualquier sistema automatizado. Puede haberproducciónen cada una de estas tres
situaciones: en funcionamiento sin lugar a dudas, pero también se puede producir
cuando la máquina está en proceso de paro, para vaciar la máquina o para
solucionar alguna avería, y cuando la máquina está en ciertas condiciones de
defecto, a pesar de que quizá la producción no será aprovechable.
Otra situación es la máquina sin alimentación, aunque esta no nos interesa a la hora
de definir los circuitos de automatismo.
La guía Gemma representa, mediante rectángulos, cada una de las situaciones que
corresponden a cada estado diferente, y estos están interceptados por otro
rectángulo que corresponde al grupo que define el modo de funcionamiento de un
automatismo.
.J
Unidad 8 - Guía Gemma
Cada una de las situaciones se puede subdividir, de forma que al final hay 17
estados de funcionamiento posibles.
Conviene mencionar que, al ser una guía y no una norma, no todos los procesos
precisarán de todos estos estados y que la guía propone los principales caminos
para pasar de un estado a otro, pero se pueden trazar otros nuevos.
En el siguiente gráfico podemos ver todos los estadosprevistos en la guía Gemma,
a pesar de que cuando la utilicemos para describir el funcionamiento de una
máquina, no tenemos por qué tenerlos en cuenta todos, sino que utilizaremos
únicamente los estados que necesitemos en esa instalación.
Recuerda • • •
Todos los estados de la
guía Gemma se
integran en tres
grandes bloques:
• A-Procedimientos de
paradas.
• F-Procedimientos en
funcionamiento.
• O-Procedimientos en
defecto.
Fig. 8.1
8.1.2 Estados de la Guía Gemma
Los diferentes modos de funcionamiento del sistema automatizado vendrán
representados por un estado. Los estados irán agrupados según el modo de
funcionamiento que realicen y se integran tres grupos:
o A - Procedimientos de paradas.
o F - Procedimientos en funcionamiento.
o D - Procedimientos en defecto.
• Grupo F: Procedimientos en funcionamiento
En este grupo están incluidos los estados cuyo funcionamiento está orientado a
preparar el sistema para poder producir, verificar el funcionamiento correcto y
finalmente conseguir que el sistema produzca de forma automática:
273
Unidad 8 - Guía Gemma
Recuerda • • •
Los procedimientos en
funcionamiento están
orientados a:
• Preparar el sistema
para poder producir.
• Verificar el
funcionamiento
correcto.
• Conseguir que el
sistema produzca.
274
o Fl. Producción normal.
o F2. Marcha de preparación.
o F3. Marcha de cierre.
o F4. Marcha de verificación sin orden.
o FS. Marcha de verificación con orden.
o F6. Marchas de test (prueba).
- Fl. Producción normal
Este es el estado en el que tendremos lo que denominamos «Producción normal».
Normalmente corresponde a lo que sería un funcionamiento automático del proceso en
el que la acción del operador solo sería necesaria para poner en marcha el proceso, ya
que a partir de ahí el sistema funciona de forma autónoma y automática.
El Grafcet que realicemos en este estado nos servirá como base para crear los
Grafcet que hemos de diseñar para que se cumpla el funcionamiento correcto en otros
estados.
- F2. Marcha de preparación
En todo sistema, antes de empezar a producir, es posible que se deban realizar una serie de
acciones para que pueda iniciarse la producción normal de forma correcta. En este estado
se debe conseguir que los elementos del proceso se encuentren en condiciones iniciales
de trabajo.
Si se dispone de un proceso productivo que se ha de poner en marcha cada jornada de
trabajo (como podría ser un proceso de mezcla de líquidos, en el que los líquidos se deban
encontrar previamente a una temperatura determinada para posteriormente realizar
una mezcla y vaciarla en bidones), lo que se tiene que hacer en este estado de la guía
Gemma es llenar los diferentes depósitos de líquidos y prepararlos para que se
encuentren a una cierta temperatura, que el alimentador de bidones se encuentre a su
completa capacidad, que todos los actuadores neumáticos estén en la posición inicial,
que la presión del sistema sea la correcta, etc.
- F3. Marcha de cierre
Este estado sería el modo contrario al de Marcha de preparación (F2). Si el estado
Marcha de preparación lo ejecutamos al poner en marcha el proceso, el de Marcha
de cierre lo ejecutaríamos al finalizar la producción.
Siguiendo con el ejemplo anterior, cuando acabamos la jornada de trabajo al final del
día pasaríamos del estado Producción normal (F2) al estado Marcha de cierre cuando
se dé por finalizada la última mezcla. Entonces, se debería realizar un pequeño
proceso de limpiado del mezclador para que este se encuentre limpio y preparado
para su uso al día siguiente.
- F4. Marcha de verificación sin orden
El proceso en este caso podría realizar todos los movimientos de forma manual y
en cualquier orden, siempre controlados por el operador de máquina. Sería un
Unidad 8 - Guía Gemma
funcionamiento manual donde tendríamos que incorporar las condiciones
necesarias para que no se produjeran colisiones mecánicas.
- FS. Marcha de verificación con orden
La máquina o el proceso realizará el mismo ciclo que tenemos en el estado
Producción normal, con la salvedad de que el ciclo irá funcionando etapa a etapa y
el propio operario será el que controle el paso de una etapa a otra. Cuando se vaya
ejecutando cada una de las etapas, podremos ir comprobando si los actuadores
hacen correctamente su función y si los sensores responden con exactitud. Serviría
para poder ajustar bien los sensores y los actuadores en una primera puesta en
marcha del proceso o en un momento de un trabajo de mantenimiento.
- F6. Marchas de test
En este estado el sistema programado debe responder a un funcionamiento de
forma independiente y automática de cada uno de los actuadores, y de esa forma
poder realizar un test para comprobar que los sensores han actuado de forma
sincronizada con los actuadores.
• Grupo A: Procedimientos de parada
Este grupo contiene los modos en los que el sistema se encuentra detenido:
o Al. Parada en el estado inicial.
o A2. Parada solicitada al final del ciclo.
o A3. Parada solicitada en una posición determinada.
o A4. Parada obtenida.
o AS. Preparación para la puesta en marcha después de un defecto o avería.
o A6. Puesta del sistema al estado inicial.
o A7. Puesta del sistema a una posición determinada.
- Al. Parada en el estado inicial
Estado normal de reposo de la máquina. Se suele representar con un rectángulo de
doble trazo, de la misma forma que hacemos con la etapa inicial de un Grafcet. Se
considera el punto inicial o de arranque del funcionamiento del proceso.
- A2. Parada solicitada alfinal del ciclo
Cuando eloperadordecidefinalizarel funcionamiento del cicloactual, la guía Gemma
pasa a este estado mientras continúa con el funcionamiento de Producción normal
(Fl) hasta finalizarlo por completo. Una vez finalizado el ciclo, este no continuará, ya
que la guía Gemma se situará en el estado Parada en el estado inicial (Al).
- A3. Parada solicitada en una posición determinada
Cuando la guía Gemma se encuentre en este estado, el proceso se deberá detener
en un estado concreto y previamente indicado del ciclo programado en el estado
de Funcionamiento normal (Fl). Podría ser un estado en el que nos interese
verificar algo en la instalación. Por ejemplo, si tuviéramos un proceso de doble
275
Recuerda · · ·
Los procedimientos de
parada están
orientados a:
• detener el
funcionamiento de
forma controlada.
• detener el
funcionamiento al
final del ciclo.
• preparar el sistema
después de
producirse un
defecto.
Unidad 8 - Guía Gemma
276
taladrado, podríamos hacer que una vez realizado dicho proceso, podamos verificarsi
se ha llevado a cabo de forma correcta o no.
- A4. Parada obtenida
Es el estado al que pasará de forma automática cuando el proceso se encuentre
detenido en el estado concreto seleccionado en el Estado A3.
-AS. Preparación para la puesta en marcha después de un defecto o avería
Una vez que ha habido algún defecto o alarma, y en función del estado en el que se
haya quedado del proceso, se deben realizar los movimientos correspondientes
necesarios de los actuadores para que el operario, de forma manual, pueda realizar
una intervención, por ejemplo, extraer piezas atascadas, trozos de recipientes rotos,
etc. De este modo, en la siguiente etapa A6 se podrá proceder a poner en condiciones
iniciales el sistema.
-A6. Puesta del sistema al estado inicial
En este estado de la guía Gemma, la máquina o el proceso deberá posicionarse en su
estado inicial. Se realizará de forma automática y después de una orden del operador,
una vez la máquina o el proceso alcance su posición inicial. Entonces,
automáticamente pasaremos del Estado A6 al Estado Al.
-Al. Puesta del sistema a una posición determinada
En este estado y después de una parada por defecto, Dl o D2, se deberá llevar la
máquina o el proceso a una posición concreta diferente a la inicial, siempre y cuando
se verifique que el proceso puede continuar. Una vez conseguida esa posición,
automáticamente se pasará al Estado A4.
• Grupo D: Proceso en defecto
Este grupo contiene todos los modos en los que el sistema se encuentra en defecto,
tanto si está produciendo, como si está parado o en fase de diagnóstico o
tratamiento de los defectos:
o Defecto con producción (D3).
o Defecto con máquina parada (Dl).
o Tratamiento del defecto (D2).
01.Parada de emergencia
Podremos acceder a este estado en cualquier momento e independientemente del
estado en el que se encuentre la guía Gemma. Para ello bastará con accionar un
pulsador de emergencia. Activado este estado, se deberá encargar de detener por
completo la máquina o el proceso, lo que conocemos como congelar el
funcionamiento, además de dejar fuera de servicio, según cada caso, las diferentes
fuentes de potencia (tanto eléctrica, como neumática e hidráulica), con lo que se
conseguirá que no haya ningún peligro ni para la persona ni para la máquina.
Recuerda · · ·
Los procedimientos en
defecto están
orientados a
contemplar todas las
situaciones que
puedan provocar una
parada inesperada o
forzada del sistema.
'
'
'
'
--,
--,
")
'
--,
'
'
'
'
C.Onexil,;
control
Unidad 8 - Guía Gemma
Deberemos estudiar la instalación para comprobar cuál sería el estado en el que
deben quedar los actuadores en función del momento en el que se ha activado esta
parada de emergencia. En muchos casos, la instalación de los actuadores deberá
estar preparada para gestionar de forma correcta esa parada. Por tanto, nos
podemos encontrar con situaciones en las que sea preferible dejar que los
actuadores continúen en funcionamiento o que dejen de funcionar, por ejemplo,
ventosas que se queden sin presión de aire como los cilindros, otros bloqueados en
una posición y con presión, detener el motor de una cinta de transporte, o de una
electroválvula de paso de líquido, etc.
- 02. Diagnóstico o tratamiento de los defectos
En este estado se deberán analizar los posiblesdefectos que se puedan producir en
el sistema y ver cómo podemos diagnosticarlos con efectividad, intentando facilitar
la tarea del operario de la máquina para que los localice y los solucione con facilidad.
- 03. Producción a pesar de los defectos
En este estado se deberá provocar que el proceso continúe produciendo aun
teniendo uno o más defectos, y evitar que pueda seguir funcionando de forma
completamenteautomáticay que tenga que ser mediante la actuacióndel operador.
Por ejemplo, tenemos un proceso con cilindros neumáticos que tiene instalados
sensores de posición. Lo que deberíamos implementar en este estado son unos
pulsadores que realicen la misma función que los sensores y, en el momento que
uno de ellos no funcione, se pueda accionar el pulsador correspondiente haciendo
que el proceso continúe produciendo «a pesar del defecto», pero con la
intervención del operador.
En la aplicación que vamos a realizar usaremos la siguiente guía Gemma con los
estados que se indican y se muestran a continuación:
Puest• del sktem1 •n •I
estadolnlclal
filWl:l�(;¡i
t'jnv(IÓlldf-1
6'·�41
A
l
FCI
Pirada en el� Inicia!
A
4
fC4
...,..
°'
.,._
M03
--+
Solicitudes
de marcha
- fC12
'"""
·--·
tjf(Jl"Jdlridtl
�
... JJ
-. ..o Marcha de
Wtriflcatlón sinorden
F2 M07 F3 Meo
FClO FCU
.......
Ml,2
+--­
Descon xión
Martha de
prep1oción
control
Conex�n
control
AS
fCS
NO h,yalówm,.c:tN• 1
y�M:KlfHJ :
FC3
Partdl pedidli
�S21
Of<k!ndtP.vo
--,--��-�-- H,Jyalaf-nw
02 Fa �A
i.-i---------"""-+-
Dll,nostJCOy/o 1
tratamiento delos 1
defectos 1
C>Hconéxión P•ocw,..._._,,,.._� L_-• Producción - -----
COntrol
Sin
control
�0
.....
1----------M-,,-,,._•_-
__,
..
,_' �-- ""
FC7
O-Procesos en defecto
Fig. 8.2a
Fl M0.6
FC9
Producción normtl
F•Proces01 en funcionamiento
-
'"""
-
'"º"
FC13
MarcNi de
verificación con
«den
277
Unidad 8 - Guía Gemma
Recuerda • • •
Estructurar el programa
en diferentes bloques
facilita tanto su
construcción como su
comprensión posterior.
278
8.1.3 Configuración del proyecto: estructura y variables a utilizar
Para realizar la aplicación representada en la guía Gemma crearemos un proyecto
nuevo en el que insertaremos un PLC 57-1200 o 57-1500 con la misma configuración
del hardware del punto 1.3.1 de la Unidad 1, con las tarjetas de entradas y salidas
configuradas. Necesitaremos esta configuración para la posterior comprobación de
los programas con el simulador 3D.
A partir de ahora se expone una posible solución, tanto a nivel de estructura de
programa, como de las variables a utilizar y del propio programa que hará funcionar
el proceso. Por ello se debe tomar como ejemplo y no como modelo único. Lo que
sí se deberá respetar es el direccionado de las entradas y salidas dadas en la tabla
de variables, ya que son las que están asociadas al simulador 3D. Esta configuración
dada servirá para poder comprobar la aplicación de todos los estados de la guía
Gemma que son base del estudio.
Para larealizacióndel proyecto mostrado se utilizará laprogramación estructurada,
por lo que dentro de Bloques de programa crearemos unos bloques para cada uno
de los estados y otros bloques auxiliares, que son los que se relacionan a
continuación:
o 00 GUIA GEMMA (FCO)
o Al ESTADO INICIAL (FCl)
o A2 PARO FIN DE CICLO (FC2)
o A3 PARADA ESTADO DETERMINADO (FC3)
o A4 PARADA OBTENIDA (FC4)
o AS PREPARACIÓN PUESTA EN MARCHA (FCS)
o A6 PUESTA AL ESTADO INICIAL (FC6)
o Dl PARADA EMERGENCIA (FC7)
o D2 DIAGNOSIS AVERÍAS (FC8)
o DETECCIÓN AVERÍAS (FC23)
o Fl PRODUCCIÓN NORMAL (FC9)
o F2 MARCHA DE PREPARACIÓN (FClO)
o F3 MARCHA DE CIERRE (FCll)
o F4 MANUAL (FC12)
o FS PASO A PASO (FC13)
o S_SALIDAS (FC20)
o T_TEMPORIZADORES (FC21)
o Z_CONTADORES (FC22)
Para poder tener más estructuradas las diferentes tablas de variables, incluiremos
distintas carpetas dentro de la carpeta principal del árbol del proyecto, llamada
Variables PLC. Por tanto, crearemos distintas carpetas, como son Auxiliares,
Grafcets y Simulador 3D, y dentro de ellas a su vez diferentes tablas de variables.
La estructura final será la siguiente.
Recuerda • • •
Es importante, antes de
iniciar la programación
y para la posterior
comprensión del
programa, etiquetar
con símbolos todos los
registros de programa
a utilizar.
Unidad 8 - Guía Gemma
.• 4 Variables.Pl.C...................�-�-�
� Mostrartodas las variables
Ir Agregartabla de variables
4JíConstantes del sístema (34}
• lc: Auxiliares
� OO_SISTEMA (14)
� 01_FLANCOS (82)
• ful Grafcets
� OO_GUIA_GEMMA (13)
� 01_GRAFCET_F2 (16)
� 02_GRAFCET_F1 (37)
� 03_GRAFCET_AS (12)
� 04_GRAFCET_A6 (16)
• ful Simulador_3D
� OO_OB30 (10)
� 01_MAQUETA (88}
� 02_AVERÍAS (29)
Fig. 8.2b
• Variables a crear en cada carpeta:
Carpeta Auxiliares, tabla de variables 00_SISTEMA. En esta tabla se encuentran
todas las variables de sistema de las que dispone el PLC S7-1200 o S7-1500:
NOMBRE TIPO REGISTRO COMENTARIO
Clock_O.SHz Bool %M8191.7 Marca que funcionará con una frecuencia de 0,5 Hz
Clock_0.625Hz Bool %M8191.6 Marca que funcionará con una frecuencia de 0,625 Hz
Clock_lHz Bool %M8191.5 Marca que funcionará con una frecuencia de 1 Hz
Clock_l.25Hz Bool %M8191.4 Marca que funcionará con una frecuencia de 1,25 Hz
Clock_2Hz Bool %M8191.3 Marca que funcionará con una frecuencia de 2 Hz
Clock_2.5Hz Bool %M8191.2 Marca que funcionará con una frecuencia de 2,5 Hz
Clock_SHz Bool %M8191.1 Marca que funcionará con una frecuencia de 5 Hz
Clock_lOHz Bool %M8191.0 Marca que funcionará con una frecuencia de 10 Hz
Clock_Byte Byte %MB8191 Byte de marcas de ciclo
AlwaysFALSE Bool %M8190.3 Marca que siempre tiene el valor 1
AlwaysTRUE Bool %M8190.2 Marca que siempre tiene el valor O
DiagStatusUpdate Bool %M8190.l Marca que vale 1 cuando cambia el estado del diagnóstico
FirstScan Bool %M8190.0 Marca que vale 1 solo en el primer sean
System_Byte Byte %MB8190 Byte de marcas de sistema
Carpeta Auxiliares, tabla de variables 0l_FLANCOS. En esta tabla se encuentran
declarados 50 bits para utilizar como flanco, tanto negativo como positivo:
NOMBRE TIPO REGISTRO COMENTARIO
FLANCO 1 Bool % M230.0 Marca auxiliar para usar en la programación de un flanco
FLANCO 2 Bool % M230.1 Marca auxiliar para usar en la programación de un flanco
FLANCO 3 Bool % M230.2 Marca auxiliar para usar en la programación de un flanco
FLANCO 4 Bool %M230.3 Marca auxiliar para usar en la programación de un flanco
.../... .../... .../... .../...
FLANCO 50 Bool %M236.l Marca auxiliar para usar en la programación de un flanco
279
Unidad 8 - Guía Gemma
280
Carpeta Grafcets, tabla de variables OO_GUIA_GEMMA. Esta tabla integra la
declaración de las variables que vamos a asociar a cada etapa de la guía Gemma:
NOMBRE TIPO REGISTRO COMENTARIO
GG_ESTADO Al Bool %M0.0 Estado de parada en el estado inicial
GG_ESTADO A2 Bool %M0.l Estado de parada pedida a final de ciclo
GG_ESTADO A3 Bool %M0.2 Estado de parada a un estado determinado
GG_ESTADO A4 Bool %M0.3 Estado de parada obtenida
GG_ESTADO AS Bool %M0.4 Estado de preparación posterior al defecto
GG_ESTADO A6 Bool %M0.5 Estado de puesta del sistema al estado inicial
GG_ESTADO Fl Bool %M0.6 Estado de producción normal
GG_ESTADO F2 Bool %M0.7 Estado de marcha de preparación
GG_ESTADO F3 Bool %Ml.0 Estado de marcha de cierre
GG_ESTADO F4 Bool %Ml.1 Estado de verificación sin orden
GG_ESTADO FS Bool %Ml.2 Estado de verificación con orden
GG_ESTADO D1 Bool %Ml.3 Estado de parada de emergencia
GG_ESTADO D2 Bool %Ml.4 Estado de diagnóstico o tratamiento de los defectos
Carpeta Grafcets, tabla de variables Ol_GRAFCET_F2. Esta tabla integra la
declaración de las variables que vamos a asociar a cada posible etapa del Grafcet
integrado en el estado F2 de la guía Gemma:
NOMBRE TIPO REGISTRO COMENTARIO
F2_ETAPA 20 Bool %M2.0 Marca asignada a la etapa 20 del Estado F2
F2_ETAPA 21 Bool %M2.1 Marca asignada a la etapa 21 del Estado F2
F2_ETAPA 22 Bool %M2.2 Marca asignada a la etapa 22 del Estado F2
F2_ETAPA 23 Bool %M2.3 Marca asignada a la etapa 23 del Estado F2
F2_ETAPA 24 Bool %M2.4 Marca asignada a la etapa 24 del Estado F2
F2 ETAPA 25 Bool %M2.5 Marca asignada a la etapa 25 del Estado F2
.../... .../... .../... .../...
F2_ETAPA 37 Bool %M3.7 Marca asignada a la etapa 37 del Estado F2
Carpeta Grafcets, tabla de variables 02_GRAFCET_Fl. Esta tabla integra la
declaración de las variables que vamos a asociar a cada posible etapa del Grafcet
integrado en el estado Fl de la guía Gemma:
NOMBRE TIPO REGISTRO COMENTARIO
ETAPA40 Bool %M4.0 Marca asignada a la etapa 40 del Estado Fl
ETAPA 41 Bool %M4.1 Marca asignada a la etapa41 del Estado Fl
ETAPA 42 Bool %M4.2 Marca asignada a la etapa 42 del Estado Fl
ETAPA43 Bool %M4.3 Marca asignada a la etapa 43 del Estado Fl
ETAPA 44 Bool %M4.4 Marca asignada a la etapa 44 del Estado Fl
ETAPA45 Bool %M4.5 Marca asignada a la etapa 45 del Estado Fl
ETAPA 46 Bool %M4.6 Marca asignada a la etapa 46 del Estado Fl
ETAPA 47 Bool %M4.7 Marca asignada a la etapa 47 del Estado Fl
.../... .../... .../... .../...
ETAPA 84 Bool %M8.4 Marca asignada a la etapa 84 del Estado Fl
-
FI
1
----¡
'--1
'-1
1
Á
1
1
1
1
'-1
-�1
1
1
___.
r
'-'I
1
.,
-1
l
'-1
'-1
'---1
'-1
,
'-
--
1
'-1
.-1
- ,
1
-
1
"-1
'-'
"--'I
'---'1
)
1
1
)
)
)
')
)
'
)
)
'
'
)
'
'
)
Unidad 8 - Guía Gemma
Carpeta Grafcets, tabla de variables 03_GRAFCET_A5. Esta tabla integra la
declaración de las variables que vamos a asociar a cada posible etapa del Grafcet
integrado en el Estado AS de la guía Gemma:
NOMBRE TIPO REGISTRO COMENTARIO
AS_ETAPA 90 Bool %M9.0 Marca asignada a la etapa 90 del Estado AS
AS_ETAPA91 Bool %M9.1 Marca asignada a la etapa 91 del Estado AS
AS_ETAPA 92 Bool %M9.2 Marca asignada a la etapa 92 del Estado AS
AS_ETAPA93 Bool %M9.3 Marca asignada a la etapa 93 del Estado AS
AS_ETAPA 94 Bool %M9.4 Marca asignada a la etapa 94 del Estado AS
AS_ETAPA95 Bool %M9.5 Marca asignada a la etapa 95 del Estado AS
AS_ETAPA 96 Bool %M9.6 Marca asignada a la etapa 96 del Estado AS
AS_ETAPA 97 Bool %M9.7 Marca asignada a la etapa 97 del Estado AS
AS_ETAPA 100 Bool %M10.0 Marca asignada a la etapa 100 del Estado AS
AS_ETAPA 101 Bool %M10.1 Marca asignada a la etapa 101 del Estado AS
AS_ETAPA 102 Bool %M10.2 Marca asignada a la etapa 102 del Estado AS
Carpeta Grafcets, tabla de variables 04_GRAFCET_A6. Esta tabla integra la
declaración de las variables que vamos a asociar a cada posible etapa del Grafcet
integrado en el Estado A6 de la guía Gemma:
NOMBRE TIPO REGISTRO COMENTARIO
A6_ETAPA 110 Bool %M11.0 Marca asignada a la etapa 110 del Estado A6
A6_ETAPA 111 Bool %Mll.1 Marca asignada a la etapa 111 del Estado A6
A6_ETAPA 112 Bool %M11.2 Marca asignada a la etapa 112 del Estado A6
A6_ETAPA 113 Bool %M11.3 Marca asignada a la etapa 113 del Estado A6
A6_ETAPA 114 Bool %Mll.4 Marca asignada a la etapa 114 del Estado A6
A6_ETAPA 115 Bool %M11.5 Marca asignada a la etapa 115 del Estado A6
A6_ETAPA 116 Bool %M11.6 Marca asignada a la etapa 116 del Estado A6
A6_ETAPA 117 Bool %M11.7 Marca asignada a la etapa 117 del Estado A6
A6_ETAPA 120 Bool %M12.0 Marca asignada a la etapa 120 del Estado A6
A6_ETAPA 121 Bool %M12.1 Marca asignada a la etapa 121 del Estado A6
A6_ETAPA 122 Bool %M12.2 Marca asignada a la etapa 122 del Estado A6
A6_ETAPA 123 Bool %M12.3 Marca asignada a la etapa 123 del Estado A6
Carpeta Simulador 3D, tabla de variables 00 OB30. Esta tabla integra la declaración
de las variables que tenemos asociadas a la conexión entre el simulador PLCSIM y
el simulador 3D, y que en ningún caso se deben borrar ni utilizar para otra función:
NOMBRE TIPO REGISTRO COMENTARIO
CODIGO_ll DWord %MD7600 Registro de entradaspara la comunicación con Simulador 3D
CODIGO_l2 DWord %MD7604 Registro de entradaspara la comunicación con Simulador 3D
ENTRADASl_PLC DWord %IDO Entradas reservadas para el Simulador 3D
ENTRADAS2_PLC DWord %1D4 Entradas reservadas para el Simulador 3D
CODIGO_Ql DWord %MD7800 Registro de salidaspara la comunicación con Simulador 3D
CODIGO_Q2 DWord %MD7804 Registro de salidaspara la comunicación con Simulador 3D
SALIDASl_PLC DWord %QD0 Salidas reservadas para el Simulador 3D
281
Unidad 8 - Guía Gemma
282
NOMBRE TIPO
SALIDAS2_PLC DWord
CODIGO_Ml Word
CODIGO_M2 Word
REGISTRO
%QD4
%MW8000
%MW8002
COMENTARIO 1
Salidas reservadas para el Simulador 3D
'----'�
Registro demarcasinternas parala comunicación con Simulador 3[¡__, I
Registro demarcasinternas para la comunicación con Simulador 3[.______,J
Carpeta Simulador 3D, tabla de variables 01 MAQUETA. Esta tabla integra la
declaración de todas las variables asociadas al proceso del simulador 3D:
NOMBRE TIPO REGISTRO
S0_EMERGENCIA Bool %10.0
Sl_PARO Bool %10.1
52_MARCHA Bool %10.2
53_SELECTOR AUTO/MAN Bool %10.3
Bl_ao VENTOSA ARRIBA Bool %10.4
B2_al VENTOSA ABAJO Bool %10.5
B3_b0 VENTOSA DERECHA Bool %10.6
B4_bl VENTOSA IZQUIERDA Bool %10.7
BS_co MULTIPEQUEÑO
Bool %11.0
DENTRO
B6_cl MULTIPEQUEÑO FUERA Bool %11.1
B7_d0 MULTIGRANDE
Bool %11.2
DENTRO
B8_dl MULTIGRANDE FUERA Bool %11.3
B9_e0 MARCADOR ARRIBA Bool %11.4
Bl0_el MARCADOR ABAJO Bool %11.5
Bll_fl PIEZASUJETA Bool %12.0
B12_g0 TOPE ATRAS Bool %12.1
B13_gl TOPE DELANTE Bool %12.2
B14_PIEZA EN TOPE Bool %12.3
BlS_PALET CARGA Bool %12.4
B16_PIEZA BAJO VENTOSA Bool %12.5
54 RESET Bool %12.6
Fl_PROTECCION MOTOR
PIEZAS
Bool %12.7
F2_PROTECCION MOTOR
PALETS
Bool %13.0
SS PULSADOR ACK Bool %13.1
56_SELECCION SELLO
Bool %13.2
AMARILLO
57 SELECCION SELLO ROJO Bool %13.3
58 SELECCION SELLO VERDE Bool %13.4
525 Bool %13.5
59_MANUAL VENTOSA BAJA Bool %14.0
Sl0_MANUAL VENTOSA
Bool %14.1
IZQUIERDA
Sll_MANUAL VENTOSA
Bool %14.2
DERECHA
/
COMENTARIO
____,-
Seta de emergencia. Contacto NC
Pulsador de paro. Contacto NC
'-.J-
-
Pulsador de marcha. Contacto NO '-.J
-
Selector Manual (NC)/Automático (NO) '-.J
Manipulador de carga. Eje vertical. Detector posición superior (NO) J
Manipulador de carga. Eje vertical. Detector posición inferior (NO)
Manipulador de carga. Eje horizontal. Detector posición reposo (NO)
-
Manipulador de carga. Eje horizontal. Detector posición trabajo (NO)
-
Manipulador de grabado. Eje horizontal. Cilindro pequeño. Detector posic'lún
reposo (NO)
Manipulador de grabado. Eje horizontal. Cilindro pequeño. Detector posiciAn
trabajo (NO) '-../
Manipulador de grabado. Eje horizontal. Cilindro grande. Detector posicic'
reposo (NO) J
Manipulador de grabado. Eje horizontal. Cilindro grande. Detector posici(.___,,
trabajo (NO)
Manipulador de grabado. Eje vertical. Detector posición superior (NO)
J-1
-
Manipulador de grabado. Eje vertical. Detector posición inferior (NO) '-.J
-
Manipulador de carga. Eje vertical. Detector vacío. Pieza sujeta (NO) '-.J
1
Cinta piezas. Tope salida pieza. Detector segundo tope posición trabajo (r'-...../
Cinta piezas. Tope salida pieza. Detector primer tope posición trabajo (NC 1
Cinta piezas. Detector pieza en posición del segundo tope de salida (NO)
..__,-
Cinta portapalets. Detector de palet en posición de carga de la pieza (NO)
-
Cinta piezas. Detector de pieza en posición de ser cargada por la ventosa '-...../
(NO)
Pulsador de Reset. Contacto NO
..__,-
Disyuntor magnetotérmico motor cinta transporte de piezas (NC)
Disyuntor magnetotérmico motor cinta transporte de palets (NC)
Pulsador de reconocimiento de alarmas (ACK). Contacto NO '-.J
Pulsador de selección de tipo de sello amarillo a marcar en las piezas (NO>-.../
Pulsador de selección de tipo de sello rojo a marcar en las piezas (NO) J
Pulsador de selección de tipo de sello verde a marcar en las piezas (NO) '-../
Mando manual. Selector libre
Mando manual. Bajar eje vertical manipulador de carga (NO). Selector
biestable '-../
Mando manual. Desplazar eje horizontal manipulador de carga a posición
descarga (NO). Selector monoestable -
Mando manual. Desplazar eje horizontal manipulador de carga a posición'--"
carga (NO). Selector monoestable
V
' ,¡

i

)

'
'
)

'

NOMBRE
S12_MANUAL
MULTIPEQUEÑO
S13_MANUAL MULTIGRANDE
S14_MANUAL TOPE
S15_MANUAL BAJA
MARCADOR
S16_MANUAL SUBIR
MARCADOR
517_MANUAL MOTOR PIEZAS
S18_MANUAL MOTOR PALET
S19_MANUAL VENTOSA
520
521
522
523
524
Yl_BAJAR VENTOSA
Y2_VENTOSAAIZQUIERDA
Y3_VENTOSAA DERECHA
Y4_MULTIPOSICIONAL
PEQUEÑO
Y5_MULTIPOSICIONAL
GRANDE
Y6_TOPE
Y7_BAJAR MARCADOR
Y8_SUBIR MARCADOR
Y9_VENTOSA
KlM_MOTOR CINTA PALET
K2M_MOTOR CINTA PIEZAS
H0_AMARILLO
Hl_VERDE
H2_AZUL
H3_ROJO
H4_PULSADOR-PARO
H5_PULSADOR_MARCHA
H6_PULSADOR_ACK
H20
H21
H22
H23
H24
H7_ESTADO Al
H8_ESTADO A2
TIPO
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Unidad 8 - Guía Gemma
REGISTRO COMENTARIO
%14.3
Mando manual. Desplazar eje pequeño horizontal manipulador de grabado
(NO). Selector biestable
%14.4
Mando manual. Desplazar eje grande horizontal manipulador de grabado
(NO). Selector biestable
%14.5
Mando manual. Desplazar topes salida pieza en cinta de piezas (NO). Selector
biestable
%14.6
Mando manual. Descender eje vertical manipulador de grabado (NO).
Selector monoestable
%14.7
Mando manual. Ascender eje vertical manipulador de grabado (NO). Selector
monoestable
%15.0 Mando manual. Motor cinta de piezas (NO). Selector biestable
%15.1 Mando manual. Motor cinta de palets (NO). Selector biestable
%15.2 Mando manual. Activar vacío en ventosa (NO). Selector biestable
%15.3 Pulsador auxiliar 520. Contacto NO
%15.4 Pulsador auxiliar 521. Contacto NO
%15.5 Pulsador auxiliar 522. Contacto NO
%15.6 Pulsador auxiliar 523. Contacto NO
%15.7 Pulsador auxiliar 524. Contacto NO
%Q0.0
Manipulador de carga. Eje vertical. Electroválvula monoestable. Descender
eje
%Q0.1
Manipulador de carga. Eje horizontal. Electroválvula biestable. Desplazar a
posición de descarga
%Q0.2
Manipulador de carga. Eje horizontal. Electroválvula biestable. Desplazar a
posición de carga
%Q0.3
Manipulador de grabado. Eje vertical. Eje horizontal pequeño. Electroválvula
monoestable. Desplazar eje
%Q0.4
Manipulador de grabado. Eje vertical. Eje horizontal grande. Electroválvula
monoestable. Desplazar eje
%Q0.5 Cinta piezas. Topes salida piezas. Electroválvula monoestable. Activar topes
%Q0.6
Manipulador de grabado. Eje vertical. Electroválvula biestable. Orden de
bajar
%Q0.7
Manipulador de grabado. Eje vertical. Electroválvula biestable. Orden de
subir
%Ql.0
Manipulador de carga. Ventosa sujeción pieza. Electroválvula monoestable.
Sujeción pieza
%Ql.1 Motor cinta palets
%Q2.0 Motor cinta piezas
%Q2.1 Piloto de señalización amarillo
%Q2.2 Piloto de señalización verde
%Q2.3 Piloto de señalización azul
%Q2.4 Piloto de señalización rojo
%Q3.0 Piloto rojo de señalización integrado en el pulsador de PARO
%Q3.1 Piloto verde de señalización integrado en el pulsador de MARCHA
%Q3.2 Piloto rojo de señalización integrado en el pulsador ACK
%Q3.3 Piloto verde de señalización integrado en el pulsador AUXILIAR S20
%Q3.4 Piloto verde de señalización integrado en el pulsador AUXILIAR 521
%Q3.5 Piloto verde de señalización integrado en el pulsador AUXILIAR 522
%Q3.6 Piloto verde de señalización integrado en el pulsador AUXILIAR 523
%Q3.7 Piloto verde de señalización integrado en el pulsador AUXILIAR 524
%Q4.0
Piloto verde delpanel Guía Gemma del Simulador 3D que indica Estado Al
activo
%Q4.1 PilotoverdedelpanelGuía Gemma del Simulador 3Dqueindica EstadoA2activo
283
Unidad 8 - Guía Gemma
284
NOMBRE TIPO REGISTRO COMENTARIO
H9 ESTADO A3 Bool %Q4.2 Piloto verde del panel Guía Gemma del Simulador 3D que indica EstadoA3activ0
HlO_ESTADO A4 Bool %Q4.3 Pilotoverde del panelGuíaGemma del Simulador 3D que indicaEstadoA4activa-'-
-
Hll_ESTADO AS Bool %Q4.4 Piloto verde del panel Guía Gemma del Simulador 3D queindica EstadoASactivo--'
-
H12_ESTADO A6 Bool %Q4.S Piloto verde del panel Guía Gemma del Simulador 3D que indica EstadoAG activ.._,
H13_ESTADO Fl Bool %Q4.6 Piloto verde del panel Guía Gemma del Simulador 3D que indica estadoFlactivL___,,
H14_ESTADO F2 Bool %Q4.7 Piloto verde del panel Guía Gemma del Simulador 3D que indica estadoF2 activr
HlS_ESTADO F3 Bool %QS.O Piloto verde delpanelGuíaGemma del Simulador 3D que indicaestadoF3activr
·._,-
H16_ESTADO F4 Bool %QS.1 Piloto verdedelpanel Guía GemmadelSimulador3Dqueindica estadoF4 activ0
H17_ESTADO FS Bool %QS.2 Pilotoverde del panelGuía Gemma del Simulador 3D que indica estadoFS activ�-
-
H18_ESTADO Dl Bool %QS.3 PilotoverdedelpanelGuíaGemmadel Simulador 3D que indica estado Dl activo--'
-
H19_ESTADO D2 Bool %QS.4 PilotoverdedelpanelGuíaGemmadel Simulador 3D que indica estado D2 activ,:,.../
PEDIDO ROJAS lnt %MW7002 Registro de pedido de piezas con grabado en rojo .,J
PEDIDO AMARILLAS lnt %MW7004 Registro de pedido de piezas con grabado en amarillo
PEDIDO VERDES lnt %MW7006 Registro de pedido de piezas con grabado en verde
-
PEDIDO SIN GRABADO lnt %MW7008 Registro de pedido de piezas sin grabado
-
PROCESADAS ROJAS lnt %MW7010 Registro de piezas procesadas de color rojo
'-..../
-
PROCESADAS AMARILLAS lnt %MW7012 Registro de piezas procesadas de color amarillo .,J
-
PROCESADAS VERDE lnt %MW7014 Registro de piezas procesadas de color verde .,J
PROCESADAS SIN GRABADO lnt %MW7016 Registro de piezas procesadas de color verde .,J
Carpeta Simulador 3D, tabla de variables 02 AVERÍAS. Esta tabla integra la
declaración de las variables que tenemos asociadas a diferentes estados de posibles
averías que se pueden originar desde el simulador 3D:
-
NOMBRE TIPO REGISTRO COMENTARIO
AVERÍAY2 VENTOSAIZQUIERDA Bool %M7100.0 La electroválvula del desplazamiento izquierda del eje horizontal est-..J
averiada
AVERÍA Y3 VENTOSA DERECHA Bool %M7100.1 La electroválvula del desplazamiento derecha del eje horizontal está-
averiada
AVERÍA B4 VENTOSAIZQUIERDA Bool %M7100.2 El detector izquierdo del eje horizontal está averiado
AVERÍAB3 VENTOSA DERECHA Bool %M7100.3 El detector derecho del eje horizontal está averiado
AVERÍAYl BAJAR VENTOSA Bool %M7100.4 La electroválvula del brazo vertical está averiada
'-../-
-
AVERÍA Bl VENTOSAARRIBA Bool %M7100.S El detector de arriba del brazo vertical está averiado .,J
-
AVERÍA B2 VENTOSAABAJO Bool %M7100.6 El detector de abajo del brazo vertical está averiado '-../
AVERÍA YS MULTIPOSICIONAL Bool %M7100.7 El detector de atrás del multiposicional pequeño está averiado .,J
PEQUEÑO -
AVERÍA BS_MULTIPEQUEÑO Bool %M7101.0 El detector de atrás del multiposicional pequeño está averiado J
DENTRO
AVERÍA BG_MULTIPEQUEÑO FUERA Bool %M7101.1 El detector de delante del multiposicional pequeño está averiado
-
-
AVERÍA YS MULTIPOSICIONAL Bool %M7101.2 La electroválvula del multiposicional grande está averiada ---.1
GRANDE
AVERÍA B7 MULTIGRANDE DENTRO Bool %M7101.3 El detector de atrás del multiposicional grande está averiado
AVERÍAB8 MULTIGRANDE FUERA Bool %M7101.4 El detector de delante del multiposicional grande está averiado
'-'-
-
AVERÍA Y7 BAJAR MARCADOR Bool %M7101.5 La electroválvula de bajar marcador está averiada ---.1
-
AVERÍAY8 SUBIR MARCADOR Bool %M7101.6 La electroválvula de subir marcador está averiada '-'
-
AVERÍA B9 MARCADOR ARRIBA Bool %M7101.7 El detector de arriba del marcador está averiado '-'
AVERÍA BlO MARCADOR ABAJO Bool %M7102.0 El detector de abajo del marcador está averiado .,J
11
'
i
1
1
NOMBRE
AVERÍA Y6 TOPE
AVERÍA B12 TOPE ATRAS
AVERÍA B13 TOPE DELANTE
AVERÍA Y9 VENTOSA
ALARMAACTIVA
AVERÍA Y4 MULTIPOSICIONAL
PEQUEÑO
AVERÍACILINDRO HORIZONTAL
AVERÍA CILINDRO VERTICAL
AVERÍA VENTOSA
AVERÍAMULTIPEQUEÑO
AVERÍA MULTIGRANDE
AVERÍA MARCADOR
AVERÍATOPE
TIPO
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Bool
Unidad 8 - Guía Gemma
REGISTRO COMENTARIO
%M7102.1 La electroválvula del tope está averiada
%M7102.2 El detector de atrás del tope está averiado
%M7102.3 El detector de delante del tope está averiado
%M7102.4 La electroválvula de activar la ventosa o el sensor de vacío está
averiado
%M7102.S Indica que hay alguna avería
%M7100.7 El detector de atrás del multiposicional pequeño está averiado
%M7102.6 Cargador. Indica que hay avería en cilindro horizontal
%M7102.7 Cargador. Indica que hay avería en cilindro vertical con ventosa
%M7103.0 Cargador. Avería en ventosa
%M7103.2 Grabador. Avería en cilindro multiposicional pequeño
%M7103.3 Grabador. Avería en cilindro multiposicional grande
%M7103.1 Grabador. Avería en cilindro marcador
%M7103.4 Grabador. Avería en cilindro tope
' • Señalización luminosa
.,
1
1
1
'
)
'
'
'
, Recuerda • • •
' Es muy importante que
-, el operario de la
máquina reconozca la
visualización de los
---. diferentes estados en
los que se pueda
1 encontrar el proceso.
El proceso dispone de una baliza de señalización con cuatro pilotos para indicar
diferentes estados del mismo. A medida que se vayan utilizando en el programa,
asignaremos la siguiente función de señalización:
Piloto
Rojo
Amarillo
Verde
Azul
Rojo
Registro
asociado
Q 2.4
Q 2.1
Q 2.2
Q 2.3
Q 2.4
Funcionamiento
Permanente
Intermitente
Permanente
1ntermitente
Permanente
Intermitente
Permanente
Intermitente
Intermitente
Estado del proceso sei'ializado
Proceso en el estado inicial (Al)
(Rápido Clock 2,5 Hz) Estadode emergencia (Dl-A5 - A6)
(Lento Clock 1 Hz) Diagnóstico de alarmas (D2)
-------1
Mando manual (F4)
Disyuntores magnetotérmicos disparados
( Preferencia respecto a F4)
Proceso en estado de producción normal (F1)
(Lento Clock 1 Hz ) Marcha de preparación (F2)
(Rápido Clock 2,5 Hz) Pedido de piezas acabado
(Preferencia respecto a F1 )
Proceso en modo paso a paso (F5)
(Lento Clock 1 Hz) Parada solicitada a un estado
determinado (A3)
(Rápido Clock 2,5 Hz) No hay pieza esperando en tope
Parada solicitada a final de ciclo (A2)
Marcha de cierre (F3)
285
Unidad 8 - Guía Gemma
Fig. 8.2c
286
8.2 Programación en Grafcet (VII)
Vamos a aplicar la guía Gemma sobre un funcionamiento completo del proceso
representado en el simulador 3D. Para ello, lo primero que haremos será diseñar el
Grafcet del estado Fl que correspondería a la Producción normal, lo que en la
mayoría de casos consideremos como funcionamiento automático. A partir de este
estado Fl iremos añadiendo el resto de estados de la guía Gemma de forma sucesiva
explicando los cambios a realizar, de forma que en el último apartado tengamos el
programa completo que contemple la mayoría de los estados de la guía.
8.2.1 Guía Gemma del Estado F1 (Producción normal)
Presentaremos una posible solución, lo que no significa que
sea la única, ya que podríamos conseguir el mismo
funcionamiento con otras estructuras para el desarrollo del
estado Fl. Para esta solución se han desarrollado tres Grafcet:
- Grafcet de los manipuladores de grabado y de carga.
- Grafcet del motor de la cinta transportadora de palets.
- Grafcet del motor de la cinta transportadora de piezas.
A continuación, se indica el enunciadodel funcionamiento de
cada una de las secuencias en las que hemos subdividido el
proceso.
• Condiciones de funcionamiento
• CONDICIONES DE LOS MANI PULADORES DE GRABADO Y DE CARGA:
Alponerenmarchael sistema, se activará la etapa inicial y, si también están activas las
etapas inicialesde los Grafcet de losmotores, entraráen funcionamiento el piloto rojo.
El sistema deberá cumplir unas condiciones iniciales antes de arrancar el
funcionamiento del ciclo:
- El cilindro vertical del manipulador de carga que incorpora la ventosa se
debe encontrar en la posición de reposo (arriba).
- El cilindro del eje horizontal del manipulador de carga que desplaza a la
ventosa se debe encontrar en la posición de reposo (derecha).
- No debe haber ninguna pieza sujeta en ventosa del manipulador de carga.
- El cilindro multiposicional pequeño del manipulador de grabado se debe
encontrar en la posición de reposo (atrás).
- El cilindro multiposicional grande del manipulador de grabado se debe
encontrar en la posición de reposo (atrás).
- El cilindro marcador del manipulador de grabado se debe encontrar en la
posición de reposo (arriba).
- El tope de la cinta transportadora de piezas se debe encontrar en la
posición de reposo (atrás).
J
'
'
'
)
1
)
'
'
)
'
Recuerda • • •
Es importante conocer
con detalle, en primer
lugar, todas las
condiciones de
funcionamiento que
deberá cumplir el
proceso.
Unidad 8 - Guía Gemma
- Al accionar el pulsador de marcha y, si se cumplen las condiciones iniciales,
se activarán de forma simultánea las dos ramas del Grafcet, la del
funcionamiento del manipulador de grabado y la del manipulador de carga.
MANIPULADOR DE GRABADO:
Al arrancar el ciclo de funcionamiento del manipulador de grabado se deberán
tener en cuenta los tres casos siguientes:
- Secuencia 1: que no haya ninguna pieza situada en el tope de la cinta de
transporte y se haya realizado el pedido, en el panel Registros de contaje y
pedidos, de los tres tipos de piezas (rojas, verdes y amarillas) a marcar que
se desean fabricar en el simulador 3D.
- Secuencia 2: que haya finalizado por completo el pedido realizado.
- Secuencia 3: que no se disponga de ninguna pieza situada en el tope de la
cinta de transporte.
- Secuencia 1
Si existe pedido de los tres colores, primero realizará todas las piezas con el
marcado de color rojo. Cuando finalice, realizará las de color verde y cuando haya
finalizado el pedido de marcado en verde, realizará las de color amarillo. En el caso
de que el pedido que se haga no sea completo, es decir, que sea de uno o dos
colores, el proceso seguirá el mismo orden de colores indicado anteriormente para
evitar realizar aquellas de las que no existe pedido.
En cualquier caso, la secuencia de trabajo del manipulador de grabado será la
siguiente:
- Si la pieza del pedido es roja:
• El cilindro marcador avanzará hasta alcanzar la posición inferior.
• Cuando el cilindro marcador se encuentre en la posición de avance
(inferior), este retornará a la posición de reposo (superior).
• Cuando el cilindro marcador se encuentre en la posición de reposo
(superior), el cilindro multiposicional pequeño avanzará. También avanzará
el cilindro multiposicional grande y además se contabilizará en el registro
correspondiente la pieza marcada roja.
• Cuando los dos cilindros multiposicionales se encuentren en la posición de
avance (fuera), el cilindro marcador deberá estar situado sobre la pieza y,
por tanto, avanzará hasta alcanzar la posición inferior. En ese momento
quedará marcada la pieza con el color rojo.
• Cuando el cilindro marcador se encuentre en la posición de avance (abajo),
retornará a la posición de reposo (superior).
• Cuando el cilindro marcador alcance la posición de reposo (arriba), tanto el
cilindro multiposicional pequeño como el grande retrocederán su posición
a la de reposo (atrás).
• Cuando el cilindro multiposicional pequeño y el grande hayan alcanzado la
posición de reposo, se activará el conjunto cilindro-tope, el trasero
avanzará y el delantero retrocederá, de modo que, con la cinta
trasportadora en funcionamiento, arrastrará la pieza hacia la posición del
manipulador de carga.
287
Unidad 8 - Guía Gemma
288
• Al alcanzar la pieza la posición final del recorrido de la cinta transportadora,
quedará posicionada justo debajo del cilindro de la ventosa, el conjunto
cilindro-tope volverá a su posición y la cinta de piezas arrastrará la nueva
pieza a la zona de marcado.
- Si la pieza del pedido es verde:
• El cilindro multiposicional grande avanzará hasta alcanzar la posición de
avance (fuera).
• Cuando el cilindro multiposicional grande se encuentre en la posición de avance
(fuera), el cilindro marcador avanzará hasta alcanzar la posición inferior.
• Cuando el cilindro marcador se encuentre en la posición de avance
(inferior), retornará a la posición de reposo (superior).
• Cuando el cilindro marcador se encuentre en la posición de reposo
(superior), el cilindro multiposicional pequeño avanzará y además se
contabilizará en el registro correspondiente la pieza marcada verde.
• Cuando el cilindro multiposicional pequeño se encuentre en la posición de
avance (fuera), el cilindro marcador deberá estar situado sobre la pieza y,
por tanto, avanzará hasta alcanzar la posición inferior. En ese momento
quedará marcada la pieza con el color verde.
• Cuando el cilindro marcador se encuentre en la posición de avance (abajo),
retornará a la posición de reposo (superior).
• Cuando el cilindro marcador alcance la posición de reposo (arriba), tanto el
cilindro multiposicional pequeño como el grande retrocederán su posición
a la de reposo (atrás).
• Cuando el cilindro multiposicional pequeño y el grande hayan alcanzado la
posición de reposo, se activará el conjunto cilindro-tope, el trasero
avanzará y el delantero retrocederá, de modo que, con la cinta
trasportadora en funcionamiento, arrastrará la pieza hacia la posición del
manipulador de carga.
• Al alcanzar la pieza la posición final del recorrido de la cinta transportadora,
quedará posicionada justo debajo del cilindro de la ventosa, el conjunto
cilindro tope volverá a su posición y la cinta de piezas arrastrará la nueva
pieza a la zona de marcado.
- Si la pieza de pedido es amarilla:
• El cilindro multiposicional pequeño avanzará hasta alcanzar la posición de
avance (fuera).
• Cuando el cilindro multiposicional pequeño se encuentre en la posición de
avance (fuera), el cilindro marcador avanzará hasta alcanzar la posición
inferior.
• Cuando el cilindro marcador se encuentre en la posición de avance
(inferior), retornará a la posición de reposo (superior).
• Cuando el cilindro marcador se encuentre en la posición de reposo
(superior), el cilindro multiposicional grande avanzará y además se
contabilizará en el registro correspondiente la pieza marcada en amarillo.
■ Cuando el cilindro multiposicional grande se encuentre en la posición de
avance (fuera), el cilindro marcador deberá estar situado sobre la pieza y,
por tanto, avanzará hasta alcanzar la posición inferior. En ese momento
quedará marcada la pieza con el color amarillo.
·-J
,...
,/
'
'
1
'
1
'
'

'
'

'
'
'
'
1
'
Unidad 8 - Guía Gemma
• Cuando el cilindro marcador se encuentre en la posición de avance (abajo),
retornará a la posición de reposo (superior).
• Cuando el cilindro marcador alcance la posición de reposo (arriba), tanto el
cilindro multiposicional pequeño como el grande retrocederán su posición
a la de reposo (atrás).
• Cuando el cilindro multiposicional pequeño y el grande hayan alcanzado la
posición de reposo, se activará el conjunto cilindro tope, el trasero avanzará
y el delantero retrocederá, de modo que, con la cinta trasportadora en
funcionamiento, arrastrará la pieza hacia la posición del manipulador de
carga.
• Al alcanzar la pieza la posición final del recorrido de la cinta transportadora,
quedará posicionada justo debajo del cilindro de la ventosa. El conjunto
cilindro tope volverá a su posición, haciendo que la cinta de piezas arrastre
a la nueva pieza a la zona de marcado.
- Secuencia 2:
- El hecho de que el número de piezas del pedido coincida con el número de
piezas procesadas se puede observar en dos situaciones:
• Que haya finalizado el pedido realizado.
• Que se haya puesto en marcha el proceso sin realizar un nuevo pedido.
En cualquier caso, se activará de forma intermitente el piloto verde.
- Para que el sistema pueda realizar un nuevo ciclo, se deberá accionar el pulsador
RESET, con lo que los registros de contaje de piezas pedidas se pondrán a cero.
A partir de ese momento será necesario realizar un nuevo pedido de piezas en
el panel Registros de contaje y pedidos, y a continuación accionar el pulsador
ACK. Entonces se podrá iniciar un nuevo ciclo.
- Secuencia 3
- En el caso de que no haya finalizado el pedido y no tengamos piezas en la cinta
transportadora, el piloto azul funcionará de forma intermitente. Para que el
sistema recargue nuevas piezas en la cinta transportadora, deberemos accionar
el botón amarillo INICIALIZAR del panel del simulador 3D. Volverán a aparecer
piezas en la cinta y, a continuación, se deberá accionar el pulsador ACK.
MANIPULADOR DE CARGA:
Cada vez que se detecte una pieza bajo el cilindro vertical de la ventosa en zona de
carga, tendrá lugar la siguiente secuencia:
• El cilindro vertical asociado a la ventosa descenderá hasta alcanzar la
posición de avance (abajo).
• Cuando la ventosa alcance la posición de avance (abajo), se activará el vacío
de la ventosa para sujetar la pieza.
• Cuando la pieza esté sujeta, se activará el detector de vacío, momento en
el que el cilindrovertical de la ventosa con la pieza sujeta se trasladará a la
posición de reposo (arriba).
• Cuando el cilindro vertical de la ventosa haya alcanzado la posición de
reposo (arriba), ese mismo cilindro vertical se desplazará hacia la izquierda
trasladado por el cilindro del eje horizontal.
289
Unidad 8 - Guía Gemma
290
• Cuando el eje horizontal haya alcanzado la posición de la izquierda, y si se
detecta palet en zona de descarga, el cilindro vertical de la ventosa
descenderá hasta la posición de avance (abajo).
• Cuando el cilindro vertical de la ventosa haya alcanzado la posición de
avance (abajo), momento en el que se situará sobre el palet, se desactivará
el vacío de la ventosa para dejar caer la pieza en el palet.
• Cuando se haya dejado la pieza encima del palet, el detector de vacío se
desactivará y en ese momento el cilindro vertical de la ventosa recuperará
su posición de reposo (arriba).
• Cuando el cilindro vertical de la ventosa se encuentre en reposo (arriba), el
cilindro del eje horizontal desplazará el cilindro de la ventosa hacia su
posición de reposo (derecha).
• Cuando el eje horizontal alcance su posición de reposo (derecha), se da por
finalizado el ciclo de funcionamiento.
• CONDICIONES DE LA CINTA TRANSPORTADORA DE PIEZAS:
Para que pueda funcionar la cinta transportadora de piezas ha de ocurrir lo
siguiente:
- Hemos de accionar el pulsador de marcha, además de comprobar que no
haya ninguna pieza al final del recorrido de la cinta transportadora de
piezas, es decir bajo el cilindro vertical de la ventosa y además que el
disyuntor del motor se encuentre rearmado.
- Elmotorse detendrá siempre que sedetecteuna pieza al final del recorrido de
lacinta transportadora depiezas, esdecir, bajoelcilindroverticaldelaventosa.
- Si se dispara el disyuntor magnetotérmico, el motor se detendrá, lo cual se
indicará al mismo tiempo con el piloto amarillo deforma intermitente. Cuando
rearmemos el disyuntor, el motor volverá a funcionar y el piloto se apagará.
• CONDICIONES DE LA CINTA TRANSPORTADORA DE PALETS:
Para que pueda funcionar la cinta transportadora de palets, ha de ocurrir lo
siguiente:
- Hemos de accionar el pulsador de marcha, además de comprobar que no
sedetectapaletalguno en la zona de descarga y que el disyuntor del motor
se encuentre rearmado.
- El motor se detendrá siempre que se detecte una palet en la zona de
descarga.
- Si se dispara el disyuntor magnetotérmico, el motor se detendrá y el piloto
amarillo lucirá de forma intermitente. Cuando rearmemos el disyuntor, el
motorvolverá a funcionar y el piloto se apagará.
• Diseño del Grafcet del Estado Fl
Como se ha comentado anteriormente, para dar solución estructurada al Estado Fl
se ha realizado el diseño de tres Grafcet:
• GRAFCET DE LOS MANIPULADORES DE GRABADO Y DE CARGA:
Este Grafcet se ha diseñado a partir de una combinación de estructuras de
selección de secuencia y bifurcación en Y o trabajos paralelos, pero no deja de
J
'

'
'


'
'


'
'

Unidad 8 - Guía Gemma
ser una propuesta de solución. No es la única, ya que se puede optar por una
solución basada en los Grafcet paralelos sincronizados.
Hay selec:donadas piezasrojas, noha
acabadoel pedidoy hey pieza en
tope ( 12.3 • MN7002> MW70líl)
N Q0.6
B!¡a marcador MS.3
N Q0.7
""'"''"'"°' MS.4
Q0.4
Salemulti wr,cle
Q0.3
Sale mul11 pequef'io
N CU ROJAS
Contaje derojas
""·'
ElmUtl pe� estafueray el mulu
grande Hta ruera ( 11.1 • 113 )
M<.O
.ll.,;:do,w- P'Jsadoc de mardvi yventosa esú arriba,wnc:osaestá enderecha. mulll � eslá atrás, mulll � ndi atrás.
mscedotesul .,.-iba, tope est61c:r6sy nohey p1eza$U)etaporvent0&a. ( t0.2 º
1Q4" I0.6 • 11.0 • 11.2• 11.4• 12.1 •iui )
Hit(sele«10f'eda1piezasverdes. noha
� el pedido y ha acabado pedl!XI
deph!zasrojasyhayp¡u,, en tope ( 12.3
•MW� > MN70l4'MW7002'­
MW7010 )
s Q0.4
Sele mJt1 grande
El mullí peqodloestafuera { ll. l )
M5.7
1-ey seleccionadas piezas emanllas. no
ha acabadoel pe<ido y ha acabado
ped-do de pllllS rejas y de piU!IS
ver�y hey piua eri tope ( l23 •
MW70'J4> MW7012 • lvfN70CJ2-
MW7010 • MW70Ch MW7014J
s Q0.3
Sale mulll pequeflo
N CU/AMARILLAS
C,ontBje emarlllas
El mu111 ivarde estefuere( 11.3)
Haacabodolospedldosde piezasrojas, verdesy amarlhs
(( MJ.'7002• M.'.'7010) • {MW7004• fl..fN7012) • (MW7006• MW7014))
Ooó._2.SHt ( WBl.91.2 )
Fig. 8.3
NO My pk!za bejobrazo ( 12S)
""'
MI.O
M7.1
M7.2
M7.3
M7 4
M7.5 N Q0.2
Ventosa hedaderecha
Laventosa esta en la derecha( 10.6 )
• GRAFCET DE LA CINTA TRANSPORTADORA DE PIEZAS:
Este sencillo Grafcet está formado por una secuencia simple de dos etapas que
cubre las condiciones del funcionamiento dado.
291
Unidad 8 - Guía Gemma
Recuerda • • •
Cuando el proceso es
complejo, resulta muy
útil descomponerlo en
diferentes pequeños
problemas para poder
resolver cada
problema con su
diseño Grafcet
correspondiente.
292
M8.0
M8.l
Accioo¡r pulsador de marcha v NO hay pieza en tope o etapa X50 actíva y disyuntor
estarearmado ( (I0.2 • ii:'ift MS.0) • 12.7)
0lsyuntor re.i,rmado (l2.7)
t«: Q2.0
�ntordlsparadoy Oock_lHz
(12.7 ºM 191.5 )
Funciona motor piezas
NC Q2.l
Pilotoamarllo
Se par.J motorpleus
El motorpalet esta parado ( WJ
Fig. 8.4a
• GRAFCET DE LA CINTA TRANSPORTADORA DE PALETS:
Este sencillo Grafcet está formado por una secuencia simple de dos etapas que
cubre las condiciones del funcionamiento dado.
MS.2
Accionar pulsador de marcha y NO hay palet en zona de descarga o etapa X75 activa o etapa X71 activa y
NO hay palet en zona de descarga y disyuntor esta rearmado( (10.2 •"ii':4) + (M7.5 ) +(M7.l •12Au- 13.0
M8.3
M8.4
Disyuntor rearmado (13.0)
NC Ql.1
Funciona motorpalet
NC Q2.l
Piloto amarillo
Fig. 8.4b
Disyuntor disparado y Clock lHz
(8.o•MS19l.S )
-
• Programa del diseño Grafcet correspondiente al estado F1
Estos tres Grafcet que pertenecen al Estado Fl los programaremos teniendo en
cuenta el siguiente criterio:
En el OB30 programaremos los códigos para que PLCSIM pueda acceder a
la maqueta virtual.
- En el OB100 programaremos la inicialización de los tres Grafcet.
- El programa para la activación de las etapas lo programaremos en el FC9,
bloque con el símbolo Fl PRODUCCIÓN NORMAL.
- La programación de las salidas la realizaremos en el FC20, bloque con el
símbolo S_SALIDAS.
- La programación de los temporizadores la realizaremos en el FC21, bloque
con el símbolo denominado T_TEMPORIZADORES.
- La programación de los contadores la llevaremos a cabo en el FC22, bloque
con el símbolo Z_CONTADORES.
Por tanto, para poder probar el funcionamiento del Estado Fl, hemos de
realizar las siguientes llamadas desde el OB1:
o FC9 PRODUCCIÓN NORMAL.
o FC20 S_SALIDAS.
-....,·
-..
__.
.'-'
'
"
'1
'
'
'
"
'
'
'
'
1 ,
l
í
l
l
"
1
'
Recuerda • • •
Es importante introducir
en el bloque de
programa OB30 los tres
segmentos indicados
en el texto, ya que es
la configuración para
que el programa
cargado en el PLCSim
pueda establecer
comunicación con el
Simulador 3D.
Unidad 8 - Guía Gemma
o FC21 T_TEMPORIZADORES.
o FC22 Z CONTADORES.
Programa del bloque de organización Cyclic interrupt {OB 30)
Para una correcta conexión entre el simulador 3D y el simulador de TIA Portal
PLCSim, es necesario que en el bloque de programa llamado Cyclic interrupt, que
corresponde con el 0830, se introduzca el siguiente programa:
M)V'
--------- EN
v.t:>7604 ..04
·c001Go_12· IN "EN1RAOAS2
� oun · PU.-
'JiM:>7804
IN 41 oun - "COOIGO_Q2"
M>VE
..........,
q OUT1 - "COOIGO_Ml.8
Fig. 8.5
Fig. 8.6
Fig. 8.7
Los diferentes términos que corresponden a las marcas, entradas y salidas
utilizados para la carga de unos valores no se podrán utilizar en el programa, ya que
ocasionaría una modificación en los valores cargados desde el 0830 y provocaría la
pérdida de comunicación entre el simulador 3D y el simulador de TIA Portal PLCSim.
Programa del OB100
En el 08100 programaremos la inicialización de las etapas marcadas con doble
cuadrado y resetearemos el resto de las etapas.
1
-rp l__________-----iu
::�
.
"'ETAPA 41"
(IESET_BF f-,
30
�p- L_------iu=-
"'ETAPA 80-
( IESET_BF r
Fig. 8.8
1
-
rp l_____________,u
:'.·
_
"ETAPA S)"
(RESET_•• r Fig. 8.10
Programa del FC9. Fl_PRODUCCIÓN NORMAL.
Fig. 8.9
En el bloque FC9 programaremos la activación de las etapas queharán evolucionar
al Grafcet de producción normal.
293
Unidad 8 - Guía Gemma
• Segmento 1: Klll'l,QÓtf Ol [WA◄1 Y ot LAEWA65 Y DBAClll'AOÓN Ol LAS fW.a.40
....,
•s2_t.tAACHA."
.....
"B1_a0
VENTOSA
ARRIIA"
.....
"B3_b0
VENTOSA
DERECHA"
..,.o
"B5_ct> MULTI
PEQUE.�O
DENlllCt
'111.2
"87_d0 MULTI
GRANDE
DENlOOº
'112.1
"B12_g0 TOPE
AllvSº
'112.0
"81 1_f1 PEZA
SWE.TA"
W4.1
"E1Af'A 4 1 "
r----vr----.---;s)------<
.....o
R }--
Fig. 8.11
294
• Segmento 2: AC11'V...cJÓN Dl l.A EWA◄2Y Ol5K1!Yl'LtÓN Of lAf'WA •tl
__,
"ETAPA 4 1 "
'1123
"B1 4_PEZA EN
IDPE"
..,..
"89_e0
MAACAOOR
ARRIBAº
------
v.lW7002
-.2
-�
°TT�
tc
J,S
º ºETAf
t�
'JIMW7010
"PROCESADAS W4.1
ROJAS" "ETAPA 4 1 "
•>--
Fig. 8.12
--•
"ETAPA 44"
'--------------·--;
,;
Fig. 8.14
• Segmento 6: ACIIVACIÓN O[ LAETAPA46YO[SACTIVACJóN OE I.AETN'A45 ----------
llM4.S
º
ETAPA 45º
-.n.s
"810_e1
MAACAOOR
/Vl/VO"
--•
"ETAPA 46"
__5
¡S }--
L_____________
'E
T
---1
�
:�
Fig. 8.16
• Segmento 8: K11YAOÓN DC LA fWA 50YOfSACltVAClÓNOl 1.AU,.,,.A-47
..,.o
"BS_cO MULTI
�QUEÑO
DE"'1ROº
'111.2
ºB7_d0 MULTI
GRANDE
DE"'1ROº
Fig. 8.18
..,5
"81 6_PIEZA
BAJO VENTOSA"
'IMS.O
"ETAPA so·
1/11-----,G
.------------i. >---
-.7
ºETAPA 4T
R )--
• Segmento to: AC'IIVAC.IÓNOE lA flAl'A 52 YOESAC11V#IOÓ
;;:
N
"'
O
"-
n
=
A •w
=
"
'-'
'----------
v.1:5.1
"ETAPA 51 "
'112.1
"B1
2
_g0 TOPE
AlAASº ºT1 º
.Q
1
Fig. 8.20
..,.5.2
"ETAPA 5
2
"
¡
S }--
'IMS.1
L--------
••
-
T�
A�
• Segmento 3: ACIIVACIÓN Of lJl.lWA43Y DlS/ICRV
_
""6N
_ �
O
_
f ..c.
<A
_
fWA
-'-----
•2
__________
-'
'1115
·s1 o_e1
MAACAOOR
/Vl/VOº
'™4.3
"ETAPA43"
__,
;
s }--
�------------
º
E
---
T
��
Fig. 8.13
• Segmento5: AC1'VACJÓNDE V.fTAPA 4 5 Y OlSACTIVICJÓN Of l/l EWA"◄ �---------�
--•
"ETAPA44"
'111.1
"86_c1 MULTl
�QUEÑO
FUERA"
%11.3
"B8_d1 MULTI
GRANDE FUERAº
Fig. 8.15
llM4.S
"ETAPA.45"
;
S }--
'JIMl.4
�-------·,__,
w:;::_
• Segnwmto 7: AC'INACIÓH DE LA EWA ◄7 Y DE!>AC'!IVACIÓN DE LAEWA46
......6
ºETAPA 46º
..,.s_o
"ETAPA so·
'1111.4
"89_e0
MAACAOOR
ARRlBAº
'112.2
º
B1 3_g1 ID�
DELANTE"
-.7
ºETAPA 47"
......6
¡S }--
�------------
ºE
T
--1
�
:;_
Fig. 8.17
'1125
"B1 6
_
PIEZA
BAJO VENTOSA"
Fig. 8.19
IIJll.15.1
"ETAPA Sl"
¡S }--
"""S-0
-
------
-
•E
T
....,
�
A
;_
• Segmento 1 1, ,C,VAQÓN O[ uHWA5' Y O<SAC.11VAOÓN Of lAfWA<1 ---··-�--
_
-
_
-
_
-
_
-
_
-
_
-
_
-
�
'
__,
"ETAPA 4 1 "
""2.3
"814 PIEZA EN
ro�·
WW7006 WW7002 'IMS3
-
�
o
r.�
�f-
l
RD
-
ES
_
º
---�-º...,f;rl -�;'.___
'JWIW7014 WW7010
"PROCESADAS "PROGSADAS v..14.1
VE.ROE" ROJAS" "ETAPA4 1 "
•>--
Fig. 8.21
-�
1
)
'
'
'

'
¡
'
'
'
'
)
'
'
'1
1
'
• Segmento 12: ACTI'v..ClÓN OE LAET.VAS4Y OESAC111
_
H>Ó
_
N
_
o
_
,_
..
_
,w
_
,_
,,
__________
�
v.45.3
•
rrAPA 53"
'1111.3
·
ea_d1 MULTI
GRANDE FUERA"
W5.4
"ETAPA 54"
.....5.3
;s
)----,
._____________
"E
T
--1
':
A
�
Fig. 8.22
• Segmento 1.t: ACmlACIÓN OE l.A ETAl'"S6 YOESAC.'ffYAOÓMOE lAETAl"ASS _______
.....S5
"ETAPA SS"
__,
"ETAPA41"
'JY1.4
"B9_eo
MNKNXJR
AAAJJA"
.....S.6
"ETAPA56"
W55
;
s
)----,
._____________
•n
--1
-:
A
�
Fig. 8.24
m.3 WW7004
"81 4_PEZAEN "PEOOO WW7006 -.r.MW7001 'JIMS.7
10f'E"
M4AAILI.AS'
'
ProOO VERDES' 'PEOCIO ROJM'
'ETAPA 5T
��.�;,��;,��·l--
'IMW7012 WW7014 v.tW7010
'PROCESNJAS "PPOCESAOAS "PPOCESADAS W4.1
AMAAI..LAS' VERDE" ROJAS" "fTAPA41'
•1--
Fig. 8.26
• Segmenlo 18: AClltN3ÓNOE LAEWA61 Y DESAClll/"JOÓNDE LAEW
_
,..,
__________�
'IM6.0
"ETAPA 60"
'11115
"81 0_e1
MNKNXJR
ABAJO"
'IM6.1
"ETAPA 6 1 "
W6.0
;
s
)----,
._____________
·n
--1
�
:�
Fig. 8.28
• Segmento 20: AClll/'.-.oóN ot: LAElJIJ'A45 VOfSN:l!V
_
AOó
_,
_
Df
_
lA
_
fW
_
A_
<,__________
'1111.3
·ea_dl Mut.11
GRNOE FUEP.A"
'IM45
"ETAPA 45"
.....6.2
:
s
)----,
._____________
•n
--{
�
A
�
Fig. 8.30
Wl.l
'IMW7012 WW7014 WW10l0
·ss_FVLSAOOR "PPOasADAS 'PIOCES},[)AS 'PROC:'ESAOA.S 'JliM4.1
Nr AMAAl..lAS' IEROE" ROJAS" ·aAM.41"
����;,-;�;,�t•l--
0 O O
'IM6J
"ETAPA.63·
•1--
Fig. 8.32
Unidad 8 - Guía Gemma
• Segmento 13: ACllliAOÓN OE lAEWA SSY OES' -'
NJrV
=
AOó
=
•..c.
o•
c..c
"'
c.c'c .
.
"'
..c.•
�
·�
·-----------
'11115
"81 0_e1
MNKNXJR
ABAJO"
.....55
"ETAPA SS"
WS.4
;s
)----,
._______________
"
ET
--l
�
A
�
Fig. 8.23
• Segmento 1S: AC11V.i,CJÓN 0f LA ff,0.,A4S Y OESACn"J
�H:.
=
'º"
-'-º
'---
'-'-
lA
�
·�
"'
-
' s
"
.�---------�
.....5.6
"ETAPA 56"
"111.1
"B6_c1 MUlll
PEQUEÑO
FUERA"
.......s
"ETAPA45"
'IMS.6
;
s
)----,
._______________
•
n
---{
-:
A
�
Fig. 8.25
• Segmento 17: Aa111AOÓNOE L-'I EWA60 DESK11'11ACÑ5N DE
_
tA
_
,
_
,,,
_
.
_
,_
, ----------�
.....5.7
"fTAPA ST
..,.1
"B6_c1 MUI..TI
PEQUE�O
FUERA"
.....6.0
"ETAPA 60"
1M5.7
:s
)----,
._____________
•n
--l
�
A
�
Fig. 8.27
• Segmento 19: N:mo'AOÓN OE LAEWA62 Y DeSACniA0ÓN Of LA ETAPA61__________�
W6.1
"ETAPA 61 "
.., .4
"B9_e0
MNKNXJR
-· .....6.2
"ETA!'A62"
'IM6.1
;
s
)----,
._______________
·n
---<
��
Fig. 8.29
• Segmento 21: ACllV.AOÓNOf lAfWA_
...
_
v_
o,_
s""1N
__
_
_
__
o,
_
tA
_
fW
_
.
_
,_
, ----------�
'IM4.1
•fTAPA 41 "
Fig. 8.31
• Segmento 23: ACTIIAOÓN DE LAEWA64'f 0ESK1N
_
iioó
_
,
_
D<
_
tA
_
ew
_
._
,,_______
'IM4.1
•fTAPA 41 "
'1112.3
"81 4_PEZA EN
IDPE"
9A6.4
"ETAPA. 64"
1;1�--------1
:S )----,
.......1
._____________
·
n
--1
';�
Fig. 8.33
295
Unidad 8 - Guía Gemma
296
• Segmento 24:
'IM6.4
"ETAPA 64"
!113.1
"S5_PU.SAOOR
"º' 'IIMS.1
"ETAPA 51"
'IM6.4
;S }--
'-------------
-E--I
TAP
:�
Fig. 8.34
• Segmento 26: AC'J!Vl,(JÓr-t Of LAEWA67_
Y_
o,
_
•=
__
NJÓ
�
No
_
,�
LA
_
,
_
,,,
_
,
_
..
_________
'!IM6.6
'ETAPA 66'
• Segmento 28:
'IIM7.0
"ETAPA.70"
'111()5
"B2_a1
VENTOSA
ABNO'
'110.4
"B1_a0
VEtfTOSA
ABRl!A'
9.46.7
'ETAPA 6r
�6.6
¡S }--
'-------------
'ET
--l
�
A
�
Fig. 8.36
W7.1
"fTAPA 71 "
;
S }--
19,17.0
'-------------
-
E
--I
T':
A
�
Fig. 8.38
• Segmento 30: ACJIVAOÓNDl LAE:TN'r.73YOESH'..WAOÓ,.OlLAf.T#'A?
~
'---�- �-•-~ - ----
'IIM72
'ETAPA 72'
'1105
·s2_a1
VEtfTOSA
ABNO'
Vd7.3
'ETAPA 73'
;S }--
'IIM7.2
'----
-
--------
'ET
--1
-:
A
;_
Fig. 8.40
• Segmento 32: N,'.Jl'll,;oór, ol lAlWA75YOESACl!VAOÓNDf: LAtTN'A74
._________
v.17.4
'ETAPA 74'
'110.4
'Bl_aO
VENTOSA
ARRIBA"
'IIM7.5
"ETAPA 75"
'.S }--
L._____________
•_
•9;�
Fig. 8.42
• Segmento 33: AC.11VAOÓ!t Ol l.AlWA76Y OlSN::11/ACIÓN Ol lA l�7S__________�
'IIM7.5
"ETAPA75"
'110.6
'B3_b0
VENTOSA
DERECHA'
'W7.6
"ETAPA 76"
;
S }--
'IIM7.5
'--------------
'E
--I
T
':
A
�
Fig. 8.44
• Segmento 25: ACIIW,OÓNOl LAEWAU.YDES"'11V
=
"°""
=cc
ºcc
" '
=
·".c.
"A
cc
•
cc
•_________
_
'IIM6.5
"ETAPA 65"
'M25
'B1 6_PEZA
BAJO VENTOSA"
'IIM6.6
"ETAP
A
66"
'IIM6.5
¡S }--
L._____________
.
E
...J
T
�
A�
Fig. 8.35
• Segmento 27: ACIIIAOÓNDfUEWA7DYOBJCllVAOÓNDlLAEWA67
'W6.7
"ETAPA 67"
'M2.0
"B1 1_f1 PIEZA
SWETA"
'JM7.0
'ETAPA 70'
1W6.7
;S }--
'-------------
·rr
.....
AP
:
�
Fig. 8.37
.., Segmento 29: >.C.11VACIÓHOl LAITN'A72YOHAC11VACIÓN Df: LAHV'A7f
'IIM7.1
"ETAPA 71"
'JII0.7
"84_b1
VEtfTOSA
IZQUEROA'
'M2.4
'B1 S_PALET
CAfl.GA'
Fig. 8.39
'IIM7.2
'ETAPA 72'
¡S }--
-.M7.1
'-
----
-
-
-
'ET
--l
�
A�
• Segmento 3'J: ACIVl,ClÓNOE LAEWA7-4YOf.S.ACTIVA0ÓNOf. LAf.WA73
'.IM7.3
"ETAPA 73"
IM2.0
"B1 1 _f1 PIEZA 'iM7.4
SWETA' 'ETAPA74'
l/1-------l
;S }--
'IIM73
'-------------
-
E
T
-I
AP
:;_
Fig. 8.41
• Segmento 33: �ACJÓl10f. LAEWA76YOES..-.c11VltOÓNOE LAEWA.c
"
c..--------- �
'M0.6
'B3_b0
VEtfTOSA
DERECHA'
'.IM7.6
"ETAPA76"
l...-----------1
-��
Fig. 8.43
• �mento 35: ""-11VAOÓl10f LAEWA61 Y-41.YDf.s.ACllVIICJÓttOE LAE1N'AS.?'1'76
'IIMS.2
'E
T
APA S2"
'IIM7.6
'ETAPA 76'
'!IM6.5
"ETAPA65"
1-----------------a
,
s >--
'IIM4.1
"ETAPA41 "
1-------------15 }--
'IIMS.2
"ETAPA SL
1------------I R }--
'.IM7.6
"ETAPA 76"
'--------------l
7 R }--
Fig. 8.45
'----'
1
1 1
1
1
1
1

,
,



1
1
1
1
'



Unidad 8 - Guía Gemma
• Segmento 36: ACTIVACIÓN OE V--fTi</>¡t&OY OESAC'lfvAOÓNOE L
A
nl.J';.. 11 • Segmento37: ACll,loOÓNOE I.A fT,,,A8l YDESAC'IIV
_
AO
_
o•
_
o,
_
L<
_
,,,.,
_
.
_
..
_______�
W7.7 "110.2
'!112.3
'81 4_PEZA EN
TOPE•
""2.7
'Fl
PROTKCION 'JIMB.O
MOTOR PEZ.AS• •oAPA BO"
'JIMB.O
'
[
TAPA SO'
'!Y2.3
•e1 4_PIEZA EN v.48.1
TOPE' "[TAPA 81'
��
1----
l/l�------11 1 13.�
P l--------
1 �---<
;S )---,
'11,1230.0
"FLANCO 1 • WS.O
.___________
'CT--(AP:�
Fig. 8.46 Fig. 8.47
'loQ2.0
'JIMB.1
•ETAPA 81"
•K2M_MOTOR 'fM7.7 '!112.4
"B1 5_PAI..ET
U,,,:,A'
'!Y3.0
"F2_
CMA P1EZAS' 'ETAPA 1r ""8.2
'ETAPA82"
'!Y0.2
'S2_MAACHA'
PROTECCION 'JIM83
Vl�------f
;S )---,
""8.1
�---------
'E--I
W:�
MOTOR PALfTS" "ETAPA 83"
G��
APA82"
'JIMB3
'ETAPA 83'
'!Y2.4
'81 5_pAl.fT
U,,,:,A'
Fig. 8.48
""8.4
'IM7.1
"ETAPA 7 1 "
'!Y2.4
"S1 S_PALET
U,,,:,A'
Fig. 8.49
R )---,
"' Segmento4l: ACIIVACIÓN OE LAtTAl'A82Y Of!,ACffll:
_ AO
_ ó _
No
_
,'-'
_•
_
w
_ • �
" -------�
__.
"ETAPA 84•
'loQ1.1
'K1 M_MOTOR -.2
CMA PAIET' 'CTAPA 82'
P t-
1 -�-----------<
; S )---,
'!IM230.1
"Fl.ANCO -r'
�---------
-
[T
--1
:L.
VI-�----------.--<
,;
Recuerda • • •
Se debe utilizar un
bloque de programa
para todas las
condiciones de
funcionamiento de
todas las salidas, ya
que, ante una avería o
un incorrecto
funcionamiento del
proceso, supone una
ayuda a la hora de
diagnosticarlos y
localizarlos.
Fig. 8.50 Fig. 8.51
Programa del FC20 S_SALIDAS
En este bloque FC20 programaremos las salidas que se tengan asociadas a cada
etapa. Como ya hemos visto en capítulos anteriores, las salidas las podemos
programar con instrucciones tipo bobinas. Dependiendo del tipo de
electroválvula, se pueden programar con bobinas o con instrucciones SET-RESET.
En esta solución hemos seguido los siguientes criterios:
- Si una electroválvula es monoestable, cuando en una etapa queramos que
el cilindro se mueva de su posición inicial, la marca de esa etapa activará la
salida correspondiente mediante un SET, mientras que, cuando en una
etapa queramos que el cilindro vuelva a la posición inicial, la marca de esa
etapa desactivará la salida mediante un RESET. También se puede realizar
el programa haciendo aparecer la activación de la salida correspondiente
en cada una de las etapas en las que se deba mantener funcionando. En
este caso se trabajaría con la activación de bobinas en lugar de con
instrucciones SET/RESET.
- Si una electroválvula es biestable, esto indica que trabajaremos con dos
salidas: una para cada bobina de la electroválvula. Cuando en una etapa
queramos que el cilindro se mueva de su posición inicial, la marca de esa
etapa activará la bobina normal de la salida correspondiente y cuando en
una etapa queramos que el cilindro vuelva a la posición inicial, la marca de
esa etapa activará la bobina normal de la salida correspondiente.
297
Unidad 8 - Guía Gemma
298
Es importante recordar que NO podemos repetir una bobina normal. En
caso de necesitar que una bobina normal sea activada por más de una
etapa, hay que programar en paralelo las marcas de estas etapas activando
una sola bobina normal.
Los contactares de los motores están considerados elementos
monoestables. Por lo tanto, en esta solución los hemos programado
mediante instrucciones SET y RESET.
• Segmento 1: Mln,pu1adordt gr1b1do.EJt vtrtiul. El,unw11fvul1 biu11bl,. Orden de b1¡1r
'!IM6.0
"ETAPA 60"
• Segmento 3:
Fig. 8.52
lW)0.6
"Y7_8NAR
MARCAOOI!'
lW)0.4
·vs_
MULllPOSK:IONAl
GRANDE"
f--�-------------------lS )-----<
'!IMS.3
"ETAPA 53"
'!IM6.2
"ETAPA 62"
.....,
'ETAPA 47"
Fig. 8.54
lW)0.4
"YS_
MULTl'OSICONAL
GRANDE"
lW)0.3
•y4
¡
R )-----<
MU
=
�•
NAI.
'-------------------1
, R )-----<
Fig. 8.56
�1-
·:_,_
·--------------------
"Y
-
�
-i
-:�
�
Fig. 8.58
'!IM4.6
"ETAPA 46"
'!IM55
"fTAPA SS"
W6.1
"ETAPA 6 1 "
'!IM4.4
"ETAPA 44"
Fig. 8.53
lW)0.7
"YS_SUSI!
MARCAOOI!'
lW)0.3
•y4_
MULTIPOSICIONAL
PEQUEÑO"
f--�-------------------l S )-----<
'!IMS.6
'ETAPA 56"
VJl5.7
'ETAPA 57"
Fig. 8.55
pl-
·�
_
o·____________________
·v
--1
�
�
Fig. 8.57
'!IM6.6
1Q0.0
"Y1_BAJAR
VENTOSA"
1-
�
-�-----------------t
(S )-----<
-�:Ll
Fig. 8.59
..J
J
J
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
p....·:_
r_________________
•yg
_
_
'il:l
-<
VE
S
::
�
Fig. 8.60
P
'IQ0.1
...., 1 •y2_VENTOSA
NA,-
·7_
1
•_________________
A
_
�-<
QUE
�
Fig. 8.62
'IQ0.2
...., 5 "Y3_VENTOSA
NA
l-
·7
_
s•
_________________
A
_
D
-i
ERE
�
Fig. 8.64
• Segmento 1 S: Mtrc:ha de-t motorcin1.1 pt!ets
..3.0
ºF2_ 'il:)1 .1
'IM83 PROTECCION "Kl M_MOTOR
NA
f--
B3
_
• __
MD
_
l
-l
OR
�
f--
A!.ETS
-
•____________
cM
-I
A
P�
Fig. 8.66
• Segmento 1 7: lntern'1:rnc,a delpilotc de u,/1hac,6n •a.i
�
I -------
1 -
�
6 . 'IM8191.2 'il:)23
r
A
....
·64
_
.
__
•Clodt..
-<
2
>-
5
-
Hz
_
•
____
_____
___
•H
-1
2_"2
�
Fig. 8.68
• Seg,nento 10:
....,.o
ºETNA 70º
Unidad 8 - Guía Gemma
'IQO.O
ºYl_BAJAR
VENTOSA
º
7
1----,------------------;(R }------<
-��
Fig. 8.61
• Segn'lénto 12:
p....�
3
_
• ________________•
_
yg
--i
_
�
R
::
�
Fig. 8.63
.... Segmento 1-1: M11rch1 de-l motor cinu p,e:111, _____________
�
'112.7
ºFl_ 'il:)2.0
'IM8 O PROTECCION º
K2M_MOTOR
NA
>-
B
O
_
•__
M
o
_
TO
�
R
�
,-W
_
•___________CM
--<
A ��
Fig. 8.65
• Segmento 16: 1merrru�n.c,t del piloto de ,e-ll11i::a.ci6nw-rde
1 -�63 ....8191.2 'il:)2.2
�
A
f--
63
_
• __
•CJoc
---t
U
f--
5
-
Hz
_
'
____________
•H
-1
1_VE
�
Fig. 8.67
• Segmento 18: l'lntrrmitencia del p,loto de- te-llh11c1ón aman110
.__________
_
'IMB.O
'ETNA BOº
....63
ºETNA 8
3
º
..,.,
ºF1_
PROTECCIDN
MOTOR =•
'13.0
'F2_
PROTECCION
MOTOR
P
A!.ETS
º
'JM8191.5
"Clodt..1 Hz'
Fig. 8.69
'il:)2.1
º
HO_AMARUO'
Programa del FC21 T_TEMPORIZADORES
Recuerda • • •
Para una mayor
estructuración del
programa, se deben
utilizar diferentes
bloques, por ejemplo,
uno para programar
los temporizadores y
otro para los
contadores utilizados
en el proceso.
En el bloque FC21 programaremos todos los temporizadores que intervengan en la
solución y que quedan representados en el conjunto de los Grafcet, En este caso
solamente tenemos un temporizador que se utiliza para que el motor de la cinta
transportadora de piezas pueda desplazar la pieza fuera del alcance del tope.
• Segmento 1 : 1!empode po,.cicn1m,ento de- p,ez det1nte de top_
, 1__________
�
'11>84
·r,-
�!�,�.s�-
�-
;�
_N
_i
�--
--------------�
Programa del FC22 Z_CONTADORES
Fig. 8,70
En el bloque FC22 programaremos todos los contadores que intervengan en la
solución y que quedan representados en el conjunto de los Grafcet. En este caso
299
Unidad 8 - Guía Gemma
300
.....,
•fTN'A H"
tenemos tres contadores que controlan el número de piezas procesadas: rojas,
verdesy amarillas. Endondela puesta a cero se podrá realizarmedianteel pulsador
de Reset en un momento determinado del proceso o bien durante el primer sean
cuando el PLC pase del modo Stop a Run.
_,
"ftOJ.'15"
CTU
.. ......
"f.TN"A Sd"
..,.,
"VERDES"
CTU
..
1----------cu o---- 1---------- cu Q ----
'AM&.3 'JIU.6
"f1'Af>A 6r "S4_RESIT'
1-----------l 1-
1 -----,
'IM8190.0
"fWSISun"
1
Fig. 8.71
o l'V
"º'"
'""""1.1.AS'
CTU
..
1----------cu Q ---­
""""'7012
"f'ftOCES"°/ú
'V.16.3 ,Y2.6
"tr,.,.A el' "S◄_fl:f.SIT' CV
�-
1---------l f-
1 -�---
'IW8190.0
"Fln;tSc:an'
0 - l'V
Fig. 8.73
Programa del 081
iv.«i.3 'IW2.6
"fTN'l 63' "S◄_RESEr
1-----------l 1-
1 -----
'!li,l,e1,o.o
"frtCScan"
1
O- l'V
Fig. 8.72
Tal como hemos visto anteriormente, para poder probar el estado Fl,
programaremos en el OB1 las llamadas a los FC usados.
• S�mento 1: Llanudo ol/-Ccl�I Ettodo l't, l'rod
_
=
_
ión
_
ao
_
,m
_
•I��- --••--- • Segmento2: Lllomod• •l l'C20.li
;c:
•li4
cc
"
c.._---------------'
1 "f1 PROOU�;�� NORMAL• 1 -S_:..��AS"
IEN ENO -------------- IEN ENO -------------------
�
EN
'"T_lléMPOIUZADORES"
Fig. 8.74
;:en
"Z_CONTADORES"
Fig. 8.75
ENO -------------- �
EN ENO --------------
Fig. 8.76 Fig. 8.77
En este apartado vamos a implementar el programa de desarrollo de la guía
Gemma en los diferentes estados. Para ello, primero realizaremos los programas
asociados a cada estado y, a continuación, su implementación y la comprobación
de su correcto funcionamiento. La implementación de la guía Gemma la haremos
en el bloque FCO 00_GUIA GEMMA.
• Comprobación del Grafcet de automático FC9
Para poder comprobar el funcionamiento, debemos primero transferir el programa
al simulador PLCSim. A continuación, hemos de abrir el simulador 3D, que quedará
como se observa a continuación.
,____
;
.J
'
'
'


'

'
'
'

)


'
)
'

1
1
Recuerda • • •
El simulador 3D dispone
de un panel llamado
«Control del proceso»,
en el que se integran
diferentes dispositivos
que servirán para
realizar distintas
acciones con el fin de
poner en marcha o
detener el proceso.
También cuenta con el
panel ((Registros de
pedido y contaje», que
está ligado a registros
del PLC para poder
realizar el pedido de
fabricación, así como
visualizar el estado
actual de la
producción.
Unidad 8 - Guía Gemma
Marc.a)f! ae ca)iss con tres colore�
Vista Jr,-
Fig. 8.78
Pulsaremos el botón CONTROL PROCESO y el botón REGISTROS. Así se nos abrirán
los dos paneles que necesitamos para probar el ejercicio.
Control del proceso
r>
; ■ ar.- tit:.
9'ERGENOA PARO f,ilAROfA AIJ':''MAN AOC Mt
11 11 11 ■ ■�·
S20-H20 S2l-H21 522�22 S23-H23 S24-H24 M2
Fig. 8.79
Registros de pedido y de contaje
----�
líllllllÍIIII'�
Fig. 8.80
Para hacer funcionar el Grafcet F9, primero debemos indicar en el panel Registros
de pedido y de contaje el número de piezas que queremos que sean marcadas en
cada color.
A continuación, ya podemos accionar el pulsador de marcha, con lo cual el proceso
se pondrá en marcha. Cuando se hayan marcado las piezas que hemos
seleccionado, el proceso se quedará en pausa esperando que hagamos el reset de
los contadores. Elegiremos la nueva selección de piezas y, a continuación, con el
accionamiento del pulsador ACK, se pondrá en marcha de nuevo el proceso.
8.2.2 Guía Gemma con los estados Al (Puesta al estado inicial),
F1 (Producción normal) y A2 (Paro solicitado a final de ciclo)
A continuación, y como primer estudio del funcionamiento de la guía Gemma,
vamos a asociar el estado Fl Producción normal, programado anteriormente, con
otros dos estados más, como son el Al Puesta al estado inicial y el A2 Parada
solicitada a final de ciclo.
Para ello, si nos fijamos en la distribución de estos tres estados en el gráfico de la
guía Gemma, tenemos lo siguiente:
301
Unidad 8 - Guía Gemma
Al
A2
Pwlda
pedidt ll
GENÉRICO
Fl
Al
FCl
J"""'-td.t!.,�1,)1,(k loJ.�
ot A..1 ( Mot.o • t,t1 1 • w1_2 1
A2 -·
FC2
APLICADO
f1
,....
pedlde el O,..,tM_., jii.i'¡
()r,:lff> II, � ,-,- -ú � -
nc, ... dww!M,. .....ltl...... MU ..... ""'"1
�-,-,..,�.,...,,......_
ffl• w.ky,,oh.,-!lki•"'f"l• - -­
l l).2 •10.,t • f0.1 • 1L0 • 1u • 11.4 • 1u •iz'.o1
mlll dalcido j+------+---1 r
-l d.i ddo fo-----+--
Recuerda • • •
La implementación de
la guía Gemma a
programa se realiza de
forma similar a cuando
se programa un
Grafcet.
302
Fig. 8.81 Fig. 8.82
La implementación de la guía Gemma en el PLC se hace de forma similar a cuando
realizamos un Grafcet. Para ello:
- Asignamos una marca a cada uno de los estados.
- Indicamos la transición correspondiente entre cada uno de los estados.
- Cada transición realizará el SET de la marca del estado siguiente y el RESET
de la marca del estado actual.
- Lo que en Grafcet serían las acciones, aquí serían las llamadas a los FC de
los diferentes estados.
- Para poder ver reflejado el estado actual de la guía Gemma, asociamos en
cada etapa una acción que corresponde con la activación de los pilotos que
hay en el panel de la guía Gemma del simulador 3D.
Aquí podemos ver que la guía Gemma descrita anteriormente se puede representar
como un Grafcet y, por tanto, desarrollar como tal.
Fig. 8.83
• Programa en el FCO GUIA GEMMA
Primero haríamos el desarrollo de las transiciones.
Paso de EstadoAl al EstadoFl: si secumplenlas condiciones iniciales y accionamos
el pulsador de marcha, se activará el Estado Fl y se desactivará el Estado Al.
J
J
J
J
'

1
1

�
'
'
• Segmento 1:
wo.o
•
GG_ESTADO A1 "
Recuerda • • •
La guía Gemma se
relaciona en un
Grafcet, a partir del
cual se derivan el resto
de los Grafcet que
originan el tipo de
funcionamiento que en
cada momento debe
tener el proceso.
Unidad 8 - Guía Gemma
..,_.
"Bl_ao
VSNTOSA
,.,...,,.
Vl.6
"83_b0
VENTOSA
DERECHA"
,,n.o
"85_c0 MUlTI
PEQUE�O
DENTRCt
,.,.,
"B7_d0 MULTI
GRANO€
DENTRO"
'Jlil1.4
"'2.1
"812_gO TOPE
ATIIAS"
"'2.0
"B1 1_f1 PIEZA
SWETA"
'IIM0.6
"GG_ESTADO Fl"
1/11------.bi
r-----ls }---<
'IIMO.O
"GG_ESTAOO Al "
R f--
Fig. 8.84
Paso de Estado Fl al Estado A2: si accionamos el pulsador del paro, se activará el
Estado Fl y se desactivará el Estado A2.
.... Segmento 2: Acir,,uiOn del Est11do�. 1'1rad1 p0!1Íod1,
•
,•
~
�
-
'•
�
"-
"'º
�-�-
f
.
6
TAOO F1 "
1
,W0.1 'JM0.1
"Sl_PARO" "GG_ESTAOO A2"
l/1>-------.----------1
;S )--,
W0.6
__________._
ºº
-
-....
•s:� Fig. 8.85
Paso de Estado A2 al Estado Al: si están activadas las etapas iniciales de los tres
Grafcet que hay en el Estado A2, se activará el Estado Al y se desactivará el Estado
A2.
• Segmento 3: 1,c.m-
..,11m f-it11do A1.l'arad1 •n el lstado inioat
p·'
1 -� 'IIM4.0 11iM7.7
"ETAPA 7T
'IM8.2 wo.o
"ETAPA 82" "GG_ESTAOO Al "
��
TADO !v."
R )--,
Fig. 8.86
A continuación, lo que en un Grafcet serían acciones asociadas, en la guía Gemma
son las llamadas a los FC que contienen el programa para los diferentes modos de
funcionamiento.
1
·ce_:°
� Al . "A1 ESTADO INICIAL"
1 f--- EN ENO
---------
• Segmento 5: Li.m1d1 1 11 s1Jbrvt:n1 ikl bt.doF1
1
"GG_:°
� F1 • "F1 PRODUCCION NORMAL"
1 f-
-- EN ENO ----------
1 "GG_:°
� A2" "A2 PARO FIN DE CICLO•
1 f--
- EN ENO ----------
Fig. 8.87
Fig. 8.88
Fig. 8.89
Tal como hemos indicado anteriormente, cuando esté activadoun estado, veremos
activado un piloto en el panel de la guía Gemma del simulador 3D.
p
-
f-
·º
_
A
_
1
_
• _______________
•
_
H7
_
_
ES
-!
�
�
Fig. 8.90
303
Unidad 8 - Guía Gemma
304
-.3
'ETAPA 63"
-.3
'ETAPA 63'
'liM0.1
"GG_ESTAOO Al"
'IIMll191.2
'Clocl(..25Hz'
• Segmento 8: P1loto�rdll! en guie 9emme de m,que;o que- indica estedo f1
_
•"
-
'°
--
P
�.6
'!IM0.6 "H1 3_ESTADO
TNJO
t---
F1 "
-----------I
F1 "
)----,
• Segmento 9: !'i!oto wirde en guia 9emm1 de maq1.11n11 que indict enodo Al enwo
p-
¡-·1
_
A2
_
"______________
_
"H_
B_
-/
�
�
Fig. 8.91
Fig. 8.92
Por otro lado, vamos a hacer que, en los pilotos de la baliza luminosa, se refleje el
estado en el que la guía Gemma se encuentra en cada momento. Para ello usaremos
el código que se indica en el punto Señalización luminosa del apartado 8.1.3.
Código luminoso:
• Estado Al.: el piloto rojo funciona de forma fija.
• Estado A2.: el piloto verde funciona de forma fija y el piloto rojo funciona
de forma intermitente (Clock 1 Hz).
• Estado Fl.: el piloto verde funciona de forma fija.
Respecto al piloto verde, en el caso de que coincidan el funcionamiento del Estado
Fl con la indicación de que el pedido de piezas ya está completo (etapa 63 de Fl),
prevalecerá esta indicación sobre la anterior.
Abrimos $_SALIDAS (FC20), modificamos el segmento 16 y añadimos el segmento 19.
'IIQ2.2
"Hl_VEROE
)--
,,.,. Segmento 19: l"iloto de 1el.eli11Jc,ón roJu�-------
�
� Al' 'H:%1o•
11------�-------------l( )--
'IIMJ.6
'GG_ESTAOO F 1 ' ��
l-
·1_
A2
_
" __
.�
--l.,;J
Fig. 8.94
Fig. 8.93
En el OB1 hemos de programar la llamada al bloque FCO 00_GUIA GEMMA. Es
importante eliminar la llamada al bloquedelFC9, Producción normal, yaqueahora
esa llamada se realiza desde el interior de este mismo bloque FC0 GUIA GEMMA,
por lo que en el segmento 1 eliminaremos el FC9 y pondremos en su lugar FCO.
�
EN
'OO_GUIA GEMMA"
ENO ------------�
Fig. 8.95
En el OB100 hemos de programar la inicialización de la guía Gemma, activando la
etapa inicial y desactivando el resto. Colocamos ya 13 etapas para que estén
consideradas el resto de lasetapas de la guía Gemma aunque en este momento tan
solo estemostrabajando con tres estados.
V
V
...__,,
,,
· ,
'
'
1
'
'
'
'
Recuerda • • •
El Estado Al es el
estado de la guía
Gemma que indica
que el proceso se
encuentra detenido en
el estado inicial,
mientras que en el
estado Fl se
representa la
secuencia de
funcionamiento normal
del proceso.
, Recuerda • • •
1
)
1

El Estado A2 nos
indicará que se ha
solicitado una parada
del proceso al final del
ciclo actual de
funcionamiento.
Unidad 8 - Guía Gemma
'IIM8190.2 'IIMO.O
"AlwaysTRUE" "GG_ESTAOO Al "
rl-�-----------------{(s )--------,
'IIM0.1
"GG_ESTAOO Al"
�---------------<( RESET_BF }---<
13 Fig. 8.96
• Programa del Estado Al. Parada en estado inicial
El Estado Al Parada en estado inicial es un estado en el que el proceso se encuentra
totalmentedetenido, bien sea al inicio de la puesta en marcha, dado que es la etapa
inicial del Grafcet de la guía Gemma, o como en este caso se quiere representar,
cuando una vez puesto en funcionamiento, se desee detener el proceso.
Por tanto, este estado normalmente no tiene asociado ningún programa, sino que
nos indicará que el proceso se encuentra detenido de forma estable a la espera
de una orden por parte del operador.
• Modificación del programa asociado al Estado Fl. Producción normal
Antes de programar la guía Gemma, en la primera transición del Grafcet de Fl el
pulsador de marcha y las condiciones iniciales estaban como transición. Al
implementar la guía Gemma, podemos observar que para acceder del Estado Al
al Estado Fl ya se han de cumplir todas esas condiciones, por lo cual no sería
necesario que también estuvieran en el Grafcet del Estado Fl. En su lugar, para
sincronizar el Grafcet, pondremos la marca M0.6 que corresponde al Estado Fl.
M4.0
M4 1 @] M6 5 @]
Fig. 8.97
De este modo, modificaremos el segmento 1 del FC9 (Estado Fl), que quedará de
la siguiente forma.
..- Segroonto 1: AOIVAOÓJ'{ Of ETAPA JI Y Df lAfT.,PA 6S 'f CIESACffVAOÓN OE LAS �'r"l'A40
W4.0 4™0.6
'ETAPA 40' 'GG_ESTAOO Fl'
W4.1
'ETAPA 4 1 "
1---� r-�------------!S )------,
'JIM65
1-------------1 S )------,
W4.0
•rrAPA40"
'------------< R )------,
Fig. 8.98
• Programa asociado al Estado A2. Parada solicitada a final de ciclo
En el Estado A2 Parada solicitada a final de ciclo, la guía Gemma nos indica que se
ha de realizar una parada al finalizar el ciclo de funcionamiento que esté realizando
la producción normal (Estado Fl). Por tanto, el Grafcet del conjunto formado por el
manipulador de carga y el manipulador de grabado deberá seguir funcionando al
305
Unidad 8 - Guía Gemma
306
igual que lo hacía cuando la guía Gemma se encontraba en el Estado Fl. Esto quiere '-.../
decir que el Grafcet asociado al Estado A2 será el mismo que el implementado en
el Estado Fl con la siguiente modificación:
El retorno que viene de la finalización del ciclo y que está conectado a la divergencia
en Y hay que llevarlo a la entrada de la etapa inicial 40.
M4.0
Estadofl ( M0.6 )
M41
@]
M6 5 @]
Fig. 8.99
Por tanto, copiaremos el Grafcet que hay en el bloque FC9 (Estado Fl) en el FC2
(Estado A2) y modificaremos el último segmento del Grafcet grabador-carga que
quedará de la siguiente forma.
Modificamos la última transición, de forma que cuando esta se cumpla, en lugar de
activar las Etapas 41 y 65, se active la etapa 40.
• Segmento 3S: ACTIVAOÓN OE lA EW
...40. Y DESACTTVACIÓN OE LAEWA 52Y76
....5.2
•nAPA S2"
41M7.6
>-----------1 R )------,
'lM7.6
•nAPA76.
'------------<• )-----< Fig. 8.100
Los otros dos Grafcet, tanto el del motor de la cinta transportadora de piezas como
el del motor de la cinta trasportadora de palets, no sufren ninguna modificación.
• Comprobación del funcionamiento de los estados Al, Fl y A2
Para poder comprobar el funcionamiento,
debemos primero transferir el programa al
simulador PLCSim. A continuación, hemos de
abrir el simulador 3D, que quedará como se
observa a continuación.
Pulsaremos los botones CONTROL PROCESO,
GUIA GEMMA y REGISTROS. Con ello se nos
abrirán los tres paneles que necesitamos para
poder probar el ejercicio.
Fig. 8.78
V
V
J
V
. ,

1
i
'

l
l

Unidad 8 - Guía Gemma
Control del proceso Registros de pedido y de contaje
Estado de la Guia GEMMA
■r.- !Ii�
�A PAltO MAROIA At.r.'IIA"' ACK Nl
a ■■ ■··
Fig. 8.79
Recuerda • • •
El simulador 3D dispone
de un panel llamado
«Estado de la guía
Gemma» para poder
visualizar el estado de
funcionamiento actual.
Recuerda • • •
El estado F2 es el
estado de la guía
Gemma que indica
que el proceso está
realizando una
preparación para
dejarlo en un estado
óptimo para el inicio
de la producción
normal.
Fig. 8.80
Fig. 8.101
Alpasarel PLCSimdeSTOP a RUN, veremos cómose iluminaelpiloto verde del Estado
Al. Cuando un estado no se encuentre activo, el piloto se observará de color rojo.
Para poder hacer funcionar el Grafcet F9, primero debemos escribir en el panel
Registros de pedido y de contaje el número de piezas que queremos que sean
marcadas en cada color.
A continuación ya podemos accionar el pulsador MARCHA, con lo cual pasaremos
del Estado Al al Estado Fl.
El Estado Fl estará ejecutando los Grafcet que tenga asociados (FC9) hasta que
accionemos el pulsador de paro. En ese momento se activará el Estado A2 y se
desactivará el Estado Fl. Se ejecutarán los Grafcet del Estado A2 hasta que todos ellos
se encuentren en la etapa inicial, y a partir de ese momento se activará el Estado Al y
se desactivaráel Estado A2. En ese instanteel sistemaquedarádetenido al inicio.
En el panel Estado de la Guía GEMMA podemos ver que en cada estado hay un
piloto que quedará activado cuandoelestado correspondientese encuentre activo.
En la figura se observa cómo el del Estado Al está activado, de color verde, que
corresponde a la salida Q4.0 (H7_ESTADO_Al).
8.2.3 Guía Gemma del estado F2 (Marcha de preparación)
Cuando el proceso se encuentra en la situación de reposo, Estado Al, al cumplirse la
condición de puesta en marcha, la guía Gemma pasará al estado F2, que está indicado
para poder preparar el proceso antes de entrar en un ciclo de funcionamiento normal
de producción como es el Estado Fl. En este Estado F2 se realizarán diferentes
operaciones para poder colocar el proceso en un estado óptimo de producción, por
ejemplo, poder preparar unhorno paraque alcance latemperatura de trabajo, esperar
a que un grupo de presión hidráulico o neumático alcance una presión determinada
para un correcto funcionamiento del circuito, o esperar a que un cargador (sea de
piezas, de líquido, etc.) disponga de una carga mínima para iniciar el proceso.
En nuestro caso, al no ser un proceso en el que se tengan que alcanzar ciertas
temperaturas ni presiones, ni trabajamos con cargadores, lo que haremos es
comprobar que todos los actuadores se encuentran en una posición inicial para
poder comenzar el proceso normal de funcionamiento. En el caso de que algún
actuador no se encuentre en su posición establecida como inicial, al entrar al estado
F2 y de forma automática, se realizarán los movimientos necesarios para que el
proceso cumpla las condiciones iniciales. En este caso y dado la particularidad del
proceso tratado, es muy probable que su programa pueda ser bastante coincidente
con el que se incluye en otros estados, como podría ser el Estado A6.
307
Unidad 8 - Guía Gemma
308
,._../
Se puede provocar la situación de que, al iniciar el proceso, este no se encuentre
-...,,,
cumpliendo las condiciones iniciales. Por ejemplo, por un corte de alimentación en '-../
el PLC cuando el proceso ya había iniciado el ciclo de funcionamiento normal, '-...,/
provocando que los actuadores puedan estar situados en una posición no inicial.
• Condiciones de funcionamiento del Estado F2
- Al activarse el estado F2 se pondrán en evolución las dos ramas simultáneas, las
correspondientes al manipulador grabador y al manipulador de carga, '-"
realizando las siguientes acciones. J
Manipulador grabador:
Tenemos una sola secuencia que funcionará de la siguiente forma:
- Primero subirá el cilindro marcador.
- Cuando el marcador esté en la posición de reposo (arriba), haremos
retroceder al mismo tiempo el cilindro multiposicional, tanto el cilindro
pequeño como el grande, que en principio ya estarán en esa posición. No
obstante, la siguiente transición nos asegurará que los dos cilindros están en
la posición inicial.
Manipulador de carga:
Tenemos unas secuencias alternativas y, por tanto, puedenocurrir dos cosas:
- Secuencia 1: que haya pieza en la zona de carga.
- Secuencia 2: que NO haya ninguna pieza en zona de carga.
Secuencia 1:
- Si hay pieza en la zona de carga, el cilindro del eje vertical con la ventosa
bajará.
- Cuando el cilindro del eje vertical con la ventosa se encuentre en la posición
de avance (abajo), se activará la ventosa.
- Si la pieza está sujeta por la ventosa, el cilindro del eje vertical con la ventosa
deberá ir a la posición de reposo (arriba).
- Cuando el cilindro del eje vertical con la ventosa se encuentre en la posición
de reposo (arriba), mediante el eje horizontal, la ventosa se desplazará hasta
alcanzar el eje horizontal la posición de avance (izquierda), además de poner
en funcionamiento el motor de palets.
- Cuando el cilindro del eje horizontal se encuentre en la izquierda y haya un
palet en la zona decarga, elcilindrodel ejeverticalcon laventosadescenderá
a su posición de trabajo (abajo).
- Cuando el cilindro del eje vertical con la ventosa se encuentre abajo, se
desactivará el vacío de la ventosa para liberar la pieza.
- Cuando se haya liberado la pieza, lo cual se detectará mediante la ausencia
de vacío, el cilindro del eje vertical con la ventosa volverá a su posición de
reposo (arriba).
- Cuando el cilindro del eje vertical con la ventosa se encuentre arriba, el eje
horizontal se encargará de desplazar la ventosa hacia su posición de reposo
(derecha) hasta alcanzar el detector de la derecha.
V
V
1

1

1



1

Unidad 8 - Guía Gemma
Secuencia 2:
Si no hay pieza en zona de carga, el cilindro del eje vertical volverá a su
posición de reposo (arriba).
Cuando el cilindro del eje vertical de la ventosa se encuentre arriba, el eje
horizontal se encargará de desplazar la ventosa hacia su posición de reposo
(derecha) si es que no lo está.
• Diseño del Grafcet del Estado F2
Este Grafcet se basa en un diseño de bifurcación en Y, en el que intervienen dos
ramas que funcionarán en paralelo, una para el manipulador de grabado y la otra
para el manipulador de carga.
M2.0
M2.4
Marcador esta arriba ( 11.4 )
M2.S
M2.7
M3.0
M3.l
M3.2
M3.3
M3.4
M3.5
M3.6
•1 ( M8190.2 )
N QQ.2
Ventosa hacia derecha
R Ql.0
Desactiva ventosa
Palet en zona de carga y Disyuntor
motor NO disparado (12.4 • 13.0)
Disyuntor disparado • Oock_lHz
(13.o • M8191.5)
N QQ.2
Ventosa hacia derecha
Fig. 8.102a
NO hay pieza en zona de carga (12.5)
309
Unidad 8 - Guía Gemma
310
Una vez el sistema se encuentra cumpliendo las condiciones de preparación para
la puesta en marcha, automáticamente deberá pasar el control de la guía Gemma
al Estado Fl y el proceso arrancará de forma automática para realizar el ciclo de
producción normal.
• Modificación del 08100
En el OB100 tenemos que añadir la inicialización del Grafcet F2, para lo que
activaremos la etapa inicial del Grafcet F2 y desactivaremos todas las demás etapas.
• Segmento 5 : Activación d i!' 1 1 Et11pa 20 dl!'I Graft� F2 ydl!'sectiYación d e las dl!'mu etllplS
'V,,!8190.2 'IM2.0
"AlwaysTRUE" "F2_ETAPA 20"
f-
1 ----------------M-___,
'IM2.1
"F2_ETAPA 2 1 "
L----------------�
( RESET_BF )-
1 4
• Programa del estado F2
Fig. 8.102b
,,.. Segmento 1: INICIO tllfl.lACAOÓN fN.,,.. Atw,tiOn l!Upt21 'Jl!ta¡a 24ydes1Cliv1t16" l!Up• 20
'AMZ.O -AMJ.7
"F2_ETAPA 20" "GG_ESTADO F2"
'IIM2.1
"F2_ETAPA 2 1 "
f---
--
----1 �-�------------I S )----<
'IIM2.4
"F2_ETAPA 24"
1---------------Js f--
....,_.
"F2_ETAPA 20"
L----------------I R )--
Fig. 8.103
• Segmento 3: l,W,l!l'UlAOORGRASAOOllActi,,1trén l!tfPI 23)'dl!Ut'tlV.tJónetapi 22..
'IM2.2
"F2_fTAPA 22"
'111.0
"B5 cO MULTI
l{
QUE�O
DENTRO"
'Jll1.2
"B7_d0 MULTI
GRANDE
OEt-ílRO"
Fig. 8.105
llM2.3
"F2_ETAPA 23"
:s
>-------
,...,.,
L_______
·,_
,
_
-i
ET�
�
• Segmento 5: MANIPUl.>DORDt CAIIGA. Actlacoón •ttp. 26ydesectiv1cióneu.p1 25'--
-------'
1W2.5
"f2_ETAPA 25"
'110.6
'83_b0
VENTOSA
DERECHA"
'IM2.6
"F2_ETAPA 26"
�25
i
s
)---
c_____________.
_
'__,
2_
ET
�
�
Fig. 8.107
• Segmento ]: MANll"'UI.ADORDE CAAGA. Acuv1t1ón etap. 28ydu.c:Weción er.p1 27.
VA2.7
"f2_ ETAPA 27"
'112.0
"B1 1 fl PEZA
SÜJETA"
'JIM3.0
"F2
...ETAPA 30"
w2.1
;
s
)---
L___________
·,_
u,��
Fig. 8.109
,...,.,
"f2_ETAPA 21 "
'1111A
"89_e0
MARCAOOR
ARRJBA"
W2.2
"F2_ETAPA 22"
llM2.1
:
s
)------<
c_____________·
_
,
2
__,
_
ET
;
�
Fig. 8.104
• Segmento4: t.W-111'1.JI.ADOROECARGAAl;tinción tttpt 25ydu1ctfl/1d6n ,mp• 2*
'11125
'IM2.4 "B1 6_PEZA
"F2_ETAPA 24" BAJO VENTOSA"
llM25
"F2_E.TAPA 25"
W2.4
:s
)------<
L...-----------
·,
_
2_
-{
ET;�
Fig. 8.106
• Segmento 6: !wW'!PUl.AOOROt CARGA.Attt-,11tión et1p1 21ydes,ctiv1ctén •t•�26
llM2.6
"F2_ETAPA 26"
�05
"B2_a1
VENTOSA
ABAJO"
llMl.7
"F2_ETAPA 2r
llM2.6
:
s
>-------
c_____________
·,_
2_
ET
�
�
Fig. 8.108
• Segmento &: �INLAOOR Ot CAAGA.AttiVtción tt11� 29ydtSICIÍtl!Ción eQ.� 30
llM3.0
"F2_ETAPA 30"
'110.4
·e,_ao
VHITOSA
ARREA
º
W3.1
"F2_ETAPA 3 1 "
1M3.0
:s
)------<
L____________
·,_
,_-{
ET��
Fig. 8.110
V
J

1
'
1
1
'
7
'
1
'
1
1
'
'
• Segmento 9:
'W3.1
"F2_ETAPA 31 •
'IM3.3
"F2_ETAPA 33"
'IKl.7
"84_b1
VENTOSA
IZQUERDA"
'"2.0
"B1 1 _f1 PEZA
SWETA"
'"2.4
"81 S_PALET
CAK,A"
Fig. 8.111
'11,B.2
"F2_ETAPA 32"
;s
)--
'WJ.1
�------
·,
_
2_
--<
IT�
�
'IM3.4
"F2_ETAPA 34"
1/1>--------.--------<;S )--
'IM33
�------------
·,
_
2
....
-rr:�
• Segmento 13:
,W0.6
"B3_b0
VENTOSA
DERECHA"
Fig. 8.113
'IM3.6
"F2_ETAPA 36"
'IM3.5
;
S
)--
._____________
·,
_
2
-,
_
IT�
�
Fig. 8.115
,,.. Segmento 1 5: FINAL BIFUACAOÓN E N "V-.Ac.tr.u:ión ,1.11p■ 20 ydtnctivación ti.� 2 3y36.
"'42.3 'AM'3.6
"f2_ETAPA 23" "F2_fTAPA 36"
......o
"F2_ETAPA 20·
>------< �------< 1--�--------< S )--
'IM2.3
"f2_ETAPA 23"
1---------{ R )--
"""3.6
"F2_ETAPA 36"
�--------< • )--
Fig. 8.117
• Segmento 10:
'IM3.2
"F2_ETAPA 32'"
SW05
"B2_a1
VENTOSA
ABAJO"
Unidad 8 - Guía Gemma
'IM3.3
"F2_ETAPA 3r
W3.2
;s
}---,
._____________
·,
_
2
--{
_
IT�
�
Fig. 8.112
• Segmento 12; I.Wff'UI..ADOIIDE CJ>K.A.Actnl1ci6ntUp11 3S )6HUtr..lC'6n tt9pe
_,
_
.
_______�
W3.4
"F2_ETAPA34"
.....
·e1_ao
VENTOSA
ARRllA"
'112.5
W35
"F2_ETAPA 35"
"IIM3.4
i
s
l----
.____________
·_
,2
--(
_ET�
�
Fig. 8.114
'lf.42.4 "81 6_PIEZA 'JIM.3.4
"F2_ETAPA 24" BAJO VENTOSK "F2_ETAPA 34"
1/1�----; s }---,
'IM2.4
._____________
·,
_
2
_
--<
ET:r
�
Fig. 8.116
Modificación del programa del FC20 S_SALIDAS
.. Segmento 2:
.....,
"ETAPA 43"
......
"fTAPA 46"
__,
"ETAPA 55"
......,
"ETAPA 61 "
'IM2.,
"f2_ETAPA 21 •
En este bloque FC20 modificaremos los segmentos necesarios para que las salidas
actúen según el Grafcet programado en el FC2.
Fig. 8.118
'IQ0.7
"YB_Sl.181
w.RCAOOR.
l--
.., Segmento S:
__,
ºETAPA 47"
'IIQ0.4
'YS_
M..l.ll'OSK:KJN
A
L
GRANDE"
¡
R }---,
"f2_
= 22"
�:r
:¡KlNAL
PEQUENO"
�--------------------<•)---
Fig. 8.119
311
Unidad 8 - Guía Gemma
312
• Segmento 8: Manipuladord e c1rga. E1e vertical. Electrov1!vul11 monoenable. DMcender e¡e
'l'oM6.6
"ETAPA 66"
'!IQO.O
"Yl_BAJAR
VENTOSA"
1---,--------------�s f---
'!IM7.2
"ETAPA n:
V.,,.6
"F2_ETAPA 26"
'IIMl.2
"F2_ETAPA 32"
Fig. 8.120
• Segmento 10: Mlnipuladorde cerg11. E¡e ve�tcat. ElecttovalYu!a monoeHable. Subir e¡e
'!IM7.0
"ETAf'A 70"
'!IQO.O
"Yl_BAJAR
VENTOSA"
1----,.----------------� R )--
'!IM7.4
"ETAPA 74"
V.,,5
"f2_ETAPA 2 5"
'IIMI.O
"F2_ETAPA 30"
11Ml.4
"F2_ETAPA 34"
Fig. 8.122
• Segmento 12: Manipulador de carga. 1Jt.nt0st ,u¡ecti6n pie:za. Eleurovalvula monoestable. Sue!r. pie:za
Fig. 8.124
• Segmento 15: Marcha del motor cinta p_
,I•
-
•
------�
'11,13.0
·n_
""-48.3 PROTECCION
"ETAPA 83" WTOR PALETS"
'"�d Fig. 8.126
'IQ1.1
"Kl M.._M'.lTOR
CINTAPALEr
)--
• Segmento 9: Mlnipuladorde carga Ventou su¡ección pie-:e. Electro�lvule monoestable. Sll¡ec.c:i6n p1e;:a
Fig. 8.121
.., Segmento 11; Manipu!1dor de cerg1.Eje �rtital. Elecu-ovelvu!a bieottable.Oes.pt11er a pos.icián de de,e1rg1
'!IM7.1
"ETAf'A 7 1 "
'!IQ0.1
"Y2_VENTOSA
A IZQUIERDA"
t-
�
-.---------------i( }--
"F2_
�
d
Fig. 8.123
., Segmento 1 3: Manipulador de targa. E¡e 11erti<::1L Elettr0111l11ul1 biestable. Despl•21111r a po,itió.n de urge
'!IM7.5
"ETAPA 75"
V.,,.5
"f2_ETAPA 25"
11Ml.5
"F2_ETAPA 35"
Fig. 8.125
., Segmento 18: lrnemlitentia del pilotode se�11i:at16n
_
,m
_
,
_
ri_
llo_ __ __
--º
"ETAPA 80"
__3
"ETAf'A 83"
__,
"f2_ETAPA 31"
'1112.7
"fl _
PROTECCION
WTOR PlEZAS"
'IW3.O
"F2_
PROTECCION
M'.lTOR PALETS"
-191.5
"Clock_1 Hz"
Fig. 8.127
'!IQ0.2
"'13_VENTOSA
A DERECHA"
}--
'IQ2.1
"HO_AMtRILLO"
}--
La indicación luminosa intermitente en el piloto verde de la baliza indica que el
Estado F2 está activado.
·-.._.,,-
J
1
,

í

1
í
1


1
1
í
1
í

í

Al
Parid. enti est.SO Inicial
• Segmento16: �ttfm1te1K•delpitomde1e.-.a1;:1
_
,<
_
,�
_
•
_
• ___
_
'IM6.3 'IM8191.2 1'Q2.2
"fT¡l,J>¡ 63" "CkXJL2.5Ht' "Hl_VEROE"
,____...., >--�------------< ,__
""6.3
"ETN'A 63"
...,_,
"GG_ESTAOO F2"
"GG._;i:
,;,,fi , 8,128
-u.tl191.S
�CIOck....lHZ"
• Guía Gemma con el Estado F2
Unidad 8 - Guía Gemma
Para la implementación del estado F2 Marcha de preparación de la guía Gemma,
indica que a este Estado F2 se puede acceder tan solo desde el Estado Al cuando
se cumpla la orden de marcha del sistema.
Una vez que hayamos pasado al Estado F2, se ejecutará el Grafcet para dejar
preparado el proceso, poder pasar al Estado Fl y arrancar la producción normal.
La condición para pasar del estado F2 al estado F1 es que el Grafcet asociado al
Estado F2 haya finalizado, es decir, que se haya vuelto a conectar su etapa inicial.
Por tanto, para dicha condición tan solo hace falta poner un contacto con flanco
positivo de su etapa inicial, en este caso la etapa 20 (M2.0).
GENÉRICO
Ordend• marcha y NO cump!.
i.i COMkioMs lnicMlfl
F1
Fig. 8.129
MO.O
M0.6
MO.l
FZ
Finaizada la ejecución
del grafcet A2.
APLICADO
F1
Fig. 8.130
Orden de ma-cha y NO cumple
M0.7
Fig. 8.131
F2 M0.7
FC10
313
Unidad 8 - Guía Gemma
314
A continuación, podemos ver que la guía Gemma presentada, más los estados
anteriormente explicados, se puede representar como un Grafcet y, por tanto,
desarrollar como tal.
• Programa en el FCO GUIA GEMMA
.., Segmento 10: Actrvtción d e ütado F2, MIIKh• d e prep■radón • Segmento 1 1: E�tado de parada enel e�udo inicial___
'!IMI.O
.GG_ESTAOO A1 "
'!IMl.7
"GG_ESTAOO Fr
>-
--
-< t-
-
.-----
-
1/�
-
--.
-----
-----i s )---
'!W0.2
"S2_MRCHA"
'!W0.4
·a1_ao
VENTOSA
ARRIBA"
'!W0.6
"83_b0
VENTOSA
DERECHA"
'111.0
·es_co MJL.TI
PEQUfÑO
DENTRO"
'111.2
"87_d0 fd..A.Tl
GRANDE
DENTRO"
'111.4
"B9_eo
w.RCAOOR
ARRIBA"
'112.1
"81 2_g0 TOPE
AlRAS"
'112.0
"81 1_f1 PIEZA
SWETA"
Fig. 8.132
.., Segmento 12: Llamada e la subrutina del EstadoF2
1
"GG_�O F2" "F2 MARCHA DE ;�PARACIÓII'
'!IMI.O
"GG_ESTADO A1 "
1-------1•>---
�
f--- EN ENO ----------
Fig. 8.134
r��
to
_
F
_
2
_
· _
•
F
_
2
�
-l
�
t-
l�
.
2
_
20
_
·--.
---------
-
·-
GG
_
_
-l
�
:
:
A
�
"FLANCO 3"
%Ml.J
�---------"
-
GG
_
_
-{
ES:�
Fig. 8.133
• Segmento 1 3: Piloto verde en guia gemm, deI• maqueta que indke estedo F2 activo
'IQ4.7
1lf.«> 7 "H1 4_ESTADO
TAO
¡-
. o
_F
_
2_
• ------------------iF2"
}-------<
Fig. 8.135
• Comprobación del funcionamiento del estado F2
Control del proceso
Para poder comprobar el funcionamiento, debemos primero transferir el programa
al simulador PLCSim. A continuación, hemos de abrir el simulador 30.
Pulsaremos el botón CONTROL PROCESO, el botón GUIA GEMMA y el de
REGISTROS. Con ello se nos abrirán los tres paneles que necesitamos para poder
probar el ejercicio.
Registros de pedido y de contaje
Estado de la Guia GEMMA
� ril ■� r!lt
9'ERGENCA PAII.O MAROfA AUTfMAN AO( M1
11 11 11 ■•.�:
Fig. 8.79 Fig. 8.80
Fig. 8.101
. ;
'
'
)
'
'
, Recuerda • • •
1 El estado F5 es el
,
estado de la guía
Gemma que permite
, manipular el proceso
de forma que su
' funcionamiento se
, realice paso a paso
después de una orden
' dada por el operario.
'
'
'
1
'
1
1
Unidad 8 - Guía Gemma
Procederemos igual que en la comprobación del Estado Fl:
• Por lo tanto, primero indicaremos los valores en los pedidos de producción
del panel REGISTROS.
• Estando en el Estado Al, accionaremos el pulsador MARCHA, con lo cual
entraremos al Estado Fl.
• Debemos pasar el PLCSIM de RUN a STOP y después pasarlo de nuevo a RUN
en cualquier momento de funcionamiento del proceso, por ejemplo, cuando
el brazo de la ventosa empiece a irse hacia la izquierda y el cilindro marcador
esté abajo.
• Con ello, habremos conseguido que el proceso se quede en condiciones no
iniciales.
• Estando en el Estado Al, accionaremos de nuevo el pulsador MARCHA, de
modo que, al no estar en condiciones iniciales, la guía Gemma entrará en el
Estado F2 y se mostrará en verde su piloto asociado H14_ESTADO F2 (Q4.7).
• Podremos comprobar que se ejecutará el Grafcet F2, con lo cual todo el
sistema dejará el proceso preparado para iniciar la producción de forma
automática y ordenada para evitar posibles choques mecánicos.
• Al acabar la ejecución del Grafcet de F2, automáticamente entraremos en el
Estado Fl y se pondrá en funcionamiento el proceso de producción normal.
8.2.4 Guía Gemma del Estado FS (Marcha de verificación con orden)
En el Estado FS, según la guía Gemma, «La máquina realiza el ciclo completo, a
petición de órdenes manuales del operador». Por tanto, será el mismo
funcionamiento que en el Estado Fl, con la diferencia de que el operador irá
controlando mediante un pulsador cada uno de los cambios de etapa.
• Condiciones de funcionamiento del Estado FS
Implementaremos en cada receptividad de las transiciones un pulsador, en nuestro
caso el pulsador de marcha. Este pulsador lo programaremos mediante un flanco
negativo, ya que de esta forma controlaremos que, al dejar de pulsar, pase a
funcionar la etapa siguiente.
De ello deducimos que podemos implementar este pulsador en la receptividad de
la transición de dos formas diferentes:
Como condición en Y: cuando sea necesario que se cumplan todas las
condiciones antes de pasar a la siguiente etapa. Por ejemplo, no poder
realizar la acción de sujetar la pieza si no existe pieza a sujetar en el lugar de
carga, o no realizar la orden de liberar la pieza si el palet no se encuentra en
la posición correcta de descarga.
+Detecta pieza • Pulsado r de m a-c ha (FP)
- Como condición en O: cuando NO sea necesario que se cumplan todas las
condiciones antes de pasar a la siguiente etapa. Por ejemplo, si estamos
realizando pruebas de puesta en marcha de un proceso de llenado de
315
Unidad 8 - Guía Gemma
316
bidones con líquido y, por tanto, no sea necesario llenar el bidón al máximo
para pasar a la siguiente etapa.
+Detecta bid ón llen o + Pulsado r de marcha (FP)
• Diseño del Grafcet del Estado FS
Ennuestro caso, utilizaremoselmismo Grafcet que tenemosenelbloque FC9 (Estado
Fl) o en el FC15 (Estado FS) y añadiremos en cada transición el pulsador de marcha
con un flanco positivo. Es muy importante poner una marca diferente en cada flanco,
porque en caso contrario el programa puede no funcionar correctamente.
No siempre será necesario colocar en todas las transiciones el pulsador para el paso
a la siguiente etapa, por ejemplo, en los casos en el que ya existe una intervención
manual por parte del operario. En nuestro caso sería en:
- La activación de la etapa 41 y de la 65.
- Las transiciones de entrada y salida de la etapa 63.
- Las transiciones de entrada y salida de la etapa 64.
- Los Grafcet de los motores de las cintas de transporte.
• Programa del diseño Grafcet correspondiente al Estado FS
A continuación, se muestra un ejemplo de cómo quedaría la receptividad de una
transición dentro del programa:
• Segmento 2: AClfV�ÓN DE' LA e:TAl'A42 Y DE:SACJTVAOÓN DE: LA ETAPA 41
'M2.3
-.1 lW0.2 "B1 4_PIEZA EN '!IMN7002 -.2
"ETAPA 41 • ·sz M'RCHA" TOPE" "PEDIDO ROJAS" "ETAPA 42"
,_
, ___
-1 P 't----+--< t----1 > tGL____.
lnt
S ,------------
"F=!• '!IMN7010
"PROCESADAS 'IM4.1
ROJAS" "ETAPA 41"
R)----< Fig. 8.136
Donde el pulsador S2_MARCHA se utiliza también para dar la orden de paso a la
siguiente etapa. Es decir que, si se cumplen las condiciones, en este caso si:
- existe pieza en el tope (12.3) y
el pedido de piezas rojas (MW7002) es mayor que el de piezas rojas
procesadas (MW7010),
esperará la orden de paso a la siguiente etapa mediante la activación del pulsador
de marcha (10.2). Esta activación se asocia a un flanco positivo para asegurar que
tan solo sea válida para esta transición y ningún caso pueda provocar el paso a
varias etapas de forma consecutiva con una única pulsación.
Como la técnica utilizadaes la de copiar íntegramente el programa del bloque FC9 en
el bloque FC13, donde únicamente la diferencia es que se añade en cada transición
la condición de la pulsación con flanco del pulsador de marcha, cuando se pasa del
Estado Fl al FS, se deja de ejecutar el bloque FC9 {Fl), se pasa a ejecutar el bloque
FC13 (FS) y las marcas que se encontraban activadas en el bloque FC9 permanecen
J
�
')
'
'
'
)
l
'
Al
Fl
Producd6n normal
Unidad 8 - Guía Gemma
activas en el bloque FC13. Esto hace que, si en el bloque FC9 se encontraba activada,
por ejemplo, la etapa 8, al pasar a ejecutarse el bloque FC13, seguirá activada la etapa
8 y por tanto el control manual lo realizará el operario a partir de esa etapa.
Colocar el pulsador de marcha con el flanco en cada uno de los segmentos menos en:
- la activación de la etapa 41 y de la 65,
- las transiciones de entrada y salida de la etapa 63,
- las transiciones de entrada y salida de la etapa 64,
- los Grafcet de los motores de las cintas de transporte.
Para el correcto funcionamiento, es muy importante poner en cada uno de los
flancos una marca diferente.
Hemos de programar en el FC20 (S_SALIDAS) la indicación luminosa en el piloto azul
de la baliza que indica que el Estado FS está activado.
,. Segmento 1 7: lnttrm1tl!!ncia dl!!I piloto di! s�i'lali.ac.i6n a.JJI
'liM6.4 '!iM8191 .2 '!IQ2.3
APA 64" "Clock.,_2.5Hz" "H2_AZUL"
f-----1 1-
1 ---,-------------i( >-------
'IM1.2
TADO FS"
i--
1 ------'
• Guía Gemma con el Estado FS
Fig. 8.137
Para la implementación del estado FS Marcha de verificación con orden de la guía
Gemma, más conocido como Funcionamiento paso a paso en el PLC, nos fijaremos
en la guía Gemma general representada en el apartado 8.1.2. En ella se observa
que hay diferentes formas de acceder a su ejecución y en este caso trabajaremos
las representadas en la siguiente figura:
GENÉRICO
..,.
FS
Fl
.....
Fig. 8.138
APLICADO
At.,1<> � et1 0fl Y ...,..OW1-,c, � ..-niow,
'"'"fl'l........�....._. lltT
.... """"'1
�-,· � -uda, -,tj � ....
"""·"'" ' "'° ""' pju• Wjal• pa,�
¡IO.l •io -1 • •• • 11 0 · 11.2 · 1u • 1u •ii.i'1
Aw)/M-, en OH ( IO.l l
FC9
FS
FC13
AU� ei, OH (iü')
Fig. 8.139
317
Unidad 8 - Guía Gemma
318
'IMI.O
'G<,__ESTAOO Al"
Son las siguientes:
Desde el Estado Al pasaremos al Estado FS si, cumpliéndose las condiciones
de inicio, tenemos en la posición de MAN el selector AUT/MAN.
Si nos encontramos en el Estado Fl, podemos pasar y retornar en el
momento que se estime conveniente con tan solo colocar en la posición
MAN el selector AUT/MAN.
Otra forma de salir del estado FS, y que aquí aún no se ha contemplado, es para
dirigirse al Estado F4, tal como se indica en la guía Gemma general representada en
el apartado 8.1.2.
A continuación, añadimos al Grafcet de la guía Gemma el Estado FS, que quedará:
FCO
Parada en el estadolnlclal
M0.6 M0.7
N �:!�ade prepar;1clón
M0.1
Fig. 8.140
Ahora, y tal comohemos indicado anteriormente, cuando estén activadoscadauno
de los estados de la guía Gemma, tendremos activado un piloto en el panel de la
guía Gemma del simulador 3D. En este caso hemos añadido el del Estado FS.
• Programa en el FCO GUIA GEMMA
El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede
implementado el Estado FS con las entradas y salidas indicadas con los Estados Al
y Fl es el siguiente:
..,_.
·a1_ao
VENTOSA
-·
..,_.
'B3_b0
VENlOSA
DERECHA"
'Ml.O
"B5_c0 �11
PEQUl"ÑO
DENlRO"
..,.2
'B7_d0 t.U..11
GIV.NDE
DENlRO'
8.141
...,...
"89_e0
M'JICAOOR
ARRIBA'
'1112.1
'81 2-9() TOPE
ATRAS'
'112.0
·e, ,_n PIEZA 'JiM'l.2
SWETA" -�ES1ADO FS"
....----�1r-------,�
c----t s)-----
--•
'GQ__ESTADO A1 "
R)-----
'1103
-act.6 "S3_SELEClOR ....,.2
r
llll3
r
.
2
'Sl_SELfCTOll .....6
AU'TOIM".N" "GQ...fSTN>O fl"
TAOO F1• AUTOJMN" 'GG__ESTAOO f5"
>-----< f-
1 �---i;•}-
.....6
�--------
-GG__
---t
fs:�
Fig. 8.142
STN>O f5"
1 Vlc---r--------,¡•f--
...,_,
________._
""--
_,
Es:;.:
Fig. 8.143
"-.._./
'l
'
)
)
)
'
)
'
1
'
'
""
)
'
'
'
'
'
)
)
)
1
'
1
Unidad 8 - Guía Gemma
TAOO Fs· ·Fs PASO A PASO·
P., 1 "GG �2
"H1 7
�
AOO
�
TAOO
>-
"
-
· ____
F_
ig
_
._
8_
.1
_
4_
s___-----<'_
i---- EN
Control del proceso
Fig. 8.79
Fig. 8.144 Fig. 8.145
Una vez realizado el programa, ya podemos probar su funcionamiento, visualizar el
estado de la guía Gemma en el panel Estado de la guía Gemma y actuar con los
pulsadores del panel Control del proceso.
• Comprobación del funcionamiento del estado FS
Para poder comprobar el funcionamiento, debemos primero transferir el programa
al simulador PLCSim y, a continuación, abrir el simulador 30. Una vez abierto,
abriremos los paneles CONTROL PROCESO, GUÍA GEMMA y REGISTROS.
Estado de la Guia GEMMA
Registros de pedido y de contaje
Fig. 8.80
Fig. 8.101
Procederemos igual que en la comprobación del Estado Fl:
• Primero introduciremos los valores en los pedidos de producción del panel
REGISTROS.
• Cuando estemos en el Estado Al, accionaremos el pulsador MARCHA, con lo
que entraremos al Estado Fl y empezará a funcionar el proceso.
• En cualquier momento activaremos el selector AUTO/MAN, de modo que se
activará el Estado FS y se desactivará el Fl, mostrando en verde su piloto
asociado Hl7_ESTADO FS (QS.2).
• Comprobaremos que el Grafcet está en pausa. A partir de ese momento, para
provocar el siguiente movimiento tendremos que accionar el pulsador
MARCHA.
• En el momento que queramos que siga funcionando el ciclo en Producción
normal, desactivaremos el selector AUTO/MAN, con lo cual se activará el
Estado Fl y se desactivará el FS.
• Podemos entrar también en el Estado FS si, estando en el Estado Al y
cumpliéndose las condiciones iniciales, activamos el selector AUTO/MAN.
8.2.5 Guía Gemma de los Estados A3 (Parada a un estado determinado)
y A4 (Parada obtenida)
Según la guía Gemma, el Estado A3 es un estado transitorio en el que la máquina
ha de producir hasta llegar a un estado diferente del estado inicial. Por tanto,
previamente a incluir el programa del Estado A3, hemos de decidir en qué estado
se desea que se encuentre el proceso cuando el operador dé la orden de parada en
ese estado. En ese momento, el proceso continuará funcionando con total
319
Unidad 8 - Guía Gemma
Recuerda • • •
Cuando se desea
obtener una parada
en un estado
determinado del
proceso, se utilizarán
los estados A3 y A4 de
la guía Gemma.
'lil1.4
"89_eo
normalidad siguiendo el Grafcet de producción normal (Fl) hasta que se alcance la
posición decidida de parada.
• Condiciones de funcionamiento de los Estados A3 y A4
En este caso, y a modo de ejemplo, elegiremos una etapa correspondiente al
funcionamiento del manipulador de carga (X46) y otra del manipulador grabador
(X72). Lo que queremos es detener el proceso en la etapa X46 para comprobar que
ha realizado correctamente el marcado en la caja, y también en la etapa X72 para
comprobar si la pieza se va a situar correctamente sobre el palet.
Para provocar la detención del Grafcet de producción en esas etapas, añadiremos
en las receptividades de las dos transiciones siguientes a las etapas la marca
especial M8190.3 (Always False) que vale siempre O.
Por lo tanto, en el bloque FC3, asignado para el Estado A3, copiaremos el Grafcet
que hay en el FC9 (Estado Fl) y modificaremos los dos segmentos del Grafcet
grabador-carga de las etapas siguientes a las consideradas de paro, la X46 y X72, es
decir la X47 y la X73. Quedará de la siguiente forma:
..,. Segmento 30: l'UN'TO OE PAANJA DEL GRU
_
l'O
_
o
_
, =--
--------�
'!W0.5
"82_al
-·• MARCADOR 'IMB190.3 -.7 'IM7.2 VENTOSA 'JíM8190.3 IJIMJ.3
320
'ETAPA 46' ARRIBA' "AJw•ysFAlSE' "ETAPA 47'
t----� �--+----1 t---t,-------;s )--
Fig. 8.146
--•
'ETAPA 46'
'-------•)--
"ETAPA 72• ABAJO" "AlwaysFAlSE" "ETAPA 73"
>----� �---+---< t--+.-------1s )--
Fig. 8.147
'tN/.2
'ETAPA 72'
'-------•)--
Sin embargo, en el bloque FCS, correspondiente al Estado A4, no habría que
programar nada. No obstante, en el caso de que se considere que los motores
pudieran estar en funcionamiento, deberíamos programar aquí su parada para
poder realizar con seguridad las comprobaciones en la máquina.
Hemos de modificar el programa en el FC20 (S_SALIDAS) para poner la indicación
luminosa del funcionamiento del Estado A3. El piloto azul de la baliza funcionará de
forma intermitente lenta.
• Segmento 17: lntermitenci, del pilote de a·fliali:aci6n 1::i.il
--2
'GG_ESTADO F5'
1'M!191.2
'Clock_25Hz'
VJD2 'IMB1915
'GG_ESTADO A3" 'ClocU Hz'
'11,()2.3
"H2_AZU
.
."
)------<
Fig. 8.148
Por otro lado, el funcionamiento del Estado A4 se indicará con el funcionamiento
simultaneo fijo del piloto verde y con el piloto azul funcionando de forma
intermitente lenta.
'..__/
·.._,..
·--...,
'
'
l
l

l

'
'
Unidad 8 - Guía Gemma
• Segmento 16: lnt,rm,1,nci1 d�f piloto de ,,l'la
_
li:11
_
�•
-
" _
,,.
_
, _____
• Segmento 17: lntermitenci1 del píloto d, sel'l,
_
l•3
-
"6
_
0 0
_
�
_
1 ____
_
__3 _,.,.2
"Clocl(_25Hz"
-.3 llM>.6
"ETAPA 63" "GG_ESTADO Fl "
_,_, _,,,.s
"GG_ESTAOO F2" "Clock_lHz"
'!IMl.3
"GG
_
ESTAOO A4"
I
A
4
Parada obtenida
Fig. 8.149
ll,Q2.2
"Hl
_
VEROE"
--•
'IIM1.2
"GG
_
ESTADO F5"
%Ml191.2
"Clocl(_25Hz"
'!IMl.2 -1915
"GG_ESTAOO A3" "ClocU Hz"
"'-�;r
• Guía Gemma con los estados A3 y A4
Fig. 8.150
ll,Q2.3
"H2_A2U."
Para la implementación de los estados A3 Parada a un estado determinado y A4
Parada obtenida de la guía Gemma en el PLC, nos fijaremos en la guía Gemma
general representada en el apartado 8.1.2. En ella se observa que la relación entre
estos estados es la siguiente:
GENÉRICO APLICADO
A
4
FCS
M0.3
1--
--�
Parada obtenida
f---��...-... _.,_
��-· rl p,ocuo N1k1nmlollE1-r,,,
«7Jll ltapo K7J o ll EtopoX7t
( M'-1 º
I M7.J•M1.&l)
"""-rM1rcM ( IO.l )
A
3
Pa�a pedida
1 un est1do
determi�do
Fl
::::.:.:.""
Producc;ón normal
A3 M0.2
FC3
::��:=da 14----+---I
f1
determinado l'ulurSll j l U )
Producción normal
M0.6
FC9
Fig. 151 Fig. 8.152
- En este caso, el acceso al Estado A3 será desde el Estado Fl accionando el
pulsador 521.
- El acceso al Estado A4 se hará de forma automática, cuando en el Grafcet
se encuentre activada la etapa X46 y la etapa X72 o la X76, etapas que se
han seleccionado para que el funcionamiento del proceso se detenga.
Entonces se activará el Estado A4 y se desactivará el Estado A3. Al no
evolucionar el Grafcet en este Estado A3, las etapas X46 y X72 o X76 se
mantendrán activadas.
Cuanto la guía Gemma se encuentre en el Estado A4, realizaremos las
comprobaciones pertinentes en el proceso y cuando hayamos finalizado
esas comprobaciones, podremos accionar el pulsador de marcha. En ese
momento se volverá a activar el Estado Al, y al encontrarse activadas las
etapas X47 y X73 o X76, el proceso seguirá a partir de ellas.
A continuación, añadimos al Grafcet de la guía Gemma los nuevos estados
incorporados, el Estado A3 y A4, de modo que quedará así:
321
Unidad 8 - Guía Gemma
322
.,.,....
MO.l
'. N 1 �;4
m obt��a
�n � ma,cm
1
Fig. 8.153
1 M U
Ahora, y tal como hemos indicado anteriormente, cuando estén activados cada uno de
los estados de la guía Gemma, tendremos también activado un piloto en el panel de la
guía Gemma del simulador 3D. En este caso hemos añadido el de los Estados A3 y A4.
• Programa en el FC0 GUIA GEMMA
El programa que debemos añadir al bloque FCO GUIA GEMMA para que queden
implementados los estados A3 y A4 con las entradas y salidas indicadas sería el
siguiente:
• Segmento 19: Est1do d, pirad, • un ,nado d,t,rminado
____
_
• Segmento 20: Estado de parida obtenida
'!Ml.6
"
GG_
ESTADO Fl"
'IWS.4
·s2 1 ·
'IM>.2
"GG_ESTAOO P.Y
'!Ml.6
;s )------<
�
--------
-º-
GG
_
_
�
E
s:�
Fig. 8.154
• Segmento 21: erndode producción normel
'IM>.3 'IW0.2
"GG_ESTAOO A4" "S2_�CHA"
'!Ml.6
"
GG_
ESTAOO F1 .
'!Ml.3
;s )------<
,___________.
_
GG
_
_
-l
ES:�
Fig. 8.156
• Segmento 23: Uamada a 11 1ubrutin1 del Estado M
•A4 PARADA OBTENIDA•
ENO ---------
Fig. 8.158
• Segmento 2S: PiloCo •erde '" gui1 gemmt de maqueta que indica utadoA4 activo
%Ml 3 "Hl O ESTADO
P
'!IQ4.3
TAO
l--
· o
_
A
_
•
_
• ---------------...¡
M"
)-----<
'IM>.2
"GG_ESTAOO A3"
'lr.M4.6 V.U.2 'IM)3
"GG_ESTAOO A4"
�,_____.....__
�' 1 ----<
,u
�,�
Fig. 8.155
• Segmento 22: U1m1d1 1 la subn.1tin1 del Euado A3
'IM>.2
TAOO A3"
f--- EN
•A3 PARAOA
ESTADO
DETERMNADO
º
ENO ---------
Fig. 8.157
.., Segmento 24: Piloto verde enguia gemma de maqueta que 1ru:lic1 estadoA3 activo
F
1--·2
o
_
AJ
_·
_______________
·
_
H9
_
_E
-i
�
�
Fig. 8.159
Fig. 8.160
• Comprobación del funcionamiento del estado FS
Para poder comprobar el funcionamiento, debemos primero transferir el programa
al simulador PLCSim y, a continuación, abrir el simulador 3D. Una vez abierto,
abriremos los paneles CONTROL PROCESO, GUIA GEMMA y REGISTROS.
0
1
-.J
J
_J
)
'
)
'
í
)
Unidad 8 - Guía Gemma
Estado de la Guia GEMMA
Control del proceso Registros de pedido y de contaje
(. 13 ■r. líJ .
EMERGENCIA PARO "'IAROiA AUT,'MAN ACK "41
■ ■■■ ■
Fig. 8.79
Recuerda • • •
La guía Gemma
contempla el tipo de
parada llamado de
cierre, que provocará
la finalización de la
producción cuando
esta haya concluido
totalmente.
Fig. 8.80
Fig. 8.101
Procederemos igual que en la comprobación del Estado Fl:
• Primero introduciremos los valores en los pedidos de producción del panel
REGISTROS.
• Estando en el Estado Al, accionaremos el pulsador MARCHA, con lo cual
entraremos al Estado Fl y empezará a funcionar el proceso.
• En cualquier momento accionaremos el pulsador 521, de modo que se
activará el Estado A3 y se desactivará el Fl, mostrando en verde su piloto
asociado H9_ESTADO A3 (Q4.2).
• El Grafcet seguirá evolucionando hasta llegar a los puntos de parada y en ese
momento se activará el Estado A4 y se desactivará el Estado A3.
• Para que el Grafcet siga evolucionando, hemos de dar la orden de MARCHA,
con lo que se activará el Estado Fl y se desactivará el A4.
8.2.6 Guía Gemma del Estado F3 {Marcha de cierre)
El Estado F3 Marcha de cierre corresponde al modo de vaciado de material,
limpiado, etc., que muchas máquinas deben llevar a cabo antes de finalizar el ciclo
de funcionamiento de la máquina o de cambiar algunas características del
producto, conocido como cambio de formato.
• Condiciones de funcionamiento del Estado F3
En nuestro caso vamos a hacer que acabe el pedido que esté realizando en ese
momento y, una vez finalizado, vacíe las piezas que quedan en la cinta de piezas,
de forma que sean transportadas al palet sin ser marcadas por ningún color.
• Diseño del Grafcet del Estado F3
Para este caso, también reutilizaremos el programa introducido en el bloque FC9
Producción normal. Por tanto, copiaremos este programa en el bloque FCll
correspondiente al Estado F3 y realizaremos las cuatro modificaciones indicadas a
continuación:
323
Unidad 8 - Guía Gemma
"'""
M5 0
M5 1
324
Hay selecdonadas piezas rOjas, ro ha
ecabaOO el pedlOO y hay pieza en
t�e ( 12. 3 ' M-N7002 > MW7010)
N Q0,6
Baja marcador
Q0,7
9.Jbe marcador
Q0,4
Sale multl e-ande
Q0,3
Sale multl peq.;el'io
CU/ROJAS
Contaje de rc:;as
M5,3
M5.4
M5,6
El mUtl pequei'o esta fuera y e! multl
9'&nde est11 fuen1 ( l l l ' 113 )
Q0,6
BaJamarcacbr
N
Q0,7
Sube marcador
Q0,4
Entra mulo grande
Q0,3
Entra multl pequerio
s QO.S
Sale tope
Q0,5
Entra tope
TON/Tl/3s
Tlem¡xi esper11 piez11
M<O
H!Ji seleccionadasplezasV!rdes, no ha
acabado el pedid:> y ha acabado pedido
de plezas rojas y hll'( pleze en tope ( l2 3
'MW7C06 > tvm7014"MW7002=
MN7010)
s
N
Q0,4
Sale multl grande
Q0,6
Baja marcador
Q0.3
Sale multl pequel'io
CU/VERDES
Contaje de verdes
El multl pequel'IO esta fuera ( 111)
M57
""e
""'
""'
Hayselecdoredaspiezas amarillas, no
ha acabado el pedido y ha acabado
pedido de ph!zas rojas y de piezas
verdes y h9y �ezun tope ( l2 3 •
MW7004 > MW7012 • MW7002s
MW7010 • MN7flh,. MW7014)
s Q0,3
Sale multl peq.¡elo
El mulll pequeloestafuera ( 111 )
N Q0,6
Baja marcador
Q0,4
Sale multl grande
N CU/AMARILLAS
ContaJe aml!lrtllas
El multl grande esm fuera ( 11. 3 )
1
Ha11cabado los ped1dos de piezas rojas, verdes y l!marlllas y NO hay pieza
baJoventosa y hlJ{ pieza en tope
50
2
(( MN7002 .. MN7010 ) • (MN7004,. MN70l2) • (MN7006 • MN7014)
· ii:s• t 2.3 )
Han pasado 6 segundos
NO hey pieza baJobraro ( l2. 5 )
5 QO.O
Saja ventosa
""'
M7.0
M7.l N
QO,l
Ventosa hada lzq..,lerda
M7.2
M7.3
M7.4
M7.S
N Q0.2
Ventosa hada derecha
L.aventosa ests en la derechll ( I0.6 )
3 Hayp!eza en t'l)e o hay pleza en ventosa
( 12. 3 + 12. 5 )
N O hay pieza e n tope y r..o hay pieza e nventosa
¡ 123 • 12.S¡
Fig. 8.161a
.J
.J
.J
.
1
1
1
i
1
1
1
i
1
'
Unidad 8 - Guía Gemma
M7.7
M8.0
MS.1
Accionar pulsador de marcha y NO hay pieza en tope o etapa X50 activa y disyuntor
esta rearmado ( (10.2 • ii'3f♦ MS.O) • 12.7)
Disyuntor re:armado (12.7)
�untar disparado y Ckxk_lH:t
(12.7 •MS191.5 )
NC Q2.Q
Funciona motor piezas
NC Q2.l
Piloto amarillo
Se para motor piezas
El motor palet esta parado { Ol.OJ
Fig. 8.161b
• Programa del diseño Grafcet correspondiente al Estado F3
Las modificaciones a realizar en el programa, y que se han numerado y marcado
con recuadros de color rojo en las figuras anteriores, son las siguientes:
1) Cuando se ha acabado el pedido de piezas, activará el Grafcet a partir de la
etapa XSO, y se saltará el proceso de marcado, del que tan solo funcionarán los
topes para ir dejando pasar las piezas sin marcar hasta la zona de carga.
2) En este caso, ya no necesitamos el ACK, ya que cuando no existan piezas
delante del tope, de forma automática se dará por finalizado el ciclo sin que
tenga que intervenir el operador. Tenemos un pequeño intervalo de 6
segundos para dar tiempo a que se posicionen las piezas que pueda haber en
la cinta.
• Segmento 24: AClll/AC!ON DE LAf"TAPA 52 Y DESACTIVACION DE LAETAPA64
'!IM6.◄
"ETAPA 64"
llMS.2
'T2".Q "ETAPA 52"
� -
1 ,----¡ s }----
'!IM6.◄
�----------
·ET
.....
AP:� Fig. 8.163
Al acabar los procesos simultáneos, el sistema comprobará si hay piezas
delante del tope y si hay piezas en zona de carga (transición con nota 3 y 4 en
la figura anterior del Grafcet de producción).
3) Si hay piezas delante del tope o si hay piezas en la zona de carga, el sistema
volverá a activar el proceso simultáneo para ir pasando las piezas sin marcar
desde la cinta de piezas hasta situarlas sobre el palet.
325
Unidad 8 - Guía Gemma
326
• Segmento 35: N:llVACIÓN DE LA ET...,,A 6S Y 41, Y DESACTIVACIÓN DE LA ETAPA 52 Y 76
'IIMS.2
"ETAPA 52"
'IIM7.6
"ETAPA 76"
1112.3
"81 4_PIEZA EN
TOPE"
'!IM6.5
"ETAPA 65"
¡---,--------i S )----<
1112.5 __,
"ETAPA 4 1 "
E���A- ¡--------i S )----<
'IIM'i.2
ºETAPA 52"
--------< R )----<
'IIM7.6
ºETAPA 76"
'--------1 R )----<
Fig. 8.164
4) Si no hay piezas delante del tope o si no hay piezas en zona de carga, esto
indicará que no hay piezas en el sistema. Por tanto, se activará la etapa inicial
del Grafcet del conjunto de carga y de marcador, y se dará por finalizado el
proceso.
• Segmento 36: ACTIVACIÓN DE LA ETAPA40. Y DESACTIVACIÓN DE LA ETAPA 52 Y 76
'IIMS.2
"ETAPA 52"
1112.5 1112.3
'IIM7.6
"ETAPA 76"
"81 6_PIEZA "814_PIEZA EN
BAJO VENTOSA" TOPE"
'IIM4.0
"ETAPA 40"
t-----i/t------i/t--�--1 s )----<
'IIM5.2
"ETAPA 52"
R )----<
'1"'47.6
ºETAPA 76"
R l----< Fig. 8.165
5) Al activarse la etapa X40, provocará que se active la etapa inicial del Grafcet
del motor cinta de piezas. Por último, cuando el palet se posicione sobre la
zona de carga, se activará la etapa inicial del Grafcet de motor de palets y, por
tanto, al estar los tres Grafcet en la etapa inicial, la guía Gemma pasará del
Estado F3 al Estado Al.
• Segmento 38: AOTVACIÓN DE LA EWASl Y DESACTIVACIÓN DE LA EfAf'A80
'llM!.O
'ETAPA eo·
%12.3
'B1 4_PIEZA EN
TOPE"
'llM!.1
"ETAPA 8 1 "
1P
j
;
s )----<
'IM230.0
LANCO 1 '
'llM!.O
f-
. -----------
-
E
-I
T
Af':�
'IIM4.0 ,--------
APA 40"
Fig. 8.166
En el FC 21 T_TEMPORIZADORES también debemos añadir el siguiente segmento
que corresponde con el temporizador para el tiempo de espera máximo cuando ya
no existan piezas en la cinta.
• Segmento 2: líempo de posicionamiento de pi,ai delante del lOP
--'-
"
-
' --- �---��
'!IM6.4
PA 64"
f--- 1N
T#6S PT
'!ID85
"1"2'
TON
Time
0 ---------------
ET - Fig. 8.167
J
V
'

'
1
'
'

1
1
'
'
'
1
1
1
Unidad 8 - Guía Gemma
En el FC20 S_SALIDAS el funcionamiento del Estado F3 se indicará en la baliza
luminosa activando simultáneamente el piloto verde de forma fija y el piloto rojo
de forma intermitente.
• Segmento 16: lnt1rm1ter,c,1 del p,lotode s,ñ11_
imc
�
...,
�
"�
-
•---- • Segmento 1 9 : P1lot0 de señeli:aci6n rojo
__ _____
�
li!liM63 'IM8191.2
"ETAPA 63" "Clod;,_25Hz"
"""6.3 'IM>.6
"ETAPA 63" "GG_ESTADO F1•
"""·'
"GG_ESTADO A2."
......
"GG_ESTAOO F3"
'IMl.7 'JIMl191.5
"GG_ESTAOO f2" "Clocle1 Hz"
"""·'
"GG_ESTAOO A4"
'IIM>.O '11()2.4
"GG_ESTAOO Al" "H3_ROJO"
l-------�-----------1
( )----,
=_:::-
.:o� -=-�
= �;r
Fig. 8.169
Fig. 8.168
Al
• Guía Gemma con el estado F3
Para la implementación del estado F3 Marcha de cierre de la guía Gemma en el
PLC, nos fijaremos en la guía Gemma general representada en el apartado 8.1.2. En
ella se observan las diferentes transiciones de activación y desactivación de este
estado, y que quedan así:
GENÉRICO APLICADO
Al
FCl
F3 F3 MI.O
FCU
F1 F1
FC9
Prod11cclónnomM11
ProducclónnormtJ
Fig. 8.170 Fig. 8.171
- Observamos que podemos pasar del Estado F1 al Estado F3 accionando el
pulsador S22, siempre que no esté activa la etapa X63. Esto tiene una
explicación lógica. En el Grafcet ya modificado en el FCll hemos eliminado
la etapa X63, por lo tanto, si en el momentode pasar del Estado Fl al estado
F3 el Grafcet encontrara esa etapa activa, el Grafcet en el estado F3 se nos
quedaría bloqueado.
- Por otro lado, para pasar del Estado F3 al Estado Al, han de estar activas
las etapas iniciales de los tres Grafcet del F3. Esas etapas iniciales son las
mismas que teníamos en el Fl.
327
Unidad 8 - Guía Gemma
328
MO.O
M0.6
MO.l
Ml.0
• Segmento 26: Enedo de march• de cierre
A continuación, añadimos al Grafcet de la guía Gemma el nuevo estado
incorporado, el Estado F3, con lo que quedaría así:
FCO
Parada en el estado lnlclal
Orden de
marcha de
cierre
M0.3
FC4
Parada obtenida
Fig. 8.172
M0.7 N ��:C�a de preparación
Flnallzada la ejecucl6n del grafcet de F2
Auto / Man en ON Auto / Man en ON
Ml.2
El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede
implementado el estado F3 con las entradas y salidas indicadas sería el siguiente:
• Programa en el FC0 GUIA GEMMA
• Segmento 27: euado de puad, t-n e l estado inicial
r��
io
_
F1
_
· --�
�;;
�
-
---
·e-:'6
�
�-
-:
3
_
•______
_·
_
G_
G_
-I
�
¡
;�
'IMl.6
....______·
_
GG
_
_
_¡
EST;�
p·º
1 ,=., -·º
"ETAPA 40"
'INl.7
"ETAPA 77"
'IWB.2 'IMl.O
"ETAPA 82" "GG_ESTAOO A1 "
��
TAOO F3"
R }----o
Fig. 8.173 Fig. 8.174
• Segmento 28: Ltem1da a la s1.brutin1 del EnadoF3 • Segmento 29: f"!loto verde en guie gemnu d, maqueu que indice e;tado F3 acti�o
'11()S.O
TADO F3" •f3 MARCHA DE CIERRE"
F.o
'IM1 O "H1 5_ESTADO
TA
l-
·o
_
o_
F3
_
•
----------------
--jf3"
}----o
f---- EN ENO ----------
Fig. 8.175 Fig. 8.176
• Comprobación del funcionamiento del estado F3
Para poder comprobar el funcionamiento, debemos primero transferir el programa
al simulador PLCSim. A continuación, hemos de abrir el simulador 3D para que
quede como se observa a continuación. Una vez abierto, abriremos los paneles
CONTROL PROCESO, GUIA GEMMA y REGISTROS.
Procederemos igual que en la comprobación del Estado F1:
• Primero asignamos un número de piezas, por ejemplo 1, en cada uno de los
colores del pedido de producción del panel REGISTROS.
• Una vez en el Estado Al, accionaremos el pulsador MARCHA, con lo que se
pasará al Estado F1 y se iniciará el funcionamiento del proceso.
J
J
J
1
1
1
1
1
1

1
1
'
1
Recuerda • • •
El Estado Dl de la guía
Gemma nos indica
que el proceso ha
entrado en parada de
emergencia.
Unidad 8 - Guía Gemma
• En cualquier momento podemos accionar el pulsador 522, con lo que se
activará el Estado F3 y se desactivará el Fl, mostrando en verde su piloto
asociado HlS_ESTADO F3 (QS.0) en el panel de la guía Gemma.
• El Grafcet seguirá evolucionando hasta finalizar por completo el pedido y a
partir de ahí se irán procesando el resto de piezas, pero sin realizar ningún
tipo de marcado, hasta comprobar que no queda ninguna en los diferentes
tramos de la cinta de piezas. En ese momento, se activará el Estado Al y se
desactivará el Estado F3.
8.2.7 Guía Gemma del Estado D1 (Parada de Emergencia), AS
(Preparación para la puesta en marcha después de un defecto
o avería) y A6 (Puesta del sistema al estado inicial)
En el Estado D1 se incluyen las acciones necesarias para detener el sistema de
forma inmediata en cualquier momento e independientemente del estado de la
guía Gemma en el que se encuentre, lo que se conoce como «congelación del
sistema». En él tan solo se deberán realizar las acciones que correspondan para
llevar el proceso a una situación de parada segura. Este estado se podrá alcanzar
desde cualquier punto en el que se encuentre el proceso, y es por ello que en la
guía Gemma se puede observar cómo al Estado D1 no le antecede ningún otro
estado.
Para salir del Estado D1 debemos eliminar las condiciones por las cuales se ha
llegado a él, momento en el que la guía Gemma pasará al Estado AS. En este estado
se deberán llevar a cabo los mínimos movimientos para poder realizar las
operaciones necesarias, según el motivo por el cual se entró en el Estado Dl, antes
de que, al activar la orden de reconocimiento o ACK, la guía Gemma pase al Estado
A6 para que el proceso se posicione en el estado de reposo general.
• Condiciones de funcionamiento del Estado D1
En el momento en que el Estado D1 se active, vamos a hacer que los motores se
detengan de forma inmediata. En cambio, la ventosa y los cilindros permanecerán
en el estado en el que se encuentren en ese momento.
Cuando esté activo el Estado Dl, realizaremos dos operaciones:
- Señalizaremos que hemos accionado el pulsador de emergencia mediante
el funcionamiento intermitente del piloto rojo.
- Procederemos a detener los dos motores que controlan las cintas
transportadoras, tanto de piezas como de palets.
• Programa correspondiente al Estado D1
Dentro del FC7 (Estado D1) haremos el reset de las etapas en las que hay
funcionamiento de motores. Eso ocurre en las siguientes etapas:
• El motor de cajas funciona en la etapa X80.
• El motor del palet funciona en las etapas X83 y X31.
329
Unidad 8 - Guía Gemma
Recuerda • • •
Cuando el proceso ha
entrado en situación
de emergencia antes
de finalizar el
funcionamiento total,
se debe contemplar
en qué situación ha
quedado la máquina
(A5) y posteriormente
llevarla a un estado
inicial y seguro (A6).
330
• Segmento t: IJ tntrar1I E,111d0 D1 har1. �lresetde lu. eupu. en donde ilncionan lo1 m0torH
'IM1.3 'IIMI.O
"GG_ESTADO 01 " "ETAPA so·
1----,----------------l R )---
'IIMl.3
"ETAPA 83"
1----------------f R )---
'IIM3.1
"F2_ETAPA 31"
�--------------f R )---
Fig. 8.177
Al Estado AS llegaremos después de que se haya desenclavado la seta de emergencia,
si se viene del Estado D1, o que hayan desaparecido todas las alarmas o averías, si se
viene del Estado D2. Este Estado D2 se expondrá más adelante. En cualquier caso, los
dispositivos que forman el proceso pueden haberse quedado en cualquier posición. En
este Estado AS se tiene en cuenta que después de un defecto sea necesario realizar
algunas operaciones manuales, como podría ser la de vaciar, limpiar, etc., algunas
zonas del proceso. Para ello, y en función de la situación en la que se haya quedado el
sistema, el Estado AS deberá realizar los movimientos mínimos para situar el sistema
en una posición segura para una intervención manual, como podría ser realizar
movimientos de cilindros paraliberar una pieza que haquedado atrapada. El programa
que se incluirá en el Estado AS se conoce como «rutinas de emergencia».
El programa que se debe incluir en el Estado AS deberá contemplar las diferentes
situaciones en las que el proceso se pueda haber quedado después del defecto, para a
partirde ahí realizar una rutina u otra y poderposicionar el sistema a un lugar seguro.
• Condiciones de funcionamiento del Estado AS
En nuestro caso, podemos contemplar diferentes situaciones:
- Que el cilindro marcador se encuentre estampando una pieza. En este caso
deberemos liberarla para poderla sacar del proceso de forma manual, por
lo que el único movimiento que se deberá realizar es colocar el cilindro
marcador en su posición de reposo y, a continuación, pulsar el botón
MARCADO del simulador 3D para hacer desaparecer la pieza.
- Que el cilindro vertical del manipulador de carga se encuentre en la
posición de carga sobre la pieza en la cinta, pero sin estar la pieza sujeta.
En este caso tan solo recogeremos el cilindro del eje vertical y
posteriormente lo trasladaremos hacia la izquierda, esperando a poder
sacar la pieza del proceso de forma manual mediante el pulsador CARGA
del simulador 3D.
Que el cilindro vertical del manipulador de carga se encuentre sujetando
una pieza. En este caso deberemos realizar una serie de movimientos para
soltar la pieza en la zona de carga, y posicionar el cilindro arriba y a la
izquierda, para seguidamente retirarla del proceso de forma manual
mediante el pulsador CARGA de la maqueta.
• Diseño del Grafcet del Estado AS
La solución del diseño del Grafcet se puede realizar de dos formas:
- Un único Grafcet con secuencia en Y: una para el manipulador de carga y
otra para el manipulador de marcado.
'--
í

'

Unidad 8 - Guía Gemma
Dos Grafcet separados: uno para el manipulador de carga y otro para el
manipulador de marcado.
En este caso hemos optado por la segunda solución. A continuación, se representan
dos Grafcet independientes entre sí, pero que inician su evolución en el mismo
momento, que no es otro que cuando se encuentre activado el Estado AS de la guía
Gemma:
Grafcet del manipulador de carga Grafcet del manipulador de marcado
M9.0
M9.1
M9.2
M9.3
M9.4
M9.5
M!l.6
M!l.7
Estado A.S y 11) hay pieza
sujeta enventosay hay
pieza en zona carga
( M04'Wl'l 25 )
MlOO
MlOl
M102
NO hay pieza en lona de marcado ( t 23 )
R Ql.O
Desltcttvarven�
( 120)
N QO.l
Ventosa h&da lzq,.Jlerda
Rebrar manualmente la pieza mediante
el pUsador CARGA delSimulador 30
Fig. 8.178
Ubicación en el simulador 3D de los pulsadores CARGA y MARCADO:
�
.......
c
_
ONTR
__
Ot.
_
PR
_
oceso
_____
RE
_
G
_
ISTR
_
os
__ -�" �- ---�
� MAl'llO MNUAl AVBUAS
GJ!A GEl'+IA
Fig. 8.179
Una vez que el sistema se encuentra en el Estado AS y se han realizado todas las
operaciones manuales para liberar el proceso de posibles riesgos, se procederá a
accionar el pulsador de reconocimiento o ACK, momento en el que la guía Gemma
pasará su control al Estado A6.
331
Unidad 8 - Guía Gemma
332
• Programa del diseño Grafcet correspondiente al Estado AS.
Los segmentos 1, 2 y 3 sirven para que al entrar en el Estado AS, se inicialicen los
Grafcet Fl, F2, A2, A3, FS Y F3, ya que aquí llegamos de una parada de emergencia,
loquequiere decirque, cuando se ha producido, podía estar funcionando cualquier
etapa. Por tanto, desactivaremos todas las etapas, pondremos en el estado O desde
la marca M2.0 hasta la M8.0, y, a continuación, se activarán las etapas iniciales de
todos los Grafcet.
• Segmento 1 : f'uesu II c:ero de todu !as maro, de los Grafce-ts
P;�
�
º
-
;!
_
.________________---<
•F2_:,2;�20"
- RESET_BF }-<
5
6
Fig. 8.180
p•;
,__
iE_•_________________._
F2
-<
_�2:
Fig. 8.182
• Segmento S: Maro u1gn1d1 a 11 et11p1 92 del Eu1do AS
__,
"AS
_
ETAPA 9 1 "
'IW0.4
·s,_ao
VENTOSA
ARRIBA"
'1112.S
"B1 6_PlfZA --2
BAJO VENTOSA" "AS_ETAPA 92"
111�-;
s
)---,
__,
._______
·
A
-
5
--i
_
E
T:
�
Fig. 8.184
• Segmento 7: Muu ui.gnada • la etapa 94 del Estado �
'IM93
"AS_ETAPA 93•
'IWO.S
·s2_a1
VENTOSA
ABAJO"
--•
"AS_ETAPA 94"
L-----------
-
A
5
----
_
;
Fig. 8.186
• Segmento 9: Marca a�ignada a ta etapa 96 del f5t.,do AS
'IM9.S
"A
5
_ETAPA 9
5
"
'IW0.4
·e1_ao
VENTOSA
ARRIBA"
--•
"AS_ETAPA 96"
'!IM'l.S
;
s
)---,
L-----------
-
A
5
--;
_
ET:
�
Fig. 8.188
• Segmento 2: Actr-iac:ión de lu etapas inici1!es de los gr1ítets. de ht$ Euado, de f1,.'12. "3, FS yf3
'IMl190.2 'IIM4.0
"AlwaysTRUE" "ETAPA 4(
t--�-----------------< S �
�.1 ,.,,__,,I
"ETAPA 77"
1-----------------l S �
'IMl.2 '---'
"ETAPA 82"
'--------------------< S r
Fig. 8.181
1'12.0
""6.0 tJIMJ.4 "B1 1_f1 PIE.ZA __,
"AS_ETAPA �
"AS_ETAPA 90" "GG_ESTADO AS" SWETA"
;s l--
,__;
--
º
.__
_____
·
A
5
-
_ET��
.._,,
Fig. 8.183
• Segmento 6: Mllrca uignadai!I la 1mpa 93 del Emdo AS
'IM9.2
"AS_ETAPA 92"
'IW0.6
"83_b0
VENTOSA
DERECHA"
-3
•AS_ETAPA �'-'
1--.,...-----------
_
-
AS
-;
V
?
Fig. 8.185
• Segmento 8: �•rea uign1d1 11 !1 e11p1 9S del fn1do AS_______
'IM9.4
"AS_ETAPA 94"
1
'1112.0
·e1 1 _fl PlfZA __s
SWETA" "AS_ETAPA �
1/lf---T--------
; S
r-:
--•
"AS-
ET
APA �
'--------------;
- R ) ____,,
Fig. 8.187
• Segmento iO: Mllrca uignedt " la etapa 97 del EitadoAS
'IW0.7
"84
_
b1
VENTOSA
IZQUIERDA"
'!IM'l.7 -..__/
"AS_ETAPA 9--
:
s )---.,,
'!IM'l.6 ._,/
"AS-
ET
APA 96"
'--------------<
- R )-'-..J
Fig. 8.189
1
1
)
'
1
1
1
1

1
'
1

Unidad 8 - Guía Gemma
'11'2.5 "2.0 '!iU.5
""9.7 ·s16_P1l2A 'Mil9.D 'IIM9.0 'IIMl.4 '81 1_,M PIEZA "B1 6_)'E2'A -.5
"'A5_.llAPA 9r BAX> VEN'TOSA. "'A5_.E-1APA 90• 'A5.J'IAl'A 90'" "GG_BlAllO A5' SUUA' BAJO VENIOSA" "A5_[1.Al'A 95"
t------1/1,----------.---------1
:
S )--------<
__,
�--------
·
AS
_
cJ
-i
1:i�
:::-
[1Al'A90'"
ll)--------<
Fig. 8.190
..1.5
"'B10__t'1
..1.4
"B9_t'O
Fig. 8.191
'IM'IO.D '1Ml.4 MARCADOR W'I0.1
"A5_[1APA 101"
'IM1D.1 IMR(AllOR 'IM10.2
"A.S_PAPA 102"
"AS_¡lAPA 100" 'c;c
;_¡:slAll() A.
'i" ABAJO" 'AS_llAPA 101 " ARRJBA'
'IW2..3
%M'I0.2 •814 Pl2A LN
'"A5J.1MA 102· lor[
·
Fig. 8.192
;
s )--------<
'IIM10.D
..._____·�-
��
n;�
'IM10.0
"AS_tlAPA 100"
lliM10.2
;
S )--------<
�--------
•AS
_
_
-i
n;� Fig. 8.194
• Condiciones de funcionamiento del Estado A6
;s)--------<
'IWI0.1
...__________
.AS
_
cJ
-i
1;�
Fig. 8.193
En el Estado A6 se lleva al sistema a la situación inicial, haciendo que se cumplan
todas las condiciones iniciales. Una vez alcanzada esas condiciones, el sistema
pasará al estado inicial Al y quedará totalmente en reposo.
Para que todos los elementos queden en la situacióninicial, serealizaráun pequeño
Grafcet para provocar que cada elemento alcance su posición inicial de forma
ordenada y evitar que se produzcan choques mecánicos entre ellos.
En este Grafcet se ha planteado un funcionamiento de ramas simultáneas, una para
cada manipulador de los que está formado nuestro proceso, todo y que podíamos
hacerlo también como dos Grafcet independientes.
- Al activarse el Estado A6 se pondrán en evolución las dos ramas
simultáneas, ramas correspondientes al manipulador grabador y al
manipulador de carga, que realizan las siguientes acciones.
Manipulador grabador:
La secuencia a realizar para hacer cumplir las condiciones iniciales de este
manipulador es la siguiente:
o Primero nos aseguramos de tener el cilindro marcador en la posición de
reposo para que al realizar el siguiente movimiento no haya un choque
mecánico.
o Cuando el marcador esté en la pos1c1on de reposo (arriba), hacemos
retroceder al mismo tiempo el cilindro multiposicional, tanto el cilindro
pequeño como grande.
333
Unidad 8 - Guía Gemma
334
P
'·º
1 _,,. v.l.5
"GG_ESTADO Ati"
,,11.0
"'85_c0 Ml.ll
'IIM1 1.2 PEQJcÍlO
"Af,_f.TWA 1 1 2" OENTRO"
Manipulador de carga:
La secuencia a realizar para hacer cumplir las condiciones iniciales de este
manipulador es la siguiente:
o Nos aseguramos de que no existe ninguna pieza sujeta y de que el cilindro
de la ventosa se encuentra en la posición de reposo. Si es así,
desplazaremos el cilindro del eje horizontal hacia la derecha, su posición de
reposo, y alcanzada dicha posición daremos por finalizado el proceso.
• Diseño del Grafcet del Estado AG
Mll.1 Mll.4
NO hay pieza en ventosa y ventosa está arriba ( 1 2.0 )( 1 0.4 )
M11.2
Q0.3
Multi pequeño entra Mll.S N
Q0.2
Ventosa hacia derecha
Q0.4
Multi grande entra
Mll.3 Mll.6
•1
Fig. 8.195
Finalizada la ejecución de este Grafcet, se considerará que, viniendo del Estado AS
y al ejecutarse A6, se están cumpliendo las condiciones iniciales. En ese momento
la guía Gemma pasará al Estado Al.
• Programa del diseño Grafcet correspondiente al Estado AG
.,,.,,.,
�Ati_ETAPA 1 1 1..
'IIM1 1 .0
;s
)------<
.____________.
_
M
_
_
-i
Ef��
Fig. 8.196
'111.2
"87_dO MI.TI
GAANlE
OENIRO"
Fig. 8.198
W11 .3
"Ati_ETWA 1 1J"
;s
)------<
'IIM1 1 .2
�-----·
-
Ati
_
_
.....,
ET:�
W1 1.1
..
M_ETM"A 1 1 1"
,WT.4
"89_.0
I.W<CAOOR
-·
'112.0
'IIM11 .4 "8l 1 _f1 l'ElA
"Ati_f.TWA 1 1 4" SJUA"
W11.2
"Ati_ETAPA 1 1 2"
W1 1.1
;s
)------<
.____________.,.,.,__-I
n;�
Fig. 8.197
'JW0.4
"131 _.ao
VENIUSA
-·
Fig. 8.199
W1 1 .5
"M_l'TWA l l .'.i"
;s
)------<
'IIM1 1 .4
._______-_,.,.,_-......
u:-�
·.__,
....1
'
'
"
' .
'
'
'
'
1
'
1
.
.,
'
'
'
.,
'
"
·,
,...--.._
1 .
'
'
'
'
'
'
'
'
'
1
----..
1
'
'
Segmento S:
'IW0.6
º
B3_b0
'IIM115 VENTOSA
ºA6_.ITAPA 1 1 5º DERECHAº
'IM11 .6
"A6_ETAPA 1 1 6"
.,_., ,.S
;S )---
�-----------
·
-
A6
_
_
.....,
ET;�
Fig. 8.200
'liM11.3 W, 1 .6
"A6_ETAPA 1 1 3" "A6_ITAPA 1 1 6"
Unidad 8 - Guía Gemma
IMB190.2
"/JJwaysTRlJE"
'IIM11.0
"A6_ETAPA 1 1 0"
1---.----------1s )---
Fig. 8.201
'IIM1 1.3
"A6_ElAPA 1 1 3"
1--------< R }---
'IIM11.6
"A6_ETAPA l 1 6"
'--------I R }---
En El FC20 S_SALIDAS, realizaremos las modificaciones necesarias para que las
salidas respondan a los requerimientos de los Estados AS y A6.
SegM(!nto 10:
'IIM7.0
ºETAPA 70
º
'Jl,QO.O
"Yl_BAJAR
VENTOSAº
¡---,------------------! R )---
'IIM7.4
"ETAPA 74"
1'M2.5
ºF2_€TAPA 25º
'IM3.0
ºF2_ETAPA 30º
'IM3A
"F2_El'APA 34"
'!IM9.1
"AS_ETAPA 9 1 "
""'9.5
º
AS_ETAPA 95º
Segmento 8:
""16.6
ºETAPA 66°
Fig. 8.202
'Jl,QO.O
"Yl_BA.lAR
VENTOSA
º
i---.-------------------1 s )---
'IIM7,2
"ETAPA 72"
'!IMZ.6
ºF1_ETAPA 26º
'IIM3.2
ºF2_ETAPA 32º
'!IM9.3
'A5_ETAPA 93º
Fig. 8.204
• Se�rnento 13: Mi1nipul1dor de c,rg, e:je veroul e:tearo�1lvul1 bie1teblt>.Oespla:1r" pol1t1ón de carg•
'IIM75
ºETAPA 75º
'!IM2.5
ºF2_ETAPA 25º
'JIM35
"FZ_ETAPA 35"
'IIM7.3
"ETAPA 73"
Fig. 8.203
'Jl,Q0.2
°Y3YENTOSA
A DERECHAº
>---
llQ1.0
°Y9_VENTOSA
º
1--------------------� • >---
'IM3.3
"F2_ETAPA 33"
--•
ºAS_ETAPA 94º
Fig. 8.205
335
Unidad 8 - Guía Gemma
336
,.. Segmento 11: Mlnipuledtirde c119a. e;e wri:1c,I. Electrovillvula bum.ible.o,�pk.::ara pasiciónde dncanJ• • Segmento 2: Mi1nipulodorde grebido.Ej• wrtiul.Electn:Mllvula b11!�tablec:
o
:c
,.¡c-
,n
rs
d~
, ,-.
,�
�
,-�---
llMJ.1
"ETAPA 7 1 "
'IIQ0.1
"Y2_/fNTOSA
A tzQUEROA"
'IIQ0.7
"Y8_SU81R
PIMRCADOR"
1-----.---------------1 )------< )------<
'IM3.1
"f2_ETAPA 31"
Fig. 8.206
'11,M;.5
"ETAPA 55"
'iloM6.1
"ETAPA 61"
'IIM:1.1
"F2_ETAPA 2 1 "
W10.1
"A5_ETAPA 1 0 1 "
Fig. 8.207
,.. Segmento S: M!ntput.ldorde grab.sdo.E¡e 'ertiail.e_re horucni:.lqrande- yl)'qUll!ño. Re'tnxeder 111¡u
'IIM4.7
"ETAPA 4r
'IIQ0.4
"YS_
M.lTlPOSICIONAL
GRANDE"
1--,------------------i R )------<
'IIM:1.2
"F2_ETAPA 22"
'IIQ0.3
"Y4
M,l
TlPOSICIONAl
PEQUEílO"
'liM11.2 1------------------/ R )------<
"A6_ETAPA 1 1 2"
Fig. 8.208
La indicación de que está activado el Estado D1, AS y A6 2, se verá reflejado en la
baliza con el funcionamiento intermitente rápido del piloto rojo. Para ello,
modificamos este segmento en el FC20 (S_SALIDAS).
• Segmento 19: Piloco dt- 1eñehmc1ón roto
'IIM>.O
"GG_ESTAOO A1 "
'AM:l.1 1'íM8191.5
"GG_ESTADO A2" "Ckxk:_1 Hz"
�J
'IIM1 .3 '11Ml191.2
"GG_ESTAOO D 1 ' "Clock_25Hz"
'IIM>.4
"GG_ESTAOO A5"
'IIM>5
"GG_ESTADO A6"
• Modificación del Estado AS
Fig. 8.209
Al incorporar el Grafcet A6, cuando accionemos el pulsador de emergencia, puede estar
funcionando el Grafcet del Estado A6, con lo que al entrar en el Estado AS hemos de
proceder a su inicialización. Por lo tanto, añadimos el siguiente segmento al FCS.
'-'
.
._,
'-'
�
'
�
'
'
)
)
"'
1
'
1
í
1
'
,,
1
í
VJ8190.2
"MwysTRUE"
Unidad 8 - Guía Gemma
-190.2 llM1 1 .0
"AlwayslRUE" "A6_ETAf'A 1 1 0"
�
1 ------------------<(S }--,
llM1 1 .1
"A6_ETAPA 1 1 1 "
'-----------------l( SET_BF )--
6 Fig. 8.210
• Inicialización en el OB100 de los Grafcet de los Estados AS y AG
En el OB100 añadiremos estos segmentos para inicializar los Grafcet de los Estados
AS y A6.
......0
"AS_ETAPA 90"
'YIMB190.2 W11.0
"AlwaysTRI..E" "A6_ETAPA 1 1 0"
1-----------------1 S )--
�
1 -�---------------i(S }---<
......1
"AS_ETAPA 9 1 "
1---------------i RESfT_BF )-
1M'IO.O
"A5_ETAPA 1 00"
1----------------< S )--
'IM10.1
"AS_ETAPA 1 0 1 "
'--------------{ RfSET_BF }-
2
Fig. 8.211
......,,.,
"AfJ_ETN'A l l l "
'-----------------i
( RESET_BF f-,
Fig. 8.212
• Guía Gemma de los Estados D1, AG y AS
Podemos observar que la flecha que llega al estado del D1 no tiene una procedencia
concreta. Eso querrá decir que, desde cualquier estado, si se cumple la transición
de accionar el paro de emergencia, se activará dicho estado y se desactivarán el
resto, ya que como se ha indicado anteriormente, puede proceder de cualquiera
de ellos. Al activarse este Estado D1, el proceso se llevará al llamado «Cero de
máquina», es decir, que el proceso entrará en una situación de no producción
durante el tiempo que lleve hasta que se recupere la avería, situación totalmente
indeseable en cualquier proceso productivo y que en rara ocasión se debe generar.
Si se produjera, se debe tener en cuenta en el programa para intentar tratar de
forma automática esta situación.
La Guía Gemma indica que al Estado A6 se puede acceder bien mediante el Estado
AS, al que se explica más adelante. En este caso hemos previsto que se cumpla la
condición de haber accionado el pulsador S23.
Una vez que hayamos pasado al Estado A6, se ejecutará el Grafcet de inicialización,
con lo que todos los elementos se pondrán en el estado inicial. Una vez que se haya
ejecutado el Grafcet del A6, y por lo tanto ya esté todo el sistema en su posición
inicial, pasaremos automáticamente al Estado Al, con lo cual el sistema quedará
en estado de reposo y preparado para iniciar un nuevo ciclo.
337
Unidad 8 - Guía Gemma
338
GENERICO APLICADO
A6 Al A6 M0.5
Al MO.O
FC6 FC1
Puesta del sistema en el Puesta delsistema en el
estado inicial Parada en el estado inicial estado inicial Parada en et estado inicial
Flnalluda la ejecución del Grafcet A6 Esta activada ta eta� Inicial del Grafcet A6 ( MU.O (FPJ )
Pul�r ACK PUl$i:lr ACK ( 1 3.1 (FP) )
AS AS M0.4
FCS
Preparación para la puesta en
marcha después de un defecto
Preparacíón para la puesta en
marchadespués de un defecto
P.aro de emergencia dtsenclavado P.¡aro de emergencia desenclavado ( 1 O.O )
Paro de emergencia enclavado Paro de etMrgenelaenclavado ( 1 O.O )
D1 D1 Ml.3
FC7
Parada de emer1encla Parada de emereencla
Fig. 8.213 Fig. 8.214
A continuación, añadimos al Grafcet de la guía Gemma los Estados D1, AS y A6,
con lo que queda de la siguiente manera:
M1.3
Ml4
M:l.5
Fig. 8.215
ver !cad con
J
'----'.
:
1
'
'
'
'
1
'
l 1
'
1
1
Unidad 8 - Guía Gemma
Programa en el FC0 GUIA GEMMA de los Estados D1, AS y A6
• Segmento 30: Ern1do de par•da d" e11",erg,e
c c
�
cc
;• ____�-��-�-�
'IIIO.O
� -3
El,ERGENCIA" "GG_ESTADO 01 ·
l--v
l/"1--.---------------, s }----<
'IM!.O
.GG_ESTADO A1.
1----------------< RESET_Bf }-
1 1
--•
"GG_ESTADO 02"
'-------
-
-------, R }----<
Fig. 8.216
• Segmento 32: Llu1•ada a l;r, 1ubNttr1•
:::
••
:
"
,;;:;
"'
:::
"º
::
º
::
' :::'.:��-��-�--
!"GG_ :::'
� 0 1 " •01 PARA.DA EM:RGENClA.,
� f--- EN ____ ENO ---------
Fig. 8.218
• Segmento 34: Ll•n-•d• • Wi 1ubn.rnl'¡ aiel Es�edo M
.,_., 4' '"AS PREPARAC1ÓN PUESTA
rAOOAS
EN PM.RCHA·
f--- EN ENO ---------
VA>.4
"GG_ESTADO A
S
Fig. 8.220
'113.1
"SS_PJ.SADOR 'IM>5
AOC "GG_ESTADO A6"
P t---
1 r---------i
;
S )---
'IM2.34.1
"FUNCO 34"
'IIMl.4
._
________
_
.
_
GG
_
_
,
ES:�
Fig. 8.222
•A6 PUESTA Al ESTA00 IMOAl'"
ENO -----
Fig. 8.224
'IIIO.O
-3 "SO_ 'IIMl.4
.GG_EST
AO
O AS
"GG_ESTAOO 0 1 " El,ERGENCIA"
'--
--------
-
•G
_
G
_
_E
,
�
�
-=
Fig. 8.217
'IIQS.3
,W, .3 "H1 8_ESTAOO
TAOO
t--
0
-
1"
------
-------;
01"
}----<
Fig. 8.219
• Segmento .'35:
'IIQ4.4
VA> 4 "Hl l _ESTADO
T
AO
O
I-
. _
AS
____________--{
,s)---
Fig. 8.221
• Segmento .37: EH111fode pu,�t.1dels1srie"'
-
'
-
''
-
"
-
"'
-
º ""'
-
•'
-----
F
5
1
-�- W.,, 1 .0 VA>.O
"A6_ETAS'A 1 1 0" "GG_ESTADO Al"
�=�S .__________"G
_
G
_
�
,
;::
Fig. 8.223
'IIQ4.S
VA>.S "H1 2_ESTADO
TADO
t-----
A6" ------l
A6�
Fig. 8.225
• Comprobación del funcionamiento de los estados D1, AS y A6
Para poder comprobar el funcionamiento, debemos primero transferir el programa
al simulador PLCSim. A continuación hemos de abrir el simulador 3D y visualizar los
paneles CONTROL PROCESO, GUIA GEMMA y REGISTROS.
Es importante recordar que, una vez arrancado el simulador 3D y antes de probar
nada, hemos de pasar el PLCSIM en primer lugar al estado RUN, primero pulsando
el botón STOP y después pulseando el botón RUN.
Dado que al ejecutar el programa en el PLCSim y como aún no ha conectado con el
Simulador 3D, no detecta señal de la Seta de emergencia, por tanto, entra
directamente al estado D1, pero al conectar con el Simulador 3D, éste se encuentra
339
Unidad 8 - Guía Gemma
Recuerda • • •
El estado F4 de la guía
Gemma facilita poder
manipular los
actuadores del
proceso de forma
manual e
independiente, pero
con control de posibles
choques mecánicos.
340
en la posición inicial, y detectará la señal de la Seta de Emergencia, por tanto,
pasará automáticamente al estado AS, a continuación, tan solo bastará accionar el
pulsador de ACK para que la guía Gemma pase al estado Al.
En el panel Estado de la Guía GEMMA podemos ver que en cada estado hay un
piloto, que quedará activado cuando el estado correspondiente se encuentre
activo. En la figura se observa cómo el del Estado Al está activado, de color verde,
y corresponde a la salida Q4.0 (H7_ESTA0O_Al).
Para la comprobación del funcionamiento de los Estados AS y A6, pasaremos el
proceso de forma que pueda situarse en el funcionamiento normal o estado Fl.
Ahora y en cualquier momento se podrá accionar la seta de emergencia, instante
en el que se situará en el Estado 01. Para salir de este estado y pasar al Estado AS,
tan solo se deberá hacer cumplir que la seta vuelva a estar desenclavada. La guía
Gemma pasará el control al Estado AS y se deberá observar cómo se realizan los
movimientos establecidos para poder liberar la pieza de forma que se pueda
extraer del proceso de forma manual. Para ello utilizaremos los pulsadores CARGA
y MARCADO que se disponen en el panel principal del Simulador 30.
Finalizado el Grafcet implementado para el Estado AS, se deberá accionar el
pulsador ACK, de forma que durante el flanco positivo de su activación, la guía
Gemma pasará al Estado A6.
En el Estado A6 se realizarán todos los movimientos de forma ordenada y
controlada para que no existan choques mecánicos hasta que el proceso alcance la
posición de cumplir las condiciones de inicio. Finalizado el Grafcet asociado al
Estado A6, se activará de nuevo su etapa inicial, ya que en el flanco positivo de su
activación es cuando hará cumplir la transición parapasar la guía Gemma al Estado
Al.
8.2.8 Guía Gemma del Estado F4 (Marcha de verificación sin orden)
En el Estado F4 el procesorealiza las operaciones, todos los movimientos o algunos,
normalmente debido a órdenes manuales del operador. Se suele utilizar para
funciones de verificación o de mantenimiento.
En este caso, mediante el mando manual del Simulador 30, hemos de preparar el
programa para poder forzar los diferentes actuadores del proceso. Para ello
realizaremos un programa en el que utilizaremos los selectores monoestables
(funcionan como pulsadores) para las electroválvulas biestables, uno para cada
movimiento, y los selectores biestables (funcionan como interruptores) para las
electroválvulas monoestables.
• Condiciones de funcionamiento del Estado F4
Al realizar el programa hemos de tener en cuenta:
- Los posibles choques mecánicos que pueda haber entre los cilindros. Por
ejemplo, el cilindro que contiene la ventosa no podrá desplazarse hacia la
derecha o hacia la izquierda si el cilindro no se encuentra en la posición de
reposo.
- Que al entrar en el Estado F4 no se realice movimiento alguno de ninguno
de los dispositivos, hasta que el operario dé la orden.
-----
'


'




)
'
'
'
)


,,---,
'
'
'

)
'

'
QUIERDA.
'IW0.4
·a1 _ao
VENTOSA
ARRIBA•
1------1
Unidad 8 - Guía Gemma
Podemos observar cómo en el momento de programar, las electroválvulas
monoestables están tratadas con SET-RESET y flancos positivos y negativos. Esto
debe ser así porque el control manual se realiza mediante selectores biestables.
¿Porque lo hemos de programar con flancos? Imaginemos que hemos realizado el
programa sin flancos y el S9_MANUAL VENTOSA BAJA (10.4) se encuentra
desactivado, estado de reposo del selector.
F
º
1-
ª-
"l(
----------------
�
-i
�
�
2-
'1114.0 'IIQ0.0
•59_-¡!'t -Yl _BAJ,'ft
ENTOSAI-
BIJ
_
K
_______________----i
WTOSK
. [R )-- Fig. 8.226
Si en este momento nos encontramos en el Estado Fl y en ese instante la salida
Q0.0 está activada por la producción normal, tendríamos el cilindro de la ventosa
en posición de avance. Si en este momento cambiamos del Estado Fl al Estado F4,
en el estado F4 ejecutaría el programa anterior de los dos segmentos y como el
registro 14.0 está desactivado, según lo programado en el segundo segmento, se
activaría el RESET de la salida Q0.0. Esto implicaría que la ventosa realizaría el
movimiento para alcanzar la posición de reposo, lo que significa un movimiento
considerado inesperado, ya que ha realizado dicho movimiento sin ninguna acción
manual por parte del operario. Por tanto, se comprueba que, al utilizar flancos, al
cambiar y pasar del Estado Fl al Estado F4, el cilindro de la ventosa no realizará
ningún desplazamiento.
• Programa correspondiente al Estado F4
Según la programación del manual, podríamos implementarlo en el FC20
S_SALIDAS, pero en este caso lo realizaremos en el mismo FC12 F4 MANUAL. En
este estado no se realizará la llamada al bloque FC20 S_SALIDAS para no producir
órdenes contradictorias.
Fig. 8.227
'l,Q0.1
-Y2_VENTOSA
A IZQI.AEROA"
)-------<
;�
RECHA"
'IW0.4
·e1 _ao
VENTOSA
-·
1-----i
Fig. 8.228
'l,Q0.2
"Y3_VENTOSA
A DERECHA.
)-------<
�
t-
�
-
-
---------------
�
-i
�
=· ���
N >-------------------< R }--
'IM!34.3
1.ANCO 36"
Fig. 8.229
?s� -Y9_
-:;
0SA"
P t------------------i S )-------<
'!W234.5
1.ANCO 38"
Fig. 8.231
'IM!34.4
1.ANC0 37"
Fig. 8.230
?s� -Y9_
��
0SA"
N l----------------� R )-------<
llM:134.6
1.ANCO 39•
Fig. 8.232
341
Unidad 8 - Guía Gemma
342
• Segmento 7: M11nipuledor df' gr1b1do. EJf' oemnl. •je hori:cnt1I �qudio. f.lemonlvula monoHublt> Oe,plnu
�:.L
'111.4
"B9_eo
MRCADOR
ARRIBA"
'!IQ0.3
"Y4_
t.UTIPOSICIONAL
PfQUEÑO"
P f-------i
'IIM234.7
1----------------i s )-----<
LANCO 40"
Fig. 8.233
• Segmento 9: Mlniput,dor de grabado. E.jr v,:rtiul. e}r hofi::ont1l gr1nde. EIMtroV1lvul1 monoHttble- Dnpla:Jllr e_
��-
'1111.4
"B9_eo
MARCADOR
ARRIBA"
'IQ0.4
"YS_
"-l.TIPOSICK>NAL
GRANOE"
P t-------<
"""235.,
t----------------1 s )-----<
LANC0 42"
Fig. 8.235
• Segmento 1 1 : �nipulador df' grabado. fjt- Wt11CJI. ElecuovaliJII biHtabl,: Orden dt- b1¡1r
'1114.6
"51 5_MINUAL
BAJA
MARCADOR"
'1111.0
·ss_co MJLTI
PfQUEÑO
DENlRO"
'1111.2
"B7_d0 t.UTI
GRANDE
DENTRO"
'IQ0.6
"Y7_BAJAR
MARCADOR"
1
1_�
..
1
-r
1 M..l.TI "B8_d1 MJLTI
.
UEÑO GRANDE FUERA
UERA"
Fig. 8.237
• Segmento 1 3: Cinta pi,::a,. lopH s1!id1 pn�ziu dt cona pir111s. E.l,:ctrov1lvu!1 monotsublr.Acov11toprs
'1114.S
MANUAL '!IQO.S
OPf" "Y6_TOPf"
P 1---------------------; s )-----<
'!IM235.3
LANCO 44"
Fig. 8.239
• Segmento 1 5: Motor c1nu p1e?11,
..2.7
�
I-
E'i"
_
A
_
�
_
-
_
_
�
_
,
_
º
�
--1
·:�
l-
c
t
_
zAS
_
N
_
.
_____________
��
-M.
""1::r¿
'IM235.S
LANCO 46.
Fig. 8.241
,. Segmento 17: Momrcinra p1teu ---------�•-�--------�
'1113.0
'1115.1 'F2_ 'IQ1.1
MNUAL PROTECCK>N "Kl M_WTOR
:•
�
A
L
-
E
_
r
__
"'°
_
1
_
o
;
R P
�
A
L
-
m
_
·
_____________
c
_
�
-1
TA
:�
'IM235.7
LANCO 48"
Fig. 8.243
,. Segmento 8: Manipul,dor de grabedo. fje nniul. e¡e- homonul pe-que-i,o. ElectroV1IYul1 mon0Ht1b�. Oespl1a'f-"
�{:
1Jii1.4
"B9_e0
MARCADOR
ARRIBA'
'!IQ0.3 '-.../
"Y4_
M.Jl
TIPOSICIONAI
PEQUEÑO. ,.._..,"
N t-------<
'IM235.0
1----------------I R )-----<
-...._.;
LANCO 41 "
Fig. 8.234
J
,. Segmento 10: �•nipulador de grebado. fJe vertic1I. eje hori:onal grande ftecmw11w1• monoestable. Ocspla:21r
��-
�1.4
"B9_eo
�CADOR
ARRIBA"
'!IQ0.4 '-.../
"YS_
WL���NAL
J
N f--------1
'IIM235.2
1-----------------I R j-----,
'-.../
LANCO 43"
Fig. 8.236
,. Segmento 1 2: Mlmpul1dor de gr1b1do. EJt '<tnical.Elec:tro,,,alvul1 biesubit. Orden de subir
l·s1 6
�
�
:
º
_
�
_
-
___________________
MAR
_
,.
_.
�
:-
�
� � '-.../
Fig. 8.238
,. Segmento 14: Cin11 p1e.:u TopH utidt pie.:u dt: c:onu piezas Elcc:�111l11ul1 monoutablt.Ac:tiVartopu
�UAL '!IQO.S
OPf" "Y6_TOPf" '-.../
N l---------------------i R )-----<
'IIM235.4
NCO 45"
Fig. 8.240
,. Segmemo 16: Motorcinu piuu
'1115.0 'IQ2.0 -...._.;
"S 1 7_Mo.NUAL "K2M.J1,0TOR
t,OTOR �EZAS" C
�
TA �EZAS"
N l--..-------------------; R )-----< �
'IM23S.6
"FLANCO 47"
'1112.7
"fl_
PROTECCION
MJTOR PIEZAS"
,. Segmento 18: Motor cinu ptleu.
Fig. 8.242
'1115.1 'IQ1.1
'51 8_MANUAL 'K1 M_MOTOR V
WTOR PALEr CINTA PALEr
N i--�-----------------{ R )-----<
J
'!IM236.0
"FLANCO 49"
'1113.0
"F2_
PROTECCION
MJTOR PALElS"
Fig. 8.244
)
)
)
Unidad 8 - Guía Gemma
'IMB190.2 'lfM.O 'IIMl190.2 __,
"AlwaysTRUf" "ETAPA 40" "AlwaysTRUf" "ETAPA 41"
>--�-------------------1 s }--------< r--r------------------1 RESET_BF r
30
F1
'INl.1
.ETAPA 77•
r------------------1 s }--------<
'IIMl.2
•ETAPA Br
'------------------1 s }--------<
Fig. 8.245
• Guía Gemma con el Estado F4
'IIMI.D
"ETAPA BO"
r-----------------1 RESET_BF r
'IIMl.3
"ETAPA 83"
'-----------------¡ RESET_BF r
Fig. 8.246
Para la implementación del estado F4 Marcha de verificación sin orden de la guía
Gemma en el PLC, nos fijaremos en la guía Gemma general representada en el
apartado 8.1.2. En ella se observan las diferentes transiciones de activación y
desactivación de este estado:
GENÉRICO
Fig. 8.247
-·­
·-..
...FS
F1
APLICADO
Fig. 8.248
�·---­
_,.._
SMIIUI
F4
FC12
FS MU
FClS
o Como podemos observar, podremos acceder al Estado F4 desde otros tres
estados, el Al, el Fl y el FS, explicados anteriormente.
o Estando en cualquiera de estos tres estados, si accionamos el pulsador S20,
activaremos ese estado y desactivaremos el estado del cual procedemos.
A continuación, añadimos al Grafcet de la guía Gemma el nuevo estado
incorporado, el Estado F4:
343
Unidad 8 - Guía Gemma
p·º
1
,_"
344
..5.3
·s20·
1
MO.O
M0.6
M0.1
Ml.3
M0.4
FCO
Parada en el estado lnlclal
FCll
Marcha de cterre
Orden de
marcha de
cierre
N FC7
Parada de emergencia
Orden de marcha de
verificación sin orden
MO.S
Ml.l
Fig. 8.249
Orden de marcha y NO cumple
M0.7 N
��!�a de preparación
Finalizada la ejecución de! grafcet de F2
Auto / Man en ON
Orden de puesta del sistema en
estado inicial
Au10/ Man en ON
Orden de marcha de
verificación sin orden
Ahora, y tal comohemosindicadoanteriormente, cuando estén activados cada uno
de los estados de la guía Gemma, tendremos activado un piloto en el panel de la
guía Gemma del simulador 3D. En este caso hemos añadido el del Estado F4.
• Programa en el FCO GUIA GEMMA
El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede
implementado el estado F4 con las entradas y salidas se indica a continuación. Se
añadirán además los segmentos 46 y 47, donde se inicializa el Grafcet
implementado en los estados Fl y FS, por si se diera el caso de que la activación del
estado F4 procede de uno de ellos:
...,_,
"
GG
_
E
STAOO F4•
• Segmento 41; E.5-tado de wrifíc,�ión J.in orden
p··
...,_,
"GG_ESTAOO F4"
;s}------<
'!IMl.O
____________
'
G
_
G
_
_
-,
E5T
�
1 ,_,,. ;s
}------<
'!IMl.6
____________
•
G
_
G
_
_
--,
E5;�
Fig. 8.250 Fig. 8.251
'
1
'
1
1
1
1
'
'
'
'
1
'
1
'
1
'
'
'
Unidad 8 - Guía Gemma
• Segrnento 42: ftt11dodr venlitaci6n ,in o
_
"'•
-
•-------
1'1M1.2 '115.3 IIM't.1 __,
"GG_ESTADO F4"
'IMJ.S
"GG_ESTADO A6"
-GG_ESTADO Fs· ·s20· "GG_ES1ADO F4"
� f-
1 �---------l
;
S )------<
'IMl.2
�--------º
-
GG
_
_
-<
ES:�
;
s )------<
...,_,
.__________·
_
GG
_
_--i
m�
Fig. 8.252 Fig. 8.253
• Segmento 44: Uamad•
=
• '=
"=
"'=
ru>=
••
::;;
'"'
;;;
':;;
'm;:::
do=
f4====,----
1 "GG__::
� F4"
P
'!IQS.
1
W'l 1 "H1 6_ESTADO
TADO
,_
· _
F4
_
" _____________,F4")------<
1 f--- E_
N _______
EN�
O ---------
Fig. 8.254 Fig. 8.255
Tal como hemos comentado anteriormente, en el FC12 F4 MANUAL realizaremos
el programa de funcionamiento de las salidas. Como las salidas no se pueden
repetir, hemos de hacer que, mientras se encuentre activo el Estado F4, no se
ejecute el FC20 S_SALIDAS. Para ello realizaremos la siguiente modificación en el
programa del segmento 2 del bloque de organización 0B1.
• Segmento 2: Uom•d• ol FC.20 Solidas
"IMl.1
'GG_ESTADO f4' 'S_SAI.IOAS"
--◄
�
,,
A
,__-<>- EN ENO ---------------_,
Fig. 8.256
Por otro lado, elpiloto amarillo de la baliza ha de señalizar de forma fijasiestá activado
el Estado F4, y de forma intermitente si el disyuntor de alguno delos dos motores está
disparado, dando prioridad en la señalización al disparo de los disyuntores. Para ello,
dentro del FC12 (Estado F4)programaremos el siguiente segmento:
• Segmento l9: f'lloto de ¡rñalbtt16nam
_
,n1
_
1o
___________�
'112.7
"Fl
PROlECCJON
WTOR PEZAS"
..U3.0
·n_
PROTECCION
UJTOR PAUlS"
'JIQ2.1
"HO___.AtN.RUO"
,_____, 1-
J
�-----------<( )--
'112.7
"f1_
PROTECCK>N 1JiMl;191 S
,__
""
_
m
....
•
,.
PEZ
_
AS
_
· _·
_
c1oc ....
k...1 Hz·
'JIIJ.O
"f2_
PROTECCION
U'JTOR PALm"
Fig. 8.257
Si nos encontramos en el Estado F4, para salir de él hemos de accionar el pulsador
S23. Entonces la guía Gemma pasará a situarse en el Estado A6, que ya había sido
utilizado anteriormente cuando pasaba del Estado D1 al AS y de este al A6.
Entonces se realizó un diseño del Grafcetconlo necesario hastaese momento, pero
ahora deberá ser más completo, puesto que desde el mando manual, Estado F4, el
proceso se puede haber quedado en cualquier posición.
• Condiciones de funcionamiento del Estado A6
Al activarse el Estado A6, cuando viene del Estado F4, se pondrán en evolución las
dos ramas simultáneas que corresponden al manipulador grabador y al manipulador
de carga. Realizarán las siguientes acciones.
345
Unidad 8 - Guía Gemma
346
Manipulador grabador:
Tenemos una solo secuencia que funcionará de la siguiente forma:
- Primero subirá el cilindro marcador para que, al realizar el siguiente
movimiento, no haya un choque mecánico.
- Cuando el marcador esté en la posición de reposo (arriba), hacemos
retroceder al mismo tiempo el cilindro multiposicional, tanto el cilindro
pequeño como el grande.
Manipulador de carga:
Tenemos unas secuencias alternativas y, por tanto, pueden ocurrir dos cosas:
- Secuencia 1: que haya pieza sujeta por la ventosa.
- Secuencia 2: que NO haya pieza sujeta por la ventosa.
Secuencia 1:
- Si la pieza está sujeta por la ventosa, el cilindro del eje vertical con la
ventosa deberá ir a la posición de reposo (arriba).
- Cuando el cilindro del eje vertical con la ventosa se encuentre en la posición
de reposo (arriba), mediante el eje horizontal, la ventosa se desplazará
hasta alcanzar el eje horizontal la posición de avance (izquierda), además
de poner en funcionamiento el motor de palets.
- Cuando el cilindro del eje horizontal se encuentre en la izquierda y se
encuentre un palet en la zona de carga, entonces, el cilindro del eje vertical
con la ventosa descenderá a su posición de trabajo (abajo).
- Cuando el cilindro del eje vertical con la ventosa se encuentre abajo, se
desactivará el vacío de la ventosa para liberar la pieza.
- Cuando se haya liberado la pieza, lo que se detectará mediante la ausencia
de vacío, el cilindro del eje vertical con la ventosa volverá a su posición de
reposo (arriba).
- Cuando el cilindro del eje vertical con la ventosa se encuentre arriba, el eje
horizontal se encargará de desplazar la ventosa hacia su posición de reposo
(derecha) hasta alcanzar el detector de la derecha.
Secuencia 2:
- Si no hay pieza sujeta por la ventosa, el cilindro del eje vertical volverá a su
posición de reposo (arriba).
- Cuando el cilindro del eje vertical de la ventosa se encuentre arriba, el eje
horizontal se encargará de desplazar la ventosa hacia su posición de reposo
(derecha) si es que no lo está.
• Diseño del Grafcet del Estado A6
Este Grafcet se basa en un diseño de bifurcación en Y, donde intervienen dos ramas
que funcionarán en paralelo, una para el manipulador de grabado y la otra para el
manipulador de carga.
J
J
J
'
í
'
'
'
í
'
'
'
1
'
'
Unidad 8 - Guía Gemma
MU.O
NO My pleia en ventosa { l 2.0 )
Mll.S R
Q0.0
Sube ventOS,1
0.4
Mll.6 N
Q0.l
Ventosa h.icl1 1zqu1erd;i
s Q0.0
Ventosa baja
1.0
Ml2.l R
Q0.0
Subeventosa
Ml2.2 N
Q0.2
Ventosa hacl, óerec;ha
Fig. 8.258
Una vez el sistema se encuentra cumpliendo las condiciones iniciales, el control de
la guía Gemma deberá pasar de forma automática al Estado Al, deteniéndose el
proceso en su estado inicial.
• Modificación del programa del Estado A6
.,. Segmento 1: INfCJOl!,lfUflCAOÓNEN "r ""lli.C1Ófl tap.111 yt>a¡,, lUydtUt?Jo1Ó6neuip1 110..
4'M11.0 'IM>.S
"A6_E1APA 1 1 0" "GG_ESTADO M"
"'-t11.1
"A6_f:TAPA 1 1 1"
¡---,--------------; s )------,
'IM11.4
'A6_ITAPA 1 14"
f-------------< S )--
'IM11.0
'A6_fTAPA 1 1 0"
�-----------�,>--
Fig. 8.259
• Segmento 2:
"""1 1.1
"A6_ETAPA 1 1 1 "
.., .4
"B9_eo
"""CADOR
ARRIBA"
"""11.2
"A6_ETAPA 1 1 r
'IM11.1
;
s
}----<
�-------------
A.6_-.....
n;�
Fig. 8.260
"" Segmento 3: MAN!PUUOOROf GAABADO. Activeción et1p1 113 ydeuctiv1cion e11pa
_
1
_
12
_
.____
_ .,.. Segmento 4: MAUJPULADORDE CAAGA. Arm1c16n et1p1 1l5 ydes1cnv1ción
_
,
_
.,
_c_
P•
-
'
-
"
-
·---�-�
"""1 1.2
"A6_ETAPA 11 r
1'11.2
"87_dO M.ll.Tl
GRANDE
DENTRO"
Fig. 8.261
"""1 1.3
"A6_ITAPA 1 1 3"
;
s
}----<
"""11.2
�------·A.6_
-...,n;�
"""1 1 .4
"A6_ETAf'A 1 1 4"
lll0.4
·e,_ao
VENTOSA
ARRIBA"
"""115
"A6_ETAPA 1 1 5"
""'1
1
.-4
;s
}----<
.____________·_
A.6__-(n;�
Fig. 8.262
347
Unidad 8 - Guía Gemma
348
• SegrtJl!'nto S:
ir.M'l 1.5
"A6_f:fAPA 1 1 5"
..., 1.7
"A6_ETAPA 1 1 7"
'IM12.1
"A6_ETAPA 1 2 1 "
'IW0.4
·e1 _ao
VENTOSA
-·
'IW0.5
"B2_a 1
VENTOSA
!,BAJO
º
'IW0.4
"B1 _ao
VENTOSA
-·
'IM11.6
.A6_ETNA 1 1 6.
..., 1 s
;
s )---
.____________
·M
_
_--i
fT:�
Fig. 8.263
...,2.0
"Aó_HN'A 1 20"
""1 1 .1
;
s )---
'--------------
""_---l
rr:�
Fig. 8.265
...,2.2
"A6_fTAPA 1 2r
W12.1
;s )---
'--------------
""---1
fT:�
Fig. 8.267
..., 1 .6
"AfJ_ETAPA 1 Ht
'IW0.7
"84_b1
VENTOSA
IZQUERDA"
..2.0
'rDM1 1 .7
"Afi_ffAPA 1 1 ,
-
..., 1.6
;
S )----
.____________
.
_
M
_
_
--I
ET:�
Fig. 8.264
...,2.0 "B1 1 _f1 PIEZA ...,2.1
"A6_ETAPA 1 20" SUJETA" "A6_ffAPA 1 2 1 "
1/1--------------'
; S )----
...,2.0
.____________._
""
_-_,
ET:�
Fig. 8.266
• Se9m�nto 1.0: MVJIPULJD()ROf �lw::tiv.Ki6n �w.pa 1 Zl yd.e•;JClNdcfÓn i!!i:.lpa
_1
_
2
_
2.______
...,2.2
"Af5_ETAPA 1 22"
'IW0.6
"BJ_bO
VfNIOSA
DERECHA"
...,2.3
"M_HAPA 1 23"
..., 2.2
;s )----
.____________
·M
_
_
--I
ET:�
Fig. 8.268
• Segmento 11: MINIPUI.ADC)ROE c:.AAl�Activ.1,:ión �wpa 1 .U yd1m1ctNlción�,.,p.1
_
1
_
1
...c
•·------'
'JIM1 1 .4
"A6_f:fAPA 1 1 4"
1
IJW2.0 'liM1 1.3 W12.3 'IIM8190.2
"B1 1 _f1 PIEZA ...,2.1 "A6_ETAPA 1 1 3" "Añ_ETAPA 1 23" •Alw<ly,111JE"
%"'11 1 .0
"A6_ETAPA 1 1 O"
'-----------'S )---
SUJETA" "A6_ETAPA 1 2 1 "
�1i--------r---------l
;S )----
..., 1 .4
'------------
·M
_
_
....¡
ET:�
Fig. 8.269
W1 1.3
"A6_ETAPA 1 1 T
1--------I R )---,
W12.3
"M_HAPA 1 23"
'--------I R )---,
Fig. 8.270a
• Modificación del Estado AS y del 08100
Al incorporar el nuevo Grafcet de A6, podemos ver que, sin contar la etapa inicial,
tenemos un total de 11 etapas. Por lo tanto, modificaremos el segmento 16 del FCS
y el segmento 7 del OB100, con el fin de modificar la instrucción RESET_BF para
que, en lugar de resetear seis etapas, se reseteen 11.
FCS 0B100
-190.2 'IIM1 1 .0
"Alway,1RUE" "Af,_ETAPA 1 1 o·
�
1 -----------------i(S )----<
%M'l 1.1
....,J
'!1,M1 1 .1
"A6_ETAPA 1 1 1 "
"M_ETAPA 1 1 1 " '-.,,,/
'-------------------l
( RESET_Bf }-<
1 1
Fig. 8.270b
'------------------l
(RESET_Bf )-<
Fig. 8.270c
1 1 '-../
'
'
)
'
)
'
'
'
'
'
'
'
'
'
'
'IIM4.3
"ETAPA 43"
--•
"ETAPA 46.
'IM5.5
cTAPA 5S
__,
-e-TAPA 6 1 •
'IIM2. 1
"f2_ETAPA 21 "
'l,M10.1
"AS_flAPA 1 0 r
....,,_,
.A/j_flN'A 1 1 1 •
'!IM7.1
"ETAPA 7 1 •
"""3.1
"f2_ETAPA 31"
--•
"A5_ETAPA 96"
....,,_.
•A6_ETAPA 1 1 6.
'!IMJ.3
"ETAPA 73"
• Modificación del programa del FC20 S_SALIDAS
""'·º
"ETAPA 70..
Unidad 8 - Guía Gemma
--º
-YI _SA.Wt
�TOSA.
,--�-----------------IR )--
Fig. 8.271
Fig. 8.273
'IQ0.1
-Y2_VENTOSA
A IZQI.ERDA"
'IIQ1.0
"Y9_VEN10SA"
--•
"UAPA 74"
""'1.5
,=2_ETN"l 1S
......
"Fl_ETAPA JO"
""'11.5
"A6_ETAPA 11 '5"
--•
"ETAPA 66"
Fig. 8.272
'IIQO.O
-YI _BAJAR
VENroSA·
,-.------------------1s )--
,.,,,,_.
"F2_€TAPA .20"
'IM'l.3
"AS_ETN"A 9T
V..1 1.7
"NJ_'ETAPA 1 1 r
Fig. 8.274
1---�-----------------IR )------,
'!IMJ.5
"ETAPA 7S'
'IQ0.2
'Y3_V!cNTOSA
A OERECHA"
"""3.3
"f2_ETAPA JT
--•
"A5_ETN'A 94"
'l,M12.0
"Af:J_ETN'A 1 20"
Fig. 8.275
'IIM2..5
9f2_ETAPA 25"
"""3.5
"f2_ETAPA JS
'l,M12.2
•M_ETAPA 1 22"
Fig. 8.276
349
Unidad 8 - Guía Gemma
350
Control del proceso
• Comprobación del funcionamiento del estado F4
Para poder comprobar el funcionamiento, debemos primero transferir el programa
al simulador PLCSim. A continuación, hemos de abrir el simulador 3D. Pulsaremos
los botones CONTROL PROCESO, REGISTROS, MANDO MANUAL y GUIA GEMMA,
y con ello se nos abrirán los tres paneles que necesitamos para probar el ejercicio.
Es importante que, una vez arrancado el Simulador 3D, antes de probar nada, en
el PLCSIM primero pulsemos el botón STOP y después pulsemos el botón RUN.
Por el mismo motivo que se indicó para comprobar los estados D1, AS y A6, es
convenienteaccionarelpulsadorde ACK alejecutarel simulador 3D para posicionar
la guía Gemma al estado Al.
Mando manual Estado de la Guia GEMMA
(1 IJ ■r. ���
EMER�CA PARO MARO.A AUT!MAN ACK MI
11 1111 ■ 11<
Fig. 8.79 Fig. 8.277
Fig. 8.101
Al pasar el PLCSim de STOP a RUN, en el panel Estado de la Guía GEMMA, se
observará cómo el sistema se ha iniciado desde el Estado Al y muestra en verde su
piloto asociado que corresponde con la salida Q4.0 (H7_ESTADO_Al).
Ahora podemos pasar el control de la guía Gemma directamente sobre el Estado
F4 para conseguir el control totalmente manual del proceso. Para ello, basta con
accionar el pulsador S20. En este estado podemos provocar la activación de
cualquiera de los actuadores que intervienen en el proceso, como son las
electroválvulas que controlan los diferentes cilindros y los motores.
También podemos entrar al Estado F4 desde el Estado Fl o el FS. Lo que podremos
observar en ese caso es que, al entrar al Estado F4, no se produce ningún
movimiento en los cilindros hasta que actuamos manualmente sobre ellos.
Para salir del estado F4 no necesariamente hemos de desactivar los actuadores
sobre los que se ha ido trabajando de forma manual, sino que al accionar el
pulsador S23, el control de la guía Gemma pasará al Estado A6, que precisamente
se encarga de colocar el proceso en condiciones de inicio, realizando para ello
movimientos en orden para evitar posibles choques mecánicos.
8.2.9 Guía Gemma del Estado D2 (Diagnóstico o tratamiento
de los defectos)
La guía Gemma también tiene en cuenta estados para la detección de averías y el
posterior tratamiento que se le debe dar a cada una de ellas. En nuestro proceso
vamos a poder provocar, mediante el panel «Averías en el proceso» del Simulador
3D, diferentes averías simulando fallos en distinto actuadores y sensores.
En el Estado D2 se intenta, de forma automática, determinar las causas del defecto
o la avería. En la guía Gemma que hemos planteado, pasará al Estado D2 de forma
automática desde cualquier estado en el que se encuentre y en el que sea
detectado algún defecto o avería.
J
J
1
1
1
1
'
1
1
1 ,
)
'
1
)
'
1
�
�
1
)
'
1
1
1
1
�
'
'
"
,
�
Recuerda • • •
El estado 02 de la guía
Gemma controla los
aspectos relacionados
con las diferentes
averías producidas
durante el
funcionamiento del
proceso, informando
para ello al operario
del error producido.
Fig. 8.278
Fig. 8.279
Fig. 8.280
Fig. 8.281
Fig. 8.282
Fig. 8.283
Fig. 8.284
Fig. 8.285
Fig. 8.286
Fig. 8.287
Fig. 8.288
Fig. 8.289
Fig. 8.290
Unidad 8 - Guía Gemma
• Condiciones de funcionamiento del Estado 02 (FC23 DETECCIÓN AVERÍAS)
Para la detección de averías crearemos un nuevo bloque de programa, FC23
DETECCIÓN AVERÍAS que, como ya hemos indicado anteriormente, será ejecutado
siempre para poder detectar las averías que se produzcan en el proceso,
independientemente del estado en el que se encuentren.
En este bloque incluiremos un programa para la detección de posibles defectos o
averías, y siempre que se detecte alguna, se activará el Estado D2, que mediante
un programa deberá localizar el defecto o avería que se haya producido.
En la siguiente tabla se muestran las averías que se pueden provocar al accionar el
correspondiente interruptor, así como el significado de la señalización y el registro
asociado a activar para mostrar su visualización cuando haya sido detectada la
avería:
Componente gráfico
Registro visualización Función asignada
avería
� Avería «EV cilindro eje horizontal»
Y2: M7100.0 Y3: M7100.l
� Avería «Detectores cilindre eje horizontal»
B4: M7100.2 B3: M7100.3
� Avería «EV cilindro eje vertical»
Yl: M7100.4
�� Avería «Detectores cilindro eje vertical»
B1: M7100.5 B2: M7100.6
� Avería «EV cilindro multiposicional pequeño»
Y4: M7100.7
� Avería «Detectores cilindro multiposicional
B5: M7101.0 B6: M7101.1 pequeño»
� Avería «EV cilindro multiposicional grande»
YS: M7101.2
�
� Avería «Detectores cilindro multiposicional
B7: 7101.3 B8: 7101.4 grande»
�� Avería «EV cilindro marcador»
Y7: 7101.5 Y8: 7101.6
� Avería «Detectores cilindro marcador»
B9: M7101.7 B10: M7102.0
�!!l Avería «EV cilindro tope»
Y6: M7102.l
�21 Avería «Detectores cilindro tope»
B12:M7102.2 B13: M7102.3
��
Avería «EV vacío» o «vacuostato»
Y9: M7102.4
351
Unidad 8 - Guía Gemma
352
.., Segmento ':
• Diseño del programa del FC23. DETECCIÓN AVERÍAS.
El programa utilizado para detectar las posibles averías que se puedan producir se
encontrará en FC23 DETECCIÓN AVERÍAS.
Crearemos tres bloques parametrizables:
• FBl DETECCIÓN AVERÍA BIESTABLE.
• FB2 DETECCIÓN AVERIA MONOESTABLE.
• FB3 DETECCIÓN AVERÍA VENTOSA.
La estructuradelbloque FBlqueserviráparadetectar averías enlaselectroválvulas
biestables tendrá la siguiente declaración de variables:
#í!E>M'O
AIIERIA 1"
TON
DETECCIÓN AVERíA BlESTABLE
Nombr� Tipo de dfltM
1 <JI • �
2 <!! . OROENEV+ Bool
<lJ . OROEN EV- Bool
" -O • DETECTOR al Bool
<!! • DETEC
T
OR a0 Bool
-O • ACK Bool
7 -O • TIEMPO Tíme
-O . Ou1pUt
AVERÍA Bool
IEC_T
I
MER
h -O ■ ► TIEMPO AVERÍl 2 IEC_TIMER
Valor pn�det.
�atse
false
fals.e
false
�a1SE-
T:tQ,ns
fa :iP-
,: -O • AUXJUAR AVERL- Bool fi!j faisE>
Fig. 8.291
.. Segmento 2:
#"AUXlt..lAR
Rernanfflci& Ac.c.esible d__ Visible m _ Valor de .,_
No remane_ Q
No remane_ Q
No remane_
No remane_
Nocemane_
Noremane_
No remane_ '11
No remane_ Q ri1)
No remane_ Q titJ
No rem_ G
.__-=
Q
==-
--=
Stl
'-_..;;
D
=-
-
#"ORDEN EV+" #"DITECTOR a 1" Tme AVERÍft
���
K ------------------I
AA:�
I------------Vl w o----�--i s}--
1111E>M'O PI El
Fig. 8.293
#i!E>M'O
AVERIA 2"
TON
#"ORDEN EV-. #"DETECTORao· Tme
f----------1/1- w Q ----�
1111E>M'O PI El
Fig. 8.292
Para detectar las averías, primero programaremos un temporizador que tendrá
como preselección un tiempo un poco superior al que necesita el cilindro en hacer
el recorrido completo. A partir de ese momento, si no se cumplen las condiciones
de desconexión del temporizador, este provocará la activación del bit #AVERÍA.
Una vez solucionada la avería, y accionando el pulsador ACK, resetearemos el bit
de #AVERÍA.
Cuando activemos la entrada #ORDEN EV+ o la entrada #ORDEN EV-, el bit
#AVERÍA se activará por dos circunstancias:
• El cilindro avanza y el sensor de detección de la posición de avance se
encuentra averiado. En este caso, cuando transcurra el #TIEMPO previsto
para su desplazamiento total, se activará el bit #AVERÍA.
J
1
'
'
1
'
'
1
'
1
'

Unidad 8 - Guía Gemma
• La bobina de la electroválvula está estropeada, con lo que el cilindro no
se desplazará y, por tanto, tampoco se activará el #DETECTOR al. Esto
provocará que el temporizador #TIEMPO AVERÍA, al transcurrir su tiempo
preseleccionado, active el bit #AVERÍA.
La estructura del bloque FB2 que servirá para detectar averías en las
electroválvulas monoestables tendrá la siguiente declaración de variables:
DETECCIÓN AVERfA �NOESTABLE
"°"'"'' Tlpodtdnos '.tlorpredff. �tn-•• A,tni�ird 'l/11<1lleff' Yalc,r dt t
<l • .,,.
.,. OQOEHEV• Bool ...,, Noremane- B B
-O . OfTECTCJla1 Bool .... No remene- B B
<J • 0fTEOORa0 Bool t.l'.•e Non!ITi,nt- !1l B
-O . ACK Bool ... Norwrmne- B B
<> • TI<MPO '""' .,,,,. Norermne- B ª
<l . """"'
<> . AVERl< Bool ·- NorerNne- B B
., . '"""'
I• c;J11Jf1:;i� r.1 [·
i -0 ..,. 5tatl(.
<> . .TIEMPOAVEIÚA 1 IECTIMER NOll'm,¡¡nt- B B
<J • .TIEMPOAVE�2 IEC_TIMEII No remane_ B B
<J • M.OQUAIIAVEIÚA Bool No re!Nne- B !1l El
Fig. 8.294
., Segment
_
o_
l,_____ • Segmento 2:
#"TIE!,f'O
AVERÍA l "
TON #"Al..JXUI.R
,roRDEN Ev+· #"DETECTOR a l " Tine AVERÍA"
I--------VI--� Q -
----
r----t S )-
-
�.,_
• _________________
•
A
_,
V
:�
#llH.f'O Pi
#IIE�
El -
AVERIA 2"
TON
#"ORDEN EV+. #"DETECTOR ao· Tlme
1--1/f-
-
--�/I--- � Q ----�
#TIEM'C> -PT ET '"
Fig. 8.295
Fig. 8.296
Podemos comprobar que la unica diferencia entre el FB1 y el FB2 es que, para
indicar que el cilindro retrocede en el caso de la válvula biestable, hemos de definir
una variable de entrada #ORDEN EV -, mientras que cuando tenemos la válvula
monoestable, el retroceso vendrá representado por un contacto negado de
#ORDEN EV+.
La estructura del bloque FB3 que servirá para detectar averías en las ventosas
tendrá la siguiente declaración de variables:
• Segmento 1:
OE.TECOÓN AVERÍAVENTOSA
ko,tlbft, Tipodrd1:01 Worp,ftlet. i;fmt"P'(,_ Jt,ttnabl.- d V<Jlk:lt tn 1,ot d1'1
-O • ....
<l ■ OROENVUflOSA,.. 8oot ftlff
<l • DETEOORVACIO &oot f;fH
<J • TIEMPO
Cl • ACK
.A¡ l.'I 1,
o • °"""
<:I • AVl!Ú4 - �--
ICC_TIMER
Fig. 8.297
.. Segmento 2:
Norem.ne- ¡;;¡ B
Nor�ne- � ,11
NOA!l'l1ilne- �
Norem- EJ
g¡ B
Nor111m.-,-_ B B
P
R
OEN
#"DETECTOR
t"llE�:
VERÍA
"
OSA +" VAC.o· Time #AVERIA
1-------------V w o ---------1 s )--
�
�.,_
K _________________
•
__,
A��
mEtNO PT ET- -
Fig. 8.298 Fig. 8.299
A continuación, dentro del FC23, introduciremos el programa para detectar las
averías que se puedan producir en cualquier cilindro y en la ventosa.
353
Unidad 8 - Guía Gemma
354
-of'TECOÓN A.VffttA atESTAIIU"
1-------- rn
>Q0.1
'Yl_vt:NTOSAAIZQl.lEPl)A"-0ROEN fV,¡.
>Q02
"Yl_VENTOSAA DUI.ECHA"-OROEN EV·
....,
"84_bl VENTOSA 12QUIEJIOA"-OfTECTOR e1
.....
'lll_l)C)VENTOSA.()[llfOV-0ETECT0ft.t0
"3.1
"S5_1'lLSADOR K.�-ACI{
T#6S TEM'O
Fig. 8.300
'IID88
"AVERÍA EN VENTOSA"
ENO -------
'IM1102.6
AVERfA-"AVf!llACU.DflO HORIZONTA
"OETECCKlN AVERÍA VENTOSA•
1------- EN EN0 ----­
�103.0
AVERfA -t"AVERf!i VENTOS,
11<)1.0
-Y9_VENTOSA"- ORDEN VENTOSA +
..2.0
"B1 1_f1 P'IEZA SWETA" - OffiCTOR VACO
1#2S · lU,.f'O
'1113.1
"SS_Pll5ADOR AO:' - ACK
Fig. 8.302
�-------- EN
-.3
"Y4_MA.Tf'OSCIONAL PEQLEÑO"- ORDEN EV+
'!Ul.1
086_c1 M.t.TI PEQLEÑO flE.M"- orncTOR at
"'·º
"85_CO w..l.Tl PEQl,EÑO DENTRO"- DETECTOR aO
"3.1
'S5_f'U..SI.DORA0C- AC.K
TtlM!i-TEM'O
'IDll10
"AVElllfl EN MJ..TI PEQLEÑO"
Fig. 8.304
• Segmento 7: GAAe,00.0El'ECOÓN AIERfAEN CJUNDRO TOl'f
'1<>812
"AVERÍA EN TOPE"
ENO ------
W7103.2
AVERfl.-"AVERfA M.I.TI PEQLEÑ
'"DETECCIÓN AVENA M:>NOESTABLE"
�------- EN
'!IQ0.5
"Y6_TOPE" - ORDEN EV+-
'!112.2
"B1 3_gl TOPE DEl.ANlt" - DETECTOR al
'112.1
"B1 2_g0 TOPE A"TRAS" - DETECTOR aO
'113.1
"S5_PU5ADOR ACI<:' - ACK
112S · lE�
Fig. 8.306a
EN0 ----
1M1103.4
AVERÍA -•AVERfA TOP
..,.,
"AVERÍA EN CUIDRO VERTIC,J,:
"DETECCIONAVENA M)N()(STABLE"
1-------- EN
'IQO.D
ay1_BAJAA. VENTOSA'- ORDEN EV+
...5
·e2_a1 VENTOSA MAJOº
- DETECTOR a1
.....
·e1_ao VENTOSAAMIII,.- DETECTORaO
"'3.1
"S5_PU.5AOOR ACr:- ACK
T#3S- TIEU"O
Fig. 8.301
• S�meoto 4: �J>ftfC<lON AVf..Ñ'-lNCIJNtlllD �
ENO ------­
'IM1102.7
AVERfA-"AVERfACl.J,,IOftO VERTICA
"AVEftÍA EN �ORO �Rº
•DETECCIÓN AVERl'.A BIESTABlf"
1-------- EN
'IQ0.6
'Y7_BAIAR �R' -ORDEN Ev+
"<)0.7
"Y8_SUBI �--OROEN fV·
"15
·e1o_t1 lo.WKAOOR ABNO"- DETECTOR al
..,.4
"B9_ta MAJKADOR ARRIBA."- orncroR ao
"'3.1
"S5_Pl..l.SADOR ACK"- ACK
1"2S-TIEM'O
Fig. 8.303
'IDll11
"AVfftl, EN �TI GRANDE"
"DETECCIÓNAYEAiA MONOESTA8tr
1--------- EN
-··
"Y5_M.1.Tf'OSOONALGAANOE"- ORDEN EV+
"1.3
"tl8_dl M.l.TIGMNOE fl.f.RA"- DETECTOR al
'"�
'"87_d0 w:n GRANDE OENTRO"- OETECTOR ªº
....,
"S5_1USN>ORKX-ACK
TOS �-,o
VA/102.6
"AVERÍA Cl..fllDRO HORIZONTALº
'».0102.7
"AVERÍA CILNORO VERTICAL•
""'1103.0
"AVERÍAVENTOSA"
W7103.l
"Al/ERÍA MRCAOOR"
'AM7103..2
"AVERÍA M..LTI PEQl.Efro"
'IIM7103.3
"AVERfA M.l.TI GRANDE"
IIJiM710l.4
"AVERÍA TOPE"
Fig. 8.305
Fig. 8.306b
EN0 ------
""7103.1
AVfftÍA-º
AVERiA MW:ADOf
EN0 -----­
"-«7103.3
AVERfA-"AVERfA MATIGMNOE
'JIM'.7102.5
"HAY AVERfl"
}-----<
Como la detección de averías se tendrá en cuenta en cualquiera de los estados en
los que se encuentre el proceso, llamaremos el FC23 de forma incondicional desde
el 0B1. Por tanto, en este bloque 0B 1 debemos añadir el siguiente segmento.
'
'
'
'
'
1
1
• Segmento 1:
Unidad 8 - Guía Gemma
• Segmento 5:
1 •oETECCIÓN AVERÍAS•
r EN ENO --------------
Fig. 8.307
• Diseño del programa del Estado 02. FC8 DIAGNOSIS AVERÍAS
Una vez que en la guía Gemma se haya detectado cualquier avería, se activará el
Estado D2 y se desactivarán los demás estados. Dentro del Estado D2 se realizará
una diagnosis detallada de cada uno de los cilindros y ventosas que contempla
nuestro proceso. Eso nos permitirá conocer si la avería ha sido producida por el
fallo de un sensor o porque una electroválvula se ha estropeado.
La diagnosis la realizaremos mediante el uso de tres bloques diferentes
parametrizables:
• FB4 DIAGNOSIS AVERÍA BIESTABLE.
• FBS DIAGNOSIS AVERÍA MONOESTABLE.
• FB6 DIAGNOSIS AVERÍA VENTOSA.
La estructura del bloque FB4 servirá para diagnosticar averías en las electroválvulas
biestables y tendrá la siguiente declaración de variables:
DIAGNOSIS AVERíABIESTABLE
Nomb� Tipo de datos v,to1predet JlrmM>ff!C,a Acc:es,bled Vis,ble ff! V1IOf dea
CI .. inpt,I
-O . OROENEV+ """ fais:e No rem_ E] !i! i1I
-O . ORDEN EV- """ fa�e No rem.11ne_ ¡¡¡ Q
-O . DETECTOR .a1 """ ,.,, No rema.ne_ Q Q
5 -o . DETECTORaO """ faise No remane_ Q Q
<I . """'"'
<l ' AVERÍAEV + """ •a�e No remane_ Q Q
-o . AVEIÚA. EV · """ "'' No remane_. iiil 0
<J . AVERiAOETECTOR a1 """ f,1fse No remane- iiil Q
I" -0 • AVER!4. DETECTOR aO """ fal!E No remane_ !i! Q
<I . """"
Fig. 8.308
,... Segmento 2:
1 #"OR�
#"AVERÍA
r
EN
,_
EV
_
+
_
·_
•
_
•o
_
ETE
-<
CT
.r>
O
-
R_
,o
_
• _
••_
oE
_
TE
U
CT
t-
0-
R ,
_
, •
______
o
_
ETE
--<
CTO
�
#"DETECTOR ao· #"DETECTOR a l . #"AVERÍA E V +"
r--
Fig. 8.309 Fig. 8.310
• Segmento 3: • Segmento 4:
[
__
#"OR'.
#"AVERÍA
F
EN
I-
EV
_·
_
· _
•
_
·o
_
m
_
i.
ª
,f
º
-
R_
,,
_
· _
.-_
oE
_
TE
v
cr
,...
o_
R ,
_
o·______
º
_
ETE
....¡
C
To�
I
ro
�
•N
I-
E
_
v-
_
·
_
··
_
om
-i
CT
I-
OR
_
,
_
, ·
_
·
_
·o
_
m
-t
CT
,f
O
-
R_
•º
_
· ______
•·A
---i
VERíA
�
Fig. 8.311 Fig. 8.312
Enel momento en quese ejecute el Estado D2, indicará que el sistema seha detenido
por la avería de alguno de los actuadores o detectores del sistema. Para localizar las
averías en las electroválvulas y en los detectores, seguiremos la siguiente lógica:
Segmento 1:
Si hemos dado la #ORDEN EV +, no detecta el #DETECTOR a0 y no detecta
#DETECTOR al, indicará que el cilindro habrá avanzado y, por lo tanto, si no detecta el
#DETECTOR al, este se encuentra averiado. En ese caso se activará el bit #AVERIA
DETECTOR al.
355
Unidad 8 - Guía Gemma
356
• Segmento 1:
Segmento 2:
Sihemos dado la#ORDEN EV +, detectael #DETECTORa0 y nodetecta #DETECTOR al,
indicará que el cilindro permanece en la posición de reposo y, por lo tanto, la bobina
de la electroválvula esta estropeada. En ese caso se activará el bit #AVERIA EV +.
Segmento 3:
Si hemos dado la #ORDEN EV -, no detecta el #DETECTOR al y no detecta
#DETECTOR a0, indicará que el cilindro habrá retornado a su posición de reposo y,
por lo tanto, si no detecta el #DETECTOR a0, indicará que está averiado. En ese caso
se activará el bit #AVERIA DETECTOR a0.
Segmento 4:
Si hemos dado la #ORDEN EV -, detecta el #DETECTOR al y no detecta #DETECTOR
a0, indicará que el cilindro está en la posición de avance, es decir, que el cilindro no
habrá retornado y, por lo tanto, la bobina de la electroválvula está estropeada. En
ese caso se activará el bit #AVERIA EV -.
La estructura del bloque FBS servirá para diagnosticar averías en las electroválvulas
monoestables y tendrá la siguiente declaración de variables:
DIAGNOSIS AVEPSA MJNOESTAIIJ..E
Hombre Tipo de d.,tOl Valorer�et IW'/'ianenc;., Ao:ce�ibled. .
o • 11fkll
J O • ORDEN EVt- ""' ',;tse No remane_. lii!
o • OETECfOl h1 ""'' ',1� NO remane_ lii! '7
. <J • DETECTOR aO ""'' f.t�e No remane_, iill
< ,o ,.. Ouq:iu.
• o • AVEfM. EV ,- ""'' '.:!1::é No rema11e_ lii! iill
..,. /VERIA DETECTOR a1 SOOI !!) ; ;e No rem_, Fl lii! lii!
CJ . AVERIA OETECTOfl 30 SOOI �.lis� No renune_, lii! lii!
Fig. 8.313
• Segmento 2:
1
#'OR�
..AVERÍA
r
EN
I-
EV
_
+
_
• _
#
_
•o_
m
-l,
cr
/1-
0
-
R_
,1_
• _
#"D
_
E_
TE
V
CT
I-
OR
_
a_
o•______
o
_
m
-i
CTO�
F1g. 8.315 . ,
1
'1'
1-
EV
_
•
_
· _
#
_
·o_
m
_1,
cr
,�
o
_
R_
,1_
· _
•·_
om
-lcrl-
oR
_
•_
o·__
·_�
--
•·
_
Av
-;
E
(RíA�
Fig. 8.314
• Segrnento 3:
#"ORDEN EV+" #"DETECTOR ao· 1rDETECTOR a 1 "
#"AVERÍA
DETECTOR ao·
Fig. 8.316
>--
La lógica seguida para diseñar la estructura del FBS es la misma que la expuesta en
la diagnosis de averías para electroválvulas biestables (FB4).
La estructura del bloque FB6 servirá para diagnosticar averías en las ventosas y
tendrá la siguiente declaración de variables:
DIAGNOSIS AVEPSA VENTOSA
N<lmbre
-o .. Input
<J • ORDEN VENTOSA t-
,o • DETECTORYACIO
<I • Output
,o • AVERÍAEV O O�LOETECTORV
_
AC
_
IO____
T�eami,
""'
""'
-""'---
Fig. 8.317
Valolf'i!�.!l. .._..,.,_. I
!J!�e No remane_
fil 'Ql-;e NO renL B
f;lt,;� NO remane-
)
)
)
)
'
'
'
1
'
'
'
'
'
'
'
)
'
'
'
)
)
1------- [N
'IQ0.1
'V2Y(N'IQY. A IZQIARPA"- Cmr>EN fV,1.
'IQ0,2
'VJ_vt.HT�A OO!l.C�
º
- O!!VE,, EY­
....7
0
84_.bl VIJrnOSAQ'�llt)A"- DPlC'l'Ol'l •1
....
"93_.bO VUfT� t>f::RECHA
º
- PE"T!�()l!. tO
Unidad 8 - Guía Gemma
S09Mento f:
•"AVERIA EV
O DEL
ROEN #"DETECTOR DETECTOR
OSA
l-
-1-
-
·____
v=
,,,,...·________________
v
...
AC�
Fig. 8.318
En el caso de la diagnosis de las ventosas, aunque está controlada por una
electroválvula monoestable, la estructura es diferente, ya que solo tenemos un
sensor. Como consecuencia, podremos diagnosticar el fallo, pero sin poder
especificar si falla la electroválvula o falla el detector de vacío.
A continuación, dentro del FC8 realizaremos el programa para poder diagnosticar
las averías que se lleguen a ocasionar en cualquier cilindro y en la ventosa.
,.,,________
w,100_0
AVEP.!A EV ,1. - "AvtllÍAY2 V[Nl�IZQUt'�
'MD100.1
AvtfllA EY - -·AVERÍA Y:!I Vnn� D[lltCW:
'11,Ut00.2
AVERIA Ot.'IU:,oR 11 -'AVERIA 94 VVOOSA IZCX.-JU,J
W7100.l
AVEJtiA OllE.C"10JI,o -,"AVERIA e:, VUflOSA O(RECHA"
Fig. 8.319
"OIAGtr«>SIS AVEA'A MONOESTABLE�
t-------- EN
_..
"Y1_.BAJAR VElfTOSA"- ORDEN EV.i.
..,5
"SZJl VENlOSAA8AJO' - orrECTOR e1
..,A
·e,_.o VEN105A ARReA' - t>E.llC"fOR ªº
EN0 -------
1iM7lOOA
AV(RiA e,v ... -·AvrRlA v, BA.IAA VENTOSI
'M,17100.6
AVERIAOETEC10R 11 -'AVtRIA B2 VENTOSA "81.K
W7100.5
AVERIA Ofl[ClOR aO -'AVERfA 81 VEN'TOSA ARRIB
Fig. 8.320
-15
"OIAGNOS& M lA Vt:H'ft>M"
1------- EN ENO---------
4JIQ1..0 W7102,4
"V9_VlN1�"- 0f1Df.M V!.N'10Y- -- AVtlllA lV O t)U D�,.l{l'Ol!.VACIO -•AvtlÚAY9
V
lN'TOY.0 81 1 V�lAO
-
'811_.fl PtzA MUflA"- DflEC'l'i:>11.VACICl
Fig. 8.321
""' �lolfct� ...,W�1'ftr.11): tll' l"!-"''l"'M'i l tll.�IIU'90!i'tltl'• '1Ql�it!,
_,,
"OIAGNO!,& t,Ulll'[Ot,tfcfº
------
1-------- ,-
....,
"Yo_�Tll'OS<IONAL PlOU:fkr- (ll!Of,t EV+
""·'
1lt,_.t1 .U,11 1'f.QI..IAoU.
..
tAA" - ornOD'III
..,�
0!,_t(I t,U.ll Pl'(}l,l_AI;, t>fJnlk
f
- {)tll(1()« tO
1--------••
-5
...,tUOF'E' - OR[)tM tV.1.
loU
"81 l_.p1 10f'E DEl.ANlt"- OETf..ClOR 11
'I0.1
'81 1_.{IO 'TOP[ AlRAS"- [)fT(CTOJl 110
"•o---------
w,100.1
AVr.RiAlV + -•AIVIIA'1'4 t,Ul� l"'E
'
QU'A
1M11D1.1
.AVr.ltlli OPH.1()1 ttl -'AVt:ldA 116_),U.ll J'f.01.lflo l'f..t'ltAº
W/101.0
tw! ,;IA Df.W
S"l'()ll;IIO-•AVVIIA e_�l111t.(MAo otN1110°
Fig. 8.323
ENO -------
W,102.1
Ayt;dA [V J. -4 'AVUÚA V6 10Pt"
'tM7102.3
AVf:RlA OETEC10R l1 - ·AvrRIA s1:, 10PE OELANlE'
"IIM710U
AVf. lUA t>OEC10ll 10 -·AvrldA e12 T()l'( ATRAS'
"DIAGNOSIS AVENA BIESTAIH.f"
t-------- [N
_..
'Y7JAJN, MW:'AOOlf'- Of(O(N [I+
'IQ0.7
...,8_.SUlll t.WICAOOll"- oa� tv•
..,.,
.,,o_et t.Wl(.A()Olt NJl,,,JO"- OE.l[CTOR •l
.....
1W_t0 MiVICAOOll ARMIA"- [)[i[ClOR •O
,oo--------
W,101.5
AVUIA [V .;. -•AVEldA Y7 SAJAA IMIICAOO"°'
WCJ'IOl.6
AVERÍA [v - -·,wcllfAYS SlAllll �
_,01,0
AVERl'AOfTEClOR •l -•AvtRfA 810 � ASAJC
V.0101.7
AVERÍADETEC1o«10-'AVEJIÍA 89 M'JICAOO« Altl'll9A
Fig. 8.322
,.. �-·• ��C[ l� >-•1� Dl�C.l.itl'IOMll.11P01C.!Qh,O¿(,l,.+l,,Of
_,.
� t.U.ltGAAHOf:'
��AVEIIA MOfrK>f:S1A8U'
1-------- ••
'IQOA
-Y)_W.TM»k.lC>NAI.GIWC:lt"- olltl(� rv..
"98_d1 M..t.nr.AAHOE: H.tAA"- olllt"lOfil l1
.,,_,
'f7_.d0 tiU:n atHDe: 1XH'1IIO"- orreno11 10
Fig. 8.325
ENO--------
-,,,ou:
,tivt!'IÍA tV+ -•AvtftJAv, t.U.�IONALGIIAHDf
"IM71DlA
Alfll:AOflfC1CH111 -•Av[IM 98 t.UTIGMHOE fllltA"
'AN7101.J
AV[R!. Of.-n.CTOll ,o -·,ti,v[ltfA 17 t.U.11GAANO[ Ot:HTIIO'
Fig. 8.324
Cuando se encuentra activado el Estado D2:
Señalizaremos que existe al menos una avería activada mediante el
funcionamiento intermitente lento del piloto rojo. Esta la programaremos
en el bloque FC20 S_SALIDAS.
357
Unidad 8 - Guía Gemma
AS
l"r..,1Clón p,tra ltpu91t1an
�t.<SM O. un otfettc
w.n deu�r«ido IA$ •"'""s
y pv!MdorK.r. (fN)
- La diagnosis se basa en que, cuando se encuentre activado el Estado D2,
dejará de estar activo el Estado Fl. Por tanto, las marcas que se
encontraban funcionando en ese momento lo seguirán haciendo, por lo
que seguirán actuando sobre las salidas del FC20 y provocando que, en el
momento de la avería, existan una o más salidas en funcionamiento.
Cada una de las averías activará un bit que quedará reflejado en el panel
Averías en el proceso del simulador 3D.
Programación en el FC20 S_SALIDAS
.......
.GG_ESTAOO A1"
'IQl.4
"HJ_ROJO"
,_________________, r---
'IMl.1 tMR191.S
"GG_ESTADO A2." "Ox.li;._1 Hz"
·oo_:::'
AO()
!
º n·
--•
"GG_ESTAOO 02"
.,..,_3 VA8191.2
"GG_ESTAD0 01" "Cbd._2.5Hz"
"GG_::
ADO
!
• I
S
.......
ºGG_ESTAOO M"
• Guía Gemma con el Estado D2
Fig. 8.326
Para la implementación del Estado D2 Diagnóstico o tratamiento de los defectos
de la guía Gemma en el PLC, nos fijaremos en la guía Gemma general representada
en el apartado 8.1.2. En ella se observan las diferentes transiciones de activación y
desactivación de este Estado, que son las siguientes:
GENÉRICO
F1
APLICADO
AS
FC5
Preparaclón pu1 la puest1en
m11rcMdei · de oo dllfecto
Hin de11�reddo las ,venas y
pulmlor A.CK ( MTiiii3 º 1 3.l {fN) )
Exist1 1icun1 1veri1
1et�1{M7102.S)
F 1
FC9
02
oi.,,,,:.tlcoy/o
1111.mi.110 • 1os
dofK,O,
------+-7..
"
-
"""
-
""-
-
-
""'
-----........J
D2
FCB Producción normal
OW,¡nosticoy/o
trttamiento da los
358
defectos
Fig. 8.327 Fig. 8.328
A continuación, añadimos al Grafcet de la guía Gemma el nuevo estado
incorporado, el Estado D2, con lo que queda así:
1
'
"
'
'
'
l
l
'
'
·1
l
1 -)
1 '
M0.6
Ml.O
M0.4
FCll
Orden de m.lrch1de
verifkaclón s!n Ofden
N FC7
Par a de emer¡encia Ml.4 N FCS
Parada de e!TM!r¡encla
Fig. 8.329
Unidad 8 - Guía Gemma
Ml.2
Orden de marcha de
veriflCK!ónsin 0<den
0.-den de puesta delsistema en
estado inloal
Auto / M,1n en ON
veri acióncon
Orden de marcha de
verifioclón sin orden
Ahora, y tal como hemos indicado anteriormente, cuando se encuentren activados
cada uno de los estados de la guía Gemma, tendremos en funcionamiento un piloto
en el panel de la guía Gemma del simulador 3D. En este caso hemos añadido el del
Estado D2.
La implementación del Estado D2 de la guía Gemma en el PLC la realizaremos
siguiendo las condiciones marcadas en las transiciones:
- Pasaremos del Estado Fl al Estado D2 cuando en el bloque FC23 DET
ALARMAS se encuentre activado el bit M7102.7, que indica que se ha
detectado algún fallo.
El paso del Estado D2 al Estado AS se realizará cuando se haya desactivado
el bit (indica que no hay alarma alguna activada) y cuando exista un flanco
negativo en el pulsador de enterado ACK.
El flanco negativo utilizado en el pulsador ACK se justifica porque este
mismo pulsador se utiliza en la transición para pasar del Estado AS al Estado
A6, pero en esta ocasión como flanco positivo. Si no se utilizan los
diferentes flancos, pasaría directamente del Estado D2 al Estado A6.
• Programa en el FCO GUIA GEMMA
El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede
implementado el Estado D2 sería el siguiente:
359
Unidad 8 - Guía Gemma
360
• Segmento 46: Euodo de di19norncoylo treum1erito de los de�ctos • Segmento ◄7: Esta.do de preparación ponerior 1I de�ctc
'!IM7102.S
"HAY AVERIA"
'IIM1 .4
"GG_ESTADO or
t---�--------------�
( s f--,
"3.1
W1.4 ""'7102.S
·
ss_PULSAOOR -AMU
"GG_ESTADO 02" "HAY AVERÍA" ACK" "GG
_
ESTADO A5"
'IM>.O
"GG_ESTAOO A1 "
'----------------l
( RESET_BF )-<
1 2
N f--
1 �--------l
;
S )--,
'!IM236.1
"FLANCO 50"
'JIMi.4
'------
·G
_
G
_
_E
..¡
ST;o
�
Fig. 8.330 Fig. 8.331
• Segmento 48: Llemodo e la subnmna del Euado 02 • Segmento ◄9: Piloto verde en guia gemme de maqueua que indita esado 02 ICtJvo
1 "GG_�D
� 02" ·02 DIAGNOSIS AVERÍAS" 'IIM1 4 "H19_ESTAOO
P
'IIQS.4
TAD
�
· o
_
o
_
2
_
• ______________--/
02•
f--,
¡--i f--- EN ENO ---------
Recuerda • • •
El simulador 3D dispone
de un panel para
poder provocar averías
en el proceso y
comprobar si su
tratamiento ha sido el
correcto.
Fig. 8.332 Fig. 8.333
• Comprobación del funcionamiento del Estado D2
Para poder comprobar el funcionamiento en el simulador 3D, debemos primero
transferir el programa al simulador PLCSim del S7-1200. A continuación,
ejecutamos el archivo para poder abrir el simulador 3D y posteriormente abrir los
diferentes paneles que se indican a continuación:
Es importante que una vez arrancado el simulador 3D, antes de probar nada, en el
PLCSIM primeropulsemos el botón de STOP y despuéspulsemos el botón de RUN.
Por el mismo motivo que se indicó para comprobar los estados D1, AS y A6, es
conveniente accionar el pulsador de ACK al ejecutar el simulador 3D para posicionar
la guía Gemma al estado Al.
Autómatas programables SlEMENS. Grafcet y Guia Gtmma con TIA Portal Averias en el proceso
MarcaJe de cajascon tres colores CV!Ce� �,rero & Ramon Vuste Pulsar un botón para prO'IOCar una a"ttna
� '
Fig. 8.335
Estado de la Guia GEMMA
Fig. 8.334
Fig. 8.101
Este es el panel Averías en el proceso. A continuación se explica cuál es su
funcionamiento:
'-....,,'
V
J
..__,
1 -
'

1
l

'
'
'
'
'

Averias en el proceso
Pulsar un boton para provocar una aver,a
Fig. 8.336
Averías en el proceso
Pulsar un botón para provocar una ev.!na
Fig. 8.337
Averías en el proceso
Puls�, un boton para provocar un-a ?tler1a
Fig. 8.338
Unidad 8 - Guía Gemma
Si situamos el ratón sobre cualquiera de los
botones A_l a A_lS, nos indica sobre qué
elemento se provocará la avería cuando
accionemos el botón correspondiente. En el
caso del botón A_l, por ejemplo, la avería se
provocará sobre cualquiera de las dos
electroválvulas del brazo horizontal.
Para provocar una avería, se deberá accionar
el interruptor seleccionado. Este pasará a
visualizarse de color rojo.
Cuando se desee eliminar la avería, se
deberá volver a accionar de nuevo el
interruptor, momento en el que este pasará
de nuevo a visualizarse de color verde y se
dará por desaparecida la avería.
Del mismo modo, si el programa realizado en
D2 es correcto, cuando se detecta el fallo, se
deberá iluminar de color verde un
visualizador que se encuentra justo en la
parte inferior del interruptor, y que en este
caso se corresponde con el bit M7100.0, y
señaliza el fallo de la electroválvula que hace
que la ventosa se desplace hacia la izquierda,
tal y como indica el texto asociado a ese
piloto.
Importante: cuando se encuentre activado el Estado D2 y se haya comprobado que
se ha detectado correctamente el fallo producido, hay que:
• Accionar de nuevo el interruptor A_l, con lo que se pasará de nuevo a
visualizarse de color verde, que sería equivalente a simular que la avería se
ha reparado.
• Accionar el pulsador ACK, con lo que la guía Gemma pasará al Estado AS.
361
"-../

..
J
La automatización y el control de procesos no se detienen , día tras día aparecen nuevas tecnologías que
hacen más eficiente la producción. Para poder abordar el entendimiento, así como las posibles aplicaciones
de las últimas tendencias, es imprescindible conocer previamente las bases de esas tecnologías.
Muchos de los procesos automatizados actuales se basan en el control mediante autómatas programables
y, por ello, es necesario empezar a entender cómo funcionan estos dispositivos. Uno de los objetivos de
este libro es ofrecer un sistema para aprender a programar dichos dispositivos de un modo totalmente
práctico: con la ayuda del Simulador 3D, que podrá conseguir siguiendo las instrucciones de la primera
página del libro, podrá visualizar el funcionamiento de todos los programas realizados de una forma más
real .
A QUIÉN VA DIRIGIDO
Este libro está enfocado para cualquier persona que se quiera introducir en la programación de estos
equipos. Asimismo, abarca la vertiente educativa: es ideal para el aprendizaje de la programación de
PLC's Siemens S7-1 200/1 500 en los diferentes ciclos formativos y grados técnicos de las universidades
de las familias profesionales de Electricidad y electrónica, Instalación y mantenimiento, Química industrial y
aquellas que incluyen esta tecnología.
CONTENIDOS
Es un libro totalmente práctico, compuesto por ocho unidades que van desde lo más básico hasta la
utilización de operaciones aritméticas, pasando por ejemplos basados en temporizadores, contadores,
flancos, entre otros. Además, utiliza bloques OB, FC, FB y DB con ejercicios totalmente resueltos.
Cada tema incluye la resolución de ejercicios aplicando el diseño en Grafcet. También se utilizan secuencias
lineales, selecciones de secuencia, trabajos paralelos, sincronización de grafcets, macroetapas, saltos, etc.
y se trata el estudio y aplicación de la Guía Gemma.
Los ejercicios, tanto los resueltos como los propuestos, están aplicados sobre un proceso industrial que
incluye cilindros, motores, balizas de señalización, visualizadores numéricos, pulsadores y selectores
de control, todo ello recogido en un Simulador 3D que se incluye y que comunica directamente con el
simulador PLCSim de TIA Portal .
PROGRAMAS
Para poder trabajar con los ejercicios resueltos y propuestos es necesario tener instalado el software de
programación para autómatas Siemens, llamado TIA Portal , que puede descargar de forma gratuita en su
versión trial en la web https://support.industry.siemens.com.
Ma combo
F-Técnica, Ciencia
J..::::: y Formación
Síguenos en:
www.marcombo.com
1
9 7 8 8 4 2 6 7 2 3 7 8 9
'
'

edoc.pub_automatas-programables-siemens-grafcet-y-guia-gemm.pdf

  • 1.
  • 2.
    Autómatas programables SIEMENS Grafcety Guía Gemma con TIA Portal Ramón L. Yuste Vicente Guerrero
  • 3.
    Autómatas programables 5/EMENS.Grafcet y Guía Gemma con TIA Portal Primera edición, 2017 © 2017 Ramón L. Yuste - Vicente Guerrero © 2017, MARCOMBO, S.A. www.marcombo.com Diseño de la cubierta: ENEDENÚ DISEÑO GRÁFICO «Cualquier forma de reproducción, distribución, comunicac1on pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra». ISBN: 978--84--267--2378--9 D.L.: B---10574---2017 Prínted in Spaín
  • 4.
    Índice general Unidad l Entornode programación TIA PORTAL ........ l 1.1 Autómata programable.....................................2 1.2 Entorno TIA Portal...............................................14 1.3 Funcionamiento con proceso 3D....................49 Unidad 2 Introducción a la programación................61 2.1 Operaciones lógicas con bits..........................62 2.2 Programación en Grafcet (1) ...........................75 Unidad 3 Programación con temporizadores IEC.... 91 3.1 Características y tipos de temporizadores IEC .....................................92 3.2 Funcionamiento de los temporizadores IEC ..92 3.3 Generadores de impulsos ..............................103 3.4 Preselección directa e indirecta de temporizadores..........................................104 3.5 Varios temporizadores en un único DB de instancia...................................................... l 07 3.6 Programación en Grafcet (11) ........................115 3.7 Programa basado en diseño Grafcet ..........120 3.8 Comprobar funcionamiento con maqueta de simulación 3D............................124 4.4 Varios contadores en un único DB de instancia......................................................139 4.5 Funciones de comparación...........................148 4.6 Programación en Grafcet (111) ........................150 Unidad 5 . AprIcacIones con flancos ........................163 5.1 Instrucciones de tratamiento de flancos......164 5.2 Programación en Grafcet (IV) .......................170 Unidad 6 Transferencia de datos y funciones matemáticas..............................................181 6.1 Funciones de transferencia de datos...........182 6.2 Funciones matemáticas .................................186 6.3 Programación en Grafcet (V)........................198 Unidad 7 Programación estructurada.....................215 7.1 Introducción a la programación estructurada.....................................................216 7.2 Tipos de bloques..............................................216 7.3 Tipos de llamadas a los bloques....................219 7.4 Protección know-how de bloques FC y FB...............................................................243 7.5 Programación en Grafcet (VI) .......................249 Unidad 4 Programación con contadores y Unidad 8 comparadores IEC ....................................127 Guía Gemma.............................................271 4.1 Características y tipos de contadores IEC...128 4.2 Funcionamiento de los contadores IEC .......128 4.3 Preselección directa e indirecta de contadores.................................................138 8.1 Guía Gemma...................................................272 8.2 Programación en Grafcet (VII) ......................286
  • 5.
    Agradecimientos Quiero agradecer ami mujer Mari Carmen por la paciencia que ha tenido conmigo mientras trabajaba en el libro y a mis hijos Christian y Raúl por estar ahí, siempre a mi lado. De forma especial, quiero agradecer a Luís Martínez el apoyo y la ayuda que siempre he recibido de él. Ha conseguido que trabajar en temas de automatización no se haya convertido en mi trabajo sino, cómo él dice, en mi hobby. Ramón L. Yuste A mi familia, Mari, Laura y Lorena que son las que dan sentido a mi vida día tras día. A mi hermana Verónica que como excelente docente entiende el sentido un poco altruista de esta profesión y, por último, a mi ma­dre Mercedes por el cariño que siempre me ha demostrado. Vicente Guerrero Desde hace ya unos años hemos adoptado la técnica Grafcet y Gemma como método de enseñanza para que nuestros alumnos se inicien en la programación de autómatas programables. Además de lo indicado anteriormente por Ramón, Luís Martínez es una de las personas que más introdujo esta técnica en las aulas, y del que más hemos aprendido. Gran profesional y mejor persona. iGracias amigo! Nuestro conocimiento en este tema siempre ha estado provocado por la necesidad que nos obliga nuestra profesión, y esta no tendría sentido sin nuestros alumnos. Por ello, agradecemos a todos nuestros alumnos de los institutos Comte de Rius de Tarragona y Palau Ausit de Ripollet por su participación indirecta, pues con sus dudas y preguntas han colaborado en la creación de ejemplos que pretendemos que ayuden a otros alumnos al aprendizaje de esta tecnología. Estos proyectos nunca se pueden llevar a cabo de forma independiente, siempre se debe tener apoyo y colaboraciones de las personas y empresas que en un momento u otro han participado para que hayamos podido trabajar en este campo a lo largo de los años. Por ello no hemos de olvidar a empresas como SMC lnternational Training, con Mariano Carreras a su cabeza y con excelentes profesionales a su cargo como Sergio Panizo, lker Saenz, lñaki Fagoaga y, en especial, a Asser Martínez por su ayuda en la construcción del Simulador 3D; así como a la empresa Siemens, representada por Francisco Cano por su inestimable ayuda a lo largo de estos últimos años para poder adquirir el conocimiento de sus equipos. Y, como no, a la editorial Marcombo por volver a confiar en nuestro proyecto desde el primer día que se lo propusimos.
  • 6.
    Prólogo Cuando nos preguntamospor qué unas sociedades están más avanzadas que otras (aparte de contar con menos recursos naturales, etc.), casi siempre la respuesta está en su capital humano, en sus gentes, en su FORMACIÓN con mayúsculas. Cuando asistimos atónitos a los avances tecnológicos que permiten satisfacer las necesidades cada vez más exigentes del consumidor actual, asumimos que la gente que trabajamos en empresas con contenido tecnológico debemos tener la capacidad de continuar aprendiendo durante toda nuestra vida laboral. El reto de facilitar el aprendizaje y la integración de todas estas nuevas tecnologías es apasionante. Los que nos dedicamos a ello nos sentimos orgullosos de ayudar en el objetivo de que nuestras sociedades sean referentes en esta carrera hacia la excelencia. Es por elloque la Corporación SMC apostó por crear su División lnternational Training en el año 2000 y, desde entonces, trabajamos en desarrollar soluciones que faciliten la labor docente en el ámbito de la automatización. En este recorrido hemos tenido la oportunidad de conocer, trabajar y colaborar con actores clave en estos procesos de formación, los PROFESORES, también con mayúsculas. Estas personas, cuya labor no es lo sufi- cientemente reconocida por nuestra sociedad, dedican su esfuerzo para conseguir que sus alumnos estén preparados para afrontar estos retos cambiantes a los que nos enfrentamos en las empresas. Desde hace años tengo el gusto de conocer a Vicente Guerrero y Ramón Yuste, autores de este libro y de otras publicaciones anteriores. Ellos no tendrán probablemente el nombre de una plaza o de una calle en su ciudad, pero tendránsiempre el reconocimiento de las personas que les conocemos, de sus alumnos, de sus lectores, porque están contribuyendo a hacer fácil lo difícil, a hacer sencillo lo complejo, a bajar al terreno de lo comprensible conceptos y técnicas a veces abstractos. Este libro es un claro ejemplo de ello. Cuando Vicente y Ramón nos pidieron colaborar aportando una má- quina virtual de simulación de procesos en 3 dimensiones para ayudarles en la confección de esta obra, no dudamos en participar en el proyecto. Nos hacen falta muchos Vicentes y Ramones, mucha gente inquieta, ilusionada, con vocación por hacer más fácil la vida de mucha gente. Felicitaciones y agradecimientos a la editorial Marcombo por seguir apostando por la divulgación de conte- nidos técnicos con la vertiente de innovación que aporta esta obra. Esperamos seguir aportando nuestro granito de arena para que nuestras empresas tengan cada vez un me- jor capital humano, que es la clave de la prosperidad de una sociedad. Mariano Carreras SMC lnternational Training Manager
  • 7.
    Prólogo Abordar la quese ha dado a conocer como 4" Revolución Industrial requiere competencias diferentes a to­dos los niveles de la industria, desde los operarios a los ingenieros o el personal administrativo. Estas nuevas competencias profesionales no se refieren solo al dominio de las nuevas tecnologías digitales, sino a otras competencias complementarias, por ejemplo, en materia de emprendimiento, liderazgo e ingeniería. Los progresos de las tecnologías digitales, en combinación con otras tecnologías habilitadoras clave, están cambiando la forma de diseñar, producir, comercializar y generar valor a partir de productos, sean estos bienes o servicios. La implantación de la Industria 4.0 requiere una Educación 4.0, siendo necesaria la coo­ peración entre el mundo empresarial y el mundo de la educación. Desde el proyecto SCE - Siemens Automation Cooperates with Education, Siemens desarrolla diversas ini­ ciativas dirigidas a centros educativos, profesorado y alumnos, encaminadas a fomentar una formación de calidad acorde a los requerimientos del mercado. Especial mención al patrocinio de las olimpiadas de for­ mación profesional SpainSkills que organiza el Ministerio de Educación, así como a la convocatoria anual Concurso de Prototipos por parte de Siemens, dirigida a universidades e institutos de formación profesional, cuyo fin es promover e incentivar la competitividad entre los alumnos españoles. Quiero felicitar y agradecer a Vicenc;: Guerrero y Ramón Yuste, profesores de Formación Profesional, por ba­ sar este libro en los controladores SIMATIC de Siemens, así como en la Plataforma de Ingeniería TIA Portal. Conozco a ambos desde hace más de 20 años y tanto su experiencia docente como su conocimiento de la realidad de la industria me permiten agorar que este libro se convertirá en un Best Seller del mundo de la automatización. El carácter eminentemente práctico del libro hace de él la herramienta idónea para el estudio de la progra­ mación básica de los controladores SIMATIC y, especialmente, de la herramienta de Ingeniería TIA Portal, cuya implantación en la industria es reciente. Esto hace que el libro sea recomendable para enseñanzas universitarias y de formación profesional. Agradecer a la editorial Marcombo su aportación en la divulgación de las enseñanzas técnicas en su vertien­ te más práctica. Francisco Javier Cano Gatón Responsable de Controladores SIMATIC y Proyecto SCE - Siemens Automation Cooperates with Education División Digital Factory SIEMENS, S.A.
  • 8.
    Unidad 1- Entornode programación TIA PORTAL Unidad 1 Entorno de programación TIA PORTAL �-..,_.......,.,....�. ........�---- ·--·- ► clfl.C_ll<J,.i1si1t-1'911 • '111(.l¡ou,�c--,. �..- -,........ •·1,eqws-,.._ ·-........ �..,'-t,_.�I ··�"" .._.., ·- ..,......__,.... • a.c. ....... i.i,ft1·---•-fl.C .. ...... . _____.,., •afO...tMIIHt ► C., ..i� ......, En este capítulo: 1.1 Autómata programable 1.1.1 Módulos de señales 1.1.2 SIMATIC Memory Card 1.1.3 Conexiones de las entradas y salidas 1.1.4 Ciclo de sean 1.1.5 Tiempo de ciclo 1.1.6 Tiempo de vigilancia del ciclo (Watchdog) 1.1.7 Programación de contactos negados 1.1.8 Funcionamiento del registro de entradas 1.1.9 Funcionamiento del registro de salidas 1.2 Entorno TIA Portal ,, ... ... 1 • ' - -, ¡ ! 1 ía r - re-,~�!�--��=;;r r:;h� - +,';..----¡ �-• ---1 ·�! ·- F ! ' , 1.2.1 Configuración del hardware 1.2.2 Configuración de las propiedades 1.2.3 Detección automática de la CPU 1.2.4 Creación de la tabla de símbolos 1.2.5 Creación del programa 1.2.6 Comprobación del funcionamiento del programa 1.2.7 Tabla de observación 1.2.8 Documentación de programas 1.2.9 Descarga de un programa del PLC 1.3 Funcionamiento con proceso 3D. 1.3.1 Procedimiento para la simulación de un programa Ejercicio propuesto 1
  • 9.
    Unidad 1- Entornode programación TIA PORTAL 1.1 Autómata programable Los autómatas programables S7-1500 y S7-1200, se encuentran dentro de la gama de controladores SIMATIC de Siemens. Se puede considerar, el S7-1200 como un controlador del tipo compacto pues en un mismo dispositivo contiene: • Fuente de alimentación. • Conexiones para las señales de entradas. • Conexiones para las señales de salidas. • Conexión para la comunicación. • Espacio para tarjeta de memoria. Fig.1. 1 Fig.1.la Fig.1.lb Además, incorpora una base para la ampliación con un módulo que puede ser de entradas o salidas digitales o analógicas de forma que amplía su potencialidad de control mediante las llamadas Signal Board. Podemos encontrar el autómata programable S7-1500 con una CPU del tipo compacta, pero también existe del tipo modular, pues admite otros módulos conectables en sus laterales que amplían su capacidad de automatización, también el PLC S7-1200 admite otros módulos conectables que amplían su capacidad de E/S y de comunicaciones, aunque en menor medida que el S7-1500. Ejemplos de módulos ampliables son: • Entradas digitales. • Salidas digitales. • Entradas/salidas digitales. • Entradas analógicas. • Salidas analógicas. • Entradas/salidas analógicas. • Comunicación. • Tecnológicos. Losmódulospermiten adquirirfuncionessimpleso avanzadas, y decomunicacióncon otros equipos como sistemas HMI, redes como: AS-i, Profinet, Profibus, 1/0 link, etc. Las diferentes CPUs, tanto S7-1500 como S7-1200, incorporan al menos un puerto PROFINET integrado que garantiza una comunicación perfecta con el sistema de ingeniería SIMATIC TIA PORTAL. La interfaz PROFINET permite la programación y la comunicación con los paneles de la gama SIMATIC HMI para la visualización, con controladores adicionales para la comunicación de CPU a CPU y con equipos
  • 10.
    Recuerda • •• Podemos encontrar PLCs S7-1200 y S7-1500 del tipo compacto que, además de. contener entradas y salidas analógicas y digitales, integran funciones tecnológicas tales como: entradas de alta velocidad de contaje y medición, salidas de alta velocidad y control de regulación PID. Unidad 1- Entorno de programación TIA PORTAL de otros fabricantes para ampliar las posibilidades de integración mediante protocolos abiertos de Ethernet. La interfaz de comunicación de estas CPUs está formada por una conexión RJ45 inmune a perturbaciones, con función Autocrossing, que admite hasta 16 conexiones Ethernet y alcanza una velocidad de transferencia de datos hasta de 10/100 Mbits/s. Para reducir al mínimo las necesidades de cableado y permitir la máxima flexibilidad de red, puede usarse conjuntamente un Switch Module CSM 1277 o SCALANCE, a fin de configuraruna red homogéneao mixta, con topologías de línea, árbol o estrella. La interfaz integrada en estas CPUs hace posible una integración con equipos de otros fabricantes. Los protocolos abiertos de Ethernet TCP/IP nativo e I5O-on-TCP hacen posible la conexión y la comunicación con varios equipos de otros fabricantes permitiendo una mayor flexibilidad. También puede funcionar indistintamente como PROFINET 1/0 Device o como PROFINET 1/0 Controller. La familia de controladores SIMATIC 57-1200 y 57-1500 compactas, integran funciones tecnológicas, tales como: • • Entradas de alta velocidad para funciones de contaje y medición. Por ejemplo, el controlador SIMATIC 57-1200 posee hasta 6 contadores de alta velocidad. Tres entradas de 100 kHz y otras tres de 30 kHz perfectamente integradas para funciones de contaje y medición. Esto permite la lectura precisa de encoders incrementales, contajes de frecuencia y la captura rápida de eventos de proceso. Salidas de alta velocidad. Por ejemplo, el controlador SIMATIC 57-1200 tiene integradas 2 salidas de alta velocidad que pueden funcionar como salidas de tren de pulsos (PTO) o como salidas con modulación de ancho de impulsos (PWM). Si se configuran como PTO, ofrecen una secuencia de impulsos con un factor de trabajo del 50 % y hasta 100 kHz, para la regulación controlada de la velocidad y posición de motores paso a paso y servo accionamientos. La realimentación para las salidas de tren de pulsos proviene internamente de los dos contadores de alta velocidad. Si se configuran como salidas PWM, ofrecen un tiempo de ciclo fijo con punto de operación variable. Esto permite regular la velocidad de un motor, la posición de una válvula o el ciclo de trabajo de un calefactor. • Control PID. 57-1200 admite hasta 16 lazos de regulación PID en donde el software incorpora un asistente de configuración que dispone también de panel PID autotuning para calcular automáticamente valores de ajuste óptimos para las componentes proporcional, integral y derivativa, esto permite aplicaciones de proceso sencillas con lazo de regulación cerrado. 1.1.1 Módulos de señales Los módulos de señales que se pueden incorporar a un 57-1200 los podemos clasificar en módulos integrados, módulos de entrada/salida y tecnológicos, y módulos de comunicaciones. 3
  • 11.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • Estos PLCs se le pueden ser añadir diferentes módulos que amplían su funcionalidad. Los módulos de amplia­ ción pueden ser: • módulos de entradas y salidas. • módulos tecnológicos. • módulos de comunicaciones. • Módulos de señales integradas. Un módulo de señales integradas puede enchufarse directamente a una CPU. De este modo pueden adaptarse individualmente las CPU, añadiendo E/S digitales o analógicas sin tener que aumentar físicamente el tamaño del controlador. • Módulos de entrada/salida y tecnológicos. Fig.1.2 Las mayores CPU de S7-1200 admiten la conexión de hasta ocho Módulos de Señales, ampliando así las posibilidades de utilizar E/S digitales o analógicas adicionales. Estos módulos de señal se conectan a la derecha de la propia CPU. Fig.1.3 Fig.1.3a Mientras que las CPUs S7-1500 admiten bastantes más módulos, todos ellos conectados a la derecha de la propia CPU. • Módulos de comunicación. Toda CPU SIMATIC S7-1200 puede ampliarse hasta con tres módulos de comunicación y éstos se deben conectar a la izquierda de la propia CPU, mientras que el S7-1500 admite más módulos y siempre se conectan a la derecha de la CPU. Los módulos de comunicación amplían su capacidad tanto de control como de intercambio de datos con otros equipos, pues dispone de módulos como: RS485/RS232 para conexiones punto a punto en serie, basadas en caracteres; Profibus, que permite la comunicación tanto con otras CPUs como con módulos de E/S, AS-i que permite la comunicación con dispositivos de campo como sensores y actuadores; teleservicio/telecontrol para la comunicación vis GPRS; radiofrecuencia para el intercambio de datos sin hilos. Fig.1.4 Además de disponer de unas instrucciones y funciones de librerías, incluidas en el sistema de ingeniería SIMATIC TIA PORTAL, que permite dar multifuncionalidad a diversos módulos, configurando y programando con sencillas instrucciones. De este modo se pueden controlar sistemas bajo otros protocolos como USS Orive, Modbus RTU o Modbus TCP. 4
  • 12.
    1 1 1 1 Recuerda • •• El ciclo de sean habitual en el PLC, consiste básicamente en: • Actualizar las salidas físicas. • Leer el estado de las entradas físicas. • Ejecutar el programa del usuario. • Realizar un autodiagnóstico. • Procesar alarmas y atender los procesos de comunicación configurados. Unidad 1- Entorno de programación TIA PORTAL 1.1.2 SIMATIC Memory Card Con la SIMATIC Memory Card (opcional para el 57-1200 pero obligada para el 57-1500) se pueden transferir fácilmente programas a varias CPU. La tarjeta también se puede utilizar para guardar diversos archivos o para actualizar el firmware del controlador como de los módulos de señales y de comunicación. Fig.1.5 Simplemente basta con insertar la SIMATIC Memory Card en la CPU y darle tensión. El programa de usuario no se pierde durante el proceso. 1.1.3 Conexiones de las entradas y salidas El conexionado de las diferentes entradas y salidas es sencillo y rápido. A modo de ejemplo se muestra como conectar diferentes E/5 tanto, digitales como analógicas en ambos modelos de PLCs, 57-1200 y 57-1500. • l. I .�_, ; ,;, "í','"',',,,,:,,., , ., , ., ,., ,., ,., ,,,, ,,,,, �,� u • ♦ . tt M UIIO l J .J 4 � 6 1 0 .1 ! t t .� 1111• 1 1 SJIMIN� INUIC.Sl·la U. .O l .l l 4 J!l .S 6 r.0.1 , ,,, ,.,,,,., ,,, ";,,,.,�· Fig.1.6 1.1.4 Ciclo de sean Fig.1.6a Cada vez que el PLC ejecuta el programa una vez, se dice que ha ejecutado un ciclo de programa o un sean. La ejecución de un sean consiste en: ARRANQUE A Borra el érea de memoria 1 RUN © Escribe la memoria Q en las salidas físicas B Inicializa las salidas con el úhimo valor o ® Copla el estado de las entradas físicas en la el valor sustitutivo memoria 1 e Ejecuta los OBs de arranque @ Ejecuta los OBs de cido O Copia el estado de las entradas físicas © Realiza autodiagnóstico en la memoria l E Almacena los eventos de alarma en la @ Procesa alarmas y comunicaciones en cola de espera que deben procesarse cualqufer parte del ciclo en estado operativo RUN F Habilita la esciritura de la memoria Q en las salidas ffsicas Fig.1.7 5
  • 13.
    Unidad 1- Entornode programación TIA PORTAL 6 Recuerda • • • El tiempo de vigilancia o watchdog, es un mecanismo interno del PLC que controla en todo momento que el ciclo de sean del autómata no supere un tiempo máximo configurado. En ese caso provocará una parada total del funcionamiento del programa. 1.1.5 Tiempo de ciclo El tiempo deciclo, es el tiempo quetarda en ejecutar un ciclo completo, este tiempo es muy importante, ya que las ordenes de conexión y desconexión de los actuadores conectados a las salidas se realiza una vez por ciclo. Por lo tanto, si el tiempo fuera demasiado largo, podría suceder que no tuviese en cuenta el cambio de señal en las entradas o bien que se produjera una activaciónincorrecta en las salidas. El tiempo de ciclo básicamente depende de: • Tipo de CPU: todos los fabricantes de autómatas disponen de distintas CPUs para cada modelo de PLC para con ello adaptarse a las necesidades de los usuarios y una de las características más importantes que diferencian las distintas CPUs es la velocidad de proceso. • Número y tipo de instrucciones de programa: Cuantas más instrucciones tenga el programa, más tiempo tardará la CPU en leerlo; de la misma manera, hay instrucciones que son más complejas que otras y lógicamente se tarda más tiempo en ejecutarlas. 1.1.6 Tiempo de vigilancia de ciclo ( Watchdog) El tiempo de vigilancia de ciclo o Watchdog, es un mecanismo interno de la CPU que controla la duración del tiempo de ciclo y, cuando este supera los valores establecidos, el Watchdog da la orden de parar al autómata pasando de Run a Stop y, por lo tanto, la CPU deja de ejecutar el programa. El tiempo del Watchdog puedeser fijo o programable, dependiendodeltipo de laCPU. Las CPUs pequeñas dirigidas a instalaciones sencillas y sin requerimientos de seguridad, vienen configuradas de fábrica con un tiempo de Watchdog que el fabricante considera aceptable y que puede llegar hasta 500 milisegundos. En otras CPU, las más potentes, el tiempo de ciclo se puede definir en función de la complejidad de la instalación y como son más rápidas, se pueden fijar los tiempos entre 10 y 200 milisegundos. Podemos configurar este tiempo de vigilancia del ciclo desde las propiedades de la CPU, dentro de la pestaña General en el apartado Ciclo. .si Propiedades � Información .!J � Diagnóstico General Variables 10 Constantes de sistema Textos ► Genera l ► Jnterfaz PROFINETIX1 J ► DI 14/DQ 10 • " 2 � ► Contadores rápidos (HSQ L; ► Generadores de impulsos (PID'P... , Atranque Carga por comunic11ci6n Tiempo de vigila ncia del cido: ._ 1 s _ o _____ m � • OA.ctiv1,r tiempo de ciclo mínimo pa ra 08 cíclico, Fig.1.8 1.1.7 Programación de contactos negados Cuando programamos un contacto normalmente abierto, estamos diciendo que, en ese punto del programa, queremos el mismo valor que tenga el elemento de referencia. Y cuando proera m;:i mos u n contacto negado, estamos diciendo que, en ese punto del programa, queremos tener el valor contrario al que tiene el elemento de referencia. V
  • 14.
    ' ' ' 1 l ' " " "' ' ' ' 1 Recuerda • •• Un contacto negado, NO significa contacto cerrado, sino LO CONTRARIO DE. El elemento de referencia de una entrada es la entrada física. Si la entrada física NO se encuentra activada, los contactos programados asociados a esa entrada NO cambiaran de estado, mientras que, si la entrada física SÍ se encuentra activada, entonces los contactos programados asociados a esa entrada SÍ cambiaran de estado. Unidad 1- Entorno de programación TIA PORTAL El elemento de referencia de un contacto de una entrada es el contacto físico que hay conectado en esa entrada, mientras que el elemento de referencia de una salida o marca es la instrucción de asignación que tenga en el programa (bobina). IMPORTANTE: un contacto negado NO significa contacto cerrado, sino LO CONTRARIO DE. El elemento de referencia de una entrada es la entrada física. En los editores de software para PLC se induce al error de confundir negado con cerrado, ya que al contacto negado se le denomina «contacto normalmente cerrado». Veamos como en TIA Portal también lo interpreta de esa forma: -l l- -l l- ® ..... J -o- ..... Coma etc norma lmente cerra d o [Mayús+F3) Está cerrado cuando el va lor del opera ndo consulta do es igua l a •o•. S7-1 200, 57-1 500 lll ::f 1-: Con:a c:o norma lmen�e cerra do Fig. 1.9 A continuación, se muestra un ejemplo de programa con la utilización de estos dos tipos de contactos. En el segmento 1, la salida refleja el mismo estado que existe en la entrada física correspondiente y eso implica que QO.O se activará cuando la entrada 10.0 se encuentre activa. Por el contrario, en el segmento 2, la salida Q0.4 tomará el estado contrario que tome la entrada física 10.4. ... Segmento 1 : �"-... º ------------------ ""ºº� Fig. 1.l0a ... Segmento 2: �1-- 4 --------------------1 7 º ;_ Fig. 1.10b En el siguiente ejemplo práctico vamos a demostrar el funcionamiento de estos dos tipos de contacto, tanto abierto como negado. 97 F2 F1 rT � 98 K1 M 13 K1M 14 F1 X1 K1M H1 M1 Fig. 1.11 7
  • 15.
    Unidad 1- Entornode programación TIA PORTAL 8 A continuación, realizamos el programa que cumple con las condiciones de funcionamiento del circuito de maniobra cableado anterior y realizamos las siguientes pruebas: • Estado en reposo de los pulsadores de Paro, de Marcha y relé térmico. Las salidas KlM y Hl están en reposo. 1 O.O 1 0.1 1 0.2 Q O.O ■ 1 O.O - 11 1 G�� Q O.O ■ ■ 1 0. 1 Q 0. 1 ■ H1 1 O.O Q 0.1 ■ 1 0.2 Fig. 1.12 • Accionando el pulsador de Marcha 52. La salida KlM se pone en marcha. V 1 O.O 1 0.1 1 0.2 Q O.O ■ 1 O.O 1 11 1 Q� O 1 (■ Q O.O ■ 1i1 1 0.1 Q 0.1 ■ H1 1 O.O Q 0.1 ■ 1 0.2 -M ( Fig. 1.13 • Dejamos de accionar el pulsador de Marcha 52. La salida KlM continúa en marcha. 1 O.O 1 0. 1 1 0.2 Q O.O ■ 1 0 0 1 11 fr. Q O.O ■ 1 ■ 1 0. 1 Q 0.1 ■ 1 O.O Q 0.1 ■ 1 0.2 -tf ( Fig. 1.14 • Accionamos el pulsador de paro 51. Se detiene la salida KlM. 1 O.O 1 0.1 1 0.2 Q O.O ■ 1 O.O - 11 ''U,� Q O.O ■ ■ 1 0. 1 Q 0. 1 ■ 1 O.O Q 0.1 ■ 1 0.2 -tf ( Fig. 1.15 H1 H1 '-../ _/ J J
  • 16.
    Unidad 1- Entornode programación TIA PORTAL • Accionamos el pulsador de marcha 52 y lo soltamos. La salida KlM se pone y se mantiene en marcha. 1 O.O 1 0.1 1 0.2 ªº·º 1 O.O -jlf---- a o.o ■ Q 0. 1 ■ H1 Q � ( Fig. 1.16 • Cuando se ha producido la avería, se rompe o se suelta el cable que va al pulsador de paro 51, la salida KlM se detiene, se para el motor y, por lo tanto, en ese momento nos damos cuenta de que se ha producido la avería. 1 O.O 1 0.1 1 0.2 Q O.O � º �,1 Q O.O ■ Q 0.1 ■ H1 1 O.O Fig. 1.17 A continuación, substituimos el contacto del pulsador de paro normalmente cerrado por otro normalmente abierto modificando el programa, ya que ahora el pulsador de paro del programa se ha programado negado: • Substitución del pulsador de paro NC por otro NO. 1 O.O 1 0.1 1 0.2 Q O.O ■ 1 O.O Q O.O ■ ■ 1 0. 1 ºº�,� Q 0. 1 ■ 1 O.O ■ 1 0.2 Fig. 1.18 Seguidamente realizamos las siguientes pruebas: H 1 • Accionamos el pulsador de marcha 52 y lo soltamos. La salida de KlM se activa y se mantiene en marcha. 1 O.O 1 0.1 1 0.2 Q O.O ■ 1 O.O ■ 1 0. 1 ■ 1 0.2 1------i " / · ,____ º Q � Fig. 1.19 Q O.O ■ Q 0. 1 ■ 9
  • 17.
    Unidad 1- Entornode programación TIA PORTAL 10 • Accionamos el pulsador de paro 51. Se detiene la salida KlM. 1 O.O 1 0.1 1 0.2 Q O O 1 O.O � º � Q 0.0 ■ Q 0.1 ■ 1 O.O Q 0.1 Fig.1.20 K1M H1 • Accionamos el pulsador de marcha 52 y lo soltamos. La salida KlM se activa y se mantiene en marcha. 1 O.O 1 0.1 1 0.2 Q O.O 1 O.O Q 0.1 ---tf-------1( Fig.1.21 Q O.O 11 Q 0.1 ■ • Se rompe o se suelta el cable que va al pulsador de paro 51. La salida KlM continúa en marcha. 1 O.O 1 0. 1 1 0.2 Q O O ■ 1 O.O Q O.O K1M ■ 1 0.1 H1 1 O.O Q O 1 ■ 1 0.2 Fig.1.22 En este caso, vemos que cuando se corta el cable, la salida sigue conectada y que nos daríamos cuenta de la avería cuando nos hiciera falta detener el motor. Veríamos que no podemos pararlo mediante el pulsador de paro. Con esta prueba podemos observar que, por seguridad, un elemento que provoque la parada de un sistema físicamente se ha de conectar a la entrada del PLC con un contacto cerrado. 1.1.8 Funcionamiento del registro de entradas Para poder realizar la lectura del estado de una entrada, disponemos de dos opciones, en función de lo programado, por ejemplo: • 10.0: El programa cuando necesita conocer el estado de esta entrada, realiza la lectura en el registro de entradas que fue actualizado al inicio del sean y esto quiere decir que durante todo el sean esa entrada mantiene su valor. Si mientras se '-..,' '-----' J J
  • 18.
    � � Recuerda • •• Se dispone de dos opciones para realizar la lectura del estado de una entrada: • Lectura en la memoria de entradas del PLC. memoria llamada PII. que fue actualizado al inicio del sean. por ejemplo "10.0". • Lectura directa del estado actual de la entrada física. por ejemplo "10.0:P". Unidad 1- Entorno de programación TIA PORTAL está ejecutando ese mismo sean el estado de la entrada cambia, ese nuevo estado será válido para el siguiente sean y, por tanto, cabe la posibilidad que el estado actual de ese registro no coincida en ese momento con el estado actual de la entrada física. • 10.0:P: Con la indicación ":P" estamos indicando que la lectura del estado de esa entrada se lea directamente de la entrada física y no del registro de entradas. Vamos a comprobar con unos ejemplos la diferencia en el funcionamiento en la utilización de esas dos versiones de operando. a) Realizar el siguiente programa y comprobar cómo SIEMPRE que activamos la entrada 10.0 se hace el SET en la salida Q0.0 y, además, mientras se mantenga activada la entrada, también funcionará la salida Q0.7. .., Segmento 1 , 1 �1 0 1- 0 ---- ';, � Q ,fl- 0.7 _____________ % --{ ' QO.O I s )---< Fig. 1.23a .., Segmento 2: 1 �'º-1- º------------------ -""ºº·;..___ r Fig. 1.23b .., Segmento 3: 1 �1 0. 1- 7 --------------------l � º;.._ 1 Fig. 1.23c Nota: Cambiar el operando del Segmento 2 por 1 0.0:P, comprobar el funcionamiento varias veces y observar la diferencia de funcionamiento. Observaremos que unas veces se activa la salida Q0.0 y otras veces no. b) Modificar el programa anterior, intercambiando los segmentos 1 y 2, y volver a comprobar el funcionamiento. Observar que SIEMPRE que activamos la entrada 10.0 NO funciona la salida Q0.0 y tan solo se activa la salida Q0.7. .., Segmento 1 : �'1- º---------------------1 �º� Fig. 1.24a .., Segmento 2: �O I- O ---- 'lb � Q ,fl- 0.7------------ ---l 'lb�O ;.._ Fig. 1.24b .., Segmento 3: �- t- 7 --------------------l 'lb°:;.._ Fig. 1.24c Nota: Cambiar el operando del Segmento 2 por 1 0.0:P y comprobar el funcionamiento varias veces observando la diferencia de funcionamiento. Observaremos que unas veces se activa la salida Q0.0 y otras veces no. 11
  • 19.
    Unidad 1- Entornode programación TIA PORTAL 12 Recuerda • • • Por efecto del ciclo de sean, en función del orden de los diferentes segmentos programados, la respuesta final puede ser diferente. Se ha de tener en cuenta que, al tener bobinas con el mismo operando repetido varias veces en el mismo programa, el estado final de ésta será el indicado por la última que lea el ciclo de sean. 1.1.9 Funcionamiento del registro de salidas Para poder comprobar como el efecto del ciclo de sean interviene en un programa provocando un funcionamiento diferente al deseado, podemos utilizar el siguiente programa de ejemplo. • Segmento 1 ; 1 �O. t- O -------------------i 'll,QO.O r )-------t Fig. 1.25a • Segmento 2: 1 �0. 1- 1 ------------------{ 'll,Q0.1 r )-------t Fig. 1.25b • Segmento 3: 1 �02 t- ---------------- ---i 'll,Q02 r )-------t Fig. 1.25c • Segmento 4: 1 �O. t- 3 -------------------i 'll,QO:- r Fig.1.2Sd El ciclo de sean provoca que, al ir ejecutando cada segmento del programa, el estado de cada una de las salidas las escribe en el registro de salidas, NO en las salidas físicas. Esto se debe a que lo primero que hace el PLC es leer el estado de todas las salidas del registro de salidas y copiarlas en las salidas físicas. Por tanto, hasta que no se inicie un nuevo sean, las salidas físicas no se actualizan de nuevo. Esto puedeprovocar que: • Si tenemos programada, por error, la bobina de una salida repetida, a nivel externo la salida física solo responderá a un funcionamiento correcto y que dependerá de las condiciones de la última bobina programada. • Por el contrario, si trabajamos con bobinas programadas con SET-RESET, estas las podemos repetir sin mayor problema, ya que al ser forzado a O (RESET) y forzado a 1 (SET), la salida física solo responderá al forzado de la última bobina en la que se cumplan las condiciones. • El programa que se esté ejecutando trabaja leyendo el estado de las salidas, según sea su valor en el registro de salidas. Una vez comprobado el funcionamiento de este diagrama de contactos, añadir el siguiente segmento y probar de nuevo. • Segmento 5: �-1- 7 ------------------t 'll,QO;._. Y observa que ocurre en los siguientes casos: • ¿Qué salida funciona al activar la entrada 10.0? • ¿Qué salida funciona al activar la entrada 10.7? Fig.1.26 J
  • 20.
    " ' ", 1 0.2o � 1 0.3 o 10.4 o 1 0.5 o 1 1 0.6 o 1 0.7 o � � Recuerda • • • Existen dos opciones para realizar la 1 activación del estado de una salida: • Escritura en la memoria de salidas del PLC, memoria llamada PIQ, que 1 actualizará el estado de la salida al inicio del sean, 1 por ejemplo "Q0.0". • Escritura directa del estado actual de la salida física, por ejemplo "Q0.0:P". Unidad 1- Entorno de programación TIA PORTAL A continuación, inserta en el programa anterior los segmentos 2 y 7 para que quede así: Q 0.1 Q 0.2 . Segmento 2: Q 0.3 Q 0.4 Q 0.5 o Q 0.6 o Q 0.7 o Q l.0 Q) 'l,Ql.1 Fig.1.27 En donde queda demostrado el funcionamiento del ciclo de sean y como éste puede afectar a un programa. A continuación, comprueba el funcionamiento y observa cómo se cumple la siguiente tabla. Compara el funcionamiento del programa, antes y después de introducir los cambios. 1 0.0 1 0.7 Q 0.0 Ql.0 Q l.1 o o o o o 1 o o 1 o o 1 1 o 1 1 1 1 1 1 Igual que pasaba con las entradas, si en las salidas se programa el operando seguido de :P, en lugar de realizar la escritura del estado en el registro de entradas, lo realiza directamente sobre la salida física. Para comprobar este hecho, se debe modificar el programa, de forma que en el segmento 1 la instrucción QO.O pase a ser QO.O:P (salida inmediata). 13
  • 21.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • El entorno de TIA Portal dispone de diferentes ventanas que podemos recoger de forma lateral para dejar espacio, de modo que una de ellas pueda ocupar la totalidad del espacio, por ejemplo, para la zona de edición del programa. 14 • Segmento 1 : %QO.O:P >-- Fig.1.28 Para comprobar el funcionamiento, debemos activar la entrada 10.0 y, si las salidas son a relés, notaremos un ligero zumbido que corresponde a la activación directa de la salida QO.O del Segmento 1, y a la desactivación por el registro de salidas ejecutado por el programa en el Segmento 6, también observaremos cómo cambia la luminosidad del led correspondiente debido al incorrecto funcionamiento. 1.2 Entorno TIA Portal TIA Portal es el entorno de programación para programar los PLCs 51EMEN5 de última generación, como los 57-300/400 y 57-1200/1500, aunque también existe la posibilidad de integrar en un mismo proyecto otros equipos: los de control de movimiento, como son los convertidores de frecuencia y servomotores; los sistemas de visualización, como son las pantallas de operador táctiles o de teclas y la configuración de las redes de comunicaciones entre estos. Lo primero que se ha de hacer en TIA Portal es configurar el hardware con el que se va a trabajar para al final obtener la siguiente visualización del entorno. Podemos ver como la estructura de TIA Portal está formado por una serie de ventanas como: © Barra de título: muestra el nombre del proyecto. @ Barra de menús: incluye todos los comandos paratrabajarcon el TIA PORTAL. @ Barra de herramientas: incluye los accesosrápidos a diferentes comandos. © Árbol del proyecto: muestra todas las opciones que pertenecen a los equipos y sistemas configurados en el proyecto. @ Área de trabajo: esta ventana será diferente según la opciónelegida del árbol del proyecto, en este caso tenemos visualizada la configuración del dispositivo. @ Task Cards: esta ventana cambiará en función de lo que visualicemos en el área de trabajo @, donde podemos elegir el componente adecuado de la lista correspondiente. (J) Vista detallada: muestra los detalles de la opción elegida en la ventana árbol del proyecto @. @ Ventana de inspección: en esta ventana aparecen las propiedades del objeto seleccionado en la zona del área de trabajo ®· @ Cambiar a la vista del portal: al actuar sobre esta zona la visualización pasa a ser la de vista del portal. V V V
  • 22.
    " """ ') ..... .----... ') ,_..._ " í ' 1 ' ' Unidad 1- Entornode programación TIA PORTAL @ Barra de editores: a medida que vamos abriendo pestañas o módulos, estos se van indicando en esta zona y que podremos cambiarlos de vista en el área de trabajo en función de la selección. Fig. 1.29 @ Barra de estado con indicador de progreso: es un indicador con los procesos actuales en segundo plano. Al posicionar el puntero del ratón sobre la barra del progreso aparecerá un tooltype con información adicional sobre los procesos que se están realizando en segundo plano. Si no se están ejecutando procesos, se visualiza el último mensaje generado. Aunque nos aparecerán demasiadas ventanas de forma simultánea, es muy fácil plegarlas y volverlas a desplegar simplemente haciendo clic sobre los siguientes puntos marcados en cada zona: C<:��,o,oénó�d•>JKl>•l,01 Jr. O..... r d..p"6111«1 • :a- lloq.,..,ffl""lllt1"'1 � � 01,¡n,, ...'lológicc,1 ,1,,_�ir•oi,,.w ·•�·---· 1 4 V1r,.bl'111.C • llpcn dt ff..,, n.c • :;.. nblH ftct,,..,.,100., y!o<3do t t1<kv91 � t :t, Ou,n 61 �1N<lnpc,1,t;,;c, j .......t�ión<Jfl�ftffll " u11n d1 w- • . Mo<lulon loct�, • � o.,.,.,.,,.,,,..., • t_.Qo,,��t1t>on .tt!d�,,...,_ ......,,,...,...,...,.,. • .....�flO,qtll,.,. • - l��-d1 t.')t'1-•'-"',,.,.V!I ,r o Dl l..ir)Q lO t .tql �"IIMl9oofd • CO!lflldom ""'"' l)fK) t G<I""'"""'' "' '"'""'" .............. ""' c..,. ,.,.<--••ión ... Fig. 1.30 ' !I Cl'lf ► � Sl9ntl -�1 1 -!I Tl'l'QoldH-.1 • -11 Jom,y1.,.,d1 ' .. ' "'"" , .,..., ' .. Una de las áreas más importantes del entorno TIA Portal es la de Propiedades, que muestra todas las características posibles de configuración del elemento seleccionado en el área de trabajo. La estructura general de las propiedades de la CPU es la siguiente: 15
  • 23.
    Unidad 1- Entornode programación TIA PORTAL 16 Recuerda • • • En la ventana de "Propiedades", es donde se determina toda la configuración del elemento seleccionado. En función del elemento seleccionado, este dispondrá de más o menos opciones. • lnterfazPROFINETIX1] Genera l Direcciones Ethernet Sincroniiación horaria Modo de operación ► Avanzado ID de hardware • Ol 14fOQ 1 0 Genera l ► Entradi!ls digitales ► Salides digitales Direcciones EfS ID de hardware ► Al 2 ► AQl Signal Board ► Conuidores rápidos (HSC} ► Generadores de impulsos(PlOff>Wi.4) Arranque Ciclo carga por comunicación Marces de sinema yde ciclo ► Servidor web Idiomas de la inrenl!lz Hora Protección RMursos de conexión Sinóptico de dire-cciones Nombre; 1 PLC_1 Autor: l �V, ::: oc :: •= n, = & ::: Ra ;::m :::;: 6n ===========� Comentario " ... ... V Slot: 1 Rack: ;:@ e---::=====:::, OescripCf6n abreviad!: �c:it>CJRly --� Oe-scripción: �maria de trabajo 75KB; fuente de � a limentación120/240V AC con 0114 x24V OC SINK/SOURCE, DQlO Xrelé yAl2 integradas; 6 contadores rápidos y4 salidas de impulso integradas; ªª Signal Board a mplía 1/0 integradas; hasUJ 3 m6dulos de comunicación para comunicaci6n serie; hasta 8 módulos de seña les para a mpliación lf0; 0,04msl1000 .EJ Rt-�rencia: 6ES7 21�1 8G40-0XB0 VPrsión di!' firmwa rl!': � V ;. 4 ;,; ·º ..:;;_______...;;¡¡¡¡¡¡¡¡¡¡¡¡=::;¡-=-' 1..-_....:k = tua-liza r dl!'scripci6n � Fig.1.31 En esta área de Propiedades es donde se configura todo el hardware que contiene la CPU con la que se está trabajando. Se puedenconfigurar las siguientes opciones: • • • • • • • • Dirección de los puertos de comunicación. Direccionado de las E/S tanto digitales como analógicas. Configuración de las entradas de contaje rápido. Configuración de las salidas de pulsos. Configuración de los bits especiales, marcas de sistema y de ciclo. Configuración para el uso del servidor web que integra. Configuración de la hora de la CPU. .. ./... 1.2.1 Configuración del hardware En primer lugar, abrimos TIA Portal mediante el siguiente icono del escritorio: TIA Portal V14 Fig.1.32 A partir de aquí arrancará el programa TIA Portal y se mostrarán una serie de pantallas que se describen a continuación.
  • 24.
    í ' Recuerda • •• Lo primero que se debe determinar en un proyecto de nueva creación en TIA Portal es la configuración del hardware, en donde se indica con qué dispositivo PLC se va a trabajar. Es muy importante y necesario que coincida con el quipo físico con el que trabajaremos, sobre todo los campos "Referencia" y "Versión". En caso contrario, el equipo físico entrará en estado de error permanente. Unidad 1- Entorno de programación TIA PORTAL Fig. 1.33 El siguiente paso es generar un nuevo proyecto. Para ello pulsamos sobre Crear proyecto y aparecerá la siguiente pantalla: Fig. 1.34 En ella debemos completar los campos Nombre del proyecto para indicar el nombre que tendrá el proyecto, y Ruta para indicar el lugar en donde guardaremos el proyecto. Para continuar habrá que pulsar sobre el botón Crear, tras unos segundos de espera tendremos el proyecto creado: Fig. 1.35 17
  • 25.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • La configuración del hardware del PLC S7- 1200 se deberá completar con las diferentes tarjetas o módulos que contenga el PLC físico, ya sean tarjetas incorporadas en la propia CPU (signa/ boards) o módulos añadidos en ambos laterales de la misma, para la ampliación de entradas y salidas, así como para la amplición la funcionalidad en comunicaciones. 18 A continuación, debemos configurar la CPU con la que vamos a trabajar y para ello pulsamos sobre Configurar un dispositivo. En ese momento TIA Portal presenta la siguiente pantalla en la que figuran los diferentes dispositivos disponibles: • 9�n-uoo . .,,"" • ·CPV 1l11C...ot>Cltr • . CJ'U l:11CDC.oOC:IOC • -2 CN 1 l1!COCIOC#J' • ..S Cl'U 1212(AOOtillty • .;JO'l,1 1�1;C C>CA101i)C • � Cl'U 1J1 1tOCIDCMr • .JI Cl'U 1!1o1CiCl1Xitfr ■ilU l14-11t»GXIO • · CN lll'< DaDCO:: , a au ,21,&,e � • a CPU tllSCK'°°"'J • .!l ffl.1 1 2•SC� l 'JIOV lllSC � • -!i OU Ul�C OCIOOC>C: O J CP/ 121,&f(OCIOOtlC • ..acru 1:1«00DC-, • ..aou 121,r,c;001KJOC • :,aou 1:1M<oooc:.wr­ • .!1 cru 1:oo "" "Pf<Jk11 Fig.1.36 ;: ■ ¡:::· -1 tlo,c� Ml"'O>,.OtlfJbt,O loc.l.b,,u,d,, ª'""'�,.,,.aon•:6':.«lll ..:.<.,,,o,,,, :,.-oc SllMOUla.OQ1C,,�lty�l ir�1'•<1<11'6 «"UdO<Urlp401 ,411'GflOt ,._�,JH �...,,u1. s.,,. .., 10t..i ,,.,pw i,o .....,,_.., 1w,,.. 1 ...6'f�4• •--··-�.. �ac.,4,,,•»r ,..,u l..,6'f...... H lt!lllti P,.R ,,..¡>1,,.-IIO; 0.0<l-•IIIOO """-tio,,u.c-"'6flfll:IO",nf:T�<t """"""-� IMt�"""'Ho(,n!'C"'l,C Seleccionamos Agregar dispositivo, después elegimos el apartado Controladores y por último seleccionamos el modelo de CPU comprobando su referencia. Es también muy importante indicar la versión del firmware, que ha de coincidir con el equipo a utilizar. Al terminar, se deberá pulsar el botón Agregar y se visualizará el entorno de TIA Portal: , • _. e'°1J1,t• d• P"'!I••"'• , .,a �ios tn,IOlóp:os • ,.; -n�••JUmu , :;. .......�, !'1.C • JJ 1'po1 dadu111fl.C • .,;1�blu H olnt1WC;,;., ).,,._d • .1111 1S1diup1 onlóna • ,.A bu, • :., o.un ft P'019 6o dupo1illoo _., eo,,�11c>lmdtd"P<l''1N � Ol,ln yd' ..9"6>11(0 ,o lloqun H p,ogr."'• Ob¡,,1'0S�flOl6to<Ol - - - M.• 011"-'DQIO_I ·�· ""·' ""·' IISC_J 1 11 IOOl.1011 HSC...� 1 19 IOIL015 Toutly lt1t•gr�t•d Au!Om,ilticm PORTAL ► .,a hn•ry-"'1 .... ► � OQ ...... .... ...., HSC....5 ► 4i � ��=���=E._.....;"-;--;]_,...,.-''�T-,:-�""-- :•,;,.��::��.J:::::::,�'::.., f 1 fntrodHdigMIH • S11odndi9,..lu O,,etcK>nnflS ,.. > tntomvd6n Fig.1.37 A continuación, se pueden añadir todos los módulos de ampliación, si los tuviera, tanto laterales como integrados en la CPU, por ejemplo, una salida analógica añadida sobre la propia CPU. En la carpeta Signal Boards localizamos el catálogo del hardware (AO1x12 BIT) y dentro de este la tarjeta con referencia 6ES7 232- 4HA30-0XB0 que colocamos sobre la CPU. ....:
  • 26.
    í ' ' ' ' ' ' ' 1 ) ' ) 1 ' ' ' Unidad 1- Entornode programación TIA PORTAL • _ )JNll)o>,0_01 • �••Óllpo'l«r'tO ª°"po)-,�· . - , PL(_l (CJIIS 1l141C� l'f �aon•-,o,­ l o,,1,.,. , ,,.9��,i.:o • · :a- llc!Qw• · """""" • • Oo,rm'""°""9ic"O"J , • "'•rir,u tlW..,., • 41 V.nebln !.C t .. >lpo, okd•wt"-C • •-bla•...H..•tié.,J""3d • .. ..cl,,,p, � ro' 'Al•• •�• L¡ Vlfti ""' ,,,,_ .i_]Ol' Vlf� di d�potlthoot �-________]_=' .,.. 2' � :;l;f • ::'- j V11t..Wt"lfr.il6' olspcwltt- 1 't./ Moclwic �< °""'ac,nl O,,e<:tióto Q � - · =• Ol l4'CIQ IO_J M ?_I "'IJ IJfltlT_l ,.__, .., HS(._2 f • • 10IM...TII07 ---------.-.·--------=::-----;-�.:--;�.:;________ "''-' ""-' _,_ , CN • ..tl �'f"91 -tdf '.� ' .,., ,.,OIIOQ �j , __..., ; · � ; IIIQ ll<t211T l ---- [1 ¡��, !�:�i--uoq,:ao i } t ; a lll�A>ff «>P'_*{_ "' 1 -.. t 1, 0.10, ff ,...,.. . ,i,,....... t 31 h,..ryS-ld1 � l-'---.....:...::::::,..._____.;,;__...._.;r.....__,'--...:.l--,==....;;,==----=-=--'::1 :!� : _.,,. C�••t,o,,dad'l a · j,1 0---1�9,..._ o �• " �"­ °"'1o• w.:�01 .,...,..._, • V.neblit1 PI.C t Sti.d» ....�. ""-':c-• f'S "''""'"""'"' Fig. 1.38 1.2.2 Configuración de las propiedades , _....., ..... , .,., ··-.IIO , :. liblllvJ W c-lllliuCIO'I • ..!1 M6cl..,. "'°"""91<a ¡, • ¡ Seleccionamos la CPU y con el botón secundario del ratón elegimos Propiedades. Podemos observar en una ventana inferior las diferentes características configurables de esta CPU. , ;.,. 11o,qun � ""9,..... ► • Ollrf!OJIJC"""""'"' t fl Mmn ,_1 , :.v....111it, ru: , ,� ..•-.,_e x 1ana, t - �b¡.u lt OÓ!t..,.� l .,,.,, c....._,__. • kd.,lpJ ,,.._ ,1 • • � � • � �<ff . ... . .... . rn.. 1 .ao.""•'"""""_... O,,.,plK <T c.,prn...,.,.iM C."J••�ftlM,-n.,.o,,11r,e , ,...w..:.. ........ ..... ....,,,...<..,,_.� S. °"""'r..,_ao ,... " a.- ♦ 4', 11:1, •lo::<l,,,..,..,,"� ..,,.....,"""'�.-............_, IJ{. llfiJt'fl'ICIU "'°... . , ]i u� H lla,,..IM, """°•---.- Fig. 1.39 En la que podemos configurar el direccionado de las E/S, tanto digitales como analógicas, los contadores rápidos, la dirección Ethernet, Vamos a configurar algunas de ellas: • Dirección de la Interfaz PROFINET [Xl]. Dentro de la Interfaz PROFINET, seleccionamos Direcciones Ethernet y vemos que por defecto vienen asignadas tanto una Dirección IP, la 192.168.0.1 como la Máscara de subred, 255.255.255.0. 19
  • 27.
    Unidad 1- Entornode programación TIA PORTAL 20 Recuerda • • • En la configuración de las propiedades es importante tener presente, como mínimo, la dirección IP de la CPU, así como las direcciones de los bytes de entrada y salida para realizar el posterior programa de aplicación. Constantes de sistema -----------------==.......J '��-�!Oirncciones Ethernet �nertl lnteñ,H conect.lda en red con i•hPH·iribii@ttti Sincronl!lción horaria Modo de o�r•ción ► A.1n:1do Atceso 11 servidor web 10 de h,rdware ► 01 14/0Q 10 ► ,. 2 ► AQt Sign1l 801n:f ► Com»dotes rlpidos (HSC) ► Gtneradorts de 1mpul.5os {MOJ'Pt.O Ananqu� Ciclo Citg• porcomunk•c•ón Mln::u de sistema yde cido ► Servtdor web Idiomas de I• ,nterfli:: Hor• Protección Conuol de c:onfigur1ci6n �cursos de cone.Ji6n Sinópocode direcciones Protocolo IP PROFINET Su�d'. ::="::: º::: 'on, �c :::" ::::d : •=;=:;==:,----...­ A,greg•r sutn'ed �un•rdirección IP en elP'O:)"Cto Dirección IP: 192 . 168 • O . 1 Mise.subred: 25S . 255 . 255 • O Q l't!rrrutir •Jurur t. dirección IP directemenle en el d,sposmvo Q:;;::;: 0 mbre de disposl1i,o m'.>RNETen el � �=���;::;; ente el nombre del Norrlbrt' del di'sposÍUtO PROFINET pk_1 Numero de dispositivo; • Fig.1.40 • Direccionado de las E/S digitales. Desplegamos DI 14/DO 10, seleccionamos Direcciones E/S y observamos que, por defecto, las direcciones de entrada y de salida empiezan en el byte O: Entradas: 10.0 a 10.7 y del 1 1.0 a 11.4 Salidas: Q0.0 a Q0.7 y del Ql.0 a Ql.1 ► General ► lnt,rfuPROFINET(XlJ • 01 14/0Q 10 General ► Entradas digitales ► Salidas digitales MOUil·l,IJidd 10 de har'dw,re ► Al 2 ► AQ1 Signel Board ► Contadores rápidos (MSC') ► Gf:neradores de impulsos (P'TO� Atr1nque Ciclo Carga por comunitación Marcu de .sisuma yde cido ► SeNidor v.-eb Idiomas de la inter6t? Hora Protección COn'D'OI de conigurac.ión Recursos de cone.>Gón Sinópbco de direc.ciones Direcciones EIS Direcciones de enlrada Oirecdon inicial: 1 ._ o __________.1 o,re,clÓn lnal: 1 Bloque de orgeni:ación: 1 � (Actu1liz.tción eutcmític,) MemdÑ imagen de proceso: IActualización 1u·wn.itic1 Direcciones de salida 01recc1ón ,nkíal: l ._ o ____________,1 Otritcción inal: 1 '·••I >•••, Bloque de organ1-3ción: 1� (.Aciualiac:ión automitic,) �:••t Memoria ímagen de proceso: 1 .. A _ c _ w _ , _ rb _ 11c _ i_ ón _a _ ut _ o _ m _ i _ ti _ co _______� ,... ·· = ·! • Fig.1.41 • Direccionado de las E/S analógicas. Desplegamos Al2, seleccionamos Direcciones E/S y observamos que, por defecto, las direcciones de entrada integradas en la CPU, empiezan en el Word 64: ...._,,
  • 28.
    1 ) 1 ) 1 ) 1 1 ) Unidad 1- Entornode programación TIA PORTAL Entradas: IW64 e IW66 Gener1I ► Entrtdts 1naló91cn HiéUH,ibii ,_, Olrecdones E J S , • 1 Direccione& de enuada .1 O,rución irnci•f: l ,._ 64 __ _ _ _ _____,11 01r,rcrión 6n1I: 67 r Fig. 1.42 '··· '··· Desplegamos AQl Signal Board, seleccionamos Direcciones E/S y observamos que, por defecto, las direcciones de salidas analógicas empiezan en el Word 80: • • Salida: QW80 General ► CieMr•I ► .,,.,to,PAOONET IX11 ► Ol 14/DQ 10 ► N 2 • AQ 1 Sígnal Board ► �MnJI ► S•IKfn INl6gtc:n l·lié931·i,1414h 10 de hlrdi,,1rt' ► C:Onudorn rápidoi (HSc.) ■ Oirea:iones E'IS Ohectk>Ms de salida Oireuión JnÍCí1I: l ._ ao _______,1 0.r«ClCin l�I. &1 Sloquto dr organr.lción 1 - GAc:tu1li:Ki6n 111t.om,tíu) Memon, UNgtn de pl'tSUJo: �iu,c.ió - -- "- •uto _ m _ itJ< _ . _ • ______...., Fig. 1.43 Direccionamiento de contadores rápidos. Desplegamos Contadores rápidos (HSC), observamos que dispone de seis entradas de contaje rápido, seleccionamos la primera HSCl - Direcciones E/S yobservamosque, por defecto, las direcciones de entrada de contaje rápido empiezan por ladirección1000: <l Entradas: 1000 a 1003 :E:::; : · :: :"� h< • 11· 1 lnu#dn de h1rdw,r,r t ¡.;¡p;;¡.¡,¡3¡;., tO dr htrd-Wfr� J ► HSO ► HSO ► HSCA ► HSCS ► HSC6 11 > �c:doMS fJS _________________ Dlretdonn de enbada Dwf't<ÍCn wtic¡.1: 1 ._ 1 _ 000 ________�, Ouwción intl 1005 Bksqw de org•rmliCÑJN, • -- (A(UJlfí:..c:ión .uiomáiiu) Mt:rrora6 m,tgtn M prous.o� • �'6,,, ,utonú;,c;, Fig. 1.44 Direccionamiento de generadores de impulsos. Desplegamos Generadores de impulsos (PTO/PWM), observamos que dispone de cuatro salidas de pulsos, seleccionamos PTOl/PWMl - Direcciones E/S y por defecto, las direcciones de salida de pulsos empiezan por la dirección 1000: 21
  • 29.
    Unidad 1- Entornode programación TIA PORTAL 22 Entradas: 1000 a 1001 Fig.1.45 De esta mismaforma realizamos la configuración del resto de parámetros que se vayan a utilizar en el programa. Si insertamos un PLC 57 1512C-1PN podemos ver como el árbol de propiedades es bastante más amplio que en un S7-1214C: ► !nuduNIOANET(Xtl ► N 'S,lo0 2 !X1CI ► Ol 16<00 Us(Xtt l ► OI IUJQ l6 ()C1 21 M•nqw - C.n;• dt CCffll.llK.aoón Uut;a1 d.t 1•s'ttm• t deodo :sa.M:llKMtmw,Gerd ► OMsrma.od�s�t<e� Jr.,qos d.cft.C ► StA..Oon•,otb �•� ONS ► OÍ'lpky - -· ► f'lro'WCOOft & 5�.d > 0,C OA ► A.rtme dt •..,.tflt.600ft del 1� � ff <�•cion �o, ..J-t�ltQII s�o d. ckeGCll:fW1, ► la:;,tN;USl'olltWl'tt Fig. 1.45a Si visualizamos el resumen de la tabla de direcciones que contendrá por defecto la CPU 1512C-1PN, ésta la podemos comparar con la vista anteriormente de la CPU 1214C. �Visla tr.,)Qtrigic.a 6Vista d9 "9tle-s [J't Vhb de chpodliw:s 'Vi:sla general de d'iposillvo.s 't, - ..,...., ..,. - -·- Q .... Q Q • "-C_l o C"1 Hl .:C•1 ,.,. Al s.N) l_l o ,. Q_. Q_J lol S! .M) Z Ol 1610Q 1'-1 Q 1 • 11L11 .__. Ol 16l>C) t� Ol 161DQ 16_l o 110 1LH ._, 011-.DQ16 HS<_l Q 116 H� ._,. """ HS(_l Q 111 30. ¡5 -,:o._31 ""' Pedil �_O HS<_l o "" .._., l�l "'e H'it:_1- Q 119 .,_,, "---"' KSC HSC_'S o 1 lO TLH ..._., "ljC K'iC_6 o 1 .:1 91_101 6"J'9 ""' 1'1h:.t_1 o "' 111L11J ..__., .... Puk.e_l o 1 U 1H_111 "iLlO] ..... l'uk.t_J o 1 "?4 11L1l:1 104 .11'i - Puk.e_4 o 1 15 1zz..._1¿,; 11LH1 .... . -.eñ.t< l'AlFWIH_1 o 1 X1 > 1cm. . Fig.1.45b
  • 30.
    ' ' ) ' ' 1 1 ' 1 Recuerda • •• Finalizada la configuración del hardware es recomendable realizar la acción "Compilar" que nos informará de si el resultado de la misma es correcto; en caso contrario, nos muestra el listado con los posibles errores detectados. Unidad 1- Entorno de programación TIA PORTAL Una vez configurado todo el hardware comprobamos que esta todo correcto y libre de errores. Mediante la opción Edición - Compilar o directamente mediante el icono Compilar, podemos realizar la comprobación de posibles errores en la configuración. • · t i Pro¡,ecto Edición Ver lnse-rtar Online Opciones Herra mientas Venta na A.}'uda I] Guardar proyecto �J! Ji g: 1rr Establecer conexión online � • . 1 • .!!' Vista topológica Fig. 1.46 El resultado se puede observar en la pestaña Compilar de la ventana que aparecerá en la zona inferior: Compilación lin1h2d1 (errores; o; advertencias: O) Jwu, Oescnpc,on Ir a ? O • 1'1.(_1 ;,t O .... Bloques de progrtme /A O No sr ha compilado ningún bloque. Todos los bloques están actualt:ado! O • Con6gufaci6n hardware /A o o- El hard,...are no se ha compilado. Lt configuración u acrual Compilación finalt:ad, (errores: O. athe1<enc1as•O, Fig. 1.47 Fallos Ad..,enenciu Hcr1 0 0 1 1 :27;19 1 1 :27:19 O O 1 1 :27:19 ? 1 1 :27:19 ______1 1 :27:20 Si al compilar aparecen uno o más errores, no se podrá realizar la carga ni del hardware ni del programa al PLC, en cambio, si aparecen una o más advertencias, son avisos para informar al programador de alguna cosa que debamos tener en cuenta, pero dejará enviar hardware y programa al PLC. 1.2.3 Detección automática de la CPU También es posible detectar automática de una CPU e importar directamente su configuración. Para ello tenemos que tener conectada la CPU online con TIA Árbol del proyecto [Il ◄ Portal e insertar una nueva CPU al proyecto desde Árbol del proyecto - Agregar dispositivo: Dispositivos • _J UNIDAD_Ol _IW';':9rega r dispositivo !&, Dispos itivos. y redes Fig. 1.48 Entonces en lugar de elegir una CPU concreta, podemos seleccionar la referencia correspondiente a la CPU 1200 sin especificar o "CPU 1500 sin especificar": 23
  • 31.
    Unidad 1- Entornode programación TIA PORTAL 24 • !il ControladorH ., � SIM11CS7-1200 • ta cru ► [III QJ 1l1 1C ICIDO'Aly ► [I C"-J 1 211CDCit>CIDC • 3- cru mtc octDOfl)' ► �Cl'U 1ll2C ACIOO'llly • ÚISl..... 11C SM500 .. [a c,u ► :a e"-J UIH l'N • .a a11,.1 ts11C-1 1'N • � Cl'U UUC·l l'N • Jl cruun-1 l'N • Cil cru 1s1 s.2 1'N ► (lf CPU 1212C OC10C10C ► l:j UU 1212C DC/DCíNy , [acru 121..c� ► [a Cl'U 1516-l l'N/DI' • Ca cru n1H P'N/O!' ► Ci¡CPU 151M l'NIDP ► [aC1'J U1M �!'ODIC ► [lJI Cl'U U1 1M l'N ► IJi CPU l513M l'N ► [m O'U 1515F·2rN ► � Cl'U l S16M l'N/OI' ► -'I CIJ 1517f-ll"NIOI' ► lja CPU U18f"4l'NIDP ► 'Jli Cl'U HISf-.Cl'Pi/O!'OOK ► -11 CPIJ 1511N l'N ► 'liQJ 1 51 5l-21'H • � CN 151?B l'N/OI' l ► '.:a CPU 1 5171M l'H/Of' • Cil cP'IJ 1 500fl!'IUpeC1fiClr l'.l>lemu:i.t m7,xx-i0oooM� ► (a Cl'U 1214C DCIOQ)C , fa cru 121..cOOOCJAly • !'.'il O'U WSC1't:JDChfir , Jlcru 1 21sc OC10C10C ► !a Cl'U 121sc OOOC111y ► [8 Cl'U t217C OC/DCJDC ► [a C1'1..1 121'4KDC1DCJDC. ► {a Cl'U 1 ll�KDODC.fff)' ► [¡j Cl'U 1215KDCIDODC ► i:li Cf'U 1 21SK OOOCJley • [ia Cl'U 12001in ..1pec,k1r ► [a S.....,11CS1-UOO ► fa Sl..... llCSHOO ► � S......'IIC S7◄00 ► [a SLM'o11CfT2000'U ► t¡ De..;« ,.,... Fig. 1.49 De«c11pcl0fl Cl'U 2001ine1�" ve,uón • ► (a cruSIP'LIJS : i! SIW,'!IC SHOO Fig. 1.49a Aparecerá la siguiente información, en dondecómo se observa no indica ninguna CPU concreta. Además, en una ventana informativa se nos recomiendan dos posibles soluciones: • • Utilizar el catálogo de hardware. Determinar la configuración del equipo conectado. En este caso optamos por la segunda opción y por tanto pulsamos sobre el enlace determinar: t'f<l)'K1'1 flht•� v., ..,..n;t, °'""" �· He""'"'"""'' v.,ma,u � l) '.j' Q Gu.-dar� ,1, X •• ...!. >< lr)t C- · -li r:D !Ii !Z C i Ol1po1NIVD'!II '! 0 0 • c.l UfCl/10�01 ft 1,¡¡,..¡.r d,.po«t1vt1 ili, o.po1_y,..cl<r, ► ".s �11CftJ U14CJrCAICIRI)! • .41 �2 !11<,o;r.e<llk CJ1Ul200J lt eon1g..,.ti6nh dil.po.- ► fo a¡.,que, H p«>gr•,.• ► � Oti¡uo,ac:nológico1 ► lj r...nte•••rN1 ► � Vorwblul'.C ► :... lpo< ffdllml'l.C ► � llbla16e ""1<rrwc.6nytor.d 2!¡ 1nt:t""1ci6,,drl p,ogr•,.,. , r-. 0111x de p,o,fdt�p,xrwo _ _! ��• . dr te>lO< ..- '°"'11"..''°"""' ""e<>''lrv-.; .J Bloque, Ñ Pf09""'" · f"l,enlfl••mo• .. v .....bkul'lC llpo< dedllllSl'.C fl...po1ll""'"°"'' "pe<lflt.d,;,. ➔ Uliic•ol . , p111Kp«,liud1CJIU ,.:_ ➔ OIE·::.�_ ..,J ta conligu<Ko6n oeldi'f'O'lffl"fOCO<'><CUClo .. '11 Fig. 1.50 .. l'.C..2 " " '" "' _ ji ii X DuetcLilnl DtrKo6nQ Tou.llylntegra'-C! Auto!Nltkln POfl.TAL .... ► '."a¡ OIIOQ ..... • ..ilM> ► --� ► -11Wc1ulo1d• comunicoci6n , ;,¡ M6d<Jlo<tecr,ol(,g,<o, En el momento de pulsar sobre determinar nos aparece la ventana para seleccionar el puerto de comunicación del ordenador y realizar la búsqueda de la CPU conectada, eneste caso a través del puerto Ethernet del ordenador mediante protocolo PN/IE. La búsqueda se inicia al pulsar el botón Iniciar búsqueda y, una vez realizada, nos muestra la CPU encontrada con su nombre y sus direcciones IP y MAC: ___ ,,, J
  • 32.
    ' 1 ' ' ' ' ' ' ' ) Recuerda • •• Existe la posibilidad de una detección automática de la CPU conectada físicamente al ordenador. Para ello se deberá seleccionar el tipo de CPU que aparece en la carpeta "CPU 1 200 sin especificar" o "CPU 1 500 sin especificar". Unidad 1- Entorno de programación TIA PORTAL A l)o< __ ,cu,_,,._,_, .... .,...,.,,�11 .....................,..- :!'l ___<M...4ol""""""" r.i su--.1,_...,. .. ....,.,....,.- r,.....,.,.,,.._,....,.,..,_ Fig. 1.51 A continuación, pulsamos sobre el botón Detección, y observamos cómo la configuración del hardware de un 57-1214( nos muestra los datos de la CPU localizada: 0 0 • LJ UMIW>_llt ,6 11g,...,d,1po111i.o A Di<pc><-yredn • :. l'lC_.1 fCIUU14C� • l'I.C;_US!Y.!!1-«':0C.VCAlg_ lt �CJ6ncledrl,...eroi i_ OÑifM,yd;..p.lM:o • r.: Noqw,t1 d• f><ot,_<N • � 011Je11Krecno16gcoo • fuerna,••-· , :,. .........., f'I.C • !..Jl ,.,... cle do101 M 1 �'11111.t • dt oi>ctr,•t>6"1y.,,_<f , r._ a.m,p< .,...,. • i:.;l hc,u ,__ • :a _ ,•_ ••_ • _ - _ '" _ '_ "- _• _ �--''-• ..¡ J, ::�;• (va;¡.bl.._r.i 1· ':" t.l,._. v Vttta lküll• • _...,,,,o,,wu1X11 s..w:-••tiot•111 ................ , ,.,_.,..do IOM hU...,_rt > Dl l•-'!>0 10 ('J�...,iti,,j.,.to, lo dórtu,,flrl'ómwmentio =•• .só,po,iti.<: V (r Fig. 1.52 1.2.4 Creación de la tabla de símbolos Es recomendable, antes de la escritura del programa en el entorno TIA Portal, la creación de la tabla de símbolos de los componentes a utilizar en nuestro programa. Para crear estos símbolos en TIA Portal, debemos elegir, dentro de la ventana Árbol del proyecto, la opción PLC_l - Variables PLC - Tabla de variables estándar: > ll'lfor11111cl6tl Arbol <1el proy@cto O ◄ DisposltillOS O C> • � UNtDAD_01 lf Agregardis positivo al., Dispositivos y �des • Qa Pl.C_1 (CPU 1ll�� Configuracr6n de dispositivos � Online ydi119n61obco ► � BloquM de programe ► ObJMOf. tecnológico, ► [¡¡ fuentes extemu V1ri1 blu PLC � Agregar table de variable, __ . '1i:Tibla de- venable-r. euánder 1?91 ____,__., ► � Tipos de duor. Pt..C ► � Tablas de ob,erveción yfonedo permanente ► � Backup, online ► .__. Traces ► [¡¡ Dates de proxy de d1spos1uvo i!!j Información deJ programa .!) Lnus de textos ► [ji M6dulos locales ► !;i Datos comunM ► :C: Configuración del documento ► Idiomas yrecurs;os ► "!'Accecos online Fig. 1.53 ,. 25
  • 33.
    Unidad 1- Entornode programación TIA PORTAL 26 Recuerda • • • Es aconsejable elaborar la "Tabla de símbolos", ya que nos ayudará a un mejor entendimiento del programa durante el proceso de comprobación de su funcionamiento. Al abrir esta opción, nos encontramos con una tabla totalmente vacía: UNI 110_01 • PLC_1 [CPU 1214C IIOD0Rly) • Variableo • tanda, 291 - ii1 ii X _ _ I!J "?' �X Tabla de variables estándar Nombre Tipo dedatos Oirecc1ón Remanencia Visibleen HMI Acc�íbledesdeHMI Comentario <Agregar;,. Fig.1.54 0 0 En la que, a continuación, introduciremos las siguientes variables: UNIDAD_01 ► PLC_1 (CPU 1214( AüOORty) ► Vanables PLC ► íabla de v,mables e'>tánda1 (36J - ji ii X "?' !lx Tabla de varlabees estándar Nombre <11 Sl]ULSJIDOROE PARO <:I S2_PULSAOOR OE MARCHA 4::1 F2_PFtOlECCION M:>TOR PALETS -fJl KlM,_�TOR CINTA PALET Tipo deditos- 01retcíón "'º' ".10.1 '""' "',,10.2 eool �3.0 Bool '11,Ql.l Rem•.. - Visibleim HMl Acc.nibled.-sde HM! Comenu,rio li1l � Puludorde Paro. Contacto NC .., li1l ¡;;;, Pulsador de Marcha. Contacto NO li1l li1l Disyuntor m19netoterm1co motor cinta transporte. � � Motorcint.1 pa!en Fig.1.55 Una tabla se símbolos se puede copiar en un archivo Excel o desde él, para ello, tan solo es necesario seleccionar las celdas que deseamos copiar: UNIDAD_01 ► ptC_1 (CPU 1214( AU0ORJyj ► Vandble5 PLC • Tabla de v.mable?> estam.Jar (36I - jl ii X Tabla de variables estándar -r N - om 7 • b 7 1 r _ , '= ,u éc , . ce AOO ""' R "' D "' <"' P• "'°" =��-1- Ti c' ,po � d• _ d _ ot T <>s =ir.c D � irec � < - ió r n , Rem1-. Visibli! i!n HMt Acc�ibli! d1!sd1! HMI Com"l!ntario ._ , ..., ,..,,,..v Bool j_l �0.1 • li!I � Puls.edord1! P1ro. Contacto NC :¡ -O· S2_PULSAOOR DE MAACHA F2_PRO'T!COON f.OlOR PALE� KlM_MOlOR C!NTA PALET Bool '1.10.2 � � Puludor di! Marche. Contacto NO Bool '1.13.0 � � Bool 'J,Ql.l � lit) Motor cinta peli!U Fig.1.56 A continuación, abrimos un archivo de Excel y con la combinación de teclas Ctrl+C copiamos en el portapapeles y con Ctrl+V lo pegamos en una hoja de Excel. Obtenemos la siguiente vista: 8 ., • ; UNIOAO�Ol &ce! O, - t: X Archivo Jnsert•r IDiseñode pagine j Fórmulas IDatos IRevisar IV1st.1 1PRUEBA DECARG.J EQUTPO I Q lnd""r lmuarses,on R Comp,nhr Portapapetes r. 84 r a 1D 11 Cahbri • 1! • N K i .. A ª A.. il · � - .A. · Fuente " ✓ - � General ¡¡¡: :g 'ª l;,I · "' · % "" !] � � .. ;68 �, Ahneatión r.; Nume,o r.; Sl_PULSAOOR OE PARO e D Sl PULSADOR DE PARO Sool %10.1 S2_PULSADOR DE MARCHA Boot %10.2 FZ_PROrtCCION MOTOR PALETS 8001 %13.0 klM MOTOR CINTA PAlET Bool 'JIOl,1 � Formato condicional · � Darformato comotabla· � Esttiosde celda · Estilos �Insertar • � Eliminar • iJ Formato• Celdas G l: .. �.,.. t;i· p . �- "4odJfrcu H l;: 12�-�0 = •.-------------=;:: 0: =-========----;p cf , listo Rtcutnto: 12 gfl 11] � - + 100 % Fig. 1.57 .'--"
  • 34.
    ,, ' Recuerda •• • ' Se puede "Exportar" e ) "Importar" una "Tabla ..-..., de símbolos" a un fichero Excel. De esta ) forma si disponemos de un fichero Excel con ., todas las variables y sus ..-..., símbolos, podemos copiar y pegar en cada programa los ' necesarios, y con ello nos ahorramos tener ., que crear en cada ..-..., proyecto todos los símbolos. ·1 ) ' 1 ' ' ' ..-..., ' ' ') í Unidad 1- Entorno de programación TIA PORTAL Si guardamos esta hoja de Excel que se puede modificar o ampliar, posteriormente podemos realizar la operación contraria, como seleccionar en Excel las celdas que se deseen copiar e ir a la tabla de variables y pegarlas. Por ejemplo, añadimos tres nuevas variables en la hoja de Excel: b-j +, • - UNIDAD_0l - &cf'I l1l - 0 X Ar(hlVO lnserur !Dtseto de p,ág,na ] fo,mu1as I Datos I Revisa, 1V�ta lPRUEBA DECARG.jEQUlPO I Qtnd,l1r Jn,oar set6n ,<:l.Comp.trtrr ll'.. !l!i · ·- ., 4 5 6 7 s 10 11 u últbn =T11 • = = - ii' N K i · K • aa: se :sa l,el - � · � • .,j. • � � � / · � Formato condicional • fflahufflar • VDar formato como tal»a • !"' Eliminar � Estilosde cdda • ii! Formato· Fu,nt, r,, AhnHd6n r,; Número r,, Estilos Ctlclas e o G Sl_PULSADOR DE PARO Bool ""J.1 S2_PULSAOOR DE MARCHA Bool "K>.2 F1:_PROlECOON MOTORPAt.E'IB Bool "13.0 klM MOTOR ONTA PAlET 8ool "°-1-1 HO_AMARIU.O 8<>01 %02.1 Hl_VERDE Bool %02-2 H2_AZUL Bool %Q2.3 M3 ROJO 8<>01 %Q2.4 11 �+l Rteutnto: 12 lj [IJ e:!J - Fig. 1.58 L .. �T • ¡¡¡ . p . �- Mod1f1car H + 100" Una vez seleccionadas las quese desean copiar, hacemos Ctrl+C y posteriormente con Ctrl+V las pegamos en la tabla de variables ya creada, con lo que obtenemos el siguiente resultado: NIDAO 01 t UNIDAD 01 !CPU 1}14( AU0(JRly) t V,mabl� Pl( ► 1Jbl4 de v,m.ible-. e-.t.and,u l41J - 1! ■ X Tabl.a d. v.iriable� estJnd.n Non-bf• 'T"_,o dt dttot Otr«ct6n • _.,..,_.., '1�e,,l-!W N.UI/Of-Ots<ltl-il.l <;i:,ro,-,IMIQ O SI_PUl.SAOORot: -PNIJ � !il0.1 iii NudOf'd! ,-,ro Con�cti:>HC O S2J'Ul'SADO,u>U,WIJ� eool 1t,l).,2 lil l'l.ibedord• U.Khfa <onaacHO Q f2_JA01f:CQONIA)f0UM.!TS 8ool ,..-,..o QJ 01'.s)'l"t� m•qre�ff'IICOl"l'l«or'Cinui O'lnt� d! F,tll!.:S ■ •r-c-=====-�--:... = "" c--......,..-,:; - ;-�,--,-, .. � 1 :::::��.,,..• H1_VEll>E 8ool "1,Q2.l ¡;¡j Houl d• HIWUCW)n,.frd! 7 CI H2flUl 8ool "-Q2.J 0 iJ fwcto'Of seA,li:,,aOlu:,.I e C 1-lJ_AO;o &ool ",,Q2 4 ?I � Piottl dt w'leJcaoon rqo Fig. 1.59 También existe la posibilidad de poder introducir, tanto en la tabla de variables como de observación, varios registros contiguos del mapa de memoria del PLC. Para ello introducimos la primera dirección de la variable, por ejemplo, la MO.O: NIDA0_01 • UNIDAD_01 [CPU 1}14( A(JO(JRly) • VJu.tble,;, PI.<. • l..i�.t de- v.111.able-,; �,;,tánd.a, 141) ------ - I! ■ "'°""bt-• ropo Ó! dm, OW"'(lQn ... l;r-,..-e11<•• v,sit,te'"...... ;,«e11bi,.ede-so,l'IU Ce.1"".$n�•-..o o "S1_PUlSM>OROt: '"""° 80Qt 1tia).I 0 iii!t NudOl'df l".tro C,:,c•aoHC 4l 'S-:?J'UlS.•OOtU:lE � 8°"' 1iil0.2 0 ij l'.lud4tdf U.rthe Ccet:.aoHO <J ,;:_,w:r1t:COONMJlQArN..t� too! "til'J.O 0 Oi,��f"f� "'.o;or'(rlQ tre.,ipott,t d• p.11oe.u ■ <> <> o a l(ll,I_W10RCINTAPM.ET ..._.........,, Ht_WJDE H�_Ac:UI. H.3_AOJO � .... .... .... .... .... .... 11,QU li!I Motcf � p,tlf3 '"'" li!I B �.U uil.llL:ilaa- •rr•l'ilo 11,Q:?.J B iil Holod• niw ;,oón w� MU.J B � df H�il.:»OOl elJ '-OH B N«o d• añ.,��OÓl'>Nf" @-.o 8 � Fig. 1.60 Y a continuación con el ratón seleccionamos la esquina inferior derecha y arrastramos hacia abajo y hacia la izquierda, hasta tener los registros que necesitemos. En este caso vamos a añadir siete a partir de la dirección MO.O, con lo que tendremos: 27
  • 35.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • La tabla de símbolos dispone de algunas funcionalidades de una hoja Excel, como por ejemplo poder declarar de forma consecutiva y con direccionamiento automático variables consecutivas. Recuerda • • • Los PLCs S7-1 200 tan solo admite los siguientes lenguajes de programación: • Diagrama de contactos o KOP. • Diagrama de funciones o FUP. • Lenguaje estructurado o SCL. 28 H◄IIJA'J 1¡1 • JNl!J,.IJ fJ1 {1f�J 111-'! f-'JIJfJ!'l:,I • /,, ,1,1.... 11 1 ► 1-,t,l.i ,J,, vJn,t,J,,, ,. ¡, ,.JJ• l41J - l! ■ X No,,ibo, 1Ípod1td.usi ou,nion .. �,ntnc1- 'lsoblun HMI 1i«.CS1ble�MUI to1r.111t.1r,o G S1,JUI..SAOC:)A.ot: ,AAO tool U:, I � fiiiil r'ui51dordt P-1ro. eortt,uo NC G S1J"V(,S:IOOlt Dt MAIICMA 8ool .-..0.Z � l'Uludo, ff t.4trth1 Co,lfllctoNO G F'Z.}'lk)'JtCOOHM0'10111"1Ul5 8ool "''.O � � t)l,,UrMf'll'll¡Jnt-JO�fm1Co, 1norord1tui tfl1uporit ckptleu. -0 1'11,(.,MO'l'OllClf((.V,UT llool IQ1.1 � e MolOfúnt.1 ptlcU J -Q Mtl_N.WIIU.O llool "-0:Z.1 � � rriof0dur�bd6n11T11rillcr G MU'U!Ot tlool w,.z � 0 l'ffoto de nlltll:,a6nwn:le -: G HZ_AZVl- loo! 'M):Z..., � � PIioto de ull,1iaó6n UJI G H!I.JIO}C) 9ool � 0 Notod.- ul!.li:sid6nre,o .., -- .... 8 ...... ,, 0 0 Fig.1.61 Y al finalizar el arrastre se observa cómo automáticamente se han creado dichas variables hasta la M0.7: J►lllJ.-,U ;1 • l¡l!IU.-, J J1 '!"! 1,14, l•JJ!J</1'/; • .¡,¡ ,ti<- 11 < • f.,r,¡., ,J, ,�1 ,1,1, , t.1<�1., T•bf., dtl writbl4f estinNr � tipo.et...,_ Vit«dó,, ... �tf �'"HUI .Jicc..U.dffdfl-M �Wrio .CJ S1J'Ul..SAOO!lot''AIIO SOClt 'l,I0,1 � 8 f1Vl.1Wff r,ro.to1:t1e,to HC 4JI SZ..J'lU�Dt.t.WIOIA 8ooi 'i.lO.Z � � ,uludoo'd1MlrtN C:C,ntfcictHO G f;!:.J'll(rltt'.OOH �lOIJ,AUJS fool "'J.O 8 � Dos)lt,lftlorm19�•mÍCO.,,ott,,CÍnMi tr11nJpo,r. lkp1lt11- ,0 ��OM'IAP-,tU.l' 8ooi ,01,1 9 ,.._,c:lllu .,_h,11, <a HO.JrMl,IIU.O SOo( 'ltOZ.1 � NIMH ••lillli:1tJ6n11Nrilo .C M1}41Vt IJoof "'OU � P'iloro-ck 1tll1¡llllci6nwrdf <I Ht..!,t"- � �u il P'iloeo6nrAd:11"6n,i:ui !! 4J HJ.)IOJO &Clol tiii J"llo(c,dt Hll.liaid{wHojo .., � ""' B CJ �t 80CII � ,Q """"-""" .... � -o � ""' B ,o �· 9-ool (i1I 4 ,O �IMLJ !ool � G � ""' !'I CJ � J ltool Fig. 1.62 1.2.5 Creación del programa Desde TIA Portal, y dependiendo de la CPU elegida en el hardware, podemos utilizar los diferentes lenguajes de programación que contempla la norma IEC 1131-3 y que son: • lista de instrucciones o AWL. • diagrama de contactos o KOP. • diagrama de funciones o FUP. • grafcet o GRAPH. • lenguaje estructurado o 5CL. Es posible utilizar los lenguajes anteriores en los modelos 57-300/400 y 57-1500, pero no para los 57-1200, que tan solo admite los lenguajes siguientes: • diagrama de contactos o KOP, • diagrama de funciones o FUP. • lenguaje estructurado o 5CL. Para crear el programa en el bloque OB1 debemos elegir la opción Main [0B1] que encontramos dentro de la ventana Árbol del proyecto, dentro de la carpeta PLC_l - Bloques de programa: Al hacer un doble clic sobre esa opción Main [0B1], aparece el editor de programa en KOP, que está formada por las siguientes zonas: .__,
  • 36.
    ! ) ) ) ' ' l ) ' l 1 ., ' l ' ' , , ' ' ' ' Recuerda •• • Para la inserción de componentes en el editor de programas se dispone de dos zonas con los iconos correspondientes, una más reducida en la "Barra de menús" y otra más completa en la ventana de "Instrucciones". Unidad 1- Entorno de programación TIA PORTAL • Edición de programa: donde podemos escribir directamente el código o elegir de la zona de lista de instrucciones la instrucción a insertar. • Propiedades: donde mediante el campo Lenguaje podemos seleccionar el lenguaje a utilizar, dependiendo del tipo de módulo, permite seleccionar más o menos lenguajes de programación. • Librería de instrucciones: Donde podemos encontrar todas las instrucciones a insertar en nuestro programa en la zona de edición. • o �• dt �'fl• - �f --..0 "°'!... • Ml,nfOtll ...�..·� • r.,..,........lfla• • Ttlll.lt 1M o1K•M1:,ojlyiw;:t4o,.-•- • a.e�� ► � lnc.tl ► � Ouot U "'°"'H Cl<tpoc­ · ltMllffl.fclOll�p,,oe,.n,t i, .....$11#·- . •,a._,_.,.,.. ► CQ<WJ..rt,o1W! H1d,x,,n,e- • 1f14,o,1111t ,.(�f" .<>I ;¡¡¡::::::::::::� ��·����=-�·�•:....------- 'Q(<......: "'°"""'CJCM �•roe..i1• ::¡¡�:::::::::;:::::: Fig. 1.63 Para la introducción del programa en KOP, bastará con ir eligiendo, bien de la Barra de menús o del Catálogo de instrucciones, el elemento necesario y arrastrarlo a la zona de edición de programa: " :..J Ufi!Ox).01 ,1 ...,..., ..pollll'wo ·°"�-,.,.., . _. l.(_l jCPU tn'IC � tt �,. 4- d.ipo1.-- 1, � ,_.,._ • o �t CM,.....n,t ,,....,.�,-� M1,11jOlll 1 4 0b¡H:11 � • » Mntt1 ,.-mu • 4 v•�•l>la•l'I.C ► · � llt elt� l'll: 1 _ t.lllt1dU 1Mt,-,.)'iwaáep,,,.tna/lll • l.lcb,jtl anlotlt • l'M;,, ► ll, O.to1d• p,a,t"• ll"f""'­ ll! 1111otmK>6on <1tl�- �....,.,...__ I JI MilohilQI � • ouo• c-• ' .lii;: '°"'to'•Ka6114.tl�•- Fig. 1.64 Una vez insertado el primer componente, que será un contacto normalmente abierto, quedará de la siguiente forma: �>.?> 1 -• ■r== =--------------------� » Fig. 1.65 29
  • 37.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • Una vez insertado un componente, existe la posibilidad de desplegarlo para seleccionar el que se ajustea la función que se quiere asignar Recuerda • • • La información asociada a cada componente del programa se puede visualizar de tres formas distintas: • como símbolo únicamente. • como dirección absoluta únicamente. • de forma conjunta como símbolo y dirección absoluta. 30 Se observa que existeunpequeño triánguloenlaesquina superior derecha del símbolo. Al seleccionarlo, se despliegan las diferentes opciones que puede ofrecer este componente como es: • contacto normalmente abierto. • contacto normalmente cerrado. • contacto con pulso o flanco positivo. • contacto con pulso o flanco negativo. <??.?> -u- Fig.1.66 También en la parte superior aparece <??.?>, que es para introducir la dirección que tendrá en el PLC, esa dirección puede ser: • Absoluta ➔ 10.0 • Simbólica ➔ S0_Paro Se podrá seleccionar mediante la opc1on que nos ofrece la barra de menús mediante el icono Operandos absolutos/simbólicos. Desplegando esta opción del menú, podemos elegir entre tres tipos de visualización, como son: � � ! �� te �� :11 Simbólica y a bs oluta 1!I Simbólic a • Absoluta: � 10.1 %10.2 %13.0 1 �,y • Simbólica: 'F2_ ·s,_PULSADOR ·s2_PULSADOR PROlECCION DE PARO• DE MARCHA' MOlOR PALEl>• � MO � �f:J • Simbólica y absoluta: 'IIO.1 'IIO2 ·s,_PULSADOR ·s2_PULSADOR DE PARO' DE MARCHA' ,a_o "F2_ PROlECCION MOlOR PALEl>' "IQ1� 1 JOlOR A PALET' Absoluta 'lbQ1.1 )------t 'K1 M_M010R CINTA PALET' )------t "IQU 'K1 M_M010R CINTA PALET' Fig.1.67 Fig.1.68 Fig.1.69 Fig.1.70 Al pulsar sobre la indicación superior del componente, podemos escribir directamente la dirección, o bien si lo desplegamos, podremos elegir de la lista que aparece y que corresponde con la tabla de símbolos creada anteriormente. Ahora en una nueva línea de programa queremos programar el funcionamiento del piloto de paro: J .....,' '._/ '- I
  • 38.
    í ) l ) ' í Recuerda • •• Se puede acceder a la tabla de símbolos justo en el momento en el que se ha insertado un componente en la zona de edición del programa. Bien desplegando la ventana o al escribir la primera letra, ya nos aparece la lista de símbolos para poder elegir uno. Unidad 1- Entorno de programación TIA PORTAL Bool �"-'18190.0 Bool ¾Q2.1 Bool %Q2.2 Bool %Q2.3 Bool %Q2.4 #lnitiel_Ca ll Bool G .K1M_Fv010R CINTA PALET Bool %Q1 .1 G "MAACA_AUXILIAA" Bool %W.O Piloto de señalización amarillo Piloto de señaliiación verde Piloto de señali::zici6n IIrul Piloto de señaliz.ación rojo lnitial ca ll ofthis OB Motor cinta palen Una vez completado deberá quedar de la siguiente forma: Fig.1.71 Fig.1.72 También podemos escribir un primer carácter y automáticamente se desplegará la lista de símbolos para poder seleccionar uno de ellos. De esa forma podemos ir completando el programa, e introducir todas las líneas de programa en un mismo segmento o en diferentes segmentos. En definitiva, quedará algo similar a lo que se muestra a continuación: �-1 �2 ·s1_puLSADDR ·s2_puLSADDR DE PARO" DE MARCHA• 'Ml.O "F2_ PROTECCION ldllOR PALEl>• 'IQ1� 1 MOlOR A PALET 'Ml.O "F2_ PROTECCION ldlTOR PALEl>" 'IQ1.1 MOlOR A PALET 'IQ1 1 "K1 M ldllOR CINTA PALET 'IQ2.1 "HO_AMAAJLLO" }---< 'IQ2.2 •HI_VEROE" -----------------------{ }---< 'IQ1 1 "K1 M MOTOR 'IQ2.4 CIN TA P AL '-- E r ___________________. _ H 3 _R oJ O · � ( }---< 1.2.6 Comprobación del funcionamiento del programa Fig.1.73a Fig.1.73b Fig.1.73c Fig.1.73d La comprobación del programa la podemos realizar por dos métodos diferentes: mediante PLC conectado al ordenador o mediante simulador PLC Sim incorporado en TIA Portal. Mediante PLC Con TIA Portal no es necesario tener configurada ninguna dirección IP en las propiedades de la tarjeta Ethernet del ordenador por la que nos vamos a 31
  • 39.
    ..J Unidad 1- Entornode programación TIA PORTAL Recuerda • • • En el momento de realizar la comunicación entre el PLC y el ordenador, no es necesario configurar ninguna dirección en la tarjeta de red del ordenador, ya que TIA Portal de forma automática asigna una dirección IP adicional dentro del rango necesario. 32 comunicar con el PLC. El propio TIA Portal, cuando lo necesite, asignará una automáticamente y esto sucederá siempre que: • No tenga ninguna dirección IP asignada. • Tenga una dirección IP asignada fuera del rango o de la subred de la dirección IP del PLC. Si ocurre alguna de estas dos circunstancias, aparecerá la siguiente ventana informativa: Carga avanzada {01 32 000011) Asignar dlre<:clón IP ,1ra e,recuteri. �nctón11 progr•medorf oelPC n,e,ces11a otra d1retci6n IP dele ml!ma sub,edque el Pl..C. Fig.1.75 r°""'" .. PUIIÍll .... c,.1t ll � JI M .,.,.,. �1! t1 II r.i n � c:anetll VIOCNidad Oe lo comrsio,dltl.ri cor.utJr CQ'l tl �Mklrdl Nd cuil et la ainr9,noónP ........ c::ib-. i,,. CW«ódn F �II 1) 1.U' Nl � d:tottti!nF: 1M l � � '9 drea)Ofl (ill WIQII DHS .ut:ima� , U.. lll � dnalontl oe _,..tr"61 ___....,....,,______...,.__.._/ Fig.1.74 Al responder pulsando el botón Sí, aparece una última ventana informativa que nos indica que se ha agregado de forma temporal una dirección IP a la tarjeta de red del ordenador. Cerraremos esta ventana pulsando el botón Aceptar. arga avanzada (01 32 000008) Se ha agregado una dirección IP adlclonel. La d1rttc16n IP 192.168.0.Z41 ,e he eg1'1!gldo e la inttrÍlzlrnel(rQEtM�t Connection I218-V. Fig.1.76 Para poder realizar la comunicación con el PLC, hemos de tener conectado mediante un cable PN/IE el ordenador a través de la tarjeta Ethernet con el PLC por su puerto PROFINET, para a continuación pulsar sobre el icono Cargar en dispositivo: Fig.1.77 Aparecerá una ventana en la que se nos indican las direcciones de que disponemos en nuestro proyecto y que le vamos a asignar a los diferentes puertos de la CPU conectada a nuestro ordenador. En función del PLC con el que estemos trabajando, tendrá la siguiente apariencia: • Tanto el PLC S7 1512C-1PN como el PLC S7 1214C. Dispone de un puerto, que por defecto es: PUERTO DIRECCIÓN PN/IE 192.168.0.1
  • 40.
    Unidad 1- Entornode programación TIA PORTAL • ■ JI III] ,o/ode� de ,ttl!'lotor,igur,d� df' 'P.t....l" Olip05,!UIO Tipo ded1J.P01,1twO Slot Típo l'.C l CN 1214CACJOCJ1:ty ! X1 F'NllE Di,pc�•tivos tol'T'p,11nblu en i. subred de d,nmo lfupos.11/'0 Tipo� dispos,u.,o Tipo Fig.1.78 Tipo de d�ollti�o Slot Tipo C,V 15121:.-1 PN l Xl P!';,'IE O•r�ción 192.168..0.1 llpodt intT�zl"G/PC.: ._ ,.. _ «_ =• .. M ._ .- ------- Fig.1.78a A continuación, se ha de completar los siguientes campos: Tipode interface PG/PC: el tipo de protocolo a usarsegún el PLC utilizadopuedeser: PN/IE PROFIBUS MPI Teleservice Interface PG/PC: indicamos por qué tipo de conexión del ordenador tenemos conectado el PLC. Podemos encontrar las siguientes: tarjeta de red de área local (LAN) tarjeta de red inalámbrica (Wireless) PC Adapter simulador PLCSim 33
  • 41.
    Unidad 1- Entornode programación TIA PORTAL 34 Recuerda • • • Para poder establecer una comunicación entre el ordenador y el PLC se deberá seleccionar, mediante le campo "Interfaz PG/PC", la tarjeta de red de nuestro ordenador en donde tenemos conectado el cable de comunicación con el PLC. Conexión con interfaz/subred: según el PLC utilizado y el tipo de interfaz PG/PC indicamos el puerto de comunicación del PLC. • Ejemplo del PLC S7 1214C. 1ípo de interfa,PGIPC: i' :_; L ;::i: PN: !IE :==========;;;:l lnterfaz PGIPC: lntel(R) Ethernet Connection I21 8-V Fig.1.79 Al completar los campos anteriores se activará el botón Iniciar búsqueda y, al pulsarlo, el sistema intentará buscar todos los dispositivos conectados al puerto del ordenador seleccionado: • ■ 1rpedurU!.O � dtd"fX»ilJ't/0 Ski� f'lpQ Cl'U l,?,l,(_ACiO I XI PH,1f °'1poutr•=C<m'P.t!b�1 1nl1 1ubn-d d1 1'u:anc -�� lHpc11tn1e "'-'-' "'" •n'o""Kten ce tt:.OCCfll"lt Ci Sctn!'ll(lg ycoosulu d,.,lotn-,,IQ!'l col'Clt.ir<fos Fig.1.80 º'"'""" l9::1 1� 0 1 lUH:il.0.10 0,�t!6< dt, tt(HO - A continuación, pulsamos sobre el botón Cargar, y tras finalizar el proceso de carga aparece la siguiente ventana: ,•l ¡ 0iMOno tfff$6jl ca • Plc_t Oper1ci6nde ttrg• fin1li=ad1 corr1tt11rr1n1e ► Arrenurm-6dulcs Arranc■rm6dulos tru c1rgar Fig.1.81 Por último, se deberá pulsar el botón Finalizar para dar por acabado el proceso de carga, tanto de la configuración de hardware como del programa generado en el bloque OB1, así como también los símbolos de los operandos, señalar que esto es posible tanto para la gama de S7-1200 como S7-1300, pero no así para los S7-300. J
  • 42.
    ' ' ' Recuerda •• • Cuando se está realizando la comunicación con el simulador PLCSim, NO funcionará la comunicación con el PLC físico. Unidad 1- Entorno de programación TIA PORTAL Ahora mediante las entradas físicas del PLC podemos ir activando o desactivando las que correspondan para poder comprobar el funcionamiento del programa. Para visualizar el estado del programa tan solo debemos pulsar sobre el icono de Activar/desactivar observación. · � �-º' ._,,,,_,.,..po,,_ a, Dw.,osGool yrffn o,,� ... - ...�-,.,. �t• x "1 p i l! W II Q 1 _JI OO_lJUCiÜ>_,,.,,_.IO_CON1110L MANUIC.[0_ • UN10,1()_01 IO'U 111 .:ACIOClll:IJlt r,_ l'f '-'9na6n Ñ ..,,__ 'j. 0ÑiM ydio9n6itJ«1 .,,;:·�=.=:=. ·= t ,4 r•n1bln l'I.C. • • o1,._.,......c ...,¡.�--··-·.......�.....,............. ' -Al ........,.. _,.. ► ,,:;. truu • o.-• P"4'• Ñpoo-o � �utilodl>lpl09rl,... �IU Ñ W:i<tor • -81 1.16doak>s lonll, Ci • .J ouo, ,c,,r,,.,,., 1 (c,,1,¡¡..,.ClÍ>f>df14«_,_ 1 l:, w,....,., t-• :.�....... ..... :..---y---� ..---....----! 1-----------<, }---◄ ... -� � ... •1m.,.� l OAAHUT : L---1 J.----.J ..,, "H1_,,uor >---------------{ >--- -,. . Fig. 1.82 lct.lly ln�iltt>dA11tom.atlon PO�TAL Para desconectar la visualización online con el simulador PLC o PLCSIM, solo tenemos que volver a pulsar sobre el icono Activar/desactivar observación. Mediante simulador S7-PLCSIM También, existe la posibilidad de realizar la comprobación del programa a través del simulador S7-PLCSIM. Para ello bastará con tener seleccionado el PLC del proyecto que contiene el programa a simular y seleccionar la opción Online - Simulación - Iniciar: . .....-..,�....."' . . .....CHO< - ,,- /l t••tiiK.. �JiiéwlotllN 11c-.-�....... ,,,. ..,,. -�.,.,.. l--v1f---------------< >-- Fig. 1.83 O bien pulsar directamente sobre el icono Iniciar simulación: Fig. 1.84 l .::?, luMft"11Clt • � c-..i6ft 1 Contldfflpn,o,•- l :::1:t 0pfn�11ofctJ IO,,. . .... �plo=--""'J..,..ok Establecer conexión online 35
  • 43.
    Unidad 1 -Entorno de programación TIA PORTAL lnterfezP(¡fPC: 36 Se deberá tener en cuenta que, si estamos trabajando con el simulador, no será posible comunicar con un PLC externo conectado al ordenador. Es por ello que, al iniciar el simulador, nos aparece el siguiente aviso: Asignar dirección IP (0626 000002) 1 Al Iniciar la slmutadót1 se desactivan ■ todas las interfaces online restantes. QNovotve,., mostrareue mens.!l¡e. Fig. 1.85 Tras pulsar el botón Aceptar, y después de unos segundos de espera, aparecerá el S7-PLCSIM que tendrá el siguiente aspecto: Fig. 1.86 �, - X Unconl,gured PI.C [S'•H2001 � SIEMENS RUN ■ RUNISTOP STOP ERROR ■ MArNT MRES X1 .:-Nmgún proyecto..,. A continuación, el proceso avanzará y mostrará la siguiente pantalla: A ■ TipodedÍ.'po'1ti-,o 5'°1. CNJ1U4CM10_ 1 X1 rípode ,IIUl'Ntl'G/l'C; � lnt¡!ffii¡l'(JF(:• Fig. 1.87 - 192.16S.O.l Subre:I -;i�a . " .. t" ) En ella se deberá seleccionar en el campo Interfaz PG/PC la opción PLCSIM S7- 1200/S7-1500, en la v13 y PLCSIM en la v14 de TIA Portal. �Se-leccionar... s.elecc1onar . PLCS[M • PLCSIM S7·1 200/S7·1 500 Fig. 1.88 H Fig. 1.88a Seleccionada la interfaz a utilizar, debemos de pulsar sobre el botón Iniciar búsqueda para que se inicie la búsqueda del dispositivo hasta que se localice el simulador correspondiente y se muestre en la zona Dispositivos compatibles en la subred de destino:
  • 44.
    Recuerda • •• En el caso de realizar la comunicación entre el ordenador y el PLCSim, se deberá seleccionar, en el campo "Interfaz PG/PC" la opción "PLCSIM S7-l 200/S7- 1 500" para la v l 3 y "PLCSIM" para la v1 4. Unidad 1- Entorno de programación TIA PORTAL JI 1 11 ,._,_., T.,,,o .t,�,-� ,;i,,1 CPU ll14CAOO. 1 XI ,.., - íipode:::::: � . ;;.i;:"' •= -=, = -,'" .,,... """• 1--1 "' soo """'"'"---h . fül . " .... � Tipode dr¡po<gWO r ipc O'Ucommo,i Cl'U·, 200 'iin,111.itiot1 l'ff'lE ITTl'l"7'.,6Cn de �doonhne .. � �iMndo infofl'ldCIÓfldt! dl'ipo,;iavo'i f,iiil <Sortn,nig yca�u� de infonr•ción o,nckiido� Fig. 1.89 En este caso ha encontrado el simulador de 57-1200, para el caso del 57-1500, tendríamos: A O<'ipo> wo '"-' Tip,oded�,a,,,o S�! TlllQ au 1'516-J l'N'OP' 1 u ,mflaus Cl"U 1S1S>·l l"HICP' 1 Xl l't� C!'IJ 1'516·3 l'N'OP' 1 XZ l"Nrlf 191. 168:0.1 192.168.1.1 rip.) .:le in•erf.t¿ I'(.,;,( N'lf irrttli4: �l'C ¡¡:;;:""""' ;¡¡¡¡¡...,..,..,._____-.:; .. 'e !I � Se�«10nudi'lpo11tiv<,de den,n.> 0np.x,n,,c Típ,, ,jed•1po...ii,o . � • ti lnfol'fT'KllÍn de e��joonline D l.mttu'iolo "'e�11ei de e,rgr z!l' ')e ha! <!uablectdol• cone<>Oncon tl d,;po;mvoque tiene la d1�cción 19:?.1 '5 1 1 0 8ú;q1,1eda in.iliad• 2 d,;po,¡,tll>Q'i 'º"'p,ttible1 UKOntradO'i de l Jn.pOUlf, Q'i ,1ae,ible1 .-Ji �copil.lndo llllorm,1cl0n de d•�pcxwv,x ra SOnnll'SJ ycornuiq de 11>foITT1<1ctó11 c:onchúd,x Fig. 1.89a Ahora podemos pulsar el botón Cargar y esperar hasta que aparezca la siguiente pantalla: ...,...,. L..-t<> �•• op�,.,.....<1. 0,g• Fig. 1.90 37
  • 45.
    Unidad 1- Entornode programación TIA PORTAL 38 Marcamos la casilla Sobreescribir todos, a continuación pulsamos el botón Cargar y aparece la siguiente ventana: sultados de la operación de carga hado l Clfl.1ln0 '- J, � • f'l.C_1 ► Aaunnr me;du!0,s. Mmi1.1e Ope-rtción de nrg• 'Tn•li::ada correrumf'ntr AIHnurwdos. Anwnnrm6dulos. tras. urg1<r l.....,1______cc..... • _______.!11 Cancel11 Fig.1.91 Tras marcar la opción Arrancar todos, debemos accionar el botón Finalizar para acabar con el proceso de carga del programa en el simulador. • Simulador para los modelos S7-1200/S7-1500. Una vez realizadas las operaciones de comunicación y carga del programa al simulador S7-PLCSIM, este pasará a tener la siguiente vista, donde se observa la asignación de la dirección IP del equipo: �¡; Siemens FLC_1 [CPU 1214C �CDC'l:;l � fS!E!'!.I_E�S'. (1) RUN ■ �UN/STOP STOP ■ 6!ROR ■ MAINT MRES Xl 192.168.0.1 -r.Nmgún proyec.10-.. Fig.1.92a �� Siemens r:i!E"!E�S'. ('.) RUN ■ �UN/STOP STOP ERROR • !,Wtff MRES Xl 192.168.0.1 X2 192.168.1 .1 �Ningún ptcryecto> Fig.1.92b A continuación, si desplegamos el simulador mediante el icono Cambiar a la vista del proyecto que aparece en la esquina superior derecha, este se mostrará de la siguiente forma: Totally lntegrated Automation • !! !]! ") ! (" , ' S7-PLCSIM V14 Fig.1.92c
  • 46.
    ' ' ' ' ' ' ' l ' l 1 ' 1 ' 1 1 Unidad 1- Entornode programación TIA PORTAL A continuación, creamos un nuevo proyecto para el simulador mediante el menú Proyecto- Nuevo...: NOl'l'bre jlf'O.¡'CCtO '" UNI _DAD _ _. _ ,________ • RIJ� C.-lkersYUSlEIDocu1T1ermtsimuletion �.. Correnario Fig.1.92d ¾ úearido el Jll'oy@Cto.•• Cí'tllhl0 �1 p�,e::tQ. C UU,t .::""'E:0-::,...�1'ts s,m ,. ��tUN!ClAll_01 J�OA0_01 1·111· � !;p�,- Fig.1.92e Tras la espera de la creación del nuevo proyecto, aparece la ventana desimulación con el árbol del proyecto preparado: , . Pro�cto Edic,6n fJeCUUH Opciones i.S: � g Guardar proyecio A !, . Nombre . UNIDA0_01 ► -i PlC_l (CPU 1214CAC/DC./Rfyt labias SIM a Secuentiu Herram,enas X □ :¡¡¡ -� l!!ll ' ,., ' ,., ' . J! .1 ") _ C"' - Totally lntegrated Automation ' 57-PLCSiM V 1 4 -./ ConC'Ct<!ldoco,i f'l(_l • lra,t"S-de- lad" 1111'1' Fig.1.93a Se ofrece la posibilidad de observar la configuración del hardware. Para ello debemos desplegar la opción del PLC PLC_l (CPU 1214C AC/DC/Rly) y hacer un doble clic sobre Configuración de dispositivos. En la zona de la derecha aparecerá tanto el hardware como el listado de E/S analógicas y digitales con su correspondiente símbolo asociado: C�t,OCoCol Ce �"Jl'Cl-1 - ••w., s-.. - �)l( �ifYllll $114 • :a M<l,enau ,., ,_....gft_.,. HQ.♦"<:IJ .a s.cu.__, �--;,,._ •------ Fig.1.93b Tot•tly lote,gr•te<! Aute,m•tion S7-PLCSlt,• V14 ,G 'SIJU,.S-'OOU)fl';-'IOº _. 'WO U' 1:11 ·1:_M.S-OO�Ot:M404A'1' 'WOl't' fJ ,r,-- ....O.H· ""°•., tóld 'l1IIH:I' too! .... ... ""0001' ...., "°°·'' !;:,al 39
  • 47.
    Unidad 1- Entornode programación TIA PORTAL 40 A través del listado de E/S podemos ir forzando elestado de las entradasdesde la columna Observar/forzar valor y observar la reacción de las salidas en la columna. Mediante la opción Tablas SIM - Tabla SIM_l podemos crear una tabla de variables para poder forzar o visualizar su estado: ,,..,. .l! .J "l · C'" • ■ n Fig.1.94 3 Forwtoheren-eo,ie f _ �tfflO l!!il ✓ - "" • 1 Al desplegar el campo correspondiente a la columna Nombre aparece la lista de variables declaradas en el PLC, en este caso, son las siguientes: C Stemem C lhersYUSTEDocument�Sirnu!dt1onUNI0AD 01UNIDAD 01 Fig.1.95 J! :JI ''H ("! e ■ 11 ºS1_PULSADOR DE PAAOº "52_PULSADOR OE w.RC.... 'f2_PROTEC.OON '-«llOR _ ºK1M_WlORCINTAPALEr 'HO_AMARILLO" "Hl_VERDE" "H2_AZUl." "H3_ROJO" Si las situamos todas en la Tabla SIM_l, se visualiza su estado cuando la CPU se encuentre en modo RUN. Para pasar a los modos STOP o RUN se utilizarán los iconos Poner la CPU en STOP o Poner la CPU en RUN respectivamente: ' Stt...l'ICIU f/,t,g�¡¡u- Htllffl<,_ I St-cw11<,._l 41 •,i_l"II0'1lCOONM0109tl'lrU1S":f' -e ·tu,t.ucnoaon,,.fl'Al.tr .. "t«I_III.WIIU.O. -G ·tn_l[ll)l' -o -�flU.: .a l .H!_IIOJC'f t.- ;::.� �,: -•:::JG[•� ·... �·� ...� .,:r¡ .; ...� -- =� ·-= · ' 1 o,,«� kwn11111N<nS..--ÍO'> oi,_. ••,1w,...,,..io, 'IW0.11' loal fALSl 'W0.21' kol f,U( Jool fJrl.S[ �1.t lool F,U[ -.Q:l.1 loOI FALS[ W2.2 too! F.lrUl 'IQ2.J tool FA.1.U '"jw2 c [?) F""-Sl Tot.ally lntegt.1tedAtilOf'Vlóiotion S7•PLCSlr-.1 V14 f"oru, ,�..,.- f 8 fM.5[ O E.3 out O B o,m B 8 1.«Ul □ €3 fALSl 0 g ,,u, B º'N.Sl g 8 FM..Sl 8 l!'!l ✓ ' ' 1 Fig. 1.96
  • 48.
    ' ' ' ' 1 ' ' ' ' 1 ' Recuerda •• • ' En el caso de realizar la comunicación entre el ordenador y el PLCSim, ' a través del propio ' simulador podemos construir una tabla, ' "Tabla SIM_l ", que ' contenga los elementos a observar. 1 Esta tabla nos permitirá ir modificando el ' estado de esos 1 elementos para observar la respuesta 1 del resto. ' 1 ,,.---._ , , Unidad 1- Entorno de programación TIA PORTAL Para controlar las variables debemos pulsar sobre el icono Activar/desactivar forzado. A continuación, mediante la columna Bits, podemos ir activando o desactivando las diferentes variables de la tabla y visualizar el estado de las salidas que intervienen en este programa: • , s«w_, ,,..,,....,.,_�.."""'""' '-l s«w-_1 V,.1.7 , ....a.v '"' .... ·ut,u.c11Q11� ,1rilu' 'M!l.1 too! "HO�o• �l.1 ttl'OI .. 'H1_Vt:ll)f" 'lr,Ol.l tool ·oa_-'tl.lLº .,q:., tooi •;;,_-,io· 1io()?A too! Fig.1.97 En este estado, a su vez, puede visualizar y monitorizar el propio diagrama de contactos del programa introducido en el 0B1. Para ello, se deberá pulsar sobre el icono Activar/desactivar observación: 0 0 • �JI' ,,......,.,..__ •�'"""' , , IM_t;.,<1<19_.._..._(0J<W;)lM.,,Ulll.iO' ' !1 "'-'ltl'.I UIC:� • · � •1•-1t ..�....,.,_ . Ooloot J,l,o........ . .........."",..,..... . · -- ·---......., . ...........,,u: • • .... .. ..... "l( , :-..,_ltl,lo, .. ._....,,....._....... .........,..... , ,., o,..... _.. ,___ ----.........- .lli l.ll•• ·- tiO --• . , ·•t. '";.� ·,�� -==· -i � �---·-r- �.. ...--.In , <;t o.... .- -� � ·111 � " <.1-------..·..········----1 ►--.. . �....""'..... ..........)_ ..,.,......,,...... ..-.....,...,....__ Fig.1.98a fot•llyifttegr•INAu-­ PORTAl ,....,..,_........... También en el simulador y desde la opción Secuencias podemos crear una secuencia de los estados que queramos que tenga cada variable en un tiempo determinado. Por ejemplo, vamos a crear una secuencia que muestre todas las posibilidades de funcionamiento del programa. Para ello cada 5 segundos realizaremos un cambio en el estado de alguna de las variables. Configuraremos previamente el intervalo de tiempo, para lo que modificaremos el campo Intervalo predeterminado. Desplegamos el icono del reloj lo ajustamos a 5 s: .,, l' C L ,_ ...... 11,.....,. 1--t o.oo . . r=-1 º ¡'�"�� g �� 1Y eo,,-,.i,.ó6o11H1',....... • ltWlo1SIM ,,,...,--..11-.sa, ,....-_, • � J.ff-• ., .....,.,,_.,.a,.,._ l l•<.a__, Fig.1.98b ....."°'"'lft- 0-00 _-j ....-....,� '-- 41
  • 49.
    Unidad 1- Entornode programación TIA PORTAL 42 Recuerda • • • Desde el propio PLCSim podemos construir una tabla en la que configurar la secuencia de activación y desactivación de los componentes para hacer que el funcionamiento del programa pueda ser automático. De esta forma, al ir introduciendo etapas, de forma automática cada nueva etapa se situará con un retardo de Ss respecto a la anterior. Se deberá completar las siguientes columnas y ajustar la acción a realizar en la columna Parámetro de acción de la variable introducida, bien en la columna Nombre o en la columna Dirección. - • :.J ut«IA0.01,.SIM Ci • 4 1'1.C_1 !(JIUl21�AC.ll)(Jlt",I =a • r,blu SIM rll' "9�!ll•t -YI Ubll SIM .:,.¡ 1-1>!. SIM_.I .. r- _. s«�nciu rll' Agrf-gU l'IUf'llt HCWr>CÍI 1 StClltlKlt_l '51_"-'lSAOOIIDf ,ANJ"-;t eool 10.00 'F1.1'1101tCOOtlMOiO/U'lilt$':f' 'lol) O,, tool 1S.00 'Sl.)'UlSAOORDf�";P' ...O..U lool ::0.00 ·s2_1'UUAOORotl>WCHA":f' 11¡,¡0.J:J' lool 2o.00 ºSt_f'VLSAOORDf ,.>II/Y1' 'IWO 1:1' lool 1S,OO "Sl.l'VU."OOaOE ,Nt0':1' ...:>.11' lool 30.00 "Sl.]'ULSAOOIIOE ..wotK:t Ml.21' loo! 3S.00 'S2.fUUM)()ftDf l.WIQIK;P' ,,,o � 40,00 ''2J'Jt:)tECCIONM010ll,,UlSº1' 'IWUl1' 0.00 "f2J'1101tCOOH MO'lt:i.,lill5":I' 'I.D.O:, --tf sam ,'rfllu.u , vtlot ....,,u,, ,,.1o, "'fll<tllrt vtlot "'iu•u1 1 nlor ....¡.,,1ur, v11ot A¡uu.1,1 valor Aju1t1111vtlor """"'''"'lor ...,.,UU I Vtlor .-,U11.u, ...1or Jle�llflHufl'l(.W Tcit.tUy lnteg1oued Automatlon S7-PLCSrM V14 - "" '"'' fAI.SE ' " � PlC,..) "'1 ✓ " . .. ' . 1 Fig.1.99 Al pulsar el icono Repetir secuencia, se puede configurar como: • Parar secuencia. al final de la secuencia programada se detiene su funcionamiento. • Repetir secuencia. al final de la secuencia programada se vuelve a repetir la secuencia desde el principio. Una vez completada la secuencia podemos visualizar tanto la Secuencia_l como la Tabla SIM_l para examinar cómo van evolucionando el estado de las variables en cada momento. Para ello, tan solo necesitamos accionar el icono Iniciar secuencia e ir observando en el tiempo cómo va cambiando el estado de las variables de forma automática: • • 11 O.rtaión ¡ton)'l1:odtvm.tlíuci6n Obsffi..,fiom,rvllot -0 ºS.l_l'UlSAOOADf ,Nll:J";/' 'IW0.1:f' eoot "!AIJf -G ·s2.P'UI.SAOOAOE t.WOIA":f' !j ...0.2:, 8ool E] FALSf -a ·n1-=in:cOON WtoA l'1'ril.!1'S";I' 'Wl.O:P Bool -o "l(IM.IA'.llOAOtnA,mr 1,Ql.1 !<lcl '41 "HO�U.0' Ml2-1 �el '"' J¡ SfCUfl"Óel fl "9rtg1rnut-vt stc�r,c;. -0 "HI_VfROe" -0 "H2flUL• "Hlft)JO• 'W2.l eool 'll,Q2.3 Ice! '11,QH p) (> §-' {; � •I • U@ lnlfMlcp,..d"t.- c::I� ..!.) i •�dcs ➔ .._. .t Tiempo °'1tctoón 1-+ '"' SJio" •s1JUl5,'.l)OAOE f>KJ':P --¡¡"""° M)_J·f 10,00 "Fl_!'ROiECOON tA:l"lOR PAl.f"l5-";1' 'WM;I' U,00 '!.2Jl,llSIOOII.Df MI-IICHA"1' -..,0.2:t 20.00 'Sl_l'ULSAOOR Df ""'-IIIC>IA':t 'M0.21' 20,00 'St.MSH>OR OE ,AAO"f' ➔ n,oo 'st_l"VlSM>OAOf ,AAIIJ" , 'Si_PULSADOADf ,,W>;QV,':f' 40,00 "fl_l'ROtECOONhCllOR,Al.�15':f' is.DO 'f2J'AOlECOONMOlO� fAL.fl!iº ':f .,,uC:f' '1,13.Df �f!IIO<O dt �ISUl'liuóón -A.<C!Ófl !lu(:.., il'l"'�,!,1ttM'!l'l!t �.,!Afust•t 1 wlor l!cct ;,¡,,,1.1,1 ,elor 11!;,,ol ��su,1 -..10, Oool "'"' '""' 11ju11.1,1 ·,1lor �u,tar•v•lcr "'u1:.,1 v1lor 1,¡....., . �-lo, .-lf<n,.r• v•lor A¡un1,1-nlor AiUSUrt ,,_lor Fig.1. 100 ""' '"'' '"'' '"'' •.,. ,.,. '"'' ..,, TOUll!y lotegr.lled Automation S7-PLCSIM Vl4 11e..,pcdtt¡tc kmartCMl"ffitffllffile ,; Q ,ALst E] Ü FM..Sf 0 � FALSE 0 Q fALSf 0 [3 ,AUf f) Q FALSE 8 Q fAL.SE 0 Q FAL.sE 0 Una flecha de color verde nos mostrará el paso de la secuencia que se está ejecutando en cada momento. Igualmente podemos visualizar el funcionamiento
  • 50.
    1 ' ' ' ' ' ' ' ' ' ' ' ' Recuerda • •• Independientemente que TIA Portal realice la comunicación con el PLC físico o mediante el PLCSim, se puede visualizar el funcionamiento del programa. Unidad 1- Entorno de programación TIA PORTAL del programa monitorizando el bloque 0B1 una vez hemos pulsado el icono Activar/desactivar observación: "'°)'ttto f&<. In •�• ,,.,ur.-, 0pc-, ,t�:.,i.a --.,,..O• - � ª GIM-d"'po)'«10 � J( 1� X C') (Ir' :. ·'.'t. l! Ji & C___ • .JIÍ UNCW>_o, 1aiuu,..c.� !f �•cobnNdl,poo,_ � 0,,..,. 1<1..,.....,. • o, lkiqw, do p,og••'"'• ► '.41 011fo1<»••,,oi6go<os , llf -.u,.,iw...., • ' 4<•ntblHl'l.C ,li M:•n•••10<k1lu �•n•blu - �ff91•aoblo<k'ff"'°blu ::;(1u,1• M ,o,..l>lt1 t<tt'ldtrl$1I -.10e100f6) � SISllMi'. 11• • lpof; d• d•toil'I.C • .i,¡ 0.IOl "fl"Ol'rd•dÍlpM­ , .....,,,,uiw,�lp,�,_,.., !¡ i.tnfflHIOI • .J1 M&c11<10S l<K•le• • .Jo.='°"'��· . ................._ , • u-.;u. dl' ial)",.,..,.,,..,,..ust • .... IW>;� 1,10101.,M.nr l �----� ,., 'IC1MJ,Dl0l 1Ql4 �IW.ll"' "N)_II0.10" i•>-------------------- . ►--... Fig.1.101 1.2.7 Tabla de observación UNO,O,D_OI IClll11'C� ..._ ■ IIJN,SlOP � � J.' l ;;s 1 ; < • > Emomo � ma!!:, v > Puntos de p,1,,ulao :""';-,;;q��i.mMM A veces necesitamos poder controlar/visualizar una gran cantidad de variables de diferente tipo distribuidas por el programa. En estos casos se recomienda la creación de una tabla de variables para posteriormente visualizarla online con el PLC. Para ello debemos crear una tabla denominada de observación que encontraremos dentro de la carpeta Tablas de observación y forzado permanente. Arbol del proyecto [Ji ◄ Dispositivos C) C) • _J UNIDA0_01 _.i: 1,g�g1r dispos1tNo � Dispos.itivos yre-d�s .,. °Cm PI..C_1 [CPU 1214C ACIOCJRly! Configur11ci6n de dispositivos .i, Online ydi119n6n1co ► � Bloques de progr11m11 ► Objetos tecnológicos ► 4!J Fuentes extemes ► � Variebles PI.C ► [s. Tipos de detos PlC ...,. �Tebles de obser,,,&ci6n yfer.a do permenente ► .,,.. Tr&ce-s ► Ql Detos de proxt de dispositivo 1.!!¡ lnfcrm1ci6n del progr11m1 .!J Listas de textos ► Qt Módulos locales ► � Oetos comune-s ► -� Configur11ci6n dl!.'I documento ► � Idiomas y rl!.'CU�OS ► !" Atcescs online Fig. 1.102 g Al hacer un doble clic en la opción Agregar tabla de observación, se genera una tabla llamada con el nombre Tabla de observación_l, en la que incluiremos las variables del proceso cuyo estado se quiere visualizar. Para ello no será necesario volverlas a escribir una a una, sino que podemos seleccionarlas en la columna Nombre y copiarlas en la misma columna Nombre de la tabla de observación, con lo que conseguiremos el siguiente resultado: 43
  • 51.
    Unidad 1- Entornode programación TIA PORTAL Fig.1.105 Fig.1.106 44 1 f'fii,tclO llltl:i641 Vl!t Nt,Ur o,,,¡,,_ �-1 �"'111-• Wi'lif,(11 � .j' Q � �flll .:. X !!. X q .t P · -;• f!l .íi & Q. .)l � UWW111,1Mar.-.. ., -. � ��- � O 0 .J!l:: .,, 'i!'� , ,. ,;,j. .; ; ::- , - ... - , -------------- ------1¡ • � UHIOM>�01 (QIIJ1)14(� -....:: I � ;.:.tM>OIIDf t 1•r.11 � =º"'"'�Voll0flh�i611 ::::� ::.::..!�°' ""'41<M lof-M<O , tt_..,............. 1 ·,v,u_,.__ ..., ...,_ -�-�.. --�� l.i � 0NM r<l,.g!bl- 'tt.Jll>tl!C(IQN ..0100,<.tfJ'i' 'UUI ,-,,r,,,..,_ ,,_lf'l•MIMIII i ► :o l�• • PfOf""'" ·�1M.,Y)1011Cl'ttV....UT '-01 1 h,mm•tM "'"1ffl•- � ' ODl-1.>t � 1 1 ./10,AWIILJ.O' '1), 1 ,.._,..1111; ,.._,...,,. 1 if """"'°'t •-1 ""l�'lf:110(' '),Q.U IOOI. ,..IIUIWM,o ,.fftlllllnla 1 !:¡¡Vtlll�t"-C 'rtl,JIOJO• 'l,Ql.◄ IOQI. ,._11111'_. �ltttnN Íf :..1:::.:i::�11A11yfrn_ ,.�-:===".':::=::::::::;;:¡:;¡;;m![::=::::==:==========:s=:==:!:!=l¡ t/ ...>tttt �t.1a o. A1>1,..,.d. ti1 1lo... 6- liltali1 �1fNlll -'f!.Ml,<ltoll1•r.•ti6n�I ••«...,. .... 1 ...�.. 1 'a O.W1C O. pro,,y lU ,-po1"""° !I IÑllf!Ol1(JM,.¡IM"'t'6m• }!i on.11 01•- • :. Mi)Cl!lllltl k>(f·• • ..iD11<>1-1 1 �,.<oll,rO.ld<Klflll'!'IIO , :-. _._, y..�llti ,T ,r . .-- . Fig.1.103 Para visualizar el estado de las variables, en primer lugar se debe conectar online con el PLC. Esto lo hacemos mediante el icono Observar todo con lo que obtenemos el siguiente aspecto: Oltpot,ltl"'°' 0 0 J!l:t .. 'i!'l!l!i),. >l, "' t!:l"t .,, � j,g,y l�l.C:� Q • lt c:w"811f.c,6f1 .. ...potlll,,os !6. °"'""" rd.e�w.o • • •�1 dep,ott1m• ., . .. � •Clllli6tKPI • <4l l'wf1Nll •-""1 • !;. v1r.1>1uPL e • ..,111 � .. ÑIOll'U: • � 1-t>111deOM•� r�•- fll �ru,� k OIIS1�t.,6J W, t1a a, ,a,,.11o,,_,..._ �bli1t ODlt1VUi6<..l • :--. e•tbifolrilW • - l'ln.u • fa0.•"'"°"'"�"11M­ l!w,t;,¡p,1ti411CMl p109.aff>o • �..,,•..,.úl� 1 -� '11./IJA,.t/llOCla t,f" ......,. 'S)._JV.$¡1.:)()1D1!,WICW' 'tV'fll)1tCQOf,jl'.,nH,l,tltº 'tt1r.u,c1QIC1Ht,.l'IUT' ....,._... ,-....;_*""' VtlotH-ld6i �--a..-. ,-•on�- 11-at�• ti '!D l IOOl. ■- l',ulM- 'fll0.2 ll lllllt ,..,,,,.,.._ "'"'""-IIOO 1M llll'IIJf ,.,.,.,_ ,.,,__ '!IQU IIOOI. liil 11lJf ,_,...._ ,-....,..,_ 't,Q� 1 tOQl :Li fN..Sf l'o-1"111,i,i,,- "'rm•- 'rll_WQ' 'loOU ■.,.._. l't11'11Jfll.,_ l'o-1"'1,..flM '---" '"' = JQ# =..----7: - =-.=c...., _ _, Gl f-..�l "'""',_"" ,-,.....no,_ • ll ld-•IJ' Nl<""OI • ,w .-.:u-:otonloN , .. Ui:1Qrllt1&fje!ulm•m®III ,f ¡, Fig.1.104 En elcaso de noaparecer la columna de Valor de forzado, se deberá actuar sobre el siguiente icono: Mostrar u ocultar todas las columnas de forzado. Ahora hay que ir escribiendo sobre lacolumna Valor de forzadoun 1 o un O según se desee activar o desactivar esa variable y, a continuación, pulsar sobre el icono: 1 Forzado de la variable o las variables durante un ciclo de sean. Por tanto, si la variable se encuentra bajo control del programa, solamente se visualizará el cambio durante un ciclo de sean. Si se desea realizar un forzado permanente de la variable para que en cada ciclo de sean se esté forzando, debemos actuar sobre el siguiente icono para poder elegir una de las opciones que ofrece la columna Forzar con disparador:
  • 52.
    ' ) Fig.1. 107 Fig.1. 109 Recuerda • Otra formade controlar el estado de las variables del programa es mediante una "Tabla de observación". Podemos configurar esta tabla con las variables de programa y activarlas o desactivarlas en cualquier momento. Unidad 1- Entorno de programación TIA PORTAL Muestra u oculta todas las columnas del modo avanzado. Previamente se tiene que hacer aparecer la columna de Valor de forzado. En este caso: Permanente Inicio del ciclo, permanente Inicio del ciclo, único Fin del ciclo, permanente Fin del ciclo, único Tra nsición a STOP, perma nente Tra nsición a STOP, única Fig.1.108 Fuerza las variables indicadas según la selección de la columna Forzar con disparador. • Jl -.••ttN11•.o:� ·�•-.­ ll, .,..., ,..pl!Mu .................. · •�..........- ,,.__, . . ......lllt,1.-; . .. ..... ..-11.(. - :..'""'......__,_ .,....,.._....._ g,.,...,.,......,..,..._ -�--�· . ..........� . �- · i::::.... ":i=:.- ia lnl•H-- , ..-....... , ·,tll-..RP-..-. . �--"---• ...........�- . .. ....t.,......, . ...............,....._. "'°' ' - ..... - ..,., ..,. Fig.1. 110 1.2.8 Documentación de progra mas Es conveniente y necesario que todos los programas estén documentados, ya que en el momento de realizarlos el conocimiento que se tiene de ellos es máximo, pero con el paso del tiempo ese conocimiento se va perdiendo. En cualquier momento se puede tener la necesidad de modificar un programa o buscar averías o errores, y es aquí cuando la documentación de un programa desempeña un papel determinante para una rápida localización de las mismas. Para la documentación de unprograma ya hemos hablado de los símbolos, que es la mínima información que todo programa debe incluir, pero también es conveniente poder añadir comentarios más o menos extensos a lo largo del programa. Vamos a indicar las posibilidades de documentación mediante un breve ejemplo. 97 F'2 � 98 KII.I 13 14 FI XI KII.I X2 MI Fig.1. 111 45
  • 53.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • Para poder tener mejor documentado el programa, dentro de la "Tabla de símbolos" podemos añadir en la columna "Comentario" una frase que aporte más información sobre el elemento. 46 Queremos hacer un programa que corresponde a la puesta en marcha de un motor trifásico controlado por paro y marcha y protegido con relé térmico documentando las entradas, las salidas, los segmentos y el título del bloque. • Documentación basada en los símbolos de las variables. En la ventana correspondiente al Árbol del proyecto y dentro del PLC, desplegamos la carpeta Variables PLC, y dentro de ella hacemos un doble clic sobre Tabla de variables estándar. Se abrirá la tabla de asignación de símbolos a las variables utilizadas en el programa. Dispositivos '1 0 0 • ¡_J UNIO....O_Ol a,,Agreg•r disposmvo • O�pot�yrtdn "" � Pl�l [CPJ 1ll4CAC11)Cffúy! IJ't COnfígur•ción d, dispo1ÍO',cs .Yt, Online)'diagn6nico ► � Bloqu,1 d, progr1rm1 ► � ObJ,toi «c�ko, ► 4!!t fv,ntet ll!Xtl!fflaS • r.. v111n.bksPI.C 4li Moscr•rtodn las v•.-..bl'ts ".ibl• de ,,9fWbles u�nd,H {<l6J ► .t Tipos d,e d11tot PlC ► ';¡¡¡ rablas de obnrv1ciónyfor3do �rm,mma ► r 11111,ku¡H onkn, ► � rtac,s ► [iii, ouo5 d, proxyd, dispositivo l!!:¡ lnbRT'l(ión del progr.r"I ,§) tinas de �xt0.s ► 'a Módulo, louiles ► ';.i Dato, <omunn Fig.1.112 Los nombres simbólicos, así como el comentario que se asignen a estas variables, se utilizarán en todos los bloques donde se programen esas variables. NIOAO 01 ► UNIUAD 01 ((PU 1J14( AOIJ(JRlyJ • /,111<1ble-. PI( • labl<1 de vilr1.1ble-. e-.t.1ndd1 [51J - I! ■ X o Variables !!l Constante'> de usu.irlo Constantes de '>isten"1 t--------------------� $ - - .ix hbla de variables estándar t1ombre Trpo de d1tos o 'S'l_l"VLSN:)OAOE 1NIO '"°' -o SZJ'UlS-'-DOROE MW)tA '"°' -o FZ_f"AO?!COON UOlOA P'JIUTS .... K1"'4...M::>lOROMTAP'IUT ..., 110.fl,WIUO .... H1_Vl:ROI: '"°' - Oir�W)n ""'·' ..,_, 'M3.0 'Wl.1 1',02 1 ..,,_, """ ��a• lkib(o! en HMI Acc�d�eHMI comitnt,rio r � t'Ub•dor de r.ra. Contaao NC � � l"Utudord04Jrdu COni.t«o NO � � OIS�IOfffll9�totitlfflKO fflOWf"(fflt Uln,porw de p•lets B Woeor cinll JMleu f"1 � � Not0 de 1eñ1lt3ción 1m1nllo � 0 riloto de ieñab�ttrde -� -�-- - -'--'-'-- "--'- " '--- ..'---' "' '--- "'" � ·"" '--------..-,--1- Fig.1.113 Al utilizar estas variables en el programa, se pueden visualizar tanto la dirección absoluta como la simbólica, así como los comentarios. Para que esto suceda, debemos hacerlo visibles mediante los siguientes iconos: � Simbólica y ab,oluta Simbólica :tll Absoluta Icono Operandos absolutos/simbólicos Fig.1.114 � .3 � � � � �J � '= "'s 4 9. � � � Ocultar información de la variable � Mostrar información de la variable 4 1nfonnación de la varia ble con comenta rios jerárquicos Fig.1. 115 Icono Muestra información sobre la variable Si establecemos la configuración para que aparezca toda la información referente a cada operando, podemos visualizar por ejemplo la siguiente:
  • 54.
    ' ' ' " ' 1 ' 1 Fig. 1.117 Recuerda •• • Dentro del editor del programa podemos añadir información, bien una única frase o un comentario más completo, tanto al inicio del bloque como en cada segmento. Unidad 1- Entorno de programación TIA PORTAL Segmento 1 : Contactar para el contro _ l _ d• _ l _ m _ ot _ or ________��- -� 'M0.1 "S1 PULSADOR ÓE PARO" 'M0.2 "S2 PULSADOR DE MAACHA" '1130 ·n_ PROTECOON r-.«:>lOR PALETS" 'IQ1 .1 "K1 M_M010R CINTA PAL.Eí 'IQ1� 1 M010R A PALEr • "F2_PR01ECCION MOlOR PALETS" 111 3.0 "K1 M_M010R CINTA PALEr Q .1 "S1_PULSADOR DE PARO" .iG.I "S2_PULSADOR DE MARCHA" ""'°-2 Ois)'Untor magnetotermico motor cinta tra ns... Motor cinta palets Pulsador de Paro. Conta cto NC Pulsador de Marcha. Contacto NO Fig. 1.116 Como podemos observar y a diferencia de la lógica cableada, el contacto de protección del motor, 13.0, está cableado con un contacto NC y situado antes del pulsador de paro con el objetivo de cortar tensión en todo el circuito. En el caso de lógica programada, el contacto no tiene por qué estar situado en esa misma posición para que realice el mismo efecto. • Documentación basada en comentarios del bloque y del segmento. Para poder documentar el segmento debemos tenerlo visualizado y para ello hemos de actuar sobre el icono: ·- Activar/desactivar comentarios del segmento Podemos documentar el programa realizado en un bloque concreto añadiendo un comentario general y, para cada uno de los segmentos, incluir un comentario más específico. Por ejemplo: Comentarios al bloque: ..., Título del bloque: CONlROL DE UN MO10R 1RIFÁSICO ,.. Bloque para el control a utomático de un motor media nte una botonera Pa ro-Ma rcha, protegido por relétérmico y con pilotos d e seña limci6n d e los difor"ntes esta dos del proceso como son: · Pa ro. - Ma rcha . - Ave ria por disparo de relé térmico. Fig. 1.118 Comentarios al segmento: Segmento 1 : Contac:tor para el control del motor "' Control mediante un pulsedor de pero yotro de marche de un contector que activará un motor que está protegido con un rel!' térmico. '710.1 "Sl_PULSADOR DE PARO• '710.2 "s2_pULSADOR OE �HA" '1113.0 •F2_ PROTECCION M010R PALE1S" 'IQ1 1 '"l<l M MOIDR CINTAPALET" 'IQ1� 1 M_M010R 'A PALET" ... "F2_PROlECCION wmR PAt..Els· ,.O •K1 M_t.«:HOR CINTA PAt..El• Q 1 05l_PULSADOR DE PARO• .I0.1 ·s2_PULSADOR DE WRcHA• t 7 Disyuntor magnetotermico motor cinta trans... Motor cinte pa leu Pulsador de Pa ro. Conta cto NC Pu1:sador de Mltrcha. Conn1cto NO Fig. 1.119 47
  • 55.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • También existe la posibilidad de descargar en el ordenador el programa contenido en un CPU, de forma que lo podamos visualizar en TIA Portal. 48 1.2.9 Descarga de un programa del PLC Se nos puede presentar el caso en el que tengamos la necesidad de descargar tanto el programa como la configuración de hardware, así como los comentarios que hay en la memoria de la CPU para poderlo visualizar en nuestro ordenador. Para ello habrá que seguir los siguientes pasos: • Bien desde un nuevo proyecto o de uno actual, seleccionamos el nombre del proyecto dentro de Árbol del proyecto. Después elegimos la opción del menú Online- Carga del dispositivo como estación nueva (hardware y software). lw)K II> (dw;IÓI V.f .,<foto• ,,.,.._,,tu W<lltM ¿i lj � J/ lit1blKu CD111--6fl onlint ,c-..........�•-61 i1 ... .., IJ:�lfE '°e "::=:=:j ., ��.-.:��,.�... ,..� . ...�tdispoollrl,o 'i>')',.lrw1r,xo,¡""'-' "-Cei �I N 4. DPf'O'•- )'...• .11 p1 ,...... .. .,,...i,o t11 1f M1111<,t, C.t,,1 : j�!:..::«: a. •61 _, ,.. ..�, N au,,.,.1'61 ► � C�1lJ6nffld<a<. IJ Le. �• •.._�,.•,o .:1· • � ,) ldiOtl'IU)'l'K..tSOS M@H!it)(I ' •"'""··� ► lf l.Kl<lf d� U!Ji9U...,,_,,,_ Na-"""""-Ñ dilpot:-- 1M > Vlstadetl.lladil &, 0tspo1... 1uuiblH , . ,., ,., 'IJ ., ,,,:,._ e!. ..., ..� f il& Fig. 1.120 • Seleccionamos el tipo de protocolo en Tipo de interfaz PG/PC y el puerto de comunicación del ordenador en Interfaz PG/PC, y a continuación pulsar el botón Iniciar búsqueda. Cargar dispositivo en PG/PC 1ipo deimerfazPG!PC: 1,:;'- ::;; PN/1 ::::::::E=========� ln�rfezPGf?C.: lntel{R) Ethernet Connection I21 8-V Dispo!.itivos accei;ibles de la interfanelMcionada: Ois ositivo s7_1200 Información deestado online· ;;? Recopilando información de dispositivos._ � Sc:enning ycon�ulta d� información conduido�. OMostrersolo menseje:� de error Fig. 1.121 s § '8ncelar Una vez localizada la CPU conectada en ese puerto, pulsamos el botón Cargar. Finalizada la operación observamos cómo nuestro proyecto contiene tanto el hardware como el programa, así como todos los símbolos y comentarios. _,,
  • 56.
    Recuerda • •• El simulador 3D se utilizará cómo un recurso de ayuda para poder visualizar de forma más real el funcionamiento de los diferentes programas. ► o IUoqu.o d• 1""'9'•"'• ► :4 0b,eiostunol6tKc1 ► • fWfllill ,,umn ► ::;. v.,...1r,1e, .....c ► í,po1 de deu..1'1.( • .,. T1bll1 dt obnr.Kt6ny W Ai<•t.,•bltffob1- � 1-bl.o d, 1o,,.c1o,-, � r.blo de obu"""ci61!.. ► lhclu,ps ol'lllne 1 __. Tr1tu l � 0.101 dt ,........dtt drcp11 _ lnlomita6nHl p,09,1""' A! Wta• de w•� l ..fll M6ch.lollo<.1le1 Unidad 1- Entorno de programación TIA PORTAL '9" Tluto !Hl bk)que: CON'!IIOlOf UH !,CfnJaWASICO ... 11oquc�,. tlconvol11Mn1i1M:o ff un mo10< "'"ilnce ..,.. 11o1,one,1 ,-_ldwo,pn,tt9'6opo,­ '.��oycon pílolo1 6' H"-bci6ndttloi difet'fn1iu e111t61Kdd p,ou1owmo10fl ...... . ,w.,,. pordn¡Nto H ,.W �o Tot.lllyln1e9r.ited Au1om1tlon ' PORTAL - '"''-"'"' "''"=••·"-""""'- - -------- _ - _ - _ - _ - _ - _ - _ - _ - _ - _ - _ - _ - _ - _ - _ � � Fig.1.122 1.3 Funcionamiento con proceso 3D A continuación, podemos comprobar el funcionamiento que nos ha servido para ir explicando alguna de las posibilidades que ofrece TIA Portal mediante el simulador 3D. En primer lugar, realizaremos una descripción general del proceso automatizado sobre el que se podrán simular todos los ejercicios planteados de este libro. Básicamente, este proceso está dividido en diferentes zonas: • Baliza de señalización. Formada por cuatro pilotos (rojo, amarillo, verde y azul) y encargada de mostrar los diferentes estados del proceso, como paro, marcha, aviso, avería, ... • Cinta de transporte de piezas. Formada por una cinta transportadora para trasladar las piezas y ser tratadas en el proceso, así como de un par de cilindros para ir deteniéndolas y posteriormente dejándola pasar una a una a la siguiente estación de carga. Para detectar que la pieza ha alcanzado esta posición se dispone de un sensor de presencia de pieza. • Manipulador de grabado. Formado por dos ejes que, mediante diferentes cilindros, en el que uno de ellos es multiposicional, realizamos la operación de marcado sobre la pieza. El cilindro multiposicional está formado por dos cilindros de diferente carrera unidos por su culata posterior. Con ello, conseguimos que el cilindro de marcado pueda alcanzar cuatro posiciones diferentes. • Manipulador de carga. Formado por dos ejes controlados por sendos cilindros, además de una ventosa para la sujeción de la pieza cuando se realice el posterior traslado a la cinta de transporte de palets portapiezas. • Cinta de transporte de palets porta piezas. Formado por una cinta transportadora que traslada los palets porta piezas hasta la posición de descarga de la pieza que realizará el manipulador de carga, esta posición de descarga será detectada por un sensor de proximidad para realizar la orden de parada del palet porta piezas. Una vez cargada la pieza el palet porta pieza podrá seguir su camino hacia la próxima estación (no tratada) mediante la propia cinta de transporte. 49
  • 57.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • Este simulador 3D está formado por diferentes elementos de mando, protección, visualización y de actuación, básicamente eléctricos y electroneumáticos. 50 A continuación, se muestra las diferentes partes del proceso del simulador 3D: Fig.1. 123 A continuación, se muestran las conexiones tanto eléctricas como neumáticas que intervienen en el proceso: • Manipulador de carga: L::, • Manipulador de grabado: • QO.O Q l . O Fig.1. 124 1 1 . 3 1 1 . 2 1 1 . 0 1 1 . 1 'N ��+-'+' Q 0 . 6 ��-'-++"- � --l---------------+--- r � Fig.1.125 1 2 . 0 -f;,<•v;/4 1;13 1 1 . 5
  • 58.
    ' Recuerda • •• Es importante elegir en las direcciones de entrada y salida la opción "Ninguno" en los campos "Bloque de organización" y "Memoria imagen de proceso" para poder establecer comunicación entre el PLCSim y el Simulador 3D. Unidad 1- Entorno de programación TIA PORTAL • Topes: Está formado por un conjunto de dos cilindros con un funcionamiento inverso, es decir, que cuando uno se encuentra en reposo el otro se encuentra en avance y a la inversa. Cuando en adelante hablemos de activar le cilindro tope, nos referiremos al cilindro indicado como "Referencia Tope" que es el que se encuentra en reposo inicialmente, esto es, si indicamos "Sale tope", quiere decir que el cilindro marcado como "Referencia tope" realizará el movimiento para alcanzar la posición de avance, mientras que el otro, realizará de forma simultánea el movimiento para alcanzar la posición de reposo. 3 Fig. 1.126 111---- · - 1 2 . 1 1 2 . 2 Referencia Tope,;_,f____, • Cintas transportadoras de piezas y de palets porta piezas: �10------...----+---­ �10----+-,.---+---- .,. ' . ' Fig. 1.127 �-lt- 1 - , ,l. 02 � � ' . . Fig. 1.128 1.3.1 Procedimiento para la simulación de un programa A continuación, enumeramos los pasos a realizar para poder poner en funcionamiento una máquina virtual en comunicación con el simulador de TIA Portal, PLC Sim para S7-1200/1500. • Realizar un proyecto en TIA Portal. El proyecto de TIA Portal lo debemos iniciar con la configuración del hardware en donde debemos añadir las tarjetas de entradas y salidas necesarias para poder conectar todos los dispositivos del simulador 3D, en este caso, para el S7-1200, necesitamos los siguientes bytes: 51
  • 59.
    Unidad 1- Entornode programación TIA PORTAL 52 Entradas: IBO - IB1 - IB2 - IB3 - IB4 - IB5 Salidas: QBO - QBl - QB2 - QB3 - QB4 - QBS Para ello configuramos un hardware formado por: CPU 1214C AC/DC/Rly: con 14 entradas (IBO - IB1) y 10 salidas (QBO - QBl). DI 16x24VDC: módulo de 16 entradas (IB2 - IB3). DI 16x24VDC: módulo de 16 entradas (IB4 - IB5). DQ16 x 24V DC: módulo de 16 salidas (QB2 - QB3). DQ16 x 24V DC: módulo de 16 salidas (QB4 - QBS). Por tanto, el hardware configurado deberá quedar de la siguiente forma: • .J-..01 .,...,.._ ·��... • ..lli �H((P,,lln,ot� ......._ 11(1,6,,o-,..,..•• ..........,........ ·��......... , w,-�. ·•-"e: , ,-5,._..._.., , ..;.____,....., ' -" llo, .........., , :::;i........ ··---•..- 1!(--...••·,._.. M ,,._.,_ ...-......... • r�•-­ , ....._,,..._ ► i.jllluu•..,.,.. , .; 1...••------- , ,__...-,in ....._.. -·•-1-!I IDdr- • ., t .00,�- , (__,, ..,. MO ·--·......... - .... '-'ll"-....-- 1'- , .,, ,.. - �� - ....,..,----'-l ' �;:::;:-,·�-- " -t- ·- Fig. 1.129 • , _.oi__ r • 4QI� ! :::::= ¡: • JIDOT.....•lo(l( !IIMn:n.:1,1--.0 ■MJ.Jl?>•� . ..PQ,__,. , ,..OQ__, ., > · w..,_'61,. ¡ En donde se debe seleccionar Ninguno en la opción de configuración Bloque de organización" y Memoria imagen de proceso, tanto para la CPU como para los módulos de E/S. Para el caso del S7-1500 necesitamos una configuración de hardware formada por: CPU 1512C-1PN: con 32 entradas (IBO - IB1 - IB2 - IB3) y 32 salidas (QBO ­ QBl - QB2 - QB3). DI 16/DQ 16x24VDC: módulo de 16 entradas (IB4 - IB5) y 16 salidas (QB4 - QBS). • J _,. ...........,_ ·""--- ,. ,,a llU..1 )U'U�t)( I MI 11(;....,...,. � �-,......... :r--- .�.................. , ...c,._--..­ • tilU.-•-. ._,__ , ;.¡ _..,.,,t(" • ..,_.,_,u ........-....,........ • UII-.....- , ,__ ·�--....,...__ !!t ...._._.-t....,._ "..J� ,........ -'"lt. 111 •-•-A -ftl • !a-� ..................- ·--·- • e,..,...._...,__ , lf_o;,.....·- ; •""-"..- Fig. 1.129a
  • 60.
    Recuerda • •• Es importante introducir en el bloque de programa 0B30 los tres segmentos indicados en las figuras, ya que se trata de la configu­ ración para que el programa cargado en el PLCSim establezca comunicación con el Simulador 3D. Unidad 1- Entorno de programación TIA PORTAL • Introducir programa en el bloque deorganización Cyclic interrupt (OB 30). Para una correcta conexión entre el simulador 3D y el simulador de TIA Portal PLCSim es necesario que en el bloque de programa llamado Cyclic interrupt, que corresponde con el OB30, se introduzca el siguiente programa: • Sagmento 1 : CQWNK" XlÓN OE PlC SIMCON EL SIMJt.AOOR 30 PAAALJ.S ENTIW)AS "°"" MOV!e 1------ eN - ---------- EN - 'IM07600 "UDO 'JMD7604 WM ·c:o0tr ..o_r2· - IN u oun1-- ·eNTAADAS·z_PLC" "'º"" MOV!e EN ­ ----------- EN - "J'M07800 IN U oun � °COOIGO_Q1· • Segmento 3: r .ot..,tJNICAOÓN oe PlCsrua:mEl SIWI.AOOli.30 '"""LAS t .,,'W'" ,.Xi MOV!e E N ­ IN <> oun ----------- E N - 1MW:IOOO '"CODIGO_t.n• 16t;4739 - IN 'IMW-002 � oun � ·OlOIC" .ia_wr Fig.1.130a Fig.1.130b Fig.1.130c Las diferentes palabras de marcas, entradas y salidas utilizados para la carga de unos valores no podrán ser utilizadas en el programa, ya que ocasionaría una modificación en los valores cargados desde el OB30 y provocaría la pérdida de comunicación entre el simulador 3D y el simulador de TIA Portal PLCSim. • Introducir programa para el control del proceso. Por ejemplo, en el OB1, introducimos el programa del control del motor de la cinta que transporta los palets con indicación mediante los pilotos de señalización del estado actual del proceso, que sería el siguiente: ,.,.2 ·s2_P1J1.s-,,¡ oe �· 'la.O ..._ PROTECOON lolJlORP.ALEl";" 'IQl.1 ·ow lillRlR am.-PM.Er ,-.......... Fig.1.131a 'IQll �wr �= ---------------------i ��- , l------< Fig.1.131b 'IQ1 .1 _1,1)11)1¡ ONTA PN.EI" 'IQU ..Hl _VEA>E "' 1--------------------1 l------< Fig.1.131c 53
  • 61.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • Antes de arrancar la aplicación del Simulador 3D, debemos asegurarnos de que el PLC ha pasado del estado STOP a RUN 54 • Segmento 4: Piloto de seña li::eción estado de proceso en atería por disparo del disyuntor '113.0 •F2_ PROTECCION MOTOR PALETS• 'JQ2.1 "HO_AMARILLO• )-------, Fig.1. 131d • Iniciar la aplicación del simulador de TIA Portal PLCSim. Teniendo seleccionado el PLC en el Árbol del proyecto, iniciamos el simulador PLCSim desde TIA Portal a través de la opción Online - Simulación - Iniciar, o también mediante el icono dispuesto en la barra de menús llamado Iniciar simulación, siguiendo los mismos pasos indicados en el punto 1.2.6 dentro del apartado Mediante PLCSim. IMPORTANTE: Una vez finalizada la carga del hardware y el programa, y antes de continuar, hemos de pasar el PLCSim al modo de funcionamiento STOP y seguidamente dejarlo en modo RUN. • Conexión del PLCSim con el simulador 3D. Iniciamos el simulador 3D, en ese momento se visualizará el proceso que contiene el simulador así como diferentes botones habilitados en el panel principal. Aotómtt.sptogtam&ble-s SIEMENS.Gr.r«t yG1.111 � conT1A Portal _______, M.a,uJede c�scontrucolores Vml Opdo,m CMMtl Fig.1. 132 Este simulador 3D se puede girar en todos los sentidos. Si fijamos el ratón en un punto y lo giramos en cualquier sentido, se podrán obtener múltiples vistas del proceso simulado. También se podrá realizar zoom para acercar o alejar el proceso si fijamos en un punto el ratón y desplazando la rueda hacia adelante, alejar o zoom (-) y hacia atrás, acercar o zoom (+). En la parte inferior del simulador 3D están situados una serie de selectores y pulsadores con diferente funcionalidad, como es el selector 0-1 de la izquierda, éste se utilizará para reiniciar todos los actuadores que intervienen en el proceso colocándolos en su posición de reposo y haciendo que las piezas se sitúen,
  • 62.
    Recuerda • •• El selector "0-1 " situado en la parte inferior izquierda del Simulador 3D, se debe utilizar para poder poner el proceso simulado en sus condiciones de inicio, tal cual aparece al arrancarlo. También es útil cuando, por causas justificadas, como puede ser un incorrecto planteamiento del programa, o injustificadas, "cosas de la informática", el Simulador 3D pueda quedar en un estado no deseado, o bien porque realiza acciones anormales. Unidad 1- Entorno de programación TIA PORTAL también, en su posición inicial. Para ello en primer lugar debemos pasar el modo de funcionamiento del PLC Sim de STOP a RUN. También en ese mismo panel inferior localizamos tres pulsadores que tienen la siguiente funcionalidad: PONER PIEZA : Si no existe pieza en la posición de recogida por parte de la ventosa del manipulador de carga, entonces aparecerá una nueva pieza, podemos realizar hasta un máximo de cuatro cargas de piezas. Este pulsador puede ser utilizado en el caso de realizar programas para el estudio de forma individual del manipulador de carga. En el caso de que se hayan agotado las cuatro piezas, entonces debemos accionar el pulsador Inicializa, disponiendo de nuevo de otras cuatro piezas. TOPE FINAL CINTA: Si se desea realizar programas para el estudio de forma individual del manipulador de grabado, podemos activar este botón, con ello se consigue que cuando las piezas alcancen la posición final de la cinta, esas mismas piezas desaparezcan del proceso. Si este botón se encuentra activado se indicará de color rojo observando además como la pieza que hace de tope al final de la cinta de piezas desaparece, si por el contrario se encuentra desactivado se visualizará el botón de color verde y el tope del final de la cinta aparece. En el caso de quedarse vacía la cinta transportadora de entrada de piezas al proceso se deberá accionar el pulsador Inicializa, cargando de nuevo la cinta de piezas. CARGA: Simula la acción de retirar manualmente la pieza cuando ésta se encuentra en la posición de carga para ser recogida por la ventosa. MARCADO: Simula la acción de retirar manualmente la pieza cuando ésta se encuentra en la posición de marcado en el manipulador de grabado. Los otros tres pulsadores con las indicaciones de SELLADO VERDE, SELLADO AMARILLA y SELLADO ROJO están asociados a diferentes entradas del PLC, para en el caso de querer realizar programas y poder seleccionar en cada momento el color del sellado de cada una de las piezas a procesar. Si la comunicación con el PLCSim es correcta, mediante una Tabla de observación se observarán las diferentes entradas/salidas indicando su estado actual. • ,Ji UNIO,ll()_Ol !Cl'U ll1olC� g ... IN �••o6nffc1topos­ � o,,1,,e y 1Nfn6olico • e: e....,_, ,..,.,....,... • -- �- IK........OI ,.,,.,.,,..__, , :¡.v....t., I.C • � ff da111t!C • ';_ -_1111, IN al,u,...ati,,yb,.d -.. �IIOW.ff <:41.-.oti6r �llW. ft lo,a6o pe,mu,e,.... - 1abl& M ob>tMo6rl._1 • _ ..,b,p, � • .:,, .-.o, • .ii, O.IOl d<r p,o,rclt ..po1- .lq int;,.,,,,o<l6fld•IPf'l9'0"'0 J, . w1ufei.- , _. ....... ,.,ui.1 • j;¡ ou01«1"'""'' • C Conlfv'-.OO>lllel doel,,n....., • .lo) ....,,.,uy l'f<"� �l.l'I.UJOOIIDr ,JIIO' "S2..J',UJ001101 t.NQIA' ·,�.�� ,,ru'IS· ·1t1io,l:)10� o,ro., ,1Ur "HI)�· "HI.Wlll :>f° .....,.,.,. __....,.__ y.ic,,4-ot,-.,,o6'1 aa-... ..... .._ '-«w>•�..- ob'de lor ..do � WO.I toOI. ■ -.Jt: ,...,,.._ Mil -;-- ¡;¡¡ ,,..se G ,.......,_ - •= '1,01 1 tOOl ■ Wut '02 1 [il fAI..SI - ·- '11,Ql.• 900. ¡;;;¡ ,.._$[ ...... > Vls�O.t.tli.d.l �� '"i..1ntormKl6n II Ji oi.onóJtko -:¡ ...9....,.o1 .,,;J. rew. 111._ Fig.1. 133 55
  • 63.
    Unidad 1- Entornode programación TIA PORTAL 56 • Comprobar el funcionamiento del programa. A continuación, podemos ir haciendo aparecer los diferentes cuadros de mando para el control del proceso mediante los diferentes pulsadores como: Control del proceso. En esta ventana podemos controlar el proceso mediante los diferentes dispositivos: o seta de EMERGENCIA. o pulsador de PARO con indicador luminoso. o pulsador de MARCHA con indicador luminoso. o selector AUT/MAN. Contr°' dd proc� • • 11 ' IJ EMEP(;E:'1(".IA PARO MAlOfA Ali ·'MAN AOC Mt 11 11 11 11 ■ Fig.1.134 o pulsador de reconocimiento de alarmas (ACK) con indicador luminoso. o disyuntor magnetotérmicodelmotordelacintatransportadoradepaletsMl. o disyuntor magneto térmico del motor de la cinta transportadora de piezas M2. o cinco pulsadores, sin enclavamiento con una pulsación, con enclavamiento al realizar una doble pulsación, además de indicador luminoso (S20-H20..., S24-H24). Para este primer ejercicio que estamos realizando, basta con este cuadro de mando para poder controlar el proceso y visualizar en el simulador 3D el funcionamiento de la cinta de transporte de palets. Para ello actuaremos sobre los siguientes dispositivos: o Pulsador de Paro, indicado como PARO. o Pulsador de Marcha, indicado como MARCHA. o Disyuntor magneto térmico del motor de la cinta transportadora de piezas, indicado como M2. o El resto de ventanas de control del proceso serán explicados en sucesivos capítulos donde aparezcan. Mando manual. En esta ventana podemos controlar el proceso de forma manual a través de unos selectores que controlarán cada actuador: Mando manual �HiHi1 ri1riHi1 S9 SlO Sll SU SU S14 ri1ri1 ri1 ri1ri1ri1 515 S16 Sl7 S18 519 525 Fig. 1.135
  • 64.
    Recuerda • •• Si al arrancar el Simulador 3D, éste queda en segundo plano, para poderlo pasar a primer plano debemos usar la combinación de teclas "Alt + Tab". Unidad 1- Entorno de programación TIA PORTAL Estado de la Guía Gemma. En esta ventana podemos visualizar el estado actual del proceso según la guía Gemma. Se observará un cambio a color verde cuando por programa activemos la salida asociada a cada uno de estos pilotos. Estado de la Guia GEMMA Fig. 1.136 Averías en el proceso. A través de esta ventana podemos provocar diferentes averías al proceso y que el programa deberá contemplar su tratamiento. Aveerias een e,I proceso Pulsar un boton para provocar una ave,ria Fig. 1.137 Registros de pedido y de contaje. En esta ventana podemos visualizar el estado actual de los registros de contaje referidos a los Valores de producción, que mostraran el número de las piezas procesadas (fila inferior). También esta misma fila dispone de un pulsador de Reset para programar en el PLC como una entrada y poder poner a cero los registros asociados a los Valores de producción. También, permite la introducción de valores en los registros de Pedidos de producción para indicar cuantas piezas de cada color se desean procesar (fila superior) como pedidos de producción, contando con un pulsador de Reset con el que se ponen a cero los registros asociados a los visualizadores de Pedidos de producción. Se ha de indicar que este pulsador es interno al simulador 3D y por tanto no está asociado a ningún registro del PLC. 57
  • 65.
    Unidad 1- Entornode programación TIA PORTAL Recuerda • • • Para cerrar el Simulador 3D, es imprescindible pulsar sobre los iconos indicados, ya que en caso contrario quedarán procesos abiertos. 58 • Registros de pedido y de contaje •••• .__ I Reeet ___, ROJO Aman o Verde Ninguna ==---, Nota importante. n , n u I u Fig. 1.138 1 Si al arrancar el Simulador 3D no aparece en pantalla, es porque queda en segundo plano cuando se tienen más aplicaciones abiertas. En este caso hay que usar las teclas Alt + Tab para visualizar el simulador 3D en primer plano. Fig. 1.139 Para cerrar elsimulador 3D de forma correcta se debe pulsar el botón siguiente, ya que en cualquier otro caso quedaran procesos abiertos. Fig. 1.140
  • 66.
    ' Unidad 1- Entornode programación TIA PORTAL Eiercicio CONTROL DEL MOVIMIENTO DE TODOS LOS ACTUADORES Y PILOTOS DE SEÑALIZACIÓN DE FORMA MANUAL Con el objetivo de manipular el simulador 3D y conocer algunas de sus funcionalidades, en este primer ejercicio sería conveniente poder visualizar los movimientos de todos los actuadores, como son los cilindros y los motores, así como el de los pilotos de señalización, tanto de la baliza como de los pulsadores. Condiciones de funcionamiento: • Mediante los correspondientes selectores del panel de Mando manual, se debe ir realizando los movimientos de forma controlada para que no existan choques en los movimientos, de todos y cada uno de los cilindros que intervienen en el proceso. • Mediante los correspondientes diferentes selectores del panel de Mando manual, se debe ir realizando los movimientos de los dos motores teniendo en cuenta el estado de los disyuntores magneto térmicos. Si éstos se encuentran disparados, se deberá señalizar mediante los pilotos amarillo y rojo, respectivamente de la baliza. Del mismomodo, quedara señalizado el funcionamiento de los motores mediante los pilotos, verde y azul, respectivamente, de la baliza. • Los pilotos asociados a los pulsadores de Paro, Marcha y ACK, entrarán en funcionamiento siempre que su pulsador correspondiente se encuentre pulsado. • Los pilotos asociados a los pulsadores de S20, S21, S22, S23 y S24, entrarán en funcionamiento siempre que su pulsador correspondiente se encuentre pulsado. Fig. 1.141 Relación de entradas y salidas: ENTRADAS SALIDAS Dirección Dispositivo Dirección Dispositivo 10.1 51 Paro Q0.0 Yl Bajar ventosa 10.2 S2 Marcha Q0.1 Y2 Ventosa a la izquierda 12.7 Fl Disyuntor motor piezas Q0.2 Y3 Ventosa a la derecha 13.0 F2 Disyuntor motor palets Q0.3 Y4 Multiposicional pequeño 13.1 SS Pulsador ACK Q0.4 YS Multiposicional grande 14.0 59 Selector bajar ventosa Q0.5 Y6 Tope en cinta de piezas 14.1 510 Selector ventosa a la izquierda Q0.6 Y7 Bajar marcador 14.2 511 Selector ventosa a la derecha Q0.7 Y8 Subir marcador 14.3 512 Selector multiposicional pequeño Ql.0 Y9 Activar ventosa 14.4 513 Selector multiposicional grande Ql.1 KlM Motor cinta palets 59
  • 67.
    Unidad 1- Entornode programación TIA PORTAL 60 ENTRADAS Dirección Dispositivo 14.5 514 Selector tope cinta piezas 14.6 515 Selector bajar marcador 14.7 516 Selector subir marcador IS.O 517 Selector motor piezas 15.1 518 Selector motor palets 15.2 519 Selector vacío ventosa 15.3 520 Pulsador 15.4 S21 Pulsador 15.5 522 Pulsador 15.6 S23 Pulsador 15.7 524 Pulsador Realizar: • Programa implementado para el PLC. SALIDAS Dirección Dispositivo Q2.0 K2M Motor cinta piezas Q2.l HO Piloto amarillo Q2.2 H2 Piloto verde Q2.3 H2 Piloto azul Q2.4 H2 Piloto rojo Q3.0 H4 Piloto pulsador paro Q3.l HS Piloto pulsador marcha Q3.2 H6 Piloto pulsador ACK Q3.3 H20 Piloto pulsador S20 Q3.4 H21 Piloto pulsador 521 Q3.5 H22 Piloto pulsador 522 Q3.6 H23 Piloto pulsador S23 Q3.7 H24 Piloto pulsador S24 • Comprobación del funcionamiento mediante la maqueta de simulación 3D.
  • 68.
    ' 1 ' ' ' ' l l ' Unidad 2 -Introducción a la programación Unidad 2 Introducción a la programación En este capítulo: 2.1 Operaciones lógicas con bits 2.1.1 Concepto del bit RLO (Resultado Lógico de la Operación) 2.1.2 Circuitos básicos con entradas y salidas 2.1.3 Memoria de la CPU. Marcas de memoria y marcas remanentes 2.1.4 Marcas de sistema (Primer ciclo) 2.1.5 Instrucciones con memoria SET/RESET 2.2. Programación en Grafcet (1) ,., ·1.:.1'1.� .,_,,.. 'º" 'l;1M l,IC"(lt c.,..;,.....i- ... �-� �'-..t"'' 2.2.1 Introducción al Grafcet 2.2.2 Objetos básicos para el diseño de un Grafcet 2.2.3 Símbolos normalizados en acciones asociadas 2.2.4 Reglas del Grafcet 2.2.5 Niveles de diseños en Grafcet (nivel 1, 2 y 3) 2.2.6 Tipo de secuencia lineal 2.2.7 Programa basado en diseño Grafcet Ejercicio propuesto 61
  • 69.
    Unidad 2- Introduccióna la programación 62 Recuerda • • • El número de entradas y salidas físicas que contiene una CPU puede variar, pero lo que no varía es la forma en la que se direccionan: primero el tipo de registro del PLC (entrada, salida, marca...) seguido del número del byte, un punto y el número del bit. 2.1 Operaciones lógicas con bits Las señales de entrada y salida digitales son llamadas por el programa a través de una dirección de memoria. Estas señales que se encuentran en la propia CPU están formadas por grupos de ocho entradas o salidas que van desde el bit O al bit 7. Además, esa dirección se completa con el número del byte al que pertenece dicha entrada o salida digital. Por ejemplo, si disponemos de una CPU que integra un módulo de 14 entradas y 10 salidas, estas estarían distribuidas de la siguiente forma: 14 entradas digitales SIEMENS SIMATIC S7-1200 byte O (bit O a 7) byte 1 (bit O a 5) .............. CPU1214C ACIOC/Rly .............. 10 salidas digitales byte O (bit O a 7) byte 1 (bit O a 1) Fig. 2.1 Las direcciones de una entrada digital se asignan de la siguiente forma: %1 2.3 %1 : la letra «I» indica que se trata de una entrada. 2 : el valor «2» señala la dirección del byte. 3 : el valor «3» señala la dirección del bit. En la direcciónsiempre se separa el número de byte del número del bit con un punto. Las direcciones de una salida digital se asignan de la siguiente forma: %Q S.6 %Q 5 : la letra «Q» indica que se trata de una salida. : el valor «S» señala la dirección del byte. 6 : el valor «6» señala la dirección del bit. Al igual que para las entradas digitales, en la dirección siempre se separa el número de byte del número del bit con un punto. Al procesarse el ciclo de sean, en el momento de realizar la lectura de las entradas, lo que hace es una copia íntegra del estado de todas ellas y las graba en una zona de memoria del PLC llamada PII (process image of the inputs) o, lo que es lo mismo, una imagen del estado de las entradas del proceso. Algo similar sucede con las salidas, pero al revés, es decir, que al ser ejecutado el programa, el resultado que va teniendo el estado de las diferentes salidas que intervienen en dicho programa se va grabando en la zona de memoria llamada ,_,:
  • 70.
    ' ' ' ' ' ' l l ' ' l ' ' ' ' ' Recuerda • •• La CPU incorpora un área de memoria llamada PII que actualiza en cada sean el estado de todas las entradas físicas que contenga. Unidad 2 - Introducción a la programación PIQ (process image of the outputs, quit) o, lo que es lo mismo, una imagen del estado en el que se deberán encontrar las salidas. Este estado se vuelca sobre las salidas físicas antes de iniciar un nuevo sean. En ambos casos el valor grabado, tanto en PII como PIQ, en cada bit corresponde con el estado de la entrada o salida física de las mismas. Por tanto, si la señal está activa, se grabará un 1y si la señal está desactivada, se grabará un O. Veamos un ejemplo de un bit de entrada y otro de salida representado en la PII y PIQ respectivamente: Área de memoria de entradas (PII) Área de memoria de salidas (PIQ) Bit 7 Bit 6 Bit 5 Byte O Byte 1 Byte t Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 ... Byte n Recuerda • • • La CPU incorpora un área de memoria llamada PIQ que registra durante la ejecución del programa el estado que deberá tener cada una de las salidas. Al inicio de cada sean, estos estados serán copiados en las salidas físicas. Bit 4 ..Bit 3J Bit 2 Bit 1 Bit O Bit 7 Bit 6J Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 1 Byte O Byte 1 X� Byte 2 ......._ Byte 3 .........-- Byte 4 '/ �-- %12.3 '-- Byte 5� X Byte 6 ,,,.--'7 Byte 7_,... ,/ jlytfB %QS.6 Byte n Recordamos ahora las acciones que conforman el ciclo de sean: l. Transfiere el estado delassalidas delárea de memoria PIQ hacialassalidas físicas. 2. Almacena el estado de las entradas físicas en el área de memoria PII. 3. Ejecución del programa, instrucción a instrucción con acceso a las áreas de memoria PII y PIQ. � � 1 PIQ (Memoria salidas) Programa del PLC en la memoria del programa 1nstrucción 1 � 1 PII (Memoria entradas) Instrucción 2 Ejecución Instrucción 3 � 11 del Instrucción 4 Datos locales programa � 11 Memoria de marcas Instrucción n � 1 � 11 Bloques de datos 4. Ejecuta funciones internas del sistema operativo (atiende a las comunicaciones, realiza operaciones de autotest, etc.) Nota: El tiempo que el procesador necesita para toda esta secuencia se conoce como ciclo de sean, y este depende en gran medida del número de instrucciones utilizadas en el programa y de la capacidad del procesador. 63 Bit O
  • 71.
    Unidad 2 -lntroducci6n a la programaci6n Recuerda • • • La CPU dispone de un registro interno en forma de bit, llamado RLO, que guarda en cada paso del programa el estado de la ultima operaci6n 16gica realizada. 64 2.1.1 Concepto del bit RLO (Resultado L6gico de la Operaci6n) EI bit de estado RLO es la memoria intermedia en las operaciones 16gicas binarias. La CPU transfiere el resultado de la consulta al RLO en la primera consulta. En todas las consultas siguientes, el resultado se combina 16gicamente con el RLO guardado y se deposita nuevamente en el RLO. EI RLO se puede activar (SET), desactivar (RESET), negar (NOT) o guardar (SAVE) en el bit del resultado binario (BR) de la palabra de estado (STW) a traves de las instrucciones correspondientes. Con el RLO se controlan instrucciones de almacenamiento, temporizaci6n y contaje, y se ejecutan determinadas instrucciones de salto. Si el resultado de la ecuaci6n 16gica se cumple, es decir, que es cierta, entonces se registra un 1 en el bit del RLO. Si por el contrario la ecuaci6n 16gica no se cumple, es decir, que es falsa, se registra un O en el bit del RLO. 1 - - 1 1 'IIO_O 'IIO_l '11()_2 1 iQ(l_Q 1 'SO_Paro' 'Sl_Marcha' "Fl_ReleTermico' 1 'KlM_Motor' l 7;�., � L------------------------1 )-------, ecuaci6n 16gica Fig. 2.2 Analizara el estado del primer contacto, en este caso el %10.0. Si esta activado, pondra un 1 en el bit RLO y en caso contrario grabara un 0. Continuara con los siguientes contactos aplicando la operac1on 16gica programada, AND o OR, y asf sucesivamente con todos y cada uno de los contactos que contiene la ecuaci6n 16gica. Al final tendremos dos posibles soluciones: • Que el conjunto de la ecuaci6n 16gica sea verdadera • Que el conjunto de la ecuaci6n 16gica sea falsa ➔ bit RLO = 1 ➔ bit RLO = 0 Entonces en el momento de ver si ha de activar o no la salida %Q0.0 lo que hace la CPU es mirar c6mo se encuentra el bit RLO. Si esta a 1, conectara la salida, y si esta a 0, la desconectara. 2.1.2 Circuitos basicos con entradas y salidas • Operaci6n 16gica AND Si, por ejemplo, tenemos el siguiente circuito electrico formado por dos pulsadores para controlar el funcionamiento de un piloto, tan solo funcionara cuando los dos pulsadores se encuentren cerrados de forma simultanea: EI cableado de los diferentes componentes en el PLC sera el siguiente: +24v � 51 52 M__h V J
  • 72.
    Recuerda • •• La instrucción AND , programa un contacto abierto en serie con todo lo anterior. ' í í í Unidad 2 - Introducción a la programación Donde se observa cómo los pulsadores conectados a las entradas no tienen por qué respetar la condición tal y como se lleva a cabo en un sistema cableado, ya que la condición se realizará por el propio programa cargado en el PLC. Tendremos, entonces, la siguiente distribución de entradas y salidas: ENTRADAS S1 1 %10.0 52 1 %10.1 SALIDAS Hl %Q0.0 Por tanto, nuestro programa quedará de la siguiente forma: 'XQO.O "Hl" Fig. 2.3 • Operación lógica OR Si, por ejemplo, tenemos el siguiente circuito eléctrico formado por dos pulsadores para controlar el funcionamiento de un piloto, este funcionará cuando uno o los dos pulsadores se encuentren cerrados: +24v--�r---�r- 51 52 ______,Í Hl M __...,______ En esta figura se representa el cableado de los diferentes componentes en el PLC. Como se puede observar, el cableado es idéntico al del ejemplo anterior, ya que la condición no viene dada por cómo están conectados estos pulsadores, sino por el programa que incluimos en el PLC. Tendremos, entonces, la siguiente distribución de entradas y salidas: ENTRADAS S1 1 %10.0 S2 1 %10.1 SALIDAS Hl %Q0.0 65
  • 73.
    Unidad 2 -Introducción a la programación Recuerda • • • La instrucción OR programa un contacto en paralelo con todo lo anterior. Por tanto, nuestro programa quedará de la siguiente forma: "I.IO.O 1QO.O ·s1· "Hl" J i----.---------------'( )----, �i� • Negación Fig. 2.4 En operaciones lógicas, a veces es necesario trabajar con SEÑALES CONTRARIAS A LAS DEL ELEMENTO AL CUAL HACE REFERENCIA, es decir, que en estado de reposo dejan pasar señal y en estado de activación no dejan pasar señal: SÍMBOLO COMENTARIO 'Y,KU ·s2· Fig. 2.Sa ---1 1--- CONTACTO NORMAL que en estado de reposo no deja pasar señal. 'f.!0_2 •s3• Fig. 2.Sb ---v1-- CONTACTO NEGADO que en estado de reposo sí deja pasar señal. Recuerda • • • La instrucción NOT ofrece en su salida el estado lógico contrario del que tiene en su entrada. 66 Veamos algún ejemplo: 1QO.O "Hl" )----, "I.I0.1 ·s2· Fig. 2.6 • Operación NOT El concepto de contacto negado solo afecta al contacto donde está programado y no hay que confundirlo con la operación NOT. Esta instrucción realiza la operación de negar todo lo que afecte anteriormente programado en ese segmento, es decir, el estado del bit RLO en ese punto del programa. En el siguiente ejemplo la instrucción NOT niega el resultado lógico de la operación en ese momento. Por tanto, si la ecuación lógica antes de la instrucción NOT era 1, después de la instrucción NOT pasa a ser O, y al contrario. "I.IO.O '11<>.2 'f,QO.O ·s1· •53• "Hl" J -..---1/1...,_.----11 NOTl-----------i �; )----, Fig. 2.7 V
  • 74.
    1 1 1 ' ' ' ' ' Recuerda • •• La CPU dispone de diferentes áreas de memoria, como son: • memoria de carga, • memoria de trabajo, • memoria remanente. Unidad 2 - Introducción a la programación 2.1.3 Memoria de la CPU. Marcas de memoria y marcas remanentes • Gestión de la memoria La CPU dispone de las siguientes áreas de memoria para almacenar el programa de usuario, los datos y la configuración: - Memoria de carga: permite almacenar de forma no volátil el programa de usuario, los datos y la configuración. Cuando se carga un proyecto en la CPU, esta almacena primero el programa en el área de memoria de carga. Este área se encuentra bien en una Memory Card (si está disponible) o en la CPU. La CPU conserva este área de memoria no volátil incluso tras un corte de alimentación. La Memory Card ofrece mayor espacio de almacenamiento que el integrado en la CPU. - Memoria de trabajo: ofrece almacenamiento volátil para algunos elementos del proyecto mientras se ejecuta el programa de usuario. La CPU copia algunos elementos del proyecto desde la memoria de carga en la memoria de trabajo. Este área volátil se pierde si se desconecta la alimentación. La CPU la restablece al retornar la alimentación. - Memoria remanente: permite almacenar de forma no volátil un número limitado de valores de la memoria de trabajo. La CPU utiliza el área de memoria remanente para almacenar los valores de algunas posiciones de memoria durante un corte de alimentación. Cuando se produce una caída o un corte de alimentación, la CPU restaura esos valores remanentes al restablecerse la alimentación. Para ver el uso de memoria de un bloque de programa compilado, se debe pulsar sobre el botón secundario del ratón en la carpeta del proyecto, en la de Bloques de programa o en la del cualquier bloque programado del árbol del proyecto, y seleccionar Plano de ocupación en el menú contextual. ho,,t<CO U«oC1 H! ln>V'.&r ON.l>e 0pc.·•--..., Hen•"'�""' ilM_.,._ AJ"'d• •Qc.,;on1.,P<OJKco.:O •• X lr)1r,, ·Aff!llllr:;S&toob!Kc,,,-.6ft<l<ll,nt.,_,. 01,posltlwl () o ...,... @ - .., n lodelbloque •.,...,!"'ot,.ni.S-�p<c,..1or _______ _ •0- ... ► et - .J ':,.� �ntol: c,,n,,t0Wa,,co<S•p1•oy,.,,,chl ________ - v lmtru.cdonH�ik;,1 ,.,, " ... •1 ·s,· ·�r ., •,r i=;�� 5,egmarrtol: Opt,u,onlogou _ .., __________ _ •.o -1 'IQOD V = - l••------•--11-----11----------< � - •-Opt••-••u•onM --: ,....... ; rtl-fr d!1""'!- o(l•O· ,...,. ,,..., •O-,(S) fé1sn_e, ,(IIUfT.,., �SIi �M dl-fl- v ) Tetook,gi,I i:-------,,===""'"-'.;;; ,OCl'II. ;;..---.,,...,.....,,.,....,._...¡> �i•i:lón ____ !: � � lnformad6n !J OlaQnchtko > Paq.,.,H opdon11lt1 Fig. 2.8 Aparecerá cierta información en diferentes pestañas: - Estructura de llamadas - Estructura de dependencias 67
  • 75.
    Unidad 2 -Introducción a la programación Recuerda • • • Con comunicación entre el ordenador y el PLC, desde TIA Portal se puede disponer de la información sobre el estado de ocupación de las diferentes áreas de memoria. 68 Plano de ocupación Carga de la memoria Dentro de la última pestaña Carga de la memoria podemos ver los diferentes datos de ocupación de las diferentes memorias: Memoria de carga Memoria de trabajo Memoria remanente .......,... f"0111'"_ -�·-w..q;... .... 1ou1 ) Qlijt-lttf>Cll6flkCll . ""'-··--· • t.¡v.,i.W.,,,IU. '..111pc11.••*"c • _ti.wu•••-<M7filQN,-,i•- , a.,twp,.OllliN- ' 'IK�• ' n.11"*"°"".."·""'"­ .....,,.,.i...,......... _iJ�tHdo-- ►�til6clublD ..IH • Jt>ot111•-- • ·(c,,,l,gi..-t<ai...t,,.,._.i,w ► ldiiDfr ..lJIN""-lll •• ,,uuo,, ..... 1 ,lf�NW ...la,¡.,Ml..,.._USfl �-� -·�.....,.___ º" º' o-. 768CClbylH l!Z4Gby.,n �dll; l• t?O"'f+I O!!J!!!.. U]!e:� OUoptikll!ll l Fig. 2.9 " .. Para ver el uso de memoria de la CPU online, en primer lugar hemos de Establecer conexión online con el PLC y posteriormente hacer un doble clic en las opciones Online y Diagnóstico que encontraremos al desplegar el proyecto de la CPU. A continuación, debemos expandir Diagnóstico y seleccionar Memoria: Accuo5 online- • Oi19n6nico Enadodedi19nóuico Búferde di119n6itico 1íe-mpode- ciclo Nt-mori1 ► lnttrfazPROflNETIX1} ► funcionu • Memoria remanente T1m1flo, rfl � Liblt: Ocupada: Tottl: ... Mtmoria-deurga. ◄188468 5836 ◄19-4304 Mffnoria dto u11bajo t.,1emori1 rtmen_ Fig. 2.10 102324 10240 76 O 102400 10240 Es posible evitar la pérdida de datos tras un corte de alimentación marcando determinados datos como remanentes. LA CPU 57-1200 permite configurar como remanente tan solo el área de marcas, a partir de la MB0, mientras que en el 57-1500 permite además del área de marcas, seleccionar como remanentes áreas de temporizadores y de contadores. Cuando tenemos declaradas las variables del V
  • 76.
    ) ) ) ' ) Unidad 2 -Introducción a la programación programa, nos aparece una columna con el nombre Remanencia. Si esta se encuentra marcada, nos indica que esa marca es remanente. UNIDAD 02 V14 ► Ul_HORIA {CPU 1114-C AOOCJRly} ► V.m.1bles Pt.C ► T.lbli'i de v.1nabl�s_1 [<>J - lit ii X 1 -------,..._---------�-��-------�<JVariables G) Constantes de usuario �ir ª i!/t labla de va,la les_1 N.ombre Dir&:ci6n �.11nmcill /Ct.t-sible de«le HM!:Of'C UA E¡cnblble desde HMliOPC UA Vi�1bl� ffi HMf En inff-._ ... """-º Bool ......o ¡;¡¡ Q liiiil ... """-' Bool ""'°·' Q (;¡i) ... Aux..2 Bool .,..,., Q (;¡i) ... SO_E�RGENQA Bool 'lWO.O ¡;¡J (;¡i) ¡;¡¡ ... S1_PAAO Bool %10.t Q � ... S2_tNJKHA Bool "M0,2 !i1l ... S3_SELEClORAUTOft..Wl Bool "'º.3 ¡;¡¡ ... i'.uit...30 Bool "'"'º r Q (;¡i) ... ........ Bool ....... r;¡ !i1l liiiil < " Fig. 2.11 Para poder determinar que un área de marcas sea remanente pulsaremos sobre el icono Remanencia. En ese momento aparecerá una ventana en la que podemos configurar el área remanente de la CPU, tal como hemos visto en la figura anterior. Por defecto, no hay ningún área de marcas configurada como tal, y esto se debe a que en la ventana de configuración Memoria remanente hay un O en el campo N.º de bytes remanentes. Si introducimos un valor, por ejemplo 4, quedará configurada un área remanente formada por los bytes MBO, MBl, MB2 y MB3, es decir, 4 bytes empezando siempre por el byte O, a continuación se muestra la misma configuración para un 57-1500 y para un 57-1200, respectivamente: MenlOria remaneñte - X N.1- de bytes remenentes, empeuindo por tveO: O :::::::::: N.t de temporizedo�s SllvlllC remane-mes, empezando por TO: "'º----' N.r.. de conudores s1,w;,.nc re,monentes, empezendo por CO: ._o____. 1-Mmorie remanente actuelmente disponible (b)'tes): 90766 Aceptar Cenc�lar Fig. 2.12a Memoria remanente 'X N.11 de bytes remanentes, empez.endo por 1'.430: ---­ N•.:i de temporizadores Slr-Nl."ílC: remanemes, empeundo por 10: �] N.� de conudores Sl�.'.ilC remanente�. empezando por CO· � Mt!-moria remanente actualmente disponible (bytH): [i"§n6 7 Aceptar Cencelar Fig. 2.12b Al configurar el área de remanencia, se configura el ancho que se precisa, iniciándose siempre por el O, MBO para el área de marcas. Como el 57-1200 no trabaja con áreas de temporizadores ni de contadores, la modificación de sus respectivos campos se encuentra inhabilitada, hecho que no sucede en el 57-1500. Observamos cómo ahora sí se pueden ver en la columna Remanencia de la Tabla de variables los bytes configurados con remanencia. Tabla de variables estándar Nomb"° lípodt-deto, ... PUl.SAOOR DE f'AAO ..., f'ULSAOOROEf.MRCHA .... ... Rt-manent• ..., 8AiAAVlN10SA ..., ... NoP.emant-nt• Bool O.rttti6n Ri!ffilrtt!fl(II "'°·' '"°.2 .....,_o "°°·º ......o AccMiblt- d�• HM!•OPC U.I Fig. 2.13 Escribiblt-dM.dt- HMl.lOPC UA V1i1blt- ton HMI EnginHtmg (;¡i) ¡;;;¡ Ga � Vamos a comprobar con el siguiente ejemplo cómo trabajar con marcas remanentes o sin ellas: 69
  • 77.
    Unidad 2 -Introducción a la programación Recuerda • • • A través de TIA Portal se puede configurar el área de marcas remanente que provoca que no se pierda la información de su estado ante un corte de alimentación eléctrica de la CPU. Recuerda • • • En la configuración de la CPU podemos activar la utilización de dos bytes de registros con funciones especiales, como son: • Byte de marcas de sistema. • Byte de marcas de ciclo. 70 El siguiente circuito trata de controlar la salida Q0.0, que corresponde con el eje vertical del manipulador de carga. Al ser monoestable la electroválvula que controla el movimiento del cilindro y al no tener tensión la bobina, el cilindro retrocederá, pero si la activación de esa salida la hacemos pasar por la marca remanente, M0.0, al conectar tensión al PLC y si la salida se encontraba en funcionamiento antes del corte, cuando se restablezca la alimentación del PLC, la salida Q0.0 volverá a conectarse automáticamente. 1I0. 1 "PULSADOR DE PARO" 1I0.2 "PULSADOR DE MARCHA" 'J.MO.O ªRemanente• � �r¡-�--------------1( )-------, LS�2:J anente· 1QO.O "BAJAR VENlOSA" P o.o 1------------------------1 )-------, Fig. 2.14a Fig. 2.14b Al contrario de lo que sucede en el circuito anterior, el siguiente circuito se ha programado basado en marcas no remanentes. Por tanto, la salida quedará desconectada al restablecerse la tensión del PLC, independientemente de que antes del fallo de tensión la salida Q0.0 estuviera o no activada. 'JY0. 1 'PULSADOR DE PARO' '!II0.2 'PULSADOR DE MARCHA' 'IIM4. 0 � ��-----------------( )-----t �2J 1 'WJR:4. 0 ¡1manente' 2.1.4 Marcas de sistema {Primer ciclo) '!IQ0.0 'BAJAR VENTOSA' )-----t Fig. 2.15a Fig. 2.15b En Propiedades de la CPU, encontramos dentro de la pestaña General la opción Marcas de sistema y de ciclo, que contiene dos apartados: • Bits de marcas de sistema • Bits de marcas de ciclo En el apartado Bits de marcas de sistema figuran una serie de bits que son solo de lectura para el usuario. Entre ellos consta el bit de Primer ciclo o «First Sean», que se corresponde con el bit de marca M8190.0 cuando completamos con 8190 el campo Dirección del byte de marcas de sistema: .J 'J V
  • 78.
    ' 1 ' ' 1 ' ' l 1 ) ' Unidad 2 -Introducción a la programación ► General ► lnterfazPROFINET(X1 J ► Ol 14'DQ 1 0 ► Al 2 ► Contadores rápidos (HSC) ► Generedort-s de impulsos (PTO/PM) 1 Arranque Ciclo carga por comunicación Marcas de sistema )'de ciclo ► Serv idorweb Idiomas de la interfaz: Ho,a Protección Rtocursos de conelG6n Sinóptico de direcciones ■ > < Marcas de sistema y de ciclo ______________ Bits de marcas de sistema r;;l Activar la ut11i21c16n del byte de marcas de sistema 01recci6n del byte de marcu ---------. de sistema (J...ex): ._ s _ 1 9 _ 0_______. Pr1mer c1clo· Diagrama de diagnóstico modi6cado: Siempre t (high): �190.2 (AlwayslRUE) Siempre O (low): �190�.0JoaysFAlSE} Bits de marcas de ciclo Dirección del byte de marcas .---------. de c,clo (f...13xJ ._ s _ 1 9 _ 1_______. Reloj 1 0 H.t: '"3191 .0_(Clock_tOH� Rolo¡ 5 Hz ""'8191 1JOock_SH� P.rloj 2.5 H= ":ri.t..4819 1 .2 �Clock_2.5Hz) �IOJ 2 Hz: ""431 91.3 (doc�_2H:) �loj 1..25 H;:: �1914 (dock�1 .25H.r)_ Reloj 1 Hz: �191.5 (Clock_1 HQ Reloj 0.625 Hr. �191.6JOock_0.625Hi) R<IOJ 0.5 Hz ',M61 91.7 (Oock_0.SH,) Fig. 2.16a En el apartado Bits de marca de ciclo definiremos un byte que contendrá unos bits que funcionarán a diferentes frecuencias y se explicarán en el siguiente capítulo. 2.1.5 Instrucciones con memoria SET/RESET No hemos de confundir las instrucciones llamadas con memoria con las marcas remanentes. Las instrucciones con memoria que podemos encontrar tanto en un PLC 57-1200 como en un 57-1500 son las siguientes: R - RESET. Desactivar bit. S - SET. Activar bit. SET_BF. Activar un rango de bits consecutivos. RESET_BF. Desactivar un rango de bits consecutivos. SR - SET-RESET. Flip-flop de activación/desactivación de bit. RS - RESET-SET. Flip-flop de desactivación/activación de bit. Estas instrucciones las podemos encontrar dentro de la carpeta Operaciones lógicas con bits del catálogo Instrucciones básicas. • Desactivar salida R: La instrucción Desactivar salida permite poner a O el estado lógico de un operando indicado. La instrucción se ejecuta solo si el resultado lógico (RLO) de la entrada de la bobina es l. Si fluye corriente hacia la bobina (RLO = 1), el operando indicado se pone a O. Si el RLO de la entrada de la bobina es O (no hay flujo de señales en la bobina), el estado lógico del operando indicado no cambia. 71
  • 79.
    Unidad 2 -Introducción a la programación Recuerda • • • Las instrucciones de SET y RESET fuerzan el estado del bit asociado al valor «1 >l o «0n respectivamente. 72 1 iNOl]­ ) -{ )­ ffi] -{/)- ) -{R) ffij -{S) ) SET_BF ) RESET_BF g¡j SR g¡j RS 1 iPf- 1 iNl­ g¡j -{P)­ g¡j -{N)­ g¡j P_TRJG g¡j N_TRJG g¡j R_TRIG ' F TRIG Contacto normalmente a bierto (Mayús+F2) Contacto norma lmente cerrado [Ma�s•F3] Invertir RLO Asignación {rv1ayús�F7) Negar asignación Desactivar salida Activar sa lida Activar mapa de bits Desactiva r mapa de bits Flipflop de a ctiva ción/desa ctiva ción Flipflop de desa ctivación/activación Consultar flanco de señal ascendente de un opera ndo Consultar flanco de señal descendente de un opera nd Activa r operando con flanco de señal as.cendente Activar opera ndo con flanco de señal descendente Consulta r flanco de señal a scendente del RLO Consultar flanco de señal descendente del RLO Detecta r flanco de señal ascendente Detectar flanco de seña l descendente Fig. 2.16b Ejemplo: queremos desactivar el funcionamiento de la cinta que transporta el palet (Ql.1) cuando se dispare el disyuntor magnetotérmico (13.0) o el pulsador de paro (10.1): '113.0 "PROTECCION MOTOR 2" 'IQl .1 "MOTOR CINTA PALEi 1---Vl--""T""--------------------{ R }---< ,io_1 "PULSADOR DE PARO" • Activar salida S: Fig. 2.17 La instrucción Activar salida permite poner a 1 el estado lógico de un operando indicado. La instrucción se ejecuta solo si el resultado lógico (RLO) de la entrada de la bobina es 1. Si fluye corriente hacia la bobina (RLO = 1), el operando indicado se pone a 1. Si el RLO de la entrada de la bobina es O (no hay flujo de señales en la bobina), el estado lógico del operando indicado no cambia. Ejemplo: queremos activar el funcionamiento de la cinta que transporta el palet (Ql.1) cuando accionamos el pulsador de marcha (10.2) o el pulsador ACK (13.1): ,io_2 "PULSADOR DE MA.RCHA" 'IQl .1 "MOTOR CINTA PALEi � 7 -"""T"------------------i(�}---< "PULS:� • Flip-flop de activación/desactivación R: Fig. 2.18 La instrucción Flip-flop de activación/desactivación sirve para activar o desactivar el bit de un operando indicado en función del estado lógico de las entradas S y Rl. V ' /
  • 80.
    1 ' Recuerda •• • ' La instrucción SR fuerza el estado del bit asociado al valor «1 » activando la entrada S o «O» activando la entrada R l . En el caso ' de tener activadas las ' dos entradas, tendrá prioridad el RESET. ' ' ' ) ' ' ' ) 1 ' Recuerda • • • ' La instrucción RS fuerza ' el estado del bit asociado al valor «O» activando la entrada R ' o «1 » activando la entrada S 1 . En el caso de tener activada las ' dos entradas, tendrá prioridad el SET. ' ' ' ' ' ' 1 Unidad 2 - Introducción a la programación Si el estado lógico de la entrada S es 1 y el de la entrada Rl es O, el operando indicado se pone a 1. Si el estado lógico de la entrada S es O y el de la entrada Rl es 1, el operando indicado se pone a O. La entrada Rl prevalece sobre la entrada S. Si el estado lógico de las entradas S y Rl es 1, el estado lógico del operando indicado se pone a O. Si el estado lógico de ambas entradas S y Rl es O, no se ejecuta la instrucción. En este caso, no cambia el estado lógico del operando. El estado lógico actual del operando se transfiere a la salida Q y se puede consultar allí. Podemos resumir el funcionamiento de esta instrucción en la siguiente tabla: Entrada S Entrada Rl Salida Q o o No cambia 1 o Cambia a 1 o 1 Cambia a O 1 1 Cambia a O Se puede afirmar que en este caso la prioridad es a la «desconexión», pues al estar las dos entradas activas, la salida Q permanecerá desactivada. • Flip-flop de desactivación/activación RS: La instrucción Flip-flop de desactivación/activación sirve para desactivar o activar el bit de un operando indicado en función del estado lógico de las entradas R y 51. Si el estado lógico de la entrada R es 1, y el de la entrada 51 es O, el operando indicado se pone a O. Si el estado lógico de la entrada R es O y el de la entrada 51 es 1, el operando indicado se pone a 1. La entrada 51 prevalece sobre la entrada R. Si el estado lógico de las entradas R y 51 es 1, el estado lógico del operando indicado se pone a 1. Si el estado lógico de ambas entradas R y 51 es O, no se ejecuta la instrucción. En este caso, no cambia el estado lógico del operando. El estado lógico actual del operando se transfiere a la salida Q y se puede consultar allí. Podemos resumir el funcionamiento de esta instrucción en la siguiente tabla: Entrada R Entrada Sl Salida Q o o No cambia 1 o Cambia a O o 1 Cambia a 1 1 1 Cambia a 1 A continuación, presentamos un ejemplo de aplicación: 73
  • 81.
    Unidad 2 -Introducción a la programación 74 'lll0.2 "PULSADOR DE MARCHA" 1Q1 .1 "MOlOR CINTA PALEr SR J s 113. "PULSADO o - -------------- - 113.0 "PR01ECCION M010R 2" t---1/�--.- R1 'lll0.1 "PULSADOR DE PARO º En ella el funcionamiento es el siguiente: Fig. 2.19 Queremos activar el funcionamiento de la cinta que transporta el palet (Ql.1) cuando accionamos el pulsador de marcha (10.2) o el pulsador ACK (13.1), y la desactivaremos cuando se dispare el disyuntor magnetotérmico (13.0) o el pulsador de paro (10.1). Siempre ha de prevalecer la orden de parada ante la de marcha: • Activar mapa de bits SET_BF: La instrucción Activar mapa de bits activa varios bits a partir de una dirección especificada. Su estructura es la siguiente: •opera ndo 1• ------1 SET _BF }---t "Opera ndo 2• Fig. 2.20 El número de bits que se deben activar se determina mediante el valor situado en la parte inferior del símbolo Operando 2, que ha de ser constante y numérico, mientras que el situado en la parte superior Operando 1 determina la dirección del primer bit que se debe activar. Si el valor del Operando 2 es mayor que el número de bits de un byte seleccionado, se activan los bits del byte siguiente. Los bits permanecen activados hasta que son desactivados explícitamente por otra instrucción. • Desactivar mapa de bits RESET_BF: La instrucción Desactivar mapa de bits desactiva varios bits a partir de una dirección especificada. Su estructura es la siguiente: "Opera ndo 1 · ------f RESET _ B F ....... •opera ndo 2· Fig. 2.21 El número de bits que se deben desactivar se determina mediante el valor situado en la parte inferior del símbolo Operando 2, que ha de ser constante y numérico, mientras que el situado en la parte superior Operando 1 determina la dirección V J J
  • 82.
    1 í ' í ' ' Recuerda• • • "1 Las instrucciones de SET_BF y RESET_BF fuerzan el estado de una serie de bits ' consecutivos a partir del bit indicado al valor «l » o «O» ' respectivamente. ) ) í " ) í í í ' í ) � í Recuerda • • • Un Grafcet está formado por ) elementos gráficos basados principalmente en � etapas y transiciones para describir el funcionamiento de un ') proceso secuencial. ' ' í ) í ' ' 1 ) í ') ' ) ) Unidad 2 - Introducción a la programación del primer bit que se debe desactivar. Si el valor del Operando 2 es mayor que el número de bits de un byte seleccionado, se desactivan los bits del byte siguiente. Los bits permanecen desactivados hasta que son activados explícitamente por otra instrucción. Ejemplo: esta instrucción nos puede servir para inicializar un Grafcet a su etapa inicial. Si por ejemplo tenemos un Grafcet lineal de 15 etapas que empieza en la etapa MO.O y finaliza en la etapa Ml.6, podemos hacer que en el primer ciclo de sean, mediante el contacto FirstScan, se conecte la primera etapa, la inicial, y se desconecten las 14 restantes, desde la M0.1 hasta la Ml.6: ºET¡lf'A O º 1--�-----------------1( 5 )--< 'IIMl.1 '------------------t( RESET_BF )--, 14 2.2 Programación en Grafcet (1) Fig. 2.22 El GRAFCET (Graphe Fonctionnel de Commande Etape Transition) nació en 1977 como fruto del trabajo de la AFCET (Asociación Francesa para la Cibernética Económica y Técnica). La ADEPA francesa (Agencia Nacional para el Desarrollo de la Producción Automatizada) le otorgó su actual forma en 1979, normalizada �1 1 Eu, UfJd corno (CNG11Jl) e internacionalmente en 1992 como (norma CEI 1131). Básicamente, el GRAFCET es un modelo de representación gráfica, de los sucesivos comportamientos de un sistema lógico, predefinido por sus entradas y salidas. También es un grafo, o diagrama funcional normalizado que permite crear un modelo del proceso a automatizar, contemplando las entradas, las acciones a realizar, así como los procesos intermedios que provocan estas acciones. Inicialmente fue propuesto para documentar la etapa secuencial de los sistemas de control de procesos a eventos discretos. No fue concebido como un lenguaje de programación de autómatas, sino como un tipo de grafo para elaborar el modelo pensando en la ejecución directa del automatismo o programa de autómata. Varios fabricantes de autómatas programables integran el Grafcet como un lenguaje de programación para la resolución básicamente de sistemas secuenciales. 2.2.1 Introducción al Grafcet Un Grafcet es un diagrama funcional que tiene por objetivo describir de forma gráfica el comportamiento de un proceso automatizado secuencial. 2.2.2 Objetos básicos para el diseño de un Grafcet Para el diseño de un Grafcet es necesario conocer cada uno de los elementos propios de los que consta. En la siguiente tabla se muestran los básicos. 75
  • 83.
    Unidad 2 -Introducción a la programación 1 Símbolo [] 1 □ 1 t -- � 1 Recuerda • • • Un Grafcet está formado por una etapa inicial y diferentes etapas intermedias. La etapa indica un estado estable del proceso. 76 1 1 Nombre 1 Descripción Indica el comienzo de la secuencia GRAFCET y se activa al poner en modo RUN el autómata. En general tan solo Etapa inicial existe una sola etapa de este tipo en cada cadena secuencial, pero puede haber sistemas en los que haya más de una. 1 Etapa Su activación lleva consigo una acción o una espera. Las uniones se utilizan para unir entre sí varias etapas. Unión Si la unión se realiza saltando algunas etapas, ya sea en el sentido de evolución del Grafcet o en su sentido contrario, se indicará con una flecha en su punto final. Condición para desactivarse la etapa en curso y activarse Transición la siguiente etapa. Se indica con un trazo perpendicular a una unión. Indica la activación de una u otra etapa en función de la Direccionamiento condición o condiciones que se cumpla(n). Conocido como divergencia o convergencia en «O». Muestra la activación o desactivación de varias etapas a Proceso simultáneo la vez. Utilizado para una divergencia o convergencia en «Y». Acciones asociadas Acciones que se realizan al activarse la etapa a la que pertenecen. • Etapa Las etapas del Grafcet representan los estados estables del sistema y se indican con un cuadrado numerado. Podemos encontrar dos tipos de etapas: Etapa inicial: será la etapa por la que se inicia el funcionamiento de la secuencia y se representa con un doble cuadro. Etapa intermedia: son el resto de etapas que no son la inicial. Se representa con un cuadro simple. Etapa inicial Etapa intermedia _J
  • 84.
    ' ' ' Recuerda • •• En la transición es donde se introducen las condiciones para que un Grafcet pueda evolucionar de una etapa a la siguiente. Unidad 2 - Introducción a la programación Otras características de las etapas: Las etapas han de estar numeradas, aunque no necesariamente de forma correlativa. No puede haber dos etapas con el mismo número. Las etapas pueden estar activas o inactivas. Al representar el estado del GRAFCET en un momento concreto, se puede indicar que una etapa está activa si esta tiene un punto de color. Las etapas pueden tener acciones asociadas o no, dependiendo de la función que deban desarrollar. • Transición La transición está asociada a la condición que se ha de cumplir para poder pasar a la siguiente etapa, donde la condición puede ser una ecuación booleana o de comparación, básicamente. En la mayoría de los casos, la condición de una transición refleja que la acción o las acciones asociadas de la etapa anterior se han ejecutado de forma correcta. Ejemplos: t t Sensor pieza * Pulsador t Final carrera * (Sensor + Pulsador) t Tiempo_,, Condición con elemento negado Condición mixta AND y OR Condición de tiempo t Etapa_23 t Contador = 10 t =1 Condición de etapa activa Condición de comparación Condición siempre cumplida " � Recuerda • • • -,. En la acción asociada .,_ a una etapa es donde se programa la acción "" a realizar en el ,....... momento en que la etapa se encuentre ,--.. activada. ' • Acción asociada Podemos diseñar dos tipos de acciones asociadas: Acciones asociadas simples (N): es la acción o las acciones que se deben realizar en el momento en que la etapa correspondiente está activa. Acciones asociadas condicionadas (NC): es la acción o las acciones que se realizarán cuando la etapa se encuentra activada y además se cumple la condición. Disyuntor N Ql.1 Ql.O NC t-------------1 Pi l cxo de paro Mcxor a l a de recha Acción asociada simple Acción asociada condicionada 77
  • 85.
    Unidad 2 -Introducción a la programación Recuerda • • • La acción asociada está formada por diferentes campos que, en función de la acción a realizar, se deberán completar. 1 2 3 4 s 6 7 8 9 10 11 12 78 Símbolo Ninguno N R s L D p 5D DS SL Pl PO 2.2.3 Símbolos normalizados en acciones asociadas Gráficamente la norma IEC 61131-3 representa las acciones asociadas a etapas como bloques con cuatro campos, de los cuales tan solo el segundo es obligatorio. 3 4 1: se denomina campo calificador y describe el tipo de vínculo entre la etapa y la acción asociada. 2: es el campo nombre donde se describe el comportamiento de la acción. 3: es booleano y se denomina campo indicador. Permite, opcionalmente, especificar una condición a cumplir para que la acción se pueda ejecutar. 4: se usa para describir las acciones o complementarlas con otras complejas. Por ejemplo: Clock_l Hz Ql.6 NC 1------------1 Piloto de aviso En este ejemplo, el Piloto de aviso, que corresponde con la salida Ql.6, se pondrá en funcionamiento cuando la etapa 7 se encuentre activada y se cumpla la condición Clock_l Hz, que es un bit que va dando pulsos cada segundo, lo cual permite que el piloto de aviso se visualice de forma intermitente. Los calificadores previstos en la norma para incluir en el campo 1 son los siguientes: Descripción Acción continua mientras está la etapa activa Puesta a O o desenclavamiento (Reset) de la acción a realizar Puesta a 1 (Set) o enclavamiento de la acción a realizar Acción limitada en tiempo (Layed) tras la activación de la etapa Acción retardada en tiempo (Delayed) tras la activación de la etapa Acción en funcionamiento durante el flanco de activación de la etapa Acción memorizada (Set) y retardada en tiempo (Delayed) tras la activación de la etapa Acción retardada en tiempo (Delayed) y memorizada (Set) tras la activación de la etapa Acción memorizada (Set) y limitada en tiempo (Layed) tras la activación de la etapa Acción en funcionamiento durante el flanco de activación de la etapa Acción en funcionamiento durante el flanco de desactivación de la etapa 2.2.4 Reglas del Grafcet En el diseño y posterior funcionamiento del Grafcet se deben respetar una serie de reglas, unas que son de evolución del Grafcet y otra de sintaxis. V V V
  • 86.
    ' ' l Recuerda • •• En la fase de diseño el Grafcet ha de cumplir unas reglas englobadas en dos grupos: • Reglas de evolución. • Reglas de sintaxis. Unidad 2 - Introducción a la programación • Reglas de evolución Las reglas de evolución del GRAFCET describen la dinámica del automatismo modelado. A continuación, se detallan las cinco reglas fundamentales descritas en la norma IEC 60848: REGLA l. INICIALIZACIÓN. El arranque del sistema supone la activación de todas las etapas iniciales y solamente estas. El estado inicial del GRAFCET se corresponde habitualmente con el estado de reposo o de parada segura, estado en que debe encontrarse la planta en el momento de la puesta en marcha. REGLA 2. EVOLUCION DE UNA TRANSICIÓN. Una transición está validada cuando todas las etapas inmediatamente precedentes a ella se encuentran activas. Una transición será franqueable cuando esté validada y su receptividad asociada (condiciones) se cumple. REGLA 3. EVOLUCIÓN DE LAS ETAPAS ACTIVAS. Al franquear una transición es necesario activar todas las etapas inmediatamente posteriores y desactivar también simultáneamente las inmediatamente anteriores. REGLA 4. FRANQUEAMIENTO SIMULTÁNEO. Todas las transiciones franqueables se franquearán inmediata y simultáneamente. Esta regla permite definir la evolución de GRAFCET estructurados complejos compuestos por otros GRAFCET, macroetapas etc. REGLA S. PRIORIDAD DE ETAPA ACTIVA. Si la evolución de un GRAFCET (debido a las reglas anteriores) implica la activación y desactivación simultánea de una etapa, esta deberá permanecer activa. • Reglas de sintaxis No puede haber nunca dos transiciones consecutivas sin que por medio exista una etapa, ni tampoco pueden existir nunca dos etapas consecutivas sin que exista una transición. Una etapa no tiene por qué tener obligatoriamente una acc,on asociada, aunque sí que puede tener más de una acción asociada a una misma etapa. Es posible que una transición no deba cumplir ninguna condición para ser franqueada. En este caso, es equivalente a fijar una condición que siempre se está cumpliendo, como puede ser un contacto de sistema que siempre está cerrado, por ejemplo, «Always TRUE» (M8190.2). 2.2.5 Niveles de diseños en Grafcet {nivel 1, 2 y 3) En el momento de diseñar un Grafcet se dispone de tres niveles de desarrollo: • GRAFCET de Nivel 1. Descripción funcional Este primer nivel muestra una descripción global del automatismo que permita entender rápidamente su funcionamiento. Es la descripción que se realizaría para 79
  • 87.
    Unidad 2 -Introducción a la programación 80 explicar el funcionamiento de la máquina a la persona que la ha de diseñar. Podemos resumir que: Se trabaja con las especificaciones funcionales del automatismo, de forma independiente a la tecnología que lo llevará a la práctica. Describe las acciones que se deben efectuar y los elementos de control que intervendrán, sin indicar los elementos concretos que serán utilizados. N 1---------1 Avanza em¡:l.Jjada N 1---------1 Retrocedeempl4aci:>r Empuja:t oren retroceso Este nivel 1 de GRAFCET no debe contener ninguna referencia a las tecnologías utilizadas; es decir, no se especifica qué dispositivo hace avanzar el mecanismo (cilindro neumático, motor, etc.) ni qué dispositivo realiza la detección de la posición del mecanismo (fin de carrera, detector capacitivo, detector fotoeléctrico, etc.). Tampoco especifica la tecnología que se utilizará para la solución del proceso (automatismo cableado, automatismo programado, neumática, etc.). • GRAFCET de Nivel 2. Descripción tecnológica ªº A+ N I---------; A- En este nivel 2 de Grafcet se aplica una descripción a nivel tecnológico y operativo del automatismo y así quedan definidas perfectamente las diferentes tecnologías utilizadas para cada función. El GRAFCET indica los trabajos que deben realizar los elementos seleccionados. De forma resumida, podemos afirmar que: - Deben indicarse todas las especificaciones de los órganos operativos. - Deben detallarse los elementos tecnológicos que intervendrán. J V '-'
  • 88.
    ,..., ,..., "' .......,, 1 Recuerda • •• ' 1 En el momento de diseñar un Grafcet nos ,....,, encontramos con tres � niveles de descripción: • Nivel 1 . Descripción " funcional. • Nivel 2. Descripción tecnológica. � • Nivel 3. Descripción operativa. "" 1 Unidad 2 - Introducción a la programación • GRAFCET de Nivel 3. Descripción operativa M0.0 M0.1 M0.2 10.2 N 1-QO .;...... .0_____--I Avanza em ¡,Jjadcr QO.l N l----------4 Retrocedeemp�aOOr En este nivel es donde se implementa la tecnología a utilizar. El GRAFCET debe definir la secuencia de actuaciones que realizará este proceso. Por ejemplo, si se utiliza la tecnología programada mediante un autómata programable, deben quedar definidas completamente todas las direcciones de los diferentes componentes o dispositivos que intervengan en la cadena secuencia. Podemos resumir que: Deben especificarse todos los elementos con los distintivos propios de las entradas y salidas, así como las marcas o relés internos que serán utilizados. 2.2.6 Tipo de secuencia lineal La agrupación básica de elementos etapa-transición para construir diagramas GRAFCET es una conexión en serie (también denominada secuencia). Esto se corresponde con una cadena de acciones concatenadas de control, en la que cada una empieza cuando acaba la anterior. Cuando tan solo existe un camino de evolución del Grafcet, este se denomina secuencia lineal. A continuación, se representa una secuencia lineal de tres etapas. MO.O Q0.0 MO.l N Avanza empujada- Q0.1 M0.2 N Retrocedee mpujador 10.2 Fig. 2.23 81
  • 89.
    Unidad 2 -Introducción a la programación Recuerda • • • Antes de iniciar el diseño del Grafcet debemos conocer todas las condiciones de funcionamiento, así como los tipos de actuadores que participan en el proceso a automatizar. 82 También existen otros tipos de secuencias que en posteriores unidades se irán aplicando, como: • Selección de secuencia o estructuras en O. • Trabajos paralelos o estructuras en Y. 2.2.7 Programa basado en diseño Grafcet Para practicar con este tipo de secuencias lineales realizaremos un ejerc1c10 práctico. En él se desea llevar a cabo el control del cilindro de doble efecto que realiza el movimiento del eje vertical del manipulador de carga y que está gobernado por una válvula monoestable. Este cilindro tiene dos sensores magnéticos que detectarán cuándo está el cilindro en reposo, (posición alta) y cuando está en avance (posición baja). • Condiciones de funcionamiento: Cuando pongamos en marcha el sistema, tendremos un piloto de señalización '-..-1 de color rojo (Q2.4) en funcionamiento que indica que el proceso se encuentra detenido al inicio. Al accionar un pulsador de marcha (10.2), si el cilindro se encuentra en la posición de reposo (alta) (10.4), se dará la orden de avance (Q0.0) para alcanzar '---' la posición final (baja) (10.5). A su vez entrará en funcionamiento el piloto de ....__,,, color verde (Q2.2). Cuando el cilindro alcance la posición de final (baja) (10.5), de forma ....__,,, automática se dará la orden de retorno del cilindro a la posición alta, en la que se mantiene el piloto verde en funcionamiento (Q2.2). Cuando el cilindro alcance la posición de reposo (alta) (10.4), el sistema quedará preparado para iniciarse de nuevo, y esto se indicará con el piloto de señalización de color rojo (Q2.4). El circuito neumático de la electroválvula a utilizar se representa en la siguiente figura: ...1 1 0.S Fig. 2.24 ·..J ....)
  • 90.
    1 1 � ' � Recuerda •• • En el diseño del Grafcet descriptivo se ' han de indicar de forma textual todas las acciones a realizar, así ,, como las condiciones que se deberán cumplir en cada fase de la secuencia. ' � ') ' ' ' ....... ' Recuerda • • • En el diseño del ' Grafcet operativo se deben expresar las direcciones que ocupa cada una de las acciones a realizar, así ,, como de las ' condiciones de paso de etapa. ' ' ' ' Unidad 2 - Introducción a la programación En esta otra figura se incluye el plano de situación para localizar el eje vertical dentro del Simulador 3D: Fig. 2.25 • Desarrollo del Grafcet Para el diseño del Grafcet, empezaremos en primer lugar por el Grafcet descriptivo, que nos servirá para marcar la secuencia del proceso, independientemente del PLC que se use en el proceso. Para pasar del Grafcet descriptivo al tecnológico hemos de tener en cuenta las direcciones de las entradas y salidas en el PLC escogido. Pon er en mcf'cha el piloto ROJO Desactivar piloto VERDE Pulsado r de Marcha • Cilindro en pos i::ión ala Cilindro a la posi::ión baja Activar pibto VERDE Cilindro a la posi::ión de alta Cilindro en pos i:: ión ala El siguiente paso es realizar el Grafcet operativo: • Asignaremos a cada etapa una marca y para ello seguiremos un orden, M0.0, M0.1, M0.2, ..., aunque no es imprescindible para el correcto funcionamiento del sistema. • En cada transición traduciremos las condiciones literales del Grafcet descriptivo por las entradas asignadas en el PLC de esas condiciones. Las condiciones las representaremos con el signo «*» las condiciones que van en serie y si son condiciones que van en paralelo, con un signo «+». Por ejemplo, la primera transición contiene la condición Pulsador de marcha, que corresponde con la entrada 1 0.2 y la condición Cilindro en posición alta. Al consultar el esquema neumático podemos observar que corresponde con la entrada 1 0.4. 83
  • 91.
    Unidad 2 -Introducción a la programación Recuerda • • • En la implementación del Grafcet a programa debemos tener presente que la programación se debe hacer en tres partes: • Activación de la etapa inicial. • Activación de la secuencia del Grafcet. • Activación de las salidas. 84 az.• N t-'.".'"------t PIioto �,o Ql.2 010 ' M0.1 Dn-c■nd• dlindro Ql.l PI IC1tO Mtrch11 '0.5 M0.2 2 • Asclendít dlrtO"o 10.• El programa lo realizamos con un ejemplo concreto que es el siguiente: se trata de que cada vez que se accione el pulsador de marcha (10.2), siempre que el cilindro de la ventosa se encuentre en reposo (10.4), un cilindro se desplazará hasta la posición de trabajo (QO.O) y cuando haya alcanzado esa posición (10.5), automáticamente volverá el cilindro de descender la ventosa a su posición de reposo (10.4). Igualmente, mientras el circuito esté detenido, se pondrá en funcionamiento el piloto rojo (Q2.4) y cuando el proceso esté en marcha, el piloto en funcionamiento será el de color verde (Q2.2). • Implementación del Grafcet en el PLC Para la implementación del diseño realizado en Grafcet a programa, en este caso utilizando el lenguaje de diagrama de contactos o KOP, estructuraremos el programa en tres partes: - Activación de la etapa inicial y desactivación del resto de las etapas. - Activación de las etapas de la secuencia del Grafcet. - Activación de las salidas. • Activación de la etapa inicial Primero hemos de hacer que en el momento en que el PLC ejecute el programa deberá activar tan solo la etapa inicial, que se indica con un doble cuadrado, y que estén desactivadas todas las demás. Si estamos trabajando con marcas sin ..._, memoria, sería suficiente con activar solo la marca de la etapa inicial, ya que las '---' demás, al no tener memoria, se pondrían solas a O. Para activar la etapa inicial, el PLC dispone de una serie de bits de sistema, tal como ___.,, la M8190.0, llamada de forma simbólica FirstScan, que está activa durante el primer ciclo de sean y que es suficiente para activar la etapa inicial asignada a la marca MO.O. Para realizar esta operación podemos utilizar la instrucción S (SET) y para desactivar el resto podemos utilizar la instrucción RESET_BF, de forma que el '---" programa, que se puede introducir por ejemplo en el 0B1, quedará tal y como se observa en la siguiente figura:
  • 92.
    1 Unidad 2 -Introducción a la programación Segmento 1 : Acti'.&eión de bt e-tapir iniciBal y de,ssctíva-cíón del res.to durante el pñmer ciclo de s.c1m Comentario "IM8190_0 •FirstScan• "lM()_Q "ETAPA_oo· 1--,--------------------1( S }-- __, "ETAPA_o1• L------------------i( RESET.:_BF r-4 • Activación de las etapas de la secuencia del Grafcet Fig. 2.26 A continuación, creamos una función FCl en la que introduciremos el programa para la activación secuencial de las etapas de la secuencia del Grafcet. Onvipvotl t1•Jn<w,lt � i- bk,q.1.,n lóplr. us 1 ., ,..rtM:fi, Fig. 2.27 Posteriormente declaramos las variables para la activación de las etapas: Nombre Tipo de datos Oírección Remanenda: Ví>íble en HMI Accesibledesde HMI -q¡¡J Etapa_OO Bool %M>.O � � 2 -«ill Etapa_Ol Bool '!oM0.1 � 3 -«ill Etapa_02 Bool %"402 � Fig. 2.28 Así como de las entradas y salidas necesarias; en este caso, las siguientes: Nombr;=-=-= Tipo de datos Dirección .... Remsnencia- Visible en HMI -«ill S2_MAACHA Bool %10.2 � -G e,_. o VENTOSA ARRIBA Bool %10.4 � -«ill B2_a 1 VENTOSA ABAJO Bool 'i(,10.5 � -G Yl_BAIAR VENTOSA Bool %QO.O -G Hl_VEROE Bool %022 -«ill H3_ROJO Bool %Q2.4 Fig. 2.29 En el FCl, que después será llamado desde el 0B1, realizaremos el programa que responde a la activación secuencial de las etapas, y para lo que hemos de seguir una simple regla: «Si se encuentra activada una etapa y se cumple la condición prevista en la transición posterior, se deberá activar la etapa siguiente y desactivar la etapa actual». 85
  • 93.
    Unidad 2 -Introducción a la programación M0.0 M0.l M0.2 86 R 10.2 • 10.4 N s 10.5 Por tanto, el programa quedará de la siguiente forma: Q2-4 Piloto Paro 02-2 PilotoMardla Q.0.0 Desciendecilíndto Ql..2 PilotoMarcha • Segmento 1: Actrr .toón Ef.t,j>A_01 ydeuctrvd-ct6n d� La EW.',_00 • Condición: Qu,e ,e,;'1!;t,CDWl li,, ,e.ap,a Oy,;-e o1ccion..e el puhldor d,e Mudw ,:;on el diindro en Id poliiaón de ttpo,;o. ...., 'IMO.O "PULSADOII.OE 'II0.4 1M0.1 .EW"A oo• l,ll.,IIJiK "VENIDSA MAB. º "fW,._01 º -----j -..._____.f-----f f-�--�;•r- 'IMD.0 ._______ ·...... _,:� Fig. 2.30a • .S,egmenlo 2; �OQn f'WA_0.zy.fr,;a�aón d.e Lt E W" A_01 .., Condtoón: � l!'ib! .tctNd lis e't.lpit l y,¡;e de�� ,el ,;,en1,;ord.e que ta-�• h.l ..bn:.1do la pnición inlerior. Acción a tt1JliMr: �;illCW-.tr itli!ctrC'lloiMllil p,ms el d.e-spl,! ri1mltnto del dindro d llp o-.ición de tt�O. 'IM0.1 'IKI.S "ElN'._01 º "VENTO'U.AllW º 1-------< 1---�----------i., r- Fig. 2.30b AscH!nde cilindt0 ._j 10.4 • .Se_grnento 3: ��n t:UIM_OOyd,e;JOÍf dCtOOde l.l ENA_OZ -. Ccndicián: Que e,;ti ilCÓlfd lill ecapa Z_y,;e de�cu el ,;,em;a, d,e que Ll wnco-.11 h.t r.tkitnlltdo a. po,;ición ,;upuior • Activación de las salidas 'IM0.2 "II0.4 T.Mo.o "EliYA oz• -W:NTI>SA.Mm!A" ºELYA_OQ" -----j - - �-----';•r- TM0.2 L----------·� n,,:;__ Fig. 2.30c La activación de las acciones asociadas la programaremos en el posteriormente se realizará la llamada a este FC2 desde el 0B1. FC2 y El programa en el FC2 se realizará de forma que las salidas se programen de manera ordenada. Este hecho, para cuando el programa sea mucho más grande, nos facilitará la localización de todas ellas de una forma más rápida. Hemos de realizar el programa tal que la marca asignada a cada etapa active la acción o acciones que esta tiene asociadas. Si la letra que acompaña a la acción a realizar, dentro del símbolo de la acción ..../ asociada, es una N, entonces programaremos la acción mediante una salida normal. s..../ Si hay una S, la programaremos como forzado a la activación o SET, y si hay una R, la programaremos como forzado a la desactivación o RESET.
  • 94.
    ' M0.2 Recuerda • •• Para una mayor estructuración de los proyectos se recomienda utilizar diferentes bloques de programa. N 10.S 10.4 Unidad 2 - Introducción a la programación • Segmento 4: Piloto dP sPñ1hZ11ción rojo '!IM).0 Fig. 2.31a Fig. 2.31b 'IQ2..4 "H3_ROJO" 'IQ2.2 "Hl_llERDE" 1----------------------{ R a.o.o Desciendeálindro Piloto Marcha • Segmento l : M1Jnipul1dor de carg.-. E.je vertical. Elernovalvula monoestable. O!'SC!'nder !'JE' 'IIM>.1 Fig. 2.31c Fig. 2.31d 'IQO.O "Yl BAIM 1/El'ITOSA' 'IQ2.2 "Hl_llERDE" 1--------------------; S Asci<tnde a lindro Se puede observar además cómo la etapa 2 no tiene ninguna acción a realizar, ya que lo ·que debe hacer es desactivar la electroválvula que controla el cilindro, y como esta es monoestable, con tan solo no activarla, que es lo que realiza en la etapa 1, ya será suficiente para que el cilindro retorne a la posición de reposo. • Llamada a las funciones FCl y FC2 desde el 0B1 Acompañando a la parte de programa de activación de la etapa inicial en el primer sean completamos el programa en el 0B1 con las llamadas a las dos funciones FCl y FC2 de activación de las etapas y de las salidas. ,.. Segmento 2: Llamada s la función FCl de activación de las etapas L "'G1_Actiwci�nElspe•• 1 EN ENO ---------------- Fig. 2.32 Segmento 3: Llamada a la fucnión FC2 de activación de las salidas ... •ActivadónSalídas• ENO ---------------- Fig. 2.33 2.2.8 Comprobar funcionamiento con maqueta de simulación 3D Se debe observar cómo al accionar el pulsador de MARCHA, el cilindro vertical debe realizar el movimiento de descenso y alcanzar la posición inferior para, a continuación, realizar el funcionamiento y alcanzar de nuevo la posición superior. 87
  • 95.
    Unidad 2 -Introducción a la programación 88 • Panel Control del proceso En él encontramos el pulsador de MARCHA, necesario para poner en funcionamiento el cilindro. Control del proceso (1 ■■r. [iJ EMERGENOA PARO "1ARCHA AUT'MAN ACK ■ ■■■ ■·: Fig. 2.34 En el simulador 3D podremos visualizar el desplazamiento del eje vertical. Fig. 2.35 Fig. 2.36 Eje vertical en posición de reposo Eje vertical en posición de avance
  • 96.
    Unidad 2 -Introducción a la programación CONTROL DEL MOVIMIENTO DEL EJE HORIZONTAL MEDIANTE UNA ELECTROVÁLVULA BIESTABLE Queremos realizar el control del cilindro de doble efecto que realiza el movimiento del eje horizontal del manipulador de carga que está gobernado por una válvula biestable. Este cilindro tiene dos sensores magnéticos que detectarán cuándo el cilindro está en reposo, posición derecha de carga, y cuando está en avance, posición izquierda de descarga. Condiciones de funcionamiento: • Cuando pongamos en marcha el sistema, tendremos un piloto de señalización de color rojo (02.4) en funcionamiento que indicará que el proceso se encuentra detenido al inicio. • Al accionar el pulsador de marcha (10.2), si el cilindro se encuentra en la posición de reposo (carga) (10.6), se dará la orden de avance (00.1) para alcanzar la posición final (descarga) (10.7). • Cuando el cilindro alcance la posición de final (descarga) (10.7), al volver a accionar el pulsador de marcha (10.2), se dará la orden de retorno del cilindro a la posición de carga (00.2). • Cuando el cilindro alcance la posición de reposo (10.6), el sistema quedará preparado para iniciarse de nuevo y esto se indicará con el piloto de señalización de color rojo (02.4). Fig. 2.37 Relación de entradas y salidas: ENTRADAS SALIDAS Dirección Dispositivo Dirección Dispositivo 10.2 S2 Pulsador de marcha Q0.l Y2 EV Cilindro ventosa a la izquierda 10.6 B3 Detector cilindro eje horizontal a la derecha Q0.2 Y3 EV Cilindro ventosa a la derecha 10.7 B4 Detector cilindro eje horizontal a la izquierda Realizar: • Diseño del Grafcet. • Implementación a programa del PLC. Q2.4 H3 Piloto rojo • Comprobación del funcionamiento mediante la maqueta de simulación 3D. 89
  • 97.
    ' , ., ' Unidad 3- Programación con temporizadores IEC Unidad 3 Programación con temporizadores IEC ,.. � lloq1.,u dt P'Q;ru,., i1>' J,gr-egu ...,.e,ot:.1c,qw • .._• toe,¡ .. 54""-P lQIIOC'I • -.tor �U � ÍS�'!'I . ... Ob¡t:o,. :e�C1 • Fvtn.:.s t-o:.t,·T.u ·, 't, " S�5: Nwia wWiaoéa � ...,. "0t_l0tll_.. En este capítulo: 3.1 Características y tipos de temporizadores IEC 3.2 Funcionamiento de los temporizadores IEC 3.2.1 TON. Temporizador a la conexión 3.2.2 TOF. Temporizador de retardo a la desconexión 3.2.3 TP. Temporizador de impulso 3.2.4 TONR. Temporizador acumulativo 3.3 Generadores de impulsos 3.4 Preselección directa e indirecta de temporizadores 3.4.1 Valor de temporización constante o direccionamiento directo 3.4.2 Valor de temporización variable o direccionamiento indirecto 3.5 Varios temporizadores en un único DB de instancia 3.5.1 Temporizador programado en un bloque de organización (OB) o en una función (FC) - �-<U(_ " ,., 3.5.2 Temporizador programado en un bloque de función (FB) con bloque de datos multi­ instancia 3.5.3 Declaración de varios temporizadores IEC en un mismo bloque de datos 3.6 Programación en Grafcet (11) 3.6.1 Acciones asociadas temporizadas. Símbolos D y L 3.6.2 Acciones condicionadas (bit intermitencia) 3.7 Programa basado en diseño Grafcet 3.7.1 Solución con varios DB de instancia para cada temporizador 3.7.2 Solución con un solo DB para todos los temporizadores 3.8 Comprobar funcionamiento con maqueta de simulación 3D Ejercicio propuesto 91
  • 98.
    Unidad 3 -Programación con temporizadores IEC 92 Recuerda • • • Los tipos de temporizadores que se pueden programar en un S7-1 200 son los siguientes: • TON: temporizador a la conexión. • TOF: temporizador a la desconexión. • TP: temporizador de impulso. • TONR: temporizador acumulativo. Recuerda • • • Los tipos de temporizadores IEC que se pueden programar tanto en un S7-1 200 como S7-1 500 se asocian a un DB de instancia y el tipo de dato del valor del tiempo de tempo­ rización es «Time». --- IN <???> - PT lON líme Fig. 3.2 Q -­ E1 - --- 3.1 Características y tipos de temporizadores IEC Los temporizadores IEC que se incluyen en el PLC 57-1200 son los siguientes: • TON: temporizador a la conexión. • TOF: temporizador a la desconexión. • TP: temporizador de impulso. • TONR: temporizador acumulativo. Los símbolos para poder utilizar estos temporizadores dentro de un programa en diagrama de contactos se pueden localizar dentro de la carpeta Temporizadores que hay en el grupo Instrucciones básicas. Nombre Tempori?Bdores .. 11' • mN • mr .. lONR l -{IP}­ @ -(TON}­ ) -(TOF'}­ J -(TONR}­ @ -(111)­ -(Pl)- Descripción Impulso Retardo al conectar Retardo al desconectar Acumulador de tiempo Arranclfr temporímdor como impulso Arranear tempori21tdor como retsrdo a la cone,óón Arrancar temporiador como retardo a la descone>áón Acumulsdor de tiempo lnicialimr tempori?B-dor Cargar tiempo Fig. 3.1 Algunas de las principales características de estos temporizadores IEC son: • Todos los temporizadores IEC van asociados a un DB de instancia. • No vienen determinados por un número, sino por el nombre asignemos al DB de instancia asociado. que le • Los temporizadores IEC pueden llamarse las veces que sean necesarias, ya que no existe un número determinado. • Los temporizadores IEC presentan un mayor rendimiento y una mayor precisión. • El formato del valor del tiempo es del tipo TIME. 3.2 Funcionamiento de los temporizadores IEC En los siguientes apartados se expone el funcionamiento de cada uno de los temporizadores del tipo IEC. 3.2.1 TON. Temporizador a la conexión Con la instrucción TON se puede retardar la activación de la salida Q por el tiempo programado en la entrada PT (Preset Time). Al poner en funcionamiento el temporizador, el tiempo se inicia a partir de O s hasta alcanzar el valor de tiempo programado en el parámetro PT. El temporizador IEC tipo TON dispone de los siguientes parámetros: IN: condición para la activación del temporizador (obligatoria). PT: valor del tiempo en formato TIME, por ejemplo, T#lüs. El valor máximo que se puede programar es T#24d_20h_31m_23s_647ms. Q: salida booleana para indicar con un 1 que el tiempo ha finalizado. ET: salida para indicar el valor actual del tiempo en formato TIME. '-" � '-" '-J ._____, v � '-" '---'
  • 99.
    1 ) ') ' ' ' ' ' ,,---.. l 1 ' Recuerda • •• Básicamente el funcionamiento del tipo de temporizador TON hace activar su salida «Q» después de haber transcurrido el tiempo programado, manteniendo la entrada «IN» del temporizador activada. Unidad 3 - Programación con temporizadores IEC Además, una vez insertado el objeto en el programa, en la parte superior aparecerá de forma automática el DB asociado. Si representamos el funcionamiento de este tipo de temporizador de forma gráfica, tenemos: IN Q ¡. LJ ET PT Fig. 3.3 Donde el funcionamiento es el siguiente: L • La instrucción se inicia cuando el resultado lógico (RL0) de la entrada IN cambia de O a 1 (flanco de señal ascendente). • El tiempo programado PT empieza a contarse al mantener activada la entrada IN. • Una vez transcurrido el tiempo PT, la salida Q devuelve el estado lógico 1. • La salida Q permanece activada mientras la entrada I N se mantenga a 1. • Cuando el estado lógico de la entrada de arranque cambia de 1 a O, se desactiva la salida Q si esta se encuentra activada. • La función de temporización se reinicia al detectarse un flanco de señal ascendente nuevo en la entrada IN. • El valor de tiempo actual se puede consultar en la salida ET. Este valor de tiempo empieza a partir de T#Os y termina al alcanzarse el valor del tiempo PT. La salida ET se resetea en cuanto el estado lógico de la entrada IN cambia a O. A cada llamada de la instrucción TON se le debe asignar un temporizador IEC en el que se guardan los datos de la instrucción. Un temporizador IEC se puede declarar como se indica a continuación. Al insertar la instrucción en el programa, aparece el cuadro de diálogo Opciones de llamada: pelones de llamada lnnancUI individual Blpque de daao. Nombr, nu-=[d¡¡f¡jj =:::S•� lliliJ:,:::::::::.i 5 Q �nu.sl © Autom,hico El bloque de fun::tón 11ornado guardo 'iu'i d,stos en un bloque de doto, de iou�ncio propio. Fig. 3.4 93
  • 100.
    Unidad 3 -Programación con temporizadores IEC 94 En él aparece el campo Nombre, en el que se asigna un nombre simbólico al DB asociado al temporizador. Podemos dejar el que viene por defecto o bien modificarlo. También nos ofrece otras dos opciones: • Manual: podemos elegir el número del DB asociado. • Automático: asigna un número de DB libre de forma automática En este caso modificamos el nombre, escribiendoDB_TON_0l, y de forma manual le asignamos el D810 como DB asociado a este temporizador: poones de llamada 1nsunci1 ind,vidu1I _.._ Nomb,e '" o - ,_ - 10 - N_ - o,-----...... Número E) Automfflco E:I bloque de func:i6n ll1mado gu1rd1 s:us: datos en un bloque de datos dP in1.uncie propio mh Fig. 3.5 1nuancia individual _.._ Nombre " oe "'""' ro "' •- "" o, ,------...,... Número 10 : @ Msnu1I QAutomático El bloque de función Hamado guarda sus datos rn un bloque de da«u de innancia propio. Fig. 3.6 Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de programa > Bloques de sistema > Recursos de programa del árbol del proyecto. l'ro)ftlO fdit,6,i ...H lftltNI Otllonf � i'tl'<Ylfl'�nQII WIU... � .,i _!I B G,,iwda,,..,,...a, ,:. )( 11 ,c q1 c- · ·Aá l! li E Q ;;J t�...-.t,,,...,_ J, " Dbposl� 0 0 • .J UNO,<,D_Ol • �•Apo,_ . Oilpof- y'"1ff • .. PlC_l !C,U UI.-C� ft tom,ur,C161, Mdósp,»11r,OJ i1 0.-..y�ll<O • 'iil llcwrun • Pf'09f''"• lf "'9re¡o•-..,� . Ml.,10111 •:a,.�•···�- !1 3 ,· .....l'iclmM T" f!Kt4"'-""' .,.~ <:i • lnlllol_C.I c!.l...... --- ...... ... ,t- -o- m - .., • Tltulo dl!l bloqut,; .. Cheomentc1 1: ..., 'Dl_lDN...01" f-----fl...-__________ ► lfUH , ¡j¡ o.ms llt�dt 611pcs­ !¡ ......,,,.,11k-lprog,,.,... IJ ....1 .. fl•- ' i4i lil6chilc>J kult1 1 J 01101com�l'IU ► Ji1 Con'9..,Ho6ndtldo<umuVIO ► ..$ 1d;o,,,.1 yrttu,t,O,, ► �<UOS ......... Ejemplo: • �nto2: f•- Fig. 3.7 ..,. ..,. ·­ <l -<')- <) -(>OH)­ ◄) -(10f)­ <l -('>O>­ ...,,,,. <> - • � Corrlldo,e, ► ..1J C.....po11ti6n ► .1... ,.....-,..,,1�111R(•' • 'l<lndtllrKi► • :iri �,6,t ► Í,O Conuol�IP'oSI""'• /11 : L • .lt... • i, �� f Mediante un sistema de paro-marcha queremos activar el piloto verde (Q2.2) y también un temporizador que, una vez transcurridos 10 segundos después de haber activado el pulsador de marcha conectado en la entrada 10.2, hará que se conecte el piloto azul (Q2.3). Si en cualquier momento accionamos el pulsador de paro, conectado a la entrada 10.1, el piloto verde y el temporizador dejarán de funcionar y se reseteará el valor de temporización. En todo momento se deberá visualizar en el registro MD100 el último valor de temporización: ...__,.- '-...,,"
  • 101.
    ' Unidad 3 -Programación con temporizadores IEC "II0.1 "Sl_pARO" "II0.2 "S2_MARCHA" �2.2 L:.SVERDE" 'IDB1 "DB_lON_Ol" lON líme 'IQ2.2 "Hl_VERDE" }---< 'IQ2.3 "H2_AZUL" '------- IN T#1 0s - PT Q ---{ }---< 1MD100 ET - "líempo_Actual" Fig. 3.8 También podemos utilizar los parámetros del temporizador, tanto de entrada como de salida, en diferentes segmentos del programa: "II0.1 •s1_pAROº "II0.2 "S2_MARCHAº 'IQ2.2 "Hl_VERDE' � � ¡ --r--------------1( }---< b�tJ Fig. 3.9a Para poder guardar en el registro MD100 el último valor de temporización utilizaremos la instrucción MOVE, que copia el dato de la entrada IN en la dirección de la salida OUTl: 'IDB1 "Hl��E" ºDB_lON_Ol º t--....--------------------1( !� }-< MOVE T#1 0s �----- EN - - ºDB_lON_Ol ".El - IN 1MD100 .;� OUTI - •ttempo_Actua I"" l ·oa� 'lQu � N_ l- 0 _ 1 • _ .o ___________________• --I H 2 _ AZ� Control d�I proceso Fig. 3.9b Fig. 3.9c Al comprobar el funcionamiento sobre la maqueta 3D, si accedemos al panel Control del proceso, podemos actuar sobre los pulsadores de PARO y MARCHA: ,. ,-�.. 1 - � [fi::� O!ERGENOA PARO MARO.A Alr"'MAN ACK Ml ■■■ ■-: 520-H20 521..ff21 522-Hll 523-H2l 52+H24 -.12 Fig. 3.10 Y observando el funcionamiento de los pilotos de la baliza, veremos las tres situaciones siguientes en función del estado del programa: Pilotos apagados Piloto verde encendido Fig. 3.lla Fig. 3.llb Piloto verde y azul encendido Fig. 3.llc 95
  • 102.
    Unidad 3 -Programación con temporizadores IEC lOF líme ---1 1N Q <??!> PT E1 Fig. 3.12 Recuerda • • • Básicamente el funcionamiento del tipo de temporizador TOF hace activar su salida (<Q» justo al conectar la entrada «IN» del temporizador. Después de haber transcurrido el tiempo programado, dicha salida se desconectará. 96 3.2.2 TOF. Temporizador de retardo a la desconexión Con la instrucción TOF se puede retardar la desactivación de la salida Q según el tiempo programado en la entrada PT (Preset Time). Al poner en funcionamiento el temporizador, el tiempo se inicia en O s hasta alcanzar el valor de tiempo programado en el parámetro PT. El temporizador IEC tipo TOF dispone de los siguientes parámetros: IN: condición para la activación del temporizador (obligatoria). PT: valor del tiempo en formato TIME, por ejemplo, T#lüs. El valor máximo que se puede programar es T#24d_20h_31m_23s_647ms. Q: salida booleana para indicar con un 1 que el tiempo ha finalizado. ET: salida para indicar el valor actual del tiempo en formato TIME. Además, en la parte superior aparecerá de forma automática, una vez insertado el objeto en el programa, el DB asociado. Si representamos el funcionamiento de este tipo de temporizador de forma gráfica, tenemos: lJ Q ET P T Fig. 3.13 Donde el funcionamiento es el siguiente: • La instrucción se ejecuta cuando el resultado lógico (RLO) de la entrada IN cambia de O a 1 (flanco de señal ascendente). • A partir de este momento e inmediatamente, la salida Q pasa al estado lógico l. • Cuando la condición programada en la entrada IN cambia de 1 a O, el tiempo programado PT empieza a contar. • Una vez transcurrido el tiempo PT, la salida Q se desconecta poniéndose al estado lógico O. • Cuando el estado lógico de la entrada de arranque IN cambia de O a 1, aparte de activarse la salida Q, el tiempo se detiene hasta detectar un nuevo paso de la entrada IN de 1 a O. • El valor de tiempo actual se puede consultar en la salida ET. Este valor de tiempo empieza a partir de T#0s y termina al alcanzarse el valor de PT. La salida ET se resetea en cuanto el estado lógico de la entrada IN cambia a l.
  • 103.
    Unidad 3 -Programación con temporizadores IEC Al igual que el temporizador TON, a este TOF también se le debe asignar un bloque de datos DB en el que se guardan los datos de la instrucción. La declaración de este tipo de temporizador se realiza igual que se hizo con el temporizador TON. En este caso modificamos el nombre, escribiendo DB_TOF_01, y de forma manual le asignamos el 0B2 como DB asociado a este temporizador: Opciones de llamada B lrlsuncia indrhdual _..._ Nomb" ,- OB - _10 _ F_ 01 ------,-, Númt-ro ..,,.__.,......: @ Mtnual Q Automatico El bloqut' de función ll11mado guarrla sus datos en un bloqut' dr datos dt' insumía propio.. mó, Fig. 3.14 Al crear el bloque de datos, y de igual forma que ocurría en el temporizador tipo TON, lo podemos encontrar en la carpeta Bloques de programa > Bloques de sistema > Recursos de programa del árbol del proyecto. Arbol del proyecto IT ◄ Ejemplo: Dispositivos " o C) • ..J UN!DAD_03 WAg�gar dispositivo .L Oispositivos y rt'dt'S • '}a Pl.C_l (CPU 1214C AC/DC,/Rlyl Configuración de dispositivos � On!int' y di19nón1co • � Bloques de progr1m1 W Agregar nuevo bloque ::11- Mein JOBl] • siartup ¡oe1 00¡ .. l _Tempori:::iidor_lON jFC1J • 2_Temporiiador_10F jFCl] • ;zr, Bloqu!'s dt' sistema • � �cur5os de programe f ---�� OB_TOF_Ol fD� .. 0B_lON_01 IOBlJ ► Objt'tos tecnológicos Fig. 3.15 Al accionar cualquiera de los dos pulsadores conectados a las entradas de marcha (10.2) y ACK (13.1), se pondrá en funcionamiento el piloto verde (Q2.2), que dejará de funcionar una vez transcurridos 10 segundos después de que ninguno de los dos pulsadores esté accionado. Si en cualquier momento volvemos a accionar cualquiera de los dos pulsadores, el tiempo se reiniciará. Al finalizar el tiempo, aparte de desconectarse el piloto verde, el tiempo actual se mantendrá en los 10 segundos hasta una nueva activación de los pulsadores. En todo momento se deberá visualizar en el registro MD100 el último valor de temporización. 97
  • 104.
    Unidad 3 -Programación con temporizadores IEC 1P T i me -----t lN Q 98 <l??> - PT E1 Fig. 3.18 '11>82 "D8_10F_01 " 110.2 lOF •s2_MARCHA" Time 'I.Q2.2 "Hl_VERDE" IN Q -------...J )-------, 113.1 ·ss_puLSADOR ACK' T#1 0s PT WD100 ET - "1íempo_Actua 1• Fig. 3.16 También podemos utilizar los parámetros del temporizador, tanto de entrada como de salida, en diferentes segmentos del programa: 1102 '11>82 "S 2 _MARCHA" "DB_lOF_01 • d - "-T --------------- �( !� )--< T• 1 0s •ss_p:s�OR ACK' 'l,Q2.2 •oB_lOF_01 ".Q "Hl_VERDE" 1- 1 -�---------------' ( )-------, Fig. 3.17a MOVE �----- EN - -------t "DB_lOF_01 ".E1- 1N WD100 .;} OUTI - •Tíempo_Actua 1• Fig. 3.17b Al igual que el tipo de temporizador TON, podemos comprobar el funcionamiento del ejemplo anterior desde el simulador 3D observando la activación y desactivación del piloto verde de la baliza y actuando sobre los pulsadores de marcha y ACK. 3.2.3 TP. Temporizador de impulso Con la instrucción TP se puede retardar la desactivación de la salida Q según el tiempo programado en la entrada PT (Preset Time). Después de que la entrada IN detecte un flanco positivo, aunque se diera el caso de volver a detectar otro flanco positivo en la entrada IN durante el funcionamiento del temporizador, este no se verá alterado. Al poner en funcionamiento el temporizador, el tiempo se inicia a partir de O s hasta alcanzar el valor programado en el parámetro PT. El temporizador IEC tipo TP dispone de los siguientes parámetros: IN: condición para la activación del temporizador (obligatoria). PT: valor del tiempo en formato TIME, por ejemplo, T#lOs. El valor máximo que se puede programar es T#24d_20h_31m_23s_647ms. Q: salida booleana para indicar con un 1 que el tiempo ha finalizado. ET: salida para indicar el valor actual del tiempo en formato TIME. Además, en la parte superior aparecerá de forma automática, una vez insertado el objeto en el programa, el DB asociado. J J J V
  • 105.
    ' Recuerda • •• ' Básicamente el í funcionamiento del tipo de temporizador TP hace activar su salida «Q» después de haber transcurrido el ' tiempo programado sin , la necesidad de mantener la entrada ' «IN» del temporizador , activada. ' í í .-..., í í í í í ' ' ' ' ' ' ' Unidad 3 - Programación con temporizadores IEC Si representamos el funcionamiento de este tipo de temporizador de forma gráfica, tenemos: " LJ nn o LJ PT PT ET PT Fig. 3.19 Donde el funcionamiento es el siguiente: L PT L • La instrucción se inicia cuando el resultado lógico (RLO) de la entrada I N cambia de O a 1 (flanco de señal ascendente). • A partir de este momento la salida Q pasa al estado lógico l. • En ese momento se inicia la temporización según el tiempo programado en el parámetro PT. • Una vez transcurrido el tiempo PT, la salida Q devuelve el estado lógico O, independientemente de que la entrada IN continúe estando activa. • Si mientras el temporizador se encuentra contando el tiempo, en la entrada IN se detecta un nuevo flanco ascendente, el funcionamiento del temporizador no se verá alterado. • El valor de tiempo actual se puede consultar en la salida ET. Este valor de tiempo empieza a partir de T#0s y termina al alcanzarse el valor del tiempo PT. Al igual que los temporizadores TON y TOF, a este TP también se le debe asignar un bloque de datos DB de instancia en el que se guardan los datos de la instrucción. La declaración de este tipo de temporizador se realiza igual que se hizo con los anteriores temporizadores TON y TOF. En este caso modificamos el nombre, escribiendo DB_TP_01, y de forma manual le asignamos el 0B3 como DB asociado a este temporizador: Opciones de llamada X lnn11nci1 individual Bloque cle - --------- :�:::: � º ": -'" �-: º '::::"' : ., r-- ---- Q AutomatJtO El bloque de función llamedo guarda sus datos rn un bloque de datos de instancia propio. más. Cancelar Fig. 3.20 99
  • 106.
    Unidad 3 -Programación con temporizadores IEC 100 Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de programa > Bloques de sistema > Recursos de programa del árbol del proyecto. Ejemplo: • t.J UNIDAD_03 lf"1rig�q.udi-.pmitivo iti or.po..ruvo-. y �dl!!-. • [m PL<:_1 (CPUUHC.ACIOC/Rly! ltt Configurdci6n de dkpo-.itivo-. jJ Onlinl!! ydi.lgnó"tico • 'i:,. Bloquie1o die programa lf Ag�qar nuevo bloque .. M,in {OB1 ) a- s�rtup (OB100] .. ,_T,empori.Mdor_IDN (FC1 J • 2_Temporir.idor_:roF (FC2] .. 3_Ti!!mporiz.,dor.JP (FC3) • $l Bloque-. de siuema • � Recun;os de progntmd ii OB_lOF_01 (082) 0B_IDN_01 (D81 ) ......-.... = ·�•-11'_01 (083J...-... ► Objeto-. tecnológicos Fig. 3.21 • Mediante un sistema de pulsadores conectados a las entradas de marcha (10.2) y ACK (13.1), debemos conectar el piloto verde (Q2.2) durante un tiempo de 10 segundos justo después de haber pulsado cualquiera de los pulsadores. Si en cualquier momento volvemos a accionar alguno de los dos pulsadores, el tiempo no se reiniciará. Al finalizar el tiempo, aparte de desconectarse el piloto verde, el tiempo actual se reseteará y se colocará a O segundos hasta una nueva activación de los pulsadores. En todo momento se deberá visualizar en el registro MDlOO el último valor de temporización. 'XD83 ºDB_ll'_01 º 'Y.I0.2 1P ºS 2_M'IRCHA º Tíme 'Y,Q2.2 ºH1_VERDE º IN Q -----------! }---< T#l Os - PT 'Y.MD100 '-13.1 ·ss_pULSADOR ACK" r�: OE" MCM B_ll' ,_ _ _ 01 - º . - ET - - - �: - �� OLJTI ET- ºlí• mpo_Actua r 'Y.MD1 00 ºlíempo_Actua r Fig. 3.22a Fig. 3.22b También podemos utilizar los parámetros del temporizador, tanto de entrada como de salida, en diferentes segmentos del programa: V V V V J
  • 107.
    ) ' ' ) ) ) 1 , lONR Time --- INQ -- ... - R E1 <1??> - PT Fig. 3.24 Recuerda • • • Básicamente el funcionamiento del tipo de temporizador TONR es idéntico al tipo TON, pero con la particularidad de que acumula el tiempo transcurrido ante la desactivación de la ' entrada «IN» del ' ) ' ) 1 ' temporizador. Unidad 3 - Programación con temporizadores IEC '11)83 "lKl.2 "DB_lP_Ol " "52_""'-RCHA" ci ---,-----------------1( 1i:,e }--- T�l O< ·ss_P��s�oR ACK" 'Y,()2.2 "DB_lP_01 ".Q "Hl_VERDE" 1 ( )------, MOVE �----- EN - ---< "DB_lP_Ol ".ET- IN 'IMD100 ;� OUTI ..,_ •írempo_Actuar 3.2.4 TONR. Temporizador acumulativo Fig. 3.23a Fig. 3.23b Con la instrucción TONR se puede acumular o memorizar el tiempo dentro de un periodo definido en el parámetro de entrada PT (Preset Time). Cuando la entrada IN detecte un flanco positivo, cambio de O a 1, se ejecuta la instrucción y empieza a contar el tiempo, memorizándose este en el parámetro de salida ET para un incremento en otra temporización o una puesta a O mediante la entrada R. La salida Q tan solo se mantiene a 1 cuando haya finalizado el tiempo total programado en la entrada PT. Podemos decir que este tipo de temporizador tiene un funcionamiento similar al tipo TON, pero con la opción de acumular el tiempo transcurrido. El temporizador IEC tipo TONR dispone de los siguientes parámetros: IN: condición para la activación del temporizador (obligatoria). R: entrada para poner elvaloractualde temporización a O y desconectar la salida Q. PT: valor del tiempo en formato TIME, por ejemplo, T#lüs. El valor máximo que se puede programar es T#24d_20h_31m_23s_647ms. Q: salida booleana para indicar con un 1 que el tiempo ha finalizado. ET: salida para indicar el valor actual del tiempo en formato TIME. Además, en la parte superior aparecerá de forma automática, una vez insertado el objeto en el programa, el DB asociado. Si representamos el funcionamiento de este tipo de temporizador de forma gráfica, tenemos: IN R o PT ET Fig. 3.25 101
  • 108.
    Unidad 3 -Programación con temporizadores IEC 102 Donde el funcionamiento es el siguiente: • La instrucción se inicia cuando el resultado lógico (RLO) de la entrada IN cambia de O a 1 (flanco de señal ascendente). • En ese momento se inicia la temporización según el tiempo programado en el parámetro PT. • Una vez transcurrido el tiempo PT, la salida Q devuelve el estado lógico 1, independientemente de que la entrada IN continúe estando activa o no. • Si mientras el temporizador se encuentra contando el tiempo se desconecta la entrada IN, el temporizador detendrá al valor actual y quedará memorizado en el parámetro de salida ET. • El valor actual de temporización se podrá reiniciar al valor O activando la entrada R. También mediante esta misma entrada será la única forma de desactivar la salida Q cuando esta se encuentre activada. • El valor de tiempo actual se puede consultar en la salida ET. Este valor de tiempo empieza a partir de T#0s y termina al alcanzarse el valor del tiempo PT. Al igual que los temporizadores TON, TOF y TP, a este TONR también se le debe asignar un bloque de datos DB de instancia, en el que se guardan los datos de la instrucción. La declaración de este tipo de temporizador se realiza igual que se hizo con los anteriores temporizadores TON, TOF y TP. En este caso modificamos el nombre, escribiendo DB_TONR_0l, y de forma manual le asignamos el 0B4 como DB asociado a este temporizador: Opnones de llamada lnstlnci• individu•I Bloque da - """'�" ,- DB - _TON!.. -- - 0,------,.., Q ALttcmf.tico EI bfoque de ilncrónll•m1.do gutrd1- s.ui da.toi, t>Pun bfcque de dnr..s. dr iru.-t1ndt proptO.. má, Fig. 3.26 Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de programa > Bloques de sistema > Recursos de programa del árbol del proyecto. Arboldel pr<JY'""tQ ◄ Dispositivos ..:! o C) ,... ..J UtflOAD_D3 W Agrrg,rd1J.poi.11ivo él trupoi;nivmyrffli. ,.. ..!11 Pl.C_11"'1121«::� Conigun.ciondt' diJ.poinwtls yJ Ol'lline'ydi■grtóstKo • Bloques dt' prog:r1m1 lf �n-g•rnurvo bloque • Mlm lOBlJ • SfJlnup IOB100J • 1_Tempomlldor_10N IFC1) • 2_Tempori::1dor_TOf JfC2) • 3_Tempori3dOl'_1P jf□) • -4_Tempori,dor_� jfCAJ ..,. �curso� de progr1mt lj 08_10( ..01 1062) Fig. 3.27
  • 109.
    ' ' ' ' ' 1 ' 1 1 Unidad 3 -Programación con temporizadores IEC Ejemplo: Mediante un sistema de paro-marcha queremos activar el piloto verde (Q2.2) y también un temporizador que, una vez transcurridos 10 segundos después de haber activado el pulsador de marcha conectado en la entrada 10.2, hará que se conecte el piloto azul (Q2.3). Si en cualquier momento accionamos el pulsador de paro, conectado a la entrada 10.1, el piloto verde y el temporizador dejarán de funcionar y se memorizará el valor de temporización. Para poder resetear tanto el valor actual de temporización como desactivar la salida Q, se deberá activar el pulsador ACK (13.1). En todo momento se deberá visualizar en el registro MDl00 el último valor de temporización: ,io.1 "Sl_pAAO" ,io_2 "S2_MARCH/I' �22 L:SVERDE" "IDB4 ·os_mNR_o1 · IDNR Time 1Q22 "Hl_VERDE" )------t 1Q2.3 "H2_AZUL• ------ IN Q ----{ )------t 113.1 ·ss_pULSADOR ACK" - R 'r.MD100 ET "lí•mpo_Actuor T#1 0s - PT �-� Fig. 3.28 También podemos utilizar los parámetros del temporizador, tanto de entrada como de salida, en diferentes segmentos del programa: '1102 "S2_twtCHA" 1Q2.2 "Hl_VERDE" GJ ---r-------------f( )------t "H�:OE" •- ---------- --{ "IDB4 "DB_IDNR_Ol" ( IDNR L.... Time ,---, r,:,10, Fig. 3.29a MOVE 1-------EN - "DB_IDNR_Ol ".ET IN 'r.MDlOO ,► OUTl "líompo_j-,ctual" 1 "DB_ID 1Q2.3 � NR l- _0 _ 1_ •.Q __________________• _ tt-4 2 _ AZ� P3. 1 ULSADOR "ID84 ACK" "DB_IDNR_Ol" 1--------------------f RTJ---< 3.3 Generadores de impulsos Fig. 3.29b Fig. 3.29c Fig. 3.29d Dentro de Configuración de dispositivos de nuestro proyecto, en el que nos aparece la CPU, si observamos dentro de Propiedades, en la pestaña General, y 103
  • 110.
    Unidad 3 -Programación con temporizadores IEC Recuerda • • • En la configuración de la CPU se puede activar un byte de marcas para poder tener ocho generadores de impulsos con frecuencias diferentes. Recuerda • • • La preselección directa o constante del valor de temporización se basa en asignar un valor fijo en formato «Time» en la entrada «PT». 104 dentro del apartado Marcas de sistema y de ciclo, vemos que aparecen desactivadas las opciones Activar la utilización de bytes de sistema y Activar la utilización del byte de marcas de ciclo. Para poderlas activar solo hay que activar la selección correspondiente, en este caso Activar la utilización de bytes de sistema y escribir el número del byte de marcas que deseemos utilizar para esta función, en este caso MB8191, que corresponde con el último byte del área de marcas del 57- 1200, para el caso del 57-1500 sería el MB16383, aunque podría ser cualquier otro. ► Genere! ► ln�rfazPROflNET(Xl) ► D1 14/0Q 1 0 • >J 2 ► AQ1 Signel Board • Contado�, r,pido,(l-lSQ ► Generadores de impulto, (P_ Manque Ciclo C&r91 por comuni.c:1ci6n Mllirt•� de uuem1 yde ciclo ► ServidortYt-b ldiomes de la interfaz Hm, l"rote-cción Rrcunos de conelOón Sinóptico de direccionH Constantes de sistema Textos � Acti>,u la vtilü:aci6n del b:,tt de m1rtH de ciclo Fig. 3.30 Se muestra el listado donde se relaciona el bit del byte de marcas seleccionado (MB8191) con la frecuencia de funcionamiento que tiene asignada cada bit Las marcas de ciclo se utilizan en el programa de usuario, por ejemplo, para controlar indicadores luminosos con una luz intermitente o lanzar procesos periódicos, como la adquisición de un valor real. En el siguiente ejemplo se muestra una aplicación en la que en el momento en el que se dispare el disyuntor magneto térmico del motor de transporte de las piezas (12.7), el piloto amarillo de la baliza (Q2.1) se pondrá a funcionar de forma intermitente a una frecuencia de 1 Hz. '112.7 f1 lECCION R PIEZASº 'J.M8 1 9 1 .5 ºClock_1 Hz" 1------1 '!Qz_, ºHO_AMARILLO º Fig. 3.31 3.4 Preselección directa e indirecta de temporizadores Se pueden programar los diferentes temporizadores, de forma que el tiempo sea del tipo: • Constante o direccionamiento directo. • Variable o direccionamiento indirecto. 3.4.1 Valor de temporización constante o direccionamiento directo Se programará un valor constante cuando no sea necesaria la modificación del mismo una vez ajustado para la aplicación que debe realizar. En este caso, en el parámetro PT, en los temporizadores IEC, introducimos un valor constante en formato Time, como es T#l0s: V V V
  • 111.
    ' ' ' ' ' ' ' ' ' � ' Recuerda • •• La preselección indirecta del valor de temporización se basa en asignar un registro en formato doble palabra en la entrada «PT» que deberá contener el valor del tiempo en formato «Time». Recuerda • • • Con la visualización online del programa, , podemos modificar el valor del registro mediante la opción "Forzar ➔ Forzar operando". ' Unidad 3 - Programación con temporizadores IEC "fol03 "S3 SELECTOR AlJlO/MAN" 1DB1 "DB_lON_Ol " lON Tíme '11:)2.4 "H3_ROJO" t---- lN T#10s - rr o·--------------1 )-------, '.IMD100 El "Tie m po_Actu a l" Fig. 3.32 3.4.2 Valor de temporización variable o direccionamiento indirecto Se programará un registro cuando sea necesario modificarlo durante el funcionamiento del proceso en el que se aplica. La modificación del tiempo pasa por modificar el valor contenido en el registro programado, como por ejemplo desde una pantalla táctil. En este caso, en el parámetro PT, en los temporizadores I EC, introducimos un registro que deberá contener un valor en formato Time: "fol03 "S3 SELECTOR AÜlO/MAN" 1DB1 "DB_lON_Ol " lON Time '11:)2.4 "H3_ROJO" 0 ---------------1 )-------, '.IMD100 '.IMDl 10 ·valor Preselección• E1.- •líempo_Actua l• P'T En el momento de realizar la comprobación del funciona­ miento, podemos modificar el Valor de preselección del registro MD110 de diferentes formas: mediante una tabla de observación o, lo que es más rápido, seleccionando en el registro del parámetro de entrada PT el temporizador y a Fig. 3.33a � • • D Ori.rJ 0,1.,2 ,.. Titulo del bloqu Odm van.bit- Coff,ena,.,, camblu nomb!T d• la v•n.bh!- e ,.,...,._,.., CVM.MlyúHT on.....,.n., &· · M 8-HW Rltuigna,v1rieble._ • Segmento 1: X cona, Oburvu1 p1rt1r de 1quí Oburvuselectión COIT'tnt11no l .!j eop.. , 1 e r.g1r x aorr■ f ""'· t-------� "'" ..., ºS3.SEl.EClOR ,..,..11 )'M d,r 1 l'!r>CIU Clo:.11:Íll Ut) ¡.f1 1 'IQ2 4 AIJlO/MJN" - lr'11CCUOJ 101tip.a1Jes ºH3_IIOJO" � 1- -- - .,/ it lnurur agmemo �R ----------{ )---◄ .,,rurHg,..en1olo'A. "IMD1 1 � lmert.111 cv1drc •ltio ...._)ls..f5 l"ropie-d1des Al!:.fntrar continuación pulsando el botón Fig. 3.33b secundario del ratón y seleccionando la opción Forzar - Forzar operando. Aparecerá la siguiente ventana para poder introducir el nuevo valor de forzado: Forzar 'X Velor de íor.!I .,, _ ., _ o, ________, Formato Tíempo Fig. 3.33c En el campo Valor de forzado podemos introducir el nuevo valor que tomará el registro MD110. Ejemplo: Se desea realizar un programa en el que, al accionar el pulsador de marcha (10.2) y dependiendo de la combinación binaria del estado de los dos disyuntores 105
  • 112.
    Unidad 3 -Programación con temporizadores IEC 106 magneto térmicos Ml (12.7) y M2 (13.0), el valor del temporizador será diferente (por ejemplo, 5, 10, 15 o 20 segundos) y que, cuando haya pasado el tiempo establecido, se active el piloto rojo (Q2.4) de la baliza. Podemos optar por dos soluciones y utilizar la preselección directa o indirecta del temporizador. • Direccionamiento directo Para este caso tenemos la necesidad de utilizar cuatro bloques de datos (0B10, 0B11, 0B12 y 0B13) asociados a los cuatro temporizadores, ya que si se utiliza el mismo bloque de datos para todos los temporizadores, los parámetros de entrada y salida de cada temporizador quedarán solapados y el programa funcionará de forma incorrecta: '1110.2 "S2_MAACHA" W2.7 "F1_ PROTECCION MOTOR PIEZAS" '!113.0 "Fl_ PROTECCION MOTOR P¡lj_flS" '!IDB10 "DB_TON_oo· TON Time 1------,v1- 1 ------iVJI---- IN Q ------ '!112.7 "F1_ '1110.2 PROTECCION "S2_MAACHA" MOTOR PIEZAS" V '!112.7 "F1 _ '1110.2 PROTECCION "S2_MAACHA" MOTOR PIEZAS" nss -PT '!IDB11 '!IM>l00 "Velor_ktual_ ET - TIM' '!113.0 "DB_TON_0 1 " "F2 PROTECCION TON MOTOR P¡lj_flS" Time IN Q T#1 0s - PT '!IM>l00 "Velor_ktuat_ ET>-TIM' '!IDB12 '!113.0 "D8_TON_02" "F2_ PROTECCION TON MOTOR P¡lj_flS" Tome 1-------t 1-----VJ--- IN T#1 Ss - PT Q ------- '!IM>l00 -Velor_ktual_ ET - TIM' '!110.2 "S2_MAACHA" 'IDB10.DBX12.2 "DB_IDN_OO".Q 'IDB1 1 .DBX1 22 "DB_IDN_01 ".Q 'IDB1 2.DBXl 22 " DB_IDN_02".Q '!112.7 "F1 PROTECCJON MOTOR PIEZAS" '1113.0 "f2_ PROTECCION MOTOR PALETS" '!ID813 "DB_TON_03" TON Torre 1------1 1---- IN Q ------- T#20s - PT '!IM)100 ·velor_Jlctual_ ET - TIM' "IQ2.4 "H3_ROJO" >--- Fig. 3.34a Fig. 3.34b Fig. 3.34c Fig. 3.34d 'IDB1 3.DBX1 22 "DB_IDN_03".Q Fig. 3.34e ...._,, J J J
  • 113.
    1 1 1 1 Unidad 3 -Programación con temporizadores IEC • Direccionamiento indirecto En esta otra solución tan solo utilizamos un bloque de datos D810 asociado al único temporizador utilizado: '1110.2 "S2_MAACHA" '1110.2 "S2_MAACHA" '1110.2 "S2_MAACHA" '1110.2 "S2_MAACHA" '1112.7 "Fl_ PROTECOON MOTOR PIEZAS" VI '1112.7 "Fl_ PROTECCION MOTOR PIEZAS" VI '1112.7 "Fl PROTECCION MOTOR PIEZAS" '1112.7 "Fl PROTECCION MOTOR PIEZAS" 'YDB 1 0 ·oe_roN_oo· 'II0.2 TON ·s2_MAACHA" 1íme '1113.0 "F2_ PROTECCION MOTOR Pl'i.ETS" VI T#Ss '1113.0 "F2_ PROTECCION MOTOR Pl'i.ETS" 1#10s '1113.0 "F2 PROTECCION MOTOR Pl'i.ETS" VI T#1 5s '1113.0 "F2 PROTECCION MOTOR Pl'i.ETS" T#20s r.«>VE EN - IN .� OUTl r.«>VE EN IN ;} OUT1 r.«>VE EN IN ;} OUTl r.«>VE EN IN ;� OUT1 'IIM'.)110 -Valor_ Preseleccion_ TIM" 'IIMJ1 10 "Valor_ Preselecdon_ TIM" 'IIMJ110 ·valor_ Preseleccion_ TIM" VJIJ110 ·valor_ Preseleccion_ TIM" 'IQ2.4 "H3_ROJO" IN Q ---------------1 )-------, 'IMD1 1 0 ·va lor_ Presele ccion_ llM" -PT 'IMD 1 00 •velor_Actua l_ E1 - llM" Fig. 3.35a Fig. 3.35b Fig. 3.35c Fig. 3.35d Fig. 3.3Se 3.5 Varios temporizadores en un único DB de instancia Hemos visto cómo en el momento de incorporar un temporizador al programa se nos solicita un DB de instancia asociado en el que guardará el estado de cada uno de los parámetros. Pues bien, hay una diferencia entre si el temporizador lo programamos en un OB o una FC , o si lo programamos en un FB. 107
  • 114.
    Unidad 3 -Programación con temporizadores IEC Recuerda • • • Cuando se programa un temporizador en un bloque OB o FC, se debe asignar un DB de instancia para cada uno de ellos. 108 3.5.1 Temporizador programado en un bloque de organización (OB} o en una función (FC} Al insertar un temporizador IEC en el editor de diagrama de contactos, se solicita que este se asocie a un bloque de datos DB. En este caso el D810: 'IIK)_J 'S3_SELECTOR AUlO/MAN" 'IDBl 'DB_lON_01' 10N Tome '11)2.4 ºH3_ROJOº t---- 1N 0 ---------------i )---< T#10s PT 'YMD100 Et- ºlíempo_Actuo I' Este bloque de datos DB tansolo podrá ser de instancia individual: 1na•ncie tndi-,idual _.._ Nombre r. .,. :-e _,o ::e: ._ ,-: 0,:- 1 -----,,,, Nijmero @ Au.om4tico El bloque de función llamodo guarda �u1 dato, en un bloque de datc, de ifüunci-, ptop10. m!, Fig. 3.37 Fig. 3.36 Al abrir el DB de instancia se observa la declaración automática de los parámetros que ese temporizador dispone, y que es la siguiente: Nombre LJ -G • ST Time ti) ::.oms B 0 0 -e . PT lime ::oms 0 0 o , -e . ET Time !rOms o 0 0 -G • RU Bool lal<• 0 o -G • IN Bool lal<e El 0 0 o - �- Q Bool false o 0 0 � Fig. 3.38 Si antes de abrir el bloque de datos de instancia, que se ha guardado en nuestro proyecto dentro de la carpeta Bloques de programa - Bloques de sistema - Recursos de programa, lo seleccionamos y elegimos la opción del menú Edición - Propiedades, se abrirá una ventana de propiedades de este bloque, en la que dentro de la opción Atributos deseleccionaremos el atributo Acceso optimizado al bloque y obtendremos la siguiente vista: ,.. Qii 01_Temporizadores (CPU 1 214C ACJDC./Rly) 1 Configura ción de dis,pos,itivos, � Online y diagnóstico ,.. !i,: Bloques de progra ma IrAgrega r nuevo bloque :a- Ma in (OB1 ] :a- Stan:up (081 00] ,.. li, Bloques de sistema ,.. P::-: Recurs,os de progra ma ····························•· DB_10N_01_ (DB1 l ........................ ► [¡¡ O bjetos tecnológicos Fig. 3.39 J '-...,,'
  • 115.
    � � ' ' ,.....,,_ ' ' ' ' ' ' ' l - ' ' ' ' Recuerda •• • , Cuando se programa un temporizador en un bloque 0B o FC, se , puede acceder a los registros del DB ' mediante su dirección ,, absoluta o simbólica. ' ' ' ' ' ' ' ' ' ' l ' Recuerda • • • Cuando se programa un temporizador en un bloque FB, se puede elegir un DB multi- instancia, que permite incorporar varios temporizadores en el mismo DB. Unidad 3 - Programación con temporizadores IEC Fig. 3.40 Ahora, si volvemos a abrir ese mismo bloque de datos, se observa cómo aparece una nueva columna llamada Offset en la que se muestran las direcciones absolutas de cada parámetro dentro del DB: 06_TON_01 Nombre Tipo di,dno1, C)'if)et 1t1lor d'l!'•rmiqu.c �•nen(� Actni 'bledt:,de HM!iQPC UA E.5tnll'ib!e dt'W'I!' HMj;OPC UA 'TJl "ble rn HMI Engll'lttfln9 Vtlor de 1¡vstto -O .. �atic -O�Tirne 4.0 .,.,,,., o 0 0 0 <J . ET lirN! 8.0 ,.�Orns o 0 0 , <J . IN Bool 1Z.l ,,. o 0 0 <J . Q eool ,,, ft>li.- El 0 0 Fig. 3.41 En este DB de instancia podemos hacer uso de los parámetros de forma individual en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque de programas diferente, y para ello podemos utilizar tanto las direcciones simbólicas como las absolutas: 1 :: e � � � .... � - 1� - � ----------------- - •- H1 -1 �!:0E0 � )--< Fig. 3.42 3.5.2 Temporizador programado en un bloque de función {FB) con un bloque de datos multi-instancia Si un temporizador se programa en un bloque 0B o FC, estamos obligados a asignar un DB de instancia para cada temporizador, pero cuando el temporizador se programa en un bloque de función (FB), tenemos la posibilidad de aplicar el concepto «multi-instancia», que quiere decir que en un mismo DB, que se generará al hacer la llamada al FB, se guardará el estado de los parámetros de cada uno de los temporizadores de forma independiente. El concepto de «multi-instancia» indica que se generará en la zona de declaración de parámetros del FB, y dentro de la zona de variables Static, tantas variables del tipo IEC_TIMER como temporizadores se programen en ese FB. pciones de llamada lnstlt'ICil indMdu■I -de- Nombr� IEC_ ... � M ... _oo __ ....,.____. ]l rrtúmt!ro Q Mem.,191 0 Auwm,nco E.! bloqu!' d� Í.lnc1ón n,m,do 9uerd1 sus. detos e>n un bloque' de thltO} de IM$�n,1• propio más.. Para ello, en el momento de insertar un bloque temporizador, aparecerá la siguiente ventana para poder elegir entre un DB de Instancia individual, que es como se realiza en un 0B o FC, o bien con un DB Multi-instancia. Fig. 3.43 109
  • 116.
    Unidad 3 -Programación con temporizadores IEC 110 En este caso seleccionaremos el DB Multi-instancia y modificamos su nombre, observando cómo en el FB queda generada esa variable tipo IEC_TIMER en la zona de declaración de parámetros. Temporiudore,; Nombre Tipo de dt�os Vtlor pr�n. �•nen,it Accesibl,de'Ple HMliOPC UA &ribible d�e HMliOl"C UA Visible en HMI Eng1nttring Valorde ajune ColT'MYOO C • Input <l ► OUtput C ► ll'Out e • Sta.oc <:] • • lM_Ol <J • n 0 • ET 0 • IN <I • Q O ► Te:mp IEC_llMER <m, ?=omi llm, --J.W'• Bool �-· Bool ..... ,J -O • Consu.n1 ____ _ No rem1neme ¡;¡;¡ ¡;¡;¡ ¡;¡¡ No remonence 0 0 0 No n!ffl;J�nt, 0 0 NQ remanentil! 0 � 0 No n!mantntl! 0 Ell. Fig. 3.44 De la misma manera, podemos ir añadiendo temporizadores en este mismo bloque FB, de forma que vayan apareciendodeclarados en la zona de parámetros. En este caso declaramos la remanencia en la zona de declaración de parámetros del propio FB en la columna Remanencia. Así podemos seleccionar qué temporizador se desea hacer remanente. También podríamos realizar la declaración de las variables de tipo IEC_TIMER manualmente en el FB y obtendríamos el mismo efecto. En cualquier caso, si ahora realizamos un programa dentro de ese mismo FB, de forma que la instancia asociada al temporizador sea la variable estática TIM_0l declarada anteriormente, tendremos: 1!0.3 #11M_01 "S3 SELECTOR IDN AÍJroiM•N" 1íme 'XQ2.4 "H3_ROJO" 1---- IN Q ---------------{ }---< "'1D1 1 0 ·valor_ Pres.elección• PT "'10100 E1 "líempo_Actual" 'XQ2.2 "Hl_VEROE' Fig. 3.45a fllM_O l- 1- .Q-----------------------1 }---< Fig. 3.45b Ahora tan solo nos queda realizar la llamada a ese FB desde el OB1, en donde en el momento de insertar el FB en un segmento nos aparece la ventana para asociar el bloque de datos DB de instancia, por ejemplo: Opcione-s de llamada 1 X lnneincia individual Bloque de dalos Nombre Número .-----------i-, DB_F801 1 0 (!) Manual Q Automático .. El bloque de función llamado 9uarda ,;u� dato� en un bloq� de d1tto:s .de irrrnrncia proptO. más.. Fig. 3.46 Aceptar Cancelar
  • 117.
    í 1 """"' Recuerda •• • Cuando se programa " un temporizador en un " bloque FB asociado a un DB multi-instancia, "' tan solo se puede ,----._ acceder a los registros del DB mediante su � dirección simbólica. í Unidad 3 - Programación con temporizadores IEC La llamada programada queda de la siguiente forma: ,0B 1 0 "DB_FBOl• -remporizttdores• ENO ------------------< Fig. 3.47 Ahora, si abrimos el bloque de datos de instancia asociado a este FB, observamos cómo aparecen todos los parámetros del temporizador o de los temporizadores declarados: OB_F801 NOmbr� -0 lnp1.11 -O Output <J lnOut ,O • SU.tic , <J • ,. 11"4...0l <J • " - -O • ET ,O • IN -O • Q lEC_TI'-tR Tím� >m, 800! 8001 0 0 0 """" 0 0 0 "'""' 0 0 •.. 0 0 .. 0 0 Fig. 3.48 Podemos hacer uso de los parámetros de este DB de forma individual en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque del programa diferente. En ese caso utilizaremos solo la dirección simbólica: 1 ·oo_�,º� ... · _ .ll _ M_ _________________ · _ H_ o_ .... � LL O" � )----t Fig. 3.49 Así observamos que, para hacer uso de cualquiera de los parámetros, se llama a: Nombre simbólico del DB Nombre simbólico de la variable declarada Nombre simbólico del parámetro del temporizador Y obtenemos "DB_FBOl".TIM_Ol.Q, : "DB_FBOl" : TIM_Ol : Q En este caso no será posible el acceso de forma absoluta a las direcciones, pues no se puede deseleccionar la opción Acceso optimizado al bloque dentro de las propiedades del DB. � Gf�.. 1 .-------�-------- lnl,,n,1ci6n Atributos ____________ _ @,ouu-,op,,,., ,.do1!bloqu, iEntblft,,qli! loill1ros SHn �... 1n.i,�,'"�I,, .. utindt• Fig. 3.50 3.5.3 Declaración de varios temporizadores IEC en un mismo bloque de datos Hemos visto cómo en el momento de incorporar un temporizador al programa nos solicita un DB de instancia, donde este bloque de datos es configurado por el 111
  • 118.
    Unidad 3 -Programación con temporizadores IEC Recuerda • • • Otra opción para la declaración de los temporizadores es la utilización de un DB global donde se declaren previamente todos los temporizadores a utilizar con tipo de datos «IEC_TIMER». 112 propio sistema y no es modificable por parte del usuario. Para que pueda ser creado y modificado por el usuario debemos hacer uso de los bloques de datos globales. Por tanto, antes de entrar a utilizar los temporizadores en nuestro programa, creamos un DB global llamado DB_TIMERS: función Tipo: Lenguaje Q m•nu1! @ 1utom6tiw �$Cripci6n Lo, bloque, de d110, (De)s.Wn p1r1 1lm1c:enar dato, del programe. - Fig. 3.51 A continuación, declaramos tantas variables de tiempo con tipo IEC_TIMER como temporizadores se vayan a utilizar, por ejemplo, tres: de datos OB_TIMERS Nombre , ,O • Staoc <J • ► 1lM_01 <:J • ► 11M_02 .:;J • ► 11�03 Tipo de datos Offset Valor de itrunque RffnlnfflCII Acc�bledes.�HMIIOPC UA Ef;c:ribibled6de HMllOK � Visible en HMl Engme«ing Valor de IJl,me IEC,.Jlt.t:A li O.O IE(_llf.ER 16.0 IEC_TIM:R 3.2.0 Fig. 3.52 De forma que al desplegarlos observamos todos los parámetros que pueden intervenir en un temporizador IEC: DB_TIM:RS Tipo dedatos Offstt Velor de -,ron.que Rffi1W1tn.t1a Acces.ible desdeHMliOPC UA Escnbible- dMe H""IJOPC UA Vísible M HMI Enginttring Val¡¡rdeIJl.lllt -0 .... Static <] ■ • llM__Ol IE.c_llM:A fil O.O 6il Q Q ¡¡;¡¡ ., PT lime 4 0 ,:om Q 0 0 0 ., . ET lime 8.0 "'°"'' liiil 0 0 e . '" Bool 12.1 tala Q 0 0 0 o . Q eool 2J �,. Q 0 0 <:I • • 11M_02 IEC_llt.EA 16.0 lii lii liiil ¡¡;¡¡ Cl PT lime 20.0 """"' liiil 0 � 0 '7 • <:J . ET 1imt- 24 0 TJIOcm ¡;¡¡ 0 0 0 <1 IN 8001 21U �lie li! 0 0 0 Cl . Q Bool 28� fals!' ¡;¡¡ 0 0 2 C • • llM_03 lfc.._1J.E.R 32 0 li! Q Q !iil <l PT "llme 36D ',;l;lm� ¡;¡¡ 0 0 0 4 -O ET Time 40.0 "'""'' li1I 0 0 5 0 IN Bool 44.1 lslie lii 0 0 0 j Cl Q 8001 4<J �iu !iil 0 0 Fig. 3.53 Ahora, si queremos programar un temporizador en cualquier bloque de programa, nos aparecerá como siempre una ventana para asignarle un DB de instancia. '-../ '-..., -�, '-..., '---' '-..,/ '-J "J' '-..,/ ....., ....., ..J '---" --..J _/
  • 119.
    1 ' ' ' ' ' ' l ' ' Unidad 3- Programación con temporizadores IEC pciones de llamada !)8 Instancia individu1l llloque de - NombrY fii,- ::: dt&Dl :::- •- l!lli "' ••f •- ,.. - - - --���.J� Númt"ro -,:- Q Mnnual (.) Aotom�tico El bloQue d" función llac,,ado guarda sus datos en un bloque de datos de instancia propio. m6, Fig. 3.54 Pero en este caso, cancelaremos mediante el botón Cancelar la petición, ya que queremos utilizar como DB el DB global declarado anteriormente. En ese momento nos aparece el temporizador programado de la siguiente forma: Fig. 3.55 A continuación, pulsamos en la zona de asignación del DB asociado, en la parte superior de la caja del temporizador, y elegimos en primer lugar el nombre del DB global, en este caso "DB_TIMERS": L �,=! t-·oe,::RS· DB global 081 >> :.1 IN Q -----------------< - PT El - - . Fig. 3.56 Después elegimos una de las variables IEC_TIMER que tenemos declaradas, en este caso TIM_O: 'DB_llMERSº . UH llM_Ol IEC_llMER ->>· ,.. 11M_02 IEC_llMER ,.,. l1M_03 IEC_llMER » .., <???> n E l ... Fig. 3.57 A continuación, elegimos Ninguna entrada para eliminar el último punto que aparece en la declaración: B llMERS º .llM 01 T,l :inguna ent�da "'" - IN ___ Q-:_ -:_ -:_ -:_ ::_ ::_ ::.====------------< - PT El- --- Y obtenemos el siguiente resultado: k"DB_llMERS". llM_Ol IDN líme IN Q -----------------< - PT El- --- Fig. 3.58 Fig. 3.59 113
  • 120.
    Unidad 3 -Programación con temporizadores IEC Recuerda • • • El hecho de utilizar un DB global para la declaración de los temporizadores permite seleccionar de forma independiente cuál de ellos se configura con remanencia. 114 Ahora completamos el programa: '115.3 ·s20· "DB_llll,ERS". TIM_Ol IDN lime 'XQ2.4 "H3_ROJO" t---- lN T#Ss -pr Q ---------------1 )-----, 'IIMDlOO "líempo_Actual_ E1 - 1Dl" Fig. 3.60 Repetimos la operación para los otros dos temporizadores y obtenemos el siguiente resultado: 'Y.15.4 ·s21 · "DB_TIMERS". 11M_02 IDN Tíme 'XQ2.2 "Hl_VERDE" --- IN Q ---------------1 )-----, Tt10s PT 'J.MD104 "líempo_Actuo I_ EJ - 102" "DB_TIIIE:RS". 11M_03 'Y.IS.S IDN ·s22· líme 'XQ2.3 "H2_AZUL" t---- lN Q ----------------4 )-----, Tt1 5s PT 'J.MD108 "líempo_Actua l_ E1 - 1D3" Fig. 3.61 Fig. 3.62 Ahora, al poner en funcionamiento el programa, observamos cómo cada temporizador funciona de forma independiente: 08_TllVl:RS (lnt:tantánea getKH.Jda: 19/1 1/2016 0:33:04) N'ombre Tipo dr d,tos Ofh!t V1!ot de 1rr1nque Vtlor de obst'l'-1crón Rlm1nern::11 Act:nlblr dnde HMl•'oPC- UA Escríbibledndt!HMI/OPC UA Vi5'ib!re,, HMj Eng1 -O • Static: � G • • TIM _Ol IEC_TIM:R O.O 4l • " 4l • IT ., • o . .,. ET IN ., • Q 1 .,O • • 11M_03 " • ET . ,. • Q 4.0 �i:(lm} e.o 1�om, Boo! 12,l litlu Bool 12..Z Íll•Jli! IEC._1111€11 Hi.O 20.0 T,; )tri� 1'imr 24.0 �,,r,,..., Bool 2&.1 íwlstt Bool 2s.2 filia IEC_l1'-E'R 32.0 Time 36.0 ""::r.n,5 Time 40.0 �::Om� Sool Bool 44 1 '!�� 44.2 telu !11 611 ¡;¡;¡ !!'! TltSS E1I 0 � 0 T:.2S_767MS B 0 0 11UE E;'! 0 0 0 FALSE ¡¡;¡¡ 0 0 E1I E1I E1I T:10S E1I 0 0 0 Ta:105 E1I 0 0 11UE 6i! 0 0 0 11Uf E1I 0 0 E1I � E! Tf 1 5S E1I 0 � 0 �,ss E1I 0 0 """ 611 0 0 0 "'"' B 0 0 Fig. 3.63 Además, hay otra ventaja como es la de poder seleccionar qué temporizador dispone de la función de remanencia, ya que se puede realizar la selección de forma independiente. Podemos hacer uso de los parámetros de este DB global de forma individual en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque del programa diferente. Por ejemplo, podemos utilizar las direcciones simbólicas. Para utilizar las direcciones absolutas debemos configurar las propiedades del DB mediante la opción del menú Edición - Propiedades. Se abrirá la ventana de propiedades de este bloque en el que, dentro de la opción Atributos, deseleccionaremos el atributo Acceso optimizado al bloque y obtendremos la siguiente vista: J
  • 121.
    í ' " ' 1 " " ' ' ' ' ' Recuerda •• • 1 ------ Cuando se programa un temporizador " mediante la utilización ' de DB globales, se puede acceder a los " registros de ese DB mediante su dirección " absoluta o simbólica. 1 1 ' ' 1 " " 1 1 ' ' " ' ' 1 Recuerda • • • " La norma Grafcet contempla acciones asociadas ' temporizadas a las ) etapas con dos tipos: • Delayed {O) . ........._ • Layed {L). " 1 ' ,, Unidad 3 - Programación con temporizadores IEC COoql,M ci6n Q),�-po,.•:.it'o4"1 .en ll -11.e":'!.:,iu d'! .:.tr-,i.t PN':,e� o.!:)41,.,.! i'! .Ütll1. :)ICt.. "q:..J,J C.;-,'17,1, .e<o,:�::,.,,r-' '!!1 .e �lip<J,4�.) �;: ,.e..-aa•�r Q-.o.::�;op.::1m::l!l,h .1· �"'! L Fig. 3.64 Una vez compilado el proyecto, al volver a abrir el DB global, observamos cómo aparecen las direcciones absolutas de cada parámetro y, por tanto, podemos utilizarlas en cualquier bloque de programa. !!�2:_2 _01 .Q 'IQ2.1 "H0_AMA!lll.LO" 1-----------------------1 )-----t Fig. 3.65 En esta última configuración del DB se pierde la funcionalidad de poder aplicar remanencia de forma independiente a cada temporizador y tan solo se puede establecer que sean todos remanentes o que no lo sea ninguno. o • -;.:.,,� -O • .,. ..._OJ �:_"'-El (!' OJl � • •r .6-.e ;;J! �.. · -0 • .H ·r.:io-' :t# � C • • !:» 11.1 ....... � • Q !:,;:. l=..a! iW·, <l • ... ..... '"- .1ee:_-..ea '64 e • ..,. r.,,� o • tr rn.t ., . r ,o • 1> ,� ,o • • al_QJ 11:t:_a.EI. ILC 1 0 •r f.-� HA � "' '° :r r..-, � �� 'º g ,.,, r.-ss 8 "" o - B "" o rua¡ o ...10::. � ..'O!ó 8 ""' □ .... ..... o �," g '°='l i"i f;; SS 8 Jlli.l� o llM g Fig. 3.66 3.6 Programación en Grafcet (11) ii ii 0 0 0 0 ii '11 0 0 0 0 0 ii 0 0 0 0 0 En esta segunda parte explicamos cómo integrar la función de temporización en un diseño realizado en Grafcet. Veremos las diferentes posibilidades de programar un temporizador en una acción asociada, así como la de integrar contactos de temporización en una transición. 3.6.1 Acciones asociadas temporizadas. Símbolos D y L Si recordamos lo expuesto en la unidad anterior, gráficamente la norma IEC 61131-3 representa las acciones asociadas a etapas como bloques con cuatro campos, donde el campo 1 se denomina campo calificador y describe el tipo de vínculo entre la etapa y la acción asociada. 3 En este campo 1 es donde se sitúa el tipo de temporización que se desea realizar. Para ello disponemos de diferentes opciones: 115
  • 122.
    Unidad 3 -Programación con temporizadores IEC Recuerda • • • El tipo «Delayed» provoca que la acción asociada se ponga en marcha un tiempo después de haberse activado la etapa. 116 D (Delayed): la acción comienza un cierto tiempo después de la activación de la etapa. Es decir, la acción asociada se activará después de que haya transcurrido un intervalo desde la activación de la etapa. Se mantendrá en ese estado hasta que la etapa deje de estar activa. L (Layed): la acción termina tras un cierto tiempo de la activación de la etapa, aunque esta siga activa. Es decir, la acción asociada se activará inmediatamente después de que se activa la etapa, y esa acción se desconectará cuando haya transcurrido el tiempo previsto o bien cuando la etapa deje de estar activa. A continuación, se muestra un ejemplo de cada tipo: • Delayed Al activar el pulsador de marcha (10.2), pasará a estar activa la etapa 1. En ese momento también empieza a transcurrir el intervalo de 8 s y transcurrido ese tiempo la cinta transportadora de palets (Ql.1) se pondrá en funcionamiento por haberse conectado la MSO.O. La cinta dejará de funcionar cuando se desactive la etapa 1, que será al accionar el pulsador ACK (13.1). MO.O M50.0 M0.1 NC Ql.l anta transportadora paleb: D DB TON T0l PT:= 8s Tiempo espera parit activarcinta MSO.O lndícatiempo trancurrido Otra forma de realizar ese mismo ejercicio sería esta: MO.O DB TON TOl PT:= 8s M0.1 Tiempo espera para a:tivar cinta PulsadorACJ< (1 3.1) M0.2 o Programado en contactos sería así: • Activación de etapas • Segmento 1 : ActivBtcíón Etapa 1 wo.o "Etapa_oo· 'II0.2 "S2_MARCHA" W0.1 •Etspa_or :s >--- 'IMO.O ._____________ •E� u�� Fig. 3.67a
  • 123.
    ' ' ) ) ' ' ' ' ) ' Unidad 3 -Programación con temporizadores IEC Segmento 2: Activación Etapa 2 'IM0_1 ·e,opa_o1· 'f.1>81 _08)(1 2_2 "DB_lON_Ol".Q 1 'IM0_2 "Etapa_o2• ;s l-- wo_1 �----------- - ·e -, �p ;-;._. .., Segmento 3: ActivaciónEtapao ______________�-�-- '!113.1 '!IMl.2 ·ss_puLSJIDOR '!fMl_o ·e1apa_o2· KX" ·e1apa_oo· 11------11 �1 - .----------'.S l-- .______________ .---i E�-� .. Segmento 4: Aelt�1eión fttp_ • • -------------------� 'IIM0.1 "Etapa_Ol" 'JW3.1 ·ss_FUtSAOOR i'C.-.:' 'IIMO.O "Etapa_oo• 'IIM0.1 ;s )----, '-------------- ·---i eta�-;:_ • Activación de temporizadores • Segmento 5: Activación d�I temporizador08_10N_01 'IW0.1 pa_o1· 'IIOB1 ·oe_TQ1,Lo1· 1-------------------------1 TON Time T#Bs >- • Activación de salidas • Segmento 6: Motor cinta u1nsport1dore de palets _____________� pa_o2· '1,Ql.1 "K1M__MOTOR CINTA PAi.ET' P.2 ----------------------- Fig. 3.67b Fig. 3.67c Fig. 3.67d Fig. 3.68 Fig. 3.69 Debemos recordar además que en el OB100 o en el OB1 se debe programar la activación de la etapa inicial: ,,,.8 1 90.0 •FirstScan• wo.o "Etapa_oo• i---.------------------( s )----, ,,,.0. 1 "Etapa_01" �--------------------1( RESET _BF }-< 2 Fig. 3.70a Aunque, si se programa en el OB100, también se podría programar utilizando el bit de sistema Always TRUE, dado que el bloque OB100 tan solo se ejecuta en el primer ciclo de sean: 117
  • 124.
    Unidad 3 -Programación con temporizadores IEC Recuerda • • • El tipo «Layed» provoca que la acción asociada se ponga en macha al activarse la etapa y se desconecte al transcurrir el tiempo programado. 118 'QMl190.2 -·º "ftlwaysTRUE" "ETJll'A O" � , -�---------------�( S )----t • Layed __, "ETJll'A 1 " �-------------------1( RESET_BF r-1 2 Fig. 3.70b Al activar el pulsador de marcha (10.2), pasará a estar activa la etapa 1. En ese momento se pone en funcionamiento la cinta transportadora de palets (Ql.1) y también empieza a transcurrir un intervalo de 8 s. Transcurrido ese tiempo, se conecta el bit auxiliar de temporización (MS0.0) y en ese preciso instante la cinta transportadora de palets (Ql.1) deja de funcionar. También dejará de funcionar si antes de que pase el tiempo, la etapa 1 deja de estar activa por haber accionado el pulsador ACK (13.1). MO.O DB TON TOl PT:= 8s M0.1 Tiempo de activación de ta cinta MSO.O Indica tiempo tranrurrido Otra forma de realizar esemismo ejercicio sería esta: M0.2 DB TON TOl PT:= 8s Tiempo d eactivadón de la cinta PulsadorACX (1 3.l) o En contactos tendríamos un programa idéntico que en el caso del tipo Delayed, lo único que variará es que la salida correspondiente a la cinta transportadora se activará por la etapa 1 en lugar de la etapa 2: • Segmento 5: Motor dn!tl tnlnspor!tldonr ds p•lsll p•_01" 'IQ1 .1 "Kt M �TOR ttNTA PALE,. P'V.!0.1 1-----------------; Fig. 3.71 Según la norma de diseño en Grafcet, el formato para representar un contacto de un temporizador en una transición es el siguiente: '-'
  • 125.
    1 ' ' � 1 � Recuerda • •• Una acción asociada condicionada provoca que la acción funcione siempre que se esté cumpliendo la condición. Unidad 3 - Programación con temporizadores IEC temporizador Por ejemplo: MO.O MO.l M0.2 etapa en la que se activa tiempo Q,2.4 Pllcto rqo DB_TON_TOl/10s Tiefl1)0 de retarch W s Q 2.2 N >---------, Pilcto Verde Q 2.3 Pl lcto azul Accion a- pulsado r pero (10.1) El Grafcet se iniciará en la etapa O, en la que se visualizará el piloto rojo (02.4). Al accionar el pulsador de marcha (10.2), se conectará la etapa 1 y se desconectará la O. Se pondrá en marcha el piloto verde (Q2.2) a la vez que se pone en funcionamiento el temporizador del tipo TON con un retardo de 10 s. La transición se cumplirá cuando haya transcurrido el intervalo de 10 s del temporizador DB_TON_T0l que se ha puesto en marcha en la etapa 1. Entonces pasará a estar activa la etapa 2, que pondrá en marcha el piloto azul, hasta accionar el pulsador de paro que el sistema retornará al inicio. 3.6.2 Acciones condicionadas (bit intermitencia) Las acciones también se pueden condicionar de forma que se encuentren supeditadas al cumplimiento de la condición añadida. De forma gráfica, la condición, que se indica en el siguiente gráfico con el número 3 y se denomina campo indicador, se coloca encima de la acción asociada y unida a una pequeña línea vertical: 3 � � ' --- 1� ------1 La condición de la acción asociada es una ecuac1on booleana. Permite, opcionalmente, especificar una condición a cumplir para que la acción se pueda ejecutar. En el siguiente ejemplo se muestra el funcionamiento del piloto amarillo para indicar de forma intermitente que se ha disparado el disyuntor. F2_Protección • Clock_lHz Q2.1 M0.5 NC >-------------< Piloto amarillo 119
  • 126.
    Unidad 3 -Programación con temporizadores IEC 120 Programado en contactos sería así: ,il.3.0 "F2_ llMO.S PROTECCION W8191.5 "JIQ2.1 pa_os· MOTORPAI.ETS" "Clock_1 Hz' "HO_AMARUO" 11--------1V1t-------,V1-----------1( >-- 3.7 Programa basado en diseño Grafcet Fig. 3.72 Para practicar con secuencias en las que intervienen temporizadores realizaremos un ejercicio práctico en el que se desean hacer funcionar los diferentes pilotos de la baliza que contiene el simulador 3D. Fig. 3.73 "--' 3.7.1 Solución con varios DB de instancia para cada temporizador '-..../ • Condiciones de funcionamiento El programa deberá cumplir las siguientes condiciones: Cuando pongamos en marcha el sistema, se deberá mostrar el piloto rojo (Q2.4) en funcionamiento, lo que indicará que el circuito está detenido. - Al accionar un pulsador de marcha (10.2), el piloto rojo se deberá desconectar y pasará a funcionar el piloto amarillo (Q2.1) de forma intermitente a frecuencia de 1 Hz. Se iniciará además una temporización de 8 segundos. - Transcurrido el intervalo de 8 segundos, el piloto amarillo se deberá desconectar y pasará a funcionar el piloto azul (Q2.3), iniciándose además una temporización de 10 segundos. - Transcurrido el intervalo de 10 segundos, el piloto azul se deberá desconectar y pasará a funcionar el piloto verde (Q2.2), iniciándose además una temporización de 12 segundos. - Transcurrido el intervalo de 12 segundos, el piloto verde se deberá desconectar y pasará a funcionar el piloto amarillo (Q2.1), iniciándose además una temporización de 2 segundos. Transcurrido el intervalo de 2 segundos, el piloto amarillo se deberá des­ conectar y el sistema quedará al inicio, con el piloto rojo (Q2.4) en fun­ cionamientoa la espera de una nuevaactivacióndel pulsadorde marcha (10.2). • Diseño del Grafcet tecnológico El diseño del Grafcet tecnológico quedará de la siguiente forma: '-·
  • 127.
    ' 1 1 ) ' i Recuerda • •• Para una mejor estructuración del proyecto se .---.., recomienda utilizar diferentes bloques de .....__ programa, de forma que facilite tanto su entendimiento como la búsqueda de posibles 1 ) · 1 averías. Recuerda • • • Siempre se deben activar en el primer sean todas las etapas iniciales que se hayan programado en el proyecto y desactivar , el resto. · Unidad 3 - Programación con temporizadores IEC M0.2 M0.3 Intermitente (M8191.5) La luz amarilb lleva 2 segundo s funcionando (DB_TON_T03.Q) • Implementación del Grafcet en el PLC N OB TON TOl PT:= 10s Tiempo pa-a piloto az ul N OB TON T03 PT:= 2s Tiempo pa-a piloto crnarillo Para la implementación del diseño realizado en Grafcet a programa, en este caso utilizando el lenguaje de diagrama de contactos o KOP, estructuraremos el programa en varias partes: Activación de la etapa inicial. Activación de las etapas de la secuencia del Grafcet. Activación de los temporizadores. Activación de las salidas. • Activación de la etapa inicial Primero, hemos de hacer que en el momento en el que el PLC ejecute el programa, se active tan solo la etapa inicial, que se indica con un doble cuadrado, y que estén desactivadas todas las demás. Mediante un pequeño programa en el OB100 activaremos la etapa inicial a través de un bit de sistema, por ejemplo la M8190.0, llamada de forma simbólica FirstScan, que está activa durante el primer ciclo de sean y que será suficiente para activar la etapa inicial asignada a la marca M0.0. Para realizar esta operación podemos utilizar la instrucción S (SET) y para desactivar el resto podemos utilizar la instrucción RESET_BF, de forma que el programa realizado en el OB100 quedará tal y como se observa en la siguiente figura. 'JM8190.0 •FirstScan• 'IMO.O " Eta pa_oo· 1--..--------------------i( S }---, 'JM0.1 "Eta pa_o, · '----------------------1( RESET_BF }-< 4 Fig. 3.74 121
  • 128.
    Unidad 3 -Programación con temporizadores IEC 122 • Activación de las etapas de la secuencia del Grafcet A continuación, creamos una función FC10, donde introduciremos el programa para la activación secuencial de las etapas de la secuencia del Grafcet. ... Segmento 1: Activa ción Etapa 1 'IM0.0 "Eta pa_oo· 'II0.2 "S2_M'.RCHA" Segmento 2: Activa ción Etopo 2 'I.M0.1 •Etapa_o,• Segmento 3: pa_02" r·' Segmento 4: pa_o3• r o, Segmento 5: pa_04" r· "DB_lON_lOO'.Q 1 Activación Eta pa 3 "DB_lON_l01".Q 1 Actíve-ción Etapa 4 "DB_lON_l02".Q 1 Activa-e.ión Etapa O "DB_lON_l03'.Q 1 'I.M0.1 "Eta pa_o,• : s }-----< 'I.M0.0 •Etop R • � --------------1- ,---, Fig. 3.75a 'IM0.2 "Etapa_02" : s }-----< 'IM0.1 "Etop R • � -------------t• ,---, Fig. 3.75b 'I.M0.3 "Etapa_03' : s }-----< 'IM0.2 �------------ ·E ..... � p :� Fig. 3.75c 'I.M0.4 "Eta pa_o4• : s }-----< 'IM0.3 �------------ ·E ..... t• p :� Fig. 3.75d 'IM0.0 "Etapa_oo· : s }-----< 'I.M0.4 .______________ .E -; t• p :� Fig. 3.75e • Activación de los temporizadores A continuación, programamos los temporizadores asociados a su correspondiente 0B de instancia: Segmento 6: Activoción del temporizador DB_IDN_lOO ,0B10 'IM0.1 p,_01· "DB_lON_lOO" 1------------------1 10N Trme T#Ss Fig. 3.76a
  • 129.
    1 ) I_, ) 1 l ) ) Unidad 3 -Programación con temporizadores IEC • Sllgmento 7: Aciivsdón del "'mpori!!ldor oe_mN_ � 'T0 _ 1__________� '!1>81 1 'IIM02 ·os_mN_'T01" pa_ t--- 02• ----------1 Sl!gmellto 8: A<:tJvadón del lemporí!!ldor oe_mN_'TO:Z 'JON L.... lime ,------, Tll l Os Fig. 3.76b '!1>B12 �� ... � - 3 - · ------------------ --1 ·os_mN_'T02' 'JON L.... 11m• ,------, Fig. 3.76c T# 1 2.s Segmento 9 : Adlvrnón del tempori!!ldor De_TON_'T03 '!1>B13 �- ... � - · __________________• .... os_m N_'T03' 'JON L.... 11me ,------, Fig. 3.76d Tt2s • Activación de las salidas Seguidamente se programan las salidas de forma ordenada: . Segmento 10r A<llvsción pllow AMAS!ILLD G'' pa_01 ' �A ,,,.. Segmerrto 1 1: pa_o3• �2 Segmento 12: pa_o:z• �-, Segmento 1 3: pa_oo· µ·º ':IM81915 'tlotk_l H( 'IQ2.1 'H0J1MAAILLO' 1/1 -�-----------1 >--- A<:!ÍV,ción pllolO 1/elltl� A<:!lv1C1ón píloio AZUL Adlv,dón píloto l!OJO Fig. 3.77a 'IQ2.2 "H1_vtllOE' Fig. 3.77b >--- 'IQ2.3 'H2flUL' >--- Fig. 3.77c 'IQlA 'H3.)!0JO' >--- Fig. 3.77d • Llamada desde el OB1 a la función FC10 donde tenemos el programa El programa estará formado en este caso por el 08100, que integra la activación de la etapa inicial y el programa auxiliar para la conexión con el PLCSIM de 57-1200/1500, y la FCl0 en la que tenemos el cuerpo del programa con la activación de las etapas, los temporizadores y las salidas, así como los D8 de instancia asociados a los temporizadores utilizados. Por tanto, en el 081 hemos de realizar la llamada a esta FClO y con esto ya tendremos completado el programa. "'. !JI Ple_� [tl'U 1214C AC/DC/lliyf C:O"agu,,d6n dt dl�J'Otluvcu, .Y.i Onllnt ydlagnósb<0 • :11' SIO<IUU d• p,og,,.,, ., Agrtgtr nuevo blO<lu• • cydl< ln¡;,,upc (OSJOJ • Morln [081 J • si.rwp 100100) • l'rogr1m1 (ft10J • illl' 81oqut, d• ,l,1<1m1 • � R.t!CUrtOS c:ft progtitrtl 08_11:JN.,100 (0810) O0_101-c,"01 (001 1 J OS_TON.,'102 (0812) os_TON_iOHOSUJ Fig. 3.78 123
  • 130.
    Unidad 3 -Programación con temporizadores IEC Recuerda • • • Al trabajar con temporizadores, se puede utilizar un DB de instancia para cada temporizador o bien un DB multi-instancia, o un DB global para todos los temporizadores del proyecto. 124 • Segmento 1 : Llamada .al progrdma Comen�ario "Programo" � 'jF,·10 EN ENO ----------------------t Fig. 3.79 3.7.2 Solución con un solo DB para todos los temporizadores Como podemos prever, si se utilizan muchos temporizadores, necesitamos muchos DB de instancia pero, como ya se expuso en el apartado 3.5.3., utilizamos un único DB en el que declararemos cuatro variables del tipo IEC_TIMER que nos servirán para asociarlas a cada uno de los temporizadores del programa. Crearemos un D81 en el que declararemos las cuatro variables tipo IEC_TIMER que tendrán la misma estructura, tal y como se observa enla siguiente figura: OB_TIM:RS (irutanUnu 9enerada: 1911 1/2016 0:35:21) _;. G • .., 11M_01 IEC,_Tlt.ER Jj) O.O e • PT Time 4.o -(l ■ ET 'ffme O • IN BoQI U.l '> O • o eool 12.2 <J • ► l'IM._02 IE<;... JIMER 1 6.0 <J • ► lM_OJ IE�__llMER J2.O '"""' T'5S r,,)ms ""' t.h;e ..,. '9!u: nwE 8 l,!I liil iill 8 0 � 0 [l 0 8 � 0 [l � iill iill Fig. 3.80 Ahora tan solo hemos de sustituir las variables que estaban relacionadas con el DB de instancia programado anteriormente porlas nuevas variables de este DB, y que son las siguientes: CON DB INDEPENDIENTES CON UN UNICO DB COMÚN "DB TON TOO" "DB TIMERS".TIM 00 "DB TON T0l" "DB TIMERS".TIM 01 "DB TON T02" "DB TIMERS".TIM 02 "DB TON T03" "DB TIMERS".TIM 03 "DB TON T00".Q "DB TIMERS".TIM 00.Q "DB TON T0l".Q "DB TIMERS".TIM 01.Q "DB TON T02".Q "DB TIMERS".TIM 02.Q "DB TON T03".Q "DB TIMERS".TIM 02.Q El funcionamiento del programa será idéntico, pero en lugar de utilizar cuatro DB de instancia habremos utilizado tan solo uno. 3.8 Comprobar funcionamiento con maqueta de simulación 3D Debemos observar cómo al arrancar la aplicación, el piloto rojo se pone en funcionamiento y al accionar el pulsador MARCHA del panel Control del proceso, se inicia la secuencia programada. Control del proceso i (f, ■r. tt1·: EMERGENClA PARO MAR04A AUT·�AN ACC ■ ■■■ ■ Fig. 3.81 V
  • 131.
    1 ' ' 1 1 ' 1 ' 1 Unidad 3 -Programación con temporizadores IEC Esta secuencia se programa de forma temporizada, visualizándose el encendido sucesivo de los pilotos en la baliza del simulador 3D. Ejercicio Piloto ROJO Fig. 3.82a Piloto AMARILLO Fig. 3.82b CONTROL DEL MOVIMIENTO TEMPORIZADO DE UN CILINDRO Piloto AZUL Fig. 3.82c Piloto VERDE Fig. 3.82d Queremos realizar el control del cilindro de doble efecto del eje vertical que lleva acoplada una ventosa en su extremo. Este cilindro está gobernado por una válvula monoestable y tiene dos sensores magnéticos que detectarán la posición del cilindro, tanto cuando se encuentra en reposo (arriba), como cuando se encuentra en avance (abajo). Condiciones de funcionamiento: • Al poner en marcha el sistema, funcionará el piloto rojo. • Al accionar el pulsador de marcha y si el cilindro se encuentra en la posición de reposo (arriba), el cilindro se moverá a la posición de avance (abajo). • Cuando el cilindro llegue abajo, se pondrá en funcionamiento el piloto amarillo intermitente con una frecuencia de 1 Hz. • Al cabo de 10 segundos de que el cilindro se encuentre en la posición de avance (abajo), el cilindro volverá a la posición de reposo (arriba). • Cuando el cilindro alcance la posición de reposo (arriba), el sistema volverá al inicio, poniendo de nuevo en funcionamiento el piloto rojo y quedando el proceso preparado para un nuevo ciclo. Fig. 3.83 125
  • 132.
    Unidad 3 -Programación con temporizadores IEC 126 Relación de entradas y salidas: ENTRADAS Dirección Dispositivo 10.2 S2 Pulsador de marcha 10.4 B1 Detector cilindro ventosa en reposo 10.5 B2 Detector cilindro ventosa en avance Realizar: • Diseño del Grafcet. • Implementación a programa del PLC. SALIDAS Dirección Dispositivo Q0.0 Yl EV Cilindro bajar ventosa Q2.1 H0 Piloto amarillo Q2.4 H3 Piloto rojo • Comprobación del funcionamiento mediante la maqueta de simulación 3D.
  • 133.
    ) ' ' ' ' ' ' ' ' ' ·, ' ' ) ' ' ' ' ' ' Unidad 4 -Programación con contadores y comparadores IEC Unidad 4 Programación con contadores y comparadores IEC •:oir...,._,, � � OJ � .., 'U_IIUf• - • ,--·-•.=!21�­ -- ..•- lfnl.UQl,l • • r i En este capítulo: 4.1 Características y tipos de contadores IEC 4.2 Funcionamiento de los contadores IEC 4.2.1 CTU. Contador ascendente 4.2.2 CTD. Contador descendente 4.2.3 CTUD. Contador ascendente-descendente 4.3 Preselección directa e indirecta de contadores 4.4.1 Contadores programados en un bloque de organización (08) o en una función (FC) 4.4.2 Contadores programados en un bloque de función FC con bloque de datos multi-instancia 4.4.3 Declaración de varios contadores IEC en un mismo bloque de datos 4.5 Funciones de comparación 4.6 Programación en Grafcet (111) 4.3.1 Valor de preselección del contador constante O 4.6.1 Tipo de secuencia Selección de secuencia o direccionamiento directo Bifurcación en O 4.6.2 Programa basado en diseño Grafcet 4.3.2 Valor de preselección del contador variable o direccionamiento indirecto 4.6.3 Acciones y transiciones asociadas 4.4 Varios contadores en un único DB de instancia contadores 4.6.4 Programa basado en diseño Grafcet Ejercicio propuesto con 127
  • 134.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • Los tipos de contadores IEC que se pueden programar tanto en un PLC S7- 1 200 como S7-1 500 son los siguientes: • CTU. Ascendente. • CTD. Descendente. • CTUD. Ascendente­ descendente. Recuerda • • • Los tipos de contadores IEC que se pueden programar se asocian a un DB de instancia y el dato del valor de preselección es del tipo «lnt» en sus diferentes modos con o sin signo. 128 <.??'!> lnt Slnt <1??> PV Dlnt USlnt Ulnt UDlnt Fig. 4.2 4.1 Características y tipos de contadores IEC Los contadores IEC que se incluyen en el PLC S7-1200 son los siguientes: • CTU. Contador ascendente. • CTD. Contador descendente. • CTUD. Contador ascendente-descendente. Los símbolos para poder utilizar estos contadores dentro de un programa en diagrama de contactos se pueden localizar dentro de la carpeta Contadores que hay en Instrucciones básicas. Nombre • [B) Conta dores :a- cru :a- cm :a- CTUD Descripción Canta dar ascendente Canta dar descendente Conta dor a scendente - descendente Fig. 4.1 Algunas de las características de estos temporizadores IEC son: • Todos los contadores IEC van asociados a un DB de instancia. • Los contadores IEC se pueden llamar las veces que sean necesarias, ya que no existe un número determinado. • Se puede seleccionar el formato del valor del contaje mediante el desplegable del tipo ???. Podemos elegir entre los siguientes tipos de datos y según la elección realizada se dispondrá de un valor de contaje máximo diferente: o lnt: entero con signo de 16 bits (-32768 hasta 32767). o Slnt: entero con signo de 8 bits (-128 hasta 127). o Dlnt: entero con signo de 32 bits (-2147483648 hasta +2147483647). o USlnt: entero sin signo de 8 bits (0 - 255). o Ulnt: entero sin signo de 16 bits (de O a 65535). o UDlnt: entero sin signo de 32 bits (de O a 4294967295). 4.2 Funcionamiento de los contadores IEC En los siguientes apartados se explica el funcionamiento de cada uno de los contadores del tipo IEC. 4.2.1 CTU. Contador ascendente Con la instrucción CTU se pueden registrar impulsos de forma ascendente, es decir, que por cada pulso que llegue a la instrucción CTU, por el parámetro de entrada CU (Counter Up), este incrementará en una unidad su valor actual CV. Cuando el valor actual CV sea igual o superior al valor de preselección PV (Preset Value), entonces se tendrá la salida Q activada. Al activar el parámetro de entrada R (Reset), el valor actual se iniciará con el valor O. El contador IEC tipo CTU dispone de los siguientes parámetros: J J
  • 135.
    J 1 J 1 1 C1U m --- cu Q-- ... - R OJ - ... <???> PV Fig. 4.3 Unidad 4 - Programación con contadores y comparadores IEC CU: entrada de pulsos para el contaje ascendente. R: pulso para la puesta a cero del valor actual. PV: valor de preselección, que es el valorde referencia para poder activar la salida Q. Q: salida booleana para indicar con un 1 que el valor actual es igual o superior al valor de preselección. CV: salida para indicar el valor actual del contaje en el formato seleccionado. En el momento de insertar este modelo de contador IEC, CTU, nos solicita la declaración de un DB asociado al mismo donde guardará de forma permanente el valor de los parámetros. Por tanto, nos aparecerá el cuadro de diálogo Opciones de llamada: En dichas opciones, en el campo Nombre, se debe asignar un nombre simbólico al DB asociado al contador. Podemos dejar el que viene por defecto o bien modificarlo. También nos ofrece otras dos opciones: • Manual: podemos elegir el número del DB asociado. • Automático: asigna un número de DB libre de forma automática. pciones de llamada Instancia individual llioque de - Nombre Oi,- U i• !!!l i'iei!!!l OJK! i•Jl! Q � - ===:r} Número :;) Q Mlllnual @ Automático Elbloqued,e función l�ml!ldo guarda -;u,;datos en unbloque de datos d,e instancia propio más. Fig. 4.4 En este caso modificamos el nombre, escribiendo DB_CTU_Ol, y de forma manual le asignamos el 0B10 como DB asociado a este contador: Opciones de llamada Instancia individual Bloque de - Nomb,e .- o- •_cru-- _o - , -----""'"' Número .__ ,_ o ___. © Manual Q Automático El bk>q� de funci6n llam.sdo guardd -.u-. datos en un bloque de datos de inuancia propio. Fig. 4.5 Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de programa > Bloques de sistema > Recursos de programa del árbol del proyecto. 129
  • 136.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • Básicamente el funcionamiento del tipo de contador CTU provoca el aumento del valor actual una unidad cada vez que se conecta la entrada «CU», y cuando el valor actual «CV» alcanza o supera el valor de preselección «PV», entonces se activa la salida «Q». 130 • J UNIIU,O_o,c Momllt, ., .....,.,.,.,,mo -o • lr,p,,t, · 111,-- )'.-ck, -Q • --1..c.1 · s¡;-:::.,cz:::� cL � Onins)'..li"ÓJWO -1► -1'► -o- @ - .J • lloqwt lk l"Of'll,na •11a:.....,_bloqw • .._.. 101111 • �•nuptoftOOI • !11' 9'oq,.l,,, M ,,n,,... ··::v--:111•7;"· • ot,,11111ffJld6tkot • �'-'*"'º • �V,ffllble1 ,U: • 111,os df lfflftl.C • ..�blo• M•-rl6n1"-1N>,..-.. • htb,v,. Offllllt'. , beu , r DHll dept<llt'N di."'"­ f!( tn1o,r,,,<J6,itkl,..,.,._ Jü t.l,u1ila - • MDduloo i«,i.s • -a OZ....fjl1tltloPto,ue,1e1_I IOV 121'1(._ • J D1110te-J " ....,...-1 . ( Fig. 4.6 -1 1 °"''°' -1 1 cw.... -11 0#• ➔I CW> -11 a. � --II IN.Jllllfl• -II O!l'r..,....., ➔• --­ � -flOl-01}- • � l•Mffl 6 to_.....,_ .,,.M;_� .... '1 tQ..tlrt,,1jt>e 'el' Nt.J'-""" Conlidoto,�"• il �dftu,IH,_ ';f- �•K•IICl.,_.�ctfldil:.,. !!1 ..., ... )Ol'o .....l ,..no<olpulll ..,., .._ v,1o,,,._ct,rt,,nwo v........ .,.,..,., �•nW.: eo,,,......., ......liot-: Seguidamente ya se puede observar cómo el contador insertado tiene el DB declarado asignado a ese contador. El funcionamiento de este tipo de contador es el siguiente: • El contador se incrementa en 1 unidad cada vez que el valor del parámetro CU cambia de O a 1. • Si el valor del parámetro de desactivación R cambia de O a 1, el valor de contaje actual se pone a O. • La salida CV muestra el valor actual en formato DECIMAL. • Si el contador ha alcanzado el valor de preselección CV (por ejemplo, 3), y continúan entrando pulsos por la entrada CU, el registro del contador sigue incrementando su valor (4, 5, 6, 7, 8, 9, ...). • Si el contador alcanza el valor máximo y continúan entrando pulsos por CU, el valor actual se mantendrá en ese valor máximo. • Siempre que el valor del parámetro CV (valor de contaje actual) sea igual o mayor que el valor de preselección PV, el parámetro de salida del contador Q = 1. • Según el tipo de datos que se haya seleccionado mediante el desplegable, el formato del valor de preselección en la entrada PV deberá coincidir con el tipo seleccionado. A continuación, se muestra el diagrama del funcionamiento de los dos tipos de contador (donde PV = 3): cu R .......-........-...----;--í"L CV � Q 2 Fig. 4.7 4 3 L V
  • 137.
    Unidad 4 -Programación con contadores y comparadores IEC Ejemplo: Este es un pequeño programa de ejemplo: 'Y.0810 "DB_CTU_01 " 'll0.2 CTU "S2_M"-RCHA" lnt 1Q2.2 "H1_VERDE" cu Q -----�------- }---, .,.2-6 'IMW/016 "S4_RESE1' - R 'PROCESADAS 1 0 f'V cv - SIN GIWlAOO" 'XQ:U "H3_ROJO" NOT 1- I ----1 ( }---, Fig. 4.8 En este caso el contador irá contando los pulsos que lleguen al parámetro CU mediante la entrada 1 0.2 correspondiente al pulsador MARCHA, y mediante la entrada 12.6, correspondiente al pulsador RESET conectado a la entrada R, el contador se pondrá al valor O. Al alcanzar el valor actual el valor de preselección, 10 en este caso, la salida Q se activará, poniendo en funcionamiento el piloto verde y desconectando el piloto rojo. El valor actual se mostrará en todo momento en el registro MW7016 (Valor_Actual). Mediante la activación del pulsador inferior de reset (Valores de producción), el registro del valor actual se pondrá a O. En este caso, para contabilizar los pulsos se ha elegido el registro MW7016, que corresponde al visualizador Ninguna de los Valores de producción del panel Registros de pedido y de contaje. Este panel contiene además el pulsador RESET. Registros de pedido y de contaje --••1� Aesel � Dt'l() !"de -n · n u , , u Fig. 4.9 ,-,a === L Aesel 1 En el modelo IEC, al querer cargar el programa en el PLC, nos indica que hay un bloque, D810 "DB_CTU_0l", que es el que hemos asociado al contador, que también se debe cargar. En caso contrario, el PLC indicará el fallo mediante el led SF de System Fail de la CPU. Al comprobar el funcionamiento sobre la maqueta 3D, si accedemos al panel Control del proceso, podemos actuar sobre el pulsador MARCHA: 4.2.2 CTD. Contador descendente 520-HZO S2H421 522-H22 52J.Hll S24-H24 M2 Fig. 4.10 Con la instrucción CTD se pueden registrar impulsos de forma descendente, es decir, que por cada pulso que llegue a la instrucción CTD por el parámetro de entrada CD (Counter Down), se decrementará en una unidad su valor actual. El 131
  • 138.
    Unidad 4 -Programación con contadores y comparadores IEC 132 -- CD ... - LO ... - PV CID lnt Q ­ a¡ - ... Fig. 4.11 proceso se iniciará por el valor de preselección indicado en el parámetro de entrada PV (Preset Value) al activar el parámetro de entrada LD. El contador IEC tipo CTD dispone de los siguientes parámetros: CD: entrada de pulsos para el contaje descendente. LD: entrada para cargar como valor actual el valor de preselección programado en la entrada PV. PV: valor de preselección, valor que se graba como valor actual al activar la entrada LD. Q: salida booleana para indicar con un 1 que el valor actual ha alcanzado el valor O o inferior (negativo) si se trabaja con el tipo de datos que admite valores con signo. CV: salida para indicar el valor actual del contaje en el formato seleccionado. En el momento de insertar este modelo de contador IEC, CTD, nos solicita la declaración de un DB asociado al mismo en el que guardará de forma permanente el valor de los parámetros. Por tanto, nos aparecerá el cuadro de diálogo Opciones de llamada: En él aparece el campo Nombre, en el que se asigna un nombre simbólico al DB asociado al temporizador. Podemos dejar el que viene pordefecto o bien modificarlo. También nos ofrece la posibilidad mediante las opciones: • Manual: podemos elegir el número del DB asociado. • Automático: asigna un número de DB libre de forma automática. Opdones de llamada lnn•ncit individual -·- Número !li D +l! •!!ll l'i,ll:I H41! MIE W C===¡., Q ,.nutl @ P41tom'1ico E.Ibloque dc- función llamedo gu•rda ius datos c-n un bloque dc- datos. d!' insu-nc:ie propio. mh- ....,., Fig. 4.12 En este caso modificamos el nombre, escribiendo DB_CTD_Ol, y de forma manual le asignamos el DBlO como DB asociado a este contador: puone'i de llamada Instancia individual -·- -------........ Nomh<• ,_ o.. s_cm __ _. .. , -�----,.... Nt'.imt-ro 10 .,_ 0 - .., - nu - ,1�- 0 11uU>mi1,co El bloque dl" función lt.rnedo guard■ s.us dno1, ""un bloque de datos dl" iNttnc.11t propio m,s. C.ncrJt, Fig. 4.13 ....J ....J J
  • 139.
    ' ' í í ) í í ' Recuerda •• • Básicamente el funcionamiento del tipo de contador CTD provoca el decremento del valor actual una unidad cada vez que se conecta la entrada «CD», y cuando el valor actual «CV» alcanza el valor ((Ü», o un valor negativo, entonces se activa la salida «Q». Unidad 4 - Programación con contadores y comparadores IEC Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de programa > Bloques de sistema > Recursos de programa del árbol del proyecto. "Cl"«o lk'6n ,,..., i,u;._,.., o,,¡..,o. o,,:- ._,..,,.,.ne., "'"°"" ...,.... T�Uylnt"(ll.iH.t.ulDm•tlon ,..J ..! Q �,-op<"' :,, X ,. O.. ) ( ll) t (" • -j., lJ fD ■ C ,JI EANIK•c°""'°""'"""- P>4 _., '" ,a l! � X � PORTAL =- ---- � , e • ...J UICIAO_Of -�••,-.­ . Dolpos- , ...c1n ► .,» fl1_C1DlCJIU U1« � • -41 01_0,¡c,u u.1.e� IY '-""'� " *pos._ J,i o..n.y..,.w.o · - � • P'OIIJ•"'• :-.: ::�C:.� "' � • s,.� ¡oa1001 • fl.omlPJ _, > 4 Vttioble,fC . ""°'""-""' ► -•w.•••l'fnó».1baa ,......_ • -- •u�..,.. ► .,. ben • o... .. ,..,,.,.otediopoa- i.'!l. ......•o6n •1 ,.... .... , • n_(}t,dt.....,..1to...2 tou tn«KJOO. ► ..i O.ui• �--· --4► -4 1- -o- t!!t .... .J • .., Tlwlodel bloque; '"-"' �"'S"'•PICJID"'�f �--- • �o 1 : U.""tdf t: �11'41 ----- � - •= ,_,..... ,. ,..._ ,i OoPo "'' °"'.. ,:II CM'• -11 °"'" '41 (1,1'« ◄j l(Jlo"9" ◄j OU,_•• ... ..,... ,1--------, "' -,.Ol.oq- .M l.0 CI ,. !,. '"' w 'BM,,¡ fl-o 1 !J' lO_� .,..__,,.. f¡ lOJ!.,.'t ,Pf" • - -.ce��''·--------- ,r (l' Nt...u ......,,,_ Fig. 4.14 C-dotHte-- .il :::::,�=-"..._ i w- 141o<lltntl0dfl'r1"90 f 'A,Jo,-1,t.. �i.. ¡, ::::=�-�"-1 C-,-.pe•HJ1 fl 9pO ,k, NtDf H Dl'ft <,on,pe,11 s,ff 11pO O. IMtot ft "" .t :"'pe•1•J1tldpcH d.t- N un'; '"' Seguidamente ya se puede observar cómo el contador insertado tiene el DB declarado asignado a ese contador. El funcionamiento de este tipo de contador es el siguiente: • El contador se decrementa en 1 unidad cada vez que el valor del parámetro CD cambia de O a 1. • Si el valor del parámetro de carga LD cambia de O a 1, el valor de contaje actual se fija en el valor registrado en la entrada PV. • La salida CV muestra el valor actual en formato DECIMAL. • Si el contador ha alcanzado el valor O y continúan entrando pulsos por la entrada CD, el registro del contador continúa decrementando su valor (-1, -2, -3, -4, -5, ...) siempre que se haya elegido el tipo de datos con signo (USlnt, Ulnt, UDlnt). En caso de elegir el tipo de datos sin signo, el valor permanecerá en O. • Siempre que el valor del parámetro CV (valor de contaje actual) sea igual o menor que el valor O, el parámetro de salida del contador Q = 1. • Según el tipo de datos que se haya seleccionado mediante el desplegable, el formato del valor de preselección en la entrada PV deberá coincidir con el tipo seleccionado. A continuación, se muestra el diagrama del funcionamiento de los dos tipos de contador (donde PV = 3): CD lOAD CV Q ...n · ..., . 1 .............. _ ..... __�........ . ---- 1 3 1 3 o Fig. 4.15 133
  • 140.
    Unidad 4 -Programación con contadores y comparadores IEC 134 Ejemplo: Este es un pequeño programa de ejemplo: 'KI0-2 "S2_MARCHA" ,0810 "DBSTD_o1· CID lnt 'XQ2.2 "Hl_VERDE" 1-----cD ,.,3.1 "S5]ULSADOR ACK'-LD Q------..----------1 )----, '-MW7016 "PROCESADAS OI - SIN GRABADO" 'XQ2.4 "H3_ROJO" 15-PV NOT 1-¡ ----'( )----, fig. 4.16 En este caso el contador se ha elegido con un tipo de datos lnt, lo que significa que es del tipo entero con signo de 16 bits (-32768 hasta 32767). Por tanto, puede contener valores positivos y negativos. Al accionar el pulsador ACK a través de la entrada 1 3.1, programado en la entrada LD, el valor actual registrado en la salida CV contendrá el valor introducido a través de la entrada PV. Por cada pulso que le llegue por la entrada CD, a través de la entrada 1 0.2 correspondiente al pulsador MARCHA, el valor actual registrado en la salida CV descontará una unidad. Cuando el valor actual sea igual o inferior a O, la salida Q quedará activada, poniendo en funcionamiento el piloto verde y desconectando el piloto rojo. El valor actual se mostrará en todo momento en el registro MW7016 (Valor_Actual), que corresponde al visualizador Ninguna de Valores de producción del panel Registros de pedido y de contaje. Igual que en el ejemplo anterior, para comprobar el funcionamiento sobre la maqueta 3D, accederemos al panel Control del proceso, para actuar sobre el pulsador MARCHA: Registros de pedido y de ,:ontaJe Fig. 4.17 520-M20 S21-H21 S2.2-H22 S23-H2l S24-H24 M2 Fig. 4.18 4.2.3 CTUD. Contador ascendente-descendente El tipo de contador CTUD podemos decir que integra los dos tipos de contadores anteriores CTU y CTD. Por tanto, puede registrar impulsos de forma ascendente y descendente, y es por ello que cuenta con dos entradas de contaje: una para incrementar (CU) y otra para decrementar (CD) una unidad su valor actual. También dispone de entrada de puesta a cero (R) y entrada de preselección de un valor inicial. El contador IEC tipo CTUD dispone de los siguientes parámetros: CU: entrada de pulsos para el contaje ascendente. J
  • 141.
    1 ' ' 1 ' � ClJD lnt ---CU QU- •.•- CD QD --◄... ----R cv- .. . ... -LO <J??>-rv • •o• ........J Unidad 4 - Programación con contadores y comparadores IEC CD: entrada de pulsos para el contaje descendente. R: pulso para la puesta a cero del valor actual. LD: entrada para cargar como valor actual el valor de preselección programado en la entrada PV. PV: valor de preselección, que es el valor que se graba como valor actual al activar la entrada LO. QU: salida booleana para indicar con un 1 que el valor actual ha alcanzado o superado el valor que tenemos en PV. QD: salida booleana para indicar con un 1 que el valor actual ha alcanzado el valor O o menor de O. CV: salida para indicar el valor actual del contaje en el formato seleccionado. En el momento de insertar este modelo de contador IEC, CTUD, nos solicita la declaración de un DB asociado al mismo donde guardará de forma permanente el valor de los parámetros. Por tanto, nos aparecerá el cuadro de diálogo Opciones de llamada. En él aparece el campo Nombre, en el que se asigna un nombre simbólico al DB asociado al temporizador. Podemos dejar el que viene por defecto o bien modificarlo. También nos ofrece otras dos opciones: • Manual: podemos elegir el número del DB asociado. • Automático: asigna un número de DB libre de forma automática. pciones dP llamada Instancia individual Bloque de- Nombrt> {h◄i•Me@M•M•i4 Número [;) QMtnu,I (e) Auwmitico El bloque de fi.Jndón lf1m1do gu1rdi, sus datos en un bloque­ de dnos de im.tencie propio más_ Ace-pu,r Cenceler Fig. 4.20 En este caso modificamos el nombre, escribiendo DB_CTUD_Ol, y de forma manual le asignamos el 0B10 como DB asociado a este contador: pciones de llamada B lnst1nci1 individual Bloquede- Nomb,e ,-D-B _-CTV-D-_ 0_1 ______ Número �•o ___:_ (i) Manual QAutomauco El bloque de función llamado gu1mia sus duos e-n un bloque de datos de 1n:n1ncilf propío. mas. Fig. 4.21 135
  • 142.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • Básicamente el funcionamiento del tipo de contador CTUD contiene los dos contadores, tanto el CTU como el CTD, lo que provoca que el mismo contador pueda incrementar y decrementar el mismo valor actual «CV» del contador. 136 Al crear el bloque de datos, lo podemos encontrar en la carpeta Bloques de programa> Bloques de sistema> Recursos de programa del árbol del proyecto. Seguidamente ya se puede observar cómo el contador insertado tiene el DB declarado asignado a ese contador. El funcionamiento de este tipo de contador es el siguiente: • El contador se incrementará en 1 unidad cada vez que el valor del parámetro CU cambia de O a 1, o bien se decrementará una unidad cada vez que el valor del parámetro CD cambia de O a l. • Si el valor del parámetro R cambia de O a 1, el valor de contaje actual se pone a O. • La salida CV muestra el valor actual en formato DECIMAL. • Si el contador ha alcanzado el valor de preselección PV (por ejemplo, 3), y continúan entrando pulsos por la entrada CU, el registro del contador continúa incrementando su valor (4, 5, 6, 7...). • Si el contador alcanza el valor máximo, según el tipo de datos seleccionado, y continúan entrando pulsos por CU, el valor actual se mantendrá en ese valor máximo. • Cuando la entrada LD cambie de O a 1, el valor actual del contador se fija al valor especificado en la entrada PV como valor de preselección inicial. • Si el contador va descontando y alcanza el valor O, en el caso de que continúen entrando pulsos por la entrada CD, el registro del contador seguirá descontado poniéndose en valores negativos (-1, -2, -3, ...) si se ha elegido el tipo de datos con signo (USlnt, Ulnt, UDlnt). En caso de elegir el tipo de datos sin signo, el valor permanecerá en O. • Siempre que el valor del parámetro CV (valor de contaje actual) sea igual o mayor que el valor de preselección PV, el parámetro de salida del contador QU = l. • Siempre que el valor del parámetro CV (valor de contaje actual) sea igual o menor que O, el parámetro de salida del contador QD = l. A continuación se muestra el diagrama del funcionamiento de los dos tipos de contador (donde PV = 3): cu CD ____......._________rt-fl____-.--___ R --+-------+--r----!---íL- ---+--"--.._---!!---+--....n.__.......__.,__ 5 : o CV QU LJ Fig. 4.22
  • 143.
    ' ' l. ' l " ' ') ........ ' ' ' ' "' "' ' ' � ' ' ' ' ') ' 1 ' ' " ' ' ' ·"""' 1 ' ' " Unidad 4- Programación con contadores y comparadores IEC Ejemplo: Este es un pequeño programa de ejemplo: 'll>B10 ·oe_cruo_o1· '115.3 ClJD "S20" lnt '-()22 "H1_VERDE" 1----cu QU -------------1 '115.4 ·s21· "S4_RESE1" - R '113.1 ·ss_pULSADOR ACK:°-LD 15-f'V '-()2.1 QD -<"H0_AMAAILLO" �W,016 "PROCESADAS O/ - SIN GRABADO" '-()2.1 '-()22 '-()2.4 Fig. 4.23 "H0_AMAAI I- L - LO _ • __ •H _ 1 _VERDE" "H3_ROJO" · 1;1--------------( )-------t Fig. 4.24 En este caso el contador se ha elegido con un tipo de datos lnt, lo que significa que es del tipo entero con signo de 16 bits (-32768 hasta 32767). Por tanto, puede contener valores positivos y negativos. Al accionar el pulsador RESET, programado en la entrada R, el valor actual registrado en la salida CV se pone al valor O. Al accionar el pulsador ACK, programado en la entrada LD, el valor actual registrado en la salida CV contendrá el valor introducido a través de la entrada PV. Por cada pulso que le llegue por la entrada CU, a través de la entrada 1 5.3 correspondiente al pulsador S20, el valor actual registrado en la salida CV descontará una unidad. Por cada pulso que le llegue por la entrada CD, a través de la entrada 1 5.4 correspondiente al pulsador S21, el valor actual registrado en la salida CV descontará una unidad. Cuando el valor actual CV sea igual o inferior a O, la salida QD quedará activada, poniendo en funcionamiento el piloto amarillo y desconectando el rojo. Cuando el valor actual CV sea igual o superior al valor de preselección PV, la salida QU quedará activada, poniendo en funcionamiento el piloto verde y desconectando el rojo. El valor actual se mostrará en todo momento en el registro MW7016 (Valor_Actual) asociado a la salida CV, que corresponde al visualizador Ninguna de los Valores de producción del panel Registros de pedido y de contaje. Registros de �ido y de contaJe Fig. 4.25 137
  • 144.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • La preselección directa o constante del valor de preselección se basa en asignar un valor fijo en formato «lnt» en la entrada «PV». Recuerda • • • La introducción indirecta del valor de preselección se basa en asignar un registro en formato palabra en la entrada «PV», que deberá contener el valor de preselección en formato «lnt». 138 Al comprobar el funcionamiento sobre la maqueta 3D desde el panel Control del proceso, podemos actuar sobre los pulsadores S20-H20 y S21-H21: Fig. 4.26 4.3 Preselección directa e indirecta de contadores Se pueden programar los diferentes contadores de forma que el valor de preselección sea del tipo: • Constante o direccionamiento directo. • Variable o direccionamiento indirecto. 4.3.1 Valor de preselección del contador constante o direccionamiento directo Se programará un valor constante cuando no sea necesario modificarlo una vez ajustado para la aplicación que se debe realizar. En este caso, en el parámetro PV, en los contadores IEC, introducimos un valor constante en formato decimal, como es 10: '-Kl.2 "S2_MAACHA" 'J.DB10 •oe_cru_o,· CTU lnt 'IQ2.2 "Hl_VERDE" 1----cu '1112.6 "S4_RESE,- - R Q-------,.------- )------, 10-PV 'lMW7016 "PROCESADAS CV - SIN GRABADO" 'IQ2.4 "H3_ROJO" NOT 1-1 -- --t ( )------, Fig. 4.27 4.3.2 Valor de preselección del contador variable o direccionamiento indirecto Se programará un registro cuando sea necesario modificarlo durante el funcionamiento del proceso en el que se aplica. La modificación del valor de preselección pasa por modificar el valor contenido en el registro programado, como por ejemplo desde una pantalla táctil. En este caso, en el parámetro PV, en los contadores IEC, introducimos un registro que deberá contener un valor en formato decimal: '111>B10 ·oe_cru_o,· '-Kl.2 CTU ·s2_PIMRCHA" lnt 'IQ2.2 "HlYERDE" 1----cu '1112.6 "S4_RESE,- - R Q-------,.--------{ )------, 'lMW7008 "PEDIDO SIN GRABADO" - PV 'lMW7016 "PROCESADAS CV - SIN GRABADO" 'IQ2.4 "H3_ROJO" NOT 1------1 >---- Fig. 4.28 .J
  • 145.
    ' ) ' 1 ') ,,......, ,,.....,, ,,.....,, ' " ' " ' ,,.....,, ' " ' ) ,,_ 1 ') ' � 1 " ' ' ' ) Unidad 4- Programación con contadores y comparadores IEC Este registro es el MW 7008, que se puede controlar mediante el panel Pedido de registros y contaje, que corresponde al display Ninguna de Pedidos de producción. Para poder introducir un nuevo valor tan solo es necesario pulsar sobre el display correspondiente, ya que a continuación se abre la siguiente ventana para introducir el valor adecuado. Al cerrar esta ventana mediante el botón Validar, el valor se puede visualizar en el display correspondiente. 1s Vt:Jotactual 005 Fig. 4.29 La comprobación del funcionamiento se puede realizar completamente mediante el panel Control de proceso, además del mencionado Pedido de registros y contaje, para visualizar el estado de los pilotos en la baliza del simulador 3D. Fig. 4.30 Mediante el accionamiento del pulsador MARCHA iremos incrementando el valor actual, que en este momento es 8, según se visualiza en el display Valores de producción - Ninguna. Si se acciona el pulsador Valores de producción - Reset, el valor actual pasará a ser O. En todo momento la baliza mostrará el piloto verde o rojo que corresponda, según el estado del contador. En este caso muestra el piloto verde porque el valor actual (8) es superior al valor de preselección (5). 4.4 Varios contadores en un único DB de instancia De igual forma que en los temporizadores, hemos visto cómo en el momento de incorporar un contador al programa nos solicita un DB de instancia asociado en el que guardará el estado de cada uno de los parámetros. Pues bien, hay una diferencia entre si programamos el temporizador en un 0B o una FC, o si lo programamos en un FB. 4.4.1 Contadores programados en un bloque de organización {OB} o en una función {FC} Como hemos visto en los apartados anteriores, al insertar un contador IEC en el editor de diagrama de contactos, se solicita que este se asocie a un bloque de 139
  • 146.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • Cuando se programa un contador en un bloque OB o FC se debe asignar un DB de instancia para cada uno de ellos. 140 datos DB. En el ejemplo mostrado a continuación, en el D810 el funcionamiento será semiautomático, ya que el contador registrará pulsos cada segundo (M8191.5) mientras mantengamos accionado el pulsador de marcha (10.2). Es decir, se está registrando el tiempo en segundos que se tiene accionado el pulsador de marcha: '11>1110 ·oe_au_o1· "II0.2 "IN81915 C1U °")2.2 "S2_MAACHA" "dock_l� lnt "Hl_VE:ROC- 1-------------V (lJ Q -----.,...----( 1----< '112.6 "S4_AES[í - R "IMW7016 "PROUSADAS CV - SIN GRABADO" 'IQ2.4 "H3_RO.JO" �W,008 "PE:OIOOSIN NOT1-----< 1----< Fig. 4.31 GRABADO" PV Al abrir el DB de instancia, sea cual sea el tipo de contador seleccionado, se observa la declaraciónautomática de los parámetros siguientes: 08_ClU_01 OD ••• 0 0 -o. CD """' 01 ••• 0 0 • -o. • .... o� ••• 0 0 -o. u, """ 03 ... 0 0 -O• ou """' o, ••• 0 0 -O• ou """ 05 ••• 0 0 -O• ,.,, .. 2.0 o 0 0 -O. o, .. •» o ¡;¡¡ 0 ,;;¡ Fig. 4.32 Si antes de abrir el bloque de datos de instancia que se ha guardado en nuestro proyecto dentro de la carpeta Bloques de programa - Bloques de sistema - Recursos de programa, lo seleccionamos y elegimos la opción del menú Edición - Propiedades, se abrirá una ventana de propiedades de este bloque, en el que dentro de la opción Atributos debemos deseleccionar el atributo Acceso optimizado al bloque. Obtendremos la siguiente vista: B_CTU_01 IDB101 Sdlos detJempo CDmpil1ción Protección - .. Fig. 4.34 0 0 0 0 0 0 0 0 � � 04_Uniro_DB (CJ'l.l1214CACJOCll!lyl 1 Coniguracíón de dispositívos Yti Online ydisgnóstic.o Bloques de programa • Agreg8rnuevo bloque :a-MB.inlOBl] :a- Stl>rtup 10B100] • '22- Bloques de sístems • :a, Recur5os de progrt1me -�----'· DB_C.lU_01 IDBlO] Objetos tecnológicos Fig. 4.33 Ahora, si volvemos a abrir ese mismo bloque de datos, se observa cómo aparece una nueva columna llamada Offset en la que se muestran las direcciones absolutas de cada parámetro dentro del DB: J
  • 147.
    ' ' ' ' ' ' 1 ' ' 1 ) ' ' ' ' ' Recuerda •• • Cuando se programa un contador en un bloque OB o FC, se puede acceder a los registros del DB mediante su dirección absoluta o simbólica. Recuerda • • • Cuando se programa un contador en un bloque FB, se puede elegir un DB multi­ instancia, que permite incorporar varios contadores en el mismo DB. Unidad 4 - Programación con contadores y comparadores IEC DB_CTU_01 Nambr.e íipod.edJ.� VMOrd.e.ur-.tnqLu! lbl"dn.enoJ Aa;.¡e,¡i,bled�.eHMliOPt:UA E<.<:nb_ Vffll>l.e>et1HMEnqin�nq V.OOrd�)U'>� Comffltano � ,... Static .Z <:i• OJ 8ool ,o • CD 8ooJ <J • A. eool C ■ LO 8001 .; ,O • QU Boot 0 • QO Bool e• N 1m <J ■ CV lnt .....� ,.k, bk� �l,;� faJ;e -�· a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Fig. 4.35 Podemos hacer uso de los parámetros de este DB de instancia de forma individual en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque del programa diferente. Podemos utilizar tanto las direcciones simbólicas como las absolutas: 1 -� 8 ��0 ..... º1xo_.__ iº __________________ ·H_o-f _ �LLO" � )----< Fig. 4.36 4.4.2 Contadores programados en un bloque de función (FB) con bloque de datos multi-instancia Cuando el contador se programa en un bloque de función, podemos seguir utilizando el bloque de datos de instancia, como en el caso de la programación en el 0B o en la FC, o bien como al realizar la llamada a un FB con parámetros. Este ya se asocia a un bloque de datos de instancia DB y podemos utilizar ese mismo DB para registrar el estado actual de cada uno de los parámetros usados en el contador programado. Para ello, una vez abierto el bloque de datos FB, en la zona superior de declaración de parámetros podemos declarar una variable dentro de la zona Static del tipo de datos IEC_COUNTER. Una vez declarada, la desplegamos y se observan todos los parámetros de un contador: Contador_Parametrilado CI .. Static O• ... CONTAOOR_01 IEC_COUNTER Norem;,n;entie iil o cu ..., h�• Norem•ne� 0 0 0 o CD .... ... Mon!m;JIMNlbe 0 0 0 • o • Bool fol.< Noremill'k!fltl! � 0 0 • o lO '""' ... No remanente 0 0 0 00 QU ..., .... No remanente 0 0 0 ' <l QD ..., ... Noremal'k!ntll! 0 0 0 o . ,V "" o Mon!fflllllefltl! 0 0 0 o OI '"' NoR!fflil!Jrfltl! 0 0 0 <l • T.emp <I • COnuant Fig. 4.37 Ahora sí realizamos el programa dentro de ese mismo FB, de forma que la instancia asociada al temporizador sea la variable estática declarada anteriormente: #COtfTAOOR_01 '110.2 1Ms1915 cru 'IQ2.2 •s2_MARCHA "' "'Clock._1tt.z" lnt •H1_VERDe l-----ll1---cu Q-----�-1 >-- '112.6 •s4_RESET - R "tMW/008 •PEDIDO SIN GAABADO "' -PV 'lMWJ016 •PROCESADAS OJ-SINGRABAOO. NOTl-----l Fig. 4.38 141
  • 148.
    Unidad 4 -Programación con contadores y comparadores IEC 142 De esta misma forma podemos declarar los diferentes contadores a utilizar en el área de parámetros del FB. En el caso que se presenta a continuación es con dos contadores: .,.,,.... '(ipotifdlltOJ V""1rprnld. �tnerttlt Actflibledi'SOt'MMl/of'tUA �dncl.1-NfOf'CIJA Yi:llbk1.., HM1 lnpltlftring Viffl'd,� tmt'itfflllllo <J ► lf19UI. e • autput r -, ' <J ► lnout ' <J • 5tfbc .(J • • COfrffADClll.Ol ICC:_COVH'!E'.A Ho rt,m1nel'k B B • ... ClJ ,.,.,, .., Horem,ncnw 0 0 0 <I w ,.,.,, .., Norem,ntnte 0 0 ,.,.,, .... '1cntffl1M"'41 0 0 0 ., • <I ID .... .hr '1o rt!m1nenr. 0 0 1� <1 00 .... .... Noremtnt!'nlie 0 @ 0 ,..,, ..... 00 .... ... Ho f'li'ffllnt'nle 0 0 0 , •: ... "' '"' Ho ,.,,-i1tffflk1: 0 0 0 'Q ... O/ "" Ho rtm1MffM! 0 0 0 ., 14 4J • • C,OH'l'Al)Ol¡_02 lt.C_WOH"ltA Horem,nente Q lil Q ,;, ,Q ClJ .... ••• � ,e,,11� 0 0 0 1;;: -o w .... ••• ltforem,ncrtttt 0 @ 0 ,..., 17 <I .... ltkr Horem1nthtif 0 0 0 ,,.., ID .... �IH' Noremfntrrle 0 0 0 ,..., 00 .... W,11.- Nofl'm1n,:nw @ 0 0 ., 20 .., 00 .... frbt' Nowm,nrnte 0 0 0 ., .., "' .. • tfortem1rse,,_ 0 0 0 .., O/ "" No fSfflltft'n11t � � 0 ., -o ► lemp -O • C.omt.rlf Fig. 4.39 Por tanto, utilizaremos para cada contador declarado sus propios parámetros sin que estos se solapen entre sí, ya que esto provocaría un incorrecto funcionamiento. Ahora tan solo nos queda realizar la llamada a ese FB desde el 0B1. En el momento de insertar el FB en un segmento, nos aparece la ventana para asociar el bloque de datos DB de instancia, por ejemplo: De modo que la llamada programada queda de la siguiente forma: 10B1 1 ·contador_ Poro metriado_ oe· 'IFBl 'tonlado,- _�- (i) Mfno,J º""""'""º U�ds'-'"r'Óf'Jl.1tt1tloput,'W )W ff'°" t'flun� Of tft1M � ffl1lln!lf Jlft'PO Fig. 4.40 EN ENO --------------------< Fig. 4.41 Ahora, si abrimos el bloque de datos de instancia asociado a este FB, se observa cómo aparecen todos los parámetros de los contadores declarados en el FB: �-Vaa'•�-I>U - '( ipotk'dl'n ,..,dt!.«lffjtq..� timt,m:"t'I A«oibk.�MMllOf'C.UA r� tlwtltJ.N.'Ul'C.UA �"1....fnl,IINt.vinp Yi,1$)fdf�W �.c,rr,f>ffiW½ .., - .., """"' --, -a '"""' ,C] ... !,'W,-; 0 [ ,,(] . . � 1.c_c:oow1rR 0 0 ' .., ru .... ••• 0 0 0 r, ... ,n .... t,t,1· 0 0 @ • -O . .... .... 0 0 0 [7 .., IV .... .... 0 0 0 ,., QO .... .... 0 0 0 -O 00 .... .... 0 0 0 "' .. 0 0 0 "' ... 0 0 @ ,n_<.ooH11J1- 0 0 @ 7 .... .... 0 @ 0 ,, <P """ ..., 0 0 0 .... -•-•- 0 0 0 -O IV .... ��- 0 0 0 "" .... i,t--._, @ @ 0 00 .... t,JJ .• , @ 0 @ <J .,, ... • 0 0 0 "' .. @ @ @ Fig. 4.42 J '..J
  • 149.
    ,...., ' ' ' ) Recuerda •• • " Cuando se programa ,......, un contador en un bloque FB asociado a un DB multi-instancia, ' tan solo se puede acceder a los registros .---,. del DB mediante su dirección simbólica. 1 ' ' 1 1 ' 1 ) 1 ' ' ) 1 ) ) 1 1 " Recuerda • • • ' Otra opción para la declaración de los contadores es la ' utilización de un DB global en el que se declaren previamente todos los contadores a utilizar con tipo de ' datos «IEC_COUNTER». ' ' l ,,....._ ·, 1 " 1 ' ) ' Unidad 4 - Programación con contadores y comparadores IEC En este caso, se añade la ventaja de que podemos utilizar los parámetros de los contadores en cualquier bloque del programa, por ejemplo: "Conta dor Pa ra m etriza do _ oe·.CONTADOR_ 01 .QU "/,Q2.1 "H0_AMARILLO" )-------t Fig. 4.43 Donde se observa que, para hacer uso de cualquiera de los parámetros, se llama a: Nombre simbólico del DB de instancia: Contador_Parametrizado_DB Nombre simbólico de la variable declarada en el FB: CONTADOR_0l Nombre simbólico del parámetro del contador a utilizar del CONTADOR_0l: QU En este caso no será posible el acceso de forma absoluta a las direcciones, debido a que no se puede deseleccionar la opción Acceso optimizado al bloque dentro de las propiedades del DB. G@�..-1 1ntorm1ci6n Selkn de uempo Atributos _____________ G2:! Acc.noop11rr,,1.11do ,l bloq� Atributos personalizado, <[ • > Gr Fig. 4.44 4.4.3 Declaración de varios contadores IEC en un mismo bloque de datos Otra forma es la de no trabajar con DB de instancia y trabajar con un DB global en el que declaramos los diferentes contadores a utilizar. En el momento de incorporar un contador al programa, nos solicita un DB. En este caso le asociaremos el DB global declarado con los diferentes contadores. Por tanto, antes de entrar a utilizar los contadores en nuestro programa, creamos un DB global: > Mh lnforrn.Kl6n Fig. 4.45 143
  • 150.
    Unidad 4 -Programación con contadores y comparadores IEC 144 A continuación, declaramos los diferentes contadores a utilizar, donde los tipos de datos pueden ser IEC_COUNTER, IEC_DCOUNTER, IEC_SCOUNTER IEC_UCOUNTER, IEC_UDCOUNTER o IEC_USCOUNTER, en función del valor máximo que queramos registrar. Si queremos tener en cuenta también los valores negativos, en ese caso los declaramos como IEC_COUNTER, que es un registro de 16 bits para valores enteros. DIJ_COUNlERS � NomlHY Típo dr:i:lftOJ Vllorótofl'l'.nq� lliJmlfft!l'IC,- Accn,bledesdeMMl•Of'C.UA fJaib•blt �HMIIOPC.UA tbibkren HMt �1rim,-ng v•t1e1JU»e C.onotntMtC <I • SlltlC -O • ► CHT_01 tE.C_COUtfTE.A 8 E) 7 <1 ■ ► CHTJ>2 1rc_coUtnER O � � � -0 • ► OIT_03 lt(_COUNTtA � 0 0 Fig. 4.46 De forma que, al desplegarlos, observamos todos los parámetros que pueden intervenir en un contador IEC, donde además podemos decidir cuál de ellos queremos que sea remanente o no. Para ello basta con marcar la opción en la columna Remanencia del contador correspondiente: OB_COUNlE!IS Kombrir lípodtdltoJ Vflorde ,,nnquct Aiml"""1Cit Auni,leondel-lMIIQ,COA �dad•HMIIOPC UA Vbibltttn HMI Ei,g•"ming VtlMdelfVJII! tc,n,,tn(trio <J ., Stlk <J ■ • OfT_Ol ltC_COUNTEA <J CU !Jool fiti!'P C: 4) C0 Bool IH' ., • .., LO , ., QU • ., QO ., ,V ., CV ., . .. CHT_02 ., CV ';.:, <J a, .., . ., 4J lD .,.., QU ·1 -0 QO 1!- -o ,V ., .., CV � 4J . • CNT_03 4J cu 4J CD z1 <1 • ,. .., LO ".., QU " ., QO t"l <I PV ., CV '""' ""'' '"' '""' '"' In< IEt_tOUNlEA '°"' '""' '""' ..., '""' '""' lnt '"' ltc_C-OIJNTEA '""' .... Bool .... 'º"' '""' '"' '"' ... ••• .... r.1a· .... ... •ru• ••• t,1� .,.. .... ... .,.... o o 7. Fig. 4.47 Una vez generado el DB global con los contadores a utilizar, creamos un nuevo bloque de programa (FC20): "'" "'"'-----� Oncripciói,· UIJ lmcioncJ �on bioqun lo9tc-0s lll'l mwmonl • Fig. 4.48 .._/ ·.._,,· ....,·
  • 151.
    ' ' 1 ' ' ' ' ) 1 ) ' Unidad 4- Programación con contadores y comparadores IEC Creado el bloque de programa, insertamos un bloque contador CTU. En el momento de incorporarlo, nos aparece como siempre una ventana para asignarle un DB de instancia: lnst11ncie individual -·- Nclmbre ·m AA !!i •!l!I M,l!:l ii#k l{;l •l�ac===r Númt'ro Q Mlnu1I El blaqut' de iJ11c,ón ll1m1do gu.rda lU5 dates en un bloque dt' tinos dt' 1nstanci1 propio Fig. 4.49 Pero en este caso, mediante el botón Cancelar, cancelaremos la petición, ya que queremos utilizar como DB el DB global declarado anteriormente. En ese momento nos aparece el contador programado de la siguiente forma: h <1?'1> - C R'. � 0 -- cv cv-... Fig. 4.50 A continuación pulsamos en la zona de asignación del DB asociado, en la parte superior de la caja del contador, y elegimos en primer lugar el nombre del DB global, en este caso "DB_COUNTERS". Para ello podemos seleccionar el DB de nuestro árbol del proyecto y arrastrarlo directamente hasta la posición correspondiente, con lo que obtenemos el siguiente resultado: t------- cu C1U lnt Q------------------< - - R cv- ... Fig. 4.51 Después escribimos un punto y aparece de forma automática una ventana para elegir el contador de la lista de los declarados en ese DB: ºDB_COUNTERSº l J! CNT_Ol IEC_COUNlER CNT_02 IEC_UCOUNTER CNT_03 IEC_SCOUNTER <??'!> - ¡,,¡ >� ,. » »-1---------- Fig. 4.52 Cuando seleccionamos el contador correspondiente, aparece otro punto, y para finalizar elegimos Ninguna entrada: ºDB_COUNTERS".CN T_01j Ninguna entrada <???> - PV Fig. 4.53 145
  • 152.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • El hecho de utilizar un DB global para la declaración de los contadores permite seleccionar de forma independiente cuál de ellos configuramos con remanencia. 146 Completamos el programa y el resultado obtenido es el siguiente: "DB_COUN1ERS'. ,is3 ·s2D" 'IM81 9 1 5 "Clock_1 Hz' 1-------1 1---- cu 'J.12.6 'S4_RESEr - R 'IMW7002 'PEDIDO ROJAS" - F'V CNT_Ol CIIJ lnt 'Y,Q2.4 ' H3_ROJO' Q -------- )-------t 'IMW/0 1 0 'PROCESADAS cv - ROJAS' Fig. 4.54 Ahora se desea que, en función del pulsador accionado, en este caso el S20, se incremente una unidad cada segundo el registro de piezas procesadas de color rojo, y que una vez alcance el valor de preselección indicado en el registro PEDIDO ROJAS, el piloto rojo se ponga en funcionamiento. El valor de pulsos quedará guardado en el registro PROCESADAS ROJAS. De la misma forma insertamos un nuevo contador y lo asociamos al DB global, pero en esta ocasión con el contador 2. En este caso el registro incrementado será el de piezas amarillas al tener accionado el pulsador S21 y el piloto que se pondrá en funcionamiento al alcanzar el valor de preselección indicado en el registro PEDIDO AMARILLAS será el amarillo. El valor de pulsos quedará guardado en el registro PROCESADAS AMARILLAS. 'DB _COUN1ERS'. 'J.15.4 •521· 'IM81 9 1 5 'Clock_1 Hz' 1-------1 1--- - cu 'J.12.6 '54_RE5Er - R 'IMW7004 'PEDIDO MNRILLAS' - f'V CNT_02 CIIJ lnt 'Y,Q2.1 'HO_AMARILLO' Q ----------1 )-------t 'IMWT0 1 2 'PROCESADAS cv - AIAARILLAS' Fig. 4.55 Y por último el contador 3, que incrementará su valor cada segundo al tener accionado el pulsador S22. Al alcanzar el valor indicado en el registro PEDIDO VERDES, el piloto que se pondrá en funcionamiento será el de color verde. El valor de pulsos quedará guardado en el registro PROCESADAS VERDES. 'DB_COUN1ERS'. 'J.15.5 ·s22· 'IM8191.5 'Clock_l Hz' 1-------1 1---- cu 'J.12.6 '54_RESEr - R 'IMW7006 'PEDIDO VERDES' - F'V CNT_03 CIIJ lnt 'Y,Q2.2 'Hl _VERDE' o -------- )-------t 'IMW/014 'PROCESADAS cv,-. VERDE' Fig. 4.56 Además, añadiremos una señalización con los pilotos H20, H21 y H22 para indicar el pulsador 521, 522 o 523 respectivamente, que está accionado en cada momento: �r 'Y,Q33 520' 'H20' )-------t Fig. 4.57 w·· 'Y,Q3.4 521' "H21' )-------t Fig. 4.58
  • 153.
    ' ' ' ' 1 ' ' ' ' ' ' ' ' '115.5 S22' Unidad 4 -Programación con contadores y comparadores IEC 'X,Q35 "H22' 1----------------------; }----< Fig. 4.59 Ahora al poner en funcionamiento el programa, observamos cómo cada contador funciona de forma independiente: OB_COUNTERS w,,,..b,. l°-,o d•'ffiGJ G • )l;jlwc .,. ... on_o, Jl(,_(.QUffl(lt ., cu '"" ., to '"' ., ' '"" ., u, '"' ., "" ..., 00 ... "' "' ., tv .. llt,_WVM'flt tu .... .... ' .... u, ... "" '"' "" ,... "' .. tv .. G • • tMT.,11:t IEt..,0:IUffltll · a "' ... .. ., "' .... '., ..,. ., u, ... ., "" "" ., "" - ., "' "" ., tv "'' .' ... � .. ... ... ... o .... ..,,. ... ... ... ,.,,,. .... ... .... ... ••• ... B l:;I FALSE F"'t.St: F.:.t.5E FKn ..,, Fi,l�( ,.. 8 ,.,. fi,1.SE '"-'' ,..,, '"'' F�Sf "" " o Fig. 4.60a !,! !,! ¡;¡¡ 51) 0 0 0 0 0 ,;, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 � 0 0 Fig. 4.60b EJ Fig. 4.60c Podemos hacer uso de los parámetros de este DB global de forma individual en cualquier lugar del programa, ya sea en ese mismo bloque o en otro bloque del programa diferente, y utilizar además tanto las direcciones simbólicas como las absolutas. Para utilizar las direcciones absolutas debemos configurar las propiedades del DB mediante la opción del menú Edición - Propiedades. Se abrirá la ventana de propiedades de este bloque en el que, dentro de la opción Atributos, deseleccionaremos el atributo Acceso optimizado al bloque y obtendremos la siguiente vista: <[ -. Fig. 4.61 Una vez compilado el proyecto, al volver a abrir el DB global, observamos cómo aparecen las direcciones absolutas de cada parámetro: -O • :Ullllt -0 • ... on_o1 1tt_toUfonf.11 -O �lJ &col <O • tO 8oel -o • • aooi ♦ -O u, 11"4 Cl • QU !OGI .., 00 "" o "' .. ' -o • t:,, ....,., ., ., u ., ? O " B B •.. B ... o ... g ... B .. B - o 13 B Fig. 4.62a 147
  • 154.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • Las instrucciones de comparación comparan dos datos del mismo tipo para determinar si son: • iguales, • diferentes, • mayor o igual, • menor o igual, • mayor, • menor. 148 lfC..COl.ltmll '·º o iil '" ,oo, ... o 0 E1I - ..,. [3 0 E1I ..., f1111i o 0 E1I CD ..., .,, □ 0 E1I º' 6001 ... "�· o 0 0 QO ,,., lita [3 0 0 0 □ 0 0 0 10.0 o o 0 E1I 0 Fig. 4.62b C • • Ofl_03 IEC,.COVtmR 12.0 8 ., a, ,oo, i!olil! B ..., . o co Ooo• f!ol.1! El ,,., El " ... ,,, B º' ..., ft11t El QO ... ,,, ... ' º 1 4.0 □ o "' 0 Fig. 4.62c A parte de esa diferencia, también nos encontramos con que no podemos seleccionar niveles de remanencia diferente para cada una de las variables, es decir, que son todas o ninguna. En el caso de tener activada la opción Acceso optimizado al bloque, se puede seleccionar qué variable se desea que sea remanente y cuál no. 4.5 Funciones de comparación Las instrucciones de comparación son contactos que permiten realizar un tipo de comparación entre dos valores o registros. Los tipos de comparadores que se pueden programar se encuentran dentro de la carpeta Comparación del catálogo en Instrucciones básicas, y son los siguientes: Comparación 1 C'-f' = I C'-f' <> HiJ C'-f' >- 1 C'-f' <.= HiJ C'-f' � 1 IN_Rang< 1 OUT_Range HiJ -tOKI- Hi) -fNOT_OKI- Igual Diferente M!yor o igual Menor o igual Mayor Menor Va lor dentro del rango Valor fuera del rango Comprobar validez Comprobar invalidez Fig. 4.63 La estructura de los comparadores está formada por los siguientes campos: Tipo de comparación (seleccionar) Tipo de dato (seleccionar) <l??> <l??> Fig. 4.64 Valores o registros a comparar ·----- .J Al elegir el símbolo del comparador, se tiene acceso a dos zonas para poder seleccionar tanto el tipo de comparación como el tipo de dato. Para ello se deberá ..__ pulsar en una de las esquinas superior o inferior derecha del símbolo de comparación: <1??> Zona para elegir el tipo de comparación <1??> Zona para elegir el tipo de dato Fig. 4.65
  • 155.
    1 ' l ' ' i ' 1 Recuerda •• • ' ' Las instrucciones de comparación comparan dos datos del mismo tipo, pudiendo ser alguno de ellos, o los dos, 1 registros del PLC. 1 , , ' ' 1 ' ' ' " ' l ' Recuerda • • • La instrucción «IN_RANGE» comprueba si el valor que se lee por el parámetro «VAL» se encuentra dentro del rango marcado por los valores introducidos mediante los parámetros «MIN» y «MAX». Unidad 4 - Programación con contadores y comparadores IEC Al desplegar los diferentes campos, se dispondrá de las siguientes opciones: <???'> ■ - 1� ■ <> < ,.. .,. Tipo de comparación Fig. 4.66 Ejemplos: <J"!?'> =�� ,., lnt - Olnt ...1 Byte - Word OV«>rd USlnt Ulnt UDlnt Slnt � String Tipo de datos Fig. 4.67 • Comparación entre el valor actual del registro MW7002, que corresponde con el display PEDIDOS ROJAS, con otro valor guardado en el registro MW7010, que corresponde con el display PROCESADAS ROJAS, realizando la operación MW7002 = MW7010: W7002 D �= ROJAS" !ni W7010 CESADAS OJAS" 11)33 "H20" )-------, Fig. 4.68 • Comparación entre el valor contenido en el registro MW7004 correspondiente al display PEDIDO AMARILLAS con el valor constante 100, realizando la operación MW7004 >= 100: AMAAIUAS" >= 11)3.4 "H21• µPE:�� 4 lnt ¡-------------------""""1 )-------, 1 00 Fig. 4.69 • Comparación entre el valor actual de un contador guardado en el registro DB20.DBW4 y un valor constante 10, realizando la operación DB20.DBW4 >= 10: ��-�!':-. T_01 .CV >= 11)35 "H22" lnt 1---------------------{ )-------, 1 0 Fig. 4.70 • La salida Q3.6 estará activada cuando, para la comparación entre el valor actual de un registro correspondiente a una temperatura analógica guardado en el MD100 y un valor constante de 10.0, y para la comparación entre un valor de tiempo guardado en el registro MD110 y el valor de 22s, se cumpla que MD100 < 10.0 y que MD110 >= 22s: :�::t�,.. :::::. 'f'.::;� R:al 11-----11,;�e 1----------------1 )-------, 1 0.0 n22s Fig. 4.71 149
  • 156.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • La instrucción «OUT_RANGE» comprueba si el valor que se lee por el parámetro «VAL» se encuentra fuera del rango marcado por los valores introducidos mediante los parámetros «MIN» y «MAX». 150 • La instrucción IN_RANGE nos puede servir para poder comprobar si un valor contenido en un registro se encuentra entre un límite máximo y otro mínimo. En el siguiente ejemplo se muestra cómo la salida Q3.7 estará activada siempre que el valor del registro MW7006 sea mayor que 9 y menor que 21. IN_RANGE lnt 1 0 - MN 'IMW7006 "PEDIDO VERDES" - V& 20 - MAX Utilizando funciones de comparación, sería equivalente a: "IQ3.7 "H24" )----, WJ006 '/,MW,006 �� ROES" "PEDID �: EROES" �:4� lnt I l,nt t---------------- )----, 10 20 Fig. 4.72 Fig. 4.73 Si modificamos el tipo de operacIon y en lugar de IN_RANGE utilizamos OUT_RANGE, entonces la salida Q3.7 estará en funcionamiento siempre que el valor del registro MW7006 sea menor que 10 o mayor que 20. OUT_RANGE lnt 10- l,IN 't.MWJ006 "PEDIDO VERDES" - V& 20- '->VI)( "IQ3.7 "H24" )----, Utilizando funciones de comparación, sería equivalente a: 't.MW7006 "PEDIDO VEROES" "IQU "H24" 1� 1---.--------------------4 10 )----, 't.MW/006 "PEDIDO VERDES" ,. lnt 20 4.6 Programación en Grafcet (111) Fig. 4.74 Fig. 4.75 J En esta tercera parte de Grafcet, además de integrar la función de contaje y comparación en un diseño realizado en Grafcet, estudiaremos un nuevo tipo de J estructura como es la de selección de secuencia o de bifurcación en O. Por tanto, v trabajaremos las diferentes posibilidades de programar un contador en una acción asociada, así como la de integrar contactos de contaje y de comparación en una transición. 4.6.1 Tipo de secuencia Selección de secuencia o Bifurcación en O Este tipo de secuencia llamada Selección de secuencia o Bifurcación en O ofrece '-._/ la posibilidad de varios caminos en el recorrido del Grafcet, donde tan solo se autoriza un único camino posible.
  • 157.
    1 ' ' Recuerda •• • Cuando se debe diseñar un Grafcet en el que en un momento determinado del mismo pueden existir varias posibilidades de ' funcionamiento según unas condiciones, entonces se aplica un ' tipo de secuencia conocida como ' «Selección de secuencia» o «Bifurcación en O» ' ' 1 ' ' ' ' ' ' ' ' ' Recuerda • • • ' En un Grafcet, el concepto «salto de etapa» es un caso " particular de una «selección de ' secuencia». ' ' Unidad 4 - Programación con contadores y comparadores IEC Cuando un Grafcet tiene la necesidad de seleccionar entre diferentes alternativas, las condiciones de las diferentes transiciones que intervengan deberán ser excluyentes entre sí, es decir, en ningún caso el Grafcet podrá evolucionar por más de un camino de forma simultánea. Para entrar en una de las ramas alternativas, se entrará con una transición diferente para cada una de las ramas, y para salir de esa rama alternativa también cada una tendrá su propia transición. MO.O MO.l N Acción asociada 10 M0.2 M0.4 N Acción asociada 1 N Acción asociada 11 Mo.3 N Acción asociada 3 N Acción asociada 12 Se observa cómo para acceder a cada una de las ramas alternativas, etapa 1, 2, o 3, se necesita que se cumpla una de las transiciones, O, 1 o 2, y que estas sean excluyentes. Para finalizar la rama alternativa se debe cumplir su transición correspondiente, 10, 11 o 12, y esta no tiene por qué ser excluyente con el resto. Nos podemos encontrar con un caso particular de este tipo de secuencia, que es la secuencia denominada Salto de etapa. Como su nombre indica, tiene la función de no ejecutar todas las etapas de una rama de secuencia, saltándose las necesarias según sea el caso. MO.O N Acción asociada 1 Transidón_O MO.l N Acción asociada 2 M0.2 N Acción asociada 3 M0.3 N Acción asociada 4 En este caso, al cumplirse la transición 1, el Grafcet evoluciona por toda la rama formada por las etapas 1, 2 y 3, mientras que si la transición que se cumple es la O, entonces el Grafcet salta directamente a la etapa 3. No se ejecutan en ningún caso las etapas 1 y 2. 151
  • 158.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • Se puede diseñar un Grafcet en el que el «Salto de etapa» pueda ser tanto hacia abajo como hacia arriba, provocando en este caso un funcionamiento de tipo bucle. 152 Acabamos de observar cómo el salto de etapas lo realiza hacia adelante, es decir en el sentido de evolución del Grafcet. Pues bien, también nos podemos encontrar que tengamos que realizar un salto de etapas pero hacia arriba, lo que se conoce también como reinicio de secuencia. En este caso, llegado el Grafcet a la etapa 2, puede evolucionar hacia la etapa 3 si se cumple la transición 31, o bien si se cumple la transición 30 hacer un salto hacia la etapa 1, de manera que se vuelve a repetir la secuencia de las etapas 1 y 2. Al igual que en los casos anteriores, en este Grafcet las transiciones 30 y 31 deben ser excluyentes entre sí, es decir, que las transiciones se deberán programar para que en ningún caso se puedan cumplir las dos condiciones de forma simultánea. N Acción asociada 1 N Acción asociada 2 " Acción asociada 3 N Acción asociada 4 4.6.2 Programa basado en diseño Grafcet J J 's../ Para practicar con este tipo de secuencias alternativas vamos a trabajar con algún '--­ que otro ejercicio práctico. En el primer caso queremos controlar el motor de palets mediante un pulsador de paro y uno de marcha, a la vez que se encuentra protegido por su disyuntor magnetotérmico. También se mostrará una señalización del funcionamiento del motor con piloto verde, de motor parado con piloto rojo y de motor con avería con piloto amarillo. • Condiciones de funcionamiento: - Al poner en marcha el sistema, tendremos activado el piloto rojo (Q2.4), que '-' indica que el motor está parado. '-.J En ese momento en el que el motor está detenido, tenemos dos opciones: - Hacer saltar manualmente el disyuntor magnetotérmico (13.0), con lo cual se --...,, activará el piloto amarillo (Q2.1) de forma intermitente con una frecuencia de 1 Hz. Si rearmamos el disyuntor, se apagará el piloto amarillo (Q2.1) y '--­ volverá a funcionar el piloto rojo (Q2.4). ___, - Si el disyuntor esta rearmado y accionamos el pulsador de marcha (10.2), '--­ dejando en reposo el pulsador de paro (10. 1), entonces se pondrá en .J funcionamiento el motor (Ql.1) y además quedará señalizado con la .J activación del piloto verde (Q2.2).
  • 159.
    ' ' ' ) ' ' ' ' ' ' ) ' ' ' ' ' ) ' ) ' ' ' ) ' ' ' Unidad 4 -Programación con contadores y comparadores IEC Una vez que el motor está funcionado, tenemos también dos opciones: - Que haya una avería en el motor y por tanto el disyuntor (13.0) se dispare, o bien que se haga saltar de forma manual. En este caso, el motor (Ql.1) y el piloto de señalización verde (Q2.2) dejarán de funcionar, conectándose el piloto amarillo (Q2.1) de forma intermitente (1 Hz). Al rearmar el disyuntor, el motor seguirá sin funcionar y se apagará el piloto amarillo (Q2.1), volviéndose a activar el piloto rojo (Q2.4). - Que accionemos el pulsador de paro (10.1). En este caso, el motor (Ql.1) y el piloto verde (Q2.2) dejarán de funcionar, activándose únicamente el piloto rojo (Q2.4). • Desarrollo del Grafcet A continuación, se presenta el Grafcet que da respuesta al enunciado dado. Dispararel disyuntor ( 13.0 ) M0.1 t-=1 = .1 �----+--i N i-= 2 = .2 �----< Piloto oerde Accionar pulsador d e paro ( 10.1 ) lntermi encia (M8191.S) M0.2 • Programa en diagrama de contactos El programa que responde al diseño del Grafcet dado sería el siguiente: • Activación de etapas • Segmento 1 : Activación de la ETAPA 1 ydesactivación de la ETAPAO 'IMO.O "ETAPA O" "1102 "S2_MARCHA" "II0.1 "Sl]AAO" '113.0 "F2_ PROlECCION 'IM0.1 MOlOR PAl.ETS" "ETAPA 1 • 'IM:� A f' A o • R }-----t Fig. 4.76a • Segmento 2: Activación de la ETAPA O ydesactivación de la ETAPA 1 'IM0.1 "ETAPA 1" "II0.1 "Sl]ARO" ------� 'IM0.0 "ETAPA O" ---��------;; s }-----t 'IM0.1 "E T AP R� '-------------1. ,.------ Fig. 4.76b 153
  • 160.
    Unidad 4 -Programación con contadores y comparadores IEC 154 • Segmento 3: Activación de la ETAPA2 ydesa ctiva ción de la ETAPA 1 'IM0.1 "ETAPA 1 " '113.0 "F2 PROlECCION MOlOR PALEl>" 'IM0.2 "ETAPA 2" 'IM0.1 i----1/1-,----� ¡ s }---< "ET AP R � �-------------1. � Fig. 4.76c Segmento 4: Activación de la ETAPA O ydesactivación de la ETAPA 2 'IM0.2 "ETAPA 2" '113.0 "F2 PROlECCION MOlOR PALEl>' 'IM0.0 "ETAPA O' 'IM0.2 i s }---< " ETAP R A � �-----------1- � Fig. 4.76d Segmento S: Activa ción de la ETAPA 2 y do,activación de la ETAPA o 'IM0.0 'ETAP A O" "/,13.0 "F2 PROlECCION 'IM0.2 t-«:llOR PALETS" "ETAPA 2" 'IM0.0 -1/1-.----- ¡ S }---< ' ET AP R A � �------------1- � Fig. 4.76e • Activación de salidas ,.. Segmento 6: Contactor de control del motor de la cinta de pa lets. 'fQ1 .1 'IM0 1 "Kl M_MOlOR A f' A � · , _ ·______________________ ci _ N -I TA P ALE r � }---< Fig. 4.77a • Segmento 7: Piloto de señalización amarillo 'IM0.2 'IM81915 'fQ2.1 A f'A � 2 _ ·____ ·c _ 10 -l ck_ � 1- Hz" _______________ ·_ Ho _ _ -l A MA RILLO" � � }---< Fig. 4.77b Segmento 8: Piloto de señaliza ción verde 1 .� ; A l- -� - •---------------------- • - H1 -l j!:0 E " � }---< Fig. 4.77c Segmento 9: Piloto de seña li::ación rojo � A l- ·º o _ •______________________• _ H -1 �� � • Activación de la etapa inicial En el 08100 se debe programar la activación de la etapa inicial: Fig. 4.77d ___,,
  • 161.
    ' ' 1 ' i ' i i 1 1 1 1 i 1 i Recuerda •• • Siempre se deben activar en el primer sean todas las etapas iniciales que se hayan programado en el proyecto y desactivar el resto. Unidad 4 - Programación con contadores y comparadores IEC • Segmento 1 : Activación de la etapa inicial 'Y d�secti:ación de-1 resr:o de las e-tapas 'lt.!8190.0 ·FirstScen· 'IMO.O "ETAPA O" 1--�-------------------1( � )-- 'IM0.1 "ETAPA 1 • �------------------t( RESET_BF }-< 2 Fig. 4.78 • Llamada desde el OB1 a la función FCl donde tenemos el programa • Segmento 1 : Llamada a la función con el prog_ r•_ m• -�--------� 1 'Motor_Clnta_P<llets" � EN ENO -----------------, Fig. 4.79 • Comprobación del funcionamiento con maqueta de simulación 3D Para hacer este ejercicio tan solo hemos de utilizar los pulsadores PARO y MARCHA del panel Control del proceso para controlar el funcionamiento del motor de la cinta de palets, así como el disyuntor del M2 de protección del motor de la cinta: Contro, del proceso 1 � !iJ ■fa f1k· EMERGENC!A PARO �AllO(A Al}r!l.tA"'- ACK Ml ■ ■■■ ■�· Fig. 4.80 Podemos observar en el simulador 3D cómo el motor de la cinta de palets responde al funcionamiento programado, así como la señalización del estado del proceso mediante los pilotos ROJO, AMARILLO y VERDE de la baliza: Fig. 4.81 4.6.3 Acciones y transiciones asociadas con contadores Un contador contiene diferentes entradas y salidas que se utilizarán por separado para poderlas incluir en un diseño Grafcet. • Acciones A continuación, mediante diferentes ejemplos describiremos cómo asignar en una acción asociada un contador: 155
  • 162.
    Unidad 4 -Programación con contadores y comparadores IEC 156 N CTU C02 CU Incrementa contador Contador ascendente (CTU), símbolo del contador (C02), contaje (CU) Incremento del valor actual en una unidad N CTD C08 R Puesta a cero del contador Contador descendente (CTD), símbolo del contador (C08), reset (R) Puesta a cero del valor actual • Transiciones N CTD COS CD Decrementa co ntado r Contador descendente (CTD), símbolo del contador (C0S), descontaje (CD) Decremento del valor actual en una unidad N CTU C06 LD=lO Asiwi ar valor preselección Contador ascendente (CTU), símbolo del contador (C06), carga valor preselección (LD) Asignación de un valor como valor actual A continuación, mediante diferentes ejemplos, describiremos cómo asignar en una transición elementos asociados a un contador: t""-=º Contador ascendente (CTU), símbolo del contador (C0l), salida (Q). Comprueba el estado de la salida Q Contador ascendente-descendente (CTUD), símbolo del contador (C0S), salida (QD). Comprueba el estado de la salida QD Contador ascendente-descendente (CTUD), símbolo del contador (C02), salida (QU). Comprueba el estado de la salida QU Contador ascendente (CTU), símbolo del contador (C06), salida valor actual (CV). Comprueba si el valor actual es igual a 10 4.6.4 Programa basado en diseño Grafcet Ahora incluimos un ejemplo completo en el que queda aplicado el contador tanto en acciones asociadas como en transiciones. • Condiciones de funcionamiento El diseño que se presenta responde a las siguientes condiciones de funcionamiento: Al poner en marcha el sistema, tendremos activado el piloto rojo (Q2.4), que indica que el sistema está preparado para funcionar. En ese momento, al accionar el pulsador de marcha (10.2), se activará el piloto verde (Q2.2) y al mismo tiempo un contador ascendente (CTU_CO) incrementará en una unidad su valor actual. Al soltar el pulsador de marcha (10.2), si el contador (CTU_CO) no ha llegado al valor 5, dejará de funcionar el piloto verde (Q2.2) y volverá a funcionar el piloto rojo (Q2.4). V V J V V J V V
  • 163.
    t ' ' ' ' 1 ' í 1 ' Recuerda •• • Cuando se programa un contador mediante la utilización de DB globales, se puede acceder a los registros de esos DB mediante su dirección absoluta o simbólica. Unidad 4 - Programación con contadores y comparadores IEC Habrá que ir repitiendo el mismo proceso anterior, es decir, ir accionando el pulsador de marcha (10.2) hasta que el contador alcance el valor 5 como valor actual. En ese momento se pondrá en funcionamiento el piloto amarillo (Q2.1) de forma intermitente (f=lHz), lo que indicará que ha finalizado el contaje. El sistema permanecerá en este estado hasta accionar el pulsador de paro (10.1), momento en el que se hará el reset al contador (CTU_CO) y el sistema quedará al inicio para volver a contar 5 nuevos pulsos. • Desarrollo del Grafcet A continuación, se presenta el Grafcet que da respuesta al enunciado dado. MO.O M0.1 M0.2 M0.3 ...c ,,_ru =-c ,,,o,.,._,c"' u'----+-1 N ...,.2 "' .,,_ 2 -----4--l N CTU co cv Piloto W!rde Actualil:ar valor actual Incrementa cootador Intermitente {M8191.5) CTU CO R Puesta a cero del contador Valor del contador es igual a O ( CTU_CO.CV = O ) Valor del c.ontado r es men or d e S y �accionar pulsadorde m..-cha ( CTU_CO.QU • 10.2 ) • Programa en diagrama de contactos El programa que responde al diseño del Grafcet dado sería el siguiente: • Activación de etapas Segmento 1: ,�tivaci6n de 1, ETAPA 1 y de,.cti•,aci6n de la ETAPA O 'IMO.O "ET/P/1 o• �2 "S2_MA.RCHA" 'IM0.1 "ETAP/1 1" 'IMO.O ; s }----t ...._____________·...¡ ro:"� Segmento 2: Activación de la ETAPA 2 y d..actívación de la ET!PA1 'J.M0.1 "ETAPA 1" 'J.DBl DBlm.4 "CO".QU 'J.M02 "ET/PA 2• 'J.M0.1 Fig. 4.82a ;s }----t "E W ft /1 � ....____________,_ ,---------, Fig. 4.82b Segmento 3: Activación de la E1APA 3 y de,activación de la ETJPA 2 'J.M02 "ETAP/1 2" �-1 "S1_PAAO" 'IMO.3 "ETAP/1 3" 1-----1�--�------------J ; S }----t ....._____________....¡ '�'� Fig. 4.82c 157
  • 164.
    Unidad 4 -Programación con contadores y comparadores IEC Recuerda • • • Una comparación también puede realizarse con el valor actual de un contador 158 Segmento 4: Activa ción de I• ETAPA O y desactivoci6n de lo ETAPA 3 "IM0-3 "ETAPA 3" ���:º it" -� �/o· "IMo.3 1���i--- 1 ---r------------,¡s >----i "ETAP R A � .__---------� - � Fig. 4.82d • Segmento 5: Activoci6n de la ETAPA O y desactiv•ción de I• ETAPA 1 "IM0.1 "ETAPA 1" '%iJB1 .DBJal.4 'rl02 "IM0.0 ·co·.QU ·s2_MAACHA" "ETAPA o· "IM0.1 ��-�--------' ; S >------, "ET AP R� .__ _____--' · � Fig. 4.82e • Activación de contadores • Segmento 6: Incrementar una unidad el vnlor a ctua l del contador CO ,081 ·co· "IM0.1 C1U "ETAPA 1 • lnt 1--- cu Q -----------------1 "IM0-3 "ETAPA 3" - R 5 - PV "IMW/0 1 0 "PROCESADAS cv - ROJAS" • Activación de salidas Segmento 7: Piloto de sefie lización amarillo "IM0.2 "IM8191 .S "Clock_l Hz" APA 2" 1--------1 Segmento 8: Piloto de sefioli:mci6n verde "IM0.1 APA l " '11)2.1 "HO_AMAAILLO" >------, '11)22 "Hl _VERDE" 1-------------------------1 >------, • Segmento 9: Piloto de señali1.&ci6n rojo "IM0.0 APA O' '11)2.4 "H3_ROJO" Fig. 4.83 Fig. 4.84a Fig. 4.84b 1----------------------; >------, Fig. 4.84c • Activación de la etapa inicial En el OB100 se debe programar la activación de la etapa inicial: Segmento 1 : Activación de la etapa inicial ydesactivación del resto "IM8190.0 "IM0.0 "Fir<tScan" "ETAPA o· l--.---------------7( S >------, "IM0.1 "ETAPA 1 " L--------------------; ( RESET_Bf }-< Fig. 4.85 '-...,, ___/ '-...,, J '-..../ J J '-..../ J J '-..../ V v ". '-..../ J J J J J J ..._¡ V J J J J J J '-..../ J J '-..../ J J v J J '-..../ ..._.., '--./ '-....,, '-..../ '--../ J .J
  • 165.
    í l í Unidad 4 -Programación con contadores y comparadores IEC • Llamada desde el 0B1 a la función FCl donde tenemos el programa • Segmento 1 : Llamda a la función con el progra m _ • ----------� 1 -c:.Q:r rEN ENO -----------------------< Fig. 4.86 • Comprobación del funcionamiento con maqueta de simulación 3D Para hacer este ejercicio tan solo hemos de utilizar el pulsador MARCHA del panel Control del proceso, que hemos de ir accionando de forma sucesiva para hacer evolucionar el Grafcet, y el pulsador PARO para poner a cero el valor actual del contador: Controt del proc� ('·. IJ -� ttt:::. EMERGENCA PARO MAROIA AUT:MAk AOC Mt ■ ■■■■,:: S20-H20 S21-H21 S22-HU Sll-M2l 52,4.H24 M2 Fig. 4.87 El valor actual del contador se puede observar en el display PROCESADAS ROJAS: Riegistros di, p!!dído y de contaje Fig. 4.88 Además de visualizar los diferentes pilotos en la baliza del simulador 3D. Piloto ROJO Fig. 4.89a Piloto AMARI LLO Fig. 4.89b Piloto VERDE Fig. 4.89c 159
  • 166.
    Unidad 4 -Programación con contadores y comparadores IEC 160 Ejercicio CONTROL DEL NÚMERO DE MANIOBRAS QUE REALIZA UN CILINDRO Tenemos un sistema formado por dos cilindros que controlan los movimientos del manipulador de grabado: el cilindro multiposicional pequeño mandado por una electroválvula monoestable y el cilindro marcador mandado por una electroválvula biestable. Tanto un cilindro como el otro disponen de dos sensores magnéticos que nos indican la posición del cilindro. Condiciones de funcionamiento: • • • • • • • Al poner en marcha el sistema, se pondrá en funcionamiento el piloto rojo. Al accionar el pulsador de marcha, si tanto el cilindro multiposicional como el cilindro marcador # se encuentran en la posición de reposo, entonces el cilindro multiposicional avanzará. Cuando el cilindro multiposicional se encuentra en la posición de avance, el cilindro marcador descenderá. Cuando el cilindro marcador se encuentra en la posición inferior, el cilindro marcador ascenderá a la posición de reposo. El cilindro marcador repetirá el ciclo de descender y ascender tres veces, registrado por un contador y visualizado en el display producción de piezas rojas. Una vez finalizados los ciclos, cuando el cilindro marcador se encuentre en la posición de reposo, el cilindro multiposicional se recogerá. Cuando el cilindro multiposicional se encuentre recogido, se pondrá en funcionamiento el piloto rojo y el sistema quedará preparado para realizar un nuevo ciclo. Durante toda la secuencia de funcionamiento del proceso, el piloto verde permanecerá funcionando y dejará de funcionar cuando el proceso haya finalizado. Fig. 4.90 Relación de entradas, salidas y registros de contaje: ENTRADAS SALIDAS Dirección Dispositivo Dirección Dispositivo 10.2 S2 Pulsador de marcha Q0.3 Y4 EV Cilindro multiposicional pequeño 11.0 BS Detector cilindro multiposición pequeño en reposo Q0.6 Y7 EV Cilindro marcador a trabajo 11.1 B6 Detector cilindro multiposición pequeño en trabajo Q0.7 Y8 EV Cilindro marcador a reposo 11.4 B9 Detector cilindro marcador en reposo Q2.2 Hl Piloto verde 11.5 B10 Detector cilindro marcador en trabajo Q2.4 H3 Piloto rojo REGISTROS DE CONTAJE Direcciónl Dispositivo MW7010 1 Display piezas rojas procesadas J ..J ..J '-../
  • 167.
    � Unidad 4 -Programación con contadores y comparadores IEC Realizar: • Diseño del Grafcet. • Implementación a programa del PLC. • Comprobación del funcionamiento mediante la maqueta de simulación 3D. 161
  • 168.
  • 169.
    ' J Unidad 5 -Aplicaciones con flancos Unidad 5 Aplicaciones con flancos En este capítulo: . . . a, IUl'!' Osyl&'ltorMl � - ll.O flt 5.1 Instrucciones de tratamiento de flancos , ... ,,. " ·noas� QI · SflGIJVDO' 5.2 Programación en Grafcet (IV) 5.1.1 Consultar flanco de señal ascendente o 5.2.1 Programa basado en diseño Grafcet descendente de un operando 5.1.2 Activar operando con flanco de señal ascendente o descendente 5.1.3 Consultar flanco de señal ascendente o descendente del RLO 5.1.4 Detectar flanco de señal ascendente o descendente Ejercicio propuesto 163
  • 170.
    Unidad 5 -Aplicaciones con flancos 164 Recuerda • • • Los flancos se utilizan cuando se desea dar un pulso de duración igual a un ciclo de sean. Los flancos se pueden utilizar como positivo o ascendente, o bien como negativo o descendente. Recuerda • • • El flanco positivo ofrece un pulso de duración un ciclo de sean al activar el operando asociado. 5.1. Instrucciones de tratamiento de flancos El flanco de un operando convierte una señal continua de ese operando en un pulso de un tiempo de sean de duración (una ejecución del programa). Por tanto, utilizaremos los flancos cuando sea necesario dar un solo impulso durante un ciclo de sean. En TIA Portal se dispone de las siguientes instrucciones de flanco dentro de la carpeta Instrucciones básicas con bits: 1 iPf- 1 -INl­ � --{P}­ � --{N}- � P_1RIG � N_1RJG � R_1RIG � F_1RJG Consulta rfla nco de seña l a scendente de un operando Consultar a neo de seña l descendente de un operando 1-.ctivar operando con flanco de señal ascendente ,ctivar opera ndo con fla nco de señal descendente Consukar í la nco de señal a scendente del RLO Con.sultar tla nco de seña l descendente del RLO Detecta r fla nco de seña l ascend ente Detecta r tla nco de seña l descendente Fig. 5.1 5.1.1. Consultar flanco de señal ascendente o descendente de un operando • Flanco positivo La instrucción Consultar flanco de señal ascendente de un operando permite detectar si el estado lógico de un operando indicado, Operando_l, ha cambiado de O a l. ºOperando_l' La instrucción compara el estado lógico actual del Operando_l con el estado lógico de la consulta anterior, que está almacenado en una marca de flancos, Operando_2. Si la instrucción detecta un cambio del resultado lógico (RLO) de O a 1, significa que hay un flanco de señal ascendente. ----! P f-- Cuando activamos de forma permanente o durante un tiempo, por ejemplo, una entrada, la salida programada funcionará durante un ciclo de sean en el instante en el que la entrada pase de O a l. �l eido-: Fig. 5.3 'Operando_2' Fig. 5.2 Es aconsejable utilizar marcas, datos locales o registros de un bloque de datos en el Operando_2 y es importante NO repetir su uso, ni en otro flanco ni en otra operación lógica, ya queprovocaríamos que el programa no funcione correctamente. • Flanco negativo La instrucción Consultar flanco de señal descendente de un operando permite de­ tectar si el estadológico de un operando indicado, Operando_l, ha cambiado de 1 a O. La instrucción compara el estado lógico actual del Operando_l con el estado lógico de la consulta anterior, que está almacenado en una marca de flancos, Operando_2. Si la instrucción detecta un cambio del resultado lógico (RLO) de 1 a O, significa que hay un flanco de señal descendente. 'Opera ndo_l ' ---f N f-- 'Opera ndo_2• Fig. 5.4 __/ ..,..,1 J
  • 171.
    ) � "' Recuerda •• • ' El flanco negativo ofrece un pulso de duración un ciclo de sean al desactivar el operando asociado. "' "' ) ......... "' ' ' Recuerda • • • � Un flanco va asociado siempre a un registro en forma de bit que será el encargado de comprobar si ha habido un cambio de estado en el último sean. ' ' Unidad 5 - Aplicaciones con flancos Si activamos de forma permanente o durante un tiempo, por ejemplo, una entrada, al desactivarla, la salida programada funcionará durante un ciclo de sean en el instante en el que la entrada pase de 1 a O. __¡ L :.--1 ciclo----.: Fig. 5.5 Es aconsejable utilizar marcas, datos locales o registros de un bloque de datos en el Operando_2 y NO debemos repetir su uso ni en otro flanco ni en otra operación lógica, ya que provocaríamos que el programa no funcione correctamente. Ejemplo: Queremos controlar el funcionamiento del motor de la cinta transportadora de palets (Ql.1) mediante dos pulsadores y con un único impulso: negativo para el de paro (10.1) y positivo para el de marcha (10.2). Para ello, si aplicamos el concepto de los flancos y realizamos el siguiente programa, no se observa funcionamiento alguno del motor: '!IQ1.1 '!110.2 "KlM_MOTOR �,_ Oill _ • __________________ CINT --, AP;:_. 'IIM30.1 LR«:0 2· Fig. 5.6 Debido a que apenas ha estado en marcha algunos milisegundos (tiempo de duración de un sean) como se muestra en el siguiente gráfico: 1 0.2 Fig. 5.7 Para poder observar que realmente la pulsación por flanco se ha realizado, modificamos el programa del siguiente modo: 'liM200.D �r ºMermña_ �- Aanco_Positivo· s )------t 'IIM30.1 Fig. 5.8a A.JNCO 2" �-· '!IQ1.1 rroria ºKlM_MOTOR _Positivo· CINTAPJ!l.ET" )------t Fig. 5.8b Y para detener el funcionamiento del motor, lo realizamos también con otro flanco a través del pulsador de paro (10.1). 165
  • 172.
    Unidad 5 -Aplicaciones con flancos Recuerda • • • Un flanco puede estar programado tanto en un contacto como en una bobina. 166 h 'IIM200.0 .io.1 "Memoria_ - : M t- o - · ----------------- - F - lan --l co_ : o � 'IIM30.0 I..MICO 1· Fig. 5.9 Se observa cómo se ha asociado a cada señal de flanco una marca que es la encargada de comprobar si ha habido un cambio de estado con respecto al último sean. En el caso de programar alguna condición antes o después de estos flancos, dichas condiciones se deberán cumplir antes de hacer cumplir el operando 1 de los flancos, tal como se muestra en el siguiente programa: '1113.0 "F2_ '!IM200.0 ,S0.2 PROTECCION "Memoria_ "52_MMCHA" MOTOR PPUTS" Flanco_rosltivo" p 1-----------1 1---------------------------------------( s }----.. 'IIM30.1 "FLMICO 2" Fig. 5.10 Por tanto, para hacer efectivo el flanco y poner en marcha el motor, antes debe cumplirse la condición de la entrada del disyuntor magnetotérmico del motor (13.0). 5.1.2. Activar operando con flanco de señal ascendente o descendente Las instrucciones Activar operando con flanco de señal ascendente o Activar operando con flanco de señal descendente permiten activar una bobina, pero durante el tiempo de duración de un ciclo de sean cuando se cumpla la condición lógica que le precede. <Ti.?> <??.?> Activar operando con flanco positivo Fig. 5.lla Ejemplo: <??.?> --{ N )- <!?.?> Activar operando con flanco negativo Fig. 5.llb Queremos realizar el mismo control que en el ejerc1c10 anterior, es decir, controlar el funcionamiento del motor de la cinta transportadora de palets (Ql.1) mediante dos pulsadores y con un único impulso: negativo para el de paro (10.1) y positivo para el de marcha (10.2). Sin embargo, en este caso buscamos una solución mediante activación de operandos por flanco. Observamos cómo algunas de las bobinas de salida en el programa están utilizadas con flanco: '130.2 "52_MARCHA" ,i3_0 "f2_ PROlECCION M010R PALETS• "1.M200 .0 •Memoria_o1· 1------1 1----------------( P )-----< "1.M30.0 'FLANCO 1 " Fig. 5.12a V V V J
  • 173.
    1 ' ' ' ,....._ 1 ,..._ � " Recuerda • Se utilizarála • • instrucción «P_TRIG» para, una vez consultado el estado actual de la ecuación lógica anterior (es decir, el estado del bit RLO) ofrecer en su salida un pulso de duración un ciclo de sean en el momento de activarse el bit RLO. Unidad 5 - Aplicaciones con flancos 1M200.0 'J,Q1 .1 "Memoria "K1 M_M010R Fla nco_po,it�o• CINTA PALE1" 1-----------------------l S }----t Fig. 5.12b 'IK>.1 •s1_pARO• 1M200.1 /1--�--------------------i N )----< 'Kl3.0 •F2_ PROlECCION MOlOR PALETS• 1M200.1 1M30.1 •FLANCO 2' "Memoria 'J,Ql .1 Fla neo_ •K1 M MOlOR Negativo• CINTA PALE1" Fig. 5.12c 1-----------------------1 R )----t Fig. 5.12d 5.1.3. Consultar flanco de señal ascendente o descendente del RLO Las instrucciones Consultar flanco de señal ascendente del RLO o Consultar flanco de señal descendente del RLO permiten pasar un flanco después de consultar el estado del RL0. Esto quiere decir que comprueban si la condición lógica que le precede se cumple o no. En el caso de cumplirse la condición lógica previa, el bit RL0 pasará del estado O a 1, de modo que la función P_TRIG dejará pasar un 1 en su salida durante un tiempo de duración de un sean. Del mismo modo, en el instante en el que el estado del bit RL0 pase de 1 a O, la función N_TRIG dejará pasar un 1 en su salida durante un tiempo de duración de un sean. P_lRIG - CLK <.??.?-> Q - Consultar flanco positivo del RL0 Fig. 5.13a N_lRIG - CLK <.??.?-> o - Consultar flanco negativo del RL0 Fig. 5.13b Si existe alguna condición programada después de una de las instrucciones P_TRIG o N_TRIG, para que funcione correctamente, se deberá cumplir antes de hacer efectiva la lectura del RL0 y ejecutar el flanco correspondiente. Ejemplo: Queremos realizar de nuevo el control del funcionamiento del motor de la cinta transportadora de palets (Ql.1) mediante dos pulsadores: el de paro (10.1) y el de marcha (10.2). Para que funcione correctamente la acción de puesta en funcionamiento con el accionamiento del pulsador de marcha, previamente se ha de cumplir que el disyuntor magnetotérmico se encuentre rearmado. De esta forma, al cumplirse la condición de que se accione el pulsador de marcha y de que no detecte el sensor de palets, la instrucción P_TRIG realizará su función y dejará pasar un 1 en su salida. Como consecuencia del estado activado del disyuntor, se realizará un SET a la marca M200.0 que pondrá en funcionamiento el motor de la cinta de palets. 167
  • 174.
    Unidad 5 -Aplicaciones con flancos Recuerda • • • Se utilizará la instrucción «N_TRIG» para, una vez consultado el estado actual de la ecuación lógica anterior (es decir, el estado del bit RLO), ofrecer en su salida un pulso de duración un ciclo de sean en el momento de desactivarse el bit RLO. Recuerda • • • La diferencia entre las instrucciones consultar flanco («P_TRIG» y «N_TRIG») y detectar flanco («R_TRIG» y «F_TRIG») es que estas trabajan con un DB de instancia y las primeras no. 168 ,i3_0 ,i2_4 "F2_ "B1 S_pALET PROTECCION W200.0 'II0.2 "S2_MAACHA" CARGA" P_lRIG MOlOR PALETS" "Memoria_o1 · 1-------<l/1,____ CLK Q -- ---1 1----- -1 S }------< 'IM30.0 "FLANCO 1 " Fig. 5.14a En la siguiente parte del programa que se presenta a continuación se muestran las condiciones que harán detener el motor: 'II0.1 "S1_pAAO" W200.o •Memoria_o1 • ��---,-------------------{ R }------< ,i3_0 "F2_ PROTECCJON MOlOR PALETS" '112.4 "B1 5_pALET CARGA" Fig. 5.14b En la siguiente parte del programa se muestra que el motor se podrá poner en marcha mediante las condiciones del flanco positivo (M200.0) y también de forma manual mediante el pulsador ACK (13.1): ,i3_1 ·ss_pJLSADOR ACK" �1 .1 "K1M_M010R CINTA PALEr � 1---r------------------1 ( }------< Fla�; e:J Fig. 5.14c 5.1.4. Detectar flancodeseñal ascendente o descendente Las instrucciones Detectar flanco de señal ascendente o Detectar flanco de señal descendente permiten pasar un flanco después de consultar el estado del RLO. Esto quiere decir que comprueban si la condición lógica que le precede se cumple o no. En el caso de cumplirse la condición lógica previa, el bit RLO pasará del estado O a 1, y la función R_TRIG dejará pasar un 1 en su salida durante un tiempo de duración de un sean. Del mismo modo, en el instante en el que el estado del bit RLO pase de 1 a O, la función F_TRIG dejará pasar un 1 en su salida durante un tiempo de duración de un sean. En relación a los anteriores tipos de flanco, estos se diferencian por estar asociados a un DB de instancia, lo que permitirá utilizar la consulta del flanco en cualquier punto y bloque del programa. R_TRIG - EN E.NO - ... - CLK Q ...... ... Detectar flanco positivo Fig. 5.15a <?'!?> F_TRIG - EN ENO -- ... - CLK Q ...... ... Detectar flanco negativo Fig. 5.15b
  • 175.
    ' ' ' ' ' J ' 1 ' Unidad 5- Aplicaciones con flancos Si existe alguna condición programada después de una de las instrucciones R_TRIG o F_TRIG, para que funcione correctamente, se deberá cumplir antes de hacer efectiva la lectura del RLO y ejecutar el flanco correspondiente. Al insertar una de estas dos funciones R_TRIG o F_TRIG, nos aparece una ventana para indicar el DB de instancia al cual lo asociaremos. En este caso, al D82 con nombre simbólico F_TRIG_DB: Ejemplo: Opciones d e llamada B Instancia indivklual -de- Nomb� �----- Númt"ro : Q Mlnua! {-) Automitico El bloqut" de función llamadoguarda sus daros tn un bloque dedatos de 1nstenci1 propio Fig. 5.16 Nuevamente queremos cumplir el objetivo de controlar el funcionamiento del motor de la cinta transportadora de palets (Ql.1) mediante dos pulsadores: el de paro (10.1) y el de marcha (10.2). Para que funcione correctamente la acc1on de puesta en funcionamiento al accionar el pulsador de marcha, se deberá cumplir también que no se encuentre detectando el sensor de palet (12.4) y que el disyuntor magnetotérmico (13.0) se encuentre rearmado. Entonces la instrucción R_TRIG realizará su función y dejará pasar un 1 en su salida Q. En este caso, al tener que realizar un SET a la marca M200.0, no programaremos nada y utilizaremos el registro del DB de instancia para realizar esa actuación: 'IIDB1 "R_TRIG_DB" R_TRIG ' ' ' ' 1----------------- EN ENO -------< '1110.2 "S2_MARCHA" '1112.4 ·e, s_pALET CN.GA" '1113.0 "F2 PROTECCION MOTOR PAIETS" Q ........ 1-------lv1- 1 ------l ---_ c_ LI<__� '&t.4200.0 Fig. 5.17a "R_TR IG_ I- DB _ '. _ O__________________ • Me -im o rie' 5 }-----t Fig. 5.17b En la siguiente parte del programa que se presenta a continuación, se muestran las condiciones que harán detener el motor: mediante el pulsador de paro, que se dispare el disyuntor magnetotérmico o que detecte el sensor de palet: 169
  • 176.
    Unidad 5 -Aplicaciones con flancos Recuerda • • • En las transiciones podemos programar un flanco, tanto para una condición como para una ecuación booleana. 170 "II0.1 ·s1_pARo" "IM200.0 •Memorü, • t----t/1---....------------------�R )------< "113.0 "F2_ PROTECCION MOlOR PALE15" "112.4 "81 5 PALET CARGA" Fig. 5.17c En la siguiente parte del programa se muestra que el motor se podrá poner en marcha mediante las condiciones del flanco positivo (M200.0) y de forma manual mediante el pulsador ACK (13.1): ..3.1 '55]JLS-"DOR K.K' '!IQl.1 ºKl M_MOTOR CINTAPl'UT t-� ---r---------------�1 )------< Fra� � 5.2. Programación en Grafcet (IV) Fig. 5.17d En esta cuarta entrega de aplicación del Grafcet exponemos cómo programar un flanco tanto en una transición como en una acción asociada. • Flanco en una transición Para indicar en una transición que una condición o una ecuación booleana debe funcionar por flanco se puede indicar de dos formas: Para flanco positivo: flecha ascendente ( 1') o añadiendo la indicación FP o P. +Detecta sen sor d e palet (FP) 12.4 (FP) Flanco positivo de una condición +Detecta sen sor de palet (1") 12.4 (1') +(Detecta sen sor de palet y disyuntor rearmado) (FP) (12.4 ' I3.0)( FP) Flanco positivo de una ecuación +(Detecta sensor de palet y disyuntor reami ado) (1') booleana (12.4 ' 13.0)1 1') Para flanco negativo: flecha descendente (-.v) o añadiendo la indicación FN o N. +Accion ar pulsado r d e m archa (FN) 10.2 (FN) Flanco negativo de una condición +Acciona- pulsado r d e marcha (.J.,) I0.2 (w) +(Acx:ion ar el pulsador de march a y disyJ nto r rearmado) (.J,) 110.2 • I3.0X w1 Flanco negativo de una ecuación +(Accion ar el pulsador de march a y disyu nto r rearmado) ( FN) booleana (10.2 ' I3.0)I FN)
  • 177.
    Recuerda • •• Se puede condicionar el funcionamiento de una acción asociada al estado de un flanco: , puede ser positivo, con FP o S 1 , o negativo con ' FN o SO. ' ' ' ' ' ' Unidad 5 - Aplicaciones con flancos • Flanco en una acción asociada Para indicar que una acción asociada a una etapa funciona por flanco se indica con un FP para flanco positivo, aunque también nos podemos encontrar con la indicación S1 (Step a 1), y con FN o SO (Step a O): [ili FP IMW200 MO.l Marca d e flanco [iliFN IMW200 MO.l Marca d eflanco [ili51 1 MW200 MO.l Marca d e flanco [iliso IMW200 MO.l 1 Marca d e flanco 5.2.1 Programa basado en diseño Grafcet Para practicar con los flancos plantearemos algunos ejercicios prácticos. Ejemplo 1: En este caso queremos controlar la puesta en marcha y parada del motor de la cinta de palets, además de la señalización del piloto verde con un solo pulsador, el de marcha. • Condiciones de funcionamiento: - Con el circuito en reposo, se activará el piloto rojo (Q2.4). - Al accionar por primera vez el pulsador de marcha (10.2), se activará el piloto verde (Q2.2) de forma intermitente. - Al dejar de accionar el pulsador de marcha (10.2), el piloto verde (Q2.2) se mantendrá funcionando de forma permanente y además se pondrá en marcha el motor de la cinta de palets (Ql.1). - Al accionar de nuevo el pulsador de marcha (1 0.2), dejarán de funcionar tanto el piloto verde (Q2.2) como el motor de la cinta de palets (Ql.1) y se activará de nuevo el piloto rojo (Q2.4). • Desarrollo del Grafcet A continuación, se presenta el Grafcet que da respuesta al enunciado dado: M0.0 M0.1 M0.2 Intermitencia 1 Hz M8191.S Accion ar pulsado r d e marcha (FP) 10.2 (FP) Disyuntor M 2 13.0 171
  • 178.
    Unidad 5 -Aplicaciones con flancos 172 • Programa en diagrama de contactos El programa que responde al diseño del Grafcet dado sería el siguiente: • Activación de etapas • Segmento 1: JCtiv aCJ6n de la e.upa 1 ydes.actiV11ción de lo e-upe O 'IIM"IOO.O ,110.2 'IIM"I 00.1 "Etapa_oo· ·s2_MNlOiA" "Etapa_o, · 'IIM30.0 "FlHICO 1 " 'IM1 00.0 1- I ------11 p 1- I -�---------' ¡ S }------t "Eta p R •-� �------------1. ,------, Fig. 5.18a • Segmento 2: Activación de lo eupa 2 ydesactive.ción de la Mapa 1 'IIM1 00.1 "Etapa_01 " ,110.2 'IIM"I 00.2 "S2_MAACHA' "Etapa_02" 'IIM1 00.1 ����-� ; S )------t 'Eta p R •- � �----------...... . ,------, Fig. 5.18b • Segmento 3: .Activoc.ión de to eupa Oydesect1vación de la eupa 2 'IM1 00.2 "Etapa_02" '1110.2 'IM100.0 ·s2_MARCHA" "Etapa_oo· 'IIM30.1 "FL'NCO 2" 'IIM"I00.2 I-------II P 1--- 1 �-----l ¡ S )------t 'Eta p R •-� �------------1- ,------, Fig. 5.18c • Activación de salidas • Segmento 4: M:itor cinta paleu '!113.0 'F2_ PROTECCION MOTOR PNETS' • Segmento 5: Pilotode ,efiali:ación verde 'IM100.1 'Etapa_01 ' 'IIM!191 .5 'Clocl(_J Hz" '!IQ1.1 'K1 M..MOTOR CINTAPA!IT )------t '!IQ2.2 "H1_tRDE' 1--------11 1- 1 --y----------- 1 )------t 'IIM"I00.2 "Etapa_02" 1 • Segmento 6: Piloto de sefiedi.mdón rojo '!IQU "H3_ROJO" )------t µ:_1-�-g.____________________---t • Activación de la etapa inicial Fig. 5.19a Fig. 5.19b Fig. 5.19c En el OB100 se debe programar la activación de la etapa inicial, que tanto puede ser con la variable FirstScan como con la variable Always_True: J
  • 179.
    ) ' ) ' ) ' ) ' Unidad 5 -Aplicaciones con flancos 'IM8190_0 •FirstScen• 'IM100_0 "Etapa_oo• 1---�----------------1 � }-------t 'IM100_1 "Eta pa_o, • '--------------------1( RESET_BF r-' 2 Fig. 5.20 • Llamada desde el 0B1 a la función FCl donde tenemos el programa 1 "G�cet" � EN EN0 -----------------------1 Fig. 5.21 • Comprobación del funcionamiento con maqueta de simulación 3D Control del proceso Para hacer este ejercicio tan solo hemos de utilizar el pulsador MARCHA y el disyuntor M2 de protección del motor de la cinta en el panel Control del proceso para controlar el funcionamiento del motor de la cinta de palets: (f ■r. �.· EMERGENCIA PARO MAROIA AUT,'MAN AOC Ml ■ ■ ■ ■.· Fig. 5.22 A continuación observaremos en el simulador 3D cómo el motor de la cinta de palets responde al funcionamiento programado, así como la señalización del estado del proceso mediante los pilotos ROJO y VERDE de la baliza: Fig. 5.23 Ejemplo 2: En este segundo ejemplo tenemos un sistema formado por una cinta transportadora con un motor que desplaza los palets. Este motor está controlado por un contactor y protegido por un disyuntor magnetotérmico, además de un cilindro de doble efecto que realiza un desplazamiento horizontal controlado por una electroválvula biestable y que dispone de dos detectores magnéticos para determinar la posición, de reposo o de avance. • Condiciones de funcionamiento: - Al poner en marcha el sistema, funcionará el piloto rojo (Q2.4). - Al accionar el pulsador de marcha (10.2), si no accionamos el de paro (10.1) y con el disyuntor magnetotérmico del motor de la cinta de palets rearmado 173
  • 180.
    Unidad 5 -Aplicaciones con flancos 174 (13.0) además de que el cilindro horizontal se encuentre en la posición de reposo (derecha) (10.6), se pondrá en marcha el motor que controla la cinta que desplaza el palet (Ql.1), indicándose ese estado mediante el funcionamiento del piloto verde (Q2.2). Esto ocurrirá aunque el palet esté en zona de carga, detectando el sensor de palets (12.4). En ese momento pueden ocurrir dos cosas: o Que falle el motor, con lo cual el disyuntor magnetotérmico (13.0) se disparará provocando que el motor se detenga, dejando de funcionar el piloto verde (Q2.2) y poniéndose en funcionamiento el piloto amarillo (Q2.1) de forma intermitente (1 Hz), o bien que se accione el pulsador de paro (10.1) y en este caso el piloto que funcionará de forma permanente será solo el azul (Q2.3). Al rearmar el disyuntor magnetotérmico (3.0), dejará de funcionar el piloto amarillo (Q2.1) y funcionará el piloto azul (Q2.3), a la espera de accionar el pulsador ACK (13.1). En ese momento dejará de funcionar el piloto azul (Q2.3), se pondrá en marcha el piloto rojo (Q2.4) y el sistema quedará preparado para iniciar un nuevo ciclo. o Que el motor funcione correctamente. En este caso, el palet transportado por la cinta (Ql.1) alcanzará a la zona de carga, donde el detector de palets (12.4) provocará la parada del motor. En todo momento podemos detener el motor de la cinta al accionar el pulsador de paro (10.1). Una vez que el motor de la cinta (Ql.1) se encuentra detenido, el cilindro del eje horizontal se desplazará hacia la posición de avance (izquierda) (Q0.1). - Cuando el cilindro del eje horizontal alcance la posición de avance (izquierda) (10.7), este retornará a la posición de reposo (derecha) (Q0.2). - Cuando el cilindro del eje horizontal alcance la posición de reposo (derecha) (10.6), se pondrá en funcionamiento el piloto rojo (Q2.4), el sistema quedará preparado para iniciar un nuevo ciclo y será cuando el piloto verde (Q2.2) deje de funcionar. - Al finalizar completamente el ciclo, es decir, cuando el cilindro del eje horizontal ha vuelto a su posición de reposo, se deberá contabilizar el número de palets procesados mediante un contador que se visualizará en el display de piezas procesadas sin grabado (MW7016). La puesta a cero de dicho contador se realizará accionando el pulsador de reset cuando el proceso se encuentre en reposo al inicio. • Plano de situación En la siguiente figura se indican en el simulador 30 los diferentes dispositivos que intervienen en el ejemplo planteado: - Cilindro del eje horizontal. Baliza de señalización. Detector de palets. Cinta transportadora de palets. Cilindro eje honzontal Fig. 5.24 '- '---' ,...__,, ....___., '-' .._,, _, .._/ _, '---' '--"' '----' '----' '-./ '--' '---"
  • 181.
    ) ., ' ' ' ) ) ) ' ' ' Unidad 5 -Aplicaciones con flancos • Desarrollo del Grafcet A continuación, se presenta el Grafcet que da respuesta al enunciado dado. • MO.O M0.1 M0.2 M0.3 M0.4 El dlildro horizontal esta en la derecha (10.6) Pulsador de reset (l2.6) f-"""-"-�---+-1 NC CTU COl R Puesta a cero del contador El disyu nlDr ha saltado o se acciona el pulsador de paro (13.0 + 10.1) Intermitente (M8191.S) y d is',lntorsaltado (l3.0) Oisyuntorrearmado (13.0) 2.3 Piloto azul El disyu ntoresta rearmado y pulsamos N;K{l 3.0 • 1 3,1¡ Programa en diagrama de contactos El programa que responde al diseño del Grafcet dado sería el siguiente: • Activación de etapas Segmento 1: Conexión de la etapa 1 ydesconexión de la etapa º -------------� 'IMO.O ºETAPA Oº '1113.0 "F2_ POOl!CCION lvlJlOR PALETS" 'll0.6 "B3_b0 VENTOSA "IM0.1 DERECHAº "ETAPA 1 " �:� "APA O º R )---, Segmento 2: Conexión de la etapu 2ydes.conexiónde la etapa 1 W0 .1 "ET APA 1 " 'll2.4 " B l 5 PALET W0.2 CAAGA" "ETAPA 2" 1-----l P t-- 1 �------!;S >------ W30.0 "FLANCO 1 • W0.1 ._______________·_ E..¡ T:� Segmento 3: Conexión de la eta pa S ydesconexión de IB eta pa 1 W0.1 "ETAPA 1 • 'Ml.O " F2_ PROlECCION MOlOR PALETS• W05 "ETAPA S" Ll�� - 1 ---�L Fig. 5.25a Fig. 5.25b Fig. 5.25c 175
  • 182.
    Unidad 5 -Aplicaciones con flancos 176 • Segmento 4: Cone.xi6n de la eupe O ydesconexión de la etapa 5 'IM0.5 "ETAPA S" 113.0 "F2_ PROTECCION MOTOR PALE15• 113.1 ·ss_puLSADOR ACK" 'IMO.O "ETAP A O" �--------_, �'� • Segmento 5: Conexión de la etapa 3 ydesconexión de la etapa 2 'IM0.2 "ETAPA 2" "l,Q1.1 "K1 M_MOTOR 'IM0.3 CINTA PALET "ETAPA 3" 'IM0.2 Fig. 5.25d ---�---.--------4 ; S }----< "E T AP R� .._____________,_ ,----------- Fig. S.2Se • Segmento 6: Conexión de la eta pa 4 ydesconexión de- la eta pa 3 'IM0.3 "ETAPA 3" 110.7 "B4_b1 VENTOSA IZQUIERDA" 'IM0.4 "ETAPA 4" 'IM0.3 ; s }----< "E T AP R� ._____________,_ ,----------- Fig. S.2Sf • Segmento 7: Conexión de- la etapa o y desconexión de la etapa 4 'IM0.4 "ETAPA 4" 110.6 "B3_b0 VENTOSA DERECHA" 'IM0.0 "ETAPA O" 'IM0.4 ; s }----< "E T AP R A � ._____________,_ ,----------- Fig. 5.25g • Activación de salidas Segmento 8: Eje horizontal (cilindro ventosa) a la posición de ava nce- (13:1uierda) "l,Q0.1 'IM0.3 "Y2 VENTOSA A PA , _ 3 _ " ---------------------- A - I Z -{ - QUIERDA " � }----< Fig. 5.26a Segmento 9: Eje horimntal (cilindro ventosa) a la posición de avance- (derecha) APA 4" "l,Q0.2 "Y3_VENTOSA A DERECHA" L'IM0.4 1-----------------------1 }----< Fig. 5.26b Segmento 10: C.on�)06n motor cinta U1Mporti,dora d� p,el�u. 'IIMJ.1 N'A 1 • '!113.0 "F2 PROTECCION MOTOR P!'liTS" 1------l 'IQ1.1 "K1 M_MOTOR ONTA PAI.IT }----< Fig. 5.26c .....: '----'
  • 183.
    ' ' ' ) ' í ' Unidad 5 -Aplicaciones con flancos Segmento 1 1 : Señ1li:adón fallo en motor, dis)'Untor m11gento tén,,1co disparado "F2 'IMl 5 'IMl191 .5 PROTECCJON '!IQ2.1 µ '113.0 APA L . s _ ·____· _ c � lod<- � 1 Hz" ____ M O _ r _ o R 1.n PA1..ET __ s· ________ _ · _ H _ o -1 _ _llo· � � >-- Fig. 5.26d Segmento 1 2: Conexión d!' 111 señaliZBción proceso en marcha con p _ ilo _ , _ ,. _ nl _ • ____ 'IM).1 '!IQ2.2 APA 1 ' "Hl_�RDE' 1----------------------1 s >-- Fig. S.26e Segmento 13: �sconexióndelo señalillltiónproce-so en m1rch1 con pilotVl!'rde 'IMJ.0 '!IQ2.2 APA O" "Hl_�RDE' 1---------------------I R )-- Fig. 5.26f Segmento 14: Señali:zición orden de paro de1 motor �----�----�-------' '113.0 "F2 'IMJ5 PROTECCION '!IQ2.3 APA L s _ ·___ M O _ r ...¡ o R PAI..ET '----_ s _ · _______________· _ H -4 2_ AWL" � � )-- Fig. 5.26g Segmento 1 5: Piloto de señ11imción rojo. proceso en reposo 'IMJ.0 APA O" '!IQ2.A "H3_ROJO" 1-------------------------1 >-- Fig. 5.26h • Programación de los contadores Segmento 16: Coma¡e yvisualimción de palets procesados yreset del c _ on _ ta _ d _ o_ , --------� '!11)81 "DB_CTU_co 1 · 'IMJ.A CTU "ETAPA4" lnt N 1---------- cu o ------------- 'IM!o.1 "FLANCO 2" 'IMJ.0 "ETAPA O" '112.6 "S4_RESIT f--- R 0 - f'II • Activación de la etapa inicial 'IMN7016 "PR O CESADAS O/ - SIN GRABADO" En el OB100 se debe programar la activación de la etapa inicial: Segmento 5: Activa ción de la eta pa inicial ydesactiva ción de todas las demes 'XM8190.0 *FirstScan• 'XM0.0 "ETAPA O" i---�------------------11 s >-- 'XM0.1 "ETAPA 1 • �-------------------1 ( RESET _BF )-< 5 Fig. 5.27 Fig. 5.28 • Llamada desde el OB1 a la función FCl donde tenemos el programa 1 . "G�et" � EN ENO -----------------------------t Fig. 5.29 177
  • 184.
    Unidad 5 -Aplicaciones con flancos 178 • Comprobación del funcionamiento con maqueta de simulación 3D Ejercicio Para hacer este ejercicio tan solo hemos de utilizar el pulsador MARCHA, el pulsador ACK y el disyuntor M2 de protección del motor de la cinta en el panel Control del proceso para poder controlar el funcionamiento del motor de la cinta de palets y del cilindro del eje horizontal: ORDEN EN LA ACTIVACIÓN DE ENTRADAS Control del proceso (i IJ■� �¡;�� EMERGENOA PARO MARO.A AVTfMAH ACI( Ml ■ ■..; 5204-420 S2Ut21 S22-M22 SD-HD Sl.4-H2◄ M2 Fig. 5.30 Queremos asegurar que los movimientos de forma manual de dos cilindros de un mismo manipulador, el de grabado, no generen ninguna colisión y se realicen en el orden correcto. Si se actúa de forma apropiada sobre la secuencia de accionamiento de los dos selectores, se iluminará el piloto verde y se realizará la secuencia con los movimientos de los cilindros. En el caso de actuar de forma incorrecta, ya sea en la conexión o en la desconexión de los selectores, se señalizará con el piloto amarillo funcionando de forma intermitente y no realizando ningún movimiento. Condiciones de funcionamiento: • Al poner en marcha el sistema, se pondrá en funcionamiento el piloto rojo. • Al accionar el pulsador de marcha, si tanto el cilindro multiposicional grande como el cilindro pequeño se encuentran en reposo (atrás), se realizará el desplazamiento del cilindro multiposicional pequeño a la posición de avance. En esta situación actuaremos sobre los selectores de control manual de ambos cilindros. • A continuación, nos podemos encontrar con dos posibilidades: o Que la secuencia de accionamiento de los dos selectores se realice de forma correcta, que es, en primer lugar el selector manual del cilindro multiposicional pequeño y a continuación el selector del manual del cilindro multiposicional grande. Entonces se realizarán los dos movimientos de forma simultánea, cilindro multipequeño a retroceso (dentro) y cilindro multiposicional en avance (fuera), señalizándose en todo momento con el piloto verde en funcionamiento. Cuando ambos cilindros hayan alcanzado su posición, el piloto verde funcionará de forma intermitente, o Que la secuencia de accionamiento de los dos selectores se realice de forma incorrecta, es decir, que en primer lugar accionemos el selector manual del cilindro multiposicional grande y a continuación el selector del manual del cilindro multiposicional pequeño. En este caso, no se realizará ningún movimiento, funcionando de forma intermitente el piloto amarillo. Para salir de esta situación se deberán tener los dos selectores en posición de reposo (OFF) y accionar el pulsador ACK, continuando el piloto amarillo de forma intermitente. El cilindro marcador se recogerá a la posición de reposo (arriba) y llegando a este estado el proceso quedará al inicio para un nuevo ciclo con el piloto rojo en funcionamiento.
  • 185.
    ' ' ' ' ' ' í ' l í í ) ) • Unidad 5 -Aplicaciones con flancos Si hemos hecho la secuencia correcta y está funcionando el piloto verde intermitente, pueden ocurrir dos cosas: o Que desconecte los dos selectores siguiendo la secuencia correcta, esto es, primero el selector manual del multigrande y después el selector manual del multipequeño. Así el cilindro multigrande retrocederá hasta su posición de reposo, funcionando a su vez el piloto verde. Cuando el proceso llega a este estado, queda al inicio para un nuevo ciclo, teniendo el piloto rojo en funcionamiento. o Que desconecte los dos selectores siguiendo la secuencia incorrecta, es decir, primero el selector manual del multipequeño y después el selector manual del multigrande. En este caso funcionará intermitentemente el piloto amarillo. Para salir de esta situación se deberán tener los dos selectores en posición de reposo y accionar el pulsador ACK, continuando el piloto amarillo de forma intermitente. El cilindro marcador se recogerá a la posición de reposo (arriba) y llegando a este estado el proceso quedará al inicio para un nuevo ciclo con el piloto rojo en funcionamiento. Cilindro multiposicional Baliza pequeño Cilindro multiposicional grande Relación de entradas y salidas: ENTRADAS SALIDAS Dirección Dispositivo Dirección Dispositivo 10.2 514 Pulsador Marcha Q0.3 YS Cilindro multiposicional pequeño a la posición de avance (fuera) 11.0 B5 Cilindro multipequeño en reposo (dentro) Q0.4 YS Cilindro multiposicional grande a la posición de avance (fuera) 11.1 B6 Cilindro multipequeño en avance (fuera) Q2.1 H0 Piloto amarillo 11.2 B7 Cilindro multigrande en reposo (dentro) Q2.2 H1 Piloto verde 11.3 B8 Cilindro multigrande en avance (fuera) Q2.3 H2 Piloto azul 13.1 SS Pulsador ACK Q2.4 H3 Piloto rojo 14.3 S12 Selector manual cilindro multipequeño 14.4 S13 Selector manual cilindro multigrande Realizar: Diseño del Grafcet. Implementación a programa del PLC. • • • Comprobación del funcionamiento mediante la maqueta de simulación 3D. 179
  • 186.
  • 187.
    ' ' ' ·, ' ' ' ' ' ' Unidad 6 -Transferencia de datos y funciones matemáticas Unidad 6 Transferencia de datos y funciones matemáticas - ... r----.. - - • --.. En este capítulo: 6.1 Funciones de transferencia de datos 6.1.1 Instrucción MOVE 6.1.2 Funciones de transferencia en un Grafcet 6.2 Funciones matemáticas 6.2.1 Operaciones básicas ADD, SUB, MUL y DIV 6.2.2 Instrucciones de incrementar INC y decrementar DEC 6.2.3 Operaciones trigonométricas SIN, COS, TAN, ASIN, ACOS, ATAN 6.2.4 Operaciones exponenciales SQR, SQRT, EXPT 6.2.5 Instrucción CALCULATE 6.2.6 Funciones MIN, MAX y LIM 6.2.7 Funciones matemáticas en un Grafcet .,. _. 6.3 Programación en Grafcet (V) 6.3.1 Tipo de secuencia Trabajos paralelos o Bifurcación en Y 6.3.2 Programa basado en diseño Grafcet 6.3.3 Grafcet paralelos y sincronización de Grafcet 6.3.4 Programa basado en diseño Grafcet Ejercicio propuesto 181
  • 188.
    Unidad 6 -Transferencia de datos y funciones matemáticas Recuerda • • • Las instrucciones de transferencia de datos se pueden utilizar cuando necesitamos copiar un dato en un registro. El dato puede ser una constante o bien el que pueda contener otro registro. Recuerda • • • La instrucción MOVE copia un dato desde un registro origen a otro registro destino. El registro origen puede ser también una constante y como registro destino podemos configurar varios. 182 6.1 Funciones de transferencia de datos Las funciones de transferencia de datos permiten leer datos de uno o varios registros y copiarlos en otro u otros registros Dentro de la carpeta Transferencia del catálogo Instrucciones básicas podemos encontrar todos los tipos de transferencia que se pueden programar en un 57- 1200, y que son las siguientes: ,.. � Tra nsferencia � MOVE � Deserie lize � Seria li.!l � MOVE_BLK � MOVE_BLK_W•,RJANT Copia r va lar Deseria lim r Sería lia r Copiar líree Copi a r área � UMOVE_BLK � FILL_BLK � UFILL_BLK � SWAP 6.1.1 Instrucción MOVE Copia r llrea sin interrupciones Rellene r área Rellene r área sin interrupciones Ce mbia r disposición Fig. 6.1 MOVE La instrucción MOVE copia un elemento de datos individual que se encuentra en un Registro_Origen, introducido a través del parámetro IN, al Registro_Destino introducido en el parámetro OUTl. ------ EN - - - ---- ºRegistro_Origen º - IN ºRegistro_ ,¡. O UT1 - Destino" Fig. 6.2 También es importante resaltar que podemos copiar el mismo registro introducido a través de la entrada IN en MOVE varios registros indicados a través de los parámetros OUTl, OUT2, OUT3... Para poder conseguir ampliando el número de parámetros de salida tan solo se ha de ir pulsando sobre el icono amarillo que aparece a la izquierda de la última salida OUTx configurada. ------ EN - _ "Regislro_Origen" - 1N "Regi,trc_ OUT1 - Destine· "Regirnc_ OUl2,- Destinc_,2· "Registro_ ¡} OUl3 Destino_3" Fig. 6.3 Para eliminar una salida que hayamos añadido, tan solo hemos de tener seleccionada la salida a eliminar y pulsar la tecla Supr, o bien pulsar el botón secundario del ratón y elegir la opción Borrar del menú contextual: Odnir-..iHutble C1.rl•"-1'yúHI . -.,1- -0- ® ... .., Cllmbí1r nombre deo 11 v1 rí11 ble_ Ctrl+Mllyús+T Re1sign1r vari1ble_ Ctr4-Ml)ÚS+-P m1110 .,.,, bloque: "Moin Prog )( Cortar :im'!nieno 11 Copiar 3 Segmento 1: )( Peg1r Bcr ar � u�r Ir , lni,rmadon de referenciBs cru::!!du �:,ls...F 1 t MOW t4l lnseru r segmento Ctrl"-R EN - ln,erur segmento At. IN EJ lns.etuJr cuadro ,., ,do MllyúJ.•fS 4) 0 � lnsert1 r nlid1 Ctri+Ml�s,1,,3 Fig. 6.4 V J J J J
  • 189.
    ' ' 1 ' ' ' 1 ' 1 ' ' ' ' ' ' ' ' ' ' ' ' ' ' Recuerda • •• La instrucción MOVE se 1 puede programar tanto de forma , incondicional como , condicional y para ello tan solo debemos , poner la condición en la línea del parámetro ' de entrada «EN». ' ' ' ' ' ' Unidad 6 - Transferencia de datos y funciones matemáticas La instrucción MOVE se puede programar de forma condicional o incondicional y para ello tan solo se necesita incluir la condición en la línea de entrada EN. Por ejemplo, se desea leer el valor contenido en el registro PEDIDOS SIN GRABADO (MW7008) y lo queremos copiar en los registros siguientes: • PROCESADAS ROJAS • ROCESADAS VERDES • PROCESADAS AMARILLAS a) Incondicional (MW7010). (MW7014). (MW7012). Para que sea incondicional no se debe programar nada en la línea que corresponde a la entrada EN: MOVE 1------ EN 'KMW7008 'KMW7010 "PEDIDO SIN "PRDCESADAS GRABADOº -IN OUTI - ROJAS" b) Condicional 'KMW7014 "PROCESADAS ou12 - VERDE" 'KMW7012 "PROCESADAS <f OU13 - MNRJLLAS" Fig. 6.5 Para que sea condicional se debe programar la condición en la línea que corresponde a la entrada EN: '110.3 •53 SELECTOR AUrorWJ.1· MoVE f----- EN 'IMW1008 ºPEDIDO SIN GRABADO• - IN 'WW.1010 ªPROCESADAS oun - ROJASª 'WW1014 "PROCESADAS OU12 - VERDE" "IMW1012 •PROCESADAS ">� 0U13 - AAWUUASª Fig. 6.6 Como hemos podido comprobar, la programación de la condición es totalmente opcional, al igual que programar la activación con condición o no en la salida ENO de la función MOVE: '110.3 "S3_SELECTOR AU101MAN" MOVE -V..81 9 1 5 "Clock_1 Hz" f--- EN 'KMW7008 "PEDIDO SIN GRABADO" -IN 'KMW7010 "PROCESADAS OUTI - ROJAS • 'JMW7014 ºPROCESADAS ou12 - VERDE0 'JMW70 1 2 "PROCESADAS ..� ou13 - AMO.R1LLAS. 'IQ22 "H1_VERDE" Fig. 6.7 183
  • 190.
    Unidad 6 -Transferencia de datos y funciones matemáticas on-, (IN) BYTE WORD DWORD SINT USINT INT UINT DINT UDINT REAL LREAL TIME DATE TOD DTL CHAR WCHAR carácter de una cadena1> JW1AyZl STRUCT Tipo de dalos PLC (UDl) IEC_TIMER IEC_SCOUNTER IEC_USCOUNTER IEC_COUNTER IEC_UCOUNTER IEC_DCOUNTER IEC_UDCOUNTER 184 En el caso anterior funcionará el piloto verde (Q2.2) de forma intermitente cuando se esté ejecutando la función MOVE. Esto es, cuando esté activado el selector AUT/MAN (10.3). A continuación se muestran los tipos de datos que se pueden utilizar en los parámetros origen (IN) y destino (OUTl): Dastlno (OUT1) Con wrfficadón CEI Sin wrfficadón CEI BYTE, WORD, DWORD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE ,TOD, CHAR WORD, DWORD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD, CHAR DWORD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE,TOD, CHAR SINT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD USINT, UINT, UDINT BYTE,WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD INT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD UINT, UDINT BYTE,WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD DINT BYTE,WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD UDINT BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD REAL DWORD, REAL LREAL LREAL TIME BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME DATE BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, DATE TOD BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TOD DTL DTL CHAR BYTE, WORD, OWORO, CH.AR, carácter de una cadena1> WCHAR BYTE, WORD, DWORD, CHAR. WCHAR. carácter de una cadena1> carácterde una cadena CHAR, WCHAR, carácterde una cadena N>RAY N>RAY STRUCT STRUCT Tipo de datos PLC (UDl) Tipo de dalos PLC (UDl) IEC_TIMER IEC_TIMER IEC_SCOUNTER IEC_SCOUNTER IEC_USCOUNTER IEC_USCOUNTER IEC_COUNTER IEC_COUNTER IEC_UCOUNTER IEC_UCOUNTER IEC_DCOUNTER IEC_DCOUNTER IEC_UDCOUNTER IEC_UDCOUNTER Fig. 6.8 6.1.2 Funciones de transferencia en un Grafcet La función de transferencia estudiada MOVE se puede utilizar en cualquier proceso y en un Grafcet en forma de acción asociada. Puede tener diferentes aplicaciones, por ejemplo: En el flanco positivo de activación de la etapa, en la puesta a cero de un registro que se utiliza de contaje. MO.l FP MW200 = 0 Puesta a cero del registro d e contaje
  • 191.
    ' ' ' ' ' ' ' ) l ) ' ) ' ' l ' 1 ) ) ' ' ' ' ' Recuerda • •• La instrucción MOVE programada en un Grafcet nos puede ser útil, por ejemplo, para poder poner a «O» el valor de un contaje, para forzar una etapa concreta o para guardar un valor. Unidad 6 - Transferencia de datos y funciones matemáticas MW50 = 4 Forzado de un Grafcet a una etapa concreta. Por ejemplo, un Grafcet de 12 N Forzado del g-afcet a la etapa 10 etapas en la que cada una de ellas está asociada a una marca correlativa iniciada en la MSO.O, es decir, la etapa O (MSO.O), la etapa 1 (MS0.1)..., y que independientemente de la etapa actual activa, el Grafcet se posicione a la etapa 10 (M51.2). Por tanto, debemos cargar en el registro MWSO el valor 4. - Guardar un valor de un registro en otro. Por ejemplo, guardar un valor, en el registro D810.DBDSO, de una señal N DBlO.DBDSO = MDlOO Guardar el vabrde una señal analog. analógica que una vez realizado el escalado la tenemos en el registro MD100. Ejemplo: Si nos fijamos en uno de los ejemplos representadosanteriormente como: 1Kl.3 "S3_SELECTOR AUlO/MAN" MOVE 'JM8191 5 •aock_1 Hz" f--- EN - E 'JMW7008 "PEDIDO SIN GRABADO" -IN 'JMW1010 "PROCESADAS DUTI ROJAS" 'IMW1014 "PROCESADAS OU12 -VERDE" 'JMW1012 "PROCESADAS s� OU13 -AMARILLAS" 1Q2.2 "H1_VERDE" )----, Y lo queremos representar en un Grafcet, sería: N MW7008=MW7010 Procesadas rojas N MW7006=MW7010 Procesadas verdes N MW7012 =MW7010 Procesadas amél'"illas Intermitente (M8191.S) NC l--"'"-' 2 ."'- 2 -------< Piloto verde Accion a- selector AUT/MAN a posCión "O" (I03) En el apartado de programar las acciones asociadas tendremos: Fig. 6.9a 185
  • 192.
    Unidad 6 -Transferencia de datos y funciones matemáticas Recuerda • • • Las funciones matemáticas nos permiten realizar cálculos tanto con operaciones básicas (sumar, restar, multiplicar y dividir) como avanzadas (raíz cuadrada, potencia, logaritmos, funciones trigonométricas. . .) . 186 "I.M0.1 •ETAPA 1 • MOVE f--- EN - "/MW,008 "I.MW7010 "PEDIDO SIN GRABADO" -IN "PROCESADAS OUTI - ROJAS' "/MW,014 'PROCESADAS OUl2 - VERDE" "I.MWJ0 1 2 " PROCESADAS ,� OUT3 - AMARILLAS• "I.M0.1 APA 1• "I.M8191.5 "clock_1 Hl 'Y,Q2.2 •H1_vEROE" 1-------1/1-----------------1 )------, 6.2 Funciones matemáticas Fig. 6.9b Fig. 6.9c Las funciones matemáticas permiten realizar operaciones matemáticas, tanto con valores enteros, con o sin signo, como con valores reales, y guardar el resultado en el registro de salida indicado en el parámetro OUT. Dentro de la carpeta Funciones matemáticas del catálogo Instrucciones básicas podemos encontrar todos los tipos posibles de operaciones que se pueden programar y que son los siguientes: ,.. [fil Funciones matemáticas � CALCULA.lE � ADD � SUB � MJL � DIV � MOD � NEG � INC � DEC � ABS .. MIN .. MAX • urvtT � SQR � SQRT � LN � EXP � SIN � cos � TAN � ASIN � ACOS � ATAN � FRAC � EXPT Ca lcula r Sumar Resta r Multiplicar Dividir Obtener re.io de división Generar complemento a dos Incrementar Decrementa r Calculo r valor a bsoluto Determinar mínimo Determinar máximo Ajusta r valor límite Ca lcular cuadrado Ca lcula r ra ízcuadrada Ca lcula r logaritmo natura l Ca lcula r valor exponencia 1 Calcular va lor de seno Calcula r valor de coseno Ca lcula r va lor de tangente Ca lcular va lor de a ,coseno Calcular va lor de a rcocoseno Ca lcula r valor de a rcota ngente Determinar decimales Eleva r a potencia Fig. 6.10 6.2.1 Operaciones básicas ADD, SUB, MUL, DIV Este grupo de operaciones básicas tiene la misma estructura: «n» entradas (INx) de datos y una única salida (OUT) para el resultado. V J V
  • 193.
    1 ' ' ' ' ' 1 ' ' 1 ) ' 1 1 ' 1 1 1 1 ' 1 ' 1 Unidad 6 -Transferencia de datos y funciones matemáticas ADO SUB Ml.lL DIV 11u1o (ml 11u1o (ml lluto (ml llu1o (:ml --EN - EN El. - <?7?> IN1 OUT <71'1> <71'1> IN1 OUT <?'1?> <71?> INl OUT <7!?> OUT <71?> <171> 11!2 -� <71?> IN2 <71?> IN2 ,, 2 SUMA RESTA PRODUCTO COCIENTE Fig. 6.10a Fig. 6.10b Fig. 6.10c Fig. 6.10d Tanto la suma ADD como el producto MUL tienen la posibilidad de ampliar en número de entradas. Para ello, y de igual forma que hemos realizado anteriormente en la función MOVE, al pulsar sobre el icono amarillo que aparece a la derecha de una de las entradas iremos aumentando el número, pero esto no sucede en las operaciones de resta SUB y cociente DIV, en las que como es obvio tan solo se admiten dos entradas. Desplegando el campo del tipo de datos AUTO (???) podemos seleccionar entre: ADD 1 Au1D I· ---1E.l •1• <?7?> _ lt, lnt <?7?> . . . Dlnt <?7?> - lt. Real - LReal USlnt Ulnt Slnt UDlnt Fig. 6.11 Donde cada opción tiene el siguiente significado: o Sint: enteros positivos y negativos de 8 bits (-128 a 127). o lnt: enteros positivos y negativos de 16 bits (-32768 a 32767). o Dint: enteros positivos y negativos de 32 bits (-2147483648 a +2147483647). o USlnt: enteros positivos de 8 bits (O a 255). o Ulnt: enteros positivos de 16 bits (de O a 65535). o UDint: enteros positivos de 32 bits (O a 4294967295). o Real: real de 32 bits (+1.175e-38 a +3.402e+38). o LReal: real de 64 bits (+2.225e-308 a +1.797e+308). Ejemplos: Queremos sumar los datos de los posibles pedidos de piezas (rojas, verdes, amarillas y sin grabado) y que el resultado se presente en el registro Procesadas sin grabado. Para ello, al insertar la función suma ADD veremos que tan solo cuenta con dos entradas de datos, pero la ampliaremos hasta obtener cuatro entradas y posteriormente introduciremos los diferentes registros en cada una de ellas y en la salida, obteniendo el siguiente resultado: 187
  • 194.
    Unidad 6 -Transferencia de datos y funciones matemáticas Recuerda • • • Las funciones matemáticas básicas, como sumar, restar, multiplicar y dividir, tienen la misma estructura, en la que podemos ampliar el número de valores de entrada, y tienen tan solo una salida para el resultado. 188 1110.2 "S2_MMCHA" AOD Aulo (lnt) --- EN - 'IMW7002 "PEDIDO ROJAS" - INl "PEDIDO VERDES" - IN2 'IMN7004 "PEDIDO -'toAMIUAS" - IN3 'IMN7008 "PEDIDO SIN G!Ve-'00" -IN4 •� -,o,o "PROCES-'OAS our -ROJAS" Fig. 6.12 Aquí hay que tener en cuenta que, al utilizar los registros asociados a los diferentes displays del simulador 3D para comprobar el funcionamiento, los valores de entrada han de ser enteros y deben dar un resultado también entero. En caso contrario, se visualizarán datos no coincidentes en el resultado final en la salida. Para la multiplicación realizaremos el mismo procedimiento que para la suma, pero pondremos un registro diferente para el resultado: 'II0.2 "S2_MMCHA" l&Jl Aulo(lnt) 1---- EN - 'IMW7002 "PEDIDO ROJAS" -IN1 'IMN7006 "PEDIDO VERDES" -IN2 v.tN7004 "PEDIDO IIMMll.ll6" - IN3 'IMN7008 "PEDIDO SIN GAABf-00" - IN4 •� v.tN7014 "PROCES-'OAS our-VERDE" Fig. 6.13 Para la resta y para la división tan solo se pueden utilizar dos entradas, por lo que podríamos hacer lo siguiente: 'II0.2 "S2_MMCHA" SUB Aulo (lnt) 1---- EN - "PEDIDO ROJAS" -1111 v.tN7006 "PEDIDO VERDES. - IN2 'liMNJ012 "PROCES-'OAS OUT 1'MMIUAS. 'II0.2 "S2_MMCHA" 0N Aulo (..,t) t---- EN - 'liMN7008 "PEOtDO SN GRM,000" -INl 'IMW7002 "PEDIDO ROJAS" �IN2 'liMN7016 "PROCES-'OAS our-sN Give-'00" Al comprobar el funcionamiento de este programa en el simulador 3D y visualizando el panel Registros de pedido y de contaje, podemos obtener, con los datos introducidos en los displays de la zona superior, los resultados de los displays de la zona inferior. Fig. 6.14 Fig. 6.15 Fig. 6.16 V V
  • 195.
    ' ' ' ' ' ' ' ' ' Unidad 6 -Transferencia de datos y funciones matemáticas 6.2.2 Instrucciones de incrementar INC y decrementar DEC Las instrucciones Incrementar y Decrementar permiten modificar el registro asociado al parámetro IN/OUT al siguiente valor superior o inferior, respectivamente, así como consultar el valor de ese mismo registro como resultado de la operación. Fig. 6.17a ..e lnt --- EN - •Regiuro• IN/OUT DEC lnt --- EN - •Registr0• IN/OUT Fig. 6.17b La entrada de habilitación EN de ambas instrucciones funciona por nivel, lo que indica que mientras la entrada EN de habilitación se encuentra activada, estará realizando la operación de incrementar o decrementar de forma continua. En función del tipo de datos elegido al desplegar ese parámetro de la instrucción, el registro a asociar deberá ser del mismo tipo. Pueden ser los siguientes: Sint, lnt, Dlnt, USint, Ulnt y UDlnt. Sabemos que cuando se sobrepasa su valor máximo, pasa al valor mínimo y, al contrario, al sobrepasar el valor mínimo, el valor actual pasará a tener el valor máximo. Ejemplo: En el siguiente ejemplo se muestra cómo mientras no se accione el selector AUT/MAN (10.3) al mantener accionado el pulsador de marcha (10.2), aparte de indicarlo con el piloto rojo de la baliza {Q2.4), el registro de piezas procesadas de color rojo {MW7010) irá incrementando su valor en cada ciclo de sean: '!110.3 ºS3_SElfCTOR /11.JTOIMIW" '!110.2 INC ºS2_MARCHA" lnt f--- EN - -,o,o ºPROCESIOAS ROJAS. -IN/OUT 'IIQ2.4 "H3_ROJOº )------o Fig. 6.18 Mientras que sin modificar el estado del selector AUT/MAN y si el pulsador que se acciona es el de ACK {13.1), aparte de señalizarlo con el piloto amarillo de la baliza {Q2.1), irá decrementando su valor en cada ciclo de sean: '!110.3 ºS3_SElfCTOR /11.JTOIM/W" '!113.1 ·ss_PUl5IOOR K.t<: OEC lnt f--- EN - -,o,o ºPROCESIOAS ROJAS. -IN/OUT --- 'IIQ2.1 º H0.fl,IAAJU.Oº )------o Fig. 6.19 Pero si lo que nos interesa es poder incrementar o decrementar el valor del registro de piezas rojas procesadas {MW7010) cada vez que se accione el pulsador de marcha (10.2) o el de ACK (13.1), respectivamente, debemos hacerlo aplicándole un flanco. En este caso positivo, como estamos trabajando con el mismo registro, ahora debemos modificar previamente el estado del selector AUT/MAN {10.3). Además, mientras estamos accionando el pulsador de marcha o el de ACK, se señaliza con los pilotos verde {Q2.2) y azul {Q2.3), respectivamente. Como se puede observar, estos pilotos ahora no se pueden programar como 189
  • 196.
    Unidad 6 -Transferencia de datos y funciones matemáticas Recuerda • • • Las instrucciones de incrementar (INC) y decrementar (DEC) funcionan por nivel. Por tanto, lo normal será programar en la entrada «EN» un flanco, de forma que pueda incrementar o decrementar una sola unidad cada vez que se cumpla la condición programad en la misma entrada. 190 antes en la salida ENO, ya que tan solo se verían en funcionamiento durante un sean, hecho que hace imposible poderlo visualizar: '!110.3 "S3_SELECTOR '!110.2 AfíO/MM "S2..MAACHA" p '!IM30.0 "FL'NCO 1 " '!110.2 "S2_MAACHA" '!110.3 '!113.1 "S3_SELECTOR ·ss_pul5J'OOR AfíO/MM K.K" p '!IM30.1 'FLANCO 2" '!113.1 'SS_p!JL5J'OOR K.K" INC lnt EN - '!IMll'7010 "PROCESl'OAS ROJAS" - IN/OUT DEC lnt EN - 'IW>V7010 "PROCESJ'OAS ROJAS" IN/OUT '11()2.2 "Hl_fROE" )----, Fig. 6.20 '11()2.3 "H2_./ZUL" )----, Fig. 6.21 Ahora además podemos añadir alguna instrucción de comparación para comprobar cuándo el valor actual del registro ha alcanzado o no un límite indicado, como puede ser 10. En la solución presentada, hacemos que se señalice mediante el funcionamiento intermitente (2 Hz) del piloto del pulsador de marcha (Q3.1) cuando el valor sea inferior a 10, mientras que cuando el valor sea superior, el piloto que funcionará intermitentemente será el correspondiente al piloto del pulsador de ACK (Q3.2): �;� -191.3 "Clod<_2Hz" '11()3.1 'H5]UL5l'OOR_ MARCHA" ,;t 1-- --- 1/1- ------------ --1 1 0 )----, OJAS" -191.3 "Clod<...2Hz" 'IIQ3.2 "H6_pUL5l'OOR_ K.K" � OCES:� l�t 1-- --- l/l- ------------ --1 10 >-- Fig. 6.22 Fig. 6.23 También podemos poner a O el valor actual mediante la instrucción MOVE: _RESET' K!VE r2.6 !--- EN - O -IN -,010 "PROCES/!OAS ,} oUTn-ROJAS" Fig. 6.24 En la solución presentada se realiza la inicialización del 0 11eg,,..,. d, p,aK1o y de contai< &i registro de piezas rojas procesadas al accionar el pulsador de reset (12.6), que corresponde al pulsador Reset de los Valores de producción del panel Registros de pedido y contaje del simulador 3D. Fig. 6.25 J J
  • 197.
    � ) , Recuerdo •• • "1 Las funciones trigonométricas, como seno, coseno y tangente además de sus inversas, tienen la misma estructura: disponen de una entrada para el valor al que se le quiere aplicar la función y una salida donde guardar el resultado. Recuerdo • • • Para trabajar con cualquiera de las funciones trigonométricas, tan solo podemos hacerlo con valores en formato REAL o LREAL. Unidad 6 - Transferencia de datos y funciones matemáticas 6.2.3 Operaciones trigonométricas SIN, COS, TAN, ASIN, ACOS, ATAN También podemos encontrar instrucciones para realizar operaciones trigonométricas, como la de seno, coseno y tangente, y también sus inversas como son arco seno, arco coseno y arco tangente: SIN m -- rn - f <?'!?> IN OUl <?!? Fig. 6.26a ASIN ??? -- EN - <??"!> · IN OU1 <???-. Fig. 6.26d cos ?1? -- rn - <1??> - 1N OUl <1??'. Fig. 6.26b ACOS m -- EN - <1??>- IN ou1 - <1?1 Fig. 6.26e TAN n? -- EN ­ <???> -,1N Fig. 6.26c AUIN m -- EN - <???'> --'IN ou1 - <1r Fig. 6.26f Como se observa en las figuras de las diferentes operaciones, los parámetros tanto de entrada como de salida son iguales. Es obvio, pues se le ha de indicar con qué registro o valor se quiere realizar la operación trigonométrica (IN) indicada y en qué registro se quiere guardar (OUT). La operación se podrá condicionar a través de la entrada EN. Se deberá elegir el tipo de datos con el que se vaya a trabajar y en todos los casos tan solo admite dos tipos: o Real: valores en coma flotante de 32 bits (+l.175e-38 a +3.402e+38). o LReal: valores en coma flotante de 64 bits (+2.225e-308 a +l.797e+308). Debemos señalar también que en todas estas funciones trigonométricas se ha de indicar el valor del dato (IN) en radianes y no en grados. Por tanto, sería conveniente realizar en primer lugar un cálculo de conversión de grados a radianes antes de aplicar la función trigonométrica. Por ejemplo, realizando el siguiente cálculo: DatOSgrados * 2 * rr: DatOradianes = 360 De este modo, tendríamos el siguiente programa: 1------ EN V,1)251) "Oato _Grados" -1Nl 2.0 IN2 Mil Real 3.141& - IN,3 �) ---------- EN V,1)200 ·-.,. OUT Grados-2•pr V,1)200 "Aodliar- Grados•2•pr -INl 360.0 -,INl DIV Real __, V,1)90 OUT - "Dato _P.adianes" Fig. 6.27 Ahora ya podemos aplicar cualquiera de las funciones trigonométricas y obtener un cálculo correcto. Por ejemplo, si hacemos el cálculo con 60 grados, tenemos que Dato_Grados = 60: 191
  • 198.
    Unidad 6 -Transferencia de datos y funciones matemáticas Recuerda • • • Las funciones exponenciales tienen todas la misma estructura: una entrada para el valor al que se quiere aplicar la función y una salida donde guardar el resultado. 192 'liM)250 ·0.tto_Grados· - IN1 "lwdiar- 2.0 - 112 OUT -Grados*2"'pf" 3.1416 - to .. > DIV Rnl EN - 'IM)90 OUT -"Oato_Radl,mes• Fig. 6.28 Y los cálculos trigonométricos resultarán ser los siguientes: SIN Real -- EN - '11Ml90 "Oato_Radianes· - IN cos Real EN - EN 'liM)90 "Dato_Radianes· - IN TAN Re•I '11Ml100 0/T -ºC.laJlo_SENO" 'liM)104 ºC.,laJlo 0/T -COSENO" '11Ml108 "C.,laJlo 0/T -Tl>NGENTE" ASIN Real EN - v.ll100 ºC.,laJlo_SENOº - IN ACDS Real 'IIM)112 oUT - �<::.1o_Mc_ Fig. 6.29a EN - 'liM)104 ºC.laJlo cosoo _ 1N '11Ml116 ºGalaJlo_MC_ OUT -COSENO° ATAN Real Fig. 6.29b EN - '11Ml108 ºC.,laJlo T.<NGENlF _ IN 'IM>120 011T _��- Fig. 6.29c 6.2.4 Operaciones exponenciales SQR, SQRT, EXPT Las instrucciones matemáticas para realizar operaciones exponenciales son: o SQR: calcular el cuadrado de un número. o SQRT: calcular la raíz cuadrada de un número. o EXPT: elevar a potencia, que permite elevar el valor de un número a la potencia de otro número. SQR m -- EN - <???> - IN OUT-<???> Fig. 6.30a SQRT m -- EN - <???> IN OUT -<???> Fig. 6.30b E><PT m 0 m -- EN - <??'?> - IN1 OUT <771'> <"ffl> - IN2 Fig. 6.30c A continuación presentamos un ejemplo con cada operación. Para poder comprobar correctamente el funcionamiento en el panel Registros de pedido y de contaje, se debe tener en cuenta que los datos introducidos en los displays de la fila superior Pedidos de producción nos deben dar un valor entero como resultado, por ejemplo: • Cálculo del cuadrado de un valor ,t,I W ,006 ºPEDIDO VERDES" SQR Aeel EN - e: ,t,IW7014 ºPROCESADAS VERDE" Fig. 6.31 V
  • 199.
    ' Recuerda •• • " ' 1 ' ' í ' Para trabajar con cualquiera de las funciones exponenciales, tan solo podemos hacerlo con valores en formato REAL. Unidad 6 - Transferencia de datos y funciones matemáticas • Cálculo de la raíz cuadrada de un valor 1 SQ� Ro,al -=4 E N - "PEDIDO AMAAILLAS" IN O T 'lMW/01 2 "PROCESADAS MWULLAS" • Elevar a potencia un valor de base sobre otro de exponente El<PT Rea l *• lnt EN ------ 'IMW7002 "PEDIDO ROJAS" INl 'IMWJ004 "PEDIDO 'lMW/010 "PROCESADAS OUT ROJAS" AMARILLAS" -.,.. IN .., __�----- Ejemplo: Fig. 6.32 Fig. 6.33 Deseamos realizar el cálculo de la potencia activa en una red trifásica para posteriormente utilizarla para el control de una salida analógica. La ecuación a calcular es la siguiente: P = .J3 * V * I * cos <p Para ello, debemos utilizar diferentes instrucciones estudiadas anteriormente. En primer lugar hemos de realizar la operación de la raíz cuadrada del valor 3 con la instrucción SQRT: SQ� Real !'•-,:-- 'IMDSO Fig. 6.34 A continuación, se calcula el producto de todos los factores que intervienen en la ecuación y se obtiene un resultado en valor real. Para poder visualizar este valor en el display de piezas Procesadas Rojas debemos pasarlo a valor entero (lnt), y para ello utilizamos la función ROUND, que redondea el valor en formato real indicado en el parámetro de entrada (IN) y lo muestra en el parámetro de salida (OUT) en formato entero (lnt). UUL Auto (IIHO EN - � IN1 OlJT - :::!ia• IIOUND IINI to lnt EN ----- 1'MD62 "IMW7010 ºPo'ttncia º - IN ºl'IIDCESADAS ------ � 1 - ROJAS º Fig. 6.35 193
  • 200.
    Unidad 6 -Transferencia de datos y funciones matemáticas Recuerda • • • Con la función CALCULATE se puede introducir una fórmula de cálculo utilizando diferentes operadores matemáticos, en los que todas sus variables corresponden a una de las entradas previamente configuradas. 194 Esta función ROUND la podemos encontrar dentro de la carpeta Conversión del catálogo Instrucciones básicas, entre otras funciones: ,.. Convenión éjj CONVEl!T Í!ll ROUND !!l! CEIL !!l! FlOOR i!ll lRIJNC l!ll SCAI.E_X Convertir valor �dondear número 1 �dondear un número en coma flotante al siguiente!' entero superior Rrdondear un número en coma flotante al siguiente entero in�rior Trunca r a entero Es:calar __ !!ÍI _ No _ RM _ _x _ N _ o _ rm _ a li _ ,., ___________ _J Fig. 6.36 Igual que hemos utilizado la función ROUND para realizar la conversión de un valor real a valor lnt, podemos utilizar también otras funciones de conversión equivalentes, como CONVERT, CEIL, FLOOR o TRUNC. 6.2.5 Instrucción CALCULATE Como hemos visto anteriormente, hemos utilizado diferentes funciones por separado para realizar un cálculo de una ecuación. Es obvio que a medida que la ecuación es más compleja, el número de funciones matemáticas a utilizar es mayor y en estos casos es posible que sea más conveniente hacer uso de la función CALCULATE, ya que aporta la ventaja de que podemos introducir la ecuación a calcular en una sola función: <l??> - JN2 �� CM.CIJI.Alf m OUT :- ,� · Fig. 6.37 liJ ou1 - <.n?> La función CALCULATE permite ampliar el número de entradas (INl, IN2, IN3, ...) para poder indicar a la función los datos que intervienen en la ecuación, y tiene una sola salida (OUT) donde presentará la solución. Pulsando sobre el icono calculadora que aparece dibujado en la parte superior derecha de la propia función aparecerá una ventana para introducir la ecuación: _..,, (lNl • INl) .. (INl · IN2) ..... .....do,in; Md. Or, XOr.s-p. Notfin'<', +, ·, •,/, �.1b1, Ntg, bJ,, ••. FT9c. t.n. Sin, �in, Cot, ACoJ, lln, ATln, Sqr, Sqrt. �nd. Ce1I, Floor. Ttunt: Fig. 6.38 1 Si se usan tan solo los parámetros de entrada (INl, IN2, IN3, ...) en combinación con las posibles instrucciones, se realizará el cálculo del resultado final. Ejemplo: Deseamos realizar el cálculo de la potencia activa en una red trifásica para posteriormente utilizarla para el control de una salida analógica. La ecuación a calcular es la siguiente: P = ✓3 * V * I * cos (fJ J
  • 201.
    1 � ' 1 ' ' ' ' � ' ' ' � ) Unidad 6- Transferencia de datos y funciones matemáticas Ahora tenemos que colocar en las diferentes entradas de la función CALCULATE el 3 (IN1), el --,. registro que contiene el valor de la tensión (IN2), el registro que contiene el valor de la intensidad (IN3) y ;;::-::! el registro que contiene el valor del cos p (IN4), y a continuación introducir la siguiente expresión: OUT:= SQRT(IN1) * (IN2) * (IN3) * (IN4) La instrucción será esta: Editar in�truccíón "Calrular" OUT:• SQRT(IN1)*{1N2 • N])•0N.4 Ejemplo: (INl • IN2) • (IN1 · !N2) Poslbles lnstrucdones para Real: <1?1> tN3 <11?> CALCULAlE 111 OUT:• Fig. 6.39 +, •, •,1, i'bt., Neg. hp, u, Frdc, Lo, Sin, A.Sin. Cos, N:.os, Tan, Alan, Sqr, Sqrt. Aound, Ceil, Floor, Trunc Fig. 6.40 El programa quedará de la siguiente forma: CM.CULA.ll ..., 1 "'"'" A.al io IM 1-----rn -------•· OUT,. SQRT/IN1r(INl)*(!Nl 30, IN1 1MD'2 'JMW1002 'l"fDIDOIIOJAS" 1Nl "lMW100◄ 'l"fOIOO AM'l,AIU,AS' IN) 0..8 · IN-1 •� ....., 1MW7010 "l'Offncia' tN 'MIOCESM>AS ____ OLIT IIOJAS" Fig. 6.41 El valor resultante de la función CALCULATE, a través del parámetro OUT, es el resultado final en formato real, y como lo queremos presentar en el display de piezas Procesadas Rojas debemos pasarlo a valor entero (lnt). Es por ello que utilizamos la función ROUND. Se puede observar en la instrucción CALCULATE como aparecen unos cuadrados de forma automática en les entradas IN2 e IN3, esto sucede porque ha detectado que en esas dos entradas, las variables asociadas son valores del tipo entero y dado que el formato de la instrucción es Real, la propia instrucción CALCULATE realiza la conversión de los datos de esas dos entradas al formato Real. 6.2.6 Funciones MIN, MAX y LIM Las instrucciones para la evaluación de los datos introducidos a través de sus entradas son: o MIN: da como resultado en su salida el valor mínimo de los presentados a través de los parámetros de entrada. o MAX: da como resultado en su salida el valor máximo de los presentados a través de los parámetros de entrada. o LIM: da como resultado un valor comprendido entre dos límites asociados a los parámetros de entrada (MAX y MIN), siendo estos los valores máximo y mínimo que podrá presentar en su salida (OUT). 195
  • 202.
    Unidad 6 -Transferencia de datos y funciones matemáticas Recuerda • • • La función «MIN» ofrece en su salida el valor inferior de los introducidos a través de sus entradas. Recuerda • • • La función «MAX» ofrece en su salida el valor superior de los introducidos a través de sus entradas. 196 M°' m --EN- <???>- IN1 OUT <?1'> <?11'>-IN.2 � Fig. 6.42a MAX m --EN- <?17>, IN1 OUT <111> <111>-tN2 l)'. Fig. 6.42b -rn LMlf m <1!1>• u.! OUT-<-11'» Fig. 6.42c A continuación, presentamos un ejemplo con cada función. Para poder comprobar correctamente el funcionamiento en el panel Registros de pedido y de contaje, se debe tener en cuenta que los datos introducidos en los displays de la fila superior Pedidos de producción nos deben dar un valor entero como resultado, por ejemplo: • Cálculo del valor mínimo En este ejemplo se trata de determinar cuál es el valor más pequeño de los tres que se asocian a las correspondientes entradas y para ello introduciremos los diferentes valores a través de los display del panel Registros de pedido y contaje: 11()3 "S3_SELEC10R AUlO/fvWI" WW7002 "PfDIDO ROJAS" WW700� "PEDIDO MAAAILLAS" WW7006 MIN lnt EN - e 011---------------- WW/016 IN1 "PROCESID,'S IN2 OU1- SIN GAABIIOO" "PfDIDO VERDES'- IN3 sf • Cálculo del valor máximo Fig. 6.43 En este ejemplo se trata de determinar cuál es el valor más grande de los tres que se asocian a las correspondientes entradas y para ello introduciremos los diferentes valores a través de los display del panel Registros de pedido y contaje: 1I03 "S3_SELEC10R MJlO/MIIN" MAX lnt rn- WW7002 WW/016 "PEDIDO ROJAS" IN1 "PROCESID,'S WW/004 "PEDIDO MMRILLAS"- IN2 WW/006 "PEDIDO VERDES•--, IN3 sf ou1- SIN GRABIIOO" • Control por valores límite Fig. 6.44 En este ejemplo se trata de controlar que el valor introducido (IN) se encuentre entre dos valores límites, inferior (MN) y superior (MX). Si el valor es correcto, se visualizará en el parámetro de salida (OUT), mientras que si el valor introducido (IN) está fuera de los valores límites, entonces presentará el valor límite que haya sido superado. Para comprobar el funcionamiento, introduciremos los diferentes valores a través de los display del panel Registros de pedido y contaje:
  • 203.
    ' ' ' ., ) ' ' ' ' ) ' ' ) ' Recuerda • •• La función «LIM» ofrece en su salida el mismo valor introducido a través de su entrada «IN», siempre que este se encuentre entre los valores límites «MIN» y «MAX»; en caso contrario, muestra en su salida «OUT» el valor superado. Recuerda • • • Algunas aplicaciones de operaciones matemáticas en un Grafcet nos pueden servir para: • Incrementar un registro. • Realizar un cálculo simple. • Realizar un cálculo complejo. Unidad 6 - Transferencia de datos y funciones matemáticas 'IMW7014 'IMW7006 "PROCESADAS "PEDIDOVERDES' -IN OU1-VERDE" 100-MX ..,,.W7002 "PEDIDO ROJAS" -,...i 'IMW/004 'PEDIDO MWIJLLAS" IN 'IMW7006 'PEDIDO VERDES' -MX 6.2.7 Funciones matemáticas en un Grafcet Fig. 6.45 Las diferentes funciones matemáticas se pueden utilizar en un Grafcet en forma de acción asociada, y pueden tener diferentes aplicaciones, como: - Aplicación de la función suma (ADD). En el flanco positivo de activación de la etapa incrementaremos una unidad Mwioo = Mwioo+ 1 MO.l FP 1---'-"����a...,-�,---t un registro que se utiliza de contaje. lncrementarunaun�adunregistro - Aplicación de una ecuación sencilla ejemplo, queremos realizar el siguiente cálculo: V= R * 1, donde: V (MD10), R (MD20) e 1 (MD30). con la función producto (MUL). Por Ml.S �lS N IMOl0 = MD20* MD30 � _ CálcubdeV=R•I - Aplicación de una ecuación compleja con la función calcular (CALCULATE). Por ejemplo, queremos realizar el siguiente cálculo: P = ✓3 * V * I * cos <p. Ejemplo: N Si nos fijamos en el último ejemplo representado anteriormente, como es el cálculo de la potencia, tendremos: W0.2 SQRT •sL,�· i.a1 r-EN Ni --------EN 3.0 IN 'VC>50 OUl '�IU' WW7002 '¡IEOIOOltOJAS" '"' _,... ·,rnlOO -·· IN3 •• '""' --------EN La representación en un Grafcet sería así: AOUNll IINI IOlnl MD62 = MDSO*MW7002*MW7004*0.8 CálcubdeP =V3 •V•1 • co.sq> MW7010=ROUNDMD62 Valor de P en formato en tero Acciona- pulsadorpél'o (iOT) 197
  • 204.
    Unidad 6 -Transferencia de datos y funciones matemáticas 198 En el apartado de programar las acciones asociadas tendremos: 11M0.1 SORT MUL 'ETAPA 1• flaal Aia>{INI) f----•• -------•• -------EN -- 3.0 IN 'IMDSO our "A111_3· 1M)S0 WC>62 •kf¡z_a- IN1 our ·,a1enci1° WW7002 "PEOIOOIIOJAS" IN2 _,,.. 'PEOIOO AMAAUASº IN3 0.8 IN4 � 6.3 Programación en Grafcet (V) _,., •,-_ncia' IN "'º"° flNI ID 1111: "IMW7010 ºPROCESADAS OUT M>.IAS" En esta cuarta parte de Grafcet explicamos, además de integrar las funciones estudiadas, cómo son las funciones de transferencia y matemáticas en un diseño realizado en Grafcet. También estudiaremos un nuevo tipo de estructura como es la de trabajos paralelos o también llamado bifurcación en Y. 6.3.1 Tipo de secuencia Trabajos paralelos o Bifurcación en Y Este tipo de secuencia llamada Trabajos paralelos, que también se conoce como Bifurcación en Y o Secuencias simultáneas, ofrece la posibilidad de que la evolución del Grafcet siga por diferentes caminos de forma simultánea. Estas secuencias se utilizan cuando un proceso tiene la necesidad de realizar diferentes operaciones de forma simultánea, de modo que cada una de esas operaciones puede tener una duración diferente en el tiempo. Es entonces cuando diseñamos un Grafcet con bifurcación en Y. Tanto la divergencia del Grafcet para entrar en una bifurcación en Y como la convergencia se indican con una doble línea. Para entrar en una bifurcación en Y se necesita una unica transición (Transición_Entrada), de manera que se activan todas las primeras etapas de cada rama. A partir de ahí, cada rama evoluciona a su ritmo de forma independiente, llegando cada una de ellas al finalizar su secuencia particular a una etapa final denominada etapa de espera, que lo que hace es esperar a que el resto de ramas finalice su secuencia. Una vez tenemos todas las etapas finales de espera activadas, para salir de la bifurcación en Y se deberá cumplir una única transición (Transición_Salida), que normalmente se indica como =1, ya que en un principio ya no queda ninguna condición previa que se deba cumplir. Este =1 indica que siempre se está cumpliendo esa transición. Podemos utilizar el bit de marca especial Always TRUE y a partir de ahí el Grafcet continuaráevolucionando según el diseño realizado. A continuación, se muestra un ejemplo de diseño de un Grafcet con bifurcación en Y que está formada por tres ramas con secuencias diferentes: ._,,
  • 205.
    ' 1 1 ' ' ' ' ' í ' ' Recuerda • •• Cuando es necesario tener que realizar varios trabajos en paralelo, utilizaremos el tipo de secuencia en Grafcet llamada «Bifurcación en Y», donde varias secuencias funcionan de forma independiente pero sincronizadas entre ellas. MO.O Unidad 6 - Transferencia de datos y funciones matemáticas MO.O N Acción asociada o Acción asociada 11 Acción asociada 21 M3.l N Acción asociada 31 Ml.l N M2.l N Acción asociada 12 N Eta dees M3.2 N Acción asociada 32 Ml.2 N M2.2 Acción asociada 33 M3.3 N Ml.3 M3.4 N Eta dees ra M0.1 N Acción asociada 1 Se observa cómo para acceder a las tres ramas simultáneas se deberá cumplir únicamente la Transición_Entrada para que se activen en ese momento las tres etapas iniciales de cada secuencia en Y, esto es, las etapas 11, 21 y 31, y se desactive la etapa O. A partir de ahí cada secuencia evolucionará de forma independiente pasando a la siguiente etapa al cumplirse la transición correspondiente. Una vez la secuencia ha alcanzado su etapa final, en este caso las etapas 13, 22 y 34, el Grafcet esperará a que estas tres etapas se encuentren activas, indicando que las tres secuencias han finalizado. Será entonces cuando en el momento de cumplirse la Transición_Salida se activará la etapa siguiente (1) y se desactivarán de forma simultánea las tres anteriores, en este caso 13, 22 y 34. Hay que vigilar para no cometer errores, ya que los dos ejemplos siguientes no son válidos por incumplir el principio de evolución de un Grafcet de transición­ etapa-transición. N Acción asociada 1 N Acción asociada 11 MZ.l N Acción asociada 21 M0.1 N Acción asociada 10 MO.l N Acción asociada 20 +T,,o.dón_30 6.3.2 Programa basado en diseño Grafcet Para practicar con este tipo de secuencia vamos a plantear un ejemplo basado en el simulador 3D, donde se desea controlar el movimiento de los dos manipuladores, el de grabado y el de carga, de forma simultánea. Del manipulador de grabado realizamos el control del cilindro de doble efecto multiposicional grande, gobernado por una electroválvula monoestable, unido de 199
  • 206.
    Unidad 6 -Transferencia de datos y funciones matemáticas 200 forma perpendicular a este cilindro se encuentra otro de doble efecto llamado de marcado y gobernado por una válvula biestable. Del manipulador de carga realizamos el control del conjunto formado por el cilindro del eje horizontal, gobernado por una electroválvula biestable, y unido de forma perpendicular a este encontramos otro cilindro, como es el de la ventosa, gobernado por una electroválvula monoestable. Todos los cilindros disponen de sensores de posición para los dos estados: reposo y avance. Además, se deberán indicar los diferentes estados de funcionamiento mediante los pilotos de la baliza de señalización. Manipulador de carga Fig. 6.46 • Condiciones de funcionamiento: - Al poner en marcha el sistema tendremos activado el piloto rojo (Q2.4), que indica que el sistema se encuentra en reposo y totalmente detenido. En ese momento, y para poner en funcionamiento el sistema, comprobamos que los diferentes cilindros se encuentren en sus posiciones de reposo: o Cilindro marcador arriba (11.4). o Cilindro multiposicional grande dentro (11.2). o Cilindro del eje horizontal a la derecha (10.6). o Cilindro del eje vertical con la ventosa arriba (10.4). Al accionar el pulsador de marcha (10.2), se pondrán en funcionamiento las dos secuen- '--' ciasindependientes previstasparael control de los dosmanipuladores, que serán: Secuencia 1 (manipulador de grabado): o Se pondrá en funcionamiento el piloto verde (Q2.2) de forma permanente, manteniéndose en marcha durante toda la secuencia de movimientos. o El cilindro multiposicional grande avanzará (adelante) (Q0.4). o Cuando el cilindro multiposicional grande se encuentre en la posición de avance (adelante) (11.3), el cilindro marcador iniciará el proceso de avance (abajo) (Q0.6). o Cuando el cilindro marcador se encuentre en la posición de avance (abajo) (11.5), el cilindro marcador retornará a su posición de reposo (Q0.7). o Cuando el cilindro marcador se encuentre en la posición de reposo (arriba) {11.4), será cuando el cilindro multiposicional grande retorne a la posición de reposo (Q0.4), movimiento que realizará hasta detectar su correspondiente sensor de posición (11.2). --......:
  • 207.
    ) ' ' ' ' ' ' ' ) ) Unidad 6 -Transferencia de datos y funciones matemáticas o En este momento esperará a que finalice la secuencia 2 para pasar a la etapa común siguiente. Esta situación quedará señalizada por el funcionamiento del piloto verde (Q2.2) de forma intermitente (1 Hz). - Secuencia 2 (manipulador de carga): o Se pondrá en funcionamiento el piloto amarillo (Q2.1) de forma permanente, manteniéndose en marcha durante toda la secuencia de movimientos. o El cilindro del eje horizontal avanzará hacia la izquierda (Q0.l). o Cuando el eje horizontal alcance la posición de avance (izquierda) (10.7), el cilindro de la ventosa avanzará hasta la posición inferior (Q0.0). o Cuando el cilindro de la ventosa haya alcanzado la posición inferior (10.5), el cilindro de la ventosa retrocederá hasta la posición de reposo (arriba) (Q0.0). o Cuando el cilindro de la ventosa haya alcanzado la posición superior (10.4), el cilindro del eje horizontal retrocederá hasta la posición de reposo (derecha) (Q0.2). o En este momento esperará a que finalice la secuencia 1 para pasar a la etapa común siguiente, esta situación quedará señalizada por el funcionamiento del piloto amarillo (Q2.l) de forma intermitente (1 Hz). Finalizadas las dos secuencias, el proceso se posicionará en la etapa inicial (X0) y se desactivarán las dos secuencias de forma simultánea, el piloto rojo (Q2.4) se pondrá en funcionamiento y el sistema quedará preparado para realizar un nuevo ciclo. • Desarrollo del Grafcet A continuación se presenta el Grafcet que da respuesta al enunciado dado. MO.O 201
  • 208.
    Unidad 6 -Transferencia de datos y funciones matemáticas 202 En algún caso es posible que las etapas de espera de cada una de las secuencias puedan ser la última etapa de cada una de ellas. En cualquier caso, debemos '­ mantener el concepto de eficiencia y ahorro energético, de forma que no quede '­ ningún dispositivo mantenido inútilmente con tensión. En este caso, la transición de salida de las secuencias simultáneas correspondería a una condición ANO formada ,,__ por las condiciones de cierre de cada una de las secuencias. Si aplicamos ese concepto en nuestra solución (Grafcet aportado anteriormente) y realizamos la modificación, debemos eliminar las etapas 15 y 25, y las transiciones "---'. de paso de las etapas 14 a 15 y 24 a 25, de forma que la transición de salida esté formada por una condición ANO entre las dos condiciones de las transiciones eliminadas. Además, debemos añadir una condición en la acción asociada a la etapa 24 con el objeto de no mantener la electroválvula (Q2.2) activada cuando ya no sea necesaria mientras espera la finalización de otras secuencias simultáneas. Por ___, tanto, tendríamos la siguiente finalización: Ml.4 ElmarcadOfenposlci:>ndereposo(arriba) ( 11.4) 2.2 Piloto verde M2.4 Elmultigrande enposici:>nde reposo(atr.b) 111.2) yEje horizontalenposiciónde reposo(derecha)(10.6) Pero al eliminar las etapas de espera, también hemos eliminado la señalización intermitente de los pilotos verde y amarillo que nos indicaba esa situación. Por ese motivo, si las queremos incluir, debemos realizar una nueva modificación hasta '--' obtener el siguiente diseño: '>---' MlA Elmarcadorenposici6ndereposo(arriba) (11.4) El multi(lrandeNOenposidónde reposo(a trás)(ll.2) Elmultigr.mcle enposici:>nde reposo(más)(l1.2 ) ylntermltente(M8191.S) NC f-"""•"'- 2 ----, PllO!o-.Erde M2.4 La venlDsaenposidónde reposo(arriba) Eje horizontalNOen posición de reposo(derecha)(I0.6) Eje horizorn:alenposiciór,derepos o(derecho1)(I0.6) ylnterml tente(M8191.5) NC 2.1 Pilo to amarilo Elmull!¡ritn de enposki6nde reposo(atrás)(11.2) yEje horizontalenposiciónde reposo(derecha) (I0.6) Como se puede comprobar, el diseño del primer caso es más entendible y es el concepto que cubrirá la mayoría de los casos, aún más cuanto más complejos y de mayor envergadura sean los procesos. Por tanto, en este caso la solución de programa que ofrecemos corresponde al diseño completo del Grafcet presentado en primer lugar. • Programa en diagrama de contactos - Activación de etapas '-'
  • 209.
    ' ' ' ' 1 ' ' ' ' ' ' ' ·1 l 1 ) ' ' ' ' '"' � ' ' l 1 Unidad 6 -Transferencia de datos y funciones matemáticas �1: --dfliK (T,t,<rS t f , Zl j�frt,¡,<) ..... "ET#AO" "tl-"""'>W wu ...... i----------; i----------; i----------; i----------; i----------; 1·1-- -· "Ef,IW,ll" ·­ ..... -u,rAV ·- Fig. 6.47 • Segmento '3: SEOJEN0.1.ActMlc:oónde W HNA1lyd _ ,_ ,._ a• _ • _ ,� _ • _ H _ M _ A_ U ________ ...,., "ET-"A 12" ...... "fT.ltA 14" ....,.3 "ETN'A 13" ......2 ; S )-- �------------·-l erw:� Fig. 6.49 ...,.5 "ET,«PA 1 5" '.'� �------------·_er...., -1�:� Fig. 6.51 .., Segmento 7: SECUH«)A.Z.Actrw<1Ción de la EW,..2lyt.l _ , _ .. _ w. _ , _ ,� _ . _ ,w _ , _ ,, ________ W0.6 "83 bO EHT OSA OOOECHA"' ""'2.3 "ETN'A23" �------------· _ er - .. ;� Fig. 6.53 !IM2.5 "ETN'A 25" [3·· 1 �" ...,.3 "ETN'A IJ" '111.3 "88_d1 M.l.TI GIW« Fl.8'K ..... .2 "ETN'A ll" ....., ; s )------< ._ ____________ •E -I T". A � ...., "B4__b1 191TOSA IZQUEflllK ..... "B1..,0 91TOSA __, "'ETN'AZS" Fig. 6.48 ...,.. "ETRA 14" ;s � 'IM1 .3 �------------ ·e .... r: ,.� Fig. 6.50 ""'2.2 "ElN'AZZ" �--------------,�= Fig. 6.52 Wl.A "ETN'A24" �------------' -( � � Fig. 6.54 IMJ.O "fT/lf'AO" t------< �----l t---�--------<S J-- 1 �------------- -er -1 � , - ...,., "ETA'A 15" >--------<• ,__ ...... "ETN'AZS" L--------1•,__ Fig. 6.55 N'A 1 1" Activación de salidas 'IIQO.A -,.;_ MJI.Jl"OSIOONM.. lr·1---------------------I S )------< Fig. 6.57 N'A22" 'IIQO.O "Y1_JIAJAR fHTOSK lr.2t---------------------1• � Fig. 6.59 Fig. 6.56 • Segmento 12: 1 ... 'IIIQ0.6 � ¡ .... �2"------------------- - � -i �:_ Fig. 6.58 'IIQO.O ""'2.3 "Y1..BAIM "•� 2_ r____________________ 91T -1R os � Fig. 6.60 203
  • 210.
    Unidad 6 -Transferencia de datos y funciones matemáticas 204 "IQ0.1 1M2 1 "n..>l'NTOS, �·� ·,_ ,·_________________ . _ � � QU� �t-- �.- ----------{ w:)0.2 "V3_/ENTOSA ADEftECHA" )---< Fig. 6.61 Fig. 6.62 • Segffll!ntO 17: ._.nipuladot dt' tHgl.E� vertical. E.lecc.uov1l11U!1 b,rnabl" DHpla::mr I posiciónde duurga • Segmento 18: W)O•.( "YS_ "!!1 .... -�. _-_________________ .... � 7:. �.t--- ·�,- -- w:)0.7 "'t'S_SUBIR )---< Fig. 6.63 Fig. 6.64 • Segmento 19: Piloto dr sef11i:ti:zaci6n 1m1riUo ________ • Segmento 20: Pilcto � s.e�aliación �rdr ....,_, "fTAPA 21" ""'2.2 "ETAPA 22" ""'2.3 "ETAPA 23" ....,_. "ETAPA 24º 'IM2.> "ETAPA 25" 'IM8191.S "Clocl<_1Kz" 'JIQ2.1 "I-O_AMARH.1.0" ......, "ETAPA 11" ......, "ETAPA 12" 'IMt .3 "ETAf'A. 13" ....... "ETAPA 14 º ......, "ETAPA 15" 'IM8191.5 "Cloc:k.._1H2"' 91Q2.2 º H l_VE R DE" )---< Fig. 6.65 Fig. 6.66 • Segmento 21: filoto de sefiefüación raJo 1 .::,1º 'liQ2.4 � APA I- . o _ · ----------------- • -I H 3_ R� Fig. 6.67 Activación de la etapa inicial En el OB100 se debe programar la activación de la etapa inicial y la desactivación del resto de etapas del Grafcet: 'IM81 90.0 •FirstSca n· 'IMO.O "ETAPA o• f---r---------------------i S )-------, 'IM1 .1 "ETAPA 1 1 " 1---------------------{RESET _BF )-, 'IM2.1 "ETAPA 21 " L---------------------{RESET _BF )-, 5 Fig. 6.68 Llamada desde el OB1 a la función FCl dondetenemos el programa Segmento 1 : Llamada a la función d'°I progra ma 1 -Secuencia �Simultanea• � EN ENO --------------------< Fig. 6.69 • Comprobación del funcionamiento con maqueta de simulación 3D Para realizar este ejercicio tan solo hemos de utilizar el pulsador MARCHA del panel Control del proceso para controlar el funcionamiento de todo el proceso: � '-./ '--.,/ '-....,, ''-" '---' � '-- '-....,, .__,/ � '-._:' '-...,· '-' '-' '---- __, .__,/ '--- '-...,/ �
  • 211.
    ' 1 ' 1 1 1 1 ' 1 1 1 1 1 1 1 ' ' ' Unidad 6 -Transferencia de datos y funciones matemáticas (i, ll II r. tiJ· &ERGENCIA PARO MAROIA Atn"MAPt ACk MJ. 11 11 11 ■ 11 Fig. 6.70 Observaremos en el simulador 3D cómo al accionar el pulsador de marcha, los dos manipuladores se pondrán en funcionamiento de forma simultánea. También observaremos el funcionamiento de los pilotos de la baliza indicando el estado actual del proceso. Fig. 6.71 6.3.3 Grafcet paralelos y sincronización de Grafcet Cuando realizamos un diseño Grafcet con secuencias simultáneas, también podemos optar por realizar cada secuencia en un Grafcet diferente y mantener uno principal que será el que se encargue de la coordinación del resto de Grafcets. Por ejemplo, si partimos del diseño del Grafcet del apartado 6.3.1, donde había tan solo un único Grafcet que incluía tres secuencias simultáneas, a continuación presentamos los diferentes Grafcet paralelos que dan respuesta a ese mismo diseño: Grafcet principal: N Acción asociada O M0.1 N t-------1 M0.2 N Acción asociada 2 205
  • 212.
    Unidad 6 -Transferencia de datos y funciones matemáticas Ml.1 Ml.2 Ml.3 206 Grafcet secuencia 1 Grafcet secuencia 2 Grafcet secuencia 3 Acción asociada 31 M2.1 N Acción asociada 21 N Acción asociada 12 N Acción asociada 32 Et�aX2 M2.2 Etapa X2 N Acción asociada 33 Para indicar la dependencia de uno respecto al otro, se utiliza en el Grafcet que sea necesario el número de etapa del Grafcet del cual dependa. Para eso usaremos la expresión «X + número de etapa», por ejemplo «X20». En la puesta en marcha, todas las etapas iniciales se pondrán en funcionamiento de forma automática (es decir, las etapas O, 10, 20 y 30) y a partir de ahí cada Grafcet irá evolucionando a su ritmo. El Grafcet principal será el que dará la orden de cuándo deben iniciar la evolución del funcionamiento los otros tres Grafcets correspondientes a las tres secuencias a realizar. En este ejemplo, cuando el Grafcet principal se encuentre en la etapa 1, será cuando la primera transición de los Grafcets de las secuencias se cumpla y por tanto se iniciará su evolución de forma paralela pero independiente. Y cuando estos tres Grafcets hayan finalizado su recorrido, se irán posicionando en sus correspondientes etapas de espera, como son 13, 22 y 34. Únicamente cuando estas tres etapas se encuentren activadas, será cuando se cumpla la transición de paso de la etapa 1 a la etapa 2 del Grafcet principal, pasando entonces este a continuar su evolución particular. Cuando se encuentre en la etapa 2, dará paso a que se cumplan las transiciones que harán que se inicien los tres Grafcets de secuencias para estabilizarse en sus etapas iniciales, 10, 20 y 30, que esperarán una nueva orden desde el Grafcet principal para realizar un nuevo ciclo. La espera a que se cumpla la transición de un Grafcet por la activación de una etapa de otro Grafcet se conoce como sincronización entre Grafcets, de forma que el control del proceso sea completo. 6.3.4 Programa basado en diseño Grafcet Para practicar con este tipo de secuencia vamos a utilizar el mismo ejercicio basado en el simulador 3D del apartado 6.3. De esta forma, podemos comparar las diferencias entre estos dos sistemas. V V J
  • 213.
    ' ' ' ' ' 1 ' ' ' 1 ' ' Recuerda • •• El tipo de secuencia conocida como «Bifurcación en Y» puede ser sustituida también por varios Grafcets independientes, uno por cada secuencia, pero, que puedan estar sincronizados entre ellos. Esto se conoce como Grafcets paralelos. Unidad 6 - Transferencia de datos y funciones matemáticas • Desarrollo del Grafcet A continuación, se presentan los Grafcets que dan respuesta al enunciado dado. Observamos que aparecen tres, uno de ellos principal: Grafcet principal Y otros dos que corresponden cada uno a una de las secuencias, donde encontramos en la primera y en la última transición de cada una de ellas el concepto aplicado de la sincronización entre estos Grafcets y el Grafcet principal. Grafcet secuencia 1 Grafcet secuencia 2 MO.O 2.2 Piloto verde M2.1 2.2 Piloto verde 2.2 Piloto ...erde M2.3 2.2 Piloto verde ln termiten te (M8191.S) NC .2 Piloto verde M2.S • Programa en diagrama de contactos Activación de etapas .1 Piloto amarllo 2.1 Piloto amar11o 2.1 Piloto amarllo 2.1 Piloto amarllo ln termiten te (M8191.S) 1---------+ NC f-""" 2." 1_____ Piloto amarllo 207
  • 214.
    Unidad 6 -Transferencia de datos y funciones matemáticas 208 Fig. 6.72 • Segmento 3: SEC.UfNOA1.Attivaci6n de 11 ETAPA 1 ydesactivación E.TAPA 10 µ·· 1 �'" 'IM).1 "ETN'A 1" ,..,_, " E TN'A 1 1 " ; s )-------< --• �------------- -E-{ T7RA� Fig. 6.74 • Segmento 5: SLC.UfNCIA 1. Activación de ta fTAf'P.3yde�activatión lTN'A 12 __2 "ETN'A 1 2" ..,.s "810_el tJ.'ICJOOR !BAJO" '1111.2 "B7_d0 MULTI GIW/Df DfNTRO" ,..,_, "ET.aPA 13" �------------- -E-< �� Fig. 6.76 --• 'ETH'A15' ,..,_, ; s )-------< �------------- -ET -i � A � Fig. 6.78 • Segmento 9: INIOO SlCUENClA2. Ac:tivetióndr la ETAPA22ydeuctJv.ci6n [T¡IJ'A2l �-· 1 �- 'IMJ.1 "ETN'A 1" __, "ETN'A21" --• ; S )------< �-----------·--i n7:� Fig. 6.80 • Segmento 11: SEC.UfNOA2. lctivac,ónde lt EWA23yck'uc.liYtción f.WA22 � --2 1 -� W0.5 "B2_a1 �NTOSAMAJO" "83 bO ""'2.3 "I T N'A.23" L------------- -" -1 � � Fig. 6.82 ,M'lA .ENTOSA Wi(Z.5 r 11:' 0.6 �•� 2- •·--- °'"' -I CH � • - - --,------------ •fT --( W ; :;:__ ...... L.,_ ___________ •ET -{� A ;_ Fig. 6.84 µ-·' 1 _, ...,.. "ETN'A 1 5" ...... "ETN'A25" Fig. 6.73 ...,_. "ETN'AO" ; s )------< 'IMl.1 �--------{ •n:A� • Segmento 4: SECUI.NCIA 1.kt11r1c16nde la ETAPA l2 ydt-ucu, ..ci6ntTN'A11 lr·' 1 �" W1.3 "BS_dl MJLTI GP.,INOf FUE.RA" ....,., "ETN'A 12" ; s )------< ...,_, �-----------·--t ET� A � Fig. 6.75 • Segmento 6, muENCJA t """'"'" '• • <WA 1' ydm,omi6nt1AP>t,------� '-.../ '!iMl.3 "ETN'A 13" ..,... "B9_e0 """°""" ,...... ...,_, "ETN'A 1-4" <IMl.3 ; s )------< �------------ ·E -i T� A � Fig. 6.77 • Segmento 8: flN'JLS[CtJlNCJJ1.Attrv1c16n dl' l1 EWA 10de e�pu• ydtuctivtnón t:TAf'A,s µ·· 1 _., ...,.. "ETN'AO" """· º "ETN'A 10" ; s )------< 'IMT.5 �------------ - E -{ T � A � Fig. 6.79 • Segmento 10: lNIOOSHUEJf0112.llrn,•o6fllH' l• E"WA22ydeuctiw-ci6nf.WA21 ___ __ ___ "B-4_bl r ""'·' ": t- ·;_ ,·___� _ � , os..,•_ •·-�-----------·-< ¡: ; :� ...,_, �-----------·rr ....� A � Fig. 6.81 • Segmeoto l2: Sf.CUf.HUl2 Activación de !t f.WA2-4yd _ ,._ " _ » _ •- - " - " - '- "-------- "B1 ao 'IMZ.3 1.tNTOSA 'W2.4 r ""'-' �,,. ,, _·___..... _, � •·-�------------ -rr -t w ; t;_ 'IM2.3 �-----------•--< ET� A � Fig. 6.83 • Segmento 14: Mtiv,ci6nde lt ET11f'A20yde�•c.�ción de t1 f.TN'A25 µ -5 1 _,, ...,_. "ETN'AO" --• "ETN'A20" ; s )------< """'·' L------------•--t fT': A ;:__ Fig. 6.85 V J
  • 215.
    ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' " ' Unidad 6 -Transferencia de datos y funciones matemáticas ,.,...,,. Activación de salidas W)0.4 "Y5_ W.Tf'OSIOONI< -- �' 1-------------------�•>---- ,.. $eg�nto 17: liA!lipuladC!tdt c1rg1 f¡e, Yfcrtu:. ,=¡g:as:at ruble Oupl1:u1 po&i(i6ndt C!HUl"QI W)O.O 'IM2.2 "Yl_BAJJift H'A22" E.NTOSA" 1-------------------�•>---- Fig. 6.88 • Segmento 9: Mt,rupul1de.rdt c1,g:1 f.Jt vel'bUI. Utcttc,1"-'db biuuble DHpl1:_,1 pb$ic16n de dt�u,ga W)O.l w.c2.1 "Yl.._ENTOSA ,,.1-- ,_ ,.__________________._ ª� �� Fig. 6.90 'AQ0.4 "Y5_ �.. �_ •._________________.... _ Tl'OS _, � Fig. 6.92 • Segmento 23: Piloto dr ,r�al�ción amarillo ....., •EWA2t" 'IM2.2 "ET,IJ>A22" 1'12.3 "ETN>A .23" 'IM2.4 "EWA24" 1'12.5 'E w ...2s· "'IM8191.5 "Ooc�1Ht A Fig. 6.94 • Segmento25: Pilotodr u•l'!al,>ci6nrojo ________ µ...•._._________________._"� ..-�� • Segmento 16: 'IQD.6 W1.2 "fl_Bl,JJfl "'1-- '- '"-------------------- WKJ00 -1 � Fig. 6.89 • Segmento 20: Mlr11p1.d1dor de urga E1evertical EJei:trovalll.lla b1tm1blt.0Hp1a::ar a pco1ici6n de duurga 'IQD.2 'IM> • "Y3_tNTOSA N' A .. ·2 _ ,• ____________________ A _ DE ., Pi � Fig. 6.91 'IQD.7 W1 3 'YB_SUBIII N' A l- 0 1_ 3· --------------------WKJOOR' -; }-----< Segmento 24: Piloto de ,e�ali.ac:ión verde 'IMU Fig. 6.96 "E.TN'A. 11" 1'112 ºEWA. 12" 1MU "EWA 13º 'IM1 .4 ºETN'A Hº ,.,,.. º EWA 15º Fig. 6.93 Fig. 6.95 'IQ2.2 ºH1_IE.ROEº Activación de la etapa inicial En el OB100 se debe programar la activación de la etapa inicial y la desactivación del resto de etapas del Grafcet: 'IIMl190.0 ºfirstScan· 'IIMl.O "HN'AO' i--�------------------- s >----, "'"·º ºHN'A 10' 1---------------------1 S >----, ,W:Z.O 'HH'A 20' '---------------------f s >----, Fig. 6.97a 209
  • 216.
    Unidad 6 -Transferencia de datos y funciones matemáticas 'IM8190.0 •FirstSca n• 'IM0.1 "ETAPA 1 " 1--------------------� RESET _BF }-< 'IM1 .1 "ETAPA 1 1 " t-------------------1 RESET _Bf }-< 5 'IM2.1 " ETAPA 21" �------------------¡ RESET_Bf }-< 5 Fig. 6.97b Llamada desde el 0B1 a la función FCl donde tenemos el programa Segmento 1 : Lla mada a la función del progra ma � EN "Gnlfcets ponilelos" ENO -------------------t Fig. 6.98 210 J _,/ '-.J
  • 217.
    "I '""' ' ' ' ' ' ) ' ' Unidad 6 -Transferencia de datos y funciones matemáticas Ejercicio CARGA DE PIEZAS EN PALETS Tenemos que controlar la carga de piezas que nos aparecerá en la estación de recogida del manipulador de carga, de forma que las vayamos poniendo en cada uno de los palets, para que posteriormente la cinta transportadora las traslade a una nueva estación. Lo primero que hemos de hacer es colocar una pieza en la estación de recogida del manipulador de carga. Para ello, en el momento preciso se deberá accionar el pulsador PONER PIEZA del simulador 3D. Podemos colocar hasta un total de cuatro piezas y una vez agotadas estas, debemos pulsar el botón INICIALIZA para volver a tener disponibles otras cuatro nuevas piezas. El llamado manipulador de carga está formado por dos cilindros unidos en perpendicular: uno que es el eje horizontal controlado por una electroválvula biestable para el traslado desde la estación de carga hasta la posición del palet, y el otro cilindro, controlado por una electroválvula monoestable, que es el que recoge y suelta la pieza con ayuda de una ventosa unida en su extremo que trabaja con una electroválvula monoestable. Condiciones de funcionamiento: Grafcet o secuencia principal: • Al poner en marcha el sistema, se pondrá en funcionamiento el piloto rojo. • Al accionar el pulsador de marcha, se dará la orden a las dos secuencias (cinta transportadora de palets y manipulador de carga) para que puedan iniciar su evolución. • Cuando las dos secuencias hayan finalizado, el Grafcet se posicionará a su etapa inicial, con el piloto rojo funcionando, y dando la orden a las dos secuencias para que también se posicionen al inicio, de forma que el sistema quedará preparado para iniciar un nuevo ciclo. • Cuando el sistema se encuentre totalmente detenido al inicio, al accionar el pulsador de reset del panel Registros de pedido y contaje pondremos a cero el registro de contaje PROCESADAS SIN GRABADO. Secuencia 1. Control del motor de la cinta transportadora de palets: • Al poner en marcha el sistema, no realizará ninguna acción y esperará la orden del Grafcet principal. • Cuando reciba la orden del Grafcet principal, esta secuencia iniciará su evolución y se activará el piloto verde que funcionará durante todo el proceso. • Una vez que el motor de la cinta de transporte de palets está funcionado, tenemos tres alternativas: o Que el palet llegue a la zona de carga. En este momento se detendrá el motor que controla la cinta transportadora. o Que accionemos el pulsador de paro, con lo cual el motor se detendrá, estado que se indicará mediante la activación del piloto verde de forma intermitente rápida (f= 2 Hz). Para volver a poner en funcionamiento el motor, se deberá accionar de nuevo el pulsador de marcha. o Que haya una avería en el motor y el disyuntor se dispare. En este caso se desactiva el piloto verde y se activa el piloto amarillo de forma intermitente (f= 1 Hz). Cuando se rearme el disyuntor, se deberá además accionar el pulsador ACK y en ese momento dejará de funcionar el piloto amarillo intermitente y el motor volverá a ponerse en marcha conjuntamente con el piloto verde. 211
  • 218.
    Unidad 6 -Transferencia de datos y funciones matemáticas 212 • Una vez se haya depositado la pieza en el palet, se deberá volver a poner en marcha la cinta de '--' transporte hasta que deje detectar el sensor de palet y hayan transcurrido 5 segundos. '-" • Pasados los 5 segundos, la secuencia se da por finalizada, lo que queda indicado mediante la � activación del piloto verde, pero en este caso de forma intermitente lento (f = 1 Hz). • Cuando el palet haya marchado de la posición de detección en la estación de carga, deberá ir contabilizando en el registro PROCESADAS SIN GRABADO el número de palets completados con � piezas. Utilizar para ello la instrucción ADD. '-" • Cuando las dos secuencias hayan finalizado, el Grafcet principal dará la orden para que estas se J posicionen a su etapa inicial. Secuencia 2. Manipulador de carga de piezas: • Al poner en marcha el sistema, no realizará ninguna acción esperando la orden del Grafcet J principal. '--' • Cuando reciba la orden del Grafcet principal, esta secuencia iniciará su evolución, activando el '-" piloto azul que funcionará durante todo el proceso si se cumplen las condiciones iniciales, que '--' son: o Cilindro eje horizontal en reposo (derecha). o Cilindro eje vertical de la ventosa en reposo (arriba). o No existe ninguna pieza sujetada por la ventosa. o No se detecta pieza en la posición de recogida. • El proceso esperará a detectar una pieza en la posición de recogida, para lo que se pulsará el J '--' botón PONER PIEZA del simulador 3D. '-" • Cuando se detecte la pieza en la posición de recogida, el cilindro vertical de la ventosa se � trasladará a la posición de avance (abajo). • Cuando el cilindro vertical de la ventosa esté abajo, se activará la ventosa para generar el vacío y de esta forma sujetará la pieza. • Cuando la pieza esté sujeta, lo que se indica mediante el detector de vacío, el cilindro vertical de la ventosa se trasladará a la posición de reposo (arriba). v • A continuación, al alcanzar el cilindro vertical la posición de reposo, el cilindro del eje horizontal '--' se desplazará a la posición de avance (izquierda). • Cuando el cilindro del eje horizontal se encuentre en la izquierda y se detecte un palet en zona de carga, el cilindro vertical de la ventosa se trasladará de nuevo a la posición de avance (abajo). • Cuando el cilindro vertical de la ventosa se encuentre abajo, se debe liberar la pieza sujeta, con lo que esta quedará encajada sobre el palet. '-J J • Cuando se detecte que la pieza ha sido liberada y no detecte vacío, el cilindro vertical de la '--' ventosa se trasladará de nuevo a la posición de reposo (arriba). • Cuando el cilindro vertical de la ventosa alcance la posición de reposo (arriba), el cilindro del eje horizontal se desplazará a la posición de reposo (derecha). • Cuando el cilindro del eje horizontal alcance la posición de reposo (derecha), se puede decir que la secuencia ha finalizado, pasando el piloto azul a funcionar de forma intermitente (f = 1 Hz). ,-._.,I • Cuando las dos secuencias hayan finalizado, el Grafcet principal dará la orden para que estas se '--­ posicionen a su etapa inicial.
  • 219.
    ' ' ' ' ' ' ) ' ' ' ' ' ' Unidad 6 -Transferencia de datos y funciones matemáticas Fig. 6.99 Relación de entradas y salidas: ENTRADAS SALIDAS Dirección Dispositivo Direcciór Dispositivo 10.1 S1 Pulsador de paro Q0.0 Yl EV Bajar brazo con ventosa 10.2 S2 Pulsador de marcha Q0.1 Y2 EV Cilindro horizontal va a la izquierda 10.4 B1 El brazo con ventosa está arriba Q0.2 Y3 EV Cilindro horizontal va a la derecha 10.5 B2 El brazo con ventosa está abajo Ql.0 Y9 EV Hace vacío en ventosa 10.6 B3 El brazo horizontal está en la derecha Ql.1 KlM Motor de la cinta de los palets 10.7 B4 El brazo horizontal está en la izquierda Q2.1 H0 Piloto amarillo 12.0 B11 Hay pieza sujeta en la ventosa Q2.2 Hl Piloto verde 12.4 B15 El palet está en zona de descarga Q2.3 H2 Piloto azul 13.0 F2 Disyuntor motor cinta palets Q2.4 H3 Piloto rojo 13.1 SS Pulsador ACK REGISTRO DE CONTAJE Dirección I Dispositivo MW7016 1 Procesadas sin grabado Realizar: • Diseño de los Grafcets necesarios para dos soluciones diferentes: o Mediante secuencias simultáneas. o Mediante Grafcets paralelos o dependientes. • Implementación en ambos casos del programa en el PLC. • Comprobación del funcionamiento mediante la maqueta de simulación 3D. 213
  • 220.
  • 221.
    ) ) Unidad 7 -Programación estructurada Unidad 7 Programación estructurada .t�=-=:·_- __..._.._..._-_.._____ �--�--------� En este capítulo: 7.1 Introducción a la programación estructurada 7.2 Tipos de bloques 7.2.1 OB. Bloques de organización 7.2.2 FC. Funciones de llamada 7.2.3 FB. Bloques de función 7.2.4 DB. Bloques de datos 7.3 Tipos de llamadas a los bloques 7.3.1 Llamadas a bloques sin parámetros 7.3.2 Llamadas a bloques con parámetros 7.4 Protección know-how de bloques FC y FB 7.4.1 Protección de un bloque FC o FB 7.4.2 Desprotección de un bloque FC o FB 7.4.3 Cambiar la contraseña de un bloque FC o FB protegido 7 .5 Programación en Grafcet {VI) 7.5.1 Estructuración de programas en bloques 7.5.2 Macroetapa 7.5.3 Programa basado en diseño Grafcet Ejercicio propuesto 215
  • 222.
    Unidad 7 -Programación estructurada Recuerda • • • La programación lineal es aquella en la que todo el programa se introduce en un mismo bloque. Tan solo es válida para programas sencillos y cortos. Recuerda • • • La programación estructurada es aquella en la que el programa se divide en diferentes secciones, de forma que cada sección se pueda programar en bloques diferentes. Uno de esos bloques es el principal, que tiene la función de ir organizando qué bloque se ejecuta en cada momento. Se utiliza para cualquier tipo de programa. 216 7.1 Introducción a la programación estructurada Antes de introducir el programa a través de la plataforma correspondiente, en este caso TIA Portal, realizaremos el diseño del programa. En ese momento podemos decidir entre dos modelos de programación: o Programación lineal: es aquella en la que todo el código del programa se escribe en un único bloque y que, por tanto, el ciclo de sean lo recorrerá siempre de forma completa. o Programación estructurada: es aquella en la que el código está distribuido en diferentes bloques, de forma que se puedan ir ejecutando en caso de que sea necesario. Además, esos bloques pueden ser llamados varias veces desde diferentes lugares con lo que logramos que el programa tengaciertas ventajas: - Se simplifica la organización del programa. - Los programas de gran tamaño se pueden programar de forma más entendible. - Se consiguen ciclos de sean adaptados a lo que en ese momento tenga que funcionar. - Podemos reutilizar bloques de programa para otros proyectos. - Se pueden estandarizar determinadas partes del programa programándolo en un bloque. - Las modificaciones del programa se pueden ejecutar más fácilmente. - Se simplifica el test del programa, ya que puede ejecutarse por partes. - Se simplifica la puesta en servicio. 0B1 Programación Lineal Fig. 7.la 0B 1 Programación Estructurada Fig. 7.lb En esta unidad vamos a estudiar cómo realizar programas de forma estructurada, por lo que, además de utilizar diferentes bloques, también usaremos diferentes instrucciones para realizar las diferentes llamadas a estos. 7.2 Tipos de bloques Los diferentes tipos de bloques con los que se puede trabajar son 0B, FC, FB Y DB: o 0B. Bloques de organización. o FC. Funciones de llamada. ,.__J
  • 223.
    ' ' ' ' , ' Recuerda• • • Para la organización ' de un programa 1 estructurado se utilizan diferentes bloques, r--.,. como son: • OB. Bloques de organización. 1 • FC. Funciones. • FB. Bloques de � funciones. , • DB. Bloques de datos. 1 Unidad 7 - Programación estructurada o FB, Bloques de funciones. o DB. Bloques de datos. El número máximo de bloques direccionables es de 1 a 65535. No hay ninguna restricción, únicamente depende del tamaño de la memoria de trabajo. También se pude trabajar con bloques FC, FB y DB, pero de sistema: o SFC. Funciones de sistema. o SFB. Bloques de funciones de sistema. o SDB. Bloques de datos de sistema. Estos son bloques que dispone cada CPU cargados de fábrica (firmware) y que el usuario puede utilizar pero no modificar. No se han de enviar a la CPU, puesto que ya están cargados. 7.2.1 OB. Bloques de organización Los bloques OB, llamados bloques de organización, pueden ser programados por el usuario, pero se ejecutan bajo un evento asociado y asignado por el propio sistema operativo del PLC (en el caso de la CPU 1214C, dispone de 13 tipos de bloques de organización, mientras que la CPU 1512C dispone de 20 tipos). Los podemos seleccionar en el momento de añadir un nuevo bloque al programa, apareciendo la siguiente ventana en la que se ofrece una breve descripción cuando seleccionamos cada uno de ellos: • Bk>que de org1r10ld6n , •. llfot¡_. dl' lmnón • > t.Ms lnfonnaclón e Progr,m c.><le • sanup • lime del,ymtrmipt • C)<lic inn-mipt · H•rd-� intrm.1pt • l!mr l!ROI' intrrrupt • o.,gnoi.tx: rrror intemipt • f'uH or plug ofmoduie, - �clt or u1tion itilu� • 11me ofd1y • stnus · Upd•tr . f'foile Fig. 7.2 Veamos de forma breve algunos: ICOP Núm•ro Q m1nu1t i';) 1utom,tic:o Dru:npt.ión 1MOfl <lf"1irln�P pm<c•i.ar•cicltt:1mt<rltr Los.06 dP ciclo son bloquei. lógicru.de DIUeniupenof t'At'I Progt'lffll, en losquf' s.rpllt'drnp,ogr,;m1rini.trutcionH, o O.mar otroi.bloq=s. o 0B 1: bloque de funcionamiento cíclico, es decir, que se ejecuta en cada ciclo de sean. Este bloque debe estar siempre programado, pues hace de subrutina principal en la que se inician todos los programas y que a partir de él se pueden realizar saltos a otros bloques. o 08 20: bloque de alarma de retardo. Los OB de retardo sirven para ejecutar una acción un tiempo después de que produzca un evento. No se repiten automáticamente, por lo que necesariamente deberemos de volver a lanzar la llamada desde el código de nuestro programa. 217
  • 224.
    Unidad 7 -Programación estructurada Recuerda • • • Los bloques de organización, OB, se ejecutan de forma automática cuando se cumple el evento que tiene asociado. 218 o 0B 30: bloque de ejecución cíclica. Los 08 de ejecución cíclica son bloques llamados a intervalos regulares de tiempo por el sistema operativo del PLC. Para que se produzca la llamada a los mismos, el único requisito es su existencia dentro de la memoria del PLC. El periodo de tiempo para las llamadas a los 08 de ejecución cíclica es parametrizable desde la configuración de hardware. Agregar nuevo btoque Nombre: Mlin_1 Bloque de organización • Prog,am qcle • starwp • líme- del1y interrupt • cytlic interrupt • Hardwa re interrupt • l'ime error interrupt • Di19nostic emir interrupt • Pul! o,plug ofmodules • Reck or station failure • Programming error • 10 access error • líme ofday • MC-lnterpolator • Me-Servo . MC-f'reSelVO • K.PostServo • S)flchronous ()ele • su.tus • update • Profile LenguaJt': Número; Ot>scripci6n: Q Ml!lnual @ Automático Los 08 de delo a procesa n cíclicamente. Los 08 de e.ido son bloques lógicos de orden superioren el programt, en los que se pueden programar inuruc:c,onu o llamar otros bk,ques. o 0B 40: bloque de alarma de proceso. Determinados módulos de función, módulos de entradas analógicas o módulos de contadores de alta velocidad, son capaces de generar alarmas de proceso que detienen la secuencia de programa del PLC, realizan un salto a la 08 asociada a los mismos. Dentro de dicho 08 se debe programar el código asociado al evento que generó la alarma de proceso. o 0B 80: bloque de error de tiempo, que se ejecuta únicamente cuando el tiempo del ciclo de sean supera el tiempo configurado (Watchdog). o 0B 100: bloque que se ejecuta únicamente al inicio del primer sean. La capacidad máxima de programación de cada uno de ellos viene limitada por la cantidad de la memoria de trabajo. Estos bloques se ejecutarán durante un único sean en el momento de producirse el evento asociado a cada uno de ellos, interrumpiendo así la ejecución del programa de forma instantánea y no volviéndose a ejecutar hasta que de nuevo se vuelva a producir el evento asociado. 7.2.2 FC. Funciones dellamada Las funciones FC, según IEC 1131-3, son bloques lógicos sin memoria. Una función ofrece la posibilidad de transferir parámetros en el programa de usuario. Por ello, las funciones son adecuadas para programar funciones complejas que se repiten con frecuencia, por ejemplo, cálculos. Tiene la posibilidad de poder direccionar desde O a 65535 FC el programa que se desee incluir en cada uno de ellos, únicamente está limitado por la capacidad de la memoria de trabajo.
  • 225.
    1 í ' " " ' í 1 ·í ' Recuerda • •• La principal diferencia entre una función FC y un bloque de función FB es que este último está unido a un DB de instancia que le hace mantener memorizado el estado de las variables configuradas. Recuerda • • • Los bloques de datos son bloques, pero no de programa, en los que podemos registrar tanto estados de variables como datos. Existen dos tipos: • DB global. • DB de instancia. Unidad 7 - Programación estructurada Una función contiene un programa que se ejecuta cada vez que la función es llamada por otro bloque lógico. Las funciones se pueden utilizar para los siguientes fines: o Devolver valores del resultado de la función programada al bloque llamador, por ejemplo, en funciones matemáticas. o Ejecutar funciones tecnológicas, por ejemplo, controles individuales con operaciones lógicas binarias. o Una misma función también se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de funciones de uso frecuente. 7.2.3 FB. Bloques de función Los bloques de función FB son bloques lógicos que depositan sus parámetros de entrada, salida y entrada/salida de forma permanente en bloques de datos instancia, DBi, de modo que siguen estando disponibles después de editar el bloque. Por eso también se denominan «bloques con memoria». Los bloques de función también pueden funcionar con variables temporales. No obstante, las variables temporales no se almacenan en el DB instancia, sino que únicamente permanecen disponibles durante un ciclo. Tiene la posibilidad de poder direccionar desde O a 65535 FC el programa que se desee incluir en cada uno de ellos, únicamente está limitado por la capacidad de la memoria de trabajo. Los bloques de función contienen subprogramas que se ejecutan cada vez que un bloque de función es llamado por otro bloque lógico. Un bloque de función también se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de funciones de uso frecuente. 7.2.4 OB. Bloques de datos Los bloques de datos DB, son bloques en los que podemos guardar valores del programa. Se distinguen dos tipos de bloques de datos: o DB global: configurados por el usuario y de aplicación general. o DB de instancia: asociados a funciones FB y de configuración automática. Tiene la posibilidad de poder direccionar desde 1 a 59999 DB el programa que se desee incluir en cada uno de ellos, únicamente está limitado por la capacidad de la memoria de trabajo. 7.3 Tipos de llamadas a los bloques Nos podemos encontrar con diferentes situaciones en el momento de realizar una llamada a un bloque, ya que este bloque puede ser con o sin parámetros. En este apartado vamos a ver las diferentes posibilidades de programación para realizar las llamadas a cualquier bloque FC o FB dependiendo del lenguaje utilizado y de si contiene o no parámetros. 219
  • 226.
    Unidad 7 -Programación estructurada 220 7.3.1 Llamadas a bloques sin parámetros Las llamadas a bloques FC o FB sin parámetros se pueden realizar de forma: o Incondicional: sin condiciones para su ejecución. o Condicional:con condiciones para su ejecución. Veamos con ejemplos como sería su aplicación; para ello, lo primero que tenemos que hacer es crear nuevos bloques. • Aplicación utilizando una función FC sin parámetros Seleccionamos la opción Agregar nuevo bloque que encontramos dentro del árbol del proyecto y dentro de la carpeta Bloques de programa: - 0 0 • J-----1 ,.__ ·-­ .. .........,-rui-,nc--- ,,�......- ·-- .. .,¡ .....,._ ·••""11 •-.IIWI... ............._ ·•�,_.,_ ,.,,__ . :;....-,u: , ;....,..•-•u , ;;..,.._........_,,,_,__ ................. ,._,..____ .. .........'-4_ lti••-·- ...-...... • · l(t,.1k-'IU"«laQIW , ,ii.•­ • 'li'.......,_""..._ . ·:.:::=- Fig. 7.3 · - • iil<........._ • fioi�.....� . �.....,.__,_.., Realizando una doble pulsación sobre esa opción, nos aparece una ventana en la que seleccionamos el botón correspondiente a Función FC y donde podemos completar los siguientes campos: Fig. 7.4 Nombre:para asignar un nombre simbólico a la función creada. Lenguaje: para seleccionar el lenguaje que vamos a utilizar en su programación, aunque posteriormente lo podemos modificar. Al desplegar el campo, podemos elegir entre KOP, FUP y SCL para el 57-1200, mientras que para el 57-1500 se amplía con el AWL: lKOP h:i flJP SCL Fig. 7.5 1�¡ .___,, .___,, '-./ '-../ '--" .___,, '----' '-" ...__,, '---' '--./
  • 227.
    1 1 ' ' ' ' ' 1 , ' "' 1 Unidad 7- Programación estructurada Número: corresponde al número que tendrá la función; para ello tenemos dos opciones: leogue,e ,.,, A'>I. so. Fig. 7.Sa o Manual: elegimos esta opción cuando se desee elegir el número a asignar al FC. Podemos asignar un número dentro del rango numérico de O a 65535. o Automático: seleccionamos esta opción cuando dejamos que TIA Portal asigne un número de forma automática. Siempre asignará el siguiente número libre a partir del 1. En este caso lo configuramos para dejarlo así: Nombre:Control_Eje_Horizontal Lenguaje: KOP Número: 10 Nombre • ab¡..e de o,q•iti:acian �cnp,ci6n 10 i.., � ton bloqve1 "'9i.:.w: ,in rM'lklria • -- > , Mb lnformación Fig. 7.6 En la parte inferior se observa que podemos desplegar el apartado Más información, en el que aparecerá ampliada esta ventana en la que se muestran unos campos que el autor pueda completar si lo cree conveniente, por ejemplo: v Mb lnformaci6n Th,,,la llloaue fC DUJI el control del eie hoñmntal Comenuino· Control del citindro bieu11ble del eje horia,nul del m11niptikldor de carga Wrs.ón· ¡. •· • ' ------i• f•nülí.!i l �-------1 1 """",.. l!Y .., _VG _______. I tdnida pa,-el �..ario:I ______ I Fig. 7.7 Como tenemos activada la opción Agregar y abrir, situada en la parte inferior izquierda de esa misma ventana de creación del bloque, si a continuación accionamos el botón Aceptar, nos aparecerá dentro de la carpeta Bloques de programa el bloque Control_Eje_Horizontal (FC10) creado, que queda automáticamente abierto para ser programado: 221
  • 228.
    Unidad 7 -Programación estructurada 222 filroye:Ctcl [dl(,ó,n V,,t ll'IHIUI Onlonc- Opc:10M1 t1t111.(r,orntu otm.n1. � Totally lntegrated Automatlon PORTAL J( 1• -. X q. (l. . � !I! !E l. CI � - o C) • _J utllOA0_7 ri A¡¡:re91.r di1pcxiwo tl. l>i$fJCKiuvos ylf'dti • Jl lntroóut-ciol'l!CfU 1214CN:IOC/ft.... l!'t Con�ur1clbn1Mdilpoliuvot � Online yditgnónito .. SP, llloqvet dt progrem• WI NJ�•, - bloq_ • u1in foe1 1 • St1rtup!Oe100¡ ·�ol_f�.)torimnt1t !FCtOI ► 1IJ 8loq11•1 de 1istem1. ► Objet01i ttcnoi6gt<ot ► (;j fuentt1 e111tm.1 ► v,,..�s ritc ► 'llpos dit d11os"-.C ► �blHde obunv1uón yrontdo.• ► 11.ctvps ONW'le ► � Trtttl ► 01.tot óeproll)'"dt ditpolitivo i!!!t lnbrm1.c.&!ftl p,ogr1.m1. )J lht11 de �xtos ► .-Wldulosloc.1.lu -4 ... -41... -o- @ ._. .J • Tftulo del bloque: eloqt1e fC p1r1 el contt01dtlt�honJDnt1I Conuol dtl clindro biut1bM dt1 t-� horlmnt1I dtl m1.roipuitdordt c1.ra- • Seg�nto 1: ► .:!iJ O,,.r•c-t 169101 co._ � ► [§) TtmporillldOttt ;¡1 ► f:!¡ Cont11dom A ► (!] Com¡lirtd6n ► :..=.J f11Mione1 m1.�m,utu ► ll'emftrerw:ill ► !S3 Corwu1i6n ► . Contr0tdel p,ogr1m1 t------,,====�,:,;,;..,;;;;;;,__....,,,,,.,,.,,_!:!":�--:-1 ► !:b/ 0f>HICÍOl'IH l6g1CU C0 '===-=--�·S,.Prop e da de s ====...:.::====---'----!► Ouplu1m�n10 yro�dw C:: �--,,----------------- •! lnform1ci&l Stlloi dt Mmpo COITl.pllui6n l'ffl1tcci6n Atributos Gener,111 --------------' • Fig. 7.8 En la parte inferior se muestran las propiedades, en las que se observa cómo podemos modificar tanto el nombre simbólico, el lenguaje de programación y el número de bloque asignado. En la parte superior tenemos el editor de programa para introducir el programa deseado. A continuación, introducimos el programa que representa el funcionamiento del control del cilindro del eje horizontal del manipulador de carga mediante los pulsadores S20 y S21: wt,s Tlf,, IJNlíMO 7 IINIOAO 7 - )( l'fo)KtO [dico6n Vtl ll'IStnllf 0fllllt Opc;,onn �"•m,.llt.u Vtm.nt A)Udt Totalty lntegrated Automatlon ..:J � I] <-niarp,oy,ecto .. X !.!i -. )( ") ! P'. -¡¡ m líi ■ Q # fwbi«et"Coneo6n onlitle ,, • PORTAL � 0 0 • _J U,(IOl,D_7 . Agreg1td1spos,ú,,o .. O"po1i!ivos yttdH • :-. 01_.-.troduttlon ¡aiu 1214CKJOQ'llt)1 1Jt eori1iguracióri dt d1spositivos :i, Oflliflt yd;tgn6nic:o • .i,1 81oques dt progr•m• 'fl .-.gregar �vo bloque • .,.,,qoe11 • su.m.p 1oe1001 • � _,,, HonlDfltal tF<�� ► ._. TttCH ► O.t0, 0f l)l'O)l)'dt d15posiwo fi!l lrlbrm•ciófllMIPJ09rHflt _ .,l!t.Jstu dt �lil0$ > Vh,ta detalladll ... .... ...,... ... o ... @ .... J ., Tftulodel bloque: eloque fC ptrt tl conuQ!d,le,e hofimnut Cori!tOl dtlcílind,o dtl tjt h<lriXH'ttt l dtl mtllipultdordt ctrgt � ..,., 'IIS , •n_vt:NlOSA s2o l- · --------------- - '' --i zQu1E. � � ..,., 1'S, � "'l'l_VENTOSA '"1-- " ----------1 'º'"� Fig. 7.9 � ----,.i j_gProp!edadet 1�Información � Diagnóstico • Aplicación utilizando un bloque de función FB sin parámetros Realizamos la misma operac1on que para la creac1on del FC. En primer lugar, seleccionamos la opción Agregar nuevo bloque que encontramos dentro del árbol del proyecto y dentro de la carpeta Bloques de programa: .'-.../ -J ._____:
  • 229.
    1 ' ' ' Unidad 7- Programación estructurada l'l'C)'K<I' fofo<.... � ,,.u.., � 0,00,,,., .......,..��... -... �- ": Q -.i..,...,._. .. ,. .• )( "l t fl" ·'.i.. l! "º _¿ �_..- •• • -& o.., 11. .,...,. ... $1pol­ l!¡ �clOl'ldtt,...,,._ Fig. 7.10 Realizando una doble pulsación sobre esa opción, nos aparece la ventana Agregar nuevo bloque, en la que seleccionamos el botón correspondiente a Bloque de función y en donde podemos completar los siguientes campos: Nombre: para asignar un nombre simbólico a la función creada. Lenguaje: para seleccionar el lenguaje que vamos a utilizar L•ngu•i•· en su programación, aunque posteriormente lo podemos Núm"º' modificar. Al desplegar el campo, podemos elegir entre KOP, FUP y SCL para el S7-1200, mientras que para el LenguaJe: S7-1500 se amplía con el AWL, GRAPH y FB ProDiag: Nümero --- lm bbll.-CH._., ... bloq..,loi¡iu>o -�-·"'............ ""- ,........- .., w,,,¡.... .i. .... . ........... .;. ........ _ ,,,..... .,......,_.. .,p08 ft _....� ......j Fig. 7.12 l <OP FUP SCL KOP FUP AIV.. sa. GRAl'H Fig. 7.11 FB ProOiag Fig. 7.lla Número: corresponde alnúmero que tendrála función; disponemosdedos opciones: o Manual: elegimos esta opción cuando se desee elegir el número a asignar al FC. Podemos asignar un número dentro del rango numérico de O a 65535. o Automático: seleccionamos esta opción cuando dejamos que TIA Portal asigne un número de forma automática. Siempre asignará el siguiente número libre a partir del 1. En este caso lo configuramos así: Nombre: Control_Cilindro_Marcado Lenguaje: KOP Número: 10 223
  • 230.
    Unidad 7 -Programación estructurada 224 t...,..,,. "'"- l,.,. biolUl"I M illOCml "'" bioqwJ � que ffp,nllln 1"s �,,.,,.. ff ít,m,• �rienw ,.,bioq..s ft d9ffl fl ,nsianci.,M modoqw ,.,ue11 111Mndo ,r¡pon,W., IH,pl,lft el• ¡tto(Utr�lt,loqut Fig. 7.13 Si accionamos el botón Aceptar, en ese momento ya nos aparece dentro de la carpeta Bloques de programa el bloque Control_Cilindro_Marcado (FB10) creado, que automáticamente queda abierto para ser programado: hv)wclD fMi,,,, v., 1n1,n.r., � Opc-s .,..,...,._, v...,- � TOC.Qy lnt.gr•t.dAutom•tkln ,..! � Q .....__,. ... ' '" X lrl t (l!J • � ID ti ■ C J/ fM!lc•<�"""'- • 4 A, fl!! !I • PORTAL p • . JUMD,A0_7 f/ 11g,...,da,.,.11Mt lli, 01$po,MM,l)',.clel ..,. .,9 lnlnMMd11n fC,U IZI«;� ft eon6p'lc'6ti 6e dupo,� .Y.i Onlirwtchl9fl6J1KO eJu.iue•cf•l""'9••­ 'li AflWl•rnueYObioqu<I • 1.111.. 1oe1¡ • swra,,p[o1100J e ConDoiJjt_ttorqoni,I frc10¡ e eorriiol_Ciw>dfo.J.111,ttdolftlOJ ► :V, lloq1,u lh 1i$W1nt ► Obftl0$1t(ll(li6gk:Of ► 'llf Puentas Hte-mu ► !;. v,.,.i.,,t.c ► 11pof dt clt1:01 ,U: • ':.t ttbl,udtobu...,.cióflr"'-dop,ir ► .11,,kcb,p,onlirlf ► - ll'fCH ► l& O.toSIM pro,.-H dupo1- llla lnllrmeci6ndel p,Offt"'I . � I.JstH IHW)IQ'I __¡;¡¡_g .. E a •jgJ_••� • - � - to lo di 1 9 '• '-, J. ' Si li °"" = '°" ;;;" ;;.,.== ..c. , .-, :;¡ .,.-,; ,J .-1 : ) h"'Ofhos f 1- v ..._ 1,_ • .- =-- .. - ,,- .,---I¡• ,-.. -o- -40• -o- @ .... • lftulo dill b4oqua: • s.gmento 1: --�--------- -- 1 1 , I" �...... ► /:;, J O¡M..�slóg'lcH CQl'l l,,tt ► !i) 1"111potiadOfH ► (;j eonc.ifo,u ► ..s,! C""'p,t,.co6n • Pvn<_s_w,_..., ► lt1M,_,.nc:.. • � (-r¡,ón • io conw1c1e1�"'• ► � Open(IOM, 16gM:41J COtlJNllbns l ► Oe1pll•lfl..""' Jl'CWa6n �Propledadff f'11m(>flTIIKlón l.'U. 1 Oí�MflicQ IIIll • > h,ql»tes opdoNiles • c-ot� • c-,DLdllio.- Fig. 7.14 A continuación, introducimos el programa que representa el funcionamiento del control del cilindro de marcado mediante dos pulsadores, 522 y 523: � !dou6n ,,,., i..u111, � Opc--. He,...,,_, ,.,__,.. � � Q Gunlr� .. )( I• ,:'. )( ") t ('lll t •jb fl! l, ■ Q j/ Eal&•C.......--- ¿f .. ut«l,IC,.1 r/ Ag,,i¡¡t,disp,:,silnlo .. Dlipo,.._ y..6-1 • ·• lmnlClll<c...,(� 121<� ft eorr6g111td6nff lm�i(i,,(,s ij OnlirMy'-gn6uico • r. Mc,qws k p""'tni• lf 'trt1111!111f"O�llt . ...... 10111 • �1t� 1011001 • Comn1UJtJICn.,.,1tl lf'{IO] - �Cilinón:>J.ltlf'l'.t�olFBIO} ► ..¡. e�s Msin•~ ► 04itf!OS�N ► r_. ,i..,,nu ...WrNI ► 1'4i v,111t>1uP1.C ► 1pos ff ÑIO!, 'I.C ► C;i1tbln Mol>H.-..ci6n y...,_do�� ► [-. e.au,, onliiw ► ltn•s ► !a o.ios depoo,_-ff d11po,ilM:I lia, IMDffllfa6nÑlpn,gr•"'· • " �ltl ff- . 1 -o- -'IJ► -o- @ - u2· ., .... ..,,.,,... � .., 1----------------< )---, COIP"MltftD' ... ·u,· j� �!nforrn.nlon U Y.l 0i,9<'6stko • c-ot..r,._ -�aln. Fig. 7.15 " ► l"'", Ge111ttl ► $ 0peff(ioMJ lóf1CH COft bm ► � Ttmponackffs ► 9i C-IXlfH ► :,.11 C<,,IJNr1Co6n , · , funcioneu11,1tmhu1 ► 'hns•-.nu- • ► !l( '-,si6n ► � Co<loolffl llfOIJ,."'• , i;.. 0P<1rtd11M1 16focas c.,,.ro.tobns ► 0Hpla111"',.""'�rcuó6n __,'
  • 231.
    ' ) 1 í ¡ Recuerda • •• Un bloque FC o FB sin parámetros es aquel que contiene un programa que realizará la misma función siempre con los mismos operandos. Unidad 7 - Programación estructurada • Ejemplo de llamadas a bloques sin parámetros A continuación, debemos realizar la llamada a los bloques FC y FB, ambos sin parámetros, y creados anteriormente. Esto lo haremos desde el bloque 0B1 y los ejemplos los realizaremos utilizando las diferentes instrucciones de llamadas, UC, CC y CALL, tanto de forma incondicional como condicional. Para hacer la llamada tanto a un FC como a un FB, seleccionamos el bloque y lo arrastramos a la zona de edición. Si programamos la llamada al bloque FC, quedaría: • Segmento 1 : Llame de incondicional pera ejecute r el programa del FC10 ----� � "'Control E. Horizontal" - Je_ EN ENO ---------------- Fig. 7.16 Pero si hacemos una llamada a un bloque FB, nos pide que asignemos el bloque pciones de llamada B Instancia individue! llloque do, - Nombre Número Q Mlnu11[ @ Autom6uco de datos, que será de instancia, y se asociará para que ese DB haga de memoria y pueda guardar el estado del funcionamiento del programa del FB. Por tanto, en el momento de arrastrar el bloque FB a la zona de edición nos solicita que declaremos un DB de instancia, de modo que aparece una pantalla tal como la que vemos en la siguiente figura: El bloque de función llam1do 9u1td111 sus datos e-n un bloque de datos de instancia propio. mh. Fig. 7.17 La configuramos y asignamos un nombre y un número al DB, en este caso el 10: Opciones de llamada Instancia individual Nombre- Conuol_Cilindro_Mlrcado_DB Número ., , _ o ____,_. ; @ ..,_nual Q Automático El bloque de función llamadogutrda sus datos en un bloque de daros de instancia propio. má, Fig. 7.18 Finalizada esta operac1on, podemos observar cómo en la parte superior del bloque llamado aparece el DB asociado a la llamada en ese punto de programa a ese bloque FB. Además, podemos comprobar cómo en la lista Bloques de programa aparece el nuevo DB creado: 225
  • 232.
    Unidad 7 -Programación estructurada Recuerda • • • La llamada a un bloque de función FB siempre se asocia a un bloque de datos de instancia, mientras que para la llamada a una función FC no. 226 l"royec.to fd,ción �r ln,,mar Ont.n, Opcione-s H,truNentu v,nt1rui A)Uda Tot.Uy lntegr•ted A.utomation PORTAL ¡ .. ,' • Q �a,pf'O)'Cl:to "- )( -!.! � )( IC') t ('a • -i,¡ m 51 & a. � fs'9tJi«"t( <Or,e(1ÓfO!W t Dispositivos q o C) '"' lJ UNlOAD_7 W Agre9ar 1füpositivo D Dkpo.sRIYos yredes ,.. r !l ll'ltrodtKdon faiu u1«:� 1ft Coriigul'ación de diipo.util!Os � OnliM ydlfgnóstJCo • 'i,. eloqu,sd, progr•m• • Agregarnu,vo bloque • MHn lOl1) • Startup{OBIOOI • ContrOl_fJe_Ho�t1l (FC10I a- Control_Cillridro_Mtrttdo {f8t0l i ConO'OI_Cilindro_,.,udo_oe 1oe10J ► :r, eloqu,1 d, siskma • Gif; Obfeuu kt.OOlógic:o.s � Agrtgar obfeto ► j¡J; Fu,n�s ,1,uimH ► � Van1bl,1 Pl.C llpos de d1t01 P't.C ► Tlblu d, obseMciónylor..ldo r,.m'IIMnte ► r:; e,ckups online ► ...,. ll'lces ► � Oetoi de Pf'»Ydt dtsposiwo ENO -------------- ..:�S.- ,. � ..,., . �Clwldrtl_"'-1:tdo. fN fNO -------------- Propiedades :!l lnformad6n .. Comrol_Epe_ a, Comn>I_Ciltn Fig. 7.19 En este caso se han realizado las llamadas a los bloques FClO y FBlO de forma incondicional, pero también se podrían haber realizado las llamadas a los bloques dependiendo de una condición previa y en este caso se dice que la llamada a los bloques ha sido de forma condicional. Como se observa en la siguiente figura, se ha condicionado la llamada al estado del selector AUTO/MAN, es decir, que según sea su estado ejecutará una función {FClO) u otra (FBlO): P'ro)'t'tto Edición .e, 1ourur Onhne Opc101tt1 He�m�ntu 1tient1n1 At,1d1 ToWlly lntegramd Automation · .! Id _....,_,. .1i )( !! , X ") t C", '"1 ::: ' ---; t!! ;;-' ll c....c ll cc_ C _ J = """"""' ::-::--::;:- '.....,, ::-::::-: °"""' ==• =------:------P -: O ;;; R =: T , A ¡¡ L rxi .. eJoq�s die p,ogr1m1 . Agreg,rnurvohloquie • ..,_in (Oet) • St1nup (091001 .. Control_E,ie_Hon-:.1 f,CtO! • Contrt>LdiMro_"4rudo (f!IOJ liii contro1_Cimdto_�•rc1do_Ofl 1oe10J ► #, !loquu die s1uiem1 • Obj,eto,tiecnclógicos W A9rt91r�10 Fuen1u rittmu V1nablu PlC Tipos dt dll0$ 1'1.C ► � l1btu die obsie1V11dónyi:>r.ldo p,erm1nen1,e ► e,ctups onlinie ll'lcts ► ti O.nn dt pro.,yd,e dt$posl0/0 l!i 1nbrm1dó,, diel ixo9r1m1 " -il- -i/1- -0- ® ... J ,.. Tftu6o del bloque: "Mun l"rogram Swie,ep (C)c�}" (Qtl'lt �·.. • Segmento 1: Ll1m1d1 cond1cÍO(l1I per1 iej,ecuter ie1 programa dtl FCIO ...., 10 "Contnlt.E)e_Horimntal" t--i/}--- EH ENO ---------- 'IIIU ..,., . "Com,ol ...=��- ElfC'lOft 1 AIJlOl't,,W4" 'tomol.,Clindro_Matado4 � EN ENO ---------- ,.... gPropiedades �lnfooNdón ..,c,n(J'OI_� . contrel_Clbn Fig. 7.20 7.3.2 Llamadas a bloques con parámetros En primer lugar, vamos a ver cuáles son las diferencias entre un bloque con parámetros y otro sin parámetros. Se conoce como bloque sin parámetros a aquel bloque programado, sea FC o FB, en el que las variables utilizadas del PLC son
  • 233.
    ) ) ) ) ) Unidad 7 -Programación estructurada siempre fijas. Por tanto, y a pesar de que el bloque puede ser llamado en diferentes momentos del programa, siempre se ejecutará con las mismas variables del PLC. • Segmento 1 : Manipulador de carga. Eje hori20ntal. Electrovalvula biest6ble. Oes.plamr a pos.ición de des.carga µ 'IQ0.1 "115.3 •y2_VEN10SA S20 1- • ---------------- A ---i 1ZQUIE � • Segmento2: "-.Dnipuladorde carga. Eje hori20nul.Electtovalvula bíeuable.Desplazara posicióndecarga 'IQ02 '115 4 •y3_Vf.NTOSA S21 1- • ---------------- A --I DERE � Programado en un bloque FC o FB sin parámetros Una vez tenemos programado el bloque, hay varias opciones: Fig. 7.21a Fig. 7.21b o Reutilización. En un mismo programa podemos utilizar este bloque para el control, por ejemplo, para el control de un nuevo cilindro. Si es así, se deberá actualizar el programa con las nuevas direcciones de ese cilindro. o Llamada. Crear el bloque de programa para poderlo utilizar en diferentes proyectos y, por tanto, tan solo se realiza la llamada en un punto de cada programa. o Rellamada. Cuando se tiene la necesidad de realizar la llamada de la ejecución de este bloque de programa desde varios puntos del programa principal con el objetivo de no repetir el mismo programa en varias zonas. En el siguiente ejemplo se muestra cómo se va a ejecutar el bloque FC10 sin parámetros desde dos puntos diferentes del programa principal programado en el bloque 0B1: FC10 "SlO' A IZQUIEfllA" 1, )----, I ,.. } � S�:o 1: '"""""""°''""9' ,,. "°'""'u""'""'••• .,,ablt Ot•:; ::•• " '"""'' -------------- - ,. Segmento 2: Mllr'P�l6dctd, carga f¡t horizlflul. f�ttro,·alvu!a �stable Oespt.121111 posic:i6nde c,rge 1154 "Yl_V!.NTOSA ' l: 'IQ02 �t ·si,1-- · -- 'º'";:.__ Fig. 7.22 Sin embargo, en el bloque con parámetros se declaran una serie de variables para que el bloque pueda ser llamado en diferentes momentos del programa, de modo que podrá hacer que el mismo programa se ejecute con diferentes registros del PLC. 227
  • 234.
    Unidad 7 -Programación estructurada 228 Orden_Avanzar_Cilindro Orden_Retroceder_Cilindro G::""'- ..........,_ �-� t-- �------------------l c-,d;:_. • s.grnento l: 1 � -; - •EV_ r--4 =.. � .. _ -,__________________ .."""=� Bloque FC o FB con parámetros Fig. 7.23 EV_Avanzar_Cilindro EV_Retroc�er_Cilindro En el siguiente ejemplo se muestra cómo se va a ejecutar el bloque FBlO con parámetros desde dos puntos diferentes del programa principal programado en el bloque 0B1: Fig. 7.24 • Aplicación utilizando una función FC con parámetros Si partimos del programa creado anteriormente en el bloque FClO, pero creándolo en otro FCl, llamado Control_Cilindro_FC: Proyeao Edición 'ttr tm.ert.tr Onfü4! Opoones Hfrramif.nr.a,; 'UntltN ► roully lntagrated Al.itotn.ador1 PORTAL ' _! fd <iuo"""P""""° Oispositlvo.s � Q C) • ¡_J UNIDAD] W�R!qardKJXKióvo a. Di,;JXKitMx y�de,; ► ÚI 01_1ntroducdon (tJILI U14C ... • WII01_1ntrodlJ()don_1 (CRJ 1l1◄... fft Configuración de dKposml/'o,; jd Online ydk19n&itio=.o .,. � BloquH de progr<1miS lllf' f,,gn!gar nuevo bloque . Mlin (OB1) :ti- Startup (OIS100J 1---=c�• � c_ on _ tro - l..,Silindro.,,_ F< {FC1Jj ► [¡ Objeto1i tecoo16gicot ► � Fuente,; ,earM1i ► '4 Vi1ridble1 PLC ► llpos de d;ato, l'l.C ► �!T;sblH de ob-.ervaci6nyfor:t.- 811chrps online ► !:;¡ Tr.sce, ► � Daros de proxyde ditpositivo � lnlorm<tCIÓo del program11 ..il Li�t.t,; de te>CJ:<X ► [ti �ulo,; loc,de,; > Vbta detallada -1t- -1rt- --<r ® L..t, J • Título del bloque: Com�nuno ■ • Se,91mtnto 1: Mtnipuladord>! catga. fje horimntalfl>!�uov,iMJla bi,mabl>!. �..p�?a1r1t P·- 'IQ0.1 '115.3 •y2 lt:Hlt)'5A 20 1--- º --------t A llQUfE;::... �egmento 2: 'IQ02 'IIS 4 "Yl YENTOSA 21� ·-------------------• -0 7 f�� ªVt-it49enentl • Cootrol_Clln... Fig. 7.25 '--- '- - . ,,..
  • 235.
    1 1 1 ) ' 1 ) ) ' ' ' ' ' ' 1 1 1 ' ' ' ' 1 ' 1 ' Unidad 7 -Programación estructurada Para poder incluir parámetros en este programa, tenemos que conocer en primer lugar dónde se declaran dichos parámetros y qué tipos de parámetros podemos utilizar. El lugar donde se declaran los parámetros se encuentra dentro del bloque FC, en una ventana que existe en la parte superior de la zona de edición del propio programa. Al desplegarla, tendremos la siguiente vista: � -e,� ,e, ...,. ... ,.,. 1� () '4w"W� • � _la: Oftplnl'ttwi 0 0 ----� , • JUI0-0_1 . ,....,...,.,� ..o..,................. ► :a •1 -�1au1, u« . • - t1 ••-�_1 f01U UI◄_, D( °""""__,,.dt d,.,..-­ .1, U..W y-d..-¡..,._ • '. � d• ,...._ rf '-t"t'J.a, _ ».,¡Q<,t • ...-. Pnl • s-.P?l,oat ... ,�_ ,:��-f'C (l'r.1 • � <Jite- �­ ..��"'" , _ 1..tntlMi ft.C ► 1 1( � ff d.llt.H ft.C ► - f.all&n d., ............,.� , :.. �...... ► Dra1"1 1h, l'Nlt'if� d� �............... 1,..,,...... '-"""'i <h - ► ... t1 111W..ia. b:.o•H ► ,a�(<l'Ulll«.KJ ►�R.l:_l {s:R,l lll<� w..n.um-" Fig. 7.26 Aquí nos encontramos con la lista de los diferentes tipos de parámetros que podemos utilizar. A continuación, vamos a exponer los tipos de parámetros de un bloque FC, que se pueden clasificar en dos tipos: a) Parámetros del bloque: Tipo Sección Función Parámetros de enlrada lllPt Parámetros a,yos valo<es lee el bloque. Parámetros de salida � Parámetrosalj<)S valo<es escribe el bloque. Parámetros de entradafsalida ln<l.t El bloque lee los val<>ms de estos par.imetros al efectuar la llamada y tos vueNa a escribir en ellos Iras la ejecución. Valor de f9"!10 Rell.m ValorqtJe se devuelve al bloque qtJe realiza la llamada. Fig. 7.27 b) Datos locales: Tipo 5ecdón Función DalDS lcxales temporales Temp Variables que suven para almacenar resultados Intermedios temporales. Los datos temporales se conservan solo durante un cldo. s, util,za dalDS locales temporales, se debe asegurar de que los valores se asenben dentro del aclo en el que desea leerlos- oe lo contrario, los valores serán aleatonos. COnstante constan! eonstantes o,n nomtns s1mból11x,s d9darados que se utillZan dentro del blOQUB. Fig. 7.28 229
  • 236.
    Unidad 7 -Programación estructurada 230 A continuación, realizaremos la declaración de los diferentes parámetros que utilizaremos en nuestro ejemplo. Estos serán: Parámetros de entrada: se declaran aquellos parámetros de los que el FC necesita leer su estado para poder ejecutar su programa. o Orden_Avanzar_Cilindro o Orden_Retroceder_Cilindro Parámetros de salida: se declaran aquellos parámetros de los que el FC necesita escribir su estado a medida que va ejecutando su programa. o EV_Avanzar_Cilindro o EV_Retroceder_Cilindro Para ello, basta con elegir el campo correspondiente, escribir el nombre de la variable en la columna Nombre y seleccionar el tipo de variable en el desplegable que aparece en la columna Tipo de datos. La tabla de declaración quedaría así: CootroCOllndro_FC Nomb� e • Input G • Orde-n_A'an:l'.llr_Cilindro Bool -O • Orden_�troceder_Cilindro 800 ,o -0 • Output S le • EV_Av11rusr_Cílindro Bool EV_Revocedf'r_últndro Bool Void fil Fig. 7.29 En dicha tabla no hemos declarado ningún parámetro del tipo: Parámetros de entrada/salida: se declaran aquellos parámetros de los que el FC necesita leer su estado para poder ejecutar su programa y, además, escribir, porque es el resultado de alguna operación programada. Temp: se declaran aquellos parámetros que van a trabajar de forma interna y que no son ni de entrada ni de salida, por ejemplo, para operaciones internas. A continuación, introducimos el programa en la parte de edición, donde al querer escribir el nombre de la variable se desplegará una ventana con todas las variables declaradas en el proyecto, además de las 'K2M_wm• omA PIEZAS' 8001 -.q2.o declaradas como parámetros. Estas variables se '"""'ºb,.,_..,i,,.d.. 8001 #Orden_Avtnzar_Cilindro Bool reconocen porque carecen del símbolo de #Ord•n_Retroc,de,_Citindro 8001 #Rrs.et_Contador Bool etiqueta en su izquierda, su nombre empieza con -o ·so_E..,RGENOA' 8001 "'º·º "S1_PARO" Bool '%10.1 el símbolo # y no están asociadas a ninguna -o ·si_l.W<CHA' 8001 ...,0.2 variable del PLC: Fig. 7.30 V .J J J
  • 237.
    ' ' ' ' ' ' ' ' "- ) ' ' ' ' ' 1 ' ' ' ' ' ' ' ' ' ' ' Unidad 7 -Programación estructurada °"""" ()pc,on,f1 H�"'"'�"tu wnttl'II ;,,,.,41 -:... :.a .'1J a e ,. fsubl««mneo6r! Ofll.-.e ·-" (ontrol (1lmdm H ltt 1J - ■, • • ::J. lN'.>A0_1 rf ft)"fga,• dupo.11M . 011po.1-, y�1 ► · m o1_Wroducdon !OOU1< . "' . OI_W:rodu«.0..1 [CPU 1214 IN eo,,1gu..ti6ll ff dup,mwos "' OnliM yll11gM'11K.o '"' � aloqYel Ól' progtHT•I 11W l,g�gu nw.-ow,,q,.,, • ...,111 I01tl • sum.pf01100J • eon.:rol_Olonora_K {KlJ ► Obf-mwcrooló¡icot .,. PIH�11�1 'f# Ai¡f'ltglf -"° IKNI/O t • � v....i.1 1'1.C ► 'llpol dt d•- ft.C • - llobla1 dt obH"'1ci&, ybi.., • etckupi � ► .., hetli , ·ll, o.tin d♦ ,..,.,.ff dufl'l',•tl90 l!'¡ 111foff,,1ci6tlfflprog,.l'ft1 liu.u de ttJCC»; ► .a M6dOllol laul,u , "" lnb'oou<.dot1 {QIIU 121-CACI •l Cootrol_Olindru_FC e • Ofd,n_.....,..,_c.,,d,o aoat G • Ordtl'l_lletl'Oetdl't_dliindn, lool ,o • Ot.�: o • tv..},,,na,_Olind,o loDI ,(l • !VJl11rOC♦d1,_Ciond,o 8ool <Q . lr!OI;¡ G ► Tt"'P a ► OMar>t '<Q ... "'M'I .. . ConlJOl_c.lond�l'C ,... ... ... .... .... .... .... Fig. 7.31 Una vez introducido el programa, tendremos: >•• dt tn"l'JI . 1•1.tudor del'tr Pb1do<d1a.­ S1-ltaor M1,­ Nl1ócw d1 AI • Seg1nento 1 : D�spla :::ar il po _ ,_ ici _ 6n _ d_ • • - •• - "- "----------- Orden 1EV_Alanzar_ ► Tt"'P<)f::a�• • • eom..�, ► Cs¡ C.,.,,,pt1'(>Ón , ,;.. ,.."'"��ne" ► c-�"oón ► � Coriuol Hli-,,aroui , ,_ otw,..c-1'6goccuco,,ptllbtll1 ► _d Oupi.alllM11tOrrott<ióol r _ at t- i - n d _ '° _ _ _____________ _ ___ _ Cill n d ro )-------< Fig. 7.32a ,.. Segmento 2: D@�p _ l, _ :a_ ro _ po _ , _ ><• _ ón _ d _ ,_ ,.po _ ,o___________ Clllndro #EV_ Retroceder_ 06nd ro µrd•;;,_ >-----------------------< }-------< Fig. 7.32b Todas las variables declaradas en el bloque solo serán válidas para ser utilizadas dentro del mismo bloque y no fuera de él. Esto no quiere decir que un bloque con parámetros esté compuesto únicamente de esos parámetros declarados como variables, sino que también existe la posibilidad de poder incluir registros del PLC. El hecho de combinar registros del PLC con variables declaradas para los parámetros no será recomendable cuando protejamos el bloque contra lectura y escritura, ya que el usuario del mismo desconocerá en un principio qué registros del PLC se han utilizado y por tanto existe la peligrosa posibilidad de poder duplicar esos registros al ser utilizados en otras zonas del programa. Para finalizar, debemos compilar el programa generado en el FCl y comprobar que no existen errores. Si no se compila, al realizar la llamada del bloque desde el 0B1, no aparecerán los parámetros configurados. Ahora tan solo nos falta realizar la llamada de este bloque FC con parámetros desde otro bloque, por ejemplo, desde el 0B1. Al seleccionar el bloque FC programado y arrastrarlo hasta situarlo en la posición deseada de la zona de edición, aparecerán campos <??.?>, que deberán ser completados con alguno de los registros o variables del PLC que harán funcionar el programa. 231
  • 238.
    Unidad 7 -Programación estructurada 232 "Control_Cilindro_FC" t------- EN Orden_ Ava nzar_ <1?.?> - Cilindro Orden_ Retroceder <l?.?'> - Cilindro - ENO -------------< EV Ava nzar - Cilindr� ---1<1?.?> EV_ Retroceder_ Cilindro ---1 <1?.?> Fig. 7.33 Una vez completado, en nuestro caso, quedará de la siguiente forma: • Segmento 1: Uemada incondicion&I para eje,cutar el programe de,I FC1 pera el cilindro del eje hori20mal "Control_Cl lindro_FC- ¡------- EN ENO --------------< Orden_ 115.3 Av&nzar_ 'IQ0.1 •s20• - Cilindro EV_Avanzar_ ·v2_VENTOSA Orden_ Cilindro ---tA IZQUIERDA• �-◄ Retroceder_ ·s21· - Cilindro EV_ 'IQ0.2 Retroceder_ •y3_VENTOSA Cilindro ---tA DERECHA• Fig. 7.34 Ahora realizaremos una nueva llamada a este bloque, pero utilizándolo para controlar otro cilindro, como es el de control de marcado. Por tanto, utilizaremos los registros del PLC correspondientes a ese cilindro, con lo que quedará: Segmento 2: Llameda incondic1ona l para ejecutar el programa del FC1 para el cilindro marcador 'Control_Clllndro_FC" 1------ EN Orden_ 11155 Avaniar_ ·s22· - Cilindro Orden_ '115.6 Reuoceder_ •s23• - Cilindro ENO -------------◄ 1Q0.6 EV_Avom•r_ •y¡_BAJAA Cilindro ---tMARCADOR" EV_ 1QOJ Retrocede-r_ ·vs_SUBIR Cilindro -< Ml'.RCAOOR" Fig. 7.35 Si ahora comprobamos, se observa cómo con el mismo programa elaborado en el FCl se pueden controlar los dos cilindros de forma independiente. Con esto logramos reducir la ocupac1on del programa en la memoria del PLC, además de evitar que sea repetitivo, pues esta llamada la podemos realizar para tantos cilindros como sea necesario y que, al mismo tiempo, lógicamente, responda al funcionamiento programado en el FClO. Cuanto más complejo y largo sea el programa incluido en el FC, más reducción de memoria se consigue. Pero este tipo de bloque no nos va a servir para todas nuestras aplicaciones. Veamos otro ejemplo en el que vamos a añadir algunos parámetros más para que vaya contabilizando el número de maniobras que realiza el cilindro y su resultado lo mostraremos a través de un parámetro que asociaremos en la llamada a un registro del PLC. También añadimos un parámetro de entrada Reset para poner el registro de contaje a cero. Por tanto, con esta ampliación de parámetros, ahora tendremos los siguientes declarados: J
  • 239.
    1 1 1 1 1 ' ' ' ' 1 Unidad 7 -Programación estructurada Control_Ollndro_FC Nombre <J .. Input Tipo de datos l'alor predoet. Comenu,no , <II • Orden_Avanzar_Cilindro Bool Orden_Retroceder_Cilindro Bool Oetector_Cilindro_Avance Bool Reset_Contador Bool EV_Avanmr_Cilindro Bool EV_Retrocede-r_Cilindro Bool ry <J • fv9niobras_Realimdas lnt <l • Temp ,., O • Flanco '3 G ► Connant 8001 Fig. 7.36 Ahora completamos el programa con el segmento 3 en el bloque FCl, para incluir el contador. Quedaría así: Segmento 3: Cantaje del número de maniobras que rea liza el cilindro_______ #Detector Cilindro_Ava �ce INC lnt p --------- EN - #Fla nco #Maniobru_ Realizadas ----1IN/OUT Segmento 4: Puesta a cero del contador de maniobras re_ a l_ iia � d_ as _____�--� r_Contador MOVE !--- EN - O IN #Maniobras_ ,1 OUTI Reoa lizadu Fig. 7.37 Fig. 7.38 Para finalizar, debemos compilar el programa del FCl (menú Edición-Compilar) para actualizar la lista de parámetros añadidos. Será entonces el momento de volver a visualizar el programa del 0B1, donde tenemos realizadas las llamadas al FCl. Nos aparece en error, lógico, pues ya no coinciden los parámetros porque han aumentado: T O Segmento 1 : --- -COntrol_Cilindro FC 1--------l El·J Orden_ '!153 .:.ven::ar_ •s20• - cdindr irden �-4 hetrc:e-i�r •s21• - Cilindro ·· [NO ----------- 'IQ0.1 Ei Ava n:ar -Y2_VEN10SA - c,1:n:-•� ---tA IZQUIERDA. Ev 'IQ02 RetroceJ.,.r_ •y3_VEN10SA .________c ;;;. ,h.;;. nc... ,'·.;.¡ ·�A DERECHA. Fig. 7.39 A partir de aquí tenemos dos opciones, bien borrar el segmento y volver a realizar la llamada de nuevo, o actualizar la llamada y completar lo que nos falte. Para ello, seleccionamos la llamada incorrecta y al pulsar el botón secundario del ratón, aparece un menú contextual del que elegiremos la opción Actualizar: 233
  • 240.
    Unidad 7 -Programación estructurada 234 • ..J I.HOA0_7 ,. ,_,"-9",4-pot­ - 0..pn-)'fffe• 1 r¡o)llnw<<...,(Cl'U,nc_ • ;a, 01_............<icif...l fCl'U111<L 9't con1g1nta1••,.,.,,,..... j. 0..y61..IIUI • '., Noqut-,. ........... • ...,.,,_,,.,w.qw - �..10111 • s.u.""PfOIIOOI • Cc<ttrol_Cinl"'_PC (Kt] • ;,.¡ °""......cnol6pc... • -- 'wnlH�• '111"""11••-•KM'O• . ........ta.l'l.C ► :-..líposciedtlOSl'I.C: 1 Toblu . ......,..aolo,7111,:..,. ► r- a.�ri,,e 1 O,,iot ..,,..,...,:i;.,_..., iij_ .......o6,,llelJ1'D911- ....,H.- 1 fj"'6du1Dsloc•lt• • '.a .,._,.�...,1aiun1c:,a_ • · l'l.(;.1 (0'U12141CIIIGIDClll,I o,<>OtWi � ....ie-• >' ....... ,.,,.... )( ll')t ra · .¡¡ !J li ■ C J/ Mbll,c•__.,� ";,, � - ... ... ...,► -u- 1!!I .... j • CJSeg,nenco l: Ulm1dl,ncond.<.GNJpor••�••l"'°""1N llelK1 ptrl_.(lhnck,,Mie�horimnal ,..,,,,.. .,.....w._ X torrtr .. , �..rta••f9"'e- - o,...,..., f. '�';, ' �::- "" �..:: rl ""•"""_,,..no <,,.,,,,,.,(� - Fig. 7.40 � -Ml:­ Qrl..lay,)t•l Clrl-Mo)ll•.f' ,..., 0,0.C ·¡ • :.�..,.,,.,......... ► � �. ► ;,,oc-,_,..., ► !}J l'W>ciooM, ............. 1 btr11rf'ellOI , S, c-,io, ► 'it; CorolrcllNIPIOfl'I"'• ► � �,.._, lof,cn c,o,,ptltbf.1 Nos aparecerá una nueva ventana dividida en dos zonas: la de la izquierda muestra la configuración antigua y la de la derecha muestra la nueva, que es la que quedaría si aceptamos la última actualización: 1ntt-r6unueva = · -�;::::==::;;;;:;::===- "Control_dllnd:ro_fC" 1-------""'EN Ordc-n_ '115.3 A�•n•r ·s20· C.hndro Orden_ "IIS.<I �uoceder_ ·s21• Cíhndro ENO 1------, EN 'IQO.l EV_Avon:ar_ "Y2_V Cilindro AlZQ' EV_ 'YQO Retroct'ftr 'Y3_.,f, C,hndr0 AOER > < Fig. 7.41 Ordc-n_ '115.3 Aven:111r_ ·s20· Cilmdro Orde-n_ '!itS.<1 Rit1rocedt'r_ ·s21· Cilmdro �1tetor_ Olindro_ En este caso, es obvio, pulsamos el botón Aceptar y así podemos completar en los campos correspondientes los datos que faltan. Al final queda el siguiente programa para las dos llamadas de los dos cilindros: Segmento 1: Uamade incondicional pare t-jeocutar e-1 programe dt-1 FCl para i!I cilindro deo] eo¡e horizontal • Segmento 2: Llamada incondi.etonal pera eo¡eocutar el programa del FC1 pera t-1 cilindro marcador ,,., -control_Cilndro_Ft::' 1------- EN On:leon_ "IIS.3 Avan?llr_ •s20· - Cilindro Ordeon_ 115.4 �trocl!deor_ •s21° - Cilindro 'IIO 7 "84 bl Dett-ctor_ VENTOSA dlindro IZQUIERDA' - Avanc!'- '112.6 ºS4_RESE1" - Reseot_ConUJdor 'IMWJ010 "PROCESADAS Maniobras ROJAS" -Rnlizadas- ENO -------------< 'IQO.l EV Avanmr ºY2_VHfTOSA - Cilindr; --4A IZQUIERDA" EV_ 'rQ0.2 Retroct-deor_ "Y3_VENTOSA Cilindro --4A DERECHA" Fig. 7.42 1------ EN ".US..5 Avanzar_ ·s22· - Cilindro Ordt-n_ '115.6 �troct-dt-r_ "S23" - Cilindro 'll15 'BlO_t-1 Dett-ctor_ �- - � �� n :c�- '112.6 ºS4_RESE1" - �st-t_Contador 'IMW1014 "PROCf.SADAS """niobras VERDE" - Realizadas- ENQ -------------< 'IQO 6 EV_lwanmr_ "Y7_8AJAA. Cilindro --4M'.RCA[)OR" EV_ "Kl0.7 Retroct-dt-r_ "YB_SUBIR Cilindro --4 W;RCAOOR" Fig. 7.43 Si realizamos la comprobación del programa con el simulador 3D haciendo uso del panel Control de proceso y del panel Registros de pedido y de contaje, observaremos que los contadores no funcionan correctamente por efecto de la declaración del flanco como variable del tipo TEMP. Si se declara como variable lnOut, entonces tenemos que asignar un registro a ese nuevo parámetro que nos J
  • 241.
    1 ' 1 1 ' ' 1 ' 1 ' 1 1 1 1 1 1 1 ' Recuerda • •• Una función FC con parámetros es aquella que contiene un programa en donde el resultado de su ejecución dependerá del estado que tengan en ese momento los diferentes parámetros configurados. Unidad 7 - Programación estructurada aparecerá en la llamada al FCl. Esto es tan solo un ejemplo de que los FC son válidos, pero tiene sus limitaciones. Es por ello que para la elaboración de bloques de programa se determina que la mayoría de sus parámetros sean del tipo Input, Output e lnOut, y se utilizan las variables de tipo TEMP para alguna operación intermedia, pero que no sea entre otras cosas un flanco. En estos bloques de programa FC, si existe algún parámetro declarado como TEMP, no se podrán hacer varias llamadas a esa función, ya que se solaparán los datos y funcionará de forma incorrecta. Tan solo se podrá realizar más de una llamada a una función FC cuando no exista ningún parámetro del tipo TEMP declarado. Para poder solucionar este problema y obtener otras ventajas, se utilizan los bloques de función FB que pasamos a exponer a continuación. • Aplicación utilizando una función FB con parámetros Seleccionamos la opción Agregar nuevo bloque que encontramos dentro del árbol del proyecto y dentro de la carpeta Bloques de programa: • ...:1 u.t0,•CU .,..._,...,.,._ ao..,.._,,....,. • '.Jl o1_�do>nltJIU IJI«:� • ,a o,_,.-.CclDl.,.fl fCN tllC:� lf '°"""'"<IM 4't d"PO<­ .J,j 0ftlint , ••¡n6<11<0 ..........clt,.,...... • !llol¡uel clt lKlelM 1 !. � <K,IOi6g,c01 •Sil--•·-· , :.11....blt, ru: • � • ..- ru: • .;.- tot,¡o• c1t ob..,..•••,-,,.,.,.,,.,.ne.,.. 1 , ' lklu4Konlioo • hcu • '& o.iix .,. pnnrcltdi<posJIM 1Í'1 1'11Dt1t11c,6ndtlp,o,Jtl"'I .!i]u<..,clt_ • .,a Mlod.Jo<loult, � . .... _. . ...lo Fig. 7.44 • ,:S10p,t....-16p,.,c...M1 • . k"'po,,•-• ' 4'-"-• • �c-.,....áWI • �"""'-•-.....-.. • ;3h!llfort""" • &¡ C-,.16n > 3:0 Co,,tro1 df,l ,.._lfl• > :a 0,.,.<ioNl l6góc&ltOll (Ultbtu , 0up1111n,,.,..o�-ci6n Repitiendo el mismo procedimiento que hemos utilizado para crear un bloque FC, crearemos otro nuevo módulo, en este caso un FB al que asignaremos el nombre Control_Cilindro_FB. Cuando ya lo tengamos abierto, lo que hemos de hacer es declarar los diferentes parámetros, y para ello nos fijaremos en la parte superior de la ventana de edición del programa donde encontraremos la zona para la declaración de los parámetros: "'°'"'1D (4,t,6n ..... ....,i,, � �· i........,._, .......... ,,,,...,. •, X lr) 1 ('l< ·l. !fl lli & C ;1 �-�..,._ '- <t • L;i1n0,.cv ,,...,.i",..,..,.... 11i.o..,.._,_, , :. 01_.........<loollCNUlC:� • ;,¡a o1.-......do<l.,.fl lCPU1216C� rt c.m,.n,....."°'..... ,i OMNyNf'Di,co • ·.; 11oqu<, d1 pt"1'•"'" ,,...,..,.,_...� . ...... ¡o.11 • 11""1'iOllOOJ • c-_c-,,,Ja :,.,¡ .�................. • � Olr;t.... � . --··-· • :.,v.Mblul'l.C t ""4N<lno1:11'lC • - ttblo1 Nobn.....o6nylb!ado1M• l ..,r;I IUl"PS- 1 - hU' . ..°"...."""......poi..., - �KONllfel ,....tllll :!' .... ... ., � � 1:�a .air:a.1 .¡iit�· t ,�ti'"� .-.��- m Contral.Olindro_f8 .. SegmeAIQ 1:______ _ Fig. 7.45 • _, c.t......1 • .!!. 0,.••--•16to<••((lllb$ i! • 1l11t111,....a-• ;- ' .!..11 �' 111, • :ii �p,of'K06ol . ,__.,,.,....,.,....... 1 ............. • c-.lHl,..,,nfflt • ,f:1 0,.,_..,., W.,.C.,CMpo� • � o ..pi..,,,_,_.., f 235
  • 242.
    Unidad 7 -Programación estructurada 236 La interfaz contiene las declaraciones de las variables y constantes locales que se utilizan en el bloque. Las variables se dividen en dos grupos: o Parámetros de bloque que forman la interfaz del bloque para la llamada en el programa. o Datos locales que sirven para almacenar resultados intermedios. A continuación, vamos a exponer los tipos de parámetros de un bloque FB: a) Parámetros del bloque: Tlpo Secci6n Función Disponible en P.rimetros de entrada Input Paraffletros cuyos valores lee el blOQue. Funciones, bloques de función y algunostipos de blOqueS de organización Par.imetros de salida OJ1¡)ut Parámetros OJYOS valores escribe el bloQue. Funciones y blOQues de Mlci6n Parámetrosde entrada/salida lnOut El tNoQue lee los valOres de estos parámetros al Funciones y - de función efectuar la llamada y los weive a esaiblr en ellos tras la ejecución. ValOr de retomo Retum ValOI' que se dewe/Ve al bloque que realiza la Fundones llamada Fig. 7.46 b) Datos locales: Tlpo Secci6n Función Disponible en Datos locales temporales Temp Variables que sirven para almacenar resultados Funciones, bloques de función y intermedi05 temporales. Los datos temporales se bloques de organización conservan SOio durante un cielo. Si utiliza datos Nota: tocafes temporales, se deDe asegurarde que tos valOíesse esaiben dentro del CidO en el que desea en los bloques de datos de 1eer10s. De 10 contrario, loS val«es serán aleatorios. instancia no se visualizan losdalos !Ocales temporales. Datos locales estátieos Statie Variables QUe sifVen para almacenar resultados BIOQUeS de función lntemiediOS � en el bloque de datos de Instancia. Los datos estáticosse conservan hasta que se welVeo a esaibir, también a IO taroo de vanos ciclos. Los nomb<es de IOs 1:>10QUeS que son llamados oorno multilnstanda en un b+OQue lógico también se depositan en datos IOc:ales estáticos Constanta Constant Constantes con nombfes simbólicos declarados que FundOnes, bloquesde función y se utiliZan dentro del blOQue. bloquesde organización Nota: en IOs blOques dedalOS de Instancia no se visualizan las constantes IOcales. Fig. 7.47 Pulsando el botón secundario del ratón sobre la fila de títulos de la tabla (Nombre, Tipos de datos, etc.), nos aparece un menú contextual en el que podemos fijar que se muestren más o menos columnas de entre las posibles. Para un FB son: o Valor predeterminado o Remanencia o Accesible desde HMI o Visible en HMI o Valor de ajuste o Comentario V V V
  • 243.
    ' ' ' ' ' Control_Olindro_FB Nombre <11 . Input ,vi9regar:- -e. Output -.c.Agrcgar;. -o . lnOut � ...:A9rega.r> -o . Static <t..ngre9er> 9 -O . Temp <Agregar:> -O . Constent -.e.Agregar> Tipo de ditos Unidad 7 - Programación estructurada V·füffdIHM Mostrer todas las columnas Optimi211r 1 ncho Optimizar el encho dr todas les columnas ., Fig. 7.48 ·une Comentario En la siguiente tabla se explica el significado de las distintas columnas. El número de columnas mostradas varía en función de la familia de CPU y del tipo de objeto abierto. Columna Slgnlffcado 6 Símbolo en el que se puede hacer die para arrastrar un elemento mediante Orag &Drophasta un programa y utilfzarlo allícomooperando. -· Nombre del elemenb. Tipo de datos Tipo de datos � elemento. Offset Direcdón relativade una variable. Esta columna solo esVisible en los bloques con aa::eso estándar. Valor predeterminado Valorque permite predeterminar determinadas variables en la Interfaz del btoque l6gk::o o bien valor de unaconstante local. La lndk:adón d9' valof predeten'ninado es oc,donal paravariables. SI no se especifica ningún valor, se utilizará el vak>r pcedefinido para et tipo de dat>s indicado. Por eJemplo, el valor predefinido para BOOL es �se". El valor predeterminado de una variabfe se ¡acHca como valor de arranque en el respectivo bk>que de datos de tnstanda. Losvalores aplicados pueden sustítuH'H: en el bloque de datos de instancia por losvaloresde arranqueespecfflcos de la Instancia. Las constantes siempretienen el valOf predeterminado Que sededaróen la interfaz del bloQue. No se vtauatizan en lo& bloQues de datoa de instancia y portantotampoco se les puede asignarvalof'9:s especffic:oe de la instancia Remanenda Marca una varlable como remanente. Los valoreadevartabfesremanentes se conservan tras desc:onedar la alimentadón Esta columna solo e,vlsible en la Interfaz de bloQues defUodón con acceBO optimizado. Visible en HMI Indica si una variable está visible en la lista de selección de HMI mediante un ajuste predeterminado. Aa:ulble desde HMl Indica si HMI puede acceder a estavariable en tiempo de ejeaJdón. Valor de ajuste Marca una vartable comovalor de ajuste. Losvalores de ajuste son valores Que reQuieren un ajuste flno en la puesta en marttla. Esta columna IOlo QXiste en la Interfaz de bk,Ques defunción Comentar1o Comentario para documentar el elemeot>. Fig. 7.49b A continuación, realizaremos la declaración de los diferentes parámetros que utilizaremos en nuestro ejemplo. Estos serán: Parámetros de entrada: se declaran aquellos parámetros de los que el FB necesita leer su estado para poder ejecutar su programa. o Orden_Avanzar_Cilindro o Orden_Retroceder_Cilindro o Detector_Cilindro_Avance o Reset_Contador Parámetros de salida: se declaran aquellos parámetros de los que el FC necesita escribir su estado a medida que va ejecutando su programa. o EV_Avanzar_Cilindro o EV_Retroceder_Cilindro 237
  • 244.
    Unidad 7 -Programación estructurada 238 Parámetros de entrada/salida: se declaran aquellos parámetros de los que el FB necesita leer su estado para poder ejecutar su programa y, además, escribir, porque es el resultado de alguna operación programada. o Maniobras_Realizadas Static: este tipo de variables se utiliza para guardar operaciones intermedias en el bloque de datos de instancia asociado. o Flanco Para ello, basta con elegir el campo correspondiente, escribir el nombre de la variable en la columna Nombre y seleccionar el tipo de variable en el desplegable que aparece en la columna Tipo de datos. Nos quedaría así: �b� ffndro F8 T,pod,d,a,5 v.io..p,MeL �lf AaesibltdedeHWI VlsiblnnHMI Vtlordn11Me �¡ <J .,. Input J:" <J • Orden_lwtrisr_Ctlndro 8om Gll 1t1H No l'tmoenwE] O O <J • Orüen_�uucffer_Citindni eoot •"• Nortmtneimt B O <I • Df'tectoc_Olindro_Awr,ce BOCK libe Ho �nteMntir O O -O • �nt..toiu.d<N" aoot hbe Nb ,..m,Mna! O O "7i €1 • Ov1Put r -O • E'V_.rw.nair_Cíltfldro &ool laln lto rtm1nentf' O O <J • tv_,-ll'oc.ed,H_Cílindro Bool fl!s, No l'el'tll�IIW o E) G • "°"' ..., �.. Fig. 7.50 No se ha declarado ningún parámetro del tipo: EJ 9 o Q Temp: se declaran aquellos parámetros que van a trabajar de forma interna y que no son ni de entrada ni de salida, por ejemplo, para operaciones internas. A continuación, introducimos el programa en la parte de edición, donde al querer escribir el nombre de la variable se desplegará una ventana con todas las variables declaradas en el proyecto, además de las e "IC2"'-�'°" º""' �EZAS" 8001 w2.o declaradas como parámetros. Estas variables se reconocen porque carecen del símbolo de etiqueta en su izquierda, su nombre empieza con el símbolo # y no están asociadas a ninguna variable del PLC: Una vez introducido el programa, tendremos: ,. Segmento 1: �spla?Jr a posición de BVllnce iM11niobras_�1h.?Bdn tarden_Aven11r_Cilindro IOrden_Retroceder_Cifindro f'�set_ConQdor • ·so_EM:RGENOA. •s1_PARO• •s2_MARCHA• Fig. 7.51 Orden iEV..)llranzar_ 8001 Bool 8001 Bool 8001 Bool Bool �CBl l-- nd _ ro __________________ _ Olk,dro )----i Fig. 7.52a • Segmento 2: Despla:,re posición de �poso lndro #EV_ Retroceder_ Ollndro µOrd:;;, 1---------------------1 )----i Fig. 7.52b Segmento 3: Contaje: del número de maniobras que reali31 ,el cilindro #Detector_ INC Cilindro_Ava nce lnt P 1---------EN - ftFlanco #Maniobras Reelimdas--,INiOUT Fig. 7.52c --º --• "-10.2 .....__,, ......
  • 245.
    í ) 1 í ' í ) ' 'Í 'Í 1 í 1 1 1 ) ' 1 'Í ) ' ' ) ' 1 1 • Segmento 4:Puesta a cero del contador rContador M011' 1--- EN - 0 - IN #IV.aniobras .1,f OUTl - Rea lizadas Unidad 7 - Programación estructurada Fig. 7.52d Esto no quiere decir que un bloque con parámetros esté compuesto únicamente de esos parámetros, sino que también existe la posibilidad de poder incluir registros del PLC. El hecho de combinar registros del PLC con variables locales para los parámetros no será recomendable cuando protejamos el bloque contra lectura y escritura, ya que el usuario del mismo desconocerá qué registros del PLC se han utilizado y por tanto existe la peligrosa posibilidad de poder duplicar esos registros al ser utilizados en otras zonas del programa. Finalizada la introducción del programa en el bloque FB, es del todo necesario realizar la compilación del mismo (opción Compilar del menú Edición). De esta forma podemos conocer si tenemos algún error y también es necesario para que posteriormente aparezcan los parámetros declarados en la llamada a ese bloque. Ahora tan solo nos falta realizar la llamada de este bloque FB con parámetros desde otro bloque, por ejemplo, desde el 0B1. Al seleccionar el bloque FB programado y arrastrarlo hasta situarlo en la posición deseada de la zona de edición, y a diferencia del bloque FC, nos solicita la declaración de un bloque de datos DB de instancia asociado a este FB para poder guardar el estado de los parámetros del tipo Static en todo momento. Le asignamos el D81 con el nombre simbólico Control_Cilindro_FB_DB: Instancia indrvidual Nomb� Númitro Q Mlnual r-} Autom6tico Et bloque dt> funttón ll1m1dogu■rd1 sus d1t0s en i..n bloqut­ de datos de instancia propio. m6> Fig. 7.53 A continuación, aparece el bloque FBl asociado al bloque de datos D81 de forma automática, listo para poder completar la llamada si se introducen los valores correspondientes en cada parámetro: 'llDBl •control Cilindro FB oe·- - "Control_Cllíndro_FB" f------- EN Orden_ Ava nzar false - Cilindro- Orden Retroc;der_ false - Cílindro Detector_ Cilindro_ fa lse - Ava nce false - Reset_Conta dor �ilaníobra s ·- - Realizadas- ENO ------------< EV_Ava nmr_ Cilindro ---t ... EV_ Retroceder CilindrO ---1 ._ Fig. 7.54 239
  • 246.
    Unidad 7 -Programación estructurada 240 A diferencia de un FC, se observa cómo en el lugar donde se debe introducir el registro o valor para cada parámetro configurado no aparece el símbolo ??.? de color rojo como sucedía en el FC, sino que aparece el símbolo false para variables del tipo Bool o «...». Para variables de tipos no Bool, esto nos indica que no es obligatorio completar todos los parámetros, mientras que en un FC es totalmente obligatorio completarlo, pues en caso contrario el compilador del programa nos muestra que hay un error. Función de llamada FC 'tonlmlaln<n_FC' 1------ EN Orden_ Avemar_ <!?.?>- dlindro Orden_ Retroceder_ <.??.?>- Cilindro Detector Cilindro_­ <1?.b- Avance <11.1>- Reset_Conudor Mlllniobru_ <.1??'>-Rrali211di11s ENO ---­ E.V_Avan:mr_ dlindro -t <.?!.7'> lV_ �troce-der_ dlindro ---1 <11.?> Fig. 7.55 Bloque de función FB 1------ EN Orden_ Avan:mr_ _- Cilindro Orden_ Rrtroceder_ _- Cilindro De-tector_ Cilindro_ _- Avsnce -- Reset_Conuidor PIAfJniobrH_ - - Reeli:mdas ENo --­ EV_Avanar_ Cihndro ---1 _ EV_ Re-troceder_ Cilindro---1 _ 1 Fig. 7.56 En nuestro caso es necesario completar todos los parámetros para que el programa pueda funcionar. Por tanto, haciendo dos llamadas al bloque de función FBl y teniendo en cuenta que se ha de asignar un DB de instancia diferente, nos quedará: • Segmento 1:: U1m1da inctindltion•I p1r. ejecutlHel programa df'IF81 per. t'Icilindro del"l" hori3Dnal • Segmento 2; l11m1d1 incondicion,I p,,.. e�cuur el programa delf81 p1ra el cilindro m1rudor- '11>111 'Conool (jlffldro_FB_ '11>112 ·conb"OI_ c.itindro_re_ os_,. 1------ ,. Orden_ ""5.1 Av■msr_ ºS20º - Cilindro Onlf'n_ "115... Artrt1tt'dt'r_ 0521' - úlindro ....J •a, b1 Dt!tector_ VEN'lOSA Cíhndro_ IZQUICRDA" - A111nte- "'2 6 Oll' ·s,_fESEr - RMf'LCofiUdor WW1010 'PROCI.SADAS Mtlfllobrn_ R0JM' - �11i:md11 rno ---------- 'SQ0.1 E.V Av1n;,r "Y2_VlN10SA - úhndr� _,., IZQUIERDA" EV "IQ02 Rfotrot:e-der= -v3_VEN10S... úhndro - ADEREOiA' Fig. 7.57 1------ Eff Orde-n_ '115.5 Av1n:mr_ 'S22' - úhndto Orde-n_ 115.6 Rr,1n>ct>de-r 'S23' - Cilindro - ..u 'B1O_e1 Orte-cror_ � ,.;. - �;;:c':- '112.6 'S◄_RESEr - Rlt'St't,_Corrudor -·· 'PROCESADAS Mlniobras VERDE' - Rt'tli:mdn- [ffQ ---------- 'IQ0.6 f.V_Avan:mr_ "Y7_BIJNf. úlmdro-MAACADC>fr EV_ "IQ0.7 Rt'troce-de-r_ °YB_SUBIR c.ihndro -MAACADOR" Fig. 7.58 Si visualizamos el contenido del DB de instancia, podemos observar que contiene todos los parámetros declarados para el FB: c.ontroLOH..tto_f6_08 _.., -e, . - .t -G • Ordt-rt_Mnar_Clirldro &>el <I • 01deo_A,,1J1Xrdt-1_Cíllnd10 Bcol , .,e • lleltnor_Ollndro_Awlloc:e fltd -O • Atse.,.c.orn.dor !lod <J . """"" -0 ■ LV...}wan31r_C,i5,rd,t, Rool fl -O • lV_A1'1rocrdrr_Olindro Sool 9 -c, ... � Q <1 • ,,_l'liobrn...}lrtbi.dt$ 1m Dool ... '"' -, ... •.. ... 111,., •lir ... ... ... •.. ... ... ... Fig. 7.59 En él aparecen unas columnas ya conocidas, pues estaban contenidas en el FB, y otras nuevas:
  • 247.
    ' ' ' ' 1 ' ' ' ' 1 ,, ' ' ' ' ' ' ' ' ' ' 1 ' ' ' 1 1 Recuerda • •• Un bloque de función FB con parámetros es aquel que contiene un programa en el que el resultado de su ejecución dependerá del estado que tengan en ese momento los diferentes parámetros configurados. La diferencia con una FC es que los datos de la ejecución del programa serán memorizados en un DB de instancia. Unidad 7 - Programación estructurada COiumna Significado Valor de arranque Valorque debe adoptar ta variable durante el arranque. AJ aearel bfoquede datos, losvalOfes predetemilnados definidos en un bloquelógico se utilizancomo vak>res de arranque. Estosvalores aplicados pueden sustituirse aquí"Poi'vaJofesde arranque específicos de la inslanaa. La indicadón <le un valor de arranque es Ol)Clonal. SI no se especdica nll1gÚn valor. la variable adoota el valor P<e<le!erminado durante el arranciue. SI tamPoCO se ha definido ninQún vaJor 1><edetarmlnadO, se utiliza et vaJoreslMdar villdO para ti UP<> dt datos. Por ejemplo, ti valoresündar de 800t.. ea 'FAI.SE" Valor de obselVaclón Valorde datos actual en la CPU. Esta coll.mna sevisualiza si existe una conexión onHne yse hace dieen el botón "ObseNar todo·. Instantánea Muestra losvalores que se han cargado desde el dispositivo. Fig. 7.60 A continuación, podemos comprobar el funcionamiento cargando todos los bloques de programa, como es el 0B1, el FBl y el D81, aunque como se observa en la ventana que nos aparece, ya nos avisa de los bloques que no existen o bien que no son coincidentes con los existentes actualmente en la CPU y que además se utilizan en el programa. Por tanto, es necesario cargarlos. Poniendo online el programa con el PLC, visualizamos los estados de los parámetros del bloque de función FBl: • Ufll<l"'_J .,,.,..,.,..._ · tfrll--)- • 11101.�¡uu1iuc� • .,,.._--..,_,<icJU1UC:KJO., · �¡;�:!::. < - G • lc � Y.......•• . ...........,...._ . .,,.........,_w..o, .-.....10111 • •*-ll)a•OOI • •c......�flP••I e i �.c.....,_1■J111fll111 e • t--'.,.a-....,...115_, IDIJJ • • 011,,w� ..,....--. . ◄�....w...,u • . .....w••,u , _,.w .....,.. .._...,,.,..,..,,..., . _.............. l ;:1 1'Hn �-IUP'·--- ·1=-��=- _. .. �,OO .:.__ ) í 19..-t.o.......-:fU"O•-- i ... ...... .., J'lnkl,l" --.;:.. -- 1,! • t, .. •I (l ♦l el _ .....,...._ 1,�;¡;.:;....,__._,., •o..·•- -=·--=- ]!:.;·�·�- ==----:......:____..:!i_ ��-1--------c-.,.,,--..,....l:"'" :;;;;;;;:::;:¡;:,..:.�c._·t:.=-.:::-........ > VltUl.t:.lllrdol '"IJ"""'--'ln O DI Fig. 7.61 Si hacemos doble clic sobre el mismo bloque FB llamado, se abre automáticamente el editor del programa de ese bloque, en el que, tras ponerlo online con el PLC, tendremos la visualización actual del funcionamiento del programa: • -•y r¡.,.,._ . o.,.._,.... , :ai_,__.,,...,¡oouut__.,, • !l .,._..,.,..,_,c ¡vu,z,�.oc.o • ...11,...-........,.¡w,:i;�-- Cil n�--�­ s. °"",.......,. ........,......_ . ..,.,_...., •i.-ic-11 ·"-IOt,lfOI •t....,._r....,._111t111 l t....c..�..••JlllfflJ 1 t-.i..m....n..tt11..1 � · -­ ,,_,__ • 4Vll"""""l'U. • ,......,u. ._..................._,___ ' �­ • · t1o••,.....,..._ i, _._. ..4,t,..._ Uoll•·­ . ... ........ln Fig. 7.62 ◄► ◄,► - e - ..., ... �l, on,111,•••-•""••••"'·"' ..::::;... i l f··-------- "' "'"'°""..... -¡-• ., t, "'" •I '1 4ij ¿¡ .., ,.,_,..__..... Fig. 7.63 241
  • 248.
    Unidad 7 -Programación estructurada Recuerda • • • Para la visualización del programa online con el PLC o PLCSim, y cuando se realizan diferentes llamadas a un mismo bloque de función FB parametrizado, se deberá indicar el DB de instancia asociado en cada llamada para poder visualizar el funcionamiento correspondiente a la llamada. 242 Al ser el programa del bloque FB, desconocemos con qué DB de las dos llamadas se está visualizando el programa. Para averiguarlo o bien cambiar la visualización con el otro DB hemos de pulsar sobre el icono · que encontraremos en la esquina superior derecha del editor de programa KOP. Al hacerlo, se abre la siguiente pantalla: Qi'ingur� Pntucl, � e1oque dP de10.-*"'ii.r1e,1 l�c.ndroJIIJ)9_1 ID821 .., · - � 1 Fig. 7.64 Donde al seleccionar la opcIon Bloque de datos de instancia se habilitará el acceso para elegir de la lista habilitada con qué DB se desea visualizar el funcionamiento del programa. Si observamos también la visualización online del bloque de datos de instancia asociado, D81, vemos cómo registra el valor del estado actual de todos los parámetros configurados: Control_Ollndro_FB_OB Nombre Tipo drdttos V1Jorde 1rr1oque Vakit dt> ObSffVKión Aemanff!cr, Accníbledl'5deHMI Vi)lble' m HMI v.ior de 1¡uste' Comfflurio -O • Input C • Orden_Avan.lltr_Cilindro Bool .g • Orden_Reuocedrr_úlindro 8001 C • Oetector_Cil1ndro_lW1nu• 8001 5 -Q • Rrse.,_Conador 800/ <:I • Output -O • EV_,lw1n:ar_Cilindr0 Bool C • EY_ktroceder_Cilindro Bool <J -. lnOut O ..g • Mllm0br1s_Re111imdu lnt 1 -0 • Static -C • Fl,nco Bool .... ""' ttbt> FALSE FALSE FALSE FALSE FALSE FALSE FALSE Fig. 7.65 r También nos podemos aprovechar de las variables declaradas en el DB de instancia para utilizarlas en el programa de forma independiente, por ejemplo, podemos programar lo siguiente: "Control_ Glindro_FB_ DB".EV_ N'anzar_Cilindro '!IQ2.2 "Hl_�RDE" >--- Fig. 7.66 Según lo que se ha programado, la variable parametrizada EV_Avanzar_Cilindro, del DB Control_Cilindro_FB_DB, que corresponde con el D81, determinará el funcionamiento del piloto verde (Q2.2). Por tanto, una vez llegado a este punto de conocimiento, podemos realizar un resumen de las ventajas e inconvenientes de utilizar un bloque FC o un bloque FB. Utilización de un bloque FC Utilización de un bloque FB o Si se utilizan parámetros de tipo TEMP, o Se podrá utilizar en diferentes no se podrán usar en diferentes llamadas, tanto si se utilizan llamadas. parámetros del tipo TEM P como si no. V
  • 249.
    ' ' l ' ' ' ' ' ) ' ' Recuerda •• • , Mediante el sistema de protección know-how ...----, se pueden proteger, con una contraseña, bloques FC y FB contra lectura y modificaciones. ) ' ' ' l ' Unidad 7 - Programación estructurada Utilización de un bloque FC Utilización de un bloque FB o Se podrán realizar diferentes llamadas o Se pueden utilizar para una al bloque si todos los parámetros programación estructurada. definidos son del tipo In, lnOut u Out. o Dispone de memoria, ya que las o Se pueden utilizar para una informaciones del estado de los programación estructurada. diferentes parámetros quedan o No dispone de memoria, por tanto, guardadas en el DB de instancia asociado ante un corte de alimentación a cada FB. Por tanto, ante un corte de eléctrica, al restablecerse, el programa alimentación eléctrica, al restablecerse, no habrá guardado ninguna el programa habrá guardado toda la información de los parámetros información del estado de todos los definidos. parámetros definidos. 7.4 Protección know-how de bloques FC y FB Se pueden proteger los bloques, tanto FC como FB, de forma que el usuario tan solo pueda tener acceso para utilizarlos, pero no para modificarlos ni visualizar su contenido. En un bloque con protección de know-how se pueden leer únicamente los datos siguientes sin conocimiento de su contraseña: o Parámetros definidos: Input, Output, lnOut, Return, Static. o Título del bloque. o Comentario del bloque. o Propiedades de bloques. o Variables de bloques de datos globales sin indicación de la ubicación. Además, en un bloque con protección de know-how se pueden realizar las acciones siguientes: o Copiar y borrar. o Llamar en un programa. o Comparación online/offline. o Cargar. También se han de tener en cuenta las siguientes consideraciones: o El programa del bloque no se puede leer ni modificar si no se dispone de la autorización necesaria (contraseña). o En las versiones offline y online de los bloques con protección de know­ how solo se comparan los datos sin protección. o Sin la contraseña no es posible acceder al bloque. o Las referencias cruzadas a variables, marcas, entradas y salidas utilizadas en bloques con protección de know-how no se muestran ni siquiera después de introducir la contraseña correcta. o Si se modifica el número de un bloque, el componente binario cargable del bloque ya no será actual. Eso significa que el bloque debe volver a compilarse antes de cargarlo en un dispositivo, lo que en el caso de un bloque con protección de know how solo es posible con la contraseña correcta. Este punto debe recordarse especialmente si se desea copiar un bloque con protección de know how a otro dispositivo que ya contenga un bloque con ese número. 243
  • 250.
    Unidad 7 -Programación estructurada 244 7.4.1 Protección de un bloque FC o FB Para poder proteger un bloque FC o FB será necesario seguir los siguientes pasos: o Seleccionamos el bloque que se desea proteger, en este caso el FBl, y a continuación pulsamos el botón secundario del ratón y elegimos la opción Protección de know-how del menú contextual que aparecerá: ,..,,.�11 1•- H• -t'S'•• C...... ., 9 _...,._. & 11. • - O C> - ,..._.,.._. ,,�,�.... •"°' . .. .,_......}Uu,71« .............__ ,� ......1, }t'..._.___., lll r---------------�-���- . ....,__..........._.,tuuu- .. . ... . ,,_..,..._••fb.llnll IY �,...,� 1, 0o61r,...,.. .. ... .,�-� ....._...,..,� • -lmll -�� •• �r 1 r�c�•--•"11 •�u.....,,ria..,...,, • '.4 cai;,-�- 11 1,_ .......... ·---� &-. ,......___ !!1- .,_"<e• _______ ttV.� -­ >-----------< >--- .., __ , ,. _..., ft( ._. ..,_ ...._"( , i.:; .........-....,......,._.. • �'-1......... • & ""-.._,.........,__ � ........�......... !ii t-•- � � f- ----------- -- --{ '� , ..� llilah - ◄ . 1 ¡ 1, �� Fig. 7.67 Aunque también podemos acceder al mismo punto desde la ventana Propiedades una vez abierto el bloque a proteger. Seleccionando la opción Protección, pulsaremos el botón Protección: �"' lác"'"' "'" -• <wio,e' �•-,. .._,.._ •- ...... g ��• J. X •• . .,_,, . �"P......... ....,.._,...,. , ,tai........doatoofJCMmQIIIIJl t ..JI _,lt.......,.._,_,c:t<N1>t...._ ... _..,,_..,...._,.tcru1>"1«.-c.a.. 11 ,....,._....� J, 0.-,,y..,.,.. ... � .,._,.......... ,,...,.,.._.....,. ____,, . ,. ....J,11'1.. ec�c""'" ..'�'"J l t--L.rar....tll.ll9{1'J1!1J ,...-.._a-....111..!ll..1 ,:,t:::1 • � ca,,-.� ,.,.__ , :,.,-....,.n< ' !..S..,.._,.,._,u: . ,..........._.,..__.,._. • 4•�..... ..�................ ..�.........,. § t,a,..._ . .. ..,... ....ib . , ....,_ ,............ ,__ ,....,_ - ..,..__ • • > �C!:::ll:!11 Fig. 7.68 En cualquier caso, nos aparecerá la siguiente ventana: Protección de know how X J a C:•ncelar Fig. 7.69 J .J
  • 251.
    i ) ' i ' i ' ) 1 ' ' Recuerda • •• Cuando un bloque de programa ha sido protegido, aparece un cambio en su icono, un candado, dentro del árbol del proyecto. Unidad 7 - Programación estructurada Aquí, al pulsar el botón Definir, podemos introducir la contraseña deseada. En este caso escribimos la contraseña «protegido»: efinir contraseña ' Diefi.nircontranña Nuevt contraseña; Q Confirmer contraseña ------- Q Cencelar Fig. 7.70 Definir contraseña 'x Definircontreseña Nueva contra5eña: �!""!1!""!1___ 111111 Q Confirmarcontrueña Q Cancelar Fig. 7.71 A continuación, se deberá pulsar el botón Aceptar, para que aparezca la ventana inicial, pero en esta ocasión con la contraseña definida: Protección de know how a Definir Fig. 7.72 Después hay que pulsar el botón Aceptar para finalizar esta configuración, momento en el que se observa cómo justo a la izquierda del nombre del bloque protegido en el árbol de proyecto aparece un símbolo diferente, además de desaparecer el contenido del programa y mostrarse la información que indica que el bloque se encuentra protegido. .. �,0,l lf......g"d""°'.,. ¡,. 01o-,..ff, ► 11 1)1Jt'11 ... Ktlol!fCPJ 11UC� • ,. ,,.._�•c lCIJ u1..:;J11;10.. • !1 0l'-1to0,,,.ued,•, ..U t01.1 111..:;-.:,o l'f �dt<lff d 1po,,.._ . OMltt y..,.._ .. . ,1oor••, ... ,,..,,,..... •1ri1,_,,,,_....,. • w., 1o91f � ""f lOl!OCII ..;_,.Aj_ft :,,11 tonnl�.J'I.J)l (u.11 I CDRftl�.}l_ot_, 101:1 • • OllfttoNtt�ou • 9 ,.,.ntu••••t1 1 a VtNDinl'I.C • ..... 1H do,.. ,u: 1 ... T,bln dt oh,o�,.,_,..,•fo""" • .i ,,uiu,. ..... • 1'0t.,, d,,,...,...,.,,,_._ -. �-·( ,..,.,,.,. 1o U.110,,11... • ■ 161,,!o11tu1, c..,..,,.,_..�, Fig. 7.73 Si cerramos el bloque, al querer abrirlo de nuevo, aparecerá una ventana en la que se solicita la contraseña: Protección de acceso X Introducir contra1eña ptra ºControl_Cilindro_FBº : --------------- a Fig. 7.74 245
  • 252.
    Unidad 7 -Programación estructurada Recuerda • • • Al abrir un bloque de programa FC o FB protegido mediante el sistema know-how. tan solo se podrá visualizar la lista de parámetros configurados, pero no el programa. 246 Si la desconocemos o no introducimos ninguna, al pulsar el botón Aceptar, aparecerá el mensaje «La contraseña no es válida»: Protección de acceso X Jntroduar c.ontrneñe p,tn, •Con:trof_Cihndro_f"B•: X la contraseña no es válida X Fig. 7.75 ____, a cancel:11r Por tanto, si no la conocemos, tan solo tenemos la opc1on de pulsar sobre el botón Cancelar. En ese momento se abre el bloque FB, pero sin programa visible, aunque sí que se puede ver la lista de parámetros declarados, además del mensaje « El bloque está protegido contra escritura porque tiene protección de know-how». • :., --., · -­ - �t� , �.,_....,._,.,.,uv,nc-CAIC#il • _. ,,•-•u1-..J<-tuu1:n«IUl ... ... .,.............,.,,.u,zt«...,_ IY�•·IM-­ s.�,.....- ... �......,,.,.,.,.._ ,,..,_....., · ••I0911 ·=�-.. l co.d...C.... J•.J19..1) l <�<�J•--"'-' �I ....�,,.,...,.,,._ • ii •� -· • C.v......Jt< • C.�..,....,tt: , t;.,1;.i... ....,.___,......,..... , c................ . ....� • f&: u.-•......� 111, ................. í¡ ,___ . ..........,..,, i-0 • �-r-� "- -O • Cfollnt.�_u,,,.;,,. -. .O • ........,...... �..., .. ... .... ... .... � ,.,,__!':'! � ..,.__ .__. --- fil , --- - .._ ... Fig. 7.76 Si, por el contrario, cuando aparece la ventana para introducir la contraseña, la introducimos correctamente y pulsamos el botón Aceptar: Protección de acceso X .___.....,_________ a Fig. 7.77 Entonces, se abrirá el bloque y se visualizará todo su contenido, declaración de parámetros y programa, aunque continuará con protección bajo contraseña:
  • 253.
    1 ' ' ' ' ' ' ' ' ' ¡ ¡ ¡ ' ' ' ' ' ' ' Recuerda • •• Si se conoce la contraseña, entonces se puede desproteger el bloque de programa FC o FB. Unidad 7 - Programación estructurada �, ...,........,,.. i�........ ..,,..,. X lr) .t. c» · ·A, m ll • "! :l �•........,- H �� ... !I' .. .. E � JÍ�8 • .i• = t 1, ,, .. 9 '• .. .Y. -, l!l • :,J l,lt,IIOJ,DJ - "'INP••pm- . l)upm_ ).... ► :. 01_� 1ou 121«#ICAXlllll,t t '.,a 01•-�d•t..fCIC,U121C:IICIO­ • 'a o11o_�f9 IOI U14CM:10.... lf�c,6,,·.,_­ � 0-,., )' ........ ·-�··""""­ ,. ..., _ w..i- . IA.,fOSII • s...,.. 109,001 1--- "° ""'"-"""" " "''l ¡ '-""'_candroJ•Jlll091J j c_,,¡_m......J9_D1_1 (oe21 , r. oi,,... � ,.,__,..,..... . ......w.,,u: • !li.......-•-,u: ·��........_..,,.....,,._ , ,:-., ............ , :.o......,....••.,..._ ......_.. •......,,._ iJ unu N •- , ::a � iouln - o • - -G • �-•-C..... tool .., . G • �� lool 1"• O • De-_�......,,.. ..,_ a • -..9'.c-i..""' ....,. 1 O • o,,,q,,,1 O • EVJw-r_CJ,,r,ó,,o aoo1 -'• G • lV�_Cilirwov Wló• ,.. Segmentv, 1: Ot1plea,opmoo:OÓl'IÑ •�•...., "',.,...,...,.Fl ..__ Fig. 7.78 7.4.2 Desprotección de un bloque FC o FB o 8 8 B B B El [1 8 8 le! B ª [1 B [1 8 Una vez tenemos un bloque protegido y se desea desprotegerlo, en primer lugar, nos debemos asegurar de que este bloque no se encuentre ya abierto: l'fo¡,Klll !do:,óo, V.. ---• ­ �u�pq'll<W .. lt l• Dl1po,ltlvos � Cl<l • � Uttel0_7 • •oo•tln,.,...., ..Oolpol;_,.,., , :. 01_-..........10l u-1.i.: � o '.,i o1��K(OU UIC:lltlD. • · ,a o11o_�,_IOl'J IZl 4C IIOO- tf' � M ...,..._ 1 °""""' Y� . ,.,. ........� .,...,...,_� . .... IOfll e sw,...1o1101111 - ��... , Sj" .......,,e_, , !4' .......w.. ,u: . ...... . .... ,u: • _1ow.,....... -.dónt.,._..,...,,._ ' -- • -.cfl • fa o.- • ,..,• .__ llt �Ni .....- il lion .-. .,_ • f.a i.-... 111u... ""••...-•· Fig. 7.79 Seleccionamos el bloque protegido que deseamos desproteger y pulsamos el botón secundario del ratón, con lo que aparecerá un menú contextual: Elegimos la opción Protección de know-how y se muestra la siguiente ventana: Protecci ó n de know h �----- -----,X f;i Ocultar código (protección de know how) a e.amblar Fig. 7.81 Abrir X c.on.r � Cop11 r - f't"! r X Borr.r úmbiar nomb� Supr f2 COmpilu Clrgu en dispositivo *EstJtbleurcOM»ón onhM • 'tf o, hio :,..r - lnbrm1Cion de refrrenciH crwadn � Refr�nc,as cruzadas jJl Estructurt de ll1m1dn !'l.no de ocu�ción Cembfllr ler,gu•� de progr.mación �1 Ml)'ÜHf11 1 F11 ► ii6%31-:IIJi:19Sri1 ,A Im primir_ d íJ.Visu p _ � _ '"' _ ' _ "' _ '- ______ • • · • Ji P'rup1t'd1des_ "'�� Fig. 7.80 247
  • 254.
    Unidad 7 -Programación estructurada 248 Aquí deberemos desactivar la casilla de verificación Ocultar código (protección de know-how): Introduciremos la contraseña correcta, en este caso, «protegido»: Al pulsar el botón Aceptar tendremos de nuevo el bloque desprotegido y volveremos a visualizar el icono normal a la izquierda del nombre: ,..,,.... tdxoln ff ........ i.! .. liJ �iwe,,t<-1111 .. •l • '.ao11>..-<ioo.ll(CJU121C:ACA>_ r, �(>6,,--p<»- ji- o,,ili,,. y.... ,li,1t,CO - -1 ........., .... ,.,,...... ................� • u.w,foa11 - �-... fOllll)(lj � �-N!Nt . CoM>el_OIM,.,JI_OlfOIII l eo.-!..diNMJtJ111_1 pu1 • r.011it...._,,.,,.... , i.........., ..._, , !:¡¡V•noble,1'1,C • Cl'lp<ndtdo1"'JPC • ttblo,MCIOlo,...ao,,yba•�"" · � --(.,.. ....... , ea-.u, , i:ao.-•"""1.....,,.....-o t,¡ lnb,f,oci6ftffl1'"'11"'IM �w..,N...,. - �1oui., @''111••..-•· Protección de know how X OOcultar código (protección de know how) Contraseña: i Cambiar Cancelar Fig. 7.82 Protección de know how ·x OOcultar código (protección de know how) Contraseña: •••••..••• Q :',;;::;:;====---___,¡ Cambtar Fig. 7.83 o Fig. 7.84 7.4.3 Cambiar la contraseña de un bloque FC o FB protegido Si lo que se desea es modificar la contraseña de un bloque ya protegido, debemos, en primer lugar, asegurarnos de tener cerrado el bloque al que deseamos cambiar la contraseña: ,..,...... {llit- ...... �� Q --i-,oo<to ,1, 11 • 1.11¡.,¡a.1¡ . s..m,p fOIIOOI �::_:'1D11J I Conni..C6idovJUJf_1 10aJI • �Olf,-ltCIIGl6tk• • ljl M-. �•"'" , r:¡........w....., > ..,.,.INNICsfC: , :,........*...........y....""-· . ........... • ·•«• , 110._.._.,.,.._..., l!¡ .........CD!ffl,.... ..... j¡I I.ISIUdr•- t ........ loultl Fig. 7.85
  • 255.
    í í 1 ) ·1 ' ' ' ' ' Recuerda • •• Si se conoce la contraseña, también es posible cambiarla. Unidad 7 - Programación estructurada Seleccionamos el bloque protegido que deseamos desproteger y pulsamos el botón secundario del ratón, con lo que nos aparece un menú contextual: Abrir X Curta1 � Copiar Q[f Pegar X 8orr1r Cttl+X Cvl-C Supr F2 Cambiar nombre Compilar Elegimos la opción Protección de know-how y se muestra la siguiente ventana: Cargar en dispositivo JI EnabJ.rcer conexión online • • Oeshacer cooe-,;ón onl 11e Protección de know how X ,;;: Oculta r código (protección de know how) a Ca mbia r Información de re�rencies cn1211des Mll)'Ús•fl l :# ��rencias crullldn F1l l¡ Enructure de ll1m11d1s � ptano de ocupación Cambiar lengu1je de programación íitil93319:i131:iIS& ,A 1mprim1r_ Í:" Vista prl!'liminar_ � PropiedadeL Alt+Entrar Ca ncelar Fig. 7.87 Fig. 7.86 Ahora debemos pulsar el botón Cambiar, momento en el que aparece la siguiente ventana: Fig. 7.88 Seguidamente, hemos de completar los tres campos con la antigua contraseña y la nueva contraseña: Fig. 7.89 Para finalizar, hay que pulsar el botón Aceptar. Fig. 7.90 Al pulsar de nuevo sobre el botón Aceptar, nos aparece una ventana informativa indicando que ha finalizado el proceso: Fig. 7.91 La cerramos pulsando el botón Aceptar. Cambfa'ícontraserla - - 'x Antigua contraseña : .__ _____ __, lil Nueva contra seña: Confirmarconuaseña: ,----------, j¡ Aceptar Ca ncelar Antigua contr11seña: n ::============::• Nueve contrueña: a Confirmar e.entra seña: a PíOlección de know how - - --- 'x a '- Ca� Aceptar (0604·0002s9J 'x o la contraseña se ha cambiado correctamente. 7.5 Programación en Grafcet (VI) En esta quinta parte de Grafcet vamos a ver cómo podemos estructurar en diferentes bloques los programas diseñados en Grafcet. También exponemos cómo elaborar un Grafcet con secuencias en los que intervengan macroetapas. 7.5.1 Estructuración de programas en bloques Vamos a exponer con un ejemplo diferentes posibilidades de realizar la programación, lineal o estructurada. Para ello nos basaremos en el ejercicio 249
  • 256.
    Unidad 7 -Programación estructurada Ml.l Ml.2 Ml.3 M1.4 250 resuelto en el apartado 6.3.4, en el que además incluiremos el concepto de ciclo continuo y de fin de ciclo. o Ciclo continuo:indica que el proceso se irá ejecutando de forma continua indefinidamente hasta realizar la petición de fin de ciclo. ,._r o Fin de ciclo: indica que se ha realizado la petición para que cuando el proceso realice el ciclo completo actual, se detenga. Para ello modificaremos el llamado Grafcet principal, de forma que pueda controlar ambas situaciones, la de ciclo continuo y la de final de ciclo. Este Grafcet pasará a tener el siguiente diseño: Grafcet principal: MO.O MO.l M0.2 2.4 2.3 Intermitente (M8191.5) Etap a XlO y Etapa X20 {Ml.O ' M2.0) Este Grafcet realizará la función '--' de puesta en marcha accionando el pulsador de marcha. La etapa Xl se pondrá en funcionamiento, quedando de forma estable en esta situación (ciclo continuo). Para realizar la petición de final de ciclo, se deberá accionar el pulsador de .__,; paro, pasando el Grafcet a la etapa X2 (fin de ciclo) y esperando a que realmente el proceso finalice el ciclo actual en funcionamiento. Y en estos dos Grafcet, que corresponden cada uno a una de las secuencias, también se ha modificado la primera transición y eliminado la última etapa­ transición, para ajustarlos al concepto de ciclo continuo y petición de fin de ciclo. Grafcet secuencia 1 Grafcet secuencia 2 N Q2.2 Piotover«M N Q0.6 N Q2.2 Bajar marudor Piloto Vfflfe N Q0.7 N Q2.2 Subir marador Piklto vtrde • Q0.4 N Q2.2 Muftí ¡nindt hKil urás El multi ¡rand• •n posk:ión de reposo C•trú) ( 11.2 ) PilotowrO:. MO.O M2.1 M2.4 N QO.l N I-Q2 = .l =------I E,ahorizonQI • la izquierda Pilotoanuirillo QO.O N Q2.1 Rajar vffltou Piloto amarillo • QO.O N Q2.l Subirventosa Piloto amarillo N Q0.2 N 1-= Q2,.=. l____--; EJ• horizonat a la darech1 Piloto amuillo V.ntosa .n posidón de reposo {dtrKha) {10.6) '-'
  • 257.
    ' ' ' ) ) ' ' ' ' ., ' ,, ' ' ' ' ' ' ·, ' Recuerda • Unaforma de ' estructurar un • • , programa diseñado en Grafcet es programar ' cada Grafcet en un , bloque de programa diferente. ., ) ' 1 1 ' Unidad 7 - Programación estructurada Una vez tenemos del diseño de los Grafcet que intervienen, podemos realizar dos tipos de programación: o Lineal. o Estructurada. • Lineal Se trata de realizar todo el programa en un único bloque de programa, por ejemplo, en el OB1, o en un FB o una FC, y después realizar la llamada desde el OB1, tal y como se ha resuelto en el apartado 6.3.4. • Estructurada Se trata de realizar el programa utilizando diferentes bloques de programa, por ejemplo: OB30: programa correspondiente a la comunicación con el Simulador 3D. OB1: llamada al resto de bloques de programa. OB100: puesta en marcha de las etapas iniciales de todos los Grafcet. FCl: programa correspondiente a la activación de las etapas del Grafcet principal. FC2: programa correspondiente a la activación de las etapas del Grafcet secuencia 1. FC3: programa correspondiente a la activación de las etapas del Grafcet secuencia 2. FC4: programa para la activación de las salidas. Por lo que nuestro proyecto tendría la siguiente estructura: • 303_Ejt'rcll'ic, E•buc:tura<ion -- (CPU 121«. ACJDC'Jlli,i 11 Cot1figureci6n de cf 1>posñr,,os � Onlíne ydiognés11<0 • fo, 81oqUH de prc,grem• WAgregn n1.,ievo bloque .. C)cic intrrn,pt [0830) .. Mtin (061) a- St>nup [0B100) a- OO_Glltícet.)'ñncip,tl [fCtJ .. Ot_G<•lc�t'Cuencio_l [1<2) • 02_Gntlcrt_St'Cuenóo..). [ro¡ a 03,fallidH (f<�I ► ,- Objetos ""'1101ógícos Fig. 7.92 También se podría ir ampliando si fuera el caso, por ejemplo, crear nuevos FB o FC para temporizadores, contadores, etc. • Programa en diagrama de contactos El programa que responde al diseño del Grafcet dado sería el siguiente: o FCl. Activación de etapas del Grafcet principal. � tM) � 1 -· 111(),2 "S1_WKHAº ,Y0,1 "Sl_PN()º tMl.1 'HN'A l " ; s 1-----< u.o ._______·-! rr�� Fig. 7.93 251
  • 258.
    Unidad 7 -Programación estructurada 252 Segmento 2: GR.AfCETPIUNCIPAL. Activación ETAPA2 ydetactivadón ETAPA 1 ---- '!IM'.l.1 'ET-'l'A l ' '!U0.1 '!IM>.2 'S 1 _pAAQ" "ET-'l'A 2" -v-�,�--� ; s r-- 'IIMJ.1 L----------------' 'ET� A � Segmento 3: GRAFCHPRINCIPAL Activ11ci6n ETAPAO ydenctivad6n ETAPA2 'IIMJ.2 'ET-'l'A 2' 'MM1.0 'ET-'l'A 10' 'IIM2.0 Wl.0 'ET-'l'A 20' 'ET-'l'A O' 1 1--- ¡ �-----J ; S r-- 'IIMJ.2 ._ _ _ ____ _ •ET� :A � o FC2. Activación de etapas del Grafcet secuencia 1. Fig. 7.94 Fig. 7.95 Segmento 1 : SECUENCIA l.Activ11ción d-e 1a ETAPA 1 1 ydeuictiraci6n ETAPA 10 Segmento 2: SECUENCIA 1 h:tivdción de la ETAPA 1 2 y de,¡1ctllación EWA 1 1----� 1M1.0 ºETAPA 1 0• 'IM0.1 ºETAPA 1• ,n.4 "89_eo M<RCAOOR AARl8A• Fig. 7.96 ,.,.2 'B7_dO MJLTI GRANDE "11.11.1 DENlRO" ºETAPA 1 1 • �1 � 'APA 10" R }---, Segmento ,3: secmNCIA ,. Acdvadón de la ETAPA1 3 y detil(llJ.eciÓn ETAPA l 2 'IMl .2 "E"TAPA 1 2" ,n s ·a,o_e, MRCAOOR ABAJO' "lM1.3 "E"TAPA 1 3º ;s }---, "'41 .:l �------------ • - n -< � R A ;_ Fig. 7.98 Sltgmento 5: FINAL SECUENCIA. 1 . ActiVaci6n de le Ef/,JtA 10 ydesaclNadón E"TAPA 14 ,., _2 •a1_do wn1 GRANDE OEN'mo• 1M1 o ºEiAPA 10• 1M1.4 l-3'' 1 _,,. ,.,_1 'B8_dl M.ILTI GRANDE FUEAA" W1 .2 0E'TAPA 1 '2" "'-411 ;s }---, ._ ___________ _• _ e ,_¡ T"_ A;::__. Fig. 7.97 Segmento 4: 'SECUENCIA 1. Acttved6n di! la E'TAPA 14 ydnactivad6n HAPA1 l----� 'IMU "E'fAPA 13• ,,,_. 089_1!0 MRCAOOR AANBA' 1M1.4 "E"TAPA 1 4• 1M1 ., ;., }---, ._ ____________• _ e ...¡ TH:� Fig. 7.99 ;.s }---, L---------------l 'ET".A ;_ Fig. 7.100 o FC3. Activación de etapas del Grafcet secuencia 2. Segmento 1! INICIO 'SECUENCIA Z. h.citaci6n de la ETf,J'A 11 ydl!'Jiactfo.H,d6n ETAPA J:O 1M0.1 'ET.AIA i' "°·· 'B3_bo vtN105A DERECHA' Fig. 7.101 "°·· •e,_eo vtNnJ5A AAAIBA' 1M2.1 'Er/l'A l1' Segme11to 2: INICIO SECUENtlA 2, Acd1..sdon die l,1 ETAPA lZ ydl!'lie<tW.sdón ETAPAll "'-42.1 'E TAl'A l1' "°1 '8d. b1 vtN"lÜ5A IZQUIERDA' 1 ""42.2 'EWA ll' ;' }---, W.2.1 '-------------• - n _, 7 R A � Fig. 7.102 .'-" '--../.
  • 259.
    l ) ) ' ' ' ) ' ' ' 1 1 ' 1 1 ' 1 ' 1 ' ' ' 1 ' ' 1 ) ) 1 1 1 1 1 1 1 ' Segmento 3: SE.(JENCIA2 .Activación de la ETAPA 23 yde,actiltJCIÓO ETAPA 22 ____� "IM2.3 •nMA 23" ;s }------< 'IM2.2 �------------ •ETAP ....:;_ Fig. 7.103 Segmento 5: FIN OE SECUENOA 2. Activación de la fTN'A 20ydeu.cti�11ci6n ETAPA 24 .....2.4 "ETAPA 24" "".6 "e3_b0 VENTOSA OE.RECHAº ,...2.0 ºETN'A 20º 'IM2,4 Unidad 7 - Programación estructurada .., Segmento 4: SEOJENOA 2. Act1·.-ac16n de la ETAPA 2-4 y-deactiyac16n EWA23 "B1JO r ...,. �� f- -� - "--- � � � l- � - � -�----------- •EW --1 ... ;}� ...2.3 �-----------· - • w ... ;;__ Fig. 7.104 ;s }------< ·n.y. "� '------------1- � Fig. 7.105 o FC4. Activación de las salidas. Segmento 1: Manip.llador de carga fje, vertical. Electro•111lvuh1 bie,uble. Des.pla2B r a posición .,. 'IQ0.4 •y5_ "IM1 1 WLllPOStOONAL ,.,,Al- ·1_ 1• -------------------- G� � � Fig. 7.106 Segmento 3: Mampula dor de c11r911. Eje ..,erticel. Electrovalvu!a bie,rable. Oe,pl11,11r fl po�ición• 'IQO.O ,..22 "Y1_8AJAR ,.,,Al- 2 - 2 º --------------------VE ---I �� Fig. 7.108 'IQ0.1 w.Q.1 "Y2_IENTOSA H'A ,_ 2_ 1 •____________________ A _ IZ -< QUIE� Fig. 7.110 Segmento 7: 'IQ0.4 "YS_ 'TM1 ◄ M.ILllPOSIOONAL Af'Ar 1- ••____________________ GRAN � R � Fig. 7.112 Segmento 9: Piloto de se/'ialiiación amu1Ha 'IM2.2 ºETN'A 22º 'f.M2.3 ºE.WA23º 'IM2.4 "E.TN'A 24º Fig. 7.114 11)2 1 ºHOJ.M,'JULLOº Segmento 2: Ma nipulador de u rge. Eje vertical. Electtovalvu!e biesU1bte. De,p!eair a pos.ición -. 1 "11 'IQ0.6 �� l- � - '--------------------- � - Y7 � -· � Fig. 7.107 Segmento 4: lvenipulador de carga. Eje vertical. Electro.,.alvula biest11ble. 0r,p!1.ar a po,ición � 1 "11 'IQO.O µ�1-�-'---------------------·- ��� � Fig. 7.109 'IQ0.2 IM2 4 "Y3_E.NTOSA H'A,_ ·, _ •·____________________• _ oe ...,"c;:_. Fig. 7.111 Segmento 8: Mllnipulador dr carga.E"JI!' 11 rrtical E.lrctro...alwla birua bll!'. De1.pla2Br a po�ición .., 'IQ0.1 1M13 ºYS_SUBIR Af'Al- 1- 3" ____________________ MAACAD ---I ;:_. Fig. 7.113 Segmento 10: Piloto de �etah:mción verde "f.M1.1 ºElAPA 1 1º ,..,., ºE1APA 1 2" ...1 .l ºEWA 13º 'IMl.4 "ETAPA 14º Fig. 7.115 1()22 ºHt_VERDEº 253
  • 260.
    Unidad 7 -Programación estructurada 254 Segmento 1 1 : Piloto die ,;,eftah;uci6n roJO � A f- "a- ___________________ "H ---1 �2- Fig. 7.116 o OB1. Llamada a los bloques de programa. ,.. Segmento 1 : Llamad.1 al b�u,e FC1 doel 9raft:ietpriocipal '.i·<.1 "OO_Graket_Prindp,r � EN ENO ---------------- Fig. 7.117 1 "02_Gr.Jfc :'. ��uenda_.r � EN Ef,40 -----------------< Fig. 7.119 1 "Ol_Greke : �uefKLa_1• � EN ENO ------------------< '-.../ Fig. 7.118 Segmento 4: 1 -OJ_��- � EN ENO --------------------- '-.../ Fig. 7.120 o OB100. Activación de las etapas iniciales de cada Grafcet. 'J,l,16190.0 •FírstScan• 'J.M6190.0 •FírstScan• %M81 90.0 •FirstScan• 'J.MO.O "ETAPA O" ( .� )------t 'J.M0.1 "ETAPA 1" ( RESET_BF r-4 'J.Ml.O "ETAPA 10" ( & )------t 'J.Ml .1 "ETAPA 1 1 • ( R[SET_Bf r-4 4 ªlo'.12.0 "ETAPA 20" ( s )----, 'J.M2.1 "ETAPA 21" ( RESET_BF r-4 4 Fig. 7.121 V V V Fig. 7.122 Fig. 7.123 Por tanto, podemosindicar que la estructura de este programa sería la siguiente: ____,, V Fig. 7.124
  • 261.
    ) ) ) ) ' ' ' ' ) ' ) ) ... ) ) 1 ) ) 1 1 ) 1 1 ) ) ' ) 1 Recuerda • •• Cuando una parte de la secuencia se repite varias veces dentro del mismo ciclo de funcionamiento, se puede programar la secuencia repetitiva en otro Grafcet que será llamado desde el principal. La etapa que se encarga de realizar la llamada a la secuencia repetitiva se conoce como «macroetapa». Unidad 7 - Programación estructurada 7.5.2 Macroeta pa En este apartado vamos a introducir el concepto de macroetapa, que es una representación simbólica de una parte de un Grafcet, parte conocida como expansión de la macroetapa. Tiene como misión descomponer Grafcet complejos en subgrafcets más pequeños para su mayor entendimiento, así como facilitar su estructuración. Gráficamente se representa como una etapa normal con dos líneas horizontales en cuyo interior se escribe un identificador que empieza por la letra M seguido de un número identificativo, por ejemplo M5: Fig. 7.125 Pero antes de iniciar la exposición de utilización de una macroetapa, vamos a ver cómo se representa un forzado de un Grafcet a una etapa concreta, ya que es la operación que se va a utilizar en el desarrollo de las macroetapas. • Forzado de un grafcet a una etapa o etapas El forzado de un Grafcet sobre otro establece una relación jerárquica de mando del primero sobre el segundo. Podemos identificar al Grafcet que fuerza como «Grafcet maestro» y al que es forzado como «Grafcet esclavo». Como orden de mando, es también una acción que permite imponer un estado actual de la evolución del Grafcet que recibe la orden (esclavo). La ejecución del forzado tiene prioridad sobre las reglas de evolución ordinarias. Para representar un forzado, este se realiza en una acción asociada a la etapa definida como macroetapa, donde la descripción de la acción emplea la sintaxis que identifica el estado al que se quiere forzar el Grafcet esclavo. La norma prevé las siguientes pautas de evolución del forzado: o Desde el punto de vista del Grafcet maestro, la acción de forzado es una acción continua convencional, que dejará de ejecutarse al desactivarse la etapa a la que va asociada. o Como consecuencia de la orden, el Grafcet esclavo se sitúa en el estado de actividad de etapas descrito en la orden recibida. o Mientras está activa la etapa forzante en el maestro, el esclavo no puede evolucionar (se dice que está congelado), es decir, que el Grafcet forzado (esclavo) no evolucionará, aunque se cumpla la transición correspondiente mientras se mantenga el forzado desde el Grafcet maestro. A continuación, se muestran diferentes ejemplos de acciones asociadas con forzados. Algunos ejemplos son de acciones asociadas a etapas intermedias, pero también pueden ser con etapas iniciales y macroetapas: o Al activarse la etapa 2, se fuerza la etapa 12 del Grafcet 5 y se desactivan las restantes. 255
  • 262.
    Unidad 7 -Programación estructurada Recuerda • • • Desde una acción asociada a una etapa de un Grafcet, se puede provocar que el funcionamiento de otro Grafcet pase su estado a una etapa o varias etapas concretas. Recuerda • • • Desde una acción asociada a una etapa de un Grafcet se puede provocar que el funcionamiento de otro Grafcet se detenga en su etapa activa actual, quedando este último «congelado». 256 N F G5: 12 Forzar etapa X12 del grafcet 5 Al pasar a programar esta acción asociada, hemos de suponer, por ejemplo, que el Grafcet esclavo se inicia en la etapa 10 (Ml.0) y finaliza en la etapa 17 (Ml.7). Entonces debemos escribir en el byte un 4 y de esta forma activamos tan solo el bit 2 (Ml.2, etapa 12) del byte, en este caso MB1, poniendo a cero el resto de bits. NQ etapa 17 16 15 Bit Ml.7 Ml.6 Ml.5 =4 o o o 'J.M0.2 APA2" MOVE 1----EN - 4-IN 'J.MB1 �} OUTl - "'Grafcet_Esclavo"' 14 13 12 11 10 Ml.4 Ml.3 Ml.2 Ml.1 Ml.0 o o 1 o o Fig. 7.126 o Al activarse la etapa 5, se fuerzan las etapas X17 y X22 del Grafcet 2 y se desactivan las restantes. Este caso de forzado a múltiples etapas se puede producir en los Grafcet con secuencias simultáneas o bifurcación en Y. N F G2: 17 22 Forzaretapa X7 yX22 del grafcet2 Al pasar a programar esta acción asociada, hemos de suponer, por ejemplo, que el Grafcet esclavo se inicia en la etapa 10 (Ml.0) y finaliza en la etapa 27 (M2.7). Entonces debemos escribir en el byte MBl un 128, y en el MB2 un 4. De esta forma activamos tan solo el bit 17 (Ml.7, etapa 17) del byte MBl y el bit 2 (M2.2, etapa 22) del byte MB2, poniendo a cero el resto de bits. También, para simplificar el programa y al ser el MBl y el MB2 dos bytes consecutivos, podemos escribir el valor 32772 en el MW1. N9 etapa 17 16 15 Bit Ml.7 Ml.6 Ml.5 =128 1 o o NQ etapa 27 26 25 Bit M2.7 M2.6 M2.5 =4 o o o �:/2• MOVE ---EN - 32772 -IN 'J.MW1 14 Ml.4 o 24 M2.4 o .;} OUTI - •Grefcet_Esclavo· 13 12 11 10 Ml.3 Ml.2 Ml.1 Ml.0 o o o o 23 22 21 20 M2.3 M2.2 M2.1 M2.0 o 1 o o Fig. 7.127 De la misma forma que el valor introducido es un valor entero (32772), se puede introducir en otros formatos, por ejemplo: Binario: 2#10000000 00000100 Hexadecimal: 16#8004 Al activarse la etapa 14, el Grafcet 3 se detiene en la etapa actual, con lo que conseguimos que el Grafcet quede «congelado». 1 1 1 1 1 1 1 1 1 1 � : MO S � I / { , )
  • 263.
    ' ' 1 í í 1 1 í í l ' ' Unidad 7 -Programación estructurada F G3: * Forzarel grafcet 3 a la etapaactual Este caso se debe resolver de forma diferente a los casos anteriores, ya que se desconoce la etapa en la que se encuentra el Grafcet a forzar en el momento del forzado. La forma más sencilla es condicionar la llamada a ese Grafcet para que pueda evolucionar siempre que la etapa X14 no se encuentre activada, lo que sería: 'Jl.11 .4 ºETAPA 1 4º 1if13 "U3_Grafcet_Secuenda_2• l----l/1---- EN ENO -------------1 • Utilización de macroetapas Fig. 7.128 Una macroetapa se utiliza cuando en un proceso se repite una determinada secuencia varias veces en un mismo ciclo de programa. Por tanto, se deberá diseñar una secuencia en Grafcet, que se pondrá en marcha cuando la macroetapa se encuentre activa. Esto quiere decir que tendremos una secuencia que se ejecutará varias veces en un mismo ciclo de programa y que en el Grafcet principal tendremos en varios puntos de la secuencia una macroetapa que indicará la activación de la secuencia. Por ejemplo, tenemos un Grafcet con una secuencia lineal, Grafcet Maestro, formada por ocho etapas, en la que en las dos etapas nombradas como Ml hay integradas sendas macroetapas. Por otro lado tenemos otra secuencia lineal, Grafcet Esclavo, formada por cinco etapas, más la etapa de entrada El, que tiene la particularidad de que no es etapa inicial, y la etapa de salida 51: MO.l M0.2 M0.3 M0.4 MO.S M0.6 Grafcet Maestro N Acción asociada O N Acción asociada 1 N Acción asociada 2 N Iniciar Macro 1 Actlvar etapa XH N Acción asociada 4 N Acción asociada 5 N Iniciar Macro 1 Activar etapa XEl N Acción asociada 3 Grafcet Esclavo MS.O M8.1 N Acción asociada 81 MS.2 N Acción asociada 82 MS.3 N Acción asociada 83 M8.4 N Acción asociada 84 MS.S N Acción asociada 85 MS.6 257
  • 264.
    Unidad 7 -Programación estructurada 258 En el ejemplo anterior se observa cómo el Grafcet esclavo lleva obligatoriamente una etapa de entrada, con nombre En y una etapa de salida con nombre Sn donde n es el mismo identificador de la macroetapa de donde procede, Grafcet maestro. En este caso, como la macroetapa la hemos nombrado Ml, las etapas de entrada y de salida del Grafcet esclavo serán El y 51. La evolución de la macroetapa depende de que una de las dos etapas Ml se encuentre activa. En ese momento se fuerza el Grafcet esclavo a la etapa XEl. Como la primera transición ya se cumple, podrá ser flanqueada y hacer que el Grafcet esclavo siga su normal evolución, haciendo a su vez que el Grafcet maestro no evolucione hasta que el Grafcet esclavo finalice la secuencia y active la etapa de salida XSl. En ese momento el Grafcet maestro pasa a activar la siguiente etapa, la X4 o la X7, desactivando a su vez la etapa de salida XSl del Grafcet esclavo, que queda sin ninguna etapa activa y preparado para un nuevo ciclo. 7.5.3 Programa basado en diseño Grafcet Para practicar con este tipo de secuencia vamos a plantear un ejemplo basado en el control del manipulador de grabado del simulador 3D, en el que se desea controlar el movimiento de los dos manipuladores, el de grabado y el de carga. El de grabado, gobernado por una electroválvula biestable, deberá realizar sus movimientos tres veces controlado dentro de la secuencia principal, secuencia principal que además trata de controlar el cilindro de doble efecto multiposicional, formado por dos cilindros, uno grande y otro pequeño, estos gobernados por una electroválvula monoestable cada uno. Todos los cilindros disponen de sensores de posición para las dos posiciones: reposo y avance. Además, se deberán indicar los diferentes estados de funcionamiento mediante los pilotos de la baliza de señalización. Cilindro multíposícional Cilindro marcador Fig. 7.129 • Condiciones de funcionamiento: En este caso diferenciaremos el funcionamiento en dos secuencias diferentes, como son la secuencia máster y la secuencia esclava (macroetapa). Incluiremos también otra para poder controlar que el funcionamiento sea en ciclo continuo o se pueda solicitar un paro fin de ciclo.
  • 265.
    Unidad 7 -Programación estructurada GRAFCET PRINCIPAL: - Al poner en marcha el sistema, tendremos activado el piloto rojo (Q2.4), que indica que el sistema está parado. - Al accionar tan solo el pulsador de marcha (10.2), se dará la orden para que el proceso inicie su funcionamiento, indicándose esta situación mediante la señalización del piloto amarillo. En este estado, el funcionamiento se realizará de forma continua ciclo tras ciclo. - Cuando se desee dar la petición de fin de ciclo, tan solo hay que accionar el pulsador de paro (10.1) para pasar al estado de espera hasta que finalice el ciclo completo actual. Este estado quedará señalizado mediante el funcionamiento de forma intermitente del piloto amarillo. - Cuando el ciclo actual de funcionamiento del proceso haya finalizado totalmente, el proceso quedará totalmente detenido y volverá a funcionar el piloto rojo a la espera de iniciar de nuevo otro ciclo mediante la activación del pulsador de marcha. SECUENCIA GRAFCET MÁSTER: - Si se dispone de la orden de funcionamiento dada por el Grafcet principal, y si el cilindro multiposicional grande y el pequeño están en la posición de reposo (dentro) (11.0 * 11.2) y además el cilindro marcador también se encuentra en reposo (arriba) (11.4), los cilindros multiposicional, tanto el grande (Q0.4) como el pequeño (Q0.3), realizarán el movimiento para alcanzar la posición de avance (fuera). - Cuando los dos cilindros multiposicional, el pequeño y el grande, se encuentren en la posición de avance (fuera) (11.1 * 11.3), se deberá ejecutar la secuencia correspondiente al cilindro grabador (macroetapa). - Finalizada la ejecución de la secuencia del cilindro marcador, el cilindro multiposicional pequeño retrocederá a su posición de reposo (dentro) (Q0.3). - Cuando el cilindro multiposicional pequeño se encuentre en la posición de reposo (11.0), se volverá a ejecutar de nuevo la secuencia correspondiente al cilindro marcador (macroetapa). - Finalizada la ejecución de la secuencia del cilindro marcador, el cilindro multiposicional grande retrocederá a su posición de reposo (dentro) (Q0.4) y el pequeño avanzará hasta alcanzar su posición de avance (fuera) (Q0.3). - Cuando el cilindro multiposicional pequeño se encuentre en la posición de avance (fuera) (11.1) y el grande se encuentre en la posición de reposo (11.2), se deberá ejecutar de nuevo la secuencia correspondiente al cilindro marcador (macroetapa). - Finalizada la ejecución de la secuencia del cilindro marcador, el cilindro multiposicional pequeño retrocederá hasta alcanzar su posición de reposo (dentro) (Q0.3). - Cuando el cilindro multiposicional pequeño alcance la posición de reposo (dentro) (11.0), se volverá a ejecutar de nuevo la secuencia correspondiente al cilindro marcador (macroetapa). - Finalizada la ejecución de la secuencia del cilindro marcador, el contador C0l registrará el número de ciclos realizados, visualizando su valor actual en el registro Procesadas rojas (MW7010). Justo en ese momento se activará de nuevo el piloto rojo (Q2.4) y el sistema quedará preparado para empezar de nuevo el ciclo. 259
  • 266.
    Unidad 7 -Programación estructurada 260 - Durante todo el tiempo que dura la secuencia debemos tener activado el piloto verde (Q2.2). - Únicamente cuando el sistema se encuentra detenido, etapa inicial de esta secuencia principal, será cuando al accionar el pulsador de reset (12.6) se pondrá a cero el contador de ciclos. SECUENCIA GRAFCET ESCLAVO (MACROETAPA): - Dada la orden de ejecución de la secuencia de la macroetapa, se activará la primera etapa de la secuencia (etapa de entrada). - En ese momento el cilindro marcador avanzará hasta alcanzar la posición de avance (abajo) (Q0.6). - Alcanzada la posición de avance por el cilindro marcador (11.5), debemos esperar 2 segundos antes de iniciar el movimiento de retroceso (arriba) (Q0.7). - Alcanzada la posición de retroceso por el cilindro marcador (11.4), se dará por finalizada la secuencia de la macroetapa. - Durante todo el tiempo que dura la secuencia debemos tener activado el piloto azul (Q2.3). • Desarrollo del Grafcet A continuación se presentan los Grafcet que dan respuesta al enunciado dado. Grafcet principal Este Grafcet realizará la función de puesta en marcha accionando el pulsador de marcha. La etapa Xl se pondrá en funcionamiento y quedará de forma estable en esta situación (ciclo continuo). Para realizar la petición de final de ciclo, se deberá accionar el pulsador de paro, momento en el que el Grafcet pasará a la etapa X2 (fin de ciclo), esperando a que realmenteelproceso finalice el ciclo actual en funcionamiento. M2.0 M2.1 M2.2 Etapa X0 (M0.0) 2.3 Intermitente (M8191.5) Grafcet esclavo que corresponde a la secuencia de la macroetapa 1 controlada desde el Grafcet maestro. 2.4 2.3 Piloto amarilo (petición fi1 ciclo)
  • 267.
    ' ' ' ' ' ' ' ' ' 1 ' ' ' ' ' ' ' Unidad 7 -Programación estructurada MS.O MS.1 2.3 Piloto azul MS.2 Tiempo de esp era de 2 s. DB TON TOO PT:= 2s 2.3 Piloto azul MS.3 2.3 Piloto azul MS.4 Grafcet maestro que corresponde a la secuencia general que, entre otras cosas, controla el Grafcet esclavo mediante las macroetapas. MO.O M0.1 M0.2 M0.3 M0.4 MO.S M0.6 M0.7 Ml.O Activada etap a salida xSl macro etapa 1 (MS.4) MB.4 Etapa 51 (Macro 1) MB.4 Etapa 51 (Macro 1) MB.4 Etapa S1 (Macro 1) 261
  • 268.
    Unidad 7 -Programación estructurada 262 • Programa en diagrama de contactos Antes de empezar a introducir el programa presentamos el diseño para determinar cómo vamos a estructurarlo: f,!;_1- : (Grafcet pnncipal) ,f. �'?').wr,J� (Salidas) Fig. 7.130 Por tanto, nuestro proyecto estará formado por los siguientes bloques de programa: • .al 04_Ejer<kKJ MACRO MAltOOOft(CPU 12HCA,C/OC/IU)I fJ't Configuración de dispositivos � Online ydiagn6sóco Bloques de programe IrAgregarnuevo bloque • Cyclic interrupt 108301 ,a.Moin(OBI] • Startup 1oe100J • oo_GO_Grafcet principal (FCll • 01_Gl_Gr1fcet maestro (FC2J • 02_G2_Greftet esclavo(FC3) • 02_Salidas (FC4J a, 03_'Temporizadores (FC5J a- 04_Conuido�s (FC6J .. OS_fon:ados fFOI • � Bloques de sistema .., 57 �cursos de programa 1 Iec_counter_0_08 (0821 l 1ec_límer_o_oe (081I Fig. 7.131 De este modo, el programa de cada uno de los bloques, que responde al diseño de los Grafcet dados, sería el siguiente: o FCl. Grafcet principal. Activación de etapas. Segmento 1: Activación de la ETAPA 21 yde,activación de la ETAPA 20 "/,M2.0 "ETAPA20" '1.I0.2 "S2_MARCHA" '110.1 "S1_?ARO" 'J.M2.1 "ETAPA 21" ; s >--- "/,M2.o " ETAPRA � '----------;. .------- Fig. 7.132a • Segmento 2: Activación de la ETAPA 22 yde,activación de la ETAPA 21 "/,M2.1 "ETAPA 21" '110.1 'J.M2.2 "S1_?ARO" "ETAPA 22" l/lf------r-- ----;; s >--- "/,M2.1 " ET APRA � '--------------t- .------- Fig. 7.132b 1-------,1 1- 1 -.------
  • 269.
    ' ' ' ' ' ' ' ' ' ' ' ' ' ) ' 1 Unidad 7 -Programación estructurada Segmento 3: Activación de la ETAPA 20ydesactivación de la ETAPA22 'IM2.2 "ETAPA22" 'IMO.O "ETAPAO" 'IM2.0 "ETAPA20" 'IM22 ;s}-------, "ETAP R A � '---------------1- ,------, Fig. 7.132c o FC2. Grafcet maestro. Activación de etapas. • Segmento 1: Acuv1cióndr 11 EWA l ydenctr.r1d6n dr 11 ETAPA O "IIU -., o 11U ºB7_d0WL11 ·es_cOWLll '89_1!'0 ......, "ETAPA l" "".:;', 1- ·•• _ · ___ ·e:2" -I Al- ;- ,._-- � -1 = 1- • - · --- � -1 �� 1- "° - · __- _ ""' -1 "'" ' U�� WA Cí" •>---- Fig. 7.133a • Segmento 3: ActIV1c16n de 11 ETN'A3 ydencti11c16n dr la ETAl'A_ MAC!IO �- -- '•- � -- � 'IM)A 1 _,.. �-• 1 _ , e - A "ET.N'ASl" 'IM).] ºET.N'A 3" �------------f-� Fig. 7.133c 'IM).5 "ETN'AS" ; s )-----< ....,_. �------------ · - MKRQ -( R � Fig. 7.133e ....,., "ETN'A7" ; s )-----< ....,_. �------------· - MKRQ ..... � Fig. 7.133g • Segmento 9: Actw,c:rón � I• ETAPAOydl'UttlYll;IÓn de lt ETAl'AIIN;CRO_td �- º 1 __,, - A "ETN'ASr "'"'·º "ETN'AO" ; s )-----< """'·º �------------• - MKRQ -( R � Fig. 7.133i ... Segmento 2: ....,_, "ETN'A 1" • Segmento 4: 'IMl.3 "ETN'A 3" • Segmento 6: ....,_, "ETN'AS" W1.3 "B8_d1 MULTl GR,&NOE FUERA" ..,., "B7_d0 KILTI GIWIDE OENTRO" W1.1 "86_c1 MULTI PEQUEÑO FUEPA" Fig. 7.133b ....,., "M.ACRO_la" ; s )-----< ....,_, �------- -rr -1: A � ....,_. "MN:RO_lb" �------------·-(; Fig. 7.133d ..,., "86_c1 MULTI PEQUEÑO FUERA" Fig. 7.133f ....,_. "Ml<RO_lc" �------- -rr -1 � • � • Segmento 8: Activ.ci6n dr l1 ETAPAMICA0_1d :,_ d, _ n _ u _ w, _ ,� _ o _ d_ , 1 _ ,_ n _ � _ A? _________ ....,_, "ETN'A T ..,.o "B5_c0 MJLTI PEQUEÑO DENTRO" ;s )-----< 'IMl.7 �------------ •-< rr: A � Fig. 7.133h Segmento 10: Uem1d1 al bloque de programa de Ttmpori:adores 1 i,3_Tem�,• � EN ______ ENO -----------------< Fig. 7.133j � EN EN0 ------------------1 Fig. 7.133k 263
  • 270.
    Unidad 7 -Programación estructurada 264 o FC3. Grafcet esclavo. Activación de etapas. Segmento 1: Activ11cíón de le ETAPA 81 ydenctivación de 111 ETAPA 80 µ•o 1 .. ... '-M8190.2 "AlwayslRUE" 1 'IMB.1 "ETAPA 81" ; s )------< -r.M8.0 �------------• - n -i � A � Fig. 7.134a Segmento 3: Activ11ción de 111 ETAPA 83 y des11ctM1dón de ta ETAPA82 µ • 2 1 ... -W8.3 "ETAPA 83 º ; s )------< 1M8.2 �------------• - E -1 T�R A� Fig. 7.134c Segmento 5; Uemada a l bloque de programa de Contadore-.s � EN " "04_ContadoA!t '" ENO ----------------- 'IMB.1 ºETAPA 81 " ,.,., ·e1o_e1 '-""'CAOOR ABAJO" -W8.2 .___./ "ETAPA 82" ; S )------< -.___1 "1.MB.1 �------------ • - E -i T � A � 'J Fig. 7.134b '-..,./ Segmento 4: J1.t:tivac1ón de 111 ETAPA 84 ydesactivedón de la ETAPA 83 ______'----' Fig. 7.134e 'J.11 .4 "B9_eo '-""'CAOOR ARRIBA' 'IMB.4 -._/ "ETAPA Sl' -W8.3 ; s )------< '-J .___ ____________ •E ---j T "'. A � '-.J Fig. 7.134d '---' o FC4. Activación de salidas. Segmento 1: Mtnipu1ador de grabado. Eje horizonntl ¡nqueño. Ehrctrov11lvul11 mon�stable. ""-t0.1 ºETAPA 1° 'IIQ0.3 •y4 MJLllPOSl(IONAL PEQUEÑO" 1- � --.-----------------1 s )------< -�Ll Fig. 7.135a Segmento 3: Mlnipulador de grabado. E¡e horia:nml grande Electrovalvula rnonoe-stable. 'IIQ0.4 ·vs � 1 MJLllPOSIClONAL .,.A l- . , _ ·____________________ GRAN -1 s o � Fig. 7.135c Segmento S: Mlnípuh1dor de grabado. EJe vertical. Electrovslvu11 biestable. 'IIQ0.6 "IM8 1 •y7 BAJAR ¡,¡,Al- ·• _ , •____________________ MAACA00 --1 - � Fig. 7.135e Segmento 7: Piloto de señ11hmcíán píloto amermo ������ Fig. 7.135g Segmento 2: flilanipuledor de gr1bedo. Eíe horizi::intal. Electrovalvul11 monoestable. 'IIQ0.3 1M0.3 "ETN'A 3" •y4_ "1UlllPOSl90N.Al '--' PEQUENO" 1- 7 --.------------------l( R )------< ...... ·e':? LJ '-J Fig. 7.135b Segmento 4: Mttnipuh1dorde9rabitdo.E¡e vertical. Eleroovelvula monoestable. 'IIQOA ·vs � A l-- -� - •___________________..., _ � _ GPO ; ��� NAl -./ R )------< Fig. 7.135d Segmento 6: Mllnlpul1dor de grabedo.Eje vertical. Electrovalvule biestable. 1 'lO 'IIQ0.7 �:1-- ! _ ,·____________________� _ vs ; _su� '----' Fig. 7.13Sf Segmento 8: Piloto di!' señati:adón piloto verde 1 -,":"' �2.2 �-----�-t1-- .,_·____________________·"_';-��'-/ Fig. 7.135h
  • 271.
    ' ' ' ' ' ' ' ' ' 1 ' ' 1 ' Unidad 7 -Programación estructurada Segmento 9: Piloto de señah:ac1ón P� ''- º' - º- " _ nl _ ,________ Segmento 10: Piloto de se�111h2ción piloto a11t K '"' :- ,__ º1 d• ----------< ,._,,"30.1 LANCO r 'IQ2.2 ºH1_VE.RDE" • J---, 'IMS.1 "ETN'A 81" 'IMB.2 ºETAPA 82 º 'IM8.3 "ETAPA B3" Fig. 7.135i Fig. 7.135j Segmento 1 1 : Piloto dt" seiiali.aci _ ón _p � 1i_ o1 _ o_ oc _ ul ________ Segmento 1 2: Piloto de señ&h.:adón roJo µ!..·�_,·____________________"')2.3 º H2_AZUL" s J---, Fig. 7.135k o FCS. Temporizadores. Segmento 1 : Tempori;:ador 1 N'A 82" 'Ml81 •1E(_Timer_O_OB• TON Time 'APA20" µ,o Fig. 7.1351 µ.2 f--- iN T•2• - PT Q -------------------< ET - -- o FC6. Contadores. Segmento 1: co_ot, _ d _ o_ n_______________________ � 'IIM1.0 'Ml'CRO_ld' '!IDB2 ·1EC_Counter_ 0_0B' CTU lnt N t---------- CU o -------------< 'IIM'IO.O 'FU>NCO 1 " 'IIMl.O 'ETN'A O' '1112.6 'S4_RESET" 1---• 0 - py 'INNI010 "PROCESADAS C1 - ROJAS' o FC7. Forzado en la secuencia de la macroetapa M l. Segmento 1 : Activación de la eta pa de �ntrada El de la secuencia de la macro etapa M1 _., " MAOW)_,:a• MOi.E 1--�------EN - ...... " MACR0_1 b" ....... " FLANCO 6" ,..., " MA00_1< 1W30.6 " FLAN<D 7" w1 _0 " MA00_1d' 1 - IN ..... Fig. 7.135m Fig. 7.135n Wl0.7 " FLANCO S" Fig. 7.1350 'IQ2.4 "H3_ROJIY 265
  • 272.
    Unidad 7 -Programación estructurada 266 Segmento 2: Oeuctiveción de la etape de salida S1 de la secuencia de la macro etapa M1 'WM>.0 "ETN'A O" '!WB.4 "ETi'l'A S l " 1----,-------------------� R )-------, 'WM>.3 "ETN'A 3" 'WM>.S "ETN'A S" '!Wll.7 "ETN'A 7" o OB100. Activación de la etapa inicial y desactivación del resto. 'f.M8 1 9 0.0 •rirs.tScan• 'f.MO.O •ETAPA o• 1--�----------------�( S )-------, 'IM0.1 "ETAPA 1 ' ( RESET_BF }--4 Fig. 7.13Sp Fig. 7.136a 'f.M81 90.0 'IM2.0 "FirstScan• "ETAPA 20" 1 s )-------i 'IM2.1 "ETAPA 21 " ( RESET_BF }--4 Fig. 7.136b 2 o OB1. Llamada a las funciones que completan el proyecto. ..,. Segmento 1: Uom•d• al bloque de progroma del grafcet principal 1 "l>O_GO_G::;t princ.ipar � EN ENQ ----------------------< ..,. Segmento 2: Uamada •I bloque de programa del grafcet maemo 1 "1>1_G1_G:;�t m..,stto• � EN ENQ ----------------------< ..,. Segmento 3: Llomo.da •I bloque de progr&ma del grofcet esclovo 1 "1>2_G2_G !t �1 escla,¡o• � EN ENQ ---------------------, ..,. Segmento 4: Llo.mo.d• al bloque de programo de las solid•• 1 "1>2;:a.. � EN ENQ ----------------------------1 Fig. 7.137a Fig. 7.137b Fig. 7.137c Fig. 7.137d v '-...,, '-.../ '-.../ '-.../ '-..,/ v '--'' v J J c__/ ..._,, '-...,, '-.../ '-.,, '-..,/ ...__/ J
  • 273.
    1 ) ) ) ) ' ' ) ) ' Unidad 7 -Programación estructurada o Comprobación del funcionamiento con maqueta de simulación 3D Para hacer este ejercicio tan solo hemos de utilizar los pulsadores PARO y MARCHA del panel Control del proceso para controlar el funcionamiento del manipulador de grabado: Control dl?I proceso (I IJ ■� � .. EMERGENCIA PARO MAROIA AIJT,'MAN ACK a a ■ a ■..:� 520-HZ0 S21-H21 S22-H22 523-Hll 524-1-124 ,...2 Fig. 7.138 Fig. 7.139 Podemos observar en el simulador 3D cómo los cilindros que intervienen en el programa, multiposicional y marcador, responden al funcionamiento programado, así como la señalización del estado del proceso mediante los pilotos ROJO, AMARILLO, AZUL y VERDE de la baliza: Cilindro multiposicional Cilindro marcador Fig. 7.140 267
  • 274.
    Unidad 7 -Programación estructurada 268 Ejercicio APLICACIÓN MACRO DEL MANIPULADOR DE CARGA Se desea controlar los movimientos de los diferentes actuadores del manipulador de carga, como son, el cilindro del eje horizontal, y el conjunto formado por el cilindro vertical de la ventosa y la propia ventosa. En la secuencia maestra se trata de controlar el desplazamiento del cilindro del eje horizontal gobernado por una electroválvula biestable, que traslada la ventosa desde la posición de carga de la pieza hasta la posición de descarga de la misma sobre el palet. En esta secuencia, habrá dos momentos en los que se debe actuar sobre el cilindro vertical, controlado por una electroválvula monoestable para coger y soltar la pieza. El palet alcanzará la posición de carga mediante el control del motor de la cinta transportadora. Todos los cilindros disponen de sensores de posición para las dos posiciones, reposo y avance. Además, se deberán indicar los diferentes estados de funcionamiento mediante los pilotos de la baliza de señalización. Condiciones de funcionamiento: Cilindro de la l ventosa Fig. 7.141 V En este caso, diferenciaremos el funcionamiento en dos secuencias diferentes, como son la secuencia máster y la secuencia esclava (macroetapa). Incluiremos también otra para poder controlar que el -.....,,/ funcionamiento sea en ciclo continuo o se pueda solicitar un paro fin de ciclo. .__, GRAFCET PRINCIPAL: • Al poner en marcha el sistema, tendremos activado el piloto rojo que indica que el sistema está '---' parado. • Al accionar tan solo el pulsador de marcha, se dará la orden para que el proceso inicie su funcionamiento, situación que se indicará mediante la señalización del piloto amarillo. En este '-" estado, el funcionamiento se realizará de forma continua ciclo tras ciclo. '-.J • Cuando se desee dar la petición de fin de ciclo, solo habrá que accionar el pulsador de paro, '-" pasando al estado de espera hasta que finalice el ciclo completo actual. Este estado quedará 0 señalizado mediante el funcionamiento de forma intermitente del piloto incorporado en el pulsador de paro, dejando de funcionar el piloto amarillo. • Cuando el ciclo actual de funcionamiento del proceso haya finalizado totalmente, el proceso '...,_./ quedará totalmente detenido, volviendo a funcionar el piloto rojo a la espera de iniciar de nuevo '-" otro ciclo mediante la activación del pulsador de marcha.
  • 275.
    ' ' ' ' ' ) ) Unidad 7 -Programación estructurada SECUENCIA GRAFCET MÁSTER: • Si se dispone de la orden de funcionamiento dada por el Grafcet principal, y si los cilindros se encuentran en reposo, tanto el eje horizontal (derecha) como el cilindro de la ventosa (arriba), y el disyuntor del motor se encuentra activado, entonces el motor de la cinta transportadora se pondrá en funcionamiento. Si en este punto el disyuntor no está rearmado, entonces se pondrá en funcionamiento el piloto incorporado en el pulsador ACK y bastará con rearmarlo para iniciar el proceso con el cumplimiento del resto de condiciones. • Cuando el palet haya alcanzado la posición de carga, se deberá ejecutar la secuencia correspondiente al cilindro de la ventosa (macroetapa), teniendo en cuenta que deberá recoger, mediante la ventosa, una pieza que previamente hemos hecho aparecer mediante el botón PONER PIEZA del simulador 3D. • Finalizada la ejecución de la secuencia del cilindro de la ventosa, el cilindro del eje horizontal se desplazará a su posición de avance (izquierda). • Alcanzada la posición de la izquierda por el eje horizontal, se volverá a ejecutar la secuencia correspondiente al cilindro de la ventosa (macroetapa), teniendo en cuenta que ahora deberá dejar la pieza. • Finalizada la ejecución de la secuencia del cilindro de la ventosa, una vez liberada la pieza sobre el palet, se deberá registrar en un contador el número de ciclos realizados y se visualizará su valor actual en el registro Procesadas sin grabado. Seguidamente el eje horizontal retornará a su posición de reposo (derecha), a la vez que se pone en marcha la cinta de transporte de palets durante 5 s, tiempo para que el palet abandone la posición de carga con la pieza en su interior. • En el momento en el que hayan transcurrido los 5 s de tiempo, cuando no se detecta palet en la posición de carga y el cilindro del eje horizontal se encuentra en reposo (derecha), se activará de nuevo el piloto rojo y el sistema quedará preparado para empezar de nuevo el ciclo. • Durante todo el tiempo que dura la secuencia debemos tener activado el piloto verde. • Únicamente cuando el sistema se encuentra detenido, etapa inicial de esta secuencia principal, será cuando al accionar el pulsador de reset se pondrá a cero del contador de ciclos. • Si cuando se encuentra en funcionamiento el motor de la cinta de transporte de palets se dispara el disyuntor magnetotérmico, entonces dejará de funcionar el motor y se señalizará mediante el piloto incorporado en el pulsador ACK, que funcionará de forma intermitente. Para salir de este estado será necesario rearmar el disyuntor y accionar el pulsador ACK, pasando de nuevo a funcionar el motor. SECUENCIA GRAFCET ESCLAVO (MACROETAPA): • Dada la orden de ejecución de la secuencia de la macroetapa, se activará la primera etapa de la secuencia (etapa de entrada). • En ese momento, y si se detecta pieza con el cilindro de la ventosa a la derecha, para el proceso de sujetar la pieza, o bien, si tan solo el cilindro de la ventosa se encuentra en la posición de la izquierda, para el proceso de liberar la pieza. En cualquier caso, el cilindro de la ventosa realizará el movimiento de bajada hasta alcanzar la posición de avance (abajo). • En este momento debe evaluar si ha de coger la pieza o soltarla mediante la actuación de la ventosa, según se encuentre en la posición de carga o de descarga, y posteriormente realizar la acción que corresponda. • Una vez completada la acción anterior, coger o dejar la pieza, esperará un tiempo de 2 s. • Pasados los 2 s, el cilindro realizará el movimiento de ascenso hasta alcanzar la posición de reposo. • Cuando el cilindro de la ventosa se encuentra en la posición de reposo, se dará por finalizada la secuencia de la macroetapa. • Durante todo el tiempo que dura la secuencia debemos tener activado el piloto azul. 269
  • 276.
    Unidad 7 -Programación estructurada 270 Relación de entradas y salidas: ENTRADAS Dirección Dispositivo 10.1 51 Pulsador de paro 10.2 52 Pulsador de marcha 10.4 B1 Cilindro con ventosa en reposo (arriba) 10.5 B2 Cilindro con ventosa en avance (abajo) 10.6 B3 Cilindro eje horizontal en reposo (derecha) 10.7 B4 Cilindro eje horizontal en reposo (izquierda) 12.0 B11 Detector de vacío 12.4 B15 Detector de palet en posición de carga 12.5 B16 Detector de pieza en posición de carga 12.6 54 Pulsador de reset 13.0 F2 Disyuntor protección motor cinta 13.1 SS Pulsador ACK REGISTRO DE CONTAJE Dirección 1 Dispositivo MW7016 I Procesadas sin grabado Realizar: • Planteamiento de la estructura del proyecto. • Diseño del Grafcet. • Implementación a programa. SALIDAS Dirección Dispositivo Q0.0 Yl EV Descender cilindro con ventosa Q0.1 Y2 EV Cilindro horizontal va a la izquierda Q0.2 Y3 EV Cilindro horizontal va a la derecha Ql.0 Y9 EV Vacío en ventosa Ql.1 KlM Motor cinta transporte de palets Q2.1 H0 Piloto amarillo Q2.2 Hl Piloto verde Q2.3 H2 Piloto azul Q2.4 H3 Piloto rojo Q3.0 H4 Piloto incorporado en el pulsador de paro Q3.2 H6 Piloto incorporado en el pulsador ACK • Comprobación del funcionamiento mediante la maqueta de simulación 3D. ., 1 y ' 1 , 1 í .
  • 277.
    ' ' ' ' 1 ' ' 1 Unidad 8 GuíaGemma En este capítulo: 8.1 Guía Gemma 8.1.1 Introducción a la Guía Gemma 8.1.2 Estados de la Guía Gemma 8.1.3 Configuración del proyecto, estructura y variables a utilizar 8.2 Programación en Grafcet (VII) 8.2.1 Guía Gemma del estado Fl (Producción normal) 8.2.2 Guía Gemma de los estados Al (Puesta al estado inicial), Fl (Producción normal) y A2 (Paro solicitado a final de ciclo) 8.2.3 Guía Gemma del estado F2 (Marcha de preparación) Unidad 8 - Guía Gemma 8.2.4 Guía Gemma del estado FS (Marcha de verificación con orden) 8.2.5 Guía Gemma de los Estado A3 (Parada a un estado determinado) y A4 (Parada obtenida) 8.2.6 Guía Gemma del Estado F3 (Marcha de cierre) 8.2.7 Guía Gemma del Estado D1 (Parada de Emergencia), AS (Preparación para la puesta en marcha después de un defecto o avería) y A6 (Puesta del sistema al estado inicial) 8.2.8 Guía Gemma del Estado F4 (Marcha de verificación sin orden) 8.2.9 Guía Gemma del Estado D2 (Diagnóstico o tratamiento de los defectos) 271
  • 278.
    Unidad 8 -Guía Gemma Recuerda • • • La guía Gemma es una guía que representa todos los métodos de marcha y paro que se pueden encontrar en un proceso automatizado. No es una norma y, por tanto, podemos elegir los estados según la complejidad del proceso. 272 8.1 Guía Gemma La guía GEMMA es un procedimiento que sirve para poder estandarizar los diferentes modos de funcionamiento y estados que contemplamos en cualquier sistema automatizado. Se define como Guía de Estudios de Modos de Marcha y de Parada de los Sistemas Automatizados. 8.1.1 Introducción a la Guía Gemma En un proceso productivo, una máquina no está siempre funcionando en modo automático. Pueden aparecer problemas que obligan a parar el proceso, como averías, material defectuoso, falta de materia prima, necesidad de hacer mantenimiento, etc. En la automatización de una máquina es necesario prever todos los estados posibles: funcionamiento automático o manual, paros de emergencia, de fin de ciclo y otros. Además, el propio automatismo ha de ser capaz de detectar defectos y ayudar al técnico de mantenimiento en la reparación y puesta en marcha del sistema. Para fijar una forma universal de nombrar y definir los diferentes estados que puede tener un sistema, la ADEPA (Agence nationale pour le Développement de la Productique Apliquée a !'industrie, Agencia nacional francesa para el desarrollo de la producción aplicada a la industria), ha preparado la guía GEMMA (Guide d'Etude des Modes de Marches et d'Arrets, Guía de estudio de los modos de marchas y paros). La guía Gemma es una guía gráfica que permite representar de una manera sencilla e inteligible los diferentes modos de marcha y paro de un proceso de producción, así como las formas y condiciones para pasar de un modo a otro. La guía Gemma y el GRAFCET se complementan y permiten una descripción progresiva del automatismo de producción. El sistema de control de un automatismo puede estar en tres situaciones diferentes: • En funcionamiento y, por tanto, en producción. • Parado o proceso en paro. • En situación de alarma o defecto, circunstancias en las que, o bien el producto no es aprovechable, o lo puede ser si se manipula adecuadamente. Estas se dividen en estados que representan situaciones concretas usuales en cualquier sistema automatizado. Puede haberproducciónen cada una de estas tres situaciones: en funcionamiento sin lugar a dudas, pero también se puede producir cuando la máquina está en proceso de paro, para vaciar la máquina o para solucionar alguna avería, y cuando la máquina está en ciertas condiciones de defecto, a pesar de que quizá la producción no será aprovechable. Otra situación es la máquina sin alimentación, aunque esta no nos interesa a la hora de definir los circuitos de automatismo. La guía Gemma representa, mediante rectángulos, cada una de las situaciones que corresponden a cada estado diferente, y estos están interceptados por otro rectángulo que corresponde al grupo que define el modo de funcionamiento de un automatismo. .J
  • 279.
    Unidad 8 -Guía Gemma Cada una de las situaciones se puede subdividir, de forma que al final hay 17 estados de funcionamiento posibles. Conviene mencionar que, al ser una guía y no una norma, no todos los procesos precisarán de todos estos estados y que la guía propone los principales caminos para pasar de un estado a otro, pero se pueden trazar otros nuevos. En el siguiente gráfico podemos ver todos los estadosprevistos en la guía Gemma, a pesar de que cuando la utilicemos para describir el funcionamiento de una máquina, no tenemos por qué tenerlos en cuenta todos, sino que utilizaremos únicamente los estados que necesitemos en esa instalación. Recuerda • • • Todos los estados de la guía Gemma se integran en tres grandes bloques: • A-Procedimientos de paradas. • F-Procedimientos en funcionamiento. • O-Procedimientos en defecto. Fig. 8.1 8.1.2 Estados de la Guía Gemma Los diferentes modos de funcionamiento del sistema automatizado vendrán representados por un estado. Los estados irán agrupados según el modo de funcionamiento que realicen y se integran tres grupos: o A - Procedimientos de paradas. o F - Procedimientos en funcionamiento. o D - Procedimientos en defecto. • Grupo F: Procedimientos en funcionamiento En este grupo están incluidos los estados cuyo funcionamiento está orientado a preparar el sistema para poder producir, verificar el funcionamiento correcto y finalmente conseguir que el sistema produzca de forma automática: 273
  • 280.
    Unidad 8 -Guía Gemma Recuerda • • • Los procedimientos en funcionamiento están orientados a: • Preparar el sistema para poder producir. • Verificar el funcionamiento correcto. • Conseguir que el sistema produzca. 274 o Fl. Producción normal. o F2. Marcha de preparación. o F3. Marcha de cierre. o F4. Marcha de verificación sin orden. o FS. Marcha de verificación con orden. o F6. Marchas de test (prueba). - Fl. Producción normal Este es el estado en el que tendremos lo que denominamos «Producción normal». Normalmente corresponde a lo que sería un funcionamiento automático del proceso en el que la acción del operador solo sería necesaria para poner en marcha el proceso, ya que a partir de ahí el sistema funciona de forma autónoma y automática. El Grafcet que realicemos en este estado nos servirá como base para crear los Grafcet que hemos de diseñar para que se cumpla el funcionamiento correcto en otros estados. - F2. Marcha de preparación En todo sistema, antes de empezar a producir, es posible que se deban realizar una serie de acciones para que pueda iniciarse la producción normal de forma correcta. En este estado se debe conseguir que los elementos del proceso se encuentren en condiciones iniciales de trabajo. Si se dispone de un proceso productivo que se ha de poner en marcha cada jornada de trabajo (como podría ser un proceso de mezcla de líquidos, en el que los líquidos se deban encontrar previamente a una temperatura determinada para posteriormente realizar una mezcla y vaciarla en bidones), lo que se tiene que hacer en este estado de la guía Gemma es llenar los diferentes depósitos de líquidos y prepararlos para que se encuentren a una cierta temperatura, que el alimentador de bidones se encuentre a su completa capacidad, que todos los actuadores neumáticos estén en la posición inicial, que la presión del sistema sea la correcta, etc. - F3. Marcha de cierre Este estado sería el modo contrario al de Marcha de preparación (F2). Si el estado Marcha de preparación lo ejecutamos al poner en marcha el proceso, el de Marcha de cierre lo ejecutaríamos al finalizar la producción. Siguiendo con el ejemplo anterior, cuando acabamos la jornada de trabajo al final del día pasaríamos del estado Producción normal (F2) al estado Marcha de cierre cuando se dé por finalizada la última mezcla. Entonces, se debería realizar un pequeño proceso de limpiado del mezclador para que este se encuentre limpio y preparado para su uso al día siguiente. - F4. Marcha de verificación sin orden El proceso en este caso podría realizar todos los movimientos de forma manual y en cualquier orden, siempre controlados por el operador de máquina. Sería un
  • 281.
    Unidad 8 -Guía Gemma funcionamiento manual donde tendríamos que incorporar las condiciones necesarias para que no se produjeran colisiones mecánicas. - FS. Marcha de verificación con orden La máquina o el proceso realizará el mismo ciclo que tenemos en el estado Producción normal, con la salvedad de que el ciclo irá funcionando etapa a etapa y el propio operario será el que controle el paso de una etapa a otra. Cuando se vaya ejecutando cada una de las etapas, podremos ir comprobando si los actuadores hacen correctamente su función y si los sensores responden con exactitud. Serviría para poder ajustar bien los sensores y los actuadores en una primera puesta en marcha del proceso o en un momento de un trabajo de mantenimiento. - F6. Marchas de test En este estado el sistema programado debe responder a un funcionamiento de forma independiente y automática de cada uno de los actuadores, y de esa forma poder realizar un test para comprobar que los sensores han actuado de forma sincronizada con los actuadores. • Grupo A: Procedimientos de parada Este grupo contiene los modos en los que el sistema se encuentra detenido: o Al. Parada en el estado inicial. o A2. Parada solicitada al final del ciclo. o A3. Parada solicitada en una posición determinada. o A4. Parada obtenida. o AS. Preparación para la puesta en marcha después de un defecto o avería. o A6. Puesta del sistema al estado inicial. o A7. Puesta del sistema a una posición determinada. - Al. Parada en el estado inicial Estado normal de reposo de la máquina. Se suele representar con un rectángulo de doble trazo, de la misma forma que hacemos con la etapa inicial de un Grafcet. Se considera el punto inicial o de arranque del funcionamiento del proceso. - A2. Parada solicitada alfinal del ciclo Cuando eloperadordecidefinalizarel funcionamiento del cicloactual, la guía Gemma pasa a este estado mientras continúa con el funcionamiento de Producción normal (Fl) hasta finalizarlo por completo. Una vez finalizado el ciclo, este no continuará, ya que la guía Gemma se situará en el estado Parada en el estado inicial (Al). - A3. Parada solicitada en una posición determinada Cuando la guía Gemma se encuentre en este estado, el proceso se deberá detener en un estado concreto y previamente indicado del ciclo programado en el estado de Funcionamiento normal (Fl). Podría ser un estado en el que nos interese verificar algo en la instalación. Por ejemplo, si tuviéramos un proceso de doble 275 Recuerda · · · Los procedimientos de parada están orientados a: • detener el funcionamiento de forma controlada. • detener el funcionamiento al final del ciclo. • preparar el sistema después de producirse un defecto.
  • 282.
    Unidad 8 -Guía Gemma 276 taladrado, podríamos hacer que una vez realizado dicho proceso, podamos verificarsi se ha llevado a cabo de forma correcta o no. - A4. Parada obtenida Es el estado al que pasará de forma automática cuando el proceso se encuentre detenido en el estado concreto seleccionado en el Estado A3. -AS. Preparación para la puesta en marcha después de un defecto o avería Una vez que ha habido algún defecto o alarma, y en función del estado en el que se haya quedado del proceso, se deben realizar los movimientos correspondientes necesarios de los actuadores para que el operario, de forma manual, pueda realizar una intervención, por ejemplo, extraer piezas atascadas, trozos de recipientes rotos, etc. De este modo, en la siguiente etapa A6 se podrá proceder a poner en condiciones iniciales el sistema. -A6. Puesta del sistema al estado inicial En este estado de la guía Gemma, la máquina o el proceso deberá posicionarse en su estado inicial. Se realizará de forma automática y después de una orden del operador, una vez la máquina o el proceso alcance su posición inicial. Entonces, automáticamente pasaremos del Estado A6 al Estado Al. -Al. Puesta del sistema a una posición determinada En este estado y después de una parada por defecto, Dl o D2, se deberá llevar la máquina o el proceso a una posición concreta diferente a la inicial, siempre y cuando se verifique que el proceso puede continuar. Una vez conseguida esa posición, automáticamente se pasará al Estado A4. • Grupo D: Proceso en defecto Este grupo contiene todos los modos en los que el sistema se encuentra en defecto, tanto si está produciendo, como si está parado o en fase de diagnóstico o tratamiento de los defectos: o Defecto con producción (D3). o Defecto con máquina parada (Dl). o Tratamiento del defecto (D2). 01.Parada de emergencia Podremos acceder a este estado en cualquier momento e independientemente del estado en el que se encuentre la guía Gemma. Para ello bastará con accionar un pulsador de emergencia. Activado este estado, se deberá encargar de detener por completo la máquina o el proceso, lo que conocemos como congelar el funcionamiento, además de dejar fuera de servicio, según cada caso, las diferentes fuentes de potencia (tanto eléctrica, como neumática e hidráulica), con lo que se conseguirá que no haya ningún peligro ni para la persona ni para la máquina. Recuerda · · · Los procedimientos en defecto están orientados a contemplar todas las situaciones que puedan provocar una parada inesperada o forzada del sistema.
  • 283.
    ' ' ' ' --, --, ") ' --, ' ' ' ' C.Onexil,; control Unidad 8 -Guía Gemma Deberemos estudiar la instalación para comprobar cuál sería el estado en el que deben quedar los actuadores en función del momento en el que se ha activado esta parada de emergencia. En muchos casos, la instalación de los actuadores deberá estar preparada para gestionar de forma correcta esa parada. Por tanto, nos podemos encontrar con situaciones en las que sea preferible dejar que los actuadores continúen en funcionamiento o que dejen de funcionar, por ejemplo, ventosas que se queden sin presión de aire como los cilindros, otros bloqueados en una posición y con presión, detener el motor de una cinta de transporte, o de una electroválvula de paso de líquido, etc. - 02. Diagnóstico o tratamiento de los defectos En este estado se deberán analizar los posiblesdefectos que se puedan producir en el sistema y ver cómo podemos diagnosticarlos con efectividad, intentando facilitar la tarea del operario de la máquina para que los localice y los solucione con facilidad. - 03. Producción a pesar de los defectos En este estado se deberá provocar que el proceso continúe produciendo aun teniendo uno o más defectos, y evitar que pueda seguir funcionando de forma completamenteautomáticay que tenga que ser mediante la actuacióndel operador. Por ejemplo, tenemos un proceso con cilindros neumáticos que tiene instalados sensores de posición. Lo que deberíamos implementar en este estado son unos pulsadores que realicen la misma función que los sensores y, en el momento que uno de ellos no funcione, se pueda accionar el pulsador correspondiente haciendo que el proceso continúe produciendo «a pesar del defecto», pero con la intervención del operador. En la aplicación que vamos a realizar usaremos la siguiente guía Gemma con los estados que se indican y se muestran a continuación: Puest• del sktem1 •n •I estadolnlclal filWl:l�(;¡i t'jnv(IÓlldf-1 6'·�41 A l FCI Pirada en el� Inicia! A 4 fC4 ...,.. °' .,._ M03 --+ Solicitudes de marcha - fC12 '""" ·--· tjf(Jl"Jdlridtl � ... JJ -. ..o Marcha de Wtriflcatlón sinorden F2 M07 F3 Meo FClO FCU ....... Ml,2 +--­ Descon xión Martha de prep1oción control Conex�n control AS fCS NO h,yalówm,.c:tN• 1 y�M:KlfHJ : FC3 Partdl pedidli �S21 Of<k!ndtP.vo --,--��-�-- H,Jyalaf-nw 02 Fa �A i.-i---------"""-+- Dll,nostJCOy/o 1 tratamiento delos 1 defectos 1 C>Hconéxión P•ocw,..._._,,,.._� L_-• Producción - ----- COntrol Sin control �0 ..... 1----------M-,,-,,._•_- __, .. ,_' �-- "" FC7 O-Procesos en defecto Fig. 8.2a Fl M0.6 FC9 Producción normtl F•Proces01 en funcionamiento - '""" - '"º" FC13 MarcNi de verificación con «den 277
  • 284.
    Unidad 8 -Guía Gemma Recuerda • • • Estructurar el programa en diferentes bloques facilita tanto su construcción como su comprensión posterior. 278 8.1.3 Configuración del proyecto: estructura y variables a utilizar Para realizar la aplicación representada en la guía Gemma crearemos un proyecto nuevo en el que insertaremos un PLC 57-1200 o 57-1500 con la misma configuración del hardware del punto 1.3.1 de la Unidad 1, con las tarjetas de entradas y salidas configuradas. Necesitaremos esta configuración para la posterior comprobación de los programas con el simulador 3D. A partir de ahora se expone una posible solución, tanto a nivel de estructura de programa, como de las variables a utilizar y del propio programa que hará funcionar el proceso. Por ello se debe tomar como ejemplo y no como modelo único. Lo que sí se deberá respetar es el direccionado de las entradas y salidas dadas en la tabla de variables, ya que son las que están asociadas al simulador 3D. Esta configuración dada servirá para poder comprobar la aplicación de todos los estados de la guía Gemma que son base del estudio. Para larealizacióndel proyecto mostrado se utilizará laprogramación estructurada, por lo que dentro de Bloques de programa crearemos unos bloques para cada uno de los estados y otros bloques auxiliares, que son los que se relacionan a continuación: o 00 GUIA GEMMA (FCO) o Al ESTADO INICIAL (FCl) o A2 PARO FIN DE CICLO (FC2) o A3 PARADA ESTADO DETERMINADO (FC3) o A4 PARADA OBTENIDA (FC4) o AS PREPARACIÓN PUESTA EN MARCHA (FCS) o A6 PUESTA AL ESTADO INICIAL (FC6) o Dl PARADA EMERGENCIA (FC7) o D2 DIAGNOSIS AVERÍAS (FC8) o DETECCIÓN AVERÍAS (FC23) o Fl PRODUCCIÓN NORMAL (FC9) o F2 MARCHA DE PREPARACIÓN (FClO) o F3 MARCHA DE CIERRE (FCll) o F4 MANUAL (FC12) o FS PASO A PASO (FC13) o S_SALIDAS (FC20) o T_TEMPORIZADORES (FC21) o Z_CONTADORES (FC22) Para poder tener más estructuradas las diferentes tablas de variables, incluiremos distintas carpetas dentro de la carpeta principal del árbol del proyecto, llamada Variables PLC. Por tanto, crearemos distintas carpetas, como son Auxiliares, Grafcets y Simulador 3D, y dentro de ellas a su vez diferentes tablas de variables. La estructura final será la siguiente.
  • 285.
    Recuerda • •• Es importante, antes de iniciar la programación y para la posterior comprensión del programa, etiquetar con símbolos todos los registros de programa a utilizar. Unidad 8 - Guía Gemma .• 4 Variables.Pl.C...................�-�-� � Mostrartodas las variables Ir Agregartabla de variables 4JíConstantes del sístema (34} • lc: Auxiliares � OO_SISTEMA (14) � 01_FLANCOS (82) • ful Grafcets � OO_GUIA_GEMMA (13) � 01_GRAFCET_F2 (16) � 02_GRAFCET_F1 (37) � 03_GRAFCET_AS (12) � 04_GRAFCET_A6 (16) • ful Simulador_3D � OO_OB30 (10) � 01_MAQUETA (88} � 02_AVERÍAS (29) Fig. 8.2b • Variables a crear en cada carpeta: Carpeta Auxiliares, tabla de variables 00_SISTEMA. En esta tabla se encuentran todas las variables de sistema de las que dispone el PLC S7-1200 o S7-1500: NOMBRE TIPO REGISTRO COMENTARIO Clock_O.SHz Bool %M8191.7 Marca que funcionará con una frecuencia de 0,5 Hz Clock_0.625Hz Bool %M8191.6 Marca que funcionará con una frecuencia de 0,625 Hz Clock_lHz Bool %M8191.5 Marca que funcionará con una frecuencia de 1 Hz Clock_l.25Hz Bool %M8191.4 Marca que funcionará con una frecuencia de 1,25 Hz Clock_2Hz Bool %M8191.3 Marca que funcionará con una frecuencia de 2 Hz Clock_2.5Hz Bool %M8191.2 Marca que funcionará con una frecuencia de 2,5 Hz Clock_SHz Bool %M8191.1 Marca que funcionará con una frecuencia de 5 Hz Clock_lOHz Bool %M8191.0 Marca que funcionará con una frecuencia de 10 Hz Clock_Byte Byte %MB8191 Byte de marcas de ciclo AlwaysFALSE Bool %M8190.3 Marca que siempre tiene el valor 1 AlwaysTRUE Bool %M8190.2 Marca que siempre tiene el valor O DiagStatusUpdate Bool %M8190.l Marca que vale 1 cuando cambia el estado del diagnóstico FirstScan Bool %M8190.0 Marca que vale 1 solo en el primer sean System_Byte Byte %MB8190 Byte de marcas de sistema Carpeta Auxiliares, tabla de variables 0l_FLANCOS. En esta tabla se encuentran declarados 50 bits para utilizar como flanco, tanto negativo como positivo: NOMBRE TIPO REGISTRO COMENTARIO FLANCO 1 Bool % M230.0 Marca auxiliar para usar en la programación de un flanco FLANCO 2 Bool % M230.1 Marca auxiliar para usar en la programación de un flanco FLANCO 3 Bool % M230.2 Marca auxiliar para usar en la programación de un flanco FLANCO 4 Bool %M230.3 Marca auxiliar para usar en la programación de un flanco .../... .../... .../... .../... FLANCO 50 Bool %M236.l Marca auxiliar para usar en la programación de un flanco 279
  • 286.
    Unidad 8 -Guía Gemma 280 Carpeta Grafcets, tabla de variables OO_GUIA_GEMMA. Esta tabla integra la declaración de las variables que vamos a asociar a cada etapa de la guía Gemma: NOMBRE TIPO REGISTRO COMENTARIO GG_ESTADO Al Bool %M0.0 Estado de parada en el estado inicial GG_ESTADO A2 Bool %M0.l Estado de parada pedida a final de ciclo GG_ESTADO A3 Bool %M0.2 Estado de parada a un estado determinado GG_ESTADO A4 Bool %M0.3 Estado de parada obtenida GG_ESTADO AS Bool %M0.4 Estado de preparación posterior al defecto GG_ESTADO A6 Bool %M0.5 Estado de puesta del sistema al estado inicial GG_ESTADO Fl Bool %M0.6 Estado de producción normal GG_ESTADO F2 Bool %M0.7 Estado de marcha de preparación GG_ESTADO F3 Bool %Ml.0 Estado de marcha de cierre GG_ESTADO F4 Bool %Ml.1 Estado de verificación sin orden GG_ESTADO FS Bool %Ml.2 Estado de verificación con orden GG_ESTADO D1 Bool %Ml.3 Estado de parada de emergencia GG_ESTADO D2 Bool %Ml.4 Estado de diagnóstico o tratamiento de los defectos Carpeta Grafcets, tabla de variables Ol_GRAFCET_F2. Esta tabla integra la declaración de las variables que vamos a asociar a cada posible etapa del Grafcet integrado en el estado F2 de la guía Gemma: NOMBRE TIPO REGISTRO COMENTARIO F2_ETAPA 20 Bool %M2.0 Marca asignada a la etapa 20 del Estado F2 F2_ETAPA 21 Bool %M2.1 Marca asignada a la etapa 21 del Estado F2 F2_ETAPA 22 Bool %M2.2 Marca asignada a la etapa 22 del Estado F2 F2_ETAPA 23 Bool %M2.3 Marca asignada a la etapa 23 del Estado F2 F2_ETAPA 24 Bool %M2.4 Marca asignada a la etapa 24 del Estado F2 F2 ETAPA 25 Bool %M2.5 Marca asignada a la etapa 25 del Estado F2 .../... .../... .../... .../... F2_ETAPA 37 Bool %M3.7 Marca asignada a la etapa 37 del Estado F2 Carpeta Grafcets, tabla de variables 02_GRAFCET_Fl. Esta tabla integra la declaración de las variables que vamos a asociar a cada posible etapa del Grafcet integrado en el estado Fl de la guía Gemma: NOMBRE TIPO REGISTRO COMENTARIO ETAPA40 Bool %M4.0 Marca asignada a la etapa 40 del Estado Fl ETAPA 41 Bool %M4.1 Marca asignada a la etapa41 del Estado Fl ETAPA 42 Bool %M4.2 Marca asignada a la etapa 42 del Estado Fl ETAPA43 Bool %M4.3 Marca asignada a la etapa 43 del Estado Fl ETAPA 44 Bool %M4.4 Marca asignada a la etapa 44 del Estado Fl ETAPA45 Bool %M4.5 Marca asignada a la etapa 45 del Estado Fl ETAPA 46 Bool %M4.6 Marca asignada a la etapa 46 del Estado Fl ETAPA 47 Bool %M4.7 Marca asignada a la etapa 47 del Estado Fl .../... .../... .../... .../... ETAPA 84 Bool %M8.4 Marca asignada a la etapa 84 del Estado Fl - FI 1 ----¡ '--1 '-1 1 Á 1 1 1 1 '-1 -�1 1 1 ___. r '-'I 1 ., -1 l '-1 '-1 '---1 '-1 , '- -- 1 '-1 .-1 - , 1 - 1 "-1 '-' "--'I '---'1
  • 287.
    ) 1 1 ) ) ) ') ) ' ) ) ' ' ) ' ' ) Unidad 8 -Guía Gemma Carpeta Grafcets, tabla de variables 03_GRAFCET_A5. Esta tabla integra la declaración de las variables que vamos a asociar a cada posible etapa del Grafcet integrado en el Estado AS de la guía Gemma: NOMBRE TIPO REGISTRO COMENTARIO AS_ETAPA 90 Bool %M9.0 Marca asignada a la etapa 90 del Estado AS AS_ETAPA91 Bool %M9.1 Marca asignada a la etapa 91 del Estado AS AS_ETAPA 92 Bool %M9.2 Marca asignada a la etapa 92 del Estado AS AS_ETAPA93 Bool %M9.3 Marca asignada a la etapa 93 del Estado AS AS_ETAPA 94 Bool %M9.4 Marca asignada a la etapa 94 del Estado AS AS_ETAPA95 Bool %M9.5 Marca asignada a la etapa 95 del Estado AS AS_ETAPA 96 Bool %M9.6 Marca asignada a la etapa 96 del Estado AS AS_ETAPA 97 Bool %M9.7 Marca asignada a la etapa 97 del Estado AS AS_ETAPA 100 Bool %M10.0 Marca asignada a la etapa 100 del Estado AS AS_ETAPA 101 Bool %M10.1 Marca asignada a la etapa 101 del Estado AS AS_ETAPA 102 Bool %M10.2 Marca asignada a la etapa 102 del Estado AS Carpeta Grafcets, tabla de variables 04_GRAFCET_A6. Esta tabla integra la declaración de las variables que vamos a asociar a cada posible etapa del Grafcet integrado en el Estado A6 de la guía Gemma: NOMBRE TIPO REGISTRO COMENTARIO A6_ETAPA 110 Bool %M11.0 Marca asignada a la etapa 110 del Estado A6 A6_ETAPA 111 Bool %Mll.1 Marca asignada a la etapa 111 del Estado A6 A6_ETAPA 112 Bool %M11.2 Marca asignada a la etapa 112 del Estado A6 A6_ETAPA 113 Bool %M11.3 Marca asignada a la etapa 113 del Estado A6 A6_ETAPA 114 Bool %Mll.4 Marca asignada a la etapa 114 del Estado A6 A6_ETAPA 115 Bool %M11.5 Marca asignada a la etapa 115 del Estado A6 A6_ETAPA 116 Bool %M11.6 Marca asignada a la etapa 116 del Estado A6 A6_ETAPA 117 Bool %M11.7 Marca asignada a la etapa 117 del Estado A6 A6_ETAPA 120 Bool %M12.0 Marca asignada a la etapa 120 del Estado A6 A6_ETAPA 121 Bool %M12.1 Marca asignada a la etapa 121 del Estado A6 A6_ETAPA 122 Bool %M12.2 Marca asignada a la etapa 122 del Estado A6 A6_ETAPA 123 Bool %M12.3 Marca asignada a la etapa 123 del Estado A6 Carpeta Simulador 3D, tabla de variables 00 OB30. Esta tabla integra la declaración de las variables que tenemos asociadas a la conexión entre el simulador PLCSIM y el simulador 3D, y que en ningún caso se deben borrar ni utilizar para otra función: NOMBRE TIPO REGISTRO COMENTARIO CODIGO_ll DWord %MD7600 Registro de entradaspara la comunicación con Simulador 3D CODIGO_l2 DWord %MD7604 Registro de entradaspara la comunicación con Simulador 3D ENTRADASl_PLC DWord %IDO Entradas reservadas para el Simulador 3D ENTRADAS2_PLC DWord %1D4 Entradas reservadas para el Simulador 3D CODIGO_Ql DWord %MD7800 Registro de salidaspara la comunicación con Simulador 3D CODIGO_Q2 DWord %MD7804 Registro de salidaspara la comunicación con Simulador 3D SALIDASl_PLC DWord %QD0 Salidas reservadas para el Simulador 3D 281
  • 288.
    Unidad 8 -Guía Gemma 282 NOMBRE TIPO SALIDAS2_PLC DWord CODIGO_Ml Word CODIGO_M2 Word REGISTRO %QD4 %MW8000 %MW8002 COMENTARIO 1 Salidas reservadas para el Simulador 3D '----'� Registro demarcasinternas parala comunicación con Simulador 3[¡__, I Registro demarcasinternas para la comunicación con Simulador 3[.______,J Carpeta Simulador 3D, tabla de variables 01 MAQUETA. Esta tabla integra la declaración de todas las variables asociadas al proceso del simulador 3D: NOMBRE TIPO REGISTRO S0_EMERGENCIA Bool %10.0 Sl_PARO Bool %10.1 52_MARCHA Bool %10.2 53_SELECTOR AUTO/MAN Bool %10.3 Bl_ao VENTOSA ARRIBA Bool %10.4 B2_al VENTOSA ABAJO Bool %10.5 B3_b0 VENTOSA DERECHA Bool %10.6 B4_bl VENTOSA IZQUIERDA Bool %10.7 BS_co MULTIPEQUEÑO Bool %11.0 DENTRO B6_cl MULTIPEQUEÑO FUERA Bool %11.1 B7_d0 MULTIGRANDE Bool %11.2 DENTRO B8_dl MULTIGRANDE FUERA Bool %11.3 B9_e0 MARCADOR ARRIBA Bool %11.4 Bl0_el MARCADOR ABAJO Bool %11.5 Bll_fl PIEZASUJETA Bool %12.0 B12_g0 TOPE ATRAS Bool %12.1 B13_gl TOPE DELANTE Bool %12.2 B14_PIEZA EN TOPE Bool %12.3 BlS_PALET CARGA Bool %12.4 B16_PIEZA BAJO VENTOSA Bool %12.5 54 RESET Bool %12.6 Fl_PROTECCION MOTOR PIEZAS Bool %12.7 F2_PROTECCION MOTOR PALETS Bool %13.0 SS PULSADOR ACK Bool %13.1 56_SELECCION SELLO Bool %13.2 AMARILLO 57 SELECCION SELLO ROJO Bool %13.3 58 SELECCION SELLO VERDE Bool %13.4 525 Bool %13.5 59_MANUAL VENTOSA BAJA Bool %14.0 Sl0_MANUAL VENTOSA Bool %14.1 IZQUIERDA Sll_MANUAL VENTOSA Bool %14.2 DERECHA / COMENTARIO ____,- Seta de emergencia. Contacto NC Pulsador de paro. Contacto NC '-.J- - Pulsador de marcha. Contacto NO '-.J - Selector Manual (NC)/Automático (NO) '-.J Manipulador de carga. Eje vertical. Detector posición superior (NO) J Manipulador de carga. Eje vertical. Detector posición inferior (NO) Manipulador de carga. Eje horizontal. Detector posición reposo (NO) - Manipulador de carga. Eje horizontal. Detector posición trabajo (NO) - Manipulador de grabado. Eje horizontal. Cilindro pequeño. Detector posic'lún reposo (NO) Manipulador de grabado. Eje horizontal. Cilindro pequeño. Detector posiciAn trabajo (NO) '-../ Manipulador de grabado. Eje horizontal. Cilindro grande. Detector posicic' reposo (NO) J Manipulador de grabado. Eje horizontal. Cilindro grande. Detector posici(.___,, trabajo (NO) Manipulador de grabado. Eje vertical. Detector posición superior (NO) J-1 - Manipulador de grabado. Eje vertical. Detector posición inferior (NO) '-.J - Manipulador de carga. Eje vertical. Detector vacío. Pieza sujeta (NO) '-.J 1 Cinta piezas. Tope salida pieza. Detector segundo tope posición trabajo (r'-...../ Cinta piezas. Tope salida pieza. Detector primer tope posición trabajo (NC 1 Cinta piezas. Detector pieza en posición del segundo tope de salida (NO) ..__,- Cinta portapalets. Detector de palet en posición de carga de la pieza (NO) - Cinta piezas. Detector de pieza en posición de ser cargada por la ventosa '-...../ (NO) Pulsador de Reset. Contacto NO ..__,- Disyuntor magnetotérmico motor cinta transporte de piezas (NC) Disyuntor magnetotérmico motor cinta transporte de palets (NC) Pulsador de reconocimiento de alarmas (ACK). Contacto NO '-.J Pulsador de selección de tipo de sello amarillo a marcar en las piezas (NO>-.../ Pulsador de selección de tipo de sello rojo a marcar en las piezas (NO) J Pulsador de selección de tipo de sello verde a marcar en las piezas (NO) '-../ Mando manual. Selector libre Mando manual. Bajar eje vertical manipulador de carga (NO). Selector biestable '-../ Mando manual. Desplazar eje horizontal manipulador de carga a posición descarga (NO). Selector monoestable - Mando manual. Desplazar eje horizontal manipulador de carga a posición'--" carga (NO). Selector monoestable V
  • 289.
    ' ,¡ i ) ' ' ) ' NOMBRE S12_MANUAL MULTIPEQUEÑO S13_MANUAL MULTIGRANDE S14_MANUALTOPE S15_MANUAL BAJA MARCADOR S16_MANUAL SUBIR MARCADOR 517_MANUAL MOTOR PIEZAS S18_MANUAL MOTOR PALET S19_MANUAL VENTOSA 520 521 522 523 524 Yl_BAJAR VENTOSA Y2_VENTOSAAIZQUIERDA Y3_VENTOSAA DERECHA Y4_MULTIPOSICIONAL PEQUEÑO Y5_MULTIPOSICIONAL GRANDE Y6_TOPE Y7_BAJAR MARCADOR Y8_SUBIR MARCADOR Y9_VENTOSA KlM_MOTOR CINTA PALET K2M_MOTOR CINTA PIEZAS H0_AMARILLO Hl_VERDE H2_AZUL H3_ROJO H4_PULSADOR-PARO H5_PULSADOR_MARCHA H6_PULSADOR_ACK H20 H21 H22 H23 H24 H7_ESTADO Al H8_ESTADO A2 TIPO Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Unidad 8 - Guía Gemma REGISTRO COMENTARIO %14.3 Mando manual. Desplazar eje pequeño horizontal manipulador de grabado (NO). Selector biestable %14.4 Mando manual. Desplazar eje grande horizontal manipulador de grabado (NO). Selector biestable %14.5 Mando manual. Desplazar topes salida pieza en cinta de piezas (NO). Selector biestable %14.6 Mando manual. Descender eje vertical manipulador de grabado (NO). Selector monoestable %14.7 Mando manual. Ascender eje vertical manipulador de grabado (NO). Selector monoestable %15.0 Mando manual. Motor cinta de piezas (NO). Selector biestable %15.1 Mando manual. Motor cinta de palets (NO). Selector biestable %15.2 Mando manual. Activar vacío en ventosa (NO). Selector biestable %15.3 Pulsador auxiliar 520. Contacto NO %15.4 Pulsador auxiliar 521. Contacto NO %15.5 Pulsador auxiliar 522. Contacto NO %15.6 Pulsador auxiliar 523. Contacto NO %15.7 Pulsador auxiliar 524. Contacto NO %Q0.0 Manipulador de carga. Eje vertical. Electroválvula monoestable. Descender eje %Q0.1 Manipulador de carga. Eje horizontal. Electroválvula biestable. Desplazar a posición de descarga %Q0.2 Manipulador de carga. Eje horizontal. Electroválvula biestable. Desplazar a posición de carga %Q0.3 Manipulador de grabado. Eje vertical. Eje horizontal pequeño. Electroválvula monoestable. Desplazar eje %Q0.4 Manipulador de grabado. Eje vertical. Eje horizontal grande. Electroválvula monoestable. Desplazar eje %Q0.5 Cinta piezas. Topes salida piezas. Electroválvula monoestable. Activar topes %Q0.6 Manipulador de grabado. Eje vertical. Electroválvula biestable. Orden de bajar %Q0.7 Manipulador de grabado. Eje vertical. Electroválvula biestable. Orden de subir %Ql.0 Manipulador de carga. Ventosa sujeción pieza. Electroválvula monoestable. Sujeción pieza %Ql.1 Motor cinta palets %Q2.0 Motor cinta piezas %Q2.1 Piloto de señalización amarillo %Q2.2 Piloto de señalización verde %Q2.3 Piloto de señalización azul %Q2.4 Piloto de señalización rojo %Q3.0 Piloto rojo de señalización integrado en el pulsador de PARO %Q3.1 Piloto verde de señalización integrado en el pulsador de MARCHA %Q3.2 Piloto rojo de señalización integrado en el pulsador ACK %Q3.3 Piloto verde de señalización integrado en el pulsador AUXILIAR S20 %Q3.4 Piloto verde de señalización integrado en el pulsador AUXILIAR 521 %Q3.5 Piloto verde de señalización integrado en el pulsador AUXILIAR 522 %Q3.6 Piloto verde de señalización integrado en el pulsador AUXILIAR 523 %Q3.7 Piloto verde de señalización integrado en el pulsador AUXILIAR 524 %Q4.0 Piloto verde delpanel Guía Gemma del Simulador 3D que indica Estado Al activo %Q4.1 PilotoverdedelpanelGuía Gemma del Simulador 3Dqueindica EstadoA2activo 283
  • 290.
    Unidad 8 -Guía Gemma 284 NOMBRE TIPO REGISTRO COMENTARIO H9 ESTADO A3 Bool %Q4.2 Piloto verde del panel Guía Gemma del Simulador 3D que indica EstadoA3activ0 HlO_ESTADO A4 Bool %Q4.3 Pilotoverde del panelGuíaGemma del Simulador 3D que indicaEstadoA4activa-'- - Hll_ESTADO AS Bool %Q4.4 Piloto verde del panel Guía Gemma del Simulador 3D queindica EstadoASactivo--' - H12_ESTADO A6 Bool %Q4.S Piloto verde del panel Guía Gemma del Simulador 3D que indica EstadoAG activ.._, H13_ESTADO Fl Bool %Q4.6 Piloto verde del panel Guía Gemma del Simulador 3D que indica estadoFlactivL___,, H14_ESTADO F2 Bool %Q4.7 Piloto verde del panel Guía Gemma del Simulador 3D que indica estadoF2 activr HlS_ESTADO F3 Bool %QS.O Piloto verde delpanelGuíaGemma del Simulador 3D que indicaestadoF3activr ·._,- H16_ESTADO F4 Bool %QS.1 Piloto verdedelpanel Guía GemmadelSimulador3Dqueindica estadoF4 activ0 H17_ESTADO FS Bool %QS.2 Pilotoverde del panelGuía Gemma del Simulador 3D que indica estadoFS activ�- - H18_ESTADO Dl Bool %QS.3 PilotoverdedelpanelGuíaGemmadel Simulador 3D que indica estado Dl activo--' - H19_ESTADO D2 Bool %QS.4 PilotoverdedelpanelGuíaGemmadel Simulador 3D que indica estado D2 activ,:,.../ PEDIDO ROJAS lnt %MW7002 Registro de pedido de piezas con grabado en rojo .,J PEDIDO AMARILLAS lnt %MW7004 Registro de pedido de piezas con grabado en amarillo PEDIDO VERDES lnt %MW7006 Registro de pedido de piezas con grabado en verde - PEDIDO SIN GRABADO lnt %MW7008 Registro de pedido de piezas sin grabado - PROCESADAS ROJAS lnt %MW7010 Registro de piezas procesadas de color rojo '-..../ - PROCESADAS AMARILLAS lnt %MW7012 Registro de piezas procesadas de color amarillo .,J - PROCESADAS VERDE lnt %MW7014 Registro de piezas procesadas de color verde .,J PROCESADAS SIN GRABADO lnt %MW7016 Registro de piezas procesadas de color verde .,J Carpeta Simulador 3D, tabla de variables 02 AVERÍAS. Esta tabla integra la declaración de las variables que tenemos asociadas a diferentes estados de posibles averías que se pueden originar desde el simulador 3D: - NOMBRE TIPO REGISTRO COMENTARIO AVERÍAY2 VENTOSAIZQUIERDA Bool %M7100.0 La electroválvula del desplazamiento izquierda del eje horizontal est-..J averiada AVERÍA Y3 VENTOSA DERECHA Bool %M7100.1 La electroválvula del desplazamiento derecha del eje horizontal está- averiada AVERÍA B4 VENTOSAIZQUIERDA Bool %M7100.2 El detector izquierdo del eje horizontal está averiado AVERÍAB3 VENTOSA DERECHA Bool %M7100.3 El detector derecho del eje horizontal está averiado AVERÍAYl BAJAR VENTOSA Bool %M7100.4 La electroválvula del brazo vertical está averiada '-../- - AVERÍA Bl VENTOSAARRIBA Bool %M7100.S El detector de arriba del brazo vertical está averiado .,J - AVERÍA B2 VENTOSAABAJO Bool %M7100.6 El detector de abajo del brazo vertical está averiado '-../ AVERÍA YS MULTIPOSICIONAL Bool %M7100.7 El detector de atrás del multiposicional pequeño está averiado .,J PEQUEÑO - AVERÍA BS_MULTIPEQUEÑO Bool %M7101.0 El detector de atrás del multiposicional pequeño está averiado J DENTRO AVERÍA BG_MULTIPEQUEÑO FUERA Bool %M7101.1 El detector de delante del multiposicional pequeño está averiado - - AVERÍA YS MULTIPOSICIONAL Bool %M7101.2 La electroválvula del multiposicional grande está averiada ---.1 GRANDE AVERÍA B7 MULTIGRANDE DENTRO Bool %M7101.3 El detector de atrás del multiposicional grande está averiado AVERÍAB8 MULTIGRANDE FUERA Bool %M7101.4 El detector de delante del multiposicional grande está averiado '-'- - AVERÍA Y7 BAJAR MARCADOR Bool %M7101.5 La electroválvula de bajar marcador está averiada ---.1 - AVERÍAY8 SUBIR MARCADOR Bool %M7101.6 La electroválvula de subir marcador está averiada '-' - AVERÍA B9 MARCADOR ARRIBA Bool %M7101.7 El detector de arriba del marcador está averiado '-' AVERÍA BlO MARCADOR ABAJO Bool %M7102.0 El detector de abajo del marcador está averiado .,J 11
  • 291.
    ' i 1 1 NOMBRE AVERÍA Y6 TOPE AVERÍAB12 TOPE ATRAS AVERÍA B13 TOPE DELANTE AVERÍA Y9 VENTOSA ALARMAACTIVA AVERÍA Y4 MULTIPOSICIONAL PEQUEÑO AVERÍACILINDRO HORIZONTAL AVERÍA CILINDRO VERTICAL AVERÍA VENTOSA AVERÍAMULTIPEQUEÑO AVERÍA MULTIGRANDE AVERÍA MARCADOR AVERÍATOPE TIPO Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Unidad 8 - Guía Gemma REGISTRO COMENTARIO %M7102.1 La electroválvula del tope está averiada %M7102.2 El detector de atrás del tope está averiado %M7102.3 El detector de delante del tope está averiado %M7102.4 La electroválvula de activar la ventosa o el sensor de vacío está averiado %M7102.S Indica que hay alguna avería %M7100.7 El detector de atrás del multiposicional pequeño está averiado %M7102.6 Cargador. Indica que hay avería en cilindro horizontal %M7102.7 Cargador. Indica que hay avería en cilindro vertical con ventosa %M7103.0 Cargador. Avería en ventosa %M7103.2 Grabador. Avería en cilindro multiposicional pequeño %M7103.3 Grabador. Avería en cilindro multiposicional grande %M7103.1 Grabador. Avería en cilindro marcador %M7103.4 Grabador. Avería en cilindro tope ' • Señalización luminosa ., 1 1 1 ' ) ' ' ' , Recuerda • • • ' Es muy importante que -, el operario de la máquina reconozca la visualización de los ---. diferentes estados en los que se pueda 1 encontrar el proceso. El proceso dispone de una baliza de señalización con cuatro pilotos para indicar diferentes estados del mismo. A medida que se vayan utilizando en el programa, asignaremos la siguiente función de señalización: Piloto Rojo Amarillo Verde Azul Rojo Registro asociado Q 2.4 Q 2.1 Q 2.2 Q 2.3 Q 2.4 Funcionamiento Permanente Intermitente Permanente 1ntermitente Permanente Intermitente Permanente Intermitente Intermitente Estado del proceso sei'ializado Proceso en el estado inicial (Al) (Rápido Clock 2,5 Hz) Estadode emergencia (Dl-A5 - A6) (Lento Clock 1 Hz) Diagnóstico de alarmas (D2) -------1 Mando manual (F4) Disyuntores magnetotérmicos disparados ( Preferencia respecto a F4) Proceso en estado de producción normal (F1) (Lento Clock 1 Hz ) Marcha de preparación (F2) (Rápido Clock 2,5 Hz) Pedido de piezas acabado (Preferencia respecto a F1 ) Proceso en modo paso a paso (F5) (Lento Clock 1 Hz) Parada solicitada a un estado determinado (A3) (Rápido Clock 2,5 Hz) No hay pieza esperando en tope Parada solicitada a final de ciclo (A2) Marcha de cierre (F3) 285
  • 292.
    Unidad 8 -Guía Gemma Fig. 8.2c 286 8.2 Programación en Grafcet (VII) Vamos a aplicar la guía Gemma sobre un funcionamiento completo del proceso representado en el simulador 3D. Para ello, lo primero que haremos será diseñar el Grafcet del estado Fl que correspondería a la Producción normal, lo que en la mayoría de casos consideremos como funcionamiento automático. A partir de este estado Fl iremos añadiendo el resto de estados de la guía Gemma de forma sucesiva explicando los cambios a realizar, de forma que en el último apartado tengamos el programa completo que contemple la mayoría de los estados de la guía. 8.2.1 Guía Gemma del Estado F1 (Producción normal) Presentaremos una posible solución, lo que no significa que sea la única, ya que podríamos conseguir el mismo funcionamiento con otras estructuras para el desarrollo del estado Fl. Para esta solución se han desarrollado tres Grafcet: - Grafcet de los manipuladores de grabado y de carga. - Grafcet del motor de la cinta transportadora de palets. - Grafcet del motor de la cinta transportadora de piezas. A continuación, se indica el enunciadodel funcionamiento de cada una de las secuencias en las que hemos subdividido el proceso. • Condiciones de funcionamiento • CONDICIONES DE LOS MANI PULADORES DE GRABADO Y DE CARGA: Alponerenmarchael sistema, se activará la etapa inicial y, si también están activas las etapas inicialesde los Grafcet de losmotores, entraráen funcionamiento el piloto rojo. El sistema deberá cumplir unas condiciones iniciales antes de arrancar el funcionamiento del ciclo: - El cilindro vertical del manipulador de carga que incorpora la ventosa se debe encontrar en la posición de reposo (arriba). - El cilindro del eje horizontal del manipulador de carga que desplaza a la ventosa se debe encontrar en la posición de reposo (derecha). - No debe haber ninguna pieza sujeta en ventosa del manipulador de carga. - El cilindro multiposicional pequeño del manipulador de grabado se debe encontrar en la posición de reposo (atrás). - El cilindro multiposicional grande del manipulador de grabado se debe encontrar en la posición de reposo (atrás). - El cilindro marcador del manipulador de grabado se debe encontrar en la posición de reposo (arriba). - El tope de la cinta transportadora de piezas se debe encontrar en la posición de reposo (atrás). J
  • 293.
    ' ' ' ) 1 ) ' ' ) ' Recuerda • •• Es importante conocer con detalle, en primer lugar, todas las condiciones de funcionamiento que deberá cumplir el proceso. Unidad 8 - Guía Gemma - Al accionar el pulsador de marcha y, si se cumplen las condiciones iniciales, se activarán de forma simultánea las dos ramas del Grafcet, la del funcionamiento del manipulador de grabado y la del manipulador de carga. MANIPULADOR DE GRABADO: Al arrancar el ciclo de funcionamiento del manipulador de grabado se deberán tener en cuenta los tres casos siguientes: - Secuencia 1: que no haya ninguna pieza situada en el tope de la cinta de transporte y se haya realizado el pedido, en el panel Registros de contaje y pedidos, de los tres tipos de piezas (rojas, verdes y amarillas) a marcar que se desean fabricar en el simulador 3D. - Secuencia 2: que haya finalizado por completo el pedido realizado. - Secuencia 3: que no se disponga de ninguna pieza situada en el tope de la cinta de transporte. - Secuencia 1 Si existe pedido de los tres colores, primero realizará todas las piezas con el marcado de color rojo. Cuando finalice, realizará las de color verde y cuando haya finalizado el pedido de marcado en verde, realizará las de color amarillo. En el caso de que el pedido que se haga no sea completo, es decir, que sea de uno o dos colores, el proceso seguirá el mismo orden de colores indicado anteriormente para evitar realizar aquellas de las que no existe pedido. En cualquier caso, la secuencia de trabajo del manipulador de grabado será la siguiente: - Si la pieza del pedido es roja: • El cilindro marcador avanzará hasta alcanzar la posición inferior. • Cuando el cilindro marcador se encuentre en la posición de avance (inferior), este retornará a la posición de reposo (superior). • Cuando el cilindro marcador se encuentre en la posición de reposo (superior), el cilindro multiposicional pequeño avanzará. También avanzará el cilindro multiposicional grande y además se contabilizará en el registro correspondiente la pieza marcada roja. • Cuando los dos cilindros multiposicionales se encuentren en la posición de avance (fuera), el cilindro marcador deberá estar situado sobre la pieza y, por tanto, avanzará hasta alcanzar la posición inferior. En ese momento quedará marcada la pieza con el color rojo. • Cuando el cilindro marcador se encuentre en la posición de avance (abajo), retornará a la posición de reposo (superior). • Cuando el cilindro marcador alcance la posición de reposo (arriba), tanto el cilindro multiposicional pequeño como el grande retrocederán su posición a la de reposo (atrás). • Cuando el cilindro multiposicional pequeño y el grande hayan alcanzado la posición de reposo, se activará el conjunto cilindro-tope, el trasero avanzará y el delantero retrocederá, de modo que, con la cinta trasportadora en funcionamiento, arrastrará la pieza hacia la posición del manipulador de carga. 287
  • 294.
    Unidad 8 -Guía Gemma 288 • Al alcanzar la pieza la posición final del recorrido de la cinta transportadora, quedará posicionada justo debajo del cilindro de la ventosa, el conjunto cilindro-tope volverá a su posición y la cinta de piezas arrastrará la nueva pieza a la zona de marcado. - Si la pieza del pedido es verde: • El cilindro multiposicional grande avanzará hasta alcanzar la posición de avance (fuera). • Cuando el cilindro multiposicional grande se encuentre en la posición de avance (fuera), el cilindro marcador avanzará hasta alcanzar la posición inferior. • Cuando el cilindro marcador se encuentre en la posición de avance (inferior), retornará a la posición de reposo (superior). • Cuando el cilindro marcador se encuentre en la posición de reposo (superior), el cilindro multiposicional pequeño avanzará y además se contabilizará en el registro correspondiente la pieza marcada verde. • Cuando el cilindro multiposicional pequeño se encuentre en la posición de avance (fuera), el cilindro marcador deberá estar situado sobre la pieza y, por tanto, avanzará hasta alcanzar la posición inferior. En ese momento quedará marcada la pieza con el color verde. • Cuando el cilindro marcador se encuentre en la posición de avance (abajo), retornará a la posición de reposo (superior). • Cuando el cilindro marcador alcance la posición de reposo (arriba), tanto el cilindro multiposicional pequeño como el grande retrocederán su posición a la de reposo (atrás). • Cuando el cilindro multiposicional pequeño y el grande hayan alcanzado la posición de reposo, se activará el conjunto cilindro-tope, el trasero avanzará y el delantero retrocederá, de modo que, con la cinta trasportadora en funcionamiento, arrastrará la pieza hacia la posición del manipulador de carga. • Al alcanzar la pieza la posición final del recorrido de la cinta transportadora, quedará posicionada justo debajo del cilindro de la ventosa, el conjunto cilindro tope volverá a su posición y la cinta de piezas arrastrará la nueva pieza a la zona de marcado. - Si la pieza de pedido es amarilla: • El cilindro multiposicional pequeño avanzará hasta alcanzar la posición de avance (fuera). • Cuando el cilindro multiposicional pequeño se encuentre en la posición de avance (fuera), el cilindro marcador avanzará hasta alcanzar la posición inferior. • Cuando el cilindro marcador se encuentre en la posición de avance (inferior), retornará a la posición de reposo (superior). • Cuando el cilindro marcador se encuentre en la posición de reposo (superior), el cilindro multiposicional grande avanzará y además se contabilizará en el registro correspondiente la pieza marcada en amarillo. ■ Cuando el cilindro multiposicional grande se encuentre en la posición de avance (fuera), el cilindro marcador deberá estar situado sobre la pieza y, por tanto, avanzará hasta alcanzar la posición inferior. En ese momento quedará marcada la pieza con el color amarillo. ·-J ,... ,/
  • 295.
    ' ' 1 ' 1 ' ' ' ' ' ' ' ' 1 ' Unidad 8 -Guía Gemma • Cuando el cilindro marcador se encuentre en la posición de avance (abajo), retornará a la posición de reposo (superior). • Cuando el cilindro marcador alcance la posición de reposo (arriba), tanto el cilindro multiposicional pequeño como el grande retrocederán su posición a la de reposo (atrás). • Cuando el cilindro multiposicional pequeño y el grande hayan alcanzado la posición de reposo, se activará el conjunto cilindro tope, el trasero avanzará y el delantero retrocederá, de modo que, con la cinta trasportadora en funcionamiento, arrastrará la pieza hacia la posición del manipulador de carga. • Al alcanzar la pieza la posición final del recorrido de la cinta transportadora, quedará posicionada justo debajo del cilindro de la ventosa. El conjunto cilindro tope volverá a su posición, haciendo que la cinta de piezas arrastre a la nueva pieza a la zona de marcado. - Secuencia 2: - El hecho de que el número de piezas del pedido coincida con el número de piezas procesadas se puede observar en dos situaciones: • Que haya finalizado el pedido realizado. • Que se haya puesto en marcha el proceso sin realizar un nuevo pedido. En cualquier caso, se activará de forma intermitente el piloto verde. - Para que el sistema pueda realizar un nuevo ciclo, se deberá accionar el pulsador RESET, con lo que los registros de contaje de piezas pedidas se pondrán a cero. A partir de ese momento será necesario realizar un nuevo pedido de piezas en el panel Registros de contaje y pedidos, y a continuación accionar el pulsador ACK. Entonces se podrá iniciar un nuevo ciclo. - Secuencia 3 - En el caso de que no haya finalizado el pedido y no tengamos piezas en la cinta transportadora, el piloto azul funcionará de forma intermitente. Para que el sistema recargue nuevas piezas en la cinta transportadora, deberemos accionar el botón amarillo INICIALIZAR del panel del simulador 3D. Volverán a aparecer piezas en la cinta y, a continuación, se deberá accionar el pulsador ACK. MANIPULADOR DE CARGA: Cada vez que se detecte una pieza bajo el cilindro vertical de la ventosa en zona de carga, tendrá lugar la siguiente secuencia: • El cilindro vertical asociado a la ventosa descenderá hasta alcanzar la posición de avance (abajo). • Cuando la ventosa alcance la posición de avance (abajo), se activará el vacío de la ventosa para sujetar la pieza. • Cuando la pieza esté sujeta, se activará el detector de vacío, momento en el que el cilindrovertical de la ventosa con la pieza sujeta se trasladará a la posición de reposo (arriba). • Cuando el cilindro vertical de la ventosa haya alcanzado la posición de reposo (arriba), ese mismo cilindro vertical se desplazará hacia la izquierda trasladado por el cilindro del eje horizontal. 289
  • 296.
    Unidad 8 -Guía Gemma 290 • Cuando el eje horizontal haya alcanzado la posición de la izquierda, y si se detecta palet en zona de descarga, el cilindro vertical de la ventosa descenderá hasta la posición de avance (abajo). • Cuando el cilindro vertical de la ventosa haya alcanzado la posición de avance (abajo), momento en el que se situará sobre el palet, se desactivará el vacío de la ventosa para dejar caer la pieza en el palet. • Cuando se haya dejado la pieza encima del palet, el detector de vacío se desactivará y en ese momento el cilindro vertical de la ventosa recuperará su posición de reposo (arriba). • Cuando el cilindro vertical de la ventosa se encuentre en reposo (arriba), el cilindro del eje horizontal desplazará el cilindro de la ventosa hacia su posición de reposo (derecha). • Cuando el eje horizontal alcance su posición de reposo (derecha), se da por finalizado el ciclo de funcionamiento. • CONDICIONES DE LA CINTA TRANSPORTADORA DE PIEZAS: Para que pueda funcionar la cinta transportadora de piezas ha de ocurrir lo siguiente: - Hemos de accionar el pulsador de marcha, además de comprobar que no haya ninguna pieza al final del recorrido de la cinta transportadora de piezas, es decir bajo el cilindro vertical de la ventosa y además que el disyuntor del motor se encuentre rearmado. - Elmotorse detendrá siempre que sedetecteuna pieza al final del recorrido de lacinta transportadora depiezas, esdecir, bajoelcilindroverticaldelaventosa. - Si se dispara el disyuntor magnetotérmico, el motor se detendrá, lo cual se indicará al mismo tiempo con el piloto amarillo deforma intermitente. Cuando rearmemos el disyuntor, el motor volverá a funcionar y el piloto se apagará. • CONDICIONES DE LA CINTA TRANSPORTADORA DE PALETS: Para que pueda funcionar la cinta transportadora de palets, ha de ocurrir lo siguiente: - Hemos de accionar el pulsador de marcha, además de comprobar que no sedetectapaletalguno en la zona de descarga y que el disyuntor del motor se encuentre rearmado. - El motor se detendrá siempre que se detecte una palet en la zona de descarga. - Si se dispara el disyuntor magnetotérmico, el motor se detendrá y el piloto amarillo lucirá de forma intermitente. Cuando rearmemos el disyuntor, el motorvolverá a funcionar y el piloto se apagará. • Diseño del Grafcet del Estado Fl Como se ha comentado anteriormente, para dar solución estructurada al Estado Fl se ha realizado el diseño de tres Grafcet: • GRAFCET DE LOS MANIPULADORES DE GRABADO Y DE CARGA: Este Grafcet se ha diseñado a partir de una combinación de estructuras de selección de secuencia y bifurcación en Y o trabajos paralelos, pero no deja de J
  • 297.
    ' ' ' ' ' ' ' Unidad 8 -Guía Gemma ser una propuesta de solución. No es la única, ya que se puede optar por una solución basada en los Grafcet paralelos sincronizados. Hay selec:donadas piezasrojas, noha acabadoel pedidoy hey pieza en tope ( 12.3 • MN7002> MW70líl) N Q0.6 B!¡a marcador MS.3 N Q0.7 ""'"''"'"°' MS.4 Q0.4 Salemulti wr,cle Q0.3 Sale mul11 pequef'io N CU ROJAS Contaje derojas ""·' ElmUtl pe� estafueray el mulu grande Hta ruera ( 11.1 • 113 ) M<.O .ll.,;:do,w- P'Jsadoc de mardvi yventosa esú arriba,wnc:osaestá enderecha. mulll � eslá atrás, mulll � ndi atrás. mscedotesul .,.-iba, tope est61c:r6sy nohey p1eza$U)etaporvent0&a. ( t0.2 º 1Q4" I0.6 • 11.0 • 11.2• 11.4• 12.1 •iui ) Hit(sele«10f'eda1piezasverdes. noha � el pedido y ha acabado pedl!XI deph!zasrojasyhayp¡u,, en tope ( 12.3 •MW� > MN70l4'MW7002'­ MW7010 ) s Q0.4 Sele mJt1 grande El mullí peqodloestafuera { ll. l ) M5.7 1-ey seleccionadas piezas emanllas. no ha acabadoel pe<ido y ha acabado ped-do de pllllS rejas y de piU!IS ver�y hey piua eri tope ( l23 • MW70'J4> MW7012 • lvfN70CJ2- MW7010 • MW70Ch MW7014J s Q0.3 Sale mulll pequeflo N CU/AMARILLAS C,ontBje emarlllas El mu111 ivarde estefuere( 11.3) Haacabodolospedldosde piezasrojas, verdesy amarlhs (( MJ.'7002• M.'.'7010) • {MW7004• fl..fN7012) • (MW7006• MW7014)) Ooó._2.SHt ( WBl.91.2 ) Fig. 8.3 NO My pk!za bejobrazo ( 12S) ""' MI.O M7.1 M7.2 M7.3 M7 4 M7.5 N Q0.2 Ventosa hedaderecha Laventosa esta en la derecha( 10.6 ) • GRAFCET DE LA CINTA TRANSPORTADORA DE PIEZAS: Este sencillo Grafcet está formado por una secuencia simple de dos etapas que cubre las condiciones del funcionamiento dado. 291
  • 298.
    Unidad 8 -Guía Gemma Recuerda • • • Cuando el proceso es complejo, resulta muy útil descomponerlo en diferentes pequeños problemas para poder resolver cada problema con su diseño Grafcet correspondiente. 292 M8.0 M8.l Accioo¡r pulsador de marcha v NO hay pieza en tope o etapa X50 actíva y disyuntor estarearmado ( (I0.2 • ii:'ift MS.0) • 12.7) 0lsyuntor re.i,rmado (l2.7) t«: Q2.0 �ntordlsparadoy Oock_lHz (12.7 ºM 191.5 ) Funciona motor piezas NC Q2.l Pilotoamarllo Se par.J motorpleus El motorpalet esta parado ( WJ Fig. 8.4a • GRAFCET DE LA CINTA TRANSPORTADORA DE PALETS: Este sencillo Grafcet está formado por una secuencia simple de dos etapas que cubre las condiciones del funcionamiento dado. MS.2 Accionar pulsador de marcha y NO hay palet en zona de descarga o etapa X75 activa o etapa X71 activa y NO hay palet en zona de descarga y disyuntor esta rearmado( (10.2 •"ii':4) + (M7.5 ) +(M7.l •12Au- 13.0 M8.3 M8.4 Disyuntor rearmado (13.0) NC Ql.1 Funciona motorpalet NC Q2.l Piloto amarillo Fig. 8.4b Disyuntor disparado y Clock lHz (8.o•MS19l.S ) - • Programa del diseño Grafcet correspondiente al estado F1 Estos tres Grafcet que pertenecen al Estado Fl los programaremos teniendo en cuenta el siguiente criterio: En el OB30 programaremos los códigos para que PLCSIM pueda acceder a la maqueta virtual. - En el OB100 programaremos la inicialización de los tres Grafcet. - El programa para la activación de las etapas lo programaremos en el FC9, bloque con el símbolo Fl PRODUCCIÓN NORMAL. - La programación de las salidas la realizaremos en el FC20, bloque con el símbolo S_SALIDAS. - La programación de los temporizadores la realizaremos en el FC21, bloque con el símbolo denominado T_TEMPORIZADORES. - La programación de los contadores la llevaremos a cabo en el FC22, bloque con el símbolo Z_CONTADORES. Por tanto, para poder probar el funcionamiento del Estado Fl, hemos de realizar las siguientes llamadas desde el OB1: o FC9 PRODUCCIÓN NORMAL. o FC20 S_SALIDAS. -....,· -.. __. .'-'
  • 299.
    ' " '1 ' ' ' " ' ' ' ' 1 , l í l l " 1 ' Recuerda •• • Es importante introducir en el bloque de programa OB30 los tres segmentos indicados en el texto, ya que es la configuración para que el programa cargado en el PLCSim pueda establecer comunicación con el Simulador 3D. Unidad 8 - Guía Gemma o FC21 T_TEMPORIZADORES. o FC22 Z CONTADORES. Programa del bloque de organización Cyclic interrupt {OB 30) Para una correcta conexión entre el simulador 3D y el simulador de TIA Portal PLCSim, es necesario que en el bloque de programa llamado Cyclic interrupt, que corresponde con el 0830, se introduzca el siguiente programa: M)V' --------- EN v.t:>7604 ..04 ·c001Go_12· IN "EN1RAOAS2 � oun · PU.- 'JiM:>7804 IN 41 oun - "COOIGO_Q2" M>VE .........., q OUT1 - "COOIGO_Ml.8 Fig. 8.5 Fig. 8.6 Fig. 8.7 Los diferentes términos que corresponden a las marcas, entradas y salidas utilizados para la carga de unos valores no se podrán utilizar en el programa, ya que ocasionaría una modificación en los valores cargados desde el 0830 y provocaría la pérdida de comunicación entre el simulador 3D y el simulador de TIA Portal PLCSim. Programa del OB100 En el 08100 programaremos la inicialización de las etapas marcadas con doble cuadrado y resetearemos el resto de las etapas. 1 -rp l__________-----iu ::� . "'ETAPA 41" (IESET_BF f-, 30 Í�p- L_------iu=- "'ETAPA 80- ( IESET_BF r Fig. 8.8 1 - rp l_____________,u :'.· _ "ETAPA S)" (RESET_•• r Fig. 8.10 Programa del FC9. Fl_PRODUCCIÓN NORMAL. Fig. 8.9 En el bloque FC9 programaremos la activación de las etapas queharán evolucionar al Grafcet de producción normal. 293
  • 300.
    Unidad 8 -Guía Gemma • Segmento 1: Klll'l,QÓtf Ol [WA◄1 Y ot LAEWA65 Y DBAClll'AOÓN Ol LAS fW.a.40 ...., •s2_t.tAACHA." ..... "B1_a0 VENTOSA ARRIIA" ..... "B3_b0 VENTOSA DERECHA" ..,.o "B5_ct> MULTI PEQUE.�O DENlllCt '111.2 "87_d0 MULTI GRANDE DENlOOº '112.1 "B12_g0 TOPE AllvSº '112.0 "81 1_f1 PEZA SWE.TA" W4.1 "E1Af'A 4 1 " r----vr----.---;s)------< .....o R }-- Fig. 8.11 294 • Segmento 2: AC11'V...cJÓN Dl l.A EWA◄2Y Ol5K1!Yl'LtÓN Of lAf'WA •tl __, "ETAPA 4 1 " '1123 "B1 4_PEZA EN IDPE" ..,.. "89_e0 MAACAOOR ARRIBAº ------ v.lW7002 -.2 -� °TT� tc J,S º ºETAf t� 'JIMW7010 "PROCESADAS W4.1 ROJAS" "ETAPA 4 1 " •>-- Fig. 8.12 --• "ETAPA 44" '--------------·--; ,; Fig. 8.14 • Segmento 6: ACIIVACIÓN O[ LAETAPA46YO[SACTIVACJóN OE I.AETN'A45 ---------- llM4.S º ETAPA 45º -.n.s "810_e1 MAACAOOR /Vl/VO" --• "ETAPA 46" __5 ¡S }-- L_____________ 'E T ---1 � :� Fig. 8.16 • Segmento 8: K11YAOÓN DC LA fWA 50YOfSACltVAClÓNOl 1.AU,.,,.A-47 ..,.o "BS_cO MULTI �QUEÑO DE"'1ROº '111.2 ºB7_d0 MULTI GRANDE DE"'1ROº Fig. 8.18 ..,5 "81 6_PIEZA BAJO VENTOSA" 'IMS.O "ETAPA so· 1/11-----,G .------------i. >--- -.7 ºETAPA 4T R )-- • Segmento to: AC'IIVAC.IÓNOE lA flAl'A 52 YOESAC11V#IOÓ ;;: N "' O "- n = A •w = " '-' '---------- v.1:5.1 "ETAPA 51 " '112.1 "B1 2 _g0 TOPE AlAASº ºT1 º .Q 1 Fig. 8.20 ..,.5.2 "ETAPA 5 2 " ¡ S }-- 'IMS.1 L-------- •• - T� A� • Segmento 3: ACIIVACIÓN Of lJl.lWA43Y DlS/ICRV _ ""6N _ � O _ f ..c. <A _ fWA -'----- •2 __________ -' '1115 ·s1 o_e1 MAACAOOR /Vl/VOº '™4.3 "ETAPA43" __, ; s }-- �------------ º E --- T �� Fig. 8.13 • Segmento5: AC1'VACJÓNDE V.fTAPA 4 5 Y OlSACTIVICJÓN Of l/l EWA"◄ �---------� --• "ETAPA44" '111.1 "86_c1 MULTl �QUEÑO FUERA" %11.3 "B8_d1 MULTI GRANDE FUERAº Fig. 8.15 llM4.S "ETAPA.45" ; S }-- 'JIMl.4 �-------·,__, w:;::_ • Segnwmto 7: AC'INACIÓH DE LA EWA ◄7 Y DE!>AC'!IVACIÓN DE LAEWA46 ......6 ºETAPA 46º ..,.s_o "ETAPA so· '1111.4 "89_e0 MAACAOOR ARRlBAº '112.2 º B1 3_g1 ID� DELANTE" -.7 ºETAPA 47" ......6 ¡S }-- �------------ ºE T --1 � :;_ Fig. 8.17 '1125 "B1 6 _ PIEZA BAJO VENTOSA" Fig. 8.19 IIJll.15.1 "ETAPA Sl" ¡S }-- """S-0 - ------ - •E T ...., � A ;_ • Segmento 1 1, ,C,VAQÓN O[ uHWA5' Y O<SAC.11VAOÓN Of lAfWA<1 ---··-�-- _ - _ - _ - _ - _ - _ - _ - � ' __, "ETAPA 4 1 " ""2.3 "814 PIEZA EN ro�· WW7006 WW7002 'IMS3 - � o r.� �f- l RD - ES _ º ---�-º...,f;rl -�;'.___ 'JWIW7014 WW7010 "PROCESADAS "PROGSADAS v..14.1 VE.ROE" ROJAS" "ETAPA4 1 " •>-- Fig. 8.21 -�
  • 301.
    1 ) ' ' ' ' ¡ ' ' ' ' ) ' ' '1 1 ' • Segmento 12:ACTI'v..ClÓN OE LAET.VAS4Y OESAC111 _ H>Ó _ N _ o _ ,_ .. _ ,w _ ,_ ,, __________ � v.45.3 • rrAPA 53" '1111.3 · ea_d1 MULTI GRANDE FUERA" W5.4 "ETAPA 54" .....5.3 ;s )----, ._____________ "E T --1 ': A � Fig. 8.22 • Segmento 1.t: ACmlACIÓN OE l.A ETAl'"S6 YOESAC.'ffYAOÓMOE lAETAl"ASS _______ .....S5 "ETAPA SS" __, "ETAPA41" 'JY1.4 "B9_eo MNKNXJR AAAJJA" .....S.6 "ETAPA56" W55 ; s )----, ._____________ •n --1 -: A � Fig. 8.24 m.3 WW7004 "81 4_PEZAEN "PEOOO WW7006 -.r.MW7001 'JIMS.7 10f'E" M4AAILI.AS' ' ProOO VERDES' 'PEOCIO ROJM' 'ETAPA 5T ��.�;,��;,��·l-- 'IMW7012 WW7014 v.tW7010 'PROCESNJAS "PPOCESAOAS "PPOCESADAS W4.1 AMAAI..LAS' VERDE" ROJAS" "fTAPA41' •1-- Fig. 8.26 • Segmenlo 18: AClltN3ÓNOE LAEWA61 Y DESAClll/"JOÓNDE LAEW _ ,.., __________� 'IM6.0 "ETAPA 60" '11115 "81 0_e1 MNKNXJR ABAJO" 'IM6.1 "ETAPA 6 1 " W6.0 ; s )----, ._____________ ·n --1 � :� Fig. 8.28 • Segmento 20: AClll/'.-.oóN ot: LAElJIJ'A45 VOfSN:l!V _ AOó _, _ Df _ lA _ fW _ A_ <,__________ '1111.3 ·ea_dl Mut.11 GRNOE FUEP.A" 'IM45 "ETAPA 45" .....6.2 : s )----, ._____________ •n --{ � A � Fig. 8.30 Wl.l 'IMW7012 WW7014 WW10l0 ·ss_FVLSAOOR "PPOasADAS 'PIOCES},[)AS 'PROC:'ESAOA.S 'JliM4.1 Nr AMAAl..lAS' IEROE" ROJAS" ·aAM.41" ����;,-;�;,�t•l-- 0 O O 'IM6J "ETAPA.63· •1-- Fig. 8.32 Unidad 8 - Guía Gemma • Segmento 13: ACllliAOÓN OE lAEWA SSY OES' -' NJrV = AOó = •..c. o• c..c "' c.c'c . . "' ..c.• � ·� ·----------- '11115 "81 0_e1 MNKNXJR ABAJO" .....55 "ETAPA SS" WS.4 ;s )----, ._______________ " ET --l � A � Fig. 8.23 • Segmento 1S: AC11V.i,CJÓN 0f LA ff,0.,A4S Y OESACn"J �H:. = 'º" -'-º '--- '-'- lA � ·� "' - ' s " .�---------� .....5.6 "ETAPA 56" "111.1 "B6_c1 MUlll PEQUEÑO FUERA" .......s "ETAPA45" 'IMS.6 ; s )----, ._______________ • n ---{ -: A � Fig. 8.25 • Segmento 17: Aa111AOÓNOE L-'I EWA60 DESK11'11ACÑ5N DE _ tA _ , _ ,,, _ . _ ,_ , ----------� .....5.7 "fTAPA ST ..,.1 "B6_c1 MUI..TI PEQUE�O FUERA" .....6.0 "ETAPA 60" 1M5.7 :s )----, ._____________ •n --l � A � Fig. 8.27 • Segmento 19: N:mo'AOÓN OE LAEWA62 Y DeSACniA0ÓN Of LA ETAPA61__________� W6.1 "ETAPA 61 " .., .4 "B9_e0 MNKNXJR -· .....6.2 "ETA!'A62" 'IM6.1 ; s )----, ._______________ ·n ---< �� Fig. 8.29 • Segmento 21: ACllV.AOÓNOf lAfWA_ ... _ v_ o,_ s""1N __ _ _ __ o, _ tA _ fW _ . _ ,_ , ----------� 'IM4.1 •fTAPA 41 " Fig. 8.31 • Segmento 23: ACTIIAOÓN DE LAEWA64'f 0ESK1N _ iioó _ , _ D< _ tA _ ew _ ._ ,,_______ 'IM4.1 •fTAPA 41 " '1112.3 "81 4_PEZA EN IDPE" 9A6.4 "ETAPA. 64" 1;1�--------1 :S )----, .......1 ._____________ · n --1 ';� Fig. 8.33 295
  • 302.
    Unidad 8 -Guía Gemma 296 • Segmento 24: 'IM6.4 "ETAPA 64" !113.1 "S5_PU.SAOOR "º' 'IIMS.1 "ETAPA 51" 'IM6.4 ;S }-- '------------- -E--I TAP :� Fig. 8.34 • Segmento 26: AC'J!Vl,(JÓr-t Of LAEWA67_ Y_ o, _ •= __ NJÓ � No _ ,� LA _ , _ ,,, _ , _ .. _________ '!IM6.6 'ETAPA 66' • Segmento 28: 'IIM7.0 "ETAPA.70" '111()5 "B2_a1 VENTOSA ABNO' '110.4 "B1_a0 VEtfTOSA ABRl!A' 9.46.7 'ETAPA 6r �6.6 ¡S }-- '------------- 'ET --l � A � Fig. 8.36 W7.1 "fTAPA 71 " ; S }-- 19,17.0 '------------- - E --I T': A � Fig. 8.38 • Segmento 30: ACJIVAOÓNDl LAE:TN'r.73YOESH'..WAOÓ,.OlLAf.T#'A? ~ '---�- �-•-~ - ---- 'IIM72 'ETAPA 72' '1105 ·s2_a1 VEtfTOSA ABNO' Vd7.3 'ETAPA 73' ;S }-- 'IIM7.2 '---- - -------- 'ET --1 -: A ;_ Fig. 8.40 • Segmento 32: N,'.Jl'll,;oór, ol lAlWA75YOESACl!VAOÓNDf: LAtTN'A74 ._________ v.17.4 'ETAPA 74' '110.4 'Bl_aO VENTOSA ARRIBA" 'IIM7.5 "ETAPA 75" '.S }-- L._____________ •_ •9;� Fig. 8.42 • Segmento 33: AC.11VAOÓ!t Ol l.AlWA76Y OlSN::11/ACIÓN Ol lA l�7S__________� 'IIM7.5 "ETAPA75" '110.6 'B3_b0 VENTOSA DERECHA' 'W7.6 "ETAPA 76" ; S }-- 'IIM7.5 '-------------- 'E --I T ': A � Fig. 8.44 • Segmento 25: ACIIW,OÓNOl LAEWAU.YDES"'11V = "°"" =cc ºcc " ' = ·".c. "A cc • cc •_________ _ 'IIM6.5 "ETAPA 65" 'M25 'B1 6_PEZA BAJO VENTOSA" 'IIM6.6 "ETAP A 66" 'IIM6.5 ¡S }-- L._____________ . E ...J T � A� Fig. 8.35 • Segmento 27: ACIIIAOÓNDfUEWA7DYOBJCllVAOÓNDlLAEWA67 'W6.7 "ETAPA 67" 'M2.0 "B1 1_f1 PIEZA SWETA" 'JM7.0 'ETAPA 70' 1W6.7 ;S }-- '------------- ·rr ..... AP : � Fig. 8.37 .., Segmento 29: >.C.11VACIÓHOl LAITN'A72YOHAC11VACIÓN Df: LAHV'A7f 'IIM7.1 "ETAPA 71" 'JII0.7 "84_b1 VEtfTOSA IZQUEROA' 'M2.4 'B1 S_PALET CAfl.GA' Fig. 8.39 'IIM7.2 'ETAPA 72' ¡S }-- -.M7.1 '- ---- - - - 'ET --l � A� • Segmento 3'J: ACIVl,ClÓNOE LAEWA7-4YOf.S.ACTIVA0ÓNOf. LAf.WA73 '.IM7.3 "ETAPA 73" IM2.0 "B1 1 _f1 PIEZA 'iM7.4 SWETA' 'ETAPA74' l/1-------l ;S }-- 'IIM73 '------------- - E T -I AP :;_ Fig. 8.41 • Segmento 33: �ACJÓl10f. LAEWA76YOES..-.c11VltOÓNOE LAEWA.c " c..--------- � 'M0.6 'B3_b0 VEtfTOSA DERECHA' '.IM7.6 "ETAPA76" l...-----------1 -�� Fig. 8.43 • �mento 35: ""-11VAOÓl10f LAEWA61 Y-41.YDf.s.ACllVIICJÓttOE LAE1N'AS.?'1'76 'IIMS.2 'E T APA S2" 'IIM7.6 'ETAPA 76' '!IM6.5 "ETAPA65" 1-----------------a , s >-- 'IIM4.1 "ETAPA41 " 1-------------15 }-- 'IIMS.2 "ETAPA SL 1------------I R }-- '.IM7.6 "ETAPA 76" '--------------l 7 R }-- Fig. 8.45 '----'
  • 303.
    1 1 1 1 1 1 1 , , 1 1 1 1 ' Unidad 8- Guía Gemma • Segmento 36: ACTIVACIÓN OE V--fTi</>¡t&OY OESAC'lfvAOÓNOE L A nl.J';.. 11 • Segmento37: ACll,loOÓNOE I.A fT,,,A8l YDESAC'IIV _ AO _ o• _ o, _ L< _ ,,,., _ . _ .. _______� W7.7 "110.2 '!112.3 '81 4_PEZA EN TOPE• ""2.7 'Fl PROTKCION 'JIMB.O MOTOR PEZ.AS• •oAPA BO" 'JIMB.O ' [ TAPA SO' '!Y2.3 •e1 4_PIEZA EN v.48.1 TOPE' "[TAPA 81' �� 1---- l/l�------11 1 13.� P l-------- 1 �---< ;S )---, '11,1230.0 "FLANCO 1 • WS.O .___________ 'CT--(AP:� Fig. 8.46 Fig. 8.47 'loQ2.0 'JIMB.1 •ETAPA 81" •K2M_MOTOR 'fM7.7 '!112.4 "B1 5_PAI..ET U,,,:,A' '!Y3.0 "F2_ CMA P1EZAS' 'ETAPA 1r ""8.2 'ETAPA82" '!Y0.2 'S2_MAACHA' PROTECCION 'JIM83 Vl�------f ;S )---, ""8.1 �--------- 'E--I W:� MOTOR PALfTS" "ETAPA 83" G�� APA82" 'JIMB3 'ETAPA 83' '!Y2.4 '81 5_pAl.fT U,,,:,A' Fig. 8.48 ""8.4 'IM7.1 "ETAPA 7 1 " '!Y2.4 "S1 S_PALET U,,,:,A' Fig. 8.49 R )---, "' Segmento4l: ACIIVACIÓN OE LAtTAl'A82Y Of!,ACffll: _ AO _ ó _ No _ ,'-' _• _ w _ • � " -------� __. "ETAPA 84• 'loQ1.1 'K1 M_MOTOR -.2 CMA PAIET' 'CTAPA 82' P t- 1 -�-----------< ; S )---, '!IM230.1 "Fl.ANCO -r' �--------- - [T --1 :L. VI-�----------.--< ,; Recuerda • • • Se debe utilizar un bloque de programa para todas las condiciones de funcionamiento de todas las salidas, ya que, ante una avería o un incorrecto funcionamiento del proceso, supone una ayuda a la hora de diagnosticarlos y localizarlos. Fig. 8.50 Fig. 8.51 Programa del FC20 S_SALIDAS En este bloque FC20 programaremos las salidas que se tengan asociadas a cada etapa. Como ya hemos visto en capítulos anteriores, las salidas las podemos programar con instrucciones tipo bobinas. Dependiendo del tipo de electroválvula, se pueden programar con bobinas o con instrucciones SET-RESET. En esta solución hemos seguido los siguientes criterios: - Si una electroválvula es monoestable, cuando en una etapa queramos que el cilindro se mueva de su posición inicial, la marca de esa etapa activará la salida correspondiente mediante un SET, mientras que, cuando en una etapa queramos que el cilindro vuelva a la posición inicial, la marca de esa etapa desactivará la salida mediante un RESET. También se puede realizar el programa haciendo aparecer la activación de la salida correspondiente en cada una de las etapas en las que se deba mantener funcionando. En este caso se trabajaría con la activación de bobinas en lugar de con instrucciones SET/RESET. - Si una electroválvula es biestable, esto indica que trabajaremos con dos salidas: una para cada bobina de la electroválvula. Cuando en una etapa queramos que el cilindro se mueva de su posición inicial, la marca de esa etapa activará la bobina normal de la salida correspondiente y cuando en una etapa queramos que el cilindro vuelva a la posición inicial, la marca de esa etapa activará la bobina normal de la salida correspondiente. 297
  • 304.
    Unidad 8 -Guía Gemma 298 Es importante recordar que NO podemos repetir una bobina normal. En caso de necesitar que una bobina normal sea activada por más de una etapa, hay que programar en paralelo las marcas de estas etapas activando una sola bobina normal. Los contactares de los motores están considerados elementos monoestables. Por lo tanto, en esta solución los hemos programado mediante instrucciones SET y RESET. • Segmento 1: Mln,pu1adordt gr1b1do.EJt vtrtiul. El,unw11fvul1 biu11bl,. Orden de b1¡1r '!IM6.0 "ETAPA 60" • Segmento 3: Fig. 8.52 lW)0.6 "Y7_8NAR MARCAOOI!' lW)0.4 ·vs_ MULllPOSK:IONAl GRANDE" f--�-------------------lS )-----< '!IMS.3 "ETAPA 53" '!IM6.2 "ETAPA 62" ....., 'ETAPA 47" Fig. 8.54 lW)0.4 "YS_ MULTl'OSICONAL GRANDE" lW)0.3 •y4 ¡ R )-----< MU = �• NAI. '-------------------1 , R )-----< Fig. 8.56 �1- ·:_,_ ·-------------------- "Y - � -i -:� � Fig. 8.58 '!IM4.6 "ETAPA 46" '!IM55 "fTAPA SS" W6.1 "ETAPA 6 1 " '!IM4.4 "ETAPA 44" Fig. 8.53 lW)0.7 "YS_SUSI! MARCAOOI!' lW)0.3 •y4_ MULTIPOSICIONAL PEQUEÑO" f--�-------------------l S )-----< '!IMS.6 'ETAPA 56" VJl5.7 'ETAPA 57" Fig. 8.55 pl- ·� _ o·____________________ ·v --1 � � Fig. 8.57 '!IM6.6 1Q0.0 "Y1_BAJAR VENTOSA" 1- � -�-----------------t (S )-----< -�:Ll Fig. 8.59 ..J J J
  • 305.
    1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 p....·:_ r_________________ •yg _ _ 'il:l -< VE S :: � Fig. 8.60 P 'IQ0.1 ...., 1•y2_VENTOSA NA,- ·7_ 1 •_________________ A _ �-< QUE � Fig. 8.62 'IQ0.2 ...., 5 "Y3_VENTOSA NA l- ·7 _ s• _________________ A _ D -i ERE � Fig. 8.64 • Segmento 1 S: Mtrc:ha de-t motorcin1.1 pt!ets ..3.0 ºF2_ 'il:)1 .1 'IM83 PROTECCION "Kl M_MOTOR NA f-- B3 _ • __ MD _ l -l OR � f-- A!.ETS - •____________ cM -I A P� Fig. 8.66 • Segmento 1 7: lntern'1:rnc,a delpilotc de u,/1hac,6n •a.i � I ------- 1 - � 6 . 'IM8191.2 'il:)23 r A .... ·64 _ . __ •Clodt.. -< 2 >- 5 - Hz _ • ____ _____ ___ •H -1 2_"2 � Fig. 8.68 • Seg,nento 10: ....,.o ºETNA 70º Unidad 8 - Guía Gemma 'IQO.O ºYl_BAJAR VENTOSA º 7 1----,------------------;(R }------< -�� Fig. 8.61 • Segn'lénto 12: p....� 3 _ • ________________• _ yg --i _ � R :: � Fig. 8.63 .... Segmento 1-1: M11rch1 de-l motor cinu p,e:111, _____________ � '112.7 ºFl_ 'il:)2.0 'IM8 O PROTECCION º K2M_MOTOR NA >- B O _ •__ M o _ TO � R � ,-W _ •___________CM --< A �� Fig. 8.65 • Segmento 16: 1merrru�n.c,t del piloto de ,e-ll11i::a.ci6nw-rde 1 -�63 ....8191.2 'il:)2.2 � A f-- 63 _ • __ •CJoc ---t U f-- 5 - Hz _ ' ____________ •H -1 1_VE � Fig. 8.67 • Segmento 18: l'lntrrmitencia del p,loto de- te-llh11c1ón aman110 .__________ _ 'IMB.O 'ETNA BOº ....63 ºETNA 8 3 º ..,., ºF1_ PROTECCIDN MOTOR =• '13.0 'F2_ PROTECCION MOTOR P A!.ETS º 'JM8191.5 "Clodt..1 Hz' Fig. 8.69 'il:)2.1 º HO_AMARUO' Programa del FC21 T_TEMPORIZADORES Recuerda • • • Para una mayor estructuración del programa, se deben utilizar diferentes bloques, por ejemplo, uno para programar los temporizadores y otro para los contadores utilizados en el proceso. En el bloque FC21 programaremos todos los temporizadores que intervengan en la solución y que quedan representados en el conjunto de los Grafcet, En este caso solamente tenemos un temporizador que se utiliza para que el motor de la cinta transportadora de piezas pueda desplazar la pieza fuera del alcance del tope. • Segmento 1 : 1!empode po,.cicn1m,ento de- p,ez det1nte de top_ , 1__________ � '11>84 ·r,- �!�,�.s�- �- ;� _N _i �-- --------------� Programa del FC22 Z_CONTADORES Fig. 8,70 En el bloque FC22 programaremos todos los contadores que intervengan en la solución y que quedan representados en el conjunto de los Grafcet. En este caso 299
  • 306.
    Unidad 8 -Guía Gemma 300 ....., •fTN'A H" tenemos tres contadores que controlan el número de piezas procesadas: rojas, verdesy amarillas. Endondela puesta a cero se podrá realizarmedianteel pulsador de Reset en un momento determinado del proceso o bien durante el primer sean cuando el PLC pase del modo Stop a Run. _, "ftOJ.'15" CTU .. ...... "f.TN"A Sd" ..,., "VERDES" CTU .. 1----------cu o---- 1---------- cu Q ---- 'AM&.3 'JIU.6 "f1'Af>A 6r "S4_RESIT' 1-----------l 1- 1 -----, 'IM8190.0 "fWSISun" 1 Fig. 8.71 o l'V "º'" '""""1.1.AS' CTU .. 1----------cu Q ---­ """"'7012 "f'ftOCES"°/ú 'V.16.3 ,Y2.6 "tr,.,.A el' "S◄_fl:f.SIT' CV �- 1---------l f- 1 -�--- 'IW8190.0 "Fln;tSc:an' 0 - l'V Fig. 8.73 Programa del 081 iv.«i.3 'IW2.6 "fTN'l 63' "S◄_RESEr 1-----------l 1- 1 ----- '!li,l,e1,o.o "frtCScan" 1 O- l'V Fig. 8.72 Tal como hemos visto anteriormente, para poder probar el estado Fl, programaremos en el OB1 las llamadas a los FC usados. • S�mento 1: Llanudo ol/-Ccl�I Ettodo l't, l'rod _ = _ ión _ ao _ ,m _ •I��- --••--- • Segmento2: Lllomod• •l l'C20.li ;c: •li4 cc " c.._---------------' 1 "f1 PROOU�;�� NORMAL• 1 -S_:..��AS" IEN ENO -------------- IEN ENO ------------------- � EN '"T_lléMPOIUZADORES" Fig. 8.74 ;:en "Z_CONTADORES" Fig. 8.75 ENO -------------- � EN ENO -------------- Fig. 8.76 Fig. 8.77 En este apartado vamos a implementar el programa de desarrollo de la guía Gemma en los diferentes estados. Para ello, primero realizaremos los programas asociados a cada estado y, a continuación, su implementación y la comprobación de su correcto funcionamiento. La implementación de la guía Gemma la haremos en el bloque FCO 00_GUIA GEMMA. • Comprobación del Grafcet de automático FC9 Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim. A continuación, hemos de abrir el simulador 3D, que quedará como se observa a continuación. ,____ ; .J
  • 307.
    ' ' ' ' ' ' ' ) ' ) ' 1 1 Recuerda • •• El simulador 3D dispone de un panel llamado «Control del proceso», en el que se integran diferentes dispositivos que servirán para realizar distintas acciones con el fin de poner en marcha o detener el proceso. También cuenta con el panel ((Registros de pedido y contaje», que está ligado a registros del PLC para poder realizar el pedido de fabricación, así como visualizar el estado actual de la producción. Unidad 8 - Guía Gemma Marc.a)f! ae ca)iss con tres colore� Vista Jr,- Fig. 8.78 Pulsaremos el botón CONTROL PROCESO y el botón REGISTROS. Así se nos abrirán los dos paneles que necesitamos para probar el ejercicio. Control del proceso r> ; ■ ar.- tit:. 9'ERGENOA PARO f,ilAROfA AIJ':''MAN AOC Mt 11 11 11 ■ ■�· S20-H20 S2l-H21 522�22 S23-H23 S24-H24 M2 Fig. 8.79 Registros de pedido y de contaje ----� líllllllÍIIII'� Fig. 8.80 Para hacer funcionar el Grafcet F9, primero debemos indicar en el panel Registros de pedido y de contaje el número de piezas que queremos que sean marcadas en cada color. A continuación, ya podemos accionar el pulsador de marcha, con lo cual el proceso se pondrá en marcha. Cuando se hayan marcado las piezas que hemos seleccionado, el proceso se quedará en pausa esperando que hagamos el reset de los contadores. Elegiremos la nueva selección de piezas y, a continuación, con el accionamiento del pulsador ACK, se pondrá en marcha de nuevo el proceso. 8.2.2 Guía Gemma con los estados Al (Puesta al estado inicial), F1 (Producción normal) y A2 (Paro solicitado a final de ciclo) A continuación, y como primer estudio del funcionamiento de la guía Gemma, vamos a asociar el estado Fl Producción normal, programado anteriormente, con otros dos estados más, como son el Al Puesta al estado inicial y el A2 Parada solicitada a final de ciclo. Para ello, si nos fijamos en la distribución de estos tres estados en el gráfico de la guía Gemma, tenemos lo siguiente: 301
  • 308.
    Unidad 8 -Guía Gemma Al A2 Pwlda pedidt ll GENÉRICO Fl Al FCl J"""'-td.t!.,�1,)1,(k loJ.� ot A..1 ( Mot.o • t,t1 1 • w1_2 1 A2 -· FC2 APLICADO f1 ,.... pedlde el O,..,tM_., jii.i'¡ ()r,:lff> II, � ,-,- -ú � - nc, ... dww!M,. .....ltl...... MU ..... ""'"1 �-,-,..,�.,...,,......_ ffl• w.ky,,oh.,-!lki•"'f"l• - -­ l l).2 •10.,t • f0.1 • 1L0 • 1u • 11.4 • 1u •iz'.o1 mlll dalcido j+------+---1 r -l d.i ddo fo-----+-- Recuerda • • • La implementación de la guía Gemma a programa se realiza de forma similar a cuando se programa un Grafcet. 302 Fig. 8.81 Fig. 8.82 La implementación de la guía Gemma en el PLC se hace de forma similar a cuando realizamos un Grafcet. Para ello: - Asignamos una marca a cada uno de los estados. - Indicamos la transición correspondiente entre cada uno de los estados. - Cada transición realizará el SET de la marca del estado siguiente y el RESET de la marca del estado actual. - Lo que en Grafcet serían las acciones, aquí serían las llamadas a los FC de los diferentes estados. - Para poder ver reflejado el estado actual de la guía Gemma, asociamos en cada etapa una acción que corresponde con la activación de los pilotos que hay en el panel de la guía Gemma del simulador 3D. Aquí podemos ver que la guía Gemma descrita anteriormente se puede representar como un Grafcet y, por tanto, desarrollar como tal. Fig. 8.83 • Programa en el FCO GUIA GEMMA Primero haríamos el desarrollo de las transiciones. Paso de EstadoAl al EstadoFl: si secumplenlas condiciones iniciales y accionamos el pulsador de marcha, se activará el Estado Fl y se desactivará el Estado Al. J J J J
  • 309.
    ' 1 1 � ' ' • Segmento 1: wo.o • GG_ESTADOA1 " Recuerda • • • La guía Gemma se relaciona en un Grafcet, a partir del cual se derivan el resto de los Grafcet que originan el tipo de funcionamiento que en cada momento debe tener el proceso. Unidad 8 - Guía Gemma ..,_. "Bl_ao VSNTOSA ,.,...,,. Vl.6 "83_b0 VENTOSA DERECHA" ,,n.o "85_c0 MUlTI PEQUE�O DENTRCt ,.,., "B7_d0 MULTI GRANO€ DENTRO" 'Jlil1.4 "'2.1 "812_gO TOPE ATIIAS" "'2.0 "B1 1_f1 PIEZA SWETA" 'IIM0.6 "GG_ESTADO Fl" 1/11------.bi r-----ls }---< 'IIMO.O "GG_ESTAOO Al " R f-- Fig. 8.84 Paso de Estado Fl al Estado A2: si accionamos el pulsador del paro, se activará el Estado Fl y se desactivará el Estado A2. .... Segmento 2: Acir,,uiOn del Est11do�. 1'1rad1 p0!1Íod1, • ,• ~ � - '• � "- "'º �-�- f . 6 TAOO F1 " 1 ,W0.1 'JM0.1 "Sl_PARO" "GG_ESTAOO A2" l/1>-------.----------1 ;S )--, W0.6 __________._ ºº - -.... •s:� Fig. 8.85 Paso de Estado A2 al Estado Al: si están activadas las etapas iniciales de los tres Grafcet que hay en el Estado A2, se activará el Estado Al y se desactivará el Estado A2. • Segmento 3: 1,c.m- ..,11m f-it11do A1.l'arad1 •n el lstado inioat p·' 1 -� 'IIM4.0 11iM7.7 "ETAPA 7T 'IM8.2 wo.o "ETAPA 82" "GG_ESTAOO Al " �� TADO !v." R )--, Fig. 8.86 A continuación, lo que en un Grafcet serían acciones asociadas, en la guía Gemma son las llamadas a los FC que contienen el programa para los diferentes modos de funcionamiento. 1 ·ce_:° � Al . "A1 ESTADO INICIAL" 1 f--- EN ENO --------- • Segmento 5: Li.m1d1 1 11 s1Jbrvt:n1 ikl bt.doF1 1 "GG_:° � F1 • "F1 PRODUCCION NORMAL" 1 f- -- EN ENO ---------- 1 "GG_:° � A2" "A2 PARO FIN DE CICLO• 1 f-- - EN ENO ---------- Fig. 8.87 Fig. 8.88 Fig. 8.89 Tal como hemos indicado anteriormente, cuando esté activadoun estado, veremos activado un piloto en el panel de la guía Gemma del simulador 3D. p - f- ·º _ A _ 1 _ • _______________ • _ H7 _ _ ES -! � � Fig. 8.90 303
  • 310.
    Unidad 8 -Guía Gemma 304 -.3 'ETAPA 63" -.3 'ETAPA 63' 'liM0.1 "GG_ESTAOO Al" 'IIMll191.2 'Clocl(..25Hz' • Segmento 8: P1loto�rdll! en guie 9emme de m,que;o que- indica estedo f1 _ •" - '° -- P �.6 '!IM0.6 "H1 3_ESTADO TNJO t--- F1 " -----------I F1 " )----, • Segmento 9: !'i!oto wirde en guia 9emm1 de maq1.11n11 que indict enodo Al enwo p- ¡-·1 _ A2 _ "______________ _ "H_ B_ -/ � � Fig. 8.91 Fig. 8.92 Por otro lado, vamos a hacer que, en los pilotos de la baliza luminosa, se refleje el estado en el que la guía Gemma se encuentra en cada momento. Para ello usaremos el código que se indica en el punto Señalización luminosa del apartado 8.1.3. Código luminoso: • Estado Al.: el piloto rojo funciona de forma fija. • Estado A2.: el piloto verde funciona de forma fija y el piloto rojo funciona de forma intermitente (Clock 1 Hz). • Estado Fl.: el piloto verde funciona de forma fija. Respecto al piloto verde, en el caso de que coincidan el funcionamiento del Estado Fl con la indicación de que el pedido de piezas ya está completo (etapa 63 de Fl), prevalecerá esta indicación sobre la anterior. Abrimos $_SALIDAS (FC20), modificamos el segmento 16 y añadimos el segmento 19. 'IIQ2.2 "Hl_VEROE )-- ,,.,. Segmento 19: l"iloto de 1el.eli11Jc,ón roJu�------- � � Al' 'H:%1o• 11------�-------------l( )-- 'IIMJ.6 'GG_ESTAOO F 1 ' �� l- ·1_ A2 _ " __ .� --l.,;J Fig. 8.94 Fig. 8.93 En el OB1 hemos de programar la llamada al bloque FCO 00_GUIA GEMMA. Es importante eliminar la llamada al bloquedelFC9, Producción normal, yaqueahora esa llamada se realiza desde el interior de este mismo bloque FC0 GUIA GEMMA, por lo que en el segmento 1 eliminaremos el FC9 y pondremos en su lugar FCO. � EN 'OO_GUIA GEMMA" ENO ------------� Fig. 8.95 En el OB100 hemos de programar la inicialización de la guía Gemma, activando la etapa inicial y desactivando el resto. Colocamos ya 13 etapas para que estén consideradas el resto de lasetapas de la guía Gemma aunque en este momento tan solo estemostrabajando con tres estados. V V ...__,, ,,
  • 311.
    · , ' ' 1 ' ' ' ' Recuerda •• • El Estado Al es el estado de la guía Gemma que indica que el proceso se encuentra detenido en el estado inicial, mientras que en el estado Fl se representa la secuencia de funcionamiento normal del proceso. , Recuerda • • • 1 ) 1 El Estado A2 nos indicará que se ha solicitado una parada del proceso al final del ciclo actual de funcionamiento. Unidad 8 - Guía Gemma 'IIM8190.2 'IIMO.O "AlwaysTRUE" "GG_ESTAOO Al " rl-�-----------------{(s )--------, 'IIM0.1 "GG_ESTAOO Al" �---------------<( RESET_BF }---< 13 Fig. 8.96 • Programa del Estado Al. Parada en estado inicial El Estado Al Parada en estado inicial es un estado en el que el proceso se encuentra totalmentedetenido, bien sea al inicio de la puesta en marcha, dado que es la etapa inicial del Grafcet de la guía Gemma, o como en este caso se quiere representar, cuando una vez puesto en funcionamiento, se desee detener el proceso. Por tanto, este estado normalmente no tiene asociado ningún programa, sino que nos indicará que el proceso se encuentra detenido de forma estable a la espera de una orden por parte del operador. • Modificación del programa asociado al Estado Fl. Producción normal Antes de programar la guía Gemma, en la primera transición del Grafcet de Fl el pulsador de marcha y las condiciones iniciales estaban como transición. Al implementar la guía Gemma, podemos observar que para acceder del Estado Al al Estado Fl ya se han de cumplir todas esas condiciones, por lo cual no sería necesario que también estuvieran en el Grafcet del Estado Fl. En su lugar, para sincronizar el Grafcet, pondremos la marca M0.6 que corresponde al Estado Fl. M4.0 M4 1 @] M6 5 @] Fig. 8.97 De este modo, modificaremos el segmento 1 del FC9 (Estado Fl), que quedará de la siguiente forma. ..- Segroonto 1: AOIVAOÓJ'{ Of ETAPA JI Y Df lAfT.,PA 6S 'f CIESACffVAOÓN OE LAS �'r"l'A40 W4.0 4™0.6 'ETAPA 40' 'GG_ESTAOO Fl' W4.1 'ETAPA 4 1 " 1---� r-�------------!S )------, 'JIM65 1-------------1 S )------, W4.0 •rrAPA40" '------------< R )------, Fig. 8.98 • Programa asociado al Estado A2. Parada solicitada a final de ciclo En el Estado A2 Parada solicitada a final de ciclo, la guía Gemma nos indica que se ha de realizar una parada al finalizar el ciclo de funcionamiento que esté realizando la producción normal (Estado Fl). Por tanto, el Grafcet del conjunto formado por el manipulador de carga y el manipulador de grabado deberá seguir funcionando al 305
  • 312.
    Unidad 8 -Guía Gemma 306 igual que lo hacía cuando la guía Gemma se encontraba en el Estado Fl. Esto quiere '-.../ decir que el Grafcet asociado al Estado A2 será el mismo que el implementado en el Estado Fl con la siguiente modificación: El retorno que viene de la finalización del ciclo y que está conectado a la divergencia en Y hay que llevarlo a la entrada de la etapa inicial 40. M4.0 Estadofl ( M0.6 ) M41 @] M6 5 @] Fig. 8.99 Por tanto, copiaremos el Grafcet que hay en el bloque FC9 (Estado Fl) en el FC2 (Estado A2) y modificaremos el último segmento del Grafcet grabador-carga que quedará de la siguiente forma. Modificamos la última transición, de forma que cuando esta se cumpla, en lugar de activar las Etapas 41 y 65, se active la etapa 40. • Segmento 3S: ACTIVAOÓN OE lA EW ...40. Y DESACTTVACIÓN OE LAEWA 52Y76 ....5.2 •nAPA S2" 41M7.6 >-----------1 R )------, 'lM7.6 •nAPA76. '------------<• )-----< Fig. 8.100 Los otros dos Grafcet, tanto el del motor de la cinta transportadora de piezas como el del motor de la cinta trasportadora de palets, no sufren ninguna modificación. • Comprobación del funcionamiento de los estados Al, Fl y A2 Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim. A continuación, hemos de abrir el simulador 3D, que quedará como se observa a continuación. Pulsaremos los botones CONTROL PROCESO, GUIA GEMMA y REGISTROS. Con ello se nos abrirán los tres paneles que necesitamos para poder probar el ejercicio. Fig. 8.78 V V J V
  • 313.
    . , 1 i ' l l Unidad 8- Guía Gemma Control del proceso Registros de pedido y de contaje Estado de la Guia GEMMA ■r.- !Ii� �A PAltO MAROIA At.r.'IIA"' ACK Nl a ■■ ■·· Fig. 8.79 Recuerda • • • El simulador 3D dispone de un panel llamado «Estado de la guía Gemma» para poder visualizar el estado de funcionamiento actual. Recuerda • • • El estado F2 es el estado de la guía Gemma que indica que el proceso está realizando una preparación para dejarlo en un estado óptimo para el inicio de la producción normal. Fig. 8.80 Fig. 8.101 Alpasarel PLCSimdeSTOP a RUN, veremos cómose iluminaelpiloto verde del Estado Al. Cuando un estado no se encuentre activo, el piloto se observará de color rojo. Para poder hacer funcionar el Grafcet F9, primero debemos escribir en el panel Registros de pedido y de contaje el número de piezas que queremos que sean marcadas en cada color. A continuación ya podemos accionar el pulsador MARCHA, con lo cual pasaremos del Estado Al al Estado Fl. El Estado Fl estará ejecutando los Grafcet que tenga asociados (FC9) hasta que accionemos el pulsador de paro. En ese momento se activará el Estado A2 y se desactivará el Estado Fl. Se ejecutarán los Grafcet del Estado A2 hasta que todos ellos se encuentren en la etapa inicial, y a partir de ese momento se activará el Estado Al y se desactivaráel Estado A2. En ese instanteel sistemaquedarádetenido al inicio. En el panel Estado de la Guía GEMMA podemos ver que en cada estado hay un piloto que quedará activado cuandoelestado correspondientese encuentre activo. En la figura se observa cómo el del Estado Al está activado, de color verde, que corresponde a la salida Q4.0 (H7_ESTADO_Al). 8.2.3 Guía Gemma del estado F2 (Marcha de preparación) Cuando el proceso se encuentra en la situación de reposo, Estado Al, al cumplirse la condición de puesta en marcha, la guía Gemma pasará al estado F2, que está indicado para poder preparar el proceso antes de entrar en un ciclo de funcionamiento normal de producción como es el Estado Fl. En este Estado F2 se realizarán diferentes operaciones para poder colocar el proceso en un estado óptimo de producción, por ejemplo, poder preparar unhorno paraque alcance latemperatura de trabajo, esperar a que un grupo de presión hidráulico o neumático alcance una presión determinada para un correcto funcionamiento del circuito, o esperar a que un cargador (sea de piezas, de líquido, etc.) disponga de una carga mínima para iniciar el proceso. En nuestro caso, al no ser un proceso en el que se tengan que alcanzar ciertas temperaturas ni presiones, ni trabajamos con cargadores, lo que haremos es comprobar que todos los actuadores se encuentran en una posición inicial para poder comenzar el proceso normal de funcionamiento. En el caso de que algún actuador no se encuentre en su posición establecida como inicial, al entrar al estado F2 y de forma automática, se realizarán los movimientos necesarios para que el proceso cumpla las condiciones iniciales. En este caso y dado la particularidad del proceso tratado, es muy probable que su programa pueda ser bastante coincidente con el que se incluye en otros estados, como podría ser el Estado A6. 307
  • 314.
    Unidad 8 -Guía Gemma 308 ,._../ Se puede provocar la situación de que, al iniciar el proceso, este no se encuentre -...,,, cumpliendo las condiciones iniciales. Por ejemplo, por un corte de alimentación en '-../ el PLC cuando el proceso ya había iniciado el ciclo de funcionamiento normal, '-...,/ provocando que los actuadores puedan estar situados en una posición no inicial. • Condiciones de funcionamiento del Estado F2 - Al activarse el estado F2 se pondrán en evolución las dos ramas simultáneas, las correspondientes al manipulador grabador y al manipulador de carga, '-" realizando las siguientes acciones. J Manipulador grabador: Tenemos una sola secuencia que funcionará de la siguiente forma: - Primero subirá el cilindro marcador. - Cuando el marcador esté en la posición de reposo (arriba), haremos retroceder al mismo tiempo el cilindro multiposicional, tanto el cilindro pequeño como el grande, que en principio ya estarán en esa posición. No obstante, la siguiente transición nos asegurará que los dos cilindros están en la posición inicial. Manipulador de carga: Tenemos unas secuencias alternativas y, por tanto, puedenocurrir dos cosas: - Secuencia 1: que haya pieza en la zona de carga. - Secuencia 2: que NO haya ninguna pieza en zona de carga. Secuencia 1: - Si hay pieza en la zona de carga, el cilindro del eje vertical con la ventosa bajará. - Cuando el cilindro del eje vertical con la ventosa se encuentre en la posición de avance (abajo), se activará la ventosa. - Si la pieza está sujeta por la ventosa, el cilindro del eje vertical con la ventosa deberá ir a la posición de reposo (arriba). - Cuando el cilindro del eje vertical con la ventosa se encuentre en la posición de reposo (arriba), mediante el eje horizontal, la ventosa se desplazará hasta alcanzar el eje horizontal la posición de avance (izquierda), además de poner en funcionamiento el motor de palets. - Cuando el cilindro del eje horizontal se encuentre en la izquierda y haya un palet en la zona decarga, elcilindrodel ejeverticalcon laventosadescenderá a su posición de trabajo (abajo). - Cuando el cilindro del eje vertical con la ventosa se encuentre abajo, se desactivará el vacío de la ventosa para liberar la pieza. - Cuando se haya liberado la pieza, lo cual se detectará mediante la ausencia de vacío, el cilindro del eje vertical con la ventosa volverá a su posición de reposo (arriba). - Cuando el cilindro del eje vertical con la ventosa se encuentre arriba, el eje horizontal se encargará de desplazar la ventosa hacia su posición de reposo (derecha) hasta alcanzar el detector de la derecha. V V
  • 315.
    1 1 1 1 Unidad 8 -Guía Gemma Secuencia 2: Si no hay pieza en zona de carga, el cilindro del eje vertical volverá a su posición de reposo (arriba). Cuando el cilindro del eje vertical de la ventosa se encuentre arriba, el eje horizontal se encargará de desplazar la ventosa hacia su posición de reposo (derecha) si es que no lo está. • Diseño del Grafcet del Estado F2 Este Grafcet se basa en un diseño de bifurcación en Y, en el que intervienen dos ramas que funcionarán en paralelo, una para el manipulador de grabado y la otra para el manipulador de carga. M2.0 M2.4 Marcador esta arriba ( 11.4 ) M2.S M2.7 M3.0 M3.l M3.2 M3.3 M3.4 M3.5 M3.6 •1 ( M8190.2 ) N QQ.2 Ventosa hacia derecha R Ql.0 Desactiva ventosa Palet en zona de carga y Disyuntor motor NO disparado (12.4 • 13.0) Disyuntor disparado • Oock_lHz (13.o • M8191.5) N QQ.2 Ventosa hacia derecha Fig. 8.102a NO hay pieza en zona de carga (12.5) 309
  • 316.
    Unidad 8 -Guía Gemma 310 Una vez el sistema se encuentra cumpliendo las condiciones de preparación para la puesta en marcha, automáticamente deberá pasar el control de la guía Gemma al Estado Fl y el proceso arrancará de forma automática para realizar el ciclo de producción normal. • Modificación del 08100 En el OB100 tenemos que añadir la inicialización del Grafcet F2, para lo que activaremos la etapa inicial del Grafcet F2 y desactivaremos todas las demás etapas. • Segmento 5 : Activación d i!' 1 1 Et11pa 20 dl!'I Graft� F2 ydl!'sectiYación d e las dl!'mu etllplS 'V,,!8190.2 'IM2.0 "AlwaysTRUE" "F2_ETAPA 20" f- 1 ----------------M-___, 'IM2.1 "F2_ETAPA 2 1 " L----------------� ( RESET_BF )- 1 4 • Programa del estado F2 Fig. 8.102b ,,.. Segmento 1: INICIO tllfl.lACAOÓN fN.,,.. Atw,tiOn l!Upt21 'Jl!ta¡a 24ydes1Cliv1t16" l!Up• 20 'AMZ.O -AMJ.7 "F2_ETAPA 20" "GG_ESTADO F2" 'IIM2.1 "F2_ETAPA 2 1 " f--- -- ----1 �-�------------I S )----< 'IIM2.4 "F2_ETAPA 24" 1---------------Js f-- ....,_. "F2_ETAPA 20" L----------------I R )-- Fig. 8.103 • Segmento 3: l,W,l!l'UlAOORGRASAOOllActi,,1trén l!tfPI 23)'dl!Ut'tlV.tJónetapi 22.. 'IM2.2 "F2_fTAPA 22" '111.0 "B5 cO MULTI l{ QUE�O DENTRO" 'Jll1.2 "B7_d0 MULTI GRANDE OEt-ílRO" Fig. 8.105 llM2.3 "F2_ETAPA 23" :s >------- ,...,., L_______ ·,_ , _ -i ET� � • Segmento 5: MANIPUl.>DORDt CAIIGA. Actlacoón •ttp. 26ydesectiv1cióneu.p1 25'-- -------' 1W2.5 "f2_ETAPA 25" '110.6 '83_b0 VENTOSA DERECHA" 'IM2.6 "F2_ETAPA 26" �25 i s )--- c_____________. _ '__, 2_ ET � � Fig. 8.107 • Segmento ]: MANll"'UI.ADORDE CAAGA. Acuv1t1ón etap. 28ydu.c:Weción er.p1 27. VA2.7 "f2_ ETAPA 27" '112.0 "B1 1 fl PEZA SÜJETA" 'JIM3.0 "F2 ...ETAPA 30" w2.1 ; s )--- L___________ ·,_ u,�� Fig. 8.109 ,...,., "f2_ETAPA 21 " '1111A "89_e0 MARCAOOR ARRJBA" W2.2 "F2_ETAPA 22" llM2.1 : s )------< c_____________· _ , 2 __, _ ET ; � Fig. 8.104 • Segmento4: t.W-111'1.JI.ADOROECARGAAl;tinción tttpt 25ydu1ctfl/1d6n ,mp• 2* '11125 'IM2.4 "B1 6_PEZA "F2_ETAPA 24" BAJO VENTOSA" llM25 "F2_E.TAPA 25" W2.4 :s )------< L...----------- ·, _ 2_ -{ ET;� Fig. 8.106 • Segmento 6: !wW'!PUl.AOOROt CARGA.Attt-,11tión et1p1 21ydes,ctiv1ctén •t•�26 llM2.6 "F2_ETAPA 26" �05 "B2_a1 VENTOSA ABAJO" llMl.7 "F2_ETAPA 2r llM2.6 : s >------- c_____________ ·,_ 2_ ET � � Fig. 8.108 • Segmento &: �INLAOOR Ot CAAGA.AttiVtción tt11� 29ydtSICIÍtl!Ción eQ.� 30 llM3.0 "F2_ETAPA 30" '110.4 ·e,_ao VHITOSA ARREA º W3.1 "F2_ETAPA 3 1 " 1M3.0 :s )------< L____________ ·,_ ,_-{ ET�� Fig. 8.110 V
  • 317.
    J 1 ' 1 1 ' 7 ' 1 ' 1 1 ' ' • Segmento 9: 'W3.1 "F2_ETAPA31 • 'IM3.3 "F2_ETAPA 33" 'IKl.7 "84_b1 VENTOSA IZQUERDA" '"2.0 "B1 1 _f1 PEZA SWETA" '"2.4 "81 S_PALET CAK,A" Fig. 8.111 '11,B.2 "F2_ETAPA 32" ;s )-- 'WJ.1 �------ ·, _ 2_ --< IT� � 'IM3.4 "F2_ETAPA 34" 1/1>--------.--------<;S )-- 'IM33 �------------ ·, _ 2 .... -rr:� • Segmento 13: ,W0.6 "B3_b0 VENTOSA DERECHA" Fig. 8.113 'IM3.6 "F2_ETAPA 36" 'IM3.5 ; S )-- ._____________ ·, _ 2 -, _ IT� � Fig. 8.115 ,,.. Segmento 1 5: FINAL BIFUACAOÓN E N "V-.Ac.tr.u:ión ,1.11p■ 20 ydtnctivación ti.� 2 3y36. "'42.3 'AM'3.6 "f2_ETAPA 23" "F2_fTAPA 36" ......o "F2_ETAPA 20· >------< �------< 1--�--------< S )-- 'IM2.3 "f2_ETAPA 23" 1---------{ R )-- """3.6 "F2_ETAPA 36" �--------< • )-- Fig. 8.117 • Segmento 10: 'IM3.2 "F2_ETAPA 32'" SW05 "B2_a1 VENTOSA ABAJO" Unidad 8 - Guía Gemma 'IM3.3 "F2_ETAPA 3r W3.2 ;s }---, ._____________ ·, _ 2 --{ _ IT� � Fig. 8.112 • Segmento 12; I.Wff'UI..ADOIIDE CJ>K.A.Actnl1ci6ntUp11 3S )6HUtr..lC'6n tt9pe _, _ . _______� W3.4 "F2_ETAPA34" ..... ·e1_ao VENTOSA ARRllA" '112.5 W35 "F2_ETAPA 35" "IIM3.4 i s l---- .____________ ·_ ,2 --( _ET� � Fig. 8.114 'lf.42.4 "81 6_PIEZA 'JIM.3.4 "F2_ETAPA 24" BAJO VENTOSK "F2_ETAPA 34" 1/1�----; s }---, 'IM2.4 ._____________ ·, _ 2 _ --< ET:r � Fig. 8.116 Modificación del programa del FC20 S_SALIDAS .. Segmento 2: ....., "ETAPA 43" ...... "fTAPA 46" __, "ETAPA 55" ......, "ETAPA 61 " 'IM2., "f2_ETAPA 21 • En este bloque FC20 modificaremos los segmentos necesarios para que las salidas actúen según el Grafcet programado en el FC2. Fig. 8.118 'IQ0.7 "YB_Sl.181 w.RCAOOR. l-- .., Segmento S: __, ºETAPA 47" 'IIQ0.4 'YS_ M..l.ll'OSK:KJN A L GRANDE" ¡ R }---, "f2_ = 22" �:r :¡KlNAL PEQUENO" �--------------------<•)--- Fig. 8.119 311
  • 318.
    Unidad 8 -Guía Gemma 312 • Segmento 8: Manipuladord e c1rga. E1e vertical. Electrov1!vul11 monoenable. DMcender e¡e 'l'oM6.6 "ETAPA 66" '!IQO.O "Yl_BAJAR VENTOSA" 1---,--------------�s f--- '!IM7.2 "ETAPA n: V.,,.6 "F2_ETAPA 26" 'IIMl.2 "F2_ETAPA 32" Fig. 8.120 • Segmento 10: Mlnipuladorde cerg11. E¡e ve�tcat. ElecttovalYu!a monoeHable. Subir e¡e '!IM7.0 "ETAf'A 70" '!IQO.O "Yl_BAJAR VENTOSA" 1----,.----------------� R )-- '!IM7.4 "ETAPA 74" V.,,5 "f2_ETAPA 2 5" 'IIMI.O "F2_ETAPA 30" 11Ml.4 "F2_ETAPA 34" Fig. 8.122 • Segmento 12: Manipulador de carga. 1Jt.nt0st ,u¡ecti6n pie:za. Eleurovalvula monoestable. Sue!r. pie:za Fig. 8.124 • Segmento 15: Marcha del motor cinta p_ ,I• - • ------� '11,13.0 ·n_ ""-48.3 PROTECCION "ETAPA 83" WTOR PALETS" '"�d Fig. 8.126 'IQ1.1 "Kl M.._M'.lTOR CINTAPALEr )-- • Segmento 9: Mlnipuladorde carga Ventou su¡ección pie-:e. Electro�lvule monoestable. Sll¡ec.c:i6n p1e;:a Fig. 8.121 .., Segmento 11; Manipu!1dor de cerg1.Eje �rtital. Elecu-ovelvu!a bieottable.Oes.pt11er a pos.icián de de,e1rg1 '!IM7.1 "ETAf'A 7 1 " '!IQ0.1 "Y2_VENTOSA A IZQUIERDA" t- � -.---------------i( }-- "F2_ � d Fig. 8.123 ., Segmento 1 3: Manipulador de targa. E¡e 11erti<::1L Elettr0111l11ul1 biestable. Despl•21111r a po,itió.n de urge '!IM7.5 "ETAPA 75" V.,,.5 "f2_ETAPA 25" 11Ml.5 "F2_ETAPA 35" Fig. 8.125 ., Segmento 18: lrnemlitentia del pilotode se�11i:at16n _ ,m _ , _ ri_ llo_ __ __ --º "ETAPA 80" __3 "ETAf'A 83" __, "f2_ETAPA 31" '1112.7 "fl _ PROTECCION WTOR PlEZAS" 'IW3.O "F2_ PROTECCION M'.lTOR PALETS" -191.5 "Clock_1 Hz" Fig. 8.127 '!IQ0.2 "'13_VENTOSA A DERECHA" }-- 'IQ2.1 "HO_AMtRILLO" }-- La indicación luminosa intermitente en el piloto verde de la baliza indica que el Estado F2 está activado. ·-.._.,,- J
  • 319.
    1 , í 1 í 1 1 1 í 1 í í Al Parid. enti est.SOInicial • Segmento16: �ttfm1te1K•delpitomde1e.-.a1;:1 _ ,< _ ,� _ • _ • ___ _ 'IM6.3 'IM8191.2 1'Q2.2 "fT¡l,J>¡ 63" "CkXJL2.5Ht' "Hl_VEROE" ,____...., >--�------------< ,__ ""6.3 "ETN'A 63" ...,_, "GG_ESTAOO F2" "GG._;i: ,;,,fi , 8,128 -u.tl191.S �CIOck....lHZ" • Guía Gemma con el Estado F2 Unidad 8 - Guía Gemma Para la implementación del estado F2 Marcha de preparación de la guía Gemma, indica que a este Estado F2 se puede acceder tan solo desde el Estado Al cuando se cumpla la orden de marcha del sistema. Una vez que hayamos pasado al Estado F2, se ejecutará el Grafcet para dejar preparado el proceso, poder pasar al Estado Fl y arrancar la producción normal. La condición para pasar del estado F2 al estado F1 es que el Grafcet asociado al Estado F2 haya finalizado, es decir, que se haya vuelto a conectar su etapa inicial. Por tanto, para dicha condición tan solo hace falta poner un contacto con flanco positivo de su etapa inicial, en este caso la etapa 20 (M2.0). GENÉRICO Ordend• marcha y NO cump!. i.i COMkioMs lnicMlfl F1 Fig. 8.129 MO.O M0.6 MO.l FZ Finaizada la ejecución del grafcet A2. APLICADO F1 Fig. 8.130 Orden de ma-cha y NO cumple M0.7 Fig. 8.131 F2 M0.7 FC10 313
  • 320.
    Unidad 8 -Guía Gemma 314 A continuación, podemos ver que la guía Gemma presentada, más los estados anteriormente explicados, se puede representar como un Grafcet y, por tanto, desarrollar como tal. • Programa en el FCO GUIA GEMMA .., Segmento 10: Actrvtción d e ütado F2, MIIKh• d e prep■radón • Segmento 1 1: E�tado de parada enel e�udo inicial___ '!IMI.O .GG_ESTAOO A1 " '!IMl.7 "GG_ESTAOO Fr >- -- -< t- - .----- - 1/� - --. ----- -----i s )--- '!W0.2 "S2_MRCHA" '!W0.4 ·a1_ao VENTOSA ARRIBA" '!W0.6 "83_b0 VENTOSA DERECHA" '111.0 ·es_co MJL.TI PEQUfÑO DENTRO" '111.2 "87_d0 fd..A.Tl GRANDE DENTRO" '111.4 "B9_eo w.RCAOOR ARRIBA" '112.1 "81 2_g0 TOPE AlRAS" '112.0 "81 1_f1 PIEZA SWETA" Fig. 8.132 .., Segmento 12: Llamada e la subrutina del EstadoF2 1 "GG_�O F2" "F2 MARCHA DE ;�PARACIÓII' '!IMI.O "GG_ESTADO A1 " 1-------1•>--- � f--- EN ENO ---------- Fig. 8.134 r�� to _ F _ 2 _ · _ • F _ 2 � -l � t- l� . 2 _ 20 _ ·--. --------- - ·- GG _ _ -l � : : A � "FLANCO 3" %Ml.J �---------" - GG _ _ -{ ES:� Fig. 8.133 • Segmento 1 3: Piloto verde en guia gemm, deI• maqueta que indke estedo F2 activo 'IQ4.7 1lf.«> 7 "H1 4_ESTADO TAO ¡- . o _F _ 2_ • ------------------iF2" }-------< Fig. 8.135 • Comprobación del funcionamiento del estado F2 Control del proceso Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim. A continuación, hemos de abrir el simulador 30. Pulsaremos el botón CONTROL PROCESO, el botón GUIA GEMMA y el de REGISTROS. Con ello se nos abrirán los tres paneles que necesitamos para poder probar el ejercicio. Registros de pedido y de contaje Estado de la Guia GEMMA � ril ■� r!lt 9'ERGENCA PAII.O MAROfA AUTfMAN AO( M1 11 11 11 ■•.�: Fig. 8.79 Fig. 8.80 Fig. 8.101 . ;
  • 321.
    ' ' ) ' ' , Recuerda •• • 1 El estado F5 es el , estado de la guía Gemma que permite , manipular el proceso de forma que su ' funcionamiento se , realice paso a paso después de una orden ' dada por el operario. ' ' ' 1 ' 1 1 Unidad 8 - Guía Gemma Procederemos igual que en la comprobación del Estado Fl: • Por lo tanto, primero indicaremos los valores en los pedidos de producción del panel REGISTROS. • Estando en el Estado Al, accionaremos el pulsador MARCHA, con lo cual entraremos al Estado Fl. • Debemos pasar el PLCSIM de RUN a STOP y después pasarlo de nuevo a RUN en cualquier momento de funcionamiento del proceso, por ejemplo, cuando el brazo de la ventosa empiece a irse hacia la izquierda y el cilindro marcador esté abajo. • Con ello, habremos conseguido que el proceso se quede en condiciones no iniciales. • Estando en el Estado Al, accionaremos de nuevo el pulsador MARCHA, de modo que, al no estar en condiciones iniciales, la guía Gemma entrará en el Estado F2 y se mostrará en verde su piloto asociado H14_ESTADO F2 (Q4.7). • Podremos comprobar que se ejecutará el Grafcet F2, con lo cual todo el sistema dejará el proceso preparado para iniciar la producción de forma automática y ordenada para evitar posibles choques mecánicos. • Al acabar la ejecución del Grafcet de F2, automáticamente entraremos en el Estado Fl y se pondrá en funcionamiento el proceso de producción normal. 8.2.4 Guía Gemma del Estado FS (Marcha de verificación con orden) En el Estado FS, según la guía Gemma, «La máquina realiza el ciclo completo, a petición de órdenes manuales del operador». Por tanto, será el mismo funcionamiento que en el Estado Fl, con la diferencia de que el operador irá controlando mediante un pulsador cada uno de los cambios de etapa. • Condiciones de funcionamiento del Estado FS Implementaremos en cada receptividad de las transiciones un pulsador, en nuestro caso el pulsador de marcha. Este pulsador lo programaremos mediante un flanco negativo, ya que de esta forma controlaremos que, al dejar de pulsar, pase a funcionar la etapa siguiente. De ello deducimos que podemos implementar este pulsador en la receptividad de la transición de dos formas diferentes: Como condición en Y: cuando sea necesario que se cumplan todas las condiciones antes de pasar a la siguiente etapa. Por ejemplo, no poder realizar la acción de sujetar la pieza si no existe pieza a sujetar en el lugar de carga, o no realizar la orden de liberar la pieza si el palet no se encuentra en la posición correcta de descarga. +Detecta pieza • Pulsado r de m a-c ha (FP) - Como condición en O: cuando NO sea necesario que se cumplan todas las condiciones antes de pasar a la siguiente etapa. Por ejemplo, si estamos realizando pruebas de puesta en marcha de un proceso de llenado de 315
  • 322.
    Unidad 8 -Guía Gemma 316 bidones con líquido y, por tanto, no sea necesario llenar el bidón al máximo para pasar a la siguiente etapa. +Detecta bid ón llen o + Pulsado r de marcha (FP) • Diseño del Grafcet del Estado FS Ennuestro caso, utilizaremoselmismo Grafcet que tenemosenelbloque FC9 (Estado Fl) o en el FC15 (Estado FS) y añadiremos en cada transición el pulsador de marcha con un flanco positivo. Es muy importante poner una marca diferente en cada flanco, porque en caso contrario el programa puede no funcionar correctamente. No siempre será necesario colocar en todas las transiciones el pulsador para el paso a la siguiente etapa, por ejemplo, en los casos en el que ya existe una intervención manual por parte del operario. En nuestro caso sería en: - La activación de la etapa 41 y de la 65. - Las transiciones de entrada y salida de la etapa 63. - Las transiciones de entrada y salida de la etapa 64. - Los Grafcet de los motores de las cintas de transporte. • Programa del diseño Grafcet correspondiente al Estado FS A continuación, se muestra un ejemplo de cómo quedaría la receptividad de una transición dentro del programa: • Segmento 2: AClfV�ÓN DE' LA e:TAl'A42 Y DE:SACJTVAOÓN DE: LA ETAPA 41 'M2.3 -.1 lW0.2 "B1 4_PIEZA EN '!IMN7002 -.2 "ETAPA 41 • ·sz M'RCHA" TOPE" "PEDIDO ROJAS" "ETAPA 42" ,_ , ___ -1 P 't----+--< t----1 > tGL____. lnt S ,------------ "F=!• '!IMN7010 "PROCESADAS 'IM4.1 ROJAS" "ETAPA 41" R)----< Fig. 8.136 Donde el pulsador S2_MARCHA se utiliza también para dar la orden de paso a la siguiente etapa. Es decir que, si se cumplen las condiciones, en este caso si: - existe pieza en el tope (12.3) y el pedido de piezas rojas (MW7002) es mayor que el de piezas rojas procesadas (MW7010), esperará la orden de paso a la siguiente etapa mediante la activación del pulsador de marcha (10.2). Esta activación se asocia a un flanco positivo para asegurar que tan solo sea válida para esta transición y ningún caso pueda provocar el paso a varias etapas de forma consecutiva con una única pulsación. Como la técnica utilizadaes la de copiar íntegramente el programa del bloque FC9 en el bloque FC13, donde únicamente la diferencia es que se añade en cada transición la condición de la pulsación con flanco del pulsador de marcha, cuando se pasa del Estado Fl al FS, se deja de ejecutar el bloque FC9 {Fl), se pasa a ejecutar el bloque FC13 (FS) y las marcas que se encontraban activadas en el bloque FC9 permanecen J
  • 323.
    � ') ' ' ' ) l ' Al Fl Producd6n normal Unidad 8- Guía Gemma activas en el bloque FC13. Esto hace que, si en el bloque FC9 se encontraba activada, por ejemplo, la etapa 8, al pasar a ejecutarse el bloque FC13, seguirá activada la etapa 8 y por tanto el control manual lo realizará el operario a partir de esa etapa. Colocar el pulsador de marcha con el flanco en cada uno de los segmentos menos en: - la activación de la etapa 41 y de la 65, - las transiciones de entrada y salida de la etapa 63, - las transiciones de entrada y salida de la etapa 64, - los Grafcet de los motores de las cintas de transporte. Para el correcto funcionamiento, es muy importante poner en cada uno de los flancos una marca diferente. Hemos de programar en el FC20 (S_SALIDAS) la indicación luminosa en el piloto azul de la baliza que indica que el Estado FS está activado. ,. Segmento 1 7: lnttrm1tl!!ncia dl!!I piloto di! s�i'lali.ac.i6n a.JJI 'liM6.4 '!iM8191 .2 '!IQ2.3 APA 64" "Clock.,_2.5Hz" "H2_AZUL" f-----1 1- 1 ---,-------------i( >------- 'IM1.2 TADO FS" i-- 1 ------' • Guía Gemma con el Estado FS Fig. 8.137 Para la implementación del estado FS Marcha de verificación con orden de la guía Gemma, más conocido como Funcionamiento paso a paso en el PLC, nos fijaremos en la guía Gemma general representada en el apartado 8.1.2. En ella se observa que hay diferentes formas de acceder a su ejecución y en este caso trabajaremos las representadas en la siguiente figura: GENÉRICO ..,. FS Fl ..... Fig. 8.138 APLICADO At.,1<> � et1 0fl Y ...,..OW1-,c, � ..-niow, '"'"fl'l........�....._. lltT .... """"'1 �-,· � -uda, -,tj � .... """·"'" ' "'° ""' pju• Wjal• pa,� ¡IO.l •io -1 • •• • 11 0 · 11.2 · 1u • 1u •ii.i'1 Aw)/M-, en OH ( IO.l l FC9 FS FC13 AU� ei, OH (iü') Fig. 8.139 317
  • 324.
    Unidad 8 -Guía Gemma 318 'IMI.O 'G<,__ESTAOO Al" Son las siguientes: Desde el Estado Al pasaremos al Estado FS si, cumpliéndose las condiciones de inicio, tenemos en la posición de MAN el selector AUT/MAN. Si nos encontramos en el Estado Fl, podemos pasar y retornar en el momento que se estime conveniente con tan solo colocar en la posición MAN el selector AUT/MAN. Otra forma de salir del estado FS, y que aquí aún no se ha contemplado, es para dirigirse al Estado F4, tal como se indica en la guía Gemma general representada en el apartado 8.1.2. A continuación, añadimos al Grafcet de la guía Gemma el Estado FS, que quedará: FCO Parada en el estadolnlclal M0.6 M0.7 N �:!�ade prepar;1clón M0.1 Fig. 8.140 Ahora, y tal comohemos indicado anteriormente, cuando estén activadoscadauno de los estados de la guía Gemma, tendremos activado un piloto en el panel de la guía Gemma del simulador 3D. En este caso hemos añadido el del Estado FS. • Programa en el FCO GUIA GEMMA El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede implementado el Estado FS con las entradas y salidas indicadas con los Estados Al y Fl es el siguiente: ..,_. ·a1_ao VENTOSA -· ..,_. 'B3_b0 VENlOSA DERECHA" 'Ml.O "B5_c0 �11 PEQUl"ÑO DENlRO" ..,.2 'B7_d0 t.U..11 GIV.NDE DENlRO' 8.141 ...,... "89_e0 M'JICAOOR ARRIBA' '1112.1 '81 2-9() TOPE ATRAS' '112.0 ·e, ,_n PIEZA 'JiM'l.2 SWETA" -�ES1ADO FS" ....----�1r-------,� c----t s)----- --• 'GQ__ESTADO A1 " R)----- '1103 -act.6 "S3_SELEClOR ....,.2 r llll3 r . 2 'Sl_SELfCTOll .....6 AU'TOIM".N" "GQ...fSTN>O fl" TAOO F1• AUTOJMN" 'GG__ESTAOO f5" >-----< f- 1 �---i;•}- .....6 �-------- -GG__ ---t fs:� Fig. 8.142 STN>O f5" 1 Vlc---r--------,¡•f-- ...,_, ________._ ""-- _, Es:;.: Fig. 8.143 "-.._./
  • 325.
    'l ' ) ) ) ' ) ' 1 ' ' "" ) ' ' ' ' ' ) ) ) 1 ' 1 Unidad 8 -Guía Gemma TAOO Fs· ·Fs PASO A PASO· P., 1 "GG �2 "H1 7 � AOO � TAOO >- " - · ____ F_ ig _ ._ 8_ .1 _ 4_ s___-----<'_ i---- EN Control del proceso Fig. 8.79 Fig. 8.144 Fig. 8.145 Una vez realizado el programa, ya podemos probar su funcionamiento, visualizar el estado de la guía Gemma en el panel Estado de la guía Gemma y actuar con los pulsadores del panel Control del proceso. • Comprobación del funcionamiento del estado FS Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim y, a continuación, abrir el simulador 30. Una vez abierto, abriremos los paneles CONTROL PROCESO, GUÍA GEMMA y REGISTROS. Estado de la Guia GEMMA Registros de pedido y de contaje Fig. 8.80 Fig. 8.101 Procederemos igual que en la comprobación del Estado Fl: • Primero introduciremos los valores en los pedidos de producción del panel REGISTROS. • Cuando estemos en el Estado Al, accionaremos el pulsador MARCHA, con lo que entraremos al Estado Fl y empezará a funcionar el proceso. • En cualquier momento activaremos el selector AUTO/MAN, de modo que se activará el Estado FS y se desactivará el Fl, mostrando en verde su piloto asociado Hl7_ESTADO FS (QS.2). • Comprobaremos que el Grafcet está en pausa. A partir de ese momento, para provocar el siguiente movimiento tendremos que accionar el pulsador MARCHA. • En el momento que queramos que siga funcionando el ciclo en Producción normal, desactivaremos el selector AUTO/MAN, con lo cual se activará el Estado Fl y se desactivará el FS. • Podemos entrar también en el Estado FS si, estando en el Estado Al y cumpliéndose las condiciones iniciales, activamos el selector AUTO/MAN. 8.2.5 Guía Gemma de los Estados A3 (Parada a un estado determinado) y A4 (Parada obtenida) Según la guía Gemma, el Estado A3 es un estado transitorio en el que la máquina ha de producir hasta llegar a un estado diferente del estado inicial. Por tanto, previamente a incluir el programa del Estado A3, hemos de decidir en qué estado se desea que se encuentre el proceso cuando el operador dé la orden de parada en ese estado. En ese momento, el proceso continuará funcionando con total 319
  • 326.
    Unidad 8 -Guía Gemma Recuerda • • • Cuando se desea obtener una parada en un estado determinado del proceso, se utilizarán los estados A3 y A4 de la guía Gemma. 'lil1.4 "89_eo normalidad siguiendo el Grafcet de producción normal (Fl) hasta que se alcance la posición decidida de parada. • Condiciones de funcionamiento de los Estados A3 y A4 En este caso, y a modo de ejemplo, elegiremos una etapa correspondiente al funcionamiento del manipulador de carga (X46) y otra del manipulador grabador (X72). Lo que queremos es detener el proceso en la etapa X46 para comprobar que ha realizado correctamente el marcado en la caja, y también en la etapa X72 para comprobar si la pieza se va a situar correctamente sobre el palet. Para provocar la detención del Grafcet de producción en esas etapas, añadiremos en las receptividades de las dos transiciones siguientes a las etapas la marca especial M8190.3 (Always False) que vale siempre O. Por lo tanto, en el bloque FC3, asignado para el Estado A3, copiaremos el Grafcet que hay en el FC9 (Estado Fl) y modificaremos los dos segmentos del Grafcet grabador-carga de las etapas siguientes a las consideradas de paro, la X46 y X72, es decir la X47 y la X73. Quedará de la siguiente forma: ..,. Segmento 30: l'UN'TO OE PAANJA DEL GRU _ l'O _ o _ , =-- --------� '!W0.5 "82_al -·• MARCADOR 'IMB190.3 -.7 'IM7.2 VENTOSA 'JíM8190.3 IJIMJ.3 320 'ETAPA 46' ARRIBA' "AJw•ysFAlSE' "ETAPA 47' t----� �--+----1 t---t,-------;s )-- Fig. 8.146 --• 'ETAPA 46' '-------•)-- "ETAPA 72• ABAJO" "AlwaysFAlSE" "ETAPA 73" >----� �---+---< t--+.-------1s )-- Fig. 8.147 'tN/.2 'ETAPA 72' '-------•)-- Sin embargo, en el bloque FCS, correspondiente al Estado A4, no habría que programar nada. No obstante, en el caso de que se considere que los motores pudieran estar en funcionamiento, deberíamos programar aquí su parada para poder realizar con seguridad las comprobaciones en la máquina. Hemos de modificar el programa en el FC20 (S_SALIDAS) para poner la indicación luminosa del funcionamiento del Estado A3. El piloto azul de la baliza funcionará de forma intermitente lenta. • Segmento 17: lntermitenci, del pilote de a·fliali:aci6n 1::i.il --2 'GG_ESTADO F5' 1'M!191.2 'Clock_25Hz' VJD2 'IMB1915 'GG_ESTADO A3" 'ClocU Hz' '11,()2.3 "H2_AZU . ." )------< Fig. 8.148 Por otro lado, el funcionamiento del Estado A4 se indicará con el funcionamiento simultaneo fijo del piloto verde y con el piloto azul funcionando de forma intermitente lenta. '..__/ ·.._,.. ·--...,
  • 327.
    ' ' l l l ' ' Unidad 8 -Guía Gemma • Segmento 16: lnt,rm,1,nci1 d�f piloto de ,,l'la _ li:11 _ �• - " _ ,,. _ , _____ • Segmento 17: lntermitenci1 del píloto d, sel'l, _ l•3 - "6 _ 0 0 _ � _ 1 ____ _ __3 _,.,.2 "Clocl(_25Hz" -.3 llM>.6 "ETAPA 63" "GG_ESTADO Fl " _,_, _,,,.s "GG_ESTAOO F2" "Clock_lHz" '!IMl.3 "GG _ ESTAOO A4" I A 4 Parada obtenida Fig. 8.149 ll,Q2.2 "Hl _ VEROE" --• 'IIM1.2 "GG _ ESTADO F5" %Ml191.2 "Clocl(_25Hz" '!IMl.2 -1915 "GG_ESTAOO A3" "ClocU Hz" "'-�;r • Guía Gemma con los estados A3 y A4 Fig. 8.150 ll,Q2.3 "H2_A2U." Para la implementación de los estados A3 Parada a un estado determinado y A4 Parada obtenida de la guía Gemma en el PLC, nos fijaremos en la guía Gemma general representada en el apartado 8.1.2. En ella se observa que la relación entre estos estados es la siguiente: GENÉRICO APLICADO A 4 FCS M0.3 1-- --� Parada obtenida f---��...-... _.,_ ��-· rl p,ocuo N1k1nmlollE1-r,,, «7Jll ltapo K7J o ll EtopoX7t ( M'-1 º I M7.J•M1.&l) """-rM1rcM ( IO.l ) A 3 Pa�a pedida 1 un est1do determi�do Fl ::::.:.:."" Producc;ón normal A3 M0.2 FC3 ::��:=da 14----+---I f1 determinado l'ulurSll j l U ) Producción normal M0.6 FC9 Fig. 151 Fig. 8.152 - En este caso, el acceso al Estado A3 será desde el Estado Fl accionando el pulsador 521. - El acceso al Estado A4 se hará de forma automática, cuando en el Grafcet se encuentre activada la etapa X46 y la etapa X72 o la X76, etapas que se han seleccionado para que el funcionamiento del proceso se detenga. Entonces se activará el Estado A4 y se desactivará el Estado A3. Al no evolucionar el Grafcet en este Estado A3, las etapas X46 y X72 o X76 se mantendrán activadas. Cuanto la guía Gemma se encuentre en el Estado A4, realizaremos las comprobaciones pertinentes en el proceso y cuando hayamos finalizado esas comprobaciones, podremos accionar el pulsador de marcha. En ese momento se volverá a activar el Estado Al, y al encontrarse activadas las etapas X47 y X73 o X76, el proceso seguirá a partir de ellas. A continuación, añadimos al Grafcet de la guía Gemma los nuevos estados incorporados, el Estado A3 y A4, de modo que quedará así: 321
  • 328.
    Unidad 8 -Guía Gemma 322 .,.,.... MO.l '. N 1 �;4 m obt��a �n � ma,cm 1 Fig. 8.153 1 M U Ahora, y tal como hemos indicado anteriormente, cuando estén activados cada uno de los estados de la guía Gemma, tendremos también activado un piloto en el panel de la guía Gemma del simulador 3D. En este caso hemos añadido el de los Estados A3 y A4. • Programa en el FC0 GUIA GEMMA El programa que debemos añadir al bloque FCO GUIA GEMMA para que queden implementados los estados A3 y A4 con las entradas y salidas indicadas sería el siguiente: • Segmento 19: Est1do d, pirad, • un ,nado d,t,rminado ____ _ • Segmento 20: Estado de parida obtenida '!Ml.6 " GG_ ESTADO Fl" 'IWS.4 ·s2 1 · 'IM>.2 "GG_ESTAOO P.Y '!Ml.6 ;s )------< � -------- -º- GG _ _ � E s:� Fig. 8.154 • Segmento 21: erndode producción normel 'IM>.3 'IW0.2 "GG_ESTAOO A4" "S2_�CHA" '!Ml.6 " GG_ ESTAOO F1 . '!Ml.3 ;s )------< ,___________. _ GG _ _ -l ES:� Fig. 8.156 • Segmento 23: Uamada a 11 1ubrutin1 del Estado M •A4 PARADA OBTENIDA• ENO --------- Fig. 8.158 • Segmento 2S: PiloCo •erde '" gui1 gemmt de maqueta que indica utadoA4 activo %Ml 3 "Hl O ESTADO P '!IQ4.3 TAO l-- · o _ A _ • _ • ---------------...¡ M" )-----< 'IM>.2 "GG_ESTAOO A3" 'lr.M4.6 V.U.2 'IM)3 "GG_ESTAOO A4" �,_____.....__ �' 1 ----< ,u �,� Fig. 8.155 • Segmento 22: U1m1d1 1 la subn.1tin1 del Euado A3 'IM>.2 TAOO A3" f--- EN •A3 PARAOA ESTADO DETERMNADO º ENO --------- Fig. 8.157 .., Segmento 24: Piloto verde enguia gemma de maqueta que 1ru:lic1 estadoA3 activo F 1--·2 o _ AJ _· _______________ · _ H9 _ _E -i � � Fig. 8.159 Fig. 8.160 • Comprobación del funcionamiento del estado FS Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim y, a continuación, abrir el simulador 3D. Una vez abierto, abriremos los paneles CONTROL PROCESO, GUIA GEMMA y REGISTROS. 0 1 -.J J _J
  • 329.
    ) ' ) ' í ) Unidad 8 -Guía Gemma Estado de la Guia GEMMA Control del proceso Registros de pedido y de contaje (. 13 ■r. líJ . EMERGENCIA PARO "'IAROiA AUT,'MAN ACK "41 ■ ■■■ ■ Fig. 8.79 Recuerda • • • La guía Gemma contempla el tipo de parada llamado de cierre, que provocará la finalización de la producción cuando esta haya concluido totalmente. Fig. 8.80 Fig. 8.101 Procederemos igual que en la comprobación del Estado Fl: • Primero introduciremos los valores en los pedidos de producción del panel REGISTROS. • Estando en el Estado Al, accionaremos el pulsador MARCHA, con lo cual entraremos al Estado Fl y empezará a funcionar el proceso. • En cualquier momento accionaremos el pulsador 521, de modo que se activará el Estado A3 y se desactivará el Fl, mostrando en verde su piloto asociado H9_ESTADO A3 (Q4.2). • El Grafcet seguirá evolucionando hasta llegar a los puntos de parada y en ese momento se activará el Estado A4 y se desactivará el Estado A3. • Para que el Grafcet siga evolucionando, hemos de dar la orden de MARCHA, con lo que se activará el Estado Fl y se desactivará el A4. 8.2.6 Guía Gemma del Estado F3 {Marcha de cierre) El Estado F3 Marcha de cierre corresponde al modo de vaciado de material, limpiado, etc., que muchas máquinas deben llevar a cabo antes de finalizar el ciclo de funcionamiento de la máquina o de cambiar algunas características del producto, conocido como cambio de formato. • Condiciones de funcionamiento del Estado F3 En nuestro caso vamos a hacer que acabe el pedido que esté realizando en ese momento y, una vez finalizado, vacíe las piezas que quedan en la cinta de piezas, de forma que sean transportadas al palet sin ser marcadas por ningún color. • Diseño del Grafcet del Estado F3 Para este caso, también reutilizaremos el programa introducido en el bloque FC9 Producción normal. Por tanto, copiaremos este programa en el bloque FCll correspondiente al Estado F3 y realizaremos las cuatro modificaciones indicadas a continuación: 323
  • 330.
    Unidad 8 -Guía Gemma "'"" M5 0 M5 1 324 Hay selecdonadas piezas rOjas, ro ha ecabaOO el pedlOO y hay pieza en t�e ( 12. 3 ' M-N7002 > MW7010) N Q0,6 Baja marcador Q0,7 9.Jbe marcador Q0,4 Sale multl e-ande Q0,3 Sale multl peq.;el'io CU/ROJAS Contaje de rc:;as M5,3 M5.4 M5,6 El mUtl pequei'o esta fuera y e! multl 9'&nde est11 fuen1 ( l l l ' 113 ) Q0,6 BaJamarcacbr N Q0,7 Sube marcador Q0,4 Entra mulo grande Q0,3 Entra multl pequerio s QO.S Sale tope Q0,5 Entra tope TON/Tl/3s Tlem¡xi esper11 piez11 M<O H!Ji seleccionadasplezasV!rdes, no ha acabado el pedid:> y ha acabado pedido de plezas rojas y hll'( pleze en tope ( l2 3 'MW7C06 > tvm7014"MW7002= MN7010) s N Q0,4 Sale multl grande Q0,6 Baja marcador Q0.3 Sale multl pequel'io CU/VERDES Contaje de verdes El multl pequel'IO esta fuera ( 111) M57 ""e ""' ""' Hayselecdoredaspiezas amarillas, no ha acabado el pedido y ha acabado pedido de ph!zas rojas y de piezas verdes y h9y �ezun tope ( l2 3 • MW7004 > MW7012 • MW7002s MW7010 • MN7flh,. MW7014) s Q0,3 Sale multl peq.¡elo El mulll pequeloestafuera ( 111 ) N Q0,6 Baja marcador Q0,4 Sale multl grande N CU/AMARILLAS ContaJe aml!lrtllas El multl grande esm fuera ( 11. 3 ) 1 Ha11cabado los ped1dos de piezas rojas, verdes y l!marlllas y NO hay pieza baJoventosa y hlJ{ pieza en tope 50 2 (( MN7002 .. MN7010 ) • (MN7004,. MN70l2) • (MN7006 • MN7014) · ii:s• t 2.3 ) Han pasado 6 segundos NO hey pieza baJobraro ( l2. 5 ) 5 QO.O Saja ventosa ""' M7.0 M7.l N QO,l Ventosa hada lzq..,lerda M7.2 M7.3 M7.4 M7.S N Q0.2 Ventosa hada derecha L.aventosa ests en la derechll ( I0.6 ) 3 Hayp!eza en t'l)e o hay pleza en ventosa ( 12. 3 + 12. 5 ) N O hay pieza e n tope y r..o hay pieza e nventosa ¡ 123 • 12.S¡ Fig. 8.161a .J .J .J
  • 331.
    . 1 1 1 i 1 1 1 i 1 ' Unidad 8 -Guía Gemma M7.7 M8.0 MS.1 Accionar pulsador de marcha y NO hay pieza en tope o etapa X50 activa y disyuntor esta rearmado ( (10.2 • ii'3f♦ MS.O) • 12.7) Disyuntor re:armado (12.7) �untar disparado y Ckxk_lH:t (12.7 •MS191.5 ) NC Q2.Q Funciona motor piezas NC Q2.l Piloto amarillo Se para motor piezas El motor palet esta parado { Ol.OJ Fig. 8.161b • Programa del diseño Grafcet correspondiente al Estado F3 Las modificaciones a realizar en el programa, y que se han numerado y marcado con recuadros de color rojo en las figuras anteriores, son las siguientes: 1) Cuando se ha acabado el pedido de piezas, activará el Grafcet a partir de la etapa XSO, y se saltará el proceso de marcado, del que tan solo funcionarán los topes para ir dejando pasar las piezas sin marcar hasta la zona de carga. 2) En este caso, ya no necesitamos el ACK, ya que cuando no existan piezas delante del tope, de forma automática se dará por finalizado el ciclo sin que tenga que intervenir el operador. Tenemos un pequeño intervalo de 6 segundos para dar tiempo a que se posicionen las piezas que pueda haber en la cinta. • Segmento 24: AClll/AC!ON DE LAf"TAPA 52 Y DESACTIVACION DE LAETAPA64 '!IM6.◄ "ETAPA 64" llMS.2 'T2".Q "ETAPA 52" � - 1 ,----¡ s }---- '!IM6.◄ �---------- ·ET ..... AP:� Fig. 8.163 Al acabar los procesos simultáneos, el sistema comprobará si hay piezas delante del tope y si hay piezas en zona de carga (transición con nota 3 y 4 en la figura anterior del Grafcet de producción). 3) Si hay piezas delante del tope o si hay piezas en la zona de carga, el sistema volverá a activar el proceso simultáneo para ir pasando las piezas sin marcar desde la cinta de piezas hasta situarlas sobre el palet. 325
  • 332.
    Unidad 8 -Guía Gemma 326 • Segmento 35: N:llVACIÓN DE LA ET...,,A 6S Y 41, Y DESACTIVACIÓN DE LA ETAPA 52 Y 76 'IIMS.2 "ETAPA 52" 'IIM7.6 "ETAPA 76" 1112.3 "81 4_PIEZA EN TOPE" '!IM6.5 "ETAPA 65" ¡---,--------i S )----< 1112.5 __, "ETAPA 4 1 " E���A- ¡--------i S )----< 'IIM'i.2 ºETAPA 52" --------< R )----< 'IIM7.6 ºETAPA 76" '--------1 R )----< Fig. 8.164 4) Si no hay piezas delante del tope o si no hay piezas en zona de carga, esto indicará que no hay piezas en el sistema. Por tanto, se activará la etapa inicial del Grafcet del conjunto de carga y de marcador, y se dará por finalizado el proceso. • Segmento 36: ACTIVACIÓN DE LA ETAPA40. Y DESACTIVACIÓN DE LA ETAPA 52 Y 76 'IIMS.2 "ETAPA 52" 1112.5 1112.3 'IIM7.6 "ETAPA 76" "81 6_PIEZA "814_PIEZA EN BAJO VENTOSA" TOPE" 'IIM4.0 "ETAPA 40" t-----i/t------i/t--�--1 s )----< 'IIM5.2 "ETAPA 52" R )----< '1"'47.6 ºETAPA 76" R l----< Fig. 8.165 5) Al activarse la etapa X40, provocará que se active la etapa inicial del Grafcet del motor cinta de piezas. Por último, cuando el palet se posicione sobre la zona de carga, se activará la etapa inicial del Grafcet de motor de palets y, por tanto, al estar los tres Grafcet en la etapa inicial, la guía Gemma pasará del Estado F3 al Estado Al. • Segmento 38: AOTVACIÓN DE LA EWASl Y DESACTIVACIÓN DE LA EfAf'A80 'llM!.O 'ETAPA eo· %12.3 'B1 4_PIEZA EN TOPE" 'llM!.1 "ETAPA 8 1 " 1P j ; s )----< 'IM230.0 LANCO 1 ' 'llM!.O f- . ----------- - E -I T Af':� 'IIM4.0 ,-------- APA 40" Fig. 8.166 En el FC 21 T_TEMPORIZADORES también debemos añadir el siguiente segmento que corresponde con el temporizador para el tiempo de espera máximo cuando ya no existan piezas en la cinta. • Segmento 2: líempo de posicionamiento de pi,ai delante del lOP --'- " - ' --- �---�� '!IM6.4 PA 64" f--- 1N T#6S PT '!ID85 "1"2' TON Time 0 --------------- ET - Fig. 8.167 J V
  • 333.
    ' ' 1 ' ' 1 1 ' ' ' 1 1 1 Unidad 8 -Guía Gemma En el FC20 S_SALIDAS el funcionamiento del Estado F3 se indicará en la baliza luminosa activando simultáneamente el piloto verde de forma fija y el piloto rojo de forma intermitente. • Segmento 16: lnt1rm1ter,c,1 del p,lotode s,ñ11_ imc � ..., � "� - •---- • Segmento 1 9 : P1lot0 de señeli:aci6n rojo __ _____ � li!liM63 'IM8191.2 "ETAPA 63" "Clod;,_25Hz" """6.3 'IM>.6 "ETAPA 63" "GG_ESTADO F1• """·' "GG_ESTADO A2." ...... "GG_ESTAOO F3" 'IMl.7 'JIMl191.5 "GG_ESTAOO f2" "Clocle1 Hz" """·' "GG_ESTAOO A4" 'IIM>.O '11()2.4 "GG_ESTAOO Al" "H3_ROJO" l-------�-----------1 ( )----, =_:::- .:o� -=-� = �;r Fig. 8.169 Fig. 8.168 Al • Guía Gemma con el estado F3 Para la implementación del estado F3 Marcha de cierre de la guía Gemma en el PLC, nos fijaremos en la guía Gemma general representada en el apartado 8.1.2. En ella se observan las diferentes transiciones de activación y desactivación de este estado, y que quedan así: GENÉRICO APLICADO Al FCl F3 F3 MI.O FCU F1 F1 FC9 Prod11cclónnomM11 ProducclónnormtJ Fig. 8.170 Fig. 8.171 - Observamos que podemos pasar del Estado F1 al Estado F3 accionando el pulsador S22, siempre que no esté activa la etapa X63. Esto tiene una explicación lógica. En el Grafcet ya modificado en el FCll hemos eliminado la etapa X63, por lo tanto, si en el momentode pasar del Estado Fl al estado F3 el Grafcet encontrara esa etapa activa, el Grafcet en el estado F3 se nos quedaría bloqueado. - Por otro lado, para pasar del Estado F3 al Estado Al, han de estar activas las etapas iniciales de los tres Grafcet del F3. Esas etapas iniciales son las mismas que teníamos en el Fl. 327
  • 334.
    Unidad 8 -Guía Gemma 328 MO.O M0.6 MO.l Ml.0 • Segmento 26: Enedo de march• de cierre A continuación, añadimos al Grafcet de la guía Gemma el nuevo estado incorporado, el Estado F3, con lo que quedaría así: FCO Parada en el estado lnlclal Orden de marcha de cierre M0.3 FC4 Parada obtenida Fig. 8.172 M0.7 N ��:C�a de preparación Flnallzada la ejecucl6n del grafcet de F2 Auto / Man en ON Auto / Man en ON Ml.2 El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede implementado el estado F3 con las entradas y salidas indicadas sería el siguiente: • Programa en el FC0 GUIA GEMMA • Segmento 27: euado de puad, t-n e l estado inicial r�� io _ F1 _ · --� �;; � - --- ·e-:'6 � �- -: 3 _ •______ _· _ G_ G_ -I � ¡ ;� 'IMl.6 ....______· _ GG _ _ _¡ EST;� p·º 1 ,=., -·º "ETAPA 40" 'INl.7 "ETAPA 77" 'IWB.2 'IMl.O "ETAPA 82" "GG_ESTAOO A1 " �� TAOO F3" R }----o Fig. 8.173 Fig. 8.174 • Segmento 28: Ltem1da a la s1.brutin1 del EnadoF3 • Segmento 29: f"!loto verde en guie gemnu d, maqueu que indice e;tado F3 acti�o '11()S.O TADO F3" •f3 MARCHA DE CIERRE" F.o 'IM1 O "H1 5_ESTADO TA l- ·o _ o_ F3 _ • ---------------- --jf3" }----o f---- EN ENO ---------- Fig. 8.175 Fig. 8.176 • Comprobación del funcionamiento del estado F3 Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim. A continuación, hemos de abrir el simulador 3D para que quede como se observa a continuación. Una vez abierto, abriremos los paneles CONTROL PROCESO, GUIA GEMMA y REGISTROS. Procederemos igual que en la comprobación del Estado F1: • Primero asignamos un número de piezas, por ejemplo 1, en cada uno de los colores del pedido de producción del panel REGISTROS. • Una vez en el Estado Al, accionaremos el pulsador MARCHA, con lo que se pasará al Estado F1 y se iniciará el funcionamiento del proceso. J J J
  • 335.
    1 1 1 1 1 1 1 1 ' 1 Recuerda • •• El Estado Dl de la guía Gemma nos indica que el proceso ha entrado en parada de emergencia. Unidad 8 - Guía Gemma • En cualquier momento podemos accionar el pulsador 522, con lo que se activará el Estado F3 y se desactivará el Fl, mostrando en verde su piloto asociado HlS_ESTADO F3 (QS.0) en el panel de la guía Gemma. • El Grafcet seguirá evolucionando hasta finalizar por completo el pedido y a partir de ahí se irán procesando el resto de piezas, pero sin realizar ningún tipo de marcado, hasta comprobar que no queda ninguna en los diferentes tramos de la cinta de piezas. En ese momento, se activará el Estado Al y se desactivará el Estado F3. 8.2.7 Guía Gemma del Estado D1 (Parada de Emergencia), AS (Preparación para la puesta en marcha después de un defecto o avería) y A6 (Puesta del sistema al estado inicial) En el Estado D1 se incluyen las acciones necesarias para detener el sistema de forma inmediata en cualquier momento e independientemente del estado de la guía Gemma en el que se encuentre, lo que se conoce como «congelación del sistema». En él tan solo se deberán realizar las acciones que correspondan para llevar el proceso a una situación de parada segura. Este estado se podrá alcanzar desde cualquier punto en el que se encuentre el proceso, y es por ello que en la guía Gemma se puede observar cómo al Estado D1 no le antecede ningún otro estado. Para salir del Estado D1 debemos eliminar las condiciones por las cuales se ha llegado a él, momento en el que la guía Gemma pasará al Estado AS. En este estado se deberán llevar a cabo los mínimos movimientos para poder realizar las operaciones necesarias, según el motivo por el cual se entró en el Estado Dl, antes de que, al activar la orden de reconocimiento o ACK, la guía Gemma pase al Estado A6 para que el proceso se posicione en el estado de reposo general. • Condiciones de funcionamiento del Estado D1 En el momento en que el Estado D1 se active, vamos a hacer que los motores se detengan de forma inmediata. En cambio, la ventosa y los cilindros permanecerán en el estado en el que se encuentren en ese momento. Cuando esté activo el Estado Dl, realizaremos dos operaciones: - Señalizaremos que hemos accionado el pulsador de emergencia mediante el funcionamiento intermitente del piloto rojo. - Procederemos a detener los dos motores que controlan las cintas transportadoras, tanto de piezas como de palets. • Programa correspondiente al Estado D1 Dentro del FC7 (Estado D1) haremos el reset de las etapas en las que hay funcionamiento de motores. Eso ocurre en las siguientes etapas: • El motor de cajas funciona en la etapa X80. • El motor del palet funciona en las etapas X83 y X31. 329
  • 336.
    Unidad 8 -Guía Gemma Recuerda • • • Cuando el proceso ha entrado en situación de emergencia antes de finalizar el funcionamiento total, se debe contemplar en qué situación ha quedado la máquina (A5) y posteriormente llevarla a un estado inicial y seguro (A6). 330 • Segmento t: IJ tntrar1I E,111d0 D1 har1. �lresetde lu. eupu. en donde ilncionan lo1 m0torH 'IM1.3 'IIMI.O "GG_ESTADO 01 " "ETAPA so· 1----,----------------l R )--- 'IIMl.3 "ETAPA 83" 1----------------f R )--- 'IIM3.1 "F2_ETAPA 31" �--------------f R )--- Fig. 8.177 Al Estado AS llegaremos después de que se haya desenclavado la seta de emergencia, si se viene del Estado D1, o que hayan desaparecido todas las alarmas o averías, si se viene del Estado D2. Este Estado D2 se expondrá más adelante. En cualquier caso, los dispositivos que forman el proceso pueden haberse quedado en cualquier posición. En este Estado AS se tiene en cuenta que después de un defecto sea necesario realizar algunas operaciones manuales, como podría ser la de vaciar, limpiar, etc., algunas zonas del proceso. Para ello, y en función de la situación en la que se haya quedado el sistema, el Estado AS deberá realizar los movimientos mínimos para situar el sistema en una posición segura para una intervención manual, como podría ser realizar movimientos de cilindros paraliberar una pieza que haquedado atrapada. El programa que se incluirá en el Estado AS se conoce como «rutinas de emergencia». El programa que se debe incluir en el Estado AS deberá contemplar las diferentes situaciones en las que el proceso se pueda haber quedado después del defecto, para a partirde ahí realizar una rutina u otra y poderposicionar el sistema a un lugar seguro. • Condiciones de funcionamiento del Estado AS En nuestro caso, podemos contemplar diferentes situaciones: - Que el cilindro marcador se encuentre estampando una pieza. En este caso deberemos liberarla para poderla sacar del proceso de forma manual, por lo que el único movimiento que se deberá realizar es colocar el cilindro marcador en su posición de reposo y, a continuación, pulsar el botón MARCADO del simulador 3D para hacer desaparecer la pieza. - Que el cilindro vertical del manipulador de carga se encuentre en la posición de carga sobre la pieza en la cinta, pero sin estar la pieza sujeta. En este caso tan solo recogeremos el cilindro del eje vertical y posteriormente lo trasladaremos hacia la izquierda, esperando a poder sacar la pieza del proceso de forma manual mediante el pulsador CARGA del simulador 3D. Que el cilindro vertical del manipulador de carga se encuentre sujetando una pieza. En este caso deberemos realizar una serie de movimientos para soltar la pieza en la zona de carga, y posicionar el cilindro arriba y a la izquierda, para seguidamente retirarla del proceso de forma manual mediante el pulsador CARGA de la maqueta. • Diseño del Grafcet del Estado AS La solución del diseño del Grafcet se puede realizar de dos formas: - Un único Grafcet con secuencia en Y: una para el manipulador de carga y otra para el manipulador de marcado. '--
  • 337.
    í ' Unidad 8 -Guía Gemma Dos Grafcet separados: uno para el manipulador de carga y otro para el manipulador de marcado. En este caso hemos optado por la segunda solución. A continuación, se representan dos Grafcet independientes entre sí, pero que inician su evolución en el mismo momento, que no es otro que cuando se encuentre activado el Estado AS de la guía Gemma: Grafcet del manipulador de carga Grafcet del manipulador de marcado M9.0 M9.1 M9.2 M9.3 M9.4 M9.5 M!l.6 M!l.7 Estado A.S y 11) hay pieza sujeta enventosay hay pieza en zona carga ( M04'Wl'l 25 ) MlOO MlOl M102 NO hay pieza en lona de marcado ( t 23 ) R Ql.O Desltcttvarven� ( 120) N QO.l Ventosa h&da lzq,.Jlerda Rebrar manualmente la pieza mediante el pUsador CARGA delSimulador 30 Fig. 8.178 Ubicación en el simulador 3D de los pulsadores CARGA y MARCADO: � ....... c _ ONTR __ Ot. _ PR _ oceso _____ RE _ G _ ISTR _ os __ -�" �- ---� � MAl'llO MNUAl AVBUAS GJ!A GEl'+IA Fig. 8.179 Una vez que el sistema se encuentra en el Estado AS y se han realizado todas las operaciones manuales para liberar el proceso de posibles riesgos, se procederá a accionar el pulsador de reconocimiento o ACK, momento en el que la guía Gemma pasará su control al Estado A6. 331
  • 338.
    Unidad 8 -Guía Gemma 332 • Programa del diseño Grafcet correspondiente al Estado AS. Los segmentos 1, 2 y 3 sirven para que al entrar en el Estado AS, se inicialicen los Grafcet Fl, F2, A2, A3, FS Y F3, ya que aquí llegamos de una parada de emergencia, loquequiere decirque, cuando se ha producido, podía estar funcionando cualquier etapa. Por tanto, desactivaremos todas las etapas, pondremos en el estado O desde la marca M2.0 hasta la M8.0, y, a continuación, se activarán las etapas iniciales de todos los Grafcet. • Segmento 1 : f'uesu II c:ero de todu !as maro, de los Grafce-ts P;� � º - ;! _ .________________---< •F2_:,2;�20" - RESET_BF }-< 5 6 Fig. 8.180 p•; ,__ iE_•_________________._ F2 -< _�2: Fig. 8.182 • Segmento S: Maro u1gn1d1 a 11 et11p1 92 del Eu1do AS __, "AS _ ETAPA 9 1 " 'IW0.4 ·s,_ao VENTOSA ARRIBA" '1112.S "B1 6_PlfZA --2 BAJO VENTOSA" "AS_ETAPA 92" 111�-; s )---, __, ._______ · A - 5 --i _ E T: � Fig. 8.184 • Segmento 7: Muu ui.gnada • la etapa 94 del Estado � 'IM93 "AS_ETAPA 93• 'IWO.S ·s2_a1 VENTOSA ABAJO" --• "AS_ETAPA 94" L----------- - A 5 ---- _ ; Fig. 8.186 • Segmento 9: Marca a�ignada a ta etapa 96 del f5t.,do AS 'IM9.S "A 5 _ETAPA 9 5 " 'IW0.4 ·e1_ao VENTOSA ARRIBA" --• "AS_ETAPA 96" '!IM'l.S ; s )---, L----------- - A 5 --; _ ET: � Fig. 8.188 • Segmento 2: Actr-iac:ión de lu etapas inici1!es de los gr1ítets. de ht$ Euado, de f1,.'12. "3, FS yf3 'IMl190.2 'IIM4.0 "AlwaysTRUE" "ETAPA 4( t--�-----------------< S � �.1 ,.,,__,,I "ETAPA 77" 1-----------------l S � 'IMl.2 '---' "ETAPA 82" '--------------------< S r Fig. 8.181 1'12.0 ""6.0 tJIMJ.4 "B1 1_f1 PIE.ZA __, "AS_ETAPA � "AS_ETAPA 90" "GG_ESTADO AS" SWETA" ;s l-- ,__; -- º .__ _____ · A 5 - _ET�� .._,, Fig. 8.183 • Segmento 6: Mllrca uignadai!I la 1mpa 93 del Emdo AS 'IM9.2 "AS_ETAPA 92" 'IW0.6 "83_b0 VENTOSA DERECHA" -3 •AS_ETAPA �'-' 1--.,...----------- _ - AS -; V ? Fig. 8.185 • Segmento 8: �•rea uign1d1 11 !1 e11p1 9S del fn1do AS_______ 'IM9.4 "AS_ETAPA 94" 1 '1112.0 ·e1 1 _fl PlfZA __s SWETA" "AS_ETAPA � 1/lf---T-------- ; S r-: --• "AS- ET APA � '--------------; - R ) ____,, Fig. 8.187 • Segmento iO: Mllrca uignedt " la etapa 97 del EitadoAS 'IW0.7 "84 _ b1 VENTOSA IZQUIERDA" '!IM'l.7 -..__/ "AS_ETAPA 9-- : s )---.,, '!IM'l.6 ._,/ "AS- ET APA 96" '--------------< - R )-'-..J Fig. 8.189
  • 339.
    1 1 ) ' 1 1 1 1 1 ' 1 Unidad 8 -Guía Gemma '11'2.5 "2.0 '!iU.5 ""9.7 ·s16_P1l2A 'Mil9.D 'IIM9.0 'IIMl.4 '81 1_,M PIEZA "B1 6_)'E2'A -.5 "'A5_.llAPA 9r BAX> VEN'TOSA. "'A5_.E-1APA 90• 'A5.J'IAl'A 90'" "GG_BlAllO A5' SUUA' BAJO VENIOSA" "A5_[1.Al'A 95" t------1/1,----------.---------1 : S )--------< __, �-------- · AS _ cJ -i 1:i� :::- [1Al'A90'" ll)--------< Fig. 8.190 ..1.5 "'B10__t'1 ..1.4 "B9_t'O Fig. 8.191 'IM'IO.D '1Ml.4 MARCADOR W'I0.1 "A5_[1APA 101" 'IM1D.1 IMR(AllOR 'IM10.2 "A.S_PAPA 102" "AS_¡lAPA 100" 'c;c ;_¡:slAll() A. 'i" ABAJO" 'AS_llAPA 101 " ARRJBA' 'IW2..3 %M'I0.2 •814 Pl2A LN '"A5J.1MA 102· lor[ · Fig. 8.192 ; s )--------< 'IIM10.D ..._____·�- �� n;� 'IM10.0 "AS_tlAPA 100" lliM10.2 ; S )--------< �-------- •AS _ _ -i n;� Fig. 8.194 • Condiciones de funcionamiento del Estado A6 ;s)--------< 'IWI0.1 ...__________ .AS _ cJ -i 1;� Fig. 8.193 En el Estado A6 se lleva al sistema a la situación inicial, haciendo que se cumplan todas las condiciones iniciales. Una vez alcanzada esas condiciones, el sistema pasará al estado inicial Al y quedará totalmente en reposo. Para que todos los elementos queden en la situacióninicial, serealizaráun pequeño Grafcet para provocar que cada elemento alcance su posición inicial de forma ordenada y evitar que se produzcan choques mecánicos entre ellos. En este Grafcet se ha planteado un funcionamiento de ramas simultáneas, una para cada manipulador de los que está formado nuestro proceso, todo y que podíamos hacerlo también como dos Grafcet independientes. - Al activarse el Estado A6 se pondrán en evolución las dos ramas simultáneas, ramas correspondientes al manipulador grabador y al manipulador de carga, que realizan las siguientes acciones. Manipulador grabador: La secuencia a realizar para hacer cumplir las condiciones iniciales de este manipulador es la siguiente: o Primero nos aseguramos de tener el cilindro marcador en la posición de reposo para que al realizar el siguiente movimiento no haya un choque mecánico. o Cuando el marcador esté en la pos1c1on de reposo (arriba), hacemos retroceder al mismo tiempo el cilindro multiposicional, tanto el cilindro pequeño como grande. 333
  • 340.
    Unidad 8 -Guía Gemma 334 P '·º 1 _,,. v.l.5 "GG_ESTADO Ati" ,,11.0 "'85_c0 Ml.ll 'IIM1 1.2 PEQJcÍlO "Af,_f.TWA 1 1 2" OENTRO" Manipulador de carga: La secuencia a realizar para hacer cumplir las condiciones iniciales de este manipulador es la siguiente: o Nos aseguramos de que no existe ninguna pieza sujeta y de que el cilindro de la ventosa se encuentra en la posición de reposo. Si es así, desplazaremos el cilindro del eje horizontal hacia la derecha, su posición de reposo, y alcanzada dicha posición daremos por finalizado el proceso. • Diseño del Grafcet del Estado AG Mll.1 Mll.4 NO hay pieza en ventosa y ventosa está arriba ( 1 2.0 )( 1 0.4 ) M11.2 Q0.3 Multi pequeño entra Mll.S N Q0.2 Ventosa hacia derecha Q0.4 Multi grande entra Mll.3 Mll.6 •1 Fig. 8.195 Finalizada la ejecución de este Grafcet, se considerará que, viniendo del Estado AS y al ejecutarse A6, se están cumpliendo las condiciones iniciales. En ese momento la guía Gemma pasará al Estado Al. • Programa del diseño Grafcet correspondiente al Estado AG .,,.,,., �Ati_ETAPA 1 1 1.. 'IIM1 1 .0 ;s )------< .____________. _ M _ _ -i Ef�� Fig. 8.196 '111.2 "87_dO MI.TI GAANlE OENIRO" Fig. 8.198 W11 .3 "Ati_ETWA 1 1J" ;s )------< 'IIM1 1 .2 �-----· - Ati _ _ ....., ET:� W1 1.1 .. M_ETM"A 1 1 1" ,WT.4 "89_.0 I.W<CAOOR -· '112.0 'IIM11 .4 "8l 1 _f1 l'ElA "Ati_f.TWA 1 1 4" SJUA" W11.2 "Ati_ETAPA 1 1 2" W1 1.1 ;s )------< .____________.,.,.,__-I n;� Fig. 8.197 'JW0.4 "131 _.ao VENIUSA -· Fig. 8.199 W1 1 .5 "M_l'TWA l l .'.i" ;s )------< 'IIM1 1 .4 ._______-_,.,.,_-...... u:-� ·.__, ....1
  • 341.
    ' ' " ' . ' ' ' ' 1 ' 1 . ., ' ' ' ., ' " ·, ,...--.._ 1 . ' ' ' ' ' ' ' ' ' 1 ----.. 1 ' ' SegmentoS: 'IW0.6 º B3_b0 'IIM115 VENTOSA ºA6_.ITAPA 1 1 5º DERECHAº 'IM11 .6 "A6_ETAPA 1 1 6" .,_., ,.S ;S )--- �----------- · - A6 _ _ ....., ET;� Fig. 8.200 'liM11.3 W, 1 .6 "A6_ETAPA 1 1 3" "A6_ITAPA 1 1 6" Unidad 8 - Guía Gemma IMB190.2 "/JJwaysTRlJE" 'IIM11.0 "A6_ETAPA 1 1 0" 1---.----------1s )--- Fig. 8.201 'IIM1 1.3 "A6_ElAPA 1 1 3" 1--------< R }--- 'IIM11.6 "A6_ETAPA l 1 6" '--------I R }--- En El FC20 S_SALIDAS, realizaremos las modificaciones necesarias para que las salidas respondan a los requerimientos de los Estados AS y A6. SegM(!nto 10: 'IIM7.0 ºETAPA 70 º 'Jl,QO.O "Yl_BAJAR VENTOSAº ¡---,------------------! R )--- 'IIM7.4 "ETAPA 74" 1'M2.5 ºF2_€TAPA 25º 'IM3.0 ºF2_ETAPA 30º 'IM3A "F2_El'APA 34" '!IM9.1 "AS_ETAPA 9 1 " ""'9.5 º AS_ETAPA 95º Segmento 8: ""16.6 ºETAPA 66° Fig. 8.202 'Jl,QO.O "Yl_BA.lAR VENTOSA º i---.-------------------1 s )--- 'IIM7,2 "ETAPA 72" '!IMZ.6 ºF1_ETAPA 26º 'IIM3.2 ºF2_ETAPA 32º '!IM9.3 'A5_ETAPA 93º Fig. 8.204 • Se�rnento 13: Mi1nipul1dor de c,rg, e:je veroul e:tearo�1lvul1 bie1teblt>.Oespla:1r" pol1t1ón de carg• 'IIM75 ºETAPA 75º '!IM2.5 ºF2_ETAPA 25º 'JIM35 "FZ_ETAPA 35" 'IIM7.3 "ETAPA 73" Fig. 8.203 'Jl,Q0.2 °Y3YENTOSA A DERECHAº >--- llQ1.0 °Y9_VENTOSA º 1--------------------� • >--- 'IM3.3 "F2_ETAPA 33" --• ºAS_ETAPA 94º Fig. 8.205 335
  • 342.
    Unidad 8 -Guía Gemma 336 ,.. Segmento 11: Mlnipuledtirde c119a. e;e wri:1c,I. Electrovillvula bum.ible.o,�pk.::ara pasiciónde dncanJ• • Segmento 2: Mi1nipulodorde grebido.Ej• wrtiul.Electn:Mllvula b11!�tablec: o :c ,.¡c- ,n rs d~ , ,-. ,� � ,-�--- llMJ.1 "ETAPA 7 1 " 'IIQ0.1 "Y2_/fNTOSA A tzQUEROA" 'IIQ0.7 "Y8_SU81R PIMRCADOR" 1-----.---------------1 )------< )------< 'IM3.1 "f2_ETAPA 31" Fig. 8.206 '11,M;.5 "ETAPA 55" 'iloM6.1 "ETAPA 61" 'IIM:1.1 "F2_ETAPA 2 1 " W10.1 "A5_ETAPA 1 0 1 " Fig. 8.207 ,.. Segmento S: M!ntput.ldorde grab.sdo.E¡e 'ertiail.e_re horucni:.lqrande- yl)'qUll!ño. Re'tnxeder 111¡u 'IIM4.7 "ETAPA 4r 'IIQ0.4 "YS_ M.lTlPOSICIONAL GRANDE" 1--,------------------i R )------< 'IIM:1.2 "F2_ETAPA 22" 'IIQ0.3 "Y4 M,l TlPOSICIONAl PEQUEílO" 'liM11.2 1------------------/ R )------< "A6_ETAPA 1 1 2" Fig. 8.208 La indicación de que está activado el Estado D1, AS y A6 2, se verá reflejado en la baliza con el funcionamiento intermitente rápido del piloto rojo. Para ello, modificamos este segmento en el FC20 (S_SALIDAS). • Segmento 19: Piloco dt- 1eñehmc1ón roto 'IIM>.O "GG_ESTAOO A1 " 'AM:l.1 1'íM8191.5 "GG_ESTADO A2" "Ckxk:_1 Hz" �J 'IIM1 .3 '11Ml191.2 "GG_ESTAOO D 1 ' "Clock_25Hz" 'IIM>.4 "GG_ESTAOO A5" 'IIM>5 "GG_ESTADO A6" • Modificación del Estado AS Fig. 8.209 Al incorporar el Grafcet A6, cuando accionemos el pulsador de emergencia, puede estar funcionando el Grafcet del Estado A6, con lo que al entrar en el Estado AS hemos de proceder a su inicialización. Por lo tanto, añadimos el siguiente segmento al FCS. '-' . ._, '-'
  • 343.
    � ' � ' ' ) ) "' 1 ' 1 í 1 ' ,, 1 í VJ8190.2 "MwysTRUE" Unidad 8 -Guía Gemma -190.2 llM1 1 .0 "AlwayslRUE" "A6_ETAf'A 1 1 0" � 1 ------------------<(S }--, llM1 1 .1 "A6_ETAPA 1 1 1 " '-----------------l( SET_BF )-- 6 Fig. 8.210 • Inicialización en el OB100 de los Grafcet de los Estados AS y AG En el OB100 añadiremos estos segmentos para inicializar los Grafcet de los Estados AS y A6. ......0 "AS_ETAPA 90" 'YIMB190.2 W11.0 "AlwaysTRI..E" "A6_ETAPA 1 1 0" 1-----------------1 S )-- � 1 -�---------------i(S }---< ......1 "AS_ETAPA 9 1 " 1---------------i RESfT_BF )- 1M'IO.O "A5_ETAPA 1 00" 1----------------< S )-- 'IM10.1 "AS_ETAPA 1 0 1 " '--------------{ RfSET_BF }- 2 Fig. 8.211 ......,,., "AfJ_ETN'A l l l " '-----------------i ( RESET_BF f-, Fig. 8.212 • Guía Gemma de los Estados D1, AG y AS Podemos observar que la flecha que llega al estado del D1 no tiene una procedencia concreta. Eso querrá decir que, desde cualquier estado, si se cumple la transición de accionar el paro de emergencia, se activará dicho estado y se desactivarán el resto, ya que como se ha indicado anteriormente, puede proceder de cualquiera de ellos. Al activarse este Estado D1, el proceso se llevará al llamado «Cero de máquina», es decir, que el proceso entrará en una situación de no producción durante el tiempo que lleve hasta que se recupere la avería, situación totalmente indeseable en cualquier proceso productivo y que en rara ocasión se debe generar. Si se produjera, se debe tener en cuenta en el programa para intentar tratar de forma automática esta situación. La Guía Gemma indica que al Estado A6 se puede acceder bien mediante el Estado AS, al que se explica más adelante. En este caso hemos previsto que se cumpla la condición de haber accionado el pulsador S23. Una vez que hayamos pasado al Estado A6, se ejecutará el Grafcet de inicialización, con lo que todos los elementos se pondrán en el estado inicial. Una vez que se haya ejecutado el Grafcet del A6, y por lo tanto ya esté todo el sistema en su posición inicial, pasaremos automáticamente al Estado Al, con lo cual el sistema quedará en estado de reposo y preparado para iniciar un nuevo ciclo. 337
  • 344.
    Unidad 8 -Guía Gemma 338 GENERICO APLICADO A6 Al A6 M0.5 Al MO.O FC6 FC1 Puesta del sistema en el Puesta delsistema en el estado inicial Parada en el estado inicial estado inicial Parada en et estado inicial Flnalluda la ejecución del Grafcet A6 Esta activada ta eta� Inicial del Grafcet A6 ( MU.O (FPJ ) Pul�r ACK PUl$i:lr ACK ( 1 3.1 (FP) ) AS AS M0.4 FCS Preparación para la puesta en marcha después de un defecto Preparacíón para la puesta en marchadespués de un defecto P.aro de emergencia dtsenclavado P.¡aro de emergencia desenclavado ( 1 O.O ) Paro de emergencia enclavado Paro de etMrgenelaenclavado ( 1 O.O ) D1 D1 Ml.3 FC7 Parada de emer1encla Parada de emereencla Fig. 8.213 Fig. 8.214 A continuación, añadimos al Grafcet de la guía Gemma los Estados D1, AS y A6, con lo que queda de la siguiente manera: M1.3 Ml4 M:l.5 Fig. 8.215 ver !cad con J '----'.
  • 345.
    : 1 ' ' ' ' 1 ' l 1 ' 1 1 Unidad 8- Guía Gemma Programa en el FC0 GUIA GEMMA de los Estados D1, AS y A6 • Segmento 30: Ern1do de par•da d" e11",erg,e c c � cc ;• ____�-��-�-� 'IIIO.O � -3 El,ERGENCIA" "GG_ESTADO 01 · l--v l/"1--.---------------, s }----< 'IM!.O .GG_ESTADO A1. 1----------------< RESET_Bf }- 1 1 --• "GG_ESTADO 02" '------- - -------, R }----< Fig. 8.216 • Segmento 32: Llu1•ada a l;r, 1ubNttr1• ::: •• : " ,;;:; "' ::: "º :: º :: ' :::'.:��-��-�-- !"GG_ :::' � 0 1 " •01 PARA.DA EM:RGENClA., � f--- EN ____ ENO --------- Fig. 8.218 • Segmento 34: Ll•n-•d• • Wi 1ubn.rnl'¡ aiel Es�edo M .,_., 4' '"AS PREPARAC1ÓN PUESTA rAOOAS EN PM.RCHA· f--- EN ENO --------- VA>.4 "GG_ESTADO A S Fig. 8.220 '113.1 "SS_PJ.SADOR 'IM>5 AOC "GG_ESTADO A6" P t--- 1 r---------i ; S )--- 'IM2.34.1 "FUNCO 34" 'IIMl.4 ._ ________ _ . _ GG _ _ , ES:� Fig. 8.222 •A6 PUESTA Al ESTA00 IMOAl'" ENO ----- Fig. 8.224 'IIIO.O -3 "SO_ 'IIMl.4 .GG_EST AO O AS "GG_ESTAOO 0 1 " El,ERGENCIA" '-- -------- - •G _ G _ _E , � � -= Fig. 8.217 'IIQS.3 ,W, .3 "H1 8_ESTAOO TAOO t-- 0 - 1" ------ -------; 01" }----< Fig. 8.219 • Segmento .'35: 'IIQ4.4 VA> 4 "Hl l _ESTADO T AO O I- . _ AS ____________--{ ,s)--- Fig. 8.221 • Segmento .37: EH111fode pu,�t.1dels1srie"' - ' - '' - " - "' - º ""' - •' ----- F 5 1 -�- W.,, 1 .0 VA>.O "A6_ETAS'A 1 1 0" "GG_ESTADO Al" �=�S .__________"G _ G _ � , ;:: Fig. 8.223 'IIQ4.S VA>.S "H1 2_ESTADO TADO t----- A6" ------l A6� Fig. 8.225 • Comprobación del funcionamiento de los estados D1, AS y A6 Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim. A continuación hemos de abrir el simulador 3D y visualizar los paneles CONTROL PROCESO, GUIA GEMMA y REGISTROS. Es importante recordar que, una vez arrancado el simulador 3D y antes de probar nada, hemos de pasar el PLCSIM en primer lugar al estado RUN, primero pulsando el botón STOP y después pulseando el botón RUN. Dado que al ejecutar el programa en el PLCSim y como aún no ha conectado con el Simulador 3D, no detecta señal de la Seta de emergencia, por tanto, entra directamente al estado D1, pero al conectar con el Simulador 3D, éste se encuentra 339
  • 346.
    Unidad 8 -Guía Gemma Recuerda • • • El estado F4 de la guía Gemma facilita poder manipular los actuadores del proceso de forma manual e independiente, pero con control de posibles choques mecánicos. 340 en la posición inicial, y detectará la señal de la Seta de Emergencia, por tanto, pasará automáticamente al estado AS, a continuación, tan solo bastará accionar el pulsador de ACK para que la guía Gemma pase al estado Al. En el panel Estado de la Guía GEMMA podemos ver que en cada estado hay un piloto, que quedará activado cuando el estado correspondiente se encuentre activo. En la figura se observa cómo el del Estado Al está activado, de color verde, y corresponde a la salida Q4.0 (H7_ESTA0O_Al). Para la comprobación del funcionamiento de los Estados AS y A6, pasaremos el proceso de forma que pueda situarse en el funcionamiento normal o estado Fl. Ahora y en cualquier momento se podrá accionar la seta de emergencia, instante en el que se situará en el Estado 01. Para salir de este estado y pasar al Estado AS, tan solo se deberá hacer cumplir que la seta vuelva a estar desenclavada. La guía Gemma pasará el control al Estado AS y se deberá observar cómo se realizan los movimientos establecidos para poder liberar la pieza de forma que se pueda extraer del proceso de forma manual. Para ello utilizaremos los pulsadores CARGA y MARCADO que se disponen en el panel principal del Simulador 30. Finalizado el Grafcet implementado para el Estado AS, se deberá accionar el pulsador ACK, de forma que durante el flanco positivo de su activación, la guía Gemma pasará al Estado A6. En el Estado A6 se realizarán todos los movimientos de forma ordenada y controlada para que no existan choques mecánicos hasta que el proceso alcance la posición de cumplir las condiciones de inicio. Finalizado el Grafcet asociado al Estado A6, se activará de nuevo su etapa inicial, ya que en el flanco positivo de su activación es cuando hará cumplir la transición parapasar la guía Gemma al Estado Al. 8.2.8 Guía Gemma del Estado F4 (Marcha de verificación sin orden) En el Estado F4 el procesorealiza las operaciones, todos los movimientos o algunos, normalmente debido a órdenes manuales del operador. Se suele utilizar para funciones de verificación o de mantenimiento. En este caso, mediante el mando manual del Simulador 30, hemos de preparar el programa para poder forzar los diferentes actuadores del proceso. Para ello realizaremos un programa en el que utilizaremos los selectores monoestables (funcionan como pulsadores) para las electroválvulas biestables, uno para cada movimiento, y los selectores biestables (funcionan como interruptores) para las electroválvulas monoestables. • Condiciones de funcionamiento del Estado F4 Al realizar el programa hemos de tener en cuenta: - Los posibles choques mecánicos que pueda haber entre los cilindros. Por ejemplo, el cilindro que contiene la ventosa no podrá desplazarse hacia la derecha o hacia la izquierda si el cilindro no se encuentra en la posición de reposo. - Que al entrar en el Estado F4 no se realice movimiento alguno de ninguno de los dispositivos, hasta que el operario dé la orden. -----
  • 347.
    ' ' ) ' ' ' ) ,,---, ' ' ' ) ' ' QUIERDA. 'IW0.4 ·a1 _ao VENTOSA ARRIBA• 1------1 Unidad 8- Guía Gemma Podemos observar cómo en el momento de programar, las electroválvulas monoestables están tratadas con SET-RESET y flancos positivos y negativos. Esto debe ser así porque el control manual se realiza mediante selectores biestables. ¿Porque lo hemos de programar con flancos? Imaginemos que hemos realizado el programa sin flancos y el S9_MANUAL VENTOSA BAJA (10.4) se encuentra desactivado, estado de reposo del selector. F º 1- ª- "l( ---------------- � -i � � 2- '1114.0 'IIQ0.0 •59_-¡!'t -Yl _BAJ,'ft ENTOSAI- BIJ _ K _______________----i WTOSK . [R )-- Fig. 8.226 Si en este momento nos encontramos en el Estado Fl y en ese instante la salida Q0.0 está activada por la producción normal, tendríamos el cilindro de la ventosa en posición de avance. Si en este momento cambiamos del Estado Fl al Estado F4, en el estado F4 ejecutaría el programa anterior de los dos segmentos y como el registro 14.0 está desactivado, según lo programado en el segundo segmento, se activaría el RESET de la salida Q0.0. Esto implicaría que la ventosa realizaría el movimiento para alcanzar la posición de reposo, lo que significa un movimiento considerado inesperado, ya que ha realizado dicho movimiento sin ninguna acción manual por parte del operario. Por tanto, se comprueba que, al utilizar flancos, al cambiar y pasar del Estado Fl al Estado F4, el cilindro de la ventosa no realizará ningún desplazamiento. • Programa correspondiente al Estado F4 Según la programación del manual, podríamos implementarlo en el FC20 S_SALIDAS, pero en este caso lo realizaremos en el mismo FC12 F4 MANUAL. En este estado no se realizará la llamada al bloque FC20 S_SALIDAS para no producir órdenes contradictorias. Fig. 8.227 'l,Q0.1 -Y2_VENTOSA A IZQI.AEROA" )-------< ;� RECHA" 'IW0.4 ·e1 _ao VENTOSA -· 1-----i Fig. 8.228 'l,Q0.2 "Y3_VENTOSA A DERECHA. )-------< � t- � - - --------------- � -i � =· ��� N >-------------------< R }-- 'IM!34.3 1.ANCO 36" Fig. 8.229 ?s� -Y9_ -:; 0SA" P t------------------i S )-------< '!W234.5 1.ANCO 38" Fig. 8.231 'IM!34.4 1.ANC0 37" Fig. 8.230 ?s� -Y9_ �� 0SA" N l----------------� R )-------< llM:134.6 1.ANCO 39• Fig. 8.232 341
  • 348.
    Unidad 8 -Guía Gemma 342 • Segmento 7: M11nipuledor df' gr1b1do. EJf' oemnl. •je hori:cnt1I �qudio. f.lemonlvula monoHublt> Oe,plnu �:.L '111.4 "B9_eo MRCADOR ARRIBA" '!IQ0.3 "Y4_ t.UTIPOSICIONAL PfQUEÑO" P f-------i 'IIM234.7 1----------------i s )-----< LANCO 40" Fig. 8.233 • Segmento 9: Mlniput,dor de grabado. E.jr v,:rtiul. e}r hofi::ont1l gr1nde. EIMtroV1lvul1 monoHttble- Dnpla:Jllr e_ ��- '1111.4 "B9_eo MARCADOR ARRIBA" 'IQ0.4 "YS_ "-l.TIPOSICK>NAL GRANOE" P t-------< """235., t----------------1 s )-----< LANC0 42" Fig. 8.235 • Segmento 1 1 : �nipulador df' grabado. fjt- Wt11CJI. ElecuovaliJII biHtabl,: Orden dt- b1¡1r '1114.6 "51 5_MINUAL BAJA MARCADOR" '1111.0 ·ss_co MJLTI PfQUEÑO DENlRO" '1111.2 "B7_d0 t.UTI GRANDE DENTRO" 'IQ0.6 "Y7_BAJAR MARCADOR" 1 1_� .. 1 -r 1 M..l.TI "B8_d1 MJLTI . UEÑO GRANDE FUERA UERA" Fig. 8.237 • Segmento 1 3: Cinta pi,::a,. lopH s1!id1 pn�ziu dt cona pir111s. E.l,:ctrov1lvu!1 monotsublr.Acov11toprs '1114.S MANUAL '!IQO.S OPf" "Y6_TOPf" P 1---------------------; s )-----< '!IM235.3 LANCO 44" Fig. 8.239 • Segmento 1 5: Motor c1nu p1e?11, ..2.7 � I- E'i" _ A _ � _ - _ _ � _ , _ º � --1 ·:� l- c t _ zAS _ N _ . _____________ �� -M. ""1::r¿ 'IM235.S LANCO 46. Fig. 8.241 ,. Segmento 17: Momrcinra p1teu ---------�•-�--------� '1113.0 '1115.1 'F2_ 'IQ1.1 MNUAL PROTECCK>N "Kl M_WTOR :• � A L - E _ r __ "'° _ 1 _ o ; R P � A L - m _ · _____________ c _ � -1 TA :� 'IM235.7 LANCO 48" Fig. 8.243 ,. Segmento 8: Manipul,dor de grabedo. fje nniul. e¡e- homonul pe-que-i,o. ElectroV1IYul1 mon0Ht1b�. Oespl1a'f-" �{: 1Jii1.4 "B9_e0 MARCADOR ARRIBA' '!IQ0.3 '-.../ "Y4_ M.Jl TIPOSICIONAI PEQUEÑO. ,.._..," N t-------< 'IM235.0 1----------------I R )-----< -...._.; LANCO 41 " Fig. 8.234 J ,. Segmento 10: �•nipulador de grebado. fJe vertic1I. eje hori:onal grande ftecmw11w1• monoestable. Ocspla:21r ��- �1.4 "B9_eo �CADOR ARRIBA" '!IQ0.4 '-.../ "YS_ WL���NAL J N f--------1 'IIM235.2 1-----------------I R j-----, '-.../ LANCO 43" Fig. 8.236 ,. Segmento 1 2: Mlmpul1dor de gr1b1do. EJt '<tnical.Elec:tro,,,alvul1 biesubit. Orden de subir l·s1 6 � � : º _ � _ - ___________________ MAR _ ,. _. � :- � � � '-.../ Fig. 8.238 ,. Segmento 14: Cin11 p1e.:u TopH utidt pie.:u dt: c:onu piezas Elcc:�111l11ul1 monoutablt.Ac:tiVartopu �UAL '!IQO.S OPf" "Y6_TOPf" '-.../ N l---------------------i R )-----< 'IIM235.4 NCO 45" Fig. 8.240 ,. Segmemo 16: Motorcinu piuu '1115.0 'IQ2.0 -...._.; "S 1 7_Mo.NUAL "K2M.J1,0TOR t,OTOR �EZAS" C � TA �EZAS" N l--..-------------------; R )-----< � 'IM23S.6 "FLANCO 47" '1112.7 "fl_ PROTECCION MJTOR PIEZAS" ,. Segmento 18: Motor cinu ptleu. Fig. 8.242 '1115.1 'IQ1.1 '51 8_MANUAL 'K1 M_MOTOR V WTOR PALEr CINTA PALEr N i--�-----------------{ R )-----< J '!IM236.0 "FLANCO 49" '1113.0 "F2_ PROTECCION MJTOR PALElS" Fig. 8.244
  • 349.
    ) ) ) Unidad 8 -Guía Gemma 'IMB190.2 'lfM.O 'IIMl190.2 __, "AlwaysTRUf" "ETAPA 40" "AlwaysTRUf" "ETAPA 41" >--�-------------------1 s }--------< r--r------------------1 RESET_BF r 30 F1 'INl.1 .ETAPA 77• r------------------1 s }--------< 'IIMl.2 •ETAPA Br '------------------1 s }--------< Fig. 8.245 • Guía Gemma con el Estado F4 'IIMI.D "ETAPA BO" r-----------------1 RESET_BF r 'IIMl.3 "ETAPA 83" '-----------------¡ RESET_BF r Fig. 8.246 Para la implementación del estado F4 Marcha de verificación sin orden de la guía Gemma en el PLC, nos fijaremos en la guía Gemma general representada en el apartado 8.1.2. En ella se observan las diferentes transiciones de activación y desactivación de este estado: GENÉRICO Fig. 8.247 -·­ ·-.. ...FS F1 APLICADO Fig. 8.248 �·---­ _,.._ SMIIUI F4 FC12 FS MU FClS o Como podemos observar, podremos acceder al Estado F4 desde otros tres estados, el Al, el Fl y el FS, explicados anteriormente. o Estando en cualquiera de estos tres estados, si accionamos el pulsador S20, activaremos ese estado y desactivaremos el estado del cual procedemos. A continuación, añadimos al Grafcet de la guía Gemma el nuevo estado incorporado, el Estado F4: 343
  • 350.
    Unidad 8 -Guía Gemma p·º 1 ,_" 344 ..5.3 ·s20· 1 MO.O M0.6 M0.1 Ml.3 M0.4 FCO Parada en el estado lnlclal FCll Marcha de cterre Orden de marcha de cierre N FC7 Parada de emergencia Orden de marcha de verificación sin orden MO.S Ml.l Fig. 8.249 Orden de marcha y NO cumple M0.7 N ��!�a de preparación Finalizada la ejecución de! grafcet de F2 Auto / Man en ON Orden de puesta del sistema en estado inicial Au10/ Man en ON Orden de marcha de verificación sin orden Ahora, y tal comohemosindicadoanteriormente, cuando estén activados cada uno de los estados de la guía Gemma, tendremos activado un piloto en el panel de la guía Gemma del simulador 3D. En este caso hemos añadido el del Estado F4. • Programa en el FCO GUIA GEMMA El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede implementado el estado F4 con las entradas y salidas se indica a continuación. Se añadirán además los segmentos 46 y 47, donde se inicializa el Grafcet implementado en los estados Fl y FS, por si se diera el caso de que la activación del estado F4 procede de uno de ellos: ...,_, " GG _ E STAOO F4• • Segmento 41; E.5-tado de wrifíc,�ión J.in orden p·· ...,_, "GG_ESTAOO F4" ;s}------< '!IMl.O ____________ ' G _ G _ _ -, E5T � 1 ,_,,. ;s }------< '!IMl.6 ____________ • G _ G _ _ --, E5;� Fig. 8.250 Fig. 8.251
  • 351.
    ' 1 ' 1 1 1 1 ' ' ' ' 1 ' 1 ' 1 ' ' ' Unidad 8 -Guía Gemma • Segrnento 42: ftt11dodr venlitaci6n ,in o _ "'• - •------- 1'1M1.2 '115.3 IIM't.1 __, "GG_ESTADO F4" 'IMJ.S "GG_ESTADO A6" -GG_ESTADO Fs· ·s20· "GG_ES1ADO F4" � f- 1 �---------l ; S )------< 'IMl.2 �--------º - GG _ _ -< ES:� ; s )------< ...,_, .__________· _ GG _ _--i m� Fig. 8.252 Fig. 8.253 • Segmento 44: Uamad• = • '= "= "'= ru>= •• ::;; '"' ;;; ':;; 'm;::: do= f4====,---- 1 "GG__:: � F4" P '!IQS. 1 W'l 1 "H1 6_ESTADO TADO ,_ · _ F4 _ " _____________,F4")------< 1 f--- E_ N _______ EN� O --------- Fig. 8.254 Fig. 8.255 Tal como hemos comentado anteriormente, en el FC12 F4 MANUAL realizaremos el programa de funcionamiento de las salidas. Como las salidas no se pueden repetir, hemos de hacer que, mientras se encuentre activo el Estado F4, no se ejecute el FC20 S_SALIDAS. Para ello realizaremos la siguiente modificación en el programa del segmento 2 del bloque de organización 0B1. • Segmento 2: Uom•d• ol FC.20 Solidas "IMl.1 'GG_ESTADO f4' 'S_SAI.IOAS" --◄ � ,, A ,__-<>- EN ENO ---------------_, Fig. 8.256 Por otro lado, elpiloto amarillo de la baliza ha de señalizar de forma fijasiestá activado el Estado F4, y de forma intermitente si el disyuntor de alguno delos dos motores está disparado, dando prioridad en la señalización al disparo de los disyuntores. Para ello, dentro del FC12 (Estado F4)programaremos el siguiente segmento: • Segmento l9: f'lloto de ¡rñalbtt16nam _ ,n1 _ 1o ___________� '112.7 "Fl PROlECCJON WTOR PEZAS" ..U3.0 ·n_ PROTECCION UJTOR PAUlS" 'JIQ2.1 "HO___.AtN.RUO" ,_____, 1- J �-----------<( )-- '112.7 "f1_ PROTECCK>N 1JiMl;191 S ,__ "" _ m .... • ,. PEZ _ AS _ · _· _ c1oc .... k...1 Hz· 'JIIJ.O "f2_ PROTECCION U'JTOR PALm" Fig. 8.257 Si nos encontramos en el Estado F4, para salir de él hemos de accionar el pulsador S23. Entonces la guía Gemma pasará a situarse en el Estado A6, que ya había sido utilizado anteriormente cuando pasaba del Estado D1 al AS y de este al A6. Entonces se realizó un diseño del Grafcetconlo necesario hastaese momento, pero ahora deberá ser más completo, puesto que desde el mando manual, Estado F4, el proceso se puede haber quedado en cualquier posición. • Condiciones de funcionamiento del Estado A6 Al activarse el Estado A6, cuando viene del Estado F4, se pondrán en evolución las dos ramas simultáneas que corresponden al manipulador grabador y al manipulador de carga. Realizarán las siguientes acciones. 345
  • 352.
    Unidad 8 -Guía Gemma 346 Manipulador grabador: Tenemos una solo secuencia que funcionará de la siguiente forma: - Primero subirá el cilindro marcador para que, al realizar el siguiente movimiento, no haya un choque mecánico. - Cuando el marcador esté en la posición de reposo (arriba), hacemos retroceder al mismo tiempo el cilindro multiposicional, tanto el cilindro pequeño como el grande. Manipulador de carga: Tenemos unas secuencias alternativas y, por tanto, pueden ocurrir dos cosas: - Secuencia 1: que haya pieza sujeta por la ventosa. - Secuencia 2: que NO haya pieza sujeta por la ventosa. Secuencia 1: - Si la pieza está sujeta por la ventosa, el cilindro del eje vertical con la ventosa deberá ir a la posición de reposo (arriba). - Cuando el cilindro del eje vertical con la ventosa se encuentre en la posición de reposo (arriba), mediante el eje horizontal, la ventosa se desplazará hasta alcanzar el eje horizontal la posición de avance (izquierda), además de poner en funcionamiento el motor de palets. - Cuando el cilindro del eje horizontal se encuentre en la izquierda y se encuentre un palet en la zona de carga, entonces, el cilindro del eje vertical con la ventosa descenderá a su posición de trabajo (abajo). - Cuando el cilindro del eje vertical con la ventosa se encuentre abajo, se desactivará el vacío de la ventosa para liberar la pieza. - Cuando se haya liberado la pieza, lo que se detectará mediante la ausencia de vacío, el cilindro del eje vertical con la ventosa volverá a su posición de reposo (arriba). - Cuando el cilindro del eje vertical con la ventosa se encuentre arriba, el eje horizontal se encargará de desplazar la ventosa hacia su posición de reposo (derecha) hasta alcanzar el detector de la derecha. Secuencia 2: - Si no hay pieza sujeta por la ventosa, el cilindro del eje vertical volverá a su posición de reposo (arriba). - Cuando el cilindro del eje vertical de la ventosa se encuentre arriba, el eje horizontal se encargará de desplazar la ventosa hacia su posición de reposo (derecha) si es que no lo está. • Diseño del Grafcet del Estado A6 Este Grafcet se basa en un diseño de bifurcación en Y, donde intervienen dos ramas que funcionarán en paralelo, una para el manipulador de grabado y la otra para el manipulador de carga. J J J
  • 353.
    ' í ' ' ' í ' ' ' 1 ' ' Unidad 8 -Guía Gemma MU.O NO My pleia en ventosa { l 2.0 ) Mll.S R Q0.0 Sube ventOS,1 0.4 Mll.6 N Q0.l Ventosa h.icl1 1zqu1erd;i s Q0.0 Ventosa baja 1.0 Ml2.l R Q0.0 Subeventosa Ml2.2 N Q0.2 Ventosa hacl, óerec;ha Fig. 8.258 Una vez el sistema se encuentra cumpliendo las condiciones iniciales, el control de la guía Gemma deberá pasar de forma automática al Estado Al, deteniéndose el proceso en su estado inicial. • Modificación del programa del Estado A6 .,. Segmento 1: INfCJOl!,lfUflCAOÓNEN "r ""lli.C1Ófl tap.111 yt>a¡,, lUydtUt?Jo1Ó6neuip1 110.. 4'M11.0 'IM>.S "A6_E1APA 1 1 0" "GG_ESTADO M" "'-t11.1 "A6_f:TAPA 1 1 1" ¡---,--------------; s )------, 'IM11.4 'A6_ITAPA 1 14" f-------------< S )-- 'IM11.0 'A6_fTAPA 1 1 0" �-----------�,>-- Fig. 8.259 • Segmento 2: """1 1.1 "A6_ETAPA 1 1 1 " .., .4 "B9_eo """CADOR ARRIBA" """11.2 "A6_ETAPA 1 1 r 'IM11.1 ; s }----< �------------- A.6_-..... n;� Fig. 8.260 "" Segmento 3: MAN!PUUOOROf GAABADO. Activeción et1p1 113 ydeuctiv1cion e11pa _ 1 _ 12 _ .____ _ .,.. Segmento 4: MAUJPULADORDE CAAGA. Arm1c16n et1p1 1l5 ydes1cnv1ción _ , _ ., _c_ P• - ' - " - ·---�-� """1 1.2 "A6_ETAPA 11 r 1'11.2 "87_dO M.ll.Tl GRANDE DENTRO" Fig. 8.261 """1 1.3 "A6_ITAPA 1 1 3" ; s }----< """11.2 �------·A.6_ -...,n;� """1 1 .4 "A6_ETAf'A 1 1 4" lll0.4 ·e,_ao VENTOSA ARRIBA" """115 "A6_ETAPA 1 1 5" ""'1 1 .-4 ;s }----< .____________·_ A.6__-(n;� Fig. 8.262 347
  • 354.
    Unidad 8 -Guía Gemma 348 • SegrtJl!'nto S: ir.M'l 1.5 "A6_f:fAPA 1 1 5" ..., 1.7 "A6_ETAPA 1 1 7" 'IM12.1 "A6_ETAPA 1 2 1 " 'IW0.4 ·e1 _ao VENTOSA -· 'IW0.5 "B2_a 1 VENTOSA !,BAJO º 'IW0.4 "B1 _ao VENTOSA -· 'IM11.6 .A6_ETNA 1 1 6. ..., 1 s ; s )--- .____________ ·M _ _--i fT:� Fig. 8.263 ...,2.0 "Aó_HN'A 1 20" ""1 1 .1 ; s )--- '-------------- ""_---l rr:� Fig. 8.265 ...,2.2 "A6_fTAPA 1 2r W12.1 ;s )--- '-------------- ""---1 fT:� Fig. 8.267 ..., 1 .6 "AfJ_ETAPA 1 Ht 'IW0.7 "84_b1 VENTOSA IZQUERDA" ..2.0 'rDM1 1 .7 "Afi_ffAPA 1 1 , - ..., 1.6 ; S )---- .____________ . _ M _ _ --I ET:� Fig. 8.264 ...,2.0 "B1 1 _f1 PIEZA ...,2.1 "A6_ETAPA 1 20" SUJETA" "A6_ffAPA 1 2 1 " 1/1--------------' ; S )---- ...,2.0 .____________._ "" _-_, ET:� Fig. 8.266 • Se9m�nto 1.0: MVJIPULJD()ROf �lw::tiv.Ki6n �w.pa 1 Zl yd.e•;JClNdcfÓn i!!i:.lpa _1 _ 2 _ 2.______ ...,2.2 "Af5_ETAPA 1 22" 'IW0.6 "BJ_bO VfNIOSA DERECHA" ...,2.3 "M_HAPA 1 23" ..., 2.2 ;s )---- .____________ ·M _ _ --I ET:� Fig. 8.268 • Segmento 11: MINIPUI.ADC)ROE c:.AAl�Activ.1,:ión �wpa 1 .U yd1m1ctNlción�,.,p.1 _ 1 _ 1 ...c •·------' 'JIM1 1 .4 "A6_f:fAPA 1 1 4" 1 IJW2.0 'liM1 1.3 W12.3 'IIM8190.2 "B1 1 _f1 PIEZA ...,2.1 "A6_ETAPA 1 1 3" "Añ_ETAPA 1 23" •Alw<ly,111JE" %"'11 1 .0 "A6_ETAPA 1 1 O" '-----------'S )--- SUJETA" "A6_ETAPA 1 2 1 " �1i--------r---------l ;S )---- ..., 1 .4 '------------ ·M _ _ ....¡ ET:� Fig. 8.269 W1 1.3 "A6_ETAPA 1 1 T 1--------I R )---, W12.3 "M_HAPA 1 23" '--------I R )---, Fig. 8.270a • Modificación del Estado AS y del 08100 Al incorporar el nuevo Grafcet de A6, podemos ver que, sin contar la etapa inicial, tenemos un total de 11 etapas. Por lo tanto, modificaremos el segmento 16 del FCS y el segmento 7 del OB100, con el fin de modificar la instrucción RESET_BF para que, en lugar de resetear seis etapas, se reseteen 11. FCS 0B100 -190.2 'IIM1 1 .0 "Alway,1RUE" "Af,_ETAPA 1 1 o· � 1 -----------------i(S )----< %M'l 1.1 ....,J '!1,M1 1 .1 "A6_ETAPA 1 1 1 " "M_ETAPA 1 1 1 " '-.,,,/ '-------------------l ( RESET_Bf }-< 1 1 Fig. 8.270b '------------------l (RESET_Bf )-< Fig. 8.270c 1 1 '-../
  • 355.
    ' ' ) ' ) ' ' ' ' ' ' ' ' ' ' 'IIM4.3 "ETAPA 43" --• "ETAPA 46. 'IM5.5 cTAPA5S __, -e-TAPA 6 1 • 'IIM2. 1 "f2_ETAPA 21 " 'l,M10.1 "AS_flAPA 1 0 r ....,,_, .A/j_flN'A 1 1 1 • '!IM7.1 "ETAPA 7 1 • """3.1 "f2_ETAPA 31" --• "A5_ETAPA 96" ....,,_. •A6_ETAPA 1 1 6. '!IMJ.3 "ETAPA 73" • Modificación del programa del FC20 S_SALIDAS ""'·º "ETAPA 70.. Unidad 8 - Guía Gemma --º -YI _SA.Wt �TOSA. ,--�-----------------IR )-- Fig. 8.271 Fig. 8.273 'IQ0.1 -Y2_VENTOSA A IZQI.ERDA" 'IIQ1.0 "Y9_VEN10SA" --• "UAPA 74" ""'1.5 ,=2_ETN"l 1S ...... "Fl_ETAPA JO" ""'11.5 "A6_ETAPA 11 '5" --• "ETAPA 66" Fig. 8.272 'IIQO.O -YI _BAJAR VENroSA· ,-.------------------1s )-- ,.,,,,_. "F2_€TAPA .20" 'IM'l.3 "AS_ETN"A 9T V..1 1.7 "NJ_'ETAPA 1 1 r Fig. 8.274 1---�-----------------IR )------, '!IMJ.5 "ETAPA 7S' 'IQ0.2 'Y3_V!cNTOSA A OERECHA" """3.3 "f2_ETAPA JT --• "A5_ETN'A 94" 'l,M12.0 "Af:J_ETN'A 1 20" Fig. 8.275 'IIM2..5 9f2_ETAPA 25" """3.5 "f2_ETAPA JS 'l,M12.2 •M_ETAPA 1 22" Fig. 8.276 349
  • 356.
    Unidad 8 -Guía Gemma 350 Control del proceso • Comprobación del funcionamiento del estado F4 Para poder comprobar el funcionamiento, debemos primero transferir el programa al simulador PLCSim. A continuación, hemos de abrir el simulador 3D. Pulsaremos los botones CONTROL PROCESO, REGISTROS, MANDO MANUAL y GUIA GEMMA, y con ello se nos abrirán los tres paneles que necesitamos para probar el ejercicio. Es importante que, una vez arrancado el Simulador 3D, antes de probar nada, en el PLCSIM primero pulsemos el botón STOP y después pulsemos el botón RUN. Por el mismo motivo que se indicó para comprobar los estados D1, AS y A6, es convenienteaccionarelpulsadorde ACK alejecutarel simulador 3D para posicionar la guía Gemma al estado Al. Mando manual Estado de la Guia GEMMA (1 IJ ■r. ��� EMER�CA PARO MARO.A AUT!MAN ACK MI 11 1111 ■ 11< Fig. 8.79 Fig. 8.277 Fig. 8.101 Al pasar el PLCSim de STOP a RUN, en el panel Estado de la Guía GEMMA, se observará cómo el sistema se ha iniciado desde el Estado Al y muestra en verde su piloto asociado que corresponde con la salida Q4.0 (H7_ESTADO_Al). Ahora podemos pasar el control de la guía Gemma directamente sobre el Estado F4 para conseguir el control totalmente manual del proceso. Para ello, basta con accionar el pulsador S20. En este estado podemos provocar la activación de cualquiera de los actuadores que intervienen en el proceso, como son las electroválvulas que controlan los diferentes cilindros y los motores. También podemos entrar al Estado F4 desde el Estado Fl o el FS. Lo que podremos observar en ese caso es que, al entrar al Estado F4, no se produce ningún movimiento en los cilindros hasta que actuamos manualmente sobre ellos. Para salir del estado F4 no necesariamente hemos de desactivar los actuadores sobre los que se ha ido trabajando de forma manual, sino que al accionar el pulsador S23, el control de la guía Gemma pasará al Estado A6, que precisamente se encarga de colocar el proceso en condiciones de inicio, realizando para ello movimientos en orden para evitar posibles choques mecánicos. 8.2.9 Guía Gemma del Estado D2 (Diagnóstico o tratamiento de los defectos) La guía Gemma también tiene en cuenta estados para la detección de averías y el posterior tratamiento que se le debe dar a cada una de ellas. En nuestro proceso vamos a poder provocar, mediante el panel «Averías en el proceso» del Simulador 3D, diferentes averías simulando fallos en distinto actuadores y sensores. En el Estado D2 se intenta, de forma automática, determinar las causas del defecto o la avería. En la guía Gemma que hemos planteado, pasará al Estado D2 de forma automática desde cualquier estado en el que se encuentre y en el que sea detectado algún defecto o avería. J J
  • 357.
    1 1 1 1 ' 1 1 1 , ) ' 1 ) ' 1 � � 1 ) ' 1 1 1 1 � ' ' " , � Recuerda •• • El estado 02 de la guía Gemma controla los aspectos relacionados con las diferentes averías producidas durante el funcionamiento del proceso, informando para ello al operario del error producido. Fig. 8.278 Fig. 8.279 Fig. 8.280 Fig. 8.281 Fig. 8.282 Fig. 8.283 Fig. 8.284 Fig. 8.285 Fig. 8.286 Fig. 8.287 Fig. 8.288 Fig. 8.289 Fig. 8.290 Unidad 8 - Guía Gemma • Condiciones de funcionamiento del Estado 02 (FC23 DETECCIÓN AVERÍAS) Para la detección de averías crearemos un nuevo bloque de programa, FC23 DETECCIÓN AVERÍAS que, como ya hemos indicado anteriormente, será ejecutado siempre para poder detectar las averías que se produzcan en el proceso, independientemente del estado en el que se encuentren. En este bloque incluiremos un programa para la detección de posibles defectos o averías, y siempre que se detecte alguna, se activará el Estado D2, que mediante un programa deberá localizar el defecto o avería que se haya producido. En la siguiente tabla se muestran las averías que se pueden provocar al accionar el correspondiente interruptor, así como el significado de la señalización y el registro asociado a activar para mostrar su visualización cuando haya sido detectada la avería: Componente gráfico Registro visualización Función asignada avería � Avería «EV cilindro eje horizontal» Y2: M7100.0 Y3: M7100.l � Avería «Detectores cilindre eje horizontal» B4: M7100.2 B3: M7100.3 � Avería «EV cilindro eje vertical» Yl: M7100.4 �� Avería «Detectores cilindro eje vertical» B1: M7100.5 B2: M7100.6 � Avería «EV cilindro multiposicional pequeño» Y4: M7100.7 � Avería «Detectores cilindro multiposicional B5: M7101.0 B6: M7101.1 pequeño» � Avería «EV cilindro multiposicional grande» YS: M7101.2 � � Avería «Detectores cilindro multiposicional B7: 7101.3 B8: 7101.4 grande» �� Avería «EV cilindro marcador» Y7: 7101.5 Y8: 7101.6 � Avería «Detectores cilindro marcador» B9: M7101.7 B10: M7102.0 �!!l Avería «EV cilindro tope» Y6: M7102.l �21 Avería «Detectores cilindro tope» B12:M7102.2 B13: M7102.3 �� Avería «EV vacío» o «vacuostato» Y9: M7102.4 351
  • 358.
    Unidad 8 -Guía Gemma 352 .., Segmento ': • Diseño del programa del FC23. DETECCIÓN AVERÍAS. El programa utilizado para detectar las posibles averías que se puedan producir se encontrará en FC23 DETECCIÓN AVERÍAS. Crearemos tres bloques parametrizables: • FBl DETECCIÓN AVERÍA BIESTABLE. • FB2 DETECCIÓN AVERIA MONOESTABLE. • FB3 DETECCIÓN AVERÍA VENTOSA. La estructuradelbloque FBlqueserviráparadetectar averías enlaselectroválvulas biestables tendrá la siguiente declaración de variables: #í!E>M'O AIIERIA 1" TON DETECCIÓN AVERíA BlESTABLE Nombr� Tipo de dfltM 1 <JI • � 2 <!! . OROENEV+ Bool <lJ . OROEN EV- Bool " -O • DETECTOR al Bool <!! • DETEC T OR a0 Bool -O • ACK Bool 7 -O • TIEMPO Tíme -O . Ou1pUt AVERÍA Bool IEC_T I MER h -O ■ ► TIEMPO AVERÍl 2 IEC_TIMER Valor pn�det. �atse false fals.e false �a1SE- T:tQ,ns fa :iP- ,: -O • AUXJUAR AVERL- Bool fi!j faisE> Fig. 8.291 .. Segmento 2: #"AUXlt..lAR Rernanfflci& Ac.c.esible d__ Visible m _ Valor de .,_ No remane_ Q No remane_ Q No remane_ No remane_ Nocemane_ Noremane_ No remane_ '11 No remane_ Q ri1) No remane_ Q titJ No rem_ G .__-= Q ==- --= Stl '-_..;; D =- - #"ORDEN EV+" #"DITECTOR a 1" Tme AVERÍft ��� K ------------------I AA:� I------------Vl w o----�--i s}-- 1111E>M'O PI El Fig. 8.293 #i!E>M'O AVERIA 2" TON #"ORDEN EV-. #"DETECTORao· Tme f----------1/1- w Q ----� 1111E>M'O PI El Fig. 8.292 Para detectar las averías, primero programaremos un temporizador que tendrá como preselección un tiempo un poco superior al que necesita el cilindro en hacer el recorrido completo. A partir de ese momento, si no se cumplen las condiciones de desconexión del temporizador, este provocará la activación del bit #AVERÍA. Una vez solucionada la avería, y accionando el pulsador ACK, resetearemos el bit de #AVERÍA. Cuando activemos la entrada #ORDEN EV+ o la entrada #ORDEN EV-, el bit #AVERÍA se activará por dos circunstancias: • El cilindro avanza y el sensor de detección de la posición de avance se encuentra averiado. En este caso, cuando transcurra el #TIEMPO previsto para su desplazamiento total, se activará el bit #AVERÍA. J
  • 359.
    1 ' ' 1 ' ' 1 ' 1 ' Unidad 8 -Guía Gemma • La bobina de la electroválvula está estropeada, con lo que el cilindro no se desplazará y, por tanto, tampoco se activará el #DETECTOR al. Esto provocará que el temporizador #TIEMPO AVERÍA, al transcurrir su tiempo preseleccionado, active el bit #AVERÍA. La estructura del bloque FB2 que servirá para detectar averías en las electroválvulas monoestables tendrá la siguiente declaración de variables: DETECCIÓN AVERfA �NOESTABLE "°"'"'' Tlpodtdnos '.tlorpredff. �tn-•• A,tni�ird 'l/11<1lleff' Yalc,r dt t <l • .,,. .,. OQOEHEV• Bool ...,, Noremane- B B -O . OfTECTCJla1 Bool .... No remene- B B <J • 0fTEOORa0 Bool t.l'.•e Non!ITi,nt- !1l B -O . ACK Bool ... Norwrmne- B B <> • TI<MPO '""' .,,,,. Norermne- B ª <l . """"' <> . AVERl< Bool ·- NorerNne- B B ., . '"""' I• c;J11Jf1:;i� r.1 [· i -0 ..,. 5tatl(. <> . .TIEMPOAVEIÚA 1 IECTIMER NOll'm,¡¡nt- B B <J • .TIEMPOAVE�2 IEC_TIMEII No remane_ B B <J • M.OQUAIIAVEIÚA Bool No re!Nne- B !1l El Fig. 8.294 ., Segment _ o_ l,_____ • Segmento 2: #"TIE!,f'O AVERÍA l " TON #"Al..JXUI.R ,roRDEN Ev+· #"DETECTOR a l " Tine AVERÍA" I--------VI--� Q - ---- r----t S )- - �.,_ • _________________ • A _, V :� #llH.f'O Pi #IIE� El - AVERIA 2" TON #"ORDEN EV+. #"DETECTOR ao· Tlme 1--1/f- - --�/I--- � Q ----� #TIEM'C> -PT ET '" Fig. 8.295 Fig. 8.296 Podemos comprobar que la unica diferencia entre el FB1 y el FB2 es que, para indicar que el cilindro retrocede en el caso de la válvula biestable, hemos de definir una variable de entrada #ORDEN EV -, mientras que cuando tenemos la válvula monoestable, el retroceso vendrá representado por un contacto negado de #ORDEN EV+. La estructura del bloque FB3 que servirá para detectar averías en las ventosas tendrá la siguiente declaración de variables: • Segmento 1: OE.TECOÓN AVERÍAVENTOSA ko,tlbft, Tipodrd1:01 Worp,ftlet. i;fmt"P'(,_ Jt,ttnabl.- d V<Jlk:lt tn 1,ot d1'1 -O • .... <l ■ OROENVUflOSA,.. 8oot ftlff <l • DETEOORVACIO &oot f;fH <J • TIEMPO Cl • ACK .A¡ l.'I 1, o • °""" <:I • AVl!Ú4 - �-- ICC_TIMER Fig. 8.297 .. Segmento 2: Norem.ne- ¡;;¡ B Nor�ne- � ,11 NOA!l'l1ilne- � Norem- EJ g¡ B Nor111m.-,-_ B B P R OEN #"DETECTOR t"llE�: VERÍA " OSA +" VAC.o· Time #AVERIA 1-------------V w o ---------1 s )-- � �.,_ K _________________ • __, A�� mEtNO PT ET- - Fig. 8.298 Fig. 8.299 A continuación, dentro del FC23, introduciremos el programa para detectar las averías que se puedan producir en cualquier cilindro y en la ventosa. 353
  • 360.
    Unidad 8 -Guía Gemma 354 -of'TECOÓN A.VffttA atESTAIIU" 1-------- rn >Q0.1 'Yl_vt:NTOSAAIZQl.lEPl)A"-0ROEN fV,¡. >Q02 "Yl_VENTOSAA DUI.ECHA"-OROEN EV· ...., "84_bl VENTOSA 12QUIEJIOA"-OfTECTOR e1 ..... 'lll_l)C)VENTOSA.()[llfOV-0ETECT0ft.t0 "3.1 "S5_1'lLSADOR K.�-ACI{ T#6S TEM'O Fig. 8.300 'IID88 "AVERÍA EN VENTOSA" ENO ------- 'IM1102.6 AVERfA-"AVf!llACU.DflO HORIZONTA "OETECCKlN AVERÍA VENTOSA• 1------- EN EN0 ----­ �103.0 AVERfA -t"AVERf!i VENTOS, 11<)1.0 -Y9_VENTOSA"- ORDEN VENTOSA + ..2.0 "B1 1_f1 P'IEZA SWETA" - OffiCTOR VACO 1#2S · lU,.f'O '1113.1 "SS_Pll5ADOR AO:' - ACK Fig. 8.302 �-------- EN -.3 "Y4_MA.Tf'OSCIONAL PEQLEÑO"- ORDEN EV+ '!Ul.1 086_c1 M.t.TI PEQLEÑO flE.M"- orncTOR at "'·º "85_CO w..l.Tl PEQl,EÑO DENTRO"- DETECTOR aO "3.1 'S5_f'U..SI.DORA0C- AC.K TtlM!i-TEM'O 'IDll10 "AVElllfl EN MJ..TI PEQLEÑO" Fig. 8.304 • Segmento 7: GAAe,00.0El'ECOÓN AIERfAEN CJUNDRO TOl'f '1<>812 "AVERÍA EN TOPE" ENO ------ W7103.2 AVERfl.-"AVERfA M.I.TI PEQLEÑ '"DETECCIÓN AVENA M:>NOESTABLE" �------- EN '!IQ0.5 "Y6_TOPE" - ORDEN EV+- '!112.2 "B1 3_gl TOPE DEl.ANlt" - DETECTOR al '112.1 "B1 2_g0 TOPE A"TRAS" - DETECTOR aO '113.1 "S5_PU5ADOR ACI<:' - ACK 112S · lE� Fig. 8.306a EN0 ---- 1M1103.4 AVERÍA -•AVERfA TOP ..,., "AVERÍA EN CUIDRO VERTIC,J,: "DETECCIONAVENA M)N()(STABLE" 1-------- EN 'IQO.D ay1_BAJAA. VENTOSA'- ORDEN EV+ ...5 ·e2_a1 VENTOSA MAJOº - DETECTOR a1 ..... ·e1_ao VENTOSAAMIII,.- DETECTORaO "'3.1 "S5_PU.5AOOR ACr:- ACK T#3S- TIEU"O Fig. 8.301 • S�meoto 4: �J>ftfC<lON AVf..Ñ'-lNCIJNtlllD � ENO ------­ 'IM1102.7 AVERfA-"AVERfACl.J,,IOftO VERTICA "AVEftÍA EN �ORO �Rº •DETECCIÓN AVERl'.A BIESTABlf" 1-------- EN 'IQ0.6 'Y7_BAIAR �R' -ORDEN Ev+ "<)0.7 "Y8_SUBI �--OROEN fV· "15 ·e1o_t1 lo.WKAOOR ABNO"- DETECTOR al ..,.4 "B9_ta MAJKADOR ARRIBA."- orncroR ao "'3.1 "S5_Pl..l.SADOR ACK"- ACK 1"2S-TIEM'O Fig. 8.303 'IDll11 "AVfftl, EN �TI GRANDE" "DETECCIÓNAYEAiA MONOESTA8tr 1--------- EN -·· "Y5_M.1.Tf'OSOONALGAANOE"- ORDEN EV+ "1.3 "tl8_dl M.l.TIGMNOE fl.f.RA"- DETECTOR al '"� '"87_d0 w:n GRANDE OENTRO"- OETECTOR ªº ...., "S5_1USN>ORKX-ACK TOS �-,o VA/102.6 "AVERÍA Cl..fllDRO HORIZONTALº '».0102.7 "AVERÍA CILNORO VERTICAL• ""'1103.0 "AVERÍAVENTOSA" W7103.l "Al/ERÍA MRCAOOR" 'AM7103..2 "AVERÍA M..LTI PEQl.Efro" 'IIM7103.3 "AVERfA M.l.TI GRANDE" IIJiM710l.4 "AVERÍA TOPE" Fig. 8.305 Fig. 8.306b EN0 ------ ""7103.1 AVfftÍA-º AVERiA MW:ADOf EN0 -----­ "-«7103.3 AVERfA-"AVERfA MATIGMNOE 'JIM'.7102.5 "HAY AVERfl" }-----< Como la detección de averías se tendrá en cuenta en cualquiera de los estados en los que se encuentre el proceso, llamaremos el FC23 de forma incondicional desde el 0B1. Por tanto, en este bloque 0B 1 debemos añadir el siguiente segmento.
  • 361.
    ' ' ' ' ' 1 1 • Segmento 1: Unidad8 - Guía Gemma • Segmento 5: 1 •oETECCIÓN AVERÍAS• r EN ENO -------------- Fig. 8.307 • Diseño del programa del Estado 02. FC8 DIAGNOSIS AVERÍAS Una vez que en la guía Gemma se haya detectado cualquier avería, se activará el Estado D2 y se desactivarán los demás estados. Dentro del Estado D2 se realizará una diagnosis detallada de cada uno de los cilindros y ventosas que contempla nuestro proceso. Eso nos permitirá conocer si la avería ha sido producida por el fallo de un sensor o porque una electroválvula se ha estropeado. La diagnosis la realizaremos mediante el uso de tres bloques diferentes parametrizables: • FB4 DIAGNOSIS AVERÍA BIESTABLE. • FBS DIAGNOSIS AVERÍA MONOESTABLE. • FB6 DIAGNOSIS AVERÍA VENTOSA. La estructura del bloque FB4 servirá para diagnosticar averías en las electroválvulas biestables y tendrá la siguiente declaración de variables: DIAGNOSIS AVERíABIESTABLE Nomb� Tipo de datos v,to1predet JlrmM>ff!C,a Acc:es,bled Vis,ble ff! V1IOf dea CI .. inpt,I -O . OROENEV+ """ fais:e No rem_ E] !i! i1I -O . ORDEN EV- """ fa�e No rem.11ne_ ¡¡¡ Q -O . DETECTOR .a1 """ ,.,, No rema.ne_ Q Q 5 -o . DETECTORaO """ faise No remane_ Q Q <I . """'"' <l ' AVERÍAEV + """ •a�e No remane_ Q Q -o . AVEIÚA. EV · """ "'' No remane_. iiil 0 <J . AVERiAOETECTOR a1 """ f,1fse No remane- iiil Q I" -0 • AVER!4. DETECTOR aO """ fal!E No remane_ !i! Q <I . """" Fig. 8.308 ,... Segmento 2: 1 #"OR� #"AVERÍA r EN ,_ EV _ + _ ·_ • _ •o _ ETE -< CT .r> O - R_ ,o _ • _ ••_ oE _ TE U CT t- 0- R , _ , • ______ o _ ETE --< CTO � #"DETECTOR ao· #"DETECTOR a l . #"AVERÍA E V +" r-- Fig. 8.309 Fig. 8.310 • Segmento 3: • Segmento 4: [ __ #"OR'. #"AVERÍA F EN I- EV _· _ · _ • _ ·o _ m _ i. ª ,f º - R_ ,, _ · _ .-_ oE _ TE v cr ,... o_ R , _ o·______ º _ ETE ....¡ C To� I ro � •N I- E _ v- _ · _ ·· _ om -i CT I- OR _ , _ , · _ · _ ·o _ m -t CT ,f O - R_ •º _ · ______ •·A ---i VERíA � Fig. 8.311 Fig. 8.312 Enel momento en quese ejecute el Estado D2, indicará que el sistema seha detenido por la avería de alguno de los actuadores o detectores del sistema. Para localizar las averías en las electroválvulas y en los detectores, seguiremos la siguiente lógica: Segmento 1: Si hemos dado la #ORDEN EV +, no detecta el #DETECTOR a0 y no detecta #DETECTOR al, indicará que el cilindro habrá avanzado y, por lo tanto, si no detecta el #DETECTOR al, este se encuentra averiado. En ese caso se activará el bit #AVERIA DETECTOR al. 355
  • 362.
    Unidad 8 -Guía Gemma 356 • Segmento 1: Segmento 2: Sihemos dado la#ORDEN EV +, detectael #DETECTORa0 y nodetecta #DETECTOR al, indicará que el cilindro permanece en la posición de reposo y, por lo tanto, la bobina de la electroválvula esta estropeada. En ese caso se activará el bit #AVERIA EV +. Segmento 3: Si hemos dado la #ORDEN EV -, no detecta el #DETECTOR al y no detecta #DETECTOR a0, indicará que el cilindro habrá retornado a su posición de reposo y, por lo tanto, si no detecta el #DETECTOR a0, indicará que está averiado. En ese caso se activará el bit #AVERIA DETECTOR a0. Segmento 4: Si hemos dado la #ORDEN EV -, detecta el #DETECTOR al y no detecta #DETECTOR a0, indicará que el cilindro está en la posición de avance, es decir, que el cilindro no habrá retornado y, por lo tanto, la bobina de la electroválvula está estropeada. En ese caso se activará el bit #AVERIA EV -. La estructura del bloque FBS servirá para diagnosticar averías en las electroválvulas monoestables y tendrá la siguiente declaración de variables: DIAGNOSIS AVEPSA MJNOESTAIIJ..E Hombre Tipo de d.,tOl Valorer�et IW'/'ianenc;., Ao:ce�ibled. . o • 11fkll J O • ORDEN EVt- ""' ',;tse No remane_. lii! o • OETECfOl h1 ""'' ',1� NO remane_ lii! '7 . <J • DETECTOR aO ""'' f.t�e No remane_, iill < ,o ,.. Ouq:iu. • o • AVEfM. EV ,- ""'' '.:!1::é No rema11e_ lii! iill ..,. /VERIA DETECTOR a1 SOOI !!) ; ;e No rem_, Fl lii! lii! CJ . AVERIA OETECTOfl 30 SOOI �.lis� No renune_, lii! lii! Fig. 8.313 • Segmento 2: 1 #'OR� ..AVERÍA r EN I- EV _ + _ • _ # _ •o_ m -l, cr /1- 0 - R_ ,1_ • _ #"D _ E_ TE V CT I- OR _ a_ o•______ o _ m -i CTO� F1g. 8.315 . , 1 '1' 1- EV _ • _ · _ # _ ·o_ m _1, cr ,� o _ R_ ,1_ · _ •·_ om -lcrl- oR _ •_ o·__ ·_� -- •· _ Av -; E (RíA� Fig. 8.314 • Segrnento 3: #"ORDEN EV+" #"DETECTOR ao· 1rDETECTOR a 1 " #"AVERÍA DETECTOR ao· Fig. 8.316 >-- La lógica seguida para diseñar la estructura del FBS es la misma que la expuesta en la diagnosis de averías para electroválvulas biestables (FB4). La estructura del bloque FB6 servirá para diagnosticar averías en las ventosas y tendrá la siguiente declaración de variables: DIAGNOSIS AVEPSA VENTOSA N<lmbre -o .. Input <J • ORDEN VENTOSA t- ,o • DETECTORYACIO <I • Output ,o • AVERÍAEV O O�LOETECTORV _ AC _ IO____ T�eami, ""' ""' -""'--- Fig. 8.317 Valolf'i!�.!l. .._..,.,_. I !J!�e No remane_ fil 'Ql-;e NO renL B f;lt,;� NO remane-
  • 363.
    ) ) ) ) ' ' ' 1 ' ' ' ' ' ' ' ) ' ' ' ) ) 1------- [N 'IQ0.1 'V2Y(N'IQY. AIZQIARPA"- Cmr>EN fV,1. 'IQ0,2 'VJ_vt.HT�A OO!l.C� º - O!!VE,, EY­ ....7 0 84_.bl VIJrnOSAQ'�llt)A"- DPlC'l'Ol'l •1 .... "93_.bO VUfT� t>f::RECHA º - PE"T!�()l!. tO Unidad 8 - Guía Gemma S09Mento f: •"AVERIA EV O DEL ROEN #"DETECTOR DETECTOR OSA l- -1- - ·____ v= ,,,,...·________________ v ... AC� Fig. 8.318 En el caso de la diagnosis de las ventosas, aunque está controlada por una electroválvula monoestable, la estructura es diferente, ya que solo tenemos un sensor. Como consecuencia, podremos diagnosticar el fallo, pero sin poder especificar si falla la electroválvula o falla el detector de vacío. A continuación, dentro del FC8 realizaremos el programa para poder diagnosticar las averías que se lleguen a ocasionar en cualquier cilindro y en la ventosa. ,.,,________ w,100_0 AVEP.!A EV ,1. - "AvtllÍAY2 V[Nl�IZQUt'� 'MD100.1 AvtfllA EY - -·AVERÍA Y:!I Vnn� D[lltCW: '11,Ut00.2 AVERIA Ot.'IU:,oR 11 -'AVERIA 94 VVOOSA IZCX.-JU,J W7100.l AVEJtiA OllE.C"10JI,o -,"AVERIA e:, VUflOSA O(RECHA" Fig. 8.319 "OIAGtr«>SIS AVEA'A MONOESTABLE� t-------- EN _.. "Y1_.BAJAR VElfTOSA"- ORDEN EV.i. ..,5 "SZJl VENlOSAA8AJO' - orrECTOR e1 ..,A ·e,_.o VEN105A ARReA' - t>E.llC"fOR ªº EN0 ------- 1iM7lOOA AV(RiA e,v ... -·AvrRlA v, BA.IAA VENTOSI 'M,17100.6 AVERIAOETEC10R 11 -'AVtRIA B2 VENTOSA "81.K W7100.5 AVERIA Ofl[ClOR aO -'AVERfA 81 VEN'TOSA ARRIB Fig. 8.320 -15 "OIAGNOS& M lA Vt:H'ft>M" 1------- EN ENO--------- 4JIQ1..0 W7102,4 "V9_VlN1�"- 0f1Df.M V!.N'10Y- -- AVtlllA lV O t)U D�,.l{l'Ol!.VACIO -•AvtlÚAY9 V lN'TOY.0 81 1 V�lAO - '811_.fl PtzA MUflA"- DflEC'l'i:>11.VACICl Fig. 8.321 ""' �lolfct� ...,W�1'ftr.11): tll' l"!-"''l"'M'i l tll.�IIU'90!i'tltl'• '1Ql�it!, _,, "OIAGNO!,& t,Ulll'[Ot,tfcfº ------ 1-------- ,- ...., "Yo_�Tll'OS<IONAL PlOU:fkr- (ll!Of,t EV+ ""·' 1lt,_.t1 .U,11 1'f.QI..IAoU. .. tAA" - ornOD'III ..,� 0!,_t(I t,U.ll Pl'(}l,l_AI;, t>fJnlk f - {)tll(1()« tO 1--------•• -5 ...,tUOF'E' - OR[)tM tV.1. loU "81 l_.p1 10f'E DEl.ANlt"- OETf..ClOR 11 'I0.1 '81 1_.{IO 'TOP[ AlRAS"- [)fT(CTOJl 110 "•o--------- w,100.1 AVr.RiAlV + -•AIVIIA'1'4 t,Ul� l"'E ' QU'A 1M11D1.1 .AVr.ltlli OPH.1()1 ttl -'AVt:ldA 116_),U.ll J'f.01.lflo l'f..t'ltAº W/101.0 tw! ,;IA Df.W S"l'()ll;IIO-•AVVIIA e_�l111t.(MAo otN1110° Fig. 8.323 ENO ------- W,102.1 Ayt;dA [V J. -4 'AVUÚA V6 10Pt" 'tM7102.3 AVf:RlA OETEC10R l1 - ·AvrRIA s1:, 10PE OELANlE' "IIM710U AVf. lUA t>OEC10ll 10 -·AvrldA e12 T()l'( ATRAS' "DIAGNOSIS AVENA BIESTAIH.f" t-------- [N _.. 'Y7JAJN, MW:'AOOlf'- Of(O(N [I+ 'IQ0.7 ...,8_.SUlll t.WICAOOll"- oa� tv• ..,., .,,o_et t.Wl(.A()Olt NJl,,,JO"- OE.l[CTOR •l ..... 1W_t0 MiVICAOOll ARMIA"- [)[i[ClOR •O ,oo-------- W,101.5 AVUIA [V .;. -•AVEldA Y7 SAJAA IMIICAOO"°' WCJ'IOl.6 AVERÍA [v - -·,wcllfAYS SlAllll � _,01,0 AVERl'AOfTEClOR •l -•AvtRfA 810 � ASAJC V.0101.7 AVERÍADETEC1o«10-'AVEJIÍA 89 M'JICAOO« Altl'll9A Fig. 8.322 ,.. �-·• ��C[ l� >-•1� Dl�C.l.itl'IOMll.11P01C.!Qh,O¿(,l,.+l,,Of _,. � t.U.ltGAAHOf:' ��AVEIIA MOfrK>f:S1A8U' 1-------- •• 'IQOA -Y)_W.TM»k.lC>NAI.GIWC:lt"- olltl(� rv.. "98_d1 M..t.nr.AAHOE: H.tAA"- olllt"lOfil l1 .,,_, 'f7_.d0 tiU:n atHDe: 1XH'1IIO"- orreno11 10 Fig. 8.325 ENO-------- -,,,ou: ,tivt!'IÍA tV+ -•AvtftJAv, t.U.�IONALGIIAHDf "IM71DlA Alfll:AOflfC1CH111 -•Av[IM 98 t.UTIGMHOE fllltA" 'AN7101.J AV[R!. Of.-n.CTOll ,o -·,ti,v[ltfA 17 t.U.11GAANO[ Ot:HTIIO' Fig. 8.324 Cuando se encuentra activado el Estado D2: Señalizaremos que existe al menos una avería activada mediante el funcionamiento intermitente lento del piloto rojo. Esta la programaremos en el bloque FC20 S_SALIDAS. 357
  • 364.
    Unidad 8 -Guía Gemma AS l"r..,1Clón p,tra ltpu91t1an �t.<SM O. un otfettc w.n deu�r«ido IA$ •"'""s y pv!MdorK.r. (fN) - La diagnosis se basa en que, cuando se encuentre activado el Estado D2, dejará de estar activo el Estado Fl. Por tanto, las marcas que se encontraban funcionando en ese momento lo seguirán haciendo, por lo que seguirán actuando sobre las salidas del FC20 y provocando que, en el momento de la avería, existan una o más salidas en funcionamiento. Cada una de las averías activará un bit que quedará reflejado en el panel Averías en el proceso del simulador 3D. Programación en el FC20 S_SALIDAS ....... .GG_ESTAOO A1" 'IQl.4 "HJ_ROJO" ,_________________, r--- 'IMl.1 tMR191.S "GG_ESTADO A2." "Ox.li;._1 Hz" ·oo_:::' AO() ! º n· --• "GG_ESTAOO 02" .,..,_3 VA8191.2 "GG_ESTAD0 01" "Cbd._2.5Hz" "GG_:: ADO ! • I S ....... ºGG_ESTAOO M" • Guía Gemma con el Estado D2 Fig. 8.326 Para la implementación del Estado D2 Diagnóstico o tratamiento de los defectos de la guía Gemma en el PLC, nos fijaremos en la guía Gemma general representada en el apartado 8.1.2. En ella se observan las diferentes transiciones de activación y desactivación de este Estado, que son las siguientes: GENÉRICO F1 APLICADO AS FC5 Preparaclón pu1 la puest1en m11rcMdei · de oo dllfecto Hin de11�reddo las ,venas y pulmlor A.CK ( MTiiii3 º 1 3.l {fN) ) Exist1 1icun1 1veri1 1et�1{M7102.S) F 1 FC9 02 oi.,,,,:.tlcoy/o 1111.mi.110 • 1os dofK,O, ------+-7.. " - """ - ""- - - ""' -----........J D2 FCB Producción normal OW,¡nosticoy/o trttamiento da los 358 defectos Fig. 8.327 Fig. 8.328 A continuación, añadimos al Grafcet de la guía Gemma el nuevo estado incorporado, el Estado D2, con lo que queda así:
  • 365.
    1 ' " ' ' ' l l ' ' ·1 l 1 -) 1 ' M0.6 Ml.O M0.4 FCll Ordende m.lrch1de verifkaclón s!n Ofden N FC7 Par a de emer¡encia Ml.4 N FCS Parada de e!TM!r¡encla Fig. 8.329 Unidad 8 - Guía Gemma Ml.2 Orden de marcha de veriflCK!ónsin 0<den 0.-den de puesta delsistema en estado inloal Auto / M,1n en ON veri acióncon Orden de marcha de verifioclón sin orden Ahora, y tal como hemos indicado anteriormente, cuando se encuentren activados cada uno de los estados de la guía Gemma, tendremos en funcionamiento un piloto en el panel de la guía Gemma del simulador 3D. En este caso hemos añadido el del Estado D2. La implementación del Estado D2 de la guía Gemma en el PLC la realizaremos siguiendo las condiciones marcadas en las transiciones: - Pasaremos del Estado Fl al Estado D2 cuando en el bloque FC23 DET ALARMAS se encuentre activado el bit M7102.7, que indica que se ha detectado algún fallo. El paso del Estado D2 al Estado AS se realizará cuando se haya desactivado el bit (indica que no hay alarma alguna activada) y cuando exista un flanco negativo en el pulsador de enterado ACK. El flanco negativo utilizado en el pulsador ACK se justifica porque este mismo pulsador se utiliza en la transición para pasar del Estado AS al Estado A6, pero en esta ocasión como flanco positivo. Si no se utilizan los diferentes flancos, pasaría directamente del Estado D2 al Estado A6. • Programa en el FCO GUIA GEMMA El programa que debemos añadir al bloque FCO GUIA GEMMA para que quede implementado el Estado D2 sería el siguiente: 359
  • 366.
    Unidad 8 -Guía Gemma 360 • Segmento 46: Euodo de di19norncoylo treum1erito de los de�ctos • Segmento ◄7: Esta.do de preparación ponerior 1I de�ctc '!IM7102.S "HAY AVERIA" 'IIM1 .4 "GG_ESTADO or t---�--------------� ( s f--, "3.1 W1.4 ""'7102.S · ss_PULSAOOR -AMU "GG_ESTADO 02" "HAY AVERÍA" ACK" "GG _ ESTADO A5" 'IM>.O "GG_ESTAOO A1 " '----------------l ( RESET_BF )-< 1 2 N f-- 1 �--------l ; S )--, '!IM236.1 "FLANCO 50" 'JIMi.4 '------ ·G _ G _ _E ..¡ ST;o � Fig. 8.330 Fig. 8.331 • Segmento 48: Llemodo e la subnmna del Euado 02 • Segmento ◄9: Piloto verde en guia gemme de maqueua que indita esado 02 ICtJvo 1 "GG_�D � 02" ·02 DIAGNOSIS AVERÍAS" 'IIM1 4 "H19_ESTAOO P 'IIQS.4 TAD � · o _ o _ 2 _ • ______________--/ 02• f--, ¡--i f--- EN ENO --------- Recuerda • • • El simulador 3D dispone de un panel para poder provocar averías en el proceso y comprobar si su tratamiento ha sido el correcto. Fig. 8.332 Fig. 8.333 • Comprobación del funcionamiento del Estado D2 Para poder comprobar el funcionamiento en el simulador 3D, debemos primero transferir el programa al simulador PLCSim del S7-1200. A continuación, ejecutamos el archivo para poder abrir el simulador 3D y posteriormente abrir los diferentes paneles que se indican a continuación: Es importante que una vez arrancado el simulador 3D, antes de probar nada, en el PLCSIM primeropulsemos el botón de STOP y despuéspulsemos el botón de RUN. Por el mismo motivo que se indicó para comprobar los estados D1, AS y A6, es conveniente accionar el pulsador de ACK al ejecutar el simulador 3D para posicionar la guía Gemma al estado Al. Autómatas programables SlEMENS. Grafcet y Guia Gtmma con TIA Portal Averias en el proceso MarcaJe de cajascon tres colores CV!Ce� �,rero & Ramon Vuste Pulsar un botón para prO'IOCar una a"ttna � ' Fig. 8.335 Estado de la Guia GEMMA Fig. 8.334 Fig. 8.101 Este es el panel Averías en el proceso. A continuación se explica cuál es su funcionamiento: '-....,,' V J ..__,
  • 367.
    1 - ' 1 l ' ' ' ' ' Averias enel proceso Pulsar un boton para provocar una aver,a Fig. 8.336 Averías en el proceso Pulsar un botón para provocar una ev.!na Fig. 8.337 Averías en el proceso Puls�, un boton para provocar un-a ?tler1a Fig. 8.338 Unidad 8 - Guía Gemma Si situamos el ratón sobre cualquiera de los botones A_l a A_lS, nos indica sobre qué elemento se provocará la avería cuando accionemos el botón correspondiente. En el caso del botón A_l, por ejemplo, la avería se provocará sobre cualquiera de las dos electroválvulas del brazo horizontal. Para provocar una avería, se deberá accionar el interruptor seleccionado. Este pasará a visualizarse de color rojo. Cuando se desee eliminar la avería, se deberá volver a accionar de nuevo el interruptor, momento en el que este pasará de nuevo a visualizarse de color verde y se dará por desaparecida la avería. Del mismo modo, si el programa realizado en D2 es correcto, cuando se detecta el fallo, se deberá iluminar de color verde un visualizador que se encuentra justo en la parte inferior del interruptor, y que en este caso se corresponde con el bit M7100.0, y señaliza el fallo de la electroválvula que hace que la ventosa se desplace hacia la izquierda, tal y como indica el texto asociado a ese piloto. Importante: cuando se encuentre activado el Estado D2 y se haya comprobado que se ha detectado correctamente el fallo producido, hay que: • Accionar de nuevo el interruptor A_l, con lo que se pasará de nuevo a visualizarse de color verde, que sería equivalente a simular que la avería se ha reparado. • Accionar el pulsador ACK, con lo que la guía Gemma pasará al Estado AS. 361
  • 368.
  • 369.
    La automatización yel control de procesos no se detienen , día tras día aparecen nuevas tecnologías que hacen más eficiente la producción. Para poder abordar el entendimiento, así como las posibles aplicaciones de las últimas tendencias, es imprescindible conocer previamente las bases de esas tecnologías. Muchos de los procesos automatizados actuales se basan en el control mediante autómatas programables y, por ello, es necesario empezar a entender cómo funcionan estos dispositivos. Uno de los objetivos de este libro es ofrecer un sistema para aprender a programar dichos dispositivos de un modo totalmente práctico: con la ayuda del Simulador 3D, que podrá conseguir siguiendo las instrucciones de la primera página del libro, podrá visualizar el funcionamiento de todos los programas realizados de una forma más real . A QUIÉN VA DIRIGIDO Este libro está enfocado para cualquier persona que se quiera introducir en la programación de estos equipos. Asimismo, abarca la vertiente educativa: es ideal para el aprendizaje de la programación de PLC's Siemens S7-1 200/1 500 en los diferentes ciclos formativos y grados técnicos de las universidades de las familias profesionales de Electricidad y electrónica, Instalación y mantenimiento, Química industrial y aquellas que incluyen esta tecnología. CONTENIDOS Es un libro totalmente práctico, compuesto por ocho unidades que van desde lo más básico hasta la utilización de operaciones aritméticas, pasando por ejemplos basados en temporizadores, contadores, flancos, entre otros. Además, utiliza bloques OB, FC, FB y DB con ejercicios totalmente resueltos. Cada tema incluye la resolución de ejercicios aplicando el diseño en Grafcet. También se utilizan secuencias lineales, selecciones de secuencia, trabajos paralelos, sincronización de grafcets, macroetapas, saltos, etc. y se trata el estudio y aplicación de la Guía Gemma. Los ejercicios, tanto los resueltos como los propuestos, están aplicados sobre un proceso industrial que incluye cilindros, motores, balizas de señalización, visualizadores numéricos, pulsadores y selectores de control, todo ello recogido en un Simulador 3D que se incluye y que comunica directamente con el simulador PLCSim de TIA Portal . PROGRAMAS Para poder trabajar con los ejercicios resueltos y propuestos es necesario tener instalado el software de programación para autómatas Siemens, llamado TIA Portal , que puede descargar de forma gratuita en su versión trial en la web https://support.industry.siemens.com. Ma combo F-Técnica, Ciencia J..::::: y Formación Síguenos en: www.marcombo.com 1 9 7 8 8 4 2 6 7 2 3 7 8 9 ' '