Acción

Descripción general

Puede definir acciones y asignarlas a bloques de funciones y programas. Una acción es una implementación adicional. Se puede crear en un lenguaje diferente al de la implementación básica. A cada acción se le da un nombre.

Las acciones trabajan con los datos del bloque de funciones o programa al cual pertenecen. Las acciones utilizan variables de entrada/salida y variables locales definidas y no contienen sus propias declaraciones.

Ejemplo de una acción de un bloque de funciones

En la ilustración siguiente se muestra una acción en FB:

G-SE-0027205.2.gif-high.gif

 

 

En este ejemplo, cada llamada del bloque de funciones FB1 incrementa o reduce la variable de salida out, en función del valor de la variable de entrada in. Si se llama la acción Reset del bloque de funciones, la variable de salida out se establece en 0. En ambos casos se escribe la misma variable out.

Inserción de una acción

Para añadir una acción, seleccione el nodo correspondiente del programa o bloque de funciones en el árbol Aplicaciones o en el nodo Global del árbol Aplicaciones, haga clic en el signo más de color verde y ejecute el comando Acción... Como alternativa, haga clic con el botón derecho en el nodo del programa o bloque de funciones y ejecute el comando Agregar objeto > Acción. En el cuadro de diálogo Agregar acción, defina el Nombre de la acción y el Lenguaje de implementación deseado.

EcoStruxure Machine Expert facilita la programación orientada a objetos utilizando la herencia dentro de los bloques de funciones. Al ejecutar Agregar objeto sobre un bloque de funciones que hereda de otro, los elementos Acción, Método, Propiedad y Transición utilizados en el bloque de funciones base se enumeran para seleccionarlos.

oLos elementos Acción, Método, Propiedad y Transición con Modificador de acceso = PUBLIC, PROTECTED e INTERNAL definidos en el bloque de funciones base están disponibles para seleccionarlos. Puede adaptar la definición para el objeto heredado. En el objeto heredado, se asigna el mismo Modificador de acceso que a los elementos origen.

oLos elementos Acción, Método, Propiedad y Transición con Modificador de acceso = PRIVATE no se pueden seleccionar porque el acceso está restringido al bloque de funciones base.

Llamada a una acción

Sintaxis

<Program_name>.<Action_name>

o

<Instance_name>.<Action_name>

Tenga en cuenta la notación en FBD (consulte el ejemplo siguiente).

Si es necesario llamar a la acción desde su propio bloque, que es el programa o el bloque de funciones al cual pertenece, es suficiente utilizar el nombre de la acción.

Ejemplos

En esta sección se ofrecen ejemplos para llamar a la acción que se describe más arriba desde otra POU.

Declaración para todos los ejemplos:

PROGRAM PLC_PRG
VAR
    Inst : Counter;
END_VAR

Llamada de la acción Reset en otra POU, que está programada en IL:

CAL Inst.Reset(In := FALSE)
LD Inst.out
ST ERG

Llamada de la acción Reset en otra POU, que está programada en ST:

Inst.Reset(In := FALSE);
Erg := Inst.out;

Llamada de la acción Reset en otra POU, que está programada en FBD:

Acción en FBD

G-SE-0027287.1.gif-high.gif

 

 

NOTA: El estándar IEC solo reconoce las acciones del diagrama funcional secuencial (SFC). Estas acciones constituyen una parte esencial que contiene las instrucciones que se procesarán en pasos concretos del diagrama.