Sie sind auf Seite 1von 2

Multiinstancia Step 7

Automatizacin industrial
Es posible que, debido a los datos caractersticos (p.ej. capacidad de memoria) de
las CPUS S7 utilizadas, slo pueda o desee utilizar una cantidad limitada de DBs
para los datos de instancia. Si en un FB de su programa de usuario se invocan
otros bloques de funcin ya existentes (jerarqua de llamada de FBs), stos
ltimos se pueden llamar sin DBs de instancia propios (es decir, adicionales). Para
ello existe la siguiente solucin:
* Incorpore los FBs a llamar en forma de variables estticas en la
declaracin de variables del FB invocante.
* En este ltimo FB se llaman otros bloques de funcin sin DBs de
instancia propios (es decir, adicionales).
* Ello permite concentrar los datos de instancia en un solo bloque de datos
de instancia, pudindose aprovechar mejor el nmero disponible de DBs.

Un DB de instancia para varias instancias de un FB (multiinstancias)


A un FB se pueden transferir conjuntamente en un DB de instancia los datos de
instancia para diferentes motores. A tal efecto, la llamada de los controles de
motores se ha de efectuar en otro FB y en el rea de declaracin del FB invocante
se deben declarar las variables estticas con el tipo de datos de un FB para las
diferentes instancias. Utilizando un DB de instancia para varias instancias de un
FB se ahorra capacidad de memoria y optimiza el uso de los bloques de datos. En
el caso ejemplificado por la figura siguiente, el bloque invocante es el FB 21
"Proceso de motor", las variables son del tipo de datos FB 22 y las instancias son
designadas con motor_1, motor_2 y motor_3.

Un DB de instancia para varias instancias de FB diferentes (multiinstancias)

En un bloque de funcin se pueden llamar a instancias de otros FBs ya existentes.


Los datos de instancia necesarios al respecto se pueden asignar al bloque de
datos de instancia del FB invocante, es decir que en este caso no se necesitan
bloques de datos adicionales para los FBs que se han llamado. Para dichas
multiinstancias de un DB de instancia deber declarar, en la tabla del FB
invocante, variables estticas del mismo tipo de datos del FB llamado, hacindolo
para cada una de las instancias. La llamada en el FB se efecta entonces slo con
el nombre de la variable, es decir, sin indicar un DB de instancia. En el ejemplo de
la figura, los datos de instancia asignados se memorizan conjuntamente en un DB
de instancia.

Es posible que, debido a los datos caractersticos (p.ej. capacidad de memoria) de


las CPUS S7 utilizadas, slo pueda o desee utilizar una cantidad limitada de DBs
para los datos de instancia. Si en un FB de su programa de usuario se invocan
otros bloques de funcin ya existentes (jerarqua de llamada de FBs), stos
ltimos se pueden llamar sin DBs de instancia propios (es decir, adicionales)
Reglas para declarar multiinstancias
1) Las multiinstancias slo se pueden declarar en bloques de funcin
creados a partir de la versin 2 de STEP 7 (v. el atributo de bloque en las
propiedades del FB).
2) Para poder declarar las multiinstancias, el bloque de funcin se
deber haber creado como FB apto para multiinstancias (pre ajuste a partir de la
versin x.x de STEP 7; deseleccionable en el editor mediante el comando de
men Herramientas >Preferencias).
3) Al bloque de funcin en el que se declara una multiinstancia debe
asociarse un DB de instancia.
4) Una multiinstancia slo se puede declarar como variable esttica
(tipo de declaracin "stat").

Das könnte Ihnen auch gefallen