¿Qué son los FC en Step 7?
Las funciones en PLC Siemens son similares a las funciones en otros lenguajes de programación. En los FC en Step 7 se hace la llamada con unas variables de entrada y tras su ejecución nos devuelve unos valores para las variables de salida. Nada nuevo en el firmamento.
Pero los FC en Step 7 no se usan exclusivamente para calcular una salida, sino para la la organización del programa dentro del proyecto. Es decir, se realizarán llamadas a los FC sin valores de entrada ni valores de salida si bien adicionalmente puede que se usen las variables temporales para uso interno dentro del FC.
FC Vs. FB
En otra entrada, FC o FB ¿Cuál de los dos usar? vimos las diferencias sustanciales entre ambos bloques.
El FC en Step 7 en general se usa más que los FB por par de razones: no necesita asociar un DB (y por tanto ahorras memoria y es más limpio el programa) y no siempre es necesario la re-utilización del código. Si es necesario almacenar datos, podemos hacerlo en marcas o en DB globales.
Por tanto, los FC en Step 7 no presentan grandes desventajas frente a los FB más allá que los FB son para una programación orientada a objetos, en los que el bloque FB represente un objeto genérico (por ejemplo, un transportador o un variador) y se pueda reutilizar ese bloque infinidad de veces a lo largo del programa con la peculiaridad de necesitar almacenar datos de esos objetos. En este caso, sí que el FB es más indicado que el FC.
Muy bien, pero ¿qué vamos a ver esta semana?
Evidentemente algo tenemos que hacer porque definir un poco lo que hace un FC de poco o nada sirve si no avanzamos en el conocimiento de las funcionalidades de los PLC de Siemens, que es de lo que se trata.
Como habrás visto en el título vamos a realizar un ejemplo de semáforo en Step 7. Normalmente este ejemplo es de los primeros que se hacen con temporizadores... pero ese ejemplo lo vamos a dejar para más adelante, cuando veamos los temporizadores de S7.
Hoy lo vamos a hacer mediante una función y contando tiempo, que también sabe muy bien el PLC. Ya vimos en su día mediante la entrada Temporizadores en Step 7:manejo y creación que hay varias formas de crear temporizadores, y una de ellas es contar tiempos de ciclo.
¿En qué va a consistir el ejemplo del semáforo?
Básicamente vamos a tener un semáforo para los vehículos rodados el cual va a tener sus tres colores (rojo, verde y ámbar) y otro para los peatones de color rojo y verde.
Además, el verde parpadeará cuando se vaya a acabar el tiempo en verde y tendrá un botón de solicitud que si es pulsado, cambiará a verde para los peatones previo paso del asociado a los vehículos por el amarillo. La pulsación del botón hará que se ilumine el letrero de solicitud que se mantendrá iluminado hasta que se ponga en verde para el peatón.
¿Qué herramientas vamos a necesitar para crear este FC en Step 7?
Para realizar este ejemplo vamos a ver algunos conceptos nuevos en Step 7 como son:
- Comparación
- Transferencia
- Conversión
- Marcas de ciclo
Durante las explicaciones del vídeo vas a poder ver cómo usar estos elementos en nuestro ejemplo de FC en step 7, que como verás son casi triviales. El único que tiene un poco más de miga es el de conversión ya que sirve para tomar una variable y pasarla a otra variable de otro formato. Me explico.
No es lo mismo tener un "-2" en entero, que un "-2" en doble entero, lo mismo que no es que tener un "-2" en real. Para empezar, porque en entero ocupa un word mientras que en doble entero y en real ocupan 4 bytes (doble word). Para continuar, porque en real, no tienes un "-2", sino que tienes un "-2.0", que es igual, pero no es lo mismo que dirían Martes y Trece.
Cada tipo de variable además de ocupar una serie de bytes, (2, 4 o los que sean) tienen un formato en particular (hay que poner la mantisa, el signo etc), por lo que para poder hacer operaciones matemáticas entre dos variables, tienen que estar en el mismo formato ya que sino, pueden pasar dos cosas:
- En FUP o KOP no te dejará realizar la operación matemática ya que no son variables con el mismo formato.
- En AWL sí que podrás, pero la que puedes montar con el PLC si no lo haces bien la recordarás durante tiempo.
Como nosotros estamos empezando y estamos programando nuestro PLC en KOP, no vamos a poder comenter errores a la hora de sumar, ya que el propio Step 7, no nos lo va a permitir.
Vamos a ver el vídeo para finalizar donde crearemos nuestro proyecto en WinCC y vamos a poner los requerimientos y dar con la solución.




