Creación de un FB de Multiinstancia

Siguiendo la petición de un compañero voy a realizar esta práctica que trata de la creación de un FB de Multiinstancia desde cero,lo único que vamos a considerar es que tenemos creado ya un proyecto.

El primer paso sera la creación de un Bloque de función (FB), ello lo hacemos tal y como se muestra:

Para la creación del FB, nos aparece la siguiente ventana de configuración, importante seleccionar que será un FB de multiinstancia y el nombre que le asignemos. Automaticamente se creara al aceptar. Seguidamente abrimos nuestro FB

Prodederemos a la creación de las variables que vamos a utilizar en nuestra función, para este ejemplo he creado un simple paro marcha de un motor, con una alarma.Declaramos la variable y el tipo de datos.

Escribimos el código de programación correspondiente al acometido de dicha función

Una vez tenemos creada la Función, vamos a crear otra FB donde llamaremos a dicha función (Multiinstancia) para ello hacemos los mismos pasos que anteriormente

El siguiente paso es importante! vamos a declarar las variables y el tipo de datos, en esta ocasión las variables a declarar las haremos dentro de STAT (Estáticas) y como tipo de datos, vamos a configurar el FB creado anteriormente, esto nos evitara tener que asignar un DB Bloque de datos para cada uno de estós, a su vez cada nueva variable que declaramos de este tipo se crea una nueva multiinstancia.

Podemos observar que si desplegamos las variables creadas en cada una de ellas se puede observar que posee todos los datos que habiamos creado en la primera función

Ahora lo que hacemos es insertar cada una de nuestras Multiinstancias y le asignamos sus correspondientes variables, y en su defecto las que pueda tener la propia función.

Al haber creado un FB hay que asignarle necesariamente un Bloque de datos (DB) para poder usarlo, para crearlo seguimos los siguientes pasos:

En la ventana de configuración tenemos que especificar que es un DB de instancia y el FB al que corresponde, tal y como se observa

Al aceptar se nos crea nuestro DB, podemos abrirlo para observarlo

Ya podemos hacer la llamada desde el OB1 al FB Motores, que posee a su vez las instancias del FB Comandar Motores y se asignamos el DB que acabamos de crear.

Ya podemos cargarlo a nuestro PLC, en este caso a nuestro simulador y observar su funcionamiento. Es evidente que si abrimos el FB ComandarMotor al poner en marcha el primero y estar online, cuando simulamos el segundo no se observara en en Ladder pero si en el bloque de datos DB

16 de Enero del 2012