Skip to main content

Objeto: Función

Una función es un POU que proporciona precisamente un elemento de datos cuando se ejecuta y cuya llamada en lenguajes textuales puede ocurrir como un operador en expresiones. El elemento de datos también puede ser una matriz o una estructura.

El objeto se agrega a la aplicación o al proyecto haciendo clic en Proyecto → Agregar objeto → POU. En el árbol de dispositivos o en el POU vista, las POU de función tienen la (DIVERTIDO) sufijo.

Importante

Las funciones no tienen información de estado interna, lo que significa que las funciones no guardan los valores de sus variables hasta la siguiente llamada. Las llamadas de una función con los mismos valores de variables de entrada siempre proporcionan el mismo valor de salida. Por lo tanto, las funciones no deben usar variables y direcciones globales.

El editor de una función consiste en la parte de declaración y la parte de implementación.

La línea superior de la parte de la declaración contiene la siguiente declaración:

FUNCTION <function> : <data type>

Debajo de eso, declaras las variables de entrada y función.

La variable de salida de una función es el nombre de la función.

Importante

Si declara una variable local en una función como RETAIN, esto no tiene ningún efecto. En este caso, CODESYS emite un error del compilador.

Importante

No puede mezclar asignaciones de parámetros explícitas e implícitas en llamadas a funciones en CODESYS V3. Esto significa que debe usar solo asignaciones de parámetros explícitas o implícitas en las llamadas a funciones. El orden de las asignaciones de parámetros al llamar a una función es arbitrario.

Llamar a una función

En ST, puede usar la llamada de una función como operando en expresiones.

En SFC, puede usar una llamada de función solo dentro de acciones de paso o transiciones.

ejemplo 514. Ejemplos

Función con parte de declaración y un código de implementación de línea

_cds_img_function.png

Llamadas a funciones:

S T:

result := POU_Funct(5,3,22);

ILLINOIS:

_cds_img_function_call_in_il.png

FBD:

_cds_img_function_call_in_fbd.png


Funciones con salidas adicionales

Según la norma IEC 61131-3, las funciones pueden tener salidas adicionales. Declara las salidas adicionales en la función entre las palabras clave VAR_OUTPUT y END_VAR. La función se llama de acuerdo con la siguiente sintaxis:

<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
ejemplo 515. Ejemplo

los fun la función se define con dos variables de entrada in1 y in2. La variable de salida del fun la función se escribe en las variables de salida declaradas localmente loc1 y loc2.

fun(in1 := 1, in2 := 2, out1 => loc1, out2 => loc2);