30 ago. 2013

Ejercicios resueltos de programación en simatic S7 (bomba de agua)

Hola de nuevo a todos.
Después de una larga temporada sin escribir, me he decidido volver a la carga con unos ejercicios resueltos de programación de autómatas programables Siemens. La razón es que tenía de realizar unas modificaciones en un programa de un autómata y para ello tuve que recordar viejos conocimientos. El material principal del que he dispuesto para el estudio ha sido un tutorial de programación que encontré en la red bastante interesante. Lo podéis encontrar aquí. En dicho tutorial aparecen una serie de ejemplos resueltos, sin embargo, al final del tutorial se pueden encontrar ejercicios interesantes que no incluyen la solución. Pero no os preocupéis porque vamos a incluirla aquí.
El primer ejercicio se puede encontrar en la página 119 y aunque es bastante sencillo, me ha parecido bien empezar por él. Se trata de una bomba de agua. El enunciado y la solución, a continuación.
BOMBA DE AGUA
Las entradas del autómata  y los símbolos asignados son:
  • Servicio ON/OFF: E0.0 (ON)
  • Sensor de máximo: E0.1 (sensorMax)
  • Sensor de mínimo: E0.2 (sensorMin)
  • Una entrada adicional para simular el térmico: E0.3 (entradaTermico)
Las salidas del autómata son:
  • Electrobomba: E4.0 (electrobomba)
  • Servicio dispuesto: E5.0 (pilotoDispuesto)
  • Saltó térmico: E5.1 (termico)
Centrándonos en las salidas, vamos a determinar las condiciones de activación y desactivación de cada una de ellas:
1.- Electrobomba: 
Condiciones de activación son:
  • Que esté encendido el sensor de mínimo.
  • Que el servicio esté en ON.
  • Que esté apagado el sensor de máximo.
  • Que no haya saltado el térmico.
Se deben cumplir todas estas condiciones (Y lógica) para que se produzca la activación.
Las condiciones de desactivación son: 
  • Térmico encendido
  • Que el servicio esté en OFF.
  • Que esté encendido el sensor de máximo.
Cualquiera de estas condiciones (O lógica) produce la desactivación.
Así que el código asociado en step 7 sería:
//CONDICIONES DE SET
      U     sensorMin
      U     ON
      UN    sensorMax
      UN    termico
      S     electrobomba
//CONDICIONES DE RESET
      O     entradaTermico
      ON    ON
      O     sensorMax
      R     electrobomba

2.- Piloto servicio dispuesto:
Según el enunciado, este piloto debe estar encendido siempre que la electrobomba esté en funcionamiento, así que el código es:
U electrobomba
=pilotoDispuesto

3.- Piloto saltó térmico:
Este piloto estará encendido cuando el térmico (que es la entrada añadida E0.3) lo esté, así que:
U entradaTermico
=termico

Y esto es todo por hoy. Más adelante continuaremos resolviendo el resto de ejercicios.