A raiz de una duda de uno de los lectores del blog, hoy te traigo las diferencias entre temporizadores IEC y S5.
Let’s go!
Contenido
- 1 Diez diferencias entre temporizadores IEC y S5
- 1.1 Los temporizadores IEC son temporizadores de software y los S5 de hardware
- 1.2 Los temporizadores S5 no hay declararlos y son indexados
- 1.3 Los temporizadores IEC son FB y necesitan un DB para poder funcionar
- 1.4 Los temporizadores IEC consumen memoria
- 1.5 Los temporizadores S5 no existen en todas las series, los IEC sí.
- 1.6 El número de temporizadores S5 está determinado por el modelo de CPU
- 1.7 Los temporizadores IEC son indicados para bloques reutilizables.
- 1.8 El tiempo que se puede asignar al temporizador S5 está limitado
- 1.9 El formato del temporizador IEC es más fácil de gestionar que el S5
- 1.10 No se puede fijar 0ms a un temporizador IEC
- 2 ¿Que te ha parecido?
Diez diferencias entre temporizadores IEC y S5
Los temporizadores IEC son temporizadores de software y los S5 de hardware
Pues sí, mientras que los temporizadores IEC es puro software que va a usar el reloj del sistema para manejar el tiempo transcurrido, los temporizadores S5 son temporizadores que trae la CPU consigo y que están integrados en su hardware.
Los temporizadores S5 no hay declararlos y son indexados
Al ser temporizadores que vienen con la CPU, al igual que las marcas, no hay que declararlos, ni crearlos. Existen los uses o no. Simplemente tendrás que realizar la llamada pertinente, bien a la conexión, a la desconexión, etc.
Son indexados, y para hacer referencia a cada uno, se realizará mediante un número, de tal forma que tras el temporizador 5, irá el temporizador 6, independientemente de que uses los temporizadores de forma alterna.
En cambio, los temporizadores IEC tendrás que crearlos, ya que por si mismo, no existen hasta que los programas.
Los temporizadores IEC son FB y necesitan un DB para poder funcionar
Los temporizadores IEC se va a apoyar en un DB para poder funcionar ya que necesitará almacenar la información del reloj del sistema.
En cambio, los temporizadores S5 no necesitan ningún DB para su funcionamiento.
Los temporizadores IEC consumen memoria
Lógicamente, y desprendiéndose del punto anterior, los temporizadores IEC consumen memoria (el destinado en los DB) mientras que los S5 no consumen memoria de trabajo (sí por su llamada, pero no por la existencia en sí mismo).
Los temporizadores S5 no existen en todas las series, los IEC sí.
Mientras que los temporizadores IEC puedes programarlos en todas las series (S7-1200, S7-1500, S7-300 y S7-400), los temporizadores S5 no los encontrarás en la serie S7-1200, pero sí en el resto de series.
El número de temporizadores S5 está determinado por el modelo de CPU
Como hemos comentado, los temporizadores S5 vienen incluidos en la CPU.
El número de estos temporizadores, si bien en general serán más que suficientes, tienen un número finito de ellos en función de la CPU.
Para saber de cuántos dispones, tendrás que chequear las características de la CPU.
Los temporizadores IEC son indicados para bloques reutilizables.
Los temporizadores IEC son FB, y por tanto se pueden realizar multiinstancias dentro de un tercer FB.
En cambio, los temporizadores S5 no será adecuado para bloques reutilizables ya que dentro del FB, tendremos que dar el número del temporizador, y por tanto, todas las instancias llevarán el mismo número de temporizador.
Esto implica que se está compartiendo el mismo temporizador todo el tiempo, machacándose las llamadas a este temporizador unos a otros.
Técnicamente esta limitación se puede solventar pasando al FC o FB un índice de temporizador, y realizar llamadas a los temporizadores de forma indirecta.
Pero no es una buena idea ya que no veremos en las referencias cruzadas qué temporizadores S5 están ya ocupados.
Dejemos en que no es una buena idea.
Bien es verdad que se puede pasar el nombre del temporizador como variable de tipo timer y usarlo en el bloque, subsanando el problema de la llamada indirecta.
Pero a mi juicio, no es tan «lo suyo» usar estos temporizadores para estas lides.
Lo suyo es usar los IEC para realizar FB reutilizables.
El tiempo que se puede asignar al temporizador S5 está limitado
Los temporizadores S5 tienen una limitación del tiempo que se le puede asignar (alrededore de las 2h52min), mientras que en los temporizadores IEC, no tendremos problemas en poner 12h, por poner un ejemplo.
El formato del temporizador IEC es más fácil de gestionar que el S5
Indudablemente, el tratamiento del tiempo de los tiempos en IEC es más sencillo que en S5.
Cuando introducimos tiempos fijos en los temporizadores, no hay gran diferencia más allá del formato:
- IEC: T#150ms
- S5: S5T#150ms
Pero cuando vamos a meter el tiempo en una variable, es más fácil de gestionar en IEC, ya que simplemente tendríamos que cargar los milisegundos a un doble word, mientras que en el caso de S5, tendremos que formatearlo adecuadamente y posteriormente cargarlo a un word… un verdadero rollo.
Tienes más información en este post del que ya te hablé sobre el tema.
Si es verdad que hay una función para pasar de tiempo IEC a tiempo S5time que nos facilita el trabajo 🙂
Pero como digo, es más intuitivo y fácil usar tiempo IEC que no S5Time.
No se puede fijar 0ms a un temporizador IEC
Ojo con este problema.
Si bien en los temporizadores S5 podrás poner un tiempo de 0ms y el temporizador se activará sin problemas, en el caso del IEC, no sucede así, y no se activará si introduces 0ms como tiempo predeterminado de funcionamiento.
¡Ojo al parche!
¿Que te ha parecido?
¿Conocías todas las diferencias entre temporizadores IEC y S5?
Espero que te haya sido útil, y ¡espero tus comentarios!
Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
24 Comentarios
EXCELENTE!!!
Excelente
Excelente, como siempre muy oportuno tus aportes.
Gracias
Muy interesante
No la las conocía todas
Gracias, saludos
Excelente ayuda
MUY BUENO NO LO SABÍA
GRACIAS POR LA INFORMACIÓN
Muy bueno Iñigo. Me aclaro algunas cosas que no sabia, como eso de los temporizados S5 son por hardware y no por software. En cuanto a la utilización en los FC o FB reutilizables, yo lo he hecho declarando entradas de tipo «timer» y «s5time» , luego en las llamadas del FB o FC les asigno el número o dirección del temporizado y el tiempo de temporización y me quedan reutilizables. Bueno por curiosidad tú no sabes porque el tiempo de temporización necesita los caracteres S5t#—- tanto para los autómatas S5 como para los S7, no debería ser S7t#— para los S7. Saludos.
Entiendo que es una reminiscencia del S5. Se llamaban así, y así se han quedado.
Saludos
Efectivamente se pueden pasar por referencia los temporizadores. Pero es un poco más rollo hacerlo con ellos. Es mas elegante hacerlo con multiinstancias a mi juicio.
Saludos
Gracias por tus excelentes aportes al conocimiento!!!!
Para mí es más fácil programar temporizadores IEC, estoy realizando un proyecto con un S7 1500 en el que ocupo varios temporizadores IEC y no tengo problema. Y una consulta Íñigo, cómo determinó de que capacidad debo elegir la MMC para el PLC, para mí proyecto, además también utilizo un Comfort panel y tengo la misma duda, cómo determinó la capacidad de la MMC para el panel. Sé que no es el tema pero te pido me ayudes. Gracias.
Hola Paulino.
Tienes que valorarlo tú. Depende del tamaño del programa que vayas a meter, logicamente. Quiero decir con ello, que no hay una fórmula magistral para el cálculo del tamaño de la MMC (que yo conozca).
Si tienes el proyecto del PLC, puedes mirar cuanto ocupa en sus propiedades, y comprar la MMC en función de ello, con un buen margen.
Si no has programado una línea, por experiencia tendrás que ver a qué proyectos se parece y que memoria han necesitado para programarlo.
Siento no ser más específico, pero no conozco formula alguna, porque depende del proyecto en cuestión, del número de entradas, salidas, y sobre todo, DB y su tamaño (que es lo que más memoria de trabajo y carga ocupará seguramente).
Saludos
Gracias Iñigo, he mirado en las propiedades del proyecto y de esta manera he podido definir de que capacidad requiero la memoria, en cuanto a la memoria HMI para el panel he seleccionado la MM SD de 2Gb, una pregunta Iñigo en esta memoria se almacenan los datos del proyecto HMI o el panel lo almacena en una memoria interna. Por otro lado en mi proyecto quiero que aparezca una alarma en la HMI cuando un modulo del rack plc se vaya a error o se alarme por x razón. Es posible realizar esto o hay un bloque especial para ello.
Saludos desde México.
Para mostrar las alarmas del PLC tienes que configurar el HMI. Echa un vistazo a los procedimientos que indica Siemens al respecto (https://support.industry.siemens.com/cs/document/62121503/configuraci%C3%B3n-de-avisos-y-alarmas-en-simatic-wincc-(tia-portal)?dti=0&lc=es-AR=). Sobre la MMC, que yo sepa no es necesario, pero en cualquier caso, como comprenderás no conozco todos los modelos de HMI, ni mucho menos… seguro que esa información está detallada en el manual de la pantalla.
Saludos
Me ayuda mucho en estos casos muchas gracias.
Muy interesante no sabia que en S5 no pueden ser alternos los numeros
de temporizador. Buen tutorial.Saludos
Hola, igual no me expresado bien.
Si se pueden escoger de forma aleatoria. Lo que quería decir es que los no escogidos, existen los uses o no.
Saludos
Si lo sabia pero es muy util estas notas.
Gracias,
P/D.
1.Algun post de esto que hable de las multi instancias?
2. Me puedes enviar el listado de cursos o ebooks disponible y los precios?
Gracias
Como se puede programar logos
Hola Diego.
Actualmente no tengo ningun curso sobre Logo!
Lo siento
excelente gran aporte gracias
Exelente
No sabía de del hardware y software.
Muy buen post Iñigo , gracias
Muchas gracias Pablo! Me alegra que te haya gustado y te sirva de referencia.