1.1.- Cuando arranquemos STEP 7 se abre la ventana Asistente de STEP 7, esta ventana la cerramos ya que vamos a crear nosotros el nuevo proyecto. Tan pronto se haya cerrado el Asistente de STEP 7 aparecer el Administrador SIMATIC. Los proyectos se estructuran de tal modo que permiten ordenar todos los datos y programas que se necesitan durante la programacin.
1.2.- Desde el Administrador crearemos un nuevo proyecto, para ello haremos clic en el icono nuevo.
En la ventana nueva que nos aparece rellenaremos el nombre del proyecto, tambin podemos crear una ubicacin para nuestro proyecto o dejar la ruta por defecto.
1.3.- Una vez creada la carpeta curso nos situaremos encima y con el botn derecho seleccionaremos "insertar nuevo objeto" > "SIMATIC 300"
1.4.- Una vez creada la carpeta nos situaremos encima y con el botn derecho seleccionaremos "insertar nuevo objeto" > "SIMATIC 300"
1.5.- Una vez dentro del Configurador de Hardware procederemos a montar nuestro PLC, para ello lo primero que tenemos que insertar es un bastidor.
Nota: Si no aparece en pantalla la librera, podemos seleccionarla en Ver >Catalogo
Un bastidor 300 es un perfil standard, que utiliza Siemens para sujetar sus tarjetas de Simatic 300
1.6.- Despus de configurar el bastidor tenemos que empezar a definir las tarjetas que queremos montar en el.
La primera tarjeta que insertaremos ser una fuente de alimentacin. Nos desplazamos por el rbol de la librera y buscaremos un mdulo PS-300
1.7.- Configuracin de la CPU.
Nos desplazamos por el rbol de la librera y buscaremos un mdulo CPU-300, nosotros para las pruebas insertaremos en el mdulo 2 una CPU 315-2 DP.
En cuanto arrastremos la CPU al chasis nos aparecer un men donde nos permitir elegir varias opciones pero nosotros las dejaremos por defecto aceptndolo.
1.8.- Seguimos definiendo tarjetas, ahora vamos a insertar una tarjeta de entrada digitales, estas tarjetas las encontraremos en la carpeta DI-300.
1.9.- Para nuestras pruebas de esta curso vamos a utilizar salidas digitales para ello insertaremos una tarjeta, la buscamos en la carpeta DO-300.
1.10.- Una vez aadidas las tarjetas de entras y salidas cambiaremos las direcciones que por defecto nos ha puesto. Para ello haremos doble clic sobre las direcciones para abrir el men propiedades, seleccionado la pestaa "direcciones" y quitando la pestaa estndar podremos cambiar la direccin.
1.11.- Antes de salir del Hardware grabaremos y compilaremos.
El configurador nos generara una estructura con unas carpetas de fuentes y bloques, dentro de estas carpetas nosotros programaremos nuestros bloques.
Capitulo 2
2.- BLOQUES DE PROGRAMA Y TABLA DE SIMBOLOS
2.1.-Para crear programas, seleccione la carpeta "Bloques" ya creado y elija el comando de men "Insertar nuevos objetos > Bloque". En el men siguiente podr elegir el tipo de bloque (p. ej. Funcin, bloque de funcin, bloque de organizacin, tabla de variables (VAT)). Una vez abierto el bloque (vaco), podr introducir el programa en AWL, KOP o FUP, respectivamente.
En esta tabla explico una breve descripcin de los bloques y funciones.
2.2.- Bloques de organizacin. Los bloques de organizacin (OB) constituyen un enlace entre el sistema operativo y el programa de usuario. Son llamados por el sistema operativo y controlan el procesamiento cclico y controlado por alarmas del programa, el comportamiento de arranque del sistema de automatizacin y el tratamiento de los errores. Programando los bloques de organizacin se define el comportamiento de la CPU.
Insertaremos varios bloques (p.ej.OB32,OB82 y OB121), estos bloques estn establecidos por el sistema con lo que no hace falta ponerles ni smbolo ni comentario, ya que lo define el sistema.
Ponemos encontrar ayuda de los OBs pulsando F1, teniendo selecionado la OB
2.3.- Bloques de funcin (FB)
Los bloques de funcin son bloques programables. Un FB es un bloque "con memoria". Dispone de un bloque de datos asignado como memoria (bloque de datos de instancia). Los parmetros que se transfieren al FB, as como las variables estticas, se memorizan en el DB de instancia. Las variables temporales se memorizan en la pila de datos locales. Los datos memorizados en el DB de instancia no se pierden al concluir el tratamiento del FB. Los datos memorizados en la pila de datos locales se pierden al concluir el tratamiento del FB.
En estos bloques si definiremos el smbolo y el comentario, ya que nos ayudara a la bsqueda posterior de nuestro programa.
2.4.- Funciones (FC)
Las funciones son bloques programables. Una funcin es un bloque lgico "sin memoria". Las variables temporales de las FCs se memorizan en la pila de datos locales. Estos datos se pierden tras el tratamiento de las FCs. Para fines de memorizacin de datos, las funciones pueden utilizar bloques de datos globales. Como una FC no tiene asignada ninguna memoria, se han de indicar siempre parmetros actuales. A los datos locales de una FC no se pueden asignar valores iniciales.
En todos los bloques menos en los OBs mencionados en el apartado anterior, deberamos rellenar su smbolo y comentario.
2.5.- Bloques de datos globales (DB) Al contrario de los bloques lgicos, los bloques de datos no contienen instrucciones STEP 7. En cambio, sirven para depositar datos de usuario, es decir que los bloques de datos contienen datos variables con los que trabaja el programa de usuario. Los bloques de datos globales contienen datos de usuario utilizables desde otros bloques.
2.6.- Los tipos de datos de usuario (UDT) son estructuras de datos creadas por usted mismo y que, una vez definidas, pueden utilizarse en todo el programa de usuario S7 de dos formas:
Como tipos de datos simples o como tipos de datos compuestos. Como plantilla para crear bloques de datos de estructura idntica.
2.7.- Tabla de variables (VAT).
En esta tabla podemos observar y forzar variables, a fin de comprobar su programa. Las tablas de variables no se cargan en la CPU, estas tabla se quedan en el configurador.
2.8.- Despus de crear los bloques definidos en los apartados anteriores deberamos tener en la ventada derecha del configurador lo siguiente.
2.8.- Editor de smbolos Con el editor de smbolos se gestionan todas las variables globales. Se definen los nombres simblicos y comentarios para las seales del proceso (entradas y salidas), las marcas y los bloques.
Capitulo 3.1
3.1.LOGICA CON BITs
1. - Introduccin
Las operaciones lgicas con bits operan con dos dgitos, 1 y 0. Estos dos dgitos crean un sistema numrico denominado sistema binario. En el entorno de los contactos y bobinas, un 1 significa activado (conduce) y un 0 significa desactivado ("no conduce").
En este captulo trabajaremos con estas operaciones lgicas:
3. Direccionamiento de entradas y salidas digitales
Los tipos de datos que vamos a utilizar son: E -- Entradas A -- Salidas
Las CPUs de Siemens trabajan en byte, con lo cual cada direccin podra definirse de 0 a 7 bits.
Cada uno de estos tipos se puede direccionar en 4 posibles modos
Por defecto (X para DB): Bit. B: byte (8 bits). W: palabra (16 bits). D: palabra doble (32 bits).
4. Ejemplos conexin sin lgica
Activacin de bobina En este ejemplo trabajaremos con un interruptor, un interruptor se mantiene enclavado una vez presionado. Lo que quiere decir que la salida quedara activada mientras no se vuelva a presionar en el otro sentido.
Un interruptor es como los que tenemos en casa, que tiene dos posiciones que se quedan enclavadas manteniendo la luz apagada o encendida segn la posicin
Ingeniera
Lgica desde PLC
5. Ejemplos conexin serie
Funcin AND (Y) Todas las entradas tienen que estar a 1 para que la salida se active.
Ingeniera
Lgica desde PLC
6. Ejemplos conexin paralelo
Funcin OR (O) Activando cualquiera de las entradas a 1 la salida se active.
Ingeniera
Lgica desde PLC
7. Ejemplos conexin serie y paralelo
Tambin se puede hacer combinaciones para realizar lgicas variadas.
Capitulo 3.2
3.2. LOGICA CON BITs, EJEMPLOS SET/RESET
1. Introduccin
En este captulo utilizaremos contactos normalmente cerrados y bobinas con memorias
Trabajaremos con estas operaciones lgicas: ---| / |--- Contacto normalmente cerrado ---( S ) Set, salida memorizada a 1 ---( R ) Reset, poner salida memorizada a 0
2. - Contacto normalmente cerrado
Smbolos habituales
El contacto normalmente cerrado en reposo el estado de la seal es 1
3. Ejemplos
Ingeniera
Activacin de bobina
En este ejemplo se activara la bobina cuando se pulsa S1 y se deja sin pulsar el S2. Si pulsamos tambin el S2, la bobina no se activar ya que hemos abierto el circuito.
Lgica desde PLC
4. Set y Reset
Smbolos habituales
Cuando la bobina se activa a travs del Set permanece memorizada hasta que se ejecute un 1 en el Reset.
Lgica desde PLC
Capitulo 4.1
4.1. LOGICA CON COMPARACIONES
1. - Introduccin Las comparaciones comparar entre dos valores numricos, segn las operaciones siguientes:
x == y ( x es igual a y ) x <> y ( x no es igual a y ) x < y ( x es menor que y ) x > y ( x es mayor que y ) x <= y ( x es menor o igual que y ) x >= y ( x es mayor o igual que y )
Se dispone de las operaciones de comparacin siguientes:
CMP ? I Comparar enteros (16 Bit) CMP ? D Comparar enteros dobles (32 Bit) CMP ? R Comparar nmeros en coma flotante
2. Comparaciones con enteros
3. Comparaciones con doble entero
4. Comparaciones con reales
5. Para las entradas de las comparaciones podemos utilizar los siguientes tipos de datos byte, Word, doble Word y Reales y el resultado da la comparacin es un digito binario (Bool).
6. Lgica desde PLC
Comparaciones con enteros La salida booleana se activara cuando la variable MW10 sea mayor de 32
Comparaciones con doble entero
La salida booleana se activara cuando la variable MD12 sea igual a 32 Si ponemos un valor de comparacin constante el valor se rellena anteponiendo L#.
Comparaciones con reales La salida booleana se activara cuando la variable MD16 sea igual a 2.0 La entrada IN2 se rellena con decimales.
Capitulo 4.2
4.2. EJEMPLO LOGICA CON COMPARACIONES
1. - Introduccin
Ejemplo de comparaciones con un nivel analgico. Haremos una serie de comparaciones para determinar el nivel bajo y muy bajo.
2. Comparacin nivel bajo
El nivel analgico lo leemos en la direccin EW20, esta entrada hay que convertirla de unidades internas a %, pero como todava no hemos visto las conversiones analgicas, trabajaremos directamente en %.
El valor ira de 0-100%.
3. Comparacin nivel muy bajo
4. Aplicacin de los niveles Condicionaremos el arranque y paro de la bomba, segn el nivel.
Marcha bomba No dejaremos arrancar la bomba mientras el nivel no supere el 20%
Paro bomba Pararemos la bomba si el nivel baja por debajo del 5%
Capitulo 5
5. TEMPORIZADORES, CONTADORES Y PULSOS
1. Introduccin temporizadores
Existe un tipo de datos llamados temporizadores. Estos contienen variables de tiempo, los temporizadores se denotan con la letra T, seguida de un nmero. El nmero de temporizadores que puede gestionar una CPU depende del modelo.
Valor de temporizacin predeterminado
S5TIME#xH_xM_xS_xMS
- siendo: H (horas), M (minutos), S (segundos), MS (milisegundos); x son los tiempo que define el usuario.
El valor de temporizacin mximo que puede introducirse es de 9 900 segundos 2H_46M_30S.
Ejemplos:
S5TIME#10S --> 10 segundos Tambin se puede abreviar la palabra TIME de la siguiente manera: S5T#1H_10M --> 1 horas y 10 minutos S5T#1H_10M_11S --> 1 hora 10 minutos y 11 segundos
2. Diferentes tipos
S_IMPULS Temporizador como impulso S_VIMP Temporizador como impulso prolongado S_EVERZ Temporizador como retardo a la conexin S_SEVERZ Temporizador como retardo a la conexin con memoria S_AVERZ Temporizador como retardo a la desconexin
3. Parmetros
4. Descripcin y ejemplos
Temporizado como impulso
La salida del temporizado se activa en cuando se activa la entrada de arranque S, la salida estar activa mientras transcurra el tiempo predeterminado.
Temporizado como impulso prolongado
La salida del temporizado se activa transcurrido el tiempo predeterminado cuando hay un flanco de activacin de la entrada de arranque S, aunque el estado de seal en la entrada S se ponga a "0" el temporizador contina en marcha durante el tiempo predeterminado.
Temporizado retardo conexin
La salida del temporizado se activa transcurrido el tiempo predeterminado cuando permanece activa la entrada de arranque S.
Temporizado retardo conexin con memoria
La salida del temporizado se activa transcurrido el tiempo predeterminado cuando hay un flanco de activacin de la entrada de arranque S. La salida permanecer memorizada hasta que se active la entrada R.
Temporizado retardo desconexin
La salida del temporizado se activa cuando hay un flanco de activacin de la entrada de arranque S. La salida permanecer memorizada hasta que transcurra el tiempo predeterminado..
Capitulo 6
TRABAJAR CON BLOQUES DE DATOS (DBs)
6.1- Introduccin bloque de datos
Los bloques de datos, tambin llamados DBs, son reas donde se almacenan datos. Un DB no contiene instrucciones S7. Hay dos tipos de bloques de datos: Bloques de datos globales: A sus datos pueden acceder todos los bloques. Bloques de datos de instancia: Asociados a un bloque de funcin FB.
En este apartado veremos los bloques de datos globales.
6.2 Definicin de Tabla de datos
Direccin: Indica la direccin que STEP 7 asigna automticamente a la variable al terminar de introducir una declaracin.
Nombre: Se asigna el nombre a cada variable.
Tipo: Introduzca el tipo de datos de la variable (BOOL, INT, WORD, ARRAY, etc.). Las variables pueden pertenecer a los tipos de datos simples, a los tipos de datos compuestos, o bien, a los tipos de datos de usuario.
Valor inicial:
Indique el valor inicial, en caso de que el software no deba tomar el valor predeterminado del tipo de datos introducido. Todos los valores introducidos deben ser compatibles con los tipos de datos. Cuando guarde por primera vez el bloque de datos, el valor inicial ser adoptado como valor actual de la variable, a menos que defina expresamente su valor actual. Recuerde que los valores iniciales no pueden cargarse en la CPU.
Comentario: En este campo puede introducir un comentario para documentar la variable. El comentario no debe tener ms de 80 caracteres.
6.3- Formato de datos
Datos Simples
Datos compuestos:
6.4- Ejemplo de Bloques de datos
Prepararemos una serie de bloques de datos para comunicar con el WinCC Flexible
En esta primera tabla una serie de bits de tipo booleanos, para las solicitudes que dibujemos en las pantallas (DB1)
Para la indicacin de tipo booleano generamos esta tabla.(DB2)
Para las indicaciones analgicas de valores con decimales, se prepara esta tabla con variables de tipo real.
Lo mismo hacemos con las consignas que vamos a dibujar para introducir datos desde HMI(Wincc Flexible) al PLC.
Por ultimo vamos a preparar esta tabla con variables de tipo enteros(INT). Estas variables las utilizaremos para las condiciones de diferentes sistemas.(Bombas, electrovlvulas, secuencias, etc)
6.5- Llamada direccionamiento DBs
Ejemplo consulta de un bit
DB1.DBX0.0
Con esta consulta accedemos a DB1 a la direccin 0.0, que corresponde a la marcha alimentacin bomba 1.
Ejemplo indicacin de un bit
DB2.DBX0.0
Capitulo 7
7.- Ejemplo hidrulico controlado con WIN CC Flexible
7.1.- Desarrollo del PLC Parte I
7.1.1.- Introduccin
En este ejemplo se pretende controlar un hidrulico desde un panel de WinCC Flexible. En esta parte prepararemos el control de la bomba de alimentacin 1
7.1.2.- Pantallas
Pantalla Hidrulico
Pantalla Condiciones
7.1.3.- Desarrollo del PLC
Lo primero que tenemos que hacer es rellenar la tabla de smbolos y las DBs de comunicaciones con el WinCC Flexible.
Tabla de smbolos: Nota: pinchar en las tablas para agrandarlas
Tabla de datos:
En la DB1 rellenaremos todas las solicitudes para arrancar y parar las bombas.
En la DB2 rellenaremos todas las indicaciones que vamos a poner en la pantalla del hidrulico. En esta parte no rellenaremos las indicaciones de las condiciones ya que vamos a preparar otra DB para esta labor.
En la DB3 la utilizaremos para las dos indicaciones de forma analgica, que son la temperatura y el nivel.
En la DB5 rellenaremos todas las indicaciones que vamos a poner en la pantalla de condiciones. La vamos a tratar como un integer para desglosar bit a bit cada condicin
7.1.3.- Desarrollo PLC
Crearemos una funcin (FC10), donde prepararemos el programa para el control de la bomba 1 de alimentacin
Lo primero que vamos a preparar son las condiciones iniciales de la bomba. Una bomba de alimentacin puede tener varias condiciones de arranque nosotros vamos a preparar cuatro. 1.- El tanque tiene que estar lleno, segn el nivel hemos establecido un 20% 2.- La temperatura del aceite tiene que tener una temperatura mnima (5C) para que el aceite no este espesa. 3.- Un filtro en lnea nos dir si el aceite est sucio. 4.- Tambin tenemos que tener la bomba de recirculacin en marcha para poder arrancar
Seguimos con las condiciones permanentes de la bomba. Una bomba de alimentacin puede tener varias condiciones permanentes que provoquen la parada.
Las condiciones tienen que estar a 1, solo con perder cualquiera de ellas perderemos el resumen e inmediatamente pararemos la bomba 1.- Si el nivel del tanque es muy bajo, para que la condicin sea 1, compararemos el nivel para que sea mayor de 5% 2.- La temperatura del aceite tiene que ser menor de 90C. 3.- Que no tengamos fallo del automtico. 4.- Que no perdamos la presin.
Lgica de marcha de la bomba. La solicitud de marcha lo realizamos con el pulsador que dibujaremos en el WinCC, y realizaremos la marcha siempre que tengamos todas las condiciones iniciales.
Lgica de paro de la bomba. Resetearemos la marcha con el pulsador y por falta de condiciones permanentes
Indicaciones para reflejar en la pantalla hidrulico
Indicaciones para reflejar en la pantalla condiciones iniciales Otra forma de comunicar con WinCC, es a travs de entero (Interger). Solo definimos una variable y podemos tener 16 condiciones, lo nico que hay que tener en cuenta es que el Plc de Siemens trabaja con los bytes cambiados.
Indicaciones para reflejar en la pantalla condiciones permanentes
Capitulo 17.1
17.-Tratamiento de alarmas
17.1- Desarrollo Plc
Para el desarrollo de las alarmas vamos a generar un nuevo bloque de datos (DB7 AL_HMI) El tipo que vamos a utilizar es entero (INT), con lo cual con este tag podemos tener 32 alarmas.
Las alarmas se pueden generar de muchas maneras, muchas de ellas suelen ser muy sencillas. Por ejemplo las dos primeras que vamos a generar, solo vamos a igualar la entrada digital a una direccin de la DB7. Recordar que Siemens trabaja con los bytes cambiados, para ello nosotros tenemos que hacer el swapeo, esto significa cruzar los bytes. El bit 0 tiene a direccin DB7.DBX1.0, y el bit 8 su direccin es DB7.DBX0.0.
El fallo de la bomba y el fallo filtro la programaremos igualando la direccin a la alarma, pero para el fallo de presin lo vamos a generar un tiempo.
Para elaborar este ltimo, aplicaremos un temporizado, si cualquiera de las bombas de alimentacin est en marcha, si el presostato no da seal a de 20 segundo activaremos una memoria que nos indicara que hay una fuga de aceite.
Tambin vamos a sustituir la entrada digital E10.7 (Baja presin lnea hco.) por el fallo que hemos generado, en todos los sitios del programa menos en la indicacin. Unas de las ms importantes son las condiciones permanentes, ya que nada ms arrancar las bombas no va a coger presin, como tenamos antes las condiciones se parara las bombas nada ms arrancar.
Como podis comprobar hemos utilizado un SET para activar esta alarma, es recomendable utilizar memoria ya que cuando se active la alarma se apagara la bomba. Si hubiramos utilizado una bobina (=) en muchas ocasiones no se vera en el Wincc est alarma, ya que en el siguiente ciclo la bobina se pone a 0.
Recomiendo que en casi todas las alarmas se utilic un SET.
Vamos a preparar un acuse de alarmas desde Wincc, este solicitud la utilizaremos para todas las alarmas que vayamos generando a lo largo del curso.
Capitulo 17.2
17.2- Desarrollo WinCC Flexible
Lo primero que tenemos que hacer es rellenar la variable nueva AL_HMI_00 en la tabla de variables.
Una vez hemos rellenado la variable hay que abrir la carpeta Gestin de avisos y hacer doble clic en Avisos de bit, aqu en esta tabla hay que rellenar los textos de la alarma. Para empezar aadimos la variable AL_HMI_00 en Variables de trigger, por defecto nos aade el nmero 0 y la direccin DB7.DBX1.0. Una vez rellenada la primera, seleccionamos un cuadro y pinchamos en el punto negro y desplazamos hacia abajo para crear los otros 15 bits
Rellenamos el texto, este texto es el que aparecer en pantalla.
Hay que agregar una nueva imagen, donde aadiremos el cuadro de alarmas.
En la parte derecha en el cuadro de herramientas seleccionamos los objetos ampliados, arrastramos la vista de avisos a la pantalla. Ampliamos la imagen para que cubra toda la pantalla dejando sitio para el ttulo y los pulsadores. Tambin colocaremos un pulsador para reset de las alarmas.
Capitulo 18
18.- USO DE STRINGS
18.1- Introduccin
El STRING es una cadena de caracteres, con un mximo de 254 caracteres, cada carcter utiliza un byte. Un STRING consta de un cuerpo 254 Bytes y una cabecera de 2 Bytes (Byte 0 y Byte 1). El Byte 0 define la longitud mxima y el Byte 1 define la longitud real del STRING.
Ejemplo; Tipo de dato: Ejemplo Formato: STRING[2] ED
Byte 0 = Longitud mximo del string = 4 Byte 1 = Longitud real del string = ED =2 Byte 2 = Valor ASCII de E Byte 3 = Valor ASCII de D
18.2- Ejemplo
Crearemos una nueva tabla de datos (DB8), donde definiremos unas variables de tipo STRING. El valor inicial puede ser un carcter o un espacio en blanco, como en el ejemplo.
Vamos a definir una tabla de variables donde definiremos los dos primeros string. Para ello definiremos 20 bytes, los 10 primeros corresponde al STRING_00 de 0 a 9 y los 10 siguientes corresponde al STRING_01 de 10 a 19 bytes.
En la tabla de variables del WinCC, insertaremos dos campos nuevos definidos como String. En la direccin de cada string rellenaremos el inicio de cada string.
Despus de definir las variables, insertaremos dos campos ES, el primero lo vamos a definir como modo Entrada, lo utilizaremos para introducir caracteres. La variable que elegiremos es STRING_00 y seleccionaremos el formato Secuencia de caracteres, la longitud del campo ser 8, que son los mximos caracteres que queremos reflejar en el campo.
Para el segundo, utilizaremos el STRING_01, colocando las mismas propiedades menos el modo que ser de Salida.
Vista en Runtime, donde apreciamos los dos campos creados.
EJERCICIOS DE REPASO
Ejercicio 1
1.- Inversin de sentido giro de un motor
En este ejercicio sencillo intentaremos aplicar varias cosas aprendidas en este temario.
La idea es definir una remota donde conectaremos el panel que controlara el motor.
Automatizar un motor para el control de dos sentidos. Conectaremos un panel de mando con tres pulsadores y 2 lmparas. Lgica del panel: 1.- Pulsador luminoso para marcha adelante y indicacin 2.- Pulsador luminoso para marcha atrs y visualizacin 3.- Pulsador para paro
La conexin de este panel, lo realizaremos a travs de una remota conectada a profibus.
Definiremos unas tarjetas de entradas digitales con direccin E300 y unas salidas digitales con direccin A300.
2.- Conexin elctrica
Diagrama de fuerza y mando 220 voltios Para invertir el sentido de giro de un motor trifsico solo es necesario invertir cualquiera de las fases.
Diagrama del PLC
En las entradas conectaremos los pulsadores del panel y las dos confirmaciones de los dos contactores. En la salidas conectaremos dos rels de 24 voltios de continua y dos lmparas
Simbologa de entradas y salidas
SOL_ADEL = E300.0 Solicitud giro adelante motor SOL_ATRAS = E300.1 Solicitud giro atrs motor SOL_PARO = E300.2 Solicitud paro motor AUTO_OK = E300.3 Automtico OK CONF_ADEL = E301.0 Confirmacin giro adelante motor CONF_ATRAS = E301.1 Confirmacin giro atrs motor
ORD_ADEL = A300.0 Orden giro adelante motor ORD_ATRAS = A300.1 Orden giro atrs motor IND_ADEL = A300.2 Indicacin giro adelante motor IND_ATRAS = A300.3 Indicacin giro atras motor
Ejercicio 1.1
1.1.- Desarrollo sin subrutina
Para empezar con el desarrollo de este ejercicio, vamos a definir una red de profibus donde insertaremos la remota ET200s
Vamos a definir las siguientes tarjetas: Slot 1 => PM-E DC24V (Ref.6ES7 138-4CA00-0AA0) Slot 2 => 4DI DC24V ST (Ref.6ES7 131-4BD01-0AA0) E300.0 a E300.3 Slot 3 => 4DI DC24V ST (Ref.6ES7 131-4BD01-0AA0) E301.0 a E301.3 Slot 4 => 4DO DC24V/0,5A ST (Ref.6ES7 132-4BD01-0AA0) A300.0 a A300.3 Slot 5 => 4DO DC24V/0,5A ST (Ref.6ES7 132-4BD01-0AA0) A301.0 a A301.3
El siguiente paso que realizaremos ser rellenar la tabla de smbolos, con todas direcciones de entradas y salidas, segn la hemos cableado.
Definimos una funcin nueva (FC14), en esta funcin programaremos las condiciones iniciales, permanentes, la marcha delante, marcha atrs, el paro y indicaciones.
Condiciones Vamos a definir un segmento para cada condicin. Aunque no tenemos ninguna condicin inicial la preparamos por defecto, para tenerlo preparado. La nica condicin permanente que tenemos que aadir el contacto del automtico o guardamotor.
Las marcas que vamos a utilizar la rellenaremos en la tabla de smbolos segn vallamos necesitando.
Marcha adelante
Ejecutaremos la marcha adelante una vez tengo las condiciones iniciales (que en esta caso siempre a 1) y pulsemos a solicitud de adelante, en este caso daremos marcha a travs de la salida A300.0 dejndola memorizada con un SET y reseteando (RESET) la orden contraria. Esto es muy importante ya que si activaramos las dos a la vez haramos un corto 400V. Existen en el mercado contactores en clavados para que no puedan meterse a la vez, pero este contactor es ms caro que dos normales. Lo normal es encontrarse con contactores normales.
Marcha atrs En la marcha atrs hacemos lo mismo que la anterior. Normalmente nos interesara tener condiciones de adelante y condiciones de atrs, en este ejemplo he utilizado solo una condicin inicial y una permanente.
Paro del motor Como las rdenes de marcha las hemos memorizado, hay que utilizar algo para desactivarlas, para ello utilizaremos el pulsador de paro y la perdida de condiciones permanentes. Como he comentado en anteriores ocasiones el paro se suele cablear cerrado por seguridad.
Indicaciones panel
Con las confirmaciones de los contactores indicaremos cuando est en marcha adelante o marcha atrs. Como podis comprobar me gusta poner el uno permanente para utilizar varias cosas en el mismo segmento, es una forma de no utilizar tantos segmentos.
Ejercicio 1.2
1.2.- Desarrollo con subrutina
Utilizaremos los smbolos ya rellenados en el apartado anterior.
Vamos a preparar las subrutinas, para la subrutina accionamiento dos sentidos de giro utilizaremos la que disponemos (FB10 SUB_ACCTO_2S).
Pero en este ejercicio vamos a preparar una que se encargu de las condiciones. Insertamos un bloque de funcin nuevo (FB11 SUB_COND_8).
Preparacin entradas (IN) Esta subrutina va a tener 8 entradas de condiciones iniciales y 8 de condiciones permanentes
El valor inicial de todas estas variables la vamos a poner a TRUE, para si no rellenamos nada en la entrada que por defecto tenga un 1.
Preparacin salidas (OUT) Definiremos dos salidas que nos indicara el resumen de si todas las condiciones estn a 1
Preparacin de programa Para la realizacin de la lgica, solo tenemos que poner en serie todas las entras de cada condicin inicial y si todas estn a 1 activaremos la bobina (RES_CI). Igual con las condiciones permanentes.
Ahora crearemos el bloque para el control del accionamiento. Insertaremos un bloque de funcin nuevo (FB152), para hacer las llamadas a las dos subrutinas.
Arrastraremos de los elementos de proyecto las dos subrutinas (FB11 SUB_COND y FB10 SUB_ACCTO_2S)
Para convertirla la subrutina en multiinstancia seleccionaremos la subrutina y haremos clic con el botn derecho, nos aparecer un tabla donde seleccionaremos Convertir en llamada multiinstancia. Esta accin nos rellenara en la parte de STAT, el tipo de dato necesario para trabajar.
Condiciones
Solo vamos a rellenar las condiciones necesarias ya que si dejamos sin rellenar nada en las patas de entrada, por defecto estarn a 1, necesario para tener el resumen a 1 para funcionar. Como para este ejemplo solo tenemos el automatico, solo rellenaremos una condicin permanente. En la parte de salida la misma marca que hemos utilizados en el ejemplo anterior. Nota: A la hora de probar hay que quitar el FC14 del bloque de organizacin para que no se machaquen las marchas.
Control del Accionamiento Aqu vamos rellenando todas las entradas y salidas necesarias. Esta subrutina tiene condiciones para cada movimiento, como para este ejemplo solo hemos utilizado las mismas condiciones de un sentido y del otro, rellenaremos las dos condiciones iniciales y permanentes con la misma. Como solo tenemos dos indicaciones las de mas indicaciones las dejamos sin rellenar.